diff options
author | Jon Marius Venstad <jonmv@gmail.com> | 2022-04-08 11:44:56 +0200 |
---|---|---|
committer | Jon Marius Venstad <jonmv@gmail.com> | 2022-04-08 11:44:56 +0200 |
commit | 55d1186ed64c35b27f7a6acae2821b81c648c377 (patch) | |
tree | 661ee03bc2fdb36a073a81ff1f45dcf39885694e /container-core | |
parent | 5e317721430b7c6d849d93cfef5323795fa7a524 (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.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; } |