Author: tdraier
Date: Mon Dec 24 12:19:16 2007
New Revision: 19407

URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D19407&repname=
=3Djahia
Log:
fixed acl mapping so that we can have acl with user and group with the same=
 name (JAHIA-2684)

Modified:
    trunk/core/src/java/org/jahia/hibernate/model/JahiaAcl.java
    trunk/core/src/java/org/jahia/services/importexport/ImportExportBaseSer=
vice.java

Modified: trunk/core/src/java/org/jahia/hibernate/model/JahiaAcl.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/hibernate/model/JahiaAcl.java&rev=3D19407&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/hibernate/model/JahiaAcl.java (original)
+++ trunk/core/src/java/org/jahia/hibernate/model/JahiaAcl.java Mon Dec 24 =
12:19:16 2007
@@ -62,7 +62,7 @@
     private transient static Logger logger =3D Logger.getLogger (JahiaAcl.=
class);
     private transient JahiaBaseACL mAcl =3D null;
 =

-    private Map entries;
+    private Collection entries;
 =

     private Integer hasEntries;
 =

@@ -82,37 +82,35 @@
      * default constructor
      */
     public JahiaAcl() {
-        entries =3D new FastHashMap(11);
+        entries =3D new HashSet(11);
         hasEntries =3D new Integer(0);
     }
 =

 // --------------------- GETTER / SETTER METHODS ---------------------
 =

     /**
-     * @hibernate.map lazy=3D"true"
+     * @hibernate.set lazy=3D"true"
      * inverse=3D"true"
      * cascade=3D"delete"
      * @hibernate.collection-key column=3D"id_jahia_acl"
      * @hibernate.collection-one-to-many class=3D"org.jahia.hibernate.mode=
l.JahiaAclEntry"
-     * @hibernate.collection-index column=3D"target_jahia_acl_entries" typ=
e=3D"string"
      */
-    public Map getEntries() {
+    public Collection getEntries() {
         if (hasEntries !=3D null && hasEntries.intValue()=3D=3D0 && picked=
AclId =3D=3D null) {
             this.groupEntries =3D new HashMap();
             this.userEntries =3D new HashMap();
-            return new HashMap();
+            return new HashSet();
         }
         if (userEntries =3D=3D null) {
             this.groupEntries =3D new HashMap();
             this.userEntries =3D new HashMap();
-            Map loadedEntries =3D getEntries();
-            for (Iterator iterator =3D loadedEntries.keySet().iterator(); =
iterator.hasNext();) {
-                String s =3D (String) iterator.next();
-                JahiaAclEntry ace =3D (JahiaAclEntry) loadedEntries.get(s);
+            Collection loadedEntries =3D getEntries();
+            for (Iterator iterator =3D loadedEntries.iterator(); iterator.=
hasNext();) {
+                JahiaAclEntry ace =3D (JahiaAclEntry) iterator.next();
                 if (ace.getComp_id().getType().intValue() =3D=3D 1) {
-                    userEntries.put(s,ace);
+                    userEntries.put(ace.getComp_id().getTarget(),ace);
                 } else {
-                    groupEntries.put(s,ace);
+                    groupEntries.put(ace.getComp_id().getTarget(),ace);
                 }
             }
             return loadedEntries;
@@ -120,7 +118,7 @@
         return entries;
     }
 =

-    public void setEntries(Map entries) {
+    public void setEntries(Collection entries) {
         this.entries =3D entries;
     }
 =

@@ -130,11 +128,11 @@
     }
 =

     public void setUserEntries(Map userEntries) {
-        getEntries().keySet().removeAll(this.userEntries.keySet());
+        getEntries().removeAll(this.userEntries.values());
         if (!userEntries.isEmpty()) {
             setHasEntries(new Integer(1));
         }
-        getEntries().putAll(userEntries);
+        getEntries().addAll(userEntries.values());
         if (entries.isEmpty()) {
             setHasEntries(new Integer(0));
         }
@@ -147,11 +145,11 @@
     }
 =

     public void setGroupEntries(Map groupEntries) {
-        getEntries().keySet().removeAll(this.groupEntries.keySet());
+        getEntries().removeAll(this.groupEntries.values());
         if (!groupEntries.isEmpty()) {
             setHasEntries(new Integer(1));
         }
-        getEntries().putAll(groupEntries);
+        getEntries().addAll(groupEntries.values());
         if (entries.isEmpty()) {
             setHasEntries(new Integer(0));
         }
@@ -284,7 +282,7 @@
         acl.setPickedAclId(pickedAclId);
         acl.setInheritance(inheritance);
         acl.setId(id);
-        acl.setEntries(new HashMap(getEntries()));
+        acl.setEntries(new HashSet(getEntries()));
         acl.setHasEntries(getHasEntries());
         return acl;
     }
@@ -320,10 +318,10 @@
             return true;
         }
         if (userTypeEntry =3D=3D ACLInfo.USER_TYPE_ENTRY) {
-            entries.keySet().removeAll(getUserEntries().keySet());
+            entries.removeAll(getUserEntries().values());
             userEntries.clear();
         } else if (userTypeEntry =3D=3D ACLInfo.GROUP_TYPE_ENTRY) {
-            entries.keySet().removeAll(getGroupEntries().keySet());
+            entries.removeAll(getGroupEntries().values());
             groupEntries.clear();
         }
         if (entries.isEmpty()) {
@@ -682,7 +680,7 @@
                     new JahiaAclEntryPK(this, new Integer(ACLInfo.GROUP_TY=
PE_ENTRY), group.getName()),
                     entry.getEntryState(), entry.getEntryTri());
             getGroupEntries().put(group.getName(), current);
-            getEntries().put(group.getName(), current);
+            getEntries().add(current);
         }
         return true;
     }
@@ -699,7 +697,7 @@
                     user.getName()),
                     entry.getEntryState(), entry.getEntryTri());
             getUserEntries().put(user.getName(), current);
-            getEntries().put(user.getName(), current);
+            getEntries().add(current);
         }
         return true;
     }

Modified: trunk/core/src/java/org/jahia/services/importexport/ImportExportB=
aseService.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/services/importexport/ImportExportBaseService.java&rev=3D19407&rep=
name=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/services/importexport/ImportExportBaseSer=
vice.java (original)
+++ trunk/core/src/java/org/jahia/services/importexport/ImportExportBaseSer=
vice.java Mon Dec 24 12:19:16 2007
@@ -54,6 +54,7 @@
 import org.jahia.services.acl.JahiaACLEntry;
 import org.jahia.services.acl.JahiaACLException;
 import org.jahia.services.acl.JahiaBaseACL;
+import org.jahia.services.acl.JahiaACLManagerService;
 import org.jahia.services.applications.ApplicationsManagerService;
 import org.jahia.services.categories.Category;
 import org.jahia.services.categories.CategoryService;
@@ -84,6 +85,7 @@
 import org.jahia.services.workflow.WorkflowService;
 import org.jahia.utils.JahiaTools;
 import org.jahia.utils.LanguageCodeConverters;
+import org.jahia.security.license.LicenseActionChecker;
 import org.quartz.CronTrigger;
 import org.quartz.JobDataMap;
 import org.quartz.JobDetail;
@@ -1549,6 +1551,8 @@
                     logger.error("Cannot get languages", e);
                 }
 =

+//                boolean isMultiLang =3D LicenseActionChecker.isAuthorize=
dByLicense("org.jahia.actions.sites.*.admin.languages.ManageSiteLanguages",=
0);
+//
                 for (Iterator iterator =3D keys.iterator(); iterator.hasNe=
xt();) {
                     String property =3D (String) iterator.next();
                     String value =3D p.getProperty(property);
@@ -1561,9 +1565,14 @@
                         SiteLanguageSettings set;
 =

                         if (!m.containsKey(lang)) {
-                            set =3D new SiteLanguageSettings(site.getID(),=
 lang, true, m.size()+1, false);
-                            m.put(lang, set);
-                        } else {
+//                            if (isMultiLang || m.isEmpty()) {
+                                set =3D new SiteLanguageSettings(site.getI=
D(), lang, true, m.size()+1, false);
+                                m.put(lang, set);
+                            } else {
+//                                logger.warn("Multilanguage is not author=
ized by license, "+lang+" will be ignored");
+//                                continue;
+//                            }
+//                        } else {
                             set =3D (SiteLanguageSettings) m.get(lang);
                         }
                         if ("rank".equals(t)) {
@@ -2152,8 +2161,8 @@
 =

             String perms =3D "";
             JahiaAcl acl =3D jahiaAclName.getAcl();
-            Map entries =3D acl.getEntries();
-            for (Iterator iterator1 =3D entries.values().iterator(); itera=
tor1.hasNext();) {
+            Collection entries =3D acl.getEntries();
+            for (Iterator iterator1 =3D entries.iterator(); iterator1.hasN=
ext();) {
                 JahiaAclEntry ace =3D (JahiaAclEntry) iterator1.next();
                 if (ace.getPermission(JahiaBaseACL.READ_RIGHTS) =3D=3D Jah=
iaAclEntry.ACL_YES) {
                     if (ace.getComp_id().getType().intValue() =3D=3D 1) {

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

Reply via email to