[
https://issues.apache.org/jira/browse/CURATOR-608?focusedWorklogId=639034&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-639034
]
ASF GitHub Bot logged work on CURATOR-608:
------------------------------------------
Author: ASF GitHub Bot
Created on: 18/Aug/21 12:04
Start Date: 18/Aug/21 12:04
Worklog Time Spent: 10m
Work Description: Ryan0751 commented on a change in pull request #395:
URL: https://github.com/apache/curator/pull/395#discussion_r691170904
##########
File path:
curator-x-async/src/test/java/org/apache/curator/x/async/modeled/TestZPath.java
##########
@@ -57,11 +57,11 @@ public void testBasic()
assertFalse(path.startsWith(ZPath.root.child("two")));
ZPath checkIdLike = ZPath.parse("/one/{two}/three");
Review comment:
I see. That seemed like a bug to me, but I can see now when considering
the two methods the difference in contracts.
Perhaps additional documentation would be helpful here (which I'm happy to
help with).
In the parseWithId's method, I see a "TODO" comment without any explanation
of what remains to be done. Is this something we should address as well?
Do you concur that the original problem of having something like "/root" as
the first parameter should be considered valid?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
Issue Time Tracking
-------------------
Worklog Id: (was: 639034)
Time Spent: 40m (was: 0.5h)
> ZPath's check for "isParameter()" is too simplistic, leading to isResolved()
> false negatives
> --------------------------------------------------------------------------------------------
>
> Key: CURATOR-608
> URL: https://issues.apache.org/jira/browse/CURATOR-608
> Project: Apache Curator
> Issue Type: Bug
> Components: Framework
> Affects Versions: 5.1.0
> Reporter: Ryan Ruel
> Priority: Major
> Fix For: 5.2.1
>
> Time Spent: 40m
> Remaining Estimate: 0h
>
> ZPath's "isParameter()" method checks to see if an element of the path is a
> parameter which make be substituted (i.e, "\{param}").
> Today, the check merely looks to see if the string contains "/" and then some
> characters.
> Instead, it should check for the full parameter pattern.
> The check that is in place now can lead to ZPath's which appear fully
> resolved, but when isResolved() is called on the path are indicated as NOT
> resolved. This causes failures with certain ModeledFramework operations.
> For example:
> ZPath rootPath = ZPath.from("/root");
> ZPath path =
> ZPath.parseWithIds("\{root}/\{one}/two/\{three}").resolved(rootPath, "one",
> "three");
> This produces a fully resolved path: /root/one/two/three
> But calling "isResolved()" on the created path returns false.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)