Author: chris.laprun(a)jboss.com
Date: 2006-12-09 17:37:47 -0500 (Sat, 09 Dec 2006)
New Revision: 5777
Removed:
trunk/portlet/src/main/org/jboss/portal/portlet/state/PortletClonedEvent.java
trunk/portlet/src/main/org/jboss/portal/portlet/state/PortletModifiedEvent.java
Modified:
trunk/core/src/main/org/jboss/portal/core/impl/model/instance/InstanceContextImpl.java
trunk/federation/src/main/org/jboss/portal/federation/impl/FederatedPortletInvokerService.java
trunk/portlet/src/main/org/jboss/portal/portlet/StateEvent.java
trunk/portlet/src/main/org/jboss/portal/portlet/state/consumer/ConsumerPortletInvoker.java
trunk/portlet/src/main/org/jboss/portal/portlet/state/producer/ProducerPortletInvoker.java
trunk/portlet/src/main/org/jboss/portal/portlet/test/InstanceContextImpl.java
trunk/portlet/src/main/org/jboss/portal/portlet/test/PortletController.java
Log:
Refactored StateEvent to use a type discriminator instead of sub-classes.
Modified:
trunk/core/src/main/org/jboss/portal/core/impl/model/instance/InstanceContextImpl.java
===================================================================
---
trunk/core/src/main/org/jboss/portal/core/impl/model/instance/InstanceContextImpl.java 2006-12-09
19:12:54 UTC (rev 5776)
+++
trunk/core/src/main/org/jboss/portal/core/impl/model/instance/InstanceContextImpl.java 2006-12-09
22:37:47 UTC (rev 5777)
@@ -27,8 +27,6 @@
import org.jboss.portal.portlet.StateEvent;
import org.jboss.portal.portlet.spi.InstanceContext;
import org.jboss.portal.portlet.state.AccessMode;
-import org.jboss.portal.portlet.state.PortletClonedEvent;
-import org.jboss.portal.portlet.state.PortletModifiedEvent;
/**
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
@@ -71,15 +69,14 @@
public void onStateEvent(StateEvent event)
{
- if (event instanceof PortletClonedEvent)
+ StateEvent.StateEventType type = event.getType();
+ if (StateEvent.PORTLET_CLONED_EVENT.equals(type))
{
- PortletClonedEvent pce = (PortletClonedEvent)event;
- clonedContext = pce.getClonedContext();
+ clonedContext = event.getPortletContext();
}
- else if (event instanceof PortletModifiedEvent)
+ else if (StateEvent.PORTLET_MODIFIED_EVENT.equals(type))
{
- PortletModifiedEvent pme = (PortletModifiedEvent)event;
- modifiedContext = pme.getModifiedContext();
+ modifiedContext = event.getPortletContext();
}
}
}
Modified:
trunk/federation/src/main/org/jboss/portal/federation/impl/FederatedPortletInvokerService.java
===================================================================
---
trunk/federation/src/main/org/jboss/portal/federation/impl/FederatedPortletInvokerService.java 2006-12-09
19:12:54 UTC (rev 5776)
+++
trunk/federation/src/main/org/jboss/portal/federation/impl/FederatedPortletInvokerService.java 2006-12-09
22:37:47 UTC (rev 5777)
@@ -36,8 +36,6 @@
import org.jboss.portal.portlet.spi.InstanceContext;
import org.jboss.portal.portlet.state.AccessMode;
import org.jboss.portal.portlet.state.DestroyCloneFailure;
-import org.jboss.portal.portlet.state.PortletClonedEvent;
-import org.jboss.portal.portlet.state.PortletModifiedEvent;
import org.jboss.portal.portlet.state.PropertyChange;
import org.jboss.portal.portlet.state.PropertyMap;
@@ -129,18 +127,7 @@
public void onStateEvent(StateEvent event)
{
- if (event instanceof PortletClonedEvent)
- {
- PortletClonedEvent pce = (PortletClonedEvent)event;
- PortletContext clonedContext = pce.getClonedContext();
- ctx.onStateEvent(new PortletClonedEvent(reference(clonedContext)));
- }
- else if (event instanceof PortletModifiedEvent)
- {
- PortletModifiedEvent pce = (PortletModifiedEvent)event;
- PortletContext modifiedContext = pce.getModifiedContext();
- ctx.onStateEvent(new PortletModifiedEvent(reference(modifiedContext)));
- }
+ ctx.onStateEvent(new StateEvent(reference(event.getPortletContext()),
event.getType()));
}
}
Modified: trunk/portlet/src/main/org/jboss/portal/portlet/StateEvent.java
===================================================================
--- trunk/portlet/src/main/org/jboss/portal/portlet/StateEvent.java 2006-12-09 19:12:54
UTC (rev 5776)
+++ trunk/portlet/src/main/org/jboss/portal/portlet/StateEvent.java 2006-12-09 22:37:47
UTC (rev 5777)
@@ -22,12 +22,45 @@
******************************************************************************/
package org.jboss.portal.portlet;
+import org.jboss.portal.common.util.ParameterValidation;
+
/**
* An event that signals state modifications
*
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
- * @version $Revision: 1.1 $
+ * @author <a href="mailto:chris.laprun@jboss.com">Chris
Laprun</a>
+ * @version $Revision$
+ * @since 2.6
*/
-public abstract class StateEvent
+public class StateEvent
{
+ private final PortletContext context;
+ private final StateEventType type;
+ public static final StateEventType PORTLET_CLONED_EVENT = new StateEventType();
+ public static final StateEventType PORTLET_MODIFIED_EVENT = new StateEventType();
+
+ public StateEvent(PortletContext context, StateEventType type)
+ {
+ ParameterValidation.throwIllegalArgExceptionIfNull(context, "Portlet
context");
+ ParameterValidation.throwIllegalArgExceptionIfNull(type, "StateEvent
type");
+ this.context = context;
+ this.type = type;
+ }
+
+ public PortletContext getPortletContext()
+ {
+ return context;
+ }
+
+ public StateEventType getType()
+ {
+ return type;
+ }
+
+ public static final class StateEventType
+ {
+ private StateEventType()
+ {
+ }
+ }
}
Property changes on: trunk/portlet/src/main/org/jboss/portal/portlet/StateEvent.java
___________________________________________________________________
Name: svn:keywords
+ LastChangedDate LastChangedBy LastChangedRevision Id
Name: svn:eol-style
+ native
Deleted: trunk/portlet/src/main/org/jboss/portal/portlet/state/PortletClonedEvent.java
===================================================================
---
trunk/portlet/src/main/org/jboss/portal/portlet/state/PortletClonedEvent.java 2006-12-09
19:12:54 UTC (rev 5776)
+++
trunk/portlet/src/main/org/jboss/portal/portlet/state/PortletClonedEvent.java 2006-12-09
22:37:47 UTC (rev 5777)
@@ -1,51 +0,0 @@
-/******************************************************************************
- * JBoss, a division of Red Hat *
- * Copyright 2006, Red Hat Middleware, LLC, and individual *
- * contributors as indicated by the @authors tag. See the *
- * copyright.txt in the distribution for a full listing of *
- * individual contributors. *
- * *
- * This is free software; you can redistribute it and/or modify it *
- * under the terms of the GNU Lesser General Public License as *
- * published by the Free Software Foundation; either version 2.1 of *
- * the License, or (at your option) any later version. *
- * *
- * This software is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
- * Lesser General Public License for more details. *
- * *
- * You should have received a copy of the GNU Lesser General Public *
- * License along with this software; if not, write to the Free *
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
- * 02110-1301 USA, or see the FSF site:
http://www.fsf.org. *
- ******************************************************************************/
-package org.jboss.portal.portlet.state;
-
-import org.jboss.portal.portlet.PortletContext;
-import org.jboss.portal.portlet.StateEvent;
-
-/**
- * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
- * @version $Revision: 1.1 $
- */
-public class PortletClonedEvent extends StateEvent
-{
-
- /** . */
- private final PortletContext clonedContext;
-
- public PortletClonedEvent(PortletContext clonedContext)
- {
- if (clonedContext == null)
- {
- throw new IllegalArgumentException();
- }
- this.clonedContext = clonedContext;
- }
-
- public PortletContext getClonedContext()
- {
- return clonedContext;
- }
-}
Deleted: trunk/portlet/src/main/org/jboss/portal/portlet/state/PortletModifiedEvent.java
===================================================================
---
trunk/portlet/src/main/org/jboss/portal/portlet/state/PortletModifiedEvent.java 2006-12-09
19:12:54 UTC (rev 5776)
+++
trunk/portlet/src/main/org/jboss/portal/portlet/state/PortletModifiedEvent.java 2006-12-09
22:37:47 UTC (rev 5777)
@@ -1,51 +0,0 @@
-/******************************************************************************
- * JBoss, a division of Red Hat *
- * Copyright 2006, Red Hat Middleware, LLC, and individual *
- * contributors as indicated by the @authors tag. See the *
- * copyright.txt in the distribution for a full listing of *
- * individual contributors. *
- * *
- * This is free software; you can redistribute it and/or modify it *
- * under the terms of the GNU Lesser General Public License as *
- * published by the Free Software Foundation; either version 2.1 of *
- * the License, or (at your option) any later version. *
- * *
- * This software is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
- * Lesser General Public License for more details. *
- * *
- * You should have received a copy of the GNU Lesser General Public *
- * License along with this software; if not, write to the Free *
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
- * 02110-1301 USA, or see the FSF site:
http://www.fsf.org. *
- ******************************************************************************/
-package org.jboss.portal.portlet.state;
-
-import org.jboss.portal.portlet.PortletContext;
-import org.jboss.portal.portlet.StateEvent;
-
-/**
- * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
- * @version $Revision: 1.1 $
- */
-public class PortletModifiedEvent extends StateEvent
-{
-
- /** . */
- private final PortletContext modifiedContext;
-
- public PortletModifiedEvent(PortletContext clonedContext)
- {
- if (clonedContext == null)
- {
- throw new IllegalArgumentException();
- }
- this.modifiedContext = clonedContext;
- }
-
- public PortletContext getModifiedContext()
- {
- return modifiedContext;
- }
-}
Modified:
trunk/portlet/src/main/org/jboss/portal/portlet/state/consumer/ConsumerPortletInvoker.java
===================================================================
---
trunk/portlet/src/main/org/jboss/portal/portlet/state/consumer/ConsumerPortletInvoker.java 2006-12-09
19:12:54 UTC (rev 5776)
+++
trunk/portlet/src/main/org/jboss/portal/portlet/state/consumer/ConsumerPortletInvoker.java 2006-12-09
22:37:47 UTC (rev 5777)
@@ -37,8 +37,6 @@
import org.jboss.portal.portlet.state.AccessMode;
import org.jboss.portal.portlet.state.InvalidStateIdException;
import org.jboss.portal.portlet.state.NoSuchStateException;
-import org.jboss.portal.portlet.state.PortletClonedEvent;
-import org.jboss.portal.portlet.state.PortletModifiedEvent;
import org.jboss.portal.portlet.state.PropertyChange;
import org.jboss.portal.portlet.state.PropertyMap;
@@ -172,12 +170,12 @@
ConsumerState consumerState = new ConsumerState(clonedContext.getId(),
state);
String stateId = persistenceManager.createState(consumerState);
String clonedId = CLONE_ID_PREFIX + stateId;
- PortletClonedEvent event = new
PortletClonedEvent(PortletContext.createPortletContext(clonedId));
+ StateEvent event = new
StateEvent(PortletContext.createPortletContext(clonedId),
StateEvent.PORTLET_CLONED_EVENT);
cictx.onStateEvent(event);
}
else
{
- PortletClonedEvent event = new
PortletClonedEvent(PortletContext.createPortletContext(clonedContext.getId()));
+ StateEvent event = new
StateEvent(PortletContext.createPortletContext(clonedContext.getId()),
StateEvent.PORTLET_CLONED_EVENT);
cictx.onStateEvent(event);
}
}
@@ -362,15 +360,14 @@
public void onStateEvent(StateEvent event)
{
- if (event instanceof PortletClonedEvent)
+ StateEvent.StateEventType type = event.getType();
+ if (StateEvent.PORTLET_CLONED_EVENT.equals(type))
{
- PortletClonedEvent pce = (PortletClonedEvent)event;
- clonedContext = pce.getClonedContext();
+ clonedContext = event.getPortletContext();
}
- else if (event instanceof PortletModifiedEvent)
+ else if (StateEvent.PORTLET_MODIFIED_EVENT.equals(type))
{
- PortletModifiedEvent pce = (PortletModifiedEvent)event;
- modifiedContext = pce.getModifiedContext();
+ modifiedContext = event.getPortletContext();
}
}
}
Modified:
trunk/portlet/src/main/org/jboss/portal/portlet/state/producer/ProducerPortletInvoker.java
===================================================================
---
trunk/portlet/src/main/org/jboss/portal/portlet/state/producer/ProducerPortletInvoker.java 2006-12-09
19:12:54 UTC (rev 5776)
+++
trunk/portlet/src/main/org/jboss/portal/portlet/state/producer/ProducerPortletInvoker.java 2006-12-09
22:37:47 UTC (rev 5777)
@@ -31,6 +31,7 @@
import org.jboss.portal.portlet.PortletContext;
import org.jboss.portal.portlet.PortletInvoker;
import org.jboss.portal.portlet.PortletInvokerException;
+import org.jboss.portal.portlet.StateEvent;
import org.jboss.portal.portlet.StatefulPortletContext;
import org.jboss.portal.portlet.info.PortletInfo;
import org.jboss.portal.portlet.info.PreferenceInfo;
@@ -44,8 +45,6 @@
import org.jboss.portal.portlet.state.DestroyCloneFailure;
import org.jboss.portal.portlet.state.InvalidStateIdException;
import org.jboss.portal.portlet.state.NoSuchStateException;
-import org.jboss.portal.portlet.state.PortletClonedEvent;
-import org.jboss.portal.portlet.state.PortletModifiedEvent;
import org.jboss.portal.portlet.state.PropertyChange;
import org.jboss.portal.portlet.state.PropertyMap;
import org.jboss.portal.portlet.state.SimplePropertyMap;
@@ -271,7 +270,7 @@
// Return the clone context
String cloneId = PRODUCER_CLONE_ID_PREFIX + cloneStateId;
PortletContext clonedCtx =
PortletContext.createPortletContext(cloneId);
- PortletClonedEvent event = new PortletClonedEvent(clonedCtx);
+ StateEvent event = new StateEvent(clonedCtx,
StateEvent.PORTLET_CLONED_EVENT);
instanceCtx.onStateEvent(event);
}
catch (NoSuchStateException e)
@@ -286,7 +285,7 @@
else
{
PortletContext clonedCtx = marshall(state.getPortletId(), newPrefs);
- PortletClonedEvent event = new PortletClonedEvent(clonedCtx);
+ StateEvent event = new StateEvent(clonedCtx,
StateEvent.PORTLET_CLONED_EVENT);
instanceCtx.onStateEvent(event);
}
}
@@ -312,7 +311,7 @@
// Return the clone context
String cloneId = PRODUCER_CLONE_ID_PREFIX + cloneStateId;
PortletContext clonedCtx = PortletContext.createPortletContext(cloneId);
- PortletClonedEvent event = new PortletClonedEvent(clonedCtx);
+ StateEvent event = new StateEvent(clonedCtx,
StateEvent.PORTLET_CLONED_EVENT);
instanceCtx.onStateEvent(event);
}
}
@@ -338,7 +337,7 @@
else
{
PortletContext modifiedCtx = marshall(targetPortletId, newPrefs);
- PortletModifiedEvent event = new PortletModifiedEvent(modifiedCtx);
+ StateEvent event = new StateEvent(modifiedCtx,
StateEvent.PORTLET_MODIFIED_EVENT);
instanceCtx.onStateEvent(event);
}
}
Modified: trunk/portlet/src/main/org/jboss/portal/portlet/test/InstanceContextImpl.java
===================================================================
---
trunk/portlet/src/main/org/jboss/portal/portlet/test/InstanceContextImpl.java 2006-12-09
19:12:54 UTC (rev 5776)
+++
trunk/portlet/src/main/org/jboss/portal/portlet/test/InstanceContextImpl.java 2006-12-09
22:37:47 UTC (rev 5777)
@@ -26,8 +26,6 @@
import org.jboss.portal.portlet.StateEvent;
import org.jboss.portal.portlet.spi.InstanceContext;
import org.jboss.portal.portlet.state.AccessMode;
-import org.jboss.portal.portlet.state.PortletClonedEvent;
-import org.jboss.portal.portlet.state.PortletModifiedEvent;
/**
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
@@ -81,15 +79,14 @@
public void onStateEvent(StateEvent event)
{
- if (event instanceof PortletClonedEvent)
+ StateEvent.StateEventType type = event.getType();
+ if (StateEvent.PORTLET_CLONED_EVENT.equals(type))
{
- PortletClonedEvent pce = (PortletClonedEvent)event;
- clonedContext = pce.getClonedContext();
+ clonedContext = event.getPortletContext();
}
- else if (event instanceof PortletModifiedEvent)
+ else if (StateEvent.PORTLET_MODIFIED_EVENT.equals(type))
{
- PortletModifiedEvent pme = (PortletModifiedEvent)event;
- modifiedContext = pme.getModifiedContext();
+ modifiedContext = event.getPortletContext();
}
}
Modified: trunk/portlet/src/main/org/jboss/portal/portlet/test/PortletController.java
===================================================================
--- trunk/portlet/src/main/org/jboss/portal/portlet/test/PortletController.java 2006-12-09
19:12:54 UTC (rev 5776)
+++ trunk/portlet/src/main/org/jboss/portal/portlet/test/PortletController.java 2006-12-09
22:37:47 UTC (rev 5777)
@@ -63,8 +63,6 @@
import org.jboss.portal.portlet.spi.UserContext;
import org.jboss.portal.portlet.spi.WindowContext;
import org.jboss.portal.portlet.state.AccessMode;
-import org.jboss.portal.portlet.state.PortletClonedEvent;
-import org.jboss.portal.portlet.state.PortletModifiedEvent;
import org.jboss.portal.server.AbstractServerURL;
import org.jboss.portal.server.RequestController;
import org.jboss.portal.server.ServerException;
@@ -410,16 +408,7 @@
public void onStateEvent(StateEvent event)
{
- if (event instanceof PortletClonedEvent)
- {
- PortletClonedEvent pce = (PortletClonedEvent)event;
- req.getSession().setAttribute(CLONE_OF + this.portletContext.getId(),
pce.getClonedContext());
- }
- else if (event instanceof PortletModifiedEvent)
- {
- PortletModifiedEvent pme = (PortletModifiedEvent)event;
- req.getSession().setAttribute(CLONE_OF + this.portletContext.getId(),
pme.getModifiedContext());
- }
+ req.getSession().setAttribute(CLONE_OF + this.portletContext.getId(),
event.getPortletContext());
}
public void portletCloned(String cloneId)