Author: tdraier
Date: Thu Dec 27 16:53:39 2007
New Revision: 19422

URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D19422&repname=
=3Djahia
Log:
fixed files acl assignments

Modified:
    branches/JAHIA-5-0-3-DMS-JACKRABBIT-BRANCH/core/src/java/org/jahia/serv=
ices/content/JCRFileNodeWrapper.java
    branches/JAHIA-5-0-3-DMS-JACKRABBIT-BRANCH/core/src/java/org/jahia/serv=
ices/content/impl/jackrabbit/JackrabbitFileNodeWrapper.java

Modified: branches/JAHIA-5-0-3-DMS-JACKRABBIT-BRANCH/core/src/java/org/jahi=
a/services/content/JCRFileNodeWrapper.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-3-=
DMS-JACKRABBIT-BRANCH/core/src/java/org/jahia/services/content/JCRFileNodeW=
rapper.java&rev=3D19422&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-3-DMS-JACKRABBIT-BRANCH/core/src/java/org/jahia/serv=
ices/content/JCRFileNodeWrapper.java (original)
+++ branches/JAHIA-5-0-3-DMS-JACKRABBIT-BRANCH/core/src/java/org/jahia/serv=
ices/content/JCRFileNodeWrapper.java Thu Dec 27 16:53:39 2007
@@ -96,7 +96,7 @@
         if (mon !=3D null) mon.stop();
     }
 =

-    private Node getSystemNode() throws RepositoryException {
+    protected Node getSystemNode() throws RepositoryException {
         Session systemSession =3D jcrProvider.getSystemSession();
         return (Node) systemSession.getItem(objectNode.getPath());
     }
@@ -153,21 +153,22 @@
         if (exception !=3D null) {
             return false;
         }
-        if (READ.equals(perm)) {
-            if (objectNode !=3D null) {
+        try {
+            if (READ.equals(perm)) {
+                if (objectNode !=3D null) {
+                    return true;
+                }
+            } else if (WRITE.equals(perm)) {
+                session.checkPermission(objectNode.getPath(),  "set_proper=
ty");
                 return true;
-            }
-        } else if (WRITE.equals(perm) || MANAGE.equals(perm)) {
-            try {
+            } else if (MANAGE.equals(perm)) {
                 session.checkPermission(objectNode.getPath(),  "set_proper=
ty");
                 return true;
-            } catch (AccessControlException e) {
-                return false;
-            } catch (RepositoryException re) {
-                logger.error("Cannot check perm ",re);
-                return false;
-            }            =

-        } else if (MANAGE.equals(perm)) {
+            }
+        } catch (AccessControlException e) {
+            return false;
+        } catch (RepositoryException re) {
+            logger.error("Cannot check perm ",re);
             return false;
         }
 =


Modified: branches/JAHIA-5-0-3-DMS-JACKRABBIT-BRANCH/core/src/java/org/jahi=
a/services/content/impl/jackrabbit/JackrabbitFileNodeWrapper.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-3-=
DMS-JACKRABBIT-BRANCH/core/src/java/org/jahia/services/content/impl/jackrab=
bit/JackrabbitFileNodeWrapper.java&rev=3D19422&repname=3Djahia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D
--- branches/JAHIA-5-0-3-DMS-JACKRABBIT-BRANCH/core/src/java/org/jahia/serv=
ices/content/impl/jackrabbit/JackrabbitFileNodeWrapper.java (original)
+++ branches/JAHIA-5-0-3-DMS-JACKRABBIT-BRANCH/core/src/java/org/jahia/serv=
ices/content/impl/jackrabbit/JackrabbitFileNodeWrapper.java Thu Dec 27 16:5=
3:39 2007
@@ -34,7 +34,7 @@
             String myPath =3D objectNode.getPath();
 =

             Map permissions =3D new HashMap();
-            recurseonACPs(permissions, getObjectNode());
+            recurseonACPs(permissions, getSystemNode());
 =

             for (Iterator iterator =3D permissions.keySet().iterator(); it=
erator.hasNext();) {
                 int p =3D 0;
@@ -116,8 +116,7 @@
             System.arraycopy(den.toArray(),0,dens,0,den.size());
             aced.setProperty("jcr:privileges",dens);
 =

-            session.getItem("/jcr:system/jcr:accessControl").save();
-            objectNode.save();
+            acl.save();
         } catch (RepositoryException e) {
             e.printStackTrace();  //To change body of catch statement use =
File | Settings | File Templates.
         }
@@ -150,14 +149,18 @@
 =

     private Node getAcl() throws RepositoryException {
         Node acl;
-        if (!objectNode.isNodeType("mix:accessControlled")) {
-            Node ac =3D (Node) session.getItem("/jcr:system/jcr:accessCont=
rol");
-            Node acp =3D ac.addNode("j:acp"+objectNode.getUUID(), "nt:acce=
ssControlPolicy");
+        Node systemNode =3D getSystemNode();
+        if (!systemNode.isNodeType("mix:accessControlled")) {
+            Node ac =3D (Node) jcrProvider.getSystemSession().getItem("/jc=
r:system/jcr:accessControl");
+            Node acp =3D ac.addNode("j:acp"+ systemNode.getUUID(), "nt:acc=
essControlPolicy");
             acl =3D acp.addNode("jcr:acl", "nt:acl");
-            objectNode.addMixin("mix:accessControlled");
-            objectNode.setProperty("jcr:accessControlPolicy", acp);
+            ac.save();
+            systemNode.addMixin("mix:accessControlled");
+            systemNode.setProperty("jcr:accessControlPolicy", acp);
+            systemNode.save();
+            objectNode.refresh(true);
         } else {
-            Node acp =3D objectNode.getProperty("jcr:accessControlPolicy")=
.getNode();
+            Node acp =3D systemNode.getProperty("jcr:accessControlPolicy")=
.getNode();
             acl =3D acp.getNode("jcr:acl");
         }
         return acl;

_______________________________________________
cvs_list mailing list
[email protected]
http://lists.jahia.org/cgi-bin/mailman/listinfo/cvs_list

Reply via email to