diff options
author | Jon Marius Venstad <jonmv@users.noreply.github.com> | 2022-04-08 12:27:14 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-04-08 12:27:14 +0200 |
commit | 4d7110c73624223aadc5fdd065f85ada701183bd (patch) | |
tree | 05fbc035922fb82ad41680bf93e4a433024db690 /container-core | |
parent | f1814747bf7548bdec63ca608969bbd730e6c8b5 (diff) | |
parent | 06db1231f64976bd5b7b3bf9d851f179ddfaeeaa (diff) |
Merge pull request #22048 from vespa-engine/jonmv/deployment-risk-management
Constant time append to Path as well, and add length()
Diffstat (limited to 'container-core')
-rw-r--r-- | container-core/src/main/java/com/yahoo/restapi/Path.java | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/container-core/src/main/java/com/yahoo/restapi/Path.java b/container-core/src/main/java/com/yahoo/restapi/Path.java index 40f281a948e..80f9391fb56 100644 --- a/container-core/src/main/java/com/yahoo/restapi/Path.java +++ b/container-core/src/main/java/com/yahoo/restapi/Path.java @@ -56,16 +56,17 @@ public class Path { } if (matchPrefix) { - if (path.segments().size() < specElements.size()) return false; + if (path.length() < specElements.size()) return false; } else { // match exact - if (path.segments().size() != specElements.size()) return false; + if (path.length() != specElements.size()) return false; } - + + List<String> segments = path.segments(); for (int i = 0; i < specElements.size(); i++) { if (specElements.get(i).startsWith("{") && specElements.get(i).endsWith("}")) // placeholder - values.put(specElements.get(i).substring(1, specElements.get(i).length() - 1), path.segments().get(i)); - else if ( ! specElements.get(i).equals(path.segments().get(i))) + values.put(specElements.get(i).substring(1, specElements.get(i).length() - 1), segments.get(i)); + else if ( ! specElements.get(i).equals(segments.get(i))) return false; } |