SLING-10359 : RepPrincipalPolicyEntryHandler: rep:effectivePath is defined to be of type PATH
diff --git a/src/main/java/org/apache/sling/feature/cpconverter/handlers/RepPrincipalPolicyEntryHandler.java b/src/main/java/org/apache/sling/feature/cpconverter/handlers/RepPrincipalPolicyEntryHandler.java
index 933dc7a..0634bbd 100644
--- a/src/main/java/org/apache/sling/feature/cpconverter/handlers/RepPrincipalPolicyEntryHandler.java
+++ b/src/main/java/org/apache/sling/feature/cpconverter/handlers/RepPrincipalPolicyEntryHandler.java
@@ -16,6 +16,7 @@
*/
package org.apache.sling.feature.cpconverter.handlers;
+import org.apache.jackrabbit.vault.util.DocViewProperty;
import org.apache.sling.feature.cpconverter.accesscontrol.AccessControlEntry;
import org.apache.sling.feature.cpconverter.accesscontrol.AclManager;
import org.apache.sling.feature.cpconverter.shared.RepoPath;
@@ -126,15 +127,10 @@
@NotNull
private static String extractEffectivePath(@Nullable String value) {
- if (value == null) {
+ if (value == null || value.isEmpty()) {
return "";
}
- if (value.startsWith("{Path}")) {
- return value.substring("{Path}".length());
- } else {
- // malformed content package that defines rep:effectivePath as prop of type String instead of Path
- return value;
- }
+ return DocViewProperty.parse(REP_EFFECTIVE_PATH, value).values[0];
}
}
}