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

Reply via email to