Author: bpapez
Date: Tue Jan  1 21:31:59 2008
New Revision: 19434

URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D19434&repname=
=3Djahia
Log:
JAHIA-2555: Content picking ACL: all ACL modifications are performed on the=
 whole content picked sub-site!!!
- in updateAclForChildren perform the content pick handling before iteratin=
g through the next children

Modified:
    trunk/core/src/java/org/jahia/content/ContentObject.java

Modified: trunk/core/src/java/org/jahia/content/ContentObject.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/content/ContentObject.java&rev=3D19434&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
--- trunk/core/src/java/org/jahia/content/ContentObject.java (original)
+++ trunk/core/src/java/org/jahia/content/ContentObject.java Tue Jan  1 21:=
31:59 2008
@@ -2171,6 +2171,20 @@
         int old =3D getAclID();
         setAclID(aclid);
         try {
+            Set picks =3D getPickerObjects();
+            for (Iterator iterator =3D picks.iterator(); iterator.hasNext(=
);) {
+                ContentObject picker =3D (ContentObject) iterator.next();
+                if (head && picker.isAclSameAsParent()) {
+                    JahiaBaseACL newacl =3D new JahiaBaseACL();
+                    newacl.create(picker.getAclID(),aclid);
+                    picker.updateAclForChildren(newacl.getID());
+                }
+                JahiaAcl pickerAcl =3D picker.getACL().getACL();
+                if (pickerAcl.getPickedAclId().intValue()  =3D=3D old) {
+                    pickerAcl.setPickedAclId(new Integer(aclid));
+                    ServicesRegistry.getInstance().getJahiaACLManagerServi=
ce().updateCache(pickerAcl);
+                }
+            }            =

             List l =3D getChilds(null,null);
             for (Iterator iterator =3D l.iterator(); iterator.hasNext();) {
                 ContentObject contentObject =3D (ContentObject) iterator.n=
ext();
@@ -2187,22 +2201,8 @@
                     md.setAclID(aclid);
                 }
             }
-            Set picks =3D getPickerObjects();
-            for (Iterator iterator =3D picks.iterator(); iterator.hasNext(=
);) {
-                ContentObject picker =3D (ContentObject) iterator.next();
-                if (head && picker.isAclSameAsParent()) {
-                    JahiaBaseACL newacl =3D new JahiaBaseACL();
-                    newacl.create(picker.getAclID(),aclid);
-                    picker.updateAclForChildren(newacl.getID());
-                }
-                JahiaAcl pickerAcl =3D picker.getACL().getACL();
-                if (pickerAcl.getPickedAclId().intValue()  =3D=3D old) {
-                    pickerAcl.setPickedAclId(new Integer(aclid));
-                    ServicesRegistry.getInstance().getJahiaACLManagerServi=
ce().updateCache(pickerAcl);
-                }
-            }
         } catch (JahiaException e) {
-            e.printStackTrace();  //To change body of catch statement use =
File | Settings | File Templates.
+            logger.warn("Problem when updating ACLs", e);  =

         }
     }
 =


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

Reply via email to