Author: tdraier
Date: Fri Sep 21 10:46:33 2007
New Revision: 18596
URL: https://svndev.jahia.net/websvn/listing.php?sc=3D1&rev=3D18596&repname=
=3Djahia
Log:
import/export serverPermissions (JAHIA-1909) ( port 18414 )
Added:
trunk/core/src/java/org/jahia/services/importexport/PermissionsImportHa=
ndler.java
- copied unchanged from r18414, branches/JAHIA-5-0-SP-BRANCH/core/src=
/java/org/jahia/services/importexport/PermissionsImportHandler.java
Modified:
trunk/core/src/java/org/jahia/admin/sites/ManageSites.java
trunk/core/src/java/org/jahia/services/importexport/ImportExportBaseSer=
vice.java
trunk/core/src/webapp/jsp/jahia/administration/import_choose.jsp
Modified: trunk/core/src/java/org/jahia/admin/sites/ManageSites.java
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/java/o=
rg/jahia/admin/sites/ManageSites.java&rev=3D18596&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/admin/sites/ManageSites.java (original)
+++ trunk/core/src/java/org/jahia/admin/sites/ManageSites.java Fri Sep 21 1=
0:46:33 2007
@@ -2095,13 +2095,9 @@
i.delete();
=
} else if (n.equals("classes.jar")) {
-// JahiaArchiveFileHandler h =3D new JahiaArchiveFi=
leHandler(i.getPath());
-// try {
-// h.unzip(Jahia.getSettings().getClassDiskPath=
(), false);
-// } catch (JahiaException e) {
-// logger.error("Cannot unzip classes",e);
-// }
i.delete();
+ } else if (n.equals("serverPermissions.xml")) {
+ imports.put(i,n);
} else if (n.equals("site.properties") || ((n.startsWi=
th("export_") && n.endsWith(".xml")))) {
// this is a single site import, stop everything a=
nd import
i.delete();
@@ -2144,36 +2140,41 @@
Map importInfos =3D new HashMap();
importInfos.put("importFile", i);
importInfos.put("importFileName", filename);
- ZipEntry z;
- ZipInputStream zis2 =3D new ZipInputStream(new FileInputStream(i));
- while ( (z =3D zis2.getNextEntry())!=3Dnull) {
- if ("site.properties".equals(z.getName())) {
- Properties p =3D new Properties();
- p.load(zis2);
- zis2.closeEntry();
- importInfos.putAll(p);
+ if (filename.endsWith(".xml")) {
+ importInfos.put("type", "xml");
+ } else {
+ importInfos.put("type", "zip");
+ ZipEntry z;
+ ZipInputStream zis2 =3D new ZipInputStream(new FileInputStream=
(i));
+ while ( (z =3D zis2.getNextEntry())!=3Dnull) {
+ if ("site.properties".equals(z.getName())) {
+ Properties p =3D new Properties();
+ p.load(zis2);
+ zis2.closeEntry();
+ importInfos.putAll(p);
+ importInfos.put("selected", Boolean.TRUE);
+ importInfos.put("templates","");
+ } else if ("templates.jar".equals(z.getName())) {
+ importInfos.put("templatesAvailable", Boolean.TRUE);
+ }
+ }
+ if (!importInfos.containsKey("sitekey")) {
+ importInfos.put("sitekey","");
+ importInfos.put("siteservername","");
+ importInfos.put("sitetitle","");
+ importInfos.put("description","");
+ importInfos.put("mixLanguage","false");
importInfos.put("selected", Boolean.TRUE);
importInfos.put("templates","");
- } else if ("templates.jar".equals(z.getName())) {
- importInfos.put("templatesAvailable", Boolean.TRUE);
- }
- }
- if (!importInfos.containsKey("sitekey")) {
- importInfos.put("sitekey","");
- importInfos.put("siteservername","");
- importInfos.put("sitetitle","");
- importInfos.put("description","");
- importInfos.put("mixLanguage","false");
- importInfos.put("selected", Boolean.TRUE);
- importInfos.put("templates","");
- importInfos.put("siteKeyExists", Boolean.TRUE);
- importInfos.put("siteServerNameExists", Boolean.TRUE);
- } else {
- try {
- importInfos.put("siteKeyExists", new Boolean(ServicesRegis=
try.getInstance().getJahiaSitesService().getSiteByKey((String) importInfos.=
get("sitekey")) !=3D null));
- importInfos.put("siteServerNameExists", new Boolean(Servic=
esRegistry.getInstance().getJahiaSitesService().getSite((String) importInfo=
s.get("siteservername")) !=3D null));
- } catch (JahiaException e) {
- e.printStackTrace(); //To change body of catch statement =
use File | Settings | File Templates.
+ importInfos.put("siteKeyExists", Boolean.TRUE);
+ importInfos.put("siteServerNameExists", Boolean.TRUE);
+ } else {
+ try {
+ importInfos.put("siteKeyExists", new Boolean(ServicesR=
egistry.getInstance().getJahiaSitesService().getSiteByKey((String) importIn=
fos.get("sitekey")) !=3D null));
+ importInfos.put("siteServerNameExists", new Boolean(Se=
rvicesRegistry.getInstance().getJahiaSitesService().getSite((String) import=
Infos.get("siteservername")) !=3D null));
+ } catch (JahiaException e) {
+ e.printStackTrace(); //To change body of catch statem=
ent use File | Settings | File Templates.
+ }
}
}
return importInfos;
@@ -2195,17 +2196,21 @@
=
if (request.getParameter(file.getName()+"selected") !=3D null)=
{
try {
- infos.put("siteKeyExists", new Boolean(ServicesRegistr=
y.getInstance().getJahiaSitesService().getSiteByKey((String) infos.get("sit=
ekey")) !=3D null));
- infos.put("siteServerNameExists", new Boolean(Services=
Registry.getInstance().getJahiaSitesService().getSite((String) infos.get("s=
iteservername")) !=3D null));
+ if (infos.get("importFileName").equals("serverPermissi=
ons.xml")) {
=
- if ("".equals(infos.get("sitekey")) || "".equals(infos=
.get("siteservername")) || "".equals(infos.get("sitetitle"))) {
- // todo display an error message
- stillBad =3D true;
- }
+ } else {
+ infos.put("siteKeyExists", new Boolean(ServicesReg=
istry.getInstance().getJahiaSitesService().getSiteByKey((String) infos.get(=
"sitekey")) !=3D null));
+ infos.put("siteServerNameExists", new Boolean(Serv=
icesRegistry.getInstance().getJahiaSitesService().getSite((String) infos.ge=
t("siteservername")) !=3D null));
=
- if (Boolean.TRUE.equals(infos.get("siteKeyExists")) ||
- Boolean.TRUE.equals(infos.get("siteServerNameE=
xists"))) {
- stillBad =3D true;
+ if ("".equals(infos.get("sitekey")) || "".equals(i=
nfos.get("siteservername")) || "".equals(infos.get("sitetitle"))) {
+ // todo display an error message
+ stillBad =3D true;
+ }
+
+ if (Boolean.TRUE.equals(infos.get("siteKeyExists")=
) ||
+ Boolean.TRUE.equals(infos.get("siteServerN=
ameExists"))) {
+ stillBad =3D true;
+ }
}
} catch (JahiaException e) {
e.printStackTrace(); //To change body of catch statem=
ent use File | Settings | File Templates.
@@ -2231,13 +2236,18 @@
File file =3D (File) iterator.next();
if (request.getParameter(file.getName()+"selected") !=3D n=
ull) {
Map infos =3D (Map) importsInfos.get(file);
- String tpl =3D (String) infos.get("templates");
- if ("".equals(tpl)) tpl =3D null;
- try {
- createSite(request, jParams.getUser().getUsername(=
), (String) infos.get("sitetitle"),
- (String) infos.get("siteservername"), (Str=
ing) infos.get("sitekey"), "", jParams.getLocale(), null, null, null, tpl, =
file, (String) infos.get("importFileName"),true);
- } catch (Throwable e) {
- logger.error("Cannot create site " + infos.get("si=
tetitle"), e);
+ if (infos.get("importFileName").equals("serverPermissi=
ons.xml")) {
+ ImportExportBaseService.getInstance().importServer=
Permissions(jParams, new FileInputStream(file));
+ } else {
+ // site import
+ String tpl =3D (String) infos.get("templates");
+ if ("".equals(tpl)) tpl =3D null;
+ try {
+ createSite(request, jParams.getUser().getUsern=
ame(), (String) infos.get("sitetitle"),
+ (String) infos.get("siteservername"), =
(String) infos.get("sitekey"), "", jParams.getLocale(), null, null, null, t=
pl, file, (String) infos.get("importFileName"),true);
+ } catch (Throwable e) {
+ logger.error("Cannot create site " + infos.get=
("sitetitle"), e);
+ }
}
}
}
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=3D18596&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 21 10:46:33 2007
@@ -226,6 +226,11 @@
processingContext.setSiteID(s.getID());
processingContext.setSiteKey(s.getSiteKey());
=
+ anEntry =3D new ZipEntry("serverPermissions.xml");
+ zout.putNextEntry(anEntry);
+ DataWriter dw =3D new DataWriter(new OutputStreamWriter(zout, "UTF=
-8"));
+ exportServerPermissions(dw);
+
zout.finish();
}
=
@@ -2086,7 +2091,15 @@
ch.endElement(JAHIA_URI, "users", "jahia:users");
}
=
+ private void exportServerPermissions(ContentHandler ch) throws JahiaEx=
ception, SAXException {
+ exportPermissions(ch, "org.jahia.actions.server", "serverPermissio=
n");
+ }
+
private void exportSitePermissions(ContentHandler ch, JahiaSite site) =
throws JahiaException, SAXException {
+ exportPermissions(ch, "org.jahia.actions.sites." + site.getID(), "=
sitePermission");
+ }
+
+ private void exportPermissions(ContentHandler ch, String prefix, Strin=
g nodeName) throws SAXException {
ch.startDocument();
ch.startPrefixMapping("jahia", JAHIA_URI);
ch.endPrefixMapping("jahia");
@@ -2094,9 +2107,8 @@
=
attr.addAttribute(NS_URI, "jahia", "xmlns:jahia", "CDATA", JAHIA_U=
RI);
=
- ch.startElement(JAHIA_URI, "sitePermissions", "jahia:sitePermissio=
ns", attr);
+ ch.startElement(JAHIA_URI, nodeName+"s", "jahia:"+nodeName+"s", at=
tr);
=
- 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();
@@ -2114,7 +2126,7 @@
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{ =
+ } else{
JahiaGroup group =3D groupManagerService.lookupGro=
up(ace.getComp_id().getTarget());
perms +=3D "|g:" + group.getGroupname();
}
@@ -2125,12 +2137,11 @@
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.startElement(JAHIA_URI, nodeName, "jahia:"+ nodeName, attr);
+ ch.endElement(JAHIA_URI, nodeName, "jahia:"+ nodeName);
}
-
- ch.endElement(JAHIA_URI, "sitePermissions", "jahia:sitePermissions=
");
- ch.endDocument(); =
+ ch.endElement(JAHIA_URI, nodeName+"s", "jahia:"+nodeName+"s");
+ ch.endDocument();
}
=
private void importFilesAcl(ProcessingContext jParams, InputStream is)=
{
@@ -2151,8 +2162,12 @@
return importHandler.getUuidProps();
}
=
+ public void importServerPermissions(ProcessingContext jParams, InputSt=
ream is) {
+ handleImport(is, new PermissionsImportHandler("org.jahia.actions.s=
erver", "serverPermission", 0));
+ }
+
public void importSitePermissions(ProcessingContext jParams, InputStre=
am is) {
- handleImport(is, new SitePermissionsImportHandler(jParams));
+ handleImport(is, new PermissionsImportHandler("org.jahia.actions.s=
ites." + jParams.getSite().getID(), "sitePermission", jParams.getSite().get=
ID()));
}
=
private void handleImport(InputStream is, DefaultHandler h) {
Modified: trunk/core/src/webapp/jsp/jahia/administration/import_choose.jsp
URL: https://svndev.jahia.net/websvn/diff.php?path=3D/trunk/core/src/webapp=
/jsp/jahia/administration/import_choose.jsp&rev=3D18596&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/webapp/jsp/jahia/administration/import_choose.jsp (origi=
nal)
+++ trunk/core/src/webapp/jsp/jahia/administration/import_choose.jsp Fri Se=
p 21 10:46:33 2007
@@ -64,6 +64,8 @@
for (Iterator iterator =3D importsInfos.keySet().ite=
rator(); iterator.hasNext();) {
File file =3D (File) iterator.next();
Map infos =3D (Map) importsInfos.get(file);
+ String filename =3D (String) infos.get("importFi=
leName");
+ String fileType =3D (String) infos.get("type");
String siteKey =3D file.getName();
String lineClass =3D "oddLine";
if (lineCounter % 2 =3D=3D 0) {
@@ -73,6 +75,8 @@
<tr class=3D"<%=3DlineClass%>">
<td><input type=3D"checkbox" name=3D"<%=3D=
file.getName()%>selected" value=3D"on" <% if (infos.get("selected")!=3Dnull=
) {%>checked<% } %>></td>
<td>
+<% if ("zip".equals(fileType)) { %>
+
<table border=3D"0" cellpadding=3D"0" width=3D"100%">
<tr>
<td>
@@ -123,6 +127,9 @@
</td>
</tr>
</table>
+ <% } else { %>
+ <%=3Dfilename%> =
+ <% } %>
</td>
</tr>
<%
_______________________________________________
cvs_list mailing list
[email protected]
http://lists.jahia.org/cgi-bin/mailman/listinfo/cvs_list