Author: tdraier
Date: Tue Jul 31 18:40:23 2007
New Revision: 18081
URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D18081&repname=
=3Djahia
Log:
fixed acl inheritance break in linked copies ( due to acl aggregation )
Modified:
branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/hibernate/model/Ja=
hiaAcl.java
branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/acl/Jahia=
LinkedContentACL.java
Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/hibernate/mo=
del/JahiaAcl.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/hibernate/model/JahiaAcl.java&rev=3D18081&r=
epname=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-SP-BRANCH/core/src/java/org/jahia/hibernate/model/Ja=
hiaAcl.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/hibernate/model/Ja=
hiaAcl.java Tue Jul 31 18:40:23 2007
@@ -385,13 +385,13 @@
}
checkCache();
// else return true;
- String key =3D "" + user.getUserKey() + "_" + permission + getClas=
s().getName() + id + objectSiteID+siteAdminsHaveAllRights;
+ String key =3D "" + user.getUserKey() + "_" + permission + getKey(=
) + objectSiteID+siteAdminsHaveAllRights;
Boolean v =3D (Boolean) permissions.get(key);
if (v !=3D null) {
//make sure the user-specific ACLs are declared in the current=
fragment/template,
//even if the permission response is already cached
if (Jahia.getSettings().isEsiCacheActivated()) {
- Map[] recursedMaps =3D (Map[]) permissions.get("recursedTa=
bles"+getClass().getName() + id);
+ Map[] recursedMaps =3D (Map[]) permissions.get("recursedTa=
bles"+getKey());
if (recursedMaps!=3Dnull && recursedMaps[0].size()>0) {
ServicesRegistry.getInstance().getEsiService().addAclU=
serNamesToCurrentJesiObject(recursedMaps[0]);
}
@@ -842,13 +842,11 @@
/**
* Find permissions recursively.
*
- * @param userTable
- * @param groupTable
*/
public Map[] getRecursedPermissions(ParentACLFinder parentACLFinder, A=
CLResourceInterface aclResource) {
checkCache();
=
- Map[] recursedMaps =3D (Map[]) permissions.get("recursedTables"+ge=
tClass().getName() + id);
+ Map[] recursedMaps =3D (Map[]) permissions.get("recursedTables"+ g=
etKey());
if (recursedMaps =3D=3D null) {
recursedMaps =3D new Map[] { new HashMap(userEntries), new Has=
hMap(groupEntries) };
=
@@ -871,7 +869,7 @@
buildPermissions(recursedMaps[1], parents[1]);
}
=
- permissions.put("recursedTables"+getClass().getName() + id, re=
cursedMaps);
+ permissions.put("recursedTables"+ getKey() , recursedMaps);
}
=
if (Jahia.getSettings().isEsiCacheActivated() && recursedMaps[0].s=
ize()>0) {
@@ -881,6 +879,10 @@
return recursedMaps;
}
=
+ protected String getKey() {
+ return id.toString();
+ }
+
public Map getRecursedUserEntries() {
return getRecursedPermissions (null, null) [0];
}
Modified: branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/acl=
/JahiaLinkedContentACL.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/branches/JAHIA-5-0-SP=
-BRANCH/core/src/java/org/jahia/services/acl/JahiaLinkedContentACL.java&rev=
=3D18081&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-SP-BRANCH/core/src/java/org/jahia/services/acl/Jahia=
LinkedContentACL.java (original)
+++ branches/JAHIA-5-0-SP-BRANCH/core/src/java/org/jahia/services/acl/Jahia=
LinkedContentACL.java Tue Jul 31 18:40:23 2007
@@ -61,52 +61,9 @@
=
=
public JahiaAcl getACL() {
-// return new JahiaLinkedContentAcl(mACL, pickedAcl.getACL(), false=
, true);
return new JahiaLinkedContentAcl(mACL, pickedAcl.getACL());
}
=
-// class JahiaLinkedContentAcl extends JahiaAcl {
-// private JahiaAcl acl;
-// private JahiaAcl nextAcl;
-// private boolean upLevel;
-// private boolean pickerSide;
-//
-// public JahiaLinkedContentAcl(JahiaAcl acl, JahiaAcl nextAcl, boo=
lean upLevel, boolean pickerSide) {
-// setParent(acl.getParent());
-// setInheritance(acl.getInheritance());
-// setId(acl.getId());
-// setUserEntries(acl.getUserEntries());
-// setGroupEntries(acl.getGroupEntries());
-// this.acl =3D acl;
-// this.nextAcl =3D nextAcl;
-// this.upLevel =3D upLevel;
-// this.pickerSide =3D pickerSide;
-// }
-//
-// public JahiaAcl getParent() {
-// // check picker/picked acl until root-picked object
-// upLevel |=3D acl.getId().equals(rootPickedAcl.getACL().getId=
());
-//
-// if (upLevel) {
-// // check root-picked hierarchy
-// if (acl.getParent() !=3D null) {
-// return new JahiaLinkedContentAcl(acl.getParent(), ne=
xtAcl, true, false);
-// } else {
-// // back to parent hierarchy
-// return nextAcl;
-// }
-// } else {
-// // Redefinition on picked-side -> follow picked hierarch=
y, forget picker
-// if (!pickerSide && !acl.getUserEntries().isEmpty() || !a=
cl.getGroupEntries().isEmpty()) {
-// return acl.getParent();
-// }
-//
-// return new JahiaLinkedContentAcl(nextAcl, acl.getParent(=
), upLevel, !pickerSide);
-// }
-// }
-//
-// }
-
class JahiaLinkedContentAcl extends JahiaAcl {
private JahiaAcl pickerAcl;
private JahiaAcl pickedAcl;
@@ -204,6 +161,10 @@
}
}
=
+ protected String getKey() {
+ return getId().toString() + "/" + pickedAcl.getId().toString();
+ }
+
}
=
=
_______________________________________________
cvs_list mailing list
[email protected]
http://lists.jahia.org/cgi-bin/mailman/listinfo/cvs_list