Author: julien(a)jboss.com
Date: 2007-08-30 17:10:49 -0400 (Thu, 30 Aug 2007)
New Revision: 8115
Added:
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/impl/spi/AbstractInstanceContext.java
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/impl/spi/AbstractPortalContext.java
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/impl/spi/AbstractUserContext.java
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/impl/spi/AbstractWindowContext.java
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/impl/state/consumer/AbstractConsumerPersistenceManagerService.java
modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/state/ActionContextImpl.java
modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/state/PortletInvokerSupport.java
modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/state/PortletSupport.java
modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/state/TestPortletInvoker.java
modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/state/ValueMapAssert.java
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/PortalNavigationalState.java
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/PortletController.java
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/PortletControllerContext.java
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/PortletControllerContextImpl.java
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/PortletURLRenderer.java
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/StringCodec.java
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/StringCodecTestCase.java
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/TestActionContext.java
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/TestInstanceContext.java
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/TestPortletInvoker.java
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/WindowNavigationalState.java
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/url/
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/url/CodecBuilder.java
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/url/DecoderTestCase.java
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/url/EncoderTestCase.java
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/url/ParameterDecoder.java
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/url/ParameterEncoder.java
Removed:
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/test/ActionContextImpl.java
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/test/InstanceContextImpl.java
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/test/TestPortalContext.java
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/test/TestPortletInvoker.java
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/test/UserContextImpl.java
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/test/ValueMapAssert.java
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/test/support/PortletInvokerSupport.java
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/test/support/PortletSupport.java
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/TestPortletInvocationContext.java
Modified:
modules/portlet/trunk/build/ide/intellij/idea60/modules/federation/federation.iml
modules/portlet/trunk/build/ide/intellij/idea60/modules/test/test.iml
modules/portlet/trunk/federation/src/main/org/jboss/portal/test/portlet/federation/FederatingPortletInvokerTestCase.java
modules/portlet/trunk/federation/src/main/org/jboss/portal/test/portlet/federation/OneInvokerNoPortletsTestCase.java
modules/portlet/trunk/jboss-portal-portlet.iws
modules/portlet/trunk/portlet/build.xml
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/impl/jsr168/DispatchedHttpServletRequest.java
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/impl/jsr168/api/ActionResponseImpl.java
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/impl/spi/AbstractPortletInvocationContext.java
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/impl/state/consumer/ConsumerPersistenceManagerService.java
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/support/spi/SecurityContextSupport.java
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/support/spi/UserContextSupport.java
modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/framework/portlet/PortletTestContext.java
modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/framework/portlet/PortletTestDriver.java
modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/jsr168/ext/common/AbstractCacheSequenceBuilder.java
modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/jsr168/ext/portletrequests/PortletRequestsSequenceBuilder.java
modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/state/AbstractStatefulPortletInvokerTestCase.java
modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/state/ConsumerStatefulPortletInvokerTestCase.java
modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/state/ProducerStatefulPortletInvokerTestCase.java
modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/state/RemoteStoreProducerStatefulPortletInvokerTestCase.java
modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/state/StateConverterV0TestCase.java
modules/portlet/trunk/test/build.xml
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/PortalKernelBootstrap.java
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/PortalServlet.java
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/TestRenderContext.java
modules/portlet/trunk/test/src/resources/portlet-test-war/WEB-INF/jboss-beans.xml
modules/portlet/trunk/test/src/resources/portlet-test-war/WEB-INF/web.xml
Log:
update portlet container with testsuite passing on TC6
Modified:
modules/portlet/trunk/build/ide/intellij/idea60/modules/federation/federation.iml
===================================================================
---
modules/portlet/trunk/build/ide/intellij/idea60/modules/federation/federation.iml 2007-08-30
20:00:55 UTC (rev 8114)
+++
modules/portlet/trunk/build/ide/intellij/idea60/modules/federation/federation.iml 2007-08-30
21:10:49 UTC (rev 8115)
@@ -18,6 +18,15 @@
</library>
</orderEntry>
<orderEntry type="module" module-name="portlet" />
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root
url="jar://$MODULE_DIR$/../../../../../../thirdparty/junit/lib/junit.jar!/"
/>
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
<orderEntryProperties />
</component>
<component name="VcsManagerConfiguration">
Modified: modules/portlet/trunk/build/ide/intellij/idea60/modules/test/test.iml
===================================================================
--- modules/portlet/trunk/build/ide/intellij/idea60/modules/test/test.iml 2007-08-30
20:00:55 UTC (rev 8114)
+++ modules/portlet/trunk/build/ide/intellij/idea60/modules/test/test.iml 2007-08-30
21:10:49 UTC (rev 8115)
@@ -63,6 +63,15 @@
<SOURCES />
</library>
</orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root
url="jar://$MODULE_DIR$/../../../../../../thirdparty/junit/lib/junit.jar!/"
/>
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
<orderEntryProperties />
</component>
<component name="VcsManagerConfiguration">
Modified:
modules/portlet/trunk/federation/src/main/org/jboss/portal/test/portlet/federation/FederatingPortletInvokerTestCase.java
===================================================================
---
modules/portlet/trunk/federation/src/main/org/jboss/portal/test/portlet/federation/FederatingPortletInvokerTestCase.java 2007-08-30
20:00:55 UTC (rev 8114)
+++
modules/portlet/trunk/federation/src/main/org/jboss/portal/test/portlet/federation/FederatingPortletInvokerTestCase.java 2007-08-30
21:10:49 UTC (rev 8115)
@@ -26,8 +26,8 @@
import org.jboss.portal.portlet.federation.FederatedPortletInvoker;
import org.jboss.portal.portlet.federation.FederatingPortletInvoker;
import org.jboss.portal.portlet.federation.impl.FederatingPortletInvokerService;
-import org.jboss.portal.portlet.test.support.PortletInvokerSupport;
-import org.jboss.portal.portlet.test.support.PortletSupport;
+import org.jboss.portal.test.portlet.state.PortletInvokerSupport;
+import org.jboss.portal.test.portlet.state.PortletSupport;
import org.jboss.portal.portlet.PortletInvokerException;
import org.jboss.portal.portlet.Portlet;
import org.jboss.portal.portlet.PortletContext;
Modified:
modules/portlet/trunk/federation/src/main/org/jboss/portal/test/portlet/federation/OneInvokerNoPortletsTestCase.java
===================================================================
---
modules/portlet/trunk/federation/src/main/org/jboss/portal/test/portlet/federation/OneInvokerNoPortletsTestCase.java 2007-08-30
20:00:55 UTC (rev 8114)
+++
modules/portlet/trunk/federation/src/main/org/jboss/portal/test/portlet/federation/OneInvokerNoPortletsTestCase.java 2007-08-30
21:10:49 UTC (rev 8115)
@@ -24,7 +24,7 @@
import junit.framework.TestCase;
import org.jboss.portal.portlet.PortletInvokerException;
-import org.jboss.portal.portlet.test.support.PortletInvokerSupport;
+import org.jboss.portal.test.portlet.state.PortletInvokerSupport;
import org.jboss.portal.portlet.federation.FederatingPortletInvoker;
import org.jboss.portal.portlet.federation.FederatedPortletInvoker;
import org.jboss.portal.portlet.federation.impl.FederatingPortletInvokerService;
Modified: modules/portlet/trunk/jboss-portal-portlet.iws
===================================================================
--- modules/portlet/trunk/jboss-portal-portlet.iws 2007-08-30 20:00:55 UTC (rev 8114)
+++ modules/portlet/trunk/jboss-portal-portlet.iws 2007-08-30 21:10:49 UTC (rev 8115)
@@ -17,7 +17,66 @@
</component>
<component name="ChangeListManager">
<list default="true" name="Default" comment="">
+ <change type="NEW" beforePath=""
afterPath="$PROJECT_DIR$/test/src/main/org/jboss/portal/portlet/test/url/ParameterEncoder.java"
/>
+ <change type="MODIFICATION"
beforePath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/impl/state/consumer/ConsumerPersistenceManagerService.java"
afterPath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/impl/state/consumer/ConsumerPersistenceManagerService.java"
/>
+ <change type="DELETED"
beforePath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/test/support/PortletInvokerSupport.java"
afterPath="" />
+ <change type="DELETED"
beforePath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/test/TestPortletInvoker.java"
afterPath="" />
+ <change type="NEW" beforePath=""
afterPath="$PROJECT_DIR$/test/src/main/org/jboss/portal/portlet/test/TestPortletInvoker.java"
/>
+ <change type="MODIFICATION"
beforePath="$PROJECT_DIR$/test/src/main/org/jboss/portal/portlet/test/PortalKernelBootstrap.java"
afterPath="$PROJECT_DIR$/test/src/main/org/jboss/portal/portlet/test/PortalKernelBootstrap.java"
/>
+ <change type="DELETED"
beforePath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/test/TestPortalContext.java"
afterPath="" />
+ <change type="MODIFICATION"
beforePath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/state/AbstractStatefulPortletInvokerTestCase.java"
afterPath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/state/AbstractStatefulPortletInvokerTestCase.java"
/>
+ <change type="MODIFICATION"
beforePath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/support/spi/SecurityContextSupport.java"
afterPath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/support/spi/SecurityContextSupport.java"
/>
+ <change type="NEW" beforePath=""
afterPath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/impl/spi/AbstractUserContext.java"
/>
+ <change type="NEW" beforePath=""
afterPath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/state/PortletInvokerSupport.java"
/>
+ <change type="NEW" beforePath=""
afterPath="$PROJECT_DIR$/test/src/main/org/jboss/portal/portlet/test/url/DecoderTestCase.java"
/>
+ <change type="NEW" beforePath=""
afterPath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/state/PortletSupport.java"
/>
+ <change type="NEW" beforePath=""
afterPath="$PROJECT_DIR$/test/src/main/org/jboss/portal/portlet/test/TestInstanceContext.java"
/>
+ <change type="MODIFICATION"
beforePath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/state/RemoteStoreProducerStatefulPortletInvokerTestCase.java"
afterPath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/state/RemoteStoreProducerStatefulPortletInvokerTestCase.java"
/>
+ <change type="NEW" beforePath=""
afterPath="$PROJECT_DIR$/test/src/main/org/jboss/portal/portlet/test/TestActionContext.java"
/>
+ <change type="MODIFICATION"
beforePath="$PROJECT_DIR$/portlet/build.xml"
afterPath="$PROJECT_DIR$/portlet/build.xml" />
+ <change type="NEW" beforePath=""
afterPath="$PROJECT_DIR$/test/src/main/org/jboss/portal/portlet/test/url/CodecBuilder.java"
/>
+ <change type="DELETED"
beforePath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/test/UserContextImpl.java"
afterPath="" />
+ <change type="MODIFICATION"
beforePath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/ext/common/AbstractCacheSequenceBuilder.java"
afterPath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/ext/common/AbstractCacheSequenceBuilder.java"
/>
+ <change type="MODIFICATION"
beforePath="$PROJECT_DIR$/test/src/resources/portlet-test-war/WEB-INF/jboss-beans.xml"
afterPath="$PROJECT_DIR$/test/src/resources/portlet-test-war/WEB-INF/jboss-beans.xml"
/>
+ <change type="NEW" beforePath=""
afterPath="$PROJECT_DIR$/test/src/main/org/jboss/portal/portlet/test/PortalNavigationalState.java"
/>
+ <change type="MODIFICATION"
beforePath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/state/ProducerStatefulPortletInvokerTestCase.java"
afterPath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/state/ProducerStatefulPortletInvokerTestCase.java"
/>
+ <change type="NEW" beforePath=""
afterPath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/state/ActionContextImpl.java"
/>
+ <change type="DELETED"
beforePath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/test/ActionContextImpl.java"
afterPath="" />
+ <change type="MODIFICATION"
beforePath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/framework/portlet/PortletTestDriver.java"
afterPath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/framework/portlet/PortletTestDriver.java"
/>
+ <change type="MODIFICATION"
beforePath="$PROJECT_DIR$/test/src/resources/portlet-test-war/WEB-INF/web.xml"
afterPath="$PROJECT_DIR$/test/src/resources/portlet-test-war/WEB-INF/web.xml"
/>
+ <change type="NEW" beforePath=""
afterPath="$PROJECT_DIR$/test/src/main/org/jboss/portal/portlet/test/PortletURLRenderer.java"
/>
+ <change type="NEW" beforePath=""
afterPath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/impl/spi/AbstractWindowContext.java"
/>
+ <change type="DELETED"
beforePath="$PROJECT_DIR$/test/src/main/org/jboss/portal/portlet/test/TestPortletInvocationContext.java"
afterPath="" />
+ <change type="MODIFICATION"
beforePath="$PROJECT_DIR$/test/src/main/org/jboss/portal/portlet/test/TestRenderContext.java"
afterPath="$PROJECT_DIR$/test/src/main/org/jboss/portal/portlet/test/TestRenderContext.java"
/>
<change type="MODIFICATION"
beforePath="$PROJECT_DIR$/test/build.xml"
afterPath="$PROJECT_DIR$/test/build.xml" />
+ <change type="NEW" beforePath=""
afterPath="$PROJECT_DIR$/test/src/main/org/jboss/portal/portlet/test/url/ParameterDecoder.java"
/>
+ <change type="NEW" beforePath=""
afterPath="$PROJECT_DIR$/test/src/main/org/jboss/portal/portlet/test/PortletControllerContext.java"
/>
+ <change type="MODIFICATION"
beforePath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/state/StateConverterV0TestCase.java"
afterPath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/state/StateConverterV0TestCase.java"
/>
+ <change type="MODIFICATION"
beforePath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/support/spi/UserContextSupport.java"
afterPath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/support/spi/UserContextSupport.java"
/>
+ <change type="MODIFICATION"
beforePath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/impl/jsr168/DispatchedHttpServletRequest.java"
afterPath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/impl/jsr168/DispatchedHttpServletRequest.java"
/>
+ <change type="NEW" beforePath=""
afterPath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/impl/spi/AbstractInstanceContext.java"
/>
+ <change type="MODIFICATION"
beforePath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/framework/portlet/PortletTestContext.java"
afterPath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/framework/portlet/PortletTestContext.java"
/>
+ <change type="DELETED"
beforePath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/test/InstanceContextImpl.java"
afterPath="" />
+ <change type="NEW" beforePath=""
afterPath="$PROJECT_DIR$/test/src/main/org/jboss/portal/portlet/test/PortletControllerContextImpl.java"
/>
+ <change type="MODIFICATION"
beforePath="$PROJECT_DIR$/federation/src/main/org/jboss/portal/test/portlet/federation/FederatingPortletInvokerTestCase.java"
afterPath="$PROJECT_DIR$/federation/src/main/org/jboss/portal/test/portlet/federation/FederatingPortletInvokerTestCase.java"
/>
+ <change type="NEW" beforePath=""
afterPath="$PROJECT_DIR$/test/src/main/org/jboss/portal/portlet/test/url" />
+ <change type="MODIFICATION"
beforePath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/impl/spi/AbstractPortletInvocationContext.java"
afterPath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/impl/spi/AbstractPortletInvocationContext.java"
/>
+ <change type="DELETED"
beforePath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/test/ValueMapAssert.java"
afterPath="" />
+ <change type="NEW" beforePath=""
afterPath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/impl/spi/AbstractPortalContext.java"
/>
+ <change type="NEW" beforePath=""
afterPath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/state/ValueMapAssert.java"
/>
+ <change type="NEW" beforePath=""
afterPath="$PROJECT_DIR$/test/src/main/org/jboss/portal/portlet/test/StringCodecTestCase.java"
/>
+ <change type="NEW" beforePath=""
afterPath="$PROJECT_DIR$/test/src/main/org/jboss/portal/portlet/test/WindowNavigationalState.java"
/>
+ <change type="MODIFICATION"
beforePath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/state/ConsumerStatefulPortletInvokerTestCase.java"
afterPath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/state/ConsumerStatefulPortletInvokerTestCase.java"
/>
+ <change type="DELETED"
beforePath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/test/support/PortletSupport.java"
afterPath="" />
+ <change type="MODIFICATION"
beforePath="$PROJECT_DIR$/federation/src/main/org/jboss/portal/test/portlet/federation/OneInvokerNoPortletsTestCase.java"
afterPath="$PROJECT_DIR$/federation/src/main/org/jboss/portal/test/portlet/federation/OneInvokerNoPortletsTestCase.java"
/>
+ <change type="MODIFICATION"
beforePath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/impl/jsr168/api/ActionResponseImpl.java"
afterPath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/impl/jsr168/api/ActionResponseImpl.java"
/>
+ <change type="NEW" beforePath=""
afterPath="$PROJECT_DIR$/test/src/main/org/jboss/portal/portlet/test/StringCodec.java"
/>
+ <change type="NEW" beforePath=""
afterPath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/state/TestPortletInvoker.java"
/>
+ <change type="NEW" beforePath=""
afterPath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/impl/state/consumer/AbstractConsumerPersistenceManagerService.java"
/>
+ <change type="NEW" beforePath=""
afterPath="$PROJECT_DIR$/test/src/main/org/jboss/portal/portlet/test/PortletController.java"
/>
+ <change type="MODIFICATION"
beforePath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/ext/portletrequests/PortletRequestsSequenceBuilder.java"
afterPath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/ext/portletrequests/PortletRequestsSequenceBuilder.java"
/>
+ <change type="NEW" beforePath=""
afterPath="$PROJECT_DIR$/test/src/main/org/jboss/portal/portlet/test/url/EncoderTestCase.java"
/>
+ <change type="MODIFICATION"
beforePath="$PROJECT_DIR$/test/src/main/org/jboss/portal/portlet/test/PortalServlet.java"
afterPath="$PROJECT_DIR$/test/src/main/org/jboss/portal/portlet/test/PortalServlet.java"
/>
</list>
</component>
<component name="ChangeListSynchronizer" />
@@ -89,7 +148,7 @@
</component>
<component name="DebuggerManager">
<line_breakpoints>
- <breakpoint
url="file://$PROJECT_DIR$/test/src/main/org/jboss/portal/portlet/test/PortalServlet.java"
line="60" class="org.jboss.portal.portlet.test.PortalServlet"
package="org.jboss.portal.portlet.test">
+ <breakpoint
url="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/api/portletconfig/PortletConfigSequenceBuilder.java"
line="61" class="Class at PortletConfigSequenceBuilder.java:61"
package="org.jboss.portal.test.portlet.jsr168.api.portletconfig">
<option name="ENABLED" value="true" />
<option name="SUSPEND_POLICY" value="SuspendAll" />
<option name="LOG_ENABLED" value="false" />
@@ -102,6 +161,643 @@
<option name="CONDITION" value="" />
<option name="LOG_MESSAGE" value="" />
</breakpoint>
+ <breakpoint
url="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/api/portletconfig/PortletConfigSequenceBuilder.java"
line="79" class="Class at PortletConfigSequenceBuilder.java:79"
package="org.jboss.portal.test.portlet.jsr168.api.portletconfig">
+ <option name="ENABLED" value="true" />
+ <option name="SUSPEND_POLICY" value="SuspendAll" />
+ <option name="LOG_ENABLED" value="false" />
+ <option name="LOG_EXPRESSION_ENABLED" value="false" />
+ <option name="COUNT_FILTER_ENABLED" value="false" />
+ <option name="COUNT_FILTER" value="0" />
+ <option name="CONDITION_ENABLED" value="false" />
+ <option name="CLASS_FILTERS_ENABLED" value="false" />
+ <option name="INSTANCE_FILTERS_ENABLED" value="false"
/>
+ <option name="CONDITION" value="" />
+ <option name="LOG_MESSAGE" value="" />
+ </breakpoint>
+ <breakpoint
url="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/api/portletconfig/PortletConfigSequenceBuilder.java"
line="102" class="Class at PortletConfigSequenceBuilder.java:102"
package="org.jboss.portal.test.portlet.jsr168.api.portletconfig">
+ <option name="ENABLED" value="true" />
+ <option name="SUSPEND_POLICY" value="SuspendAll" />
+ <option name="LOG_ENABLED" value="false" />
+ <option name="LOG_EXPRESSION_ENABLED" value="false" />
+ <option name="COUNT_FILTER_ENABLED" value="false" />
+ <option name="COUNT_FILTER" value="0" />
+ <option name="CONDITION_ENABLED" value="false" />
+ <option name="CLASS_FILTERS_ENABLED" value="false" />
+ <option name="INSTANCE_FILTERS_ENABLED" value="false"
/>
+ <option name="CONDITION" value="" />
+ <option name="LOG_MESSAGE" value="" />
+ </breakpoint>
+ <breakpoint
url="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/api/portletconfig/PortletConfigSequenceBuilder.java"
line="141" class="Class at PortletConfigSequenceBuilder.java:141"
package="org.jboss.portal.test.portlet.jsr168.api.portletconfig">
+ <option name="ENABLED" value="true" />
+ <option name="SUSPEND_POLICY" value="SuspendAll" />
+ <option name="LOG_ENABLED" value="false" />
+ <option name="LOG_EXPRESSION_ENABLED" value="false" />
+ <option name="COUNT_FILTER_ENABLED" value="false" />
+ <option name="COUNT_FILTER" value="0" />
+ <option name="CONDITION_ENABLED" value="false" />
+ <option name="CLASS_FILTERS_ENABLED" value="false" />
+ <option name="INSTANCE_FILTERS_ENABLED" value="false"
/>
+ <option name="CONDITION" value="" />
+ <option name="LOG_MESSAGE" value="" />
+ </breakpoint>
+ <breakpoint
url="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/api/portletconfig/PortletConfigSequenceBuilder.java"
line="160" class="Class at PortletConfigSequenceBuilder.java:160"
package="org.jboss.portal.test.portlet.jsr168.api.portletconfig">
+ <option name="ENABLED" value="true" />
+ <option name="SUSPEND_POLICY" value="SuspendAll" />
+ <option name="LOG_ENABLED" value="false" />
+ <option name="LOG_EXPRESSION_ENABLED" value="false" />
+ <option name="COUNT_FILTER_ENABLED" value="false" />
+ <option name="COUNT_FILTER" value="0" />
+ <option name="CONDITION_ENABLED" value="false" />
+ <option name="CLASS_FILTERS_ENABLED" value="false" />
+ <option name="INSTANCE_FILTERS_ENABLED" value="false"
/>
+ <option name="CONDITION" value="" />
+ <option name="LOG_MESSAGE" value="" />
+ </breakpoint>
+ <breakpoint
url="file://$PROJECT_DIR$/test/src/main/org/jboss/portal/portlet/test/StringCodecTestCase.java"
line="53" class="org.jboss.portal.portlet.test.StringCodecTestCase"
package="org.jboss.portal.portlet.test">
+ <option name="ENABLED" value="true" />
+ <option name="SUSPEND_POLICY" value="SuspendAll" />
+ <option name="LOG_ENABLED" value="false" />
+ <option name="LOG_EXPRESSION_ENABLED" value="false" />
+ <option name="COUNT_FILTER_ENABLED" value="false" />
+ <option name="COUNT_FILTER" value="0" />
+ <option name="CONDITION_ENABLED" value="false" />
+ <option name="CLASS_FILTERS_ENABLED" value="false" />
+ <option name="INSTANCE_FILTERS_ENABLED" value="false"
/>
+ <option name="CONDITION" value="" />
+ <option name="LOG_MESSAGE" value="" />
+ </breakpoint>
+ <breakpoint
url="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/tck/portletrequests/PortletRequestsSequenceBuilder.java"
line="108" class="Class at PortletRequestsSequenceBuilder.java:108"
package="org.jboss.portal.test.portlet.jsr168.tck.portletrequests">
+ <option name="ENABLED" value="true" />
+ <option name="SUSPEND_POLICY" value="SuspendAll" />
+ <option name="LOG_ENABLED" value="false" />
+ <option name="LOG_EXPRESSION_ENABLED" value="false" />
+ <option name="COUNT_FILTER_ENABLED" value="false" />
+ <option name="COUNT_FILTER" value="0" />
+ <option name="CONDITION_ENABLED" value="false" />
+ <option name="CLASS_FILTERS_ENABLED" value="false" />
+ <option name="INSTANCE_FILTERS_ENABLED" value="false"
/>
+ <option name="CONDITION" value="" />
+ <option name="LOG_MESSAGE" value="" />
+ </breakpoint>
+ <breakpoint
url="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/tck/portletrequests/PortletRequestsSequenceBuilder.java"
line="118" class="Class at PortletRequestsSequenceBuilder.java:118"
package="org.jboss.portal.test.portlet.jsr168.tck.portletrequests">
+ <option name="ENABLED" value="true" />
+ <option name="SUSPEND_POLICY" value="SuspendAll" />
+ <option name="LOG_ENABLED" value="false" />
+ <option name="LOG_EXPRESSION_ENABLED" value="false" />
+ <option name="COUNT_FILTER_ENABLED" value="false" />
+ <option name="COUNT_FILTER" value="0" />
+ <option name="CONDITION_ENABLED" value="false" />
+ <option name="CLASS_FILTERS_ENABLED" value="false" />
+ <option name="INSTANCE_FILTERS_ENABLED" value="false"
/>
+ <option name="CONDITION" value="" />
+ <option name="LOG_MESSAGE" value="" />
+ </breakpoint>
+ <breakpoint
url="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/tck/portletrequests/PortletRequestsSequenceBuilder.java"
line="128" class="Class at PortletRequestsSequenceBuilder.java:128"
package="org.jboss.portal.test.portlet.jsr168.tck.portletrequests">
+ <option name="ENABLED" value="true" />
+ <option name="SUSPEND_POLICY" value="SuspendAll" />
+ <option name="LOG_ENABLED" value="false" />
+ <option name="LOG_EXPRESSION_ENABLED" value="false" />
+ <option name="COUNT_FILTER_ENABLED" value="false" />
+ <option name="COUNT_FILTER" value="0" />
+ <option name="CONDITION_ENABLED" value="false" />
+ <option name="CLASS_FILTERS_ENABLED" value="false" />
+ <option name="INSTANCE_FILTERS_ENABLED" value="false"
/>
+ <option name="CONDITION" value="" />
+ <option name="LOG_MESSAGE" value="" />
+ </breakpoint>
+ <breakpoint
url="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/tck/portletrequests/PortletRequestsSequenceBuilder.java"
line="150" class="Class at PortletRequestsSequenceBuilder.java:150"
package="org.jboss.portal.test.portlet.jsr168.tck.portletrequests">
+ <option name="ENABLED" value="true" />
+ <option name="SUSPEND_POLICY" value="SuspendAll" />
+ <option name="LOG_ENABLED" value="false" />
+ <option name="LOG_EXPRESSION_ENABLED" value="false" />
+ <option name="COUNT_FILTER_ENABLED" value="false" />
+ <option name="COUNT_FILTER" value="0" />
+ <option name="CONDITION_ENABLED" value="false" />
+ <option name="CLASS_FILTERS_ENABLED" value="false" />
+ <option name="INSTANCE_FILTERS_ENABLED" value="false"
/>
+ <option name="CONDITION" value="" />
+ <option name="LOG_MESSAGE" value="" />
+ </breakpoint>
+ <breakpoint
url="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/tck/portletrequests/PortletRequestsSequenceBuilder.java"
line="163" class="Class at PortletRequestsSequenceBuilder.java:163"
package="org.jboss.portal.test.portlet.jsr168.tck.portletrequests">
+ <option name="ENABLED" value="true" />
+ <option name="SUSPEND_POLICY" value="SuspendAll" />
+ <option name="LOG_ENABLED" value="false" />
+ <option name="LOG_EXPRESSION_ENABLED" value="false" />
+ <option name="COUNT_FILTER_ENABLED" value="false" />
+ <option name="COUNT_FILTER" value="0" />
+ <option name="CONDITION_ENABLED" value="false" />
+ <option name="CLASS_FILTERS_ENABLED" value="false" />
+ <option name="INSTANCE_FILTERS_ENABLED" value="false"
/>
+ <option name="CONDITION" value="" />
+ <option name="LOG_MESSAGE" value="" />
+ </breakpoint>
+ <breakpoint
url="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/tck/portletrequests/PortletRequestsSequenceBuilder.java"
line="177" class="Class at PortletRequestsSequenceBuilder.java:177"
package="org.jboss.portal.test.portlet.jsr168.tck.portletrequests">
+ <option name="ENABLED" value="true" />
+ <option name="SUSPEND_POLICY" value="SuspendAll" />
+ <option name="LOG_ENABLED" value="false" />
+ <option name="LOG_EXPRESSION_ENABLED" value="false" />
+ <option name="COUNT_FILTER_ENABLED" value="false" />
+ <option name="COUNT_FILTER" value="0" />
+ <option name="CONDITION_ENABLED" value="false" />
+ <option name="CLASS_FILTERS_ENABLED" value="false" />
+ <option name="INSTANCE_FILTERS_ENABLED" value="false"
/>
+ <option name="CONDITION" value="" />
+ <option name="LOG_MESSAGE" value="" />
+ </breakpoint>
+ <breakpoint
url="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/tck/portletrequests/PortletRequestsSequenceBuilder.java"
line="185" class="Class at PortletRequestsSequenceBuilder.java:185"
package="org.jboss.portal.test.portlet.jsr168.tck.portletrequests">
+ <option name="ENABLED" value="true" />
+ <option name="SUSPEND_POLICY" value="SuspendAll" />
+ <option name="LOG_ENABLED" value="false" />
+ <option name="LOG_EXPRESSION_ENABLED" value="false" />
+ <option name="COUNT_FILTER_ENABLED" value="false" />
+ <option name="COUNT_FILTER" value="0" />
+ <option name="CONDITION_ENABLED" value="false" />
+ <option name="CLASS_FILTERS_ENABLED" value="false" />
+ <option name="INSTANCE_FILTERS_ENABLED" value="false"
/>
+ <option name="CONDITION" value="" />
+ <option name="LOG_MESSAGE" value="" />
+ </breakpoint>
+ <breakpoint
url="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/tck/portletrequests/PortletRequestsSequenceBuilder.java"
line="199" class="Class at PortletRequestsSequenceBuilder.java:199"
package="org.jboss.portal.test.portlet.jsr168.tck.portletrequests">
+ <option name="ENABLED" value="true" />
+ <option name="SUSPEND_POLICY" value="SuspendAll" />
+ <option name="LOG_ENABLED" value="false" />
+ <option name="LOG_EXPRESSION_ENABLED" value="false" />
+ <option name="COUNT_FILTER_ENABLED" value="false" />
+ <option name="COUNT_FILTER" value="0" />
+ <option name="CONDITION_ENABLED" value="false" />
+ <option name="CLASS_FILTERS_ENABLED" value="false" />
+ <option name="INSTANCE_FILTERS_ENABLED" value="false"
/>
+ <option name="CONDITION" value="" />
+ <option name="LOG_MESSAGE" value="" />
+ </breakpoint>
+ <breakpoint
url="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/tck/portletinterface/PortletInterfaceSequenceBuilder.java"
line="336" class="Class at PortletInterfaceSequenceBuilder.java:336"
package="org.jboss.portal.test.portlet.jsr168.tck.portletinterface">
+ <option name="ENABLED" value="true" />
+ <option name="SUSPEND_POLICY" value="SuspendAll" />
+ <option name="LOG_ENABLED" value="false" />
+ <option name="LOG_EXPRESSION_ENABLED" value="false" />
+ <option name="COUNT_FILTER_ENABLED" value="false" />
+ <option name="COUNT_FILTER" value="0" />
+ <option name="CONDITION_ENABLED" value="false" />
+ <option name="CLASS_FILTERS_ENABLED" value="false" />
+ <option name="INSTANCE_FILTERS_ENABLED" value="false"
/>
+ <option name="CONDITION" value="" />
+ <option name="LOG_MESSAGE" value="" />
+ </breakpoint>
+ <breakpoint
url="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/tck/portletinterface/PortletInterfaceSequenceBuilder.java"
line="344" class="Class at PortletInterfaceSequenceBuilder.java:344"
package="org.jboss.portal.test.portlet.jsr168.tck.portletinterface">
+ <option name="ENABLED" value="true" />
+ <option name="SUSPEND_POLICY" value="SuspendAll" />
+ <option name="LOG_ENABLED" value="false" />
+ <option name="LOG_EXPRESSION_ENABLED" value="false" />
+ <option name="COUNT_FILTER_ENABLED" value="false" />
+ <option name="COUNT_FILTER" value="0" />
+ <option name="CONDITION_ENABLED" value="false" />
+ <option name="CLASS_FILTERS_ENABLED" value="false" />
+ <option name="INSTANCE_FILTERS_ENABLED" value="false"
/>
+ <option name="CONDITION" value="" />
+ <option name="LOG_MESSAGE" value="" />
+ </breakpoint>
+ <breakpoint
url="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/tck/portletinterface/PortletInterfaceSequenceBuilder.java"
line="353" class="Class at PortletInterfaceSequenceBuilder.java:353"
package="org.jboss.portal.test.portlet.jsr168.tck.portletinterface">
+ <option name="ENABLED" value="true" />
+ <option name="SUSPEND_POLICY" value="SuspendAll" />
+ <option name="LOG_ENABLED" value="false" />
+ <option name="LOG_EXPRESSION_ENABLED" value="false" />
+ <option name="COUNT_FILTER_ENABLED" value="false" />
+ <option name="COUNT_FILTER" value="0" />
+ <option name="CONDITION_ENABLED" value="false" />
+ <option name="CLASS_FILTERS_ENABLED" value="false" />
+ <option name="INSTANCE_FILTERS_ENABLED" value="false"
/>
+ <option name="CONDITION" value="" />
+ <option name="LOG_MESSAGE" value="" />
+ </breakpoint>
+ <breakpoint
url="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/tck/portletinterface/PortletInterfaceSequenceBuilder.java"
line="362" class="Class at PortletInterfaceSequenceBuilder.java:362"
package="org.jboss.portal.test.portlet.jsr168.tck.portletinterface">
+ <option name="ENABLED" value="true" />
+ <option name="SUSPEND_POLICY" value="SuspendAll" />
+ <option name="LOG_ENABLED" value="false" />
+ <option name="LOG_EXPRESSION_ENABLED" value="false" />
+ <option name="COUNT_FILTER_ENABLED" value="false" />
+ <option name="COUNT_FILTER" value="0" />
+ <option name="CONDITION_ENABLED" value="false" />
+ <option name="CLASS_FILTERS_ENABLED" value="false" />
+ <option name="INSTANCE_FILTERS_ENABLED" value="false"
/>
+ <option name="CONDITION" value="" />
+ <option name="LOG_MESSAGE" value="" />
+ </breakpoint>
+ <breakpoint
url="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/framework/portlet/PortletTestDriver.java"
line="137"
class="org.jboss.portal.test.framework.portlet.PortletTestDriver"
package="org.jboss.portal.test.framework.portlet">
+ <option name="ENABLED" value="true" />
+ <option name="SUSPEND_POLICY" value="SuspendAll" />
+ <option name="LOG_ENABLED" value="false" />
+ <option name="LOG_EXPRESSION_ENABLED" value="false" />
+ <option name="COUNT_FILTER_ENABLED" value="false" />
+ <option name="COUNT_FILTER" value="0" />
+ <option name="CONDITION_ENABLED" value="false" />
+ <option name="CLASS_FILTERS_ENABLED" value="false" />
+ <option name="INSTANCE_FILTERS_ENABLED" value="false"
/>
+ <option name="CONDITION" value="" />
+ <option name="LOG_MESSAGE" value="" />
+ </breakpoint>
+ <breakpoint
url="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/framework/portlet/PortletTestDriver.java"
line="142"
class="org.jboss.portal.test.framework.portlet.PortletTestDriver"
package="org.jboss.portal.test.framework.portlet">
+ <option name="ENABLED" value="true" />
+ <option name="SUSPEND_POLICY" value="SuspendAll" />
+ <option name="LOG_ENABLED" value="false" />
+ <option name="LOG_EXPRESSION_ENABLED" value="false" />
+ <option name="COUNT_FILTER_ENABLED" value="false" />
+ <option name="COUNT_FILTER" value="0" />
+ <option name="CONDITION_ENABLED" value="false" />
+ <option name="CLASS_FILTERS_ENABLED" value="false" />
+ <option name="INSTANCE_FILTERS_ENABLED" value="false"
/>
+ <option name="CONDITION" value="" />
+ <option name="LOG_MESSAGE" value="" />
+ </breakpoint>
+ <breakpoint
url="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/ext/expiringcache/ExpiringCacheSequenceBuilder.java"
line="117" class="Class at ExpiringCacheSequenceBuilder.java:117"
package="org.jboss.portal.test.portlet.jsr168.ext.expiringcache">
+ <option name="ENABLED" value="true" />
+ <option name="SUSPEND_POLICY" value="SuspendAll" />
+ <option name="LOG_ENABLED" value="false" />
+ <option name="LOG_EXPRESSION_ENABLED" value="false" />
+ <option name="COUNT_FILTER_ENABLED" value="false" />
+ <option name="COUNT_FILTER" value="0" />
+ <option name="CONDITION_ENABLED" value="false" />
+ <option name="CLASS_FILTERS_ENABLED" value="false" />
+ <option name="INSTANCE_FILTERS_ENABLED" value="false"
/>
+ <option name="CONDITION" value="" />
+ <option name="LOG_MESSAGE" value="" />
+ </breakpoint>
+ <breakpoint
url="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/ext/expiringcache/ExpiringCacheSequenceBuilder.java"
line="126" class="Class at ExpiringCacheSequenceBuilder.java:126"
package="org.jboss.portal.test.portlet.jsr168.ext.expiringcache">
+ <option name="ENABLED" value="true" />
+ <option name="SUSPEND_POLICY" value="SuspendAll" />
+ <option name="LOG_ENABLED" value="false" />
+ <option name="LOG_EXPRESSION_ENABLED" value="false" />
+ <option name="COUNT_FILTER_ENABLED" value="false" />
+ <option name="COUNT_FILTER" value="0" />
+ <option name="CONDITION_ENABLED" value="false" />
+ <option name="CLASS_FILTERS_ENABLED" value="false" />
+ <option name="INSTANCE_FILTERS_ENABLED" value="false"
/>
+ <option name="CONDITION" value="" />
+ <option name="LOG_MESSAGE" value="" />
+ </breakpoint>
+ <breakpoint
url="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/ext/expiringcache/ExpiringCacheSequenceBuilder.java"
line="103" class="Class at ExpiringCacheSequenceBuilder.java:103"
package="org.jboss.portal.test.portlet.jsr168.ext.expiringcache">
+ <option name="ENABLED" value="true" />
+ <option name="SUSPEND_POLICY" value="SuspendAll" />
+ <option name="LOG_ENABLED" value="false" />
+ <option name="LOG_EXPRESSION_ENABLED" value="false" />
+ <option name="COUNT_FILTER_ENABLED" value="false" />
+ <option name="COUNT_FILTER" value="0" />
+ <option name="CONDITION_ENABLED" value="false" />
+ <option name="CLASS_FILTERS_ENABLED" value="false" />
+ <option name="INSTANCE_FILTERS_ENABLED" value="false"
/>
+ <option name="CONDITION" value="" />
+ <option name="LOG_MESSAGE" value="" />
+ </breakpoint>
+ <breakpoint
url="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/ext/expiringcache/ExpiringCacheSequenceBuilder.java"
line="139" class="Class at ExpiringCacheSequenceBuilder.java:139"
package="org.jboss.portal.test.portlet.jsr168.ext.expiringcache">
+ <option name="ENABLED" value="true" />
+ <option name="SUSPEND_POLICY" value="SuspendAll" />
+ <option name="LOG_ENABLED" value="false" />
+ <option name="LOG_EXPRESSION_ENABLED" value="false" />
+ <option name="COUNT_FILTER_ENABLED" value="false" />
+ <option name="COUNT_FILTER" value="0" />
+ <option name="CONDITION_ENABLED" value="false" />
+ <option name="CLASS_FILTERS_ENABLED" value="false" />
+ <option name="INSTANCE_FILTERS_ENABLED" value="false"
/>
+ <option name="CONDITION" value="" />
+ <option name="LOG_MESSAGE" value="" />
+ </breakpoint>
+ <breakpoint
url="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/ext/expiringcache/ExpiringCacheSequenceBuilder.java"
line="149" class="Class at ExpiringCacheSequenceBuilder.java:149"
package="org.jboss.portal.test.portlet.jsr168.ext.expiringcache">
+ <option name="ENABLED" value="true" />
+ <option name="SUSPEND_POLICY" value="SuspendAll" />
+ <option name="LOG_ENABLED" value="false" />
+ <option name="LOG_EXPRESSION_ENABLED" value="false" />
+ <option name="COUNT_FILTER_ENABLED" value="false" />
+ <option name="COUNT_FILTER" value="0" />
+ <option name="CONDITION_ENABLED" value="false" />
+ <option name="CLASS_FILTERS_ENABLED" value="false" />
+ <option name="INSTANCE_FILTERS_ENABLED" value="false"
/>
+ <option name="CONDITION" value="" />
+ <option name="LOG_MESSAGE" value="" />
+ </breakpoint>
+ <breakpoint
url="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/ext/expiringcache/ExpiringCacheSequenceBuilder.java"
line="170" class="Class at ExpiringCacheSequenceBuilder.java:170"
package="org.jboss.portal.test.portlet.jsr168.ext.expiringcache">
+ <option name="ENABLED" value="true" />
+ <option name="SUSPEND_POLICY" value="SuspendAll" />
+ <option name="LOG_ENABLED" value="false" />
+ <option name="LOG_EXPRESSION_ENABLED" value="false" />
+ <option name="COUNT_FILTER_ENABLED" value="false" />
+ <option name="COUNT_FILTER" value="0" />
+ <option name="CONDITION_ENABLED" value="false" />
+ <option name="CLASS_FILTERS_ENABLED" value="false" />
+ <option name="INSTANCE_FILTERS_ENABLED" value="false"
/>
+ <option name="CONDITION" value="" />
+ <option name="LOG_MESSAGE" value="" />
+ </breakpoint>
+ <breakpoint
url="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/ext/expiringcache/ExpiringCacheSequenceBuilder.java"
line="186" class="Class at ExpiringCacheSequenceBuilder.java:186"
package="org.jboss.portal.test.portlet.jsr168.ext.expiringcache">
+ <option name="ENABLED" value="true" />
+ <option name="SUSPEND_POLICY" value="SuspendAll" />
+ <option name="LOG_ENABLED" value="false" />
+ <option name="LOG_EXPRESSION_ENABLED" value="false" />
+ <option name="COUNT_FILTER_ENABLED" value="false" />
+ <option name="COUNT_FILTER" value="0" />
+ <option name="CONDITION_ENABLED" value="false" />
+ <option name="CLASS_FILTERS_ENABLED" value="false" />
+ <option name="INSTANCE_FILTERS_ENABLED" value="false"
/>
+ <option name="CONDITION" value="" />
+ <option name="LOG_MESSAGE" value="" />
+ </breakpoint>
+ <breakpoint
url="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/ext/expiringcache/ExpiringCacheSequenceBuilder.java"
line="199" class="Class at ExpiringCacheSequenceBuilder.java:199"
package="org.jboss.portal.test.portlet.jsr168.ext.expiringcache">
+ <option name="ENABLED" value="true" />
+ <option name="SUSPEND_POLICY" value="SuspendAll" />
+ <option name="LOG_ENABLED" value="false" />
+ <option name="LOG_EXPRESSION_ENABLED" value="false" />
+ <option name="COUNT_FILTER_ENABLED" value="false" />
+ <option name="COUNT_FILTER" value="0" />
+ <option name="CONDITION_ENABLED" value="false" />
+ <option name="CLASS_FILTERS_ENABLED" value="false" />
+ <option name="INSTANCE_FILTERS_ENABLED" value="false"
/>
+ <option name="CONDITION" value="" />
+ <option name="LOG_MESSAGE" value="" />
+ </breakpoint>
+ <breakpoint
url="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/ext/expiringcache/ExpiringCacheSequenceBuilder.java"
line="208" class="Class at ExpiringCacheSequenceBuilder.java:208"
package="org.jboss.portal.test.portlet.jsr168.ext.expiringcache">
+ <option name="ENABLED" value="true" />
+ <option name="SUSPEND_POLICY" value="SuspendAll" />
+ <option name="LOG_ENABLED" value="false" />
+ <option name="LOG_EXPRESSION_ENABLED" value="false" />
+ <option name="COUNT_FILTER_ENABLED" value="false" />
+ <option name="COUNT_FILTER" value="0" />
+ <option name="CONDITION_ENABLED" value="false" />
+ <option name="CLASS_FILTERS_ENABLED" value="false" />
+ <option name="INSTANCE_FILTERS_ENABLED" value="false"
/>
+ <option name="CONDITION" value="" />
+ <option name="LOG_MESSAGE" value="" />
+ </breakpoint>
+ <breakpoint
url="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/ext/expiringcache/ExpiringCacheSequenceBuilder.java"
line="221" class="Class at ExpiringCacheSequenceBuilder.java:221"
package="org.jboss.portal.test.portlet.jsr168.ext.expiringcache">
+ <option name="ENABLED" value="true" />
+ <option name="SUSPEND_POLICY" value="SuspendAll" />
+ <option name="LOG_ENABLED" value="false" />
+ <option name="LOG_EXPRESSION_ENABLED" value="false" />
+ <option name="COUNT_FILTER_ENABLED" value="false" />
+ <option name="COUNT_FILTER" value="0" />
+ <option name="CONDITION_ENABLED" value="false" />
+ <option name="CLASS_FILTERS_ENABLED" value="false" />
+ <option name="INSTANCE_FILTERS_ENABLED" value="false"
/>
+ <option name="CONDITION" value="" />
+ <option name="LOG_MESSAGE" value="" />
+ </breakpoint>
+ <breakpoint
url="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/ext/expiringcache/ExpiringCacheSequenceBuilder.java"
line="231" class="Class at ExpiringCacheSequenceBuilder.java:231"
package="org.jboss.portal.test.portlet.jsr168.ext.expiringcache">
+ <option name="ENABLED" value="true" />
+ <option name="SUSPEND_POLICY" value="SuspendAll" />
+ <option name="LOG_ENABLED" value="false" />
+ <option name="LOG_EXPRESSION_ENABLED" value="false" />
+ <option name="COUNT_FILTER_ENABLED" value="false" />
+ <option name="COUNT_FILTER" value="0" />
+ <option name="CONDITION_ENABLED" value="false" />
+ <option name="CLASS_FILTERS_ENABLED" value="false" />
+ <option name="INSTANCE_FILTERS_ENABLED" value="false"
/>
+ <option name="CONDITION" value="" />
+ <option name="LOG_MESSAGE" value="" />
+ </breakpoint>
+ <breakpoint
url="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/ext/expiringcache/ExpiringCacheSequenceBuilder.java"
line="252" class="Class at ExpiringCacheSequenceBuilder.java:252"
package="org.jboss.portal.test.portlet.jsr168.ext.expiringcache">
+ <option name="ENABLED" value="true" />
+ <option name="SUSPEND_POLICY" value="SuspendAll" />
+ <option name="LOG_ENABLED" value="false" />
+ <option name="LOG_EXPRESSION_ENABLED" value="false" />
+ <option name="COUNT_FILTER_ENABLED" value="false" />
+ <option name="COUNT_FILTER" value="0" />
+ <option name="CONDITION_ENABLED" value="false" />
+ <option name="CLASS_FILTERS_ENABLED" value="false" />
+ <option name="INSTANCE_FILTERS_ENABLED" value="false"
/>
+ <option name="CONDITION" value="" />
+ <option name="LOG_MESSAGE" value="" />
+ </breakpoint>
+ <breakpoint
url="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/aspects/portlet/ConsumerCacheInterceptor.java"
line="138"
class="org.jboss.portal.portlet.aspects.portlet.ConsumerCacheInterceptor"
package="org.jboss.portal.portlet.aspects.portlet">
+ <option name="ENABLED" value="true" />
+ <option name="SUSPEND_POLICY" value="SuspendAll" />
+ <option name="LOG_ENABLED" value="false" />
+ <option name="LOG_EXPRESSION_ENABLED" value="false" />
+ <option name="COUNT_FILTER_ENABLED" value="false" />
+ <option name="COUNT_FILTER" value="0" />
+ <option name="CONDITION_ENABLED" value="false" />
+ <option name="CLASS_FILTERS_ENABLED" value="false" />
+ <option name="INSTANCE_FILTERS_ENABLED" value="false"
/>
+ <option name="CONDITION" value="" />
+ <option name="LOG_MESSAGE" value="" />
+ </breakpoint>
+ <breakpoint
url="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/ext/common/AbstractCacheSequenceBuilder.java"
line="337" class="Class at AbstractCacheSequenceBuilder.java:337"
package="org.jboss.portal.test.portlet.jsr168.ext.common">
+ <option name="ENABLED" value="true" />
+ <option name="SUSPEND_POLICY" value="SuspendAll" />
+ <option name="LOG_ENABLED" value="false" />
+ <option name="LOG_EXPRESSION_ENABLED" value="false" />
+ <option name="COUNT_FILTER_ENABLED" value="false" />
+ <option name="COUNT_FILTER" value="0" />
+ <option name="CONDITION_ENABLED" value="false" />
+ <option name="CLASS_FILTERS_ENABLED" value="false" />
+ <option name="INSTANCE_FILTERS_ENABLED" value="false"
/>
+ <option name="CONDITION" value="" />
+ <option name="LOG_MESSAGE" value="" />
+ </breakpoint>
+ <breakpoint
url="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/ext/common/AbstractCacheSequenceBuilder.java"
line="351" class="Class at AbstractCacheSequenceBuilder.java:351"
package="org.jboss.portal.test.portlet.jsr168.ext.common">
+ <option name="ENABLED" value="true" />
+ <option name="SUSPEND_POLICY" value="SuspendAll" />
+ <option name="LOG_ENABLED" value="false" />
+ <option name="LOG_EXPRESSION_ENABLED" value="false" />
+ <option name="COUNT_FILTER_ENABLED" value="false" />
+ <option name="COUNT_FILTER" value="0" />
+ <option name="CONDITION_ENABLED" value="false" />
+ <option name="CLASS_FILTERS_ENABLED" value="false" />
+ <option name="INSTANCE_FILTERS_ENABLED" value="false"
/>
+ <option name="CONDITION" value="" />
+ <option name="LOG_MESSAGE" value="" />
+ </breakpoint>
+ <breakpoint
url="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/ext/common/AbstractCacheSequenceBuilder.java"
line="360" class="Class at AbstractCacheSequenceBuilder.java:360"
package="org.jboss.portal.test.portlet.jsr168.ext.common">
+ <option name="ENABLED" value="true" />
+ <option name="SUSPEND_POLICY" value="SuspendAll" />
+ <option name="LOG_ENABLED" value="false" />
+ <option name="LOG_EXPRESSION_ENABLED" value="false" />
+ <option name="COUNT_FILTER_ENABLED" value="false" />
+ <option name="COUNT_FILTER" value="0" />
+ <option name="CONDITION_ENABLED" value="false" />
+ <option name="CLASS_FILTERS_ENABLED" value="false" />
+ <option name="INSTANCE_FILTERS_ENABLED" value="false"
/>
+ <option name="CONDITION" value="" />
+ <option name="LOG_MESSAGE" value="" />
+ </breakpoint>
+ <breakpoint
url="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/ext/common/AbstractCacheSequenceBuilder.java"
line="370" class="Class at AbstractCacheSequenceBuilder.java:370"
package="org.jboss.portal.test.portlet.jsr168.ext.common">
+ <option name="ENABLED" value="true" />
+ <option name="SUSPEND_POLICY" value="SuspendAll" />
+ <option name="LOG_ENABLED" value="false" />
+ <option name="LOG_EXPRESSION_ENABLED" value="false" />
+ <option name="COUNT_FILTER_ENABLED" value="false" />
+ <option name="COUNT_FILTER" value="0" />
+ <option name="CONDITION_ENABLED" value="false" />
+ <option name="CLASS_FILTERS_ENABLED" value="false" />
+ <option name="INSTANCE_FILTERS_ENABLED" value="false"
/>
+ <option name="CONDITION" value="" />
+ <option name="LOG_MESSAGE" value="" />
+ </breakpoint>
+ <breakpoint
url="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/ext/common/AbstractCacheSequenceBuilder.java"
line="378" class="Class at AbstractCacheSequenceBuilder.java:378"
package="org.jboss.portal.test.portlet.jsr168.ext.common">
+ <option name="ENABLED" value="true" />
+ <option name="SUSPEND_POLICY" value="SuspendAll" />
+ <option name="LOG_ENABLED" value="false" />
+ <option name="LOG_EXPRESSION_ENABLED" value="false" />
+ <option name="COUNT_FILTER_ENABLED" value="false" />
+ <option name="COUNT_FILTER" value="0" />
+ <option name="CONDITION_ENABLED" value="false" />
+ <option name="CLASS_FILTERS_ENABLED" value="false" />
+ <option name="INSTANCE_FILTERS_ENABLED" value="false"
/>
+ <option name="CONDITION" value="" />
+ <option name="LOG_MESSAGE" value="" />
+ </breakpoint>
+ <breakpoint
url="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/ext/common/AbstractCacheSequenceBuilder.java"
line="193" class="Class at AbstractCacheSequenceBuilder.java:193"
package="org.jboss.portal.test.portlet.jsr168.ext.common">
+ <option name="ENABLED" value="true" />
+ <option name="SUSPEND_POLICY" value="SuspendAll" />
+ <option name="LOG_ENABLED" value="false" />
+ <option name="LOG_EXPRESSION_ENABLED" value="false" />
+ <option name="COUNT_FILTER_ENABLED" value="false" />
+ <option name="COUNT_FILTER" value="0" />
+ <option name="CONDITION_ENABLED" value="false" />
+ <option name="CLASS_FILTERS_ENABLED" value="false" />
+ <option name="INSTANCE_FILTERS_ENABLED" value="false"
/>
+ <option name="CONDITION" value="" />
+ <option name="LOG_MESSAGE" value="" />
+ </breakpoint>
+ <breakpoint
url="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/ext/common/AbstractCacheSequenceBuilder.java"
line="209" class="Class at AbstractCacheSequenceBuilder.java:209"
package="org.jboss.portal.test.portlet.jsr168.ext.common">
+ <option name="ENABLED" value="true" />
+ <option name="SUSPEND_POLICY" value="SuspendAll" />
+ <option name="LOG_ENABLED" value="false" />
+ <option name="LOG_EXPRESSION_ENABLED" value="false" />
+ <option name="COUNT_FILTER_ENABLED" value="false" />
+ <option name="COUNT_FILTER" value="0" />
+ <option name="CONDITION_ENABLED" value="false" />
+ <option name="CLASS_FILTERS_ENABLED" value="false" />
+ <option name="INSTANCE_FILTERS_ENABLED" value="false"
/>
+ <option name="CONDITION" value="" />
+ <option name="LOG_MESSAGE" value="" />
+ </breakpoint>
+ <breakpoint
url="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/ext/common/AbstractCacheSequenceBuilder.java"
line="218" class="Class at AbstractCacheSequenceBuilder.java:218"
package="org.jboss.portal.test.portlet.jsr168.ext.common">
+ <option name="ENABLED" value="true" />
+ <option name="SUSPEND_POLICY" value="SuspendAll" />
+ <option name="LOG_ENABLED" value="false" />
+ <option name="LOG_EXPRESSION_ENABLED" value="false" />
+ <option name="COUNT_FILTER_ENABLED" value="false" />
+ <option name="COUNT_FILTER" value="0" />
+ <option name="CONDITION_ENABLED" value="false" />
+ <option name="CLASS_FILTERS_ENABLED" value="false" />
+ <option name="INSTANCE_FILTERS_ENABLED" value="false"
/>
+ <option name="CONDITION" value="" />
+ <option name="LOG_MESSAGE" value="" />
+ </breakpoint>
+ <breakpoint
url="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/ext/common/AbstractCacheSequenceBuilder.java"
line="227" class="Class at AbstractCacheSequenceBuilder.java:227"
package="org.jboss.portal.test.portlet.jsr168.ext.common">
+ <option name="ENABLED" value="true" />
+ <option name="SUSPEND_POLICY" value="SuspendAll" />
+ <option name="LOG_ENABLED" value="false" />
+ <option name="LOG_EXPRESSION_ENABLED" value="false" />
+ <option name="COUNT_FILTER_ENABLED" value="false" />
+ <option name="COUNT_FILTER" value="0" />
+ <option name="CONDITION_ENABLED" value="false" />
+ <option name="CLASS_FILTERS_ENABLED" value="false" />
+ <option name="INSTANCE_FILTERS_ENABLED" value="false"
/>
+ <option name="CONDITION" value="" />
+ <option name="LOG_MESSAGE" value="" />
+ </breakpoint>
+ <breakpoint
url="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/ext/common/AbstractCacheSequenceBuilder.java"
line="235" class="Class at AbstractCacheSequenceBuilder.java:235"
package="org.jboss.portal.test.portlet.jsr168.ext.common">
+ <option name="ENABLED" value="true" />
+ <option name="SUSPEND_POLICY" value="SuspendAll" />
+ <option name="LOG_ENABLED" value="false" />
+ <option name="LOG_EXPRESSION_ENABLED" value="false" />
+ <option name="COUNT_FILTER_ENABLED" value="false" />
+ <option name="COUNT_FILTER" value="0" />
+ <option name="CONDITION_ENABLED" value="false" />
+ <option name="CLASS_FILTERS_ENABLED" value="false" />
+ <option name="INSTANCE_FILTERS_ENABLED" value="false"
/>
+ <option name="CONDITION" value="" />
+ <option name="LOG_MESSAGE" value="" />
+ </breakpoint>
+ <breakpoint
url="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/ext/common/AbstractCacheSequenceBuilder.java"
line="249" class="Class at AbstractCacheSequenceBuilder.java:249"
package="org.jboss.portal.test.portlet.jsr168.ext.common">
+ <option name="ENABLED" value="true" />
+ <option name="SUSPEND_POLICY" value="SuspendAll" />
+ <option name="LOG_ENABLED" value="false" />
+ <option name="LOG_EXPRESSION_ENABLED" value="false" />
+ <option name="COUNT_FILTER_ENABLED" value="false" />
+ <option name="COUNT_FILTER" value="0" />
+ <option name="CONDITION_ENABLED" value="false" />
+ <option name="CLASS_FILTERS_ENABLED" value="false" />
+ <option name="INSTANCE_FILTERS_ENABLED" value="false"
/>
+ <option name="CONDITION" value="" />
+ <option name="LOG_MESSAGE" value="" />
+ </breakpoint>
+ <breakpoint
url="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/ext/common/AbstractCacheSequenceBuilder.java"
line="263" class="Class at AbstractCacheSequenceBuilder.java:263"
package="org.jboss.portal.test.portlet.jsr168.ext.common">
+ <option name="ENABLED" value="true" />
+ <option name="SUSPEND_POLICY" value="SuspendAll" />
+ <option name="LOG_ENABLED" value="false" />
+ <option name="LOG_EXPRESSION_ENABLED" value="false" />
+ <option name="COUNT_FILTER_ENABLED" value="false" />
+ <option name="COUNT_FILTER" value="0" />
+ <option name="CONDITION_ENABLED" value="false" />
+ <option name="CLASS_FILTERS_ENABLED" value="false" />
+ <option name="INSTANCE_FILTERS_ENABLED" value="false"
/>
+ <option name="CONDITION" value="" />
+ <option name="LOG_MESSAGE" value="" />
+ </breakpoint>
+ <breakpoint
url="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/ext/common/AbstractCacheSequenceBuilder.java"
line="272" class="Class at AbstractCacheSequenceBuilder.java:272"
package="org.jboss.portal.test.portlet.jsr168.ext.common">
+ <option name="ENABLED" value="true" />
+ <option name="SUSPEND_POLICY" value="SuspendAll" />
+ <option name="LOG_ENABLED" value="false" />
+ <option name="LOG_EXPRESSION_ENABLED" value="false" />
+ <option name="COUNT_FILTER_ENABLED" value="false" />
+ <option name="COUNT_FILTER" value="0" />
+ <option name="CONDITION_ENABLED" value="false" />
+ <option name="CLASS_FILTERS_ENABLED" value="false" />
+ <option name="INSTANCE_FILTERS_ENABLED" value="false"
/>
+ <option name="CONDITION" value="" />
+ <option name="LOG_MESSAGE" value="" />
+ </breakpoint>
+ <breakpoint
url="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/ext/common/AbstractCacheSequenceBuilder.java"
line="281" class="Class at AbstractCacheSequenceBuilder.java:281"
package="org.jboss.portal.test.portlet.jsr168.ext.common">
+ <option name="ENABLED" value="true" />
+ <option name="SUSPEND_POLICY" value="SuspendAll" />
+ <option name="LOG_ENABLED" value="false" />
+ <option name="LOG_EXPRESSION_ENABLED" value="false" />
+ <option name="COUNT_FILTER_ENABLED" value="false" />
+ <option name="COUNT_FILTER" value="0" />
+ <option name="CONDITION_ENABLED" value="false" />
+ <option name="CLASS_FILTERS_ENABLED" value="false" />
+ <option name="INSTANCE_FILTERS_ENABLED" value="false"
/>
+ <option name="CONDITION" value="" />
+ <option name="LOG_MESSAGE" value="" />
+ </breakpoint>
+ <breakpoint
url="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/ext/common/AbstractCacheSequenceBuilder.java"
line="292" class="Class at AbstractCacheSequenceBuilder.java:292"
package="org.jboss.portal.test.portlet.jsr168.ext.common">
+ <option name="ENABLED" value="true" />
+ <option name="SUSPEND_POLICY" value="SuspendAll" />
+ <option name="LOG_ENABLED" value="false" />
+ <option name="LOG_EXPRESSION_ENABLED" value="false" />
+ <option name="COUNT_FILTER_ENABLED" value="false" />
+ <option name="COUNT_FILTER" value="0" />
+ <option name="CONDITION_ENABLED" value="false" />
+ <option name="CLASS_FILTERS_ENABLED" value="false" />
+ <option name="INSTANCE_FILTERS_ENABLED" value="false"
/>
+ <option name="CONDITION" value="" />
+ <option name="LOG_MESSAGE" value="" />
+ </breakpoint>
+ <breakpoint
url="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/ext/common/AbstractCacheSequenceBuilder.java"
line="307" class="Class at AbstractCacheSequenceBuilder.java:307"
package="org.jboss.portal.test.portlet.jsr168.ext.common">
+ <option name="ENABLED" value="true" />
+ <option name="SUSPEND_POLICY" value="SuspendAll" />
+ <option name="LOG_ENABLED" value="false" />
+ <option name="LOG_EXPRESSION_ENABLED" value="false" />
+ <option name="COUNT_FILTER_ENABLED" value="false" />
+ <option name="COUNT_FILTER" value="0" />
+ <option name="CONDITION_ENABLED" value="false" />
+ <option name="CLASS_FILTERS_ENABLED" value="false" />
+ <option name="INSTANCE_FILTERS_ENABLED" value="false"
/>
+ <option name="CONDITION" value="" />
+ <option name="LOG_MESSAGE" value="" />
+ </breakpoint>
+ <breakpoint
url="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/aspects/portlet/ConsumerCacheInterceptor.java"
line="57"
class="org.jboss.portal.portlet.aspects.portlet.ConsumerCacheInterceptor"
package="org.jboss.portal.portlet.aspects.portlet">
+ <option name="ENABLED" value="true" />
+ <option name="SUSPEND_POLICY" value="SuspendAll" />
+ <option name="LOG_ENABLED" value="false" />
+ <option name="LOG_EXPRESSION_ENABLED" value="false" />
+ <option name="COUNT_FILTER_ENABLED" value="false" />
+ <option name="COUNT_FILTER" value="0" />
+ <option name="CONDITION_ENABLED" value="false" />
+ <option name="CLASS_FILTERS_ENABLED" value="false" />
+ <option name="INSTANCE_FILTERS_ENABLED" value="false"
/>
+ <option name="CONDITION" value="" />
+ <option name="LOG_MESSAGE" value="" />
+ </breakpoint>
</line_breakpoints>
<breakpoint_any>
<breakpoint>
@@ -145,18 +841,74 @@
<component name="FavoritesManager">
<favorites_list name="jboss-portal-portlet" />
</component>
- <component name="FavoritesProjectViewPane" />
+ <component name="FavoritesProjectViewPane">
+ <subPane subId="jboss-portal-portlet">
+ <PATH>
+ <PATH_ELEMENT>
+ <option name="myItemId" />
+ <option name="myItemType"
value="com.intellij.ide.favoritesTreeView.FavoritesTreeNodeDescriptor" />
+ </PATH_ELEMENT>
+ </PATH>
+ </subPane>
+ </component>
<component name="FileEditorManager">
<leaf>
- <file leaf-file-name="build.xml" pinned="false"
current="true" current-in-tab="true">
- <entry file="file://$PROJECT_DIR$/test/build.xml">
+ <file leaf-file-name="build.xml" pinned="false"
current="false" current-in-tab="false">
+ <entry file="file://$PROJECT_DIR$/federation/build.xml">
<provider selected="true"
editor-type-id="text-editor">
- <state line="253" column="37"
selection-start="12848" selection-end="12848"
vertical-scroll-proportion="0.7336621">
+ <state line="100" column="33"
selection-start="5547" selection-end="5547"
vertical-scroll-proportion="0.3403206">
<folding />
</state>
</provider>
</entry>
</file>
+ <file leaf-file-name="build.xml" pinned="false"
current="false" current-in-tab="false">
+ <entry file="file://$PROJECT_DIR$/portlet/build.xml">
+ <provider selected="true"
editor-type-id="text-editor">
+ <state line="162" column="72"
selection-start="8398" selection-end="8398"
vertical-scroll-proportion="0.46609125">
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ </file>
+ <file leaf-file-name="modules.ent" pinned="false"
current="true" current-in-tab="true">
+ <entry
file="file://$PROJECT_DIR$/tools/etc/buildfragments/modules.ent">
+ <provider selected="true"
editor-type-id="text-editor">
+ <state line="17" column="89"
selection-start="1017" selection-end="1017"
vertical-scroll-proportion="0.25154132">
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ </file>
+ <file leaf-file-name="FederatingPortletInvokerTestCase.java"
pinned="false" current="false" current-in-tab="false">
+ <entry
file="file://$PROJECT_DIR$/federation/src/main/org/jboss/portal/test/portlet/federation/FederatingPortletInvokerTestCase.java">
+ <provider selected="true"
editor-type-id="text-editor">
+ <state line="28" column="49"
selection-start="2112" selection-end="2112"
vertical-scroll-proportion="0.10357583">
+ <folding>
+ <element signature="imports" expanded="true"
/>
+ </folding>
+ </state>
+ </provider>
+ </entry>
+ </file>
+ <file leaf-file-name="PortletInvokerSupport.java"
pinned="false" current="false" current-in-tab="false">
+ <entry
file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/state/PortletInvokerSupport.java">
+ <provider selected="true"
editor-type-id="text-editor">
+ <state line="50" column="13"
selection-start="2838" selection-end="2838"
vertical-scroll-proportion="-1.1155779">
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ </file>
+ <file leaf-file-name="PortletSupport.java" pinned="false"
current="false" current-in-tab="false">
+ <entry
file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/state/PortletSupport.java">
+ <provider selected="true"
editor-type-id="text-editor">
+ <state line="34" column="13"
selection-start="2233" selection-end="2233"
vertical-scroll-proportion="0.13316892">
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ </file>
</leaf>
</component>
<component name="FindManager">
@@ -487,10 +1239,6 @@
<option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/portlet/src" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/portlet/src/resources" />
- <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
@@ -510,51 +1258,21 @@
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
- <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/portlet/src/resources" />
+ <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/portlet/src/main" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
- <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/portlet/src/resources/test" />
+ <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/portlet/src/main/org/jboss/portal" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
- <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/portlet/src/resources/test/jsr168" />
+ <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
- </PATH>
- <PATH>
<PATH_ELEMENT>
- <option name="myItemId" value="jboss-portal-portlet.ipr"
/>
- <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="portlet" />
- <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/portlet" />
+ <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet"
/>
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/portlet/src" />
- <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/portlet/src/resources" />
- <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/portlet/src/resources/test" />
- <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/portlet/src/resources/test/jsr168" />
- <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/portlet/src/resources/test/jsr168/api" />
- <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
@@ -574,29 +1292,17 @@
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
- <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/portlet/src/resources" />
+ <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/portlet/src/main" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
- <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/portlet/src/resources/test" />
+ <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/portlet/src/main/org/jboss/portal" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
- <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/portlet/src/resources/test/jsr168" />
+ <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/portlet/src/resources/test/jsr168/api" />
- <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/portlet/src/resources/test/jsr168/api/actionrequest-war"
/>
- <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/portlet/src/resources/test/jsr168/api/actionrequest-war/WEB-INF"
/>
- <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
@@ -616,33 +1322,13 @@
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
- <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/portlet/src/resources" />
+ <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/portlet/src/main" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
- <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/portlet/src/resources/test" />
+ <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/portlet/src/main/org/jboss/portal" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/portlet/src/resources/test/jsr168" />
- <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/portlet/src/resources/test/jsr168/api" />
- <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/portlet/src/resources/test/jsr168/api/actionrequest-war"
/>
- <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/portlet/src/resources/test/jsr168/api/actionrequest-war/WEB-INF"
/>
- <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/portlet/src/resources/test/jsr168/api/actionrequest-war/WEB-INF/classes"
/>
- <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
@@ -650,25 +1336,9 @@
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
- <option name="myItemId" value="portlet" />
+ <option name="myItemId" value="jsr168api" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
</PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/portlet" />
- <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/portlet/src" />
- <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/portlet/src/resources" />
- <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/portlet/src/resources/test" />
- <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
@@ -676,25 +1346,13 @@
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
- <option name="myItemId" value="portlet" />
+ <option name="myItemId" value="jsr168api" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
- <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/portlet" />
+ <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/jsr168api" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/portlet/src" />
- <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/portlet/src/main" />
- <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/portlet/src/main/org/jboss/portal" />
- <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
@@ -702,29 +1360,9 @@
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
- <option name="myItemId" value="portlet" />
+ <option name="myItemId" value="federation" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
</PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/portlet" />
- <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/portlet/src" />
- <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/portlet/src/main" />
- <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/portlet/src/main/org/jboss/portal" />
- <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet"
/>
- <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
@@ -732,68 +1370,14 @@
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
- <option name="myItemId" value="portlet" />
+ <option name="myItemId" value="federation" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
- <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/portlet" />
+ <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/federation" />
<option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/portlet/src" />
- <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/portlet/src/main" />
- <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/portlet/src/main/org/jboss/portal" />
- <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet"
/>
- <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/metadata"
/>
- <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
</PATH>
- <PATH>
- <PATH_ELEMENT>
- <option name="myItemId" value="jboss-portal-portlet.ipr"
/>
- <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="portlet" />
- <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/portlet" />
- <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/portlet/src" />
- <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/portlet/src/main" />
- <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/portlet/src/main/org/jboss/portal" />
- <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet"
/>
- <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId"
value="PsiDirectory:$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/management"
/>
- <option name="myItemType"
value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- </PATH>
</subPane>
</component>
<component name="ProjectReloadState">
@@ -807,7 +1391,7 @@
<showLibraryContents />
<hideEmptyPackages />
<abbreviatePackageNames />
- <showStructure PackagesPane="false" Scope="false"
ProjectPane="false" />
+ <showStructure Scope="false" ProjectPane="false"
PackagesPane="false" Favorites="false" />
<autoscrollToSource />
<autoscrollFromSource />
<sortByType />
@@ -828,11 +1412,18 @@
</component>
<component name="RecentsManager">
<key name="CopyClassDialog.RECENTS_KEY">
+ <recent name="org.jboss.portal.portlet.impl.state.consumer" />
+ <recent name="org.jboss.portal.portlet.test" />
<recent name="org.jboss.portal.portlet.registry" />
</key>
+ <key name="MoveClassesOrPackagesDialog.RECENTS_KEY">
+ <recent name="org.jboss.portal.test.portlet.state" />
+ <recent name="org.jboss.portal.portlet.test.url" />
+ <recent name="org.jboss.portal.portlet.impl" />
+ </key>
</component>
<component name="RestoreUpdateTree" />
- <component name="RunManager" selected="Remote.Unnamed">
+ <component name="RunManager" selected="Remote.Tomcat">
<configuration default="true" type="Application"
factoryName="Application" enabled="false" merge="false">
<option name="MAIN_CLASS_NAME" />
<option name="VM_PARAMETERS" />
@@ -843,6 +1434,25 @@
<option name="ENABLE_SWING_INSPECTOR" value="false" />
<module name="" />
</configuration>
+ <configuration default="true" type="JUnit"
factoryName="JUnit" enabled="false" merge="false">
+ <module name="" />
+ <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false"
/>
+ <option name="ALTERNATIVE_JRE_PATH" />
+ <option name="PACKAGE_NAME" />
+ <option name="MAIN_CLASS_NAME" />
+ <option name="METHOD_NAME" />
+ <option name="TEST_OBJECT" value="class" />
+ <option name="VM_PARAMETERS" />
+ <option name="PARAMETERS" />
+ <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$"
/>
+ <option name="ADDITIONAL_CLASS_PATH" />
+ <option name="TEST_SEARCH_SCOPE">
+ <value defaultName="wholeProject" />
+ </option>
+ <method>
+ <option name="Make" value="true" />
+ </method>
+ </configuration>
<configuration default="true" type="Remote"
factoryName="Remote">
<option name="USE_SOCKET_TRANSPORT" value="true" />
<option name="SERVER_MODE" value="false" />
@@ -862,33 +1472,30 @@
<option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false"
/>
<option name="ALTERNATIVE_JRE_PATH" />
</configuration>
- <configuration default="true" type="JUnit"
factoryName="JUnit" enabled="false" merge="false">
- <module name="" />
- <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false"
/>
- <option name="ALTERNATIVE_JRE_PATH" />
- <option name="PACKAGE_NAME" />
- <option name="MAIN_CLASS_NAME" />
- <option name="METHOD_NAME" />
- <option name="TEST_OBJECT" value="class" />
- <option name="VM_PARAMETERS" />
- <option name="PARAMETERS" />
- <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$"
/>
- <option name="ADDITIONAL_CLASS_PATH" />
- <option name="TEST_SEARCH_SCOPE">
- <value defaultName="wholeProject" />
- </option>
+ <configuration default="false" name="Tomcat"
type="Remote" factoryName="Remote">
+ <option name="USE_SOCKET_TRANSPORT" value="true" />
+ <option name="SERVER_MODE" value="false" />
+ <option name="SHMEM_ADDRESS" value="javadebug" />
+ <option name="HOST" value="localhost" />
+ <option name="PORT" value="8000" />
+ <RunnerSettings RunnerId="Debug">
+ <option name="DEBUG_PORT" value="8000" />
+ <option name="TRANSPORT" value="0" />
+ <option name="LOCAL" value="false" />
+ </RunnerSettings>
+ <ConfigurationWrapper RunnerId="Debug" />
<method>
<option name="Make" value="true" />
</method>
</configuration>
- <configuration default="false" name="Unnamed"
type="Remote" factoryName="Remote">
+ <configuration default="false" name="Runner"
type="Remote" factoryName="Remote">
<option name="USE_SOCKET_TRANSPORT" value="true" />
<option name="SERVER_MODE" value="false" />
<option name="SHMEM_ADDRESS" value="javadebug" />
<option name="HOST" value="localhost" />
- <option name="PORT" value="8000" />
+ <option name="PORT" value="7878" />
<RunnerSettings RunnerId="Debug">
- <option name="DEBUG_PORT" value="8000" />
+ <option name="DEBUG_PORT" value="7878" />
<option name="TRANSPORT" value="0" />
<option name="LOCAL" value="false" />
</RunnerSettings>
@@ -978,7 +1585,7 @@
</todo-panel>
</component>
<component name="ToolWindowManager">
- <frame x="3" y="34" width="1680"
height="958" extended-state="0" />
+ <frame x="6" y="37" width="1680"
height="958" extended-state="0" />
<editor active="true" />
<layout>
<window_info id="UI Designer" active="false"
anchor="left" auto_hide="false" internal_type="DOCKED"
type="DOCKED" visible="false" weight="0.33"
order="3" />
@@ -998,8 +1605,9 @@
<window_info id="Run" active="false"
anchor="bottom" auto_hide="false" internal_type="DOCKED"
type="DOCKED" visible="false" weight="0.33"
order="2" />
<window_info id="Hierarchy" active="false"
anchor="right" auto_hide="false" internal_type="DOCKED"
type="DOCKED" visible="false" weight="0.25"
order="2" />
<window_info id="File View" active="false"
anchor="right" auto_hide="false" internal_type="DOCKED"
type="DOCKED" visible="false" weight="0.33"
order="3" />
- <window_info id="Debug" active="false"
anchor="bottom" auto_hide="false" internal_type="DOCKED"
type="DOCKED" visible="false" weight="0.23577236"
order="4" />
+ <window_info id="Debug" active="false"
anchor="bottom" auto_hide="false" internal_type="DOCKED"
type="DOCKED" visible="false" weight="0.3786295"
order="4" />
<window_info id="Commander" active="false"
anchor="right" auto_hide="false" internal_type="DOCKED"
type="DOCKED" visible="false" weight="0.4"
order="0" />
+ <window_info id="JProfiler" active="false"
anchor="bottom" auto_hide="false" internal_type="DOCKED"
type="DOCKED" visible="false" weight="0.33"
order="8" />
<window_info id="IDEtalk Messages" active="false"
anchor="bottom" auto_hide="false" internal_type="DOCKED"
type="DOCKED" visible="false" weight="0.33"
order="8" />
<window_info id="Version Control" active="false"
anchor="bottom" auto_hide="false" internal_type="DOCKED"
type="DOCKED" visible="false" weight="0.33"
order="8" />
<window_info id="Message" active="false"
anchor="bottom" auto_hide="false" internal_type="DOCKED"
type="DOCKED" visible="false" weight="0.33"
order="0" />
@@ -1022,7 +1630,7 @@
<option name="PERFORM_COMMIT_IN_BACKGROUND" value="false"
/>
<option name="PUT_FOCUS_INTO_COMMENT" value="false" />
<option name="FORCE_NON_EMPTY_COMMENT" value="false" />
- <option name="LAST_COMMIT_MESSAGE" value="- somehow the portal
servlet can almost render portlets" />
+ <option name="LAST_COMMIT_MESSAGE" value="improve singleton access
to RemoteTestDriverServer" />
<option name="SAVE_LAST_COMMIT_MESSAGE" value="true" />
<option name="CHECKIN_DIALOG_SPLITTER_PROPORTION" value="0.8"
/>
<option name="OPTIMIZE_IMPORTS_BEFORE_PROJECT_COMMIT"
value="false" />
@@ -1042,6 +1650,7 @@
<MESSAGE value="added few comments" />
<MESSAGE value="- forgot to wire the PortletContainer to the
PortletApplication" />
<MESSAGE value="- somehow the portal servlet can almost render portlets"
/>
+ <MESSAGE value="improve singleton access to RemoteTestDriverServer"
/>
</component>
<component name="VssConfiguration">
<option name="CLIENT_PATH" value="" />
@@ -1087,115 +1696,117 @@
<component
name="com.intellij.ide.util.scopeChooser.ScopeChooserConfigurable"
proportions="" version="1">
<option name="myLastEditedConfigurable" />
</component>
- <component
name="com.intellij.openapi.roots.ui.configuration.projectRoot.ProjectRootMasterDetailsConfigurable"
proportions="0.11111111,0.5" version="1">
+ <component
name="com.intellij.openapi.roots.ui.configuration.projectRoot.ProjectRootMasterDetailsConfigurable"
proportions="0.11111111" version="1">
<option name="myPlainMode" value="false" />
- <option name="myLastEditedConfigurable" value="test" />
+ <option name="myLastEditedConfigurable" value="federation"
/>
</component>
<component name="com.intellij.profile.ui.ErrorOptionsConfigurable"
proportions="" version="1">
<option name="myLastEditedConfigurable" />
</component>
<component name="editorHistoryManager">
- <entry
file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/tck/portletinterface/spec/UnavailableExceptionDuringProcessActionPortlet.java">
+ <entry
file="file://$PROJECT_DIR$/test/src/main/org/jboss/portal/portlet/test/PortletController.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="68" column="77"
selection-start="3593" selection-end="3593"
vertical-scroll-proportion="0.55778897">
+ <state line="316" column="0"
selection-start="12030" selection-end="12030"
vertical-scroll-proportion="0.19346733">
<folding />
</state>
</provider>
</entry>
- <entry
file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/tck/portletinterface/spec/RuntimeExceptionDuringRequestHandlingPortlet.java">
+ <entry
file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/framework/portlet/components/AbstractUniversalTestPortlet.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="70" column="77"
selection-start="3818" selection-end="3818"
vertical-scroll-proportion="0.5879397">
+ <state line="186" column="25"
selection-start="7092" selection-end="7092"
vertical-scroll-proportion="0.015075377">
<folding />
</state>
</provider>
</entry>
- <entry
file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/tck/portletinterface/spec/PortletExceptionDuringRequestHandlingPortlet.java">
+ <entry
file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/aspects/portlet/ProducerCacheInterceptor.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="68" column="77"
selection-start="3677" selection-end="3677"
vertical-scroll-proportion="0.55778897">
+ <state line="62" column="0"
selection-start="3270" selection-end="3270"
vertical-scroll-proportion="0.3517588">
<folding />
</state>
</provider>
</entry>
- <entry
file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/tck/portletinterface/spec/ExceptionsDuringRequestHandlingControllerPortlet.java">
+ <entry
file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/aspects/portlet/ConsumerCacheInterceptor.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="90" column="15"
selection-start="4984" selection-end="4984"
vertical-scroll-proportion="0.6407035">
+ <state line="130" column="0"
selection-start="5733" selection-end="5733"
vertical-scroll-proportion="0.19346733">
<folding />
</state>
</provider>
</entry>
- <entry
file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/info/AbstractInfoTest.java">
+ <entry
file="file://$PROJECT_DIR$/portlet/src/resources/test/jsr168/ext/expiringcache-war/WEB-INF/portlet.xml">
<provider selected="true" editor-type-id="text-editor">
- <state line="41" column="50"
selection-start="2741" selection-end="2741"
vertical-scroll-proportion="0.0">
+ <state line="136" column="66"
selection-start="5317" selection-end="5319"
vertical-scroll-proportion="0.57788944">
<folding />
</state>
</provider>
</entry>
- <entry
file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/framework/portlet/PortletTestDriver.java">
+ <entry
file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/ext/expiringcache/ExpiringCacheSequenceBuilder.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="46" column="42"
selection-start="2794" selection-end="2794"
vertical-scroll-proportion="0.0">
+ <state line="62" column="21"
selection-start="3543" selection-end="3561"
vertical-scroll-proportion="-2.1105528">
<folding />
</state>
</provider>
</entry>
- <entry
file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/info/SecurityInfoTest.java">
+ <entry
file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/ext/common/AbstractCacheSequenceBuilder.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="29" column="108"
selection-start="2139" selection-end="2139"
vertical-scroll-proportion="0.044389643">
+ <state line="350" column="0"
selection-start="14169" selection-end="14169"
vertical-scroll-proportion="0.30904523">
<folding />
</state>
</provider>
</entry>
- <entry
file="file://$PROJECT_DIR$/test/src/resources/portlet-test-war/WEB-INF/jboss-beans.xml">
+ <entry file="file://$PROJECT_DIR$/test/build.xml">
<provider selected="true" editor-type-id="text-editor">
- <state line="19" column="64"
selection-start="854" selection-end="854"
vertical-scroll-proportion="0.015075377">
+ <state line="315" column="4"
selection-start="16440" selection-end="16440"
vertical-scroll-proportion="0.8581998">
<folding />
</state>
</provider>
</entry>
- <entry
file="file://$PROJECT_DIR$/test/src/main/org/jboss/portal/portlet/test/PortalServlet.java">
+ <entry
file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/ext/neverexpiringcache/NeverExpiringCacheSequenceBuilder.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="54" column="13"
selection-start="3091" selection-end="3091"
vertical-scroll-proportion="0.1356784">
+ <state line="63" column="0"
selection-start="3652" selection-end="3652"
vertical-scroll-proportion="0.48241207">
<folding />
</state>
</provider>
</entry>
- <entry
file="file://$PROJECT_DIR$/test/src/resources/portlet-test-war/WEB-INF/web.xml">
+ <entry
file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/state/PortletSupport.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="0" column="0" selection-start="0"
selection-end="0" vertical-scroll-proportion="0.0">
+ <state line="34" column="13"
selection-start="2233" selection-end="2233"
vertical-scroll-proportion="0.13316892">
<folding />
</state>
</provider>
</entry>
- <entry
file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/metadata/SecurityConstraintMetaData.java">
+ <entry
file="file://$PROJECT_DIR$/federation/src/main/org/jboss/portal/test/portlet/federation/FederatingPortletInvokerTestCase.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="31" column="13"
selection-start="1972" selection-end="1972"
vertical-scroll-proportion="0.13316892">
- <folding />
+ <state line="28" column="49"
selection-start="2112" selection-end="2112"
vertical-scroll-proportion="0.10357583">
+ <folding>
+ <element signature="imports" expanded="true" />
+ </folding>
</state>
</provider>
</entry>
- <entry
file="file://$PROJECT_DIR$/tools/etc/buildfragments/buildmagic.ent">
+ <entry
file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/state/PortletInvokerSupport.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="657" column="27"
selection-start="24049" selection-end="24055"
vertical-scroll-proportion="0.18216081">
+ <state line="50" column="13"
selection-start="2838" selection-end="2838"
vertical-scroll-proportion="-1.1155779">
<folding />
</state>
</provider>
</entry>
- <entry
file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/ha/session/SessionTestCase.java">
+ <entry file="file://$PROJECT_DIR$/federation/build.xml">
<provider selected="true" editor-type-id="text-editor">
- <state line="31" column="13"
selection-start="2040" selection-end="2040"
vertical-scroll-proportion="0.13316892">
+ <state line="100" column="33"
selection-start="5547" selection-end="5547"
vertical-scroll-proportion="0.3403206">
<folding />
</state>
</provider>
</entry>
- <entry
file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/deployment/JBossApplicationMetaDataFactory.java">
+ <entry file="file://$PROJECT_DIR$/portlet/build.xml">
<provider selected="true" editor-type-id="text-editor">
- <state line="43" column="26"
selection-start="2605" selection-end="2605"
vertical-scroll-proportion="-0.5427136">
+ <state line="162" column="72"
selection-start="8398" selection-end="8398"
vertical-scroll-proportion="0.46609125">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/test/build.xml">
+ <entry
file="file://$PROJECT_DIR$/tools/etc/buildfragments/modules.ent">
<provider selected="true" editor-type-id="text-editor">
- <state line="253" column="37"
selection-start="12848" selection-end="12848"
vertical-scroll-proportion="0.7336621">
+ <state line="17" column="89"
selection-start="1017" selection-end="1017"
vertical-scroll-proportion="0.25154132">
<folding />
</state>
</provider>
Modified: modules/portlet/trunk/portlet/build.xml
===================================================================
--- modules/portlet/trunk/portlet/build.xml 2007-08-30 20:00:55 UTC (rev 8114)
+++ modules/portlet/trunk/portlet/build.xml 2007-08-30 21:10:49 UTC (rev 8115)
@@ -159,6 +159,11 @@
</jar>
<!-- Portlet test lib jar -->
+ <jar jarfile="${build.lib}/portal-portlet-test-lib.jar">
+ <fileset dir="${build.classes}"
includes="org/jboss/portal/test/portlet/**"/>
+ </jar>
+
+ <!-- Portlet test framework lib jar -->
<jar jarfile="${build.lib}/portal-portlet-test-framework-lib.jar">
<fileset dir="${build.classes}"
includes="org/jboss/portal/test/framework/portlet/**"/>
</jar>
Modified:
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/impl/jsr168/DispatchedHttpServletRequest.java
===================================================================
---
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/impl/jsr168/DispatchedHttpServletRequest.java 2007-08-30
20:00:55 UTC (rev 8114)
+++
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/impl/jsr168/DispatchedHttpServletRequest.java 2007-08-30
21:10:49 UTC (rev 8115)
@@ -105,7 +105,7 @@
if (queryString.length() > 0)
{
this.parameters = new PortletParameters(rreq.getParameterMap());
- this.parameters.putAll(QueryStringParser.parseQueryString(queryString));
+
this.parameters.putAll(QueryStringParser.getInstance().parseQueryString(queryString));
}
else
{
Modified:
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/impl/jsr168/api/ActionResponseImpl.java
===================================================================
---
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/impl/jsr168/api/ActionResponseImpl.java 2007-08-30
20:00:55 UTC (rev 8114)
+++
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/impl/jsr168/api/ActionResponseImpl.java 2007-08-30
21:10:49 UTC (rev 8115)
@@ -24,7 +24,6 @@
import org.apache.log4j.Logger;
import org.jboss.portal.Mode;
-import org.jboss.portal.common.net.URLTools;
import org.jboss.portal.portlet.PortletParametersStateString;
import org.jboss.portal.portlet.impl.jsr168.PortletUtils;
import org.jboss.portal.portlet.invocation.ActionInvocation;
@@ -126,8 +125,14 @@
// do something more clever than simply returning
return;
}
- URLTools.enforceAbsoluteURL(location);
- sendRedirect(new HTTPRedirectionResponse(location));
+ if (location.startsWith("http://") ||
location.startsWith("https://") || location.startsWith("/"))
+ {
+ sendRedirect(new HTTPRedirectionResponse(location));
+ }
+ else
+ {
+ throw new IllegalArgumentException("URL must be absolute. Was: " +
location);
+ }
}
/**
Added:
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/impl/spi/AbstractInstanceContext.java
===================================================================
---
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/impl/spi/AbstractInstanceContext.java
(rev 0)
+++
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/impl/spi/AbstractInstanceContext.java 2007-08-30
21:10:49 UTC (rev 8115)
@@ -0,0 +1,102 @@
+/******************************************************************************
+ * 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.impl.spi;
+
+import org.jboss.portal.portlet.state.AccessMode;
+import org.jboss.portal.portlet.PortletContext;
+import org.jboss.portal.portlet.StateEvent;
+import org.jboss.portal.portlet.spi.InstanceContext;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+public class AbstractInstanceContext implements InstanceContext
+{
+
+ /** . */
+ private final String id;
+
+ /** . */
+ private final AccessMode accessMode;
+
+ /** . */
+ private PortletContext clonedContext;
+
+ /** . */
+ private PortletContext modifiedContext;
+
+ public AbstractInstanceContext(String id)
+ {
+ this(id, AccessMode.READ_ONLY);
+ }
+
+ public AbstractInstanceContext(String id, AccessMode accessMode)
+ {
+ if (id == null)
+ {
+ throw new IllegalArgumentException();
+ }
+ if (accessMode == null)
+ {
+ throw new IllegalArgumentException();
+ }
+
+ //
+ this.id = id;
+ this.accessMode = accessMode;
+ }
+
+ public String getId()
+ {
+ return id;
+ }
+
+ public AccessMode getAccessMode()
+ {
+ return accessMode;
+ }
+
+ public void onStateEvent(StateEvent event)
+ {
+ StateEvent.StateEventType type = event.getType();
+ if (StateEvent.PORTLET_CLONED_EVENT.equals(type))
+ {
+ clonedContext = event.getPortletContext();
+ }
+ else if (StateEvent.PORTLET_MODIFIED_EVENT.equals(type))
+ {
+ modifiedContext = event.getPortletContext();
+ }
+ }
+
+ public PortletContext getClonedContext()
+ {
+ return clonedContext;
+ }
+
+ public PortletContext getModifiedContext()
+ {
+ return modifiedContext;
+ }
+}
Added:
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/impl/spi/AbstractPortalContext.java
===================================================================
---
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/impl/spi/AbstractPortalContext.java
(rev 0)
+++
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/impl/spi/AbstractPortalContext.java 2007-08-30
21:10:49 UTC (rev 8115)
@@ -0,0 +1,99 @@
+/******************************************************************************
+ * 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.impl.spi;
+
+import org.jboss.portal.WindowState;
+import org.jboss.portal.Mode;
+import org.jboss.portal.portlet.spi.PortalContext;
+import org.jboss.portal.common.util.CollectionBuilder;
+
+import java.util.Set;
+import java.util.Map;
+import java.util.Collections;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+public class AbstractPortalContext implements PortalContext
+{
+
+ /** . */
+ private static final Set ALL_WINDOW_STATES = Collections.unmodifiableSet(new
CollectionBuilder().add(WindowState.MAXIMIZED).add(WindowState.MINIMIZED).add(WindowState.NORMAL).toHashSet());
+
+ /** . */
+ private static final Set ALL_MODES = Collections.unmodifiableSet(new
CollectionBuilder().add(Mode.EDIT).add(Mode.HELP).add(Mode.VIEW).toHashSet());
+
+ /** . */
+ private final Set windowStates;
+
+ /** . */
+ private final Set modes;
+
+ /** . */
+ private final Map props;
+
+ public AbstractPortalContext(Set windowStates, Set modes, Map props)
+ {
+ if (windowStates == null)
+ {
+ throw new IllegalArgumentException("No window states provided");
+ }
+ if (modes == null)
+ {
+ throw new IllegalArgumentException("No modes provided");
+ }
+ if (props == null)
+ {
+ throw new IllegalArgumentException("No properties provided");
+ }
+ this.windowStates = windowStates;
+ this.modes = modes;
+ this.props = props;
+ }
+
+ public AbstractPortalContext()
+ {
+ this(ALL_WINDOW_STATES, ALL_MODES, Collections.EMPTY_MAP);
+ }
+
+ public String getInfo()
+ {
+ return "JBossPortal/1.0";
+ }
+
+ public Set getWindowStates()
+ {
+ return windowStates;
+ }
+
+ public Set getModes()
+ {
+ return modes;
+ }
+
+ public Map getProperties()
+ {
+ return props;
+ }
+}
Modified:
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/impl/spi/AbstractPortletInvocationContext.java
===================================================================
---
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/impl/spi/AbstractPortletInvocationContext.java 2007-08-30
20:00:55 UTC (rev 8114)
+++
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/impl/spi/AbstractPortletInvocationContext.java 2007-08-30
21:10:49 UTC (rev 8115)
@@ -27,6 +27,7 @@
import org.jboss.portal.common.util.MarkupInfo;
import org.jboss.portal.portlet.spi.PortletInvocationContext;
import org.jboss.portal.portlet.StateString;
+import org.jboss.portal.portlet.invocation.response.HTTPRedirectionResponse;
import org.jboss.portal.Mode;
import org.jboss.portal.WindowState;
@@ -85,10 +86,15 @@
*/
public String encodeResourceURL(String url) throws IllegalArgumentException
{
- URLTools.enforceAbsoluteURL(url);
-
- //
- return getClientResponse().encodeURL(url);
+ if (url == null)
+ {
+ throw new IllegalArgumentException("URL cannot be null");
+ }
+ if (url.startsWith("http://") || url.startsWith("https://") ||
url.startsWith("/"))
+ {
+ return getClientResponse().encodeURL(url);
+ }
+ throw new IllegalArgumentException("Invalid URL " + url);
}
public Mode getMode()
Added:
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/impl/spi/AbstractUserContext.java
===================================================================
---
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/impl/spi/AbstractUserContext.java
(rev 0)
+++
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/impl/spi/AbstractUserContext.java 2007-08-30
21:10:49 UTC (rev 8115)
@@ -0,0 +1,84 @@
+/******************************************************************************
+ * 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.impl.spi;
+
+import org.jboss.portal.common.util.Tools;
+import org.jboss.portal.portlet.spi.UserContext;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.Map;
+import java.util.Collections;
+import java.util.Locale;
+import java.util.List;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+public class AbstractUserContext implements UserContext
+{
+
+ /** . */
+ private HttpServletRequest clientRequest;
+
+ public AbstractUserContext(HttpServletRequest clientRequest)
+ {
+ if (clientRequest == null)
+ {
+ throw new IllegalArgumentException("No client request provided");
+ }
+ this.clientRequest = clientRequest;
+ }
+
+ /**
+ * Returns null.
+ */
+ public String getId()
+ {
+ return clientRequest.getRemoteUser();
+ }
+
+ /**
+ * Returns <code>Collections.EMPTY_MAP</code>.
+ */
+ public Map getInformations()
+ {
+ return Collections.EMPTY_MAP;
+ }
+
+ /**
+ * Returns <code>Locale.ENGLISH</code>.
+ */
+ public Locale getLocale()
+ {
+ return clientRequest.getLocale();
+ }
+
+ /**
+ * Returns <code>Collections.EMPTY_LIST</code>.
+ */
+ public List getLocales()
+ {
+ return Tools.toList(clientRequest.getLocales());
+ }
+}
Added:
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/impl/spi/AbstractWindowContext.java
===================================================================
---
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/impl/spi/AbstractWindowContext.java
(rev 0)
+++
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/impl/spi/AbstractWindowContext.java 2007-08-30
21:10:49 UTC (rev 8115)
@@ -0,0 +1,50 @@
+/******************************************************************************
+ * 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.impl.spi;
+
+import org.jboss.portal.portlet.spi.WindowContext;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+public class AbstractWindowContext implements WindowContext
+{
+
+ /** . */
+ private final String id;
+
+ public AbstractWindowContext(String id)
+ {
+ if (id == null)
+ {
+ throw new IllegalArgumentException("No window id provided");
+ }
+ this.id = id;
+ }
+
+ public String getId()
+ {
+ return id;
+ }
+}
Added:
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/impl/state/consumer/AbstractConsumerPersistenceManagerService.java
===================================================================
---
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/impl/state/consumer/AbstractConsumerPersistenceManagerService.java
(rev 0)
+++
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/impl/state/consumer/AbstractConsumerPersistenceManagerService.java 2007-08-30
21:10:49 UTC (rev 8115)
@@ -0,0 +1,116 @@
+/******************************************************************************
+ * 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.impl.state.consumer;
+
+import org.jboss.portal.portlet.state.consumer.ConsumerPersistenceManager;
+import org.jboss.portal.portlet.state.consumer.ConsumerStateContext;
+import org.jboss.portal.portlet.state.consumer.ConsumerState;
+import org.jboss.portal.portlet.state.NoSuchStateException;
+import org.jboss.portal.portlet.state.InvalidStateIdException;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+public abstract class AbstractConsumerPersistenceManagerService implements
ConsumerPersistenceManager
+{
+
+ /** . */
+ private int counter = 0;
+
+ protected abstract ConsumerStateContext get(String stateId);
+ protected abstract void put(String stateId, ConsumerStateContext state);
+ protected abstract void remove(String stateId);
+ protected abstract int size();
+
+ public synchronized ConsumerStateContext loadState(String stateId) throws
IllegalArgumentException, NoSuchStateException, InvalidStateIdException
+ {
+ checkId(stateId);
+ ConsumerStateContext state = get(stateId);
+ if (state == null)
+ {
+ throw new NoSuchStateException(stateId);
+ }
+ return state;
+ }
+
+ public synchronized String createState(ConsumerState state) throws
IllegalArgumentException
+ {
+ if (state == null)
+ {
+ throw new IllegalArgumentException();
+ }
+ ConsumerStateContext ctx = new ConsumerStateContext(Integer.toString(counter++),
state.getPortletId(), state.getBytes());
+ put(ctx.getId(), ctx);
+ return ctx.getId();
+ }
+
+ public synchronized void updateState(String stateId, ConsumerState state) throws
IllegalArgumentException, NoSuchStateException, InvalidStateIdException
+ {
+ checkId(stateId);
+ if (state == null)
+ {
+ throw new IllegalArgumentException();
+ }
+ if (get(stateId) != null)
+ {
+ throw new NoSuchStateException(stateId);
+ }
+
+ //
+ put(stateId, new ConsumerStateContext(stateId, state.getPortletId(),
state.getBytes()));
+ }
+
+ public synchronized void destroyState(String stateId) throws IllegalArgumentException,
NoSuchStateException, InvalidStateIdException
+ {
+ checkId(stateId);
+ if (get(stateId) != null)
+ {
+ throw new NoSuchStateException(stateId);
+ }
+
+ //
+ remove(stateId);
+ }
+
+ public synchronized int getSize()
+ {
+ return size();
+ }
+
+ private void checkId(String stateId) throws IllegalArgumentException,
InvalidStateIdException
+ {
+ if (stateId == null)
+ {
+ throw new IllegalArgumentException("No null state id accepted");
+ }
+ try
+ {
+ Integer.parseInt(stateId);
+ }
+ catch (NumberFormatException e)
+ {
+ throw new InvalidStateIdException(e, stateId);
+ }
+ }
+}
Modified:
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/impl/state/consumer/ConsumerPersistenceManagerService.java
===================================================================
---
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/impl/state/consumer/ConsumerPersistenceManagerService.java 2007-08-30
20:00:55 UTC (rev 8114)
+++
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/impl/state/consumer/ConsumerPersistenceManagerService.java 2007-08-30
21:10:49 UTC (rev 8115)
@@ -22,10 +22,6 @@
******************************************************************************/
package org.jboss.portal.portlet.impl.state.consumer;
-import org.jboss.portal.portlet.state.InvalidStateIdException;
-import org.jboss.portal.portlet.state.NoSuchStateException;
-import org.jboss.portal.portlet.state.consumer.ConsumerPersistenceManager;
-import org.jboss.portal.portlet.state.consumer.ConsumerState;
import org.jboss.portal.portlet.state.consumer.ConsumerStateContext;
import java.util.HashMap;
@@ -35,77 +31,29 @@
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
* @version $Revision: 1.1 $
*/
-public class ConsumerPersistenceManagerService implements ConsumerPersistenceManager
+public class ConsumerPersistenceManagerService extends
AbstractConsumerPersistenceManagerService
{
/** . */
private Map store = new HashMap();
- /** . */
- private int counter = 0;
-
- public synchronized ConsumerStateContext loadState(String stateId) throws
IllegalArgumentException, NoSuchStateException, InvalidStateIdException
+ protected ConsumerStateContext get(String stateId)
{
- checkId(stateId);
- ConsumerStateContext state = (ConsumerStateContext)store.get(stateId);
- if (state == null)
- {
- throw new NoSuchStateException(stateId);
- }
- return state;
+ return (ConsumerStateContext)store.get(stateId);
}
- public synchronized String createState(ConsumerState state) throws
IllegalArgumentException
+ protected void put(String stateId, ConsumerStateContext state)
{
- if (state == null)
- {
- throw new IllegalArgumentException();
- }
- ConsumerStateContext ctx = new ConsumerStateContext(Integer.toString(counter++),
state.getPortletId(), state.getBytes());
- store.put(ctx.getId(), ctx);
- return ctx.getId();
+ store.put(stateId, state);
}
- public synchronized void updateState(String stateId, ConsumerState state) throws
IllegalArgumentException, NoSuchStateException, InvalidStateIdException
+ protected void remove(String stateId)
{
- checkId(stateId);
- if (state == null)
- {
- throw new IllegalArgumentException();
- }
- if (store.put(stateId, new ConsumerStateContext(stateId, state.getPortletId(),
state.getBytes())) == null)
- {
- throw new NoSuchStateException(stateId);
- }
+ store.remove(stateId);
}
- public synchronized void destroyState(String stateId) throws IllegalArgumentException,
NoSuchStateException, InvalidStateIdException
+ protected int size()
{
- checkId(stateId);
- if (store.remove(stateId) == null)
- {
- throw new NoSuchStateException(stateId);
- }
- }
-
- public synchronized int getSize()
- {
return store.size();
}
-
- private void checkId(String stateId) throws IllegalArgumentException,
InvalidStateIdException
- {
- if (stateId == null)
- {
- throw new IllegalArgumentException("No null state id accepted");
- }
- try
- {
- Integer.parseInt(stateId);
- }
- catch (NumberFormatException e)
- {
- throw new InvalidStateIdException(e, stateId);
- }
- }
}
Modified:
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/support/spi/SecurityContextSupport.java
===================================================================
---
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/support/spi/SecurityContextSupport.java 2007-08-30
20:00:55 UTC (rev 8114)
+++
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/support/spi/SecurityContextSupport.java 2007-08-30
21:10:49 UTC (rev 8115)
@@ -60,7 +60,6 @@
throw new UnsupportedOperationException();
}
-
public boolean isAuthenticated()
{
throw new UnsupportedOperationException();
Modified:
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/support/spi/UserContextSupport.java
===================================================================
---
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/support/spi/UserContextSupport.java 2007-08-30
20:00:55 UTC (rev 8114)
+++
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/support/spi/UserContextSupport.java 2007-08-30
21:10:49 UTC (rev 8115)
@@ -36,35 +36,23 @@
public class UserContextSupport implements UserContext
{
- /**
- * Returns null.
- */
public String getId()
{
- return null;
+ throw new UnsupportedOperationException();
}
- /**
- * Returns <code>Collections.EMPTY_MAP</code>.
- */
public Map getInformations()
{
- return Collections.EMPTY_MAP;
+ throw new UnsupportedOperationException();
}
- /**
- * Returns <code>Locale.ENGLISH</code>.
- */
public Locale getLocale()
{
- return Locale.ENGLISH;
+ throw new UnsupportedOperationException();
}
- /**
- * Returns <code>Collections.EMPTY_LIST</code>.
- */
public List getLocales()
{
- return Collections.EMPTY_LIST;
+ throw new UnsupportedOperationException();
}
}
Deleted:
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/test/ActionContextImpl.java
===================================================================
---
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/test/ActionContextImpl.java 2007-08-30
20:00:55 UTC (rev 8114)
+++
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/test/ActionContextImpl.java 2007-08-30
21:10:49 UTC (rev 8115)
@@ -1,56 +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.test;
-
-import org.jboss.portal.Mode;
-import org.jboss.portal.common.invocation.resolver.MapAttributeResolver;
-import org.jboss.portal.portlet.invocation.PortletInvocation;
-import org.jboss.portal.portlet.support.spi.ActionContextSupport;
-
-/**
- * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
- * @version $Revision: 5113 $
- */
-public class ActionContextImpl extends ActionContextSupport
-{
-
- /** . */
- private final Mode mode;
-
- public ActionContextImpl(Mode mode)
- {
- this.mode = mode;
- addResolver(PortletInvocation.REQUEST_SCOPE, new MapAttributeResolver());
- addResolver(PortletInvocation.INVOCATION_SCOPE, new MapAttributeResolver());
- }
-
- public ActionContextImpl()
- {
- this(Mode.EDIT);
- }
-
- public Mode getMode()
- {
- return mode;
- }
-}
Deleted:
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/test/InstanceContextImpl.java
===================================================================
---
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/test/InstanceContextImpl.java 2007-08-30
20:00:55 UTC (rev 8114)
+++
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/test/InstanceContextImpl.java 2007-08-30
21:10:49 UTC (rev 8115)
@@ -1,102 +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.test;
-
-import org.jboss.portal.portlet.PortletContext;
-import org.jboss.portal.portlet.StateEvent;
-import org.jboss.portal.portlet.spi.InstanceContext;
-import org.jboss.portal.portlet.state.AccessMode;
-
-/**
- * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
- * @version $Revision: 1.1 $
- */
-public class InstanceContextImpl implements InstanceContext
-{
-
- /** . */
- private final String id;
-
- /** . */
- private final AccessMode accessMode;
-
- /** . */
- private PortletContext clonedContext;
-
- /** . */
- private PortletContext modifiedContext;
-
- public InstanceContextImpl(String id)
- {
- this(id, AccessMode.READ_ONLY);
- }
-
- public InstanceContextImpl(String id, AccessMode accessMode)
- {
- if (id == null)
- {
- throw new IllegalArgumentException();
- }
- if (accessMode == null)
- {
- throw new IllegalArgumentException();
- }
-
- //
- this.id = id;
- this.accessMode = accessMode;
- }
-
- public String getId()
- {
- return id;
- }
-
- public AccessMode getAccessMode()
- {
- return accessMode;
- }
-
- public void onStateEvent(StateEvent event)
- {
- StateEvent.StateEventType type = event.getType();
- if (StateEvent.PORTLET_CLONED_EVENT.equals(type))
- {
- clonedContext = event.getPortletContext();
- }
- else if (StateEvent.PORTLET_MODIFIED_EVENT.equals(type))
- {
- modifiedContext = event.getPortletContext();
- }
- }
-
- public PortletContext getClonedContext()
- {
- return clonedContext;
- }
-
- public PortletContext getModifiedContext()
- {
- return modifiedContext;
- }
-}
Deleted:
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/test/TestPortalContext.java
===================================================================
---
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/test/TestPortalContext.java 2007-08-30
20:00:55 UTC (rev 8114)
+++
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/test/TestPortalContext.java 2007-08-30
21:10:49 UTC (rev 8115)
@@ -1,76 +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.test;
-
-import org.jboss.portal.Mode;
-import org.jboss.portal.WindowState;
-import org.jboss.portal.common.util.CollectionBuilder;
-import org.jboss.portal.portlet.spi.PortalContext;
-
-import java.util.Collections;
-import java.util.Map;
-import java.util.Set;
-
-/**
- * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
- * @version $Revision: 7001 $
- */
-public class TestPortalContext implements PortalContext
-{
-
- /** . */
- private final Set windowStates;
-
- /** . */
- private final Set modes;
-
- /** . */
- private final Map props;
-
- public TestPortalContext()
- {
- windowStates = Collections.unmodifiableSet(new
CollectionBuilder().add(WindowState.MAXIMIZED).add(WindowState.MINIMIZED).add(WindowState.NORMAL).toHashSet());
- modes = Collections.unmodifiableSet(new
CollectionBuilder().add(Mode.EDIT).add(Mode.HELP).add(Mode.VIEW).toHashSet());
- props = Collections.EMPTY_MAP;
- }
-
- public String getInfo()
- {
- return "JBossPortal/1.0";
- }
-
- public Set getWindowStates()
- {
- return windowStates;
- }
-
- public Set getModes()
- {
- return modes;
- }
-
- public Map getProperties()
- {
- return props;
- }
-}
Deleted:
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/test/TestPortletInvoker.java
===================================================================
---
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/test/TestPortletInvoker.java 2007-08-30
20:00:55 UTC (rev 8114)
+++
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/test/TestPortletInvoker.java 2007-08-30
21:10:49 UTC (rev 8115)
@@ -1,157 +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.test;
-
-import org.jboss.portal.common.invocation.InterceptorStackFactory;
-import org.jboss.portal.common.invocation.Invocation;
-import org.jboss.portal.common.invocation.InvocationException;
-import org.jboss.portal.common.invocation.InvocationHandler;
-import org.jboss.portal.portlet.Portlet;
-import org.jboss.portal.portlet.PortletContext;
-import org.jboss.portal.portlet.PortletInvoker;
-import org.jboss.portal.portlet.PortletInvokerException;
-import org.jboss.portal.portlet.invocation.PortletInvocation;
-import org.jboss.portal.portlet.invocation.response.PortletInvocationResponse;
-import org.jboss.portal.portlet.state.PropertyChange;
-import org.jboss.portal.portlet.state.PropertyMap;
-
-import java.util.List;
-import java.util.Set;
-
-/**
- * A simple consumer.
- *
- * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
- * @version $Revision: 6712 $
- */
-public class TestPortletInvoker implements PortletInvoker
-{
-
- /** . */
- private InterceptorStackFactory stackFactory;
-
- /** . */
- private PortletInvoker producer;
-
- /** . */
- private InvocationHandler handler = new InvocationHandler()
- {
- public Object invoke(Invocation invocation) throws Exception, InvocationException
- {
- PortletInvocation portletInvocation = (PortletInvocation)invocation;
- try
- {
- portletInvocation.setHandler(null);
- return producer.invoke(portletInvocation);
- }
- finally
- {
- portletInvocation.setHandler(this);
- }
- }
- };
-
- public InterceptorStackFactory getStackFactory()
- {
- return stackFactory;
- }
-
- public void setStackFactory(InterceptorStackFactory stackFactory)
- {
- this.stackFactory = stackFactory;
- }
-
- public PortletInvoker getProducer()
- {
- return producer;
- }
-
- public void setProducer(PortletInvoker producer)
- {
- this.producer = producer;
- }
-
- public Set getPortlets() throws PortletInvokerException
- {
- return producer.getPortlets();
- }
-
- public Portlet getPortlet(PortletContext portletContext) throws
IllegalArgumentException, PortletInvokerException
- {
- return producer.getPortlet(portletContext);
- }
-
- public PortletInvocationResponse invoke(PortletInvocation invocation) throws
PortletInvokerException
- {
- InvocationHandler prevHandler = invocation.getHandler();
- try
- {
- invocation.setHandler(handler);
- return
(PortletInvocationResponse)invocation.invoke(stackFactory.getInterceptorStack());
- }
- catch (Exception e)
- {
- if (e instanceof PortletInvokerException)
- {
- throw(PortletInvokerException)e;
- }
- else if (e instanceof RuntimeException)
- {
- throw(RuntimeException)e;
- }
- else
- {
- throw new PortletInvokerException(e);
- }
- }
- finally
- {
- invocation.setHandler(prevHandler);
- }
- }
-
- public PortletContext createClone(PortletContext portletContext) throws
IllegalArgumentException, PortletInvokerException, UnsupportedOperationException
- {
- throw new UnsupportedOperationException();
- }
-
- public List destroyClones(List portletContexts) throws IllegalArgumentException,
PortletInvokerException, UnsupportedOperationException
- {
- throw new UnsupportedOperationException();
- }
-
- public PropertyMap getProperties(PortletContext portletContext, Set keys) throws
IllegalArgumentException, PortletInvokerException, UnsupportedOperationException
- {
- throw new UnsupportedOperationException();
- }
-
- public PropertyMap getProperties(PortletContext portletContext) throws
IllegalArgumentException, PortletInvokerException, UnsupportedOperationException
- {
- throw new UnsupportedOperationException();
- }
-
- public PortletContext setProperties(PortletContext portletContext, PropertyChange[]
changes) throws IllegalArgumentException, PortletInvokerException,
UnsupportedOperationException
- {
- throw new UnsupportedOperationException();
- }
-}
Deleted:
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/test/UserContextImpl.java
===================================================================
---
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/test/UserContextImpl.java 2007-08-30
20:00:55 UTC (rev 8114)
+++
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/test/UserContextImpl.java 2007-08-30
21:10:49 UTC (rev 8115)
@@ -1,55 +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.test;
-
-import org.jboss.portal.portlet.support.spi.UserContextSupport;
-
-/**
- * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
- * @version $Revision: 3188 $
- */
-public class UserContextImpl extends UserContextSupport
-{
-
- /** . */
- private final String id;
-
- public UserContextImpl(String id)
- {
- if (id == null)
- {
- throw new IllegalArgumentException();
- }
- this.id = id;
- }
-
- public UserContextImpl()
- {
- this.id = null;
- }
-
- public String getId()
- {
- return id;
- }
-}
Deleted:
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/test/ValueMapAssert.java
===================================================================
---
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/test/ValueMapAssert.java 2007-08-30
20:00:55 UTC (rev 8114)
+++
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/test/ValueMapAssert.java 2007-08-30
21:10:49 UTC (rev 8115)
@@ -1,65 +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.test;
-
-import junit.framework.Assert;
-import org.jboss.portal.common.value.Value;
-import org.jboss.portal.portlet.state.PropertyMap;
-
-import java.util.HashSet;
-import java.util.Iterator;
-
-/**
- * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
- * @version $Revision: 5448 $
- */
-public class ValueMapAssert extends Assert
-{
- public static void assertEquals(PropertyMap vm1, PropertyMap vm2)
- {
- if (vm1 == null)
- {
- if (vm2 != null)
- {
- fail("Value map should be null");
- }
- }
- else
- {
- if (vm2 == null)
- {
- fail("Value map should not be null");
- }
- assertEquals("Value maps don't have the same keys", new
HashSet(vm1.keySet()), new HashSet(vm2.keySet()));
- for (Iterator i = vm1.keySet().iterator(); i.hasNext();)
- {
- String key = (String)i.next();
- Value v1 = vm1.getProperty(key);
- Value v2 = vm2.getProperty(key);
- assertEquals("Values for key " + key + " are not equals",
v1, v2);
- }
- }
- }
-
-
-}
Deleted:
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/test/support/PortletInvokerSupport.java
===================================================================
---
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/test/support/PortletInvokerSupport.java 2007-08-30
20:00:55 UTC (rev 8114)
+++
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/test/support/PortletInvokerSupport.java 2007-08-30
21:10:49 UTC (rev 8115)
@@ -1,259 +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.test.support;
-
-import org.jboss.portal.portlet.InvalidPortletIdException;
-import org.jboss.portal.portlet.NoSuchPortletException;
-import org.jboss.portal.portlet.Portlet;
-import org.jboss.portal.portlet.PortletContext;
-import org.jboss.portal.portlet.PortletInvoker;
-import org.jboss.portal.portlet.PortletInvokerException;
-import org.jboss.portal.portlet.support.info.PortletInfoSupport;
-import org.jboss.portal.portlet.info.PortletInfo;
-import org.jboss.portal.portlet.invocation.PortletInvocation;
-import org.jboss.portal.portlet.invocation.response.PortletInvocationResponse;
-import org.jboss.portal.portlet.state.PropertyChange;
-import org.jboss.portal.portlet.state.PropertyMap;
-import org.jboss.portal.portlet.state.SimplePropertyMap;
-import org.jboss.portal.common.value.Value;
-
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.Iterator;
-
-/**
- * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
- * @version $Revision: 6712 $
- */
-public class PortletInvokerSupport implements PortletInvoker
-{
-
- /** . */
- private Map portlets;
-
- public PortletInvokerSupport()
- {
- this.portlets = new HashMap();
- }
-
- public void setValid(String portletId, boolean valid)
- {
- getInternalPortlet(portletId).valid = valid;
- }
-
- public InternalPortlet addInternalPortlet(String portletId, PortletInfoSupport info)
- {
- return addInternalPortlet(portletId, new PortletSupport(info));
- }
-
- public InternalPortlet addInternalPortlet(String portletId, PortletSupport support)
- {
- if (portletId == null)
- {
- throw new IllegalArgumentException();
- }
- if (support == null)
- {
- throw new IllegalArgumentException();
- }
- InternalPortlet portlet = new InternalPortlet(portletId, support);
- if (portlets.put(portletId, portlet) != null)
- {
- throw new IllegalStateException();
- }
- return portlet;
- }
-
- public PortletInvokerSupport removeInternalPortlet(String portletId)
- {
- if (portlets.remove(portletId) == null)
- {
- throw new IllegalStateException();
- }
- return this;
- }
-
- public InternalPortlet getInternalPortlet(String portletId)
- {
- if (portletId == null)
- {
- throw new IllegalArgumentException();
- }
- InternalPortlet portlet = (InternalPortlet)portlets.get(portletId);
- if (portlet == null)
- {
- throw new IllegalArgumentException();
- }
- return portlet;
- }
-
- public Set getPortlets()
- {
- return new HashSet(portlets.values());
- }
-
- public Portlet getPortlet(PortletContext portletContext) throws
IllegalArgumentException, PortletInvokerException
- {
- return internalGetPortlet(portletContext);
- }
-
- public PortletInvocationResponse invoke(PortletInvocation invocation) throws
PortletInvokerException
- {
- PortletContext portletContext = invocation.getTarget();
- InternalPortlet portlet = internalGetPortlet(portletContext);
- return portlet.support.invoke(invocation);
- }
-
- private InternalPortlet internalGetPortlet(PortletContext portletContext) throws
IllegalArgumentException, PortletInvokerException
- {
- if (portletContext == null)
- {
- throw new IllegalArgumentException();
- }
- String portletId = portletContext.getId();
- InternalPortlet portlet = (InternalPortlet)portlets.get(portletId);
- if (portlet == null)
- {
- throw new NoSuchPortletException(portletId);
- }
- if (portlet.isValid() == false)
- {
- throw new InvalidPortletIdException(portletId);
- }
- return portlet;
- }
-
- public static class InternalPortlet implements Portlet
- {
-
- /** . */
- private final PortletContext portletContext;
-
- /** . */
- private final PortletSupport support;
-
- /** . */
- private boolean valid;
-
- /** . */
- private Map state;
-
- public InternalPortlet(String portletId, PortletSupport support)
- {
- if (portletId == null)
- {
- throw new IllegalArgumentException();
- }
- if (support == null)
- {
- throw new IllegalArgumentException();
- }
- this.portletContext = PortletContext.createPortletContext(portletId);
- this.support = support;
- this.valid = true;
- this.state = new HashMap();
- }
-
- public void addPreference(String key, Value value)
- {
- support.getInfoSupport().getPreferencesSupport().addPreference(key);
- state.put(key, value);
- }
-
- public void addPreference(String key, Value value, Boolean readOnly)
- {
- support.getInfoSupport().getPreferencesSupport().addPreference(key, readOnly);
- state.put(key, value);
- }
-
- public PortletContext getContext()
- {
- return portletContext;
- }
-
- public PortletInfo getInfo()
- {
- return support.getInfoSupport();
- }
-
- public boolean isRemote()
- {
- return false;
- }
-
- public boolean isValid()
- {
- return valid;
- }
- }
-
- public PropertyMap getProperties(PortletContext portletContext, Set keys) throws
IllegalArgumentException, PortletInvokerException, UnsupportedOperationException
- {
- InternalPortlet internalPortlet = internalGetPortlet(portletContext);
- PropertyMap props = new SimplePropertyMap();
- for (Iterator i = keys.iterator();i.hasNext();)
- {
- String key = (String)i.next();
- Value value = (Value)internalPortlet.state.get(key);
- if (value != null)
- {
- props.put(key, value.clone());
- }
- }
- return props;
- }
-
- public PropertyMap getProperties(PortletContext portletContext) throws
IllegalArgumentException, PortletInvokerException, UnsupportedOperationException
- {
- InternalPortlet internalPortlet = internalGetPortlet(portletContext);
- PropertyMap props = new SimplePropertyMap();
- for (Iterator i = internalPortlet.state.keySet().iterator();i.hasNext();)
- {
- String key = (String)i.next();
- Value value = (Value)internalPortlet.state.get(key);
- if (value != null)
- {
- props.put(key, value.clone());
- }
- }
- return props;
- }
-
- public PortletContext createClone(PortletContext portletContext) throws
IllegalArgumentException, PortletInvokerException, UnsupportedOperationException
- {
- throw new UnsupportedOperationException();
- }
-
- public List destroyClones(List portletContexts) throws IllegalArgumentException,
PortletInvokerException, UnsupportedOperationException
- {
- throw new UnsupportedOperationException();
- }
-
- public PortletContext setProperties(PortletContext portletContext, PropertyChange[]
changes) throws IllegalArgumentException, PortletInvokerException,
UnsupportedOperationException
- {
- throw new UnsupportedOperationException();
- }
-}
Deleted:
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/test/support/PortletSupport.java
===================================================================
---
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/test/support/PortletSupport.java 2007-08-30
20:00:55 UTC (rev 8114)
+++
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/test/support/PortletSupport.java 2007-08-30
21:10:49 UTC (rev 8115)
@@ -1,68 +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.test.support;
-
-import org.jboss.portal.portlet.PortletInvokerException;
-import org.jboss.portal.portlet.support.info.PortletInfoSupport;
-import org.jboss.portal.portlet.info.PortletInfo;
-import org.jboss.portal.portlet.invocation.PortletInvocation;
-import org.jboss.portal.portlet.invocation.response.PortletInvocationResponse;
-
-/**
- * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
- * @version $Revision: 6116 $
- */
-public class PortletSupport
-{
-
- /** . */
- protected final PortletInfoSupport info;
-
- /** . */
- protected boolean valid;
-
- public PortletSupport(PortletInfoSupport info)
- {
- if (info == null)
- {
- throw new IllegalArgumentException();
- }
- this.info = info;
- this.valid = true;
- }
-
- public PortletSupport()
- {
- this(new PortletInfoSupport());
- }
-
- public PortletInfoSupport getInfoSupport()
- {
- return info;
- }
-
- public PortletInvocationResponse invoke(PortletInvocation invocation) throws
PortletInvokerException
- {
- throw new PortletInvokerException("No implementations");
- }
-}
Modified:
modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/framework/portlet/PortletTestContext.java
===================================================================
---
modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/framework/portlet/PortletTestContext.java 2007-08-30
20:00:55 UTC (rev 8114)
+++
modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/framework/portlet/PortletTestContext.java 2007-08-30
21:10:49 UTC (rev 8115)
@@ -23,6 +23,7 @@
package org.jboss.portal.test.framework.portlet;
import org.jboss.portal.test.framework.driver.DriverResponse;
+import org.jboss.portal.test.framework.driver.http.HTTPTestContext;
import org.jboss.portal.test.framework.driver.remote.TestContext;
import org.jboss.portal.test.framework.server.NodeId;
import org.jboss.portal.test.framework.TestParameterValue;
@@ -39,16 +40,20 @@
final String testName;
/** . */
- final TestContext testContext;
+ final HTTPTestContext testContext;
public PortletTestContext(String testName, TestContext httpTestContext)
{
if (httpTestContext == null)
{
- throw new IllegalArgumentException("No http test context to wrap");
+ throw new IllegalArgumentException("No HTTP test context to wrap");
}
+ if (!(httpTestContext instanceof HTTPTestContext))
+ {
+ throw new IllegalArgumentException("Test context is not an HTTP test
context");
+ }
this.testName = testName;
- this.testContext = httpTestContext;
+ this.testContext = (HTTPTestContext)httpTestContext;
}
public String getTestName()
Modified:
modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/framework/portlet/PortletTestDriver.java
===================================================================
---
modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/framework/portlet/PortletTestDriver.java 2007-08-30
20:00:55 UTC (rev 8114)
+++
modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/framework/portlet/PortletTestDriver.java 2007-08-30
21:10:49 UTC (rev 8115)
@@ -187,7 +187,7 @@
public DriverResponse invoke(String string, DriverCommand driverCommand) throws
TestDriverException
{
- return new InvokeGetResponse(path + "/" + name);
+ return new InvokeGetResponse(context.testContext.getInitialPath());
}
}
}
Modified:
modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/jsr168/ext/common/AbstractCacheSequenceBuilder.java
===================================================================
---
modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/jsr168/ext/common/AbstractCacheSequenceBuilder.java 2007-08-30
20:00:55 UTC (rev 8114)
+++
modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/jsr168/ext/common/AbstractCacheSequenceBuilder.java 2007-08-30
21:10:49 UTC (rev 8115)
@@ -294,6 +294,8 @@
// Refresh with different navigational state to check it will be called in
the next render phase
PortletURL url = response.createRenderURL();
+ url.setPortletMode(PortletMode.VIEW);
+ url.setWindowState(WindowState.NORMAL);
return new InvokeGetResponse(url.toString());
}
});
Modified:
modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/jsr168/ext/portletrequests/PortletRequestsSequenceBuilder.java
===================================================================
---
modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/jsr168/ext/portletrequests/PortletRequestsSequenceBuilder.java 2007-08-30
20:00:55 UTC (rev 8114)
+++
modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/jsr168/ext/portletrequests/PortletRequestsSequenceBuilder.java 2007-08-30
21:10:49 UTC (rev 8115)
@@ -76,12 +76,11 @@
{
protected DriverResponse run(Portlet portlet, RenderRequest request,
RenderResponse response, PortletTestContext context)
{
- InvokePostResponse iur = new InvokePostResponse();
PortletURL url = response.createActionURL();
url.setParameter("g_foo1", "g_bar1_1");
url.setParameter("g_foo2", new String[]{"g_bar2_1",
"g_bar2_2"});
url.setParameter("g_foo3", new String[]{"g_bar3_1"});
- iur.setURL(url.toString());
+ InvokePostResponse iur = new InvokePostResponse(url.toString());
HttpRequest.Form body = new HttpRequest.Form();
body.addParameter("g_foo3", new String[]{"g_bar3_2"});
body.addParameter("g_foo4", new String[]{"g_bar4_1"});
@@ -147,11 +146,10 @@
protected DriverResponse run(Portlet portlet, RenderRequest request,
RenderResponse response, PortletTestContext context)
{
- InvokePostResponse iur = new InvokePostResponse();
PortletURL url = response.createActionURL();
url.setParameter("g_foo1", "g_bar1_1");
url.setParameter("g_foo2", new String[]{"g_bar2_1",
"g_bar2_2"});
- iur.setURL(url.toString());
+ InvokePostResponse iur = new InvokePostResponse(url.toString());
HttpRequest.Raw body = new HttpRequest.Raw();
body.setBytes(byteContent);
iur.setBody(body);
@@ -225,11 +223,10 @@
{
protected DriverResponse run(Portlet portlet, RenderRequest request,
RenderResponse response, PortletTestContext context)
{
- InvokePostResponse iur = new InvokePostResponse();
PortletURL url = response.createActionURL();
url.setParameter("g_foo1", "g_bar1_1");
url.setParameter("g_foo2", new String[]{"g_bar2_1",
"g_bar2_2"});
- iur.setURL(url.toString());
+ InvokePostResponse iur = new InvokePostResponse(url.toString());
HttpRequest.Raw body = new HttpRequest.Raw();
body.setBytes(byteContent);
iur.setBody(body);
Modified:
modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/state/AbstractStatefulPortletInvokerTestCase.java
===================================================================
---
modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/state/AbstractStatefulPortletInvokerTestCase.java 2007-08-30
20:00:55 UTC (rev 8114)
+++
modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/state/AbstractStatefulPortletInvokerTestCase.java 2007-08-30
21:10:49 UTC (rev 8115)
@@ -44,8 +44,8 @@
import org.jboss.portal.portlet.state.PropertyMap;
import org.jboss.portal.portlet.state.SimplePropertyMap;
import org.jboss.portal.portlet.state.PropertyContext;
-import org.jboss.portal.portlet.test.ValueMapAssert;
-import org.jboss.portal.portlet.test.support.PortletSupport;
+import org.jboss.portal.test.portlet.state.ValueMapAssert;
+import org.jboss.portal.test.portlet.state.PortletSupport;
import java.util.Collections;
import java.util.HashSet;
Copied:
modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/state/ActionContextImpl.java
(from rev 7982,
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/test/ActionContextImpl.java)
===================================================================
---
modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/state/ActionContextImpl.java
(rev 0)
+++
modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/state/ActionContextImpl.java 2007-08-30
21:10:49 UTC (rev 8115)
@@ -0,0 +1,56 @@
+/******************************************************************************
+ * 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.test.portlet.state;
+
+import org.jboss.portal.Mode;
+import org.jboss.portal.common.invocation.resolver.MapAttributeResolver;
+import org.jboss.portal.portlet.invocation.PortletInvocation;
+import org.jboss.portal.portlet.support.spi.ActionContextSupport;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 5113 $
+ */
+public class ActionContextImpl extends ActionContextSupport
+{
+
+ /** . */
+ private final Mode mode;
+
+ public ActionContextImpl(Mode mode)
+ {
+ this.mode = mode;
+ addResolver(PortletInvocation.REQUEST_SCOPE, new MapAttributeResolver());
+ addResolver(PortletInvocation.INVOCATION_SCOPE, new MapAttributeResolver());
+ }
+
+ public ActionContextImpl()
+ {
+ this(Mode.EDIT);
+ }
+
+ public Mode getMode()
+ {
+ return mode;
+ }
+}
Modified:
modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/state/ConsumerStatefulPortletInvokerTestCase.java
===================================================================
---
modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/state/ConsumerStatefulPortletInvokerTestCase.java 2007-08-30
20:00:55 UTC (rev 8114)
+++
modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/state/ConsumerStatefulPortletInvokerTestCase.java 2007-08-30
21:10:49 UTC (rev 8115)
@@ -30,6 +30,7 @@
import org.jboss.portal.portlet.impl.state.StateConverterV0;
import org.jboss.portal.portlet.impl.state.consumer.ConsumerPersistenceManagerService;
import
org.jboss.portal.portlet.impl.state.producer.PortletStatePersistenceManagerService;
+import org.jboss.portal.portlet.impl.spi.AbstractInstanceContext;
import org.jboss.portal.portlet.invocation.ActionInvocation;
import org.jboss.portal.portlet.invocation.PortletInvocation;
import org.jboss.portal.portlet.state.AccessMode;
@@ -38,10 +39,6 @@
import org.jboss.portal.portlet.state.StateConverter;
import org.jboss.portal.portlet.state.consumer.ConsumerPortletInvoker;
import org.jboss.portal.portlet.state.producer.ProducerPortletInvoker;
-import org.jboss.portal.portlet.test.ActionContextImpl;
-import org.jboss.portal.portlet.test.InstanceContextImpl;
-import org.jboss.portal.portlet.test.support.PortletInvokerSupport;
-import org.jboss.portal.portlet.test.support.PortletSupport;
import org.jboss.portal.common.value.Value;
import java.util.Collections;
@@ -203,7 +200,7 @@
protected ActionInvocation createAction(PortletContext portletRef, AccessMode
accessMode)
{
ActionContextImpl actionCtx = new ActionContextImpl();
- InstanceContextImpl instanceCtx = new InstanceContextImpl("blah",
accessMode);
+ AbstractInstanceContext instanceCtx = new AbstractInstanceContext("blah",
accessMode);
//
ActionInvocation action = new ActionInvocation(actionCtx);
@@ -214,7 +211,7 @@
protected PortletContext getImplicitClonedRef(ActionInvocation action)
{
- InstanceContextImpl instanceCtx =
(InstanceContextImpl)action.getInstanceContext();
+ AbstractInstanceContext instanceCtx =
(AbstractInstanceContext)action.getInstanceContext();
return instanceCtx.getClonedContext();
}
Copied:
modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/state/PortletInvokerSupport.java
(from rev 7982,
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/test/support/PortletInvokerSupport.java)
===================================================================
---
modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/state/PortletInvokerSupport.java
(rev 0)
+++
modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/state/PortletInvokerSupport.java 2007-08-30
21:10:49 UTC (rev 8115)
@@ -0,0 +1,259 @@
+/******************************************************************************
+ * 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.test.portlet.state;
+
+import org.jboss.portal.portlet.InvalidPortletIdException;
+import org.jboss.portal.portlet.NoSuchPortletException;
+import org.jboss.portal.portlet.Portlet;
+import org.jboss.portal.portlet.PortletContext;
+import org.jboss.portal.portlet.PortletInvoker;
+import org.jboss.portal.portlet.PortletInvokerException;
+import org.jboss.portal.portlet.support.info.PortletInfoSupport;
+import org.jboss.portal.portlet.info.PortletInfo;
+import org.jboss.portal.portlet.invocation.PortletInvocation;
+import org.jboss.portal.portlet.invocation.response.PortletInvocationResponse;
+import org.jboss.portal.portlet.state.PropertyChange;
+import org.jboss.portal.portlet.state.PropertyMap;
+import org.jboss.portal.portlet.state.SimplePropertyMap;
+import org.jboss.portal.common.value.Value;
+
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.Iterator;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 6712 $
+ */
+public class PortletInvokerSupport implements PortletInvoker
+{
+
+ /** . */
+ private Map portlets;
+
+ public PortletInvokerSupport()
+ {
+ this.portlets = new HashMap();
+ }
+
+ public void setValid(String portletId, boolean valid)
+ {
+ getInternalPortlet(portletId).valid = valid;
+ }
+
+ public InternalPortlet addInternalPortlet(String portletId, PortletInfoSupport info)
+ {
+ return addInternalPortlet(portletId, new PortletSupport(info));
+ }
+
+ public InternalPortlet addInternalPortlet(String portletId, PortletSupport support)
+ {
+ if (portletId == null)
+ {
+ throw new IllegalArgumentException();
+ }
+ if (support == null)
+ {
+ throw new IllegalArgumentException();
+ }
+ InternalPortlet portlet = new InternalPortlet(portletId, support);
+ if (portlets.put(portletId, portlet) != null)
+ {
+ throw new IllegalStateException();
+ }
+ return portlet;
+ }
+
+ public PortletInvokerSupport removeInternalPortlet(String portletId)
+ {
+ if (portlets.remove(portletId) == null)
+ {
+ throw new IllegalStateException();
+ }
+ return this;
+ }
+
+ public InternalPortlet getInternalPortlet(String portletId)
+ {
+ if (portletId == null)
+ {
+ throw new IllegalArgumentException();
+ }
+ InternalPortlet portlet = (InternalPortlet)portlets.get(portletId);
+ if (portlet == null)
+ {
+ throw new IllegalArgumentException();
+ }
+ return portlet;
+ }
+
+ public Set getPortlets()
+ {
+ return new HashSet(portlets.values());
+ }
+
+ public Portlet getPortlet(PortletContext portletContext) throws
IllegalArgumentException, PortletInvokerException
+ {
+ return internalGetPortlet(portletContext);
+ }
+
+ public PortletInvocationResponse invoke(PortletInvocation invocation) throws
PortletInvokerException
+ {
+ PortletContext portletContext = invocation.getTarget();
+ InternalPortlet portlet = internalGetPortlet(portletContext);
+ return portlet.support.invoke(invocation);
+ }
+
+ private InternalPortlet internalGetPortlet(PortletContext portletContext) throws
IllegalArgumentException, PortletInvokerException
+ {
+ if (portletContext == null)
+ {
+ throw new IllegalArgumentException();
+ }
+ String portletId = portletContext.getId();
+ InternalPortlet portlet = (InternalPortlet)portlets.get(portletId);
+ if (portlet == null)
+ {
+ throw new NoSuchPortletException(portletId);
+ }
+ if (portlet.isValid() == false)
+ {
+ throw new InvalidPortletIdException(portletId);
+ }
+ return portlet;
+ }
+
+ public static class InternalPortlet implements Portlet
+ {
+
+ /** . */
+ private final PortletContext portletContext;
+
+ /** . */
+ private final PortletSupport support;
+
+ /** . */
+ private boolean valid;
+
+ /** . */
+ private Map state;
+
+ public InternalPortlet(String portletId, PortletSupport support)
+ {
+ if (portletId == null)
+ {
+ throw new IllegalArgumentException();
+ }
+ if (support == null)
+ {
+ throw new IllegalArgumentException();
+ }
+ this.portletContext = PortletContext.createPortletContext(portletId);
+ this.support = support;
+ this.valid = true;
+ this.state = new HashMap();
+ }
+
+ public void addPreference(String key, Value value)
+ {
+ support.getInfoSupport().getPreferencesSupport().addPreference(key);
+ state.put(key, value);
+ }
+
+ public void addPreference(String key, Value value, Boolean readOnly)
+ {
+ support.getInfoSupport().getPreferencesSupport().addPreference(key, readOnly);
+ state.put(key, value);
+ }
+
+ public PortletContext getContext()
+ {
+ return portletContext;
+ }
+
+ public PortletInfo getInfo()
+ {
+ return support.getInfoSupport();
+ }
+
+ public boolean isRemote()
+ {
+ return false;
+ }
+
+ public boolean isValid()
+ {
+ return valid;
+ }
+ }
+
+ public PropertyMap getProperties(PortletContext portletContext, Set keys) throws
IllegalArgumentException, PortletInvokerException, UnsupportedOperationException
+ {
+ InternalPortlet internalPortlet = internalGetPortlet(portletContext);
+ PropertyMap props = new SimplePropertyMap();
+ for (Iterator i = keys.iterator();i.hasNext();)
+ {
+ String key = (String)i.next();
+ Value value = (Value)internalPortlet.state.get(key);
+ if (value != null)
+ {
+ props.put(key, value.clone());
+ }
+ }
+ return props;
+ }
+
+ public PropertyMap getProperties(PortletContext portletContext) throws
IllegalArgumentException, PortletInvokerException, UnsupportedOperationException
+ {
+ InternalPortlet internalPortlet = internalGetPortlet(portletContext);
+ PropertyMap props = new SimplePropertyMap();
+ for (Iterator i = internalPortlet.state.keySet().iterator();i.hasNext();)
+ {
+ String key = (String)i.next();
+ Value value = (Value)internalPortlet.state.get(key);
+ if (value != null)
+ {
+ props.put(key, value.clone());
+ }
+ }
+ return props;
+ }
+
+ public PortletContext createClone(PortletContext portletContext) throws
IllegalArgumentException, PortletInvokerException, UnsupportedOperationException
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ public List destroyClones(List portletContexts) throws IllegalArgumentException,
PortletInvokerException, UnsupportedOperationException
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ public PortletContext setProperties(PortletContext portletContext, PropertyChange[]
changes) throws IllegalArgumentException, PortletInvokerException,
UnsupportedOperationException
+ {
+ throw new UnsupportedOperationException();
+ }
+}
Property changes on:
modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/state/PortletInvokerSupport.java
___________________________________________________________________
Name: svn:executable
+
Copied:
modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/state/PortletSupport.java
(from rev 7982,
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/test/support/PortletSupport.java)
===================================================================
---
modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/state/PortletSupport.java
(rev 0)
+++
modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/state/PortletSupport.java 2007-08-30
21:10:49 UTC (rev 8115)
@@ -0,0 +1,68 @@
+/******************************************************************************
+ * 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.test.portlet.state;
+
+import org.jboss.portal.portlet.PortletInvokerException;
+import org.jboss.portal.portlet.support.info.PortletInfoSupport;
+import org.jboss.portal.portlet.info.PortletInfo;
+import org.jboss.portal.portlet.invocation.PortletInvocation;
+import org.jboss.portal.portlet.invocation.response.PortletInvocationResponse;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 6116 $
+ */
+public class PortletSupport
+{
+
+ /** . */
+ protected final PortletInfoSupport info;
+
+ /** . */
+ protected boolean valid;
+
+ public PortletSupport(PortletInfoSupport info)
+ {
+ if (info == null)
+ {
+ throw new IllegalArgumentException();
+ }
+ this.info = info;
+ this.valid = true;
+ }
+
+ public PortletSupport()
+ {
+ this(new PortletInfoSupport());
+ }
+
+ public PortletInfoSupport getInfoSupport()
+ {
+ return info;
+ }
+
+ public PortletInvocationResponse invoke(PortletInvocation invocation) throws
PortletInvokerException
+ {
+ throw new PortletInvokerException("No implementations");
+ }
+}
Property changes on:
modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/state/PortletSupport.java
___________________________________________________________________
Name: svn:executable
+
Modified:
modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/state/ProducerStatefulPortletInvokerTestCase.java
===================================================================
---
modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/state/ProducerStatefulPortletInvokerTestCase.java 2007-08-30
20:00:55 UTC (rev 8114)
+++
modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/state/ProducerStatefulPortletInvokerTestCase.java 2007-08-30
21:10:49 UTC (rev 8115)
@@ -28,6 +28,7 @@
import org.jboss.portal.portlet.impl.state.StateManagementPolicyService;
import org.jboss.portal.portlet.impl.state.StateConverterV0;
import
org.jboss.portal.portlet.impl.state.producer.PortletStatePersistenceManagerService;
+import org.jboss.portal.portlet.impl.spi.AbstractInstanceContext;
import org.jboss.portal.portlet.invocation.ActionInvocation;
import org.jboss.portal.portlet.invocation.PortletInvocation;
import org.jboss.portal.portlet.state.AccessMode;
@@ -35,10 +36,6 @@
import org.jboss.portal.portlet.state.PropertyMap;
import org.jboss.portal.portlet.state.StateConverter;
import org.jboss.portal.portlet.state.producer.ProducerPortletInvoker;
-import org.jboss.portal.portlet.test.ActionContextImpl;
-import org.jboss.portal.portlet.test.InstanceContextImpl;
-import org.jboss.portal.portlet.test.support.PortletInvokerSupport;
-import org.jboss.portal.portlet.test.support.PortletSupport;
import org.jboss.portal.portlet.support.info.PortletInfoSupport;
import org.jboss.portal.common.value.Value;
@@ -195,7 +192,7 @@
protected ActionInvocation createAction(PortletContext portletRef, AccessMode
accessMode)
{
ActionContextImpl actionCtx = new ActionContextImpl();
- InstanceContextImpl instanceCtx = new InstanceContextImpl("blah",
accessMode);
+ AbstractInstanceContext instanceCtx = new AbstractInstanceContext("blah",
accessMode);
//
ActionInvocation action = new ActionInvocation(actionCtx);
@@ -206,7 +203,7 @@
protected PortletContext getImplicitClonedRef(ActionInvocation action)
{
- InstanceContextImpl instanceCtx =
(InstanceContextImpl)action.getInstanceContext();
+ AbstractInstanceContext instanceCtx =
(AbstractInstanceContext)action.getInstanceContext();
return instanceCtx.getClonedContext();
}
Modified:
modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/state/RemoteStoreProducerStatefulPortletInvokerTestCase.java
===================================================================
---
modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/state/RemoteStoreProducerStatefulPortletInvokerTestCase.java 2007-08-30
20:00:55 UTC (rev 8114)
+++
modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/state/RemoteStoreProducerStatefulPortletInvokerTestCase.java 2007-08-30
21:10:49 UTC (rev 8115)
@@ -23,8 +23,8 @@
package org.jboss.portal.test.portlet.state;
import org.jboss.portal.portlet.invocation.ActionInvocation;
-import org.jboss.portal.portlet.test.InstanceContextImpl;
import org.jboss.portal.portlet.PortletContext;
+import org.jboss.portal.portlet.impl.spi.AbstractInstanceContext;
/**
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
@@ -39,7 +39,7 @@
protected PortletContext getModifiedPortletRef(ActionInvocation action)
{
- InstanceContextImpl instanceCtx =
(InstanceContextImpl)action.getInstanceContext();
+ AbstractInstanceContext instanceCtx =
(AbstractInstanceContext)action.getInstanceContext();
return instanceCtx.getModifiedContext();
}
}
Modified:
modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/state/StateConverterV0TestCase.java
===================================================================
---
modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/state/StateConverterV0TestCase.java 2007-08-30
20:00:55 UTC (rev 8114)
+++
modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/state/StateConverterV0TestCase.java 2007-08-30
21:10:49 UTC (rev 8115)
@@ -30,7 +30,7 @@
import org.jboss.portal.portlet.state.StateConversionException;
import org.jboss.portal.portlet.state.StateConverter;
import org.jboss.portal.portlet.state.producer.PortletState;
-import org.jboss.portal.portlet.test.ValueMapAssert;
+import org.jboss.portal.test.portlet.state.ValueMapAssert;
/**
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
Copied:
modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/state/TestPortletInvoker.java
(from rev 7982,
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/test/TestPortletInvoker.java)
===================================================================
---
modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/state/TestPortletInvoker.java
(rev 0)
+++
modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/state/TestPortletInvoker.java 2007-08-30
21:10:49 UTC (rev 8115)
@@ -0,0 +1,157 @@
+/******************************************************************************
+ * 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.test.portlet.state;
+
+import org.jboss.portal.common.invocation.InterceptorStackFactory;
+import org.jboss.portal.common.invocation.Invocation;
+import org.jboss.portal.common.invocation.InvocationException;
+import org.jboss.portal.common.invocation.InvocationHandler;
+import org.jboss.portal.portlet.Portlet;
+import org.jboss.portal.portlet.PortletContext;
+import org.jboss.portal.portlet.PortletInvoker;
+import org.jboss.portal.portlet.PortletInvokerException;
+import org.jboss.portal.portlet.invocation.PortletInvocation;
+import org.jboss.portal.portlet.invocation.response.PortletInvocationResponse;
+import org.jboss.portal.portlet.state.PropertyChange;
+import org.jboss.portal.portlet.state.PropertyMap;
+
+import java.util.List;
+import java.util.Set;
+
+/**
+ * A simple consumer.
+ *
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 6712 $
+ */
+public class TestPortletInvoker implements PortletInvoker
+{
+
+ /** . */
+ private InterceptorStackFactory stackFactory;
+
+ /** . */
+ private PortletInvoker producer;
+
+ /** . */
+ private InvocationHandler handler = new InvocationHandler()
+ {
+ public Object invoke(Invocation invocation) throws Exception, InvocationException
+ {
+ PortletInvocation portletInvocation = (PortletInvocation)invocation;
+ try
+ {
+ portletInvocation.setHandler(null);
+ return producer.invoke(portletInvocation);
+ }
+ finally
+ {
+ portletInvocation.setHandler(this);
+ }
+ }
+ };
+
+ public InterceptorStackFactory getStackFactory()
+ {
+ return stackFactory;
+ }
+
+ public void setStackFactory(InterceptorStackFactory stackFactory)
+ {
+ this.stackFactory = stackFactory;
+ }
+
+ public PortletInvoker getProducer()
+ {
+ return producer;
+ }
+
+ public void setProducer(PortletInvoker producer)
+ {
+ this.producer = producer;
+ }
+
+ public Set getPortlets() throws PortletInvokerException
+ {
+ return producer.getPortlets();
+ }
+
+ public Portlet getPortlet(PortletContext portletContext) throws
IllegalArgumentException, PortletInvokerException
+ {
+ return producer.getPortlet(portletContext);
+ }
+
+ public PortletInvocationResponse invoke(PortletInvocation invocation) throws
PortletInvokerException
+ {
+ InvocationHandler prevHandler = invocation.getHandler();
+ try
+ {
+ invocation.setHandler(handler);
+ return
(PortletInvocationResponse)invocation.invoke(stackFactory.getInterceptorStack());
+ }
+ catch (Exception e)
+ {
+ if (e instanceof PortletInvokerException)
+ {
+ throw(PortletInvokerException)e;
+ }
+ else if (e instanceof RuntimeException)
+ {
+ throw(RuntimeException)e;
+ }
+ else
+ {
+ throw new PortletInvokerException(e);
+ }
+ }
+ finally
+ {
+ invocation.setHandler(prevHandler);
+ }
+ }
+
+ public PortletContext createClone(PortletContext portletContext) throws
IllegalArgumentException, PortletInvokerException, UnsupportedOperationException
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ public List destroyClones(List portletContexts) throws IllegalArgumentException,
PortletInvokerException, UnsupportedOperationException
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ public PropertyMap getProperties(PortletContext portletContext, Set keys) throws
IllegalArgumentException, PortletInvokerException, UnsupportedOperationException
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ public PropertyMap getProperties(PortletContext portletContext) throws
IllegalArgumentException, PortletInvokerException, UnsupportedOperationException
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ public PortletContext setProperties(PortletContext portletContext, PropertyChange[]
changes) throws IllegalArgumentException, PortletInvokerException,
UnsupportedOperationException
+ {
+ throw new UnsupportedOperationException();
+ }
+}
Property changes on:
modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/state/TestPortletInvoker.java
___________________________________________________________________
Name: svn:executable
+
Copied:
modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/state/ValueMapAssert.java
(from rev 7982,
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/test/ValueMapAssert.java)
===================================================================
---
modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/state/ValueMapAssert.java
(rev 0)
+++
modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/state/ValueMapAssert.java 2007-08-30
21:10:49 UTC (rev 8115)
@@ -0,0 +1,65 @@
+/******************************************************************************
+ * 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.test.portlet.state;
+
+import junit.framework.Assert;
+import org.jboss.portal.common.value.Value;
+import org.jboss.portal.portlet.state.PropertyMap;
+
+import java.util.HashSet;
+import java.util.Iterator;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 5448 $
+ */
+public class ValueMapAssert extends Assert
+{
+ public static void assertEquals(PropertyMap vm1, PropertyMap vm2)
+ {
+ if (vm1 == null)
+ {
+ if (vm2 != null)
+ {
+ fail("Value map should be null");
+ }
+ }
+ else
+ {
+ if (vm2 == null)
+ {
+ fail("Value map should not be null");
+ }
+ assertEquals("Value maps don't have the same keys", new
HashSet(vm1.keySet()), new HashSet(vm2.keySet()));
+ for (Iterator i = vm1.keySet().iterator(); i.hasNext();)
+ {
+ String key = (String)i.next();
+ Value v1 = vm1.getProperty(key);
+ Value v2 = vm2.getProperty(key);
+ assertEquals("Values for key " + key + " are not equals",
v1, v2);
+ }
+ }
+ }
+
+
+}
Property changes on:
modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/state/ValueMapAssert.java
___________________________________________________________________
Name: svn:executable
+
Modified: modules/portlet/trunk/test/build.xml
===================================================================
--- modules/portlet/trunk/test/build.xml 2007-08-30 20:00:55 UTC (rev 8114)
+++ modules/portlet/trunk/test/build.xml 2007-08-30 21:10:49 UTC (rev 8115)
@@ -98,6 +98,7 @@
<path refid="jboss.jbossxb.classpath"/>
<path refid="apache.log4j.classpath"/>
<path refid="sun.servlet.classpath"/>
+ <path refid="junit.junit.classpath"/>
</path>
<!-- Configure modules -->
@@ -164,8 +165,6 @@
<fileset dir="${jboss.portal/modules/test.lib}"
includes="portal-test-generic-lib.jar"/>
<fileset dir="${jboss.portal-portlet.lib}"
includes="*.jar"/>
- <fileset dir="${sun.jaf.lib}" includes="*.jar"/>
-
<fileset dir="${jboss.remoting.lib}"
includes="jboss-remoting.jar"/>
<fileset dir="${jboss.microcontainer.lib}"
includes="*.jar"/>
@@ -228,15 +227,269 @@
<!--<antcall target="test-framework"/>-->
</target>
+ <target name="bilta" depends="init">
+ <execute-tests>
+ <x-test>
+<!--
+ <test todir="${test.reports}"
name="org.jboss.portal.portlet.test.url.EncoderTestCase"/>
+ <test todir="${test.reports}"
name="org.jboss.portal.portlet.test.url.DecoderTestCase"/>
+-->
+ <test todir="${test.reports}"
name="org.jboss.portal.portlet.test.StringCodecTestCase"/>
+ </x-test>
+ <x-sysproperty>
+ <sysproperty key="test.root"
value="${jboss.portal-portlet.root}/lib"/>
+ <sysproperty key="test.uri"
value="/portlet-test/"/>
+<!--
+ <jvmarg value="-Xdebug"/>
+ <jvmarg
value="-Xrunjdwp:transport=dt_socket,address=7878,server=y,suspend=y"/>
+-->
+ </x-sysproperty>
+ <x-classpath>
+ <path refid="oswego.concurrent.classpath"/>
+ <path refid="jboss.remoting.classpath"/>
+ <path refid="jboss.microcontainer.classpath"/>
+ <path refid="jboss.aop.classpath"/>
+ <path refid="javassist.javassist.classpath"/>
+ <path refid="trove.trove.classpath"/>
+ <path refid="apache.httpclient.classpath"/>
+ <path refid="apache.logging.classpath"/>
+ <path refid="apache.codec.classpath"/>
+ <pathelement
location="../tools/lib/cargo-core-uberjar-0.8.jar"/>
+ <path refid="jboss.jbossxb.classpath"/>
+ <path refid="apache.xerces.classpath"/>
+ <!--<path refid="jbossas/core.libs.classpath"/>-->
+ <pathelement location="${source.java}"/>
+ <pathelement location="${build.classes}"/>
+ <pathelement location="${build.resources}"/>
+ <pathelement
location="${jboss.portal-portlet.root}/classes"/>
+ <path refid="library.classpath"/>
+ <path refid="dependentmodule.classpath"/>
+ </x-classpath>
+ </execute-tests>
+ </target>
+
<target name="bilto" depends="init">
<execute-tests>
<x-test>
+
+ <!--Spec TCK Assertions tests-->
<zest todir="${test.reports}"
name="org.jboss.portal.test.framework.runner.HTTPTestRunner"
-
outfile="TEST-org.jboss.portal.test.portlet.info.InfoTestCase"
- id="org.jboss.portal.test.portlet.info.InfoTestCase">
+
outfile="TEST-org.jboss.portal.test.portlet.jsr168.tck.DispatcherTestCase"
+
id="org.jboss.portal.test.portlet.jsr168.tck.DispatcherTestCase">
+ <parameter name="archive"
value="test-jsr168-dispatcher.war"/>
+ </zest>
+ <zest todir="${test.reports}"
+ name="org.jboss.portal.test.framework.runner.HTTPTestRunner"
+
outfile="TEST-org.jboss.portal.test.portlet.jsr168.tck.PortletConfigTestCase"
+
id="org.jboss.portal.test.portlet.jsr168.tck.PortletConfigTestCase">
+ <parameter name="archive"
value="test-jsr168-portletconfig.war"/>
+ </zest>
+ <zest todir="${test.reports}"
+ name="org.jboss.portal.test.framework.runner.HTTPTestRunner"
+
outfile="TEST-org.jboss.portal.test.portlet.jsr168.tck.PortletContextTestCase"
+
id="org.jboss.portal.test.portlet.jsr168.tck.PortletContextTestCase">
+ <parameter name="archive"
value="test-jsr168-portletcontext.war"/>
+ </zest>
+ <zest todir="${test.reports}"
+ name="org.jboss.portal.test.framework.runner.HTTPTestRunner"
+
outfile="TEST-org.jboss.portal.test.portlet.jsr168.tck.PortletInterfaceTestCase"
+
id="org.jboss.portal.test.portlet.jsr168.tck.PortletInterfaceTestCase">
+ <parameter name="archive"
value="test-jsr168-portletinterface.war"/>
+ </zest>
+ <zest todir="${test.reports}"
+ name="org.jboss.portal.test.framework.runner.HTTPTestRunner"
+
outfile="TEST-org.jboss.portal.test.portlet.jsr168.tck.PortletModeTestCase"
+
id="org.jboss.portal.test.portlet.jsr168.tck.PortletModeTestCase">
+ <parameter name="archive"
value="test-jsr168-portletmode.war"/>
+ </zest>
+ <zest todir="${test.reports}"
+ name="org.jboss.portal.test.framework.runner.HTTPTestRunner"
+
outfile="TEST-org.jboss.portal.test.portlet.jsr168.tck.PortletRequestsTestCase"
+
id="org.jboss.portal.test.portlet.jsr168.tck.PortletRequestsTestCase">
+ <parameter name="archive"
value="test-jsr168-portletrequests.war"/>
+ </zest>
+ <zest todir="${test.reports}"
+ name="org.jboss.portal.test.framework.runner.HTTPTestRunner"
+
outfile="TEST-org.jboss.portal.test.portlet.jsr168.tck.PortletResponsesTestCase"
+
id="org.jboss.portal.test.portlet.jsr168.tck.PortletResponsesTestCase">
+ <parameter name="archive"
value="test-jsr168-portletresponses.war"/>
+ </zest>
+ <zest todir="${test.reports}"
+ name="org.jboss.portal.test.framework.runner.HTTPTestRunner"
+
outfile="TEST-org.jboss.portal.test.portlet.jsr168.tck.PortletSessionTestCase"
+
id="org.jboss.portal.test.portlet.jsr168.tck.PortletSessionTestCase">
+ <parameter name="archive"
value="test-jsr168-portletsession.war"/>
+ </zest>
+ <zest todir="${test.reports}"
+ name="org.jboss.portal.test.framework.runner.HTTPTestRunner"
+
outfile="TEST-org.jboss.portal.test.portlet.jsr168.tck.PortletURLTestCase"
+
id="org.jboss.portal.test.portlet.jsr168.tck.PortletURLTestCase">
+ <parameter name="archive"
value="test-jsr168-portleturl.war"/>
+ </zest>
+ <zest todir="${test.reports}"
+ name="org.jboss.portal.test.framework.runner.HTTPTestRunner"
+
outfile="TEST-org.jboss.portal.test.portlet.jsr168.tck.PreferencesTestCase"
+
id="org.jboss.portal.test.portlet.jsr168.tck.PreferencesTestCase">
+ <parameter name="archive"
value="test-jsr168-preferences.war"/>
+ </zest>
+ <zest todir="${test.reports}"
+ name="org.jboss.portal.test.framework.runner.HTTPTestRunner"
+
outfile="TEST-org.jboss.portal.test.portlet.jsr168.tck.WindowStatesTestCase"
+
id="org.jboss.portal.test.portlet.jsr168.tck.WindowStatesTestCase">
+ <parameter name="archive"
value="test-jsr168-windowstates.war"/>
+ </zest>
+
+ <!--API Tests-->
+ <zest todir="${test.reports}"
+ name="org.jboss.portal.test.framework.runner.HTTPTestRunner"
+
outfile="TEST-org.jboss.portal.test.portlet.jsr168.api.ActionRequestTestCase"
+
id="org.jboss.portal.test.portlet.jsr168.api.ActionRequestTestCase">
<parameter name="archive"
value="test-jsr168-api-actionrequest.war"/>
</zest>
+ <zest todir="${test.reports}"
+ name="org.jboss.portal.test.framework.runner.HTTPTestRunner"
+
outfile="TEST-org.jboss.portal.test.portlet.jsr168.api.ActionResponseTestCase"
+
id="org.jboss.portal.test.portlet.jsr168.api.ActionResponseTestCase">
+ <parameter name="archive"
value="test-jsr168-api-actionresponse.war"/>
+ </zest>
+ <zest todir="${test.reports}"
+ name="org.jboss.portal.test.framework.runner.HTTPTestRunner"
+
outfile="TEST-org.jboss.portal.test.portlet.jsr168.api.PortalContextTestCase"
+
id="org.jboss.portal.test.portlet.jsr168.api.PortalContextTestCase">
+ <parameter name="archive"
value="test-jsr168-api-portalcontext.war"/>
+ </zest>
+ <zest todir="${test.reports}"
+ name="org.jboss.portal.test.framework.runner.HTTPTestRunner"
+
outfile="TEST-org.jboss.portal.test.portlet.jsr168.api.PortletConfigTestCase"
+
id="org.jboss.portal.test.portlet.jsr168.api.PortletConfigTestCase">
+ <parameter name="archive"
value="test-jsr168-api-portletconfig.war"/>
+ </zest>
+ <zest todir="${test.reports}"
+ name="org.jboss.portal.test.framework.runner.HTTPTestRunner"
+
outfile="TEST-org.jboss.portal.test.portlet.jsr168.api.PortletContextTestCase"
+
id="org.jboss.portal.test.portlet.jsr168.api.PortletContextTestCase">
+ <parameter name="archive"
value="test-jsr168-api-portletcontext.war"/>
+ </zest>
+ <zest todir="${test.reports}"
+ name="org.jboss.portal.test.framework.runner.HTTPTestRunner"
+
outfile="TEST-org.jboss.portal.test.portlet.jsr168.api.PortletModeTestCase"
+
id="org.jboss.portal.test.portlet.jsr168.api.PortletModeTestCase">
+ <parameter name="archive"
value="test-jsr168-api-portletmode.war"/>
+ </zest>
+ <zest todir="${test.reports}"
+ name="org.jboss.portal.test.framework.runner.HTTPTestRunner"
+
outfile="TEST-org.jboss.portal.test.portlet.jsr168.api.PortletPreferencesTestCase"
+
id="org.jboss.portal.test.portlet.jsr168.api.PortletPreferencesTestCase">
+ <parameter name="archive"
value="test-jsr168-api-portletpreferences.war"/>
+ </zest>
+ <zest todir="${test.reports}"
+ name="org.jboss.portal.test.framework.runner.HTTPTestRunner"
+
outfile="TEST-org.jboss.portal.test.portlet.jsr168.api.PortletSessionTestCase"
+
id="org.jboss.portal.test.portlet.jsr168.api.PortletSessionTestCase">
+ <parameter name="archive"
value="test-jsr168-api-portletsession.war"/>
+ </zest>
+ <zest todir="${test.reports}"
+ name="org.jboss.portal.test.framework.runner.HTTPTestRunner"
+
outfile="TEST-org.jboss.portal.test.portlet.jsr168.api.PortletSessionUtilTestCase"
+
id="org.jboss.portal.test.portlet.jsr168.api.PortletSessionUtilTestCase">
+ <parameter name="archive"
value="test-jsr168-api-portletsessionutil.war"/>
+ </zest>
+ <zest todir="${test.reports}"
+ name="org.jboss.portal.test.framework.runner.HTTPTestRunner"
+
outfile="TEST-org.jboss.portal.test.portlet.jsr168.api.PortletURLTestCase"
+
id="org.jboss.portal.test.portlet.jsr168.api.PortletURLTestCase">
+ <parameter name="archive"
value="test-jsr168-api-portleturl.war"/>
+ </zest>
+ <zest todir="${test.reports}"
+ name="org.jboss.portal.test.framework.runner.HTTPTestRunner"
+
outfile="TEST-org.jboss.portal.test.portlet.jsr168.api.RenderRequestTestCase"
+
id="org.jboss.portal.test.portlet.jsr168.api.RenderRequestTestCase">
+ <parameter name="archive"
value="test-jsr168-api-renderrequest.war"/>
+ </zest>
+ <zest todir="${test.reports}"
+ name="org.jboss.portal.test.framework.runner.HTTPTestRunner"
+
outfile="TEST-org.jboss.portal.test.portlet.jsr168.api.RenderResponseTestCase"
+
id="org.jboss.portal.test.portlet.jsr168.api.RenderResponseTestCase">
+ <parameter name="archive"
value="test-jsr168-api-renderresponse.war"/>
+ </zest>
+ <zest todir="${test.reports}"
+ name="org.jboss.portal.test.framework.runner.HTTPTestRunner"
+
outfile="TEST-org.jboss.portal.test.portlet.jsr168.api.WindowStateTestCase"
+
id="org.jboss.portal.test.portlet.jsr168.api.WindowStateTestCase">
+ <parameter name="archive"
value="test-jsr168-api-windowstate.war"/>
+ </zest>
+
+ <!--Ext Tests-->
+ <zest todir="${test.reports}"
+ name="org.jboss.portal.test.framework.runner.HTTPTestRunner"
+
outfile="TEST-org.jboss.portal.test.portlet.jsr168.ext.DispatcherTestCase"
+
id="org.jboss.portal.test.portlet.jsr168.ext.DispatcherTestCase">
+ <parameter name="archive"
value="test-jsr168-ext-dispatcher.war"/>
+ </zest>
+ <zest todir="${test.reports}"
+ name="org.jboss.portal.test.framework.runner.HTTPTestRunner"
+
outfile="TEST-org.jboss.portal.test.portlet.jsr168.ext.PortletConfigTestCase"
+
id="org.jboss.portal.test.portlet.jsr168.ext.PortletConfigTestCase">
+ <parameter name="archive"
value="test-jsr168-ext-portletconfig.war"/>
+ </zest>
+ <zest todir="${test.reports}"
+ name="org.jboss.portal.test.framework.runner.HTTPTestRunner"
+
outfile="TEST-org.jboss.portal.test.portlet.jsr168.ext.PortletModeTestCase"
+
id="org.jboss.portal.test.portlet.jsr168.ext.PortletModeTestCase">
+ <parameter name="archive"
value="test-jsr168-ext-portletmode.war"/>
+ </zest>
+ <zest todir="${test.reports}"
+ name="org.jboss.portal.test.framework.runner.HTTPTestRunner"
+
outfile="TEST-org.jboss.portal.test.portlet.jsr168.ext.PortletRequestsTestCase"
+
id="org.jboss.portal.test.portlet.jsr168.ext.PortletRequestsTestCase">
+ <parameter name="archive"
value="test-jsr168-ext-portletrequests.war"/>
+ </zest>
+ <zest todir="${test.reports}"
+ name="org.jboss.portal.test.framework.runner.HTTPTestRunner"
+
outfile="TEST-org.jboss.portal.test.portlet.jsr168.ext.PortletResponsesTestCase"
+
id="org.jboss.portal.test.portlet.jsr168.ext.PortletResponsesTestCase">
+ <parameter name="archive"
value="test-jsr168-ext-portletresponses.war"/>
+ </zest>
+ <zest todir="${test.reports}"
+ name="org.jboss.portal.test.framework.runner.HTTPTestRunner"
+
outfile="TEST-org.jboss.portal.test.portlet.jsr168.ext.PreferencesTestCase"
+
id="org.jboss.portal.test.portlet.jsr168.ext.PreferencesTestCase">
+ <parameter name="archive"
value="test-jsr168-ext-preferences.war"/>
+ </zest>
+ <zest todir="${test.reports}"
+ name="org.jboss.portal.test.framework.runner.HTTPTestRunner"
+
outfile="TEST-org.jboss.portal.test.portlet.jsr168.ext.SessionTestCase"
+
id="org.jboss.portal.test.portlet.jsr168.ext.SessionTestCase">
+ <parameter name="archive"
value="test-jsr168-ext-session.war"/>
+ </zest>
+ <zest todir="${test.reports}"
+ name="org.jboss.portal.test.framework.runner.HTTPTestRunner"
+
outfile="TEST-org.jboss.portal.test.portlet.jsr168.ext.ExpiringCacheTestCase"
+
id="org.jboss.portal.test.portlet.jsr168.ext.ExpiringCacheTestCase">
+ <parameter name="archive"
value="test-jsr168-ext-expiringcache.war"/>
+ </zest>
+ <zest todir="${test.reports}"
+ name="org.jboss.portal.test.framework.runner.HTTPTestRunner"
+
outfile="TEST-org.jboss.portal.test.portlet.jsr168.ext.NeverExpiringCacheTestCase"
+
id="org.jboss.portal.test.portlet.jsr168.ext.NeverExpiringCacheTestCase">
+ <parameter name="archive"
value="test-jsr168-ext-neverexpiringcache.war"/>
+ </zest>
+ <zest todir="${test.reports}"
+ name="org.jboss.portal.test.framework.runner.HTTPTestRunner"
+
outfile="TEST-org.jboss.portal.test.portlet.jsr168.ext.NoCacheTestCase"
+
id="org.jboss.portal.test.portlet.jsr168.ext.NoCacheTestCase">
+ <parameter name="archive"
value="test-jsr168-ext-nocache.war"/>
+ </zest>
+
+ <!--Misc Tests-->
+ <zest todir="${test.reports}"
+ name="org.jboss.portal.test.framework.runner.HTTPTestRunner"
+
outfile="TEST-org.jboss.portal.test.portlet.jsr168.misc.Log4jTestCase"
+
id="org.jboss.portal.test.portlet.jsr168.misc.Log4jTestCase">
+ <parameter name="archive"
value="test-jsr168-misc-log4j.war"/>
+ </zest>
+
</x-test>
<x-sysproperty>
<sysproperty key="test.root"
value="${jboss.portal-portlet.root}/lib"/>
@@ -264,6 +517,7 @@
<pathelement location="${build.classes}"/>
<pathelement location="${build.resources}"/>
<pathelement
location="${jboss.portal-portlet.root}/classes"/>
+ <fileset dir="${jboss.portal/modules/test.lib}"
includes="portal-test-generic-lib.jar"/>
<path refid="library.classpath"/>
<path refid="dependentmodule.classpath"/>
</x-classpath>
Modified:
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/PortalKernelBootstrap.java
===================================================================
---
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/PortalKernelBootstrap.java 2007-08-30
20:00:55 UTC (rev 8114)
+++
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/PortalKernelBootstrap.java 2007-08-30
21:10:49 UTC (rev 8115)
@@ -96,7 +96,7 @@
}
// For now we do it here
-// System.setProperty("org.jboss.logging.Logger.pluginClass",
"org.jboss.logging.log4j.Log4jLoggerPlugin");
+ System.setProperty("org.jboss.logging.Logger.pluginClass",
"org.jboss.logging.log4j.Log4jLoggerPlugin");
//
run();
Added:
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/PortalNavigationalState.java
===================================================================
---
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/PortalNavigationalState.java
(rev 0)
+++
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/PortalNavigationalState.java 2007-08-30
21:10:49 UTC (rev 8115)
@@ -0,0 +1,73 @@
+/******************************************************************************
+ * 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.test;
+
+import java.util.Map;
+import java.util.HashMap;
+import java.util.zip.GZIPOutputStream;
+import java.util.zip.GZIPInputStream;
+import java.io.Serializable;
+import java.io.ObjectOutputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.ByteArrayInputStream;
+import java.io.ObjectInputStream;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+public class PortalNavigationalState implements Serializable
+{
+
+ /** . */
+ private final Map windows = new HashMap();
+
+ public WindowNavigationalState getWindow(String windowId)
+ {
+ return (WindowNavigationalState)windows.get(windowId);
+ }
+
+ public void setWindow(String windowId, WindowNavigationalState window)
+ {
+ windows.put(windowId, window);
+ }
+
+ public byte[] getBytes() throws IOException
+ {
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ GZIPOutputStream zos = new GZIPOutputStream(baos);
+ ObjectOutputStream oos = new ObjectOutputStream(zos);
+ oos.writeObject(this);
+ oos.close();
+ return baos.toByteArray();
+ }
+
+ public static PortalNavigationalState create(byte[] bytes) throws IOException,
ClassNotFoundException
+ {
+ ByteArrayInputStream bais = new ByteArrayInputStream(bytes);
+ GZIPInputStream zis = new GZIPInputStream(bais);
+ ObjectInputStream ois = new ObjectInputStream(zis);
+ return (PortalNavigationalState)ois.readObject();
+ }
+}
Modified:
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/PortalServlet.java
===================================================================
---
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/PortalServlet.java 2007-08-30
20:00:55 UTC (rev 8114)
+++
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/PortalServlet.java 2007-08-30
21:10:49 UTC (rev 8115)
@@ -22,31 +22,11 @@
******************************************************************************/
package org.jboss.portal.portlet.test;
-import org.jboss.portal.portlet.container.PortletApplicationRegistry;
-import org.jboss.portal.portlet.container.PortletApplication;
-import org.jboss.portal.portlet.container.PortletContainer;
-import org.jboss.portal.portlet.invocation.RenderInvocation;
-import org.jboss.portal.portlet.impl.spi.AbstractRequestContext;
-import org.jboss.portal.portlet.impl.spi.AbstractSecurityContext;
-import org.jboss.portal.portlet.support.spi.InstanceContextSupport;
-import org.jboss.portal.portlet.support.spi.UserContextSupport;
-import org.jboss.portal.portlet.spi.WindowContext;
-import org.jboss.portal.portlet.PortletInvoker;
-import org.jboss.portal.portlet.PortletInvokerException;
-import org.jboss.portal.portlet.PortletContext;
-import org.jboss.portal.portlet.Portlet;
-import org.jboss.portal.Mode;
-import org.jboss.portal.WindowState;
-import org.jboss.portal.common.util.MarkupInfo;
-import org.jboss.portal.common.util.MediaType;
-
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.ServletException;
import java.io.IOException;
-import java.io.PrintWriter;
-import java.util.Iterator;
/**
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
@@ -55,61 +35,38 @@
public class PortalServlet extends HttpServlet
{
-
- protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws
ServletException, IOException
+ protected void service(HttpServletRequest req, HttpServletResponse resp) throws
ServletException, IOException
{
- PortletApplicationRegistry registry =
(PortletApplicationRegistry)getServletContext().getAttribute("PortletApplicationRegistry");
-
-
- resp.setContentType("text/html");
- PrintWriter writer = resp.getWriter();
-
- PortletInvoker invoker =
(PortletInvoker)getServletContext().getAttribute("ConsumerPortletInvoker");
-
- writer.print("<html><body>");
-
try
{
- for (Iterator i = invoker.getPortlets().iterator(); i.hasNext();)
+ _service(req, resp);
+ }
+ catch (Exception e)
+ {
+ if (e instanceof ServletException)
{
- Portlet portlet = (Portlet)i.next();
- writer.print("<div><div>" + portlet.getContext() +
"</div>");
-
- TestRenderContext renderContext = new TestRenderContext(Mode.VIEW,
WindowState.NORMAL, null, new MarkupInfo(MediaType.HTML, "UTF8"), req, resp);
- RenderInvocation render = new RenderInvocation(renderContext);
- render.setRequestContext(new AbstractRequestContext(req, resp));
- render.setInstanceContext(new InstanceContextImpl("Whatever"));
- render.setUserContext(new UserContextSupport());
- render.setWindowContext(new WindowContext()
- {
- public String getId()
- {
- return "blah";
- }
- });
- render.setPortalContext(new TestPortalContext());
- render.setSecurityContext(new AbstractSecurityContext(req));
- render.setTarget(portlet.getContext());
-
- try
- {
- invoker.invoke(render);
- }
- catch (PortletInvokerException e)
- {
- e.printStackTrace();
- }
-
- writer.print("</div>");
+ throw (ServletException)e;
}
+ if (e instanceof IOException)
+ {
+ throw (IOException)e;
+ }
+ if (e instanceof RuntimeException)
+ {
+ throw (RuntimeException)e;
+ }
+ throw new ServletException(e);
}
- catch (PortletInvokerException e)
- {
- e.printStackTrace();
- }
+ }
- writer.print("</body></html>");
+ protected void _service(HttpServletRequest req, HttpServletResponse resp) throws
Exception
+ {
+ PortletControllerContext context = new PortletControllerContextImpl(req,
PortletControllerContextImpl.SESSION_SCOPE);
-
+ //
+ PortletController controller = new PortletController(context, getServletContext(),
req);
+
+ //
+ controller.process(resp);
}
}
Added:
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/PortletController.java
===================================================================
---
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/PortletController.java
(rev 0)
+++
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/PortletController.java 2007-08-30
21:10:49 UTC (rev 8115)
@@ -0,0 +1,369 @@
+/******************************************************************************
+ * 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.test;
+
+import org.jboss.portal.portlet.Portlet;
+import org.jboss.portal.portlet.PortletContext;
+import org.jboss.portal.portlet.StateString;
+import org.jboss.portal.portlet.PortletParametersStateString;
+import org.jboss.portal.portlet.PortletParameters;
+import org.jboss.portal.portlet.PortletInvokerException;
+import org.jboss.portal.portlet.PortletInvoker;
+import org.jboss.portal.portlet.RenderURL;
+import org.jboss.portal.portlet.impl.spi.AbstractRequestContext;
+import org.jboss.portal.portlet.impl.spi.AbstractUserContext;
+import org.jboss.portal.portlet.impl.spi.AbstractWindowContext;
+import org.jboss.portal.portlet.impl.spi.AbstractPortalContext;
+import org.jboss.portal.portlet.impl.spi.AbstractSecurityContext;
+import org.jboss.portal.portlet.invocation.response.PortletInvocationResponse;
+import org.jboss.portal.portlet.invocation.response.RenderResponse;
+import org.jboss.portal.portlet.invocation.response.HTTPRedirectionResponse;
+import org.jboss.portal.portlet.invocation.response.ErrorResponse;
+import org.jboss.portal.portlet.invocation.ActionInvocation;
+import org.jboss.portal.portlet.invocation.RenderInvocation;
+import org.jboss.portal.web.IllegalRequestException;
+import org.jboss.portal.common.util.ParameterMap;
+import org.jboss.portal.common.util.MarkupInfo;
+import org.jboss.portal.common.util.MediaType;
+import org.jboss.portal.Mode;
+import org.jboss.portal.WindowState;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.ServletContext;
+import java.io.UnsupportedEncodingException;
+import java.io.PrintWriter;
+import java.io.IOException;
+import java.util.Iterator;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+public class PortletController
+{
+
+ /** . */
+ private MarkupInfo MARKUP_INFO = new MarkupInfo(MediaType.HTML, "UTF8");
+
+ /** . */
+ private final ServletContext servletContext;
+
+ /** . */
+ private final HttpServletRequest req;
+
+ /** . */
+ private final PortletInvoker invoker;
+
+ /** . */
+ private final PortletControllerContext context;
+
+ /** . */
+ private final boolean redirectAfterAction = true;
+
+ public PortletController(PortletControllerContext context, ServletContext
servletContext, HttpServletRequest req) throws IllegalRequestException,
UnsupportedEncodingException
+ {
+ this.context = context;
+ this.servletContext = servletContext;
+
+ //
+ this.req = req;
+ this.invoker =
(PortletInvoker)servletContext.getAttribute("ConsumerPortletInvoker");
+ }
+
+ public void process(HttpServletResponse resp) throws PortletInvokerException,
IOException
+ {
+
+ //
+ Request request = context.getRequest();
+
+ //
+ PortalNavigationalState navState = context.getNavigationalState();
+
+ //
+ if (request != null)
+ {
+ PortletContext target = PortletContext.createPortletContext(request.portletId);
+
+ //
+ Portlet portlet = invoker.getPortlet(target);
+
+ //
+ PortletURLRenderer renderer = new PortletURLRenderer(navState, portlet, req,
resp);
+
+ //
+ WindowNavigationalState windowNS = navState.getWindow(request.portletId);
+
+ //
+ PortletInvocationResponse response = null;
+
+ if (request instanceof Render)
+ {
+ RenderResponse render = new RenderResponse();
+ render.setMode(request.mode);
+ render.setWindowState(request.windowState);
+
render.setNavigationalState(PortletParametersStateString.create(request.queryParameters));
+ response = render;
+ }
+ else
+ {
+ //
+ StateString portletNS = null;
+ if (windowNS != null)
+ {
+ portletNS = windowNS.getPortletNavigationalState();
+ }
+
+ //
+ Mode mode = request.mode;
+ if (mode == null && windowNS != null && windowNS.getMode() !=
null)
+ {
+ mode = windowNS.getMode();
+ }
+ if (mode == null)
+ {
+ mode = Mode.VIEW;
+ }
+
+ //
+ WindowState windowState = request.windowState;
+ if (windowState == null && windowNS != null &&
windowNS.getWindowState() != null)
+ {
+ windowState = windowNS.getWindowState();
+ }
+ if (windowState == null)
+ {
+ windowState = WindowState.NORMAL;
+ }
+
+ //
+ TestInstanceContext instanceContext = new TestInstanceContext(req,
portlet.getContext(), true);
+ TestActionContext actionContext = new TestActionContext(
+ renderer,
+ mode,
+ windowState,
+ portletNS,
+ MARKUP_INFO,
+ PortletParametersStateString.create(request.queryParameters),
+ new PortletParameters(request.bodyParameters));
+ ActionInvocation action = new ActionInvocation(actionContext);
+
+ //
+ action.setRequestContext(new AbstractRequestContext(req, resp));
+ action.setInstanceContext(instanceContext);
+ action.setUserContext(new AbstractUserContext(req));
+ action.setWindowContext(new
AbstractWindowContext(portlet.getContext().getId()));
+ action.setPortalContext(new AbstractPortalContext());
+ action.setSecurityContext(new AbstractSecurityContext(req));
+ action.setTarget(instanceContext.getTarget());
+
+ //
+ try
+ {
+ response = invoker.invoke(action);
+ }
+ catch (PortletInvokerException e)
+ {
+ e.printStackTrace();
+ }
+
+ //
+ if (response instanceof RenderResponse && redirectAfterAction)
+ {
+ final RenderResponse render = (RenderResponse)response;
+ String location = renderer.renderURL(new RenderURL()
+ {
+ public StateString getNavigationalState()
+ {
+ return render.getNavigationalState();
+ }
+ public Mode getMode()
+ {
+ return render.getMode();
+ }
+ public WindowState getWindowState()
+ {
+ return render.getWindowState();
+ }
+ }, null, null, true);
+ response = new HTTPRedirectionResponse(location);
+ }
+ }
+
+ //
+ if (response instanceof RenderResponse)
+ {
+ RenderResponse render = (RenderResponse)response;
+
+ //
+ if (windowNS == null)
+ {
+ windowNS = new WindowNavigationalState();
+ navState.setWindow(portlet.getContext().getId(), windowNS);
+ }
+
+ //
+ if (render.getMode() != null)
+ {
+ windowNS.setMode(render.getMode());
+ }
+ if (render.getWindowState() != null)
+ {
+ windowNS.setWindowState(render.getWindowState());
+ }
+ if (render.getNavigationalState() != null)
+ {
+ windowNS.setPortletNavigationalState(render.getNavigationalState());
+ }
+ }
+ else if (response instanceof HTTPRedirectionResponse)
+ {
+ HTTPRedirectionResponse redirection = (HTTPRedirectionResponse)response;
+ resp.sendRedirect(redirection.getLocation());
+ return;
+ }
+ else if (response instanceof ErrorResponse)
+ {
+ ErrorResponse error = (ErrorResponse)response;
+ System.out.println("Error " + error.getMessage());
+ if (error.getCause() != null)
+ {
+ error.getCause().printStackTrace();
+ }
+ resp.sendError(404, error.getMessage());
+ return;
+ }
+ else
+ {
+ System.out.println("Not yet handled " + response);
+ }
+ }
+
+ //
+ resp.setContentType("text/html");
+ PrintWriter writer = resp.getWriter();
+ writer.print("<html><body>");
+
+ //
+ try
+ {
+ for (Iterator i = invoker.getPortlets().iterator(); i.hasNext();)
+ {
+ Portlet portlet = (Portlet)i.next();
+ writer.print("<div><div>" + portlet.getContext() +
"</div>");
+ PortletURLRenderer renderer = new PortletURLRenderer(navState, portlet, req,
resp);
+
+ //
+ Mode mode = Mode.VIEW;
+ WindowState windowState = WindowState.NORMAL;
+ StateString portletNS = null;
+
+ //
+ WindowNavigationalState windowNS =
navState.getWindow(portlet.getContext().getId());
+ if (windowNS != null)
+ {
+ if (windowNS.getMode() != null)
+ {
+ mode= windowNS.getMode();
+ }
+ if (windowNS.getWindowState() != null)
+ {
+ windowState= windowNS.getWindowState();
+ }
+ if (windowNS.getPortletNavigationalState() != null)
+ {
+ portletNS= windowNS.getPortletNavigationalState();
+ }
+ }
+
+ TestInstanceContext instanceContext = new TestInstanceContext(req,
portlet.getContext(), false);
+ TestRenderContext renderContext = new TestRenderContext(renderer, mode,
windowState, portletNS, MARKUP_INFO);
+
+ //
+ RenderInvocation render = new RenderInvocation(renderContext);
+
+ //
+ render.setRequestContext(new AbstractRequestContext(req, resp));
+ render.setInstanceContext(instanceContext);
+ render.setUserContext(new AbstractUserContext(req));
+ render.setWindowContext(new
AbstractWindowContext(portlet.getContext().getId()));
+ render.setPortalContext(new AbstractPortalContext());
+ render.setSecurityContext(new AbstractSecurityContext(req));
+ render.setTarget(instanceContext.getTarget());
+
+ //
+ try
+ {
+ invoker.invoke(render);
+ }
+ catch (PortletInvokerException e)
+ {
+ e.printStackTrace();
+ }
+
+ writer.print("</div>");
+ }
+ }
+ catch (PortletInvokerException e)
+ {
+ e.printStackTrace();
+ }
+
+ writer.print("</body></html>");
+ }
+
+ static class Request
+ {
+
+ final String portletId;
+ final ParameterMap queryParameters;
+ final ParameterMap bodyParameters;
+ final Mode mode;
+ final WindowState windowState;
+
+ public Request(String portletId, ParameterMap queryParameters, ParameterMap
bodyParameters, Mode mode, WindowState windowState)
+ {
+ this.portletId = portletId;
+ this.queryParameters = queryParameters;
+ this.bodyParameters = bodyParameters;
+ this.mode = mode;
+ this.windowState = windowState;
+ }
+ }
+
+ static class Action extends Request
+ {
+ public Action(String portletId, ParameterMap queryParameters, ParameterMap
bodyParameters, Mode mode, WindowState windowState)
+ {
+ super(portletId, queryParameters, bodyParameters, mode, windowState);
+ }
+ }
+
+ static class Render extends Request
+ {
+ public Render(String portletId, ParameterMap queryParameters, ParameterMap
bodyParameters, Mode mode, WindowState windowState)
+ {
+ super(portletId, queryParameters, bodyParameters, mode, windowState);
+ }
+ }
+}
Added:
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/PortletControllerContext.java
===================================================================
---
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/PortletControllerContext.java
(rev 0)
+++
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/PortletControllerContext.java 2007-08-30
21:10:49 UTC (rev 8115)
@@ -0,0 +1,36 @@
+/******************************************************************************
+ * 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.test;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+public interface PortletControllerContext
+{
+
+ PortalNavigationalState getNavigationalState();
+
+ PortletController.Request getRequest();
+
+}
Added:
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/PortletControllerContextImpl.java
===================================================================
---
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/PortletControllerContextImpl.java
(rev 0)
+++
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/PortletControllerContextImpl.java 2007-08-30
21:10:49 UTC (rev 8115)
@@ -0,0 +1,146 @@
+/******************************************************************************
+ * 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.test;
+
+import org.jboss.portal.web.IllegalRequestException;
+import org.jboss.portal.web.RequestInfo;
+import org.jboss.portal.portlet.test.url.ParameterDecoder;
+import org.jboss.portal.common.util.ParameterMap;
+import org.jboss.portal.common.util.Tools;
+import org.jboss.portal.Mode;
+import org.jboss.portal.WindowState;
+
+import javax.servlet.http.HttpServletRequest;
+import java.io.IOException;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+public class PortletControllerContextImpl implements PortletControllerContext
+{
+
+ /** . */
+ public static final int NAV_SCOPE = 0;
+
+ /** . */
+ public static final int SESSION_SCOPE = 1;
+
+ /** . */
+ private final PortalNavigationalState navState;
+
+ /** . */
+ private final PortletController.Request request;
+
+ public PortletControllerContextImpl(HttpServletRequest req, int navStateScope)
+ throws IllegalRequestException, IOException, ClassNotFoundException
+ {
+
+ if (navStateScope < NAV_SCOPE || navStateScope > SESSION_SCOPE)
+ {
+ throw new IllegalArgumentException();
+ }
+
+ //
+ String pathInfo = req.getPathInfo();
+ String targetId;
+
+ if (pathInfo != null && pathInfo.startsWith("/") &&
pathInfo.length() > 1)
+ {
+ targetId = StringCodec.decode(pathInfo.substring(1));
+
+ RequestInfo ri = new RequestInfo(req);
+ ParameterDecoder decoder = PortletURLRenderer.builder.createDecoder();
+ decoder.decode(ri.getQueryParameterMap());
+
+ //
+ ParameterMap metaParameters = decoder.getMetaParameters();
+
+ PortalNavigationalState navState;
+ if (navStateScope == NAV_SCOPE)
+ {
+ String ns = metaParameters.getValue("ns");
+ byte[] bytes = Tools.fromHexString(ns);
+ navState = PortalNavigationalState.create(bytes);
+ }
+ else
+ {
+ navState =
(PortalNavigationalState)req.getSession().getAttribute("nav_state");
+ }
+
+ //
+ ParameterMap actualParameters = decoder.getActualParameters();
+
+ //
+ Mode mode = null;
+ if (metaParameters.getValue("mode") != null)
+ {
+ mode = Mode.create(metaParameters.getValue("mode"));
+ }
+
+ //
+ WindowState windowState = null;
+ if (metaParameters.getValue("windowstate") != null)
+ {
+ windowState =
WindowState.create(metaParameters.getValue("windowstate"));
+ }
+
+ //
+ PortletController.Request request;
+ String type = metaParameters.getValue("type");
+ if ("action".equals(type))
+ {
+ request = new PortletController.Action(targetId, actualParameters,
ri.getBodyParameterMap(), mode, windowState);
+ }
+ else
+ {
+ request = new PortletController.Render(targetId, actualParameters,
ri.getBodyParameterMap(), mode, windowState);
+ }
+
+ //
+ this.navState = navState;
+ this.request = request;
+ }
+ else
+ {
+ this.navState = new PortalNavigationalState();
+ this.request = null;
+
+ //
+ if (navStateScope == SESSION_SCOPE)
+ {
+ req.getSession().setAttribute("nav_state", navState);
+ }
+ }
+ }
+
+ public PortletController.Request getRequest()
+ {
+ return request;
+ }
+
+ public PortalNavigationalState getNavigationalState()
+ {
+ return navState;
+ }
+}
Added:
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/PortletURLRenderer.java
===================================================================
---
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/PortletURLRenderer.java
(rev 0)
+++
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/PortletURLRenderer.java 2007-08-30
21:10:49 UTC (rev 8115)
@@ -0,0 +1,151 @@
+/******************************************************************************
+ * 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.test;
+
+import org.jboss.portal.portlet.Portlet;
+import org.jboss.portal.portlet.PortletURL;
+import org.jboss.portal.portlet.RenderURL;
+import org.jboss.portal.portlet.PortletParametersStateString;
+import org.jboss.portal.portlet.ActionURL;
+import org.jboss.portal.portlet.test.url.CodecBuilder;
+import org.jboss.portal.portlet.test.url.ParameterEncoder;
+import org.jboss.portal.common.text.CharBuffer;
+import org.jboss.portal.common.text.FastURLEncoder;
+import org.jboss.portal.common.util.ParameterMap;
+import org.jboss.portal.common.util.Tools;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.Iterator;
+import java.util.Map;
+import java.io.IOException;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+public class PortletURLRenderer
+{
+
+ /** . */
+ final Portlet portlet;
+
+ /** . */
+ final HttpServletRequest clientReq;
+
+ /** . */
+ final HttpServletResponse clientResp;
+
+ /** . */
+ final PortalNavigationalState navState;
+
+ public PortletURLRenderer(PortalNavigationalState navState, Portlet portlet,
HttpServletRequest clientReq, HttpServletResponse clientResp)
+ {
+ this.navState = navState;
+ this.portlet = portlet;
+ this.clientReq = clientReq;
+ this.clientResp = clientResp;
+ }
+
+ static final CodecBuilder builder = new CodecBuilder("action").
+ addMetaParameter("windowstate").
+ addMetaParameter("mode").
+ addMetaParameter("type").
+ addMetaParameter("ns");
+
+ String renderURL(PortletURL portletURL, Boolean wantSecure, Boolean wantAuthenticated,
boolean relative)
+ {
+ CharBuffer buffer = new CharBuffer();
+ buffer.append(clientReq.getScheme());
+ buffer.append("://");
+ buffer.append(clientReq.getServerName());
+ buffer.append(':');
+ buffer.append(Integer.toString(clientReq.getServerPort()));
+ buffer.append(clientReq.getContextPath());
+ buffer.append('/');
+ buffer.append(StringCodec.encode(portlet.getContext().getId()));
+
+ //
+ ParameterMap metaParameters = new ParameterMap();
+
+ //
+ metaParameters.setValue("type", portletURL instanceof RenderURL ?
"render" : "action");
+
+ //
+ try
+ {
+ byte[] bytes = navState.getBytes();
+ String ns = Tools.toHexString(bytes);
+ metaParameters.setValue("ns", ns);
+ }
+ catch (IOException e)
+ {
+ e.printStackTrace();
+ }
+
+ //
+ if (portletURL.getMode() != null)
+ {
+ metaParameters.setValue("mode", portletURL.getMode().toString());
+ }
+ if (portletURL.getWindowState() != null)
+ {
+ metaParameters.setValue("windowstate",
portletURL.getWindowState().toString());
+ }
+
+ //
+ ParameterMap actualParameters;
+ if (portletURL instanceof RenderURL)
+ {
+ actualParameters =
((PortletParametersStateString)((RenderURL)portletURL).getNavigationalState()).getParameters();
+ }
+ else
+ {
+ actualParameters =
((PortletParametersStateString)((ActionURL)portletURL).getInteractionState()).getParameters();
+ }
+
+ //
+ ParameterEncoder encoder = builder.createEncoder();
+ encoder.encode(actualParameters, metaParameters);
+ boolean first = true;
+ for (Iterator i = encoder.getParameters().entrySet().iterator(); i.hasNext();)
+ {
+ Map.Entry parameter = (Map.Entry)i.next();
+ String name = (String)parameter.getKey();
+ String[] values = (String[])parameter.getValue();
+ for (int j = 0; j < values.length; j++)
+ {
+ String value = values[j];
+ buffer.append(first ? '?' : '&');
+ buffer.append(name, FastURLEncoder.getInstance());
+ buffer.append('=');
+ buffer.append(value, FastURLEncoder.getInstance());
+ first = false;
+ }
+ }
+
+ //
+ String url = buffer.asString();
+ return clientResp.encodeURL(url);
+ }
+}
Added: modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/StringCodec.java
===================================================================
--- modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/StringCodec.java
(rev 0)
+++
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/StringCodec.java 2007-08-30
21:10:49 UTC (rev 8115)
@@ -0,0 +1,114 @@
+/******************************************************************************
+ * 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.test;
+
+import java.io.OutputStreamWriter;
+import java.io.OutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.UnsupportedEncodingException;
+import java.io.ByteArrayOutputStream;
+import java.nio.charset.Charset;
+import java.nio.charset.CharsetEncoder;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+public class StringCodec
+{
+
+ private static char[] blah = "0123456789ABCDEF".toCharArray();
+
+
+ public static String encode(String decodedValue)
+ {
+ try
+ {
+ StringBuffer buffer = new StringBuffer();
+ char[] tmp = new char[1];
+ for (int i = 0;i < decodedValue.length();i++)
+ {
+ char c = decodedValue.charAt(i);
+ if (Character.isLetterOrDigit(c))
+ {
+ buffer.append(c);
+ }
+ else
+ {
+ tmp[0] = c;
+ byte[] bytes = new String(tmp).getBytes("UTF8");
+ for (int j = 0; j < bytes.length; j++)
+ {
+ byte b = bytes[j];
+ buffer.append('_').append(blah[(b & 0XF0) >>
4]).append(blah[b & 0x0F]);
+ }
+ }
+ }
+ return buffer.toString();
+ }
+ catch (UnsupportedEncodingException e)
+ {
+ throw new RuntimeException();
+ }
+ }
+
+ public static String decode(String encodedValue)
+ {
+ try
+ {
+ ByteArrayOutputStream baos = new ByteArrayOutputStream(encodedValue.length());
+ for (int i = 0;i < encodedValue.length();i++)
+ {
+ char c = encodedValue.charAt(i);
+ if (Character.isLetterOrDigit(c))
+ {
+ baos.write(c);
+ }
+ else if ('_' == c)
+ {
+ if (i + 3 > encodedValue.length())
+ {
+ throw new IllegalArgumentException("There should be at least 2
chars after an _ char");
+ }
+ String hex = encodedValue.substring(i + 1, i + 3);
+ int x = Integer.parseInt(hex, 16);
+ baos.write(x);
+ i += 2;
+ }
+ else
+ {
+ throw new IllegalArgumentException("Invalid char " + c);
+ }
+ }
+ return baos.toString("UTF-8");
+ }
+ catch (UnsupportedEncodingException e)
+ {
+ throw new RuntimeException();
+ }
+ }
+
+
+
+}
Added:
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/StringCodecTestCase.java
===================================================================
---
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/StringCodecTestCase.java
(rev 0)
+++
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/StringCodecTestCase.java 2007-08-30
21:10:49 UTC (rev 8115)
@@ -0,0 +1,58 @@
+/******************************************************************************
+ * 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.test;
+
+import junit.framework.TestCase;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+public class StringCodecTestCase extends TestCase
+{
+
+ public void testA()
+ {
+
+ assertEquals("ABCDEFGHIJKLMNOPQRSTUVWXYZ",
StringCodec.encode("ABCDEFGHIJKLMNOPQRSTUVWXYZ"));
+ assertEquals("abcdefghijklmnopqrstuvwxyz",
StringCodec.encode("abcdefghijklmnopqrstuvwxyz"));
+ assertEquals("0123456789", StringCodec.encode("0123456789"));
+ assertEquals("_2F", StringCodec.encode("/"));
+ assertEquals("_40", StringCodec.encode("@"));
+ assertEquals("_E2_82_AC", StringCodec.encode("�"));
+ assertEquals("A_E2_82_ACB_40C", StringCodec.encode("A�B@C"));
+
+ }
+
+ public void testB()
+ {
+ assertEquals("ABCDEFGHIJKLMNOPQRSTUVWXYZ",
StringCodec.decode(StringCodec.encode("ABCDEFGHIJKLMNOPQRSTUVWXYZ")));
+ assertEquals("abcdefghijklmnopqrstuvwxyz",
StringCodec.decode(StringCodec.encode("abcdefghijklmnopqrstuvwxyz")));
+ assertEquals("0123456789",
StringCodec.decode(StringCodec.encode("0123456789")));
+ assertEquals("/",
StringCodec.decode(StringCodec.encode("/")));
+ assertEquals("@",
StringCodec.decode(StringCodec.encode("@")));
+ assertEquals("�",
StringCodec.decode(StringCodec.encode("�")));
+ assertEquals("A�B@C",
StringCodec.decode(StringCodec.encode("A�B@C")));
+ }
+
+}
Added:
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/TestActionContext.java
===================================================================
---
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/TestActionContext.java
(rev 0)
+++
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/TestActionContext.java 2007-08-30
21:10:49 UTC (rev 8115)
@@ -0,0 +1,78 @@
+/******************************************************************************
+ * 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.test;
+
+import org.jboss.portal.portlet.StateString;
+import org.jboss.portal.portlet.PortletParameters;
+import org.jboss.portal.portlet.PortletURL;
+import org.jboss.portal.portlet.invocation.PortletInvocation;
+import org.jboss.portal.portlet.impl.spi.AbstractActionContext;
+import org.jboss.portal.Mode;
+import org.jboss.portal.WindowState;
+import org.jboss.portal.common.util.MarkupInfo;
+import org.jboss.portal.common.invocation.resolver.PrincipalAttributeResolver;
+import org.jboss.portal.common.invocation.resolver.MapAttributeResolver;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+public class TestActionContext extends AbstractActionContext
+{
+
+ /** . */
+ private final PortletURLRenderer urlRenderer;
+
+ public TestActionContext(PortletURLRenderer urlRenderer, Mode mode, WindowState
windowState, StateString navigationalState, MarkupInfo markupInfo, StateString
interactionState, PortletParameters form)
+ {
+ super(mode, windowState, navigationalState, markupInfo, interactionState, form);
+
+ //
+ this.urlRenderer = urlRenderer;
+
+ //
+ addResolver(PortletInvocation.PRINCIPAL_SCOPE, new
PrincipalAttributeResolver(urlRenderer.clientReq));
+ addResolver(PortletInvocation.INVOCATION_SCOPE, new MapAttributeResolver());
+ addResolver(PortletInvocation.REQUEST_PROPERTIES_SCOPE, new
MapAttributeResolver());
+ addResolver(PortletInvocation.RESPONSE_PROPERTIES_SCOPE, new
MapAttributeResolver());
+ addResolver(PortletInvocation.REQUEST_SCOPE, new MapAttributeResolver());
+ }
+
+ public HttpServletRequest getClientRequest() throws IllegalStateException
+ {
+ return urlRenderer.clientReq;
+ }
+
+ public HttpServletResponse getClientResponse() throws IllegalStateException
+ {
+ return urlRenderer.clientResp;
+ }
+
+ public String renderURL(PortletURL portletURL, Boolean wantSecure, Boolean
wantAuthenticated, boolean relative)
+ {
+ return urlRenderer.renderURL(portletURL, wantSecure, wantAuthenticated, relative);
+ }
+}
Added:
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/TestInstanceContext.java
===================================================================
---
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/TestInstanceContext.java
(rev 0)
+++
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/TestInstanceContext.java 2007-08-30
21:10:49 UTC (rev 8115)
@@ -0,0 +1,103 @@
+/******************************************************************************
+ * 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.test;
+
+import org.jboss.portal.portlet.state.AccessMode;
+import org.jboss.portal.portlet.PortletContext;
+import org.jboss.portal.portlet.StateEvent;
+import org.jboss.portal.portlet.spi.InstanceContext;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpSession;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+public class TestInstanceContext implements InstanceContext
+{
+
+ private HttpServletRequest req;
+
+ private boolean modifiable;
+
+ private PortletContext target;
+
+ private boolean useClone;
+
+ private String id;
+
+ public TestInstanceContext(
+ HttpServletRequest req,
+ PortletContext portletContext,
+ boolean modifiable)
+ {
+ String id = portletContext.getId();
+ PortletContext target = portletContext;
+ boolean useClone = false;
+ HttpSession session = req.getSession(false);
+ if (session != null)
+ {
+ PortletContext clone = (PortletContext)session.getAttribute("clone." +
id);
+ if (clone != null)
+ {
+ target = clone;
+ useClone = true;
+ }
+ }
+
+ //
+ this.req = req;
+ this.useClone = useClone;
+ this.target = target;
+ this.id = id;
+ this.modifiable = modifiable;
+ }
+
+ public PortletContext getTarget()
+ {
+ return target;
+ }
+
+ public String getId()
+ {
+ return id;
+ }
+
+ public AccessMode getAccessMode()
+ {
+ return modifiable ? (useClone ? AccessMode.READ_WRITE :
AccessMode.CLONE_BEFORE_WRITE) : AccessMode.READ_ONLY;
+ }
+
+ public void onStateEvent(StateEvent event)
+ {
+ StateEvent.StateEventType type = event.getType();
+
+ //
+ if (StateEvent.PORTLET_CLONED_EVENT.equals(type) ||
StateEvent.PORTLET_MODIFIED_EVENT.equals(type))
+ {
+ target = event.getPortletContext();
+ req.getSession().setAttribute("clone." + id, target);
+ }
+ }
+}
Deleted:
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/TestPortletInvocationContext.java
===================================================================
---
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/TestPortletInvocationContext.java 2007-08-30
20:00:55 UTC (rev 8114)
+++
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/TestPortletInvocationContext.java 2007-08-30
21:10:49 UTC (rev 8115)
@@ -1,84 +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.test;
-
-import org.jboss.portal.portlet.impl.spi.AbstractPortletInvocationContext;
-import org.jboss.portal.portlet.StateString;
-import org.jboss.portal.portlet.PortletURL;
-import org.jboss.portal.Mode;
-import org.jboss.portal.WindowState;
-import org.jboss.portal.common.util.MarkupInfo;
-import org.jboss.portal.common.invocation.Scope;
-import org.jboss.portal.common.invocation.resolver.MapAttributeResolver;
-import org.jboss.portal.common.invocation.resolver.PrincipalAttributeResolver;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-/**
- * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
- * @version $Revision: 1.1 $
- */
-public class TestPortletInvocationContext extends AbstractPortletInvocationContext
-{
-
- /** . */
- private HttpServletRequest req;
-
- /** . */
- private HttpServletResponse resp;
-
- public TestPortletInvocationContext(
- Mode mode,
- WindowState windowState,
- StateString navigationalState,
- MarkupInfo markupInfo,
- HttpServletRequest req,
- HttpServletResponse resp)
- {
- super(mode, windowState, navigationalState, markupInfo);
-
- //
- this.req = req;
- this.resp = resp;
-
- //
- addResolver(Scope.PRINCIPAL_SCOPE, new PrincipalAttributeResolver(req));
- addResolver(Scope.INVOCATION_SCOPE, new MapAttributeResolver());
- }
-
- public HttpServletRequest getClientRequest() throws IllegalStateException
- {
- return req;
- }
-
- public HttpServletResponse getClientResponse() throws IllegalStateException
- {
- return resp;
- }
-
- public String renderURL(PortletURL portletURL, Boolean wantSecure, Boolean
wantAuthenticated, boolean relative)
- {
- return "TODO";
- }
-}
Added:
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/TestPortletInvoker.java
===================================================================
---
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/TestPortletInvoker.java
(rev 0)
+++
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/TestPortletInvoker.java 2007-08-30
21:10:49 UTC (rev 8115)
@@ -0,0 +1,157 @@
+/******************************************************************************
+ * 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.test;
+
+import org.jboss.portal.portlet.PortletInvoker;
+import org.jboss.portal.portlet.PortletInvokerException;
+import org.jboss.portal.portlet.Portlet;
+import org.jboss.portal.portlet.PortletContext;
+import org.jboss.portal.portlet.state.PropertyMap;
+import org.jboss.portal.portlet.state.PropertyChange;
+import org.jboss.portal.portlet.invocation.PortletInvocation;
+import org.jboss.portal.portlet.invocation.response.PortletInvocationResponse;
+import org.jboss.portal.common.invocation.InterceptorStackFactory;
+import org.jboss.portal.common.invocation.InvocationHandler;
+import org.jboss.portal.common.invocation.Invocation;
+import org.jboss.portal.common.invocation.InvocationException;
+
+import java.util.Set;
+import java.util.List;
+
+/**
+ * A simple consumer.
+ *
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 6712 $
+ */
+public class TestPortletInvoker implements PortletInvoker
+{
+
+ /** . */
+ private InterceptorStackFactory stackFactory;
+
+ /** . */
+ private PortletInvoker producer;
+
+ /** . */
+ private InvocationHandler handler = new InvocationHandler()
+ {
+ public Object invoke(Invocation invocation) throws Exception, InvocationException
+ {
+ PortletInvocation portletInvocation = (PortletInvocation)invocation;
+ try
+ {
+ portletInvocation.setHandler(null);
+ return producer.invoke(portletInvocation);
+ }
+ finally
+ {
+ portletInvocation.setHandler(this);
+ }
+ }
+ };
+
+ public InterceptorStackFactory getStackFactory()
+ {
+ return stackFactory;
+ }
+
+ public void setStackFactory(InterceptorStackFactory stackFactory)
+ {
+ this.stackFactory = stackFactory;
+ }
+
+ public PortletInvoker getProducer()
+ {
+ return producer;
+ }
+
+ public void setProducer(PortletInvoker producer)
+ {
+ this.producer = producer;
+ }
+
+ public Set getPortlets() throws PortletInvokerException
+ {
+ return producer.getPortlets();
+ }
+
+ public Portlet getPortlet(PortletContext portletContext) throws
IllegalArgumentException, PortletInvokerException
+ {
+ return producer.getPortlet(portletContext);
+ }
+
+ public PortletInvocationResponse invoke(PortletInvocation invocation) throws
PortletInvokerException
+ {
+ InvocationHandler prevHandler = invocation.getHandler();
+ try
+ {
+ invocation.setHandler(handler);
+ return
(PortletInvocationResponse)invocation.invoke(stackFactory.getInterceptorStack());
+ }
+ catch (Exception e)
+ {
+ if (e instanceof PortletInvokerException)
+ {
+ throw(PortletInvokerException)e;
+ }
+ else if (e instanceof RuntimeException)
+ {
+ throw(RuntimeException)e;
+ }
+ else
+ {
+ throw new PortletInvokerException(e);
+ }
+ }
+ finally
+ {
+ invocation.setHandler(prevHandler);
+ }
+ }
+
+ public PortletContext createClone(PortletContext portletContext) throws
IllegalArgumentException, PortletInvokerException, UnsupportedOperationException
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ public List destroyClones(List portletContexts) throws IllegalArgumentException,
PortletInvokerException, UnsupportedOperationException
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ public PropertyMap getProperties(PortletContext portletContext, Set keys) throws
IllegalArgumentException, PortletInvokerException, UnsupportedOperationException
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ public PropertyMap getProperties(PortletContext portletContext) throws
IllegalArgumentException, PortletInvokerException, UnsupportedOperationException
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ public PortletContext setProperties(PortletContext portletContext, PropertyChange[]
changes) throws IllegalArgumentException, PortletInvokerException,
UnsupportedOperationException
+ {
+ throw new UnsupportedOperationException();
+ }
+}
Modified:
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/TestRenderContext.java
===================================================================
---
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/TestRenderContext.java 2007-08-30
20:00:55 UTC (rev 8114)
+++
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/TestRenderContext.java 2007-08-30
21:10:49 UTC (rev 8115)
@@ -22,12 +22,14 @@
******************************************************************************/
package org.jboss.portal.portlet.test;
-import org.jboss.portal.portlet.spi.RenderContext;
import org.jboss.portal.portlet.StateString;
+import org.jboss.portal.portlet.PortletURL;
+import org.jboss.portal.portlet.invocation.PortletInvocation;
+import org.jboss.portal.portlet.impl.spi.AbstractRenderContext;
import org.jboss.portal.Mode;
import org.jboss.portal.WindowState;
import org.jboss.portal.common.util.MarkupInfo;
-import org.jboss.portal.common.invocation.Scope;
+import org.jboss.portal.common.invocation.resolver.PrincipalAttributeResolver;
import org.jboss.portal.common.invocation.resolver.MapAttributeResolver;
import javax.servlet.http.HttpServletRequest;
@@ -37,10 +39,39 @@
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
* @version $Revision: 1.1 $
*/
-public class TestRenderContext extends TestPortletInvocationContext implements
RenderContext
+public class TestRenderContext extends AbstractRenderContext
{
- public TestRenderContext(Mode mode, WindowState windowState, StateString
navigationalState, MarkupInfo markupInfo, HttpServletRequest req, HttpServletResponse
resp)
+
+ /** . */
+ private final PortletURLRenderer urlRenderer;
+
+ public TestRenderContext(PortletURLRenderer urlRenderer, Mode mode, WindowState
windowState, StateString navigationalState, MarkupInfo markupInfo)
{
- super(mode, windowState, navigationalState, markupInfo, req, resp);
+ super(mode, windowState, navigationalState, markupInfo);
+
+ //
+ this.urlRenderer = urlRenderer;
+
+ //
+ addResolver(PortletInvocation.PRINCIPAL_SCOPE, new
PrincipalAttributeResolver(urlRenderer.clientReq));
+ addResolver(PortletInvocation.INVOCATION_SCOPE, new MapAttributeResolver());
+ addResolver(PortletInvocation.REQUEST_PROPERTIES_SCOPE, new
MapAttributeResolver());
+ addResolver(PortletInvocation.RESPONSE_PROPERTIES_SCOPE, new
MapAttributeResolver());
+ addResolver(PortletInvocation.REQUEST_SCOPE, new MapAttributeResolver());
}
+
+ public HttpServletRequest getClientRequest() throws IllegalStateException
+ {
+ return urlRenderer.clientReq;
+ }
+
+ public HttpServletResponse getClientResponse() throws IllegalStateException
+ {
+ return urlRenderer.clientResp;
+ }
+
+ public String renderURL(PortletURL portletURL, Boolean wantSecure, Boolean
wantAuthenticated, boolean relative)
+ {
+ return urlRenderer.renderURL(portletURL, wantSecure, wantAuthenticated, relative);
+ }
}
Added:
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/WindowNavigationalState.java
===================================================================
---
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/WindowNavigationalState.java
(rev 0)
+++
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/WindowNavigationalState.java 2007-08-30
21:10:49 UTC (rev 8115)
@@ -0,0 +1,76 @@
+/******************************************************************************
+ * 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.test;
+
+import org.jboss.portal.portlet.StateString;
+import org.jboss.portal.Mode;
+import org.jboss.portal.WindowState;
+
+import java.io.Serializable;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+public class WindowNavigationalState implements Serializable
+{
+
+ /** . */
+ private StateString portletNavigationalState;
+
+ /** . */
+ private Mode mode;
+
+ /** . */
+ private WindowState windowState;
+
+ public StateString getPortletNavigationalState()
+ {
+ return portletNavigationalState;
+ }
+
+ public void setPortletNavigationalState(StateString portletNavigationalState)
+ {
+ this.portletNavigationalState = portletNavigationalState;
+ }
+
+ public Mode getMode()
+ {
+ return mode;
+ }
+
+ public void setMode(Mode mode)
+ {
+ this.mode = mode;
+ }
+
+ public WindowState getWindowState()
+ {
+ return windowState;
+ }
+
+ public void setWindowState(WindowState windowState)
+ {
+ this.windowState = windowState;
+ }
+}
Added:
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/url/CodecBuilder.java
===================================================================
---
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/url/CodecBuilder.java
(rev 0)
+++
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/url/CodecBuilder.java 2007-08-30
21:10:49 UTC (rev 8115)
@@ -0,0 +1,77 @@
+/******************************************************************************
+ * 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.test.url;
+
+import java.util.LinkedHashSet;
+import java.util.ArrayList;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+public class CodecBuilder
+{
+
+ /** . */
+ final ArrayList metaParameterNames;
+
+ /** . */
+ final String reservedParameterName;
+
+ public CodecBuilder(CodecBuilder that)
+ {
+ this.metaParameterNames = new ArrayList(that.metaParameterNames);
+ this.reservedParameterName = that.reservedParameterName;
+ }
+
+ public CodecBuilder(String reservedParameter)
+ {
+ this.metaParameterNames = new ArrayList();
+ this.reservedParameterName = reservedParameter;
+ }
+
+ public CodecBuilder addMetaParameter(String name)
+ {
+ if (metaParameterNames.contains(name))
+ {
+ throw new IllegalStateException();
+ }
+ if (reservedParameterName.equals(name))
+ {
+ throw new IllegalStateException();
+ }
+ metaParameterNames.add(name);
+ return this;
+ }
+
+ public ParameterEncoder createEncoder()
+ {
+ return new ParameterEncoder(this);
+ }
+
+ public ParameterDecoder createDecoder()
+ {
+ return new ParameterDecoder(this);
+ }
+
+}
Added:
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/url/DecoderTestCase.java
===================================================================
---
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/url/DecoderTestCase.java
(rev 0)
+++
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/url/DecoderTestCase.java 2007-08-30
21:10:49 UTC (rev 8115)
@@ -0,0 +1,388 @@
+/******************************************************************************
+ * 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.test.url;
+
+import junit.framework.TestCase;
+import org.jboss.portal.common.util.ParameterMap;
+import org.jboss.portal.common.junit.ExtendedAssert;
+
+import java.util.ArrayList;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+public class DecoderTestCase extends TestCase
+{
+
+ Tester tester;
+
+ protected void setUp() throws Exception
+ {
+ tester = new Tester();
+ }
+
+ public void testNoMeta()
+ {
+ tester.assertActual(0);
+ tester.assertMeta(0);
+// tester.check();
+ tester.parameter("action", "0");
+ tester.checkAndReset();
+
+ //
+ tester.parameter("m1", "a");
+ tester.assertActual(1).assertActual("m1", new String[]{"a"});
+ tester.assertMeta(0);
+// tester.check();
+ tester.parameter("action", "0");
+ tester.checkAndReset();
+ }
+
+ public void testNoMetaCorruption()
+ {
+ tester.parameter("action",
"a").assertFailed().checkAndReset();
+ tester.parameter("action",
"1").assertFailed().checkAndReset();
+ }
+
+ public void testOneMeta()
+ {
+ tester.builder.addMetaParameter("m1");
+
+ //
+ tester.assertActual(0);
+ tester.assertMeta(0);
+// tester.check();
+ tester.parameter("action", "0");
+ tester.checkAndReset();
+
+ //
+ tester.parameter("m1", "a");
+ tester.assertActual(1).assertActual("m1", new String[]{"a"});
+ tester.assertMeta(0);
+// tester.check();
+ tester.parameter("action", "0");
+ tester.checkAndReset();
+
+ //
+ tester.parameter("action", "1").parameter("m1",
"foo");
+ tester.assertActual(0);
+ tester.assertMeta(1).assertMeta("m1", new String[]{"foo"});
+ tester.checkAndReset();
+
+ //
+ tester.parameter("action", "1").parameter("m1", new
String[]{"foo","a"});
+ tester.assertActual(1).assertActual("m1", new String[]{"a"});
+ tester.assertMeta(1).assertMeta("m1", new String[]{"foo"});
+ tester.checkAndReset();
+
+ //
+ tester.parameter("m2", "b");
+ tester.assertActual(1).assertActual("m2", new String[]{"b"});
+ tester.assertMeta(0);
+// tester.check();
+ tester.parameter("action", "0");
+ tester.checkAndReset();
+
+ //
+ tester.parameter("m1", "a").parameter("m2",
"b");
+ tester.assertActual(2).assertActual("m1", new
String[]{"a"}).assertActual("m2", new String[]{"b"});
+ tester.assertMeta(0);
+// tester.check();
+ tester.parameter("action", "0");
+ tester.checkAndReset();
+
+ //
+ tester.parameter("action", "1").parameter("m1",
"foo").parameter("m2", "b");
+ tester.assertActual(1).assertActual("m2", new String[]{"b"});
+ tester.assertMeta(1).assertMeta("m1", new String[]{"foo"});
+ tester.checkAndReset();
+
+ //
+ tester.parameter("action", "1").parameter("m1", new
String[]{"foo","a"}).parameter("m2", "b");
+ tester.assertActual(2).assertActual("m1", new
String[]{"a"}).assertActual("m2", new String[]{"b"});
+ tester.assertMeta(1).assertMeta("m1", new String[]{"foo"});
+ tester.checkAndReset();
+ }
+
+ public void testOneMetaCorruption()
+ {
+ tester.builder.addMetaParameter("m1");
+
+ //
+ tester.parameter("action",
"a").assertFailed().checkAndReset();
+ tester.parameter("action",
"1").assertFailed().checkAndReset();
+ tester.parameter("action",
"10").assertFailed().checkAndReset();
+
+ //
+ tester.parameter("action",
"a").assertFailed().checkAndReset();
+ tester.parameter("action", "10").parameter("m1",
"foo").assertFailed().checkAndReset();
+ }
+
+ public void testTwoMeta()
+ {
+ tester.builder.addMetaParameter("m1");
+ tester.builder.addMetaParameter("m2");
+
+ //
+ tester.assertActual(0);
+ tester.assertMeta(0);
+// tester.check();
+ tester.parameter("action", "0");
+ tester.checkAndReset();
+
+ //
+ tester.parameter("m1", "a");
+ tester.assertActual(1).assertActual("m1", new String[]{"a"});
+ tester.assertMeta(0);
+// tester.check();
+ tester.parameter("action", "0");
+ tester.checkAndReset();
+
+ //
+ tester.parameter("m2", "b");
+ tester.assertActual(1).assertActual("m2", new String[]{"b"});
+ tester.assertMeta(0);
+// tester.check();
+ tester.parameter("action", "0");
+ tester.checkAndReset();
+
+ //
+ tester.parameter("m1", "a").parameter("m2",
"b");
+ tester.assertActual(2).assertActual("m1", new
String[]{"a"}).assertActual("m2", new String[]{"b"});
+ tester.assertMeta(0);
+// tester.check();
+ tester.parameter("action", "0");
+ tester.checkAndReset();
+
+ // {m1}
+
+ //
+ tester.parameter("action", "10").parameter("m1",
"foo");
+ tester.assertActual(0);
+ tester.assertMeta(1).assertMeta("m1", new String[]{"foo"});
+ tester.checkAndReset();
+
+ //
+ tester.parameter("action", "10").parameter("m1", new
String[]{"foo","a"});
+ tester.assertActual(1).assertActual("m1", new String[]{"a"});
+ tester.assertMeta(1).assertMeta("m1", new String[]{"foo"});
+ tester.checkAndReset();
+
+ //
+ tester.parameter("action", "10").parameter("m1",
"foo").parameter("m2", "b");
+ tester.assertActual(1).assertActual("m2", new String[]{"b"});
+ tester.assertMeta(1).assertMeta("m1", new String[]{"foo"});
+ tester.checkAndReset();
+
+ //
+ tester.parameter("action", "10").parameter("m1", new
String[]{"foo","a"}).parameter("m2", "b");
+ tester.assertActual(2).assertActual("m1", new
String[]{"a"}).assertActual("m2", new String[]{"b"});
+ tester.assertMeta(1).assertMeta("m1", new String[]{"foo"});
+ tester.checkAndReset();
+
+ // {m2}
+
+ //
+ tester.parameter("action", "1").parameter("m2",
"bar");
+ tester.assertActual(0);
+ tester.assertMeta(1).assertMeta("m2", new String[]{"bar"});
+ tester.checkAndReset();
+
+ //
+ tester.parameter("action", "1").parameter("m1",
"a").parameter("m2", "bar");
+ tester.assertActual(1).assertActual("m1", new String[]{"a"});
+ tester.assertMeta(1).assertMeta("m2", new String[]{"bar"});
+ tester.checkAndReset();
+
+ //
+ tester.parameter("action", "1").parameter("m2", new
String[]{"bar","b"});
+ tester.assertActual(1).assertActual("m2", new String[]{"b"});
+ tester.assertMeta(1).assertMeta("m2", new String[]{"bar"});
+ tester.checkAndReset();
+
+ //
+ tester.parameter("action", "1").parameter("m1",
"a").parameter("m2", new String[]{"bar","b"});
+ tester.assertActual(2).assertActual("m1", new
String[]{"a"}).assertActual("m2", new String[]{"b"});
+ tester.assertMeta(1).assertMeta("m2", new String[]{"bar"});
+ tester.checkAndReset();
+
+ // {m1,m2}
+
+ //
+ tester.parameter("action", "11").parameter("m1",
"foo").parameter("m2", "bar");
+ tester.assertActual(0);
+ tester.assertMeta(2).assertMeta("m1", new
String[]{"foo"}).assertMeta("m2", new String[]{"bar"});
+ tester.checkAndReset();
+
+ //
+ tester.parameter("action", "11").parameter("m1", new
String[]{"foo","a"}).parameter("m2", "bar");
+ tester.assertActual(1).assertActual("m1", new String[]{"a"});
+ tester.assertMeta(2).assertMeta("m1", new
String[]{"foo"}).assertMeta("m2", new String[]{"bar"});
+ tester.checkAndReset();
+
+ //
+ tester.parameter("action", "11").parameter("m1",
"foo").parameter("m2", new String[]{"bar","b"});
+ tester.assertActual(1).assertActual("m2", new String[]{"b"});
+ tester.assertMeta(2).assertMeta("m1", new
String[]{"foo"}).assertMeta("m2", new String[]{"bar"});
+ tester.checkAndReset();
+
+ //
+ tester.parameter("action", "11").parameter("m1", new
String[]{"foo","a"}).parameter("m2", new
String[]{"bar","b"});
+ tester.assertActual(2).assertActual("m1", new
String[]{"a"}).assertActual("m2", new String[]{"b"});
+ tester.assertMeta(2).assertMeta("m1", new
String[]{"foo"}).assertMeta("m2", new String[]{"bar"});
+ tester.checkAndReset();
+ }
+
+ private static class Tester
+ {
+
+ private interface Assertion
+ {
+ void doAssert();
+ }
+
+ ArrayList assertions = new ArrayList();
+
+ CodecBuilder builder = new CodecBuilder("action");
+ ParameterMap parameters = new ParameterMap();
+ ParameterMap actualParameters = new ParameterMap();
+ ParameterMap metaParameters = new ParameterMap();
+ boolean failed;
+
+ public void check()
+ {
+ ParameterDecoder decoder = builder.createDecoder();
+
+ //
+ try
+ {
+ decoder.decode(parameters);
+
+ //
+ failed = false;
+ actualParameters = decoder.getActualParameters();
+ metaParameters = decoder.getMetaParameters();
+ }
+ catch (IllegalArgumentException e)
+ {
+ failed = true;
+ }
+
+
+ for (int i = 0; i < assertions.size(); i++)
+ {
+ Assertion assertion = (Assertion)assertions.get(i);
+ assertion.doAssert();
+ }
+ }
+
+ public void checkAndReset()
+ {
+ check();
+
+ //
+ parameters.clear();
+ assertions.clear();
+ }
+
+ public Tester parameter(String name, String value)
+ {
+ if (value == null)
+ {
+ parameters.remove(name);
+ }
+ else
+ {
+ parameters.setValue(name, value);
+ }
+ return this;
+ }
+ public Tester parameter(String name, String[] values)
+ {
+ parameters.setValues(name, values);
+ return this;
+ }
+
+
+ public Tester assertActual(final int size)
+ {
+ assertions.add(new Assertion()
+ {
+ public void doAssert()
+ {
+ assertFalse(failed);
+ assertEquals(size, actualParameters.size());
+ }
+ });
+ return this;
+ }
+ public Tester assertActual(final String name, final String[] values)
+ {
+ assertions.add(new Assertion()
+ {
+ public void doAssert()
+ {
+ assertFalse(failed);
+ ExtendedAssert.assertEquals(values, actualParameters.getValues(name));
+ }
+ });
+ return this;
+ }
+ public Tester assertMeta(final int size)
+ {
+ assertions.add(new Assertion()
+ {
+ public void doAssert()
+ {
+ assertFalse(failed);
+ assertEquals(size, metaParameters.size());
+ }
+ });
+ return this;
+ }
+ public Tester assertMeta(final String name, final String[] values)
+ {
+ assertions.add(new Assertion()
+ {
+ public void doAssert()
+ {
+ assertFalse(failed);
+ ExtendedAssert.assertEquals(values, metaParameters.getValues(name));
+ }
+ });
+ return this;
+ }
+ public Tester assertFailed()
+ {
+ assertions.add(new Assertion()
+ {
+ public void doAssert()
+ {
+ assertTrue(failed);
+ }
+ });
+ return this;
+ }
+ }
+}
Added:
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/url/EncoderTestCase.java
===================================================================
---
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/url/EncoderTestCase.java
(rev 0)
+++
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/url/EncoderTestCase.java 2007-08-30
21:10:49 UTC (rev 8115)
@@ -0,0 +1,609 @@
+/******************************************************************************
+ * 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.test.url;
+
+import junit.framework.TestCase;
+import org.jboss.portal.common.util.ParameterMap;
+import org.jboss.portal.common.junit.ExtendedAssert;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+public class EncoderTestCase extends TestCase
+{
+
+ Tester tester;
+
+ protected void setUp() throws Exception
+ {
+ tester = new Tester();
+ }
+
+ public void testEncodeNoMeta()
+ {
+ ParameterMap result = tester.encode();
+ assertEquals(1, result.size());
+ ExtendedAssert.assertEquals(new String[]{"0"},
result.getValues("action"));
+
+ //
+ tester.actual("action", "foo");
+ result = tester.encode();
+ assertEquals(1, result.size());
+ ExtendedAssert.assertEquals(new String[]{"0","foo"},
result.getValues("action"));
+
+ //
+ tester.meta("action", "foo");
+ result = tester.encode();
+ assertEquals(1, result.size());
+ ExtendedAssert.assertEquals(new String[]{"0"},
result.getValues("action"));
+ }
+
+ public void testEncodeOneMeta()
+ {
+ tester.meta("m1");
+
+ //
+ ParameterMap result = tester.encode();
+ assertEquals(1, result.size());
+ ExtendedAssert.assertEquals(new String[]{"0"},
result.getValues("action"));
+
+ //
+ tester.meta("m1", "foo");
+ result = tester.encode();
+ assertEquals(2, result.size());
+ ExtendedAssert.assertEquals(new String[]{"1"},
result.getValues("action"));
+ ExtendedAssert.assertEquals(new String[]{"foo"},
result.getValues("m1"));
+
+ //
+ tester.actual("m1", "foo");
+ result = tester.encode();
+ assertEquals(2, result.size());
+ ExtendedAssert.assertEquals(new String[]{"0"},
result.getValues("action"));
+ ExtendedAssert.assertEquals(new String[]{"foo"},
result.getValues("m1"));
+
+ //
+ tester.meta("m1", "bar").actual("m1",
"foo");
+ result = tester.encode();
+ assertEquals(2, result.size());
+ ExtendedAssert.assertEquals(new String[]{"1"},
result.getValues("action"));
+ ExtendedAssert.assertEquals(new String[]{"bar","foo"},
result.getValues("m1"));
+ }
+
+ public void testEncodeTwoMeta()
+ {
+ tester.meta("m1");
+ tester.meta("m2");
+
+ // No actual parameters
+
+ //
+ ParameterMap result = tester.encode();
+ assertEquals(1, result.size());
+ ExtendedAssert.assertEquals(new String[]{"0"},
result.getValues("action"));
+
+ //
+ result = tester.meta("m1", "foo").encode();
+ assertEquals(2, result.size());
+ ExtendedAssert.assertEquals(new String[]{"10"},
result.getValues("action"));
+ ExtendedAssert.assertEquals(new String[]{"foo"},
result.getValues("m1"));
+
+ //
+ result = tester.meta("m2", "foo").encode();
+ assertEquals(2, result.size());
+ ExtendedAssert.assertEquals(new String[]{"1"},
result.getValues("action"));
+ ExtendedAssert.assertEquals(new String[]{"foo"},
result.getValues("m2"));
+
+ //
+ result = tester.meta("m1", "foo").meta("m2",
"bar").encode();
+ assertEquals(3, result.size());
+ ExtendedAssert.assertEquals(new String[]{"11"},
result.getValues("action"));
+ ExtendedAssert.assertEquals(new String[]{"foo"},
result.getValues("m1"));
+ ExtendedAssert.assertEquals(new String[]{"bar"},
result.getValues("m2"));
+
+ //
+ result = tester.meta("m1", "foo").meta("m3",
"zuu").encode();
+ assertEquals(2, result.size());
+ ExtendedAssert.assertEquals(new String[]{"10"},
result.getValues("action"));
+ ExtendedAssert.assertEquals(new String[]{"foo"},
result.getValues("m1"));
+
+ //
+ result = tester.meta("m3", "zuu").encode();
+ assertEquals(1, result.size());
+ ExtendedAssert.assertEquals(new String[]{"0"},
result.getValues("action"));
+
+ //
+ result = tester.meta("m2", "foo").meta("m3",
"zuu").encode();
+ assertEquals(2, result.size());
+ ExtendedAssert.assertEquals(new String[]{"1"},
result.getValues("action"));
+ ExtendedAssert.assertEquals(new String[]{"foo"},
result.getValues("m2"));
+
+ //
+ result = tester.meta("m1", "foo").meta("m2",
"bar").meta("m2", "bar").encode();
+ assertEquals(3, result.size());
+ ExtendedAssert.assertEquals(new String[]{"11"},
result.getValues("action"));
+ ExtendedAssert.assertEquals(new String[]{"foo"},
result.getValues("m1"));
+ ExtendedAssert.assertEquals(new String[]{"bar"},
result.getValues("m2"));
+
+ // {m1} actual parameter
+
+ //
+ result = tester.actual("m1", "a").encode();
+ assertEquals(2, result.size());
+ ExtendedAssert.assertEquals(new String[]{"0"},
result.getValues("action"));
+ ExtendedAssert.assertEquals(new String[]{"a"},
result.getValues("m1"));
+
+ //
+ result = tester.actual("m1", "a").meta("m1",
"foo").encode();
+ assertEquals(2, result.size());
+ ExtendedAssert.assertEquals(new String[]{"10"},
result.getValues("action"));
+ ExtendedAssert.assertEquals(new String[]{"foo","a"},
result.getValues("m1"));
+
+ //
+ result = tester.actual("m1", "a").meta("m2",
"foo").encode();
+ assertEquals(3, result.size());
+ ExtendedAssert.assertEquals(new String[]{"1"},
result.getValues("action"));
+ ExtendedAssert.assertEquals(new String[]{"a"},
result.getValues("m1"));
+ ExtendedAssert.assertEquals(new String[]{"foo"},
result.getValues("m2"));
+
+ //
+ result = tester.actual("m1", "a").meta("m1",
"foo").meta("m2", "bar").encode();
+ assertEquals(3, result.size());
+ ExtendedAssert.assertEquals(new String[]{"11"},
result.getValues("action"));
+ ExtendedAssert.assertEquals(new String[]{"foo","a"},
result.getValues("m1"));
+ ExtendedAssert.assertEquals(new String[]{"bar"},
result.getValues("m2"));
+
+ //
+ result = tester.actual("m1", "a").meta("m3",
"zuu").encode();
+ assertEquals(2, result.size());
+ ExtendedAssert.assertEquals(new String[]{"0"},
result.getValues("action"));
+ ExtendedAssert.assertEquals(new String[]{"a"},
result.getValues("m1"));
+
+ //
+ result = tester.actual("m1", "a").meta("m1",
"foo").meta("m3", "zuu").encode();
+ assertEquals(2, result.size());
+ ExtendedAssert.assertEquals(new String[]{"10"},
result.getValues("action"));
+ ExtendedAssert.assertEquals(new String[]{"foo","a"},
result.getValues("m1"));
+
+ //
+ result = tester.actual("m1", "a").meta("m2",
"foo").meta("m3", "zuu").encode();
+ assertEquals(3, result.size());
+ ExtendedAssert.assertEquals(new String[]{"1"},
result.getValues("action"));
+ ExtendedAssert.assertEquals(new String[]{"a"},
result.getValues("m1"));
+ ExtendedAssert.assertEquals(new String[]{"foo"},
result.getValues("m2"));
+
+ //
+ result = tester.actual("m1", "a").meta("m1",
"foo").meta("m2", "bar").meta("m3",
"zuu").encode();
+ assertEquals(3, result.size());
+ ExtendedAssert.assertEquals(new String[]{"11"},
result.getValues("action"));
+ ExtendedAssert.assertEquals(new String[]{"foo","a"},
result.getValues("m1"));
+ ExtendedAssert.assertEquals(new String[]{"bar"},
result.getValues("m2"));
+
+ // {m2} actual parameter
+
+ //
+ result = tester.actual("m2", "b").encode();
+ assertEquals(2, result.size());
+ ExtendedAssert.assertEquals(new String[]{"0"},
result.getValues("action"));
+ ExtendedAssert.assertEquals(new String[]{"b"},
result.getValues("m2"));
+
+ //
+ result = tester.actual("m2", "b").meta("m1",
"foo").encode();
+ assertEquals(3, result.size());
+ ExtendedAssert.assertEquals(new String[]{"10"},
result.getValues("action"));
+ ExtendedAssert.assertEquals(new String[]{"foo"},
result.getValues("m1"));
+ ExtendedAssert.assertEquals(new String[]{"b"},
result.getValues("m2"));
+
+ //
+ result = tester.actual("m2", "b").meta("m2",
"foo").encode();
+ assertEquals(2, result.size());
+ ExtendedAssert.assertEquals(new String[]{"1"},
result.getValues("action"));
+ ExtendedAssert.assertEquals(new String[]{"foo","b"},
result.getValues("m2"));
+
+ //
+ result = tester.actual("m2", "b").meta("m1",
"foo").meta("m2", "bar").encode();
+ assertEquals(3, result.size());
+ ExtendedAssert.assertEquals(new String[]{"11"},
result.getValues("action"));
+ ExtendedAssert.assertEquals(new String[]{"foo"},
result.getValues("m1"));
+ ExtendedAssert.assertEquals(new String[]{"bar","b"},
result.getValues("m2"));
+
+ //
+ result = tester.actual("m2", "b").meta("m3",
"zuu").encode();
+ assertEquals(2, result.size());
+ ExtendedAssert.assertEquals(new String[]{"0"},
result.getValues("action"));
+ ExtendedAssert.assertEquals(new String[]{"b"},
result.getValues("m2"));
+
+ //
+ result = tester.actual("m2", "b").meta("m1",
"foo").meta("m3", "zuu").encode();
+ assertEquals(3, result.size());
+ ExtendedAssert.assertEquals(new String[]{"10"},
result.getValues("action"));
+ ExtendedAssert.assertEquals(new String[]{"foo"},
result.getValues("m1"));
+ ExtendedAssert.assertEquals(new String[]{"b"},
result.getValues("m2"));
+
+ //
+ result = tester.actual("m2", "b").meta("m2",
"foo").meta("m3", "zuu").encode();
+ assertEquals(2, result.size());
+ ExtendedAssert.assertEquals(new String[]{"1"},
result.getValues("action"));
+ ExtendedAssert.assertEquals(new String[]{"foo","b"},
result.getValues("m2"));
+
+ //
+ result = tester.actual("m2", "b").meta("m1",
"foo").meta("m2", "bar").meta("m3",
"zuu").encode();
+ assertEquals(3, result.size());
+ ExtendedAssert.assertEquals(new String[]{"11"},
result.getValues("action"));
+ ExtendedAssert.assertEquals(new String[]{"foo"},
result.getValues("m1"));
+ ExtendedAssert.assertEquals(new String[]{"bar","b"},
result.getValues("m2"));
+
+ // {m3} actual parameter
+
+ //
+ result = tester.actual("m3", "c").encode();
+ assertEquals(2, result.size());
+ ExtendedAssert.assertEquals(new String[]{"0"},
result.getValues("action"));
+ ExtendedAssert.assertEquals(new String[]{"c"},
result.getValues("m3"));
+
+ //
+ result = tester.actual("m3", "c").meta("m1",
"foo").encode();
+ assertEquals(3, result.size());
+ ExtendedAssert.assertEquals(new String[]{"10"},
result.getValues("action"));
+ ExtendedAssert.assertEquals(new String[]{"foo"},
result.getValues("m1"));
+ ExtendedAssert.assertEquals(new String[]{"c"},
result.getValues("m3"));
+
+ //
+ result = tester.actual("m3", "c").meta("m2",
"foo").encode();
+ assertEquals(3, result.size());
+ ExtendedAssert.assertEquals(new String[]{"1"},
result.getValues("action"));
+ ExtendedAssert.assertEquals(new String[]{"foo"},
result.getValues("m2"));
+ ExtendedAssert.assertEquals(new String[]{"c"},
result.getValues("m3"));
+
+ //
+ result = tester.actual("m3", "c").meta("m1",
"foo").meta("m2", "bar").encode();
+ assertEquals(4, result.size());
+ ExtendedAssert.assertEquals(new String[]{"11"},
result.getValues("action"));
+ ExtendedAssert.assertEquals(new String[]{"foo"},
result.getValues("m1"));
+ ExtendedAssert.assertEquals(new String[]{"bar"},
result.getValues("m2"));
+ ExtendedAssert.assertEquals(new String[]{"c"},
result.getValues("m3"));
+
+ //
+ result = tester.actual("m3", "c").meta("m3",
"zuu").encode();
+ assertEquals(2, result.size());
+ ExtendedAssert.assertEquals(new String[]{"0"},
result.getValues("action"));
+ ExtendedAssert.assertEquals(new String[]{"c"},
result.getValues("m3"));
+
+ //
+ result = tester.actual("m3", "c").meta("m1",
"foo").meta("m3", "zuu").encode();
+ assertEquals(3, result.size());
+ ExtendedAssert.assertEquals(new String[]{"10"},
result.getValues("action"));
+ ExtendedAssert.assertEquals(new String[]{"foo"},
result.getValues("m1"));
+ ExtendedAssert.assertEquals(new String[]{"c"},
result.getValues("m3"));
+
+ //
+ result = tester.actual("m3", "c").meta("m2",
"foo").meta("m3", "zuu").encode();
+ assertEquals(3, result.size());
+ ExtendedAssert.assertEquals(new String[]{"1"},
result.getValues("action"));
+ ExtendedAssert.assertEquals(new String[]{"foo"},
result.getValues("m2"));
+ ExtendedAssert.assertEquals(new String[]{"c"},
result.getValues("m3"));
+
+ //
+ result = tester.actual("m3", "c").meta("m1",
"foo").meta("m2", "bar").meta("m3",
"zuu").encode();
+ assertEquals(4, result.size());
+ ExtendedAssert.assertEquals(new String[]{"11"},
result.getValues("action"));
+ ExtendedAssert.assertEquals(new String[]{"foo"},
result.getValues("m1"));
+ ExtendedAssert.assertEquals(new String[]{"bar"},
result.getValues("m2"));
+ ExtendedAssert.assertEquals(new String[]{"c"},
result.getValues("m3"));
+
+ // {m1,m2} actual parameter
+
+ //
+ result = tester.actual("m1", "a").actual("m2",
"b").encode();
+ assertEquals(3, result.size());
+ ExtendedAssert.assertEquals(new String[]{"0"},
result.getValues("action"));
+ ExtendedAssert.assertEquals(new String[]{"a"},
result.getValues("m1"));
+ ExtendedAssert.assertEquals(new String[]{"b"},
result.getValues("m2"));
+
+ //
+ result = tester.actual("m1", "a").actual("m2",
"b").meta("m1", "foo").encode();
+ assertEquals(3, result.size());
+ ExtendedAssert.assertEquals(new String[]{"10"},
result.getValues("action"));
+ ExtendedAssert.assertEquals(new String[]{"foo","a"},
result.getValues("m1"));
+ ExtendedAssert.assertEquals(new String[]{"b"},
result.getValues("m2"));
+
+ //
+ result = tester.actual("m1", "a").actual("m2",
"b").meta("m2", "foo").encode();
+ assertEquals(3, result.size());
+ ExtendedAssert.assertEquals(new String[]{"1"},
result.getValues("action"));
+ ExtendedAssert.assertEquals(new String[]{"a"},
result.getValues("m1"));
+ ExtendedAssert.assertEquals(new String[]{"foo","b"},
result.getValues("m2"));
+
+ //
+ result = tester.actual("m1", "a").actual("m2",
"b").meta("m1", "foo").meta("m2",
"bar").encode();
+ assertEquals(3, result.size());
+ ExtendedAssert.assertEquals(new String[]{"11"},
result.getValues("action"));
+ ExtendedAssert.assertEquals(new String[]{"foo","a"},
result.getValues("m1"));
+ ExtendedAssert.assertEquals(new String[]{"bar","b"},
result.getValues("m2"));
+
+ //
+ result = tester.actual("m1", "a").actual("m2",
"b").meta("m3", "zuu").encode();
+ assertEquals(3, result.size());
+ ExtendedAssert.assertEquals(new String[]{"0"},
result.getValues("action"));
+ ExtendedAssert.assertEquals(new String[]{"a"},
result.getValues("m1"));
+ ExtendedAssert.assertEquals(new String[]{"b"},
result.getValues("m2"));
+
+ //
+ result = tester.actual("m1", "a").actual("m2",
"b").meta("m1", "foo").meta("m3",
"zuu").encode();
+ assertEquals(3, result.size());
+ ExtendedAssert.assertEquals(new String[]{"10"},
result.getValues("action"));
+ ExtendedAssert.assertEquals(new String[]{"foo","a"},
result.getValues("m1"));
+ ExtendedAssert.assertEquals(new String[]{"b"},
result.getValues("m2"));
+
+ //
+ result = tester.actual("m1", "a").actual("m2",
"b").meta("m2", "foo").meta("m3",
"zuu").encode();
+ assertEquals(3, result.size());
+ ExtendedAssert.assertEquals(new String[]{"1"},
result.getValues("action"));
+ ExtendedAssert.assertEquals(new String[]{"a"},
result.getValues("m1"));
+ ExtendedAssert.assertEquals(new String[]{"foo","b"},
result.getValues("m2"));
+
+ //
+ result = tester.actual("m1", "a").actual("m2",
"b").meta("m1", "foo").meta("m2",
"bar").meta("m3", "zuu").encode();
+ assertEquals(3, result.size());
+ ExtendedAssert.assertEquals(new String[]{"11"},
result.getValues("action"));
+ ExtendedAssert.assertEquals(new String[]{"foo","a"},
result.getValues("m1"));
+ ExtendedAssert.assertEquals(new String[]{"bar","b"},
result.getValues("m2"));
+
+ // {m1,m3} actual parameter
+
+ //
+ result = tester.actual("m1", "a").actual("m3",
"c").encode();
+ assertEquals(3, result.size());
+ ExtendedAssert.assertEquals(new String[]{"0"},
result.getValues("action"));
+ ExtendedAssert.assertEquals(new String[]{"a"},
result.getValues("m1"));
+ ExtendedAssert.assertEquals(new String[]{"c"},
result.getValues("m3"));
+
+ //
+ result = tester.actual("m1", "a").actual("m3",
"c").meta("m1", "foo").encode();
+ assertEquals(3, result.size());
+ ExtendedAssert.assertEquals(new String[]{"10"},
result.getValues("action"));
+ ExtendedAssert.assertEquals(new String[]{"foo","a"},
result.getValues("m1"));
+ ExtendedAssert.assertEquals(new String[]{"c"},
result.getValues("m3"));
+
+ //
+ result = tester.actual("m1", "a").actual("m3",
"c").meta("m2", "foo").encode();
+ assertEquals(4, result.size());
+ ExtendedAssert.assertEquals(new String[]{"1"},
result.getValues("action"));
+ ExtendedAssert.assertEquals(new String[]{"a"},
result.getValues("m1"));
+ ExtendedAssert.assertEquals(new String[]{"foo"},
result.getValues("m2"));
+ ExtendedAssert.assertEquals(new String[]{"c"},
result.getValues("m3"));
+
+ //
+ result = tester.actual("m1", "a").actual("m3",
"c").meta("m1", "foo").meta("m2",
"bar").encode();
+ assertEquals(4, result.size());
+ ExtendedAssert.assertEquals(new String[]{"11"},
result.getValues("action"));
+ ExtendedAssert.assertEquals(new String[]{"foo","a"},
result.getValues("m1"));
+ ExtendedAssert.assertEquals(new String[]{"bar"},
result.getValues("m2"));
+ ExtendedAssert.assertEquals(new String[]{"c"},
result.getValues("m3"));
+
+ //
+ result = tester.actual("m1", "a").actual("m3",
"c").meta("m3", "zuu").encode();
+ assertEquals(3, result.size());
+ ExtendedAssert.assertEquals(new String[]{"0"},
result.getValues("action"));
+ ExtendedAssert.assertEquals(new String[]{"a"},
result.getValues("m1"));
+ ExtendedAssert.assertEquals(new String[]{"c"},
result.getValues("m3"));
+
+ //
+ result = tester.actual("m1", "a").actual("m3",
"c").meta("m1", "foo").meta("m3",
"zuu").encode();
+ assertEquals(3, result.size());
+ ExtendedAssert.assertEquals(new String[]{"10"},
result.getValues("action"));
+ ExtendedAssert.assertEquals(new String[]{"foo","a"},
result.getValues("m1"));
+ ExtendedAssert.assertEquals(new String[]{"c"},
result.getValues("m3"));
+
+ //
+ result = tester.actual("m1", "a").actual("m3",
"c").meta("m2", "foo").meta("m3",
"zuu").encode();
+ assertEquals(4, result.size());
+ ExtendedAssert.assertEquals(new String[]{"1"},
result.getValues("action"));
+ ExtendedAssert.assertEquals(new String[]{"a"},
result.getValues("m1"));
+ ExtendedAssert.assertEquals(new String[]{"foo"},
result.getValues("m2"));
+ ExtendedAssert.assertEquals(new String[]{"c"},
result.getValues("m3"));
+
+ //
+ result = tester.actual("m1", "a").actual("m3",
"c").meta("m1", "foo").meta("m2",
"bar").meta("m3", "zuu").encode();
+ assertEquals(4, result.size());
+ ExtendedAssert.assertEquals(new String[]{"11"},
result.getValues("action"));
+ ExtendedAssert.assertEquals(new String[]{"foo","a"},
result.getValues("m1"));
+ ExtendedAssert.assertEquals(new String[]{"bar"},
result.getValues("m2"));
+ ExtendedAssert.assertEquals(new String[]{"c"},
result.getValues("m3"));
+
+ // {m2,m3} actual parameter
+
+ //
+ result = tester.actual("m2", "b").actual("m3",
"c").encode();
+ assertEquals(3, result.size());
+ ExtendedAssert.assertEquals(new String[]{"0"},
result.getValues("action"));
+ ExtendedAssert.assertEquals(new String[]{"b"},
result.getValues("m2"));
+ ExtendedAssert.assertEquals(new String[]{"c"},
result.getValues("m3"));
+
+ //
+ result = tester.actual("m2", "b").actual("m3",
"c").meta("m1", "foo").encode();
+ assertEquals(4, result.size());
+ ExtendedAssert.assertEquals(new String[]{"10"},
result.getValues("action"));
+ ExtendedAssert.assertEquals(new String[]{"foo"},
result.getValues("m1"));
+ ExtendedAssert.assertEquals(new String[]{"b"},
result.getValues("m2"));
+ ExtendedAssert.assertEquals(new String[]{"c"},
result.getValues("m3"));
+
+ //
+ result = tester.actual("m2", "b").actual("m3",
"c").meta("m2", "foo").encode();
+ assertEquals(3, result.size());
+ ExtendedAssert.assertEquals(new String[]{"1"},
result.getValues("action"));
+ ExtendedAssert.assertEquals(new String[]{"foo","b"},
result.getValues("m2"));
+ ExtendedAssert.assertEquals(new String[]{"c"},
result.getValues("m3"));
+
+ //
+ result = tester.actual("m2", "b").actual("m3",
"c").meta("m1", "foo").meta("m2",
"bar").encode();
+ assertEquals(4, result.size());
+ ExtendedAssert.assertEquals(new String[]{"11"},
result.getValues("action"));
+ ExtendedAssert.assertEquals(new String[]{"foo"},
result.getValues("m1"));
+ ExtendedAssert.assertEquals(new String[]{"bar","b"},
result.getValues("m2"));
+ ExtendedAssert.assertEquals(new String[]{"c"},
result.getValues("m3"));
+
+ //
+ result = tester.actual("m2", "b").actual("m3",
"c").meta("m3", "zuu").encode();
+ assertEquals(3, result.size());
+ ExtendedAssert.assertEquals(new String[]{"0"},
result.getValues("action"));
+ ExtendedAssert.assertEquals(new String[]{"b"},
result.getValues("m2"));
+ ExtendedAssert.assertEquals(new String[]{"c"},
result.getValues("m3"));
+
+ //
+ result = tester.actual("m2", "b").actual("m3",
"c").meta("m1", "foo").meta("m3",
"zuu").encode();
+ assertEquals(4, result.size());
+ ExtendedAssert.assertEquals(new String[]{"10"},
result.getValues("action"));
+ ExtendedAssert.assertEquals(new String[]{"foo"},
result.getValues("m1"));
+ ExtendedAssert.assertEquals(new String[]{"b"},
result.getValues("m2"));
+ ExtendedAssert.assertEquals(new String[]{"c"},
result.getValues("m3"));
+
+ //
+ result = tester.actual("m2", "b").actual("m3",
"c").meta("m2", "foo").meta("m3",
"zuu").encode();
+ assertEquals(3, result.size());
+ ExtendedAssert.assertEquals(new String[]{"1"},
result.getValues("action"));
+ ExtendedAssert.assertEquals(new String[]{"foo","b"},
result.getValues("m2"));
+ ExtendedAssert.assertEquals(new String[]{"c"},
result.getValues("m3"));
+
+ //
+ result = tester.actual("m2", "b").actual("m3",
"c").meta("m1", "foo").meta("m2",
"bar").meta("m3", "zuu").encode();
+ assertEquals(4, result.size());
+ ExtendedAssert.assertEquals(new String[]{"11"},
result.getValues("action"));
+ ExtendedAssert.assertEquals(new String[]{"foo"},
result.getValues("m1"));
+ ExtendedAssert.assertEquals(new String[]{"bar","b"},
result.getValues("m2"));
+ ExtendedAssert.assertEquals(new String[]{"c"},
result.getValues("m3"));
+
+ // {m1,m2,m3} actual parameter
+
+ //
+ result = tester.actual("m1", "a").actual("m2",
"b").actual("m3", "c").encode();
+ assertEquals(4, result.size());
+ ExtendedAssert.assertEquals(new String[]{"0"},
result.getValues("action"));
+ ExtendedAssert.assertEquals(new String[]{"a"},
result.getValues("m1"));
+ ExtendedAssert.assertEquals(new String[]{"b"},
result.getValues("m2"));
+ ExtendedAssert.assertEquals(new String[]{"c"},
result.getValues("m3"));
+
+ //
+ result = tester.actual("m1", "a").actual("m2",
"b").actual("m3", "c").meta("m1",
"foo").encode();
+ assertEquals(4, result.size());
+ ExtendedAssert.assertEquals(new String[]{"10"},
result.getValues("action"));
+ ExtendedAssert.assertEquals(new String[]{"foo","a"},
result.getValues("m1"));
+ ExtendedAssert.assertEquals(new String[]{"b"},
result.getValues("m2"));
+ ExtendedAssert.assertEquals(new String[]{"c"},
result.getValues("m3"));
+
+ //
+ result = tester.actual("m1", "a").actual("m2",
"b").actual("m3", "c").meta("m2",
"foo").encode();
+ assertEquals(4, result.size());
+ ExtendedAssert.assertEquals(new String[]{"1"},
result.getValues("action"));
+ ExtendedAssert.assertEquals(new String[]{"a"},
result.getValues("m1"));
+ ExtendedAssert.assertEquals(new String[]{"foo","b"},
result.getValues("m2"));
+ ExtendedAssert.assertEquals(new String[]{"c"},
result.getValues("m3"));
+
+ //
+ result = tester.actual("m1", "a").actual("m2",
"b").actual("m3", "c").meta("m1",
"foo").meta("m2", "bar").encode();
+ assertEquals(4, result.size());
+ ExtendedAssert.assertEquals(new String[]{"11"},
result.getValues("action"));
+ ExtendedAssert.assertEquals(new String[]{"foo","a"},
result.getValues("m1"));
+ ExtendedAssert.assertEquals(new String[]{"bar","b"},
result.getValues("m2"));
+ ExtendedAssert.assertEquals(new String[]{"c"},
result.getValues("m3"));
+
+ //
+ result = tester.actual("m1", "a").actual("m2",
"b").actual("m3", "c").meta("m3",
"zuu").encode();
+ assertEquals(4, result.size());
+ ExtendedAssert.assertEquals(new String[]{"0"},
result.getValues("action"));
+ ExtendedAssert.assertEquals(new String[]{"a"},
result.getValues("m1"));
+ ExtendedAssert.assertEquals(new String[]{"b"},
result.getValues("m2"));
+ ExtendedAssert.assertEquals(new String[]{"c"},
result.getValues("m3"));
+
+ //
+ result = tester.actual("m1", "a").actual("m2",
"b").actual("m3", "c").meta("m1",
"foo").meta("m3", "zuu").encode();
+ assertEquals(4, result.size());
+ ExtendedAssert.assertEquals(new String[]{"10"},
result.getValues("action"));
+ ExtendedAssert.assertEquals(new String[]{"foo","a"},
result.getValues("m1"));
+ ExtendedAssert.assertEquals(new String[]{"b"},
result.getValues("m2"));
+ ExtendedAssert.assertEquals(new String[]{"c"},
result.getValues("m3"));
+
+ //
+ result = tester.actual("m1", "a").actual("m2",
"b").actual("m3", "c").meta("m2",
"foo").meta("m3", "zuu").encode();
+ assertEquals(4, result.size());
+ ExtendedAssert.assertEquals(new String[]{"1"},
result.getValues("action"));
+ ExtendedAssert.assertEquals(new String[]{"a"},
result.getValues("m1"));
+ ExtendedAssert.assertEquals(new String[]{"foo","b"},
result.getValues("m2"));
+ ExtendedAssert.assertEquals(new String[]{"c"},
result.getValues("m3"));
+
+ //
+ result = tester.actual("m1", "a").actual("m2",
"b").actual("m3", "c").meta("m1",
"foo").meta("m2", "bar").meta("m3",
"zuu").encode();
+ assertEquals(4, result.size());
+ ExtendedAssert.assertEquals(new String[]{"11"},
result.getValues("action"));
+ ExtendedAssert.assertEquals(new String[]{"foo","a"},
result.getValues("m1"));
+ ExtendedAssert.assertEquals(new String[]{"bar","b"},
result.getValues("m2"));
+ ExtendedAssert.assertEquals(new String[]{"c"},
result.getValues("m3"));
+ }
+
+ private static class Tester
+ {
+
+ /** . */
+ private CodecBuilder builder = new CodecBuilder("action");
+
+ /** . */
+ private ParameterMap actualParameters = new ParameterMap();
+
+ /** . */
+ private ParameterMap metaParameters = new ParameterMap();
+
+ public Tester meta(String name)
+ {
+ builder.addMetaParameter(name);
+ return this;
+ }
+
+ public Tester meta(String name, String value)
+ {
+ metaParameters.setValue(name, value);
+ return this;
+ }
+
+ public Tester actual(String name, String value)
+ {
+ actualParameters.setValue(name, value);
+ return this;
+ }
+
+ public ParameterMap encode()
+ {
+ ParameterEncoder encoder = builder.createEncoder();
+
+ // Encode
+ encoder.encode(actualParameters, metaParameters);
+
+ // Clear once it is used
+ actualParameters.clear();
+ metaParameters.clear();
+
+ // Clone for safety
+ return encoder.getParameters();
+ }
+ }
+
+}
Added:
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/url/ParameterDecoder.java
===================================================================
---
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/url/ParameterDecoder.java
(rev 0)
+++
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/url/ParameterDecoder.java 2007-08-30
21:10:49 UTC (rev 8115)
@@ -0,0 +1,161 @@
+/******************************************************************************
+ * 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.test.url;
+
+import org.jboss.portal.common.util.ParameterMap;
+
+import java.util.Iterator;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Map;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+public class ParameterDecoder
+{
+
+ /** . */
+ private final CodecBuilder builder;
+
+ /** . */
+ private final ParameterMap metaParameters;
+
+ /** . */
+ private final ParameterMap actualParameters;
+
+ public ParameterDecoder(CodecBuilder builder)
+ {
+ this.builder = builder;
+ this.actualParameters = new ParameterMap();
+ this.metaParameters = new ParameterMap();
+ }
+
+ public ParameterMap getMetaParameters()
+ {
+ return metaParameters;
+ }
+
+ public ParameterMap getActualParameters()
+ {
+ return actualParameters;
+ }
+
+ public void decode(ParameterMap parameters)
+ {
+ actualParameters.clear();
+ metaParameters.clear();
+
+ // Get the meta parameter
+ long reservedParameter = 0;
+ String[] reservedParameters = parameters.getValues(builder.reservedParameterName);
+ if (reservedParameters != null)
+ {
+ if (reservedParameters.length < 1)
+ {
+ throw new IllegalArgumentException();
+ }
+ try
+ {
+ reservedParameter = Long.parseLong(reservedParameters[0], 2);
+ }
+ catch (NumberFormatException e)
+ {
+ throw new IllegalArgumentException();
+ }
+ }
+ else
+ {
+ throw new IllegalArgumentException();
+ }
+
+ //
+ for (int i = builder.metaParameterNames.size() - 1;reservedParameter > 0;)
+ {
+ if (i < 0)
+ {
+ throw new IllegalArgumentException();
+ }
+
+ //
+ String parameterName = (String)builder.metaParameterNames.get(i--);
+
+ //
+ if ((reservedParameter & 1) == 1)
+ {
+ String[] parameterValues = parameters.getValues(parameterName);
+
+ //
+ if (parameterValues == null)
+ {
+ throw new IllegalArgumentException();
+ }
+ if (parameterValues.length == 0)
+ {
+ throw new IllegalArgumentException();
+ }
+
+ //
+ String metaParameterValue = parameterValues[0];
+ metaParameters.setValue(parameterName, metaParameterValue);
+
+ //
+ if (parameterValues.length > 1)
+ {
+ String[] actualParameterValues = new String[parameterValues.length - 1];
+ System.arraycopy(parameterValues, 1, actualParameterValues, 0,
actualParameterValues.length);
+ actualParameters.setValues(parameterName, actualParameterValues);
+ }
+ }
+
+ //
+ reservedParameter = reservedParameter >> 1;
+ }
+
+ //
+ for (Iterator i = parameters.entrySet().iterator();i.hasNext();)
+ {
+ Map.Entry entry = (Map.Entry)i.next();
+ String parameterName = (String)entry.getKey();
+ if (!metaParameters.containsKey(parameterName))
+ {
+ if (builder.reservedParameterName.equals(parameterName))
+ {
+ String[] reservedParameterValues = (String[])entry.getValue();
+ if (reservedParameterValues.length > 1)
+ {
+ String[] parameterValues = new String[reservedParameterValues.length -
1];
+ System.arraycopy(reservedParameterValues, 1, parameterValues, 0,
parameterValues.length);
+ actualParameters.setValues(parameterName, parameterValues);
+ }
+ }
+ else
+ {
+ String[] parameterValues = (String[])entry.getValue();
+ actualParameters.setValues(parameterName, parameterValues);
+ }
+ }
+ }
+ }
+}
Added:
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/url/ParameterEncoder.java
===================================================================
---
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/url/ParameterEncoder.java
(rev 0)
+++
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/url/ParameterEncoder.java 2007-08-30
21:10:49 UTC (rev 8115)
@@ -0,0 +1,116 @@
+/******************************************************************************
+ * 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.test.url;
+
+import org.jboss.portal.common.util.ParameterMap;
+
+import java.util.Map;
+import java.util.Iterator;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+public class ParameterEncoder
+{
+
+ /** . */
+ private final CodecBuilder builder;
+
+ /** . */
+ private final ParameterMap parameters;
+
+ public ParameterEncoder(CodecBuilder builder)
+ {
+ this.builder = new CodecBuilder(builder);
+ this.parameters = new ParameterMap();
+ }
+
+ public ParameterMap getParameters()
+ {
+ return parameters;
+ }
+
+ public void encode(ParameterMap actualParameters, ParameterMap metaParameters)
+ {
+ parameters.clear();
+
+ //
+ long meta = 0;
+
+ //
+ for (Iterator i = builder.metaParameterNames.iterator();i.hasNext();)
+ {
+ String mv = (String)i.next();
+ String pv = metaParameters.getValue(mv);
+
+ //
+ meta *= 2;
+
+ //
+ if (pv != null)
+ {
+ String[] pvs = actualParameters.getValues(mv);
+ if (pvs != null)
+ {
+ String[] blah = new String[1 + pvs.length];
+ blah[0] = pv;
+ System.arraycopy(pvs, 0, blah, 1, pvs.length);
+ parameters.setValues(mv, blah);
+ }
+ else
+ {
+ parameters.setValue(mv, pv);
+ }
+ meta |= 1;
+ }
+ }
+
+ //
+ String def = Long.toBinaryString(meta);
+ String[] pvs = actualParameters.getValues(builder.reservedParameterName);
+ if (pvs != null)
+ {
+ String[] blah = new String[1 + pvs.length];
+ blah[0] = def;
+ System.arraycopy(pvs, 0, blah, 1, pvs.length);
+ parameters.setValues(builder.reservedParameterName, blah);
+ }
+ else
+ {
+ parameters.setValue(builder.reservedParameterName, def);
+ }
+
+ //
+ for (Iterator i = actualParameters.entrySet().iterator();i.hasNext();)
+ {
+ Map.Entry entry = (Map.Entry)i.next();
+ String name = (String)entry.getKey();
+ if (!parameters.containsKey(name))
+ {
+ String[] values = (String[])entry.getValue();
+ parameters.setValues(name, values);
+ }
+ }
+ }
+}
Modified:
modules/portlet/trunk/test/src/resources/portlet-test-war/WEB-INF/jboss-beans.xml
===================================================================
---
modules/portlet/trunk/test/src/resources/portlet-test-war/WEB-INF/jboss-beans.xml 2007-08-30
20:00:55 UTC (rev 8114)
+++
modules/portlet/trunk/test/src/resources/portlet-test-war/WEB-INF/jboss-beans.xml 2007-08-30
21:10:49 UTC (rev 8115)
@@ -4,7 +4,8 @@
xsi:schemaLocation="urn:jboss:bean-deployer bean-deployer_2_0.xsd"
xmlns="urn:jboss:bean-deployer:2.0">
- <bean name="TestDriverServer"
class="org.jboss.portal.test.framework.driver.remote.RemoteTestDriverServer">
+ <bean name="TestDriverServer"
class="org.jboss.portal.test.framework.driver.http.HTTPTestDriverServer">
+ <property name="initialPath">/portlet-test</property>
</bean>
<bean name="TestDriverServerExporter"
class="org.jboss.portal.test.framework.impl.generic.server.GenericServiceExporter">
Modified: modules/portlet/trunk/test/src/resources/portlet-test-war/WEB-INF/web.xml
===================================================================
--- modules/portlet/trunk/test/src/resources/portlet-test-war/WEB-INF/web.xml 2007-08-30
20:00:55 UTC (rev 8114)
+++ modules/portlet/trunk/test/src/resources/portlet-test-war/WEB-INF/web.xml 2007-08-30
21:10:49 UTC (rev 8115)
@@ -35,6 +35,6 @@
</servlet>
<servlet-mapping>
<servlet-name>PortalServlet</servlet-name>
- <url-pattern>/</url-pattern>
+ <url-pattern>/*</url-pattern>
</servlet-mapping>
</web-app>