aboutsummaryrefslogtreecommitdiffstats
path: root/container-core
diff options
context:
space:
mode:
authorJon Marius Venstad <jonmv@gmail.com>2022-04-08 11:44:56 +0200
committerJon Marius Venstad <jonmv@gmail.com>2022-04-08 11:44:56 +0200
commit55d1186ed64c35b27f7a6acae2821b81c648c377 (patch)
tree661ee03bc2fdb36a073a81ff1f45dcf39885694e /container-core
parent5e317721430b7c6d849d93cfef5323795fa7a524 (diff)
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;
}