Skip to content

Commit

Permalink
JCR-2113 : WIP (Contribution by Alfusainey Jallow), fixing issue intr…
Browse files Browse the repository at this point in the history
…oduced by angela

git-svn-id: https://svn.apache.org/repos/asf/jackrabbit/trunk@1640897 13f79535-47bb-0310-9956-ffa450edef68
  • Loading branch information
anchela committed Nov 21, 2014
1 parent 961bfb7 commit 0679fd1
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -91,9 +91,10 @@ public SupportedPrivilegeSetProperty asDavProperty() throws RepositoryException
private SupportedPrivilege createSupportedPrivilege(Privilege privilege) throws RepositoryException {
String privilegeName = privilege.getName();

String localName = Text.getLocalName(privilegeName);
String prefix = Text.getNamespacePrefix(privilegeName);
Namespace ns = (prefix.isEmpty()) ? Namespace.EMPTY_NAMESPACE : Namespace.getNamespace(prefix, session.getNamespaceURI(prefix));
org.apache.jackrabbit.webdav.security.Privilege davPrivilege = org.apache.jackrabbit.webdav.security.Privilege.getPrivilege(privilegeName, ns);
org.apache.jackrabbit.webdav.security.Privilege davPrivilege = org.apache.jackrabbit.webdav.security.Privilege.getPrivilege(localName, ns);

SupportedPrivilege[] aggregates = (privilege.isAggregate()) ? getDeclaredAggregates(privilege) : null;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@
import org.apache.jackrabbit.spi.commons.conversion.DefaultNamePathResolver;
import org.apache.jackrabbit.spi.commons.conversion.NamePathResolver;
import org.apache.jackrabbit.spi.commons.value.QValueFactoryImpl;
import org.apache.jackrabbit.test.NotExecutableException;
import org.apache.jackrabbit.test.api.security.AbstractAccessControlTest;
import org.junit.Test;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -946,7 +946,7 @@ private PrivilegeDefinition[] internalGetPrivilegeDefinitions(SessionInfo sessio
// build PrivilegeDefinition(s) from the supported-privileges dav property
NamePathResolver npResolver = getNamePathResolver(sessionInfo);
Map<Name, SupportedPrivilege> spMap = new HashMap<Name, SupportedPrivilege>();
fillSupportedPrivilegeMap(new SupportedPrivilegeSetProperty(p).getValue(), spMap, npResolver);
fillSupportedPrivilegeMap(new SupportedPrivilegeSetProperty(p).getValue(), spMap, getNameFactory());

List<PrivilegeDefinition> pDefs = new ArrayList<PrivilegeDefinition>();
for (Name privilegeName : spMap.keySet()) {
Expand Down Expand Up @@ -975,12 +975,14 @@ private PrivilegeDefinition[] internalGetPrivilegeDefinitions(SessionInfo sessio
}
}

private static void fillSupportedPrivilegeMap(List<SupportedPrivilege> sps, Map<Name, SupportedPrivilege> spMap, NamePathResolver npResolver) throws NamespaceException, IllegalNameException {
private static void fillSupportedPrivilegeMap(List<SupportedPrivilege> sps, Map<Name, SupportedPrivilege> spMap, NameFactory nameFactory) throws NamespaceException, IllegalNameException {
for (SupportedPrivilege sp : sps) {
spMap.put(npResolver.getQName(sp.getPrivilege().getName()), sp);
Privilege p = sp.getPrivilege();
Name privName = nameFactory.create(p.getNamespace().getURI(), p.getName());
spMap.put(privName, sp);
List<SupportedPrivilege> agg = Arrays.asList(sp.getSupportedPrivileges());
if (!agg.isEmpty()) {
fillSupportedPrivilegeMap(agg, spMap, npResolver);
fillSupportedPrivilegeMap(agg, spMap, nameFactory);
}
}
}
Expand Down

0 comments on commit 0679fd1

Please sign in to comment.