jford       2003/07/11 21:11:52

  Modified:    src/java/org/apache/jetspeed/modules/actions/portlets
                        PsmlUpdateAction.java PsmlManagerAction.java
               src/java/org/apache/jetspeed/services/profiler
                        JetspeedProfilerService.java
  Log:
  Added regeneration of portlet ids during profile copying
  Added cloning of portlets/document during profile copying
  
  PR: Bugzilla #9057
  
  Revision  Changes    Path
  1.14      +11 -3     
jakarta-jetspeed/src/java/org/apache/jetspeed/modules/actions/portlets/PsmlUpdateAction.java
  
  Index: PsmlUpdateAction.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/modules/actions/portlets/PsmlUpdateAction.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- PsmlUpdateAction.java     7 May 2003 15:16:48 -0000       1.13
  +++ PsmlUpdateAction.java     12 Jul 2003 04:11:52 -0000      1.14
  @@ -77,6 +77,7 @@
   import java.util.StringTokenizer;
   
   //Jetspeed
  +import org.apache.commons.lang.SerializationUtils;
   import org.apache.jetspeed.modules.actions.portlets.security.SecurityConstants;
   import org.apache.jetspeed.om.profile.Profile;
   import org.apache.jetspeed.om.profile.ProfileLocator;
  @@ -520,7 +521,10 @@
                   if(doc != null)
                   {
                       Portlets portlets = doc.getPortlets();
  -                    profile = Profiler.createProfile(locator, portlets);
  +                    
  +                    Portlets clonedPortlets = (Portlets) 
SerializationUtils.clone(portlets);
  +                    
org.apache.jetspeed.util.PortletUtils.regenerateIds(clonedPortlets);
  +                    profile = Profiler.createProfile(locator, clonedPortlets);
                   }
                   else
                   {
  @@ -1023,7 +1027,11 @@
                   {
                       Profiler.removeProfile(locator);
                   }
  -                profile = Profiler.createProfile(locator, portlets);
  +                
  +                Portlets clonedPortlets = (Portlets) 
SerializationUtils.clone(portlets);
  +                org.apache.jetspeed.util.PortletUtils.regenerateIds(clonedPortlets);
  +                
  +                profile = Profiler.createProfile(locator, clonedPortlets);
               }
               else
               {
  
  
  
  1.4       +10 -3     
jakarta-jetspeed/src/java/org/apache/jetspeed/modules/actions/portlets/PsmlManagerAction.java
  
  Index: PsmlManagerAction.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/modules/actions/portlets/PsmlManagerAction.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- PsmlManagerAction.java    19 Jun 2003 19:19:31 -0000      1.3
  +++ PsmlManagerAction.java    12 Jul 2003 04:11:52 -0000      1.4
  @@ -55,6 +55,7 @@
   package org.apache.jetspeed.modules.actions.portlets;
   
   // Jetspeed
  +import org.apache.commons.lang.SerializationUtils;
   import org.apache.jetspeed.om.profile.Profile;
   import org.apache.jetspeed.om.profile.QueryLocator;
   import org.apache.jetspeed.portal.Portlet;
  @@ -911,7 +912,10 @@
                   if (doc != null)
                   {
                       Portlets portlets = doc.getPortlets();
  -                    profile = Profiler.createProfile(locator, portlets);
  +                    
  +                    Portlets clonedPortlets = (Portlets) 
SerializationUtils.clone(portlets);
  +                    
org.apache.jetspeed.util.PortletUtils.regenerateIds(clonedPortlets);
  +                    profile = Profiler.createProfile(locator, clonedPortlets);
                   }
                   else
                   {
  @@ -1537,7 +1541,10 @@
                           {
                               Profiler.removeProfile(locator);
                           }
  -                        Profiler.createProfile(locator, portlets);
  +                        
  +                        Portlets clonedPortlets = (Portlets) 
SerializationUtils.clone(portlets);
  +                        
org.apache.jetspeed.util.PortletUtils.regenerateIds(clonedPortlets);
  +                        Profiler.createProfile(locator, clonedPortlets);
                       }
                       else
                       {
  
  
  
  1.51      +11 -2     
jakarta-jetspeed/src/java/org/apache/jetspeed/services/profiler/JetspeedProfilerService.java
  
  Index: JetspeedProfilerService.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/services/profiler/JetspeedProfilerService.java,v
  retrieving revision 1.50
  retrieving revision 1.51
  diff -u -r1.50 -r1.51
  --- JetspeedProfilerService.java      9 Jun 2003 17:42:22 -0000       1.50
  +++ JetspeedProfilerService.java      12 Jul 2003 04:11:52 -0000      1.51
  @@ -78,6 +78,7 @@
   import org.apache.turbine.services.resources.ResourceService;
   
   // jetspeed.om
  +import org.apache.commons.lang.SerializationUtils;
   import org.apache.jetspeed.om.security.JetspeedUser;
   import org.apache.jetspeed.om.security.Role;
   import org.apache.jetspeed.om.security.Group;
  @@ -987,6 +988,9 @@
   
       /**
        * Create a new profile given a profile locator
  +     * 
  +     * This method assumes that you have cloned and regenerated the
  +     * portlet ids if the portlets come from another profile.
        *
        * @param locator The description of the new profile to be created.
        * @param portlets The PSML tree
  @@ -999,6 +1003,7 @@
           {
               portlets = new PsmlPortlets();
           }
  +        
           Profile profile = createProfile(locator);
           PSMLDocument doc = new BasePSMLDocument(null, portlets);
           profile.setDocument(doc);
  @@ -1050,7 +1055,11 @@
                   PSMLDocument doc = fallback(locator);
   
                   if (doc != null)
  -                    profile.setDocument(doc);
  +                {
  +                    PSMLDocument clonedDoc = (PSMLDocument) 
SerializationUtils.clone(doc);
  +                    
org.apache.jetspeed.util.PortletUtils.regenerateIds(clonedDoc.getPortlets());
  +                    profile.setDocument(clonedDoc);
  +                }
   
                   profile.setName( resourceDefault + resourceExt );
   
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to