[jboss-svn-commits] JBoss Portal SVN: r5258 - in trunk/portlet/src/main/org/jboss/portal: portlet/state portlet/state/producer test/portlet/state
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Tue Sep 26 07:35:55 EDT 2006
Author: julien at jboss.com
Date: 2006-09-26 07:35:50 -0400 (Tue, 26 Sep 2006)
New Revision: 5258
Modified:
trunk/portlet/src/main/org/jboss/portal/portlet/state/StateConversionException.java
trunk/portlet/src/main/org/jboss/portal/portlet/state/producer/ProducerPortletInvoker.java
trunk/portlet/src/main/org/jboss/portal/test/portlet/state/StateConverterV0TestCase.java
Log:
make StateConversionException a checked exception instead of a runtime exception
Modified: trunk/portlet/src/main/org/jboss/portal/portlet/state/StateConversionException.java
===================================================================
--- trunk/portlet/src/main/org/jboss/portal/portlet/state/StateConversionException.java 2006-09-26 10:44:31 UTC (rev 5257)
+++ trunk/portlet/src/main/org/jboss/portal/portlet/state/StateConversionException.java 2006-09-26 11:35:50 UTC (rev 5258)
@@ -25,7 +25,7 @@
* @author <a href="mailto:julien at jboss.org">Julien Viet</a>
* @version $Revision: 1.1 $
*/
-public class StateConversionException extends RuntimeException
+public class StateConversionException extends Exception
{
public StateConversionException()
{
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-09-26 10:44:31 UTC (rev 5257)
+++ trunk/portlet/src/main/org/jboss/portal/portlet/state/producer/ProducerPortletInvoker.java 2006-09-26 11:35:50 UTC (rev 5258)
@@ -43,6 +43,7 @@
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.StateConversionException;
import org.jboss.portal.portlet.info.PreferenceInfo;
import org.jboss.portal.portlet.info.PreferencesInfo;
import org.jboss.portal.portlet.info.PortletInfo;
@@ -136,9 +137,16 @@
{
if (portletContext instanceof StatefulPortletContext)
{
- StatefulPortletContext statefulPortletContext = (StatefulPortletContext)portletContext;
- ProducerState state = stateConverter.unmarshall(statefulPortletContext.getMarshalldState());
- return portletInvoker.getPortlet(new PortletContext(state.getPortletId()));
+ try
+ {
+ StatefulPortletContext statefulPortletContext = (StatefulPortletContext)portletContext;
+ ProducerState state = stateConverter.unmarshall(statefulPortletContext.getMarshalldState());
+ return portletInvoker.getPortlet(new PortletContext(state.getPortletId()));
+ }
+ catch (StateConversionException e)
+ {
+ throw new PortletInvokerException(e);
+ }
}
else
{
@@ -274,9 +282,7 @@
}
else
{
- ProducerState cloneState = new ProducerState(state.getPortletId(), newPrefs);
- byte[] bytes = stateConverter.marshall(cloneState);
- StatefulPortletContext clonedCtx = new StatefulPortletContext(CONSUMER_CLONE_ID, bytes);
+ StatefulPortletContext clonedCtx = marshall(state.getPortletId(), newPrefs);
PortletClonedEvent event = new PortletClonedEvent(clonedCtx);
instanceCtx.onStateEvent(event);
}
@@ -328,9 +334,7 @@
}
else
{
- ProducerState cloneState = new ProducerState(targetPortletId, newPrefs);
- byte[] bytes = stateConverter.marshall(cloneState);
- PortletContext modifiedCtx = new StatefulPortletContext(targetPortletId, bytes);
+ StatefulPortletContext modifiedCtx = marshall(targetPortletId, newPrefs);
PortletModifiedEvent event = new PortletModifiedEvent(modifiedCtx);
instanceCtx.onStateEvent(event);
}
@@ -376,9 +380,7 @@
}
else
{
- String cloneId = PRODUCER_CLONE_ID_PREFIX + "dumbvalue";
- byte[] marshalledState = stateConverter.marshall(state);
- return new StatefulPortletContext(cloneId, marshalledState);
+ return marshall(state.getPortletId(), state.getProperties());
}
}
else
@@ -398,10 +400,7 @@
}
else
{
- String cloneId = PRODUCER_CLONE_ID_PREFIX + "dumbvalue";
- ProducerState sstate = new ProducerState(portletId, newState);
- byte[] marshalledState = stateConverter.marshall(sstate);
- return new StatefulPortletContext(cloneId, marshalledState);
+ return marshall(portletId, newState);
}
}
}
@@ -618,10 +617,22 @@
}
else
{
- ProducerState sstate = new ProducerState(referencedPortletId, properties);
+ return marshall(referencedPortletId, properties);
+ }
+ }
+
+ private StatefulPortletContext marshall(String portletId, PropertyMap props) throws PortletInvokerException
+ {
+ try
+ {
+ ProducerState sstate = new ProducerState(portletId, props);
byte[] marshalledState = stateConverter.marshall(sstate);
- return new StatefulPortletContext(portletId, marshalledState);
+ return new StatefulPortletContext(CONSUMER_CLONE_ID, marshalledState);
}
+ catch (StateConversionException e)
+ {
+ throw new PortletInvokerException(e);
+ }
}
/**
@@ -689,10 +700,17 @@
}
else
{
- StatefulPortletContext statefulPortletContext = (StatefulPortletContext)portletContext;
- byte[] marshalledState = statefulPortletContext.getMarshalldState();
- ProducerState state = stateConverter.unmarshall(marshalledState);
- return state;
+ try
+ {
+ StatefulPortletContext statefulPortletContext = (StatefulPortletContext)portletContext;
+ byte[] marshalledState = statefulPortletContext.getMarshalldState();
+ ProducerState state = stateConverter.unmarshall(marshalledState);
+ return state;
+ }
+ catch (StateConversionException e)
+ {
+ throw new InvalidPortletIdException(e, portletContext.getId());
+ }
}
}
}
Modified: trunk/portlet/src/main/org/jboss/portal/test/portlet/state/StateConverterV0TestCase.java
===================================================================
--- trunk/portlet/src/main/org/jboss/portal/test/portlet/state/StateConverterV0TestCase.java 2006-09-26 10:44:31 UTC (rev 5257)
+++ trunk/portlet/src/main/org/jboss/portal/test/portlet/state/StateConverterV0TestCase.java 2006-09-26 11:35:50 UTC (rev 5258)
@@ -40,7 +40,7 @@
private final StateConverter converter = new StateConverterV0();
- public void testIAE()
+ public void testIAE() throws StateConversionException
{
try
{
@@ -60,7 +60,7 @@
}
}
- public void testAlteredMagic()
+ public void testAlteredMagic() throws StateConversionException
{
byte[] bytes = converter.marshall(new ProducerState("foo"));
bytes[0] = (byte)0xCA;
@@ -77,7 +77,7 @@
}
}
- public void testBadVersionNumber()
+ public void testBadVersionNumber() throws StateConversionException
{
byte[] bytes = converter.marshall(new ProducerState("foo"));
bytes[4] = (byte)0x01;
More information about the jboss-svn-commits
mailing list