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