Author: tdraier
Date: Fri Sep 14 12:30:12 2007
New Revision: 18445
URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D18445&repname=
=3Djahia
Log:
improt export site permissions ( JAHIA-1909 ) (port 18148)
Added:
trunk/core/src/java/org/jahia/services/importexport/SitePermissionsImpo=
rtHandler.java
- copied unchanged from r18148, branches/JAHIA-5-0-SP-BRANCH/core/src=
/java/org/jahia/services/importexport/SitePermissionsImportHandler.java
Modified:
trunk/core/src/java/org/jahia/services/acl/JahiaACLManagerService.java
trunk/core/src/java/org/jahia/services/importexport/ImportExportBaseSer=
vice.java
Modified: trunk/core/src/java/org/jahia/services/acl/JahiaACLManagerService=
.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/services/acl/JahiaACLManagerService.java&rev=3D18445&repname=3Djah=
ia
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=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/acl/JahiaACLManagerService.java =
(original)
+++ trunk/core/src/java/org/jahia/services/acl/JahiaACLManagerService.java =
Fri Sep 14 12:30:12 2007
@@ -470,6 +470,11 @@
}
}
=
+ public JahiaAclName getJahiaAclName(String objectName, int siteID) {
+ return nameManager.findOrCreateJahiaAclNameByName(objectName, site=
ID);
+ }
+
+
/**
* Shortcut method to test permissions on an action.
* @param actionName the name of the action to retrieve (or create) pe=
rmission for. This
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=3D18445&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 Fri Sep 14 12:30:12 2007
@@ -47,13 +47,14 @@
import org.jahia.hibernate.manager.JahiaSiteLanguageListManager;
import org.jahia.hibernate.manager.SpringContextSingleton;
import org.jahia.hibernate.model.JahiaAclEntry;
+import org.jahia.hibernate.model.JahiaAclName;
+import org.jahia.hibernate.model.JahiaAcl;
import org.jahia.params.ProcessingContext;
import org.jahia.params.valves.TokenAuthValveImpl;
import org.jahia.registries.ServicesRegistry;
import org.jahia.services.JahiaService;
import org.jahia.services.workflow.WorkflowService;
import org.jahia.services.workflow.ExternalWorkflow;
-import org.jahia.services.acl.ACLNotFoundException;
import org.jahia.services.acl.JahiaACLEntry;
import org.jahia.services.acl.JahiaACLException;
import org.jahia.services.acl.JahiaBaseACL;
@@ -109,7 +110,6 @@
import java.util.*;
import java.util.regex.Pattern;
import java.util.regex.Matcher;
-import java.util.prefs.Preferences;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
import java.util.zip.ZipOutputStream;
@@ -325,6 +325,10 @@
zout.putNextEntry(new ZipEntry("users.xml"));
exportUsers(dw, jParams.getSite());
dw.flush();
+
+ zout.putNextEntry(new ZipEntry("sitePermissions.xml"));
+ exportSitePermissions(dw, jParams.getSite());
+ dw.flush();
}
=
for (Iterator iterator =3D files.iterator(); iterator.hasNext(=
);) {
@@ -1556,6 +1560,8 @@
}
} else if (name.equals("categories.xml")) {
catProps =3D importCategoriesAndGetUuidProps(zis, categori=
esImportHandler);
+ } else if (name.equals("sitePermissions.xml")) {
+ importSitePermissions(jParams, zis);
}
zis.closeEntry();
}
@@ -2081,7 +2087,51 @@
ch.endElement(JAHIA_URI, "users", "jahia:users");
}
=
- private void exportUsersRoles(ContentHandler ch, JahiaSite site) throw=
s JahiaException, SAXException {
+ private void exportSitePermissions(ContentHandler ch, JahiaSite site) =
throws JahiaException, SAXException {
+ ch.startDocument();
+ ch.startPrefixMapping("jahia", JAHIA_URI);
+ ch.endPrefixMapping("jahia");
+ AttributesImpl attr =3D new AttributesImpl();
+
+ attr.addAttribute(NS_URI, "jahia", "xmlns:jahia", "CDATA", JAHIA_U=
RI);
+
+ ch.startElement(JAHIA_URI, "sitePermissions", "jahia:sitePermissio=
ns", attr);
+
+ String prefix =3D "org.jahia.actions.sites." + site.getID();
+ List list =3D ServicesRegistry.getInstance().getJahiaACLManagerSer=
vice().getAclNamesStartingWith(prefix);
+ for (Iterator iterator =3D list.iterator(); iterator.hasNext();) {
+ attr =3D new AttributesImpl();
+ JahiaAclName jahiaAclName =3D (JahiaAclName) iterator.next();
+
+ String name =3D jahiaAclName.getAclName().substring(prefix.len=
gth()+1);
+ attr.addAttribute(JAHIA_URI, "name", "jahia:name", "CDATA", na=
me);
+
+ String perms =3D "";
+ JahiaAcl acl =3D jahiaAclName.getAcl();
+ Map entries =3D acl.getEntries();
+ for (Iterator iterator1 =3D entries.values().iterator(); itera=
tor1.hasNext();) {
+ 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) {
+ JahiaUser user =3D userManagerService.lookupUser(a=
ce.getComp_id().getTarget());
+ perms +=3D "|u:" + user.getUsername();
+ } else{ =
+ JahiaGroup group =3D groupManagerService.lookupGro=
up(ace.getComp_id().getTarget());
+ perms +=3D "|g:" + group.getGroupname();
+ }
+ }
+ }
+ if (perms.length() > 0) {
+ perms =3D perms.substring(1);
+ attr.addAttribute(JAHIA_URI, "acl", "jahia:acl", "CDATA", =
perms);
+ }
+
+ ch.startElement(JAHIA_URI, "sitePermission", "jahia:sitePermis=
sion", attr);
+ ch.endElement(JAHIA_URI, "sitePermission", "jahia:sitePermissi=
on");
+ }
+
+ ch.endElement(JAHIA_URI, "sitePermissions", "jahia:sitePermissions=
");
+ ch.endDocument(); =
}
=
private void importFilesAcl(ProcessingContext jParams, InputStream is)=
{
@@ -2102,6 +2152,10 @@
return importHandler.getUuidProps();
}
=
+ public void importSitePermissions(ProcessingContext jParams, InputStre=
am is) {
+ handleImport(is, new SitePermissionsImportHandler(jParams));
+ }
+
private void handleImport(InputStream is, DefaultHandler h) {
try {
SAXParserFactory factory;
_______________________________________________
cvs_list mailing list
[email protected]
http://lists.jahia.org/cgi-bin/mailman/listinfo/cvs_list