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 wo...@apache.org on 2011/04/06 02:37:55 UTC
svn commit: r1089285 - in /portals/jetspeed-2/portal/trunk:
components/jetspeed-registry/src/main/java/org/apache/jetspeed/components/portletregistry/
components/jetspeed-registry/src/test/java/org/apache/jetspeed/components/portletregistry/
jetspeed-a...
Author: woonsan
Date: Wed Apr 6 00:37:55 2011
New Revision: 1089285
URL: http://svn.apache.org/viewvc?rev=1089285&view=rev
Log:
JS2-1247: Adding #removeClone() to allow admin portlet to remove a clone
Modified:
portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/components/portletregistry/PersistenceBrokerPortletRegistry.java
portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/test/java/org/apache/jetspeed/components/portletregistry/TestPortletRegistryDAO.java
portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/components/portletregistry/PortletRegistry.java
Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/components/portletregistry/PersistenceBrokerPortletRegistry.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/components/portletregistry/PersistenceBrokerPortletRegistry.java?rev=1089285&r1=1089284&r2=1089285&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/components/portletregistry/PersistenceBrokerPortletRegistry.java (original)
+++ portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/main/java/org/apache/jetspeed/components/portletregistry/PersistenceBrokerPortletRegistry.java Wed Apr 6 00:37:55 2011
@@ -569,6 +569,20 @@ public class PersistenceBrokerPortletReg
return count;
}
+ public void removeClone(PortletDefinition clone)
+ throws RegistryException
+ {
+ if (!clone.isClone())
+ {
+ throw new IllegalArgumentException("The portlet is not a cloned one: " + clone.getUniqueName());
+ }
+
+ PortletApplication pa = clone.getApplication();
+ getPersistenceBrokerTemplate().delete(clone);
+ pa.getClones().remove(clone);
+ this.updatePortletApplication(pa);
+ }
+
public void removeAllClones(PortletApplication pa)
throws RegistryException
{
Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/test/java/org/apache/jetspeed/components/portletregistry/TestPortletRegistryDAO.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/test/java/org/apache/jetspeed/components/portletregistry/TestPortletRegistryDAO.java?rev=1089285&r1=1089284&r2=1089285&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/test/java/org/apache/jetspeed/components/portletregistry/TestPortletRegistryDAO.java (original)
+++ portals/jetspeed-2/portal/trunk/components/jetspeed-registry/src/test/java/org/apache/jetspeed/components/portletregistry/TestPortletRegistryDAO.java Wed Apr 6 00:37:55 2011
@@ -207,6 +207,11 @@ public class TestPortletRegistryDAO exte
assertEquals("myClone portlet name is not what expected", myClone.getPortletName(), "restorePortlet");
assertEquals("expecting one clone ", 1, testApp.getClones().size());
+ PortletDefinition myClone2 = portletRegistry.clonePortletDefinition(srcPortlet, "restorePortlet2");
+ assertNotNull("myClone2 portlet is null", myClone2);
+ assertEquals("myClone2 portlet name is not what expected", myClone2.getPortletName(), "restorePortlet2");
+ assertEquals("expecting two clones ", 2, testApp.getClones().size());
+
portletRegistry.removeApplication(testApp);
testApp = portletRegistry.getPortletApplication("cloneTest");
assertNull("test app should be null", testApp);
@@ -215,14 +220,18 @@ public class TestPortletRegistryDAO exte
PortletApplication recreated = portletRegistry.getPortletApplication("cloneTest");
assertNotNull("recreated test app is null", recreated);
int count = portletRegistry.restoreClones(recreated);
- assertEquals("Expected to restore one clone", 1, count);
+ assertEquals("Expected to restore one clone", 2, count);
PortletDefinition cpd = recreated.getClone("restorePortlet");
assertEquals("Expected clone to be named 'restorePortlet' ", cpd.getPortletName(), "restorePortlet");
+ PortletDefinition cpd2 = recreated.getClone("restorePortlet2");
+ assertEquals("Expected clone to be named 'restorePortlet2' ", cpd2.getPortletName(), "restorePortlet2");
}
finally
{
PortletApplication cleanup = portletRegistry.getPortletApplication("cloneTest");
assertNotNull("cleanup app is null", cleanup);
+ assertEquals("expecting one clone ", 2, cleanup.getClones().size());
+ portletRegistry.removeClone(cleanup.getClone("restorePortlet"));
assertEquals("expecting one clone ", 1, cleanup.getClones().size());
portletRegistry.removeAllClones(cleanup);
assertEquals("expecting zero clones ", 0, cleanup.getClones().size());
Modified: portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/components/portletregistry/PortletRegistry.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/components/portletregistry/PortletRegistry.java?rev=1089285&r1=1089284&r2=1089285&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/components/portletregistry/PortletRegistry.java (original)
+++ portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/components/portletregistry/PortletRegistry.java Wed Apr 6 00:37:55 2011
@@ -190,6 +190,15 @@ public interface PortletRegistry
/**
+ * Remove a clone from a given portlet definition
+ *
+ * @param clone the portlet definition
+ * @throws RegistryException
+ */
+ void removeClone(PortletDefinition clone)
+ throws RegistryException;
+
+ /**
* Remove all clones from a given portlet application
*
* @param pa the portlet application
---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-dev-help@portals.apache.org