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]