[ 
https://issues.apache.org/jira/browse/JCR-2339?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

angela resolved JCR-2339.
-------------------------

    Resolution: Incomplete

-> see my answer on the user list

please don't open issues just to spread your problem to multiple channels.

> Unable to set the policies to the node, which is under root by using 1.6 
> version..
> ----------------------------------------------------------------------------------
>
>                 Key: JCR-2339
>                 URL: https://issues.apache.org/jira/browse/JCR-2339
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>            Reporter: sydaiah nallabirudu
>
> We are facing issues while assigning the policies to a Node.
> Let me give a brief explanation about project data structure.
> We are string the data in repository with following structure
>       Root
>                MediaData
>                    MediaObjects
> We are assigning write policies to the MediaData node, if any user wants to 
> create
> Media Objects.We could able to assign the policies with jackrabbit 1.5.4 
> version.
> Recently we migrated to 1.6.0 version.
> We are not able to assign the policies to MediaData node, but it is allowing 
> to assign the policies to the MediaObjects node.
> Can you suggest us how to set the policies to the Node, which is under root 
> by using 1.6 version.
> The application is not throwing any exception while setting the policies, but 
> the policies are not applying.
> We are using following code to set policies:
>     Repository rep = new TransientRepository();
>     Credentials cr = new SimpleCredentials("admin", "admin".toCharArray());
>     String[] privilegeNames=new String[] { Privilege.JCR_ALL };    
>     SessionImpl sess = (SessionImpl) rep.login(cr);
>     UserManager userManager = sess.getUserManager();
>     User user = (User) userManager.getAuthorizable(userData);
>     //System.out.println("the before creation user is" + user.getID());
>     if (user == null)
>       user = userManager.createUser(userData, userData);
>     System.out.println("the user is" + user.getID());
>     AccessControlManager accessControlManager = 
> sess.getAccessControlManager();
>     AccessControlPolicyIterator policyItr = 
> accessControlManager.getApplicablePolicies("/MediaData");
>     JackrabbitAccessControlList accessPolicy = (JackrabbitAccessControlList) 
> policyItr.nextAccessControlPolicy();
>     Privilege[] previewPrivileges = new Privilege[privilegeNames.length];
>     int i = 0;
>     for (String privilegeName : privilegeNames) {
>       Privilege privilege = 
> accessControlManager.privilegeFromName(privilegeName);
>       previewPrivileges[i] = privilege;
>       i++;
>     }
>     // also possible to set a map of restrictions
>     accessPolicy.addEntry(user.getPrincipal(), previewPrivileges, true);
>     accessControlManager.setPolicy("/MediaData", accessPolicy);
> Thanks
> Sydaiah

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to