Ryan Ruel created CURATOR-608:
---------------------------------
Summary: 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
Fix For: 5.2.1
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 create path returns false.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)