You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-dev@portals.apache.org by at...@apache.org on 2008/05/01 21:54:45 UTC

svn commit: r652635 - in /portals/jetspeed-2/portal/trunk: components/jetspeed-portal/src/main/java/org/apache/jetspeed/layout/impl/ components/jetspeed-registry/src/main/java/org/apache/jetspeed/serializer/ components/jetspeed-security/src/main/java/o...

Author: ate
Date: Thu May  1 12:54:43 2008
New Revision: 652635

URL: http://svn.apache.org/viewvc?rev=652635&view=rev
Log:
Fixes and improvements to the serializer and exporter

Modified:
    portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/layout/impl/ExportJetspeedSchema.java
    portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/serializer/JetspeedRegistrySerializer.java
    portals/jetspeed-2/portal/trunk/components/jetspeed-security/src/main/java/org/apache/jetspeed/serializer/JetspeedSecuritySerializer.java
    portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/serializer/JetspeedSerializer.java
    portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/serializer.xml

Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/layout/impl/ExportJetspeedSchema.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/layout/impl/ExportJetspeedSchema.java?rev=652635&r1=652634&r2=652635&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/layout/impl/ExportJetspeedSchema.java (original)
+++ portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/layout/impl/ExportJetspeedSchema.java Thu May  1 12:54:43 2008
@@ -29,7 +29,6 @@
 import org.apache.jetspeed.page.PageManager;
 import org.apache.jetspeed.request.RequestContext;
 import org.apache.jetspeed.serializer.JetspeedSerializer;
-//import org.apache.jetspeed.serializer.JetspeedSerializerFactory;
 
 /**
  * Exporting the object using Ajax command
@@ -38,55 +37,42 @@
  * @version $Id$
  */
 /*
- TODO: commenting out this class for now as it is still based upon the 2.1.3 JetspeedSerialzer
-       while in trunk the JetspeedSerializer has been refactored largely so it doesn't even compile.
-       Additionally, some related new 2.1.3 features haven't been ported over to trunk yet either (e.g. r592266 and more)
-       Will revisit this class and the JetspeedSerializer enhancements once 2.1.3 is released
-*/       
-public class ExportJetspeedSchema extends BaseGetResourceAction implements
-        AjaxAction, AjaxBuilder, Constants
+ * TODO: commenting out this class for now as it is still based upon the 2.1.3 JetspeedSerialzer while in trunk the
+ * JetspeedSerializer has been refactored largely so it doesn't even compile. Additionally, some related new 2.1.3
+ * features haven't been ported over to trunk yet either (e.g. r592266 and more) Will revisit this class and the
+ * JetspeedSerializer enhancements once 2.1.3 is released
+ */
+public class ExportJetspeedSchema extends BaseGetResourceAction implements AjaxAction, AjaxBuilder, Constants
 {
-/*    
-
     protected Log log = LogFactory.getLog(GetFolderAction.class);
-
     protected PageManager castorPageManager;
-
-    protected JetspeedSerializerFactory serializerFactory;
-
+    protected JetspeedSerializer serializer;
     protected String pageRoot;
-
     // categories of export
     private static final String USERS = "users";
-    private static final String GROUPS = "groups";
-    private static final String ROLES = "roles";
     private static final String PERMISSIONS = "permissions";
     private static final String PROFILES = "profiles";
     private static final String CAPABILITIES = "capabilities";
-    private static final String PREFS = "prefs";
-
+    private static final String USER_PREFS = "uprefs";
+    private static final String ENTITIES = "entities";
     String pathSeprator = System.getProperty("file.separator");
-*/
-    public ExportJetspeedSchema(String template, String errorTemplate,
-            PageManager pageManager,
-            PortletActionSecurityBehavior securityBehavior,
-            JetspeedSerializer serializer,
-            String dir)
+
+    public ExportJetspeedSchema(String template, String errorTemplate, PageManager pageManager,
+                                PortletActionSecurityBehavior securityBehavior, JetspeedSerializer serializer,
+                                String dir)
     {
         super(template, errorTemplate, pageManager, securityBehavior);
-//        this.serializerFactory = serializerFactory;
-//        this.pageRoot = dir;
+        this.serializer = serializer;
+        this.pageRoot = dir;
     }
 
     public boolean run(RequestContext requestContext, Map resultMap)
     {
         boolean success = true;
-        /*        
         String status = "success";
         String userName = requestContext.getUserPrincipal().toString();
         Map settings = new HashMap();
-        String exportFileName = getUserFolder(userName, false) + pathSeprator
-                + "ldapExport.xml";
+        String exportFileName = getUserFolder(userName, false) + pathSeprator + "ldapExport.xml";
         try
         {
             resultMap.put(ACTION, "export");
@@ -96,64 +82,64 @@
                 resultMap.put(REASON, "Insufficient access to get portlets");
                 return success;
             }
-            boolean processPrefs = getNonNullActionParameter(requestContext, PREFS).equalsIgnoreCase("y") ? true : false;
-            if (!processPrefs)
-            {
-                settings.put(JetspeedSerializer.KEY_PROCESS_USERS, 
-                        getNonNullActionParameter(requestContext, USERS).equalsIgnoreCase("y") ? Boolean.TRUE : Boolean.FALSE);
-                settings.put(JetspeedSerializer.KEY_PROCESS_PERMISSIONS, 
-                        getNonNullActionParameter(requestContext, PERMISSIONS).equalsIgnoreCase("y") ? Boolean.TRUE : Boolean.FALSE);
-                settings.put(JetspeedSerializer.KEY_PROCESS_PROFILER, 
-                        getNonNullActionParameter(requestContext, PROFILES).equalsIgnoreCase("y") ? Boolean.TRUE : Boolean.FALSE);
-                settings.put(JetspeedSerializer.KEY_PROCESS_CAPABILITIES, 
-                        getNonNullActionParameter(requestContext, CAPABILITIES).equalsIgnoreCase("y") ? Boolean.TRUE : Boolean.FALSE);
-            }
-            else
+            settings.put(JetspeedSerializer.KEY_PROCESS_USERS,
+                         getNonNullActionParameter(requestContext, USERS).equalsIgnoreCase("y") ? Boolean.TRUE
+                                                                                               : Boolean.FALSE);
+            Boolean value = getNonNullActionParameter(requestContext, PERMISSIONS).equalsIgnoreCase("y") ? Boolean.TRUE
+                                                                                                        : Boolean.FALSE;
+            settings.put(JetspeedSerializer.KEY_PROCESS_PERMISSIONS, value);
+            if (value.booleanValue())
+            {
+                // export of permissions requires export of USERS too
+                settings.put(JetspeedSerializer.KEY_PROCESS_USERS, Boolean.TRUE);
+            }
+            settings.put(JetspeedSerializer.KEY_PROCESS_PROFILER,
+                         getNonNullActionParameter(requestContext, PROFILES).equalsIgnoreCase("y") ? Boolean.TRUE
+                                                                                                  : Boolean.FALSE);
+            settings.put(JetspeedSerializer.KEY_PROCESS_CAPABILITIES,
+                         getNonNullActionParameter(requestContext, CAPABILITIES).equalsIgnoreCase("y") ? Boolean.TRUE
+                                                                                                      : Boolean.FALSE);
+            settings.put(JetspeedSerializer.KEY_PROCESS_ENTITIES,
+                         getNonNullActionParameter(requestContext, ENTITIES).equalsIgnoreCase("y") ? Boolean.TRUE
+                                                                                                  : Boolean.FALSE);
+            value = getNonNullActionParameter(requestContext, USER_PREFS).equalsIgnoreCase("y") ? Boolean.TRUE : Boolean.FALSE;
+            settings.put(JetspeedSerializer.KEY_PROCESS_USER_PREFERENCES, value);
+            if (value.booleanValue())
             {
-                settings.put(JetspeedSerializer.KEY_PROCESS_PREFERENCES, Boolean.TRUE);
+                // export of user preferences requires export of ENTITIES too
+                settings.put(JetspeedSerializer.KEY_PROCESS_ENTITIES, Boolean.TRUE);
             }
-            if (!cleanUserFolder(userName)) 
+            if (!cleanUserFolder(userName))
             {
                 resultMap.put(STATUS, "failure");
                 resultMap.put(REASON, "Could not create temp files on disk.");
                 success = false;
                 return success;
             }
-            settings.put(JetspeedSerializer.KEY_OVERWRITE_EXISTING,
-                    Boolean.TRUE);
-            settings.put(JetspeedSerializer.KEY_BACKUP_BEFORE_PROCESS,
-                    Boolean.FALSE);
-            JetspeedSerializer serializer = null;
-            if (processPrefs)
-                serializer = serializerFactory.create(JetspeedSerializerFactory.SECONDARY);
-            else
-                serializer = serializerFactory.create(JetspeedSerializerFactory.PRIMARY);
-            serializer.setDefaultIndent("\t");
+            settings.put(JetspeedSerializer.KEY_EXPORT_INDENTATION, "\t");
+            settings.put(JetspeedSerializer.KEY_OVERWRITE_EXISTING, Boolean.TRUE);
+            settings.put(JetspeedSerializer.KEY_BACKUP_BEFORE_PROCESS, Boolean.FALSE);
             serializer.exportData("jetspeedadmin_export_process", exportFileName, settings);
             requestContext.getRequest().getSession().setAttribute("file", userName + "_ldapExport.xml");
             resultMap.put("link", getDownloadLink(requestContext, "tmpExport.xml", userName));
-
             resultMap.put(STATUS, status);
-        } catch (Exception e)
+        }
+        catch (Exception e)
         {
             // Log the exception
-            e.printStackTrace();
             log.error("exception while getting folder info", e);
             resultMap.put(STATUS, "failure");
             resultMap.put(REASON, e.getMessage());
             // Return a failure indicator
             success = false;
         }
-*/        
         return success;
     }
-/*
-    private String getDownloadLink(RequestContext requestContext,
-            String ObjectName, String userName) throws Exception
+
+    private String getDownloadLink(RequestContext requestContext, String ObjectName, String userName) throws Exception
     {
         String link = "";
-        String basePath = requestContext.getRequest().getContextPath()
-                + "/fileserver/_content/";
+        String basePath = requestContext.getRequest().getContextPath() + "/fileserver/_content/";
         link = basePath + userName + "/" + ObjectName;
         return link;
     }
@@ -165,8 +151,8 @@
         {
             String folder = getUserFolder(userName, false);
             File dir = new File(pageRoot + pathSeprator + userName + ".zip");
-            if (dir.exists()) dir.delete();
-
+            if (dir.exists())
+                dir.delete();
             dir = new File(folder);
             if (dir.exists())
             {
@@ -187,7 +173,8 @@
                 if (files[i].isDirectory())
                 {
                     deleteDir(files[i]);
-                } else
+                }
+                else
                 {
                     files[i].delete();
                 }
@@ -203,10 +190,10 @@
         if (fullPath)
         {
             return userName + pathSeprator;
-        } else
+        }
+        else
         {
             return pageRoot + pathSeprator + userName;
         }
     }
-*/
 }

Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/serializer/JetspeedRegistrySerializer.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/serializer/JetspeedRegistrySerializer.java?rev=652635&r1=652634&r2=652635&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/serializer/JetspeedRegistrySerializer.java (original)
+++ portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/serializer/JetspeedRegistrySerializer.java Thu May  1 12:54:43 2008
@@ -206,7 +206,7 @@
 
     private void importEntityPref(JSEntity entity, MutablePortletEntity portletEntity, Map settings, Log log)
     {
-        if (isSettingSet(settings, JetspeedSerializer.KEY_PROCESS_PREFERENCES) && isSettingSet(settings, JetspeedSerializer.KEY_PROCESS_USER_PREFERENCES))
+        if (isSettingSet(settings, JetspeedSerializer.KEY_PROCESS_USER_PREFERENCES))
         {
             // do I carry any preferences?
             JSEntityPreferences preferences = entity.getEntityPreferences();
@@ -306,7 +306,11 @@
                 MutablePortletApplication pa = (MutablePortletApplication) list.next();
                 // PortletApplicationDefinition pa =
                 // (PortletApplicationDefinition)list.next();
-                snapshot.getApplications().add(exportPA(pa, settings, log));
+                JSApplication app = exportPA(pa, settings, log);
+                if (app != null)
+                {
+                    snapshot.getApplications().add(app);
+                }
             }
             catch (Exception e)
             {
@@ -318,11 +322,6 @@
 
     private JSApplication exportPA(MutablePortletApplication pa, Map settings, Log log) throws SerializerException
     {
-
-        JSApplication app = new JSApplication();
-        log.debug("--processed PA " + pa.getName() + " with id=" + pa.getId());
-        app.setID(pa.getId().toString());
-        app.setName(pa.getName());
         /**
          * while more PAs for each portletDef
          * list:entityMan:getPortletEntity(pd)
@@ -353,20 +352,25 @@
                         "PortletDefinition", e.getMessage() }));
             }
         }
-        app.setPortlets(portlets);
-        return app;
+        if (!portlets.isEmpty())
+        {
+            JSApplication app = new JSApplication();
+            log.debug("--exporting PA " + pa.getName() + " with id=" + pa.getId());
+            app.setID(pa.getId().toString());
+            app.setName(pa.getName());
+            app.setPortlets(portlets);
+            return app;
+        }
+        return null;
     }
 
     private JSPortlet exportPD(PortletDefinition pd, Map settings, Log log) throws SerializerException
     {
-
         try
         {
             Collection col = entityAccess.getPortletEntities(pd);
             if ((col == null) || (col.size() == 0))
                 return null;
-            JSPortlet portlet = new JSPortlet();
-            portlet.setName(pd.getName());
             Iterator list = null;
             try
             {
@@ -387,10 +391,15 @@
                     entities.add(jsEntity);
 
             }
-            log.debug("-----processedAnyEntities for PD=" + pd.getName());
-            portlet.setEntities(entities);
-            return portlet;
-
+            if (!entities.isEmpty())
+            {
+                JSPortlet portlet = new JSPortlet();
+                portlet.setName(pd.getName());
+                log.debug("-----exporting for PD=" + pd.getName());
+                portlet.setEntities(entities);
+                return portlet;
+            }
+            return null;
         }
         catch (Exception e)
         {
@@ -403,7 +412,10 @@
     {
         JSEntity jsEntity = null;
         
-        if (isSettingSet(settings, JetspeedSerializer.KEY_PROCESS_PREFERENCES) && isSettingSet(settings, JetspeedSerializer.KEY_PROCESS_USER_PREFERENCES))
+        jsEntity = new JSEntity();
+        jsEntity.setId(entity.getId().toString());
+        
+        if (isSettingSet(settings, JetspeedSerializer.KEY_PROCESS_USER_PREFERENCES))
         {
             String rootForEntity = MutablePortletEntity.PORTLET_ENTITY_ROOT + "/" + entity.getId();
             try
@@ -414,18 +426,21 @@
                     String[] children = prefNode.childrenNames();
                     if ((children != null) && (children.length > 0))
                     {
-                        jsEntity = new JSEntity();
-                        jsEntity.setId(entity.getId().toString());
-                        JSEntityPreferences permissions = new JSEntityPreferences();
+                        JSEntityPreferences preferences = new JSEntityPreferences();
 
                         for (int i = 0; i < children.length; i++)
                         {
-                            JSEntityPreference permission = exportPreferenceNode(entity, children[i], settings, log);
-                            if (permission != null)
-                                permissions.add(permission);
+                            JSEntityPreference preference = exportPreferenceNode(entity, children[i], settings, log);
+                            if (preference != null)
+                            {
+                                preferences.add(preference);
+                            }
+                        }
+                        if (!preferences.isEmpty())
+                        {
+                            log.debug("processed preferences for entity=" + entity.getId());
+                            jsEntity.setEntityPreferences(preferences);
                         }
-                        log.debug("processed preferences for entity=" + entity.getId());
-                        jsEntity.setEntityPreferences(permissions);
                     }
                 }
             }

Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-security/src/main/java/org/apache/jetspeed/serializer/JetspeedSecuritySerializer.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-security/src/main/java/org/apache/jetspeed/serializer/JetspeedSecuritySerializer.java?rev=652635&r1=652634&r2=652635&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/jetspeed-security/src/main/java/org/apache/jetspeed/serializer/JetspeedSecuritySerializer.java (original)
+++ portals/jetspeed-2/portal/trunk/components/jetspeed-security/src/main/java/org/apache/jetspeed/serializer/JetspeedSecuritySerializer.java Thu May  1 12:54:43 2008
@@ -113,10 +113,14 @@
     {
         if (isSettingSet(settings, JetspeedSerializer.KEY_PROCESS_USERS))
         {
-            log.info("collecting users/roles/groups and permissions");
+            log.info("collecting users/roles/groups");
             Refs refs = new Refs();
             exportRolesGroupsUsers(refs, snapshot, settings, log);
-            exportPermissions(refs, snapshot, settings, log);
+            if (isSettingSet(settings, JetspeedSerializer.KEY_PROCESS_PERMISSIONS))
+            {
+                log.info("collecting permissions");
+                exportPermissions(refs, snapshot, settings, log);
+            }
         }
     }
 
@@ -133,7 +137,11 @@
             log.info("creating users/roles/groups and permissions");
             Refs refs = new Refs();
             recreateRolesGroupsUsers(refs, snapshot, settings, log);
-            recreatePermissions(refs, snapshot, settings, log);
+            if (isSettingSet(settings, JetspeedSerializer.KEY_PROCESS_PERMISSIONS))
+            {
+                log.info("creating permissions");
+                recreatePermissions(refs, snapshot, settings, log);
+            }
         }
     }
 

Modified: portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/serializer/JetspeedSerializer.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/serializer/JetspeedSerializer.java?rev=652635&r1=652634&r2=652635&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/serializer/JetspeedSerializer.java (original)
+++ portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/serializer/JetspeedSerializer.java Thu May  1 12:54:43 2008
@@ -67,10 +67,10 @@
     String KEY_PROCESS_USERS = "process_users";
     String KEY_PROCESS_CAPABILITIES = "process_capabilities";
     String KEY_PROCESS_PROFILER = "process_profiler";
+    String KEY_PROCESS_PERMISSIONS = "process_permissions";
     String KEY_PROCESS_USER_PREFERENCES = "process_user_preferences";
     String KEY_PROCESS_PORTAL_PREFERENCES = "process_portal_preferences";
     String KEY_PROCESS_ENTITIES = "process_entities";
-    String KEY_PROCESS_PREFERENCES = "process_preferences";
     String KEY_LOGGER = "logger";
     String KEY_OVERWRITE_EXISTING = "overwrite_existing";
     String KEY_BACKUP_BEFORE_PROCESS = "backup_before_process";

Modified: portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/serializer.xml
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/serializer.xml?rev=652635&r1=652634&r2=652635&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/serializer.xml (original)
+++ portals/jetspeed-2/portal/trunk/jetspeed-portal-resources/src/main/resources/assembly/serializer.xml Thu May  1 12:54:43 2008
@@ -36,6 +36,10 @@
         <entry key="process_users">
           <value type="java.lang.Boolean">true</value>
         </entry>
+        <!-- process_permissions depends on process_users being enabled, otherwise ignored -->
+        <entry key="process_permissions">
+          <value type="java.lang.Boolean">true</value>
+        </entry>
         <entry key="process_profiler">
           <value type="java.lang.Boolean">true</value>
         </entry>



---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-dev-help@portals.apache.org