aboutsummaryrefslogtreecommitdiffstats
path: root/container-core
diff options
context:
space:
mode:
authorJon Marius Venstad <jonmv@users.noreply.github.com>2022-04-08 12:27:14 +0200
committerGitHub <noreply@github.com>2022-04-08 12:27:14 +0200
commit4d7110c73624223aadc5fdd065f85ada701183bd (patch)
tree05fbc035922fb82ad41680bf93e4a433024db690 /container-core
parentf1814747bf7548bdec63ca608969bbd730e6c8b5 (diff)
parent06db1231f64976bd5b7b3bf9d851f179ddfaeeaa (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.java11
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;
}