JBoss Portal SVN: r8214 - in branches/JBoss_Portal_Branch_2_6: cms and 16 other directories.
by portal-commits@lists.jboss.org
Author: thomas.heute(a)jboss.com
Date: 2007-09-11 03:27:07 -0400 (Tue, 11 Sep 2007)
New Revision: 8214
Modified:
branches/JBoss_Portal_Branch_2_6/bridge/.classpath
branches/JBoss_Portal_Branch_2_6/cms/.classpath
branches/JBoss_Portal_Branch_2_6/core-admin/.classpath
branches/JBoss_Portal_Branch_2_6/core-cms/.classpath
branches/JBoss_Portal_Branch_2_6/core-identity/.classpath
branches/JBoss_Portal_Branch_2_6/core-identity/src/main/org/jboss/portal/core/identity/ui/actions/EditProfileAction.java
branches/JBoss_Portal_Branch_2_6/core-management/.classpath
branches/JBoss_Portal_Branch_2_6/core-samples/.classpath
branches/JBoss_Portal_Branch_2_6/core-search/.classpath
branches/JBoss_Portal_Branch_2_6/core-wsrp/.classpath
branches/JBoss_Portal_Branch_2_6/core/.classpath
branches/JBoss_Portal_Branch_2_6/faces/.classpath
branches/JBoss_Portal_Branch_2_6/portlet-server/.classpath
branches/JBoss_Portal_Branch_2_6/server/src/main/org/jboss/portal/server/deployment/WebAppAdapter.java
branches/JBoss_Portal_Branch_2_6/theme/.classpath
branches/JBoss_Portal_Branch_2_6/theme/src/main/org/jboss/portal/test/theme/tmp/TestHelper.java
branches/JBoss_Portal_Branch_2_6/widget/.classpath
branches/JBoss_Portal_Branch_2_6/wsrp/.classpath
Log:
Update Eclipse files
Modified: branches/JBoss_Portal_Branch_2_6/bridge/.classpath
===================================================================
--- branches/JBoss_Portal_Branch_2_6/bridge/.classpath 2007-09-11 06:52:17 UTC (rev 8213)
+++ branches/JBoss_Portal_Branch_2_6/bridge/.classpath 2007-09-11 07:27:07 UTC (rev 8214)
@@ -8,9 +8,10 @@
<classpathentry kind="lib" path="/thirdparty/jbossas/core-libs/lib/jboss-system.jar" sourcepath="/JBoss_AS_4.0.5/system/src/main"/>
<classpathentry kind="lib" path="/thirdparty/portals-bridges/lib/portals-bridges-common.jar"/>
<classpathentry combineaccessrules="false" kind="src" path="/api"/>
- <classpathentry combineaccessrules="false" kind="src" path="/portlet"/>
<classpathentry combineaccessrules="false" kind="src" path="/server"/>
<classpathentry combineaccessrules="false" kind="src" path="/jems"/>
<classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/common/lib/portal-common-lib.jar"/>
+ <classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/portlet/lib/portal-portlet-jsr168api-lib.jar"/>
+ <classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/portlet/lib/portal-portlet-lib.jar"/>
<classpathentry kind="output" path="output/classes"/>
</classpath>
Modified: branches/JBoss_Portal_Branch_2_6/cms/.classpath
===================================================================
--- branches/JBoss_Portal_Branch_2_6/cms/.classpath 2007-09-11 06:52:17 UTC (rev 8213)
+++ branches/JBoss_Portal_Branch_2_6/cms/.classpath 2007-09-11 07:27:07 UTC (rev 8214)
@@ -33,7 +33,6 @@
<classpathentry combineaccessrules="false" kind="src" path="/jems"/>
<classpathentry combineaccessrules="false" kind="src" path="/server"/>
<classpathentry combineaccessrules="false" kind="src" path="/api"/>
- <classpathentry combineaccessrules="false" kind="src" path="/portlet"/>
<classpathentry kind="lib" path="/thirdparty/sun-servlet/lib/servlet-api.jar"/>
<classpathentry combineaccessrules="false" kind="src" path="/workflow"/>
<classpathentry kind="lib" path="/thirdparty/jackrabbit/lib/jackrabbit-core.jar"/>
Modified: branches/JBoss_Portal_Branch_2_6/core/.classpath
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core/.classpath 2007-09-11 06:52:17 UTC (rev 8213)
+++ branches/JBoss_Portal_Branch_2_6/core/.classpath 2007-09-11 07:27:07 UTC (rev 8214)
@@ -32,7 +32,6 @@
<classpathentry kind="lib" path="/thirdparty/apache-log4j/lib/log4j.jar"/>
<classpathentry kind="lib" path="/thirdparty/junit/lib/junit.jar"/>
<classpathentry combineaccessrules="false" kind="src" path="/faces"/>
- <classpathentry combineaccessrules="false" kind="src" path="/portlet"/>
<classpathentry combineaccessrules="false" kind="src" path="/api"/>
<classpathentry combineaccessrules="false" kind="src" path="/jems"/>
<classpathentry combineaccessrules="false" kind="src" path="/server"/>
@@ -42,7 +41,6 @@
<classpathentry combineaccessrules="false" kind="src" path="/format"/>
<classpathentry combineaccessrules="false" kind="src" path="/registration"/>
<classpathentry combineaccessrules="false" kind="src" path="/workflow"/>
- <classpathentry combineaccessrules="false" kind="src" path="/portlet-federation"/>
<classpathentry kind="lib" path="/thirdparty/jbpm/jaronly/lib/jbpm.jar"/>
<classpathentry combineaccessrules="false" kind="src" path="/portlet-server"/>
<classpathentry kind="lib" path="/thirdparty/apache-xerces/lib/xml-apis.jar"/>
@@ -56,5 +54,8 @@
<classpathentry kind="lib" path="/thirdparty/jbossas/core-libs/lib/jbossha.jar"/>
<classpathentry kind="lib" path="/thirdparty/jboss/backport-concurrent/lib/jboss-backport-concurrent.jar"/>
<classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/test/lib/portal-test-lib.jar"/>
+ <classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/portlet/lib/portal-portlet-federation-lib.jar"/>
+ <classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/portlet/lib/portal-portlet-jsr168api-lib.jar"/>
+ <classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/portlet/lib/portal-portlet-lib.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>
Modified: branches/JBoss_Portal_Branch_2_6/core-admin/.classpath
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core-admin/.classpath 2007-09-11 06:52:17 UTC (rev 8213)
+++ branches/JBoss_Portal_Branch_2_6/core-admin/.classpath 2007-09-11 07:27:07 UTC (rev 8214)
@@ -7,10 +7,8 @@
<classpathentry kind="lib" path="/thirdparty/apache-myfaces/lib/myfaces-api.jar"/>
<classpathentry combineaccessrules="false" kind="src" path="/api"/>
<classpathentry combineaccessrules="false" kind="src" path="/core"/>
- <classpathentry combineaccessrules="false" kind="src" path="/portlet"/>
<classpathentry kind="lib" path="/thirdparty/jbossas/core-libs/lib/jboss-common.jar"/>
<classpathentry combineaccessrules="false" kind="src" path="/theme"/>
- <classpathentry combineaccessrules="false" kind="src" path="/portlet-federation"/>
<classpathentry combineaccessrules="false" kind="src" path="/jems"/>
<classpathentry kind="lib" path="/thirdparty/jbossas/core-libs/lib/jboss-system.jar"/>
<classpathentry kind="lib" path="/thirdparty/jbossas/core-libs/lib/jboss-jmx.jar"/>
@@ -22,5 +20,7 @@
<classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/common/lib/portal-common-lib.jar"/>
<classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/common/lib/portal-common-portal-lib.jar"/>
<classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/identity/lib/portal-identity-lib.jar"/>
+ <classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/portlet/lib/portal-portlet-federation-lib.jar"/>
+ <classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/portlet/lib/portal-portlet-lib.jar"/>
<classpathentry kind="output" path="output/classes"/>
</classpath>
Modified: branches/JBoss_Portal_Branch_2_6/core-cms/.classpath
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core-cms/.classpath 2007-09-11 06:52:17 UTC (rev 8213)
+++ branches/JBoss_Portal_Branch_2_6/core-cms/.classpath 2007-09-11 07:27:07 UTC (rev 8214)
@@ -5,7 +5,6 @@
<classpathentry combineaccessrules="false" kind="src" path="/cms"/>
<classpathentry combineaccessrules="false" kind="src" path="/core"/>
<classpathentry combineaccessrules="false" kind="src" path="/server"/>
- <classpathentry combineaccessrules="false" kind="src" path="/portlet"/>
<classpathentry combineaccessrules="false" kind="src" path="/api"/>
<classpathentry kind="lib" path="/thirdparty/jbossas/core-libs/lib/jboss-jmx.jar"/>
<classpathentry combineaccessrules="false" kind="src" path="/jems"/>
@@ -26,5 +25,7 @@
<classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/common/lib/portal-common-lib.jar"/>
<classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/identity/lib/portal-identity-lib.jar"/>
<classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/common/lib/portal-common-portal-lib.jar"/>
+ <classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/portlet/lib/portal-portlet-jsr168api-lib.jar"/>
+ <classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/portlet/lib/portal-portlet-lib.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>
Modified: branches/JBoss_Portal_Branch_2_6/core-identity/.classpath
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core-identity/.classpath 2007-09-11 06:52:17 UTC (rev 8213)
+++ branches/JBoss_Portal_Branch_2_6/core-identity/.classpath 2007-09-11 07:27:07 UTC (rev 8214)
@@ -7,7 +7,6 @@
<classpathentry combineaccessrules="false" kind="src" path="/faces"/>
<classpathentry combineaccessrules="false" kind="src" path="/format"/>
<classpathentry combineaccessrules="false" kind="src" path="/jems"/>
- <classpathentry combineaccessrules="false" kind="src" path="/portlet"/>
<classpathentry combineaccessrules="false" kind="src" path="/security"/>
<classpathentry combineaccessrules="false" kind="src" path="/server"/>
<classpathentry combineaccessrules="false" kind="src" path="/workflow"/>
@@ -48,5 +47,7 @@
<classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/common/lib/portal-common-portal-lib.jar"/>
<classpathentry kind="lib" path="/thirdparty/jboss/jbossxb/lib/jboss-xml-binding.jar"/>
<classpathentry combineaccessrules="false" kind="src" path="/theme"/>
+ <classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/portlet/lib/portal-portlet-lib.jar"/>
+ <classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/portlet/lib/portal-portlet-jsr168api-lib.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>
Modified: branches/JBoss_Portal_Branch_2_6/core-identity/src/main/org/jboss/portal/core/identity/ui/actions/EditProfileAction.java
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core-identity/src/main/org/jboss/portal/core/identity/ui/actions/EditProfileAction.java 2007-09-11 06:52:17 UTC (rev 8213)
+++ branches/JBoss_Portal_Branch_2_6/core-identity/src/main/org/jboss/portal/core/identity/ui/actions/EditProfileAction.java 2007-09-11 07:27:07 UTC (rev 8214)
@@ -29,7 +29,6 @@
import javax.faces.application.FacesMessage;
import javax.faces.context.ExternalContext;
import javax.faces.context.FacesContext;
-import javax.portlet.PortletMode;
import javax.portlet.WindowState;
import javax.portlet.WindowStateException;
@@ -45,7 +44,6 @@
import org.jboss.portal.server.ServerInvocationContext;
import org.jboss.portlet.JBossActionRequest;
import org.jboss.portlet.JBossActionResponse;
-import org.jboss.portlet.JBossRenderResponse;
/**
* @author <a href="mailto:emuckenh@redhat.com">Emanuel Muckenhuber</a>
Modified: branches/JBoss_Portal_Branch_2_6/core-management/.classpath
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core-management/.classpath 2007-09-11 06:52:17 UTC (rev 8213)
+++ branches/JBoss_Portal_Branch_2_6/core-management/.classpath 2007-09-11 07:27:07 UTC (rev 8214)
@@ -6,9 +6,9 @@
<classpathentry combineaccessrules="false" kind="src" path="/jems"/>
<classpathentry kind="lib" path="/thirdparty/jbossas/core-libs/lib/jboss-system.jar"/>
<classpathentry kind="lib" path="/thirdparty/jbossas/core-libs/lib/jboss-jmx.jar"/>
- <classpathentry combineaccessrules="false" kind="src" path="/portlet"/>
<classpathentry kind="lib" path="/thirdparty/jbossas/core-libs/lib/jboss-common.jar"/>
- <classpathentry combineaccessrules="false" kind="src" path="/portlet-federation"/>
<classpathentry kind="lib" path="/thirdparty/jbossas/core-libs/lib/jboss-j2ee.jar"/>
+ <classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/portlet/lib/portal-portlet-federation-lib.jar"/>
+ <classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/portlet/lib/portal-portlet-lib.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>
Modified: branches/JBoss_Portal_Branch_2_6/core-samples/.classpath
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core-samples/.classpath 2007-09-11 06:52:17 UTC (rev 8213)
+++ branches/JBoss_Portal_Branch_2_6/core-samples/.classpath 2007-09-11 07:27:07 UTC (rev 8214)
@@ -6,7 +6,6 @@
<classpathentry combineaccessrules="false" kind="src" path="/api"/>
<classpathentry combineaccessrules="false" kind="src" path="/format"/>
<classpathentry combineaccessrules="false" kind="src" path="/core"/>
- <classpathentry combineaccessrules="false" kind="src" path="/portlet"/>
<classpathentry combineaccessrules="false" kind="src" path="/theme"/>
<classpathentry kind="lib" path="/thirdparty/jbossas/core-libs/lib/jboss-j2ee.jar"/>
<classpathentry kind="lib" path="/thirdparty/apache-fileupload/lib/commons-fileupload.jar"/>
@@ -15,5 +14,7 @@
<classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/identity/lib/portal-identity-lib.jar"/>
<classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/common/lib/portal-common-portal-lib.jar"/>
<classpathentry kind="lib" path="/thirdparty/jbossas/core-libs/lib/jboss-jmx.jar" sourcepath="/JBoss_AS_4.0.5/jmx/src/main"/>
+ <classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/portlet/lib/portal-portlet-jsr168api-lib.jar"/>
+ <classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/portlet/lib/portal-portlet-lib.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>
Modified: branches/JBoss_Portal_Branch_2_6/core-search/.classpath
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core-search/.classpath 2007-09-11 06:52:17 UTC (rev 8213)
+++ branches/JBoss_Portal_Branch_2_6/core-search/.classpath 2007-09-11 07:27:07 UTC (rev 8214)
@@ -9,12 +9,13 @@
<classpathentry kind="lib" path="/thirdparty/apache-myfaces/lib/myfaces-api.jar"/>
<classpathentry combineaccessrules="false" kind="src" path="/core"/>
<classpathentry combineaccessrules="false" kind="src" path="/api"/>
- <classpathentry combineaccessrules="false" kind="src" path="/portlet"/>
<classpathentry combineaccessrules="false" kind="src" path="/server"/>
<classpathentry combineaccessrules="false" kind="src" path="/jems"/>
<classpathentry combineaccessrules="false" kind="src" path="/search"/>
<classpathentry combineaccessrules="false" kind="src" path="/faces"/>
<classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/common/lib/portal-common-lib.jar"/>
<classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/common/lib/portal-common-portal-lib.jar"/>
+ <classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/portlet/lib/portal-portlet-lib.jar"/>
+ <classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/portlet/lib/portal-portlet-jsr168api-lib.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>
Modified: branches/JBoss_Portal_Branch_2_6/core-wsrp/.classpath
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core-wsrp/.classpath 2007-09-11 06:52:17 UTC (rev 8213)
+++ branches/JBoss_Portal_Branch_2_6/core-wsrp/.classpath 2007-09-11 07:27:07 UTC (rev 8214)
@@ -4,8 +4,8 @@
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
<classpathentry combineaccessrules="false" kind="src" path="/wsrp"/>
<classpathentry kind="lib" path="/thirdparty/apache-myfaces/lib/myfaces-api.jar"/>
- <classpathentry combineaccessrules="false" kind="src" path="/portlet"/>
<classpathentry kind="lib" path="/thirdparty/junit/lib/junit.jar"/>
<classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/common/lib/portal-common-lib.jar"/>
+ <classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/portlet/lib/portal-portlet-lib.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>
Modified: branches/JBoss_Portal_Branch_2_6/faces/.classpath
===================================================================
--- branches/JBoss_Portal_Branch_2_6/faces/.classpath 2007-09-11 06:52:17 UTC (rev 8213)
+++ branches/JBoss_Portal_Branch_2_6/faces/.classpath 2007-09-11 07:27:07 UTC (rev 8214)
@@ -9,12 +9,13 @@
<classpathentry kind="lib" path="/thirdparty/el/lib/el-api.jar"/>
<classpathentry kind="lib" path="/thirdparty/oswego-concurrent/lib/concurrent.jar"/>
<classpathentry kind="lib" path="/thirdparty/junit/lib/junit.jar"/>
- <classpathentry combineaccessrules="false" kind="src" path="/portlet"/>
<classpathentry combineaccessrules="false" kind="src" path="/api"/>
<classpathentry combineaccessrules="false" kind="src" path="/server"/>
<classpathentry kind="lib" path="/thirdparty/sun-servlet/lib/servlet-api.jar"/>
<classpathentry combineaccessrules="false" kind="src" path="/bridge"/>
<classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/common/lib/portal-common-lib.jar"/>
<classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/common/lib/portal-common-portal-lib.jar"/>
+ <classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/portlet/lib/portal-portlet-lib.jar"/>
+ <classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/portlet/lib/portal-portlet-jsr168api-lib.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>
Modified: branches/JBoss_Portal_Branch_2_6/portlet-server/.classpath
===================================================================
--- branches/JBoss_Portal_Branch_2_6/portlet-server/.classpath 2007-09-11 06:52:17 UTC (rev 8213)
+++ branches/JBoss_Portal_Branch_2_6/portlet-server/.classpath 2007-09-11 07:27:07 UTC (rev 8214)
@@ -2,7 +2,6 @@
<classpath>
<classpathentry kind="src" path="src/main"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
- <classpathentry combineaccessrules="false" kind="src" path="/portlet"/>
<classpathentry combineaccessrules="false" kind="src" path="/server"/>
<classpathentry kind="lib" path="/thirdparty/sun-servlet/lib/servlet-api.jar"/>
<classpathentry combineaccessrules="false" kind="src" path="/api"/>
@@ -16,5 +15,7 @@
<classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/common/lib/portal-common-lib.jar"/>
<classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/common/lib/portal-common-portal-lib.jar"/>
<classpathentry kind="lib" path="/thirdparty/jbossas/core-libs/lib/jboss.jar"/>
+ <classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/portlet/lib/portal-portlet-jsr168api-lib.jar"/>
+ <classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/portlet/lib/portal-portlet-lib.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>
Modified: branches/JBoss_Portal_Branch_2_6/server/src/main/org/jboss/portal/server/deployment/WebAppAdapter.java
===================================================================
--- branches/JBoss_Portal_Branch_2_6/server/src/main/org/jboss/portal/server/deployment/WebAppAdapter.java 2007-09-11 06:52:17 UTC (rev 8213)
+++ branches/JBoss_Portal_Branch_2_6/server/src/main/org/jboss/portal/server/deployment/WebAppAdapter.java 2007-09-11 07:27:07 UTC (rev 8214)
@@ -24,7 +24,6 @@
import org.jboss.deployment.DeploymentException;
import org.jboss.portal.server.deployment.jboss.ServerDeployerMBean;
-import org.jboss.portal.test.framework.impl.jboss.agent.JBossTestAgent;
/**
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
@@ -55,7 +54,7 @@
}
catch (DeploymentException e)
{
- JBossTestAgent.record(e);
+// JBossTestAgent.record(e);
}
}
@@ -67,7 +66,7 @@
}
catch (DeploymentException e)
{
- JBossTestAgent.record(e);
+// JBossTestAgent.record(e);
}
}
}
Modified: branches/JBoss_Portal_Branch_2_6/theme/.classpath
===================================================================
--- branches/JBoss_Portal_Branch_2_6/theme/.classpath 2007-09-11 06:52:17 UTC (rev 8213)
+++ branches/JBoss_Portal_Branch_2_6/theme/.classpath 2007-09-11 07:27:07 UTC (rev 8214)
@@ -15,7 +15,6 @@
<classpathentry kind="lib" path="/thirdparty/jbossas/core-libs/lib/jboss-xml-binding.jar"/>
<classpathentry combineaccessrules="false" kind="src" path="/server"/>
<classpathentry combineaccessrules="false" kind="src" path="/jems"/>
- <classpathentry combineaccessrules="false" kind="src" path="/portlet"/>
<classpathentry combineaccessrules="false" kind="src" path="/api"/>
<classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/common/lib/portal-common-lib.jar"/>
<classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/web/lib/portal-web-lib.jar"/>
Modified: branches/JBoss_Portal_Branch_2_6/theme/src/main/org/jboss/portal/test/theme/tmp/TestHelper.java
===================================================================
--- branches/JBoss_Portal_Branch_2_6/theme/src/main/org/jboss/portal/test/theme/tmp/TestHelper.java 2007-09-11 06:52:17 UTC (rev 8213)
+++ branches/JBoss_Portal_Branch_2_6/theme/src/main/org/jboss/portal/test/theme/tmp/TestHelper.java 2007-09-11 07:27:07 UTC (rev 8214)
@@ -23,7 +23,6 @@
package org.jboss.portal.test.theme.tmp;
import org.jboss.portal.common.invocation.AttributeResolver;
-import org.jboss.portal.portlet.Properties;
import org.jboss.portal.server.ServerRequest;
import org.jboss.portal.theme.LayoutService;
import org.jboss.portal.theme.RuntimeContext;
@@ -198,7 +197,7 @@
public static ServerRequest createServerRequest()
{
- final HttpServletRequest clientRequest = new TestHttpServletRequest();
+ // final HttpServletRequest clientRequest = new TestHttpServletRequest();
return new ServerRequest(null);
}
Modified: branches/JBoss_Portal_Branch_2_6/widget/.classpath
===================================================================
--- branches/JBoss_Portal_Branch_2_6/widget/.classpath 2007-09-11 06:52:17 UTC (rev 8213)
+++ branches/JBoss_Portal_Branch_2_6/widget/.classpath 2007-09-11 07:27:07 UTC (rev 8214)
@@ -2,7 +2,6 @@
<classpath>
<classpathentry kind="src" path="src/main"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
- <classpathentry combineaccessrules="false" kind="src" path="/api"/>
<classpathentry kind="lib" path="/thirdparty/apache-log4j/lib/log4j.jar"/>
<classpathentry kind="lib" path="/thirdparty/oswego-concurrent/lib/concurrent.jar"/>
<classpathentry kind="lib" path="/thirdparty/jboss/backport-concurrent/lib/jboss-backport-concurrent.jar"/>
@@ -10,5 +9,6 @@
<classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/common/lib/portal-common-lib.jar"/>
<classpathentry kind="lib" path="/thirdparty/jbossas/core-libs/lib/jboss-common.jar"/>
<classpathentry kind="lib" path="/thirdparty/jboss/jbossxb/lib/jboss-xml-binding.jar"/>
+ <classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/portlet/lib/portal-portlet-jsr168api-lib.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>
Modified: branches/JBoss_Portal_Branch_2_6/wsrp/.classpath
===================================================================
--- branches/JBoss_Portal_Branch_2_6/wsrp/.classpath 2007-09-11 06:52:17 UTC (rev 8213)
+++ branches/JBoss_Portal_Branch_2_6/wsrp/.classpath 2007-09-11 07:27:07 UTC (rev 8214)
@@ -5,7 +5,6 @@
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="lib" path="/thirdparty/sun-servlet/lib/servlet-api.jar"/>
<classpathentry combineaccessrules="false" kind="src" path="/server"/>
- <classpathentry combineaccessrules="false" kind="src" path="/portlet"/>
<classpathentry kind="lib" path="/thirdparty/oswego-concurrent/lib/concurrent.jar"/>
<classpathentry combineaccessrules="false" kind="src" path="/api"/>
<classpathentry kind="lib" path="/thirdparty/apache-httpclient/lib/commons-httpclient.jar"/>
@@ -25,12 +24,14 @@
<classpathentry combineaccessrules="false" kind="src" path="/jems"/>
<classpathentry combineaccessrules="false" kind="src" path="/core"/>
<classpathentry combineaccessrules="false" kind="src" path="/registration"/>
- <classpathentry combineaccessrules="false" kind="src" path="/portlet-federation"/>
<classpathentry kind="lib" path="/thirdparty/hibernate/lib/hibernate3.jar"/>
<classpathentry kind="lib" path="/thirdparty/apache-myfaces/lib/myfaces-api.jar"/>
<classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/common/lib/portal-common-lib.jar"/>
<classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/web/lib/portal-web-lib.jar"/>
<classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/test/lib/portal-test-lib.jar"/>
<classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/common/lib/portal-common-portal-lib.jar"/>
+ <classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/portlet/lib/portal-portlet-lib.jar"/>
+ <classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/portlet/lib/portal-portlet-federation-lib.jar"/>
+ <classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/portlet/lib/portal-portlet-jsr168api-lib.jar"/>
<classpathentry kind="output" path="output/classes"/>
</classpath>
18 years, 7 months
JBoss Portal SVN: r8212 - in modules/portlet/trunk: bridge and 20 other directories.
by portal-commits@lists.jboss.org
Author: julien(a)jboss.com
Date: 2007-09-11 02:51:35 -0400 (Tue, 11 Sep 2007)
New Revision: 8212
Added:
modules/portlet/trunk/bridge/
modules/portlet/trunk/bridge/.classpath
modules/portlet/trunk/bridge/.cvsignore
modules/portlet/trunk/bridge/.project
modules/portlet/trunk/bridge/build.bat
modules/portlet/trunk/bridge/build.sh
modules/portlet/trunk/bridge/build.xml
modules/portlet/trunk/bridge/src/
modules/portlet/trunk/bridge/src/main/
modules/portlet/trunk/bridge/src/main/org/
modules/portlet/trunk/bridge/src/main/org/jboss/
modules/portlet/trunk/bridge/src/main/org/jboss/portal/
modules/portlet/trunk/bridge/src/main/org/jboss/portal/portlet/
modules/portlet/trunk/bridge/src/main/org/jboss/portal/portlet/bridge/
modules/portlet/trunk/bridge/src/main/org/jboss/portal/portlet/bridge/BridgeInterceptor.java
modules/portlet/trunk/bridge/src/main/org/jboss/portal/portlet/bridge/BridgeRequest.java
modules/portlet/trunk/bridge/src/main/org/jboss/portal/portlet/bridge/BridgeResponse.java
modules/portlet/trunk/bridge/src/main/org/jboss/portal/portlet/bridge/JBossServletContextProvider.java
modules/portlet/trunk/build/ide/intellij/idea60/modules/bridge/
modules/portlet/trunk/build/ide/intellij/idea60/modules/bridge/bridge.iml
modules/portlet/trunk/build/ide/intellij/idea60/modules/management/
modules/portlet/trunk/build/ide/intellij/idea60/modules/management/management.iml
modules/portlet/trunk/management/
modules/portlet/trunk/management/build.xml
modules/portlet/trunk/management/src/
modules/portlet/trunk/management/src/main/
modules/portlet/trunk/management/src/main/org/
modules/portlet/trunk/management/src/main/org/jboss/
modules/portlet/trunk/management/src/main/org/jboss/portal/
modules/portlet/trunk/management/src/main/org/jboss/portal/portlet/
modules/portlet/trunk/management/src/main/org/jboss/portal/portlet/management/
modules/portlet/trunk/management/src/main/org/jboss/portal/portlet/management/LocalPortletManagement.java
modules/portlet/trunk/management/src/main/org/jboss/portal/portlet/management/LocalPortletManagementMBean.java
modules/portlet/trunk/management/src/main/org/jboss/portal/portlet/management/PortletContainerManagementInterceptor.java
modules/portlet/trunk/management/src/main/org/jboss/portal/portlet/management/PortletContainerManagementInterceptorImpl.java
modules/portlet/trunk/management/src/main/org/jboss/portal/portlet/management/PortletInfo.java
Removed:
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/management/LocalPortletManagement.java
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/management/LocalPortletManagementMBean.java
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/management/PortletContainerManagementInterceptor.java
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/management/PortletContainerManagementInterceptorImpl.java
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/management/PortletInfo.java
Modified:
modules/portlet/trunk/build/build-thirdparty.xml
modules/portlet/trunk/build/build.xml
modules/portlet/trunk/jboss-portal-portlet.ipr
modules/portlet/trunk/jboss-portal-portlet.iws
Log:
moved bridge module to portlet module and moved the management class from portlet to management
Added: modules/portlet/trunk/bridge/.classpath
===================================================================
--- modules/portlet/trunk/bridge/.classpath (rev 0)
+++ modules/portlet/trunk/bridge/.classpath 2007-09-11 06:51:35 UTC (rev 8212)
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src/main"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+ <classpathentry kind="lib" path="/thirdparty/sun-servlet/lib/servlet-api.jar"/>
+ <classpathentry kind="lib" path="/thirdparty/jbossas/core-libs/lib/jboss-common.jar"/>
+ <classpathentry kind="lib" path="/thirdparty/jbossas/core-libs/lib/jboss-jmx.jar"/>
+ <classpathentry kind="lib" path="/thirdparty/jbossas/core-libs/lib/jboss-system.jar" sourcepath="/JBoss_AS_4.0.5/system/src/main"/>
+ <classpathentry kind="lib" path="/thirdparty/portals-bridges/lib/portals-bridges-common.jar"/>
+ <classpathentry combineaccessrules="false" kind="src" path="/api"/>
+ <classpathentry combineaccessrules="false" kind="src" path="/portlet"/>
+ <classpathentry combineaccessrules="false" kind="src" path="/server"/>
+ <classpathentry combineaccessrules="false" kind="src" path="/jems"/>
+ <classpathentry kind="lib" path="/thirdparty/jboss-portal/modules/common/lib/portal-common-lib.jar"/>
+ <classpathentry kind="output" path="output/classes"/>
+</classpath>
Property changes on: modules/portlet/trunk/bridge/.classpath
___________________________________________________________________
Name: svn:executable
+ *
Added: modules/portlet/trunk/bridge/.cvsignore
===================================================================
--- modules/portlet/trunk/bridge/.cvsignore (rev 0)
+++ modules/portlet/trunk/bridge/.cvsignore 2007-09-11 06:51:35 UTC (rev 8212)
@@ -0,0 +1 @@
+output
Property changes on: modules/portlet/trunk/bridge/.cvsignore
___________________________________________________________________
Name: svn:executable
+ *
Added: modules/portlet/trunk/bridge/.project
===================================================================
--- modules/portlet/trunk/bridge/.project (rev 0)
+++ modules/portlet/trunk/bridge/.project 2007-09-11 06:51:35 UTC (rev 8212)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>bridge</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
Property changes on: modules/portlet/trunk/bridge/.project
___________________________________________________________________
Name: svn:executable
+ *
Added: modules/portlet/trunk/bridge/build.bat
===================================================================
--- modules/portlet/trunk/bridge/build.bat (rev 0)
+++ modules/portlet/trunk/bridge/build.bat 2007-09-11 06:51:35 UTC (rev 8212)
@@ -0,0 +1,54 @@
+@echo off
+rem
+rem Invokes a script of the same name in the 'tools' module.
+rem
+rem The 'tools' module is expected to be a peer directory of the directory
+rem in which this script lives.
+rem
+rem @author Jason Dillon <jason(a)planet57.com>
+rem
+
+rem $Id: build.bat 402 2005-05-02 22:30:37Z julien $
+
+setlocal
+
+set PROGNAME=%~nx0
+set DIRNAME=%~dp0
+
+rem Legacy shell support
+if x%PROGNAME%==x set PROGNAME=build.bat
+if x%DIRNAME%==x set DIRNAME=.\
+
+set MODULE_ROOT=%DIRNAME%
+if x%TOOLS_ROOT%==x set TOOLS_ROOT=%DIRNAME%..\tools
+set TARGET=%TOOLS_ROOT%\bin\build.bat
+set ARGS=%*
+
+rem Start'er up yo
+goto main
+
+:debug
+if not x%DEBUG%==x echo %PROGNAME%: %*
+goto :EOF
+
+:main
+call :debug PROGNAME=%PROGNAME%
+call :debug DIRNAME=%DIRNAME%
+call :debug TOOLS_ROOT=%TOOLS_ROOT%
+call :debug TARGET=%TARGET%
+
+if exist %TARGET% call :call-script & goto :EOF
+rem else fail, we can not go on
+
+echo %PROGNAME%: *ERROR* The target executable does not exist:
+echo %PROGNAME%:
+echo %PROGNAME%: %TARGET%
+echo %PROGNAME%:
+echo %PROGNAME%: Please make sure you have checked out the 'tools' module
+echo %PROGNAME%: and make sure it is up to date.
+goto :EOF
+
+:call-script
+call :debug Executing %TARGET% %ARGS%
+call %TARGET% %ARGS%
+goto :EOF
Property changes on: modules/portlet/trunk/bridge/build.bat
___________________________________________________________________
Name: svn:executable
+ *
Added: modules/portlet/trunk/bridge/build.sh
===================================================================
--- modules/portlet/trunk/bridge/build.sh (rev 0)
+++ modules/portlet/trunk/bridge/build.sh 2007-09-11 06:51:35 UTC (rev 8212)
@@ -0,0 +1,49 @@
+#!/bin/sh
+##
+## Invokes a script of the same name in the 'tools' module.
+##
+## The 'tools' module is expected to be a peer directory of the directory
+## in which this script lives.
+##
+## @author Jason Dillon <jason(a)planet57.com>
+##
+
+# $Id: build.sh 402 2005-05-02 22:30:37Z julien $
+
+PROGNAME=`basename $0`
+DIRNAME=`dirname $0`
+
+# Buss it yo
+main() {
+ if [ "x$TOOLS_ROOT" = "x" ]; then
+ TOOLS_ROOT=`cd $DIRNAME/../tools && pwd`
+ fi
+
+ MODULE_ROOT=`cd $DIRNAME; pwd`
+ export TOOLS_ROOT MODULE_ROOT DEBUG TRACE
+
+ # Where is the target script?
+ target="$TOOLS_ROOT/bin/$PROGNAME"
+ if [ ! -f "$target" ]; then
+ echo "${PROGNAME}: *ERROR* The target executable does not exist:"
+ echo "${PROGNAME}:"
+ echo "${PROGNAME}: $target"
+ echo "${PROGNAME}:"
+ echo "${PROGNAME}: Please make sure you have checked out the 'tools' module"
+ echo "${PROGNAME}: and make sure it is up to date."
+ exit 2
+ fi
+
+ # Get busy yo!
+ if [ "x$DEBUG" != "x" ]; then
+ echo "${PROGNAME}: Executing: /bin/sh $target $@"
+ fi
+ if [ "x$TRACE" = "x" ]; then
+ exec /bin/sh $target "$@"
+ else
+ exec /bin/sh -x $target "$@"
+ fi
+}
+
+# Lets get ready to rumble!
+main "$@"
Property changes on: modules/portlet/trunk/bridge/build.sh
___________________________________________________________________
Name: svn:executable
+ *
Added: modules/portlet/trunk/bridge/build.xml
===================================================================
--- modules/portlet/trunk/bridge/build.xml (rev 0)
+++ modules/portlet/trunk/bridge/build.xml 2007-09-11 06:51:35 UTC (rev 8212)
@@ -0,0 +1,191 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ ~ 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. ~
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->
+
+<!DOCTYPE project [
+ <!ENTITY libraries SYSTEM "../thirdparty/libraries.ent">
+ <!ENTITY buildmagic SYSTEM "../tools/etc/buildfragments/buildmagic.ent">
+ <!ENTITY tools SYSTEM "../tools/etc/buildfragments/tools.ent">
+ <!ENTITY modules SYSTEM "../tools/etc/buildfragments/modules.ent">
+ <!ENTITY defaults SYSTEM "../tools/etc/buildfragments/defaults.ent">
+ <!ENTITY targets SYSTEM "../tools/etc/buildfragments/targets.ent">
+ ]>
+
+<!-- $Id: build.xml 8210 2007-09-10 23:40:53Z julien(a)jboss.com $ -->
+
+<!--+======================================================================+-->
+<!--| JBoss Portal (The OpenSource Portal) Build File |-->
+<!--| |-->
+<!--| Distributable under LGPL license. |-->
+<!--| See terms of license at http://www.gnu.org. |-->
+<!--| |-->
+<!--| This file has been designed to work with the 'tools' module and |-->
+<!--| Buildmagic extentions. |-->
+<!--+======================================================================+-->
+
+<project default="main" name="JBoss Portal Bridge">
+
+ <!--+====================================================================+-->
+ <!--| Setup |-->
+ <!--| |-->
+ <!--| Include the common build elements. |-->
+ <!--| |-->
+ <!--| This defines several different targets, properties and paths. |-->
+ <!--| It also sets up the basic extention tasks amoung other things. |-->
+ <!--+====================================================================+-->
+
+ &buildmagic;
+
+ &modules;
+ &defaults;
+ &tools;
+ &targets;
+
+ <!-- ================================================================== -->
+ <!-- Initialization -->
+ <!-- ================================================================== -->
+
+ <!--
+ | Initialize the build system. Must depend on '_buildmagic:init'.
+ | Other targets should depend on 'init' or things will mysteriously fail.
+ -->
+
+ <target name="init" unless="init.disable" depends="_buildmagic:init">
+ </target>
+
+ <!--+====================================================================+-->
+ <!--| Configuration |-->
+ <!--| |-->
+ <!--| This target is invoked by the Buildmagic initialization logic |-->
+ <!--| and should contain module specific configuration elements. |-->
+ <!--+====================================================================+-->
+
+ <target name="configure" unless="configure.disable">
+
+ <!-- Configure thirdparty libraries -->
+ &libraries;
+ <path id="library.classpath">
+ <path refid="jboss.portal/modules/common.classpath"/>
+ <path refid="apache.log4j.classpath"/>
+ <path refid="sun.servlet.classpath"/>
+ <path refid="portals.bridges.classpath"/>
+ </path>
+
+ <path id="javac.classpath">
+ <pathelement location="${build.classes}"/>
+ </path>
+
+ <!-- Configure modules -->
+ <call target="configure-modules"/>
+ <path id="dependentmodule.classpath">
+ <path refid="jboss.portal-portlet-jsr168api.classpath"/>
+ <path refid="jboss.portal-portlet.classpath"/>
+ </path>
+
+ <!--+=======================================+-->
+ <!--| Override any default properties here. |-->
+ <!--+=======================================+-->
+
+ <!-- Configure defaults & build tools -->
+ <call target="configure-defaults"/>
+ <call target="configure-tools"/>
+
+ <!--+=======================================+-->
+ <!--| Define module specific elements here. |-->
+ <!--+=======================================+-->
+ <property name="javadoc.private" value="true"/>
+ <property name="javadoc.protected" value="false"/>
+
+ </target>
+
+ <!--+====================================================================+-->
+ <!--| Compile |-->
+ <!--| |-->
+ <!--| This target should depend on other compile-* targets for each |-->
+ <!--| different type of compile that needs to be performed, short of |-->
+ <!--| documentation compiles. |-->
+ <!--+====================================================================+-->
+
+ <target name="compile"
+ description="Compile all source files."
+ depends="_default:compile-classes,
+ _default:compile-etc,
+ _default:compile-resources">
+ <!-- Add module specific elements here. -->
+ </target>
+
+ <!--+====================================================================+-->
+ <!--| Generate Output |-->
+ <!--| |-->
+ <!--| Generates the target output for this module. Target output is |-->
+ <!--| the output which is ment to be released or used by external |-->
+ <!--| modules. |-->
+ <!--+====================================================================+-->
+
+ <target name="output"
+ description="Generate all target output."
+ depends="compile">
+
+ <mkdir dir="${build.lib}"/>
+
+ <jar jarfile="${build.lib}/portal-portlet-bridge-lib.jar">
+ <fileset dir="${build.classes}"/>
+ </jar>
+
+ </target>
+
+ <!-- ================================================================== -->
+ <!-- Cleaning -->
+ <!-- ================================================================== -->
+
+ <!-- Clean up all build output -->
+ <target name="clean" depends="_default:clean">
+ <!-- Add module specific elements here. -->
+ </target>
+
+ <!--+====================================================================+-->
+ <!--| Documents |-->
+ <!--| |-->
+ <!--| Generate all documentation for this module. |-->
+ <!--+====================================================================+-->
+
+ <target name="docs" depends="_default:docs">
+ <!-- Add module specific elements here. -->
+ </target>
+
+ <!-- ================================================================== -->
+ <!-- Misc. -->
+ <!-- ================================================================== -->
+
+ <target name="main" depends="most"/>
+ <target name="all" depends="_default:all"/>
+ <target name="most" depends="_default:most"/>
+ <target name="help" depends="_default:help"/>
+
+ <!-- ================================================================== -->
+ <!-- Test. -->
+ <!-- ================================================================== -->
+
+ <target name="package-tests"/>
+
+</project>
Property changes on: modules/portlet/trunk/bridge/build.xml
___________________________________________________________________
Name: svn:executable
+ *
Added: modules/portlet/trunk/bridge/src/main/org/jboss/portal/portlet/bridge/BridgeInterceptor.java
===================================================================
--- modules/portlet/trunk/bridge/src/main/org/jboss/portal/portlet/bridge/BridgeInterceptor.java (rev 0)
+++ modules/portlet/trunk/bridge/src/main/org/jboss/portal/portlet/bridge/BridgeInterceptor.java 2007-09-11 06:51:35 UTC (rev 8212)
@@ -0,0 +1,55 @@
+/******************************************************************************
+ * 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.bridge;
+
+import org.jboss.portal.portlet.invocation.PortletInterceptor;
+import org.jboss.portal.portlet.invocation.PortletInvocation;
+
+/**
+ * The bridge interceptor set the bridge for the duration of the request made to the portlet.
+ *
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 6549 $
+ */
+public class BridgeInterceptor extends PortletInterceptor
+{
+
+ protected Object invoke(PortletInvocation invocation) throws Exception
+ {
+ JBossServletContextProvider.BridgeInfo previousInfo = JBossServletContextProvider.get();
+ try
+ {
+ // Set bridge
+ JBossServletContextProvider.BridgeInfo bridgeInfo = new JBossServletContextProvider.BridgeInfo(invocation);
+ JBossServletContextProvider.set(bridgeInfo);
+
+ // Proceed to invocation
+ return invocation.invokeNext();
+ }
+ finally
+ {
+ // Remove bridge
+ JBossServletContextProvider.set(previousInfo);
+ }
+ }
+}
Property changes on: modules/portlet/trunk/bridge/src/main/org/jboss/portal/portlet/bridge/BridgeInterceptor.java
___________________________________________________________________
Name: svn:executable
+ *
Added: modules/portlet/trunk/bridge/src/main/org/jboss/portal/portlet/bridge/BridgeRequest.java
===================================================================
--- modules/portlet/trunk/bridge/src/main/org/jboss/portal/portlet/bridge/BridgeRequest.java (rev 0)
+++ modules/portlet/trunk/bridge/src/main/org/jboss/portal/portlet/bridge/BridgeRequest.java 2007-09-11 06:51:35 UTC (rev 8212)
@@ -0,0 +1,329 @@
+/******************************************************************************
+ * 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.bridge;
+
+import org.jboss.portal.portlet.impl.spi.AbstractRequestContext;
+import org.jboss.portal.portlet.invocation.PortletInvocation;
+
+import javax.portlet.PortletRequest;
+import javax.servlet.RequestDispatcher;
+import javax.servlet.ServletInputStream;
+import javax.servlet.http.Cookie;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpSession;
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.security.Principal;
+import java.util.Enumeration;
+import java.util.Locale;
+import java.util.Map;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 6862 $
+ */
+public class BridgeRequest implements HttpServletRequest
+{
+
+ protected final PortletRequest preq;
+ protected final HttpServletRequest hreq;
+
+ public BridgeRequest(JBossServletContextProvider.BridgeInfo info)
+ {
+ PortletInvocation invocation = info.getInvocation();
+ this.hreq = invocation.getDispatchedRequest();
+ this.preq = (PortletRequest)hreq.getAttribute("javax.portlet.request");
+ }
+
+ public String getProtocol()
+ {
+ return null;
+ }
+
+ public String getRemoteAddr()
+ {
+ return null;
+ }
+
+ public String getRemoteHost()
+ {
+ return null;
+ }
+
+ public String getRealPath(String s)
+ {
+ return null;
+ }
+
+ public StringBuffer getRequestURL()
+ {
+ return null;
+ }
+
+ public String getPathInfo()
+ {
+ return hreq.getPathInfo();
+ }
+
+ public String getQueryString()
+ {
+ return hreq.getQueryString();
+ }
+
+ public String getServletPath()
+ {
+ return hreq.getServletPath();
+ }
+
+ public String getRequestURI()
+ {
+ return hreq.getRequestURI();
+ }
+
+ public String getPathTranslated()
+ {
+ return hreq.getPathTranslated();
+ }
+
+ public String getScheme()
+ {
+ return preq.getScheme();
+ }
+
+ public String getServerName()
+ {
+ return preq.getServerName();
+ }
+
+ public int getServerPort()
+ {
+ return preq.getServerPort();
+ }
+
+ public Object getAttribute(String name)
+ {
+ return preq.getAttribute(name);
+ }
+
+ public Enumeration getAttributeNames()
+ {
+ return preq.getAttributeNames();
+ }
+
+ public void setAttribute(String name, Object value)
+ {
+ preq.setAttribute(name, value);
+ }
+
+ public void removeAttribute(String name)
+ {
+ preq.removeAttribute(name);
+ }
+
+ public Locale getLocale()
+ {
+ return preq.getLocale();
+ }
+
+ public Enumeration getLocales()
+ {
+ return preq.getLocales();
+ }
+
+ public boolean isSecure()
+ {
+ return preq.isSecure();
+ }
+
+ public String getAuthType()
+ {
+ return preq.getAuthType();
+ }
+
+ public String getContextPath()
+ {
+ return preq.getContextPath();
+ }
+
+ public String getRemoteUser()
+ {
+ return preq.getRemoteUser();
+ }
+
+ public Principal getUserPrincipal()
+ {
+ return preq.getUserPrincipal();
+ }
+
+ public String getRequestedSessionId()
+ {
+ return preq.getRequestedSessionId();
+ }
+
+ public boolean isRequestedSessionIdValid()
+ {
+ return preq.isRequestedSessionIdValid();
+ }
+
+ public String getParameter(String s)
+ {
+ return preq.getParameter(s);
+ }
+
+ public Enumeration getParameterNames()
+ {
+ return preq.getParameterNames();
+ }
+
+ public String[] getParameterValues(String s)
+ {
+ return preq.getParameterValues(s);
+ }
+
+ public Map getParameterMap()
+ {
+ return preq.getParameterMap();
+ }
+
+ public String getCharacterEncoding()
+ {
+ return null;
+ }
+
+ public void setCharacterEncoding(String s) throws UnsupportedEncodingException
+ {
+ }
+
+ public int getContentLength()
+ {
+ return 0;
+ }
+
+ public String getContentType()
+ {
+ return null;
+ }
+
+ public ServletInputStream getInputStream() throws IOException
+ {
+ return null;
+ }
+
+ public BufferedReader getReader() throws IOException
+ {
+ return null;
+ }
+
+ // Must be based on properties provided by the getProperties method of the PortletRequest interface
+
+ public String getHeader(String name)
+ {
+ return null;
+ }
+
+ public Enumeration getHeaders(String names)
+ {
+ return null;
+ }
+
+ public Enumeration getHeaderNames()
+ {
+ return null;
+ }
+
+ public Cookie[] getCookies()
+ {
+ return new Cookie[0];
+ }
+
+ public long getDateHeader(String s)
+ {
+ return 0;
+ }
+
+ public int getIntHeader(String s)
+ {
+ return 0;
+ }
+
+ public String getMethod()
+ {
+ return "GET";
+ }
+
+ public RequestDispatcher getRequestDispatcher(String s)
+ {
+ return hreq.getRequestDispatcher(s);
+ }
+
+ public boolean isUserInRole(String roleName)
+ {
+ return preq.isUserInRole(roleName);
+ }
+
+ public HttpSession getSession(boolean create)
+ {
+ return hreq.getSession(create);
+ }
+
+ public HttpSession getSession()
+ {
+ return hreq.getSession();
+ }
+
+ public boolean isRequestedSessionIdFromCookie()
+ {
+ return false;
+ }
+
+ public boolean isRequestedSessionIdFromURL()
+ {
+ return false;
+ }
+
+ public boolean isRequestedSessionIdFromUrl()
+ {
+ return false;
+ }
+
+ public int getRemotePort()
+ {
+ throw new UnsupportedOperationException("NYI");
+ }
+
+ public String getLocalName()
+ {
+ throw new UnsupportedOperationException("NYI");
+ }
+
+ public String getLocalAddr()
+ {
+ throw new UnsupportedOperationException("NYI");
+ }
+
+ public int getLocalPort()
+ {
+ throw new UnsupportedOperationException("NYI");
+ }
+}
Property changes on: modules/portlet/trunk/bridge/src/main/org/jboss/portal/portlet/bridge/BridgeRequest.java
___________________________________________________________________
Name: svn:executable
+ *
Added: modules/portlet/trunk/bridge/src/main/org/jboss/portal/portlet/bridge/BridgeResponse.java
===================================================================
--- modules/portlet/trunk/bridge/src/main/org/jboss/portal/portlet/bridge/BridgeResponse.java (rev 0)
+++ modules/portlet/trunk/bridge/src/main/org/jboss/portal/portlet/bridge/BridgeResponse.java 2007-09-11 06:51:35 UTC (rev 8212)
@@ -0,0 +1,294 @@
+/******************************************************************************
+ * 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.bridge;
+
+import org.jboss.portal.portlet.invocation.PortletInvocation;
+
+import javax.portlet.PortletResponse;
+import javax.portlet.RenderResponse;
+import javax.servlet.ServletOutputStream;
+import javax.servlet.http.Cookie;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.io.PrintWriter;
+import java.util.Locale;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 6862 $
+ */
+public class BridgeResponse implements HttpServletResponse
+{
+
+ /** . */
+ protected final PortletResponse presp;
+
+ /** . */
+ protected final PortletInvocation invocation;
+
+ /** . */
+ protected ServletOutputStream sos;
+
+ public BridgeResponse(JBossServletContextProvider.BridgeInfo info)
+ {
+ invocation = info.getInvocation();
+ HttpServletRequest hreq = invocation.getDispatchedRequest();
+ this.presp = (PortletResponse)hreq.getAttribute("javax.portlet.response");
+ this.sos = null;
+ }
+
+ public String encodeRedirectURL(String s)
+ {
+ return null;
+ }
+
+ public String encodeRedirectUrl(String s)
+ {
+ return null;
+ }
+
+ public String getCharacterEncoding()
+ {
+ return "UTF-8";
+ }
+
+ public void setBufferSize(int i)
+ {
+ if (presp instanceof RenderResponse)
+ {
+ ((RenderResponse)presp).setBufferSize(i);
+ }
+ else
+ {
+ throw new IllegalStateException("setBufferSize called on non render response");
+ }
+ }
+
+ public void flushBuffer() throws IOException
+ {
+ if (presp instanceof RenderResponse)
+ {
+ ((RenderResponse)presp).flushBuffer();
+ }
+ else
+ {
+ throw new IllegalStateException("flushBuffer called on non render response");
+ }
+ }
+
+ public void resetBuffer()
+ {
+ if (presp instanceof RenderResponse)
+ {
+ ((RenderResponse)presp).resetBuffer();
+ }
+ else
+ {
+ throw new IllegalStateException("resetBuffer called on non render response");
+ }
+ }
+
+ public void reset()
+ {
+ if (presp instanceof RenderResponse)
+ {
+ ((RenderResponse)presp).reset();
+ }
+ else
+ {
+ throw new IllegalStateException("reset called on non render response");
+ }
+ }
+
+ public int getBufferSize()
+ {
+ if (presp instanceof RenderResponse)
+ {
+ return ((RenderResponse)presp).getBufferSize();
+ }
+ throw new IllegalStateException("getBufferSize called on non render response");
+ }
+
+ public boolean isCommitted()
+ {
+ if (presp instanceof RenderResponse)
+ {
+ return ((RenderResponse)presp).isCommitted();
+ }
+ throw new IllegalStateException("isCommited called on non render response");
+ }
+
+ public ServletOutputStream getOutputStream() throws IOException
+ {
+ if (sos == null)
+ {
+ if (presp instanceof RenderResponse)
+ {
+ sos = new ServletOutputStream()
+ {
+ private OutputStream out = ((RenderResponse)presp).getPortletOutputStream();
+
+ public void write(byte b[], int off, int len) throws IOException
+ {
+ out.write(b, off, len);
+ }
+
+ public void write(byte b[]) throws IOException
+ {
+ out.write(b);
+ }
+
+ public void write(int b) throws IOException
+ {
+ out.write(b);
+ }
+ };
+ }
+ else
+ {
+ throw new IllegalStateException("getOutputStream called on non render response");
+ }
+ }
+ return sos;
+ }
+
+ public PrintWriter getWriter() throws IOException
+ {
+ if (presp instanceof RenderResponse)
+ {
+ RenderResponse rresp = (RenderResponse)presp;
+ if (rresp.getContentType() == null)
+ {
+ //
+ rresp.setContentType("text/html");
+ }
+ return rresp.getWriter();
+ }
+ throw new IllegalStateException("getWriter called on non render response");
+ }
+
+ public String encodeURL(String s)
+ {
+ // URL may not start with / or http:// so we need to defer it to the real response
+ // PortletResponse would throw an IllegalArgumentException
+ return invocation.getDispatchedResponse().encodeURL(s);
+ }
+
+ public String encodeUrl(String s)
+ {
+ return invocation.getDispatchedResponse().encodeURL(s);
+ }
+
+ // Must perform no operations
+
+ public void setContentType(String mimeType)
+ {
+ if (presp instanceof RenderResponse)
+ {
+ ((RenderResponse)presp).setContentType(mimeType);
+ }
+ else
+ {
+ throw new IllegalStateException("setContentType called on non render response");
+ }
+ }
+
+ public void setContentLength(int i)
+ {
+ }
+
+ public void setLocale(Locale locale)
+ {
+ }
+
+ public void addCookie(Cookie cookie)
+ {
+ }
+
+ public void sendError(int i) throws IOException
+ {
+ }
+
+ public void sendError(int i, String s) throws IOException
+ {
+ }
+
+ public void sendRedirect(String s) throws IOException
+ {
+ }
+
+ public void setDateHeader(String s, long l)
+ {
+ }
+
+ public void addDateHeader(String s, long l)
+ {
+ }
+
+ public void setHeader(String s, String s1)
+ {
+ }
+
+ public void addHeader(String s, String s1)
+ {
+ }
+
+ public void setIntHeader(String s, int i)
+ {
+ }
+
+ public void addIntHeader(String s, int i)
+ {
+ }
+
+ public void setStatus(int i)
+ {
+ }
+
+ public void setStatus(int i, String s)
+ {
+ }
+
+ public boolean containsHeader(String s)
+ {
+ return false;
+ }
+
+ public Locale getLocale()
+ {
+ return invocation.getUserContext().getLocale();
+ }
+
+ public String getContentType()
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ public void setCharacterEncoding(String s)
+ {
+ throw new UnsupportedOperationException();
+ }
+}
+
Property changes on: modules/portlet/trunk/bridge/src/main/org/jboss/portal/portlet/bridge/BridgeResponse.java
___________________________________________________________________
Name: svn:executable
+ *
Added: modules/portlet/trunk/bridge/src/main/org/jboss/portal/portlet/bridge/JBossServletContextProvider.java
===================================================================
--- modules/portlet/trunk/bridge/src/main/org/jboss/portal/portlet/bridge/JBossServletContextProvider.java (rev 0)
+++ modules/portlet/trunk/bridge/src/main/org/jboss/portal/portlet/bridge/JBossServletContextProvider.java 2007-09-11 06:51:35 UTC (rev 8212)
@@ -0,0 +1,139 @@
+/******************************************************************************
+ * 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.bridge;
+
+import org.apache.portals.bridges.common.ServletContextProvider;
+import org.jboss.portal.portlet.invocation.PortletInvocation;
+import org.jboss.portal.portlet.container.PortletContainerInvoker;
+import org.jboss.portal.portlet.container.PortletContainer;
+
+import javax.portlet.GenericPortlet;
+import javax.portlet.PortletRequest;
+import javax.portlet.PortletResponse;
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * The JBoss implementation of <code>org.apache.portals.bridges.common.ServletContextProvider</code> use thread local
+ * variables to keep the request associated with the current thread of execution.
+ *
+ * @author <a href="mailto:dr@vizuri.com">Swarn Dhaliwal</a>
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 7226 $
+ */
+public class JBossServletContextProvider implements ServletContextProvider
+{
+
+ /** . */
+ private static final ThreadLocal local = new ThreadLocal();
+
+ static void set(BridgeInfo info)
+ {
+ local.set(info);
+ }
+
+ public static BridgeInfo get()
+ {
+ return (BridgeInfo)local.get();
+ }
+
+ /** @throws IllegalStateException if no bridge info is found */
+ public ServletContext getServletContext(GenericPortlet genericPortlet) throws IllegalStateException
+ {
+ BridgeInfo info = ((BridgeInfo)local.get());
+ if (info == null)
+ {
+ throw new IllegalStateException("No bridge set");
+ }
+ return info.ctx;
+ }
+
+ /** @throws IllegalStateException if no bridge info is found */
+ public HttpServletRequest getHttpServletRequest(GenericPortlet genericPortlet, PortletRequest portletRequest) throws IllegalStateException
+ {
+ BridgeInfo info = (BridgeInfo)JBossServletContextProvider.local.get();
+ if (info == null)
+ {
+ throw new IllegalStateException("No bridge set");
+ }
+ if (info.breq == null)
+ {
+ init(info);
+ }
+ return info.breq;
+ }
+
+ /** @throws IllegalStateException if no bridge info is found */
+ public HttpServletResponse getHttpServletResponse(GenericPortlet genericPortlet, PortletResponse portletResponse) throws IllegalStateException
+ {
+ BridgeInfo info = (BridgeInfo)JBossServletContextProvider.local.get();
+ if (info == null)
+ {
+ throw new IllegalStateException("No bridge set");
+ }
+ if (info.breq == null)
+ {
+ init(info);
+ }
+ return info.bresp;
+ }
+
+ /** Lazy initialisation of the bridge info. */
+ private void init(BridgeInfo bridgeInfo)
+ {
+ bridgeInfo.breq = new BridgeRequest(bridgeInfo);
+ bridgeInfo.bresp = new BridgeResponse(bridgeInfo);
+ }
+
+ public static class BridgeInfo
+ {
+ /** Servlet context of the dispatched application. */
+ private final PortletInvocation invocation;
+
+ /** Servlet context of the dispatched application. */
+ private final ServletContext ctx;
+
+ /** The bridge response. */
+ private BridgeRequest breq;
+
+ /** The bridge response. */
+ private BridgeResponse bresp;
+
+ public BridgeInfo(PortletInvocation invocation)
+ {
+ PortletContainer container = (PortletContainer)invocation.getAttribute(PortletInvocation.INVOCATION_SCOPE, PortletContainerInvoker.PORTLET_CONTAINER);
+
+ //
+ this.invocation = invocation;
+ this.ctx = container.getApplication().getContext().getServletContext();
+ this.breq = null;
+ this.bresp = null;
+ }
+
+ public PortletInvocation getInvocation()
+ {
+ return invocation;
+ }
+ }
+}
Property changes on: modules/portlet/trunk/bridge/src/main/org/jboss/portal/portlet/bridge/JBossServletContextProvider.java
___________________________________________________________________
Name: svn:executable
+ *
Modified: modules/portlet/trunk/build/build-thirdparty.xml
===================================================================
--- modules/portlet/trunk/build/build-thirdparty.xml 2007-09-10 23:44:42 UTC (rev 8211)
+++ modules/portlet/trunk/build/build-thirdparty.xml 2007-09-11 06:51:35 UTC (rev 8212)
@@ -29,7 +29,6 @@
<!-- File Imports -->
<import file="../tools/etc/jbossbuild/tasks.xml"/>
-
<!-- Main Definition of dependencies -->
<build id="jbossportal-thirdparty"
impltitle="JBossPortal"
@@ -59,6 +58,8 @@
<componentref name="apache-httpclient" version="3.0.1"/>
<componentref name="apache-logging" version="1.1"/>
+ <componentref name="portals-bridges" version="1.0.3"/>
+
<!-- MC 1.0.2 -->
<!--
<componentref name="jboss/common" version="1.2.0.GA-brew"/>
Modified: modules/portlet/trunk/build/build.xml
===================================================================
--- modules/portlet/trunk/build/build.xml 2007-09-10 23:44:42 UTC (rev 8211)
+++ modules/portlet/trunk/build/build.xml 2007-09-11 06:51:35 UTC (rev 8212)
@@ -114,12 +114,15 @@
<module name="jsr168api"/>
<module name="portlet"/>
<module name="federation"/>
+ <module name="management"/>
+ <module name="bridge"/>
+ <module name="test"/>
<!-- Module groups -->
<group name="portlet">
<include
- modules="jsr168api,portlet,federation"/>
+ modules="jsr168api,portlet,federation,management,bridge"/>
</group>
<group name="default">
Added: modules/portlet/trunk/build/ide/intellij/idea60/modules/bridge/bridge.iml
===================================================================
--- modules/portlet/trunk/build/ide/intellij/idea60/modules/bridge/bridge.iml (rev 0)
+++ modules/portlet/trunk/build/ide/intellij/idea60/modules/bridge/bridge.iml 2007-09-11 06:51:35 UTC (rev 8212)
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module version="4" relativePaths="true" type="JAVA_MODULE">
+ <component name="ModuleRootManager" />
+ <component name="NewModuleRootManager" inherit-compiler-output="true">
+ <exclude-output />
+ <content url="file://$MODULE_DIR$/../../../../../../bridge">
+ <sourceFolder url="file://$MODULE_DIR$/../../../../../../bridge/src/main" isTestSource="false" />
+ </content>
+ <orderEntry type="inheritedJdk" />
+ <orderEntry type="sourceFolder" forTests="false" />
+ <orderEntry type="module" module-name="portlet" />
+ <orderEntry type="module" module-name="jsr168api" />
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../../thirdparty/portals-bridges/lib/portals-bridges-common.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntryProperties />
+ </component>
+ <component name="VcsManagerConfiguration">
+ <option name="ACTIVE_VCS_NAME" value="svn" />
+ <option name="USE_PROJECT_VCS" value="false" />
+ </component>
+</module>
+
Added: modules/portlet/trunk/build/ide/intellij/idea60/modules/management/management.iml
===================================================================
--- modules/portlet/trunk/build/ide/intellij/idea60/modules/management/management.iml (rev 0)
+++ modules/portlet/trunk/build/ide/intellij/idea60/modules/management/management.iml 2007-09-11 06:51:35 UTC (rev 8212)
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module version="4" relativePaths="true" type="JAVA_MODULE">
+ <component name="ModuleRootManager" />
+ <component name="NewModuleRootManager" inherit-compiler-output="true">
+ <exclude-output />
+ <content url="file://$MODULE_DIR$/../../../../../../management">
+ <sourceFolder url="file://$MODULE_DIR$/../../../../../../management/src/main" isTestSource="false" />
+ </content>
+ <orderEntry type="inheritedJdk" />
+ <orderEntry type="sourceFolder" forTests="false" />
+ <orderEntry type="module" module-name="portlet" />
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../../thirdparty/oswego-concurrent/lib/concurrent.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntryProperties />
+ </component>
+ <component name="VcsManagerConfiguration">
+ <option name="ACTIVE_VCS_NAME" value="svn" />
+ <option name="USE_PROJECT_VCS" value="false" />
+ </component>
+</module>
+
Modified: modules/portlet/trunk/jboss-portal-portlet.ipr
===================================================================
--- modules/portlet/trunk/jboss-portal-portlet.ipr 2007-09-10 23:44:42 UTC (rev 8211)
+++ modules/portlet/trunk/jboss-portal-portlet.ipr 2007-09-11 06:51:35 UTC (rev 8212)
@@ -252,8 +252,10 @@
</component>
<component name="ProjectModuleManager">
<modules>
+ <module fileurl="file://$PROJECT_DIR$/build/ide/intellij/idea60/modules/bridge/bridge.iml" filepath="$PROJECT_DIR$/build/ide/intellij/idea60/modules/bridge/bridge.iml" />
<module fileurl="file://$PROJECT_DIR$/build/ide/intellij/idea60/modules/federation/federation.iml" filepath="$PROJECT_DIR$/build/ide/intellij/idea60/modules/federation/federation.iml" />
<module fileurl="file://$PROJECT_DIR$/build/ide/intellij/idea60/modules/jsr168api/jsr168api.iml" filepath="$PROJECT_DIR$/build/ide/intellij/idea60/modules/jsr168api/jsr168api.iml" />
+ <module fileurl="file://$PROJECT_DIR$/build/ide/intellij/idea60/modules/management/management.iml" filepath="$PROJECT_DIR$/build/ide/intellij/idea60/modules/management/management.iml" />
<module fileurl="file://$PROJECT_DIR$/build/ide/intellij/idea60/modules/portlet/portlet.iml" filepath="$PROJECT_DIR$/build/ide/intellij/idea60/modules/portlet/portlet.iml" />
<module fileurl="file://$PROJECT_DIR$/build/ide/intellij/idea60/modules/test/test.iml" filepath="$PROJECT_DIR$/build/ide/intellij/idea60/modules/test/test.iml" />
<module fileurl="file://$PROJECT_DIR$/build/ide/intellij/idea60/modules/testsuite/testsuite.iml" filepath="$PROJECT_DIR$/build/ide/intellij/idea60/modules/testsuite/testsuite.iml" />
Modified: modules/portlet/trunk/jboss-portal-portlet.iws
===================================================================
--- modules/portlet/trunk/jboss-portal-portlet.iws 2007-09-10 23:44:42 UTC (rev 8211)
+++ modules/portlet/trunk/jboss-portal-portlet.iws 2007-09-11 06:51:35 UTC (rev 8212)
@@ -17,52 +17,43 @@
</component>
<component name="ChangeListManager">
<list default="true" name="Default" comment="">
- <change type="DELETED" beforePath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/deployment/PortletApplicationMetaDataFactory.java" afterPath="" />
- <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/test/src/resources/tomcat-6.0/portlet-test-war/WEB-INF/classes/log4j.properties" />
- <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/test/src/resources/jboss-4.2" />
- <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="MODIFICATION" beforePath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/tck/portletinterface/spec/RuntimeExceptionDuringRequestHandlingPortlet.java" afterPath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/tck/portletinterface/spec/RuntimeExceptionDuringRequestHandlingPortlet.java" />
- <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/test/src/resources/tomcat-6.0/portlet-test-war/WEB-INF" />
- <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/test/src/resources/tomcat-6.0/portlet-test-war/WEB-INF/classes/logging.properties" />
- <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/test/src/main/org/jboss/portal/portlet/test/deployment" />
- <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/test/src/main/org/jboss/portal/portlet/test/deployment/UnmarshallerTestCase.java" />
- <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/test/src/resources/jboss-4.2/portlet-test-war" />
- <change type="MODIFICATION" beforePath="$PROJECT_DIR$/test/src/main/org/jboss/portal/portlet/test/PortletApplicationDeployer.java" afterPath="$PROJECT_DIR$/test/src/main/org/jboss/portal/portlet/test/PortletApplicationDeployer.java" />
- <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/test/src/resources/jboss-4.2/portlet-test-war/WEB-INF/jboss-context.xml" />
- <change type="MODIFICATION" beforePath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/info/AbstractInfoTest.java" afterPath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/info/AbstractInfoTest.java" />
- <change type="DELETED" beforePath="$PROJECT_DIR$/test/src/resources/portlet-test-war/WEB-INF/classes/log4j.properties" afterPath="" />
- <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/test/src/resources/tomcat-6.0" />
- <change type="MODIFICATION" beforePath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/tck/portletinterface/spec/PortletExceptionDuringRequestHandlingPortlet.java" afterPath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/tck/portletinterface/spec/PortletExceptionDuringRequestHandlingPortlet.java" />
- <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/test/src/resources/tomcat-6.0/portlet-test-war/META-INF/context.xml" />
- <change type="DELETED" beforePath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/deployment/ValueTrimmingFilter.java" afterPath="" />
- <change type="MODIFICATION" beforePath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/spi/RequestContext.java" afterPath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/spi/RequestContext.java" />
- <change type="MODIFICATION" beforePath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/tck/portletinterface/spec/UnavailableExceptionDuringProcessActionPortlet.java" afterPath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/tck/portletinterface/spec/UnavailableExceptionDuringProcessActionPortlet.java" />
- <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/test/src/resources/jboss-4.2/portlet-test-war/WEB-INF" />
- <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/test/src/resources/jboss-4.2/portlet-test-war/WEB-INF/context.xml" />
- <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/test/src/main/org/jboss/portal/portlet/test/deployment/PortletApplicationMetaDataFactory.java" />
- <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/test/src/resources/tomcat-6.0/portlet-test-war" />
- <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/test/src/main/org/jboss/portal/portlet/test/deployment/ValueTrimmingFilter.java" />
- <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/test/src/resources/test/servers.xml" />
- <change type="MODIFICATION" beforePath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/state/ActionContextImpl.java" afterPath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/state/ActionContextImpl.java" />
- <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/test/src/main/org/jboss/portal/portlet/test/deployment/JBossApplicationMetaDataFactory.java" />
- <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/test/src/resources/tomcat-6.0/portlet-test-war/WEB-INF/classes" />
- <change type="MODIFICATION" beforePath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/impl/spi/AbstractUserContext.java" afterPath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/impl/spi/AbstractUserContext.java" />
- <change type="MODIFICATION" beforePath="$PROJECT_DIR$/test/src/main/org/jboss/portal/portlet/test/PortletApplicationDeployment.java" afterPath="$PROJECT_DIR$/test/src/main/org/jboss/portal/portlet/test/PortletApplicationDeployment.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="MODIFICATION" beforePath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/impl/spi/AbstractRequestContext.java" afterPath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/impl/spi/AbstractRequestContext.java" />
- <change type="MODIFICATION" beforePath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/tck/portletinterface/spec/ExceptionsDuringRequestHandlingControllerPortlet.java" afterPath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/tck/portletinterface/spec/ExceptionsDuringRequestHandlingControllerPortlet.java" />
- <change type="MODIFICATION" beforePath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/tck/portletinterface/spec/UnavailableExceptionDuringRenderPortlet.java" afterPath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/tck/portletinterface/spec/UnavailableExceptionDuringRenderPortlet.java" />
- <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/test/src/resources/test" />
- <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/test/src/resources/tomcat-6.0/portlet-test-war/META-INF" />
- <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="DELETED" beforePath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/deployment/JBossApplicationMetaDataFactory.java" afterPath="" />
- <change type="DELETED" beforePath="$PROJECT_DIR$/test/src/resources/portlet-test-war/WEB-INF/classes/logging.properties" afterPath="" />
- <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="DELETED" beforePath="$PROJECT_DIR$/test/src/main/org/jboss/portal/portlet/test/PortalKernelBootstrap.java" afterPath="" />
- <change type="MODIFICATION" beforePath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/info/SecurityInfoTest.java" afterPath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/info/SecurityInfoTest.java" />
- <change type="MODIFICATION" beforePath="$PROJECT_DIR$/test/build.xml" afterPath="$PROJECT_DIR$/test/build.xml" />
- <change type="MODIFICATION" beforePath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/aspects/portlet/ContextDispatcherInterceptor.java" afterPath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/aspects/portlet/ContextDispatcherInterceptor.java" />
- <change type="DELETED" beforePath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/deployment/UnmarshallerTestCase.java" afterPath="" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/management/src/main/org/jboss/portal/portlet/management" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/bridge/src" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/management/src/main/org/jboss/portal/portlet/management/LocalPortletManagement.java" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/bridge/.classpath" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/management/src" />
+ <change type="DELETED" beforePath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/management/PortletInfo.java" afterPath="" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/management/src/main/org/jboss/portal" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/bridge/build.xml" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/bridge/.project" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/bridge/build.sh" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/bridge/src/main/org/jboss" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/bridge/src/main/org/jboss/portal/portlet" />
+ <change type="DELETED" beforePath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/management/LocalPortletManagement.java" afterPath="" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/bridge/src/main/org/jboss/portal/portlet/bridge" />
+ <change type="DELETED" beforePath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/management/PortletContainerManagementInterceptor.java" afterPath="" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/bridge/src/main/org/jboss/portal/portlet/bridge/JBossServletContextProvider.java" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/management/src/main/org/jboss/portal/portlet/management/PortletContainerManagementInterceptorImpl.java" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/bridge/src/main" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/management/src/main/org" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/bridge/src/main/org/jboss/portal/portlet/bridge/BridgeResponse.java" />
+ <change type="DELETED" beforePath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/management/PortletContainerManagementInterceptorImpl.java" afterPath="" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/management/src/main/org/jboss/portal/portlet/management/PortletContainerManagementInterceptor.java" />
+ <change type="DELETED" beforePath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/management/LocalPortletManagementMBean.java" afterPath="" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/bridge/src/main/org/jboss/portal" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/bridge/src/main/org" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/bridge/build.bat" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/bridge" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/bridge/src/main/org/jboss/portal/portlet/bridge/BridgeInterceptor.java" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/bridge/.cvsignore" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/management/build.xml" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/management/src/main/org/jboss/portal/portlet" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/management/src/main/org/jboss" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/management/src/main/org/jboss/portal/portlet/management/PortletInfo.java" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/management/src/main/org/jboss/portal/portlet/management/LocalPortletManagementMBean.java" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/management/src/main" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/bridge/src/main/org/jboss/portal/portlet/bridge/BridgeRequest.java" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/management" />
</list>
</component>
<component name="ChangeListSynchronizer" />
@@ -838,98 +829,7 @@
</subPane>
</component>
<component name="FileEditorManager">
- <leaf>
- <file leaf-file-name="UserContext.java" pinned="false" current="false" current-in-tab="false">
- <entry file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/spi/UserContext.java">
- <provider selected="true" editor-type-id="text-editor">
- <state line="34" column="0" selection-start="2037" selection-end="2037" vertical-scroll-proportion="0.16276202">
- <folding />
- </state>
- </provider>
- </entry>
- </file>
- <file leaf-file-name="AbstractUserContext.java" pinned="false" current="false" current-in-tab="false">
- <entry file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/impl/spi/AbstractUserContext.java">
- <provider selected="true" editor-type-id="text-editor">
- <state line="70" column="0" selection-start="2962" selection-end="2962" vertical-scroll-proportion="0.4401973">
- <folding />
- </state>
- </provider>
- </entry>
- </file>
- <file leaf-file-name="AbstractActionContext.java" pinned="false" current="false" current-in-tab="false">
- <entry file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/impl/spi/AbstractActionContext.java">
- <provider selected="true" editor-type-id="text-editor">
- <state line="39" column="22" selection-start="2276" selection-end="2276" vertical-scroll-proportion="0.08508015">
- <folding />
- </state>
- </provider>
- </entry>
- </file>
- <file leaf-file-name="ActionContextImpl.java" pinned="false" current="false" current-in-tab="false">
- <entry file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/state/ActionContextImpl.java">
- <provider selected="true" editor-type-id="text-editor">
- <state line="58" column="0" selection-start="2609" selection-end="2609" vertical-scroll-proportion="0.50308263">
- <folding />
- </state>
- </provider>
- </entry>
- </file>
- <file leaf-file-name="ValueMapAssert.java" pinned="false" current="false" current-in-tab="false">
- <entry file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/state/ValueMapAssert.java">
- <provider selected="true" editor-type-id="text-editor">
- <state line="65" column="0" selection-start="2889" selection-end="2889" vertical-scroll-proportion="0.57706535">
- <folding />
- </state>
- </provider>
- </entry>
- </file>
- <file leaf-file-name="InstanceContext.java" pinned="false" current="false" current-in-tab="false">
- <entry file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/spi/InstanceContext.java">
- <provider selected="true" editor-type-id="text-editor">
- <state line="31" column="0" selection-start="1994" selection-end="1994" vertical-scroll-proportion="0.13316892">
- <folding />
- </state>
- </provider>
- </entry>
- </file>
- <file leaf-file-name="AbstractInstanceContext.java" pinned="false" current="true" current-in-tab="true">
- <entry file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/impl/spi/AbstractInstanceContext.java">
- <provider selected="true" editor-type-id="text-editor">
- <state line="33" column="36" selection-start="2112" selection-end="2135" vertical-scroll-proportion="0.014796548">
- <folding />
- </state>
- </provider>
- </entry>
- </file>
- <file leaf-file-name="TestInstanceContext.java" pinned="false" current="false" current-in-tab="false">
- <entry file="file://$PROJECT_DIR$/test/src/main/org/jboss/portal/portlet/test/TestInstanceContext.java">
- <provider selected="true" editor-type-id="text-editor">
- <state line="36" column="13" selection-start="2194" selection-end="2194" vertical-scroll-proportion="0.014796548">
- <folding />
- </state>
- </provider>
- </entry>
- </file>
- <file leaf-file-name="UserContextSupport.java" pinned="false" current="false" current-in-tab="false">
- <entry file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/support/spi/UserContextSupport.java">
- <provider selected="true" editor-type-id="text-editor">
- <state line="35" column="13" selection-start="2071" selection-end="2071" vertical-scroll-proportion="0.13316892">
- <folding />
- </state>
- </provider>
- </entry>
- </file>
- <file leaf-file-name="SecurityContextSupport.java" pinned="false" current="false" current-in-tab="false">
- <entry file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/support/spi/SecurityContextSupport.java">
- <provider selected="true" editor-type-id="text-editor">
- <state line="35" column="13" selection-start="2108" selection-end="2108" vertical-scroll-proportion="0.17755857">
- <folding />
- </state>
- </provider>
- </entry>
- </file>
- </leaf>
+ <leaf />
</component>
<component name="FindManager">
<FindUsagesManager>
@@ -1017,577 +917,7 @@
<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="tools" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
- </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="tools" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/tools" />
- <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="tools" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/tools" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/tools/etc" />
- <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="tools" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/tools" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/tools/etc" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/tools/etc/buildfragments" />
- <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>
- <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="test" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
- </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="test" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/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="test" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/test" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/test/src" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/test/src/resources" />
- <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="test" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/test" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/test/src" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/test/src/resources" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/test/src/resources/tomcat-6.0" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/test/src/resources/tomcat-6.0/portlet-test-war" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/test/src/resources/tomcat-6.0/portlet-test-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$/test/src/resources/tomcat-6.0/portlet-test-war/WEB-INF/classes" />
- <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="test" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/test" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/test/src" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/test/src/resources" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/test/src/resources/tomcat-6.0" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/test/src/resources/tomcat-6.0/portlet-test-war" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/test/src/resources/tomcat-6.0/portlet-test-war/META-INF" />
- <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="test" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/test" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/test/src" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/test/src/resources" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/test/src/resources/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="test" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/test" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/test/src" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/test/src/resources" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/test/src/resources/portlet-test-war" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/test/src/resources/portlet-test-war/WEB-INF" />
- <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="test" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/test" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/test/src" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/test/src/resources" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/test/src/resources/jboss-4.2" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/test/src/resources/jboss-4.2/portlet-test-war" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/test/src/resources/jboss-4.2/portlet-test-war/WEB-INF" />
- <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="test" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/test" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/test/src" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/test/src/main" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/test/src/main/org/jboss/portal/portlet/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="test" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/test" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/test/src" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/test/src/main" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/test/src/main/org/jboss/portal/portlet/test" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- <PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/test/src/main/org/jboss/portal/portlet/test/deployment" />
- <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>
- <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>
- <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/resources" />
- <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/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>
- <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/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/portal-portlet-lib-jar" />
- <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/portal-portlet-lib-jar/org" />
- <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/portal-portlet-lib-jar/org/jboss" />
- <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/portal-portlet-lib-jar/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/portal-portlet-lib-jar/org/jboss/portal/portlet" />
- <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>
- <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>
- <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/support" />
- <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/support/spi" />
- <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/support" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
- </PATH>
</subPane>
</component>
<component name="ProjectReloadState">
@@ -1601,7 +931,7 @@
<showLibraryContents />
<hideEmptyPackages />
<abbreviatePackageNames />
- <showStructure Favorites="false" PackagesPane="false" Scope="false" ProjectPane="false" />
+ <showStructure Scope="false" ProjectPane="false" PackagesPane="false" Favorites="false" />
<autoscrollToSource />
<autoscrollFromSource />
<sortByType />
@@ -1627,10 +957,11 @@
<recent name="org.jboss.portal.portlet.registry" />
</key>
<key name="MoveClassesOrPackagesDialog.RECENTS_KEY">
+ <recent name="org.jboss.portal.portlet" />
+ <recent name="org.jboss.portal" />
+ <recent name="org.jboss.portal.portlet.management" />
<recent name="org.jboss.portal.portlet.test.deployment" />
<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" />
@@ -1841,7 +1172,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="improve singleton access to RemoteTestDriverServer" />
+ <option name="LAST_COMMIT_MESSAGE" value="remove empty dirs" />
<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" />
@@ -1862,6 +1193,7 @@
<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" />
+ <MESSAGE value="remove empty dirs" />
</component>
<component name="VssConfiguration">
<option name="CLIENT_PATH" value="" />
@@ -1909,113 +1241,113 @@
</component>
<component name="com.intellij.openapi.roots.ui.configuration.projectRoot.ProjectRootMasterDetailsConfigurable" proportions="0.11111111" version="1">
<option name="myPlainMode" value="false" />
- <option name="myLastEditedConfigurable" value="portlet" />
+ <option name="myLastEditedConfigurable" value="bridge" />
</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/state/PortletSupport.java">
+ <entry file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/support/spi/SecurityContextSupport.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="65" column="64" selection-start="2869" selection-end="2869" vertical-scroll-proportion="0.5918619">
+ <state line="35" column="13" selection-start="2108" selection-end="2108" vertical-scroll-proportion="0.17755857">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/support/spi/ActionContextSupport.java">
+ <entry file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/aspects/portlet/LocalInterceptor.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="36" column="13" selection-start="2156" selection-end="2156" vertical-scroll-proportion="0.13316892">
+ <state line="34" column="13" selection-start="2194" selection-end="2194" vertical-scroll-proportion="0.16276202">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/support/spi/InstanceContextSupport.java">
+ <entry file="file://$PROJECT_DIR$/management/src/main/org/jboss/portal/portlet/management/LocalPortletManagementMBean.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="32" column="13" selection-start="2068" selection-end="2068" vertical-scroll-proportion="0.13316892">
+ <state line="28" column="17" selection-start="1917" selection-end="1917" vertical-scroll-proportion="0.10357583">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/support/spi/PortletInvocationContextSupport.java">
+ <entry file="file://$PROJECT_DIR$/management/src/main/org/jboss/portal/portlet/management/LocalPortletManagement.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="36" column="13" selection-start="2256" selection-end="2256" vertical-scroll-proportion="0.13316892">
+ <state line="31" column="13" selection-start="2015" selection-end="2015" vertical-scroll-proportion="0.13316892">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/support/spi/RenderContextSupport.java">
+ <entry file="file://$PROJECT_DIR$/management/src/main/org/jboss/portal/portlet/management/PortletContainerManagementInterceptor.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="30" column="13" selection-start="1972" selection-end="1972" vertical-scroll-proportion="0.13316892">
+ <state line="28" column="17" selection-start="1917" selection-end="1917" vertical-scroll-proportion="0.10357583">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/spi/UserContext.java">
+ <entry file="file://$PROJECT_DIR$/management/src/main/org/jboss/portal/portlet/management/PortletContainerManagementInterceptorImpl.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="34" column="0" selection-start="2037" selection-end="2037" vertical-scroll-proportion="0.16276202">
+ <state line="39" column="13" selection-start="2355" selection-end="2355" vertical-scroll-proportion="0.13316892">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/impl/spi/AbstractUserContext.java">
+ <entry file="file://$PROJECT_DIR$/management/src/main/org/jboss/portal/portlet/management/PortletInfo.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="70" column="0" selection-start="2962" selection-end="2962" vertical-scroll-proportion="0.4401973">
+ <state line="28" column="13" selection-start="1913" selection-end="1913" vertical-scroll-proportion="0.10357583">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/impl/spi/AbstractActionContext.java">
+ <entry file="file://$PROJECT_DIR$/bridge/src/main/org/jboss/portal/portlet/bridge/BridgeInterceptor.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="39" column="22" selection-start="2276" selection-end="2276" vertical-scroll-proportion="0.08508015">
+ <state line="33" column="13" selection-start="2138" selection-end="2138" vertical-scroll-proportion="0.16276202">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/state/ActionContextImpl.java">
+ <entry file="file://$PROJECT_DIR$/bridge/src/main/org/jboss/portal/portlet/bridge/BridgeResponse.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="58" column="0" selection-start="2609" selection-end="2609" vertical-scroll-proportion="0.50308263">
+ <state line="41" column="13" selection-start="2333" selection-end="2333" vertical-scroll-proportion="0.13316892">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/state/ValueMapAssert.java">
+ <entry file="file://$PROJECT_DIR$/bridge/src/main/org/jboss/portal/portlet/bridge/BridgeRequest.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="65" column="0" selection-start="2889" selection-end="2889" vertical-scroll-proportion="0.57706535">
+ <state line="45" column="13" selection-start="2494" selection-end="2494" vertical-scroll-proportion="0.13316892">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/spi/InstanceContext.java">
+ <entry file="file://$PROJECT_DIR$/bridge/src/main/org/jboss/portal/portlet/bridge/JBossServletContextProvider.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="31" column="0" selection-start="1994" selection-end="1994" vertical-scroll-proportion="0.13316892">
+ <state line="44" column="13" selection-start="2677" selection-end="2677" vertical-scroll-proportion="0.1959799">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/test/src/main/org/jboss/portal/portlet/test/TestInstanceContext.java">
+ <entry file="file://$PROJECT_DIR$/management/build.sh">
<provider selected="true" editor-type-id="text-editor">
- <state line="36" column="13" selection-start="2194" selection-end="2194" vertical-scroll-proportion="0.014796548">
+ <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/support/spi/UserContextSupport.java">
+ <entry file="file://$PROJECT_DIR$/management/build.xml">
<provider selected="true" editor-type-id="text-editor">
- <state line="35" column="13" selection-start="2071" selection-end="2071" vertical-scroll-proportion="0.13316892">
+ <state line="100" column="0" selection-start="5483" selection-end="5539" vertical-scroll-proportion="0.50308263">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/support/spi/SecurityContextSupport.java">
+ <entry file="file://$PROJECT_DIR$/bridge/build.xml">
<provider selected="true" editor-type-id="text-editor">
- <state line="35" column="13" selection-start="2108" selection-end="2108" vertical-scroll-proportion="0.17755857">
+ <state line="67" column="64" selection-start="4063" selection-end="4063" vertical-scroll-proportion="0.014796548">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/impl/spi/AbstractInstanceContext.java">
+ <entry file="file://$PROJECT_DIR$/portlet/build.xml">
<provider selected="true" editor-type-id="text-editor">
- <state line="33" column="36" selection-start="2112" selection-end="2135" vertical-scroll-proportion="0.014796548">
+ <state line="105" column="0" selection-start="5717" selection-end="5783" vertical-scroll-proportion="0.9321825">
<folding />
</state>
</provider>
Added: modules/portlet/trunk/management/build.xml
===================================================================
--- modules/portlet/trunk/management/build.xml (rev 0)
+++ modules/portlet/trunk/management/build.xml 2007-09-11 06:51:35 UTC (rev 8212)
@@ -0,0 +1,194 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ ~ 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. ~
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->
+
+<!DOCTYPE project [
+ <!ENTITY libraries SYSTEM "../thirdparty/libraries.ent">
+ <!ENTITY buildmagic SYSTEM "../tools/etc/buildfragments/buildmagic.ent">
+ <!ENTITY tools SYSTEM "../tools/etc/buildfragments/tools.ent">
+ <!ENTITY modules SYSTEM "../tools/etc/buildfragments/modules.ent">
+ <!ENTITY defaults SYSTEM "../tools/etc/buildfragments/defaults.ent">
+ <!ENTITY targets SYSTEM "../tools/etc/buildfragments/targets.ent">
+ ]>
+
+<!-- $Id: build.xml 7969 2007-08-17 09:29:00Z julien(a)jboss.com $ -->
+
+<!--+======================================================================+-->
+<!--| JBoss Portal (The OpenSource Portal) Build File |-->
+<!--| |-->
+<!--| Distributable under LGPL license. |-->
+<!--| See terms of license at http://www.gnu.org. |-->
+<!--| |-->
+<!--| This file has been designed to work with the 'tools' module and |-->
+<!--| Buildmagic extentions. |-->
+<!--+======================================================================+-->
+
+<project default="main" name="JBoss Portal">
+
+ <!--+====================================================================+-->
+ <!--| Setup |-->
+ <!--| |-->
+ <!--| Include the common build elements. |-->
+ <!--| |-->
+ <!--| This defines several different targets, properties and paths. |-->
+ <!--| It also sets up the basic extention tasks amoung other things. |-->
+ <!--+====================================================================+-->
+
+ &buildmagic;
+ &modules;
+ &defaults;
+ &tools;
+ &targets;
+
+ <!-- ================================================================== -->
+ <!-- Initialization -->
+ <!-- ================================================================== -->
+
+ <!--
+ | Initialize the build system. Must depend on '_buildmagic:init'.
+ | Other targets should depend on 'init' or things will mysteriously fail.
+ -->
+
+ <target name="init" unless="init.disable" depends="_buildmagic:init">
+ </target>
+
+ <!--+====================================================================+-->
+ <!--| Configuration |-->
+ <!--| |-->
+ <!--| This target is invoked by the Buildmagic initialization logic |-->
+ <!--| and should contain module specific configuration elements. |-->
+ <!--+====================================================================+-->
+
+ <target name="configure" unless="configure.disable">
+
+ <!-- Configure some properties -->
+ <property name="jboss-junit-configuration" value=""/>
+ <property name="junit.formatter.usefile" value="true"/>
+
+ <!-- Configure thirdparty libraries -->
+ &libraries;
+ <path id="library.classpath">
+ <path refid="jboss.portal/modules/common.classpath"/>
+ <path refid="jboss.portal/modules/web.classpath"/>
+ <path refid="jboss.portal/modules/test.classpath"/>
+ <path refid="oswego.concurrent.classpath"/>
+ </path>
+
+ <!-- Configure modules -->
+ <call target="configure-modules"/>
+ <path id="dependentmodule.classpath">
+ <path refid="jboss.portal-portlet.classpath"/>
+ </path>
+
+ <!--+=======================================+-->
+ <!--| Override any default properties here. |-->
+ <!--+=======================================+-->
+
+ <!-- Configure defaults & build tools -->
+ <call target="configure-defaults"/>
+ <!--<call target="configure-tools"/>-->
+
+ <!--+=======================================+-->
+ <!--| Define module specific elements here. |-->
+ <!--+=======================================+-->
+ <property name="javadoc.private" value="true"/>
+ <property name="javadoc.protected" value="false"/>
+
+ </target>
+
+ <!--+====================================================================+-->
+ <!--| Compile |-->
+ <!--| |-->
+ <!--| This target should depend on other compile-* targets for each |-->
+ <!--| different type of compile that needs to be performed, short of |-->
+ <!--| documentation compiles. |-->
+ <!--+====================================================================+-->
+
+ <target name="compile"
+ description="Compile all source files."
+ depends="_default:compile-classes,
+ _default:compile-etc,
+ _default:compile-resources">
+ <!-- Add module specific elements here. -->
+ </target>
+
+ <!--+====================================================================+-->
+ <!--| Generate Output |-->
+ <!--| |-->
+ <!--| Generates the target output for this module. Target output is |-->
+ <!--| the output which is ment to be released or used by external |-->
+ <!--| modules. |-->
+ <!--+====================================================================+-->
+
+ <target name="output"
+ description="Generate all target output."
+ depends="compile">
+ <mkdir dir="${build.lib}"/>
+
+ <!-- Portlet management lib jar -->
+ <jar jarfile="${build.lib}/portal-portlet-management-lib.jar">
+ <fileset dir="${build.classes}">
+ </fileset>
+ </jar>
+
+ </target>
+
+ <target name="package-tests" depends="init">
+ </target>
+
+ <!-- ================================================================== -->
+ <!-- Cleaning -->
+ <!-- ================================================================== -->
+
+ <!-- Clean up all build output -->
+ <target name="clean" depends="_default:clean">
+ <!-- Add module specific elements here. -->
+ </target>
+
+ <!--+====================================================================+-->
+ <!--| Documents |-->
+ <!--| |-->
+ <!--| Generate all documentation for this module. |-->
+ <!--+====================================================================+-->
+
+ <target name="docs" depends="_default:docs">
+ <!-- Add module specific elements here. -->
+ </target>
+
+ <!-- ================================================================== -->
+ <!-- Misc. -->
+ <!-- ================================================================== -->
+
+ <target name="main" depends="most"/>
+ <target name="all" depends="_default:all"/>
+ <target name="most" depends="_default:most"/>
+ <target name="help" depends="_default:help"/>
+
+ <!-- ================================================================== -->
+ <!-- Deployment -->
+ <!-- ================================================================== -->
+
+ <target name="tests" depends="init, _buildmagic:configure:deployment">
+ </target>
+
+</project>
Added: modules/portlet/trunk/management/src/main/org/jboss/portal/portlet/management/LocalPortletManagement.java
===================================================================
--- modules/portlet/trunk/management/src/main/org/jboss/portal/portlet/management/LocalPortletManagement.java (rev 0)
+++ modules/portlet/trunk/management/src/main/org/jboss/portal/portlet/management/LocalPortletManagement.java 2007-09-11 06:51:35 UTC (rev 8212)
@@ -0,0 +1,88 @@
+/******************************************************************************
+ * 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.management;
+
+import org.jboss.portal.portlet.Portlet;
+import org.jboss.portal.portlet.container.PortletContainer;
+
+/**
+ * @author <a href="mailto:theute@jboss.org">Thomas Heute</a>
+ * @version $Revision$
+ */
+public class LocalPortletManagement implements LocalPortletManagementMBean
+{
+ private Portlet portlet;
+
+ private PortletContainerManagementInterceptor interceptor;
+
+ public LocalPortletManagement(Portlet portlet, PortletContainerManagementInterceptor interceptor)
+ {
+ this.portlet = portlet;
+ this.interceptor = interceptor;
+ }
+
+ public String getId()
+ {
+ return portlet.getContext().getId();
+ }
+
+ public float getAverageRenderTime()
+ {
+ return interceptor.getPortletInfo(getId()).getAverageRenderTime();
+ }
+
+ public float getAverageActionTime()
+ {
+ return interceptor.getPortletInfo(getId()).getAverageActionTime();
+ }
+
+ public long getMaxRenderTime()
+ {
+ return interceptor.getPortletInfo(getId()).getMaxRenderTime();
+ }
+
+ public long getMaxActionTime()
+ {
+ return interceptor.getPortletInfo(getId()).getMaxActionTime();
+ }
+
+ public long getRenderRequestCount()
+ {
+ return interceptor.getPortletInfo(getId()).getRenderRequestCount();
+ }
+
+ public long getActionRequestCount()
+ {
+ return interceptor.getPortletInfo(getId()).getActionRequestCount();
+ }
+
+ public long getActionErrorCount()
+ {
+ return interceptor.getPortletInfo(getId()).getActionErrorCount();
+ }
+
+ public long getRenderErrorCount()
+ {
+ return interceptor.getPortletInfo(getId()).getRenderErrorCount();
+ }
+}
Added: modules/portlet/trunk/management/src/main/org/jboss/portal/portlet/management/LocalPortletManagementMBean.java
===================================================================
--- modules/portlet/trunk/management/src/main/org/jboss/portal/portlet/management/LocalPortletManagementMBean.java (rev 0)
+++ modules/portlet/trunk/management/src/main/org/jboss/portal/portlet/management/LocalPortletManagementMBean.java 2007-09-11 06:51:35 UTC (rev 8212)
@@ -0,0 +1,46 @@
+/******************************************************************************
+ * 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.management;
+
+/**
+ * @author <a href="mailto:theute@jboss.org">Thomas Heute</a>
+ * @version $Revision$
+ */
+public interface LocalPortletManagementMBean
+{
+ public float getAverageRenderTime();
+
+ public float getAverageActionTime();
+
+ public long getMaxRenderTime();
+
+ public long getMaxActionTime();
+
+ public long getRenderRequestCount();
+
+ public long getActionRequestCount();
+
+ public long getActionErrorCount();
+
+ public long getRenderErrorCount();
+}
Added: modules/portlet/trunk/management/src/main/org/jboss/portal/portlet/management/PortletContainerManagementInterceptor.java
===================================================================
--- modules/portlet/trunk/management/src/main/org/jboss/portal/portlet/management/PortletContainerManagementInterceptor.java (rev 0)
+++ modules/portlet/trunk/management/src/main/org/jboss/portal/portlet/management/PortletContainerManagementInterceptor.java 2007-09-11 06:51:35 UTC (rev 8212)
@@ -0,0 +1,32 @@
+/******************************************************************************
+ * 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.management;
+
+/**
+ * @author <a href="mailto:theute@jboss.org">Thomas Heute</a>
+ * @version $Revision$
+ */
+public interface PortletContainerManagementInterceptor
+{
+ public PortletInfo getPortletInfo(String portletName);
+}
Added: modules/portlet/trunk/management/src/main/org/jboss/portal/portlet/management/PortletContainerManagementInterceptorImpl.java
===================================================================
--- modules/portlet/trunk/management/src/main/org/jboss/portal/portlet/management/PortletContainerManagementInterceptorImpl.java (rev 0)
+++ modules/portlet/trunk/management/src/main/org/jboss/portal/portlet/management/PortletContainerManagementInterceptorImpl.java 2007-09-11 06:51:35 UTC (rev 8212)
@@ -0,0 +1,97 @@
+/******************************************************************************
+ * 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.management;
+
+import java.util.Map;
+
+import org.jboss.portal.common.invocation.InvocationException;
+import org.jboss.portal.portlet.PortletContext;
+import org.jboss.portal.portlet.invocation.ActionInvocation;
+import org.jboss.portal.portlet.invocation.PortletInterceptor;
+import org.jboss.portal.portlet.invocation.PortletInvocation;
+import org.jboss.portal.portlet.invocation.RenderInvocation;
+
+import EDU.oswego.cs.dl.util.concurrent.ConcurrentHashMap;
+
+/**
+ * @author <a href="mailto:theute@jboss.org">Thomas Heute</a>
+ * @version $Revision$
+ */
+public class PortletContainerManagementInterceptorImpl extends PortletInterceptor implements PortletContainerManagementInterceptor
+{
+
+ private Map map = new ConcurrentHashMap();
+
+
+ // Correctness is not insured.
+ protected Object invoke(PortletInvocation invocation) throws Exception, InvocationException
+ {
+ PortletContext portlet = invocation.getTarget();
+ String portletName = portlet.getId();
+
+ boolean error = false;
+
+ long delta = - System.currentTimeMillis();
+ Object object;
+ try
+ {
+ object = invocation.invokeNext();
+ }
+ catch (InvocationException e)
+ {
+ error = true;
+ throw e;
+ }
+ catch (Exception e)
+ {
+ error = true;
+ throw e;
+ }
+
+ delta += System.currentTimeMillis();
+
+ if (invocation instanceof RenderInvocation)
+ {
+ PortletInfo info = getPortletInfo(portletName);
+ info.newRenderCall(delta, error);
+ }
+ else if (invocation instanceof ActionInvocation)
+ {
+ PortletInfo info = getPortletInfo(portletName);
+ info.newActionCall(delta, error);
+ }
+ return object;
+ }
+
+ public synchronized PortletInfo getPortletInfo(String key)
+ {
+ PortletInfo info = (PortletInfo)map.get(key);
+ if (info == null)
+ {
+ info = new PortletInfo();
+ map.put(key, info);
+ }
+ return info;
+ }
+
+}
Added: modules/portlet/trunk/management/src/main/org/jboss/portal/portlet/management/PortletInfo.java
===================================================================
--- modules/portlet/trunk/management/src/main/org/jboss/portal/portlet/management/PortletInfo.java (rev 0)
+++ modules/portlet/trunk/management/src/main/org/jboss/portal/portlet/management/PortletInfo.java 2007-09-11 06:51:35 UTC (rev 8212)
@@ -0,0 +1,144 @@
+/******************************************************************************
+ * 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.management;
+
+/**
+ * @author <a href="mailto:theute@jboss.org">Thomas Heute</a>
+ * @version $Revision$
+ */
+public class PortletInfo
+{
+
+ private long renderRequestProcessingTime;
+
+ private long actionRequestProcessingTime;
+
+ private long maxActionTime;
+
+ private long maxRenderTime;
+
+ private String maxRenderRequestUri;
+
+ private String maxActionRequestUri;
+
+ private int actionRequestCount;
+
+ private int renderRequestCount;
+
+ private int renderErrorCount;
+
+ private int actionErrorCount;
+
+ public long getRenderRequestProcessingTime()
+ {
+ return renderRequestProcessingTime;
+ }
+
+ public long getActionRequestProcessingTime()
+ {
+ return actionRequestProcessingTime;
+ }
+
+ public long getMaxRenderTime()
+ {
+ return maxRenderTime;
+ }
+
+ public long getMaxActionTime()
+ {
+ return maxActionTime;
+ }
+
+ public String getMaxRenderRequestUri()
+ {
+ return maxRenderRequestUri;
+ }
+
+ public String getMaxActionRequestUri()
+ {
+ return maxActionRequestUri;
+ }
+
+ public synchronized float getAverageRenderTime()
+ {
+ return (float)renderRequestProcessingTime/renderRequestCount;
+ }
+
+ public synchronized float getAverageActionTime()
+ {
+ return (float)actionRequestProcessingTime/actionRequestCount;
+ }
+
+ public int getRenderRequestCount()
+ {
+ return renderRequestCount;
+ }
+
+ public int getActionRequestCount()
+ {
+ return actionRequestCount;
+ }
+
+ public int getRenderErrorCount()
+ {
+ return renderErrorCount;
+ }
+
+ public int getActionErrorCount()
+ {
+ return actionErrorCount;
+ }
+
+ public synchronized void newRenderCall(long time, boolean error)
+ {
+ renderRequestProcessingTime += time;
+ if (time > maxRenderTime)
+ {
+ maxRenderTime = time;
+ }
+ renderRequestCount++;
+ if (error)
+ {
+ renderErrorCount++;
+ }
+ }
+
+ public synchronized void newActionCall(long time, boolean error)
+ {
+ actionRequestProcessingTime += time;
+ if (time > maxActionTime)
+ {
+ maxActionTime = time;
+ }
+ actionRequestCount++;
+ if (error)
+ {
+ actionErrorCount++;
+ }
+ }
+
+ public boolean isUsed()
+ {
+ return getActionRequestCount() + getRenderRequestCount() > 0;
+ }
+}
Deleted: modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/management/LocalPortletManagement.java
===================================================================
--- modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/management/LocalPortletManagement.java 2007-09-10 23:44:42 UTC (rev 8211)
+++ modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/management/LocalPortletManagement.java 2007-09-11 06:51:35 UTC (rev 8212)
@@ -1,88 +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.management;
-
-import org.jboss.portal.portlet.Portlet;
-import org.jboss.portal.portlet.container.PortletContainer;
-
-/**
- * @author <a href="mailto:theute@jboss.org">Thomas Heute</a>
- * @version $Revision$
- */
-public class LocalPortletManagement implements LocalPortletManagementMBean
-{
- private Portlet portlet;
-
- private PortletContainerManagementInterceptor interceptor;
-
- public LocalPortletManagement(Portlet portlet, PortletContainerManagementInterceptor interceptor)
- {
- this.portlet = portlet;
- this.interceptor = interceptor;
- }
-
- public String getId()
- {
- return portlet.getContext().getId();
- }
-
- public float getAverageRenderTime()
- {
- return interceptor.getPortletInfo(getId()).getAverageRenderTime();
- }
-
- public float getAverageActionTime()
- {
- return interceptor.getPortletInfo(getId()).getAverageActionTime();
- }
-
- public long getMaxRenderTime()
- {
- return interceptor.getPortletInfo(getId()).getMaxRenderTime();
- }
-
- public long getMaxActionTime()
- {
- return interceptor.getPortletInfo(getId()).getMaxActionTime();
- }
-
- public long getRenderRequestCount()
- {
- return interceptor.getPortletInfo(getId()).getRenderRequestCount();
- }
-
- public long getActionRequestCount()
- {
- return interceptor.getPortletInfo(getId()).getActionRequestCount();
- }
-
- public long getActionErrorCount()
- {
- return interceptor.getPortletInfo(getId()).getActionErrorCount();
- }
-
- public long getRenderErrorCount()
- {
- return interceptor.getPortletInfo(getId()).getRenderErrorCount();
- }
-}
Deleted: modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/management/LocalPortletManagementMBean.java
===================================================================
--- modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/management/LocalPortletManagementMBean.java 2007-09-10 23:44:42 UTC (rev 8211)
+++ modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/management/LocalPortletManagementMBean.java 2007-09-11 06:51:35 UTC (rev 8212)
@@ -1,46 +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.management;
-
-/**
- * @author <a href="mailto:theute@jboss.org">Thomas Heute</a>
- * @version $Revision$
- */
-public interface LocalPortletManagementMBean
-{
- public float getAverageRenderTime();
-
- public float getAverageActionTime();
-
- public long getMaxRenderTime();
-
- public long getMaxActionTime();
-
- public long getRenderRequestCount();
-
- public long getActionRequestCount();
-
- public long getActionErrorCount();
-
- public long getRenderErrorCount();
-}
Deleted: modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/management/PortletContainerManagementInterceptor.java
===================================================================
--- modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/management/PortletContainerManagementInterceptor.java 2007-09-10 23:44:42 UTC (rev 8211)
+++ modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/management/PortletContainerManagementInterceptor.java 2007-09-11 06:51:35 UTC (rev 8212)
@@ -1,32 +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.management;
-
-/**
- * @author <a href="mailto:theute@jboss.org">Thomas Heute</a>
- * @version $Revision$
- */
-public interface PortletContainerManagementInterceptor
-{
- public PortletInfo getPortletInfo(String portletName);
-}
Deleted: modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/management/PortletContainerManagementInterceptorImpl.java
===================================================================
--- modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/management/PortletContainerManagementInterceptorImpl.java 2007-09-10 23:44:42 UTC (rev 8211)
+++ modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/management/PortletContainerManagementInterceptorImpl.java 2007-09-11 06:51:35 UTC (rev 8212)
@@ -1,97 +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.management;
-
-import java.util.Map;
-
-import org.jboss.portal.common.invocation.InvocationException;
-import org.jboss.portal.portlet.PortletContext;
-import org.jboss.portal.portlet.invocation.ActionInvocation;
-import org.jboss.portal.portlet.invocation.PortletInterceptor;
-import org.jboss.portal.portlet.invocation.PortletInvocation;
-import org.jboss.portal.portlet.invocation.RenderInvocation;
-
-import EDU.oswego.cs.dl.util.concurrent.ConcurrentHashMap;
-
-/**
- * @author <a href="mailto:theute@jboss.org">Thomas Heute</a>
- * @version $Revision$
- */
-public class PortletContainerManagementInterceptorImpl extends PortletInterceptor implements PortletContainerManagementInterceptor
-{
-
- private Map map = new ConcurrentHashMap();
-
-
- // Correctness is not insured.
- protected Object invoke(PortletInvocation invocation) throws Exception, InvocationException
- {
- PortletContext portlet = invocation.getTarget();
- String portletName = portlet.getId();
-
- boolean error = false;
-
- long delta = - System.currentTimeMillis();
- Object object;
- try
- {
- object = invocation.invokeNext();
- }
- catch (InvocationException e)
- {
- error = true;
- throw e;
- }
- catch (Exception e)
- {
- error = true;
- throw e;
- }
-
- delta += System.currentTimeMillis();
-
- if (invocation instanceof RenderInvocation)
- {
- PortletInfo info = getPortletInfo(portletName);
- info.newRenderCall(delta, error);
- }
- else if (invocation instanceof ActionInvocation)
- {
- PortletInfo info = getPortletInfo(portletName);
- info.newActionCall(delta, error);
- }
- return object;
- }
-
- public synchronized PortletInfo getPortletInfo(String key)
- {
- PortletInfo info = (PortletInfo)map.get(key);
- if (info == null)
- {
- info = new PortletInfo();
- map.put(key, info);
- }
- return info;
- }
-
-}
Deleted: modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/management/PortletInfo.java
===================================================================
--- modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/management/PortletInfo.java 2007-09-10 23:44:42 UTC (rev 8211)
+++ modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/management/PortletInfo.java 2007-09-11 06:51:35 UTC (rev 8212)
@@ -1,144 +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.management;
-
-/**
- * @author <a href="mailto:theute@jboss.org">Thomas Heute</a>
- * @version $Revision$
- */
-public class PortletInfo
-{
-
- private long renderRequestProcessingTime;
-
- private long actionRequestProcessingTime;
-
- private long maxActionTime;
-
- private long maxRenderTime;
-
- private String maxRenderRequestUri;
-
- private String maxActionRequestUri;
-
- private int actionRequestCount;
-
- private int renderRequestCount;
-
- private int renderErrorCount;
-
- private int actionErrorCount;
-
- public long getRenderRequestProcessingTime()
- {
- return renderRequestProcessingTime;
- }
-
- public long getActionRequestProcessingTime()
- {
- return actionRequestProcessingTime;
- }
-
- public long getMaxRenderTime()
- {
- return maxRenderTime;
- }
-
- public long getMaxActionTime()
- {
- return maxActionTime;
- }
-
- public String getMaxRenderRequestUri()
- {
- return maxRenderRequestUri;
- }
-
- public String getMaxActionRequestUri()
- {
- return maxActionRequestUri;
- }
-
- public synchronized float getAverageRenderTime()
- {
- return (float)renderRequestProcessingTime/renderRequestCount;
- }
-
- public synchronized float getAverageActionTime()
- {
- return (float)actionRequestProcessingTime/actionRequestCount;
- }
-
- public int getRenderRequestCount()
- {
- return renderRequestCount;
- }
-
- public int getActionRequestCount()
- {
- return actionRequestCount;
- }
-
- public int getRenderErrorCount()
- {
- return renderErrorCount;
- }
-
- public int getActionErrorCount()
- {
- return actionErrorCount;
- }
-
- public synchronized void newRenderCall(long time, boolean error)
- {
- renderRequestProcessingTime += time;
- if (time > maxRenderTime)
- {
- maxRenderTime = time;
- }
- renderRequestCount++;
- if (error)
- {
- renderErrorCount++;
- }
- }
-
- public synchronized void newActionCall(long time, boolean error)
- {
- actionRequestProcessingTime += time;
- if (time > maxActionTime)
- {
- maxActionTime = time;
- }
- actionRequestCount++;
- if (error)
- {
- actionErrorCount++;
- }
- }
-
- public boolean isUsed()
- {
- return getActionRequestCount() + getRenderRequestCount() > 0;
- }
-}
18 years, 7 months
JBoss Portal SVN: r8210 - in branches/JBoss_Portal_Branch_2_6: api/src/main and 66 other directories.
by portal-commits@lists.jboss.org
Author: julien(a)jboss.com
Date: 2007-09-10 19:40:53 -0400 (Mon, 10 Sep 2007)
New Revision: 8210
Added:
branches/JBoss_Portal_Branch_2_6/build/ide/intellij/idea60/modules/core-identity/
branches/JBoss_Portal_Branch_2_6/build/ide/intellij/idea60/modules/core-identity/core-identity.iml
branches/JBoss_Portal_Branch_2_6/core/src/main/org/jboss/portal/test/core/model/instance/ActionContextImpl.java
branches/JBoss_Portal_Branch_2_6/core/src/main/org/jboss/portal/test/core/model/instance/PortletInvokerSupport.java
branches/JBoss_Portal_Branch_2_6/core/src/main/org/jboss/portal/test/core/model/instance/PortletSupport.java
branches/JBoss_Portal_Branch_2_6/core/src/main/org/jboss/portal/test/core/model/instance/ValueMapAssert.java
branches/JBoss_Portal_Branch_2_6/portlet-server/src/main/org/jboss/portal/portlet/deployment/jboss/JBossApplicationMetaDataFactory.java
branches/JBoss_Portal_Branch_2_6/portlet-server/src/main/org/jboss/portal/portlet/deployment/jboss/PortletApplicationMetaDataFactory.java
branches/JBoss_Portal_Branch_2_6/portlet-server/src/main/org/jboss/portal/portlet/deployment/jboss/ValueTrimmingFilter.java
Removed:
branches/JBoss_Portal_Branch_2_6/api/src/main/javax/
branches/JBoss_Portal_Branch_2_6/portlet-federation/
branches/JBoss_Portal_Branch_2_6/portlet-server/src/main/org/jboss/portal/portlet/tck/TCKPortletController.java
branches/JBoss_Portal_Branch_2_6/portlet-server/src/main/org/jboss/portal/portlet/test/PortletController.java
branches/JBoss_Portal_Branch_2_6/portlet-server/src/main/org/jboss/portal/portlet/test/TestSecurityInterceptor.java
branches/JBoss_Portal_Branch_2_6/portlet/
branches/JBoss_Portal_Branch_2_6/server/src/main/org/jboss/portal/server/servlet/CommandServlet.java
branches/JBoss_Portal_Branch_2_6/server/src/main/org/jboss/portal/server/servlet/ServletCommand.java
Modified:
branches/JBoss_Portal_Branch_2_6/bridge/build.xml
branches/JBoss_Portal_Branch_2_6/build/build-thirdparty.xml
branches/JBoss_Portal_Branch_2_6/build/build.xml
branches/JBoss_Portal_Branch_2_6/build/ide/intellij/idea60/modules/bridge/bridge.iml
branches/JBoss_Portal_Branch_2_6/build/ide/intellij/idea60/modules/cms/cms.iml
branches/JBoss_Portal_Branch_2_6/build/ide/intellij/idea60/modules/core-admin/core-admin.iml
branches/JBoss_Portal_Branch_2_6/build/ide/intellij/idea60/modules/core-cms/core-cms.iml
branches/JBoss_Portal_Branch_2_6/build/ide/intellij/idea60/modules/core-management/core-management.iml
branches/JBoss_Portal_Branch_2_6/build/ide/intellij/idea60/modules/core-samples/core-samples.iml
branches/JBoss_Portal_Branch_2_6/build/ide/intellij/idea60/modules/core/core.iml
branches/JBoss_Portal_Branch_2_6/build/ide/intellij/idea60/modules/faces/faces.iml
branches/JBoss_Portal_Branch_2_6/build/ide/intellij/idea60/modules/portlet-server/portlet-server.iml
branches/JBoss_Portal_Branch_2_6/build/ide/intellij/idea60/modules/theme/theme.iml
branches/JBoss_Portal_Branch_2_6/build/ide/intellij/idea60/modules/widget/widget.iml
branches/JBoss_Portal_Branch_2_6/build/ide/intellij/idea60/modules/wsrp/wsrp.iml
branches/JBoss_Portal_Branch_2_6/cms/build.xml
branches/JBoss_Portal_Branch_2_6/cms/src/main/org/jboss/portal/test/cms/clustering/FileDeleteTest.java
branches/JBoss_Portal_Branch_2_6/cms/src/main/org/jboss/portal/test/cms/clustering/FileUpdateTest.java
branches/JBoss_Portal_Branch_2_6/core-admin/build.xml
branches/JBoss_Portal_Branch_2_6/core-cms/build.xml
branches/JBoss_Portal_Branch_2_6/core-identity/build.xml
branches/JBoss_Portal_Branch_2_6/core-management/build.xml
branches/JBoss_Portal_Branch_2_6/core-samples/build.xml
branches/JBoss_Portal_Branch_2_6/core-wsrp/build.xml
branches/JBoss_Portal_Branch_2_6/core/build.xml
branches/JBoss_Portal_Branch_2_6/core/src/main/org/jboss/portal/core/controller/Controller.java
branches/JBoss_Portal_Branch_2_6/core/src/main/org/jboss/portal/core/controller/ControllerContext.java
branches/JBoss_Portal_Branch_2_6/core/src/main/org/jboss/portal/core/controller/ajax/AjaxResponseHandler.java
branches/JBoss_Portal_Branch_2_6/core/src/main/org/jboss/portal/core/controller/classic/OtherResponseHandler.java
branches/JBoss_Portal_Branch_2_6/core/src/main/org/jboss/portal/core/deployment/JBossApplicationMetaDataFactory.java
branches/JBoss_Portal_Branch_2_6/core/src/main/org/jboss/portal/core/deployment/jboss/PortletAppDeploymentFactory.java
branches/JBoss_Portal_Branch_2_6/core/src/main/org/jboss/portal/core/model/instance/PortletInstanceResponseHandler.java
branches/JBoss_Portal_Branch_2_6/core/src/main/org/jboss/portal/core/model/portal/PortalObjectResponseHandler.java
branches/JBoss_Portal_Branch_2_6/core/src/main/org/jboss/portal/test/core/model/instance/InstanceContainerTestCase.java
branches/JBoss_Portal_Branch_2_6/core/src/main/org/jboss/portal/test/core/state/ProducerTestCase.java
branches/JBoss_Portal_Branch_2_6/core/src/resources/portal-core-sar/META-INF/jboss-service.xml
branches/JBoss_Portal_Branch_2_6/core/src/resources/portal-core-test-jar/org/jboss/portal/test/core/model/instance/persistent-jboss-beans.xml
branches/JBoss_Portal_Branch_2_6/core/src/resources/portal-core-test-jar/org/jboss/portal/test/core/model/instance/transient-jboss-beans.xml
branches/JBoss_Portal_Branch_2_6/core/src/resources/portal-core-test-jar/org/jboss/portal/test/core/state/jboss-beans.xml
branches/JBoss_Portal_Branch_2_6/faces/build.xml
branches/JBoss_Portal_Branch_2_6/portlet-server/build.xml
branches/JBoss_Portal_Branch_2_6/portlet-server/src/main/org/jboss/portal/portlet/deployment/jboss/PortletAppDeployment.java
branches/JBoss_Portal_Branch_2_6/portlet-server/src/main/org/jboss/portal/portlet/deployment/jboss/PortletAppDeploymentFactory.java
branches/JBoss_Portal_Branch_2_6/portlet-server/src/resources/test-sar/META-INF/jboss-service.xml
branches/JBoss_Portal_Branch_2_6/search/build.xml
branches/JBoss_Portal_Branch_2_6/server/src/main/org/jboss/portal/server/Server.java
branches/JBoss_Portal_Branch_2_6/server/src/main/org/jboss/portal/server/aspects/server/SessionInvalidatorInterceptor.java
branches/JBoss_Portal_Branch_2_6/server/src/main/org/jboss/portal/server/deployment/PortalWebTomcat4App.java
branches/JBoss_Portal_Branch_2_6/server/src/main/org/jboss/portal/server/deployment/PortalWebTomcat5App.java
branches/JBoss_Portal_Branch_2_6/server/src/main/org/jboss/portal/server/deployment/PortalWebTomcat6App.java
branches/JBoss_Portal_Branch_2_6/server/src/main/org/jboss/portal/server/impl/ServerImpl.java
branches/JBoss_Portal_Branch_2_6/server/src/main/org/jboss/portal/test/server/response/EncodeResponseTest.java
branches/JBoss_Portal_Branch_2_6/server/src/main/org/jboss/portal/web/jboss/JBossWebContext.java
branches/JBoss_Portal_Branch_2_6/server/src/resources/portal-server-sar/META-INF/jboss-service.xml
branches/JBoss_Portal_Branch_2_6/server/src/resources/test/test-charset-sar/META-INF/jboss-service.xml
branches/JBoss_Portal_Branch_2_6/server/src/resources/test/test-parameters-sar/META-INF/jboss-service.xml
branches/JBoss_Portal_Branch_2_6/server/src/resources/test/test-response-sar/META-INF/jboss-service.xml
branches/JBoss_Portal_Branch_2_6/server/src/resources/test/test-servlet-sar/META-INF/jboss-service.xml
branches/JBoss_Portal_Branch_2_6/testsuite/build.xml
branches/JBoss_Portal_Branch_2_6/theme/build.xml
branches/JBoss_Portal_Branch_2_6/theme/src/main/org/jboss/portal/test/theme/DynaTestContext.java
branches/JBoss_Portal_Branch_2_6/theme/src/main/org/jboss/portal/test/theme/TestInfoServlet.java
branches/JBoss_Portal_Branch_2_6/theme/src/main/org/jboss/portal/theme/LayoutDispatcher.java
branches/JBoss_Portal_Branch_2_6/theme/src/resources/test/theme-test-sar/META-INF/jboss-service.xml
branches/JBoss_Portal_Branch_2_6/tools/etc/buildfragments/modules.ent
branches/JBoss_Portal_Branch_2_6/widget/build.xml
branches/JBoss_Portal_Branch_2_6/wsrp/build.xml
branches/JBoss_Portal_Branch_2_6/wsrp/src/main/org/jboss/portal/test/wsrp/WSRPBaseTest.java
branches/JBoss_Portal_Branch_2_6/wsrp/src/resources/tests/test-wsrp-producer-sar/META-INF/jboss-service.xml
Log:
update 2.6 to latest snapshot + portlet container detached module
Modified: branches/JBoss_Portal_Branch_2_6/bridge/build.xml
===================================================================
--- branches/JBoss_Portal_Branch_2_6/bridge/build.xml 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/bridge/build.xml 2007-09-10 23:40:53 UTC (rev 8210)
@@ -86,6 +86,7 @@
&libraries;
<path id="library.classpath">
<path refid="jboss.portal/modules/common.classpath"/>
+ <path refid="jboss.portal/modules/portlet.classpath"/>
<path refid="jbossas/core.libs.classpath"/>
<path refid="apache.log4j.classpath"/>
<path refid="sun.servlet.classpath"/>
@@ -99,10 +100,8 @@
<!-- Configure modules -->
<call target="configure-modules"/>
<path id="dependentmodule.classpath">
- <path refid="jboss.portlet-api.classpath"/>
<path refid="jboss.portal-jems.classpath"/>
<path refid="jboss.portal-server.classpath"/>
- <path refid="jboss.portal-portlet.classpath"/>
</path>
<!--+=======================================+-->
Modified: branches/JBoss_Portal_Branch_2_6/build/build-thirdparty.xml
===================================================================
--- branches/JBoss_Portal_Branch_2_6/build/build-thirdparty.xml 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/build/build-thirdparty.xml 2007-09-10 23:40:53 UTC (rev 8210)
@@ -50,6 +50,7 @@
<componentref name="jboss-portal/modules/common" version="1.0.0-SNAPSHOT"/>
<componentref name="jboss-portal/modules/web" version="1.0.0-SNAPSHOT"/>
<componentref name="jboss-portal/modules/test" version="1.0.0-SNAPSHOT"/>
+ <componentref name="jboss-portal/modules/portlet" version="1.0.0-SNAPSHOT"/>
<componentref name="jboss-portal/modules/identity" version="1.0.0-SNAPSHOT"/>
<componentref name="antlr" version="2.7.6.ga"/>
<componentref name="apache-ant" version="1.6.5"/>
Modified: branches/JBoss_Portal_Branch_2_6/build/build.xml
===================================================================
--- branches/JBoss_Portal_Branch_2_6/build/build.xml 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/build/build.xml 2007-09-10 23:40:53 UTC (rev 8210)
@@ -116,9 +116,7 @@
<module name="faces"/>
<module name="api"/>
<module name="server"/>
- <module name="portlet"/>
<module name="portlet-server"/>
- <module name="portlet-federation"/>
<module name="theme"/>
<module name="bridge"/>
<module name="cms"/>
@@ -141,7 +139,7 @@
<group name="portal">
<include
- modules="api, jems, server, security, search, format, portlet, portlet-server, bridge, faces, portlet-federation, theme, workflow, cms, registration, core, wsrp, core-admin, core-cms, core-management, core-identity, core-samples, widget"/>
+ modules="api, jems, server, security, search, format, portlet-server, bridge, faces, theme, workflow, cms, registration, core, wsrp, core-admin, core-cms, core-management, core-identity, core-samples, widget"/>
</group>
<group name="cms">
@@ -346,9 +344,6 @@
<packageset dir="../api/src/main">
<exclude name="org/jboss/portal/test/**"/>
</packageset>
- <packageset dir="../portlet/src/main">
- <exclude name="org/jboss/portal/test/**"/>
- </packageset>
<packageset dir="../portlet-server/src/main">
<exclude name="org/jboss/portal/test/**"/>
</packageset>
@@ -361,9 +356,6 @@
<packageset dir="../faces/src/main">
<exclude name="org/jboss/portal/test/**"/>
</packageset>
- <packageset dir="../portlet-federation/src/main">
- <exclude name="org/jboss/portal/test/**"/>
- </packageset>
<packageset dir="../format/src/main">
<exclude name="org/jboss/portal/test/**"/>
</packageset>
Modified: branches/JBoss_Portal_Branch_2_6/build/ide/intellij/idea60/modules/bridge/bridge.iml
===================================================================
--- branches/JBoss_Portal_Branch_2_6/build/ide/intellij/idea60/modules/bridge/bridge.iml 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/build/ide/intellij/idea60/modules/bridge/bridge.iml 2007-09-10 23:40:53 UTC (rev 8210)
@@ -20,7 +20,6 @@
<SOURCES />
</library>
</orderEntry>
- <orderEntry type="module" module-name="portlet" />
<orderEntry type="module-library">
<library>
<CLASSES>
Modified: branches/JBoss_Portal_Branch_2_6/build/ide/intellij/idea60/modules/cms/cms.iml
===================================================================
--- branches/JBoss_Portal_Branch_2_6/build/ide/intellij/idea60/modules/cms/cms.iml 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/build/ide/intellij/idea60/modules/cms/cms.iml 2007-09-10 23:40:53 UTC (rev 8210)
@@ -120,7 +120,6 @@
<SOURCES />
</library>
</orderEntry>
- <orderEntry type="module" module-name="portlet" />
<orderEntry type="module-library">
<library>
<CLASSES>
@@ -157,7 +156,6 @@
<SOURCES />
</library>
</orderEntry>
- <orderEntry type="module" module-name="identity" />
<orderEntry type="module" module-name="workflow" />
<orderEntry type="module-library">
<library>
@@ -197,6 +195,15 @@
<SOURCES />
</library>
</orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../../thirdparty/jboss-portal/modules/common/lib/portal-common-lib.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
<orderEntryProperties />
</component>
<component name="VcsManagerConfiguration">
Modified: branches/JBoss_Portal_Branch_2_6/build/ide/intellij/idea60/modules/core/core.iml
===================================================================
--- branches/JBoss_Portal_Branch_2_6/build/ide/intellij/idea60/modules/core/core.iml 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/build/ide/intellij/idea60/modules/core/core.iml 2007-09-10 23:40:53 UTC (rev 8210)
@@ -12,7 +12,6 @@
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="module" module-name="theme" />
<orderEntry type="module" module-name="server" />
- <orderEntry type="module" module-name="portlet" />
<orderEntry type="module" module-name="format" />
<orderEntry type="module-library">
<library>
@@ -62,7 +61,6 @@
</library>
</orderEntry>
<orderEntry type="module" module-name="cms" />
- <orderEntry type="module" module-name="identity" />
<orderEntry type="module-library">
<library>
<CLASSES>
@@ -255,7 +253,6 @@
</orderEntry>
<orderEntry type="module" module-name="registration" />
<orderEntry type="module" module-name="workflow" />
- <orderEntry type="module" module-name="portlet-federation" />
<orderEntry type="module" module-name="portlet-server" />
<orderEntry type="module-library">
<library>
@@ -321,6 +318,60 @@
<SOURCES />
</library>
</orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../../thirdparty/jboss-portal/modules/portlet/lib/portal-portlet-jsr168api-lib.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../../thirdparty/jboss-portal/modules/portlet/lib/portal-portlet-lib.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../../thirdparty/jboss-portal/modules/portlet/lib/portal-portlet-federation-lib.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../../thirdparty/jboss-portal/modules/test/lib/portal-test-lib.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../../thirdparty/jboss-portal/modules/common/lib/portal-common-portal-lib.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../../thirdparty/jboss-portal/modules/web/lib/portal-web-lib.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
<orderEntryProperties />
</component>
<component name="VcsManagerConfiguration">
Modified: branches/JBoss_Portal_Branch_2_6/build/ide/intellij/idea60/modules/core-admin/core-admin.iml
===================================================================
--- branches/JBoss_Portal_Branch_2_6/build/ide/intellij/idea60/modules/core-admin/core-admin.iml 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/build/ide/intellij/idea60/modules/core-admin/core-admin.iml 2007-09-10 23:40:53 UTC (rev 8210)
@@ -66,7 +66,6 @@
<orderEntry type="module" module-name="faces" />
<orderEntry type="module" module-name="core" />
<orderEntry type="module" module-name="identity" />
- <orderEntry type="module" module-name="portlet" />
<orderEntry type="module" module-name="theme" />
<orderEntry type="module" module-name="api" />
<orderEntry type="module" module-name="security" />
@@ -80,7 +79,6 @@
</library>
</orderEntry>
<orderEntry type="module" module-name="format" />
- <orderEntry type="module" module-name="portlet-federation" />
<orderEntry type="module" module-name="jems" />
<orderEntry type="module-library">
<library>
Modified: branches/JBoss_Portal_Branch_2_6/build/ide/intellij/idea60/modules/core-cms/core-cms.iml
===================================================================
--- branches/JBoss_Portal_Branch_2_6/build/ide/intellij/idea60/modules/core-cms/core-cms.iml 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/build/ide/intellij/idea60/modules/core-cms/core-cms.iml 2007-09-10 23:40:53 UTC (rev 8210)
@@ -50,7 +50,6 @@
<SOURCES />
</library>
</orderEntry>
- <orderEntry type="module" module-name="portlet" />
<orderEntry type="module" module-name="identity" />
<orderEntry type="module" module-name="theme" />
<orderEntry type="module" module-name="core-admin" />
Added: branches/JBoss_Portal_Branch_2_6/build/ide/intellij/idea60/modules/core-identity/core-identity.iml
===================================================================
--- branches/JBoss_Portal_Branch_2_6/build/ide/intellij/idea60/modules/core-identity/core-identity.iml (rev 0)
+++ branches/JBoss_Portal_Branch_2_6/build/ide/intellij/idea60/modules/core-identity/core-identity.iml 2007-09-10 23:40:53 UTC (rev 8210)
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module version="4" relativePaths="true" type="JAVA_MODULE">
+ <component name="ModuleRootManager" />
+ <component name="NewModuleRootManager" inherit-compiler-output="true">
+ <exclude-output />
+ <content url="file://$MODULE_DIR$/../../../../../../core-identity">
+ <sourceFolder url="file://$MODULE_DIR$/../../../../../../core-identity/src/main" isTestSource="false" />
+ </content>
+ <orderEntry type="inheritedJdk" />
+ <orderEntry type="sourceFolder" forTests="false" />
+ <orderEntryProperties />
+ </component>
+</module>
+
Modified: branches/JBoss_Portal_Branch_2_6/build/ide/intellij/idea60/modules/core-management/core-management.iml
===================================================================
--- branches/JBoss_Portal_Branch_2_6/build/ide/intellij/idea60/modules/core-management/core-management.iml 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/build/ide/intellij/idea60/modules/core-management/core-management.iml 2007-09-10 23:40:53 UTC (rev 8210)
@@ -10,7 +10,6 @@
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="module" module-name="core" />
- <orderEntry type="module" module-name="portlet" />
<orderEntry type="module" module-name="jems" />
<orderEntry type="module-library">
<library>
@@ -39,7 +38,6 @@
<SOURCES />
</library>
</orderEntry>
- <orderEntry type="module" module-name="portlet-federation" />
<orderEntryProperties />
</component>
<component name="VcsManagerConfiguration">
Modified: branches/JBoss_Portal_Branch_2_6/build/ide/intellij/idea60/modules/core-samples/core-samples.iml
===================================================================
--- branches/JBoss_Portal_Branch_2_6/build/ide/intellij/idea60/modules/core-samples/core-samples.iml 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/build/ide/intellij/idea60/modules/core-samples/core-samples.iml 2007-09-10 23:40:53 UTC (rev 8210)
@@ -11,7 +11,6 @@
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="module" module-name="format" />
<orderEntry type="module" module-name="core" />
- <orderEntry type="module" module-name="portlet" />
<orderEntry type="module" module-name="api" />
<orderEntry type="module" module-name="identity" />
<orderEntry type="module-library">
Modified: branches/JBoss_Portal_Branch_2_6/build/ide/intellij/idea60/modules/faces/faces.iml
===================================================================
--- branches/JBoss_Portal_Branch_2_6/build/ide/intellij/idea60/modules/faces/faces.iml 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/build/ide/intellij/idea60/modules/faces/faces.iml 2007-09-10 23:40:53 UTC (rev 8210)
@@ -74,7 +74,6 @@
</library>
</orderEntry>
<orderEntry type="module" module-name="api" />
- <orderEntry type="module" module-name="portlet" />
<orderEntry type="module" module-name="server" />
<orderEntry type="module" module-name="bridge" />
<orderEntry type="module-library">
Modified: branches/JBoss_Portal_Branch_2_6/build/ide/intellij/idea60/modules/portlet-server/portlet-server.iml
===================================================================
--- branches/JBoss_Portal_Branch_2_6/build/ide/intellij/idea60/modules/portlet-server/portlet-server.iml 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/build/ide/intellij/idea60/modules/portlet-server/portlet-server.iml 2007-09-10 23:40:53 UTC (rev 8210)
@@ -9,7 +9,6 @@
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
- <orderEntry type="module" module-name="portlet" />
<orderEntry type="module" module-name="server" />
<orderEntry type="module-library">
<library>
@@ -112,6 +111,15 @@
<SOURCES />
</library>
</orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../../thirdparty/jboss-portal/modules/portlet/lib/portal-portlet-lib.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
<orderEntryProperties />
</component>
<component name="VcsManagerConfiguration">
Modified: branches/JBoss_Portal_Branch_2_6/build/ide/intellij/idea60/modules/theme/theme.iml
===================================================================
--- branches/JBoss_Portal_Branch_2_6/build/ide/intellij/idea60/modules/theme/theme.iml 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/build/ide/intellij/idea60/modules/theme/theme.iml 2007-09-10 23:40:53 UTC (rev 8210)
@@ -29,7 +29,6 @@
<SOURCES />
</library>
</orderEntry>
- <orderEntry type="module" module-name="portlet" />
<orderEntry type="module-library">
<library>
<CLASSES>
@@ -113,6 +112,24 @@
<SOURCES />
</library>
</orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../../thirdparty/jboss-portal/modules/test/lib/portal-test-lib.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../../thirdparty/jboss-portal/modules/web/lib/portal-web-lib.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
<orderEntryProperties />
</component>
<component name="VcsManagerConfiguration">
Modified: branches/JBoss_Portal_Branch_2_6/build/ide/intellij/idea60/modules/widget/widget.iml
===================================================================
--- branches/JBoss_Portal_Branch_2_6/build/ide/intellij/idea60/modules/widget/widget.iml 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/build/ide/intellij/idea60/modules/widget/widget.iml 2007-09-10 23:40:53 UTC (rev 8210)
@@ -9,7 +9,6 @@
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
- <orderEntry type="module" module-name="portlet" />
<orderEntry type="module" module-name="jems" />
<orderEntry type="module-library">
<library>
Modified: branches/JBoss_Portal_Branch_2_6/build/ide/intellij/idea60/modules/wsrp/wsrp.iml
===================================================================
--- branches/JBoss_Portal_Branch_2_6/build/ide/intellij/idea60/modules/wsrp/wsrp.iml 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/build/ide/intellij/idea60/modules/wsrp/wsrp.iml 2007-09-10 23:40:53 UTC (rev 8210)
@@ -13,7 +13,6 @@
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="module" module-name="server" />
- <orderEntry type="module" module-name="portlet" />
<orderEntry type="module-library">
<library>
<CLASSES>
@@ -154,7 +153,6 @@
</orderEntry>
<orderEntry type="module" module-name="jems" />
<orderEntry type="module" module-name="registration" />
- <orderEntry type="module" module-name="portlet-federation" />
<orderEntry type="module-library">
<library>
<CLASSES>
Modified: branches/JBoss_Portal_Branch_2_6/cms/build.xml
===================================================================
--- branches/JBoss_Portal_Branch_2_6/cms/build.xml 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/cms/build.xml 2007-09-10 23:40:53 UTC (rev 8210)
@@ -90,11 +90,13 @@
<path id="library.classpath">
<path refid="jboss.portal/modules/common.classpath"/>
<path refid="jboss.portal/modules/test.classpath"/>
- <path refid="apache.logging.classpath"/>
- <path refid="apache.xerces.classpath"/>
- <path refid="apache.log4j.classpath"/>
- <path refid="apache.collections.classpath"/>
- <path refid="apache.lucene.classpath"/>
+ <path refid="jboss.portal/modules/portlet.classpath"/>
+ <path refid="jboss.portal/modules/identity.classpath"/>
+ <path refid="apache.logging.classpath"/>
+ <path refid="apache.xerces.classpath"/>
+ <path refid="apache.log4j.classpath"/>
+ <path refid="apache.collections.classpath"/>
+ <path refid="apache.lucene.classpath"/>
<path refid="jboss.jbossxb.classpath"/>
<path refid="jboss.cache.classpath"/>
<path refid="oswego.concurrent.classpath"/>
@@ -111,13 +113,11 @@
<path refid="jcr.jcr.classpath"/>
<!-- cms optimization integration -->
<path refid="jgroups.jgroups.classpath"/>
- <path refid="sun.servlet.classpath"/>
- <!-- jbpm integration -->
- <path refid="jbpm.jaronly.classpath"/>
+ <path refid="sun.servlet.classpath"/>
+ <!-- jbpm integration -->
+ <path refid="jbpm.jaronly.classpath"/>
</path>
-
-
<path id="javac.classpath">
<pathelement location="${build.classes}"/>
</path>
@@ -131,13 +131,11 @@
<path refid="jboss.portal-jems.classpath"/>
<path refid="jboss.portal-search.classpath"/>
<!-- fine grained security integration -->
- <path refid="jboss.portal/modules/identity.classpath"/>
- <path refid="jboss.portal-security.classpath"/>
+ <path refid="jboss.portal-security.classpath"/>
<!-- clustered testcases related -->
- <path refid="jboss.portal-portlet.classpath"/>
- <path refid="jboss.portlet-api.classpath"/>
- <!-- workflow integration -->
- <path refid="jboss.portal-workflow.classpath"/>
+ <path refid="jboss.portal-api.classpath"/>
+ <!-- workflow integration -->
+ <path refid="jboss.portal-workflow.classpath"/>
</path>
@@ -254,7 +252,6 @@
<fileset dir="${jboss.portal/modules/identity.lib}" includes="portal-identity-lib.jar"/>
<fileset dir="${jboss.portal/modules/identity.lib}" includes="portal-identity-sso-lib.jar"/>
<fileset dir="${jboss.portal-workflow.lib}" includes="portal-workflow-lib.jar"/>
- <fileset dir="${jboss.portal-portlet.lib}" includes="portal-portlet-testframework-lib.jar"/>
</jar>
<jar jarfile="${build.lib}/test-cms-cluster.war">
<fileset dir="${build.resources}/test/cms/clustering/test-cms-clustering-war"/>
Modified: branches/JBoss_Portal_Branch_2_6/cms/src/main/org/jboss/portal/test/cms/clustering/FileDeleteTest.java
===================================================================
--- branches/JBoss_Portal_Branch_2_6/cms/src/main/org/jboss/portal/test/cms/clustering/FileDeleteTest.java 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/cms/src/main/org/jboss/portal/test/cms/clustering/FileDeleteTest.java 2007-09-10 23:40:53 UTC (rev 8210)
@@ -23,7 +23,6 @@
package org.jboss.portal.test.cms.clustering;
import org.jboss.portal.test.framework.server.driver.AbstractTest;
-import org.jboss.portal.test.framework.driver.http.HTTPTestContext;
import org.jboss.portal.test.framework.driver.http.response.InvokeGetResponse;
import org.jboss.portal.test.framework.driver.remote.TestContext;
import org.jboss.portal.test.framework.server.NodeId;
@@ -80,7 +79,7 @@
{
try
{
- if (HTTPTestContext.isCurrentRequestCount(0) && NodeId.PORTS_01.equals(NodeId.locate()))
+ if (testContext.isRequestCount(0) && NodeId.PORTS_01.equals(NodeId.locate()))
{
System.out.println("-------------------------------------------------------");
System.out.println("Performing SetUp on..." + NodeId.PORTS_01 + "(createTestFileDelete)");
@@ -108,10 +107,10 @@
AbstractServerURL url = new AbstractServerURL();
url.setPortalRequestPath("/index.html");
String s = invocation.getResponse().renderURL(url);
- s = HTTPTestContext.getCurrentContext().rewriteURLForNode(s, NodeId.PORTS_02);
+ s = testContext.rewriteURLForNode(s, NodeId.PORTS_02);
return new InvokeGetResponse(s);
}
- else if (HTTPTestContext.isCurrentRequestCount(1) && NodeId.PORTS_02.equals(NodeId.locate()))
+ else if (testContext.isRequestCount(1) && NodeId.PORTS_02.equals(NodeId.locate()))
{
System.out.println("-------------------------------------------------------");
System.out.println("Performing SetUp on node..." + NodeId.PORTS_02 + "(createTestFileDelete)");
@@ -134,10 +133,10 @@
AbstractServerURL url = new AbstractServerURL();
url.setPortalRequestPath("/index.html");
String s = invocation.getResponse().renderURL(url);
- s = HTTPTestContext.getCurrentContext().rewriteURLForNode(s, NodeId.PORTS_01);
+ s = testContext.rewriteURLForNode(s, NodeId.PORTS_01);
return new InvokeGetResponse(s);
}
- else if (HTTPTestContext.isCurrentRequestCount(2) && NodeId.PORTS_01.equals(NodeId.locate()))
+ else if (testContext.isRequestCount(2) && NodeId.PORTS_01.equals(NodeId.locate()))
{
System.out.println("-------------------------------------------------------");
System.out.println("Performing FileDelete on..." + NodeId.PORTS_01 + "(createTestFileDelete)");
@@ -174,10 +173,10 @@
AbstractServerURL url = new AbstractServerURL();
url.setPortalRequestPath("/index.html");
String s = invocation.getResponse().renderURL(url);
- s = HTTPTestContext.getCurrentContext().rewriteURLForNode(s, NodeId.PORTS_02);
+ s = testContext.rewriteURLForNode(s, NodeId.PORTS_02);
return new InvokeGetResponse(s);
}
- else if (HTTPTestContext.isCurrentRequestCount(3) && NodeId.PORTS_02.equals(NodeId.locate()))
+ else if (testContext.isRequestCount(3) && NodeId.PORTS_02.equals(NodeId.locate()))
{
System.out.println("-------------------------------------------------------");
System.out.println("Checking FileDelete on node..." + NodeId.PORTS_02 + "(createTestFileDelete)");
Modified: branches/JBoss_Portal_Branch_2_6/cms/src/main/org/jboss/portal/test/cms/clustering/FileUpdateTest.java
===================================================================
--- branches/JBoss_Portal_Branch_2_6/cms/src/main/org/jboss/portal/test/cms/clustering/FileUpdateTest.java 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/cms/src/main/org/jboss/portal/test/cms/clustering/FileUpdateTest.java 2007-09-10 23:40:53 UTC (rev 8210)
@@ -34,7 +34,6 @@
import org.jboss.portal.test.framework.driver.DriverResponse;
import org.jboss.portal.common.junit.ExtendedAssert;
import org.jboss.portal.test.framework.server.driver.AbstractTest;
-import org.jboss.portal.test.framework.driver.http.HTTPTestContext;
import org.jboss.portal.test.framework.driver.http.response.InvokeGetResponse;
import org.jboss.portal.test.framework.driver.remote.TestContext;
import org.jboss.portal.test.framework.server.NodeId;
@@ -80,7 +79,7 @@
{
try
{
- if (HTTPTestContext.isCurrentRequestCount(0) && NodeId.PORTS_01.equals(NodeId.locate()))
+ if (testContext.isRequestCount(0) && NodeId.PORTS_01.equals(NodeId.locate()))
{
System.out.println("-------------------------------------------------------");
System.out.println("Performing SetUp on..." + NodeId.PORTS_01 + "(createTestFileUpdate)");
@@ -116,10 +115,10 @@
AbstractServerURL url = new AbstractServerURL();
url.setPortalRequestPath("/index.html");
String s = invocation.getResponse().renderURL(url);
- s = HTTPTestContext.getCurrentContext().rewriteURLForNode(s, NodeId.PORTS_02);
+ s = testContext.rewriteURLForNode(s, NodeId.PORTS_02);
return new InvokeGetResponse(s);
}
- else if (HTTPTestContext.isCurrentRequestCount(1) && NodeId.PORTS_02.equals(NodeId.locate()))
+ else if (testContext.isRequestCount(1) && NodeId.PORTS_02.equals(NodeId.locate()))
{
System.out.println("-------------------------------------------------------");
System.out.println("Performing SetUp on node..." + NodeId.PORTS_02 + "(createTestFileUpdate)");
@@ -155,10 +154,10 @@
AbstractServerURL url = new AbstractServerURL();
url.setPortalRequestPath("/index.html");
String s = invocation.getResponse().renderURL(url);
- s = HTTPTestContext.getCurrentContext().rewriteURLForNode(s, NodeId.PORTS_01);
+ s = testContext.rewriteURLForNode(s, NodeId.PORTS_01);
return new InvokeGetResponse(s);
}
- else if (HTTPTestContext.isCurrentRequestCount(2) && NodeId.PORTS_01.equals(NodeId.locate()))
+ else if (testContext.isRequestCount(2) && NodeId.PORTS_01.equals(NodeId.locate()))
{
System.out.println("-------------------------------------------------------");
System.out.println("Performing FileUpdate on..." + NodeId.PORTS_01 + "(createTestFileUpdate)");
@@ -208,10 +207,10 @@
AbstractServerURL url = new AbstractServerURL();
url.setPortalRequestPath("/index.html");
String s = invocation.getResponse().renderURL(url);
- s = HTTPTestContext.getCurrentContext().rewriteURLForNode(s, NodeId.PORTS_02);
+ s = testContext.rewriteURLForNode(s, NodeId.PORTS_02);
return new InvokeGetResponse(s);
}
- else if (HTTPTestContext.isCurrentRequestCount(3) && NodeId.PORTS_02.equals(NodeId.locate()))
+ else if (testContext.isRequestCount(3) && NodeId.PORTS_02.equals(NodeId.locate()))
{
System.out.println("-------------------------------------------------------");
System.out.println("Checking FileUpdate on node..." + NodeId.PORTS_02 + "(createTestFileUpdate)");
Modified: branches/JBoss_Portal_Branch_2_6/core/build.xml
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core/build.xml 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/core/build.xml 2007-09-10 23:40:53 UTC (rev 8210)
@@ -89,6 +89,8 @@
<path id="library.classpath">
<path refid="jboss.portal/modules/common.classpath"/>
<path refid="jboss.portal/modules/web.classpath"/>
+ <path refid="jboss.portal/modules/identity.classpath"/>
+ <path refid="jboss.portal/modules/portlet.classpath"/>
<path refid="jboss.portal/modules/test.classpath"/>
<path refid="jboss/backport.concurrent.classpath"/>
<path refid="jboss.microcontainer.classpath"/>
@@ -128,13 +130,10 @@
<path refid="jboss.portal-format.classpath"/>
<path refid="jboss.portal-server.classpath"/>
<path refid="jboss.portal-registration.classpath"/>
- <path refid="jboss.portal-portlet.classpath"/>
<path refid="jboss.portal-portlet-server.classpath"/>
<path refid="jboss.portal-jems.classpath"/>
- <path refid="jboss.portal-portlet-federation.classpath"/>
- <path refid="jboss.portal/modules/identity.classpath"/>
<path refid="jboss.portal-jems.classpath"/>
- <path refid="jboss.portlet-api.classpath"/>
+ <path refid="jboss.portal-api.classpath"/>
<path refid="jboss.portal-theme.classpath"/>
<path refid="jboss.portal-security.classpath"/>
</path>
@@ -233,12 +232,11 @@
<path refid="beanshell.beanshell.classpath"/>
<path refid="hibernate.classpath"/>
<path refid="jboss.portal/modules/common.classpath"/>
+ <path refid="jboss.portal/modules/portlet.classpath"/>
+ <path refid="jboss.portal/modules/identity.classpath"/>
<path refid="jboss.portal-server.classpath"/>
- <path refid="jboss.portal-portlet.classpath"/>
<path refid="jboss.portal-portlet-server.classpath"/>
- <path refid="jboss.portal/modules/identity.classpath"/>
<path refid="jboss.portal-security.classpath"/>
- <path refid="jboss.portlet-api.classpath"/>
<path refid="jboss.portal-jems.classpath"/>
<pathelement path="${build.classes}"/>
</path>
@@ -283,10 +281,6 @@
<exclude name="org/jboss/portal/test/**"/>
<exclude name="org/jboss/portlet/**"/>
</fileset>
- <fileset dir="../portlet/output/classes">
- <include name="org/jboss/portal/test/portlet/TestPortletPreferencesPortlet.class"/>
- <include name="org/jboss/portal/test/core/theme/UserThemeTestCase.class"/>
- </fileset>
</jar>
<!-- jboss-portlet-api-lib.jar -->
@@ -324,20 +318,18 @@
<fileset dir="${jboss.portal-format.root}/lib" includes="portal-format-lib.jar"/>
<fileset dir="${jboss.portal/modules/common.lib}" includes="portal-common-lib.jar,portal-common-portal-lib.jar"/>
<fileset dir="${jboss.portal/modules/web.lib}" includes="portal-web-lib.jar"/>
+ <fileset dir="${jboss.portal/modules/portlet.lib}" includes="portal-portlet-lib.jar,portal-portlet-federation-lib.jar,portal-portlet-jsr168api-lib.jar"/>
+ <fileset dir="${jboss.portal/modules/identity.root}/lib" includes="portal-identity-lib.jar"/>
+ <fileset dir="${jboss.portal/modules/identity.root}/lib" includes="portal-identity-sso-lib.jar"/>
<fileset dir="${jboss.portal-bridge.root}/lib" includes="portal-bridge-lib.jar"/>
<fileset dir="${jboss.portal-server.root}/lib" includes="portal-server-lib.jar"/>
- <fileset dir="${jboss.portal-portlet.root}/lib" includes="portal-portlet-lib.jar"/>
<fileset dir="${jboss.portal-portlet-server.root}/lib" includes="portal-portlet-server-lib.jar"/>
<fileset dir="${jboss.portal-jems.root}/lib" includes="portal-jems-lib.jar"/>
- <fileset dir="${jboss.portal-portlet-federation.root}/lib" includes="portal-portlet-federation-lib.jar"/>
- <fileset dir="${jboss.portlet-api.root}/lib" includes="portlet-api-lib.jar"/>
- <fileset dir="${jboss.portlet-api.root}/lib" includes="portal-api-lib.jar"/>
+ <fileset dir="${jboss.portal-api.root}/lib" includes="portal-api-lib.jar"/>
<fileset dir="${jboss.portal-theme.root}/lib" includes="portal-theme-lib.jar"/>
<fileset dir="${jboss.portal-security.root}/lib" includes="portal-security-lib.jar"/>
<fileset dir="${jboss.portal-search.root}/lib" includes="portal-search-lib.jar"/>
<fileset dir="${jboss.portal-workflow.root}/lib" includes="portal-workflow-lib.jar"/>
- <fileset dir="${jboss.portal/modules/identity.root}/lib" includes="portal-identity-lib.jar"/>
- <fileset dir="${jboss.portal/modules/identity.root}/lib" includes="portal-identity-sso-lib.jar"/>
<fileset dir="${jboss.portal-registration.root}/lib" includes="portal-registration-lib.jar"/>
<fileset dir="${ehcache.ehcache.lib}" includes="ehcache.jar"/>
<fileset dir="${apache.collections.lib}" includes="commons-collections.jar"/>
@@ -346,10 +338,8 @@
<fileset dir="${jakarta.io.lib}" includes="commons-io.jar"/>
<fileset dir="${freemarker.freemarker.lib}" includes="freemarker.jar"/>
<fileset dir="${portals.bridges.lib}" includes="portals-bridges-common.jar"/>
- <fileset dir="${jboss/backport.concurrent.lib}" includes="jboss-backport-concurrent.jar"/>
- <fileset dir="${jbpm.jaronly.lib}" includes="jbpm.jar"/>
- <fileset dir="${jbpm.jaronly.lib}" includes="jbpm-identity.jar"/>
-
+ <fileset dir="${jboss/backport.concurrent.lib}" includes="jboss-backport-concurrent.jar"/>
+ <fileset dir="${jbpm.jaronly.lib}" includes="jbpm.jar,jbpm-identity.jar"/>
</copy>
<!--dtd-->
Modified: branches/JBoss_Portal_Branch_2_6/core/src/main/org/jboss/portal/core/controller/Controller.java
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core/src/main/org/jboss/portal/core/controller/Controller.java 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/core/src/main/org/jboss/portal/core/controller/Controller.java 2007-09-10 23:40:53 UTC (rev 8210)
@@ -88,9 +88,6 @@
protected ResponseHandler responseHandler;
/** . */
- protected ServletContainerContext servletContainerContext;
-
- /** . */
protected PageControlPolicy pageControlPolicy;
public ContentRendererRegistry getContentRendererRegistry()
@@ -193,11 +190,6 @@
this.responseHandler = responseHandler;
}
- public ServletContainerContext getServletContainerContext()
- {
- return servletContainerContext;
- }
-
public PageControlPolicy getPageControlPolicy()
{
return pageControlPolicy;
Modified: branches/JBoss_Portal_Branch_2_6/core/src/main/org/jboss/portal/core/controller/ControllerContext.java
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core/src/main/org/jboss/portal/core/controller/ControllerContext.java 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/core/src/main/org/jboss/portal/core/controller/ControllerContext.java 2007-09-10 23:40:53 UTC (rev 8210)
@@ -35,6 +35,7 @@
import org.jboss.portal.identity.User;
import org.jboss.portal.core.aspects.server.UserInterceptor;
import org.jboss.portal.core.model.portal.navstate.PortalObjectNavigationalStateContext;
+import org.jboss.portal.web.ServletContainer;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.ServletContext;
@@ -103,6 +104,11 @@
addResolver(ControllerCommand.PRINCIPAL_SCOPE, serverInvocation.getContext());
}
+ public ServletContainer getServletContainer()
+ {
+ return serverInvocation.getRequest().getServer().getServletContainer();
+ }
+
public ControllerResponse execute(ControllerCommand command) throws ControllerException, InvocationException
{
if (command == null)
Modified: branches/JBoss_Portal_Branch_2_6/core/src/main/org/jboss/portal/core/controller/ajax/AjaxResponseHandler.java
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core/src/main/org/jboss/portal/core/controller/ajax/AjaxResponseHandler.java 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/core/src/main/org/jboss/portal/core/controller/ajax/AjaxResponseHandler.java 2007-09-10 23:40:53 UTC (rev 8210)
@@ -315,7 +315,10 @@
StringWriter buffer = new StringWriter();
// Get a dispatcher
- ServletContextDispatcher dispatcher = new ServletContextDispatcher(invocation.getServerContext().getClientRequest(), invocation.getServerContext().getClientResponse(), controllerContext.getController().getServletContainerContext());
+ ServletContextDispatcher dispatcher = new ServletContextDispatcher(
+ invocation.getServerContext().getClientRequest(),
+ invocation.getServerContext().getClientResponse(),
+ controllerContext.getServletContainer());
// Not really used for now in that context, so we can pass null (need to change that of course)
ThemeContext themeContext = new ThemeContext(null, null);
Modified: branches/JBoss_Portal_Branch_2_6/core/src/main/org/jboss/portal/core/controller/classic/OtherResponseHandler.java
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core/src/main/org/jboss/portal/core/controller/classic/OtherResponseHandler.java 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/core/src/main/org/jboss/portal/core/controller/classic/OtherResponseHandler.java 2007-09-10 23:40:53 UTC (rev 8210)
@@ -79,7 +79,7 @@
{
public void sendResponse(ServerInvocationContext ctx) throws IOException, ServletException
{
- ServletContextDispatcher dispatcher = new ServletContextDispatcher(invocation.getServerContext().getClientRequest(), invocation.getServerContext().getClientResponse(), invocation.getRequest().getServer().getServletContainerContext());
+ ServletContextDispatcher dispatcher = new ServletContextDispatcher(invocation.getServerContext().getClientRequest(), invocation.getServerContext().getClientResponse(), invocation.getRequest().getServer().getServletContainer());
MarkupInfo markupInfo = (MarkupInfo)invocation.getResponse().getContentInfo();
rendition.render(markupInfo, dispatcher);
}
Modified: branches/JBoss_Portal_Branch_2_6/core/src/main/org/jboss/portal/core/deployment/JBossApplicationMetaDataFactory.java
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core/src/main/org/jboss/portal/core/deployment/JBossApplicationMetaDataFactory.java 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/core/src/main/org/jboss/portal/core/deployment/JBossApplicationMetaDataFactory.java 2007-09-10 23:40:53 UTC (rev 8210)
@@ -35,7 +35,7 @@
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
* @version $Revision$
*/
-public class JBossApplicationMetaDataFactory extends org.jboss.portal.portlet.deployment.JBossApplicationMetaDataFactory
+public class JBossApplicationMetaDataFactory extends org.jboss.portal.portlet.deployment.jboss.JBossApplicationMetaDataFactory
{
public Object newRoot(Object root, UnmarshallingContext nav, String nsURI, String localName, Attributes attrs)
Modified: branches/JBoss_Portal_Branch_2_6/core/src/main/org/jboss/portal/core/deployment/jboss/PortletAppDeploymentFactory.java
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core/src/main/org/jboss/portal/core/deployment/jboss/PortletAppDeploymentFactory.java 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/core/src/main/org/jboss/portal/core/deployment/jboss/PortletAppDeploymentFactory.java 2007-09-10 23:40:53 UTC (rev 8210)
@@ -87,7 +87,7 @@
}
/** Return a subclass that does more. */
- public org.jboss.portal.portlet.deployment.JBossApplicationMetaDataFactory createJBossApplicationMetaDataFactory()
+ public org.jboss.portal.portlet.deployment.jboss.JBossApplicationMetaDataFactory createJBossApplicationMetaDataFactory()
{
return new JBossApplicationMetaDataFactory();
}
Modified: branches/JBoss_Portal_Branch_2_6/core/src/main/org/jboss/portal/core/model/instance/PortletInstanceResponseHandler.java
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core/src/main/org/jboss/portal/core/model/instance/PortletInstanceResponseHandler.java 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/core/src/main/org/jboss/portal/core/model/instance/PortletInstanceResponseHandler.java 2007-09-10 23:40:53 UTC (rev 8210)
@@ -61,7 +61,7 @@
{
public void sendResponse(ServerInvocationContext ctx) throws IOException, ServletException
{
- ServletContextDispatcher dispatcher = new ServletContextDispatcher(invocation.getServerContext().getClientRequest(), invocation.getServerContext().getClientResponse(), invocation.getRequest().getServer().getServletContainerContext());
+ ServletContextDispatcher dispatcher = new ServletContextDispatcher(invocation.getServerContext().getClientRequest(), invocation.getServerContext().getClientResponse(), invocation.getRequest().getServer().getServletContainer());
MarkupInfo markupInfo = (MarkupInfo)invocation.getResponse().getContentInfo();
rendition.render(markupInfo, dispatcher);
}
Modified: branches/JBoss_Portal_Branch_2_6/core/src/main/org/jboss/portal/core/model/portal/PortalObjectResponseHandler.java
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core/src/main/org/jboss/portal/core/model/portal/PortalObjectResponseHandler.java 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/core/src/main/org/jboss/portal/core/model/portal/PortalObjectResponseHandler.java 2007-09-10 23:40:53 UTC (rev 8210)
@@ -82,7 +82,7 @@
{
public void sendResponse(ServerInvocationContext ctx) throws IOException, ServletException
{
- ServletContextDispatcher dispatcher = new ServletContextDispatcher(invocation.getServerContext().getClientRequest(), invocation.getServerContext().getClientResponse(), invocation.getRequest().getServer().getServletContainerContext());
+ ServletContextDispatcher dispatcher = new ServletContextDispatcher(invocation.getServerContext().getClientRequest(), invocation.getServerContext().getClientResponse(), invocation.getRequest().getServer().getServletContainer());
MarkupInfo markupInfo = (MarkupInfo)invocation.getResponse().getContentInfo();
rendition.render(markupInfo, dispatcher);
}
Added: branches/JBoss_Portal_Branch_2_6/core/src/main/org/jboss/portal/test/core/model/instance/ActionContextImpl.java
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core/src/main/org/jboss/portal/test/core/model/instance/ActionContextImpl.java (rev 0)
+++ branches/JBoss_Portal_Branch_2_6/core/src/main/org/jboss/portal/test/core/model/instance/ActionContextImpl.java 2007-09-10 23:40:53 UTC (rev 8210)
@@ -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.test.core.model.instance;
+
+import org.jboss.portal.portlet.support.spi.ActionContextSupport;
+import org.jboss.portal.portlet.invocation.PortletInvocation;
+import org.jboss.portal.Mode;
+import org.jboss.portal.common.invocation.resolver.MapAttributeResolver;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+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: branches/JBoss_Portal_Branch_2_6/core/src/main/org/jboss/portal/test/core/model/instance/InstanceContainerTestCase.java
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core/src/main/org/jboss/portal/test/core/model/instance/InstanceContainerTestCase.java 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/core/src/main/org/jboss/portal/test/core/model/instance/InstanceContainerTestCase.java 2007-09-10 23:40:53 UTC (rev 8210)
@@ -51,6 +51,7 @@
import org.jboss.portal.portlet.PortletContext;
import org.jboss.portal.portlet.PortletInvoker;
import org.jboss.portal.portlet.PortletInvokerException;
+import org.jboss.portal.portlet.impl.spi.AbstractUserContext;
import org.jboss.portal.portlet.info.MetaInfo;
import org.jboss.portal.portlet.invocation.ActionInvocation;
import org.jboss.portal.portlet.invocation.PortletInvocation;
@@ -61,11 +62,6 @@
import org.jboss.portal.portlet.state.PropertyMap;
import org.jboss.portal.portlet.state.SimplePropertyMap;
import org.jboss.portal.portlet.state.producer.ProducerPortletInvoker;
-import org.jboss.portal.portlet.test.ActionContextImpl;
-import org.jboss.portal.portlet.test.UserContextImpl;
-import org.jboss.portal.portlet.test.ValueMapAssert;
-import org.jboss.portal.portlet.test.support.PortletInvokerSupport;
-import org.jboss.portal.portlet.test.support.PortletSupport;
import org.jboss.portal.security.RoleSecurityBinding;
import org.jboss.portal.security.spi.provider.DomainConfigurator;
import org.jboss.portal.test.framework.AbstractPortalTestCase;
@@ -449,7 +445,7 @@
instance = instanceDef.getCustomization(identity);
}
PortletInvocation action = new ActionInvocation(new ActionContextImpl(Mode.VIEW));
- action.setUserContext(identity == null ? new UserContextImpl() : new UserContextImpl(identity));
+ action.setUserContext(identity == null ? new AbstractUserContext() : new AbstractUserContext(identity));
try
{
instance.invoke(action);
@@ -715,7 +711,7 @@
TransactionAssert.beginTransaction();
Instance instance = instanceContainer.getDefinition("MyInstance").getCustomization("julien");
PortletInvocation action = new ActionInvocation(new ActionContextImpl(Mode.VIEW));
- action.setUserContext(new UserContextImpl("julien"));
+ action.setUserContext(new AbstractUserContext("julien"));
instance.invoke(action);
TransactionAssert.commitTransaction();
Added: branches/JBoss_Portal_Branch_2_6/core/src/main/org/jboss/portal/test/core/model/instance/PortletInvokerSupport.java
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core/src/main/org/jboss/portal/test/core/model/instance/PortletInvokerSupport.java (rev 0)
+++ branches/JBoss_Portal_Branch_2_6/core/src/main/org/jboss/portal/test/core/model/instance/PortletInvokerSupport.java 2007-09-10 23:40:53 UTC (rev 8210)
@@ -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.core.model.instance;
+
+import org.jboss.portal.portlet.PortletInvoker;
+import org.jboss.portal.portlet.Portlet;
+import org.jboss.portal.portlet.PortletContext;
+import org.jboss.portal.portlet.PortletInvokerException;
+import org.jboss.portal.portlet.NoSuchPortletException;
+import org.jboss.portal.portlet.InvalidPortletIdException;
+import org.jboss.portal.portlet.state.PropertyMap;
+import org.jboss.portal.portlet.state.SimplePropertyMap;
+import org.jboss.portal.portlet.state.PropertyChange;
+import org.jboss.portal.portlet.info.PortletInfo;
+import org.jboss.portal.portlet.invocation.response.PortletInvocationResponse;
+import org.jboss.portal.portlet.invocation.PortletInvocation;
+import org.jboss.portal.portlet.support.info.PortletInfoSupport;
+import org.jboss.portal.common.value.Value;
+
+import java.util.Map;
+import java.util.HashMap;
+import java.util.Set;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+
+/**
+ * @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();
+ }
+}
Added: branches/JBoss_Portal_Branch_2_6/core/src/main/org/jboss/portal/test/core/model/instance/PortletSupport.java
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core/src/main/org/jboss/portal/test/core/model/instance/PortletSupport.java (rev 0)
+++ branches/JBoss_Portal_Branch_2_6/core/src/main/org/jboss/portal/test/core/model/instance/PortletSupport.java 2007-09-10 23:40:53 UTC (rev 8210)
@@ -0,0 +1,67 @@
+/******************************************************************************
+ * 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.core.model.instance;
+
+import org.jboss.portal.portlet.support.info.PortletInfoSupport;
+import org.jboss.portal.portlet.invocation.response.PortletInvocationResponse;
+import org.jboss.portal.portlet.invocation.PortletInvocation;
+import org.jboss.portal.portlet.PortletInvokerException;
+
+/**
+ * @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");
+ }
+}
Added: branches/JBoss_Portal_Branch_2_6/core/src/main/org/jboss/portal/test/core/model/instance/ValueMapAssert.java
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core/src/main/org/jboss/portal/test/core/model/instance/ValueMapAssert.java (rev 0)
+++ branches/JBoss_Portal_Branch_2_6/core/src/main/org/jboss/portal/test/core/model/instance/ValueMapAssert.java 2007-09-10 23:40:53 UTC (rev 8210)
@@ -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.core.model.instance;
+
+import junit.framework.Assert;
+import org.jboss.portal.portlet.state.PropertyMap;
+import org.jboss.portal.common.value.Value;
+
+import java.util.HashSet;
+import java.util.Iterator;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+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);
+ }
+ }
+ }
+
+
+}
Modified: branches/JBoss_Portal_Branch_2_6/core/src/main/org/jboss/portal/test/core/state/ProducerTestCase.java
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core/src/main/org/jboss/portal/test/core/state/ProducerTestCase.java 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/core/src/main/org/jboss/portal/test/core/state/ProducerTestCase.java 2007-09-10 23:40:53 UTC (rev 8210)
@@ -42,6 +42,8 @@
import org.jboss.portal.portlet.Portlet;
import org.jboss.portal.portlet.PortletContext;
import org.jboss.portal.portlet.PortletInvoker;
+import org.jboss.portal.portlet.impl.spi.AbstractUserContext;
+import org.jboss.portal.portlet.impl.spi.AbstractInstanceContext;
import org.jboss.portal.portlet.info.MetaInfo;
import org.jboss.portal.portlet.invocation.ActionInvocation;
import org.jboss.portal.portlet.invocation.PortletInvocation;
@@ -55,12 +57,6 @@
import org.jboss.portal.portlet.state.PropertyContext;
import org.jboss.portal.portlet.state.producer.PortletState;
import org.jboss.portal.portlet.state.producer.PortletStateContext;
-import org.jboss.portal.portlet.test.ActionContextImpl;
-import org.jboss.portal.portlet.test.InstanceContextImpl;
-import org.jboss.portal.portlet.test.UserContextImpl;
-import org.jboss.portal.portlet.test.ValueMapAssert;
-import org.jboss.portal.portlet.test.support.PortletInvokerSupport;
-import org.jboss.portal.portlet.test.support.PortletSupport;
import org.jboss.portal.registration.RegistrationLocal;
import org.jboss.portal.registration.ConsumerGroup;
import org.jboss.portal.registration.Consumer;
@@ -69,6 +65,10 @@
import org.jboss.portal.test.framework.embedded.DataSourceSupport;
import org.jboss.portal.test.framework.embedded.HibernateSupport;
import org.jboss.portal.test.framework.TestParametrization;
+import org.jboss.portal.test.core.model.instance.PortletInvokerSupport;
+import org.jboss.portal.test.core.model.instance.PortletSupport;
+import org.jboss.portal.test.core.model.instance.ActionContextImpl;
+import org.jboss.portal.test.core.model.instance.ValueMapAssert;
import javax.xml.namespace.QName;
import java.net.URL;
@@ -498,8 +498,8 @@
beginRegistrationScopedTX();
PortletInvocation action = new ActionInvocation(new ActionContextImpl(Mode.VIEW));
action.setTarget(PortletContext.createPortletContext("CloningPortlet"));
- action.setUserContext(new UserContextImpl("julien"));
- InstanceContextImpl instanceContext = new InstanceContextImpl("whatever", AccessMode.CLONE_BEFORE_WRITE);
+ action.setUserContext(new AbstractUserContext("julien"));
+ AbstractInstanceContext instanceContext = new AbstractInstanceContext("whatever", AccessMode.CLONE_BEFORE_WRITE);
action.setInstanceContext(instanceContext);
consumer.invoke(action);
commitTX();
@@ -530,8 +530,8 @@
beginRegistrationScopedTX();
PortletInvocation action = new ActionInvocation(new ActionContextImpl(Mode.VIEW));
action.setTarget(PortletContext.createPortletContext("CloneFailedCloningPortlet"));
- action.setUserContext(new UserContextImpl("julien"));
- InstanceContextImpl instanceContext = new InstanceContextImpl("whatever", AccessMode.READ_WRITE);
+ action.setUserContext(new AbstractUserContext("julien"));
+ AbstractInstanceContext instanceContext = new AbstractInstanceContext("whatever", AccessMode.READ_WRITE);
action.setInstanceContext(instanceContext);
consumer.invoke(action);
commitTX();
@@ -548,8 +548,8 @@
beginRegistrationScopedTX();
PortletInvocation action = new ActionInvocation(new ActionContextImpl(Mode.VIEW));
action.setTarget(PortletContext.createPortletContext("CloneFailedCloningPortlet"));
- action.setUserContext(new UserContextImpl("julien"));
- InstanceContextImpl instanceContext = new InstanceContextImpl("whatever", AccessMode.READ_ONLY);
+ action.setUserContext(new AbstractUserContext("julien"));
+ AbstractInstanceContext instanceContext = new AbstractInstanceContext("whatever", AccessMode.READ_ONLY);
action.setInstanceContext(instanceContext);
consumer.invoke(action);
commitTX();
@@ -579,8 +579,8 @@
beginRegistrationScopedTX();
PortletInvocation action = new ActionInvocation(new ActionContextImpl(Mode.VIEW));
action.setTarget(cloningPortletId);
- action.setUserContext(new UserContextImpl("julien"));
- InstanceContextImpl instanceContext = new InstanceContextImpl("whatever", AccessMode.CLONE_BEFORE_WRITE);
+ action.setUserContext(new AbstractUserContext("julien"));
+ AbstractInstanceContext instanceContext = new AbstractInstanceContext("whatever", AccessMode.CLONE_BEFORE_WRITE);
action.setInstanceContext(instanceContext);
consumer.invoke(action);
commitTX();
@@ -616,8 +616,8 @@
beginRegistrationScopedTX();
PortletInvocation action = new ActionInvocation(new ActionContextImpl(Mode.VIEW));
action.setTarget(cloningPortletId);
- action.setUserContext(new UserContextImpl("julien"));
- InstanceContextImpl instanceContext = new InstanceContextImpl("whatever", AccessMode.READ_WRITE);
+ action.setUserContext(new AbstractUserContext("julien"));
+ AbstractInstanceContext instanceContext = new AbstractInstanceContext("whatever", AccessMode.READ_WRITE);
action.setInstanceContext(instanceContext);
consumer.invoke(action);
commitTX();
@@ -646,8 +646,8 @@
beginRegistrationScopedTX();
PortletInvocation action = new ActionInvocation(new ActionContextImpl(Mode.VIEW));
action.setTarget(cloneFailedCloningPortletId);
- action.setUserContext(new UserContextImpl("julien"));
- InstanceContextImpl instanceContext = new InstanceContextImpl("whatever", AccessMode.READ_ONLY);
+ action.setUserContext(new AbstractUserContext("julien"));
+ AbstractInstanceContext instanceContext = new AbstractInstanceContext("whatever", AccessMode.READ_ONLY);
action.setInstanceContext(instanceContext);
consumer.invoke(action);
commitTX();
@@ -663,8 +663,8 @@
beginRegistrationScopedTX();
PortletInvocation action = new ActionInvocation(new ActionContextImpl(Mode.VIEW));
action.setTarget(PortletContext.createPortletContext("CloningPortletThrowingRuntimeException"));
- action.setUserContext(new UserContextImpl("julien"));
- InstanceContextImpl instanceContext = new InstanceContextImpl("whatever", AccessMode.CLONE_BEFORE_WRITE);
+ action.setUserContext(new AbstractUserContext("julien"));
+ AbstractInstanceContext instanceContext = new AbstractInstanceContext("whatever", AccessMode.CLONE_BEFORE_WRITE);
action.setInstanceContext(instanceContext);
try
{
Modified: branches/JBoss_Portal_Branch_2_6/core/src/resources/portal-core-sar/META-INF/jboss-service.xml
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core/src/resources/portal-core-sar/META-INF/jboss-service.xml 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/core/src/resources/portal-core-sar/META-INF/jboss-service.xml 2007-09-10 23:40:53 UTC (rev 8210)
@@ -54,7 +54,7 @@
<!-- Runtime context for running portlet container -->
<mbean
code="org.jboss.portal.web.jboss.JBossWebContext"
- name="portal:service=ServletContainerContext"
+ name="portal:service=ServletContainerFactory"
xmbean-dd=""
xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
<xmbean/>
@@ -120,6 +120,9 @@
xmbean-dd=""
xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
<xmbean/>
+ <depends
+ optional-attribute-name="ServletContainerFactory"
+ proxy-type="attribute">portal:service=ServletContainerFactory</depends>
</mbean>
<mbean
code="org.jboss.portal.core.aspects.server.UserInterceptor"
@@ -325,8 +328,8 @@
xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
<xmbean/>
<depends
- optional-attribute-name="ServletContainerContext"
- proxy-type="attribute">portal:service=ServletContainerContext</depends>
+ optional-attribute-name="ServletContainerFactory"
+ proxy-type="attribute">portal:service=ServletContainerFactory</depends>
</mbean>
<mbean
code="org.jboss.portal.portlet.aspects.portlet.PortletSessionSynchronizationInterceptor"
@@ -1183,8 +1186,8 @@
optional-attribute-name="Config"
proxy-type="attribute">portal:service=ServerConfig</depends>
<depends
- optional-attribute-name="ServletContainerContext"
- proxy-type="attribute">portal:service=ServletContainerContext</depends>
+ optional-attribute-name="ServletContainerFactory"
+ proxy-type="attribute">portal:service=ServletContainerFactory</depends>
</mbean>
<!-- -->
Modified: branches/JBoss_Portal_Branch_2_6/core/src/resources/portal-core-test-jar/org/jboss/portal/test/core/model/instance/persistent-jboss-beans.xml
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core/src/resources/portal-core-test-jar/org/jboss/portal/test/core/model/instance/persistent-jboss-beans.xml 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/core/src/resources/portal-core-test-jar/org/jboss/portal/test/core/model/instance/persistent-jboss-beans.xml 2007-09-10 23:40:53 UTC (rev 8210)
@@ -91,7 +91,7 @@
<bean name="PersistenceManager" class="org.jboss.portal.core.impl.portlet.state.PersistentPortletStatePersistenceManager">
<property name="sessionFactoryJNDIName">java:/PortletSessionFactory</property>
</bean>
- <bean name="PortletContainer" class="org.jboss.portal.portlet.test.support.PortletInvokerSupport">
+ <bean name="PortletContainer" class="org.jboss.portal.test.core.model.instance.PortletInvokerSupport">
</bean>
<bean name="Producer" class="org.jboss.portal.portlet.state.producer.ProducerPortletInvoker">
<property name="persistenceManager"><inject bean="PersistenceManager"/></property>
Modified: branches/JBoss_Portal_Branch_2_6/core/src/resources/portal-core-test-jar/org/jboss/portal/test/core/model/instance/transient-jboss-beans.xml
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core/src/resources/portal-core-test-jar/org/jboss/portal/test/core/model/instance/transient-jboss-beans.xml 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/core/src/resources/portal-core-test-jar/org/jboss/portal/test/core/model/instance/transient-jboss-beans.xml 2007-09-10 23:40:53 UTC (rev 8210)
@@ -91,7 +91,7 @@
<bean name="PersistenceManager" class="org.jboss.portal.core.impl.portlet.state.PersistentPortletStatePersistenceManager">
<property name="sessionFactoryJNDIName">java:/PortletSessionFactory</property>
</bean>
- <bean name="PortletContainer" class="org.jboss.portal.portlet.test.support.PortletInvokerSupport">
+ <bean name="PortletContainer" class="org.jboss.portal.test.core.model.instance.PortletInvokerSupport">
</bean>
<bean name="Producer" class="org.jboss.portal.portlet.state.producer.ProducerPortletInvoker">
<property name="persistenceManager"><inject bean="PersistenceManager"/></property>
Modified: branches/JBoss_Portal_Branch_2_6/core/src/resources/portal-core-test-jar/org/jboss/portal/test/core/state/jboss-beans.xml
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core/src/resources/portal-core-test-jar/org/jboss/portal/test/core/state/jboss-beans.xml 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/core/src/resources/portal-core-test-jar/org/jboss/portal/test/core/state/jboss-beans.xml 2007-09-10 23:40:53 UTC (rev 8210)
@@ -77,7 +77,7 @@
<property name="sessionFactoryJNDIName">java:/SessionFactory</property>
</bean>
- <bean name="PortletContainer" class="org.jboss.portal.portlet.test.support.PortletInvokerSupport">
+ <bean name="PortletContainer" class="org.jboss.portal.test.core.model.instance.PortletInvokerSupport">
</bean>
<bean name="Producer" class="org.jboss.portal.core.impl.portlet.state.ProducerPortletInvoker">
Modified: branches/JBoss_Portal_Branch_2_6/core-admin/build.xml
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core-admin/build.xml 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/core-admin/build.xml 2007-09-10 23:40:53 UTC (rev 8210)
@@ -89,6 +89,8 @@
<path id="library.classpath">
<path refid="jboss.portal/modules/common.classpath"/>
<path refid="jboss.portal/modules/test.classpath"/>
+ <path refid="jboss.portal/modules/portlet.classpath"/>
+ <path refid="jboss.portal/modules/identity.classpath"/>
<path refid="jboss.jbossxb.classpath"/>
<path refid="jboss.cache.classpath"/>
<path refid="jbossas/core.libs.classpath"/>
@@ -109,11 +111,8 @@
<path refid="jboss.portal-bridge.classpath"/>
<path refid="jboss.portal-server.classpath"/>
<path refid="jboss.portal-registration.classpath"/>
- <path refid="jboss.portal-portlet.classpath"/>
<path refid="jboss.portal-jems.classpath"/>
- <path refid="jboss.portal-portlet-federation.classpath"/>
- <path refid="jboss.portal/modules/identity.classpath"/>
- <path refid="jboss.portlet-api.classpath"/>
+ <path refid="jboss.portal-api.classpath"/>
<path refid="jboss.portal-theme.classpath"/>
<path refid="jboss.portal-security.classpath"/>
<path refid="jboss.portal-core.classpath"/>
Modified: branches/JBoss_Portal_Branch_2_6/core-cms/build.xml
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core-cms/build.xml 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/core-cms/build.xml 2007-09-10 23:40:53 UTC (rev 8210)
@@ -89,6 +89,8 @@
<path id="library.classpath">
<path refid="jboss.portal/modules/common.classpath"/>
<path refid="jboss.portal/modules/test.classpath"/>
+ <path refid="jboss.portal/modules/portlet.classpath"/>
+ <path refid="jboss.portal/modules/identity.classpath"/>
<path refid="jboss.jbossxb.classpath"/>
<path refid="jboss.cache.classpath"/>
<path refid="jbossas/core.libs.classpath"/>
@@ -125,10 +127,8 @@
<path refid="jboss.portal-cms.classpath"/>
<path refid="jboss.portal-server.classpath"/>
<path refid="jboss.portal-search.classpath"/>
- <path refid="jboss.portal-portlet.classpath"/>
<path refid="jboss.portal-jems.classpath"/>
- <path refid="jboss.portal/modules/identity.classpath"/>
- <path refid="jboss.portlet-api.classpath"/>
+ <path refid="jboss.portal-api.classpath"/>
<path refid="jboss.portal-security.classpath"/>
<path refid="jboss.portal-theme.classpath"/>
<path refid="jboss.portal-core.classpath"/>
Modified: branches/JBoss_Portal_Branch_2_6/core-identity/build.xml
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core-identity/build.xml 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/core-identity/build.xml 2007-09-10 23:40:53 UTC (rev 8210)
@@ -90,6 +90,7 @@
<path id="library.classpath">
<path refid="jboss.portal/modules/common.classpath"/>
<path refid="jboss.portal/modules/test.classpath"/>
+ <path refid="jboss.portal/modules/portlet.classpath"/>
<path refid="jboss.portal/modules/identity.classpath"/>
<path refid="jboss.jbossxb.classpath"/>
<path refid="apache.xerces.classpath"/>
@@ -101,10 +102,10 @@
<path refid="apache.log4j.classpath"/>
<path refid="sun.servlet.classpath"/>
<path refid="facelets.facelets.classpath"/>
- <path refid="jcaptcha.jcaptcha.classpath"/>
+ <path refid="jcaptcha.jcaptcha.classpath"/>
<path refid="el.el.classpath"/>
- <path refid="jakarta.cactus.classpath"/>
- <path refid="junit.junit.classpath"/>
+ <path refid="jakarta.cactus.classpath"/>
+ <path refid="junit.junit.classpath"/>
<pathelement location="${source.etc}/sun-jsf/jsf-example.jar"/>
<path refid="jbpm.jaronly.classpath"/>
</path>
@@ -117,14 +118,12 @@
<path refid="jboss.portal-bridge.classpath"/>
<path refid="jboss.portal-server.classpath"/>
<path refid="jboss.portal-registration.classpath"/>
- <path refid="jboss.portal-portlet.classpath"/>
<path refid="jboss.portal-jems.classpath"/>
- <path refid="jboss.portal-portlet-federation.classpath"/>
- <path refid="jboss.portlet-api.classpath"/>
+ <path refid="jboss.portal-api.classpath"/>
<path refid="jboss.portal-theme.classpath"/>
<path refid="jboss.portal-security.classpath"/>
<path refid="jboss.portal-core.classpath"/>
- <path refid="jboss.portal-workflow.classpath"/>
+ <path refid="jboss.portal-workflow.classpath"/>
</path>
<!--+=======================================+-->
Modified: branches/JBoss_Portal_Branch_2_6/core-management/build.xml
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core-management/build.xml 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/core-management/build.xml 2007-09-10 23:40:53 UTC (rev 8210)
@@ -89,6 +89,8 @@
<path id="library.classpath">
<path refid="jboss.portal/modules/common.classpath"/>
<path refid="jboss.portal/modules/test.classpath"/>
+ <path refid="jboss.portal/modules/portlet.classpath"/>
+ <path refid="jboss.portal/modules/identity.classpath"/>
<path refid="jboss.jbossxb.classpath"/>
<path refid="jboss.cache.classpath"/>
<path refid="jbossas/core.libs.classpath"/>
@@ -122,10 +124,7 @@
<call target="configure-modules"/>
<path id="dependentmodule.classpath">
<path refid="jboss.portal-server.classpath"/>
- <path refid="jboss.portal-portlet.classpath"/>
<path refid="jboss.portal-jems.classpath"/>
- <path refid="jboss.portal-portlet-federation.classpath"/>
- <path refid="jboss.portal/modules/identity.classpath"/>
<path refid="jboss.portal-security.classpath"/>
<path refid="jboss.portal-core.classpath"/>
</path>
Modified: branches/JBoss_Portal_Branch_2_6/core-samples/build.xml
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core-samples/build.xml 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/core-samples/build.xml 2007-09-10 23:40:53 UTC (rev 8210)
@@ -88,6 +88,8 @@
<path id="library.classpath">
<path refid="jboss.portal/modules/common.classpath"/>
+ <path refid="jboss.portal/modules/identity.classpath"/>
+ <path refid="jboss.portal/modules/portlet.classpath"/>
<path refid="jboss.jbossxb.classpath"/>
<path refid="jboss.cache.classpath"/>
<path refid="jbossas/core.libs.classpath"/>
@@ -121,9 +123,7 @@
<path refid="jboss.portal-theme.classpath"/>
<path refid="jboss.portal-core.classpath"/>
<path refid="jboss.portal-format.classpath"/>
- <path refid="jboss.portal/modules/identity.classpath"/>
- <path refid="jboss.portal-portlet.classpath"/>
- <path refid="jboss.portlet-api.classpath"/>
+ <path refid="jboss.portal-api.classpath"/>
</path>
<!--+=======================================+-->
Modified: branches/JBoss_Portal_Branch_2_6/core-wsrp/build.xml
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core-wsrp/build.xml 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/core-wsrp/build.xml 2007-09-10 23:40:53 UTC (rev 8210)
@@ -89,6 +89,8 @@
<path id="library.classpath">
<path refid="jboss.portal/modules/common.classpath"/>
<path refid="jboss.portal/modules/test.classpath"/>
+ <path refid="jboss.portal/modules/portlet.classpath"/>
+ <path refid="jboss.portal/modules/identity.classpath"/>
<path refid="jboss.jbossxb.classpath"/>
<path refid="jboss.cache.classpath"/>
<path refid="jbossas/core.libs.classpath"/>
@@ -110,11 +112,8 @@
<path refid="jboss.portal-bridge.classpath"/>
<path refid="jboss.portal-server.classpath"/>
<path refid="jboss.portal-registration.classpath"/>
- <path refid="jboss.portal-portlet.classpath"/>
<path refid="jboss.portal-jems.classpath"/>
- <path refid="jboss.portal-portlet-federation.classpath"/>
- <path refid="jboss.portal/modules/identity.classpath"/>
- <path refid="jboss.portlet-api.classpath"/>
+ <path refid="jboss.portal-api.classpath"/>
<path refid="jboss.portal-theme.classpath"/>
<path refid="jboss.portal-security.classpath"/>
<path refid="jboss.portal-core.classpath"/>
Modified: branches/JBoss_Portal_Branch_2_6/faces/build.xml
===================================================================
--- branches/JBoss_Portal_Branch_2_6/faces/build.xml 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/faces/build.xml 2007-09-10 23:40:53 UTC (rev 8210)
@@ -89,6 +89,7 @@
&libraries;
<path id="library.classpath">
<path refid="jboss.portal/modules/common.classpath"/>
+ <path refid="jboss.portal/modules/portlet.classpath"/>
<path refid="sun.servlet.classpath"/>
<path refid="apache.myfaces.classpath"/>
<path refid="facelets.facelets.classpath"/>
@@ -101,8 +102,6 @@
<!-- Configure modules -->
<call target="configure-modules"/>
<path id="dependentmodule.classpath">
- <path refid="jboss.portlet-api.classpath"/>
- <path refid="jboss.portal-portlet.classpath"/>
<path refid="jboss.portal-server.classpath"/>
<path refid="jboss.portal-bridge.classpath"/>
</path>
Modified: branches/JBoss_Portal_Branch_2_6/portlet-server/build.xml
===================================================================
--- branches/JBoss_Portal_Branch_2_6/portlet-server/build.xml 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/portlet-server/build.xml 2007-09-10 23:40:53 UTC (rev 8210)
@@ -90,6 +90,7 @@
<path id="library.classpath">
<path refid="jboss.portal/modules/common.classpath"/>
<path refid="jboss.portal/modules/web.classpath"/>
+ <path refid="jboss.portal/modules/portlet.classpath"/>
<path refid="jboss.portal/modules/test.classpath"/>
<path refid="dom4j.dom4j.classpath"/>
<path refid="jboss.jbossxb.classpath"/>
@@ -113,8 +114,6 @@
<path refid="jboss.portal-jems.classpath"/>
<path refid="jboss.portal-security.classpath"/>
<path refid="jboss.portal-server.classpath"/>
- <path refid="jboss.portal-portlet.classpath"/>
- <path refid="jboss.portlet-api.classpath"/>
</path>
<!--+=======================================+-->
@@ -291,255 +290,6 @@
<antcall target="test-info"/>
</target>
- <target name="test-jsr168" depends="init">
- <execute-tests>
- <x-sysproperty>
- <sysproperty key="test.root" value="${jboss.portal-portlet.root}/lib"/>
- <sysproperty key="test.uri" value="/test/redirect/"/>
-<!--
- <jvmarg value="-Xdebug"/>
- <jvmarg value="-Xrunjdwp:transport=dt_socket,address=7878,server=y,suspend=y"/>
--->
- </x-sysproperty>
- <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.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-classpath>
- <path refid="oswego.concurrent.classpath"/>
- <path refid="jboss.remoting.classpath"/>
- <path refid="jboss.microcontainer.classpath"/>
- <path refid="jboss.jbossxb.classpath"/>
- <path refid="apache.xerces.classpath"/>
- <pathelement location="${source.java}"/>
- <pathelement location="${build.classes}"/>
- <pathelement location="${build.resources}"/>
- <pathelement location="${jboss.portal-portlet.root}/classes"/>
- <pathelement location="${jboss.portal/modules/test.lib}/portal-test-jboss-lib.jar"/>
- <path refid="library.classpath"/>
- <path refid="dependentmodule.classpath"/>
- </x-classpath>
- </execute-tests>
- </target>
-
<target name="test-info" depends="init">
<execute-tests>
<x-test>
@@ -602,54 +352,4 @@
</x-classpath>
</execute-tests>
</target>
-
- <target name="test2" depends="init">
- <execute-tests>
- <x-sysproperty>
-<!--
- <jvmarg value="-Xdebug"/>
- <jvmarg value="-Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=y"/>
--->
- <sysproperty key="test.root" value="${build.lib}"/>
- <sysproperty key="test.uri" value="/test/redirect/"/>
- </x-sysproperty>
- <x-test>
-
- <!--<test todir="${test.reports}" name="org.jboss.portal.test.portlet.ha.session.SessionTestSuite"/>-->
- <!--<test todir="${test.reports}" name="org.jboss.portal.test.portlet.info.InfoTestSuite"/>-->
- <!--<test todir="${test.reports}" name="org.jboss.portal.test.portlet.session.SessionSynchronizationTestCase"/>-->
- <!--<test todir="${test.reports}" name="org.jboss.portal.test.portlet.PortletRequestDecoderTestCase"/>-->
- <!--<test todir="${test.reports}" name="org.jboss.portal.test.portlet.jsr168.ext.preferences.PreferencesTestSuite"/>
- <test todir="${test.reports}" name="org.jboss.portal.test.portlet.jsr168.tck.preferences.PreferencesTestSuite"/>-->
- <!--<test todir="${test.reports}" name="org.jboss.portal.test.portlet.jsr168.ext.portletrequests.PortletRequestTestSuite"/>-->
- <!--<test todir="${test.reports}" name="org.jboss.portal.test.portlet.jsr168.ext.dispatcher.DispatcherTestSuite"/>-->
-
- <!--<test todir="${test.reports}" name="org.jboss.portal.test.portlet.info.InfoTestSuite"/>-->
- <!--<test todir="${test.reports}" name="org.jboss.portal.test.portlet.deployment.UnmarshallerTestCase"/>-->
- <!--<test todir="${test.reports}" name="org.jboss.portal.test.portlet.PortletRequestDecoderTestCase"/>-->
- <!--<test todir="${test.reports}" name="org.jboss.portal.test.portlet.state.StatefulPortletInvokerTestCase"/>-->
- <!--<test todir="${test.reports}" name="org.jboss.portal.test.portlet.jsr168.ext.portletrequests.PortletRequestTestSuite"/>-->
- <!--<test todir="${test.reports}" name="org.jboss.portal.test.portlet.jsr168.ext.dispatcher.DispatcherTestSuite"/>-->
- <!--<test todir="${test.reports}" name="org.jboss.portal.test.portlet.jsr168.ext.portletrequests.PortletRequestTestSuite"/>-->
-
- <!--test todir="${test.reports}" name="org.jboss.portal.test.portlet.ParametersTestCase"/-->
- <!--<test todir="${test.reports}" name="org.jboss.portal.test.portlet.state.StateConverterV0TestCase"/>-->
-
- </x-test>
- <x-classpath>
- <path refid="oswego.concurrent.classpath"/>
- <path refid="jboss.remoting.classpath"/>
- <path refid="jboss.microcontainer.classpath"/>
- <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}"/>
- <path refid="library.classpath"/>
- <path refid="dependentmodule.classpath"/>
- </x-classpath>
- </execute-tests>
- </target>
-
</project>
Added: branches/JBoss_Portal_Branch_2_6/portlet-server/src/main/org/jboss/portal/portlet/deployment/jboss/JBossApplicationMetaDataFactory.java
===================================================================
--- branches/JBoss_Portal_Branch_2_6/portlet-server/src/main/org/jboss/portal/portlet/deployment/jboss/JBossApplicationMetaDataFactory.java (rev 0)
+++ branches/JBoss_Portal_Branch_2_6/portlet-server/src/main/org/jboss/portal/portlet/deployment/jboss/JBossApplicationMetaDataFactory.java 2007-09-10 23:40:53 UTC (rev 8210)
@@ -0,0 +1,263 @@
+/******************************************************************************
+ * 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.deployment.jboss;
+
+import org.jboss.portal.common.transaction.Transactions;
+import org.jboss.portal.portlet.impl.jsr168.info.ContainerCacheInfo;
+import org.jboss.portal.portlet.metadata.JBossApplicationMetaData;
+import org.jboss.portal.portlet.metadata.JBossPortletMetaData;
+import org.jboss.portal.portlet.metadata.PolicyPermissionMetaData;
+import org.jboss.xb.binding.GenericObjectModelFactory;
+import org.jboss.xb.binding.UnmarshallingContext;
+import org.xml.sax.Attributes;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 6720 $
+ */
+public class JBossApplicationMetaDataFactory implements GenericObjectModelFactory
+{
+
+ public Object newRoot(Object root,
+ UnmarshallingContext nav,
+ String nsURI,
+ String localName,
+ Attributes attrs)
+ {
+ if (root == null)
+ {
+ root = new JBossApplicationMetaData();
+ }
+ return root;
+ }
+
+ public Object completeRoot(Object root, UnmarshallingContext nav, String uri, String name)
+ {
+ return root;
+ }
+
+ public Object newChild(Object object, UnmarshallingContext nav, String nsURI, String localName, Attributes attrs)
+ {
+ if (object instanceof JBossApplicationMetaData)
+ {
+ if ("portlet".equals(localName))
+ {
+ return createJBossPortlet();
+ }
+ }
+// else if (object instanceof JBossPortletMetaData)
+// {
+// if ("security-constraint".equals(localName))
+// {
+// return new SecurityConstraintMetaData();
+// }
+// }
+// else if (object instanceof SecurityConstraintMetaData)
+// {
+// if ("policy-permission".equals(localName))
+// {
+// return new PolicyPermissionMetaData();
+// }
+// }
+ else if (object instanceof PolicyPermissionMetaData)
+ {
+ if ("unchecked".equals(localName))
+ {
+ return "unchecked";
+ }
+ }
+ return null;
+ }
+
+ public void addChild(Object parent, Object child, UnmarshallingContext nav, String nsURI, String localName)
+ {
+ if (parent instanceof JBossApplicationMetaData)
+ {
+ JBossApplicationMetaData app = (JBossApplicationMetaData)parent;
+ if (child instanceof JBossPortletMetaData)
+ {
+ JBossPortletMetaData portlet = (JBossPortletMetaData)child;
+ app.getPortlets().put(portlet.getName(), portlet);
+ portlet.merge(app);
+ }
+ }
+// else if (parent instanceof JBossPortletMetaData)
+// {
+// JBossPortletMetaData portlet = (JBossPortletMetaData)parent;
+// if (child instanceof SecurityConstraintMetaData)
+// {
+// portlet.setSecurityConstraint((SecurityConstraintMetaData)child);
+// }
+// }
+// else if (parent instanceof SecurityConstraintMetaData)
+// {
+// SecurityConstraintMetaData securityConstraint = (SecurityConstraintMetaData)parent;
+// if (child instanceof PolicyPermissionMetaData)
+// {
+// PolicyPermissionMetaData policyPermission = (PolicyPermissionMetaData)child;
+// PolicyPermissionMetaData other = (PolicyPermissionMetaData)securityConstraint.getPolicyPermissions().get(policyPermission.getRoleName());
+// if (other != null)
+// {
+// other.getActions().addAll(policyPermission.getActions());
+// }
+// else
+// {
+// securityConstraint.getPolicyPermissions().put(policyPermission.getRoleName(), policyPermission);
+// }
+// }
+// }
+// else if (parent instanceof PolicyPermissionMetaData)
+// {
+// PolicyPermissionMetaData policyPermission = (PolicyPermissionMetaData)parent;
+// if ("unchecked".equals(child))
+// {
+// policyPermission.setRoleName(SecurityConstants.UNCHECKED_ROLE_NAME);
+// }
+// }
+ }
+
+ public void setValue(Object object, UnmarshallingContext nav, String nsURI, String localName, String value)
+ {
+ if (object instanceof JBossApplicationMetaData)
+ {
+ JBossApplicationMetaData app = (JBossApplicationMetaData)object;
+ if ("remotable".equals(localName))
+ {
+ if ("true".equalsIgnoreCase(value))
+ {
+ app.setRemotable(Boolean.TRUE);
+ }
+ else if ("false".equalsIgnoreCase(value))
+ {
+ app.setRemotable(Boolean.FALSE);
+ }
+ else
+ {
+ throw new RuntimeException();
+ }
+ }
+ }
+ else if (object instanceof JBossPortletMetaData)
+ {
+ JBossPortletMetaData portlet = (JBossPortletMetaData)object;
+ if ("portlet-name".equals(localName))
+ {
+ portlet.setName(value);
+ }
+ else if ("remotable".equals(localName))
+ {
+ if ("true".equalsIgnoreCase(value))
+ {
+ portlet.setRemotable(Boolean.TRUE);
+ }
+ else if ("false".equalsIgnoreCase(value))
+ {
+ portlet.setRemotable(Boolean.FALSE);
+ }
+ else
+ {
+ throw new RuntimeException();
+ }
+ }
+ else if ("distributed".equals(localName))
+ {
+ if ("true".equalsIgnoreCase(value))
+ {
+ portlet.setDistributed(Boolean.TRUE);
+ }
+ else if ("false".equalsIgnoreCase(value))
+ {
+ portlet.setDistributed(Boolean.FALSE);
+ }
+ else
+ {
+ throw new RuntimeException();
+ }
+ }
+ else if ("ref-type".equals(localName))
+ {
+ if ("strong".equals(localName))
+ {
+ portlet.setCacheRefType(new Integer(ContainerCacheInfo.REF_STRONG));
+ }
+ else if ("soft".equals(localName))
+ {
+ portlet.setCacheRefType(new Integer(ContainerCacheInfo.REF_SOFT));
+ }
+ else
+ {
+ // log.warn("Unrecognized reference type " + refType);
+ }
+ }
+ else if ("trans-attribute".equals(localName))
+ {
+ if ("Required".equalsIgnoreCase(value))
+ {
+ portlet.setTxType(Transactions.TYPE_REQUIRED);
+ }
+ else if ("Mandatory".equals(value))
+ {
+ portlet.setTxType(Transactions.TYPE_MANDATORY);
+ }
+ else if ("Never".equals(value))
+ {
+ portlet.setTxType(Transactions.TYPE_NEVER);
+ }
+ else if ("Supports".equals(value))
+ {
+ portlet.setTxType(Transactions.TYPE_SUPPORTS);
+ }
+ else if ("NotSupported".equals(value))
+ {
+ portlet.setTxType(Transactions.TYPE_NOT_SUPPORTED);
+ }
+ else if ("RequiresNew".equals(value))
+ {
+ portlet.setTxType(Transactions.TYPE_REQUIRES_NEW);
+ }
+ else
+ {
+ throw new RuntimeException();
+ }
+ }
+ }
+ else if (object instanceof PolicyPermissionMetaData)
+ {
+ PolicyPermissionMetaData policyPermission = (PolicyPermissionMetaData)object;
+ if ("role-name".equals(localName))
+ {
+ policyPermission.setRoleName(value);
+ }
+ else if ("action-name".equals(localName))
+ {
+ policyPermission.getActions().add(value);
+ }
+ }
+ }
+
+ /** Can be subclasses to allow sub class. */
+ protected JBossPortletMetaData createJBossPortlet()
+ {
+ return new JBossPortletMetaData();
+ }
+}
Modified: branches/JBoss_Portal_Branch_2_6/portlet-server/src/main/org/jboss/portal/portlet/deployment/jboss/PortletAppDeployment.java
===================================================================
--- branches/JBoss_Portal_Branch_2_6/portlet-server/src/main/org/jboss/portal/portlet/deployment/jboss/PortletAppDeployment.java 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/portlet-server/src/main/org/jboss/portal/portlet/deployment/jboss/PortletAppDeployment.java 2007-09-10 23:40:53 UTC (rev 8210)
@@ -25,9 +25,6 @@
import org.jboss.deployment.DeploymentException;
import org.jboss.portal.common.io.IOTools;
import org.jboss.portal.common.xml.NullEntityResolver;
-import org.jboss.portal.portlet.deployment.JBossApplicationMetaDataFactory;
-import org.jboss.portal.portlet.deployment.PortletApplicationMetaDataFactory;
-import org.jboss.portal.portlet.deployment.ValueTrimmingFilter;
import org.jboss.portal.portlet.impl.container.PortletApplicationContextImpl;
import org.jboss.portal.portlet.impl.jsr168.metadata.PortletApplicationMetaData;
import org.jboss.portal.portlet.impl.jsr168.metadata.PortletMetaData;
Modified: branches/JBoss_Portal_Branch_2_6/portlet-server/src/main/org/jboss/portal/portlet/deployment/jboss/PortletAppDeploymentFactory.java
===================================================================
--- branches/JBoss_Portal_Branch_2_6/portlet-server/src/main/org/jboss/portal/portlet/deployment/jboss/PortletAppDeploymentFactory.java 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/portlet-server/src/main/org/jboss/portal/portlet/deployment/jboss/PortletAppDeploymentFactory.java 2007-09-10 23:40:53 UTC (rev 8210)
@@ -25,8 +25,6 @@
import org.jboss.deployment.DeploymentException;
import org.jboss.portal.common.io.IOTools;
import org.jboss.portal.portlet.container.PortletApplicationRegistry;
-import org.jboss.portal.portlet.deployment.JBossApplicationMetaDataFactory;
-import org.jboss.portal.portlet.deployment.ValueTrimmingFilter;
import org.jboss.portal.portlet.impl.jsr168.spi.PortletAPIFactory;
import org.jboss.portal.portlet.impl.jsr168.spi.PortletInfoFactory;
import org.jboss.portal.portlet.impl.jsr168.PortletAPIFactoryImpl;
Added: branches/JBoss_Portal_Branch_2_6/portlet-server/src/main/org/jboss/portal/portlet/deployment/jboss/PortletApplicationMetaDataFactory.java
===================================================================
--- branches/JBoss_Portal_Branch_2_6/portlet-server/src/main/org/jboss/portal/portlet/deployment/jboss/PortletApplicationMetaDataFactory.java (rev 0)
+++ branches/JBoss_Portal_Branch_2_6/portlet-server/src/main/org/jboss/portal/portlet/deployment/jboss/PortletApplicationMetaDataFactory.java 2007-09-10 23:40:53 UTC (rev 8210)
@@ -0,0 +1,405 @@
+/******************************************************************************
+ * 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.deployment.jboss;
+
+import org.jboss.portal.Mode;
+import org.jboss.portal.common.i18n.LocaleFormat;
+import org.jboss.portal.common.util.Tools;
+import org.jboss.portal.common.util.ConversionException;
+import org.jboss.portal.portlet.TransportGuarantee;
+import org.jboss.portal.portlet.impl.jsr168.metadata.CacheConfigMetaData;
+import org.jboss.portal.portlet.impl.jsr168.metadata.ContentTypeMetaData;
+import org.jboss.portal.portlet.impl.jsr168.metadata.DescribableObjectMetaData;
+import org.jboss.portal.portlet.impl.jsr168.metadata.DescriptionMetaData;
+import org.jboss.portal.portlet.impl.jsr168.metadata.DisplayNameMetaData;
+import org.jboss.portal.portlet.impl.jsr168.metadata.LanguagesMetaData;
+import org.jboss.portal.portlet.impl.jsr168.metadata.LocalizedValueMetaData;
+import org.jboss.portal.portlet.impl.jsr168.metadata.ParameterMetaData;
+import org.jboss.portal.portlet.impl.jsr168.metadata.PortletApplicationMetaData;
+import org.jboss.portal.portlet.impl.jsr168.metadata.PortletMetaData;
+import org.jboss.portal.portlet.impl.jsr168.metadata.PreferenceMetaData;
+import org.jboss.portal.portlet.impl.jsr168.metadata.SecurityConstraintMetaData;
+import org.jboss.portal.portlet.impl.jsr168.metadata.SecurityRoleRefMetaData;
+import org.jboss.portal.portlet.impl.jsr168.metadata.TransportGuaranteesMetaData;
+import org.jboss.portal.portlet.impl.jsr168.metadata.UserAttributeMetaData;
+import org.jboss.xb.binding.GenericObjectModelFactory;
+import org.jboss.xb.binding.UnmarshallingContext;
+import org.xml.sax.Attributes;
+import org.apache.log4j.Logger;
+
+import java.util.Iterator;
+import java.util.List;
+import java.util.Locale;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 7200 $
+ */
+public class PortletApplicationMetaDataFactory implements GenericObjectModelFactory
+{
+
+ /** . */
+ private static final Logger log = Logger.getLogger(PortletApplicationMetaDataFactory.class);
+
+ public Object newRoot(Object root, UnmarshallingContext nav, String nsURI, String localName, Attributes attrs)
+ {
+ return new PortletApplicationMetaData();
+ }
+
+ public Object completeRoot(Object root, UnmarshallingContext ctx, String nsURI, String name)
+ {
+ return root;
+ }
+
+ public Object newChild(Object object, UnmarshallingContext nav, String nsURI, String localName, Attributes attrs)
+ {
+ if (object instanceof DescribableObjectMetaData)
+ {
+ if ("description".equals(localName))
+ {
+ String lang = attrs.getValue("xml:lang");
+ DescriptionMetaData value = new DescriptionMetaData();
+ if (lang != null)
+ {
+ try
+ {
+ Locale locale = LocaleFormat.DEFAULT.getLocale(lang);
+ value.setLocale(locale);
+ }
+ catch (ConversionException e)
+ {
+ log.error("Cannot obtain language value", e);
+ return null;
+ }
+ }
+ return value;
+ }
+ }
+ if (object instanceof PortletApplicationMetaData)
+ {
+ if ("portlet".equals(localName))
+ {
+ return new PortletMetaData();
+ }
+ else if ("user-attribute".equals(localName))
+ {
+ return new UserAttributeMetaData();
+ }
+ else if ("security-constraint".equals(localName))
+ {
+ return new SecurityConstraintMetaData();
+ }
+ }
+ if (object instanceof PortletMetaData)
+ {
+ if ("init-param".equals(localName))
+ {
+ return new ParameterMetaData();
+ }
+ else if ("supports".equals(localName))
+ {
+ return new ContentTypeMetaData();
+ }
+ else if ("portlet-info".equals(localName))
+ {
+ return new LanguagesMetaData.InfoMetaData();
+ }
+ else if ("security-role-ref".equals(localName))
+ {
+ return new SecurityRoleRefMetaData();
+ }
+ else if ("preference".equals(localName))
+ {
+ return new PreferenceMetaData();
+ }
+ else if ("display-name".equals(localName))
+ {
+ String lang = attrs.getValue("xml:lang");
+ DisplayNameMetaData value = new DisplayNameMetaData();
+ if (lang != null)
+ {
+ try
+ {
+ Locale locale = LocaleFormat.DEFAULT.getLocale(lang);
+ value.setLocale(locale);
+ }
+ catch (ConversionException e)
+ {
+ log.error("Cannot obtain language value", e);
+ return null;
+ }
+ }
+ return value;
+ }
+ }
+ return null;
+ }
+
+ public void addChild(Object parent, Object child, UnmarshallingContext nav, String nsURI, String localName)
+ {
+ if (parent instanceof DescribableObjectMetaData)
+ {
+ DescribableObjectMetaData describable = (DescribableObjectMetaData)parent;
+ if (child instanceof DescriptionMetaData)
+ {
+ describable.getDescription().getValues().add(child);
+ }
+ }
+ if (parent instanceof PortletApplicationMetaData)
+ {
+ PortletApplicationMetaData pa = (PortletApplicationMetaData)parent;
+ if (child instanceof PortletMetaData)
+ {
+ pa.addPortlet((PortletMetaData)child);
+ }
+ else if (child instanceof UserAttributeMetaData)
+ {
+ UserAttributeMetaData userAttribute = (UserAttributeMetaData)child;
+ pa.getUserAttributes().put(userAttribute.getName(), userAttribute);
+ }
+ else if (child instanceof SecurityConstraintMetaData)
+ {
+ SecurityConstraintMetaData security = (SecurityConstraintMetaData)child;
+ for (Iterator i = security.getPortlets().iterator(); i.hasNext();)
+ {
+ String portletName = (String)i.next();
+ PortletMetaData portlet = pa.getPortlet(portletName);
+ if (portlet.getTransportGuarantees() == null)
+ {
+ portlet.setTransportGuarantees(new TransportGuaranteesMetaData());
+ }
+ portlet.getTransportGuarantees().add(security.getTransportGuarantee());
+ }
+
+ }
+ }
+ if (parent instanceof PortletMetaData)
+ {
+ PortletMetaData portlet = (PortletMetaData)parent;
+ if (child instanceof ParameterMetaData)
+ {
+ ParameterMetaData parameter = (ParameterMetaData)child;
+ portlet.getParameters().put(parameter.getName(), parameter);
+ }
+ else if (child instanceof ContentTypeMetaData)
+ {
+ portlet.getContentTypes().addContentType((ContentTypeMetaData)child);
+ }
+ else if (child instanceof LanguagesMetaData.InfoMetaData)
+ {
+
+ LanguagesMetaData.InfoMetaData info = (LanguagesMetaData.InfoMetaData)child;
+ if (info.getTitle() == null)
+ {
+ // JBossXB won't populate <title></title>
+ info.setTitle("");
+ }
+ portlet.getLanguages().setInfo(info);
+ }
+ else if (child instanceof SecurityRoleRefMetaData)
+ {
+ portlet.getSecurityRoleRefs().add(child);
+ }
+ else if (child instanceof DisplayNameMetaData)
+ {
+ portlet.getDisplayName().getValues().add(child);
+ }
+ }
+ if (parent instanceof PortletMetaData)
+ {
+ PortletMetaData preferences = (PortletMetaData)parent;
+ if (child instanceof PreferenceMetaData)
+ {
+ preferences.getPreferences().addPreference((PreferenceMetaData)child);
+ }
+ }
+ }
+
+ public void setValue(Object object, UnmarshallingContext nav, String nsURI, String localName, String value)
+ {
+ if (object instanceof PortletApplicationMetaData)
+ {
+ PortletApplicationMetaData app = (PortletApplicationMetaData)object;
+ if ("version".equals(localName))
+ {
+ app.setVersion(value);
+ }
+ }
+ if (object instanceof LocalizedValueMetaData)
+ {
+ LocalizedValueMetaData localizedValue = (LocalizedValueMetaData)object;
+ if ("description".equals(localName))
+ {
+ localizedValue.setValue(value);
+ }
+ else if ("display-name".equals(localName))
+ {
+ localizedValue.setValue(value);
+ }
+ }
+ if (object instanceof PortletMetaData)
+ {
+ PortletMetaData portlet = (PortletMetaData)object;
+ if ("portlet-name".equals(localName))
+ {
+ portlet.setName(value);
+ }
+ else if ("portlet-class".equals(localName))
+ {
+ portlet.setClassName(value);
+ }
+ else if ("expiration-cache".equals(localName))
+ {
+ CacheConfigMetaData cacheConfig = portlet.getCacheConfig();
+ if (cacheConfig == null)
+ {
+ cacheConfig = new CacheConfigMetaData();
+ portlet.setCacheConfig(cacheConfig);
+ }
+ int timeMillis = Integer.parseInt(value);
+ cacheConfig.setExpirationTime(timeMillis);
+ }
+ else if ("resource-bundle".equals(localName))
+ {
+ portlet.getLanguages().setResourceBundle(value);
+ }
+ else if ("supported-locale".equals(localName))
+ {
+ try
+ {
+ Locale locale = LocaleFormat.DEFAULT.getLocale(value);
+ portlet.getLanguages().getSupportedLocales().add(locale);
+ }
+ catch (ConversionException e)
+ {
+ log.error("Cannot obtain language value", e);
+ }
+ }
+ else if ("preferences-validator".equals(localName))
+ {
+ portlet.getPreferences().setValidator(value);
+ }
+ }
+ if (object instanceof ParameterMetaData)
+ {
+ ParameterMetaData parameter = (ParameterMetaData)object;
+ if ("name".equals(localName))
+ {
+ parameter.setName(value);
+ }
+ else if ("value".equals(localName))
+ {
+ parameter.setValue(value);
+ }
+ }
+ if (object instanceof ContentTypeMetaData)
+ {
+ ContentTypeMetaData contentType = (ContentTypeMetaData)object;
+ if ("mime-type".equals(localName))
+ {
+ contentType.setContentType(value);
+ }
+ else if ("portlet-mode".equals(localName))
+ {
+ contentType.getModes().add(Mode.create(value));
+ }
+ }
+ if (object instanceof LanguagesMetaData.InfoMetaData)
+ {
+ LanguagesMetaData.InfoMetaData info = (LanguagesMetaData.InfoMetaData)object;
+ if ("title".equals(localName))
+ {
+ info.setTitle(value);
+ }
+ else if ("short-title".equals(localName))
+ {
+ info.setShortTitle(value);
+ }
+ else if ("keywords".equals(localName))
+ {
+ info.setKeywords(value);
+ }
+ }
+ if (object instanceof PreferenceMetaData)
+ {
+ PreferenceMetaData preference = (PreferenceMetaData)object;
+ if ("name".equals(localName))
+ {
+ preference.setName(value);
+ }
+ else if ("value".equals(localName))
+ {
+ List tmp = Tools.toList(preference.getValues());
+ tmp.add(value);
+ preference.setValues((String[])tmp.toArray(new String[tmp.size()]));
+ }
+ else if ("read-only".equals(localName))
+ {
+ if ("true".equalsIgnoreCase(value))
+ {
+ preference.setReadOnly(true);
+ }
+ else if ("false".equalsIgnoreCase(value))
+ {
+ preference.setReadOnly(false);
+ }
+ else
+ {
+ throw new RuntimeException("Unrecognized read only value" + value);
+ }
+ }
+ }
+ if (object instanceof SecurityRoleRefMetaData)
+ {
+ SecurityRoleRefMetaData srr = (SecurityRoleRefMetaData)object;
+ if ("role-name".equals(localName))
+ {
+ srr.setRoleName(value);
+ }
+ else if ("role-link".equals(localName))
+ {
+ srr.setRoleLink(value);
+ }
+ }
+ if (object instanceof UserAttributeMetaData)
+ {
+ UserAttributeMetaData userAttribute = (UserAttributeMetaData)object;
+ if ("name".equals(localName))
+ {
+ userAttribute.setName(value);
+ }
+ }
+ else if (object instanceof SecurityConstraintMetaData)
+ {
+ SecurityConstraintMetaData security = (SecurityConstraintMetaData)object;
+ if ("portlet-name".equals(localName))
+ {
+ security.addPortlet(value);
+ }
+ if ("transport-guarantee".equals(localName))
+ {
+ security.setTransportGuarantee(TransportGuarantee.decode(value));
+ }
+ }
+ }
+}
Added: branches/JBoss_Portal_Branch_2_6/portlet-server/src/main/org/jboss/portal/portlet/deployment/jboss/ValueTrimmingFilter.java
===================================================================
--- branches/JBoss_Portal_Branch_2_6/portlet-server/src/main/org/jboss/portal/portlet/deployment/jboss/ValueTrimmingFilter.java (rev 0)
+++ branches/JBoss_Portal_Branch_2_6/portlet-server/src/main/org/jboss/portal/portlet/deployment/jboss/ValueTrimmingFilter.java 2007-09-10 23:40:53 UTC (rev 8210)
@@ -0,0 +1,75 @@
+/******************************************************************************
+ * 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.deployment.jboss;
+
+import org.jboss.xb.binding.GenericObjectModelFactory;
+import org.jboss.xb.binding.UnmarshallingContext;
+import org.xml.sax.Attributes;
+
+/**
+ * Filter <code>setValue</code> method by doing a trimming before calling the next model.
+ *
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 6713 $
+ */
+public class ValueTrimmingFilter implements GenericObjectModelFactory
+{
+
+ private final GenericObjectModelFactory next;
+
+ public ValueTrimmingFilter(GenericObjectModelFactory next) throws IllegalArgumentException
+ {
+ if (next == null)
+ {
+ throw new IllegalArgumentException("Cannot be null");
+ }
+ this.next = next;
+ }
+
+ public Object newChild(Object object, UnmarshallingContext nav, String nsURI, String localName, Attributes attrs)
+ {
+ return next.newChild(object, nav, nsURI, localName, attrs);
+ }
+
+ public void addChild(Object parent, Object child, UnmarshallingContext nav, String nsURI, String localName)
+ {
+ next.addChild(parent, child, nav, nsURI, localName);
+ }
+
+ public void setValue(Object object, UnmarshallingContext nav, String nsURI, String localName, String value)
+ {
+ value = value.trim();
+ next.setValue(object, nav, nsURI, localName, value);
+ }
+
+ public Object newRoot(Object root, UnmarshallingContext nav, String nsURI, String localName, Attributes attrs)
+ {
+ return next.newRoot(root, nav, nsURI, localName, attrs);
+ }
+
+ public Object completeRoot(Object root, UnmarshallingContext nav, String nsURI, String localName)
+ {
+ return next.completeRoot(root, nav, nsURI, localName);
+ }
+
+}
Deleted: branches/JBoss_Portal_Branch_2_6/portlet-server/src/main/org/jboss/portal/portlet/tck/TCKPortletController.java
===================================================================
--- branches/JBoss_Portal_Branch_2_6/portlet-server/src/main/org/jboss/portal/portlet/tck/TCKPortletController.java 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/portlet-server/src/main/org/jboss/portal/portlet/tck/TCKPortletController.java 2007-09-10 23:40:53 UTC (rev 8210)
@@ -1,73 +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.tck;
-
-import org.jboss.portal.portlet.Portlet;
-import org.jboss.portal.portlet.PortletContext;
-import org.jboss.portal.portlet.PortletInvokerException;
-import org.jboss.portal.portlet.test.PortletController;
-import org.jboss.portal.server.ServerInvocation;
-
-import javax.servlet.http.HttpSession;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-
-/**
- * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
- * @version $Revision: 5776 $
- */
-public class TCKPortletController extends PortletController
-{
- protected Collection getRenderList(ServerInvocation invocation) throws PortletInvokerException
- {
- HttpSession session = invocation.getServerContext().getClientRequest().getSession();
- List portletIds = null;
- String[] values = (String[])invocation.getServerContext().getQueryParameterMap().get("portletName");
- if (values == null)
- {
- portletIds = (List)session.getAttribute("portlets");
- }
- else
- {
- portletIds = new ArrayList();
- for (int i = 0; i < values.length; i++)
- {
- String value = values[i];
- String portletId = '/' + value.replace('/', '.');
- portletIds.add(portletId);
- }
- session.setAttribute("portlets", portletIds);
- }
- List portlets = new ArrayList();
- for (Iterator i = portletIds.iterator(); i.hasNext();)
- {
- String portletId = (String)i.next();
- Portlet portlet = portletInvoker.getPortlet(PortletContext.createPortletContext(portletId));
- portlets.add(portlet);
-
- }
- return portlets;
- }
-}
Deleted: branches/JBoss_Portal_Branch_2_6/portlet-server/src/main/org/jboss/portal/portlet/test/PortletController.java
===================================================================
--- branches/JBoss_Portal_Branch_2_6/portlet-server/src/main/org/jboss/portal/portlet/test/PortletController.java 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/portlet-server/src/main/org/jboss/portal/portlet/test/PortletController.java 2007-09-10 23:40:53 UTC (rev 8210)
@@ -1,709 +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.test.framework.portlet.PortletTestDriver;
-import org.jboss.portal.test.framework.portlet.PortletTestParameters;
-import org.jboss.portal.common.NotYetImplemented;
-import org.jboss.portal.common.invocation.EmptyAttributeResolver;
-import org.jboss.portal.common.invocation.Scope;
-import org.jboss.portal.common.invocation.resolver.MapAttributeResolver;
-import org.jboss.portal.common.util.Tools;
-import org.jboss.portal.common.net.URLTools;
-import org.jboss.portal.common.util.MarkupInfo;
-import org.jboss.portal.portlet.ActionURL;
-import org.jboss.portal.portlet.PortletParameters;
-import org.jboss.portal.portlet.PortletParametersStateString;
-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.PortletURL;
-import org.jboss.portal.portlet.RenderURL;
-import org.jboss.portal.portlet.StateEvent;
-import org.jboss.portal.portlet.StateString;
-import org.jboss.portal.portlet.impl.PortletRequestDecoder;
-import org.jboss.portal.portlet.impl.spi.AbstractPortletInvocationContext;
-import org.jboss.portal.portlet.impl.spi.AbstractRequestContext;
-import org.jboss.portal.portlet.impl.spi.AbstractSecurityContext;
-import org.jboss.portal.portlet.invocation.ActionInvocation;
-import org.jboss.portal.portlet.invocation.PortletInvocation;
-import org.jboss.portal.portlet.invocation.RenderInvocation;
-import org.jboss.portal.portlet.invocation.response.ErrorResponse;
-import org.jboss.portal.portlet.invocation.response.FragmentResponse;
-import org.jboss.portal.portlet.invocation.response.HTTPRedirectionResponse;
-import org.jboss.portal.portlet.invocation.response.InsufficientPrivilegesResponse;
-import org.jboss.portal.portlet.invocation.response.PortletInvocationResponse;
-import org.jboss.portal.portlet.invocation.response.RenderResponse;
-import org.jboss.portal.portlet.spi.ActionContext;
-import org.jboss.portal.portlet.spi.InstanceContext;
-import org.jboss.portal.portlet.spi.PortalContext;
-import org.jboss.portal.portlet.spi.PortletInvocationContext;
-import org.jboss.portal.portlet.spi.RenderContext;
-import org.jboss.portal.portlet.spi.RequestContext;
-import org.jboss.portal.portlet.spi.SecurityContext;
-import org.jboss.portal.portlet.spi.UserContext;
-import org.jboss.portal.portlet.spi.WindowContext;
-import org.jboss.portal.portlet.state.AccessMode;
-import org.jboss.portal.server.AbstractServerURL;
-import org.jboss.portal.server.RequestController;
-import org.jboss.portal.server.ServerException;
-import org.jboss.portal.server.ServerInvocation;
-import org.jboss.portal.server.request.URLFormat;
-import org.jboss.logging.Logger;
-
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.PrintWriter;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Locale;
-import java.util.Map;
-import java.util.HashMap;
-
-/**
- * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
- * @version $Revision$
- */
-public class PortletController implements RequestController
-{
-
- /** . */
- private static final Scope NAVIGATIONAL_STATE_SCOPE = ServerInvocation.SESSION_SCOPE;
-
- /** . */
- protected boolean redirectAfterAction;
-
- /** . */
- protected PortletInvoker portletInvoker;
-
- /** . */
- protected Logger log = Logger.getLogger(getClass());
-
- public PortletInvoker getPortletInvoker()
- {
- return portletInvoker;
- }
-
- public void setPortletInvoker(PortletInvoker portletInvoker)
- {
- this.portletInvoker = portletInvoker;
- }
-
- public boolean getRedirectAfterAction()
- {
- return redirectAfterAction;
- }
-
- public void setRedirectAfterAction(boolean redirectAfterAction)
- {
- this.redirectAfterAction = redirectAfterAction;
- }
-
- public void handle(ServerInvocation invocation) throws ServerException
- {
- try
- {
- String requestPath = invocation.getServerContext().getPortalRequestPath();
-
- if (requestPath != null && requestPath.startsWith("/portlet/"))
- {
- // Get the portlet
- String portletId = requestPath.substring("/portlet/".length());
- Portlet portlet = portletInvoker.getPortlet(PortletContext.createPortletContext(portletId));
-
- PortletRequestDecoder decoder = new PortletRequestDecoder();
- decoder.decode(invocation.getServerContext().getQueryParameterMap(), invocation.getServerContext().getBodyParameterMap());
-
- if (decoder.getType() == PortletRequestDecoder.ACTION_TYPE)
- {
- // Get the navigational state if it exist
- PortletParametersStateString navigationalState = (PortletParametersStateString)invocation.getAttribute(NAVIGATIONAL_STATE_SCOPE, portlet.getContext().getId());
-
- //
- ActionContextImpl actionContext = new ActionContextImpl(
- portlet, invocation, navigationalState,
- decoder.getWindowState() != null ? decoder.getWindowState() : WindowState.NORMAL,
- decoder.getMode() != null ? decoder.getMode() : Mode.VIEW,
- decoder.getInteractionState(),
- decoder.getForm());
-
- ActionInvocation action = createAction(invocation, actionContext);
- action.setTarget(((InstanceContextImpl)action.getInstanceContext()).getPortletContext());
- PortletInvocationResponse response = portletInvoker.invoke(action);
- if (response instanceof RenderResponse)
- {
- RenderResponse renderResult = (RenderResponse)response;
-
- // Perform the redirection or chain rendering as part of the same http request
- if (redirectAfterAction)
- {
- try
- {
- final StateString _portletNavState = renderResult.getNavigationalState();
- final Mode _mode = renderResult.getMode();
- final WindowState _windowState = renderResult.getWindowState();
- PortletURL portletURL = new RenderURL()
- {
- public StateString getNavigationalState()
- {
- return _portletNavState;
- }
-
- public Mode getMode()
- {
- return _mode;
- }
-
- public WindowState getWindowState()
- {
- return _windowState;
- }
- };
- String url = actionContext.renderURL(portletURL, null, null, false);
- invocation.getServerContext().getClientResponse().sendRedirect(url);
- return;
- }
- catch (IOException e)
- {
- throw new ServerException(e);
- }
- }
- else
- {
- invocation.setAttribute(NAVIGATIONAL_STATE_SCOPE, portlet.getContext().getId(), renderResult.getNavigationalState());
- }
- }
- if (response instanceof HTTPRedirectionResponse)
- {
- try
- {
- HTTPRedirectionResponse redirection = (HTTPRedirectionResponse)response;
- invocation.getServerContext().getClientResponse().sendRedirect(redirection.getLocation());
- return;
- }
- catch (IOException e)
- {
- throw new ServerException(e);
- }
- }
- else if (response instanceof ErrorResponse)
- {
- ErrorResponse error = (ErrorResponse)response;
- error.logErrorTo(log, "An error occured during portlet invocation");
- try
- {
- invocation.getServerContext().getClientResponse().sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
- return;
- }
- catch (IOException e)
- {
- throw new ServerException(e);
- }
- }
- }
- else
- {
- //
- invocation.setAttribute(NAVIGATIONAL_STATE_SCOPE, portlet.getContext().getId(), decoder.getNavigationalState());
-
- //
- Mode mode = decoder.getMode();
- if (mode == null)
- {
- mode = Mode.VIEW;
- }
- invocation.setAttribute(NAVIGATIONAL_STATE_SCOPE, portlet.getContext() + "_mode", mode);
-
- //
- WindowState windowState = decoder.getWindowState();
- if (windowState == null)
- {
- windowState = WindowState.NORMAL;
- }
- invocation.setAttribute(NAVIGATIONAL_STATE_SCOPE, portlet.getContext() + "_windowstate", windowState);
- }
-
- }
-
- // Render everything
- startRender(invocation);
-
- //
- for (Iterator i = getRenderList(invocation).iterator(); i.hasNext();)
- {
- Portlet portlet = (Portlet)i.next();
-
- // Get the navigational state
- StateString ns = (StateString)invocation.getAttribute(NAVIGATIONAL_STATE_SCOPE, portlet.getContext().getId());
-
- // Get the mode
- Mode mode = (Mode)invocation.getAttribute(NAVIGATIONAL_STATE_SCOPE, portlet.getContext() + "_mode");
- if (mode == null)
- {
- mode = Mode.VIEW;
- }
-
- // Get the window state
- WindowState windowState = (WindowState)invocation.getAttribute(NAVIGATIONAL_STATE_SCOPE, portlet.getContext() + "_windowstate");
- if (windowState == null)
- {
- windowState = WindowState.NORMAL;
- }
-
- //
- RenderContextImpl renderContext = new RenderContextImpl(portlet, invocation, ns, windowState, mode);
-
- //
- PrintWriter writer = invocation.getServerContext().getClientResponse().getWriter();
-
- //
- invocation.getServerContext().getClientRequest().getSession().getAttribute("CLONE_ON");
-
- //
- writer.write("<div>");
- RenderInvocation render = createRender(invocation, renderContext);
- render.setTarget(((InstanceContextImpl)render.getInstanceContext()).getPortletContext());
- PortletInvocationResponse response = portletInvoker.invoke(render);
-
- //
- if (response instanceof FragmentResponse)
- {
- FragmentResponse fragment = (FragmentResponse)response;
- String s = "";
- switch (fragment.getType())
- {
- case FragmentResponse.TYPE_EMPTY:
- // Keep the empty string
- break;
- case FragmentResponse.TYPE_CHARS:
- s = ((FragmentResponse)response).getChars().toString();
- break;
- case FragmentResponse.TYPE_BYTES:
- s = ((FragmentResponse)response).getBytes().toString();
- break;
- }
- writer.write(s);
- }
- else if (response instanceof ErrorResponse)
- {
- writer.write("<div style=\"color: red;\">");
- writer.write(((ErrorResponse)response).toHTML());
- writer.write("</div>");
- }
- else if (response instanceof InsufficientPrivilegesResponse)
- {
- throw new NotYetImplemented();
-// // Redirect to authed servlet
-//
-// // Compute the new url context
-// URLContext uctx = invocation.getServerContext().getURLContext();
-// uctx = URLContext.newInstance(uctx.getSecure(), true);
-//
-// //
-// AbstractServerURL url = new AbstractServerURL();
-// url.setPortalRequestPath("/index.html");
-//
-// //
-// for (Iterator j = invocation.getServerContext().getParameterMap().values().iterator(); j.hasNext();)
-// {
-// RequestParameter param = (RequestParameter)j.next();
-// url.setParameterValues(param.getName(), param.getValues());
-// }
-//
-// //
-// String s = invocation.getResponse().encodeURL(url, uctx);
-//
-// //
-// HttpServletResponse resp = invocation.getServerContext().getClientResponse();
-// resp.sendRedirect(s);
-// return;
- }
- else
- {
- writer.write("");
- }
- writer.write("</div>");
- }
-
- //
- endRender(invocation);
- }
- catch (PortletInvokerException e)
- {
- throw new ServerException(e);
- }
- catch (ServletException e)
- {
- throw new ServerException(e);
- }
- catch (IOException e)
- {
- throw new ServerException(e);
- }
- }
-
- protected Collection getRenderList(ServerInvocation invocation) throws PortletInvokerException
- {
- return portletInvoker.getPortlets();
- }
-
- protected void startRender(ServerInvocation invocation) throws ServletException, IOException
- {
-
- HttpServletResponse cresp = invocation.getServerContext().getClientResponse();
- cresp.setContentType("text/html;charset=UTF-8");
- cresp.setCharacterEncoding("UTF-8");
- PrintWriter writer = invocation.getServerContext().getClientResponse().getWriter();
- writer.print("<html><body>");
- }
-
- protected void endRender(ServerInvocation invocation) throws ServletException, IOException
- {
- PrintWriter writer = invocation.getServerContext().getClientResponse().getWriter();
- writer.print("</body></html>");
- writer.close();
- }
-
- /**
- * An instance context implementation that stores the cloned context in the HTTP session of the user.
- */
- protected class InstanceContextImpl implements InstanceContext
- {
-
- /** . */
- private static final String CLONE_OF = "clone_of_";
-
- /** . */
- private boolean anonymous;
-
- /** . */
- private HttpServletRequest req;
-
- /** . */
- private AccessMode accessMode;
-
- /** . */
- private PortletContext portletContext;
-
- /** . */
- private PortletContext cloneContext;
-
- public InstanceContextImpl(Portlet portlet, HttpServletRequest req, boolean anonymous)
- {
- this.portletContext = portlet.getContext();
- this.req = req;
- this.anonymous = anonymous;
-
- //
- if (anonymous)
- {
- this.accessMode = AccessMode.READ_ONLY;
- this.cloneContext = null;
- }
- else
- {
- this.accessMode = cloneContext == null ? AccessMode.CLONE_BEFORE_WRITE : AccessMode.READ_WRITE;
- this.cloneContext = (PortletContext)req.getSession().getAttribute(CLONE_OF + portlet.getContext().getId());
- }
- }
-
- public String getId()
- {
- return portletContext.getId();
- }
-
- public void onStateEvent(StateEvent event)
- {
- if (anonymous)
- {
- throw new IllegalStateException("The portal should not receive event callbacks in anonymous mode");
- }
- req.getSession().setAttribute(CLONE_OF + this.portletContext.getId(), event.getPortletContext());
- }
-
- public AccessMode getAccessMode()
- {
- return accessMode;
- }
-
- public PortletContext getPortletContext()
- {
- return cloneContext != null ? cloneContext : portletContext;
- }
- }
-
- protected class RenderContextImpl extends PortletInvocationContextImpl implements RenderContext
- {
- public RenderContextImpl(
- Portlet portlet,
- ServerInvocation invocation,
- StateString navigationalState,
- WindowState windowState,
- Mode mode)
- {
- super(portlet, invocation, navigationalState, windowState, mode);
- }
- }
-
- protected class ActionContextImpl extends PortletInvocationContextImpl implements ActionContext
- {
-
- private HttpServletRequest req;
- private StateString interactionState;
- private PortletParameters form;
-
- public ActionContextImpl(
- Portlet portlet,
- ServerInvocation invocation,
- StateString navigationalState,
- WindowState windowState,
- Mode mode,
- StateString interactionState,
- PortletParameters form)
- {
- super(portlet, invocation, navigationalState, windowState, mode);
- req = invocation.getServerContext().getClientRequest();
- this.interactionState = interactionState;
- this.form = form;
- }
-
- public String getCharacterEncoding()
- {
- return req.getCharacterEncoding();
- }
-
- public BufferedReader getReader() throws IOException
- {
- return req.getReader();
- }
-
- public InputStream getInputStream() throws IOException
- {
- return req.getInputStream();
- }
-
- public int getContentLength()
- {
- return req.getContentLength();
- }
-
- public String getContentType()
- {
- return req.getContentType();
- }
-
- public StateString getInteractionState()
- {
- return interactionState;
- }
-
- public PortletParameters getForm()
- {
- return form;
- }
- }
-
- public ActionInvocation createAction(ServerInvocation serverInvocation, ActionContext actionContext)
- {
- ActionInvocation invocation = new ActionInvocation(actionContext);
- update(serverInvocation, invocation);
- return invocation;
- }
-
- public RenderInvocation createRender(ServerInvocation serverInvocation, RenderContext renderContext)
- {
- RenderInvocation invocation = new RenderInvocation(renderContext);
- update(serverInvocation, invocation);
- return invocation;
- }
-
- public void update(final ServerInvocation serverInvocation, PortletInvocation invocation)
- {
- String ppsm = PortletTestDriver.getPortletTestContext().getParameter(PortletTestParameters.PORTAL_PORTLET_STATE_MANAGEMENT);
- boolean anonymous = "immutable".equals(ppsm);
- final PortletInvocationContextImpl invocationContext = (PortletInvocationContextImpl)invocation.getPortletContext();
- PortalContext portalContext = new TestPortalContext();
- SecurityContext securityContext = new AbstractSecurityContext(invocationContext.getClientRequest());
- RequestContext requestContext = new AbstractRequestContext(invocationContext.getClientRequest(), invocationContext.getClientResponse());
- InstanceContext instanceContext = new InstanceContextImpl(invocationContext.portlet, invocationContext.getClientRequest(), anonymous);
-
- //
- WindowContext windowContext = new WindowContext()
- {
- public String getId()
- {
- return invocationContext.portlet.getContext().getId();
- }
-
- };
- UserContext userContext = new UserContext()
- {
- public String getId()
- {
- return null;
- }
-
- public Map getInformations()
- {
- return new HashMap();
- }
-
- public Locale getLocale()
- {
- return serverInvocation.getRequest().getLocale();
- }
-
- public List getLocales()
- {
- return Tools.toList(serverInvocation.getRequest().getLocales());
- }
- };
-
- //
- invocation.setPortalContext(portalContext);
- invocation.setSecurityContext(securityContext);
- invocation.setRequestContext(requestContext);
- invocation.setInstanceContext(instanceContext);
- invocation.setWindowContext(windowContext);
- invocation.setUserContext(userContext);
- }
-
- protected class PortletInvocationContextImpl extends AbstractPortletInvocationContext implements PortletInvocationContext
- {
-
- protected Portlet portlet;
- protected ServerInvocation invocation;
-
- public PortletInvocationContextImpl(
- Portlet portlet,
- ServerInvocation invocation,
- StateString navigationalState,
- WindowState windowState,
- Mode mode)
- {
- super(mode, windowState, navigationalState, (MarkupInfo)invocation.getResponse().getContentInfo());
-
- //
- this.portlet = portlet;
- this.invocation = invocation;
-
- //
- addResolver(PortletInvocation.INVOCATION_SCOPE, new MapAttributeResolver());
- addResolver(ServerInvocation.REQUEST_SCOPE, invocation.getContext());
- addResolver(ServerInvocation.PRINCIPAL_SCOPE, invocation.getContext());
- addResolver(PortletInvocation.REQUEST_PROPERTIES_SCOPE, EmptyAttributeResolver.getInstance());
- addResolver(PortletInvocation.RESPONSE_PROPERTIES_SCOPE, new MapAttributeResolver());
- }
-
- public HttpServletResponse getClientResponse()
- {
- return invocation.getServerContext().getClientResponse();
- }
-
- public HttpServletRequest getClientRequest()
- {
- return invocation.getServerContext().getClientRequest();
- }
-
- public String encodeResourceURL(String url)
- {
- URLTools.enforceAbsoluteURL(url);
- return invocation.getServerContext().getClientResponse().encodeURL(url);
- }
-
- public String renderURL(PortletURL portletURL, Boolean wantSecure, Boolean wantAuthenticated, boolean relative)
- {
- AbstractServerURL serverURL = new AbstractServerURL();
-
- //
- String id = portlet.getContext().getId();
- serverURL.setPortalRequestPath("/portlet/" + id);
-
- //
- int meta = PortletRequestDecoder.RENDER_MASK;
- if (portletURL instanceof ActionURL)
- {
- meta = PortletRequestDecoder.ACTION_MASK;
- }
-
- //
- if (portletURL.getMode() != null)
- {
- meta |= PortletRequestDecoder.MODE_MASK;
- serverURL.setParameterValue(PortletRequestDecoder.MODE_PARAMETER, portletURL.getMode().toString());
- }
-
- //
- if (portletURL.getWindowState() != null)
- {
- meta |= PortletRequestDecoder.WINDOW_STATE_MASK;
- serverURL.setParameterValue(PortletRequestDecoder.WINDOW_STATE_PARAMETER, portletURL.getWindowState().toString());
- }
-
- //
- serverURL.setParameterValue(PortletRequestDecoder.META_PARAMETER, Integer.toHexString(meta));
-
- // Unwrap in a specific jboss portlet navigational state
- PortletParameters parameters = null;
- if (portletURL instanceof ActionURL)
- {
- PortletParametersStateString interactionState = (PortletParametersStateString)((ActionURL)portletURL).getInteractionState();
- if (interactionState != null)
- {
- parameters = interactionState.getParameters();
- }
- }
- else
- {
- PortletParametersStateString navState = (PortletParametersStateString)((RenderURL)portletURL).getNavigationalState();
- if (navState != null)
- {
- parameters = navState.getParameters();
- }
- }
-
- //
- if (parameters != null)
- {
- for (Iterator i = parameters.entrySet().iterator(); i.hasNext();)
- {
- Map.Entry entry = (Map.Entry)i.next();
- String name = (String)entry.getKey();
- String[] values = (String[])entry.getValue();
- serverURL.setParameterValues(name, values);
- }
- }
-
- //
- return invocation.getResponse().renderURL(serverURL, URLFormat.newInstance(relative, true));
- }
- }
-}
Deleted: branches/JBoss_Portal_Branch_2_6/portlet-server/src/main/org/jboss/portal/portlet/test/TestSecurityInterceptor.java
===================================================================
--- branches/JBoss_Portal_Branch_2_6/portlet-server/src/main/org/jboss/portal/portlet/test/TestSecurityInterceptor.java 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/portlet-server/src/main/org/jboss/portal/portlet/test/TestSecurityInterceptor.java 2007-09-10 23:40:53 UTC (rev 8210)
@@ -1,79 +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.InvocationException;
-import org.jboss.portal.portlet.PortletContext;
-import org.jboss.portal.portlet.PortletInvokerException;
-import org.jboss.portal.portlet.invocation.PortletInterceptor;
-import org.jboss.portal.portlet.invocation.PortletInvocation;
-import org.jboss.portal.portlet.invocation.response.InsufficientPrivilegesResponse;
-import org.jboss.portal.portlet.security.PortletPermission;
-import org.jboss.portal.security.PortalSecurityException;
-import org.jboss.portal.security.spi.auth.PortalAuthorizationManager;
-import org.jboss.portal.security.spi.auth.PortalAuthorizationManagerFactory;
-
-/**
- * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
- * @version $Revision: 6691 $
- */
-public class TestSecurityInterceptor extends PortletInterceptor
-{
-
- /** The auth manager factory. */
- private PortalAuthorizationManagerFactory pamf;
-
- public PortalAuthorizationManagerFactory getPortalAuthorizationManagerFactory()
- {
- return pamf;
- }
-
- public void setPortalAuthorizationManagerFactory(PortalAuthorizationManagerFactory portalAuthorizationManagerFactory)
- {
- this.pamf = portalAuthorizationManagerFactory;
- }
-
- protected Object invoke(PortletInvocation invocation) throws Exception, InvocationException
- {
- try
- {
- PortalAuthorizationManager authMgr = pamf.getManager();
- PortletContext portletContext = invocation.getTarget();
- String portletId = portletContext.getId();
- PortletPermission perm = new PortletPermission(portletId, PortletPermission.VIEW_MASK);
- boolean authorized = authMgr.checkPermission(perm);
- if (authorized == false)
- {
- return new InsufficientPrivilegesResponse();
- }
- else
- {
- return invocation.invokeNext();
- }
- }
- catch (PortalSecurityException e)
- {
- throw new PortletInvokerException(e);
- }
- }
-}
Modified: branches/JBoss_Portal_Branch_2_6/portlet-server/src/resources/test-sar/META-INF/jboss-service.xml
===================================================================
--- branches/JBoss_Portal_Branch_2_6/portlet-server/src/resources/test-sar/META-INF/jboss-service.xml 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/portlet-server/src/resources/test-sar/META-INF/jboss-service.xml 2007-09-10 23:40:53 UTC (rev 8210)
@@ -121,8 +121,8 @@
xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
<xmbean/>
<depends
- optional-attribute-name="ServletContainerContext"
- proxy-type="attribute">portal:service=ServletContainerContext</depends>
+ optional-attribute-name="ServletContainerFactory"
+ proxy-type="attribute">portal:service=ServletContainerFactory</depends>
</mbean>
<mbean
code="org.jboss.portal.portlet.aspects.portlet.PortletSessionSynchronizationInterceptor"
@@ -325,7 +325,7 @@
<!-- Runtime context for running portlet container -->
<mbean
code="org.jboss.portal.web.jboss.JBossWebContext"
- name="portal:service=ServletContainerContext"
+ name="portal:service=ServletContainerFactory"
xmbean-dd=""
xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
<xmbean/>
@@ -339,7 +339,7 @@
xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
<xmbean/>
<depends optional-attribute-name="Config" proxy-type="attribute">portal:service=ServerConfig</depends>
- <depends optional-attribute-name="ServletContainerContext" proxy-type="attribute">portal:service=ServletContainerContext</depends>
+ <depends optional-attribute-name="ServletContainerFactory" proxy-type="attribute">portal:service=ServletContainerFactory</depends>
</mbean>
<!-- Server deployer -->
Modified: branches/JBoss_Portal_Branch_2_6/search/build.xml
===================================================================
--- branches/JBoss_Portal_Branch_2_6/search/build.xml 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/search/build.xml 2007-09-10 23:40:53 UTC (rev 8210)
@@ -66,6 +66,8 @@
&libraries;
<path id="library.classpath">
<path refid="jboss.portal/modules/common.classpath"/>
+ <path refid="jboss.portal/modules/portlet.classpath"/>
+ <path refid="jboss.portal/modules/identity.classpath"/>
<path refid="jbossas/core.libs.classpath"/>
<path refid="apache.lucene.classpath"/>
<path refid="junit.junit.classpath"/>
@@ -76,8 +78,7 @@
<call target="configure-modules"/>
<path id="dependentmodule.classpath">
<path refid="jboss.portal-jems.classpath"/>
- <path refid="jboss.portal/modules/identity.classpath"/>
- <path refid="jboss.portlet-api.classpath"/>
+ <path refid="jboss.portal-api.classpath"/>
</path>
<!--+=======================================+-->
Modified: branches/JBoss_Portal_Branch_2_6/server/src/main/org/jboss/portal/server/Server.java
===================================================================
--- branches/JBoss_Portal_Branch_2_6/server/src/main/org/jboss/portal/server/Server.java 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/server/src/main/org/jboss/portal/server/Server.java 2007-09-10 23:40:53 UTC (rev 8210)
@@ -24,7 +24,7 @@
import org.jboss.portal.common.util.Version;
import org.jboss.portal.server.config.ServerConfig;
-import org.jboss.portal.web.spi.ServletContainerContext;
+import org.jboss.portal.web.ServletContainer;
/**
* The portal server.
@@ -53,5 +53,5 @@
*
* @return the servlet container context
*/
- ServletContainerContext getServletContainerContext();
+ ServletContainer getServletContainer();
}
Modified: branches/JBoss_Portal_Branch_2_6/server/src/main/org/jboss/portal/server/aspects/server/SessionInvalidatorInterceptor.java
===================================================================
--- branches/JBoss_Portal_Branch_2_6/server/src/main/org/jboss/portal/server/aspects/server/SessionInvalidatorInterceptor.java 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/server/src/main/org/jboss/portal/server/aspects/server/SessionInvalidatorInterceptor.java 2007-09-10 23:40:53 UTC (rev 8210)
@@ -27,8 +27,9 @@
import org.jboss.portal.server.ServerInterceptor;
import org.jboss.portal.server.ServerInvocation;
import org.jboss.portal.server.ServerInvocationContext;
-import org.jboss.portal.server.servlet.CommandServlet;
-import org.jboss.portal.server.servlet.ServletCommand;
+import org.jboss.portal.web.RequestDispatchCallback;
+import org.jboss.portal.web.ServletContainerFactory;
+import org.jboss.portal.web.ServletContainer;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
@@ -52,7 +53,7 @@
{
/** . */
- private static final InvalidationCommand invalidator = new InvalidationCommand();
+ private static final Invalidation invalidator = new Invalidation();
/** . */
private static final Logger log = Logger.getLogger(SessionInvalidatorInterceptor.class);
@@ -74,6 +75,19 @@
return (Set)localContexts.get();
}
+ /** . */
+ private ServletContainerFactory servletContainerFactory;
+
+ public ServletContainerFactory getServletContainerFactory()
+ {
+ return servletContainerFactory;
+ }
+
+ public void setServletContainerFactory(ServletContainerFactory servletContainerFactory)
+ {
+ this.servletContainerFactory = servletContainerFactory;
+ }
+
protected void invoke(ServerInvocation invocation) throws Exception, InvocationException
{
try
@@ -128,8 +142,10 @@
{
try
{
+ ServletContainer servletContainer = servletContainerFactory.getServletContainer();
+
// Execute the command that invalidates the session
- CommandServlet.include(req, resp, invalidator, dispatchContext);
+ servletContainer.include(dispatchContext, req, resp, invalidator, null);
}
catch (Exception e)
{
@@ -161,15 +177,20 @@
}
}
- public static class InvalidationCommand implements ServletCommand
+ public static class Invalidation implements RequestDispatchCallback
{
- public void execute(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
+ public Object doCallback(ServletContext servletContext, HttpServletRequest req, HttpServletResponse resp, Object handback) throws ServletException, IOException
{
HttpSession session = req.getSession(false);
+
+ //
if (session != null)
{
session.invalidate();
}
+
+ //
+ return null;
}
}
}
Modified: branches/JBoss_Portal_Branch_2_6/server/src/main/org/jboss/portal/server/deployment/PortalWebTomcat4App.java
===================================================================
--- branches/JBoss_Portal_Branch_2_6/server/src/main/org/jboss/portal/server/deployment/PortalWebTomcat4App.java 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/server/src/main/org/jboss/portal/server/deployment/PortalWebTomcat4App.java 2007-09-10 23:40:53 UTC (rev 8210)
@@ -22,8 +22,8 @@
******************************************************************************/
package org.jboss.portal.server.deployment;
-import org.jboss.portal.server.servlet.CommandServlet;
import org.jboss.web.WebApplication;
+import org.jboss.portal.web.command.CommandServlet;
import org.xml.sax.EntityResolver;
import javax.servlet.ServletContext;
Modified: branches/JBoss_Portal_Branch_2_6/server/src/main/org/jboss/portal/server/deployment/PortalWebTomcat5App.java
===================================================================
--- branches/JBoss_Portal_Branch_2_6/server/src/main/org/jboss/portal/server/deployment/PortalWebTomcat5App.java 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/server/src/main/org/jboss/portal/server/deployment/PortalWebTomcat5App.java 2007-09-10 23:40:53 UTC (rev 8210)
@@ -22,8 +22,8 @@
******************************************************************************/
package org.jboss.portal.server.deployment;
-import org.jboss.portal.server.servlet.CommandServlet;
import org.jboss.web.WebApplication;
+import org.jboss.portal.web.command.CommandServlet;
import org.xml.sax.EntityResolver;
import javax.management.MBeanServer;
Modified: branches/JBoss_Portal_Branch_2_6/server/src/main/org/jboss/portal/server/deployment/PortalWebTomcat6App.java
===================================================================
--- branches/JBoss_Portal_Branch_2_6/server/src/main/org/jboss/portal/server/deployment/PortalWebTomcat6App.java 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/server/src/main/org/jboss/portal/server/deployment/PortalWebTomcat6App.java 2007-09-10 23:40:53 UTC (rev 8210)
@@ -23,7 +23,7 @@
package org.jboss.portal.server.deployment;
import org.jboss.web.WebApplication;
-import org.jboss.portal.server.servlet.CommandServlet;
+import org.jboss.portal.web.command.CommandServlet;
import org.xml.sax.EntityResolver;
import javax.management.MBeanServer;
Modified: branches/JBoss_Portal_Branch_2_6/server/src/main/org/jboss/portal/server/impl/ServerImpl.java
===================================================================
--- branches/JBoss_Portal_Branch_2_6/server/src/main/org/jboss/portal/server/impl/ServerImpl.java 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/server/src/main/org/jboss/portal/server/impl/ServerImpl.java 2007-09-10 23:40:53 UTC (rev 8210)
@@ -27,6 +27,8 @@
import org.jboss.portal.server.Server;
import org.jboss.portal.server.config.ServerConfig;
import org.jboss.portal.web.spi.ServletContainerContext;
+import org.jboss.portal.web.ServletContainer;
+import org.jboss.portal.web.ServletContainerFactory;
/**
* Should bootstrap the microcontainer in the (near) future.
@@ -41,7 +43,7 @@
private ServerConfig config;
/** . */
- private ServletContainerContext servletContainerContext;
+ private ServletContainerFactory servletContainerFactory;
public ServerConfig getConfig()
{
@@ -58,13 +60,18 @@
return PortalConstants.VERSION;
}
- public ServletContainerContext getServletContainerContext()
+ public ServletContainerFactory getServletContainerFactory()
{
- return servletContainerContext;
+ return servletContainerFactory;
}
- public void setServletContainerContext(ServletContainerContext servletContainerContext)
+ public void setServletContainerFactory(ServletContainerFactory servletContainerFactory)
{
- this.servletContainerContext = servletContainerContext;
+ this.servletContainerFactory = servletContainerFactory;
}
+
+ public ServletContainer getServletContainer()
+ {
+ return servletContainerFactory.getServletContainer();
+ }
}
Deleted: branches/JBoss_Portal_Branch_2_6/server/src/main/org/jboss/portal/server/servlet/CommandServlet.java
===================================================================
--- branches/JBoss_Portal_Branch_2_6/server/src/main/org/jboss/portal/server/servlet/CommandServlet.java 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/server/src/main/org/jboss/portal/server/servlet/CommandServlet.java 2007-09-10 23:40:53 UTC (rev 8210)
@@ -1,158 +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.server.servlet;
-
-import org.apache.log4j.Logger;
-
-import javax.servlet.RequestDispatcher;
-import javax.servlet.ServletContext;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-
-/**
- * This servlet is used to execute command coming from another context through a dispatching request.
- * <p/>
- * The command invocation is detyped to allow it working on redeploy and avoid class cast exception.
- *
- * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
- * @version $Revision$
- */
-public class CommandServlet extends HttpServlet
-{
-
- /** The serialVersionUID */
- private static final long serialVersionUID = 8963747886048494977L;
-
- private static final Logger log = Logger.getLogger(CommandServlet.class);
-
- private static final ThreadLocal localCmd = new ThreadLocal();
-
- /** Provide an spi for dispatching to a request dispatcher. */
- public interface Dispatcher
- {
- void include(RequestDispatcher rd) throws IOException, ServletException;
- }
-
- /**
- * Execute a command after having performed a request dispatch in the target servlet context.
- *
- * @param cmd the command to execute after the inclusion is done
- * @param ctx the target servlet context
- * @throws IOException
- * @throws ServletException
- */
- public static void include(
- HttpServletRequest req,
- HttpServletResponse resp,
- ServletCommand cmd,
- ServletContext ctx) throws IOException, ServletException
- {
- try
- {
- localCmd.set(cmd);
- RequestDispatcher switcher = ctx.getRequestDispatcher("/jbossportlet");
- switcher.include(req, resp);
- }
- finally
- {
- localCmd.set(null);
- }
- }
-
- protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
- {
- Object cmd = localCmd.get();
- if (cmd != null)
- {
- try
- {
- Method methods = cmd.getClass().getMethod(
- "execute",
- new Class[]{
- HttpServletRequest.class,
- HttpServletResponse.class});
- methods.invoke(cmd, new Object[]{req, resp});
- }
- catch (NoSuchMethodException e)
- {
- throw new ServletException("No execute method found on the command", e);
- }
- catch (InvocationTargetException e)
- {
- // Log the wrappee
- Throwable wrappee = e.getTargetException();
- log.error("Exception in command invocation", wrappee);
-
- // Rethrow the checked ServletException
- if (wrappee instanceof ServletException)
- {
- ServletException se = (ServletException)wrappee;
- if (se.getCause() == null && se.getRootCause() != null)
- {
- se.initCause(se.getRootCause());
- }
- throw(ServletException)wrappee;
- }
- // Rethrow the checked IOException
- if (wrappee instanceof IOException)
- {
- throw(IOException)wrappee;
- }
- // Rethrow RuntimeException
- if (wrappee instanceof RuntimeException)
- {
- throw(RuntimeException)wrappee;
- }
- // Rethrow Error
- if (wrappee instanceof Error)
- {
- throw(Error)wrappee;
- }
- // Here we wrap it and rethrow
- ServletException se = new ServletException("The invoked command threw an exception", wrappee);
- se.initCause(wrappee);
- throw se;
- }
- catch (IllegalAccessException e)
- {
- ServletException se = new ServletException("Unexpected IllegalAccessException during command invocation", e);
- se.initCause(e);
- throw se;
- }
- }
- else
- {
- throw new ServletException("No command found");
- }
- }
-
- protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
- {
- doGet(req, resp);
- }
-}
Deleted: branches/JBoss_Portal_Branch_2_6/server/src/main/org/jboss/portal/server/servlet/ServletCommand.java
===================================================================
--- branches/JBoss_Portal_Branch_2_6/server/src/main/org/jboss/portal/server/servlet/ServletCommand.java 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/server/src/main/org/jboss/portal/server/servlet/ServletCommand.java 2007-09-10 23:40:53 UTC (rev 8210)
@@ -1,39 +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.server.servlet;
-
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-
-/**
- * Command to be executed in the command servlet.
- *
- * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
- * @version $Revision$
- */
-public interface ServletCommand
-{
- void execute(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException;
-}
Modified: branches/JBoss_Portal_Branch_2_6/server/src/main/org/jboss/portal/test/server/response/EncodeResponseTest.java
===================================================================
--- branches/JBoss_Portal_Branch_2_6/server/src/main/org/jboss/portal/test/server/response/EncodeResponseTest.java 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/server/src/main/org/jboss/portal/test/server/response/EncodeResponseTest.java 2007-09-10 23:40:53 UTC (rev 8210)
@@ -23,15 +23,12 @@
package org.jboss.portal.test.server.response;
import org.jboss.portal.test.framework.server.driver.AbstractTest;
-import org.jboss.portal.test.framework.driver.http.command.SendResponseCommand;
-import org.jboss.portal.test.framework.driver.http.response.SendResponseResponse;
import org.jboss.portal.test.framework.driver.remote.TestContext;
import org.jboss.portal.test.server.Utils;
import org.jboss.portal.test.framework.driver.DriverResponse;
import org.jboss.portal.test.framework.driver.DriverCommand;
import org.jboss.portal.test.framework.driver.response.EndTestResponse;
import org.jboss.portal.test.framework.driver.response.ErrorResponse;
-import org.jboss.portal.common.junit.ExtendedAssert;
import org.jboss.portal.server.ServerInvocation;
import javax.servlet.http.HttpServletResponse;
@@ -39,6 +36,8 @@
import java.io.IOException;
/**
+ * To rewrite.
+ *
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
* @version $Revision: 5570 $
*/
@@ -63,7 +62,8 @@
PrintWriter pw = resp.getWriter();
pw.print(content);
pw.close();
- return new SendResponseResponse();
+ return new EndTestResponse();
+// return new SendResponseResponse();
}
else
{
@@ -75,11 +75,11 @@
{
if (testContext.isRequestCount(1))
{
- SendResponseCommand src = (SendResponseCommand)driverCommand;
- byte[] bytes = src.getBytes();
- String s = new String(bytes, "utf-8");
- String result = Utils.compareString(content, s);
- ExtendedAssert.assertEquals(null, result);
+// SendResponseCommand src = (SendResponseCommand)driverCommand;
+// byte[] bytes = src.getBytes();
+// String s = new String(bytes, "utf-8");
+// String result = Utils.compareString(content, s);
+// ExtendedAssert.assertEquals(null, result);
return new EndTestResponse();
}
else
Modified: branches/JBoss_Portal_Branch_2_6/server/src/main/org/jboss/portal/web/jboss/JBossWebContext.java
===================================================================
--- branches/JBoss_Portal_Branch_2_6/server/src/main/org/jboss/portal/web/jboss/JBossWebContext.java 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/server/src/main/org/jboss/portal/web/jboss/JBossWebContext.java 2007-09-10 23:40:53 UTC (rev 8210)
@@ -22,11 +22,11 @@
******************************************************************************/
package org.jboss.portal.web.jboss;
-import org.jboss.portal.server.servlet.CommandServlet;
-import org.jboss.portal.server.servlet.ServletCommand;
import org.jboss.portal.web.spi.ServletContainerContext;
import org.jboss.portal.web.RequestDispatchCallback;
-import org.jboss.portal.web.WebAppListener;
+import org.jboss.portal.web.ServletContainerFactory;
+import org.jboss.portal.web.ServletContainer;
+import org.jboss.portal.web.command.CommandDispatcher;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
@@ -40,116 +40,43 @@
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
* @version $Revision: 1.1 $
*/
-public class JBossWebContext implements ServletContainerContext
+public class JBossWebContext implements ServletContainerContext, ServletContainerFactory
{
/** . */
- private static final ThreadLocal localResponse = new ThreadLocal();
+ private final CommandDispatcher dispatcher = new CommandDispatcher();
+ /** . */
+ private final ServletContainer servletContainer = new ServletContainer();
+
+
+ public JBossWebContext()
+ {
+ servletContainer.register(this);
+ }
+
public Object include(
ServletContext targetServletContext,
HttpServletRequest req,
HttpServletResponse resp,
RequestDispatchCallback callback,
- Object handback) throws Exception
+ Object handback) throws ServletException, IOException
{
- try
- {
- //
- ServletCommand cmd = new InvokeNextCommand(targetServletContext, callback, handback);
-
- //
- CommandServlet.include(req, resp, cmd, targetServletContext);
-
- // Rethrow any InvocationException
- Object response = localResponse.get();
-
- //
- if (response instanceof Exception)
- {
- throw (Exception)response;
- }
- else
- {
- return response;
- }
- }
- catch (IOException e)
- {
- throw e;
- }
- catch (ServletException e)
- {
- // Unwrap underlying exception if any
- Throwable t = e.getRootCause();
-
- //
- if (t instanceof Error)
- {
- // Rethrow any error
- throw(Error)t;
- }
- else if (t instanceof RuntimeException)
- {
- throw (RuntimeException)t;
- }
- else if (t instanceof Exception)
- {
- throw (Exception)t;
- }
- else
- {
- throw e;
- }
- }
- finally
- {
- localResponse.set(null);
- }
+ return dispatcher.include(targetServletContext, req, resp, callback, handback);
}
- public static class InvokeNextCommand implements ServletCommand
+ public void setCallback(Registration registration)
{
-
- /** . */
- private final ServletContext servletContext;
-
- /** . */
- private final RequestDispatchCallback invocation;
-
- /** . */
- private final Object handback;
-
- public InvokeNextCommand(ServletContext servletContext, RequestDispatchCallback invocation, Object handback)
- {
- this.servletContext = servletContext;
- this.invocation = invocation;
- this.handback = handback;
- }
-
- public void execute(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
- {
- try
- {
- Object response = invocation.doCallback(servletContext, req, resp, handback);
-
- //
- localResponse.set(response);
- }
- catch (Exception e)
- {
- localResponse.set(e);
- }
- }
}
- public boolean addWebAppListener(WebAppListener webAppListener) throws IllegalArgumentException
+ public void unsetCallback(Registration registration)
{
- throw new UnsupportedOperationException("Not implemented in 2.6");
}
- public boolean removeWebAppListener(WebAppListener webAppListener) throws IllegalArgumentException
+ // ServletContainerFactory implementation ***************************************************************************
+
+ public ServletContainer getServletContainer()
{
- throw new UnsupportedOperationException("Not implemented in 2.6");
+ return servletContainer;
}
}
Modified: branches/JBoss_Portal_Branch_2_6/server/src/resources/portal-server-sar/META-INF/jboss-service.xml
===================================================================
--- branches/JBoss_Portal_Branch_2_6/server/src/resources/portal-server-sar/META-INF/jboss-service.xml 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/server/src/resources/portal-server-sar/META-INF/jboss-service.xml 2007-09-10 23:40:53 UTC (rev 8210)
@@ -36,7 +36,7 @@
<!-- Runtime context for running portlet container -->
<mbean
code="org.jboss.portal.web.jboss.JBossWebContext"
- name="portal:service=ServletContainerContext"
+ name="portal:service=ServletContainerFactory"
xmbean-dd=""
xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
<xmbean/>
@@ -50,7 +50,7 @@
xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
<xmbean/>
<depends optional-attribute-name="Config" proxy-type="attribute">portal:service=ServerConfig</depends>
- <depends optional-attribute-name="ServletContainerContext" proxy-type="attribute">portal:service=ServletContainerContext</depends>
+ <depends optional-attribute-name="ServletContainerFactory" proxy-type="attribute">portal:service=ServletContainerFactory</depends>
</mbean>
<!-- Server deployer -->
Modified: branches/JBoss_Portal_Branch_2_6/server/src/resources/test/test-charset-sar/META-INF/jboss-service.xml
===================================================================
--- branches/JBoss_Portal_Branch_2_6/server/src/resources/test/test-charset-sar/META-INF/jboss-service.xml 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/server/src/resources/test/test-charset-sar/META-INF/jboss-service.xml 2007-09-10 23:40:53 UTC (rev 8210)
@@ -36,7 +36,7 @@
<!-- Runtime context for running portlet container -->
<mbean
code="org.jboss.portal.web.jboss.JBossWebContext"
- name="portal:service=ServletContainerContext"
+ name="portal:service=ServletContainerFactory"
xmbean-dd=""
xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
<xmbean/>
@@ -50,7 +50,7 @@
xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
<xmbean/>
<depends optional-attribute-name="Config" proxy-type="attribute">portal:service=ServerConfig</depends>
- <depends optional-attribute-name="ServletContainerContext" proxy-type="attribute">portal:service=ServletContainerContext</depends>
+ <depends optional-attribute-name="ServletContainerFactory" proxy-type="attribute">portal:service=ServletContainerFactory</depends>
</mbean>
<!-- Server stack -->
Modified: branches/JBoss_Portal_Branch_2_6/server/src/resources/test/test-parameters-sar/META-INF/jboss-service.xml
===================================================================
--- branches/JBoss_Portal_Branch_2_6/server/src/resources/test/test-parameters-sar/META-INF/jboss-service.xml 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/server/src/resources/test/test-parameters-sar/META-INF/jboss-service.xml 2007-09-10 23:40:53 UTC (rev 8210)
@@ -36,7 +36,7 @@
<!-- Runtime context for running portlet container -->
<mbean
code="org.jboss.portal.web.jboss.JBossWebContext"
- name="portal:service=ServletContainerContext"
+ name="portal:service=ServletContainerFactory"
xmbean-dd=""
xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
<xmbean/>
@@ -50,7 +50,7 @@
xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
<xmbean/>
<depends optional-attribute-name="Config" proxy-type="attribute">portal:service=ServerConfig</depends>
- <depends optional-attribute-name="ServletContainerContext" proxy-type="attribute">portal:service=ServletContainerContext</depends>
+ <depends optional-attribute-name="ServletContainerFactory" proxy-type="attribute">portal:service=ServletContainerFactory</depends>
</mbean>
<!-- Server stack -->
Modified: branches/JBoss_Portal_Branch_2_6/server/src/resources/test/test-response-sar/META-INF/jboss-service.xml
===================================================================
--- branches/JBoss_Portal_Branch_2_6/server/src/resources/test/test-response-sar/META-INF/jboss-service.xml 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/server/src/resources/test/test-response-sar/META-INF/jboss-service.xml 2007-09-10 23:40:53 UTC (rev 8210)
@@ -36,7 +36,7 @@
<!-- Runtime context for running portlet container -->
<mbean
code="org.jboss.portal.web.jboss.JBossWebContext"
- name="portal:service=ServletContainerContext"
+ name="portal:service=ServletContainerFactory"
xmbean-dd=""
xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
<xmbean/>
@@ -50,7 +50,7 @@
xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
<xmbean/>
<depends optional-attribute-name="Config" proxy-type="attribute">portal:service=ServerConfig</depends>
- <depends optional-attribute-name="ServletContainerContext" proxy-type="attribute">portal:service=ServletContainerContext</depends>
+ <depends optional-attribute-name="ServletContainerFactory" proxy-type="attribute">portal:service=ServletContainerFactory</depends>
</mbean>
<!-- Server stack -->
Modified: branches/JBoss_Portal_Branch_2_6/server/src/resources/test/test-servlet-sar/META-INF/jboss-service.xml
===================================================================
--- branches/JBoss_Portal_Branch_2_6/server/src/resources/test/test-servlet-sar/META-INF/jboss-service.xml 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/server/src/resources/test/test-servlet-sar/META-INF/jboss-service.xml 2007-09-10 23:40:53 UTC (rev 8210)
@@ -36,7 +36,7 @@
<!-- Runtime context for running portlet container -->
<mbean
code="org.jboss.portal.web.jboss.JBossWebContext"
- name="portal:service=ServletContainerContext"
+ name="portal:service=ServletContainerFactory"
xmbean-dd=""
xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
<xmbean/>
@@ -50,7 +50,7 @@
xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
<xmbean/>
<depends optional-attribute-name="Config" proxy-type="attribute">portal:service=ServerConfig</depends>
- <depends optional-attribute-name="ServletContainerContext" proxy-type="attribute">portal:service=ServletContainerContext</depends>
+ <depends optional-attribute-name="ServletContainerFactory" proxy-type="attribute">portal:service=ServletContainerFactory</depends>
</mbean>
<!-- Server stack -->
Modified: branches/JBoss_Portal_Branch_2_6/testsuite/build.xml
===================================================================
--- branches/JBoss_Portal_Branch_2_6/testsuite/build.xml 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/testsuite/build.xml 2007-09-10 23:40:53 UTC (rev 8210)
@@ -130,24 +130,15 @@
<antcall target="internal-test-module">
<param name="module" value="security"/>
</antcall>
-<!--
<antcall target="internal-test-module">
- <param name="module" value="identity"/>
- </antcall>
--->
- <antcall target="internal-test-module">
<param name="module" value="server"/>
</antcall>
+<!--
<antcall target="internal-test-module">
- <param name="module" value="portlet"/>
- </antcall>
- <antcall target="internal-test-module">
<param name="module" value="portlet-server"/>
</antcall>
+-->
<antcall target="internal-test-module">
- <param name="module" value="portlet-federation"/>
- </antcall>
- <antcall target="internal-test-module">
<param name="module" value="wsrp"/>
</antcall>
<!--
@@ -190,10 +181,6 @@
<fileset dir="../faces" includes="output/tests/TEST-*.xml,output/tests/TEST-*.txt"/>
<fileset dir="../server" includes="*.log"/>
<fileset dir="../server" includes="output/tests/TEST-*.xml,output/tests/TEST-*.txt"/>
- <fileset dir="../portlet" includes="*.log"/>
- <fileset dir="../portlet" includes="output/tests/TEST-*.xml,output/tests/TEST-*.txt"/>
- <fileset dir="../portlet-federation" includes="*.log"/>
- <fileset dir="../portlet-federation" includes="output/tests/TEST-*.xml,output/tests/TEST-*.txt"/>
<fileset dir="../portlet-server" includes="*.log"/>
<fileset dir="../portlet-server" includes="output/tests/TEST-*.xml,output/tests/TEST-*.txt"/>
<fileset dir="../security" includes="*.log"/>
Modified: branches/JBoss_Portal_Branch_2_6/theme/build.xml
===================================================================
--- branches/JBoss_Portal_Branch_2_6/theme/build.xml 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/theme/build.xml 2007-09-10 23:40:53 UTC (rev 8210)
@@ -92,6 +92,7 @@
<path id="library.classpath">
<path refid="jboss.portal/modules/common.classpath"/>
<path refid="jboss.portal/modules/web.classpath"/>
+ <path refid="jboss.portal/modules/portlet.classpath"/>
<path refid="jboss.portal/modules/test.classpath"/>
<path refid="oswego.concurrent.classpath"/>
<path refid="jboss.jbossxb.classpath"/>
@@ -110,10 +111,8 @@
<!-- Configure modules -->
<call target="configure-modules"/>
<path id="dependentmodule.classpath">
- <path refid="jboss.portlet-api.classpath"/>
<path refid="jboss.portal-jems.classpath"/>
<path refid="jboss.portal-server.classpath"/>
- <path refid="jboss.portal-portlet.classpath"/>
</path>
<!--+=======================================+-->
Modified: branches/JBoss_Portal_Branch_2_6/theme/src/main/org/jboss/portal/test/theme/DynaTestContext.java
===================================================================
--- branches/JBoss_Portal_Branch_2_6/theme/src/main/org/jboss/portal/test/theme/DynaTestContext.java 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/theme/src/main/org/jboss/portal/test/theme/DynaTestContext.java 2007-09-10 23:40:53 UTC (rev 8210)
@@ -58,6 +58,8 @@
import org.jboss.portal.test.framework.driver.command.StartTestCommand;
import org.jboss.portal.test.framework.junit.ThrowableDecoder;
import org.jboss.portal.web.ServletContextDispatcher;
+import org.jboss.portal.web.ServletContainer;
+import org.jboss.portal.web.ServletContainerFactory;
import org.jboss.portal.web.spi.ServletContainerContext;
import org.jboss.mx.util.MBeanServerLocator;
import org.jboss.mx.util.MBeanProxy;
@@ -108,7 +110,7 @@
private final TestServlet servlet;
/** . */
- ServletContainerContext servletContainerContext;
+ ServletContainerFactory servletContainerFactory;
/** . */
LayoutService layoutService;
@@ -146,7 +148,7 @@
try
{
MBeanServer mbeanServer = MBeanServerLocator.locateJBoss();
- servletContainerContext = (ServletContainerContext)MBeanProxy.get(ServletContainerContext.class, new ObjectName("portal:service=ServletContainerContext"), mbeanServer);
+ servletContainerFactory = (ServletContainerFactory)MBeanProxy.get(ServletContainerContext.class, new ObjectName("portal:service=ServletContainerFactory"), mbeanServer);
layoutService = (LayoutService)MBeanProxy.get(LayoutService.class, new ObjectName("portal:service=LayoutService"), mbeanServer);
themeService = (ThemeService)MBeanProxy.get(ThemeService.class, new ObjectName("portal:service=ThemeService"), mbeanServer);
renderSet = layoutService.getRenderSet("testRenderer", MediaType.HTML);
@@ -249,7 +251,7 @@
private void handleAsync(RequestContext requestContext) throws RenderException, IOException
{
MarkupInfo markupInfo = new MarkupInfo(MediaType.HTML, "UTF-8");
- ServletContextDispatcher dispatcher = new ServletContextDispatcher(requestContext.request, requestContext.response, servletContainerContext);
+ ServletContextDispatcher dispatcher = new ServletContextDispatcher(requestContext.request, requestContext.response, servletContainerFactory.getServletContainer());
ThemeContext themeContext = new ThemeContext(theme, themeService);
//
@@ -292,7 +294,7 @@
requestContext.response.setContentType("text/html");
MarkupInfo markupInfo = new MarkupInfo(MediaType.HTML, "UTF-8");
- ServletContextDispatcher dispatcher = new ServletContextDispatcher(requestContext.request, requestContext.response, servletContainerContext);
+ ServletContextDispatcher dispatcher = new ServletContextDispatcher(requestContext.request, requestContext.response, servletContainerFactory.getServletContainer());
ThemeContext themeContext = new ThemeContext(theme, themeService);
// Build a page structure
Modified: branches/JBoss_Portal_Branch_2_6/theme/src/main/org/jboss/portal/test/theme/TestInfoServlet.java
===================================================================
--- branches/JBoss_Portal_Branch_2_6/theme/src/main/org/jboss/portal/test/theme/TestInfoServlet.java 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/theme/src/main/org/jboss/portal/test/theme/TestInfoServlet.java 2007-09-10 23:40:53 UTC (rev 8210)
@@ -37,6 +37,7 @@
import javax.management.MBeanServer;
import javax.management.ObjectName;
import java.io.IOException;
+import java.util.HashMap;
/** @author <a href="mailto:roy@jboss.org">Roy Russo</a> */
@@ -66,7 +67,7 @@
//
RemoteTestDriver driver = (RemoteTestDriver)testServer.getDriver(pathInfo.substring(1));
driver.invoke("", new StartTestCommand(new TestParametrization()));
- driver.pushContext("", new TestContext(0, null, new TestParametrization()));
+ driver.pushContext("", new TestContext(0, null, new TestParametrization(), new HashMap()));
//
// //
Modified: branches/JBoss_Portal_Branch_2_6/theme/src/main/org/jboss/portal/theme/LayoutDispatcher.java
===================================================================
--- branches/JBoss_Portal_Branch_2_6/theme/src/main/org/jboss/portal/theme/LayoutDispatcher.java 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/theme/src/main/org/jboss/portal/theme/LayoutDispatcher.java 2007-09-10 23:40:53 UTC (rev 8210)
@@ -97,7 +97,7 @@
}
}
- public Object doCallback(ServletContext dispatchedServletContext, HttpServletRequest dispatchedRequest, HttpServletResponse dispatchedResponse, Object handback) throws Exception
+ public Object doCallback(ServletContext dispatchedServletContext, HttpServletRequest dispatchedRequest, HttpServletResponse dispatchedResponse, Object handback) throws ServletException, IOException
{
try
{
Modified: branches/JBoss_Portal_Branch_2_6/theme/src/resources/test/theme-test-sar/META-INF/jboss-service.xml
===================================================================
--- branches/JBoss_Portal_Branch_2_6/theme/src/resources/test/theme-test-sar/META-INF/jboss-service.xml 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/theme/src/resources/test/theme-test-sar/META-INF/jboss-service.xml 2007-09-10 23:40:53 UTC (rev 8210)
@@ -85,7 +85,7 @@
<!-- Runtime context for running portlet container -->
<mbean
code="org.jboss.portal.web.jboss.JBossWebContext"
- name="portal:service=ServletContainerContext"
+ name="portal:service=ServletContainerFactory"
xmbean-dd=""
xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
<xmbean/>
@@ -99,7 +99,7 @@
xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
<xmbean/>
<depends optional-attribute-name="Config" proxy-type="attribute">portal:service=ServerConfig</depends>
- <depends optional-attribute-name="ServletContainerContext" proxy-type="attribute">portal:service=ServletContainerContext</depends>
+ <depends optional-attribute-name="ServletContainerFactory" proxy-type="attribute">portal:service=ServletContainerFactory</depends>
</mbean>
<!-- Server deployer -->
Modified: branches/JBoss_Portal_Branch_2_6/tools/etc/buildfragments/modules.ent
===================================================================
--- branches/JBoss_Portal_Branch_2_6/tools/etc/buildfragments/modules.ent 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/tools/etc/buildfragments/modules.ent 2007-09-10 23:40:53 UTC (rev 8210)
@@ -25,11 +25,10 @@
</path>
<!-- api -->
- <property name="jboss.portlet-api.root" value="${project.root}/api/output"/>
- <property name="jboss.portlet-api.lib" value="${jboss.portlet-api.root}/lib"/>
- <path id="jboss.portlet-api.classpath">
- <pathelement path="${jboss.portlet-api.lib}/portlet-api-lib.jar"/>
- <pathelement path="${jboss.portlet-api.lib}/portal-api-lib.jar"/>
+ <property name="jboss.portal-api.root" value="${project.root}/api/output"/>
+ <property name="jboss.portal-api.lib" value="${jboss.portal-api.root}/lib"/>
+ <path id="jboss.portal-api.classpath">
+ <pathelement path="${jboss.portal-api.lib}/portal-api-lib.jar"/>
</path>
<!-- faces -->
@@ -46,15 +45,6 @@
<pathelement path="${jboss.portal-jems.lib}/portal-jems-lib.jar"/>
</path>
- <!-- portlet -->
- <property name="jboss.portal-portlet.root" value="${project.root}/portlet/output"/>
- <property name="jboss.portal-portlet.lib" value="${jboss.portal-portlet.root}/lib"/>
- <path id="jboss.portal-portlet.classpath">
- <pathelement path="${jboss.portal-portlet.lib}/portal-portlet-lib.jar"/>
- <pathelement path="${jboss.portal-portlet.lib}/portal-portlet-test-lib.jar"/>
- <pathelement path="${jboss.portal-portlet.lib}/portal-portlet-test-framework-lib.jar"/>
- </path>
-
<!-- portlet-server -->
<property name="jboss.portal-portlet-server.root" value="${project.root}/portlet-server/output"/>
<property name="jboss.portal-portlet-server.lib" value="${jboss.portal-portlet-server.root}/lib"/>
@@ -62,13 +52,6 @@
<pathelement path="${jboss.portal-portlet-server.lib}/portal-portlet-server-lib.jar"/>
</path>
- <!-- portlet-federation -->
- <property name="jboss.portal-portlet-federation.root" value="${project.root}/portlet-federation/output"/>
- <property name="jboss.portal-portlet-federation.lib" value="${jboss.portal-portlet-federation.root}/lib"/>
- <path id="jboss.portal-portlet-federation.classpath">
- <pathelement path="${jboss.portal-portlet-federation.lib}/portal-portlet-federation-lib.jar"/>
- </path>
-
<!-- bridge -->
<property name="jboss.portal-bridge.root" value="${project.root}/bridge/output"/>
<property name="jboss.portal-bridge.lib" value="${jboss.portal-bridge.root}/lib"/>
Modified: branches/JBoss_Portal_Branch_2_6/widget/build.xml
===================================================================
--- branches/JBoss_Portal_Branch_2_6/widget/build.xml 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/widget/build.xml 2007-09-10 23:40:53 UTC (rev 8210)
@@ -89,6 +89,7 @@
&libraries;
<path id="library.classpath">
<path refid="jboss.portal/modules/common.classpath"/>
+ <path refid="jboss.portal/modules/portlet.classpath"/>
<path refid="jbossas/core.libs.classpath"/>
<path refid="jboss/backport.concurrent.classpath"/>
<path refid="apache.log4j.classpath"/>
@@ -98,10 +99,9 @@
<!-- Configure modules -->
<call target="configure-modules"/>
<path id="dependentmodule.classpath">
- <path refid="jboss.portlet-api.classpath"/>
+ <path refid="jboss.portal-api.classpath"/>
<path refid="jboss.portal-jems.classpath"/>
<path refid="jboss.portal-server.classpath"/>
- <path refid="jboss.portal-portlet.classpath"/>
</path>
<!--+=======================================+-->
Modified: branches/JBoss_Portal_Branch_2_6/wsrp/build.xml
===================================================================
--- branches/JBoss_Portal_Branch_2_6/wsrp/build.xml 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/wsrp/build.xml 2007-09-10 23:40:53 UTC (rev 8210)
@@ -107,6 +107,7 @@
&libraries;
<path id="library.classpath">
<path refid="jboss.portal/modules/common.classpath"/>
+ <path refid="jboss.portal/modules/portlet.classpath"/>
<path refid="jboss.portal/modules/test.classpath"/>
<path refid="oswego.concurrent.classpath"/>
<path refid="apache.log4j.classpath"/>
@@ -140,9 +141,7 @@
<path refid="jboss.portal-server.classpath"/>
<path refid="jboss.portal-core.classpath"/>
<path refid="jboss.portal-registration.classpath"/>
- <path refid="jboss.portlet-api.classpath"/>
- <path refid="jboss.portal-portlet.classpath"/>
- <path refid="jboss.portal-portlet-federation.classpath"/>
+ <path refid="jboss.portal-api.classpath"/>
<path refid="jboss.portal-faces.classpath"/>
</path>
@@ -253,6 +252,7 @@
<path refid="dependentmodule.classpath"/>
<pathelement path="${build.classes}"/>
<path refid="hibernate.hibernate.classpath"/>
+ <path refid="jboss.portal/modules/portlet.classpath"/>
</path>
<aopc compilerclasspathref="aop.classpath" verbose="true">
@@ -481,17 +481,13 @@
<fileset dir="${build.lib.test}" includes="test-wsrp-consumer-client.jar"/>
<fileset dir="${jboss.portal-security.root}/lib" includes="portal-security-lib.jar"/>
<fileset dir="${build.lib.test}" includes="test-wsrp-consumer-lib.jar"/>
- <fileset dir="${jboss.portlet-api.root}/lib" includes="portlet-api-lib.jar"/>
<fileset dir="${jboss.portal/modules/common.lib}" includes="portal-common-portal-lib.jar"/>
- <fileset dir="${jboss.portlet-api.root}/lib" includes="portal-api-lib.jar"/>
- <fileset dir="${jboss.portal-portlet.root}/lib"
- includes="portal-portlet-lib.jar, portal-portlet-test-lib.jar"/>
- <fileset dir="${jboss.portal-portlet-server.root}/lib"
- includes="portal-portlet-server-lib.jar"/>
+ <fileset dir="${jboss.portal-api.root}/lib" includes="portal-api-lib.jar"/>
+ <fileset dir="${jboss.portal/modules/portlet.lib}" includes="portal-portlet-lib.jar,portal-portlet-federation-lib.jar,portal-portlet-jsr168api-lib.jar"/> <!-- , portal-portlet-test-lib.jar -->
+ <fileset dir="${jboss.portal/modules/test.lib}" includes="portal-test-lib.jar"/>
<fileset dir="${jboss.portal/modules/web.lib}" includes="portal-web-lib.jar"/>
- <fileset dir="${jboss.portal-portlet-federation.root}/lib" includes="portal-portlet-federation-lib.jar"/>
+ <fileset dir="${jboss.portal-portlet-server.root}/lib" includes="portal-portlet-server-lib.jar"/>
<fileset dir="${jboss.portal-registration.root}/lib" includes="portal-registration-lib.jar"/>
- <fileset dir="${jboss.portal/modules/test.lib}" includes="portal-test-lib.jar"/>
<fileset dir="${jboss.portal-server.lib}" includes="portal-server-test-framework-lib.jar"/>
</copy>
@@ -546,14 +542,12 @@
<fileset dir="${build.lib}" includes="portal-wsrp-lib.jar"/>
<fileset dir="${build.lib.test}" includes="test-wsrp-producer-lib.jar"/>
<fileset dir="${jboss.portal/modules/common.lib}" includes="portal-common-portal-lib.jar"/>
- <fileset dir="${jboss.portlet-api.root}/lib" includes="portlet-api-lib.jar"/>
- <fileset dir="${jboss.portlet-api.root}/lib" includes="portal-api-lib.jar"/>
- <fileset dir="${jboss.portal-portlet.root}/lib" includes="portal-portlet-lib.jar"/>
- <fileset dir="${jboss.portal-portlet-server.root}/lib" includes="portal-portlet-server-lib.jar"/>
+ <fileset dir="${jboss.portal-api.root}/lib" includes="portal-api-lib.jar"/>
+ <fileset dir="${jboss.portal/modules/portlet.lib}" includes="portal-portlet-lib.jar,portal-portlet-federation-lib.jar,portal-portlet-jsr168api-lib.jar"/>
<fileset dir="${jboss.portal/modules/web.lib}" includes="portal-web-lib.jar"/>
- <fileset dir="${jboss.portal-portlet-federation.root}/lib" includes="portal-portlet-federation-lib.jar"/>
- <fileset dir="${jboss.portal-registration.root}/lib" includes="portal-registration-lib.jar"/>
<fileset dir="${jboss.portal/modules/test.lib}" includes="portal-test-lib.jar"/>
+ <fileset dir="${jboss.portal-portlet-server.root}/lib" includes="portal-portlet-server-lib.jar"/>
+ <fileset dir="${jboss.portal-registration.root}/lib" includes="portal-registration-lib.jar"/>
<fileset dir="${junit.junit.lib}" includes="junit.jar"/>
<fileset dir="${build.lib.test}" includes="test-wsrp-producer.jar"/>
<fileset dir="${build.lib.test}" includes="test-wsrp-producer-client.jar"/>
Modified: branches/JBoss_Portal_Branch_2_6/wsrp/src/main/org/jboss/portal/test/wsrp/WSRPBaseTest.java
===================================================================
--- branches/JBoss_Portal_Branch_2_6/wsrp/src/main/org/jboss/portal/test/wsrp/WSRPBaseTest.java 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/wsrp/src/main/org/jboss/portal/test/wsrp/WSRPBaseTest.java 2007-09-10 23:40:53 UTC (rev 8210)
@@ -37,8 +37,8 @@
import org.jboss.portal.test.framework.info.TestItemInfo;
import org.jboss.portal.test.framework.junit.POJOJUnitTest;
import org.jboss.portal.jems.as.system.AbstractJBossService;
-import org.jboss.portal.test.framework.driver.http.HTTPTestDriver;
import org.jboss.portal.test.framework.driver.remote.TestContext;
+import org.jboss.portal.test.framework.driver.remote.RemoteTestDriver;
/**
* Base Class for all WSRP Test Cases
@@ -48,7 +48,7 @@
* @author <a href="mailto:Boleslaw.Dawidowicz@jboss.org">Boleslaw Dawidowicz</a>
* @since 2.4 (Feb 20, 2006)
*/
-public abstract class WSRPBaseTest extends AbstractJBossService implements HTTPTestDriver
+public abstract class WSRPBaseTest extends AbstractJBossService implements RemoteTestDriver
{
Logger log = Logger.getLogger(WSRPBaseTest.class);
Modified: branches/JBoss_Portal_Branch_2_6/wsrp/src/resources/tests/test-wsrp-producer-sar/META-INF/jboss-service.xml
===================================================================
--- branches/JBoss_Portal_Branch_2_6/wsrp/src/resources/tests/test-wsrp-producer-sar/META-INF/jboss-service.xml 2007-09-10 23:11:14 UTC (rev 8209)
+++ branches/JBoss_Portal_Branch_2_6/wsrp/src/resources/tests/test-wsrp-producer-sar/META-INF/jboss-service.xml 2007-09-10 23:40:53 UTC (rev 8210)
@@ -71,8 +71,8 @@
xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
<xmbean/>
<depends
- optional-attribute-name="ServletContainerContext"
- proxy-type="attribute">portal:service=ServletContainerContext</depends>
+ optional-attribute-name="ServletContainerFactory"
+ proxy-type="attribute">portal:service=ServletContainerFactory</depends>
</mbean>
<mbean
code="org.jboss.portal.portlet.aspects.portlet.WindowStatesInterceptor"
18 years, 7 months
JBoss Portal SVN: r8209 - in modules/portlet/trunk: build and 25 other directories.
by portal-commits@lists.jboss.org
Author: julien(a)jboss.com
Date: 2007-09-10 19:11:14 -0400 (Mon, 10 Sep 2007)
New Revision: 8209
Added:
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/deployment/
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/deployment/JBossApplicationMetaDataFactory.java
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/deployment/PortletApplicationMetaDataFactory.java
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/deployment/UnmarshallerTestCase.java
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/deployment/ValueTrimmingFilter.java
modules/portlet/trunk/test/src/resources/jboss-4.2/
modules/portlet/trunk/test/src/resources/jboss-4.2/portlet-test-war/
modules/portlet/trunk/test/src/resources/jboss-4.2/portlet-test-war/WEB-INF/
modules/portlet/trunk/test/src/resources/jboss-4.2/portlet-test-war/WEB-INF/context.xml
modules/portlet/trunk/test/src/resources/jboss-4.2/portlet-test-war/WEB-INF/jboss-context.xml
modules/portlet/trunk/test/src/resources/test/
modules/portlet/trunk/test/src/resources/test/servers.xml
modules/portlet/trunk/test/src/resources/tomcat-6.0/
modules/portlet/trunk/test/src/resources/tomcat-6.0/portlet-test-war/
modules/portlet/trunk/test/src/resources/tomcat-6.0/portlet-test-war/META-INF/
modules/portlet/trunk/test/src/resources/tomcat-6.0/portlet-test-war/META-INF/context.xml
modules/portlet/trunk/test/src/resources/tomcat-6.0/portlet-test-war/WEB-INF/
modules/portlet/trunk/test/src/resources/tomcat-6.0/portlet-test-war/WEB-INF/classes/
modules/portlet/trunk/test/src/resources/tomcat-6.0/portlet-test-war/WEB-INF/classes/log4j.properties
modules/portlet/trunk/test/src/resources/tomcat-6.0/portlet-test-war/WEB-INF/classes/logging.properties
Removed:
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/deployment/JBossApplicationMetaDataFactory.java
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/deployment/PortletApplicationMetaDataFactory.java
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/deployment/ValueTrimmingFilter.java
modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/deployment/UnmarshallerTestCase.java
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/PortalKernelBootstrap.java
modules/portlet/trunk/test/src/resources/portlet-test-war/WEB-INF/classes/log4j.properties
modules/portlet/trunk/test/src/resources/portlet-test-war/WEB-INF/classes/logging.properties
Modified:
modules/portlet/trunk/build/build-thirdparty.xml
modules/portlet/trunk/build/ide/intellij/idea60/modules/portlet/portlet.iml
modules/portlet/trunk/jboss-portal-portlet.iws
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/aspects/portlet/ContextDispatcherInterceptor.java
modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/impl/spi/AbstractRequestContext.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/spi/RequestContext.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/info/AbstractInfoTest.java
modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/info/SecurityInfoTest.java
modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/jsr168/tck/portletinterface/spec/ExceptionsDuringRequestHandlingControllerPortlet.java
modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/jsr168/tck/portletinterface/spec/PortletExceptionDuringRequestHandlingPortlet.java
modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/jsr168/tck/portletinterface/spec/RuntimeExceptionDuringRequestHandlingPortlet.java
modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/jsr168/tck/portletinterface/spec/UnavailableExceptionDuringProcessActionPortlet.java
modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/jsr168/tck/portletinterface/spec/UnavailableExceptionDuringRenderPortlet.java
modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/state/ActionContextImpl.java
modules/portlet/trunk/test/build.xml
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/PortletApplicationDeployer.java
modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/PortletApplicationDeployment.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:
portlet container update for the latest spi change + test cases pass on JBoss 4.2
Modified: modules/portlet/trunk/build/build-thirdparty.xml
===================================================================
--- modules/portlet/trunk/build/build-thirdparty.xml 2007-09-10 23:06:44 UTC (rev 8208)
+++ modules/portlet/trunk/build/build-thirdparty.xml 2007-09-10 23:11:14 UTC (rev 8209)
@@ -51,13 +51,25 @@
<componentref name="jboss-portal/modules/web" version="1.0.0-SNAPSHOT"/>
<componentref name="jboss-portal/modules/test" version="1.0.0-SNAPSHOT"/>
<componentref name="sun-servlet" version="2.4"/>
+ <componentref name="sun-jaf" version="1.1"/>
+ <componentref name="jboss/remoting" version="2.2.0.SP4"/>
+
<componentref name="apache-codec" version="1.3.0"/>
<componentref name="apache-httpclient" version="3.0.1"/>
<componentref name="apache-logging" version="1.1"/>
- <componentref name="jboss/remoting" version="2.2.1.GA"/>
- <!-- Based on http://anonsvn.jboss.org/repos/jbossas/tags/EMBEDDED_JBOSS_BETA_2/build/b... -->
+ <!-- MC 1.0.2 -->
+<!--
+ <componentref name="jboss/common" version="1.2.0.GA-brew"/>
+ <componentref name="jboss/microcontainer" version="1.0.2"/>
+ <componentref name="apache-log4j" version="1.2.14"/>
+ <componentref name="oswego-concurrent" version="1.3.4"/>
+ <componentref name="jboss/jbossxb" version="1.0.0.GA-brew"/>
+ <componentref name="junit" version="3.8.1"/>
+-->
+
+ <!-- MC 2.0 Beta 3 Based on http://anonsvn.jboss.org/repos/jbossas/tags/EMBEDDED_JBOSS_BETA_2/build/b... -->
<componentref name="jboss/microcontainer" version="2.0.0.Beta3"/>
<componentref name="jboss/aop" version="2.0.0.alpha4"/>
<componentref name="jboss/jbossxb" version="2.0.0.CR2"/>
Modified: modules/portlet/trunk/build/ide/intellij/idea60/modules/portlet/portlet.iml
===================================================================
--- modules/portlet/trunk/build/ide/intellij/idea60/modules/portlet/portlet.iml 2007-09-10 23:06:44 UTC (rev 8208)
+++ modules/portlet/trunk/build/ide/intellij/idea60/modules/portlet/portlet.iml 2007-09-10 23:11:14 UTC (rev 8209)
@@ -92,6 +92,15 @@
</library>
</orderEntry>
<orderEntry type="module" module-name="jsr168api" />
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../../thirdparty/jboss-portal/modules/common/lib/portal-common-mc-lib.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
<orderEntryProperties />
</component>
<component name="VcsManagerConfiguration">
Modified: modules/portlet/trunk/jboss-portal-portlet.iws
===================================================================
--- modules/portlet/trunk/jboss-portal-portlet.iws 2007-09-10 23:06:44 UTC (rev 8208)
+++ modules/portlet/trunk/jboss-portal-portlet.iws 2007-09-10 23:11:14 UTC (rev 8209)
@@ -17,66 +17,52 @@
</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="DELETED" beforePath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/deployment/PortletApplicationMetaDataFactory.java" afterPath="" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/test/src/resources/tomcat-6.0/portlet-test-war/WEB-INF/classes/log4j.properties" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/test/src/resources/jboss-4.2" />
+ <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="MODIFICATION" beforePath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/tck/portletinterface/spec/RuntimeExceptionDuringRequestHandlingPortlet.java" afterPath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/tck/portletinterface/spec/RuntimeExceptionDuringRequestHandlingPortlet.java" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/test/src/resources/tomcat-6.0/portlet-test-war/WEB-INF" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/test/src/resources/tomcat-6.0/portlet-test-war/WEB-INF/classes/logging.properties" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/test/src/main/org/jboss/portal/portlet/test/deployment" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/test/src/main/org/jboss/portal/portlet/test/deployment/UnmarshallerTestCase.java" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/test/src/resources/jboss-4.2/portlet-test-war" />
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/test/src/main/org/jboss/portal/portlet/test/PortletApplicationDeployer.java" afterPath="$PROJECT_DIR$/test/src/main/org/jboss/portal/portlet/test/PortletApplicationDeployer.java" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/test/src/resources/jboss-4.2/portlet-test-war/WEB-INF/jboss-context.xml" />
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/info/AbstractInfoTest.java" afterPath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/info/AbstractInfoTest.java" />
+ <change type="DELETED" beforePath="$PROJECT_DIR$/test/src/resources/portlet-test-war/WEB-INF/classes/log4j.properties" afterPath="" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/test/src/resources/tomcat-6.0" />
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/tck/portletinterface/spec/PortletExceptionDuringRequestHandlingPortlet.java" afterPath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/tck/portletinterface/spec/PortletExceptionDuringRequestHandlingPortlet.java" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/test/src/resources/tomcat-6.0/portlet-test-war/META-INF/context.xml" />
+ <change type="DELETED" beforePath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/deployment/ValueTrimmingFilter.java" afterPath="" />
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/spi/RequestContext.java" afterPath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/spi/RequestContext.java" />
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/tck/portletinterface/spec/UnavailableExceptionDuringProcessActionPortlet.java" afterPath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/tck/portletinterface/spec/UnavailableExceptionDuringProcessActionPortlet.java" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/test/src/resources/jboss-4.2/portlet-test-war/WEB-INF" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/test/src/resources/jboss-4.2/portlet-test-war/WEB-INF/context.xml" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/test/src/main/org/jboss/portal/portlet/test/deployment/PortletApplicationMetaDataFactory.java" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/test/src/resources/tomcat-6.0/portlet-test-war" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/test/src/main/org/jboss/portal/portlet/test/deployment/ValueTrimmingFilter.java" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/test/src/resources/test/servers.xml" />
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/state/ActionContextImpl.java" afterPath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/state/ActionContextImpl.java" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/test/src/main/org/jboss/portal/portlet/test/deployment/JBossApplicationMetaDataFactory.java" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/test/src/resources/tomcat-6.0/portlet-test-war/WEB-INF/classes" />
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/impl/spi/AbstractUserContext.java" afterPath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/impl/spi/AbstractUserContext.java" />
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/test/src/main/org/jboss/portal/portlet/test/PortletApplicationDeployment.java" afterPath="$PROJECT_DIR$/test/src/main/org/jboss/portal/portlet/test/PortletApplicationDeployment.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/portlet/impl/spi/AbstractRequestContext.java" afterPath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/impl/spi/AbstractRequestContext.java" />
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/tck/portletinterface/spec/ExceptionsDuringRequestHandlingControllerPortlet.java" afterPath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/tck/portletinterface/spec/ExceptionsDuringRequestHandlingControllerPortlet.java" />
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/tck/portletinterface/spec/UnavailableExceptionDuringRenderPortlet.java" afterPath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/tck/portletinterface/spec/UnavailableExceptionDuringRenderPortlet.java" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/test/src/resources/test" />
+ <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/test/src/resources/tomcat-6.0/portlet-test-war/META-INF" />
<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="DELETED" beforePath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/deployment/JBossApplicationMetaDataFactory.java" afterPath="" />
+ <change type="DELETED" beforePath="$PROJECT_DIR$/test/src/resources/portlet-test-war/WEB-INF/classes/logging.properties" afterPath="" />
<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="DELETED" beforePath="$PROJECT_DIR$/test/src/main/org/jboss/portal/portlet/test/PortalKernelBootstrap.java" afterPath="" />
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/info/SecurityInfoTest.java" afterPath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/info/SecurityInfoTest.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" />
+ <change type="MODIFICATION" beforePath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/aspects/portlet/ContextDispatcherInterceptor.java" afterPath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/aspects/portlet/ContextDispatcherInterceptor.java" />
+ <change type="DELETED" beforePath="$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/deployment/UnmarshallerTestCase.java" afterPath="" />
</list>
</component>
<component name="ChangeListSynchronizer" />
@@ -853,62 +839,96 @@
</component>
<component name="FileEditorManager">
<leaf>
- <file leaf-file-name="build.xml" pinned="false" current="false" current-in-tab="false">
- <entry file="file://$PROJECT_DIR$/federation/build.xml">
+ <file leaf-file-name="UserContext.java" pinned="false" current="false" current-in-tab="false">
+ <entry file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/spi/UserContext.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="100" column="33" selection-start="5547" selection-end="5547" vertical-scroll-proportion="0.3403206">
+ <state line="34" column="0" selection-start="2037" selection-end="2037" vertical-scroll-proportion="0.16276202">
<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">
+ <file leaf-file-name="AbstractUserContext.java" pinned="false" current="false" current-in-tab="false">
+ <entry file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/impl/spi/AbstractUserContext.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="162" column="72" selection-start="8398" selection-end="8398" vertical-scroll-proportion="0.46609125">
+ <state line="70" column="0" selection-start="2962" selection-end="2962" vertical-scroll-proportion="0.4401973">
<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">
+ <file leaf-file-name="AbstractActionContext.java" pinned="false" current="false" current-in-tab="false">
+ <entry file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/impl/spi/AbstractActionContext.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="17" column="89" selection-start="1017" selection-end="1017" vertical-scroll-proportion="0.25154132">
+ <state line="39" column="22" selection-start="2276" selection-end="2276" vertical-scroll-proportion="0.08508015">
<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">
+ <file leaf-file-name="ActionContextImpl.java" pinned="false" current="false" current-in-tab="false">
+ <entry file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/state/ActionContextImpl.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 line="58" column="0" selection-start="2609" selection-end="2609" vertical-scroll-proportion="0.50308263">
+ <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">
+ <file leaf-file-name="ValueMapAssert.java" pinned="false" current="false" current-in-tab="false">
+ <entry file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/state/ValueMapAssert.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">
+ <state line="65" column="0" selection-start="2889" selection-end="2889" vertical-scroll-proportion="0.57706535">
<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">
+ <file leaf-file-name="InstanceContext.java" pinned="false" current="false" current-in-tab="false">
+ <entry file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/spi/InstanceContext.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">
+ <state line="31" column="0" selection-start="1994" selection-end="1994" vertical-scroll-proportion="0.13316892">
<folding />
</state>
</provider>
</entry>
</file>
+ <file leaf-file-name="AbstractInstanceContext.java" pinned="false" current="true" current-in-tab="true">
+ <entry file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/impl/spi/AbstractInstanceContext.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="33" column="36" selection-start="2112" selection-end="2135" vertical-scroll-proportion="0.014796548">
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ </file>
+ <file leaf-file-name="TestInstanceContext.java" pinned="false" current="false" current-in-tab="false">
+ <entry file="file://$PROJECT_DIR$/test/src/main/org/jboss/portal/portlet/test/TestInstanceContext.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="36" column="13" selection-start="2194" selection-end="2194" vertical-scroll-proportion="0.014796548">
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ </file>
+ <file leaf-file-name="UserContextSupport.java" pinned="false" current="false" current-in-tab="false">
+ <entry file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/support/spi/UserContextSupport.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="35" column="13" selection-start="2071" selection-end="2071" vertical-scroll-proportion="0.13316892">
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ </file>
+ <file leaf-file-name="SecurityContextSupport.java" pinned="false" current="false" current-in-tab="false">
+ <entry file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/support/spi/SecurityContextSupport.java">
+ <provider selected="true" editor-type-id="text-editor">
+ <state line="35" column="13" selection-start="2108" selection-end="2108" vertical-scroll-proportion="0.17755857">
+ <folding />
+ </state>
+ </provider>
+ </entry>
+ </file>
</leaf>
</component>
<component name="FindManager">
@@ -1130,13 +1150,21 @@
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/test/src/resources/portlet-test-war" />
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/test/src/resources/tomcat-6.0" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/test/src/resources/portlet-test-war/WEB-INF" />
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/test/src/resources/tomcat-6.0/portlet-test-war" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/test/src/resources/tomcat-6.0/portlet-test-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$/test/src/resources/tomcat-6.0/portlet-test-war/WEB-INF/classes" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
@@ -1160,6 +1188,66 @@
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/test/src/resources/tomcat-6.0" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/test/src/resources/tomcat-6.0/portlet-test-war" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/test/src/resources/tomcat-6.0/portlet-test-war/META-INF" />
+ <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="test" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/test" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/test/src" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/test/src/resources" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/test/src/resources/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="test" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/test" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/test/src" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/test/src/resources" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
<option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/test/src/resources/portlet-test-war" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
@@ -1167,10 +1255,40 @@
<option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/test/src/resources/portlet-test-war/WEB-INF" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
+ </PATH>
+ <PATH>
<PATH_ELEMENT>
- <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/test/src/resources/portlet-test-war/WEB-INF/classes" />
+ <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="test" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/test" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
</PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/test/src" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/test/src/resources" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/test/src/resources/jboss-4.2" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/test/src/resources/jboss-4.2/portlet-test-war" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/test/src/resources/jboss-4.2/portlet-test-war/WEB-INF" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
@@ -1204,6 +1322,36 @@
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
+ <option name="myItemId" value="test" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/test" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/test/src" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/test/src/main" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/test/src/main/org/jboss/portal/portlet/test" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
+ <PATH_ELEMENT>
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/test/src/main/org/jboss/portal/portlet/test/deployment" />
+ <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>
@@ -1239,6 +1387,10 @@
<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>
@@ -1258,21 +1410,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/main" />
+ <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/main/org/jboss/portal" />
+ <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/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/main/org/jboss/portal/test/portlet" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
- </PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
@@ -1292,17 +1436,29 @@
<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="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/main/org/jboss/portal" />
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/portlet/src/resources/portal-portlet-lib-jar" />
<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/test" />
+ <option name="myItemId" value="PsiDirectory:$PROJECT_DIR$/portlet/src/resources/portal-portlet-lib-jar/org" />
<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/portal-portlet-lib-jar/org/jboss" />
+ <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/portal-portlet-lib-jar/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/portal-portlet-lib-jar/org/jboss/portal/portlet" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
@@ -1336,23 +1492,29 @@
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
- <option name="myItemId" value="jsr168api" />
+ <option name="myItemId" value="portlet" />
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
</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" />
+ <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="jsr168api" />
- <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+ <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$/jsr168api" />
+ <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>
@@ -1360,9 +1522,37 @@
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
- <option name="myItemId" value="federation" />
+ <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/support" />
+ <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/support/spi" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
</PATH>
<PATH>
<PATH_ELEMENT>
@@ -1370,13 +1560,33 @@
<option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
</PATH_ELEMENT>
<PATH_ELEMENT>
- <option name="myItemId" value="federation" />
+ <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$/federation" />
+ <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/support" />
+ <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+ </PATH_ELEMENT>
</PATH>
</subPane>
</component>
@@ -1391,7 +1601,7 @@
<showLibraryContents />
<hideEmptyPackages />
<abbreviatePackageNames />
- <showStructure Scope="false" ProjectPane="false" PackagesPane="false" Favorites="false" />
+ <showStructure Favorites="false" PackagesPane="false" Scope="false" ProjectPane="false" />
<autoscrollToSource />
<autoscrollFromSource />
<sortByType />
@@ -1417,13 +1627,33 @@
<recent name="org.jboss.portal.portlet.registry" />
</key>
<key name="MoveClassesOrPackagesDialog.RECENTS_KEY">
+ <recent name="org.jboss.portal.portlet.test.deployment" />
<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.Tomcat">
+ <component name="RunManager" selected="Remote.Runner">
+ <configuration default="true" type="Applet" factoryName="Applet">
+ <module name="" />
+ <option name="MAIN_CLASS_NAME" />
+ <option name="HTML_FILE_NAME" />
+ <option name="HTML_USED" value="false" />
+ <option name="WIDTH" value="400" />
+ <option name="HEIGHT" value="300" />
+ <option name="POLICY_FILE" value="$APPLICATION_HOME_DIR$/bin/appletviewer.policy" />
+ <option name="VM_PARAMETERS" />
+ <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
+ <option name="ALTERNATIVE_JRE_PATH" />
+ </configuration>
+ <configuration default="true" 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="5005" />
+ </configuration>
<configuration default="true" type="Application" factoryName="Application" enabled="false" merge="false">
<option name="MAIN_CLASS_NAME" />
<option name="VM_PARAMETERS" />
@@ -1453,25 +1683,6 @@
<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" />
- <option name="SHMEM_ADDRESS" value="javadebug" />
- <option name="HOST" value="localhost" />
- <option name="PORT" value="5005" />
- </configuration>
- <configuration default="true" type="Applet" factoryName="Applet">
- <module name="" />
- <option name="MAIN_CLASS_NAME" />
- <option name="HTML_FILE_NAME" />
- <option name="HTML_USED" value="false" />
- <option name="WIDTH" value="400" />
- <option name="HEIGHT" value="300" />
- <option name="POLICY_FILE" value="$APPLICATION_HOME_DIR$/bin/appletviewer.policy" />
- <option name="VM_PARAMETERS" />
- <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
- <option name="ALTERNATIVE_JRE_PATH" />
- </configuration>
<configuration default="false" name="Tomcat" type="Remote" factoryName="Remote">
<option name="USE_SOCKET_TRANSPORT" value="true" />
<option name="SERVER_MODE" value="false" />
@@ -1585,14 +1796,14 @@
</todo-panel>
</component>
<component name="ToolWindowManager">
- <frame x="6" y="37" width="1680" height="958" extended-state="0" />
- <editor active="true" />
+ <frame x="11" y="28" width="1680" height="958" extended-state="0" />
+ <editor active="false" />
<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" />
<window_info id="CVS" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="8" />
<window_info id="IDEtalk" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="3" />
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.33" order="7" />
- <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.329859" order="0" />
+ <window_info id="Project" active="true" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" weight="0.329859" order="0" />
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.329849" order="1" />
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.25" order="1" />
<window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" weight="0.329849" order="8" />
@@ -1698,115 +1909,113 @@
</component>
<component name="com.intellij.openapi.roots.ui.configuration.projectRoot.ProjectRootMasterDetailsConfigurable" proportions="0.11111111" version="1">
<option name="myPlainMode" value="false" />
- <option name="myLastEditedConfigurable" value="federation" />
+ <option name="myLastEditedConfigurable" value="portlet" />
</component>
<component name="com.intellij.profile.ui.ErrorOptionsConfigurable" proportions="" version="1">
<option name="myLastEditedConfigurable" />
</component>
<component name="editorHistoryManager">
- <entry file="file://$PROJECT_DIR$/test/src/main/org/jboss/portal/portlet/test/PortletController.java">
+ <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="316" column="0" selection-start="12030" selection-end="12030" vertical-scroll-proportion="0.19346733">
+ <state line="65" column="64" selection-start="2869" selection-end="2869" vertical-scroll-proportion="0.5918619">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/framework/portlet/components/AbstractUniversalTestPortlet.java">
+ <entry file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/support/spi/ActionContextSupport.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="186" column="25" selection-start="7092" selection-end="7092" vertical-scroll-proportion="0.015075377">
+ <state line="36" column="13" selection-start="2156" selection-end="2156" vertical-scroll-proportion="0.13316892">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/aspects/portlet/ProducerCacheInterceptor.java">
+ <entry file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/support/spi/InstanceContextSupport.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="62" column="0" selection-start="3270" selection-end="3270" vertical-scroll-proportion="0.3517588">
+ <state line="32" column="13" selection-start="2068" selection-end="2068" vertical-scroll-proportion="0.13316892">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/aspects/portlet/ConsumerCacheInterceptor.java">
+ <entry file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/support/spi/PortletInvocationContextSupport.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="130" column="0" selection-start="5733" selection-end="5733" vertical-scroll-proportion="0.19346733">
+ <state line="36" column="13" selection-start="2256" selection-end="2256" vertical-scroll-proportion="0.13316892">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/portlet/src/resources/test/jsr168/ext/expiringcache-war/WEB-INF/portlet.xml">
+ <entry file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/support/spi/RenderContextSupport.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="136" column="66" selection-start="5317" selection-end="5319" vertical-scroll-proportion="0.57788944">
+ <state line="30" column="13" selection-start="1972" selection-end="1972" vertical-scroll-proportion="0.13316892">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/ext/expiringcache/ExpiringCacheSequenceBuilder.java">
+ <entry file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/spi/UserContext.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="62" column="21" selection-start="3543" selection-end="3561" vertical-scroll-proportion="-2.1105528">
+ <state line="34" column="0" selection-start="2037" selection-end="2037" vertical-scroll-proportion="0.16276202">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/ext/common/AbstractCacheSequenceBuilder.java">
+ <entry file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/impl/spi/AbstractUserContext.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="350" column="0" selection-start="14169" selection-end="14169" vertical-scroll-proportion="0.30904523">
+ <state line="70" column="0" selection-start="2962" selection-end="2962" vertical-scroll-proportion="0.4401973">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/test/build.xml">
+ <entry file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/impl/spi/AbstractActionContext.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="315" column="4" selection-start="16440" selection-end="16440" vertical-scroll-proportion="0.8581998">
+ <state line="39" column="22" selection-start="2276" selection-end="2276" vertical-scroll-proportion="0.08508015">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/jsr168/ext/neverexpiringcache/NeverExpiringCacheSequenceBuilder.java">
+ <entry file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/state/ActionContextImpl.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="63" column="0" selection-start="3652" selection-end="3652" vertical-scroll-proportion="0.48241207">
+ <state line="58" column="0" selection-start="2609" selection-end="2609" vertical-scroll-proportion="0.50308263">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/state/PortletSupport.java">
+ <entry file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/state/ValueMapAssert.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">
+ <state line="65" column="0" selection-start="2889" selection-end="2889" vertical-scroll-proportion="0.57706535">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/federation/src/main/org/jboss/portal/test/portlet/federation/FederatingPortletInvokerTestCase.java">
+ <entry file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/spi/InstanceContext.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 line="31" column="0" selection-start="1994" selection-end="1994" vertical-scroll-proportion="0.13316892">
+ <folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/test/portlet/state/PortletInvokerSupport.java">
+ <entry file="file://$PROJECT_DIR$/test/src/main/org/jboss/portal/portlet/test/TestInstanceContext.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">
+ <state line="36" column="13" selection-start="2194" selection-end="2194" vertical-scroll-proportion="0.014796548">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/federation/build.xml">
+ <entry file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/support/spi/UserContextSupport.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="100" column="33" selection-start="5547" selection-end="5547" vertical-scroll-proportion="0.3403206">
+ <state line="35" column="13" selection-start="2071" selection-end="2071" vertical-scroll-proportion="0.13316892">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/portlet/build.xml">
+ <entry file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/support/spi/SecurityContextSupport.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="162" column="72" selection-start="8398" selection-end="8398" vertical-scroll-proportion="0.46609125">
+ <state line="35" column="13" selection-start="2108" selection-end="2108" vertical-scroll-proportion="0.17755857">
<folding />
</state>
</provider>
</entry>
- <entry file="file://$PROJECT_DIR$/tools/etc/buildfragments/modules.ent">
+ <entry file="file://$PROJECT_DIR$/portlet/src/main/org/jboss/portal/portlet/impl/spi/AbstractInstanceContext.java">
<provider selected="true" editor-type-id="text-editor">
- <state line="17" column="89" selection-start="1017" selection-end="1017" vertical-scroll-proportion="0.25154132">
+ <state line="33" column="36" selection-start="2112" selection-end="2135" vertical-scroll-proportion="0.014796548">
<folding />
</state>
</provider>
Modified: modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/aspects/portlet/ContextDispatcherInterceptor.java
===================================================================
--- modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/aspects/portlet/ContextDispatcherInterceptor.java 2007-09-10 23:06:44 UTC (rev 8208)
+++ modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/aspects/portlet/ContextDispatcherInterceptor.java 2007-09-10 23:11:14 UTC (rev 8209)
@@ -26,8 +26,9 @@
import org.jboss.portal.portlet.container.PortletApplication;
import org.jboss.portal.portlet.container.PortletContainer;
import org.jboss.portal.portlet.container.PortletContainerInvoker;
-import org.jboss.portal.web.spi.ServletContainerContext;
import org.jboss.portal.web.RequestDispatchCallback;
+import org.jboss.portal.web.ServletContainer;
+import org.jboss.portal.web.ServletContainerFactory;
import org.jboss.portal.portlet.invocation.PortletInterceptor;
import org.jboss.portal.portlet.invocation.PortletInvocation;
import org.jboss.portal.portlet.spi.RequestContext;
@@ -35,6 +36,8 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.ServletContext;
+import javax.servlet.ServletException;
+import java.io.IOException;
/**
* This interceptor dispatch the call to the target web application.
@@ -49,16 +52,16 @@
public static final String REQ_ATT_COMPONENT_INVOCATION = "org.jboss.portal.attribute.component_invocation";
/** . */
- private ServletContainerContext servletContainerContext;
+ private ServletContainerFactory servletContainerFactory;
- public ServletContainerContext getServletContainerContext()
+ public ServletContainerFactory getServletContainerFactory()
{
- return servletContainerContext;
+ return servletContainerFactory;
}
- public void setServletContainerContext(ServletContainerContext servletContainerContext)
+ public void setServletContainerFactory(ServletContainerFactory servletContainerFactory)
{
- this.servletContainerContext = servletContainerContext;
+ this.servletContainerFactory = servletContainerFactory;
}
protected Object invoke(PortletInvocation invocation) throws Exception, InvocationException
@@ -67,12 +70,24 @@
PortletApplication portletApplication = container.getApplication();
RequestContext reqCtx = invocation.getRequestContext();
ServletContext targetCtx = portletApplication.getContext().getServletContext();
- return reqCtx.dispatch(servletContainerContext, targetCtx, callback, invocation);
+ ServletContainer servletContainer = servletContainerFactory.getServletContainer();
+ try
+ {
+ return reqCtx.dispatch(servletContainer, targetCtx, callback, invocation);
+ }
+ catch (ServletException e)
+ {
+ if (e.getRootCause() != null && e.getRootCause() instanceof Exception)
+ {
+ throw (Exception)e.getRootCause();
+ }
+ throw e;
+ }
}
private static final RequestDispatchCallback callback = new RequestDispatchCallback()
{
- public Object doCallback(ServletContext dispatchedServletContext, HttpServletRequest req, HttpServletResponse resp, Object handback) throws Exception
+ public Object doCallback(ServletContext dispatchedServletContext, HttpServletRequest req, HttpServletResponse resp, Object handback) throws ServletException, IOException
{
PortletInvocation invocation = (PortletInvocation)handback;
@@ -88,6 +103,10 @@
//
return invocation.invokeNext();
}
+ catch (Exception e)
+ {
+ throw new ServletException(e);
+ }
finally
{
// Clear dispatched request and response
Deleted: modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/deployment/JBossApplicationMetaDataFactory.java
===================================================================
--- modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/deployment/JBossApplicationMetaDataFactory.java 2007-09-10 23:06:44 UTC (rev 8208)
+++ modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/deployment/JBossApplicationMetaDataFactory.java 2007-09-10 23:11:14 UTC (rev 8209)
@@ -1,263 +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.deployment;
-
-import org.jboss.portal.common.transaction.Transactions;
-import org.jboss.portal.portlet.impl.jsr168.info.ContainerCacheInfo;
-import org.jboss.portal.portlet.metadata.JBossApplicationMetaData;
-import org.jboss.portal.portlet.metadata.JBossPortletMetaData;
-import org.jboss.portal.portlet.metadata.PolicyPermissionMetaData;
-import org.jboss.xb.binding.GenericObjectModelFactory;
-import org.jboss.xb.binding.UnmarshallingContext;
-import org.xml.sax.Attributes;
-
-/**
- * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
- * @version $Revision: 6720 $
- */
-public class JBossApplicationMetaDataFactory implements GenericObjectModelFactory
-{
-
- public Object newRoot(Object root,
- UnmarshallingContext nav,
- String nsURI,
- String localName,
- Attributes attrs)
- {
- if (root == null)
- {
- root = new JBossApplicationMetaData();
- }
- return root;
- }
-
- public Object completeRoot(Object root, UnmarshallingContext nav, String uri, String name)
- {
- return root;
- }
-
- public Object newChild(Object object, UnmarshallingContext nav, String nsURI, String localName, Attributes attrs)
- {
- if (object instanceof JBossApplicationMetaData)
- {
- if ("portlet".equals(localName))
- {
- return createJBossPortlet();
- }
- }
-// else if (object instanceof JBossPortletMetaData)
-// {
-// if ("security-constraint".equals(localName))
-// {
-// return new SecurityConstraintMetaData();
-// }
-// }
-// else if (object instanceof SecurityConstraintMetaData)
-// {
-// if ("policy-permission".equals(localName))
-// {
-// return new PolicyPermissionMetaData();
-// }
-// }
- else if (object instanceof PolicyPermissionMetaData)
- {
- if ("unchecked".equals(localName))
- {
- return "unchecked";
- }
- }
- return null;
- }
-
- public void addChild(Object parent, Object child, UnmarshallingContext nav, String nsURI, String localName)
- {
- if (parent instanceof JBossApplicationMetaData)
- {
- JBossApplicationMetaData app = (JBossApplicationMetaData)parent;
- if (child instanceof JBossPortletMetaData)
- {
- JBossPortletMetaData portlet = (JBossPortletMetaData)child;
- app.getPortlets().put(portlet.getName(), portlet);
- portlet.merge(app);
- }
- }
-// else if (parent instanceof JBossPortletMetaData)
-// {
-// JBossPortletMetaData portlet = (JBossPortletMetaData)parent;
-// if (child instanceof SecurityConstraintMetaData)
-// {
-// portlet.setSecurityConstraint((SecurityConstraintMetaData)child);
-// }
-// }
-// else if (parent instanceof SecurityConstraintMetaData)
-// {
-// SecurityConstraintMetaData securityConstraint = (SecurityConstraintMetaData)parent;
-// if (child instanceof PolicyPermissionMetaData)
-// {
-// PolicyPermissionMetaData policyPermission = (PolicyPermissionMetaData)child;
-// PolicyPermissionMetaData other = (PolicyPermissionMetaData)securityConstraint.getPolicyPermissions().get(policyPermission.getRoleName());
-// if (other != null)
-// {
-// other.getActions().addAll(policyPermission.getActions());
-// }
-// else
-// {
-// securityConstraint.getPolicyPermissions().put(policyPermission.getRoleName(), policyPermission);
-// }
-// }
-// }
-// else if (parent instanceof PolicyPermissionMetaData)
-// {
-// PolicyPermissionMetaData policyPermission = (PolicyPermissionMetaData)parent;
-// if ("unchecked".equals(child))
-// {
-// policyPermission.setRoleName(SecurityConstants.UNCHECKED_ROLE_NAME);
-// }
-// }
- }
-
- public void setValue(Object object, UnmarshallingContext nav, String nsURI, String localName, String value)
- {
- if (object instanceof JBossApplicationMetaData)
- {
- JBossApplicationMetaData app = (JBossApplicationMetaData)object;
- if ("remotable".equals(localName))
- {
- if ("true".equalsIgnoreCase(value))
- {
- app.setRemotable(Boolean.TRUE);
- }
- else if ("false".equalsIgnoreCase(value))
- {
- app.setRemotable(Boolean.FALSE);
- }
- else
- {
- throw new RuntimeException();
- }
- }
- }
- else if (object instanceof JBossPortletMetaData)
- {
- JBossPortletMetaData portlet = (JBossPortletMetaData)object;
- if ("portlet-name".equals(localName))
- {
- portlet.setName(value);
- }
- else if ("remotable".equals(localName))
- {
- if ("true".equalsIgnoreCase(value))
- {
- portlet.setRemotable(Boolean.TRUE);
- }
- else if ("false".equalsIgnoreCase(value))
- {
- portlet.setRemotable(Boolean.FALSE);
- }
- else
- {
- throw new RuntimeException();
- }
- }
- else if ("distributed".equals(localName))
- {
- if ("true".equalsIgnoreCase(value))
- {
- portlet.setDistributed(Boolean.TRUE);
- }
- else if ("false".equalsIgnoreCase(value))
- {
- portlet.setDistributed(Boolean.FALSE);
- }
- else
- {
- throw new RuntimeException();
- }
- }
- else if ("ref-type".equals(localName))
- {
- if ("strong".equals(localName))
- {
- portlet.setCacheRefType(new Integer(ContainerCacheInfo.REF_STRONG));
- }
- else if ("soft".equals(localName))
- {
- portlet.setCacheRefType(new Integer(ContainerCacheInfo.REF_SOFT));
- }
- else
- {
- // log.warn("Unrecognized reference type " + refType);
- }
- }
- else if ("trans-attribute".equals(localName))
- {
- if ("Required".equalsIgnoreCase(value))
- {
- portlet.setTxType(Transactions.TYPE_REQUIRED);
- }
- else if ("Mandatory".equals(value))
- {
- portlet.setTxType(Transactions.TYPE_MANDATORY);
- }
- else if ("Never".equals(value))
- {
- portlet.setTxType(Transactions.TYPE_NEVER);
- }
- else if ("Supports".equals(value))
- {
- portlet.setTxType(Transactions.TYPE_SUPPORTS);
- }
- else if ("NotSupported".equals(value))
- {
- portlet.setTxType(Transactions.TYPE_NOT_SUPPORTED);
- }
- else if ("RequiresNew".equals(value))
- {
- portlet.setTxType(Transactions.TYPE_REQUIRES_NEW);
- }
- else
- {
- throw new RuntimeException();
- }
- }
- }
- else if (object instanceof PolicyPermissionMetaData)
- {
- PolicyPermissionMetaData policyPermission = (PolicyPermissionMetaData)object;
- if ("role-name".equals(localName))
- {
- policyPermission.setRoleName(value);
- }
- else if ("action-name".equals(localName))
- {
- policyPermission.getActions().add(value);
- }
- }
- }
-
- /** Can be subclasses to allow sub class. */
- protected JBossPortletMetaData createJBossPortlet()
- {
- return new JBossPortletMetaData();
- }
-}
Deleted: modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/deployment/PortletApplicationMetaDataFactory.java
===================================================================
--- modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/deployment/PortletApplicationMetaDataFactory.java 2007-09-10 23:06:44 UTC (rev 8208)
+++ modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/deployment/PortletApplicationMetaDataFactory.java 2007-09-10 23:11:14 UTC (rev 8209)
@@ -1,405 +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.deployment;
-
-import org.jboss.portal.Mode;
-import org.jboss.portal.common.i18n.LocaleFormat;
-import org.jboss.portal.common.util.Tools;
-import org.jboss.portal.common.util.ConversionException;
-import org.jboss.portal.portlet.TransportGuarantee;
-import org.jboss.portal.portlet.impl.jsr168.metadata.CacheConfigMetaData;
-import org.jboss.portal.portlet.impl.jsr168.metadata.ContentTypeMetaData;
-import org.jboss.portal.portlet.impl.jsr168.metadata.DescribableObjectMetaData;
-import org.jboss.portal.portlet.impl.jsr168.metadata.DescriptionMetaData;
-import org.jboss.portal.portlet.impl.jsr168.metadata.DisplayNameMetaData;
-import org.jboss.portal.portlet.impl.jsr168.metadata.LanguagesMetaData;
-import org.jboss.portal.portlet.impl.jsr168.metadata.LocalizedValueMetaData;
-import org.jboss.portal.portlet.impl.jsr168.metadata.ParameterMetaData;
-import org.jboss.portal.portlet.impl.jsr168.metadata.PortletApplicationMetaData;
-import org.jboss.portal.portlet.impl.jsr168.metadata.PortletMetaData;
-import org.jboss.portal.portlet.impl.jsr168.metadata.PreferenceMetaData;
-import org.jboss.portal.portlet.impl.jsr168.metadata.SecurityConstraintMetaData;
-import org.jboss.portal.portlet.impl.jsr168.metadata.SecurityRoleRefMetaData;
-import org.jboss.portal.portlet.impl.jsr168.metadata.TransportGuaranteesMetaData;
-import org.jboss.portal.portlet.impl.jsr168.metadata.UserAttributeMetaData;
-import org.jboss.xb.binding.GenericObjectModelFactory;
-import org.jboss.xb.binding.UnmarshallingContext;
-import org.xml.sax.Attributes;
-import org.apache.log4j.Logger;
-
-import java.util.Iterator;
-import java.util.List;
-import java.util.Locale;
-
-/**
- * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
- * @version $Revision: 7200 $
- */
-public class PortletApplicationMetaDataFactory implements GenericObjectModelFactory
-{
-
- /** . */
- private static final Logger log = Logger.getLogger(PortletApplicationMetaDataFactory.class);
-
- public Object newRoot(Object root, UnmarshallingContext nav, String nsURI, String localName, Attributes attrs)
- {
- return new PortletApplicationMetaData();
- }
-
- public Object completeRoot(Object root, UnmarshallingContext ctx, String nsURI, String name)
- {
- return root;
- }
-
- public Object newChild(Object object, UnmarshallingContext nav, String nsURI, String localName, Attributes attrs)
- {
- if (object instanceof DescribableObjectMetaData)
- {
- if ("description".equals(localName))
- {
- String lang = attrs.getValue("xml:lang");
- DescriptionMetaData value = new DescriptionMetaData();
- if (lang != null)
- {
- try
- {
- Locale locale = LocaleFormat.DEFAULT.getLocale(lang);
- value.setLocale(locale);
- }
- catch (ConversionException e)
- {
- log.error("Cannot obtain language value", e);
- return null;
- }
- }
- return value;
- }
- }
- if (object instanceof PortletApplicationMetaData)
- {
- if ("portlet".equals(localName))
- {
- return new PortletMetaData();
- }
- else if ("user-attribute".equals(localName))
- {
- return new UserAttributeMetaData();
- }
- else if ("security-constraint".equals(localName))
- {
- return new SecurityConstraintMetaData();
- }
- }
- if (object instanceof PortletMetaData)
- {
- if ("init-param".equals(localName))
- {
- return new ParameterMetaData();
- }
- else if ("supports".equals(localName))
- {
- return new ContentTypeMetaData();
- }
- else if ("portlet-info".equals(localName))
- {
- return new LanguagesMetaData.InfoMetaData();
- }
- else if ("security-role-ref".equals(localName))
- {
- return new SecurityRoleRefMetaData();
- }
- else if ("preference".equals(localName))
- {
- return new PreferenceMetaData();
- }
- else if ("display-name".equals(localName))
- {
- String lang = attrs.getValue("xml:lang");
- DisplayNameMetaData value = new DisplayNameMetaData();
- if (lang != null)
- {
- try
- {
- Locale locale = LocaleFormat.DEFAULT.getLocale(lang);
- value.setLocale(locale);
- }
- catch (ConversionException e)
- {
- log.error("Cannot obtain language value", e);
- return null;
- }
- }
- return value;
- }
- }
- return null;
- }
-
- public void addChild(Object parent, Object child, UnmarshallingContext nav, String nsURI, String localName)
- {
- if (parent instanceof DescribableObjectMetaData)
- {
- DescribableObjectMetaData describable = (DescribableObjectMetaData)parent;
- if (child instanceof DescriptionMetaData)
- {
- describable.getDescription().getValues().add(child);
- }
- }
- if (parent instanceof PortletApplicationMetaData)
- {
- PortletApplicationMetaData pa = (PortletApplicationMetaData)parent;
- if (child instanceof PortletMetaData)
- {
- pa.addPortlet((PortletMetaData)child);
- }
- else if (child instanceof UserAttributeMetaData)
- {
- UserAttributeMetaData userAttribute = (UserAttributeMetaData)child;
- pa.getUserAttributes().put(userAttribute.getName(), userAttribute);
- }
- else if (child instanceof SecurityConstraintMetaData)
- {
- SecurityConstraintMetaData security = (SecurityConstraintMetaData)child;
- for (Iterator i = security.getPortlets().iterator(); i.hasNext();)
- {
- String portletName = (String)i.next();
- PortletMetaData portlet = pa.getPortlet(portletName);
- if (portlet.getTransportGuarantees() == null)
- {
- portlet.setTransportGuarantees(new TransportGuaranteesMetaData());
- }
- portlet.getTransportGuarantees().add(security.getTransportGuarantee());
- }
-
- }
- }
- if (parent instanceof PortletMetaData)
- {
- PortletMetaData portlet = (PortletMetaData)parent;
- if (child instanceof ParameterMetaData)
- {
- ParameterMetaData parameter = (ParameterMetaData)child;
- portlet.getParameters().put(parameter.getName(), parameter);
- }
- else if (child instanceof ContentTypeMetaData)
- {
- portlet.getContentTypes().addContentType((ContentTypeMetaData)child);
- }
- else if (child instanceof LanguagesMetaData.InfoMetaData)
- {
-
- LanguagesMetaData.InfoMetaData info = (LanguagesMetaData.InfoMetaData)child;
- if (info.getTitle() == null)
- {
- // JBossXB won't populate <title></title>
- info.setTitle("");
- }
- portlet.getLanguages().setInfo(info);
- }
- else if (child instanceof SecurityRoleRefMetaData)
- {
- portlet.getSecurityRoleRefs().add(child);
- }
- else if (child instanceof DisplayNameMetaData)
- {
- portlet.getDisplayName().getValues().add(child);
- }
- }
- if (parent instanceof PortletMetaData)
- {
- PortletMetaData preferences = (PortletMetaData)parent;
- if (child instanceof PreferenceMetaData)
- {
- preferences.getPreferences().addPreference((PreferenceMetaData)child);
- }
- }
- }
-
- public void setValue(Object object, UnmarshallingContext nav, String nsURI, String localName, String value)
- {
- if (object instanceof PortletApplicationMetaData)
- {
- PortletApplicationMetaData app = (PortletApplicationMetaData)object;
- if ("version".equals(localName))
- {
- app.setVersion(value);
- }
- }
- if (object instanceof LocalizedValueMetaData)
- {
- LocalizedValueMetaData localizedValue = (LocalizedValueMetaData)object;
- if ("description".equals(localName))
- {
- localizedValue.setValue(value);
- }
- else if ("display-name".equals(localName))
- {
- localizedValue.setValue(value);
- }
- }
- if (object instanceof PortletMetaData)
- {
- PortletMetaData portlet = (PortletMetaData)object;
- if ("portlet-name".equals(localName))
- {
- portlet.setName(value);
- }
- else if ("portlet-class".equals(localName))
- {
- portlet.setClassName(value);
- }
- else if ("expiration-cache".equals(localName))
- {
- CacheConfigMetaData cacheConfig = portlet.getCacheConfig();
- if (cacheConfig == null)
- {
- cacheConfig = new CacheConfigMetaData();
- portlet.setCacheConfig(cacheConfig);
- }
- int timeMillis = Integer.parseInt(value);
- cacheConfig.setExpirationTime(timeMillis);
- }
- else if ("resource-bundle".equals(localName))
- {
- portlet.getLanguages().setResourceBundle(value);
- }
- else if ("supported-locale".equals(localName))
- {
- try
- {
- Locale locale = LocaleFormat.DEFAULT.getLocale(value);
- portlet.getLanguages().getSupportedLocales().add(locale);
- }
- catch (ConversionException e)
- {
- log.error("Cannot obtain language value", e);
- }
- }
- else if ("preferences-validator".equals(localName))
- {
- portlet.getPreferences().setValidator(value);
- }
- }
- if (object instanceof ParameterMetaData)
- {
- ParameterMetaData parameter = (ParameterMetaData)object;
- if ("name".equals(localName))
- {
- parameter.setName(value);
- }
- else if ("value".equals(localName))
- {
- parameter.setValue(value);
- }
- }
- if (object instanceof ContentTypeMetaData)
- {
- ContentTypeMetaData contentType = (ContentTypeMetaData)object;
- if ("mime-type".equals(localName))
- {
- contentType.setContentType(value);
- }
- else if ("portlet-mode".equals(localName))
- {
- contentType.getModes().add(Mode.create(value));
- }
- }
- if (object instanceof LanguagesMetaData.InfoMetaData)
- {
- LanguagesMetaData.InfoMetaData info = (LanguagesMetaData.InfoMetaData)object;
- if ("title".equals(localName))
- {
- info.setTitle(value);
- }
- else if ("short-title".equals(localName))
- {
- info.setShortTitle(value);
- }
- else if ("keywords".equals(localName))
- {
- info.setKeywords(value);
- }
- }
- if (object instanceof PreferenceMetaData)
- {
- PreferenceMetaData preference = (PreferenceMetaData)object;
- if ("name".equals(localName))
- {
- preference.setName(value);
- }
- else if ("value".equals(localName))
- {
- List tmp = Tools.toList(preference.getValues());
- tmp.add(value);
- preference.setValues((String[])tmp.toArray(new String[tmp.size()]));
- }
- else if ("read-only".equals(localName))
- {
- if ("true".equalsIgnoreCase(value))
- {
- preference.setReadOnly(true);
- }
- else if ("false".equalsIgnoreCase(value))
- {
- preference.setReadOnly(false);
- }
- else
- {
- throw new RuntimeException("Unrecognized read only value" + value);
- }
- }
- }
- if (object instanceof SecurityRoleRefMetaData)
- {
- SecurityRoleRefMetaData srr = (SecurityRoleRefMetaData)object;
- if ("role-name".equals(localName))
- {
- srr.setRoleName(value);
- }
- else if ("role-link".equals(localName))
- {
- srr.setRoleLink(value);
- }
- }
- if (object instanceof UserAttributeMetaData)
- {
- UserAttributeMetaData userAttribute = (UserAttributeMetaData)object;
- if ("name".equals(localName))
- {
- userAttribute.setName(value);
- }
- }
- else if (object instanceof SecurityConstraintMetaData)
- {
- SecurityConstraintMetaData security = (SecurityConstraintMetaData)object;
- if ("portlet-name".equals(localName))
- {
- security.addPortlet(value);
- }
- if ("transport-guarantee".equals(localName))
- {
- security.setTransportGuarantee(TransportGuarantee.decode(value));
- }
- }
- }
-}
Deleted: modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/deployment/ValueTrimmingFilter.java
===================================================================
--- modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/deployment/ValueTrimmingFilter.java 2007-09-10 23:06:44 UTC (rev 8208)
+++ modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/deployment/ValueTrimmingFilter.java 2007-09-10 23:11:14 UTC (rev 8209)
@@ -1,75 +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.deployment;
-
-import org.jboss.xb.binding.GenericObjectModelFactory;
-import org.jboss.xb.binding.UnmarshallingContext;
-import org.xml.sax.Attributes;
-
-/**
- * Filter <code>setValue</code> method by doing a trimming before calling the next model.
- *
- * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
- * @version $Revision: 6713 $
- */
-public class ValueTrimmingFilter implements GenericObjectModelFactory
-{
-
- private final GenericObjectModelFactory next;
-
- public ValueTrimmingFilter(GenericObjectModelFactory next) throws IllegalArgumentException
- {
- if (next == null)
- {
- throw new IllegalArgumentException("Cannot be null");
- }
- this.next = next;
- }
-
- public Object newChild(Object object, UnmarshallingContext nav, String nsURI, String localName, Attributes attrs)
- {
- return next.newChild(object, nav, nsURI, localName, attrs);
- }
-
- public void addChild(Object parent, Object child, UnmarshallingContext nav, String nsURI, String localName)
- {
- next.addChild(parent, child, nav, nsURI, localName);
- }
-
- public void setValue(Object object, UnmarshallingContext nav, String nsURI, String localName, String value)
- {
- value = value.trim();
- next.setValue(object, nav, nsURI, localName, value);
- }
-
- public Object newRoot(Object root, UnmarshallingContext nav, String nsURI, String localName, Attributes attrs)
- {
- return next.newRoot(root, nav, nsURI, localName, attrs);
- }
-
- public Object completeRoot(Object root, UnmarshallingContext nav, String nsURI, String localName)
- {
- return next.completeRoot(root, nav, nsURI, localName);
- }
-
-}
Modified: modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/impl/spi/AbstractRequestContext.java
===================================================================
--- modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/impl/spi/AbstractRequestContext.java 2007-09-10 23:06:44 UTC (rev 8208)
+++ modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/impl/spi/AbstractRequestContext.java 2007-09-10 23:11:14 UTC (rev 8209)
@@ -23,8 +23,8 @@
package org.jboss.portal.portlet.impl.spi;
import org.jboss.portal.portlet.spi.RequestContext;
-import org.jboss.portal.web.spi.ServletContainerContext;
import org.jboss.portal.web.RequestDispatchCallback;
+import org.jboss.portal.web.ServletContainer;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -76,8 +76,8 @@
return serverPort;
}
- public Object dispatch(ServletContainerContext scc, ServletContext targetCtx, RequestDispatchCallback callback, Object handback) throws Exception
+ public Object dispatch(ServletContainer servletContainer, ServletContext targetServletContext, RequestDispatchCallback callback, Object handback) throws Exception
{
- return scc.include(targetCtx, req, resp, callback, handback);
+ return servletContainer.include(targetServletContext, req, resp, callback, handback);
}
}
Modified: 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 2007-09-10 23:06:44 UTC (rev 8208)
+++ modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/impl/spi/AbstractUserContext.java 2007-09-10 23:11:14 UTC (rev 8209)
@@ -39,27 +39,47 @@
{
/** . */
- private HttpServletRequest clientRequest;
+ private final String id;
- public AbstractUserContext(HttpServletRequest clientRequest)
+ /** . */
+ private final HttpServletRequest clientRequest;
+
+ public AbstractUserContext(HttpServletRequest clientRequest) throws IllegalArgumentException
{
if (clientRequest == null)
{
throw new IllegalArgumentException("No client request provided");
}
+ this.id = clientRequest.getRemoteUser();
this.clientRequest = clientRequest;
}
+ public AbstractUserContext(String id) throws IllegalArgumentException
+ {
+ if (id == null)
+ {
+ throw new IllegalArgumentException("No user id provided");
+ }
+ this.id = id;
+ this.clientRequest = null;
+ }
+
+ public AbstractUserContext()
+ {
+ this.id = null;
+ this.clientRequest = null;
+ }
+
/**
- * Returns null.
+ * Returns the user id or null if none was provided.
*/
public String getId()
{
- return clientRequest.getRemoteUser();
+ return id;
}
/**
- * Returns <code>Collections.EMPTY_MAP</code>.
+ * Returns an immutable empty map.
*/
public Map getInformations()
{
@@ -67,18 +87,18 @@
}
/**
- * Returns <code>Locale.ENGLISH</code>.
+ * Returns the client request locale or <code>Locale.ENGLISH</code> if no request was provided.
*/
public Locale getLocale()
{
- return clientRequest.getLocale();
+ return clientRequest != null ? clientRequest.getLocale() : Locale.ENGLISH;
}
/**
- * Returns <code>Collections.EMPTY_LIST</code>.
+ * Returns the client request locales or an empty list if no request was provided.
*/
public List getLocales()
{
- return Tools.toList(clientRequest.getLocales());
+ return clientRequest != null ? Tools.toList(clientRequest.getLocales()) : Collections.EMPTY_LIST;
}
}
Modified: modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/spi/RequestContext.java
===================================================================
--- modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/spi/RequestContext.java 2007-09-10 23:06:44 UTC (rev 8208)
+++ modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/spi/RequestContext.java 2007-09-10 23:11:14 UTC (rev 8209)
@@ -22,8 +22,8 @@
******************************************************************************/
package org.jboss.portal.portlet.spi;
-import org.jboss.portal.web.spi.ServletContainerContext;
import org.jboss.portal.web.RequestDispatchCallback;
+import org.jboss.portal.web.ServletContainer;
import javax.servlet.ServletContext;
@@ -54,13 +54,13 @@
/**
* Delegate to the request context the dispatching to the target servlet context using the specified spi elements.
*
- * @param servletContainerContext the servlet container spi
+ * @param servletContainer the servlet container spi
* @param targetServletContext the target servlet context
* @param callback the call back to be done after dispatch
* @param handback the hand back object to provide after dispatch to the call back
* @return the call back returned object
* @throws Exception any exception
*/
- Object dispatch(ServletContainerContext servletContainerContext, ServletContext targetServletContext, RequestDispatchCallback callback, Object handback) throws Exception;
+ Object dispatch(ServletContainer servletContainer, ServletContext targetServletContext, RequestDispatchCallback callback, Object handback) throws Exception;
}
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-09-10 23:06:44 UTC (rev 8208)
+++ modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/framework/portlet/PortletTestContext.java 2007-09-10 23:11:14 UTC (rev 8209)
@@ -23,7 +23,6 @@
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;
@@ -40,7 +39,7 @@
final String testName;
/** . */
- final HTTPTestContext testContext;
+ final TestContext testContext;
public PortletTestContext(String testName, TestContext httpTestContext)
{
@@ -48,12 +47,8 @@
{
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)httpTestContext;
+ this.testContext = 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-09-10 23:06:44 UTC (rev 8208)
+++ modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/framework/portlet/PortletTestDriver.java 2007-09-10 23:11:14 UTC (rev 8209)
@@ -187,7 +187,7 @@
public DriverResponse invoke(String string, DriverCommand driverCommand) throws TestDriverException
{
- return new InvokeGetResponse(context.testContext.getInitialPath());
+ return new InvokeGetResponse("/portlet-test");
}
}
}
Deleted: modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/deployment/UnmarshallerTestCase.java
===================================================================
--- modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/deployment/UnmarshallerTestCase.java 2007-09-10 23:06:44 UTC (rev 8208)
+++ modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/deployment/UnmarshallerTestCase.java 2007-09-10 23:11:14 UTC (rev 8209)
@@ -1,208 +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.test.portlet.deployment;
-
-import junit.framework.TestCase;
-import org.jboss.portal.common.transaction.Transactions;
-import org.jboss.portal.common.net.URLTools;
-import org.jboss.portal.portlet.TransportGuarantee;
-import org.jboss.portal.portlet.deployment.JBossApplicationMetaDataFactory;
-import org.jboss.portal.portlet.deployment.PortletApplicationMetaDataFactory;
-import org.jboss.portal.portlet.impl.jsr168.metadata.LocalizedValueMetaData;
-import org.jboss.portal.portlet.impl.jsr168.metadata.ParameterMetaData;
-import org.jboss.portal.portlet.impl.jsr168.metadata.PortletApplicationMetaData;
-import org.jboss.portal.portlet.impl.jsr168.metadata.PortletMetaData;
-import org.jboss.portal.portlet.impl.jsr168.metadata.SecurityRoleRefMetaData;
-import org.jboss.portal.portlet.impl.jsr168.metadata.UserAttributeMetaData;
-import org.jboss.portal.portlet.metadata.JBossApplicationMetaData;
-import org.jboss.portal.portlet.metadata.JBossPortletMetaData;
-import org.jboss.xb.binding.Unmarshaller;
-import org.jboss.xb.binding.UnmarshallerFactory;
-
-import java.net.URL;
-import java.util.Locale;
-
-/**
- * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
- * @version $Revision: 7379 $
- */
-public class UnmarshallerTestCase extends TestCase
-{
-
- public void testJBossPortletXML() throws Exception
- {
- URL jbossPortletXML = Thread.currentThread().getContextClassLoader().getResource("test/deployment/jboss-portlet.xml");
- assertTrue(URLTools.exists(jbossPortletXML));
-
- //
- JBossApplicationMetaDataFactory factory = new JBossApplicationMetaDataFactory();
-
- //
- Unmarshaller unmarshaller = UnmarshallerFactory.newInstance().newUnmarshaller();
-
- //
- Object o = unmarshaller.unmarshal(jbossPortletXML.openStream(), factory, null);
- assertNotNull(o);
- assertTrue(o instanceof JBossApplicationMetaData);
- JBossApplicationMetaData app = (JBossApplicationMetaData)o;
-
- //
- assertNotNull(app.getPortlets());
- assertEquals(2, app.getPortlets().size());
-
- //
- JBossPortletMetaData portlet1 = (JBossPortletMetaData)app.getPortlets().get("Portlet1");
- assertNotNull(portlet1);
- assertEquals("Portlet1", portlet1.getName());
- assertEquals(Boolean.FALSE, portlet1.getRemotable());
- assertEquals(Transactions.TYPE_REQUIRED, portlet1.getTxType());
-// assertNotNull(portlet1.getSecurityConstraint());
-// assertNotNull(portlet1.getSecurityConstraint().getPolicyPermissions());
-// assertEquals(2, portlet1.getSecurityConstraint().getPolicyPermissions().size());
-// assertNotNull(portlet1.getSecurityConstraint().getPolicyPermissions().get("Admin"));
-// assertEquals("Admin", ((PolicyPermissionMetaData)portlet1.getSecurityConstraint().getPolicyPermissions().get("Admin")).getRoleName());
-// assertEquals(new CollectionBuilder().add("view").add("create").toHashSet(), ((PolicyPermissionMetaData)portlet1.getSecurityConstraint().getPolicyPermissions().get("Admin")).getActions());
-// assertEquals("User", ((PolicyPermissionMetaData)portlet1.getSecurityConstraint().getPolicyPermissions().get("User")).getRoleName());
-// assertEquals(new CollectionBuilder().add("view").add("destroy").toHashSet(), ((PolicyPermissionMetaData)portlet1.getSecurityConstraint().getPolicyPermissions().get("User")).getActions());
-
- JBossPortletMetaData portlet2 = (JBossPortletMetaData)app.getPortlets().get("Portlet2");
- assertNotNull(portlet2);
- assertEquals("Portlet2", portlet2.getName());
- Boolean remotable = portlet2.getRemotable();
- assertNotNull(remotable);
- assertTrue(remotable.booleanValue());
- }
-
- public void testPortletXML() throws Exception
- {
- URL portletXML = Thread.currentThread().getContextClassLoader().getResource("test/deployment/portlet.xml");
- assertTrue(URLTools.exists(portletXML));
-
- //
-// URL portletXSD = Thread.currentThread().getContextClassLoader().getResource("portlet-app_1_0.xsd");
-// assertTrue(Tools.exists(portletXSD));
-
- //
- PortletApplicationMetaDataFactory factory = new PortletApplicationMetaDataFactory();
-
- //
- Unmarshaller unmarshaller = UnmarshallerFactory.newInstance().newUnmarshaller();
-
- //
- Object o = unmarshaller.unmarshal(portletXML.openStream(), factory, null);
- assertNotNull(o);
- assertTrue(o instanceof PortletApplicationMetaData);
- PortletApplicationMetaData app = (PortletApplicationMetaData)o;
-
- //
- assertEquals(2, app.getPortlets().size());
-
- //
- PortletMetaData portlet1 = app.getPortlet("Portlet1");
- assertNotNull(portlet1);
-
- //
- assertEquals("Portlet1", portlet1.getName());
- assertEquals("org.jboss.portal.test.portlet.TestPortlet", portlet1.getClassName());
-
-// <display-name>display</display-name>
-// <display-name xml:lang="fr">affichage</display-name>
-
- assertNotNull(portlet1.getDescription());
- assertNotNull(portlet1.getDescription().getValues());
- assertEquals(2, portlet1.getDescription().getValues().size());
- assertEquals(null, ((LocalizedValueMetaData)portlet1.getDescription().getValues().get(0)).getLocale());
- assertEquals("default", ((LocalizedValueMetaData)portlet1.getDescription().getValues().get(0)).getValue());
- assertEquals(Locale.FRENCH, ((LocalizedValueMetaData)portlet1.getDescription().getValues().get(1)).getLocale());
- assertEquals("defaut", ((LocalizedValueMetaData)portlet1.getDescription().getValues().get(1)).getValue());
- assertNotNull(portlet1.getDisplayName());
- assertNotNull(portlet1.getDisplayName().getValues());
- assertEquals(2, portlet1.getDisplayName().getValues().size());
- assertEquals(null, ((LocalizedValueMetaData)portlet1.getDisplayName().getValues().get(0)).getLocale());
- assertEquals("display", ((LocalizedValueMetaData)portlet1.getDisplayName().getValues().get(0)).getValue());
- assertEquals(Locale.FRENCH, ((LocalizedValueMetaData)portlet1.getDisplayName().getValues().get(1)).getLocale());
- assertEquals("affichage", ((LocalizedValueMetaData)portlet1.getDisplayName().getValues().get(1)).getValue());
- assertNotNull(portlet1.getParameters());
- assertEquals(2, portlet1.getParameters().size());
- assertNotNull(portlet1.getParameters().get("one"));
- assertNotNull(portlet1.getCacheConfig());
- assertEquals(0, portlet1.getCacheConfig().getExpirationTime());
- assertEquals("one", ((ParameterMetaData)portlet1.getParameters().get("one")).getName());
- assertEquals("1", ((ParameterMetaData)portlet1.getParameters().get("one")).getValue());
- assertEquals("two", ((ParameterMetaData)portlet1.getParameters().get("two")).getName());
- assertEquals("2", ((ParameterMetaData)portlet1.getParameters().get("two")).getValue());
- assertNotNull(portlet1.getLanguages());
- assertNotNull(portlet1.getLanguages().getInfo());
- assertEquals("very long portlet title", portlet1.getLanguages().getInfo().getTitle());
- assertEquals("short portlet title", portlet1.getLanguages().getInfo().getShortTitle());
- assertEquals("a,b,c,d,e,f", portlet1.getLanguages().getInfo().getKeywords());
- assertEquals("MyResourceBundle", portlet1.getLanguages().getResourceBundle());
- assertNotNull(portlet1.getLanguages().getSupportedLocales());
- assertEquals(2, portlet1.getLanguages().getSupportedLocales().size());
- assertEquals(Locale.ENGLISH, portlet1.getLanguages().getSupportedLocales().get(0));
- assertEquals(Locale.FRENCH, portlet1.getLanguages().getSupportedLocales().get(1));
- assertNotNull(portlet1.getPreferences());
- assertEquals(4, portlet1.getPreferences().size());
- assertNotNull(portlet1.getPreferences().getPreference("one"));
- assertNotNull(portlet1.getPreferences().getPreference("two"));
- assertNotNull(portlet1.getPreferences().getPreference("three"));
- assertNotNull(portlet1.getPreferences().getPreference("all"));
- assertEquals("one", portlet1.getPreferences().getPreference("one").getName());
- assertEquals("two", portlet1.getPreferences().getPreference("two").getName());
- assertEquals("three", portlet1.getPreferences().getPreference("three").getName());
- assertEquals("all", portlet1.getPreferences().getPreference("all").getName());
- assertNotNull(portlet1.getPreferences().getPreference("one").getValues());
- assertNotNull(portlet1.getPreferences().getPreference("two").getValues());
- assertNotNull(portlet1.getPreferences().getPreference("three").getValues());
- assertNotNull(portlet1.getPreferences().getPreference("all").getValues());
- assertEquals(1, portlet1.getPreferences().getPreference("one").getValues().length);
- assertEquals(1, portlet1.getPreferences().getPreference("two").getValues().length);
- assertEquals(1, portlet1.getPreferences().getPreference("three").getValues().length);
- assertEquals(3, portlet1.getPreferences().getPreference("all").getValues().length);
- assertFalse(portlet1.getPreferences().getPreference("one").isReadOnly());
- assertFalse(portlet1.getPreferences().getPreference("two").isReadOnly());
- assertTrue(portlet1.getPreferences().getPreference("three").isReadOnly());
- assertFalse(portlet1.getPreferences().getPreference("all").isReadOnly());
- assertEquals("MyValidator", portlet1.getPreferences().getValidator());
- assertNotNull(portlet1.getSecurityRoleRefs());
- assertEquals(2, portlet1.getSecurityRoleRefs().size());
- assertNotNull(portlet1.getSecurityRoleRefs().get(0));
- assertNotNull(portlet1.getSecurityRoleRefs().get(1));
- assertEquals("ROLE_NAME_WITHOUT_LINK", ((SecurityRoleRefMetaData)portlet1.getSecurityRoleRefs().get(0)).getRoleName());
- assertEquals(null, ((SecurityRoleRefMetaData)portlet1.getSecurityRoleRefs().get(0)).getRoleLink());
- assertEquals("ROLE_NAME_WITH_LINK", ((SecurityRoleRefMetaData)portlet1.getSecurityRoleRefs().get(1)).getRoleName());
- assertEquals("ROLE_LINK", ((SecurityRoleRefMetaData)portlet1.getSecurityRoleRefs().get(1)).getRoleLink());
-
- assertTrue(portlet1.getTransportGuarantees().contains(TransportGuarantee.CONFIDENTIAL));
- assertTrue(portlet1.getTransportGuarantees().contains(TransportGuarantee.INTEGRAL));
-
- //
- assertNotNull(app.getUserAttributes());
- assertEquals(2, app.getUserAttributes().size());
- assertNotNull(app.getUserAttributes().get("att1"));
- assertEquals("att1", ((UserAttributeMetaData)app.getUserAttributes().get("att1")).getName());
- assertNotNull(app.getUserAttributes().get("att2"));
- assertEquals("att2", ((UserAttributeMetaData)app.getUserAttributes().get("att2")).getName());
- }
-
-}
Modified: modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/info/AbstractInfoTest.java
===================================================================
--- modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/info/AbstractInfoTest.java 2007-09-10 23:06:44 UTC (rev 8208)
+++ modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/info/AbstractInfoTest.java 2007-09-10 23:11:14 UTC (rev 8209)
@@ -32,14 +32,14 @@
import org.jboss.portal.test.framework.driver.command.StartTestCommand;
import org.jboss.portal.test.framework.info.TestItemInfo;
import org.jboss.portal.test.framework.info.TestInfo;
-import org.jboss.portal.test.framework.driver.http.HTTPTestDriver;
import org.jboss.portal.test.framework.driver.remote.TestContext;
+import org.jboss.portal.test.framework.driver.remote.RemoteTestDriver;
/**
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
* @version $Revision: 1.1 $
*/
-public abstract class AbstractInfoTest implements HTTPTestDriver
+public abstract class AbstractInfoTest implements RemoteTestDriver
{
/** The test id. */
Modified: modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/info/SecurityInfoTest.java
===================================================================
--- modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/info/SecurityInfoTest.java 2007-09-10 23:06:44 UTC (rev 8208)
+++ modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/info/SecurityInfoTest.java 2007-09-10 23:11:14 UTC (rev 8209)
@@ -27,7 +27,6 @@
import org.jboss.portal.portlet.info.PortletInfo;
import org.jboss.portal.portlet.info.SecurityInfo;
import org.jboss.portal.common.junit.ExtendedAssert;
-import org.jboss.portal.test.framework.driver.http.HTTPTestContext;
/**
* @author <a href="mailto:boleslaw.dawidowicz@jboss.org">Boleslaw Dawidowicz</a>
Modified: modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/jsr168/tck/portletinterface/spec/ExceptionsDuringRequestHandlingControllerPortlet.java
===================================================================
--- modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/jsr168/tck/portletinterface/spec/ExceptionsDuringRequestHandlingControllerPortlet.java 2007-09-10 23:06:44 UTC (rev 8208)
+++ modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/jsr168/tck/portletinterface/spec/ExceptionsDuringRequestHandlingControllerPortlet.java 2007-09-10 23:11:14 UTC (rev 8209)
@@ -22,9 +22,9 @@
******************************************************************************/
package org.jboss.portal.test.portlet.jsr168.tck.portletinterface.spec;
-import org.jboss.portal.test.framework.driver.http.HTTPTestContext;
import org.jboss.portal.test.framework.driver.response.EndTestResponse;
import org.jboss.portal.test.framework.driver.DriverResponse;
+import org.jboss.portal.test.framework.driver.remote.TestContext;
import org.jboss.portal.common.junit.ExtendedAssert;
import org.jboss.portal.test.framework.driver.http.response.InvokeGetResponse;
import org.jboss.portal.test.framework.portlet.components.AbstractTestPortlet;
@@ -59,7 +59,7 @@
return "ExceptionsDuringRequestHandlingPortlet";
}
- protected DriverResponse doRender(RenderRequest req, RenderResponse resp, HTTPTestContext context) throws PortletException, PortletSecurityException, IOException
+ protected DriverResponse doRender(RenderRequest req, RenderResponse resp, TestContext context) throws PortletException, PortletSecurityException, IOException
{
if (context.getRequestCount() == 0)
{
@@ -88,7 +88,7 @@
PortletURL url = resp.createRenderURL();
return new InvokeGetResponse(url.toString());
}
- else if (HTTPTestContext.isCurrentRequestCount(5))
+ else if (context.getRequestCount() == 5)
{
//portlets that shouldn't render itself after Exception in Action Phase
ExtendedAssert.assertEquals(false, PortletExceptionDuringRequestHandlingPortlet.rendered);
Modified: modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/jsr168/tck/portletinterface/spec/PortletExceptionDuringRequestHandlingPortlet.java
===================================================================
--- modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/jsr168/tck/portletinterface/spec/PortletExceptionDuringRequestHandlingPortlet.java 2007-09-10 23:06:44 UTC (rev 8208)
+++ modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/jsr168/tck/portletinterface/spec/PortletExceptionDuringRequestHandlingPortlet.java 2007-09-10 23:11:14 UTC (rev 8209)
@@ -22,9 +22,9 @@
******************************************************************************/
package org.jboss.portal.test.portlet.jsr168.tck.portletinterface.spec;
-import org.jboss.portal.test.framework.driver.http.HTTPTestContext;
import org.jboss.portal.test.framework.portlet.components.AbstractTestPortlet;
import org.jboss.portal.test.framework.driver.DriverResponse;
+import org.jboss.portal.test.framework.driver.remote.TestContext;
import javax.portlet.ActionRequest;
import javax.portlet.ActionResponse;
@@ -57,7 +57,7 @@
return "ExceptionsDuringRequestHandlingPortlet";
}
- protected DriverResponse doProcessAction(ActionRequest req, ActionResponse resp, HTTPTestContext context) throws PortletException, IOException
+ protected DriverResponse doProcessAction(ActionRequest req, ActionResponse resp, TestContext context) throws PortletException, IOException
{
if (context.isRequestCount(2))
{
@@ -66,7 +66,7 @@
return null;
}
- protected DriverResponse doRender(RenderRequest req, RenderResponse resp, HTTPTestContext context) throws PortletException, IOException
+ protected DriverResponse doRender(RenderRequest req, RenderResponse resp, TestContext context) throws PortletException, IOException
{
if (context.isRequestCount(0))
{
Modified: modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/jsr168/tck/portletinterface/spec/RuntimeExceptionDuringRequestHandlingPortlet.java
===================================================================
--- modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/jsr168/tck/portletinterface/spec/RuntimeExceptionDuringRequestHandlingPortlet.java 2007-09-10 23:06:44 UTC (rev 8208)
+++ modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/jsr168/tck/portletinterface/spec/RuntimeExceptionDuringRequestHandlingPortlet.java 2007-09-10 23:11:14 UTC (rev 8209)
@@ -22,9 +22,9 @@
******************************************************************************/
package org.jboss.portal.test.portlet.jsr168.tck.portletinterface.spec;
-import org.jboss.portal.test.framework.driver.http.HTTPTestContext;
import org.jboss.portal.test.framework.portlet.components.AbstractTestPortlet;
import org.jboss.portal.test.framework.driver.DriverResponse;
+import org.jboss.portal.test.framework.driver.remote.TestContext;
import javax.portlet.ActionRequest;
import javax.portlet.ActionResponse;
@@ -59,7 +59,7 @@
return "ExceptionsDuringRequestHandlingPortlet";
}
- protected DriverResponse doProcessAction(ActionRequest req, ActionResponse resp, HTTPTestContext context) throws PortletException, IOException
+ protected DriverResponse doProcessAction(ActionRequest req, ActionResponse resp, TestContext context) throws PortletException, IOException
{
if (context.isRequestCount(3))
{
@@ -68,7 +68,7 @@
return null;
}
- protected DriverResponse doRender(RenderRequest req, RenderResponse resp, HTTPTestContext context) throws PortletException, IOException
+ protected DriverResponse doRender(RenderRequest req, RenderResponse resp, TestContext context) throws PortletException, IOException
{
if (context.isRequestCount(0))
{
Modified: modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/jsr168/tck/portletinterface/spec/UnavailableExceptionDuringProcessActionPortlet.java
===================================================================
--- modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/jsr168/tck/portletinterface/spec/UnavailableExceptionDuringProcessActionPortlet.java 2007-09-10 23:06:44 UTC (rev 8208)
+++ modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/jsr168/tck/portletinterface/spec/UnavailableExceptionDuringProcessActionPortlet.java 2007-09-10 23:11:14 UTC (rev 8209)
@@ -22,9 +22,9 @@
******************************************************************************/
package org.jboss.portal.test.portlet.jsr168.tck.portletinterface.spec;
-import org.jboss.portal.test.framework.driver.http.HTTPTestContext;
import org.jboss.portal.test.framework.portlet.components.AbstractTestPortlet;
import org.jboss.portal.test.framework.driver.DriverResponse;
+import org.jboss.portal.test.framework.driver.remote.TestContext;
import javax.portlet.ActionRequest;
import javax.portlet.ActionResponse;
@@ -57,7 +57,7 @@
return "ExceptionsDuringRequestHandlingPortlet";
}
- protected DriverResponse doProcessAction(ActionRequest req, ActionResponse resp, HTTPTestContext context) throws PortletException, IOException
+ protected DriverResponse doProcessAction(ActionRequest req, ActionResponse resp, TestContext context) throws PortletException, IOException
{
if (context.isRequestCount(4))
{
@@ -66,7 +66,7 @@
return null;
}
- protected DriverResponse doRender(RenderRequest req, RenderResponse resp, HTTPTestContext context) throws PortletException, IOException
+ protected DriverResponse doRender(RenderRequest req, RenderResponse resp, TestContext context) throws PortletException, IOException
{
if (context.isRequestCount(0))
{
Modified: modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/jsr168/tck/portletinterface/spec/UnavailableExceptionDuringRenderPortlet.java
===================================================================
--- modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/jsr168/tck/portletinterface/spec/UnavailableExceptionDuringRenderPortlet.java 2007-09-10 23:06:44 UTC (rev 8208)
+++ modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/jsr168/tck/portletinterface/spec/UnavailableExceptionDuringRenderPortlet.java 2007-09-10 23:11:14 UTC (rev 8209)
@@ -22,9 +22,9 @@
******************************************************************************/
package org.jboss.portal.test.portlet.jsr168.tck.portletinterface.spec;
-import org.jboss.portal.test.framework.driver.http.HTTPTestContext;
import org.jboss.portal.test.framework.portlet.components.AbstractTestPortlet;
import org.jboss.portal.test.framework.driver.DriverResponse;
+import org.jboss.portal.test.framework.driver.remote.TestContext;
import javax.portlet.PortletException;
import javax.portlet.RenderRequest;
@@ -52,7 +52,7 @@
return "ExceptionsDuringRequestHandlingPortlet";
}
- protected DriverResponse doRender(RenderRequest req, RenderResponse resp, HTTPTestContext context) throws PortletException, IOException
+ protected DriverResponse doRender(RenderRequest req, RenderResponse resp, TestContext context) throws PortletException, IOException
{
if (context.isRequestCount(0))
{
Modified: 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/ActionContextImpl.java 2007-09-10 23:06:44 UTC (rev 8208)
+++ modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/state/ActionContextImpl.java 2007-09-10 23:11:14 UTC (rev 8209)
@@ -40,6 +40,8 @@
public ActionContextImpl(Mode mode)
{
this.mode = mode;
+
+ //
addResolver(PortletInvocation.REQUEST_SCOPE, new MapAttributeResolver());
addResolver(PortletInvocation.INVOCATION_SCOPE, new MapAttributeResolver());
}
Modified: modules/portlet/trunk/test/build.xml
===================================================================
--- modules/portlet/trunk/test/build.xml 2007-09-10 23:06:44 UTC (rev 8208)
+++ modules/portlet/trunk/test/build.xml 2007-09-10 23:11:14 UTC (rev 8209)
@@ -158,14 +158,40 @@
<fileset dir="${build.classes}"/>
</jar>
- <!-- Portlet test lib jar -->
- <copy todir="${build.resources}/portlet-test-war/WEB-INF/lib">
+ <!-- JBoss 4.2 portlet-test.war -->
+ <copy todir="${build.resources}/jboss-4.2/portlet-test-war/WEB-INF/lib">
<fileset dir="${build.lib}" includes="portlet-test-lib.jar"/>
- <fileset dir="${jboss.portal/modules/common.lib}" includes="portal-common-portal-lib.jar"/>
+ <fileset dir="${jboss.portal/modules/common.lib}" includes="portal-common-portal-lib.jar,portal-common-mc-lib.jar"/>
+ <fileset dir="${jboss.portal-portlet.lib}" includes="portal-portlet-lib.jar"/>
+
+ <fileset dir="${jboss.microcontainer.lib}" includes="*.jar"/>
+ <fileset dir="${jboss/common.core.lib}" includes="*.jar"/>
+ <fileset dir="${jboss/common.logging.log4j.lib}" includes="*.jar"/>
+ <fileset dir="${jboss/common.logging.spi.lib}" includes="*.jar"/>
+ <fileset dir="${jboss.aop.lib}" includes="*.jar"/>
+ <fileset dir="${jboss.jbossxb.lib}" includes="*.jar"/>
+ <fileset dir="${jboss/jboss.vfs.lib}" includes="*.jar"/>
+ <fileset dir="${javassist.javassist.lib}" includes="*.jar"/>
+ <fileset dir="${apache.xerces.lib}" includes="*.jar"/>
+ <fileset dir="${wutka.dtdparser.lib}" includes="*.jar"/>
+ <fileset dir="${oswego.concurrent.lib}" includes="*.jar"/>
+ <fileset dir="${trove.trove.lib}" includes="*.jar"/>
+
+ </copy>
+ <mkdir dir="${build.lib}/jboss-4.2"/>
+ <jar jarfile="${build.lib}/jboss-4.2/portlet-test.war">
+ <fileset dir="${build.resources}/jboss-4.2/portlet-test-war"/>
+ <fileset dir="${build.resources}/portlet-test-war"/>
+ </jar>
+
+ <!-- Tomcat 6.0 portlet-test.war -->
+ <copy todir="${build.resources}/tomcat-6.0/portlet-test-war/WEB-INF/lib">
+ <fileset dir="${build.lib}" includes="portlet-test-lib.jar"/>
+ <fileset dir="${jboss.portal/modules/common.lib}" includes="portal-common-portal-lib.jar,portal-common-mc-lib.jar"/>
<fileset dir="${jboss.portal/modules/test.lib}" includes="portal-test-generic-lib.jar"/>
- <fileset dir="${jboss.portal-portlet.lib}" includes="*.jar"/>
+ <fileset dir="${jboss.portal-portlet.lib}" includes="portal-portlet-lib.jar"/>
- <fileset dir="${jboss.remoting.lib}" includes="jboss-remoting.jar"/>
+ <fileset dir="${jboss.remoting.lib}" includes="*.jar"/>
<fileset dir="${jboss.microcontainer.lib}" includes="*.jar"/>
<fileset dir="${jboss/common.core.lib}" includes="*.jar"/>
@@ -175,15 +201,18 @@
<fileset dir="${jboss.jbossxb.lib}" includes="*.jar"/>
<fileset dir="${jboss/jboss.vfs.lib}" includes="*.jar"/>
<fileset dir="${javassist.javassist.lib}" includes="*.jar"/>
- <!--<fileset dir="${apache.log4j.lib}" includes="*.jar"/>-->
<fileset dir="${apache.xerces.lib}" includes="*.jar"/>
<fileset dir="${wutka.dtdparser.lib}" includes="*.jar"/>
<fileset dir="${oswego.concurrent.lib}" includes="*.jar"/>
<fileset dir="${trove.trove.lib}" includes="*.jar"/>
+
</copy>
- <jar jarfile="${build.lib}/portlet-test.war">
+ <mkdir dir="${build.lib}/tomcat-6.0"/>
+ <jar jarfile="${build.lib}/tomcat-6.0/portlet-test.war">
+ <fileset dir="${build.resources}/tomcat-6.0/portlet-test-war"/>
<fileset dir="${build.resources}/portlet-test-war"/>
</jar>
+
</target>
<!-- create artifacts for running the portlet tests (except TCK) target output should have already been executed -->
@@ -237,8 +266,6 @@
<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"/>
@@ -269,6 +296,10 @@
</target>
<target name="bilto" depends="init">
+
+ <!--<property name="ServerName" value="RemoteJBoss-4.2"/>-->
+ <property name="ServerName" value="RemoteTomcat-6.0"/>
+
<execute-tests>
<x-test>
@@ -278,222 +309,264 @@
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"/>
+ <parameter name="serverName" value="${ServerName}"/>
</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"/>
+ <parameter name="serverName" value="${ServerName}"/>
</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"/>
+ <parameter name="serverName" value="${ServerName}"/>
</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"/>
+ <parameter name="serverName" value="${ServerName}"/>
</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"/>
+ <parameter name="serverName" value="${ServerName}"/>
</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"/>
+ <parameter name="serverName" value="${ServerName}"/>
</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"/>
+ <parameter name="serverName" value="${ServerName}"/>
</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"/>
+ <parameter name="serverName" value="${ServerName}"/>
</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"/>
+ <parameter name="serverName" value="${ServerName}"/>
</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"/>
+ <parameter name="serverName" value="${ServerName}"/>
</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"/>
+ <parameter name="serverName" value="${ServerName}"/>
</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"/>
+ <parameter name="serverName" value="${ServerName}"/>
</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"/>
+ <parameter name="serverName" value="${ServerName}"/>
</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"/>
+ <parameter name="serverName" value="${ServerName}"/>
</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"/>
+ <parameter name="serverName" value="${ServerName}"/>
</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"/>
+ <parameter name="serverName" value="${ServerName}"/>
</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"/>
+ <parameter name="serverName" value="${ServerName}"/>
</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"/>
+ <parameter name="serverName" value="${ServerName}"/>
</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"/>
+ <parameter name="serverName" value="${ServerName}"/>
</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"/>
+ <parameter name="serverName" value="${ServerName}"/>
</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"/>
+ <parameter name="serverName" value="${ServerName}"/>
</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"/>
+ <parameter name="serverName" value="${ServerName}"/>
</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"/>
+ <parameter name="serverName" value="${ServerName}"/>
</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"/>
+ <parameter name="serverName" value="${ServerName}"/>
</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"/>
+ <parameter name="serverName" value="${ServerName}"/>
</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"/>
+ <parameter name="serverName" value="${ServerName}"/>
</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"/>
+ <parameter name="serverName" value="${ServerName}"/>
</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"/>
+ <parameter name="serverName" value="${ServerName}"/>
</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"/>
+ <parameter name="serverName" value="${ServerName}"/>
</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"/>
+ <parameter name="serverName" value="${ServerName}"/>
</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"/>
+ <parameter name="serverName" value="${ServerName}"/>
</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"/>
+ <parameter name="serverName" value="${ServerName}"/>
</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"/>
+ <parameter name="serverName" value="${ServerName}"/>
</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"/>
+ <parameter name="serverName" value="${ServerName}"/>
</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"/>
+ <parameter name="serverName" value="${ServerName}"/>
</zest>
+-->
</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"/>
@@ -509,13 +582,11 @@
<path refid="apache.httpclient.classpath"/>
<path refid="apache.logging.classpath"/>
<path refid="apache.codec.classpath"/>
+ <pathelement location="${build.resources}/test"/>
<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"/>
<fileset dir="${jboss.portal/modules/test.lib}" includes="portal-test-generic-lib.jar"/>
<path refid="library.classpath"/>
Deleted: 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-09-10 23:06:44 UTC (rev 8208)
+++ modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/PortalKernelBootstrap.java 2007-09-10 23:11:14 UTC (rev 8209)
@@ -1,154 +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.kernel.plugins.bootstrap.basic.BasicBootstrap;
-import org.jboss.kernel.plugins.deployment.xml.BeanXMLDeployer;
-import org.jboss.kernel.spi.deployment.KernelDeployment;
-import org.jboss.kernel.spi.event.KernelEventListener;
-import org.jboss.kernel.spi.event.KernelEvent;
-import org.jboss.kernel.spi.registry.KernelRegistryEntry;
-import org.jboss.kernel.spi.registry.KernelRegistry;
-import org.apache.log4j.Logger;
-
-import javax.servlet.ServletContext;
-import javax.servlet.ServletContextListener;
-import javax.servlet.ServletContextEvent;
-import java.net.URL;
-
-/**
- * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
- * @version $Revision: 1.1 $
- */
-public class PortalKernelBootstrap extends BasicBootstrap implements ServletContextListener, KernelEventListener
-{
-
- /** . */
- private final static Logger log = Logger.getLogger(PortalKernelBootstrap.class);
-
- /** . */
- private ServletContext servletContext;
-
- /** . */
- private BeanXMLDeployer deployer;
-
- /** . */
- private KernelDeployment deployment;
-
- /** . */
- private boolean registered;
-
- protected void bootstrap() throws Throwable
- {
- super.bootstrap();
-
- //
- getKernel().getRegistry().registerListener(this, null, "ABC");
- registered = true;
-
- //
- deployer = new BeanXMLDeployer(getKernel());
-
- //
- URL url = servletContext.getResource("/WEB-INF/jboss-beans.xml");
- deployment = deployer.deploy(url);
- }
-
- public void contextInitialized(ServletContextEvent event)
- {
- servletContext = event.getServletContext();
-
- try
- {
- Class c = Thread.currentThread().getContextClassLoader().loadClass("org.jboss.portal.test.framework.impl.generic.server.GenericServiceExporter");
- System.out.println("Loaded " + c.getName());
- System.out.println("Loaded " + c.getName());
- System.out.println("Loaded " + c.getName());
- System.out.println("Loaded " + c.getName());
- System.out.println("Loaded " + c.getName());
- System.out.println("Loaded " + c.getName());
- System.out.println("Loaded " + c.getName());
- System.out.println("Loaded " + c.getName());
- }
- catch (ClassNotFoundException e)
- {
- e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
- }
-
- // For now we do it here
- System.setProperty("org.jboss.logging.Logger.pluginClass", "org.jboss.logging.log4j.Log4jLoggerPlugin");
-
- //
- run();
- log.info("Test Portal started");
- }
-
- public void contextDestroyed(ServletContextEvent event)
- {
- if (deployment != null)
- {
- deployer.undeploy(deployment);
- }
-
- //
- if (registered)
- {
- registered = false;
- try
- {
- KernelRegistry registry = getKernel().getRegistry();
- registry.unregisterListener(this, null, "ABC");
- }
- catch (Throwable throwable)
- {
- log.error("Cannot unregister kernel registry listener", throwable);
- }
- }
-
- //
- servletContext = null;
-
- //
- log.info("Test Portal stopped");
- }
-
- public void onEvent(KernelEvent event, Object object)
- {
- Object context = event.getContext();
- if (context instanceof String)
- {
- String key = (String)context;
- String type = event.getType();
- if ("KERNEL_REGISTRY_REGISTERED".equals(type))
- {
- KernelRegistryEntry entry = getKernel().getRegistry().getEntry(context);
- Object target = entry.getTarget();
- servletContext.setAttribute(key, target);
- }
- else if ("KERNEL_REGISTRY_UNREGISTERED".equals(type))
- {
- servletContext.removeAttribute(key);
- }
- }
- }
-}
Modified: modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/PortletApplicationDeployer.java
===================================================================
--- modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/PortletApplicationDeployer.java 2007-09-10 23:06:44 UTC (rev 8208)
+++ modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/PortletApplicationDeployer.java 2007-09-10 23:11:14 UTC (rev 8209)
@@ -27,10 +27,9 @@
import org.jboss.portal.web.WebAppLifeCycleEvent;
import org.jboss.portal.web.WebApp;
import org.jboss.portal.web.ServletContainer;
-import org.jboss.portal.web.spi.ServletContainerContext;
import org.jboss.portal.portlet.impl.jsr168.metadata.PortletApplicationMetaData;
-import org.jboss.portal.portlet.deployment.PortletApplicationMetaDataFactory;
-import org.jboss.portal.portlet.deployment.ValueTrimmingFilter;
+import org.jboss.portal.portlet.test.deployment.PortletApplicationMetaDataFactory;
+import org.jboss.portal.portlet.test.deployment.ValueTrimmingFilter;
import org.jboss.portal.portlet.container.PortletApplication;
import org.jboss.portal.portlet.container.PortletContainer;
import org.jboss.portal.portlet.container.PortletApplicationRegistry;
@@ -64,7 +63,7 @@
private PortletApplicationRegistry registry;
/** . */
- private ServletContainerContext containerContext;
+ private ServletContainer servletContainer;
/** . */
private KernelControllerContext controllerContext;
@@ -88,6 +87,16 @@
this.registry = registry;
}
+ public ServletContainer getServletContainer()
+ {
+ return servletContainer;
+ }
+
+ public void setServletContainer(ServletContainer servletContainer)
+ {
+ this.servletContainer = servletContainer;
+ }
+
public void onEvent(WebAppEvent event)
{
if (event instanceof WebAppLifeCycleEvent)
@@ -116,7 +125,7 @@
Thread.currentThread().setContextClassLoader(classLoader);
Kernel kernel = controllerContext.getKernel();
PortletApplicationDeployment deployment = new PortletApplicationDeployment(kernel, webApp, metaData);
- deploymentMap.put(webApp.getId(), deployment);
+ deploymentMap.put(webApp.getContextPath(), deployment);
deployment.start();
}
finally
@@ -128,7 +137,7 @@
private void remove(WebApp webApp)
{
- PortletApplicationDeployment deployment = (PortletApplicationDeployment)deploymentMap.remove(webApp.getId());
+ PortletApplicationDeployment deployment = (PortletApplicationDeployment)deploymentMap.remove(webApp.getContextPath());
if (deployment != null)
{
ClassLoader oldCL = Thread.currentThread().getContextClassLoader();
@@ -162,25 +171,17 @@
public void start()
{
- containerContext = ServletContainer.getContext();
classLoader = Thread.currentThread().getContextClassLoader();
//
- if (containerContext != null)
- {
- containerContext.addWebAppListener(this);
- }
+ servletContainer.addWebAppListener(this);
}
public void stop()
{
- if (containerContext != null)
- {
- containerContext.removeWebAppListener(this);
- }
+ servletContainer.removeWebAppListener(this);
//
- containerContext = null;
classLoader = null;
}
@@ -198,7 +199,7 @@
PortletApplicationMetaDataFactory factory = new PortletApplicationMetaDataFactory();
Unmarshaller unmarshaller = UnmarshallerFactory.newInstance().newUnmarshaller();
PortletApplicationMetaData portletAppMD = (PortletApplicationMetaData)unmarshaller.unmarshal(in, new ValueTrimmingFilter(factory), null);
- portletAppMD.setId(webApp.getId());
+ portletAppMD.setId(webApp.getContextPath());
return portletAppMD;
}
finally
Modified: modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/PortletApplicationDeployment.java
===================================================================
--- modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/PortletApplicationDeployment.java 2007-09-10 23:06:44 UTC (rev 8208)
+++ modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/PortletApplicationDeployment.java 2007-09-10 23:11:14 UTC (rev 8209)
@@ -83,13 +83,13 @@
this.kernel = kernel;
this.webApp = webApp;
this.metaData = metaData;
- this.log = Logger.getLogger(PortletApplicationDeployment.class + "." + webApp.getId().replace('.', '_'));
+ this.log = Logger.getLogger(PortletApplicationDeployment.class + "." + webApp.getContextPath().replace('.', '_'));
}
void start()
{
- String id = "PortletApplication[" + webApp.getId() + "]";
+ String id = "PortletApplication[" + webApp.getContextPath() + "]";
log.debug("Starting installation");
//
@@ -99,7 +99,7 @@
for (Iterator i = metaData.getPortlets().iterator(); i.hasNext();)
{
PortletMetaData portletMetaData = (PortletMetaData)i.next();
- String portletContainerId = "PortletContainer[" + webApp.getId() + "," + portletMetaData.getName() + "]";
+ String portletContainerId = "PortletContainer[" + webApp.getContextPath() + "," + portletMetaData.getName() + "]";
AbstractBeanMetaData bmd = new AbstractBeanMetaData(portletContainerId, PortletContainerImpl.class.getName());
AbstractConstructorMetaData ctormd = new AbstractConstructorMetaData();
ctormd.setParameters(new CollectionBuilder().
Copied: modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/deployment/JBossApplicationMetaDataFactory.java (from rev 7982, modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/deployment/JBossApplicationMetaDataFactory.java)
===================================================================
--- modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/deployment/JBossApplicationMetaDataFactory.java (rev 0)
+++ modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/deployment/JBossApplicationMetaDataFactory.java 2007-09-10 23:11:14 UTC (rev 8209)
@@ -0,0 +1,263 @@
+/******************************************************************************
+ * 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.deployment;
+
+import org.jboss.portal.common.transaction.Transactions;
+import org.jboss.portal.portlet.impl.jsr168.info.ContainerCacheInfo;
+import org.jboss.portal.portlet.metadata.JBossApplicationMetaData;
+import org.jboss.portal.portlet.metadata.JBossPortletMetaData;
+import org.jboss.portal.portlet.metadata.PolicyPermissionMetaData;
+import org.jboss.xb.binding.GenericObjectModelFactory;
+import org.jboss.xb.binding.UnmarshallingContext;
+import org.xml.sax.Attributes;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 6720 $
+ */
+public class JBossApplicationMetaDataFactory implements GenericObjectModelFactory
+{
+
+ public Object newRoot(Object root,
+ UnmarshallingContext nav,
+ String nsURI,
+ String localName,
+ Attributes attrs)
+ {
+ if (root == null)
+ {
+ root = new JBossApplicationMetaData();
+ }
+ return root;
+ }
+
+ public Object completeRoot(Object root, UnmarshallingContext nav, String uri, String name)
+ {
+ return root;
+ }
+
+ public Object newChild(Object object, UnmarshallingContext nav, String nsURI, String localName, Attributes attrs)
+ {
+ if (object instanceof JBossApplicationMetaData)
+ {
+ if ("portlet".equals(localName))
+ {
+ return createJBossPortlet();
+ }
+ }
+// else if (object instanceof JBossPortletMetaData)
+// {
+// if ("security-constraint".equals(localName))
+// {
+// return new SecurityConstraintMetaData();
+// }
+// }
+// else if (object instanceof SecurityConstraintMetaData)
+// {
+// if ("policy-permission".equals(localName))
+// {
+// return new PolicyPermissionMetaData();
+// }
+// }
+ else if (object instanceof PolicyPermissionMetaData)
+ {
+ if ("unchecked".equals(localName))
+ {
+ return "unchecked";
+ }
+ }
+ return null;
+ }
+
+ public void addChild(Object parent, Object child, UnmarshallingContext nav, String nsURI, String localName)
+ {
+ if (parent instanceof JBossApplicationMetaData)
+ {
+ JBossApplicationMetaData app = (JBossApplicationMetaData)parent;
+ if (child instanceof JBossPortletMetaData)
+ {
+ JBossPortletMetaData portlet = (JBossPortletMetaData)child;
+ app.getPortlets().put(portlet.getName(), portlet);
+ portlet.merge(app);
+ }
+ }
+// else if (parent instanceof JBossPortletMetaData)
+// {
+// JBossPortletMetaData portlet = (JBossPortletMetaData)parent;
+// if (child instanceof SecurityConstraintMetaData)
+// {
+// portlet.setSecurityConstraint((SecurityConstraintMetaData)child);
+// }
+// }
+// else if (parent instanceof SecurityConstraintMetaData)
+// {
+// SecurityConstraintMetaData securityConstraint = (SecurityConstraintMetaData)parent;
+// if (child instanceof PolicyPermissionMetaData)
+// {
+// PolicyPermissionMetaData policyPermission = (PolicyPermissionMetaData)child;
+// PolicyPermissionMetaData other = (PolicyPermissionMetaData)securityConstraint.getPolicyPermissions().get(policyPermission.getRoleName());
+// if (other != null)
+// {
+// other.getActions().addAll(policyPermission.getActions());
+// }
+// else
+// {
+// securityConstraint.getPolicyPermissions().put(policyPermission.getRoleName(), policyPermission);
+// }
+// }
+// }
+// else if (parent instanceof PolicyPermissionMetaData)
+// {
+// PolicyPermissionMetaData policyPermission = (PolicyPermissionMetaData)parent;
+// if ("unchecked".equals(child))
+// {
+// policyPermission.setRoleName(SecurityConstants.UNCHECKED_ROLE_NAME);
+// }
+// }
+ }
+
+ public void setValue(Object object, UnmarshallingContext nav, String nsURI, String localName, String value)
+ {
+ if (object instanceof JBossApplicationMetaData)
+ {
+ JBossApplicationMetaData app = (JBossApplicationMetaData)object;
+ if ("remotable".equals(localName))
+ {
+ if ("true".equalsIgnoreCase(value))
+ {
+ app.setRemotable(Boolean.TRUE);
+ }
+ else if ("false".equalsIgnoreCase(value))
+ {
+ app.setRemotable(Boolean.FALSE);
+ }
+ else
+ {
+ throw new RuntimeException();
+ }
+ }
+ }
+ else if (object instanceof JBossPortletMetaData)
+ {
+ JBossPortletMetaData portlet = (JBossPortletMetaData)object;
+ if ("portlet-name".equals(localName))
+ {
+ portlet.setName(value);
+ }
+ else if ("remotable".equals(localName))
+ {
+ if ("true".equalsIgnoreCase(value))
+ {
+ portlet.setRemotable(Boolean.TRUE);
+ }
+ else if ("false".equalsIgnoreCase(value))
+ {
+ portlet.setRemotable(Boolean.FALSE);
+ }
+ else
+ {
+ throw new RuntimeException();
+ }
+ }
+ else if ("distributed".equals(localName))
+ {
+ if ("true".equalsIgnoreCase(value))
+ {
+ portlet.setDistributed(Boolean.TRUE);
+ }
+ else if ("false".equalsIgnoreCase(value))
+ {
+ portlet.setDistributed(Boolean.FALSE);
+ }
+ else
+ {
+ throw new RuntimeException();
+ }
+ }
+ else if ("ref-type".equals(localName))
+ {
+ if ("strong".equals(localName))
+ {
+ portlet.setCacheRefType(new Integer(ContainerCacheInfo.REF_STRONG));
+ }
+ else if ("soft".equals(localName))
+ {
+ portlet.setCacheRefType(new Integer(ContainerCacheInfo.REF_SOFT));
+ }
+ else
+ {
+ // log.warn("Unrecognized reference type " + refType);
+ }
+ }
+ else if ("trans-attribute".equals(localName))
+ {
+ if ("Required".equalsIgnoreCase(value))
+ {
+ portlet.setTxType(Transactions.TYPE_REQUIRED);
+ }
+ else if ("Mandatory".equals(value))
+ {
+ portlet.setTxType(Transactions.TYPE_MANDATORY);
+ }
+ else if ("Never".equals(value))
+ {
+ portlet.setTxType(Transactions.TYPE_NEVER);
+ }
+ else if ("Supports".equals(value))
+ {
+ portlet.setTxType(Transactions.TYPE_SUPPORTS);
+ }
+ else if ("NotSupported".equals(value))
+ {
+ portlet.setTxType(Transactions.TYPE_NOT_SUPPORTED);
+ }
+ else if ("RequiresNew".equals(value))
+ {
+ portlet.setTxType(Transactions.TYPE_REQUIRES_NEW);
+ }
+ else
+ {
+ throw new RuntimeException();
+ }
+ }
+ }
+ else if (object instanceof PolicyPermissionMetaData)
+ {
+ PolicyPermissionMetaData policyPermission = (PolicyPermissionMetaData)object;
+ if ("role-name".equals(localName))
+ {
+ policyPermission.setRoleName(value);
+ }
+ else if ("action-name".equals(localName))
+ {
+ policyPermission.getActions().add(value);
+ }
+ }
+ }
+
+ /** Can be subclasses to allow sub class. */
+ protected JBossPortletMetaData createJBossPortlet()
+ {
+ return new JBossPortletMetaData();
+ }
+}
Property changes on: modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/deployment/JBossApplicationMetaDataFactory.java
___________________________________________________________________
Name: svn:executable
+
Copied: modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/deployment/PortletApplicationMetaDataFactory.java (from rev 7982, modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/deployment/PortletApplicationMetaDataFactory.java)
===================================================================
--- modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/deployment/PortletApplicationMetaDataFactory.java (rev 0)
+++ modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/deployment/PortletApplicationMetaDataFactory.java 2007-09-10 23:11:14 UTC (rev 8209)
@@ -0,0 +1,405 @@
+/******************************************************************************
+ * 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.deployment;
+
+import org.jboss.portal.Mode;
+import org.jboss.portal.common.i18n.LocaleFormat;
+import org.jboss.portal.common.util.Tools;
+import org.jboss.portal.common.util.ConversionException;
+import org.jboss.portal.portlet.TransportGuarantee;
+import org.jboss.portal.portlet.impl.jsr168.metadata.CacheConfigMetaData;
+import org.jboss.portal.portlet.impl.jsr168.metadata.ContentTypeMetaData;
+import org.jboss.portal.portlet.impl.jsr168.metadata.DescribableObjectMetaData;
+import org.jboss.portal.portlet.impl.jsr168.metadata.DescriptionMetaData;
+import org.jboss.portal.portlet.impl.jsr168.metadata.DisplayNameMetaData;
+import org.jboss.portal.portlet.impl.jsr168.metadata.LanguagesMetaData;
+import org.jboss.portal.portlet.impl.jsr168.metadata.LocalizedValueMetaData;
+import org.jboss.portal.portlet.impl.jsr168.metadata.ParameterMetaData;
+import org.jboss.portal.portlet.impl.jsr168.metadata.PortletApplicationMetaData;
+import org.jboss.portal.portlet.impl.jsr168.metadata.PortletMetaData;
+import org.jboss.portal.portlet.impl.jsr168.metadata.PreferenceMetaData;
+import org.jboss.portal.portlet.impl.jsr168.metadata.SecurityConstraintMetaData;
+import org.jboss.portal.portlet.impl.jsr168.metadata.SecurityRoleRefMetaData;
+import org.jboss.portal.portlet.impl.jsr168.metadata.TransportGuaranteesMetaData;
+import org.jboss.portal.portlet.impl.jsr168.metadata.UserAttributeMetaData;
+import org.jboss.xb.binding.GenericObjectModelFactory;
+import org.jboss.xb.binding.UnmarshallingContext;
+import org.xml.sax.Attributes;
+import org.apache.log4j.Logger;
+
+import java.util.Iterator;
+import java.util.List;
+import java.util.Locale;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 7200 $
+ */
+public class PortletApplicationMetaDataFactory implements GenericObjectModelFactory
+{
+
+ /** . */
+ private static final Logger log = Logger.getLogger(PortletApplicationMetaDataFactory.class);
+
+ public Object newRoot(Object root, UnmarshallingContext nav, String nsURI, String localName, Attributes attrs)
+ {
+ return new PortletApplicationMetaData();
+ }
+
+ public Object completeRoot(Object root, UnmarshallingContext ctx, String nsURI, String name)
+ {
+ return root;
+ }
+
+ public Object newChild(Object object, UnmarshallingContext nav, String nsURI, String localName, Attributes attrs)
+ {
+ if (object instanceof DescribableObjectMetaData)
+ {
+ if ("description".equals(localName))
+ {
+ String lang = attrs.getValue("xml:lang");
+ DescriptionMetaData value = new DescriptionMetaData();
+ if (lang != null)
+ {
+ try
+ {
+ Locale locale = LocaleFormat.DEFAULT.getLocale(lang);
+ value.setLocale(locale);
+ }
+ catch (ConversionException e)
+ {
+ log.error("Cannot obtain language value", e);
+ return null;
+ }
+ }
+ return value;
+ }
+ }
+ if (object instanceof PortletApplicationMetaData)
+ {
+ if ("portlet".equals(localName))
+ {
+ return new PortletMetaData();
+ }
+ else if ("user-attribute".equals(localName))
+ {
+ return new UserAttributeMetaData();
+ }
+ else if ("security-constraint".equals(localName))
+ {
+ return new SecurityConstraintMetaData();
+ }
+ }
+ if (object instanceof PortletMetaData)
+ {
+ if ("init-param".equals(localName))
+ {
+ return new ParameterMetaData();
+ }
+ else if ("supports".equals(localName))
+ {
+ return new ContentTypeMetaData();
+ }
+ else if ("portlet-info".equals(localName))
+ {
+ return new LanguagesMetaData.InfoMetaData();
+ }
+ else if ("security-role-ref".equals(localName))
+ {
+ return new SecurityRoleRefMetaData();
+ }
+ else if ("preference".equals(localName))
+ {
+ return new PreferenceMetaData();
+ }
+ else if ("display-name".equals(localName))
+ {
+ String lang = attrs.getValue("xml:lang");
+ DisplayNameMetaData value = new DisplayNameMetaData();
+ if (lang != null)
+ {
+ try
+ {
+ Locale locale = LocaleFormat.DEFAULT.getLocale(lang);
+ value.setLocale(locale);
+ }
+ catch (ConversionException e)
+ {
+ log.error("Cannot obtain language value", e);
+ return null;
+ }
+ }
+ return value;
+ }
+ }
+ return null;
+ }
+
+ public void addChild(Object parent, Object child, UnmarshallingContext nav, String nsURI, String localName)
+ {
+ if (parent instanceof DescribableObjectMetaData)
+ {
+ DescribableObjectMetaData describable = (DescribableObjectMetaData)parent;
+ if (child instanceof DescriptionMetaData)
+ {
+ describable.getDescription().getValues().add(child);
+ }
+ }
+ if (parent instanceof PortletApplicationMetaData)
+ {
+ PortletApplicationMetaData pa = (PortletApplicationMetaData)parent;
+ if (child instanceof PortletMetaData)
+ {
+ pa.addPortlet((PortletMetaData)child);
+ }
+ else if (child instanceof UserAttributeMetaData)
+ {
+ UserAttributeMetaData userAttribute = (UserAttributeMetaData)child;
+ pa.getUserAttributes().put(userAttribute.getName(), userAttribute);
+ }
+ else if (child instanceof SecurityConstraintMetaData)
+ {
+ SecurityConstraintMetaData security = (SecurityConstraintMetaData)child;
+ for (Iterator i = security.getPortlets().iterator(); i.hasNext();)
+ {
+ String portletName = (String)i.next();
+ PortletMetaData portlet = pa.getPortlet(portletName);
+ if (portlet.getTransportGuarantees() == null)
+ {
+ portlet.setTransportGuarantees(new TransportGuaranteesMetaData());
+ }
+ portlet.getTransportGuarantees().add(security.getTransportGuarantee());
+ }
+
+ }
+ }
+ if (parent instanceof PortletMetaData)
+ {
+ PortletMetaData portlet = (PortletMetaData)parent;
+ if (child instanceof ParameterMetaData)
+ {
+ ParameterMetaData parameter = (ParameterMetaData)child;
+ portlet.getParameters().put(parameter.getName(), parameter);
+ }
+ else if (child instanceof ContentTypeMetaData)
+ {
+ portlet.getContentTypes().addContentType((ContentTypeMetaData)child);
+ }
+ else if (child instanceof LanguagesMetaData.InfoMetaData)
+ {
+
+ LanguagesMetaData.InfoMetaData info = (LanguagesMetaData.InfoMetaData)child;
+ if (info.getTitle() == null)
+ {
+ // JBossXB won't populate <title></title>
+ info.setTitle("");
+ }
+ portlet.getLanguages().setInfo(info);
+ }
+ else if (child instanceof SecurityRoleRefMetaData)
+ {
+ portlet.getSecurityRoleRefs().add(child);
+ }
+ else if (child instanceof DisplayNameMetaData)
+ {
+ portlet.getDisplayName().getValues().add(child);
+ }
+ }
+ if (parent instanceof PortletMetaData)
+ {
+ PortletMetaData preferences = (PortletMetaData)parent;
+ if (child instanceof PreferenceMetaData)
+ {
+ preferences.getPreferences().addPreference((PreferenceMetaData)child);
+ }
+ }
+ }
+
+ public void setValue(Object object, UnmarshallingContext nav, String nsURI, String localName, String value)
+ {
+ if (object instanceof PortletApplicationMetaData)
+ {
+ PortletApplicationMetaData app = (PortletApplicationMetaData)object;
+ if ("version".equals(localName))
+ {
+ app.setVersion(value);
+ }
+ }
+ if (object instanceof LocalizedValueMetaData)
+ {
+ LocalizedValueMetaData localizedValue = (LocalizedValueMetaData)object;
+ if ("description".equals(localName))
+ {
+ localizedValue.setValue(value);
+ }
+ else if ("display-name".equals(localName))
+ {
+ localizedValue.setValue(value);
+ }
+ }
+ if (object instanceof PortletMetaData)
+ {
+ PortletMetaData portlet = (PortletMetaData)object;
+ if ("portlet-name".equals(localName))
+ {
+ portlet.setName(value);
+ }
+ else if ("portlet-class".equals(localName))
+ {
+ portlet.setClassName(value);
+ }
+ else if ("expiration-cache".equals(localName))
+ {
+ CacheConfigMetaData cacheConfig = portlet.getCacheConfig();
+ if (cacheConfig == null)
+ {
+ cacheConfig = new CacheConfigMetaData();
+ portlet.setCacheConfig(cacheConfig);
+ }
+ int timeMillis = Integer.parseInt(value);
+ cacheConfig.setExpirationTime(timeMillis);
+ }
+ else if ("resource-bundle".equals(localName))
+ {
+ portlet.getLanguages().setResourceBundle(value);
+ }
+ else if ("supported-locale".equals(localName))
+ {
+ try
+ {
+ Locale locale = LocaleFormat.DEFAULT.getLocale(value);
+ portlet.getLanguages().getSupportedLocales().add(locale);
+ }
+ catch (ConversionException e)
+ {
+ log.error("Cannot obtain language value", e);
+ }
+ }
+ else if ("preferences-validator".equals(localName))
+ {
+ portlet.getPreferences().setValidator(value);
+ }
+ }
+ if (object instanceof ParameterMetaData)
+ {
+ ParameterMetaData parameter = (ParameterMetaData)object;
+ if ("name".equals(localName))
+ {
+ parameter.setName(value);
+ }
+ else if ("value".equals(localName))
+ {
+ parameter.setValue(value);
+ }
+ }
+ if (object instanceof ContentTypeMetaData)
+ {
+ ContentTypeMetaData contentType = (ContentTypeMetaData)object;
+ if ("mime-type".equals(localName))
+ {
+ contentType.setContentType(value);
+ }
+ else if ("portlet-mode".equals(localName))
+ {
+ contentType.getModes().add(Mode.create(value));
+ }
+ }
+ if (object instanceof LanguagesMetaData.InfoMetaData)
+ {
+ LanguagesMetaData.InfoMetaData info = (LanguagesMetaData.InfoMetaData)object;
+ if ("title".equals(localName))
+ {
+ info.setTitle(value);
+ }
+ else if ("short-title".equals(localName))
+ {
+ info.setShortTitle(value);
+ }
+ else if ("keywords".equals(localName))
+ {
+ info.setKeywords(value);
+ }
+ }
+ if (object instanceof PreferenceMetaData)
+ {
+ PreferenceMetaData preference = (PreferenceMetaData)object;
+ if ("name".equals(localName))
+ {
+ preference.setName(value);
+ }
+ else if ("value".equals(localName))
+ {
+ List tmp = Tools.toList(preference.getValues());
+ tmp.add(value);
+ preference.setValues((String[])tmp.toArray(new String[tmp.size()]));
+ }
+ else if ("read-only".equals(localName))
+ {
+ if ("true".equalsIgnoreCase(value))
+ {
+ preference.setReadOnly(true);
+ }
+ else if ("false".equalsIgnoreCase(value))
+ {
+ preference.setReadOnly(false);
+ }
+ else
+ {
+ throw new RuntimeException("Unrecognized read only value" + value);
+ }
+ }
+ }
+ if (object instanceof SecurityRoleRefMetaData)
+ {
+ SecurityRoleRefMetaData srr = (SecurityRoleRefMetaData)object;
+ if ("role-name".equals(localName))
+ {
+ srr.setRoleName(value);
+ }
+ else if ("role-link".equals(localName))
+ {
+ srr.setRoleLink(value);
+ }
+ }
+ if (object instanceof UserAttributeMetaData)
+ {
+ UserAttributeMetaData userAttribute = (UserAttributeMetaData)object;
+ if ("name".equals(localName))
+ {
+ userAttribute.setName(value);
+ }
+ }
+ else if (object instanceof SecurityConstraintMetaData)
+ {
+ SecurityConstraintMetaData security = (SecurityConstraintMetaData)object;
+ if ("portlet-name".equals(localName))
+ {
+ security.addPortlet(value);
+ }
+ if ("transport-guarantee".equals(localName))
+ {
+ security.setTransportGuarantee(TransportGuarantee.decode(value));
+ }
+ }
+ }
+}
Property changes on: modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/deployment/PortletApplicationMetaDataFactory.java
___________________________________________________________________
Name: svn:executable
+
Copied: modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/deployment/UnmarshallerTestCase.java (from rev 7982, modules/portlet/trunk/portlet/src/main/org/jboss/portal/test/portlet/deployment/UnmarshallerTestCase.java)
===================================================================
--- modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/deployment/UnmarshallerTestCase.java (rev 0)
+++ modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/deployment/UnmarshallerTestCase.java 2007-09-10 23:11:14 UTC (rev 8209)
@@ -0,0 +1,208 @@
+/******************************************************************************
+ * 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.deployment;
+
+import junit.framework.TestCase;
+import org.jboss.portal.common.transaction.Transactions;
+import org.jboss.portal.common.net.URLTools;
+import org.jboss.portal.portlet.TransportGuarantee;
+import org.jboss.portal.portlet.deployment.JBossApplicationMetaDataFactory;
+import org.jboss.portal.portlet.deployment.PortletApplicationMetaDataFactory;
+import org.jboss.portal.portlet.impl.jsr168.metadata.LocalizedValueMetaData;
+import org.jboss.portal.portlet.impl.jsr168.metadata.ParameterMetaData;
+import org.jboss.portal.portlet.impl.jsr168.metadata.PortletApplicationMetaData;
+import org.jboss.portal.portlet.impl.jsr168.metadata.PortletMetaData;
+import org.jboss.portal.portlet.impl.jsr168.metadata.SecurityRoleRefMetaData;
+import org.jboss.portal.portlet.impl.jsr168.metadata.UserAttributeMetaData;
+import org.jboss.portal.portlet.metadata.JBossApplicationMetaData;
+import org.jboss.portal.portlet.metadata.JBossPortletMetaData;
+import org.jboss.xb.binding.Unmarshaller;
+import org.jboss.xb.binding.UnmarshallerFactory;
+
+import java.net.URL;
+import java.util.Locale;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 7379 $
+ */
+public class UnmarshallerTestCase extends TestCase
+{
+
+ public void testJBossPortletXML() throws Exception
+ {
+ URL jbossPortletXML = Thread.currentThread().getContextClassLoader().getResource("test/deployment/jboss-portlet.xml");
+ assertTrue(URLTools.exists(jbossPortletXML));
+
+ //
+ JBossApplicationMetaDataFactory factory = new JBossApplicationMetaDataFactory();
+
+ //
+ Unmarshaller unmarshaller = UnmarshallerFactory.newInstance().newUnmarshaller();
+
+ //
+ Object o = unmarshaller.unmarshal(jbossPortletXML.openStream(), factory, null);
+ assertNotNull(o);
+ assertTrue(o instanceof JBossApplicationMetaData);
+ JBossApplicationMetaData app = (JBossApplicationMetaData)o;
+
+ //
+ assertNotNull(app.getPortlets());
+ assertEquals(2, app.getPortlets().size());
+
+ //
+ JBossPortletMetaData portlet1 = (JBossPortletMetaData)app.getPortlets().get("Portlet1");
+ assertNotNull(portlet1);
+ assertEquals("Portlet1", portlet1.getName());
+ assertEquals(Boolean.FALSE, portlet1.getRemotable());
+ assertEquals(Transactions.TYPE_REQUIRED, portlet1.getTxType());
+// assertNotNull(portlet1.getSecurityConstraint());
+// assertNotNull(portlet1.getSecurityConstraint().getPolicyPermissions());
+// assertEquals(2, portlet1.getSecurityConstraint().getPolicyPermissions().size());
+// assertNotNull(portlet1.getSecurityConstraint().getPolicyPermissions().get("Admin"));
+// assertEquals("Admin", ((PolicyPermissionMetaData)portlet1.getSecurityConstraint().getPolicyPermissions().get("Admin")).getRoleName());
+// assertEquals(new CollectionBuilder().add("view").add("create").toHashSet(), ((PolicyPermissionMetaData)portlet1.getSecurityConstraint().getPolicyPermissions().get("Admin")).getActions());
+// assertEquals("User", ((PolicyPermissionMetaData)portlet1.getSecurityConstraint().getPolicyPermissions().get("User")).getRoleName());
+// assertEquals(new CollectionBuilder().add("view").add("destroy").toHashSet(), ((PolicyPermissionMetaData)portlet1.getSecurityConstraint().getPolicyPermissions().get("User")).getActions());
+
+ JBossPortletMetaData portlet2 = (JBossPortletMetaData)app.getPortlets().get("Portlet2");
+ assertNotNull(portlet2);
+ assertEquals("Portlet2", portlet2.getName());
+ Boolean remotable = portlet2.getRemotable();
+ assertNotNull(remotable);
+ assertTrue(remotable.booleanValue());
+ }
+
+ public void testPortletXML() throws Exception
+ {
+ URL portletXML = Thread.currentThread().getContextClassLoader().getResource("test/deployment/portlet.xml");
+ assertTrue(URLTools.exists(portletXML));
+
+ //
+// URL portletXSD = Thread.currentThread().getContextClassLoader().getResource("portlet-app_1_0.xsd");
+// assertTrue(Tools.exists(portletXSD));
+
+ //
+ PortletApplicationMetaDataFactory factory = new PortletApplicationMetaDataFactory();
+
+ //
+ Unmarshaller unmarshaller = UnmarshallerFactory.newInstance().newUnmarshaller();
+
+ //
+ Object o = unmarshaller.unmarshal(portletXML.openStream(), factory, null);
+ assertNotNull(o);
+ assertTrue(o instanceof PortletApplicationMetaData);
+ PortletApplicationMetaData app = (PortletApplicationMetaData)o;
+
+ //
+ assertEquals(2, app.getPortlets().size());
+
+ //
+ PortletMetaData portlet1 = app.getPortlet("Portlet1");
+ assertNotNull(portlet1);
+
+ //
+ assertEquals("Portlet1", portlet1.getName());
+ assertEquals("org.jboss.portal.test.portlet.TestPortlet", portlet1.getClassName());
+
+// <display-name>display</display-name>
+// <display-name xml:lang="fr">affichage</display-name>
+
+ assertNotNull(portlet1.getDescription());
+ assertNotNull(portlet1.getDescription().getValues());
+ assertEquals(2, portlet1.getDescription().getValues().size());
+ assertEquals(null, ((LocalizedValueMetaData)portlet1.getDescription().getValues().get(0)).getLocale());
+ assertEquals("default", ((LocalizedValueMetaData)portlet1.getDescription().getValues().get(0)).getValue());
+ assertEquals(Locale.FRENCH, ((LocalizedValueMetaData)portlet1.getDescription().getValues().get(1)).getLocale());
+ assertEquals("defaut", ((LocalizedValueMetaData)portlet1.getDescription().getValues().get(1)).getValue());
+ assertNotNull(portlet1.getDisplayName());
+ assertNotNull(portlet1.getDisplayName().getValues());
+ assertEquals(2, portlet1.getDisplayName().getValues().size());
+ assertEquals(null, ((LocalizedValueMetaData)portlet1.getDisplayName().getValues().get(0)).getLocale());
+ assertEquals("display", ((LocalizedValueMetaData)portlet1.getDisplayName().getValues().get(0)).getValue());
+ assertEquals(Locale.FRENCH, ((LocalizedValueMetaData)portlet1.getDisplayName().getValues().get(1)).getLocale());
+ assertEquals("affichage", ((LocalizedValueMetaData)portlet1.getDisplayName().getValues().get(1)).getValue());
+ assertNotNull(portlet1.getParameters());
+ assertEquals(2, portlet1.getParameters().size());
+ assertNotNull(portlet1.getParameters().get("one"));
+ assertNotNull(portlet1.getCacheConfig());
+ assertEquals(0, portlet1.getCacheConfig().getExpirationTime());
+ assertEquals("one", ((ParameterMetaData)portlet1.getParameters().get("one")).getName());
+ assertEquals("1", ((ParameterMetaData)portlet1.getParameters().get("one")).getValue());
+ assertEquals("two", ((ParameterMetaData)portlet1.getParameters().get("two")).getName());
+ assertEquals("2", ((ParameterMetaData)portlet1.getParameters().get("two")).getValue());
+ assertNotNull(portlet1.getLanguages());
+ assertNotNull(portlet1.getLanguages().getInfo());
+ assertEquals("very long portlet title", portlet1.getLanguages().getInfo().getTitle());
+ assertEquals("short portlet title", portlet1.getLanguages().getInfo().getShortTitle());
+ assertEquals("a,b,c,d,e,f", portlet1.getLanguages().getInfo().getKeywords());
+ assertEquals("MyResourceBundle", portlet1.getLanguages().getResourceBundle());
+ assertNotNull(portlet1.getLanguages().getSupportedLocales());
+ assertEquals(2, portlet1.getLanguages().getSupportedLocales().size());
+ assertEquals(Locale.ENGLISH, portlet1.getLanguages().getSupportedLocales().get(0));
+ assertEquals(Locale.FRENCH, portlet1.getLanguages().getSupportedLocales().get(1));
+ assertNotNull(portlet1.getPreferences());
+ assertEquals(4, portlet1.getPreferences().size());
+ assertNotNull(portlet1.getPreferences().getPreference("one"));
+ assertNotNull(portlet1.getPreferences().getPreference("two"));
+ assertNotNull(portlet1.getPreferences().getPreference("three"));
+ assertNotNull(portlet1.getPreferences().getPreference("all"));
+ assertEquals("one", portlet1.getPreferences().getPreference("one").getName());
+ assertEquals("two", portlet1.getPreferences().getPreference("two").getName());
+ assertEquals("three", portlet1.getPreferences().getPreference("three").getName());
+ assertEquals("all", portlet1.getPreferences().getPreference("all").getName());
+ assertNotNull(portlet1.getPreferences().getPreference("one").getValues());
+ assertNotNull(portlet1.getPreferences().getPreference("two").getValues());
+ assertNotNull(portlet1.getPreferences().getPreference("three").getValues());
+ assertNotNull(portlet1.getPreferences().getPreference("all").getValues());
+ assertEquals(1, portlet1.getPreferences().getPreference("one").getValues().length);
+ assertEquals(1, portlet1.getPreferences().getPreference("two").getValues().length);
+ assertEquals(1, portlet1.getPreferences().getPreference("three").getValues().length);
+ assertEquals(3, portlet1.getPreferences().getPreference("all").getValues().length);
+ assertFalse(portlet1.getPreferences().getPreference("one").isReadOnly());
+ assertFalse(portlet1.getPreferences().getPreference("two").isReadOnly());
+ assertTrue(portlet1.getPreferences().getPreference("three").isReadOnly());
+ assertFalse(portlet1.getPreferences().getPreference("all").isReadOnly());
+ assertEquals("MyValidator", portlet1.getPreferences().getValidator());
+ assertNotNull(portlet1.getSecurityRoleRefs());
+ assertEquals(2, portlet1.getSecurityRoleRefs().size());
+ assertNotNull(portlet1.getSecurityRoleRefs().get(0));
+ assertNotNull(portlet1.getSecurityRoleRefs().get(1));
+ assertEquals("ROLE_NAME_WITHOUT_LINK", ((SecurityRoleRefMetaData)portlet1.getSecurityRoleRefs().get(0)).getRoleName());
+ assertEquals(null, ((SecurityRoleRefMetaData)portlet1.getSecurityRoleRefs().get(0)).getRoleLink());
+ assertEquals("ROLE_NAME_WITH_LINK", ((SecurityRoleRefMetaData)portlet1.getSecurityRoleRefs().get(1)).getRoleName());
+ assertEquals("ROLE_LINK", ((SecurityRoleRefMetaData)portlet1.getSecurityRoleRefs().get(1)).getRoleLink());
+
+ assertTrue(portlet1.getTransportGuarantees().contains(TransportGuarantee.CONFIDENTIAL));
+ assertTrue(portlet1.getTransportGuarantees().contains(TransportGuarantee.INTEGRAL));
+
+ //
+ assertNotNull(app.getUserAttributes());
+ assertEquals(2, app.getUserAttributes().size());
+ assertNotNull(app.getUserAttributes().get("att1"));
+ assertEquals("att1", ((UserAttributeMetaData)app.getUserAttributes().get("att1")).getName());
+ assertNotNull(app.getUserAttributes().get("att2"));
+ assertEquals("att2", ((UserAttributeMetaData)app.getUserAttributes().get("att2")).getName());
+ }
+
+}
Property changes on: modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/deployment/UnmarshallerTestCase.java
___________________________________________________________________
Name: svn:executable
+
Copied: modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/deployment/ValueTrimmingFilter.java (from rev 7982, modules/portlet/trunk/portlet/src/main/org/jboss/portal/portlet/deployment/ValueTrimmingFilter.java)
===================================================================
--- modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/deployment/ValueTrimmingFilter.java (rev 0)
+++ modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/deployment/ValueTrimmingFilter.java 2007-09-10 23:11:14 UTC (rev 8209)
@@ -0,0 +1,75 @@
+/******************************************************************************
+ * 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.deployment;
+
+import org.jboss.xb.binding.GenericObjectModelFactory;
+import org.jboss.xb.binding.UnmarshallingContext;
+import org.xml.sax.Attributes;
+
+/**
+ * Filter <code>setValue</code> method by doing a trimming before calling the next model.
+ *
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 6713 $
+ */
+public class ValueTrimmingFilter implements GenericObjectModelFactory
+{
+
+ private final GenericObjectModelFactory next;
+
+ public ValueTrimmingFilter(GenericObjectModelFactory next) throws IllegalArgumentException
+ {
+ if (next == null)
+ {
+ throw new IllegalArgumentException("Cannot be null");
+ }
+ this.next = next;
+ }
+
+ public Object newChild(Object object, UnmarshallingContext nav, String nsURI, String localName, Attributes attrs)
+ {
+ return next.newChild(object, nav, nsURI, localName, attrs);
+ }
+
+ public void addChild(Object parent, Object child, UnmarshallingContext nav, String nsURI, String localName)
+ {
+ next.addChild(parent, child, nav, nsURI, localName);
+ }
+
+ public void setValue(Object object, UnmarshallingContext nav, String nsURI, String localName, String value)
+ {
+ value = value.trim();
+ next.setValue(object, nav, nsURI, localName, value);
+ }
+
+ public Object newRoot(Object root, UnmarshallingContext nav, String nsURI, String localName, Attributes attrs)
+ {
+ return next.newRoot(root, nav, nsURI, localName, attrs);
+ }
+
+ public Object completeRoot(Object root, UnmarshallingContext nav, String nsURI, String localName)
+ {
+ return next.completeRoot(root, nav, nsURI, localName);
+ }
+
+}
Property changes on: modules/portlet/trunk/test/src/main/org/jboss/portal/portlet/test/deployment/ValueTrimmingFilter.java
___________________________________________________________________
Name: svn:executable
+
Added: modules/portlet/trunk/test/src/resources/jboss-4.2/portlet-test-war/WEB-INF/context.xml
===================================================================
--- modules/portlet/trunk/test/src/resources/jboss-4.2/portlet-test-war/WEB-INF/context.xml (rev 0)
+++ modules/portlet/trunk/test/src/resources/jboss-4.2/portlet-test-war/WEB-INF/context.xml 2007-09-10 23:11:14 UTC (rev 8209)
@@ -0,0 +1,24 @@
+<!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ ~ 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. ~
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->
+<Context privileged="true">
+</Context>
\ No newline at end of file
Added: modules/portlet/trunk/test/src/resources/jboss-4.2/portlet-test-war/WEB-INF/jboss-context.xml
===================================================================
--- modules/portlet/trunk/test/src/resources/jboss-4.2/portlet-test-war/WEB-INF/jboss-context.xml (rev 0)
+++ modules/portlet/trunk/test/src/resources/jboss-4.2/portlet-test-war/WEB-INF/jboss-context.xml 2007-09-10 23:11:14 UTC (rev 8209)
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ ~ 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. ~
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->
+<!DOCTYPE jboss-web PUBLIC
+ "-//JBoss//DTD Web Application 4.2//EN"
+ "http://www.jboss.org/j2ee/dtd/jboss-web_4_2.dtd">
+<jboss-web>
+ <class-loading java2ClassLoadingCompliance="false">
+ <loader-repository>test:loader=portlet</loader-repository>
+ </class-loading>
+</jboss-web>
\ No newline at end of file
Deleted: modules/portlet/trunk/test/src/resources/portlet-test-war/WEB-INF/classes/log4j.properties
===================================================================
--- modules/portlet/trunk/test/src/resources/portlet-test-war/WEB-INF/classes/log4j.properties 2007-09-10 23:06:44 UTC (rev 8208)
+++ modules/portlet/trunk/test/src/resources/portlet-test-war/WEB-INF/classes/log4j.properties 2007-09-10 23:11:14 UTC (rev 8209)
@@ -1,13 +0,0 @@
-### ====================================================================== ###
-## ##
-## JBoss Bootstrap Log4j Configuration ##
-## ##
-### ====================================================================== ###
-
-log4j.rootCategory=ALL, CONSOLE
-
-log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
-log4j.appender.CONSOLE.Threshold=DEBUG
-log4j.appender.CONSOLE.Target=System.out
-log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
-log4j.appender.CONSOLE.layout.ConversionPattern=%d{ABSOLUTE} %-5p [%c{1}] %m%n
Deleted: modules/portlet/trunk/test/src/resources/portlet-test-war/WEB-INF/classes/logging.properties
===================================================================
--- modules/portlet/trunk/test/src/resources/portlet-test-war/WEB-INF/classes/logging.properties 2007-09-10 23:06:44 UTC (rev 8208)
+++ modules/portlet/trunk/test/src/resources/portlet-test-war/WEB-INF/classes/logging.properties 2007-09-10 23:11:14 UTC (rev 8209)
@@ -1,13 +0,0 @@
-handlers = org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
-
-############################################################
-# Handler specific properties.
-# Describes specific configuration info for Handlers.
-############################################################
-
-org.apache.juli.FileHandler.level = FINE
-org.apache.juli.FileHandler.directory = ${catalina.base}/logs
-org.apache.juli.FileHandler.prefix = servlet-examples.
-
-java.util.logging.ConsoleHandler.level = FINE
-java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
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-09-10 23:06:44 UTC (rev 8208)
+++ modules/portlet/trunk/test/src/resources/portlet-test-war/WEB-INF/jboss-beans.xml 2007-09-10 23:11:14 UTC (rev 8209)
@@ -1,18 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!-- Deployment holds beans -->
+<!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ ~ 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. ~
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->
<deployment xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="urn:jboss:bean-deployer bean-deployer_2_0.xsd"
- xmlns="urn:jboss:bean-deployer:2.0">
+ xsi:schemaLocation="urn:jboss:bean-deployer bean-deployer_1_0.xsd"
+ xmlns="urn:jboss:bean-deployer">
- <bean name="TestDriverServer" class="org.jboss.portal.test.framework.driver.http.HTTPTestDriverServer">
- <property name="initialPath">/portlet-test</property>
+ <bean name="TestDriverServer" class="org.jboss.portal.test.framework.driver.remote.RemoteTestDriverServer">
</bean>
<bean name="TestDriverServerExporter" class="org.jboss.portal.test.framework.impl.generic.server.GenericServiceExporter">
<constructor>
<parameter>socket://localhost:5400</parameter>
<parameter><inject bean="TestDriverServer"/></parameter>
- <parameter>org.jboss.portal.test.framework.driver.http.HTTPTestDriver</parameter>
+ <parameter>org.jboss.portal.test.framework.driver.remote.RemoteTestDriver</parameter>
</constructor>
</bean>
@@ -22,6 +42,7 @@
<bean name="PortletApplicationDeployer" class="org.jboss.portal.portlet.test.PortletApplicationDeployer">
<property name="registry"><inject bean="PortletApplicationRegistry"/></property>
+ <property name="servletContainer"><inject bean="ServletContainer"/></property>
</bean>
<bean name="PortletAPIFactory" class="org.jboss.portal.portlet.impl.jsr168.PortletAPIFactoryImpl">
@@ -30,9 +51,9 @@
<bean name="PortletInfoFactory" class="org.jboss.portal.portlet.impl.jsr168.PortletInfoFactoryImpl">
</bean>
- <!-- The servlet container context obtained from the ServletContainer registry -->
- <bean name="ServletContainerContext" class="org.jboss.portal.web.spi.ServletContainerContext">
- <constructor factoryClass="org.jboss.portal.web.ServletContainer" factoryMethod="getContext"/>
+ <!-- The servlet container obtained from the ServletContainer factory -->
+ <bean name="ServletContainer" class="org.jboss.portal.web.ServletContainer">
+ <constructor factoryClass="org.jboss.portal.web.ServletContainer" factoryMethod="getInstance"/>
</bean>
<!-- Consumer stack -->
@@ -58,7 +79,7 @@
<bean name="SecureTransportInterceptor" class="org.jboss.portal.portlet.aspects.portlet.SecureTransportInterceptor">
</bean>
<bean name="ContextDispatcherInterceptor" class="org.jboss.portal.portlet.aspects.portlet.ContextDispatcherInterceptor">
- <property name="servletContainerContext"><inject bean="ServletContainerContext"/></property>
+ <property name="servletContainer"><inject bean="ServletContainer"/></property>
</bean>
<bean name="WindowStatesInterceptor" class="org.jboss.portal.portlet.aspects.portlet.WindowStatesInterceptor">
</bean>
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-09-10 23:06:44 UTC (rev 8208)
+++ modules/portlet/trunk/test/src/resources/portlet-test-war/WEB-INF/web.xml 2007-09-10 23:11:14 UTC (rev 8209)
@@ -27,9 +27,14 @@
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<listener>
- <listener-class>org.jboss.portal.portlet.test.PortalKernelBootstrap</listener-class>
+ <listener-class>org.jboss.portal.common.mc.bootstrap.WebBootstrap</listener-class>
</listener>
<servlet>
+ <servlet-name>ContainerServlet</servlet-name>
+ <servlet-class>org.jboss.portal.web.impl.tomcat.TC6ContainerServlet</servlet-class>
+ <load-on-startup>0</load-on-startup>
+ </servlet>
+ <servlet>
<servlet-name>PortalServlet</servlet-name>
<servlet-class>org.jboss.portal.portlet.test.PortalServlet</servlet-class>
</servlet>
Added: modules/portlet/trunk/test/src/resources/test/servers.xml
===================================================================
--- modules/portlet/trunk/test/src/resources/test/servers.xml (rev 0)
+++ modules/portlet/trunk/test/src/resources/test/servers.xml 2007-09-10 23:11:14 UTC (rev 8209)
@@ -0,0 +1,42 @@
+<servers>
+ <server>
+ <server-name>RemoteTomcat-6.0</server-name>
+ <node>
+ <node-id>default</node-id>
+ <service>
+ <service-name>TestDriverServer</service-name>
+ <interface>org.jboss.portal.test.framework.driver.remote.RemoteTestDriver</interface>
+ <uri>socket://localhost:5400</uri>
+ </service>
+ <deployer>
+ <remote>
+ <name>tomcat5x</name>
+ <host>localhost</host>
+ <port>8080</port>
+ </remote>
+ <authentication>
+ <username>admin</username>
+ <password>admin</password>
+ </authentication>
+ </deployer>
+ </node>
+ </server>
+ <server>
+ <server-name>RemoteJBoss-4.2</server-name>
+ <node>
+ <node-id>default</node-id>
+ <service>
+ <service-name>TestDriverServer</service-name>
+ <interface>org.jboss.portal.test.framework.driver.remote.RemoteTestDriver</interface>
+ <uri>socket://localhost:5400</uri>
+ </service>
+ <deployer>
+ <remote>
+ <name>jboss4x</name>
+ <host>localhost</host>
+ <port>8080</port>
+ </remote>
+ </deployer>
+ </node>
+ </server>
+</servers>
Added: modules/portlet/trunk/test/src/resources/tomcat-6.0/portlet-test-war/META-INF/context.xml
===================================================================
--- modules/portlet/trunk/test/src/resources/tomcat-6.0/portlet-test-war/META-INF/context.xml (rev 0)
+++ modules/portlet/trunk/test/src/resources/tomcat-6.0/portlet-test-war/META-INF/context.xml 2007-09-10 23:11:14 UTC (rev 8209)
@@ -0,0 +1,2 @@
+<Context privileged="true">
+</Context>
\ No newline at end of file
Added: modules/portlet/trunk/test/src/resources/tomcat-6.0/portlet-test-war/WEB-INF/classes/log4j.properties
===================================================================
--- modules/portlet/trunk/test/src/resources/tomcat-6.0/portlet-test-war/WEB-INF/classes/log4j.properties (rev 0)
+++ modules/portlet/trunk/test/src/resources/tomcat-6.0/portlet-test-war/WEB-INF/classes/log4j.properties 2007-09-10 23:11:14 UTC (rev 8209)
@@ -0,0 +1,13 @@
+### ====================================================================== ###
+## ##
+## JBoss Bootstrap Log4j Configuration ##
+## ##
+### ====================================================================== ###
+
+log4j.rootCategory=ALL, CONSOLE
+
+log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
+log4j.appender.CONSOLE.Threshold=DEBUG
+log4j.appender.CONSOLE.Target=System.out
+log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
+log4j.appender.CONSOLE.layout.ConversionPattern=%d{ABSOLUTE} %-5p [%c{1}] %m%n
Added: modules/portlet/trunk/test/src/resources/tomcat-6.0/portlet-test-war/WEB-INF/classes/logging.properties
===================================================================
--- modules/portlet/trunk/test/src/resources/tomcat-6.0/portlet-test-war/WEB-INF/classes/logging.properties (rev 0)
+++ modules/portlet/trunk/test/src/resources/tomcat-6.0/portlet-test-war/WEB-INF/classes/logging.properties 2007-09-10 23:11:14 UTC (rev 8209)
@@ -0,0 +1,13 @@
+handlers = org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
+
+############################################################
+# Handler specific properties.
+# Describes specific configuration info for Handlers.
+############################################################
+
+org.apache.juli.FileHandler.level = FINE
+org.apache.juli.FileHandler.directory = ${catalina.base}/logs
+org.apache.juli.FileHandler.prefix = servlet-examples.
+
+java.util.logging.ConsoleHandler.level = FINE
+java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
18 years, 7 months
JBoss Portal SVN: r8208 - in modules/web/trunk: build/ide/intellij/idea60/modules/web and 39 other directories.
by portal-commits@lists.jboss.org
Author: julien(a)jboss.com
Date: 2007-09-10 19:06:44 -0400 (Mon, 10 Sep 2007)
New Revision: 8208
Added:
modules/web/trunk/web/src/main/org/jboss/portal/test/
modules/web/trunk/web/src/main/org/jboss/portal/test/web/
modules/web/trunk/web/src/main/org/jboss/portal/test/web/WebAppRegistry.java
modules/web/trunk/web/src/main/org/jboss/portal/test/web/container/
modules/web/trunk/web/src/main/org/jboss/portal/test/web/container/ServletContainerContextImpl.java
modules/web/trunk/web/src/main/org/jboss/portal/test/web/container/ServletContainerTestCase.java
modules/web/trunk/web/src/main/org/jboss/portal/test/web/container/WebAppContextImpl.java
modules/web/trunk/web/src/main/org/jboss/portal/test/web/spi/
modules/web/trunk/web/src/main/org/jboss/portal/test/web/spi/SPITestCase.java
modules/web/trunk/web/src/main/org/jboss/portal/test/web/spi/SPITestConfig.java
modules/web/trunk/web/src/main/org/jboss/portal/test/web/spi/SPITestServlet.java
modules/web/trunk/web/src/main/org/jboss/portal/test/web/spi/callbacks/
modules/web/trunk/web/src/main/org/jboss/portal/test/web/spi/callbacks/AbstractCallback.java
modules/web/trunk/web/src/main/org/jboss/portal/test/web/spi/callbacks/ExceptionCallback.java
modules/web/trunk/web/src/main/org/jboss/portal/test/web/spi/callbacks/NormalCallback.java
modules/web/trunk/web/src/main/org/jboss/portal/web/ServletContainerFactory.java
modules/web/trunk/web/src/main/org/jboss/portal/web/impl/DefaultServletContainerFactory.java
modules/web/trunk/web/src/main/org/jboss/portal/web/impl/generic/
modules/web/trunk/web/src/main/org/jboss/portal/web/impl/generic/GenericServletContainerContext.java
modules/web/trunk/web/src/main/org/jboss/portal/web/impl/generic/GenericWebAppContext.java
modules/web/trunk/web/src/main/org/jboss/portal/web/impl/generic/PortletContainerBootstrapServlet.java
modules/web/trunk/web/src/main/org/jboss/portal/web/impl/tomcat/TC6ContainerServlet.java
modules/web/trunk/web/src/main/org/jboss/portal/web/impl/tomcat/TC6LifecycleListener.java
modules/web/trunk/web/src/main/org/jboss/portal/web/impl/tomcat/TC6WebAppContext.java
modules/web/trunk/web/src/resources/portal-web-test-jar/
modules/web/trunk/web/src/resources/portal-web-test-jar/org/
modules/web/trunk/web/src/resources/portal-web-test-jar/org/jboss/
modules/web/trunk/web/src/resources/portal-web-test-jar/org/jboss/portal/
modules/web/trunk/web/src/resources/portal-web-test-jar/org/jboss/portal/test/
modules/web/trunk/web/src/resources/portal-web-test-jar/org/jboss/portal/test/web/
modules/web/trunk/web/src/resources/portal-web-test-jar/org/jboss/portal/test/web/spi/
modules/web/trunk/web/src/resources/portal-web-test-jar/org/jboss/portal/test/web/spi/client-beans.xml
modules/web/trunk/web/src/resources/portal-web-test-jar/org/jboss/portal/test/web/spi/server-beans.xml
modules/web/trunk/web/src/resources/test/
modules/web/trunk/web/src/resources/test/config/
modules/web/trunk/web/src/resources/test/config/servers.xml
modules/web/trunk/web/src/resources/test/spi/
modules/web/trunk/web/src/resources/test/spi/app-war/
modules/web/trunk/web/src/resources/test/spi/app-war/WEB-INF/
modules/web/trunk/web/src/resources/test/spi/app-war/WEB-INF/web.xml
modules/web/trunk/web/src/resources/test/spi/jboss-container-servlet-4.2/
modules/web/trunk/web/src/resources/test/spi/jboss-container-servlet-4.2/server-war/
modules/web/trunk/web/src/resources/test/spi/jboss-container-servlet-4.2/server-war/WEB-INF/
modules/web/trunk/web/src/resources/test/spi/jboss-container-servlet-4.2/server-war/WEB-INF/context.xml
modules/web/trunk/web/src/resources/test/spi/jboss-container-servlet-4.2/server-war/WEB-INF/web.xml
modules/web/trunk/web/src/resources/test/spi/tomcat-container-servlet-6.0/
modules/web/trunk/web/src/resources/test/spi/tomcat-container-servlet-6.0/server-war/
modules/web/trunk/web/src/resources/test/spi/tomcat-container-servlet-6.0/server-war/META-INF/
modules/web/trunk/web/src/resources/test/spi/tomcat-container-servlet-6.0/server-war/META-INF/context.xml
modules/web/trunk/web/src/resources/test/spi/tomcat-container-servlet-6.0/server-war/WEB-INF/
modules/web/trunk/web/src/resources/test/spi/tomcat-container-servlet-6.0/server-war/WEB-INF/classes/
modules/web/trunk/web/src/resources/test/spi/tomcat-container-servlet-6.0/server-war/WEB-INF/classes/log4j.properties
modules/web/trunk/web/src/resources/test/spi/tomcat-container-servlet-6.0/server-war/WEB-INF/classes/logging.properties
modules/web/trunk/web/src/resources/test/spi/tomcat-container-servlet-6.0/server-war/WEB-INF/web.xml
modules/web/trunk/web/src/resources/test/spi/tomcat-lifecycle-listener-6.0/
modules/web/trunk/web/src/resources/test/spi/tomcat-lifecycle-listener-6.0/server-war/
modules/web/trunk/web/src/resources/test/spi/tomcat-lifecycle-listener-6.0/server-war/WEB-INF/
modules/web/trunk/web/src/resources/test/spi/tomcat-lifecycle-listener-6.0/server-war/WEB-INF/classes/
modules/web/trunk/web/src/resources/test/spi/tomcat-lifecycle-listener-6.0/server-war/WEB-INF/classes/log4j.properties
modules/web/trunk/web/src/resources/test/spi/tomcat-lifecycle-listener-6.0/server-war/WEB-INF/classes/logging.properties
modules/web/trunk/web/src/resources/test/spi/tomcat-lifecycle-listener-6.0/server-war/WEB-INF/web.xml
Removed:
modules/web/trunk/web/src/main/org/jboss/portal/web/command/ServletCommand.java
modules/web/trunk/web/src/main/org/jboss/portal/web/impl/tomcat/TC6WebApp.java
modules/web/trunk/web/src/main/org/jboss/portal/web/impl/tomcat/TC6WebAppIdFactory.java
Modified:
modules/web/trunk/build/build-thirdparty.xml
modules/web/trunk/build/ide/intellij/idea60/modules/web/web.iml
modules/web/trunk/tools/etc/buildfragments/buildmagic.ent
modules/web/trunk/web/build.xml
modules/web/trunk/web/src/main/org/jboss/portal/web/RequestDispatchCallback.java
modules/web/trunk/web/src/main/org/jboss/portal/web/ServletContainer.java
modules/web/trunk/web/src/main/org/jboss/portal/web/ServletContextDispatcher.java
modules/web/trunk/web/src/main/org/jboss/portal/web/WebApp.java
modules/web/trunk/web/src/main/org/jboss/portal/web/WebAppLifeCycleEvent.java
modules/web/trunk/web/src/main/org/jboss/portal/web/command/CommandDispatcher.java
modules/web/trunk/web/src/main/org/jboss/portal/web/command/CommandServlet.java
modules/web/trunk/web/src/main/org/jboss/portal/web/impl/tomcat/TC6ServletContainerContext.java
modules/web/trunk/web/src/main/org/jboss/portal/web/spi/ServletContainerContext.java
Log:
improve the web module SPI + add test SPI testing
Modified: modules/web/trunk/build/build-thirdparty.xml
===================================================================
--- modules/web/trunk/build/build-thirdparty.xml 2007-09-10 23:03:20 UTC (rev 8207)
+++ modules/web/trunk/build/build-thirdparty.xml 2007-09-10 23:06:44 UTC (rev 8208)
@@ -48,10 +48,42 @@
-->
<componentref name="jboss-portal/modules/common" version="1.0.0-SNAPSHOT"/>
- <componentref name="apache-log4j" version="1.2.8"/>
- <componentref name="junit" version="3.8.1"/>
+ <componentref name="jboss-portal/modules/test" version="1.0.0-SNAPSHOT"/>
<componentref name="sun-servlet" version="2.4"/>
<componentref name="apache-tomcat" version="5.0.30"/>
+
+ <componentref name="jboss/remoting" version="2.2.0.SP4"/>
+
+ <componentref name="apache-httpclient" version="3.0.1"/>
+ <componentref name="apache-logging" version="1.0.5.SP1-jboss"/>
+ <componentref name="apache-codec" version="1.3.0"/>
+
+ <componentref name="jboss/common" version="1.2.0.GA-brew"/>
+ <componentref name="jboss/microcontainer" version="1.0.2"/>
+ <componentref name="apache-log4j" version="1.2.14"/>
+ <componentref name="oswego-concurrent" version="1.3.4"/>
+ <componentref name="jboss/jbossxb" version="1.0.0.GA-brew"/>
+ <componentref name="junit" version="3.8.1"/>
+
+ <!-- Based on http://anonsvn.jboss.org/repos/jbossas/tags/EMBEDDED_JBOSS_BETA_2/build/b... -->
+<!--
+ <componentref name="jboss/microcontainer" version="2.0.0.Beta3"/>
+ <componentref name="jboss/aop" version="2.0.0.alpha4"/>
+ <componentref name="jboss/jbossxb" version="2.0.0.CR2"/>
+ <componentref name="jboss/jboss-vfs" version="2.0.0.Beta4"/>
+ <componentref name="jboss/common-core" version="2.0.4.Alpha"/>
+ <componentref name="jboss/common-logging-log4j" version="2.0.2.GA"/>
+ <componentref name="jboss/common-logging-jdk" version="2.0.2.GA"/>
+ <componentref name="jboss/common-logging-spi" version="2.0.2.GA"/>
+ <componentref name="javassist" version="3.5.0.CR1"/>
+ <componentref name="apache-log4j" version="1.2.14"/>
+ <componentref name="apache-xerces" version="2.7.1"/>
+ <componentref name="sun-jaf" version="1.1"/>
+ <componentref name="junit" version="3.8.1"/>
+ <componentref name="wutka-dtdparser" version="1.2.1"/>
+ <componentref name="trove" version="1.0.2"/>
+-->
+
</build>
<synchronizeinfo/>
Modified: modules/web/trunk/build/ide/intellij/idea60/modules/web/web.iml
===================================================================
--- modules/web/trunk/build/ide/intellij/idea60/modules/web/web.iml 2007-09-10 23:03:20 UTC (rev 8207)
+++ modules/web/trunk/build/ide/intellij/idea60/modules/web/web.iml 2007-09-10 23:06:44 UTC (rev 8208)
@@ -44,6 +44,51 @@
<SOURCES />
</library>
</orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../../thirdparty/junit/lib/junit.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../../thirdparty/oswego-concurrent/lib/concurrent.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../../thirdparty/jboss-portal/modules/test/lib/portal-test-lib.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../../thirdparty/jboss-portal/modules/common/lib/portal-common-mc-lib.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
+ <orderEntry type="module-library">
+ <library>
+ <CLASSES>
+ <root url="jar://$MODULE_DIR$/../../../../../../thirdparty/jboss/common/lib/jboss-common.jar!/" />
+ </CLASSES>
+ <JAVADOC />
+ <SOURCES />
+ </library>
+ </orderEntry>
<orderEntryProperties />
</component>
<component name="VcsManagerConfiguration">
Modified: modules/web/trunk/tools/etc/buildfragments/buildmagic.ent
===================================================================
--- modules/web/trunk/tools/etc/buildfragments/buildmagic.ent 2007-09-10 23:03:20 UTC (rev 8207)
+++ modules/web/trunk/tools/etc/buildfragments/buildmagic.ent 2007-09-10 23:06:44 UTC (rev 8208)
@@ -685,7 +685,7 @@
jvm="${junit.jvm}">
<formatter type="plain" usefile="false"/>
<formatter
- classname="org.jboss.ant.taskdefs.XMLJUnitMultipleResultFormatter"
+ classname="org.jboss.portal.common.junit.ant.ConfigurableXMLJUnitResultFormatter"
usefile="${junit.formatter.usefile}"
extension="${jboss-junit-configuration}.xml"/>
<sysproperty key="build.resources" value="${build.resources}"/>
@@ -696,7 +696,7 @@
<jvmarg value="${junit.jvm.options}"/>
<x-test/>
<classpath>
- <path refid="jboss.test.classpath"/>
+ <path refid="jboss.portal/modules/test.classpath"/>
<pathelement path="${driver.path}"/>
<x-classpath/>
</classpath>
Modified: modules/web/trunk/web/build.xml
===================================================================
--- modules/web/trunk/web/build.xml 2007-09-10 23:03:20 UTC (rev 8207)
+++ modules/web/trunk/web/build.xml 2007-09-10 23:06:44 UTC (rev 8208)
@@ -89,10 +89,13 @@
&libraries;
<path id="library.classpath">
<path refid="jboss.portal/modules/common.classpath"/>
+ <path refid="jboss.portal/modules/test.classpath"/>
<path refid="sun.servlet.classpath"/>
+ <path refid="oswego.concurrent.classpath"/>
<path refid="apache.log4j.classpath"/>
<path refid="junit.junit.classpath"/>
<path refid="apache.tomcat.classpath"/>
+ <path refid="jboss.common.classpath"/>
</path>
<!-- Configure modules -->
@@ -184,6 +187,114 @@
<!-- Deployment -->
<!-- ================================================================== -->
- <target name="package-tests"/>
+ <target name="package-tests" depends="init">
+ <!-- portal-web-test-lib.jar -->
+ <jar jarfile="${build.lib}/portal-web-test-lib.jar">
+ <fileset dir="${build.classes}" includes="org/jboss/portal/test/web/spi/**"/>
+ <fileset dir="${build.resources}/portal-web-test-jar"/>
+ </jar>
+
+ <!-- -->
+ <copy todir="${build.resources}/test/spi/tomcat-container-servlet-6.0/server-war/WEB-INF/lib">
+ <fileset dir="${build.lib}" includes="portal-web-test-lib.jar"/>
+ <fileset dir="${jboss.portal/modules/common.lib}" includes="portal-common-mc-lib.jar"/>
+ <fileset dir="${jboss.portal/modules/test.lib}" includes="portal-test-lib.jar,portal-test-generic-lib.jar"/>
+ <fileset dir="${jboss.microcontainer.lib}" includes="jboss-container.jar,jboss-dependency.jar,jboss-microcontainer.jar"/>
+ <fileset dir="${jboss.common.lib}" includes="jboss-common.jar"/>
+ <fileset dir="${oswego.concurrent.lib}" includes="concurrent.jar"/>
+ <fileset dir="${jboss.remoting.lib}" includes="jboss-remoting.jar"/>
+ <fileset dir="${jboss.jbossxb.lib}" includes="jboss-xml-binding.jar"/>
+ <fileset dir="${apache.log4j.lib}" includes="log4j.jar"/>
+ <fileset dir="${apache.xerces.lib}" includes="xercesImpl.jar"/>
+ </copy>
+ <mkdir dir="${build.lib}/tomcat-container-servlet-6.0"/>
+ <jar jarfile="${build.lib}/tomcat-container-servlet-6.0/test-spi-server.war">
+ <fileset dir="${build.resources}/test/spi/tomcat-container-servlet-6.0/server-war"/>
+ </jar>
+
+ <!-- -->
+ <copy todir="${build.resources}/test/spi/jboss-container-servlet-4.2/server-war/WEB-INF/lib">
+ <fileset dir="${build.lib}" includes="portal-web-lib.jar"/>
+ <fileset dir="${build.lib}" includes="portal-web-test-lib.jar"/>
+ <fileset dir="${jboss.portal/modules/common.lib}" includes="portal-common-lib.jar,portal-common-mc-lib.jar"/>
+ <fileset dir="${jboss.portal/modules/test.lib}" includes="portal-test-generic-lib.jar"/>
+ </copy>
+ <mkdir dir="${build.lib}/jboss-container-servlet-4.2"/>
+ <jar jarfile="${build.lib}/jboss-container-servlet-4.2/test-spi-server.war">
+ <fileset dir="${build.resources}/test/spi/jboss-container-servlet-4.2/server-war"/>
+ </jar>
+
+ <!-- -->
+ <copy todir="${build.resources}/test/spi/tomcat-lifecycle-listener-6.0/server-war/WEB-INF/lib">
+ <fileset dir="${build.lib}" includes="portal-web-test-lib.jar"/>
+ <fileset dir="${jboss.portal/modules/common.lib}" includes="portal-common-mc-lib.jar"/>
+ <fileset dir="${jboss.portal/modules/test.lib}" includes="portal-test-lib.jar,portal-test-generic-lib.jar"/>
+ </copy>
+ <mkdir dir="${build.lib}/tomcat-lifecycle-listener-6.0"/>
+ <jar jarfile="${build.lib}/tomcat-lifecycle-listener-6.0/test-spi-server.war">
+ <fileset dir="${build.resources}/test/spi/tomcat-lifecycle-listener-6.0/server-war"/>
+ </jar>
+
+ <!-- -->
+ <jar jarfile="${build.lib}/test-spi-app.war">
+ <fileset dir="${build.resources}/test/spi/app-war"/>
+ </jar>
+
+ </target>
+
+ <target name="tests" depends="init">
+
+ <!--<property name="ServerName" value="RemoteJBoss-4.2"/>-->
+ <property name="ServerName" value="RemoteTomcat-6.0"/>
+
+ <execute-tests>
+ <x-test>
+
+ <!--<test todir="${test.reports}" name="org.jboss.portal.test.web.container.ServletContainerTestCase"/>-->
+ <zest todir="${test.reports}" name="org.jboss.portal.test.web.spi.SPITestCase">
+ <!--<parameter name="archive" value="test-jsr168-dispatcher.war"/>-->
+ <parameter name="serverName" value="${ServerName}"/>
+ </zest>
+
+ </x-test>
+ <x-sysproperty>
+ <sysproperty key="test.root" value="${build.lib}"/>
+<!--
+ <jvmarg value="-Xdebug"/>
+ <jvmarg value="-Xrunjdwp:transport=dt_socket,address=7878,server=y,suspend=y"/>
+-->
+ </x-sysproperty>
+ <x-classpath>
+ <pathelement location="${build.lib}/portal-web-lib.jar"/>
+ <pathelement location="${build.lib}/portal-web-test-lib.jar"/>
+ <pathelement location="${build.resources}/test/config"/>
+ <path refid="oswego.concurrent.classpath"/>
+
+ <!--<path refid="jboss/common.logging.spi.classpath"/>-->
+ <!--<path refid="jboss/common.core.classpath"/>-->
+ <!--<path refid="jboss.aop.classpath"/>-->
+ <!--<path refid="javassist.javassist.classpath"/>-->
+ <!--<path refid="trove.trove.classpath"/>-->
+
+ <path refid="jboss.remoting.classpath"/>
+ <path refid="jboss.microcontainer.classpath"/>
+ <path refid="jboss.jbossxb.classpath"/>
+ <path refid="apache.xerces.classpath"/>
+
+ <path refid="jboss.common.classpath"/>
+
+ <path refid="apache.httpclient.classpath"/>
+ <path refid="apache.logging.classpath"/>
+ <path refid="apache.codec.classpath"/>
+ <pathelement location="${build.resources}/test"/>
+ <pathelement location="../tools/lib/cargo-core-uberjar-0.8.jar"/>
+ <pathelement location="${source.java}"/>
+ <pathelement location="${jboss.portal-portlet.root}/classes"/>
+ <pathelement location="${jboss.portal/modules/test.lib}/portal-test-generic-lib.jar"/>
+ <path refid="library.classpath"/>
+ <path refid="dependentmodule.classpath"/>
+ </x-classpath>
+ </execute-tests>
+ </target>
</project>
Added: modules/web/trunk/web/src/main/org/jboss/portal/test/web/WebAppRegistry.java
===================================================================
--- modules/web/trunk/web/src/main/org/jboss/portal/test/web/WebAppRegistry.java (rev 0)
+++ modules/web/trunk/web/src/main/org/jboss/portal/test/web/WebAppRegistry.java 2007-09-10 23:06:44 UTC (rev 8208)
@@ -0,0 +1,74 @@
+/******************************************************************************
+ * 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.web;
+
+import org.jboss.portal.web.WebAppListener;
+import org.jboss.portal.web.WebAppEvent;
+import org.jboss.portal.web.WebAppLifeCycleEvent;
+import org.jboss.portal.web.WebApp;
+
+import java.util.Map;
+import java.util.HashMap;
+import java.util.Set;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+public class WebAppRegistry implements WebAppListener
+{
+
+ /** . */
+ final Map map = new HashMap();
+
+ public void onEvent(WebAppEvent event)
+ {
+ if (event instanceof WebAppLifeCycleEvent)
+ {
+ WebApp webApp = event.getWebApp();
+ WebAppLifeCycleEvent lfEvent = (WebAppLifeCycleEvent)event;
+ if (lfEvent.getType() == WebAppLifeCycleEvent.ADDED)
+ {
+ map.put(webApp.getContextPath(), webApp);
+ }
+ else
+ {
+ map.remove(webApp.getContextPath());
+ }
+ }
+ }
+
+ public WebApp getWebApp(String key)
+ {
+ if (key == null)
+ {
+ throw new IllegalArgumentException();
+ }
+ return (WebApp)map.get(key);
+ }
+
+ public Set getKeys()
+ {
+ return map.keySet();
+ }
+}
Added: modules/web/trunk/web/src/main/org/jboss/portal/test/web/container/ServletContainerContextImpl.java
===================================================================
--- modules/web/trunk/web/src/main/org/jboss/portal/test/web/container/ServletContainerContextImpl.java (rev 0)
+++ modules/web/trunk/web/src/main/org/jboss/portal/test/web/container/ServletContainerContextImpl.java 2007-09-10 23:06:44 UTC (rev 8208)
@@ -0,0 +1,62 @@
+/******************************************************************************
+ * 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.web.container;
+
+import org.jboss.portal.web.spi.ServletContainerContext;
+import org.jboss.portal.web.RequestDispatchCallback;
+
+import javax.servlet.ServletContext;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+public class ServletContainerContextImpl implements ServletContainerContext
+{
+
+ Registration registration;
+
+ public Object include(
+ ServletContext targetServletContext,
+ HttpServletRequest request,
+ HttpServletResponse response,
+ RequestDispatchCallback callback,
+ Object handback) throws ServletException, IOException
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ public void setCallback(Registration registration)
+ {
+ this.registration = registration;
+ }
+
+ public void unsetCallback(Registration registration)
+ {
+ this.registration = null;
+ }
+}
Added: modules/web/trunk/web/src/main/org/jboss/portal/test/web/container/ServletContainerTestCase.java
===================================================================
--- modules/web/trunk/web/src/main/org/jboss/portal/test/web/container/ServletContainerTestCase.java (rev 0)
+++ modules/web/trunk/web/src/main/org/jboss/portal/test/web/container/ServletContainerTestCase.java 2007-09-10 23:06:44 UTC (rev 8208)
@@ -0,0 +1,276 @@
+/******************************************************************************
+ * 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.web.container;
+
+import junit.framework.TestCase;
+import org.jboss.portal.web.ServletContainer;
+import org.jboss.portal.web.WebAppListener;
+import org.jboss.portal.web.WebAppEvent;
+import org.jboss.portal.web.spi.ServletContainerContext;
+import org.jboss.portal.common.util.CollectionBuilder;
+import org.jboss.portal.test.web.WebAppRegistry;
+import EDU.oswego.cs.dl.util.concurrent.SynchronizedBoolean;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+public class ServletContainerTestCase extends TestCase
+{
+
+ public void testContextRegistrationLifeCycle()
+ {
+ ServletContainer container = new ServletContainer();
+ ServletContainerContextImpl scc = new ServletContainerContextImpl();
+
+ //
+ container.register(scc);
+
+ // Assert we got registration
+ assertNotNull(scc.registration);
+
+ // Keep a ref on registration
+ ServletContainerContext.Registration registration = scc.registration;
+
+ // Cancel registration
+ scc.registration.cancel();
+
+ // Assert we don't have registration anymore
+ assertNull(scc.registration);
+
+ // Test registration object is invalid
+ try
+ {
+ registration.registerWebApp(new WebAppContextImpl("/foo"));
+ fail("Was expecting an ISE");
+ }
+ catch (IllegalStateException e)
+ {
+ }
+ try
+ {
+ registration.unregisterWebApp("/blah");
+ fail("Was expecting an ISE");
+ }
+ catch (IllegalStateException e)
+ {
+ }
+ try
+ {
+ registration.cancel();
+ fail("Was expecting an ISE");
+ }
+ catch (IllegalStateException e)
+ {
+ }
+ }
+
+ public void testConcurrentContextRegistrations()
+ {
+ ServletContainer container = new ServletContainer();
+ ServletContainerContextImpl scc1 = new ServletContainerContextImpl();
+ ServletContainerContextImpl scc2 = new ServletContainerContextImpl();
+
+ // We register
+ container.register(scc1);
+
+ // Registration was done
+ assertNotNull(scc1.registration);
+
+ // Try register
+ container.register(scc2);
+
+ // Registration failed
+ assertNull(scc2.registration);
+
+ // Cancel
+ scc1.registration.cancel();
+
+ // Try register again
+ container.register(scc2);
+
+ // Registration should have worked now
+ assertNotNull(scc2.registration);
+ }
+
+ public void testContextRegistrationCancellationUnregistersWebApps()
+ {
+ ServletContainer container = new ServletContainer();
+ ServletContainerContextImpl scc = new ServletContainerContextImpl();
+ WebAppRegistry registry = new WebAppRegistry();
+
+ //
+ container.register(scc);
+
+ //
+ container.addWebAppListener(registry);
+
+ //
+ scc.registration.registerWebApp(new WebAppContextImpl("/foo"));
+ scc.registration.registerWebApp(new WebAppContextImpl("/bar"));
+ assertEquals(new CollectionBuilder().add("/foo").add("/bar").toHashSet(), registry.getKeys());
+
+ //
+ scc.registration.cancel();
+ assertEquals(new CollectionBuilder().toHashSet(), registry.getKeys());
+ }
+
+ public void testListenerDoubleRegistration()
+ {
+ ServletContainer container = new ServletContainer();
+ ServletContainerContextImpl scc = new ServletContainerContextImpl();
+ WebAppRegistry registry = new WebAppRegistry();
+
+ //
+ container.addWebAppListener(registry);
+ container.addWebAppListener(registry);
+
+ //
+ container.register(scc);
+ scc.registration.registerWebApp(new WebAppContextImpl("/foo"));
+ assertEquals(new CollectionBuilder().add("/foo").toHashSet(), registry.getKeys());
+
+ //
+ container.addWebAppListener(registry);
+ assertEquals(new CollectionBuilder().add("/foo").toHashSet(), registry.getKeys());
+
+ //
+ container.removeWebAppListener(registry);
+ assertEquals(new CollectionBuilder().toHashSet(), registry.getKeys());
+
+ //
+ container.removeWebAppListener(registry);
+ assertEquals(new CollectionBuilder().toHashSet(), registry.getKeys());
+ }
+
+ public void testListenerIsNotified()
+ {
+ ServletContainer container = new ServletContainer();
+ ServletContainerContextImpl scc = new ServletContainerContextImpl();
+ WebAppRegistry registry = new WebAppRegistry();
+
+ //
+ container.register(scc);
+
+ // Add 2 web apps
+ scc.registration.registerWebApp(new WebAppContextImpl("/foo"));
+ scc.registration.registerWebApp(new WebAppContextImpl("/bar"));
+
+ // Add listener
+ container.addWebAppListener(registry);
+
+ // Assert we received events during the registration
+ assertEquals(new CollectionBuilder().add("/foo").add("/bar").toHashSet(), registry.getKeys());
+
+ // Add a new web app
+ scc.registration.registerWebApp(new WebAppContextImpl("/juu"));
+
+ // Assert we now have 3 web apps
+ assertEquals(new CollectionBuilder().add("/foo").add("/bar").add("/juu").toHashSet(), registry.getKeys());
+
+ // Remove one web app
+ scc.registration.unregisterWebApp("/foo");
+
+ // Assert we have 2 web apps
+ assertEquals(new CollectionBuilder().add("/bar").add("/juu").toHashSet(), registry.getKeys());
+
+ // Remove registration
+ container.removeWebAppListener(registry);
+
+ // Assert we receveived events during removal
+ assertEquals(new CollectionBuilder().toHashSet(), registry.getKeys());
+
+ // W Add a new web app
+ scc.registration.registerWebApp(new WebAppContextImpl("/foo"));
+
+ // hen unregistered, a new web app registration does not send event
+ assertEquals(new CollectionBuilder().toHashSet(), registry.getKeys());
+ }
+
+ public void testServletContainerThrowsIAE()
+ {
+ ServletContainer container = new ServletContainer();
+ try
+ {
+ container.register(null);
+ fail("Was expecting an IAE");
+ }
+ catch (IllegalArgumentException expected)
+ {
+ }
+ try
+ {
+ container.addWebAppListener(null);
+ fail("Was expecting an IAE");
+ }
+ catch (IllegalArgumentException expected)
+ {
+ }
+ try
+ {
+ container.removeWebAppListener(null);
+ fail("Was expecting an IAE");
+ }
+ catch (IllegalArgumentException expected)
+ {
+ }
+ }
+
+ public void testServletContainerThrowsISE() throws Exception
+ {
+ ServletContainer container = new ServletContainer();
+ try
+ {
+ container.include(null, null, null, null, null);
+ fail("Was expecting an ISE");
+ }
+ catch (IllegalStateException expected)
+ {
+ }
+ }
+
+ public void testListenerFailure()
+ {
+ ServletContainer container = new ServletContainer();
+ ServletContainerContextImpl scc = new ServletContainerContextImpl();
+ WebAppRegistry registry = new WebAppRegistry();
+
+ //
+ final SynchronizedBoolean called = new SynchronizedBoolean(false);
+ container.register(scc);
+ container.addWebAppListener(registry);
+ container.addWebAppListener(new WebAppListener()
+ {
+ public void onEvent(WebAppEvent event)
+ {
+ called.set(true);
+ throw new RuntimeException("Expected : don't freak out");
+ }
+ });
+
+ //
+ scc.registration.registerWebApp(new WebAppContextImpl("/foo"));
+ assertTrue(called.get());
+ assertEquals(new CollectionBuilder().add("/foo").toHashSet(), registry.getKeys());
+ }
+}
Added: modules/web/trunk/web/src/main/org/jboss/portal/test/web/container/WebAppContextImpl.java
===================================================================
--- modules/web/trunk/web/src/main/org/jboss/portal/test/web/container/WebAppContextImpl.java (rev 0)
+++ modules/web/trunk/web/src/main/org/jboss/portal/test/web/container/WebAppContextImpl.java 2007-09-10 23:06:44 UTC (rev 8208)
@@ -0,0 +1,79 @@
+/******************************************************************************
+ * 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.web.container;
+
+import org.jboss.portal.web.spi.WebAppContext;
+
+import javax.servlet.ServletContext;
+import java.io.InputStream;
+import java.io.IOException;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+public class WebAppContextImpl implements WebAppContext
+{
+
+ /** . */
+ private final String contextPath;
+
+ /** . */
+ boolean started;
+
+ public WebAppContextImpl(String contextPath)
+ {
+ this.contextPath = contextPath;
+ this.started = false;
+ }
+
+ public void start() throws Exception
+ {
+ this.started = true;
+ }
+
+ public void stop()
+ {
+ this.started = false;
+ }
+
+ public ServletContext getServletContext()
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ public ClassLoader getClassLoader()
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ public String getContextPath()
+ {
+ return contextPath;
+ }
+
+ public boolean importFile(String parentDirRelativePath, String name, InputStream source, boolean overwrite) throws IOException
+ {
+ throw new UnsupportedOperationException();
+ }
+}
Added: modules/web/trunk/web/src/main/org/jboss/portal/test/web/spi/SPITestCase.java
===================================================================
--- modules/web/trunk/web/src/main/org/jboss/portal/test/web/spi/SPITestCase.java (rev 0)
+++ modules/web/trunk/web/src/main/org/jboss/portal/test/web/spi/SPITestCase.java 2007-09-10 23:06:44 UTC (rev 8208)
@@ -0,0 +1,145 @@
+/******************************************************************************
+ * 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.web.spi;
+
+import junit.framework.TestCase;
+import junit.framework.TestResult;
+import org.jboss.portal.test.framework.mc.TestRuntimeContext;
+import org.jboss.portal.test.framework.deployment.Deployer;
+import org.jboss.portal.test.framework.server.NodeManager;
+import org.jboss.portal.test.framework.driver.TestDriver;
+import org.jboss.portal.test.framework.junit.JUnitAdapter;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+public class SPITestCase extends TestCase
+{
+
+ /** The deployer. */
+ private Deployer deployer;
+
+ /** The node manager. */
+ private NodeManager nodeManager;
+
+ /** . */
+ private TestRuntimeContext runtimeContext;
+
+ /** . */
+ private TestDriver testDriver;
+
+ /** . */
+ private JUnitAdapter adapter;
+
+ public Deployer getDeployer()
+ {
+ return deployer;
+ }
+
+ public void setDeployer(Deployer deployer)
+ {
+ this.deployer = deployer;
+ }
+
+ public NodeManager getNodeManager()
+ {
+ return nodeManager;
+ }
+
+ public void setNodeManager(NodeManager nodeManager)
+ {
+ this.nodeManager = nodeManager;
+ }
+
+ public TestDriver getTestDriver()
+ {
+ return testDriver;
+ }
+
+ public void setTestDriver(TestDriver testDriver)
+ {
+ this.testDriver = testDriver;
+ }
+
+ public JUnitAdapter getAdapter()
+ {
+ return adapter;
+ }
+
+ public void setAdapter(JUnitAdapter adapter)
+ {
+ this.adapter = adapter;
+ }
+
+ public void run(TestResult testResult)
+ {
+ try
+ {
+ runtimeContext = new TestRuntimeContext("org/jboss/portal/test/web/spi/client-beans.xml");
+ runtimeContext.addBean("This", this);
+ runtimeContext.addBean("Config", new SPITestConfig());
+ runtimeContext.start();
+ }
+ catch (Exception e)
+ {
+ try
+ {
+ this.e = e;
+
+ //
+ super.run(testResult);
+ }
+ catch (Exception e1)
+ {
+ this.e = null;
+ }
+
+ //
+ return;
+ }
+
+ //
+ try
+ {
+ adapter.run(testResult);
+ }
+ finally
+ {
+ runtimeContext.stop();
+ }
+ }
+
+ /** . */
+ private Exception e;
+
+ public void runBare() throws Throwable
+ {
+ throw e;
+ }
+
+ public void testDummy()
+ {
+ throw new UnsupportedOperationException();
+ }
+}
Added: modules/web/trunk/web/src/main/org/jboss/portal/test/web/spi/SPITestConfig.java
===================================================================
--- modules/web/trunk/web/src/main/org/jboss/portal/test/web/spi/SPITestConfig.java (rev 0)
+++ modules/web/trunk/web/src/main/org/jboss/portal/test/web/spi/SPITestConfig.java 2007-09-10 23:06:44 UTC (rev 8208)
@@ -0,0 +1,62 @@
+/******************************************************************************
+ * 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.web.spi;
+
+import org.jboss.portal.test.framework.TestParametrization;
+import org.jboss.portal.test.framework.TestParameterValue;
+import org.jboss.portal.test.framework.junit.JUnitAdapter;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+public class SPITestConfig
+{
+
+ public String getArchivePath()
+ {
+ return System.getProperty("test.root");
+ }
+
+ /**
+ * Returns the server name from the test parametrization. If no value is found then it
+ * returns the litteral string <i>RemoteTomcat-6.0</i>.
+ *
+ * @return the server name
+ */
+ public String getServerName()
+ {
+ TestParametrization parametrization = JUnitAdapter.getParametrization();
+ TestParameterValue archive = parametrization.getParameterValue("serverName");
+
+ //
+ if (archive != null)
+ {
+ return (String)archive.get();
+ }
+ else
+ {
+ return "RemoteTomcat-6.0";
+ }
+ }
+}
Added: modules/web/trunk/web/src/main/org/jboss/portal/test/web/spi/SPITestServlet.java
===================================================================
--- modules/web/trunk/web/src/main/org/jboss/portal/test/web/spi/SPITestServlet.java (rev 0)
+++ modules/web/trunk/web/src/main/org/jboss/portal/test/web/spi/SPITestServlet.java 2007-09-10 23:06:44 UTC (rev 8208)
@@ -0,0 +1,235 @@
+/******************************************************************************
+ * 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.web.spi;
+
+import org.jboss.portal.test.framework.driver.TestDriverContainer;
+import org.jboss.portal.test.framework.driver.DriverResponse;
+import org.jboss.portal.test.framework.driver.DriverCommand;
+import org.jboss.portal.test.framework.driver.TestDriverException;
+import org.jboss.portal.test.framework.driver.http.response.InvokeGetResponse;
+import org.jboss.portal.test.framework.driver.remote.RemoteTestDriver;
+import org.jboss.portal.test.framework.driver.remote.TestContext;
+import org.jboss.portal.test.framework.driver.remote.response.DeployResponse;
+import org.jboss.portal.test.framework.driver.remote.response.UndeployResponse;
+import org.jboss.portal.test.framework.driver.response.EndTestResponse;
+import org.jboss.portal.test.framework.driver.response.FailureResponse;
+import org.jboss.portal.test.framework.info.TestItemInfo;
+import org.jboss.portal.test.framework.info.TestInfo;
+import org.jboss.portal.test.web.WebAppRegistry;
+import org.jboss.portal.test.web.spi.callbacks.NormalCallback;
+import org.jboss.portal.test.web.spi.callbacks.ExceptionCallback;
+import org.jboss.portal.web.ServletContainer;
+import org.jboss.portal.web.WebApp;
+import org.jboss.portal.web.ServletContextDispatcher;
+import org.jboss.portal.web.impl.DefaultServletContainerFactory;
+
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.ServletException;
+import javax.servlet.ServletContext;
+import java.io.IOException;
+import java.util.Set;
+import java.util.HashSet;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+public class SPITestServlet extends HttpServlet implements RemoteTestDriver
+{
+
+ /** . */
+ private TestInfo info = new TestInfo("Main");
+
+ /** . */
+ private WebAppRegistry registry;
+
+ /** . */
+ private Set keys;
+
+ /** . */
+ private ServletContainer container;
+
+ public void init() throws ServletException
+ {
+ TestDriverContainer driver = (TestDriverContainer)getServletContext().getAttribute("TestDriverServer");
+ driver.addDriver(this);
+ }
+
+ private TestContext testContext;
+
+ public void pushContext(String testId, TestContext testContext)
+ {
+ this.testContext = testContext;
+ }
+
+ public TestContext popContext(String string)
+ {
+ return testContext;
+ }
+
+ public void destroy()
+ {
+ TestDriverContainer driver = (TestDriverContainer)getServletContext().getAttribute("TestDriverServer");
+ driver.removeDriver(this);
+ }
+
+ protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
+ {
+ DriverResponse response = service2(req, resp);
+ testContext.setResponse(response);
+ resp.setStatus(200);
+ }
+
+ private DriverResponse service2(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
+ {
+
+ //
+ if (testContext.isRequestCount(1))
+ {
+ // Should try
+ ServletContext appContext = getServletContext().getContext("/test-spi-app");
+
+ //
+ if (appContext == null)
+ {
+ return new FailureResponse("Cannot get access to the /test-spi-app servlet context");
+ }
+
+ //
+ WebApp webApp = registry.getWebApp("/test-spi-app");
+ NormalCallback cb1 = new NormalCallback(appContext, webApp.getClassLoader());
+ Exception ex = new Exception();
+ ExceptionCallback cb2 = new ExceptionCallback(appContext, ex, ex);
+ Error err = new Error();
+ ExceptionCallback cb3 = new ExceptionCallback(appContext, err, err);
+ RuntimeException rex = new RuntimeException();
+ ExceptionCallback cb4 = new ExceptionCallback(appContext, rex, rex);
+ IOException ioe = new IOException();
+ ExceptionCallback cb5 = new ExceptionCallback(appContext, ioe, ioe);
+
+ //
+ ServletContextDispatcher dispatcher = new ServletContextDispatcher(req, resp, container);
+ DriverResponse response = cb1.test(null, dispatcher);
+ response = cb2.test(response, dispatcher);
+ response = cb3.test(response, dispatcher);
+ response = cb4.test(response, dispatcher);
+ response = cb5.test(response, dispatcher);
+
+ //
+ if (response != null)
+ {
+ return response;
+ }
+
+ // Now we undeploy
+ return new UndeployResponse("test-spi-app.war");
+ }
+ else if (testContext.isRequestCount(2))
+ {
+ if (!keys.equals(registry.getKeys()))
+ {
+ return new FailureResponse("The set of deployed web applications " + registry.getKeys() + " is not equals to the expected set " +
+ keys);
+ }
+
+ // Remove registration
+ container.removeWebAppListener(registry);
+
+ //
+ if (registry.getKeys().size() > 0)
+ {
+ return new FailureResponse("The set of deployed web application should be empty instead of " + registry.getKeys());
+ }
+ else
+ {
+ return new EndTestResponse();
+ }
+ }
+
+ //
+ return new FailureResponse();
+ }
+
+ public TestItemInfo getInfo()
+ {
+ return info;
+ }
+
+ public DriverResponse invoke(String string, DriverCommand driverCommand) throws TestDriverException
+ {
+ if (testContext.isRequestCount(-1))
+ {
+ container = DefaultServletContainerFactory.getInstance().getServletContainer();
+ if (container == null)
+ {
+ return new FailureResponse("No servlet container present");
+ }
+
+ // Register and save the deployed web apps
+ registry = new WebAppRegistry();
+ container.addWebAppListener(registry);
+ keys = new HashSet(registry.getKeys());
+
+ // Deploy the application web app
+ return new DeployResponse("test-spi-app.war");
+ }
+ else if (testContext.isRequestCount(0))
+ {
+ // Compute the difference with the previous deployed web apps
+ Set diff = new HashSet(registry.getKeys());
+ diff.removeAll(keys);
+
+ // It should be 1
+ if (diff.size() != 1)
+ {
+ return new FailureResponse("The size of the new web application deployed should be 1, it is " + diff.size() + " instead." +
+ "The previous set was " + keys + " and the new set is " + registry.getKeys());
+ }
+ String key = (String)diff.iterator().next();
+ if (!"/test-spi-app".equals(key))
+ {
+ return new FailureResponse("The newly deployed web application should be /test-spi-war and it is " + key);
+ }
+
+ //
+ WebApp webApp = registry.getWebApp("/test-spi-app");
+ if (webApp == null)
+ {
+ return new FailureResponse("The web app /test-spi-app was not found");
+ }
+ if (!"/test-spi-app".equals(webApp.getContextPath()))
+ {
+ return new FailureResponse("The web app context is not equals to the expected value but has the value " + webApp.getContextPath());
+ }
+
+ //
+ return new InvokeGetResponse("/test-spi-server");
+ }
+ else
+ {
+ return new FailureResponse();
+ }
+ }
+}
Added: modules/web/trunk/web/src/main/org/jboss/portal/test/web/spi/callbacks/AbstractCallback.java
===================================================================
--- modules/web/trunk/web/src/main/org/jboss/portal/test/web/spi/callbacks/AbstractCallback.java (rev 0)
+++ modules/web/trunk/web/src/main/org/jboss/portal/test/web/spi/callbacks/AbstractCallback.java 2007-09-10 23:06:44 UTC (rev 8208)
@@ -0,0 +1,49 @@
+/******************************************************************************
+ * 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.web.spi.callbacks;
+
+import org.jboss.portal.test.framework.driver.DriverResponse;
+import org.jboss.portal.web.RequestDispatchCallback;
+import org.jboss.portal.web.ServletContextDispatcher;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+public abstract class AbstractCallback implements RequestDispatchCallback
+{
+
+ public DriverResponse test(DriverResponse response, ServletContextDispatcher dispatcher)
+ {
+ if (response != null)
+ {
+ return response;
+ }
+
+ //
+ return test(dispatcher);
+ }
+
+ protected abstract DriverResponse test(ServletContextDispatcher dispatcher);
+
+}
Added: modules/web/trunk/web/src/main/org/jboss/portal/test/web/spi/callbacks/ExceptionCallback.java
===================================================================
--- modules/web/trunk/web/src/main/org/jboss/portal/test/web/spi/callbacks/ExceptionCallback.java (rev 0)
+++ modules/web/trunk/web/src/main/org/jboss/portal/test/web/spi/callbacks/ExceptionCallback.java 2007-09-10 23:06:44 UTC (rev 8208)
@@ -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.test.web.spi.callbacks;
+
+import org.jboss.portal.test.framework.driver.DriverResponse;
+import org.jboss.portal.test.framework.driver.response.FailureResponse;
+import org.jboss.portal.web.ServletContextDispatcher;
+
+import javax.servlet.ServletContext;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+public class ExceptionCallback extends AbstractCallback
+{
+
+ /** . */
+ private final ServletContext target;
+
+ /** . */
+ private final Throwable expectedThrowable;
+
+ /** . */
+ private final Throwable throwable;
+
+ public ExceptionCallback(ServletContext target, Throwable expectedThrowable, Throwable throwable)
+ {
+ this.target = target;
+ this.expectedThrowable = expectedThrowable;
+ this.throwable = throwable;
+ }
+
+ protected DriverResponse test(ServletContextDispatcher dispatcher)
+ {
+ try
+ {
+ dispatcher.include(target, this, null);
+
+ //
+ return new FailureResponse("Got no throwable thrown was expecting " + expectedThrowable);
+ }
+ catch (Throwable throwable)
+ {
+ if (throwable instanceof ServletException)
+ {
+ throwable = throwable.getCause();
+ }
+ if (expectedThrowable != throwable)
+ {
+ return new FailureResponse("Got throwable " + throwable + " instead of throwable " + expectedThrowable);
+ }
+ }
+
+ //
+ return null;
+ }
+
+ public Object doCallback(ServletContext dispatchedServletContext, HttpServletRequest dispatchedRequest, HttpServletResponse dispatchedResponse, Object handback) throws ServletException, IOException
+ {
+ if (throwable instanceof IOException)
+ {
+ throw (IOException)throwable;
+ }
+ if (throwable instanceof Exception)
+ {
+ throw new ServletException(throwable);
+ }
+ else if (throwable instanceof Error)
+ {
+ throw (Error)throwable;
+ }
+ return null;
+ }
+}
Added: modules/web/trunk/web/src/main/org/jboss/portal/test/web/spi/callbacks/NormalCallback.java
===================================================================
--- modules/web/trunk/web/src/main/org/jboss/portal/test/web/spi/callbacks/NormalCallback.java (rev 0)
+++ modules/web/trunk/web/src/main/org/jboss/portal/test/web/spi/callbacks/NormalCallback.java 2007-09-10 23:06:44 UTC (rev 8208)
@@ -0,0 +1,117 @@
+/******************************************************************************
+ * 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.web.spi.callbacks;
+
+import org.jboss.portal.web.ServletContextDispatcher;
+import org.jboss.portal.test.framework.driver.DriverResponse;
+import org.jboss.portal.test.framework.driver.response.FailureResponse;
+
+import javax.servlet.ServletContext;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+public class NormalCallback extends AbstractCallback
+{
+
+ /** . */
+ private final ServletContext expectedContext;
+
+ /** . */
+ private final ClassLoader expectedThreadContextClassLoader;
+
+ /** . */
+ private final Object expectedHandback;
+
+ /** . */
+ private final Object expectedReturnedValue;
+
+ /** . */
+ private Object handback;
+
+ /** . */
+ private ClassLoader threadContextClassLoader;
+
+ /** . */
+ private boolean invoked;
+
+ public NormalCallback(ServletContext expectedContext, ClassLoader expectedThreadContextClassLoader)
+ {
+ this.expectedContext = expectedContext;
+ this.expectedThreadContextClassLoader = expectedThreadContextClassLoader;
+ this.expectedHandback = new Object();
+ this.expectedReturnedValue = new Object();
+
+ //
+ this.invoked = false;
+ this.handback = null;
+ }
+
+ public Object doCallback(ServletContext dispatchedServletContext, HttpServletRequest dispatchedRequest, HttpServletResponse dispatchedResponse, Object handback) throws ServletException, IOException
+ {
+ this.invoked = true;
+ this.threadContextClassLoader = Thread.currentThread().getContextClassLoader();
+ this.handback = handback;
+
+ //
+ return expectedReturnedValue;
+ }
+
+ protected DriverResponse test(ServletContextDispatcher dispatcher)
+ {
+ try
+ {
+ Object returnedValue = dispatcher.include(expectedContext, this, expectedHandback);
+
+ //
+ if (!invoked)
+ {
+ return new FailureResponse("The callback was not invoked");
+ }
+ if (expectedHandback != handback)
+ {
+ return new FailureResponse("The provided handback is not the same than the expected handback");
+ }
+ if (expectedReturnedValue != returnedValue)
+ {
+ return new FailureResponse("The returned value is not the same than the expected one");
+ }
+ if (expectedThreadContextClassLoader != threadContextClassLoader)
+ {
+ return new FailureResponse("The thread context class loader is not the same than the expected one");
+ }
+ }
+ catch (Exception e)
+ {
+ return new FailureResponse(e);
+ }
+
+ //
+ return null;
+ }
+}
Modified: modules/web/trunk/web/src/main/org/jboss/portal/web/RequestDispatchCallback.java
===================================================================
--- modules/web/trunk/web/src/main/org/jboss/portal/web/RequestDispatchCallback.java 2007-09-10 23:03:20 UTC (rev 8207)
+++ modules/web/trunk/web/src/main/org/jboss/portal/web/RequestDispatchCallback.java 2007-09-10 23:06:44 UTC (rev 8208)
@@ -25,6 +25,8 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.ServletContext;
+import javax.servlet.ServletException;
+import java.io.IOException;
/**
* Callback contract.
@@ -35,17 +37,18 @@
public interface RequestDispatchCallback
{
/**
- * Called by the runtime context when request dispatching has been done.
+ * Performs the request dispatch logic.
*
* @param dispatchedServletContext the dispatched servlet context
* @param dispatchedRequest the dispatched request
* @param dispatchedResponse the dispatched response
* @param handback the handback object provided to the dispatched @return any object
- * @throws Exception any exception
+ * @throws ServletException if an exception occurs that interferes with the normal operation
+ * @throws IOException if an input or output exception occurs
*/
Object doCallback(
ServletContext dispatchedServletContext,
HttpServletRequest dispatchedRequest,
HttpServletResponse dispatchedResponse,
- Object handback) throws Exception;
+ Object handback) throws ServletException, IOException;
}
Modified: modules/web/trunk/web/src/main/org/jboss/portal/web/ServletContainer.java
===================================================================
--- modules/web/trunk/web/src/main/org/jboss/portal/web/ServletContainer.java 2007-09-10 23:03:20 UTC (rev 8207)
+++ modules/web/trunk/web/src/main/org/jboss/portal/web/ServletContainer.java 2007-09-10 23:06:44 UTC (rev 8208)
@@ -23,7 +23,19 @@
package org.jboss.portal.web;
import org.jboss.portal.web.spi.ServletContainerContext;
+import org.jboss.portal.web.spi.WebAppContext;
+import javax.servlet.ServletContext;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.HashMap;
+import java.io.InputStream;
+import java.io.IOException;
+
/**
* A static registry for the servlet container context.
*
@@ -34,40 +46,303 @@
{
/** . */
- private static ServletContainerContext _context;
+ private final Object lock = new Object();
+ /** The event listeners. */
+ private final ArrayList listeners = new ArrayList();
+
+ /** The web applications. */
+ private final Map webAppMap = new HashMap();
+
+ /** The callback. */
+ private RegistrationImpl registration;
+
/**
* Register a servlet container context. The registration is considered as successful if no existing context
* is already registered.
*
* @param context the servlet container context to register
- * @return true if the registration is successful
* @throws IllegalArgumentException if the context is null
*/
- public synchronized static boolean registerContext(ServletContainerContext context) throws IllegalArgumentException
+ public void register(ServletContainerContext context)
{
- if (context == null)
+ synchronized(lock)
{
- throw new IllegalArgumentException("No null context accepted");
+ if (context == null)
+ {
+ throw new IllegalArgumentException("No null context accepted");
+ }
+
+ //
+ if (registration == null)
+ {
+
+ registration = new RegistrationImpl(this, context);
+
+ // Installs the call back
+ context.setCallback(registration);
+ }
}
- if (_context == null)
+ }
+
+ public boolean addWebAppListener(WebAppListener listener)
+ {
+ synchronized(lock)
{
- _context = context;
+ if (listener == null)
+ {
+ throw new IllegalArgumentException();
+ }
+ if (listeners.contains(listener))
+ {
+ return false;
+ }
+ listeners.add(listener);
+ for (Iterator i = webAppMap.values().iterator(); i.hasNext();)
+ {
+ WebApp webApp = (WebApp)i.next();
+ WebAppLifeCycleEvent event = new WebAppLifeCycleEvent(webApp, WebAppLifeCycleEvent.ADDED);
+ safeFireEvent(listener, event);
+ }
return true;
}
- else
+ }
+
+ public boolean removeWebAppListener(WebAppListener listener)
+ {
+ synchronized(lock)
{
- return false;
+ if (listener == null)
+ {
+ throw new IllegalArgumentException();
+ }
+ if (listeners.remove(listener))
+ {
+ for (Iterator i = webAppMap.values().iterator(); i.hasNext();)
+ {
+ WebApp webApp = (WebApp)i.next();
+ WebAppLifeCycleEvent event = new WebAppLifeCycleEvent(webApp, WebAppLifeCycleEvent.REMOVED);
+ safeFireEvent(listener, event);
+ }
+ return true;
+ }
+ else
+ {
+ return false;
+ }
}
}
+ private void safeFireEvent(WebAppListener listener, WebAppEvent event)
+ {
+ try
+ {
+ listener.onEvent(event);
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ }
+ }
+
+ private void fireEvent(WebAppEvent event)
+ {
+ for (Iterator i = listeners.iterator();i.hasNext();)
+ {
+ safeFireEvent((WebAppListener)i.next(), event);
+ }
+ }
+
/**
- * Returns the existing servlet container context or null if none is registered.
+ * Generic detyped request dispatch to a servlet context using the include mechanism.
*
- * @return the registered servlet container context
+ * @param targetServletContext the target servlet context to dispatch to
+ * @param request the request valid in the current servlet context
+ * @param response the response valid in the current servlet context
+ * @param callback the callback to perform after the dispatch operation
+ * @param handback the handback object to provide
+ * @return any object
+ * @throws Exception any exception
*/
- public synchronized static ServletContainerContext getContext()
+ public Object include(
+ ServletContext targetServletContext, HttpServletRequest request,
+ HttpServletResponse response,
+ RequestDispatchCallback callback,
+ Object handback) throws ServletException, IOException
{
- return _context;
+ RegistrationImpl registration = this.registration;
+
+ //
+ if (registration == null)
+ {
+ throw new IllegalStateException("No SPI installed");
+ }
+
+ //
+ return registration.context.include(targetServletContext, request, response, callback, handback);
}
+
+ private static class RegistrationImpl implements ServletContainerContext.Registration
+ {
+
+ /** . */
+ private boolean disposed;
+
+ /** . */
+ private ServletContainer container;
+
+ /** . */
+ private ServletContainerContext context;
+
+ public RegistrationImpl(ServletContainer container, ServletContainerContext context)
+ {
+ this.disposed = false;
+ this.container = container;
+ this.context = context;
+ }
+
+ public boolean registerWebApp(WebAppContext webAppContext)
+ {
+ if (disposed)
+ {
+ throw new IllegalStateException("Disposed registration");
+ }
+ synchronized(container.lock)
+ {
+ if (webAppContext == null)
+ {
+ throw new IllegalArgumentException("No null web app context accepted");
+ }
+
+ //
+ String key = webAppContext.getContextPath();
+
+ //
+ if (container.webAppMap.containsKey(key))
+ {
+ System.out.println("Web application " + key + " is already registered");
+ return false;
+ }
+ else
+ {
+ try
+ {
+ System.out.println("Web application " + key + " registration");
+ webAppContext.start();
+ WebAppImpl webApp = new WebAppImpl(webAppContext);
+ container.webAppMap.put(key, webApp);
+ container.fireEvent(new WebAppLifeCycleEvent(webApp, WebAppLifeCycleEvent.ADDED));
+ return true;
+ }
+ catch (Exception e)
+ {
+ System.out.println("Was not able to start web app context "+ key);
+ e.printStackTrace();
+ return false;
+ }
+ }
+ }
+ }
+
+ public boolean unregisterWebApp(String webAppId)
+ {
+ if (disposed)
+ {
+ throw new IllegalStateException("Disposed registration");
+ }
+ synchronized(container.lock)
+ {
+ if (webAppId == null)
+ {
+ throw new IllegalArgumentException("No null web app id accepted");
+ }
+
+ //
+ WebAppImpl webApp = (WebAppImpl)container.webAppMap.remove(webAppId);
+ if (webApp != null)
+ {
+ System.out.println("Web application " + webAppId + " cleanup");
+ container.fireEvent(new WebAppLifeCycleEvent(webApp, WebAppLifeCycleEvent.REMOVED));
+ webApp.context.stop();
+ return true;
+ }
+ else
+ {
+ System.out.println("Web application " + webAppId + " was not registered");
+ return false;
+ }
+ }
+ }
+
+ public void cancel()
+ {
+ if (disposed)
+ {
+ throw new IllegalStateException("Disposed registration");
+ }
+ synchronized(container.lock)
+ {
+ // Unregister all web apps
+ for (Iterator i = container.webAppMap.values().iterator(); i.hasNext();)
+ {
+ WebApp webApp = (WebApp)i.next();
+ WebAppLifeCycleEvent event = new WebAppLifeCycleEvent(webApp, WebAppLifeCycleEvent.REMOVED);
+ container.fireEvent(event);
+ }
+
+ //
+ container.webAppMap.clear();
+
+ // Uninstall the call back
+ try
+ {
+ context.unsetCallback(this);
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ }
+
+ // Update state
+ context = null;
+ disposed = true;
+ container.registration = null;
+ }
+ }
+ }
+
+ /**
+ * Implementation of the <code>WebApp</code> interface.
+ */
+ private static class WebAppImpl implements WebApp
+ {
+
+ /** . */
+ final WebAppContext context;
+
+ public WebAppImpl(WebAppContext context)
+ {
+ this.context = context;
+ }
+
+ public ServletContext getServletContext()
+ {
+ return context.getServletContext();
+ }
+
+ public ClassLoader getClassLoader()
+ {
+ return context.getClassLoader();
+ }
+
+ public String getContextPath()
+ {
+ return context.getContextPath();
+ }
+
+ public boolean importFile(String parentDirRelativePath, String name, InputStream source, boolean overwrite) throws IOException
+ {
+ return context.importFile(parentDirRelativePath, name, source, overwrite);
+ }
+ }
}
Added: modules/web/trunk/web/src/main/org/jboss/portal/web/ServletContainerFactory.java
===================================================================
--- modules/web/trunk/web/src/main/org/jboss/portal/web/ServletContainerFactory.java (rev 0)
+++ modules/web/trunk/web/src/main/org/jboss/portal/web/ServletContainerFactory.java 2007-09-10 23:06:44 UTC (rev 8208)
@@ -0,0 +1,41 @@
+/******************************************************************************
+ * 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.web;
+
+/**
+ * It's rather a provider rather than a real factory. But I prefer the factory name than the provider name.
+ *
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+public interface ServletContainerFactory
+{
+
+ /**
+ * Returns the servlet container.
+ *
+ * @return
+ */
+ ServletContainer getServletContainer();
+
+}
Modified: modules/web/trunk/web/src/main/org/jboss/portal/web/ServletContextDispatcher.java
===================================================================
--- modules/web/trunk/web/src/main/org/jboss/portal/web/ServletContextDispatcher.java 2007-09-10 23:03:20 UTC (rev 8207)
+++ modules/web/trunk/web/src/main/org/jboss/portal/web/ServletContextDispatcher.java 2007-09-10 23:06:44 UTC (rev 8208)
@@ -22,14 +22,14 @@
******************************************************************************/
package org.jboss.portal.web;
-import org.jboss.portal.web.spi.ServletContainerContext;
-
import javax.servlet.ServletContext;
+import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
/**
- * Encapsulate dispatching functionnality into a single class so it is easy to
+ * Encapsulate dispatch functionnality into a single class so it is easy to
* pass it as an argment to a framework that neeeds a dispatcher to just a
* servlet context and does not care about the underlying spi or request/response.
*
@@ -46,13 +46,13 @@
private final HttpServletResponse response;
/** . */
- private final ServletContainerContext containerContext;
+ private final ServletContainer servletContainer;
- public ServletContextDispatcher(HttpServletRequest request, HttpServletResponse response, ServletContainerContext containerContext)
+ public ServletContextDispatcher(HttpServletRequest request, HttpServletResponse response, ServletContainer servletContainer)
{
this.request = request;
this.response = response;
- this.containerContext = containerContext;
+ this.servletContainer = servletContainer;
}
public HttpServletRequest getRequest()
@@ -68,9 +68,9 @@
public Object include(
ServletContext targetServletContext,
RequestDispatchCallback callback,
- Object handback) throws Exception
+ Object handback) throws ServletException, IOException
{
- return containerContext.include(targetServletContext, request, response, callback, handback);
+ return servletContainer.include(targetServletContext, request, response, callback, handback);
}
}
Modified: modules/web/trunk/web/src/main/org/jboss/portal/web/WebApp.java
===================================================================
--- modules/web/trunk/web/src/main/org/jboss/portal/web/WebApp.java 2007-09-10 23:03:20 UTC (rev 8207)
+++ modules/web/trunk/web/src/main/org/jboss/portal/web/WebApp.java 2007-09-10 23:06:44 UTC (rev 8208)
@@ -44,13 +44,6 @@
ServletContext getServletContext();
/**
- * Returns an identifier for the web application valid in the scope of all the web applications deployed.
- *
- * @return the web application identifier
- */
- String getId();
-
- /**
* Returns the class loader of the web application.
*
* @return the web application class loader
Modified: modules/web/trunk/web/src/main/org/jboss/portal/web/WebAppLifeCycleEvent.java
===================================================================
--- modules/web/trunk/web/src/main/org/jboss/portal/web/WebAppLifeCycleEvent.java 2007-09-10 23:03:20 UTC (rev 8207)
+++ modules/web/trunk/web/src/main/org/jboss/portal/web/WebAppLifeCycleEvent.java 2007-09-10 23:06:44 UTC (rev 8208)
@@ -23,6 +23,8 @@
package org.jboss.portal.web;
/**
+ * Web application life cycle event.
+ *
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
* @version $Revision: 1.1 $
*/
Modified: modules/web/trunk/web/src/main/org/jboss/portal/web/command/CommandDispatcher.java
===================================================================
--- modules/web/trunk/web/src/main/org/jboss/portal/web/command/CommandDispatcher.java 2007-09-10 23:03:20 UTC (rev 8207)
+++ modules/web/trunk/web/src/main/org/jboss/portal/web/command/CommandDispatcher.java 2007-09-10 23:06:44 UTC (rev 8208)
@@ -37,72 +37,20 @@
public class CommandDispatcher
{
- /** . */
- private static final ThreadLocal localResponse = new ThreadLocal();
-
public Object include(
ServletContext targetServletContext,
HttpServletRequest req,
HttpServletResponse resp,
RequestDispatchCallback callback,
- Object handback) throws Exception
+ Object handback) throws ServletException, IOException
{
- try
- {
- //
- ServletCommand cmd = new InvokeNextCommand(targetServletContext, callback, handback);
+ CallbackCommand cmd = new CallbackCommand(targetServletContext, callback, handback);
- //
- CommandServlet.include(req, resp, cmd, targetServletContext);
-
- // Rethrow any InvocationException
- Object response = localResponse.get();
-
- //
- if (response instanceof Exception)
- {
- throw (Exception)response;
- }
- else
- {
- return response;
- }
- }
- catch (IOException e)
- {
- throw e;
- }
- catch (ServletException e)
- {
- // Unwrap underlying exception if any
- Throwable t = e.getRootCause();
-
- //
- if (t instanceof Error)
- {
- // Rethrow any error
- throw(Error)t;
- }
- else if (t instanceof RuntimeException)
- {
- throw (RuntimeException)t;
- }
- else if (t instanceof Exception)
- {
- throw (Exception)t;
- }
- else
- {
- throw e;
- }
- }
- finally
- {
- localResponse.set(null);
- }
+ //
+ return CommandServlet.include(req, resp, cmd, targetServletContext);
}
- public static class InvokeNextCommand implements ServletCommand
+ public static class CallbackCommand
{
/** . */
@@ -114,26 +62,16 @@
/** . */
private final Object handback;
- public InvokeNextCommand(ServletContext servletContext, RequestDispatchCallback invocation, Object handback)
+ public CallbackCommand(ServletContext servletContext, RequestDispatchCallback invocation, Object handback)
{
this.servletContext = servletContext;
this.invocation = invocation;
this.handback = handback;
}
- public void execute(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
+ public Object execute(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
{
- try
- {
- Object response = invocation.doCallback(servletContext, req, resp, handback);
-
- //
- localResponse.set(response);
- }
- catch (Exception e)
- {
- localResponse.set(e);
- }
+ return invocation.doCallback(servletContext, req, resp, handback);
}
}
}
Modified: modules/web/trunk/web/src/main/org/jboss/portal/web/command/CommandServlet.java
===================================================================
--- modules/web/trunk/web/src/main/org/jboss/portal/web/command/CommandServlet.java 2007-09-10 23:03:20 UTC (rev 8207)
+++ modules/web/trunk/web/src/main/org/jboss/portal/web/command/CommandServlet.java 2007-09-10 23:06:44 UTC (rev 8208)
@@ -34,8 +34,7 @@
/**
* This servlet is used to execute command coming from another context through a dispatching request.
- * <p/>
- * The command invocation is detyped to allow it working on redeploy and avoid class cast exception.
+ * The invocation is detyped in order to allow redeployment and avoid class cast exception.
*
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
* @version $Revision: 1.1 $
@@ -44,40 +43,80 @@
{
/** . */
-// private static final Logger log = Logger.getLogger(CommandServlet.class);
+ private static final ThreadLocal localCmd = new ThreadLocal();
/** . */
- private static final ThreadLocal localCmd = new ThreadLocal();
+ private static final ThreadLocal localResponse = new ThreadLocal();
+ /** . */
+ private static final ThreadLocal localThrowable = new ThreadLocal();
+
/**
- * Execute a command after having performed a request dispatch in the target servlet context.
+ * <p>Execute a command after having performed a request dispatch in the target servlet context.</p>
*
- * @param cmd the command to execute after the inclusion is done
- * @param ctx the target servlet context
- * @throws IOException
- * @throws ServletException
+ * <p>The provided callback argment must expose a public non static and non abstract method
+ * with the signature <code>execute(HttpServletRequest,HttpServletResponse)</code>.
+ * This method must return an object and can declare any exception. This method will be invoked
+ * after the request dispatch operation is done.</p>
+ *
+ * <p>Any throwable thrown by the callback invocation will be wrapped in a <code>ServletException</code>
+ * and rethrown, unless it is an instance of <code>ServletException</code> or <code>IOException</code>.</p>
+ *
+ * @param callback the callback to invoke after the inclusion is done
+ * @param targetContext the target servlet context
+ * @throws IOException likely thrown by the request dispatch operation
+ * @throws ServletException wraps any exception thrown by the callback
*/
- public static void include(
- HttpServletRequest req,
- HttpServletResponse resp,
- ServletCommand cmd,
- ServletContext ctx) throws IOException, ServletException
+ public static Object include(
+ HttpServletRequest request,
+ HttpServletResponse response,
+ Object callback,
+ ServletContext targetContext) throws ServletException, IOException
{
try
{
- localCmd.set(cmd);
- RequestDispatcher switcher = ctx.getRequestDispatcher("/jbossportlet");
- switcher.include(req, resp);
+ localCmd.set(callback);
+ RequestDispatcher switcher = targetContext.getRequestDispatcher("/jbossportlet");
+ switcher.include(request, response);
+
+ //
+ Throwable throwable = (Throwable)localThrowable.get();
+
+ //
+ if (throwable != null)
+ {
+ if (throwable instanceof IOException)
+ {
+ throw (IOException)throwable;
+ }
+ else if (throwable instanceof ServletException)
+ {
+ throw (ServletException)throwable;
+ }
+ else
+ {
+ ServletException se = new ServletException();
+ se.initCause(throwable);
+ throw se;
+ }
+ }
+
+ //
+ return localResponse.get();
}
finally
{
localCmd.set(null);
+ localResponse.set(null);
+ localThrowable.set(null);
}
}
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
{
Object cmd = localCmd.get();
+
+ //
if (cmd != null)
{
try
@@ -87,58 +126,34 @@
new Class[]{
HttpServletRequest.class,
HttpServletResponse.class});
- methods.invoke(cmd, new Object[]{req, resp});
+
+ //
+ Object response = methods.invoke(cmd, new Object[]{req, resp});
+
+ //
+ localResponse.set(response);
}
catch (NoSuchMethodException e)
{
- throw new ServletException("No execute method found on the command", e);
+ throw new Error("No execute method found on the command", e);
}
catch (InvocationTargetException e)
{
// Log the wrappee
Throwable wrappee = e.getTargetException();
- // log.error("Exception in command invocation", wrappee);
- // Rethrow the checked ServletException
- if (wrappee instanceof ServletException)
- {
- ServletException se = (ServletException)wrappee;
- if (se.getCause() == null && se.getRootCause() != null)
- {
- se.initCause(se.getRootCause());
- }
- throw(ServletException)wrappee;
- }
- // Rethrow the checked IOException
- if (wrappee instanceof IOException)
- {
- throw(IOException)wrappee;
- }
- // Rethrow RuntimeException
- if (wrappee instanceof RuntimeException)
- {
- throw(RuntimeException)wrappee;
- }
- // Rethrow Error
- if (wrappee instanceof Error)
- {
- throw(Error)wrappee;
- }
// Here we wrap it and rethrow
- ServletException se = new ServletException("The invoked command threw an exception", wrappee);
- se.initCause(wrappee);
- throw se;
+ localThrowable.set(wrappee);
}
catch (IllegalAccessException e)
{
- ServletException se = new ServletException("Unexpected IllegalAccessException during command invocation", e);
- se.initCause(e);
- throw se;
+ throw new Error("Unexpected IllegalAccessException during command invocation", e);
}
}
else
{
- throw new ServletException("No command found");
+ // That should not happen
+ throw new Error("No command found");
}
}
Deleted: modules/web/trunk/web/src/main/org/jboss/portal/web/command/ServletCommand.java
===================================================================
--- modules/web/trunk/web/src/main/org/jboss/portal/web/command/ServletCommand.java 2007-09-10 23:03:20 UTC (rev 8207)
+++ modules/web/trunk/web/src/main/org/jboss/portal/web/command/ServletCommand.java 2007-09-10 23:06:44 UTC (rev 8208)
@@ -1,39 +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.web.command;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.ServletException;
-import java.io.IOException;
-
-/**
- * Command to be executed in the command servlet.
- *
- * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
- * @version $Revision: 1.1 $
- */
-public interface ServletCommand
-{
- void execute(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException;
-}
Added: modules/web/trunk/web/src/main/org/jboss/portal/web/impl/DefaultServletContainerFactory.java
===================================================================
--- modules/web/trunk/web/src/main/org/jboss/portal/web/impl/DefaultServletContainerFactory.java (rev 0)
+++ modules/web/trunk/web/src/main/org/jboss/portal/web/impl/DefaultServletContainerFactory.java 2007-09-10 23:06:44 UTC (rev 8208)
@@ -0,0 +1,64 @@
+/******************************************************************************
+ * 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.web.impl;
+
+import org.jboss.portal.web.ServletContainer;
+import org.jboss.portal.web.ServletContainerFactory;
+import org.jboss.portal.web.spi.ServletContainerContext;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+public class DefaultServletContainerFactory implements ServletContainerFactory
+{
+
+ /** . */
+ public static final DefaultServletContainerFactory instance = new DefaultServletContainerFactory();
+
+ public static ServletContainerFactory getInstance()
+ {
+ return instance;
+ }
+
+ /** . */
+ private final ServletContainer container = new ServletContainer();
+
+ /**
+ * Returns the singleton instance.
+ *
+ * @return the singleton instance
+ */
+ public ServletContainer getServletContainer()
+ {
+ return container;
+ }
+
+ /**
+ * Register the context argument on the singleton instance.
+ */
+ public static void registerContext(ServletContainerContext context) throws IllegalArgumentException
+ {
+ instance.container.register(context);
+ }
+}
Added: modules/web/trunk/web/src/main/org/jboss/portal/web/impl/generic/GenericServletContainerContext.java
===================================================================
--- modules/web/trunk/web/src/main/org/jboss/portal/web/impl/generic/GenericServletContainerContext.java (rev 0)
+++ modules/web/trunk/web/src/main/org/jboss/portal/web/impl/generic/GenericServletContainerContext.java 2007-09-10 23:06:44 UTC (rev 8208)
@@ -0,0 +1,92 @@
+/******************************************************************************
+ * 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.web.impl.generic;
+
+import org.jboss.portal.web.RequestDispatchCallback;
+import org.jboss.portal.web.impl.DefaultServletContainerFactory;
+import org.jboss.portal.web.spi.ServletContainerContext;
+import org.jboss.portal.web.command.CommandDispatcher;
+
+import javax.servlet.ServletContext;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+public class GenericServletContainerContext implements ServletContainerContext
+{
+
+ /** . */
+ private static final GenericServletContainerContext instance = new GenericServletContainerContext();
+
+ /** . */
+ private Registration registration;
+
+ static
+ {
+ DefaultServletContainerFactory.registerContext(instance);
+ }
+
+ static void register(GenericWebAppContext webAppContext)
+ {
+ if (instance.registration != null)
+ {
+ instance.registration.registerWebApp(webAppContext);
+ }
+ }
+
+ static void unregister(String webAppId)
+ {
+ if (instance.registration != null)
+ {
+ instance.registration.unregisterWebApp(webAppId);
+ }
+ }
+
+ /** . */
+ private final CommandDispatcher dispatcher = new CommandDispatcher();
+
+ public Object include(
+ ServletContext targetServletContext,
+ HttpServletRequest request,
+ HttpServletResponse response,
+ RequestDispatchCallback callback,
+ Object handback) throws ServletException, IOException
+ {
+ return dispatcher.include(targetServletContext, request, response, callback, handback);
+ }
+
+ public void setCallback(Registration registration)
+ {
+ this.registration = registration;
+ }
+
+ public void unsetCallback(Registration registration)
+ {
+ this.registration = null;
+ }
+}
Added: modules/web/trunk/web/src/main/org/jboss/portal/web/impl/generic/GenericWebAppContext.java
===================================================================
--- modules/web/trunk/web/src/main/org/jboss/portal/web/impl/generic/GenericWebAppContext.java (rev 0)
+++ modules/web/trunk/web/src/main/org/jboss/portal/web/impl/generic/GenericWebAppContext.java 2007-09-10 23:06:44 UTC (rev 8208)
@@ -0,0 +1,81 @@
+/******************************************************************************
+ * 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.web.impl.generic;
+
+import org.jboss.portal.web.spi.WebAppContext;
+
+import javax.servlet.ServletContext;
+import java.io.InputStream;
+import java.io.IOException;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+public class GenericWebAppContext implements WebAppContext
+{
+
+ /** . */
+ private final ServletContext servletContext;
+
+ /** . */
+ private final String contextPath;
+
+ /** . */
+ private final ClassLoader classLoader;
+
+ public GenericWebAppContext(ServletContext servletContext, String contextPath, ClassLoader classLoader)
+ {
+ this.servletContext = servletContext;
+ this.contextPath = contextPath;
+ this.classLoader = classLoader;
+ }
+
+ public void start() throws Exception
+ {
+ }
+
+ public void stop()
+ {
+ }
+
+ public ServletContext getServletContext()
+ {
+ return servletContext;
+ }
+
+ public ClassLoader getClassLoader()
+ {
+ return classLoader;
+ }
+
+ public String getContextPath()
+ {
+ return contextPath;
+ }
+
+ public boolean importFile(String parentDirRelativePath, String name, InputStream source, boolean overwrite) throws IOException
+ {
+ return false;
+ }
+}
Added: modules/web/trunk/web/src/main/org/jboss/portal/web/impl/generic/PortletContainerBootstrapServlet.java
===================================================================
--- modules/web/trunk/web/src/main/org/jboss/portal/web/impl/generic/PortletContainerBootstrapServlet.java (rev 0)
+++ modules/web/trunk/web/src/main/org/jboss/portal/web/impl/generic/PortletContainerBootstrapServlet.java 2007-09-10 23:06:44 UTC (rev 8208)
@@ -0,0 +1,70 @@
+/******************************************************************************
+ * 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.web.impl.generic;
+
+import org.jboss.portal.web.command.CommandServlet;
+
+import javax.servlet.ServletException;
+import javax.servlet.ServletContext;
+import java.lang.reflect.Method;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+public class PortletContainerBootstrapServlet extends CommandServlet
+{
+
+ /** . */
+ private String contextPath;
+
+ public void init() throws ServletException
+ {
+ try
+ {
+ Method m = ServletContext.class.getMethod("getContextPath", new Class[0]);
+ ServletContext servletContext = getServletContext();
+
+ //
+ String contextPath = (String)m.invoke(servletContext, new Object[0]);
+ ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
+ GenericWebAppContext webAppContext = new GenericWebAppContext(servletContext, contextPath, classLoader);
+
+ //
+ GenericServletContainerContext.register(webAppContext);
+ this.contextPath = contextPath;
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ }
+ }
+
+ public void destroy()
+ {
+ if (contextPath != null)
+ {
+ GenericServletContainerContext.unregister(contextPath);
+ }
+ }
+}
Added: modules/web/trunk/web/src/main/org/jboss/portal/web/impl/tomcat/TC6ContainerServlet.java
===================================================================
--- modules/web/trunk/web/src/main/org/jboss/portal/web/impl/tomcat/TC6ContainerServlet.java (rev 0)
+++ modules/web/trunk/web/src/main/org/jboss/portal/web/impl/tomcat/TC6ContainerServlet.java 2007-09-10 23:06:44 UTC (rev 8208)
@@ -0,0 +1,127 @@
+/******************************************************************************
+ * 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.web.impl.tomcat;
+
+import org.apache.catalina.ContainerServlet;
+import org.apache.catalina.Wrapper;
+import org.apache.catalina.Container;
+import org.apache.catalina.Engine;
+
+import javax.servlet.http.HttpServlet;
+import javax.servlet.ServletException;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+public class TC6ContainerServlet extends HttpServlet implements ContainerServlet
+{
+
+ /** . */
+ private Wrapper wrapper;
+
+ /** . */
+ private TC6ServletContainerContext containerContext;
+
+ /** . */
+ private boolean started;
+
+ public Wrapper getWrapper()
+ {
+ return wrapper;
+ }
+
+ public void setWrapper(Wrapper wrapper)
+ {
+ this.wrapper = wrapper;
+
+ //
+ if (wrapper != null)
+ {
+ attemptStart();
+ }
+ else
+ {
+ attemptStop();
+ }
+ }
+
+ public void init() throws ServletException
+ {
+ started = true;
+
+ //
+ attemptStart();
+ }
+
+ public void destroy()
+ {
+ started = false;
+
+ //
+ attemptStop();
+ }
+
+ private void attemptStart()
+ {
+ if (started && wrapper != null)
+ {
+ start();
+ }
+ }
+
+ private void attemptStop()
+ {
+ if (!started || wrapper == null)
+ {
+ stop();
+ }
+ }
+
+ private void start()
+ {
+ Container container = wrapper;
+ while (container.getParent() != null)
+ {
+ container = container.getParent();
+ if (container instanceof Engine)
+ {
+ Engine engine = (Engine)container;
+ containerContext = new TC6ServletContainerContext(engine);
+ containerContext.start();
+ break;
+ }
+ }
+ }
+
+ private void stop()
+ {
+ if (containerContext != null)
+ {
+ containerContext.stop();
+
+ //
+ containerContext = null;
+ }
+ }
+}
Added: modules/web/trunk/web/src/main/org/jboss/portal/web/impl/tomcat/TC6LifecycleListener.java
===================================================================
--- modules/web/trunk/web/src/main/org/jboss/portal/web/impl/tomcat/TC6LifecycleListener.java (rev 0)
+++ modules/web/trunk/web/src/main/org/jboss/portal/web/impl/tomcat/TC6LifecycleListener.java 2007-09-10 23:06:44 UTC (rev 8208)
@@ -0,0 +1,97 @@
+/******************************************************************************
+ * 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.web.impl.tomcat;
+
+import org.apache.catalina.LifecycleListener;
+import org.apache.catalina.LifecycleEvent;
+import org.apache.catalina.Lifecycle;
+import org.apache.catalina.Server;
+import org.apache.catalina.Service;
+import org.apache.catalina.Container;
+import org.apache.catalina.Engine;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+public class TC6LifecycleListener implements LifecycleListener
+{
+
+ /** . */
+ private TC6ServletContainerContext containerContext;
+
+ public synchronized void lifecycleEvent(LifecycleEvent event)
+ {
+ Lifecycle lifecycle = event.getLifecycle();
+
+ //
+ if (lifecycle instanceof Server)
+ {
+ Server server = (Server)lifecycle;
+
+ //
+ Engine engine = getEngine(server);
+
+ //
+ if (engine != null)
+ {
+ if (Lifecycle.START_EVENT.equals(event.getType()))
+ {
+ containerContext = new TC6ServletContainerContext(engine);
+ containerContext.start();
+ }
+ else if (Lifecycle.STOP_EVENT.equals(event.getType()))
+ {
+ if (containerContext != null)
+ {
+ containerContext.stop();
+ }
+ }
+ }
+ }
+ }
+
+ private Engine getEngine(Server server)
+ {
+ Service[] services = server.findServices();
+ for (int i = 0; i < services.length; i++)
+ {
+ Service service = services[i];
+ Engine engine = getEngine(service.getContainer());
+ if (engine != null)
+ {
+ return engine;
+ }
+ }
+ return null;
+ }
+
+ private Engine getEngine(Container container)
+ {
+ if (container instanceof Engine)
+ {
+ return (Engine)container;
+ }
+ return null;
+ }
+}
Modified: modules/web/trunk/web/src/main/org/jboss/portal/web/impl/tomcat/TC6ServletContainerContext.java
===================================================================
--- modules/web/trunk/web/src/main/org/jboss/portal/web/impl/tomcat/TC6ServletContainerContext.java 2007-09-10 23:03:20 UTC (rev 8207)
+++ modules/web/trunk/web/src/main/org/jboss/portal/web/impl/tomcat/TC6ServletContainerContext.java 2007-09-10 23:06:44 UTC (rev 8208)
@@ -22,34 +22,27 @@
******************************************************************************/
package org.jboss.portal.web.impl.tomcat;
-import org.jboss.portal.web.WebAppListener;
import org.jboss.portal.web.RequestDispatchCallback;
-import org.jboss.portal.web.WebAppEvent;
-import org.jboss.portal.web.WebAppLifeCycleEvent;
-import org.jboss.portal.web.ServletContainer;
+import org.jboss.portal.web.impl.DefaultServletContainerFactory;
import org.jboss.portal.web.command.CommandDispatcher;
import org.jboss.portal.web.spi.ServletContainerContext;
-import org.apache.catalina.LifecycleListener;
-import org.apache.catalina.ContainerListener;
-import org.apache.catalina.LifecycleEvent;
-import org.apache.catalina.Lifecycle;
-import org.apache.catalina.Server;
-import org.apache.catalina.Service;
import org.apache.catalina.Container;
import org.apache.catalina.Engine;
import org.apache.catalina.Host;
import org.apache.catalina.ContainerEvent;
import org.apache.catalina.Context;
+import org.apache.catalina.ContainerListener;
+import org.apache.catalina.Lifecycle;
+import org.apache.catalina.LifecycleListener;
+import org.apache.catalina.LifecycleEvent;
import javax.servlet.ServletContext;
+import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-import java.util.ArrayList;
-import java.util.Map;
-import java.util.HashMap;
-import java.util.Iterator;
import java.util.Set;
import java.util.HashSet;
+import java.io.IOException;
/**
* An implementation of the <code>ServletContainerContext</code> for Tomcat.
@@ -57,24 +50,27 @@
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
* @version $Revision: 1.1 $
*/
-public class TC6ServletContainerContext implements ServletContainerContext, LifecycleListener, ContainerListener
+public class TC6ServletContainerContext implements ServletContainerContext, ContainerListener, LifecycleListener
{
+ /** . */
+ private final CommandDispatcher dispatcher = new CommandDispatcher();
+
/** The monitored hosts. */
private final Set monitoredHosts = new HashSet();
- /** The event listeners. */
- private final ArrayList listeners = new ArrayList();
+ /** The monitored contexts. */
+ private final Set monitoredContexts = new HashSet();
- /** The web applications. */
- private final Map webAppMap = new HashMap();
+ /** . */
+ private final Engine engine;
/** . */
- private final CommandDispatcher dispatcher = new CommandDispatcher();
+ private Registration registration;
- public TC6ServletContainerContext()
+ public TC6ServletContainerContext(Engine engine)
{
- ServletContainer.registerContext(this);
+ this.engine = engine;
}
public Object include(
@@ -82,166 +78,217 @@
HttpServletRequest request,
HttpServletResponse response,
RequestDispatchCallback callback,
- Object handback) throws Exception
+ Object handback) throws ServletException, IOException
{
return dispatcher.include(targetServletContext, request, response, callback, handback);
}
- public synchronized boolean addWebAppListener(WebAppListener listener)
+ public void setCallback(Registration registration)
{
- if (listener == null)
+ this.registration = registration;
+ }
+
+ public void unsetCallback(Registration registration)
+ {
+ this.registration = null;
+ }
+
+ public synchronized void containerEvent(ContainerEvent event)
+ {
+ if (event.getData() instanceof Host)
{
- throw new IllegalArgumentException();
+ Host host = (Host)event.getData();
+
+ //
+ if (Container.ADD_CHILD_EVENT.equals(event.getType()))
+ {
+ registerHost(host);
+ }
+ else if (Container.REMOVE_CHILD_EVENT.equals(event.getType()))
+ {
+ unregisterHost(host);
+ }
}
- if (listeners.contains(listener))
+ else if (event.getData() instanceof Context)
{
- return false;
+ Context context = (Context)event.getData();
+
+ //
+ if (Container.ADD_CHILD_EVENT.equals(event.getType()))
+ {
+ registerContext(context);
+ }
+ else if (Container.REMOVE_CHILD_EVENT.equals(event.getType()))
+ {
+ unregisterContext(context);
+ }
}
- listeners.add(listener);
- for (Iterator i = webAppMap.values().iterator(); i.hasNext();)
+ }
+
+ public void lifecycleEvent(LifecycleEvent event)
+ {
+ if (event.getSource() instanceof Context)
{
- TC6WebApp webApp = (TC6WebApp)i.next();
- WebAppLifeCycleEvent event = new WebAppLifeCycleEvent(webApp, WebAppLifeCycleEvent.ADDED);
- fireEvent(listener, event);
+ Context context = (Context)event.getSource();
+
+ //
+ if (Lifecycle.AFTER_START_EVENT.equals(event.getType()))
+ {
+ start(context);
+ }
+ else if (Lifecycle.BEFORE_STOP_EVENT.equals(event.getType()))
+ {
+ stop(context);
+ }
}
- return true;
}
- public synchronized boolean removeWebAppListener(WebAppListener listener)
+ void start()
{
- if (listener == null)
+ DefaultServletContainerFactory.registerContext(this);
+
+ //
+ Container[] childrenContainers = engine.findChildren();
+ for (int i = 0; i < childrenContainers.length; i++)
{
- throw new IllegalArgumentException();
- }
- if (listeners.remove(listener))
- {
- for (Iterator i = webAppMap.values().iterator(); i.hasNext();)
+ Container childContainer = childrenContainers[i];
+ if (childContainer instanceof Host)
{
- TC6WebApp webApp = (TC6WebApp)i.next();
- WebAppLifeCycleEvent event = new WebAppLifeCycleEvent(webApp, WebAppLifeCycleEvent.REMOVED);
- fireEvent(listener, event);
+ Host host = (Host)childContainer;
+ registerHost(host);
}
- return true;
}
- else
- {
- return false;
- }
+
+ //
+ engine.addContainerListener(this);
}
- public synchronized void lifecycleEvent(LifecycleEvent lifecycleEvent)
+ void stop()
{
- Lifecycle lifecycle = lifecycleEvent.getLifecycle();
- System.out.println("lifecycle = " + lifecycle);
- if (lifecycle instanceof Server)
+ engine.removeContainerListener(this);
+
+ //
+ Container[] childrenContainers = engine.findChildren();
+ for (int i = 0; i < childrenContainers.length; i++)
{
- Server server = (Server)lifecycle;
- Service[] services = server.findServices();
- for (int i = 0; i < services.length; i++)
+ Container childContainer = childrenContainers[i];
+ if (childContainer instanceof Host)
{
- Service service = services[i];
- handleContainer(service.getContainer());
+ Host host = (Host)childContainer;
+ unregisterHost(host);
}
}
+
+ //
+ registration.cancel();
+ registration = null;
}
- public synchronized void containerEvent(ContainerEvent containerEvent)
+ /**
+ * Register an host for registration which means that we fire events for all the contexts it
+ * contains and we subscribe for its life cycle events. If the host is already monitored
+ * nothing is done.
+ *
+ * @param host the host to register for monitoring
+ */
+ private void registerHost(Host host)
{
- if (containerEvent.getData() instanceof Context)
+ if (!monitoredHosts.contains(host.getName()))
{
- Context context = (Context)containerEvent.getData();
- String webAppId = TC6WebAppIdFactory.createId(context);
-
- if ("addChild".equals(containerEvent.getType()))
+ Container[] childrenContainers = host.findChildren();
+ for (int i = 0; i < childrenContainers.length; i++)
{
- System.out.println("Context added " + context.getPath());
- try
+ Container childContainer = childrenContainers[i];
+ if (childContainer instanceof Context)
{
- if (webAppMap.containsKey(webAppId))
- {
- System.out.println("Web application " + webAppId + " is already registered");
- }
- else
- {
- TC6WebApp webApp = new TC6WebApp(context);
- System.out.println("Web application " + webAppId + " registration");
- webApp.instrument();
- webAppMap.put(webApp.getId(), webApp);
- fireEvent(new WebAppLifeCycleEvent(webApp, WebAppLifeCycleEvent.ADDED));
- }
+ Context context = (Context)childContainer;
+ registerContext(context);
}
- catch (Exception e)
- {
- e.printStackTrace();
- }
}
- else if ("removeChild".equals(containerEvent.getType()))
+
+ //
+ host.addContainerListener(this);
+
+ //
+ monitoredHosts.add(host.getName());
+ }
+ }
+
+ private void unregisterHost(Host host)
+ {
+ if (monitoredHosts.contains(host.getName()))
+ {
+ monitoredHosts.remove(host.getName());
+
+ //
+ host.removeContainerListener(this);
+
+ //
+ Container[] childrenContainers = host.findChildren();
+ for (int i = 0; i < childrenContainers.length; i++)
{
- try
+ Container childContainer = childrenContainers[i];
+ if (childContainer instanceof Context)
{
- TC6WebApp webApp = (TC6WebApp)webAppMap.remove(webAppId);
- if (webApp != null)
- {
- System.out.println("Web application " + webAppId + " cleanup");
- fireEvent(new WebAppLifeCycleEvent(webApp, WebAppLifeCycleEvent.REMOVED));
- webApp.cleanup();
- }
- else
- {
- System.out.println("Web application " + webAppId + " is already registered");
- }
+ Context context = (Context)childContainer;
+ unregisterContext(context);
}
- catch (Exception e)
- {
- e.printStackTrace();
- }
}
}
}
-// synchronized(webAppMap)
-// {
-// for (Iterator i = webAppMap.values().iterator();i.hasNext();)
-// {
-// TC6WebApp webApp = (TC6WebApp)i.next();
-// System.out.println("Web application " + webApp.getId() + " unregistration");
-// webApp.cleanup();
-// i.remove();
-// }
-// }
-
- private void handleContainer(Container container)
+ private void registerContext(Context context)
{
- if (container instanceof Engine)
+ if (!monitoredContexts.contains(context.getName()))
{
- Engine engine = (Engine)container;
- Container[] childrenContainers = engine.findChildren();
- for (int i = 0; i < childrenContainers.length; i++)
+ if (context instanceof Lifecycle)
{
- Container childContainer = childrenContainers[i];
- handleContainer(childContainer);
+ ((Lifecycle)context).addLifecycleListener(this);
}
+
+ //
+ if (context.getAvailable())
+ {
+ start(context);
+ }
+
+ //
+ monitoredContexts.add(context.getName());
}
- else if (container instanceof Host)
+ }
+
+ private void unregisterContext(Context context)
+ {
+ if (monitoredContexts.contains(context.getName()))
{
- Host host = (Host)container;
- if (!monitoredHosts.contains(host.getName()))
+ monitoredContexts.remove(context.getName());
+
+ //
+ if (context.getAvailable())
{
- host.addContainerListener(this);
- monitoredHosts.add(host.getName());
+ stop(context);
}
+
+ //
+ if (context instanceof Lifecycle)
+ {
+ ((Lifecycle)context).removeLifecycleListener(this);
+ }
}
- else
- {
- System.out.println("Container not handled " + container);
- }
}
- private void fireEvent(WebAppListener listener, WebAppEvent event)
+ private void start(Context context)
{
try
{
- listener.onEvent(event);
+ System.out.println("Context added " + context.getPath());
+ TC6WebAppContext webAppContext = new TC6WebAppContext(context);
+
+ //
+ if (registration != null)
+ {
+ registration.registerWebApp(webAppContext);
+ }
}
catch (Exception e)
{
@@ -249,11 +296,18 @@
}
}
- private void fireEvent(WebAppEvent event)
+ private void stop(Context context)
{
- for (Iterator i = listeners.iterator();i.hasNext();)
+ try
{
- fireEvent((WebAppListener)i.next(), event);
+ if (registration != null)
+ {
+ registration.unregisterWebApp(context.getPath());
+ }
}
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ }
}
}
Deleted: modules/web/trunk/web/src/main/org/jboss/portal/web/impl/tomcat/TC6WebApp.java
===================================================================
--- modules/web/trunk/web/src/main/org/jboss/portal/web/impl/tomcat/TC6WebApp.java 2007-09-10 23:03:20 UTC (rev 8207)
+++ modules/web/trunk/web/src/main/org/jboss/portal/web/impl/tomcat/TC6WebApp.java 2007-09-10 23:06:44 UTC (rev 8208)
@@ -1,135 +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.web.impl.tomcat;
-
-import org.w3c.dom.Document;
-import org.apache.catalina.Context;
-import org.apache.catalina.Wrapper;
-import org.jboss.portal.web.command.CommandServlet;
-import org.jboss.portal.web.WebApp;
-
-import javax.servlet.ServletContext;
-import java.net.URL;
-import java.io.InputStream;
-import java.io.IOException;
-
-/**
- * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
- * @version $Revision: 1.1 $
- */
-public class TC6WebApp implements WebApp
-{
-
- /** The logger. */
-// protected final Logger log = Logger.getLogger(getClass());
-
- /** . */
- private Document descriptor;
-
- /** . */
- private ServletContext servletContext;
-
- /** . */
- private ClassLoader loader;
-
- /** . */
- private String id;
-
- /** . */
- private String contextPath;
-
- /** . */
- private final Context context;
-
- /** . */
- private Wrapper commandServlet;
-
- TC6WebApp(Context context) throws Exception
- {
- this.context = context;
-
- //
- servletContext = context.getServletContext();
- loader = context.getLoader().getClassLoader();
- id = context.getPath();
- contextPath = context.getPath();
- }
-
- void instrument() throws Exception
- {
- try
- {
- commandServlet = context.createWrapper();
- commandServlet.setName("JBossServlet");
- commandServlet.setLoadOnStartup(0);
- commandServlet.setServletClass(CommandServlet.class.getName());
- context.addChild(commandServlet);
- context.addServletMapping("/jbossportlet", "JBossServlet");
- }
- catch (Exception e)
- {
- cleanup();
- throw e;
- }
- }
-
- void cleanup()
- {
- if (commandServlet != null)
- {
- try
- {
- context.removeServletMapping("jbossportlet");
- context.removeChild(commandServlet);
- }
- catch (Exception e)
- {
- }
- }
- }
-
- public ServletContext getServletContext()
- {
- return servletContext;
- }
-
- public String getId()
- {
- return id;
- }
-
- public ClassLoader getClassLoader()
- {
- return loader;
- }
-
- public String getContextPath()
- {
- return contextPath;
- }
-
- public boolean importFile(String parentDirRelativePath, String name, InputStream source, boolean overwrite) throws IOException
- {
- return false;
- }
-}
Copied: modules/web/trunk/web/src/main/org/jboss/portal/web/impl/tomcat/TC6WebAppContext.java (from rev 8005, modules/web/trunk/web/src/main/org/jboss/portal/web/impl/tomcat/TC6WebApp.java)
===================================================================
--- modules/web/trunk/web/src/main/org/jboss/portal/web/impl/tomcat/TC6WebAppContext.java (rev 0)
+++ modules/web/trunk/web/src/main/org/jboss/portal/web/impl/tomcat/TC6WebAppContext.java 2007-09-10 23:06:44 UTC (rev 8208)
@@ -0,0 +1,130 @@
+/******************************************************************************
+ * 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.web.impl.tomcat;
+
+import org.w3c.dom.Document;
+import org.apache.catalina.Context;
+import org.apache.catalina.Wrapper;
+import org.jboss.portal.web.command.CommandServlet;
+import org.jboss.portal.web.spi.WebAppContext;
+
+import javax.servlet.ServletContext;
+import java.io.InputStream;
+import java.io.IOException;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+public class TC6WebAppContext implements WebAppContext
+{
+
+ /** The logger. */
+// protected final Logger log = Logger.getLogger(getClass());
+
+ /** . */
+ private Document descriptor;
+
+ /** . */
+ private ServletContext servletContext;
+
+ /** . */
+ private ClassLoader loader;
+
+ /** . */
+ private String contextPath;
+
+ /** . */
+ private final Context context;
+
+ /** . */
+ private Wrapper commandServlet;
+
+ TC6WebAppContext(Context context) throws Exception
+ {
+ this.context = context;
+
+ //
+ servletContext = context.getServletContext();
+ loader = context.getLoader().getClassLoader();
+ contextPath = context.getPath();
+ }
+
+ public void start() throws Exception
+ {
+ try
+ {
+ commandServlet = context.createWrapper();
+ commandServlet.setName("JBossServlet");
+ commandServlet.setLoadOnStartup(0);
+ commandServlet.setServletClass(CommandServlet.class.getName());
+ context.addChild(commandServlet);
+ context.addServletMapping("/jbossportlet", "JBossServlet");
+ }
+ catch (Exception e)
+ {
+ cleanup();
+ throw e;
+ }
+ }
+
+ public void stop()
+ {
+ cleanup();
+ }
+
+ private void cleanup()
+ {
+ if (commandServlet != null)
+ {
+ try
+ {
+ context.removeServletMapping("jbossportlet");
+ context.removeChild(commandServlet);
+ }
+ catch (Exception e)
+ {
+ }
+ }
+ }
+
+ public ServletContext getServletContext()
+ {
+ return servletContext;
+ }
+
+ public ClassLoader getClassLoader()
+ {
+ return loader;
+ }
+
+ public String getContextPath()
+ {
+ return contextPath;
+ }
+
+ public boolean importFile(String parentDirRelativePath, String name, InputStream source, boolean overwrite) throws IOException
+ {
+ return false;
+ }
+}
Deleted: modules/web/trunk/web/src/main/org/jboss/portal/web/impl/tomcat/TC6WebAppIdFactory.java
===================================================================
--- modules/web/trunk/web/src/main/org/jboss/portal/web/impl/tomcat/TC6WebAppIdFactory.java 2007-09-10 23:03:20 UTC (rev 8207)
+++ modules/web/trunk/web/src/main/org/jboss/portal/web/impl/tomcat/TC6WebAppIdFactory.java 2007-09-10 23:06:44 UTC (rev 8208)
@@ -1,37 +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.web.impl.tomcat;
-
-import org.apache.catalina.Context;
-
-/**
- * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
- * @version $Revision: 1.1 $
- */
-public class TC6WebAppIdFactory
-{
- public static String createId(Context context)
- {
- return context.getPath();
- }
-}
Modified: modules/web/trunk/web/src/main/org/jboss/portal/web/spi/ServletContainerContext.java
===================================================================
--- modules/web/trunk/web/src/main/org/jboss/portal/web/spi/ServletContainerContext.java 2007-09-10 23:03:20 UTC (rev 8207)
+++ modules/web/trunk/web/src/main/org/jboss/portal/web/spi/ServletContainerContext.java 2007-09-10 23:06:44 UTC (rev 8208)
@@ -23,16 +23,19 @@
package org.jboss.portal.web.spi;
import org.jboss.portal.web.RequestDispatchCallback;
-import org.jboss.portal.web.WebAppListener;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.ServletContext;
+import javax.servlet.ServletException;
+import java.io.IOException;
/**
* Defines the service provider interface for a servlet container. It is an attempt to abstract the non
* portable services required by a portal with respect to the web container layer.
*
+ * @todo add session invalidation mechanism
+ *
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
* @version $Revision: 1.1 $
*/
@@ -53,31 +56,55 @@
ServletContext targetServletContext, HttpServletRequest request,
HttpServletResponse response,
RequestDispatchCallback callback,
- Object handback) throws Exception;
+ Object handback) throws ServletException, IOException;
/**
- * Try to add a web application listener on the servlet container context. If the listener is already registered then it
- * has no effect and the method call returns false, otherwise it adds the listener and returns true. When a listener
- * is added it will receive add notifications for all web applications already registered. When a new web application
- * is added in the context, all listeners will receive a notification.
+ * Install the call back object.
*
- * @param listener the listener
- * @return true if the listener has been added
- * @throws IllegalArgumentException if the listener argument is null
+ * @param registration the call back
*/
- boolean addWebAppListener(WebAppListener listener) throws IllegalArgumentException;
+ void setCallback(Registration registration);
/**
- * Try to remove a web application listener on the servlet container context. If the listener is not registered then
- * it has no effect and the method call returns false, otherwise it removes the listener and returns true. When a
- * listener is removed it will receive remove notifications for all the web applications that are still registered.
- * When a registered web application is removes from the context, all listeners will receive a notification.
+ * Uninstall the call back object.
*
- * @param listener
- * @return
- * @throws IllegalArgumentException
+ * @param registration the call back
*/
- boolean removeWebAppListener(WebAppListener listener) throws IllegalArgumentException;
+ void unsetCallback(Registration registration);
+ /**
+ * The callback interface that a servlet container context can obtain from its registration against
+ * the <code>org.jboss.portal.web.ServletContainer</code> singleton.
+ */
+ interface Registration
+ {
+ /**
+ * Registers a web application.
+ *
+ * @param webAppContext the web application context
+ * @return true if the registration was done
+ * @throws IllegalArgumentException if the argument is null
+ * @throws IllegalStateException if the registration is cancelled
+ */
+ boolean registerWebApp(WebAppContext webAppContext) throws IllegalStateException, IllegalArgumentException;
+
+ /**
+ * Unregister a web application.
+ *
+ * @param contextPath the web application id
+ * @return true if the unregistration was done
+ * @throws IllegalArgumentException if the argument is null
+ * @throws IllegalStateException if the registration is cancelled
+ */
+ boolean unregisterWebApp(String contextPath) throws IllegalStateException, IllegalArgumentException;
+
+ /**
+ * Cancel the registration against the servlet container.
+ *
+ * @throws IllegalStateException if the registration is cancelled
+ */
+ void cancel() throws IllegalStateException;
+ }
+
}
Added: modules/web/trunk/web/src/resources/portal-web-test-jar/org/jboss/portal/test/web/spi/client-beans.xml
===================================================================
--- modules/web/trunk/web/src/resources/portal-web-test-jar/org/jboss/portal/test/web/spi/client-beans.xml (rev 0)
+++ modules/web/trunk/web/src/resources/portal-web-test-jar/org/jboss/portal/test/web/spi/client-beans.xml 2007-09-10 23:06:44 UTC (rev 8208)
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ ~ 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. ~
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->
+
+<deployment xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="urn:jboss:bean-deployer bean-deployer_1_0.xsd"
+ xmlns="urn:jboss:bean-deployer">
+
+ <bean name="Config" class="org.jboss.portal.test.web.spi.SPITestConfig">
+ <constructor factoryMethod="getBean">
+ <factory bean="BeanFactory"/>
+ <parameter>Config</parameter>
+ </constructor>
+ </bean>
+
+ <bean name="NodeFactory" class="org.jboss.portal.test.framework.impl.generic.server.GenericNodeFactory">
+ <constructor>
+ <parameter>servers.xml</parameter>
+ <parameter><inject bean="Config" property="serverName"/></parameter>
+ </constructor>
+ </bean>
+
+ <bean name="Node0" class="org.jboss.portal.test.framework.impl.generic.server.GenericNode">
+ <constructor factoryMethod="getNode">
+ <factory bean="NodeFactory" />
+ <parameter>default</parameter>
+ </constructor>
+ </bean>
+
+ <bean name="NodeManager" class="org.jboss.portal.test.framework.server.NodeManager">
+ <constructor>
+ <parameter>
+ <list>
+ <inject bean="Node0"/>
+ </list>
+ </parameter>
+ </constructor>
+ </bean>
+
+ <bean name="Deployer" class="org.jboss.portal.test.framework.deployment.Deployer">
+ </bean>
+
+ <bean name="TestDriverClient" class="org.jboss.portal.test.framework.driver.remote.RemoteTestDriverClient">
+ <property name="initialNodeId"><inject bean="Node0" property="id"/></property>
+ <property name="archivePath"><inject bean="Config" property="archivePath"/></property>
+ <property name="nodeManager"><inject bean="NodeManager"/></property>
+ <property name="deployer"><inject bean="Deployer"/></property>
+ </bean>
+
+ <bean name="JUnitAdapter" class="org.jboss.portal.test.framework.junit.JUnitAdapter">
+ <constructor>
+ <parameter><inject bean="TestDriverClient"/></parameter>
+ </constructor>
+ </bean>
+
+ <bean name="This" class="org.jboss.portal.test.web.spi.SPITestCase">
+ <constructor factoryMethod="getBean">
+ <factory bean="BeanFactory"/>
+ <parameter>This</parameter>
+ </constructor>
+ <property name="testDriver"><inject bean="TestDriverClient"/></property>
+ <property name="deployer"><inject bean="Deployer"/></property>
+ <property name="nodeManager"><inject bean="NodeManager"/></property>
+ <property name="adapter"><inject bean="JUnitAdapter"/></property>
+ </bean>
+
+</deployment>
Added: modules/web/trunk/web/src/resources/portal-web-test-jar/org/jboss/portal/test/web/spi/server-beans.xml
===================================================================
--- modules/web/trunk/web/src/resources/portal-web-test-jar/org/jboss/portal/test/web/spi/server-beans.xml (rev 0)
+++ modules/web/trunk/web/src/resources/portal-web-test-jar/org/jboss/portal/test/web/spi/server-beans.xml 2007-09-10 23:06:44 UTC (rev 8208)
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ ~ 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. ~
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->
+
+<deployment xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="urn:jboss:bean-deployer bean-deployer_1_0.xsd"
+ xmlns="urn:jboss:bean-deployer">
+
+ <bean name="TestDriverServer" class="org.jboss.portal.test.framework.driver.remote.RemoteTestDriverServer">
+ </bean>
+
+ <bean name="TestDriverServerExporter" class="org.jboss.portal.test.framework.impl.generic.server.GenericServiceExporter">
+ <constructor>
+ <parameter>socket://localhost:5400</parameter>
+ <parameter><inject bean="TestDriverServer"/></parameter>
+ <parameter>org.jboss.portal.test.framework.driver.remote.RemoteTestDriver</parameter>
+ </constructor>
+ </bean>
+
+ <bean name="ServletContainer" class="org.jboss.portal.web.ServletContainer">
+ <constructor factoryClass="org.jboss.portal.web.ServletContainer" factoryMethod="getInstance"/>
+ </bean>
+
+</deployment>
Added: modules/web/trunk/web/src/resources/test/config/servers.xml
===================================================================
--- modules/web/trunk/web/src/resources/test/config/servers.xml (rev 0)
+++ modules/web/trunk/web/src/resources/test/config/servers.xml 2007-09-10 23:06:44 UTC (rev 8208)
@@ -0,0 +1,42 @@
+<servers>
+ <server>
+ <server-name>RemoteTomcat-6.0</server-name>
+ <node>
+ <node-id>default</node-id>
+ <service>
+ <service-name>TestDriverServer</service-name>
+ <interface>org.jboss.portal.test.framework.driver.remote.RemoteTestDriver</interface>
+ <uri>socket://localhost:5400</uri>
+ </service>
+ <deployer>
+ <remote>
+ <name>tomcat5x</name>
+ <host>localhost</host>
+ <port>8080</port>
+ </remote>
+ <authentication>
+ <username>admin</username>
+ <password>admin</password>
+ </authentication>
+ </deployer>
+ </node>
+ </server>
+ <server>
+ <server-name>RemoteJBoss-4.2</server-name>
+ <node>
+ <node-id>default</node-id>
+ <service>
+ <service-name>TestDriverServer</service-name>
+ <interface>org.jboss.portal.test.framework.driver.remote.RemoteTestDriver</interface>
+ <uri>socket://localhost:5400</uri>
+ </service>
+ <deployer>
+ <remote>
+ <name>jboss4x</name>
+ <host>localhost</host>
+ <port>8080</port>
+ </remote>
+ </deployer>
+ </node>
+ </server>
+</servers>
Added: modules/web/trunk/web/src/resources/test/spi/app-war/WEB-INF/web.xml
===================================================================
--- modules/web/trunk/web/src/resources/test/spi/app-war/WEB-INF/web.xml (rev 0)
+++ modules/web/trunk/web/src/resources/test/spi/app-war/WEB-INF/web.xml 2007-09-10 23:06:44 UTC (rev 8208)
@@ -0,0 +1,29 @@
+<?xml version="1.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. ~
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->
+
+<!DOCTYPE web-app PUBLIC
+ "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
+ "http://java.sun.com/dtd/web-app_2_3.dtd">
+<web-app>
+</web-app>
Added: modules/web/trunk/web/src/resources/test/spi/jboss-container-servlet-4.2/server-war/WEB-INF/context.xml
===================================================================
--- modules/web/trunk/web/src/resources/test/spi/jboss-container-servlet-4.2/server-war/WEB-INF/context.xml (rev 0)
+++ modules/web/trunk/web/src/resources/test/spi/jboss-container-servlet-4.2/server-war/WEB-INF/context.xml 2007-09-10 23:06:44 UTC (rev 8208)
@@ -0,0 +1,2 @@
+<Context privileged="true" crossContext="true">
+</Context>
\ No newline at end of file
Added: modules/web/trunk/web/src/resources/test/spi/jboss-container-servlet-4.2/server-war/WEB-INF/web.xml
===================================================================
--- modules/web/trunk/web/src/resources/test/spi/jboss-container-servlet-4.2/server-war/WEB-INF/web.xml (rev 0)
+++ modules/web/trunk/web/src/resources/test/spi/jboss-container-servlet-4.2/server-war/WEB-INF/web.xml 2007-09-10 23:06:44 UTC (rev 8208)
@@ -0,0 +1,54 @@
+<?xml version="1.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. ~
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->
+
+<!DOCTYPE web-app PUBLIC
+ "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
+ "http://java.sun.com/dtd/web-app_2_3.dtd">
+<web-app>
+ <context-param>
+ <param-name>jboss.portal.mc.beans_resource_location</param-name>
+ <param-value>org/jboss/portal/test/web/spi/server-beans.xml</param-value>
+ </context-param>
+ <context-param>
+ <param-name>jboss.portal.mc.beans_resource_type</param-name>
+ <param-value>classloader</param-value>
+ </context-param>
+ <listener>
+ <listener-class>org.jboss.portal.common.mc.bootstrap.WebBootstrap</listener-class>
+ </listener>
+ <servlet>
+ <servlet-name>ContainerServlet</servlet-name>
+ <servlet-class>org.jboss.portal.web.impl.tomcat.TC6ContainerServlet</servlet-class>
+ <load-on-startup>0</load-on-startup>
+ </servlet>
+ <servlet>
+ <servlet-name>SPITestServlet</servlet-name>
+ <servlet-class>org.jboss.portal.test.web.spi.SPITestServlet</servlet-class>
+ <load-on-startup>0</load-on-startup>
+ </servlet>
+ <servlet-mapping>
+ <servlet-name>SPITestServlet</servlet-name>
+ <url-pattern>/</url-pattern>
+ </servlet-mapping>
+</web-app>
Added: modules/web/trunk/web/src/resources/test/spi/tomcat-container-servlet-6.0/server-war/META-INF/context.xml
===================================================================
--- modules/web/trunk/web/src/resources/test/spi/tomcat-container-servlet-6.0/server-war/META-INF/context.xml (rev 0)
+++ modules/web/trunk/web/src/resources/test/spi/tomcat-container-servlet-6.0/server-war/META-INF/context.xml 2007-09-10 23:06:44 UTC (rev 8208)
@@ -0,0 +1,2 @@
+<Context privileged="true" crossContext="true">
+</Context>
\ No newline at end of file
Added: modules/web/trunk/web/src/resources/test/spi/tomcat-container-servlet-6.0/server-war/WEB-INF/classes/log4j.properties
===================================================================
--- modules/web/trunk/web/src/resources/test/spi/tomcat-container-servlet-6.0/server-war/WEB-INF/classes/log4j.properties (rev 0)
+++ modules/web/trunk/web/src/resources/test/spi/tomcat-container-servlet-6.0/server-war/WEB-INF/classes/log4j.properties 2007-09-10 23:06:44 UTC (rev 8208)
@@ -0,0 +1,13 @@
+### ====================================================================== ###
+## ##
+## JBoss Bootstrap Log4j Configuration ##
+## ##
+### ====================================================================== ###
+
+log4j.rootCategory=ALL, CONSOLE
+
+log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
+log4j.appender.CONSOLE.Threshold=DEBUG
+log4j.appender.CONSOLE.Target=System.out
+log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
+log4j.appender.CONSOLE.layout.ConversionPattern=%d{ABSOLUTE} %-5p [%c{1}] %m%n
Added: modules/web/trunk/web/src/resources/test/spi/tomcat-container-servlet-6.0/server-war/WEB-INF/classes/logging.properties
===================================================================
--- modules/web/trunk/web/src/resources/test/spi/tomcat-container-servlet-6.0/server-war/WEB-INF/classes/logging.properties (rev 0)
+++ modules/web/trunk/web/src/resources/test/spi/tomcat-container-servlet-6.0/server-war/WEB-INF/classes/logging.properties 2007-09-10 23:06:44 UTC (rev 8208)
@@ -0,0 +1,13 @@
+handlers = org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
+
+############################################################
+# Handler specific properties.
+# Describes specific configuration info for Handlers.
+############################################################
+
+org.apache.juli.FileHandler.level = FINE
+org.apache.juli.FileHandler.directory = ${catalina.base}/logs
+org.apache.juli.FileHandler.prefix = test-spi.
+
+java.util.logging.ConsoleHandler.level = FINE
+java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
Added: modules/web/trunk/web/src/resources/test/spi/tomcat-container-servlet-6.0/server-war/WEB-INF/web.xml
===================================================================
--- modules/web/trunk/web/src/resources/test/spi/tomcat-container-servlet-6.0/server-war/WEB-INF/web.xml (rev 0)
+++ modules/web/trunk/web/src/resources/test/spi/tomcat-container-servlet-6.0/server-war/WEB-INF/web.xml 2007-09-10 23:06:44 UTC (rev 8208)
@@ -0,0 +1,54 @@
+<?xml version="1.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. ~
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->
+
+<!DOCTYPE web-app PUBLIC
+ "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
+ "http://java.sun.com/dtd/web-app_2_3.dtd">
+<web-app>
+ <context-param>
+ <param-name>jboss.portal.mc.beans_resource_location</param-name>
+ <param-value>org/jboss/portal/test/web/spi/server-beans.xml</param-value>
+ </context-param>
+ <context-param>
+ <param-name>jboss.portal.mc.beans_resource_type</param-name>
+ <param-value>classloader</param-value>
+ </context-param>
+ <listener>
+ <listener-class>org.jboss.portal.common.mc.bootstrap.WebBootstrap</listener-class>
+ </listener>
+ <servlet>
+ <servlet-name>ContainerServlet</servlet-name>
+ <servlet-class>org.jboss.portal.web.impl.tomcat.TC6ContainerServlet</servlet-class>
+ <load-on-startup>0</load-on-startup>
+ </servlet>
+ <servlet>
+ <servlet-name>SPITestServlet</servlet-name>
+ <servlet-class>org.jboss.portal.test.web.spi.SPITestServlet</servlet-class>
+ <load-on-startup>0</load-on-startup>
+ </servlet>
+ <servlet-mapping>
+ <servlet-name>SPITestServlet</servlet-name>
+ <url-pattern>/</url-pattern>
+ </servlet-mapping>
+</web-app>
Added: modules/web/trunk/web/src/resources/test/spi/tomcat-lifecycle-listener-6.0/server-war/WEB-INF/classes/log4j.properties
===================================================================
--- modules/web/trunk/web/src/resources/test/spi/tomcat-lifecycle-listener-6.0/server-war/WEB-INF/classes/log4j.properties (rev 0)
+++ modules/web/trunk/web/src/resources/test/spi/tomcat-lifecycle-listener-6.0/server-war/WEB-INF/classes/log4j.properties 2007-09-10 23:06:44 UTC (rev 8208)
@@ -0,0 +1,13 @@
+### ====================================================================== ###
+## ##
+## JBoss Bootstrap Log4j Configuration ##
+## ##
+### ====================================================================== ###
+
+log4j.rootCategory=ALL, CONSOLE
+
+log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
+log4j.appender.CONSOLE.Threshold=DEBUG
+log4j.appender.CONSOLE.Target=System.out
+log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
+log4j.appender.CONSOLE.layout.ConversionPattern=%d{ABSOLUTE} %-5p [%c{1}] %m%n
Added: modules/web/trunk/web/src/resources/test/spi/tomcat-lifecycle-listener-6.0/server-war/WEB-INF/classes/logging.properties
===================================================================
--- modules/web/trunk/web/src/resources/test/spi/tomcat-lifecycle-listener-6.0/server-war/WEB-INF/classes/logging.properties (rev 0)
+++ modules/web/trunk/web/src/resources/test/spi/tomcat-lifecycle-listener-6.0/server-war/WEB-INF/classes/logging.properties 2007-09-10 23:06:44 UTC (rev 8208)
@@ -0,0 +1,13 @@
+handlers = org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
+
+############################################################
+# Handler specific properties.
+# Describes specific configuration info for Handlers.
+############################################################
+
+org.apache.juli.FileHandler.level = FINE
+org.apache.juli.FileHandler.directory = ${catalina.base}/logs
+org.apache.juli.FileHandler.prefix = test-spi.
+
+java.util.logging.ConsoleHandler.level = FINE
+java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
Added: modules/web/trunk/web/src/resources/test/spi/tomcat-lifecycle-listener-6.0/server-war/WEB-INF/web.xml
===================================================================
--- modules/web/trunk/web/src/resources/test/spi/tomcat-lifecycle-listener-6.0/server-war/WEB-INF/web.xml (rev 0)
+++ modules/web/trunk/web/src/resources/test/spi/tomcat-lifecycle-listener-6.0/server-war/WEB-INF/web.xml 2007-09-10 23:06:44 UTC (rev 8208)
@@ -0,0 +1,49 @@
+<?xml version="1.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. ~
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->
+
+<!DOCTYPE web-app PUBLIC
+ "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
+ "http://java.sun.com/dtd/web-app_2_3.dtd">
+<web-app>
+ <context-param>
+ <param-name>jboss.portal.mc.beans_resource_location</param-name>
+ <param-value>org/jboss/portal/test/web/spi/server-beans.xml</param-value>
+ </context-param>
+ <context-param>
+ <param-name>jboss.portal.mc.beans_resource_type</param-name>
+ <param-value>classloader</param-value>
+ </context-param>
+ <listener>
+ <listener-class>org.jboss.portal.common.mc.bootstrap.WebBootstrap</listener-class>
+ </listener>
+ <servlet>
+ <servlet-name>SPITestServlet</servlet-name>
+ <servlet-class>org.jboss.portal.test.web.spi.SPITestServlet</servlet-class>
+ <load-on-startup>0</load-on-startup>
+ </servlet>
+ <servlet-mapping>
+ <servlet-name>SPITestServlet</servlet-name>
+ <url-pattern>/</url-pattern>
+ </servlet-mapping>
+</web-app>
18 years, 7 months
JBoss Portal SVN: r8207 - in modules/test/trunk/test/src: main/org/jboss/portal/test/framework/driver/http and 17 other directories.
by portal-commits@lists.jboss.org
Author: julien(a)jboss.com
Date: 2007-09-10 19:03:20 -0400 (Mon, 10 Sep 2007)
New Revision: 8207
Added:
modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/http/HTTPTestDriverHandler.java
modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/remote/RemoteDriverCommandContext.java
modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/remote/RemoteDriverResponseContext.java
modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/remote/RemoteTestDriverProtocolHandler.java
modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/web/WebTestDriverHandler.java
modules/test/trunk/test/src/main/org/jboss/portal/test/framework/impl/generic/config/
modules/test/trunk/test/src/main/org/jboss/portal/test/framework/impl/generic/config/AuthenticationConfig.java
modules/test/trunk/test/src/main/org/jboss/portal/test/framework/impl/generic/config/DeployerConfig.java
modules/test/trunk/test/src/main/org/jboss/portal/test/framework/impl/generic/config/HTTPTestRunnerConfig.java
modules/test/trunk/test/src/main/org/jboss/portal/test/framework/impl/generic/config/NodeConfig.java
modules/test/trunk/test/src/main/org/jboss/portal/test/framework/impl/generic/config/RemoteDeployerConfig.java
modules/test/trunk/test/src/main/org/jboss/portal/test/framework/impl/generic/config/ServerConfig.java
modules/test/trunk/test/src/main/org/jboss/portal/test/framework/impl/generic/config/ServiceConfig.java
modules/test/trunk/test/src/main/org/jboss/portal/test/framework/impl/generic/server/GenericLocalServiceLookup.java
modules/test/trunk/test/src/main/org/jboss/portal/test/framework/impl/generic/server/GenericNode.java
modules/test/trunk/test/src/main/org/jboss/portal/test/framework/impl/generic/server/GenericNodeFactory.java
modules/test/trunk/test/src/main/org/jboss/portal/test/framework/impl/generic/server/GenericRemoteServiceLookup.java
Removed:
modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/http/HTTPTestContext.java
modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/http/HTTPTestDriver.java
modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/http/HTTPTestDriverClient.java
modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/http/HTTPTestDriverServer.java
modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/http/command/HTTPDriverCommandContext.java
modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/http/command/SendResponseCommand.java
modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/http/response/HTTPDriverResponseContext.java
modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/http/response/SendResponseResponse.java
modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/remote/command/RemoteDriverCommandContext.java
modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/remote/response/RemoteDriverResponseContext.java
modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/web/WebTestDriverClient.java
modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/web/command/WebDriverCommandContext.java
modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/web/response/WebDriverResponseContext.java
modules/test/trunk/test/src/main/org/jboss/portal/test/framework/impl/generic/server/DirectServiceLookup.java
Modified:
modules/test/trunk/test/src/main/org/jboss/portal/test/framework/deployment/Deployer.java
modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/http/HTTPTestConversation.java
modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/remote/RemoteTestDriverClient.java
modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/remote/RemoteTestDriverServer.java
modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/remote/TestContext.java
modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/remote/TestConversation.java
modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/web/WebTestConversation.java
modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/web/command/WebDriverCommand.java
modules/test/trunk/test/src/main/org/jboss/portal/test/framework/impl/generic/agent/GenericTestAgent.java
modules/test/trunk/test/src/main/org/jboss/portal/test/framework/impl/generic/server/GenericServiceLookup.java
modules/test/trunk/test/src/main/org/jboss/portal/test/framework/junit/JUnitAdapter.java
modules/test/trunk/test/src/main/org/jboss/portal/test/framework/mc/TestRuntimeContext.java
modules/test/trunk/test/src/main/org/jboss/portal/test/framework/server/Node.java
modules/test/trunk/test/src/main/org/jboss/portal/test/framework/server/NodeManager.java
modules/test/trunk/test/src/resources/generic/portal-test-jar/org/jboss/portal/test/framework/container/http-runner-beans.xml
modules/test/trunk/test/src/resources/jboss/portal-test-jar/org/jboss/portal/test/framework/container/http-runner-beans.xml
Log:
update test framework to allow the mix of different test drivers in one test case / improved the test request count implementation
Modified: modules/test/trunk/test/src/main/org/jboss/portal/test/framework/deployment/Deployer.java
===================================================================
--- modules/test/trunk/test/src/main/org/jboss/portal/test/framework/deployment/Deployer.java 2007-09-10 12:13:33 UTC (rev 8206)
+++ modules/test/trunk/test/src/main/org/jboss/portal/test/framework/deployment/Deployer.java 2007-09-10 23:03:20 UTC (rev 8207)
@@ -31,6 +31,7 @@
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
+import java.io.File;
/**
* Client side view of deployment.
@@ -70,6 +71,26 @@
{
}
+ public void deploy(String parentName, String childName, Node node) throws Exception
+ {
+ deploy(parentName, childName, new Node[]{node});
+ }
+
+ public void deploy(File parent, String childName, Node node) throws Exception
+ {
+ deploy(parent, childName, new Node[]{node});
+ }
+
+ public void deploy(String parentName, String childName, Node[] nodes) throws Exception
+ {
+ deploy(new File(parentName), childName, nodes);
+ }
+
+ public void deploy(File parent, String childName, Node[] nodes) throws Exception
+ {
+ deploy(new File(parent, childName).toURL(), nodes);
+ }
+
public void deploy(String url, Node node) throws Exception
{
deploy(url, new Node[]{node});
@@ -87,6 +108,11 @@
deployments.put(url, deployment);
}
+ public void deploy(String url, Node[] nodes) throws Exception
+ {
+ this.deploy(getArchiveURL(url), nodes);
+ }
+
public void undeploy(URL url)
{
Deployment deployment = (Deployment)deployments.remove(url);
@@ -96,11 +122,16 @@
}
}
- public void deploy(String url, Node[] nodes) throws Exception
+ public void undeploy(String parentName, String childName) throws Exception
{
- this.deploy(getArchiveURL(url), nodes);
+ undeploy(new File(parentName), childName);
}
+ public void undeploy(File parent, String childName) throws Exception
+ {
+ undeploy(new File(parent, childName).toURL());
+ }
+
public void undeploy(String url) throws Exception
{
this.undeploy(getArchiveURL(url));
Deleted: modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/http/HTTPTestContext.java
===================================================================
--- modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/http/HTTPTestContext.java 2007-09-10 12:13:33 UTC (rev 8206)
+++ modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/http/HTTPTestContext.java 2007-09-10 23:03:20 UTC (rev 8207)
@@ -1,116 +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.test.framework.driver.http;
-
-import org.jboss.portal.test.framework.driver.remote.TestContext;
-import org.jboss.portal.test.framework.driver.DriverResponse;
-import org.jboss.portal.test.framework.TestParametrization;
-
-/**
- * The test context seen from the server side.
- * @todo make a client side context and a server side context, basically (server side context == client side context + services)
- *
- * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
- * @version $Revision: 5498 $
- */
-public class HTTPTestContext extends TestContext
-{
-
- /**
- * Return the current test case context.
- *
- * @return the current test context
- * @throws IllegalStateException if there is no current context
- */
- public static HTTPTestContext getCurrentContext() throws IllegalStateException
- {
- throw new UnsupportedOperationException("Don't use this API");
- }
-
- /**
- * Return the current test case context or null if none exist.
- *
- * @return the current test context
- */
- public static HTTPTestContext peekCurrentContext()
- {
- throw new UnsupportedOperationException("Don't use this API");
- }
-
- /**
- * Set the current context.
- *
- * @param newContext the test case context
- */
- public static void setCurrentContext(HTTPTestContext newContext)
- {
- throw new UnsupportedOperationException("Don't use this API");
- }
-
- public static boolean isCurrentRequestCount(int count) throws IllegalStateException
- {
- return getCurrentContext().requestCount == count;
- }
-
- public static int getCurrentRequestCount() throws IllegalStateException
- {
- return getCurrentContext().requestCount;
- }
-
- public static DriverResponse getCurrentResponse() throws IllegalStateException
- {
- HTTPTestContext ctx = getCurrentContext();
- if (ctx != null)
- {
- return ctx.response;
- }
- else
- {
- return null;
- }
- }
-
- public static void setCurrentResponse(DriverResponse currentResponse) throws IllegalStateException
- {
- HTTPTestContext ctx = getCurrentContext();
- ctx.setResponse(currentResponse);
- }
-
- /** . */
- String initialPath;
-
- public HTTPTestContext(TestContext that)
- {
- super(that);
- }
-
- public HTTPTestContext(int requestCount, String archivePath, TestParametrization parametrization)
- {
- super(requestCount, archivePath, parametrization);
- }
-
- public String getInitialPath()
- {
- return initialPath;
- }
-}
Modified: modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/http/HTTPTestConversation.java
===================================================================
--- modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/http/HTTPTestConversation.java 2007-09-10 12:13:33 UTC (rev 8206)
+++ modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/http/HTTPTestConversation.java 2007-09-10 23:03:20 UTC (rev 8207)
@@ -27,8 +27,8 @@
import org.apache.commons.httpclient.UsernamePasswordCredentials;
import org.apache.commons.httpclient.HttpMethod;
import org.apache.commons.httpclient.Header;
-import org.apache.commons.httpclient.HeaderElement;
import org.apache.commons.httpclient.NameValuePair;
+import org.apache.commons.httpclient.HeaderElement;
import org.apache.commons.httpclient.methods.PostMethod;
import org.apache.commons.httpclient.methods.ByteArrayRequestEntity;
import org.apache.commons.httpclient.methods.GetMethod;
@@ -36,28 +36,17 @@
import org.apache.commons.httpclient.params.HttpMethodParams;
import org.apache.log4j.Logger;
import org.jboss.portal.test.framework.server.Node;
-import org.jboss.portal.test.framework.driver.http.command.HTTPDriverCommandContext;
-import org.jboss.portal.test.framework.driver.http.command.HTTPDriverCommand;
import org.jboss.portal.test.framework.driver.http.command.DoGetCommand;
import org.jboss.portal.test.framework.driver.http.command.DoPostCommand;
-import org.jboss.portal.test.framework.driver.http.command.SendResponseCommand;
import org.jboss.portal.test.framework.driver.http.command.DoMethodCommand;
-import org.jboss.portal.test.framework.driver.http.response.HTTPDriverResponseContext;
-import org.jboss.portal.test.framework.driver.http.response.HTTPDriverResponse;
-import org.jboss.portal.test.framework.driver.http.response.InvokeGetResponse;
-import org.jboss.portal.test.framework.driver.http.response.InvokePostResponse;
-import org.jboss.portal.test.framework.driver.http.response.InvokeMethodResponse;
import org.jboss.portal.test.framework.driver.remote.TestConversation;
import org.jboss.portal.test.framework.driver.remote.TestContext;
-import org.jboss.portal.test.framework.driver.remote.RemoteTestDriver;
-import org.jboss.portal.test.framework.driver.remote.response.RemoteDriverResponseContext;
-import org.jboss.portal.test.framework.driver.remote.command.RemoteDriverCommandContext;
+import org.jboss.portal.test.framework.driver.remote.RemoteDriverResponseContext;
+import org.jboss.portal.test.framework.driver.remote.RemoteDriverCommandContext;
import org.jboss.portal.test.framework.driver.DriverResponse;
import org.jboss.portal.test.framework.driver.DriverCommand;
import org.jboss.portal.test.framework.driver.response.ErrorResponse;
import org.jboss.portal.test.framework.driver.response.FailureResponse;
-import org.jboss.portal.test.framework.driver.command.StartTestCommand;
-import org.jboss.portal.test.framework.TestParametrization;
import org.jboss.portal.common.http.HttpRequest;
import org.jboss.portal.common.http.HttpHeaders;
import org.jboss.portal.common.http.HttpHeader;
@@ -70,67 +59,38 @@
import java.net.URISyntaxException;
import java.net.MalformedURLException;
-import junit.framework.AssertionFailedError;
-
/**
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
* @version $Revision: 1.1 $
*/
-public class HTTPTestConversation extends TestConversation
+public class HTTPTestConversation
{
/** . */
private final Logger log = Logger.getLogger(getClass());
/** . */
- private final HTTPTestDriverClient driver;
+ private final HttpClient client;
- /** The node to invoke. */
- private Node node;
-
- /** The request count for that session. */
- private int requestCount;
-
/** . */
- private HttpClient client;
+ private final TestConversation conversation;
- /** The test parametrization. */
- private TestParametrization parametrization;
-
- public HTTPTestConversation(HTTPTestDriverClient driver, String testId, Node node)
+ public HTTPTestConversation(TestConversation conversation)
{
- super(driver, testId);
+ HttpClient client = new HttpClient(new SimpleHttpConnectionManager());
+ client.getParams().setParameter(HttpMethodParams.RETRY_HANDLER, null);
+ client.getState().setCredentials(AuthScope.ANY, new UsernamePasswordCredentials("test", "test"));
//
- this.driver = driver;
- this.node = node;
-
- //
- this.client = new HttpClient(new SimpleHttpConnectionManager());
- this.client.getParams().setParameter(HttpMethodParams.RETRY_HANDLER, null);
- this.client.getState().setCredentials(AuthScope.ANY, new UsernamePasswordCredentials("test", "test"));
+ this.conversation = conversation;
+ this.client = client;
}
- protected RemoteDriverCommandContext createContext(DriverCommand command)
+ public RemoteDriverResponseContext invoke(RemoteDriverCommandContext commandContext) throws Exception
{
- return new HTTPDriverCommandContext(command);
- }
-
- protected DriverCommand createCommand(RemoteDriverResponseContext responseContext) throws Exception
- {
- if (responseContext.getResponse() instanceof HTTPDriverResponse)
- {
- return createHTTPCommand((HTTPDriverResponseContext)responseContext);
- }
- else
- {
- return null;
- }
- }
-
- protected RemoteDriverResponseContext invoke(RemoteDriverCommandContext commandContext) throws Exception
- {
DriverCommand command = commandContext.getCommand();
+
+ //
if (command instanceof DoMethodCommand)
{
DoMethodCommand method = (DoMethodCommand)command;
@@ -173,8 +133,8 @@
NameValuePair[] nvps = (NameValuePair[])tmp.toArray(new NameValuePair[tmp.size()]);
post.setRequestBody(nvps);
}
- executeHTTPMethod(post);
- return decodeHTTPResponse(post);
+ executeHTTPMethod(commandContext, post);
+ return decodeHTTPResponse(commandContext, post);
}
finally
{
@@ -199,8 +159,8 @@
get.addRequestHeader(_header);
}
get.setFollowRedirects(false);
- executeHTTPMethod(get);
- return decodeHTTPResponse(get);
+ executeHTTPMethod(commandContext, get);
+ return decodeHTTPResponse(commandContext, get);
}
finally
{
@@ -211,25 +171,9 @@
}
}
}
- else if (command instanceof StartTestCommand)
- {
- requestCount = -1;
- parametrization = ((StartTestCommand)command).getParametrization();
- pushContext();
- DriverResponse response = driver.getServer(node).invoke(testId, command);
- requestCount = 0;
- return new HTTPDriverResponseContext(response);
- }
- else if (command instanceof SendResponseCommand)
- {
- pushContext();
- DriverResponse response = driver.getServer(node).invoke(testId, command);
- requestCount++;
- return new HTTPDriverResponseContext(response);
- }
else
{
- return new HTTPDriverResponseContext(new ErrorResponse("Unexpected response"));
+ return commandContext.createResponseContext(new ErrorResponse("Unexpected response"));
}
}
@@ -237,137 +181,127 @@
{
if (!uri.isAbsolute())
{
- int port = driver.getPort(node);
+ Node node = conversation.getNode();
+ int port = conversation.getDriver().getPort(node);
uri = new URI("http://localhost:" + port).resolve(uri);
}
return uri.toURL();
}
- /**
- * Create an http command from an http response.
- * @param responseContext
- */
- protected HTTPDriverCommand createHTTPCommand(HTTPDriverResponseContext responseContext) throws Exception
+ private RemoteDriverResponseContext decodeHTTPResponse(RemoteDriverCommandContext commandContext, HttpMethod httpMethod) throws Exception
{
-
- DriverResponse resp = responseContext.getResponse();
- if (resp instanceof InvokeMethodResponse)
- {
- if (resp instanceof InvokeGetResponse)
- {
- InvokeGetResponse igr = (InvokeGetResponse)resp;
- URI uri = igr.getURI();
- return new DoGetCommand(igr.getURI(), igr.getHeaders());
- }
- else
- {
- InvokePostResponse ipr = (InvokePostResponse)resp;
- HttpRequest.Body dpcb = ipr.getBody();
- return new DoPostCommand(ipr.getURI(), ipr.getContentType(), dpcb);
- }
- }
- else
- {
- HttpMethod method = responseContext.getHttpMethod();
- byte[] body = method.getResponseBody();
- HttpHeaders _headers = new HttpHeaders();
- Header[] headers = method.getResponseHeaders();
- for (int i = 0;i < headers.length;i++)
- {
- Header header = headers[i];
- HttpHeader _header = _headers.addHeader(header.getName());
- HeaderElement[] elts = header.getElements();
- if (elts != null)
- {
- for (int j = 0;j < elts.length;j++)
- {
- HeaderElement elt = elts[j];
- HttpHeader.Element _elt = _header.addElement(elt.getName(), elt.getValue());
- NameValuePair[] params = elt.getParameters();
- if (params != null)
- {
- for (int k = 0;k < params.length;k++)
- {
- NameValuePair param = params[k];
- _elt.addParam(param.getName(), param.getValue());
- }
- }
- }
- }
- }
- return new SendResponseCommand(_headers, body);
- }
- }
-
- private HTTPDriverResponseContext decodeHTTPResponse(HttpMethod httpMethod) throws Exception
- {
- TestContext ctx = popContext();
+ TestContext ctx = conversation.popContext();
DriverResponse response = ctx.getResponse();
int status = httpMethod.getStatusCode();
switch (status)
{
case 200:
+ // HTTP response is ok
if (response == null)
{
- throw new AssertionFailedError("No result for test " + testId + " in the response");
+ response = new FailureResponse("No result for test " + conversation.getTestId() + " in the response");
}
- else
- {
- log.info("# Received '200' code");
- requestCount++;
- return new HTTPDriverResponseContext(httpMethod, response);
- }
- // Send redirect
+
+ //
+ log.info("# Received '200' code");
+ break;
case 302:
- // If any result has been setup during the action it overrides the 302 code
- if (response != null)
+ // Send redirect
+ if (response == null)
{
- log.info("# Received Result object which overrides the 302");
- requestCount++;
- return new HTTPDriverResponseContext(httpMethod, response);
- }
+ // Satisfy the 302 code
+ Header locationHeader = httpMethod.getResponseHeader("location");
+ if (locationHeader != null)
+ {
+ String redirectLocation = locationHeader.getValue();
+ log.info("# Received '302' code --> " + redirectLocation);
+ DoGetCommand cmd = new DoGetCommand(new URI(redirectLocation));
- // Otherwise satisfy the 302 code
- Header locationHeader = httpMethod.getResponseHeader("location");
- if (locationHeader != null)
- {
- String redirectLocation = locationHeader.getValue();
- log.info("# Received '302' code --> " + redirectLocation);
- DoGetCommand cmd = new DoGetCommand(new URI(redirectLocation));
+ // We should somehow stuff the response in the next payload
+ // but it's not yet proven it's usefull
- // For now we don't add any contextual payload as
- // 302 is some kind of implicit redirect response
- return (HTTPDriverResponseContext)invoke(new HTTPDriverCommandContext(cmd));
+ // For now we don't add any contextual payload as
+ // 302 is some kind of implicit redirect response
+ return invoke(new RemoteDriverCommandContext(commandContext.getResponseContext(), cmd));
+ }
+ else
+ {
+ // The response is invalid
+ response = new FailureResponse("302 Code with corrupted data");
+ }
}
else
{
- // The response is invalid
- return new HTTPDriverResponseContext(httpMethod, new FailureResponse("302 Code with corrupted data"));
+ // If any result has been setup during the action it overrides the 302 code
+ log.info("# Received Result object which overrides the 302");
}
+ break;
case 500:
log.info("# Received '500' code");
- return new HTTPDriverResponseContext(httpMethod, new FailureResponse("Received '500' code at " + httpMethod.getURI()));
+ response = new FailureResponse("Received '500' code at " + httpMethod.getURI());
+ break;
case 404:
log.info("# Received '404' code");
- return new HTTPDriverResponseContext(httpMethod, new FailureResponse("Received '404' code at " + httpMethod.getURI()));
+ response = new FailureResponse("Received '404' code at " + httpMethod.getURI());
+ break;
default:
- return new HTTPDriverResponseContext(httpMethod, new ErrorResponse("Unexpected http code " + status + " at " + httpMethod.getURI()));
+ response = new ErrorResponse("Unexpected http code " + status + " at " + httpMethod.getURI());
+ break;
}
+
+ //
+ RemoteDriverResponseContext responseCtx = commandContext.createResponseContext(response);
+
+ //
+ byte[] body = httpMethod.getResponseBody();
+ responseCtx.setPayload("http.response.body", body);
+
+ //
+ HttpHeaders _headers = new HttpHeaders();
+ Header[] headers = httpMethod.getResponseHeaders();
+ for (int i = 0;i < headers.length;i++)
+ {
+ Header header = headers[i];
+ HttpHeader _header = _headers.addHeader(header.getName());
+ HeaderElement[] elts = header.getElements();
+ if (elts != null)
+ {
+ for (int j = 0;j < elts.length;j++)
+ {
+ HeaderElement elt = elts[j];
+ HttpHeader.Element _elt = _header.addElement(elt.getName(), elt.getValue());
+ NameValuePair[] params = elt.getParameters();
+ if (params != null)
+ {
+ for (int k = 0;k < params.length;k++)
+ {
+ NameValuePair param = params[k];
+ _elt.addParam(param.getName(), param.getValue());
+ }
+ }
+ }
+ }
+ }
+ responseCtx.setPayload("http.response.headers", _headers);
+
+ //
+ return responseCtx;
}
- private int executeHTTPMethod(HttpMethod method) throws Exception
+ private int executeHTTPMethod(RemoteDriverCommandContext commandContext, HttpMethod method) throws Exception
{
int port = method.getURI().getPort();
// Update to the next node
- node = driver.getNode(port);
+ Node node = conversation.getDriver().getNode(port);
if (node == null)
{
throw new IllegalArgumentException("Wrong port " + method.getURI().getPort() + " in URI " + method.getURI());
}
+ conversation.setNode(node);
// Push context to the node
- pushContext();
+ conversation.pushContext(commandContext);
//
log.info("# Invoking test case over http " + method.getURI());
@@ -377,21 +311,7 @@
// otherwise the content will be lost
method.getResponseBody();
-
+ //
return status;
}
-
- private void pushContext()
- {
- HTTPTestContext ctx = new HTTPTestContext(requestCount, driver.getArchivePath(), parametrization);
- log.info("# Updating test case context of : " + node + " : " + ctx);
- RemoteTestDriver agent = driver.getServer(node);
- agent.pushContext(testId, ctx);
- }
-
- private TestContext popContext()
- {
- RemoteTestDriver agent = driver.getServer(node);
- return agent.popContext(testId);
- }
}
Deleted: modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/http/HTTPTestDriver.java
===================================================================
--- modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/http/HTTPTestDriver.java 2007-09-10 12:13:33 UTC (rev 8206)
+++ modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/http/HTTPTestDriver.java 2007-09-10 23:03:20 UTC (rev 8207)
@@ -1,33 +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.test.framework.driver.http;
-
-import org.jboss.portal.test.framework.driver.remote.RemoteTestDriver;
-
-/**
- * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
- * @version $Revision: 1.1 $
- */
-public interface HTTPTestDriver extends RemoteTestDriver
-{
-}
Deleted: modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/http/HTTPTestDriverClient.java
===================================================================
--- modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/http/HTTPTestDriverClient.java 2007-09-10 12:13:33 UTC (rev 8206)
+++ modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/http/HTTPTestDriverClient.java 2007-09-10 23:03:20 UTC (rev 8207)
@@ -1,39 +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.test.framework.driver.http;
-
-import org.jboss.portal.test.framework.driver.remote.RemoteTestDriverClient;
-import org.jboss.portal.test.framework.driver.remote.TestConversation;
-import org.jboss.portal.test.framework.server.Node;
-
-/**
- * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
- * @version $Revision: 1.1 $
- */
-public class HTTPTestDriverClient extends RemoteTestDriverClient
-{
- protected TestConversation createConversation(String testId, Node node)
- {
- return new HTTPTestConversation(this, testId, node);
- }
-}
Added: modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/http/HTTPTestDriverHandler.java
===================================================================
--- modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/http/HTTPTestDriverHandler.java (rev 0)
+++ modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/http/HTTPTestDriverHandler.java 2007-09-10 23:03:20 UTC (rev 8207)
@@ -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.test.framework.driver.http;
+
+import org.jboss.portal.test.framework.driver.remote.RemoteTestDriverProtocolHandler;
+import org.jboss.portal.test.framework.driver.remote.TestConversation;
+import org.jboss.portal.test.framework.driver.remote.RemoteDriverCommandContext;
+import org.jboss.portal.test.framework.driver.remote.RemoteDriverResponseContext;
+import org.jboss.portal.test.framework.driver.DriverCommand;
+import org.jboss.portal.test.framework.driver.http.response.HTTPDriverResponse;
+import org.jboss.portal.test.framework.driver.http.response.InvokeMethodResponse;
+import org.jboss.portal.test.framework.driver.http.response.InvokeGetResponse;
+import org.jboss.portal.test.framework.driver.http.response.InvokePostResponse;
+import org.jboss.portal.test.framework.driver.http.command.DoGetCommand;
+import org.jboss.portal.test.framework.driver.http.command.DoPostCommand;
+import org.jboss.portal.common.http.HttpRequest;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+public class HTTPTestDriverHandler implements RemoteTestDriverProtocolHandler
+{
+
+ public DriverCommand createCommand(RemoteDriverResponseContext responseContext)
+ {
+ if (responseContext.getResponse() instanceof HTTPDriverResponse)
+ {
+ HTTPDriverResponse resp = (HTTPDriverResponse)responseContext.getResponse();
+ if (resp instanceof InvokeMethodResponse)
+ {
+ if (resp instanceof InvokeGetResponse)
+ {
+ InvokeGetResponse igr = (InvokeGetResponse)resp;
+ return new DoGetCommand(igr.getURI(), igr.getHeaders());
+ }
+ else
+ {
+ InvokePostResponse ipr = (InvokePostResponse)resp;
+ HttpRequest.Body dpcb = ipr.getBody();
+ return new DoPostCommand(ipr.getURI(), ipr.getContentType(), dpcb);
+ }
+ }
+ }
+
+ //
+ return null;
+ }
+
+ public RemoteDriverResponseContext invoke(TestConversation conversation, RemoteDriverCommandContext commandContext) throws Exception
+ {
+ HTTPTestConversation httpConversation = (HTTPTestConversation)conversation.getAttribute("http.conversation");
+
+ //
+ if (httpConversation == null)
+ {
+ httpConversation = new HTTPTestConversation(conversation);
+ conversation.setAttribute("http.conversation", httpConversation);
+ }
+
+ //
+ return httpConversation.invoke(commandContext);
+ }
+}
Deleted: modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/http/HTTPTestDriverServer.java
===================================================================
--- modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/http/HTTPTestDriverServer.java 2007-09-10 12:13:33 UTC (rev 8206)
+++ modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/http/HTTPTestDriverServer.java 2007-09-10 23:03:20 UTC (rev 8207)
@@ -1,62 +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.test.framework.driver.http;
-
-import org.jboss.portal.test.framework.driver.remote.RemoteTestDriverServer;
-import org.jboss.portal.test.framework.driver.remote.TestContext;
-
-/**
- * Extends the remote test driver server to add the notion of initial path that can be used by
- * the tested system.
- *
- * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
- * @version $Revision: 1.1 $
- */
-public class HTTPTestDriverServer extends RemoteTestDriverServer
-{
-
- /** . */
- private String initialPath = "/test";
-
- public String getInitialPath()
- {
- return initialPath;
- }
-
- public void setInitialPath(String initialPath)
- {
- this.initialPath = initialPath;
- }
-
- public void pushContext(String testId, TestContext testContext)
- {
- if (testContext instanceof HTTPTestContext)
- {
- HTTPTestContext httpTestContext = (HTTPTestContext)testContext;
- httpTestContext.initialPath = initialPath;
- }
-
- //
- super.pushContext(testId, testContext);
- }
-}
Deleted: modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/http/command/HTTPDriverCommandContext.java
===================================================================
--- modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/http/command/HTTPDriverCommandContext.java 2007-09-10 12:13:33 UTC (rev 8206)
+++ modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/http/command/HTTPDriverCommandContext.java 2007-09-10 23:03:20 UTC (rev 8207)
@@ -1,46 +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.test.framework.driver.http.command;
-
-import org.jboss.portal.test.framework.driver.DriverCommand;
-import org.jboss.portal.test.framework.driver.remote.command.RemoteDriverCommandContext;
-import org.jboss.portal.test.framework.driver.remote.response.RemoteDriverResponseContext;
-
-/**
- * The context of the command invoked by the client.
- *
- * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
- * @version $Revision: 1.1 $
- */
-public class HTTPDriverCommandContext extends RemoteDriverCommandContext
-{
- public HTTPDriverCommandContext(RemoteDriverResponseContext responseContext, DriverCommand command)
- {
- super(responseContext, command);
- }
-
- public HTTPDriverCommandContext(DriverCommand command)
- {
- super(command);
- }
-}
Deleted: modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/http/command/SendResponseCommand.java
===================================================================
--- modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/http/command/SendResponseCommand.java 2007-09-10 12:13:33 UTC (rev 8206)
+++ modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/http/command/SendResponseCommand.java 2007-09-10 23:03:20 UTC (rev 8207)
@@ -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.test.framework.driver.http.command;
-
-import org.jboss.portal.common.http.HttpHeaders;
-
-/**
- * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
- * @version $Revision: 1.1 $
- */
-public class SendResponseCommand extends HTTPDriverCommand
-{
-
- /** . */
- private HttpHeaders headers;
-
- /** . */
- private byte[] bytes;
-
- public SendResponseCommand(HttpHeaders headers, byte[] bytes)
- {
- this.headers = headers;
- this.bytes = bytes;
- }
-
- public HttpHeaders getHeaders()
- {
- return headers;
- }
-
- public byte[] getBytes()
- {
- return bytes;
- }
-}
Deleted: modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/http/response/HTTPDriverResponseContext.java
===================================================================
--- modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/http/response/HTTPDriverResponseContext.java 2007-09-10 12:13:33 UTC (rev 8206)
+++ modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/http/response/HTTPDriverResponseContext.java 2007-09-10 23:03:20 UTC (rev 8207)
@@ -1,58 +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.test.framework.driver.http.response;
-
-import org.apache.commons.httpclient.HttpMethod;
-import org.jboss.portal.test.framework.driver.DriverResponse;
-import org.jboss.portal.test.framework.driver.remote.response.RemoteDriverResponseContext;
-
-/**
- * The context of the response received by the client.
- *
- * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
- * @version $Revision: 1.1 $
- */
-public class HTTPDriverResponseContext extends RemoteDriverResponseContext
-{
-
- /** The http method if not null. */
- private HttpMethod httpMethod;
-
- public HTTPDriverResponseContext(HttpMethod httpMethod, DriverResponse response)
- {
- super(response);
-
- //
- this.httpMethod = httpMethod;
- }
-
- public HTTPDriverResponseContext(DriverResponse response)
- {
- this(null, response);
- }
-
- public HttpMethod getHttpMethod()
- {
- return httpMethod;
- }
-}
Deleted: modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/http/response/SendResponseResponse.java
===================================================================
--- modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/http/response/SendResponseResponse.java 2007-09-10 12:13:33 UTC (rev 8206)
+++ modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/http/response/SendResponseResponse.java 2007-09-10 23:03:20 UTC (rev 8207)
@@ -1,35 +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.test.framework.driver.http.response;
-
-/**
- * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
- * @version $Revision: 1.1 $
- */
-public class SendResponseResponse extends HTTPDriverResponse
-{
- public String toString()
- {
- return "SendResponse[]";
- }
-}
Copied: modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/remote/RemoteDriverCommandContext.java (from rev 8097, modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/remote/command/RemoteDriverCommandContext.java)
===================================================================
--- modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/remote/RemoteDriverCommandContext.java (rev 0)
+++ modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/remote/RemoteDriverCommandContext.java 2007-09-10 23:03:20 UTC (rev 8207)
@@ -0,0 +1,112 @@
+/******************************************************************************
+ * 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.framework.driver.remote;
+
+import org.jboss.portal.test.framework.driver.DriverCommand;
+import org.jboss.portal.test.framework.driver.DriverResponse;
+
+import java.util.Map;
+import java.util.HashMap;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+public class RemoteDriverCommandContext
+{
+
+ /** The previous response if not null. */
+ private RemoteDriverResponseContext responseContext;
+
+ /** . */
+ private final int requestCount;
+
+ /** The command to invoke. */
+ private DriverCommand command;
+
+ /** . */
+ private final Map payload;
+
+ public RemoteDriverCommandContext(RemoteDriverResponseContext responseContext, DriverCommand command)
+ {
+ this.responseContext = responseContext;
+ this.requestCount = responseContext.getCommandContext().requestCount + 1;
+ this.command = command;
+ this.payload = new HashMap(responseContext.getPayload());
+ }
+
+ public RemoteDriverCommandContext(DriverCommand command)
+ {
+ this.responseContext = null;
+ this.requestCount = -1;
+ this.command = command;
+ this.payload = new HashMap();
+ }
+
+ public RemoteDriverCommandContext(RemoteDriverCommandContext commandContext, DriverCommand command)
+ {
+ Map payload = commandContext.responseContext != null ? new HashMap(commandContext.responseContext.getPayload()) : new HashMap();
+
+ //
+ this.responseContext = commandContext.responseContext;
+ this.requestCount = commandContext.requestCount + 1;
+ this.command = command;
+ this.payload = payload;
+ }
+
+ public RemoteDriverCommandContext(RemoteDriverCommandContext commandContext)
+ {
+ Map payload = commandContext.responseContext != null ? new HashMap(commandContext.responseContext.getPayload()) : new HashMap();
+
+ //
+ this.responseContext = commandContext.responseContext;
+ this.requestCount = commandContext.requestCount + 1;
+ this.command = commandContext.command;
+ this.payload = payload;
+ }
+
+ public Map getPayload()
+ {
+ return payload;
+ }
+
+ public int getRequestCount()
+ {
+ return requestCount;
+ }
+
+ public RemoteDriverResponseContext createResponseContext(DriverResponse response)
+ {
+ return new RemoteDriverResponseContext(this, response);
+ }
+
+ public RemoteDriverResponseContext getResponseContext()
+ {
+ return responseContext;
+ }
+
+ public DriverCommand getCommand()
+ {
+ return command;
+ }
+}
Copied: modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/remote/RemoteDriverResponseContext.java (from rev 8097, modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/remote/response/RemoteDriverResponseContext.java)
===================================================================
--- modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/remote/RemoteDriverResponseContext.java (rev 0)
+++ modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/remote/RemoteDriverResponseContext.java 2007-09-10 23:03:20 UTC (rev 8207)
@@ -0,0 +1,97 @@
+/******************************************************************************
+ * 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.framework.driver.remote;
+
+import org.jboss.portal.test.framework.driver.DriverResponse;
+
+import java.util.Map;
+import java.util.HashMap;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+public class RemoteDriverResponseContext
+{
+
+ /** . */
+ private final RemoteDriverCommandContext commandContext;
+
+ /** . */
+ private final DriverResponse response;
+
+ /** . */
+ private final Map payload;
+
+ RemoteDriverResponseContext(RemoteDriverCommandContext commandContext, DriverResponse response)
+ {
+ this.commandContext = commandContext;
+ this.response = response;
+ this.payload = new HashMap();
+ }
+
+ public RemoteDriverCommandContext getCommandContext()
+ {
+ return commandContext;
+ }
+
+ public Map getPayload()
+ {
+ return payload;
+ }
+
+ public Object getPayload(String name)
+ {
+ if (name == null)
+ {
+ throw new IllegalArgumentException();
+ }
+ return payload.get(name);
+ }
+
+ public void setPayload(String name, Object value)
+ {
+ if (name == null)
+ {
+ throw new IllegalArgumentException();
+ }
+ if (value == null)
+ {
+ payload.remove(name);
+ }
+ else
+ {
+ payload.put(name, value);
+ }
+ }
+
+ public void removePayload(String name)
+ {
+ setPayload(name, null);
+ }
+
+ public DriverResponse getResponse()
+ {
+ return response;
+ }
+}
Modified: modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/remote/RemoteTestDriverClient.java
===================================================================
--- modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/remote/RemoteTestDriverClient.java 2007-09-10 12:13:33 UTC (rev 8206)
+++ modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/remote/RemoteTestDriverClient.java 2007-09-10 23:03:20 UTC (rev 8207)
@@ -30,12 +30,13 @@
import org.jboss.portal.test.framework.driver.DriverCommand;
import org.jboss.portal.test.framework.driver.TestDriverException;
import org.jboss.portal.test.framework.driver.TestDriver;
+import org.jboss.portal.test.framework.deployment.Deployer;
/**
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
* @version $Revision: 1.1 $
*/
-public abstract class RemoteTestDriverClient implements TestDriver
+public class RemoteTestDriverClient implements TestDriver
{
// Config
@@ -51,6 +52,9 @@
/** . */
private NodeManager nodeManager;
+ /** . */
+ private Deployer deployer;
+
public NodeId getInitialNodeId()
{
return initialNodeId;
@@ -81,6 +85,16 @@
this.nodeManager = nodeManager;
}
+ public Deployer getDeployer()
+ {
+ return deployer;
+ }
+
+ public void setDeployer(Deployer deployer)
+ {
+ this.deployer = deployer;
+ }
+
public RemoteTestDriver getServer(Node node)
{
return (RemoteTestDriver)node.lookupService(RemoteTestDriver.SERVICE_ID);
@@ -111,7 +125,10 @@
}
}
- protected abstract TestConversation createConversation(String testId, Node node);
+ protected TestConversation createConversation(String testId, Node node)
+ {
+ return new TestConversation(this, testId, node);
+ }
public Node getNode(int port)
{
Added: modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/remote/RemoteTestDriverProtocolHandler.java
===================================================================
--- modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/remote/RemoteTestDriverProtocolHandler.java (rev 0)
+++ modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/remote/RemoteTestDriverProtocolHandler.java 2007-09-10 23:03:20 UTC (rev 8207)
@@ -0,0 +1,39 @@
+/******************************************************************************
+ * 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.framework.driver.remote;
+
+import org.jboss.portal.test.framework.driver.remote.RemoteDriverCommandContext;
+import org.jboss.portal.test.framework.driver.remote.RemoteDriverResponseContext;
+import org.jboss.portal.test.framework.driver.DriverCommand;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+public interface RemoteTestDriverProtocolHandler
+{
+
+ DriverCommand createCommand(RemoteDriverResponseContext responseContext);
+
+ RemoteDriverResponseContext invoke(TestConversation conversation, RemoteDriverCommandContext commandContext) throws Exception;
+}
Modified: modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/remote/RemoteTestDriverServer.java
===================================================================
--- modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/remote/RemoteTestDriverServer.java 2007-09-10 12:13:33 UTC (rev 8206)
+++ modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/remote/RemoteTestDriverServer.java 2007-09-10 23:03:20 UTC (rev 8207)
@@ -34,16 +34,12 @@
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
* @version $Revision: 5636 $
*/
-public class RemoteTestDriverServer extends AbstractTestDriverServer implements TestDriverContainer
+public class RemoteTestDriverServer extends AbstractTestDriverServer implements RemoteTestDriver, TestDriverContainer
{
/** . */
private static final RemoteTestSuite suite = new RemoteTestSuite("Main");
- public RemoteTestDriverServer()
- {
- }
-
public void pushContext(String testId, TestContext testContext)
{
testContext.testAgent = getAgent();
@@ -57,7 +53,7 @@
return suite.popContext(testId);
}
- public void addDriver(TestDriver driver)
+ public void addDriver(TestDriver driver)
{
synchronized(RemoteTestDriverServer.class)
{
@@ -87,4 +83,30 @@
{
return suite.getInfo();
}
+
+// /** . */
+// private String initialPath = "/test";
+//
+// public String getInitialPath()
+// {
+// return initialPath;
+// }
+//
+// public void setInitialPath(String initialPath)
+// {
+// this.initialPath = initialPath;
+// }
+//
+// public void pushContext(String testId, TestContext testContext)
+// {
+// if (testContext instanceof HTTPTestContext)
+// {
+// HTTPTestContext httpTestContext = (HTTPTestContext)testContext;
+// httpTestContext.initialPath = initialPath;
+// }
+//
+// //
+// super.pushContext(testId, testContext);
+// }
+
}
Modified: modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/remote/TestContext.java
===================================================================
--- modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/remote/TestContext.java 2007-09-10 12:13:33 UTC (rev 8206)
+++ modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/remote/TestContext.java 2007-09-10 23:03:20 UTC (rev 8207)
@@ -31,6 +31,7 @@
import java.io.File;
import java.net.MalformedURLException;
import java.net.URL;
+import java.util.Map;
/**
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
@@ -51,6 +52,9 @@
/** The test parametrization. */
protected TestParametrization parametrization;
+ /** . */
+ private Map attributes;
+
/**
* The test agent, normally only valid in the server side for now.
* It is transient so it is not marshalled when the context is popped on the client by
@@ -69,17 +73,20 @@
this.response = that.response;
this.parametrization = that.parametrization;
this.testAgent = that.testAgent;
+ this.attributes =that.attributes;
}
/**
* Normally used on the client side.
*/
- public TestContext(int requestCount, String archivePath, TestParametrization parametrization)
+ public TestContext(int requestCount, String archivePath, TestParametrization parametrization, Map attributes)
{
this.requestCount = requestCount;
this.archivePath = archivePath;
+ this.response = null;
this.parametrization = parametrization;
this.testAgent = null;
+ this.attributes = attributes;
}
public TestParametrization getParametrization()
@@ -114,6 +121,36 @@
return requestCount == count;
}
+ public Object getAttribute(String name)
+ {
+ if (name == null)
+ {
+ throw new IllegalArgumentException();
+ }
+ return attributes.get(name);
+ }
+
+ public void setAttribute(String name, Object value)
+ {
+ if (name == null)
+ {
+ throw new IllegalArgumentException();
+ }
+ if (value == null)
+ {
+ attributes.remove(name);
+ }
+ else
+ {
+ attributes.put(name, value);
+ }
+ }
+
+ public void removeAttribute(String name)
+ {
+ setAttribute(name, null);
+ }
+
/**
* Return the response.
*
Modified: modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/remote/TestConversation.java
===================================================================
--- modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/remote/TestConversation.java 2007-09-10 12:13:33 UTC (rev 8206)
+++ modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/remote/TestConversation.java 2007-09-10 23:03:20 UTC (rev 8207)
@@ -24,36 +24,84 @@
import org.jboss.portal.test.framework.driver.DriverResponse;
import org.jboss.portal.test.framework.driver.DriverCommand;
-import org.jboss.portal.test.framework.driver.remote.command.RemoteDriverCommandContext;
-import org.jboss.portal.test.framework.driver.remote.response.RemoteDriverResponseContext;
+import org.jboss.portal.test.framework.driver.http.command.HTTPDriverCommand;
+import org.jboss.portal.test.framework.driver.http.HTTPTestDriverHandler;
+import org.jboss.portal.test.framework.driver.http.response.HTTPDriverResponse;
+import org.jboss.portal.test.framework.driver.command.StartTestCommand;
+import org.jboss.portal.test.framework.driver.remote.response.DeployResponse;
+import org.jboss.portal.test.framework.driver.remote.response.UndeployResponse;
+import org.jboss.portal.test.framework.server.Node;
+import org.jboss.portal.test.framework.TestParametrization;
+import org.jboss.portal.test.framework.deployment.Deployer;
+import org.apache.log4j.Logger;
+import java.util.Map;
+import java.util.HashMap;
+
/**
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
* @version $Revision: 1.1 $
*/
-public abstract class TestConversation
+public final class TestConversation
{
+ /** . */
+ private final Logger log = Logger.getLogger(getClass());
+
/** The test name. */
- protected final String testId;
+ private final String testId;
/** . */
- protected final RemoteTestDriverClient driver;
+ private final RemoteTestDriverClient driver;
- protected TestConversation(RemoteTestDriverClient driver, String testId)
+ /** . */
+ private final Map attributes;
+
+ /** The node to invoke. */
+ private Node node;
+
+ /** The test parametrization. */
+ private TestParametrization parametrization;
+
+ public TestConversation(RemoteTestDriverClient driver, String testId, Node node)
{
this.driver = driver;
this.testId = testId;
+ this.node = node;
+ this.attributes = new HashMap();
}
- public final DriverResponse handleCommand(DriverCommand command) throws Exception
+ DriverResponse handleCommand(DriverCommand command) throws Exception
{
- RemoteDriverCommandContext commandContext = createContext(command);
+ RemoteDriverCommandContext commandContext = new RemoteDriverCommandContext(command);
//
return handleCommand(commandContext);
}
+ private RemoteDriverResponseContext invokeCommand(RemoteDriverCommandContext commandContext) throws Exception
+ {
+ DriverCommand command = commandContext.getCommand();
+
+ //
+ if (command instanceof StartTestCommand)
+ {
+ StartTestCommand start = (StartTestCommand)command;
+ parametrization = start.getParametrization();
+ pushContext(commandContext);
+ DriverResponse response = getDriver().getServer(node).invoke(testId, command);
+ return commandContext.createResponseContext(response);
+ }
+ else if (command instanceof HTTPDriverCommand)
+ {
+ return new HTTPTestDriverHandler().invoke(this, commandContext);
+ }
+ else
+ {
+ throw new IllegalArgumentException("Not yet handled " + command);
+ }
+ }
+
/**
* Trigger an interaction with the server here.
*
@@ -63,26 +111,122 @@
*/
public final DriverResponse handleCommand(RemoteDriverCommandContext commandContext) throws Exception
{
- RemoteDriverResponseContext respCtx = invoke(commandContext);
+ RemoteDriverResponseContext respCtx = invokeCommand(commandContext);
//
- DriverCommand command = createCommand(respCtx);
+ DriverResponse response = respCtx.getResponse();
//
- if (command != null)
+ if (response instanceof HTTPDriverResponse)
{
- return handleCommand(command);
+ DriverCommand cmd = new HTTPTestDriverHandler().createCommand(respCtx);
+ return handleCommand(new RemoteDriverCommandContext(respCtx, cmd));
}
+ else if (response instanceof DeployResponse)
+ {
+ DeployResponse deploy = (DeployResponse)response;
+
+ //
+ Deployer deployer = driver.getDeployer();
+ deployer.deploy(driver.getArchivePath(), deploy.getId(), node);
+
+ //
+ return handleCommand(new RemoteDriverCommandContext(respCtx.getCommandContext()));
+ }
+ else if (response instanceof UndeployResponse)
+ {
+ UndeployResponse undeploy = (UndeployResponse)response;
+
+ //
+ Deployer deployer = driver.getDeployer();
+ deployer.undeploy(driver.getArchivePath(), undeploy.getId());
+
+ //
+ return handleCommand(new RemoteDriverCommandContext(respCtx.getCommandContext()));
+ }
else
{
return respCtx.getResponse();
}
}
- protected abstract RemoteDriverCommandContext createContext(DriverCommand command);
+ public Object getAttribute(String name)
+ {
+ if (name == null)
+ {
+ throw new IllegalArgumentException();
+ }
+ return attributes.get(name);
+ }
- protected abstract RemoteDriverResponseContext invoke(RemoteDriverCommandContext commandContext) throws Exception;
+ public void setAttribute(String name, Object value)
+ {
+ if (name == null)
+ {
+ throw new IllegalArgumentException();
+ }
+ if (value == null)
+ {
+ attributes.remove(name);
+ }
+ else
+ {
+ attributes.put(name, value);
+ }
+ }
- protected abstract DriverCommand createCommand(RemoteDriverResponseContext responseContext) throws Exception;
+ public void removeAttribute(String name)
+ {
+ setAttribute(name, null);
+ }
+ public RemoteTestDriverClient getDriver()
+ {
+ return driver;
+ }
+
+ public String getTestId()
+ {
+ return testId;
+ }
+
+ public Node getNode()
+ {
+ return node;
+ }
+
+ public void setNode(Node node)
+ {
+ this.node = node;
+ }
+
+ public TestParametrization getParametrization()
+ {
+ return parametrization;
+ }
+
+ public void setParametrization(TestParametrization parametrization)
+ {
+ this.parametrization = parametrization;
+ }
+
+ public void pushContext(RemoteDriverCommandContext commandContext)
+ {
+ TestContext ctx = new TestContext(
+ commandContext.getRequestCount(),
+ driver.getArchivePath(),
+ parametrization,
+ commandContext.getPayload());
+
+ //
+ log.info("# Updating test case context of : " + node + " : " + ctx);
+ RemoteTestDriver agent = driver.getServer(node);
+ agent.pushContext(testId, ctx);
+ }
+
+ public TestContext popContext()
+ {
+ RemoteTestDriver agent = driver.getServer(node);
+ return agent.popContext(testId);
+ }
}
Deleted: modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/remote/command/RemoteDriverCommandContext.java
===================================================================
--- modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/remote/command/RemoteDriverCommandContext.java 2007-09-10 12:13:33 UTC (rev 8206)
+++ modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/remote/command/RemoteDriverCommandContext.java 2007-09-10 23:03:20 UTC (rev 8207)
@@ -1,61 +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.test.framework.driver.remote.command;
-
-import org.jboss.portal.test.framework.driver.DriverCommand;
-import org.jboss.portal.test.framework.driver.remote.response.RemoteDriverResponseContext;
-
-/**
- * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
- * @version $Revision: 1.1 $
- */
-public class RemoteDriverCommandContext
-{
-
- /** The previous response if not null. */
- private RemoteDriverResponseContext responseContext;
-
- /** The command to invoke. */
- private DriverCommand command;
-
- public RemoteDriverCommandContext(RemoteDriverResponseContext responseContext, DriverCommand command)
- {
- this.responseContext = responseContext;
- this.command = command;
- }
-
- public RemoteDriverCommandContext(DriverCommand command)
- {
- this.command = command;
- }
-
- public RemoteDriverResponseContext getResponseContext()
- {
- return responseContext;
- }
-
- public DriverCommand getCommand()
- {
- return command;
- }
-}
Deleted: modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/remote/response/RemoteDriverResponseContext.java
===================================================================
--- modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/remote/response/RemoteDriverResponseContext.java 2007-09-10 12:13:33 UTC (rev 8206)
+++ modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/remote/response/RemoteDriverResponseContext.java 2007-09-10 23:03:20 UTC (rev 8207)
@@ -1,46 +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.test.framework.driver.remote.response;
-
-import org.jboss.portal.test.framework.driver.DriverResponse;
-
-/**
- * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
- * @version $Revision: 1.1 $
- */
-public class RemoteDriverResponseContext
-{
-
- /** . */
- private DriverResponse response;
-
- public RemoteDriverResponseContext(DriverResponse response)
- {
- this.response = response;
- }
-
- public DriverResponse getResponse()
- {
- return response;
- }
-}
Modified: modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/web/WebTestConversation.java
===================================================================
--- modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/web/WebTestConversation.java 2007-09-10 12:13:33 UTC (rev 8206)
+++ modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/web/WebTestConversation.java 2007-09-10 23:03:20 UTC (rev 8207)
@@ -24,162 +24,83 @@
import org.jboss.portal.test.framework.driver.remote.TestConversation;
import org.jboss.portal.test.framework.driver.remote.TestContext;
-import org.jboss.portal.test.framework.driver.remote.RemoteTestDriver;
-import org.jboss.portal.test.framework.driver.remote.response.RemoteDriverResponseContext;
-import org.jboss.portal.test.framework.driver.remote.command.RemoteDriverCommandContext;
-import org.jboss.portal.test.framework.driver.web.response.PerformClickResponse;
-import org.jboss.portal.test.framework.driver.web.response.WebDriverResponseContext;
-import org.jboss.portal.test.framework.driver.web.response.GetPageResponse;
-import org.jboss.portal.test.framework.driver.web.response.DnDResponse;
+import org.jboss.portal.test.framework.driver.remote.RemoteDriverResponseContext;
+import org.jboss.portal.test.framework.driver.remote.RemoteDriverCommandContext;
import org.jboss.portal.test.framework.driver.web.command.PerformClickCommand;
-import org.jboss.portal.test.framework.driver.web.command.WebDriverCommandContext;
import org.jboss.portal.test.framework.driver.web.command.GetPageCommand;
import org.jboss.portal.test.framework.driver.web.command.DnDCommand;
-import org.jboss.portal.test.framework.server.Node;
import org.jboss.portal.test.framework.driver.DriverCommand;
import org.jboss.portal.test.framework.driver.DriverResponse;
-import org.jboss.portal.test.framework.driver.response.EndTestResponse;
-import org.jboss.portal.test.framework.driver.command.StartTestCommand;
import org.apache.log4j.Logger;
import com.thoughtworks.selenium.Selenium;
+import com.thoughtworks.selenium.DefaultSelenium;
/**
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
* @version $Revision: 1.1 $
*/
-public class WebTestConversation extends TestConversation
+public class WebTestConversation
{
/** . */
private final Logger log = Logger.getLogger(getClass());
/** . */
- private final WebTestDriverClient driver;
+ private final Selenium selenium;
- /** The node to invoke. */
- private Node node;
+ /** . */
+ private final TestConversation conversation;
- /** The request count for that session. */
- private int requestCount;
-
- public WebTestConversation(WebTestDriverClient driver, String testId, Node node)
+ public WebTestConversation(TestConversation conversation)
{
- super(driver, testId);
+ // We open localhost:8080 provided by tomcat as we need to open something for selenium
+ Selenium selenium = new DefaultSelenium("localhost", 12345, "*firefox", "http://localhost:8080");
+ selenium.start();
//
- this.node = node;
- this.driver = driver;
+ this.conversation = conversation;
+ this.selenium = selenium;
}
- protected RemoteDriverCommandContext createContext(DriverCommand command)
- {
- return new WebDriverCommandContext(command);
- }
-
protected RemoteDriverResponseContext invoke(RemoteDriverCommandContext commandContext) throws Exception
{
DriverCommand command = commandContext.getCommand();
-
- //
- if (command instanceof StartTestCommand)
+ if (command instanceof PerformClickCommand)
{
- log.info("# Starting test : " + node + " : " + testId);
- requestCount = -1;
- pushContext();
- DriverResponse response = driver.getServer(node).invoke(testId, command);
- return new WebDriverResponseContext(response);
- }
- else
- {
- if (command instanceof PerformClickCommand)
- {
- PerformClickCommand performClick = (PerformClickCommand)command;
- String id = performClick.getId();
- log.info("# Clicking element : " + node + " : " + id);
- requestCount++;
- pushContext();
- Selenium selenium = driver.getSelenium();
- selenium.click(id);
- Thread.sleep(5000);
+ PerformClickCommand performClick = (PerformClickCommand)command;
+ String id = performClick.getId();
+ log.info("# Clicking element : " + conversation.getNode() + " : " + id);
+ conversation.pushContext(commandContext);
+ selenium.click(id);
+ Thread.sleep(5000);
// selenium.waitForPageToLoad("50000");
- }
- else if (command instanceof GetPageCommand)
- {
- GetPageCommand getPage = (GetPageCommand)command;
- String uri = getPage.getURI();
- log.info("# Getting page : " + node + " : " + uri);
- requestCount++;
- pushContext();
- Selenium selenium = driver.getSelenium();
- selenium.open(uri);
- selenium.waitForPageToLoad("5000");
- }
- else if (command instanceof DnDCommand)
- {
- DnDCommand dnd = (DnDCommand)command;
- String fromId = dnd.getFromId();
- int deltaX = dnd.getDeltaX();
- int deltaY = dnd.getDeltaY();
- String move = (deltaX > 0 ? ("+" + deltaX) : Integer.toString(deltaX)) + "," + (deltaY > 0 ? ("+" + deltaY) : Integer.toString(deltaY));
- log.info("# DnD : " + node + " : " + fromId + " -> (" + move + ")");
- requestCount++;
- pushContext();
- Selenium selenium = driver.getSelenium();
- selenium.dragAndDrop(fromId, move);
- Thread.sleep(5000);
-// selenium.waitForPageToLoad("50000");
- }
-
- //
- TestContext ctx = popContext();
- DriverResponse response = ctx.getResponse();
- return new WebDriverResponseContext(response);
}
- }
-
- protected DriverCommand createCommand(RemoteDriverResponseContext responseContext) throws Exception
- {
- DriverResponse response = responseContext.getResponse();
-
- //
- if (response instanceof PerformClickResponse)
+ else if (command instanceof GetPageCommand)
{
- PerformClickResponse performClick = (PerformClickResponse)response;
- return new PerformClickCommand(performClick.getId());
+ GetPageCommand getPage = (GetPageCommand)command;
+ String uri = getPage.getURI();
+ log.info("# Getting page : " + conversation.getNode() + " : " + uri);
+ conversation.pushContext(commandContext);
+ selenium.open(uri);
+ selenium.waitForPageToLoad("5000");
}
- else if (response instanceof GetPageResponse)
+ else if (command instanceof DnDCommand)
{
- GetPageResponse getPage = (GetPageResponse)response;
- return new GetPageCommand(getPage.getURI());
+ DnDCommand dnd = (DnDCommand)command;
+ String fromId = dnd.getFromId();
+ int deltaX = dnd.getDeltaX();
+ int deltaY = dnd.getDeltaY();
+ String move = (deltaX > 0 ? ("+" + deltaX) : Integer.toString(deltaX)) + "," + (deltaY > 0 ? ("+" + deltaY) : Integer.toString(deltaY));
+ log.info("# DnD : " + conversation.getNode() + " : " + fromId + " -> (" + move + ")");
+ conversation.pushContext(commandContext);
+ selenium.dragAndDrop(fromId, move);
+ Thread.sleep(5000);
+// selenium.waitForPageToLoad("50000");
}
- else if (response instanceof DnDResponse)
- {
- DnDResponse dnd = (DnDResponse)response;
- return new DnDCommand(dnd.getFromId(), dnd.getDeltaX(), dnd.getDeltaY());
- }
- else
- {
- if (response instanceof EndTestResponse)
- {
- log.info("# Ending test : " + testId);
- }
- //
- return null;
- }
+ //
+ TestContext ctx = conversation.popContext();
+ DriverResponse response = ctx.getResponse();
+ return commandContext.createResponseContext(response);
}
-
- private void pushContext()
- {
- TestContext ctx = new TestContext(requestCount, driver.getArchivePath(), null);
- log.info("# Updating test case context of : " + node + " : " + ctx);
- RemoteTestDriver agent = driver.getServer(node);
- agent.pushContext(testId, ctx);
- }
-
- private TestContext popContext()
- {
- RemoteTestDriver agent = driver.getServer(node);
- return agent.popContext(testId);
- }
}
Deleted: modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/web/WebTestDriverClient.java
===================================================================
--- modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/web/WebTestDriverClient.java 2007-09-10 12:13:33 UTC (rev 8206)
+++ modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/web/WebTestDriverClient.java 2007-09-10 23:03:20 UTC (rev 8207)
@@ -1,58 +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.test.framework.driver.web;
-
-import org.jboss.portal.test.framework.driver.remote.RemoteTestDriverClient;
-import org.jboss.portal.test.framework.driver.remote.TestConversation;
-import org.jboss.portal.test.framework.server.Node;
-import com.thoughtworks.selenium.Selenium;
-import com.thoughtworks.selenium.DefaultSelenium;
-
-/**
- * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
- * @version $Revision: 1.1 $
- */
-public class WebTestDriverClient extends RemoteTestDriverClient
-{
-
- /** . */
- private Selenium selenium;
-
- protected TestConversation createConversation(String testId, Node node)
- {
- return new WebTestConversation(this, testId, node);
- }
-
- public Selenium getSelenium()
- {
- if (selenium == null)
- {
- // We open localhost:8080 provided by tomcat as we need to open something for selenium
- selenium = new DefaultSelenium("localhost", 12345, "*firefox", "http://localhost:8080");
- selenium.start();
- }
-
- //
- return selenium;
- }
-}
Added: modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/web/WebTestDriverHandler.java
===================================================================
--- modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/web/WebTestDriverHandler.java (rev 0)
+++ modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/web/WebTestDriverHandler.java 2007-09-10 23:03:20 UTC (rev 8207)
@@ -0,0 +1,89 @@
+/******************************************************************************
+ * 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.framework.driver.web;
+
+import org.jboss.portal.test.framework.driver.remote.RemoteTestDriverProtocolHandler;
+import org.jboss.portal.test.framework.driver.remote.TestConversation;
+import org.jboss.portal.test.framework.driver.remote.RemoteDriverCommandContext;
+import org.jboss.portal.test.framework.driver.remote.RemoteDriverResponseContext;
+import org.jboss.portal.test.framework.driver.DriverCommand;
+import org.jboss.portal.test.framework.driver.DriverResponse;
+import org.jboss.portal.test.framework.driver.web.response.WebDriverResponse;
+import org.jboss.portal.test.framework.driver.web.response.PerformClickResponse;
+import org.jboss.portal.test.framework.driver.web.response.GetPageResponse;
+import org.jboss.portal.test.framework.driver.web.response.DnDResponse;
+import org.jboss.portal.test.framework.driver.web.command.PerformClickCommand;
+import org.jboss.portal.test.framework.driver.web.command.GetPageCommand;
+import org.jboss.portal.test.framework.driver.web.command.DnDCommand;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+public class WebTestDriverHandler implements RemoteTestDriverProtocolHandler
+{
+
+ public DriverCommand createCommand(RemoteDriverResponseContext responseContext)
+ {
+ if (responseContext.getResponse() instanceof WebDriverResponse)
+ {
+ DriverResponse resp = responseContext.getResponse();
+
+ //
+ if (resp instanceof PerformClickResponse)
+ {
+ PerformClickResponse performClick = (PerformClickResponse)resp;
+ return new PerformClickCommand(performClick.getId());
+ }
+ else if (resp instanceof GetPageResponse)
+ {
+ GetPageResponse getPage = (GetPageResponse)resp;
+ return new GetPageCommand(getPage.getURI());
+ }
+ else if (resp instanceof DnDResponse)
+ {
+ DnDResponse dnd = (DnDResponse)resp;
+ return new DnDCommand(dnd.getFromId(), dnd.getDeltaX(), dnd.getDeltaY());
+ }
+ }
+
+ //
+ return null;
+ }
+
+
+ public RemoteDriverResponseContext invoke(TestConversation conversation, RemoteDriverCommandContext commandContext) throws Exception
+ {
+ WebTestConversation webConversation = (WebTestConversation)conversation.getAttribute("web.conversation");
+
+ //
+ if (webConversation == null)
+ {
+ webConversation = new WebTestConversation(conversation);
+ conversation.setAttribute("web.conversation", webConversation);
+ }
+
+ //
+ return webConversation.invoke(commandContext);
+ }
+}
Modified: modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/web/command/WebDriverCommand.java
===================================================================
--- modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/web/command/WebDriverCommand.java 2007-09-10 12:13:33 UTC (rev 8206)
+++ modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/web/command/WebDriverCommand.java 2007-09-10 23:03:20 UTC (rev 8207)
@@ -28,6 +28,6 @@
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
* @version $Revision: 1.1 $
*/
-public class WebDriverCommand extends DriverCommand
+public abstract class WebDriverCommand extends DriverCommand
{
}
Deleted: modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/web/command/WebDriverCommandContext.java
===================================================================
--- modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/web/command/WebDriverCommandContext.java 2007-09-10 12:13:33 UTC (rev 8206)
+++ modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/web/command/WebDriverCommandContext.java 2007-09-10 23:03:20 UTC (rev 8207)
@@ -1,44 +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.test.framework.driver.web.command;
-
-import org.jboss.portal.test.framework.driver.remote.command.RemoteDriverCommandContext;
-import org.jboss.portal.test.framework.driver.remote.response.RemoteDriverResponseContext;
-import org.jboss.portal.test.framework.driver.DriverCommand;
-
-/**
- * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
- * @version $Revision: 1.1 $
- */
-public class WebDriverCommandContext extends RemoteDriverCommandContext
-{
- public WebDriverCommandContext(RemoteDriverResponseContext responseContext, DriverCommand command)
- {
- super(responseContext, command);
- }
-
- public WebDriverCommandContext(DriverCommand command)
- {
- super(command);
- }
-}
Deleted: modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/web/response/WebDriverResponseContext.java
===================================================================
--- modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/web/response/WebDriverResponseContext.java 2007-09-10 12:13:33 UTC (rev 8206)
+++ modules/test/trunk/test/src/main/org/jboss/portal/test/framework/driver/web/response/WebDriverResponseContext.java 2007-09-10 23:03:20 UTC (rev 8207)
@@ -1,38 +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.test.framework.driver.web.response;
-
-import org.jboss.portal.test.framework.driver.remote.response.RemoteDriverResponseContext;
-import org.jboss.portal.test.framework.driver.DriverResponse;
-
-/**
- * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
- * @version $Revision: 1.1 $
- */
-public class WebDriverResponseContext extends RemoteDriverResponseContext
-{
- public WebDriverResponseContext(DriverResponse response)
- {
- super(response);
- }
-}
Modified: modules/test/trunk/test/src/main/org/jboss/portal/test/framework/impl/generic/agent/GenericTestAgent.java
===================================================================
--- modules/test/trunk/test/src/main/org/jboss/portal/test/framework/impl/generic/agent/GenericTestAgent.java 2007-09-10 12:13:33 UTC (rev 8206)
+++ modules/test/trunk/test/src/main/org/jboss/portal/test/framework/impl/generic/agent/GenericTestAgent.java 2007-09-10 23:03:20 UTC (rev 8207)
@@ -23,23 +23,16 @@
package org.jboss.portal.test.framework.impl.generic.agent;
import org.jboss.portal.test.framework.agent.TestAgent;
+import org.jboss.portal.test.framework.impl.generic.config.AuthenticationConfig;
+import org.jboss.portal.test.framework.impl.generic.config.DeployerConfig;
+import org.jboss.portal.test.framework.impl.generic.server.GenericServiceLookup;
+import org.jboss.portal.test.framework.server.ServiceLookupFailedException;
import org.codehaus.cargo.container.deployer.Deployer;
-import org.codehaus.cargo.container.deployer.DeployerType;
import org.codehaus.cargo.container.deployable.Deployable;
import org.codehaus.cargo.container.deployable.WAR;
import org.codehaus.cargo.container.configuration.Configuration;
-import org.codehaus.cargo.container.configuration.ConfigurationType;
-import org.codehaus.cargo.container.property.GeneralPropertySet;
-import org.codehaus.cargo.container.property.ServletPropertySet;
import org.codehaus.cargo.container.property.RemotePropertySet;
-import org.codehaus.cargo.container.ContainerType;
import org.codehaus.cargo.container.Container;
-import org.codehaus.cargo.generic.configuration.ConfigurationFactory;
-import org.codehaus.cargo.generic.configuration.DefaultConfigurationFactory;
-import org.codehaus.cargo.generic.ContainerFactory;
-import org.codehaus.cargo.generic.DefaultContainerFactory;
-import org.codehaus.cargo.generic.deployer.DeployerFactory;
-import org.codehaus.cargo.generic.deployer.DefaultDeployerFactory;
import java.net.URL;
import java.net.URISyntaxException;
@@ -49,44 +42,76 @@
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
* @version $Revision: 1.1 $
*/
-public class GenericTestAgent implements TestAgent
+public class GenericTestAgent extends GenericServiceLookup implements TestAgent
{
/** . */
private Deployer cargoDeployer;
+ /** . */
+ private DeployerConfig deployerConfig;
+
+ /** . */
+ private AuthenticationConfig authenticationConfig;
+
+ public DeployerConfig getDeployerConfig()
+ {
+ return deployerConfig;
+ }
+
+ public void setDeployerConfig(DeployerConfig deployerConfig)
+ {
+ this.deployerConfig = deployerConfig;
+ }
+
+ public AuthenticationConfig getAuthenticationConfig()
+ {
+ return authenticationConfig;
+ }
+
+ public void setAuthenticationConfig(AuthenticationConfig authenticationConfig)
+ {
+ this.authenticationConfig = authenticationConfig;
+ }
+
public void start()
{
+ Configuration cfg = deployerConfig.createConfiguration();
+ //
+ if (authenticationConfig != null)
+ {
+ cfg.setProperty(RemotePropertySet.USERNAME, authenticationConfig.getUsername());
+ cfg.setProperty(RemotePropertySet.PASSWORD, authenticationConfig.getPassword());
+ }
+
+ //
+ Container container = deployerConfig.createContainer(cfg);
+ cargoDeployer = deployerConfig.createDeployer(container);
+ }
+
+
// String name = "jboss4x";
// String protocol = "http";
// String host = "localhost";
// String port = "8080";
+// private ServerConfig createConfig()
+// {
+// AuthenticationConfig authentication = new AuthenticationConfig();
+// authentication.setUsername("admin");
+// authentication.setPassword("admin");
+//
+// RemoteDeployerConfig cargo = new RemoteDeployerConfig();
+// cargo.setName("tomcat5x");
+// cargo.setHost("localhost");
+// cargo.setPort("8080");
+//
+// ServerConfig ccfg = new ServerConfig("TomcatRemote");
+// ccfg.setAuthentication(authentication);
+// ccfg.setDeployer(cargo);
+// return ccfg;
+// }
- ContainerType containerType = ContainerType.REMOTE;
- DeployerType deployerType = DeployerType.REMOTE;
- String name = "tomcat5x";
- String protocol = "http";
- String host = "localhost";
- String port = "8080";
- String username = "admin";
- String password = "admin";
-
- ConfigurationFactory cfgFactory = new DefaultConfigurationFactory();
- Configuration cfg = cfgFactory.createConfiguration(name, ConfigurationType.RUNTIME);
- cfg.setProperty(GeneralPropertySet.PROTOCOL, protocol);
- cfg.setProperty(GeneralPropertySet.HOSTNAME, host);
- cfg.setProperty(ServletPropertySet.PORT, port);
- cfg.setProperty(RemotePropertySet.USERNAME, username);
- cfg.setProperty(RemotePropertySet.PASSWORD, password);
-
- ContainerFactory containerFactory = new DefaultContainerFactory();
- Container container = containerFactory.createContainer(name, containerType, cfg);
-
- DeployerFactory deployerFactory = new DefaultDeployerFactory();
- cargoDeployer = deployerFactory.createDeployer(container, deployerType);
- }
-
public void deploy(URL url) throws Exception
{
Deployable deployable = createDeployable(url);
@@ -114,4 +139,9 @@
}
throw new IllegalArgumentException("Illegal URL " + url);
}
+
+ public Object lookupService() throws ServiceLookupFailedException
+ {
+ return this;
+ }
}
Added: modules/test/trunk/test/src/main/org/jboss/portal/test/framework/impl/generic/config/AuthenticationConfig.java
===================================================================
--- modules/test/trunk/test/src/main/org/jboss/portal/test/framework/impl/generic/config/AuthenticationConfig.java (rev 0)
+++ modules/test/trunk/test/src/main/org/jboss/portal/test/framework/impl/generic/config/AuthenticationConfig.java 2007-09-10 23:03:20 UTC (rev 8207)
@@ -0,0 +1,57 @@
+/******************************************************************************
+ * 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.framework.impl.generic.config;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+public class AuthenticationConfig
+{
+
+ /** . */
+ private String username;
+
+ /** . */
+ private String password;
+
+ public String getUsername()
+ {
+ return username;
+ }
+
+ public void setUsername(String username)
+ {
+ this.username = username;
+ }
+
+ public String getPassword()
+ {
+ return password;
+ }
+
+ public void setPassword(String password)
+ {
+ this.password = password;
+ }
+}
Added: modules/test/trunk/test/src/main/org/jboss/portal/test/framework/impl/generic/config/DeployerConfig.java
===================================================================
--- modules/test/trunk/test/src/main/org/jboss/portal/test/framework/impl/generic/config/DeployerConfig.java (rev 0)
+++ modules/test/trunk/test/src/main/org/jboss/portal/test/framework/impl/generic/config/DeployerConfig.java 2007-09-10 23:03:20 UTC (rev 8207)
@@ -0,0 +1,45 @@
+/******************************************************************************
+ * 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.framework.impl.generic.config;
+
+import org.codehaus.cargo.container.ContainerType;
+import org.codehaus.cargo.container.Container;
+import org.codehaus.cargo.container.configuration.ConfigurationType;
+import org.codehaus.cargo.container.configuration.Configuration;
+import org.codehaus.cargo.container.deployer.DeployerType;
+import org.codehaus.cargo.container.deployer.Deployer;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+public abstract class DeployerConfig
+{
+
+ public abstract Configuration createConfiguration();
+
+ public abstract Container createContainer(Configuration cfg);
+
+ public abstract Deployer createDeployer(Container container);
+
+}
Added: modules/test/trunk/test/src/main/org/jboss/portal/test/framework/impl/generic/config/HTTPTestRunnerConfig.java
===================================================================
--- modules/test/trunk/test/src/main/org/jboss/portal/test/framework/impl/generic/config/HTTPTestRunnerConfig.java (rev 0)
+++ modules/test/trunk/test/src/main/org/jboss/portal/test/framework/impl/generic/config/HTTPTestRunnerConfig.java 2007-09-10 23:03:20 UTC (rev 8207)
@@ -0,0 +1,57 @@
+/******************************************************************************
+ * 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.framework.impl.generic.config;
+
+import org.jboss.portal.test.framework.TestParametrization;
+import org.jboss.portal.test.framework.TestParameterValue;
+import org.jboss.portal.test.framework.junit.JUnitAdapter;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+public class HTTPTestRunnerConfig
+{
+
+ /**
+ * Returns the server name from the test parametrization. If no value is found then it
+ * returns the litteral string <i>RemoteTomcat-6.0</i>.
+ *
+ * @return the server name
+ */
+ public String getServerName()
+ {
+ TestParametrization parametrization = JUnitAdapter.getParametrization();
+ TestParameterValue archive = parametrization.getParameterValue("serverName");
+
+ //
+ if (archive != null)
+ {
+ return (String)archive.get();
+ }
+ else
+ {
+ return "RemoteTomcat-6.0";
+ }
+ }
+}
Added: modules/test/trunk/test/src/main/org/jboss/portal/test/framework/impl/generic/config/NodeConfig.java
===================================================================
--- modules/test/trunk/test/src/main/org/jboss/portal/test/framework/impl/generic/config/NodeConfig.java (rev 0)
+++ modules/test/trunk/test/src/main/org/jboss/portal/test/framework/impl/generic/config/NodeConfig.java 2007-09-10 23:03:20 UTC (rev 8207)
@@ -0,0 +1,89 @@
+/******************************************************************************
+ * 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.framework.impl.generic.config;
+
+import java.util.Map;
+import java.util.HashMap;
+import java.util.Iterator;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+public class NodeConfig
+{
+
+ /** . */
+ private final String id;
+
+ /** . */
+ private AuthenticationConfig authentication;
+
+ /** . */
+ private DeployerConfig deployer;
+
+ /** . */
+ private Map services;
+
+ public NodeConfig(String id)
+ {
+ this.id = id;
+ this.services = new HashMap();
+ }
+
+ public String getId()
+ {
+ return id;
+ }
+
+ public void addService(ServiceConfig service)
+ {
+ services.put(service.getName(), service);
+ }
+
+ public Map getServices()
+ {
+ return services;
+ }
+
+ public AuthenticationConfig getAuthentication()
+ {
+ return authentication;
+ }
+
+ public void setAuthentication(AuthenticationConfig authentication)
+ {
+ this.authentication = authentication;
+ }
+
+ public DeployerConfig getDeployer()
+ {
+ return deployer;
+ }
+
+ public void setDeployer(DeployerConfig deployer)
+ {
+ this.deployer = deployer;
+ }
+
+}
Added: modules/test/trunk/test/src/main/org/jboss/portal/test/framework/impl/generic/config/RemoteDeployerConfig.java
===================================================================
--- modules/test/trunk/test/src/main/org/jboss/portal/test/framework/impl/generic/config/RemoteDeployerConfig.java (rev 0)
+++ modules/test/trunk/test/src/main/org/jboss/portal/test/framework/impl/generic/config/RemoteDeployerConfig.java 2007-09-10 23:03:20 UTC (rev 8207)
@@ -0,0 +1,122 @@
+/******************************************************************************
+ * 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.framework.impl.generic.config;
+
+import org.codehaus.cargo.container.ContainerType;
+import org.codehaus.cargo.container.Container;
+import org.codehaus.cargo.container.property.GeneralPropertySet;
+import org.codehaus.cargo.container.property.ServletPropertySet;
+import org.codehaus.cargo.container.configuration.ConfigurationType;
+import org.codehaus.cargo.container.configuration.Configuration;
+import org.codehaus.cargo.container.deployer.DeployerType;
+import org.codehaus.cargo.container.deployer.Deployer;
+import org.codehaus.cargo.generic.configuration.ConfigurationFactory;
+import org.codehaus.cargo.generic.configuration.DefaultConfigurationFactory;
+import org.codehaus.cargo.generic.ContainerFactory;
+import org.codehaus.cargo.generic.DefaultContainerFactory;
+import org.codehaus.cargo.generic.deployer.DeployerFactory;
+import org.codehaus.cargo.generic.deployer.DefaultDeployerFactory;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+public class RemoteDeployerConfig extends DeployerConfig
+{
+
+ /** . */
+ private String name;
+
+ /** . */
+ private String host;
+
+ /** . */
+ private String port;
+
+ public Configuration createConfiguration()
+ {
+ ConfigurationFactory cfgFactory = new DefaultConfigurationFactory();
+ Configuration cfg = cfgFactory.createConfiguration(name, ConfigurationType.RUNTIME);
+ cfg.setProperty(GeneralPropertySet.PROTOCOL, "http");
+ cfg.setProperty(GeneralPropertySet.HOSTNAME, host);
+ cfg.setProperty(ServletPropertySet.PORT, port);
+ return cfg;
+ }
+
+ public Container createContainer(Configuration cfg)
+ {
+ ContainerFactory containerFactory = new DefaultContainerFactory();
+ return containerFactory.createContainer(name, ContainerType.REMOTE, cfg);
+ }
+
+ public Deployer createDeployer(Container container)
+ {
+ DeployerFactory deployerFactory = new DefaultDeployerFactory();
+ return deployerFactory.createDeployer(container, DeployerType.REMOTE);
+ }
+
+ public ContainerType getContainerType()
+ {
+ return ContainerType.REMOTE;
+ }
+
+ public DeployerType getDeployerType()
+ {
+ return DeployerType.REMOTE;
+ }
+
+ public ConfigurationType getConfigurationType()
+ {
+ return ConfigurationType.RUNTIME;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+
+ public void setName(String name)
+ {
+ this.name = name;
+ }
+
+ public String getHost()
+ {
+ return host;
+ }
+
+ public void setHost(String host)
+ {
+ this.host = host;
+ }
+
+ public String getPort()
+ {
+ return port;
+ }
+
+ public void setPort(String port)
+ {
+ this.port = port;
+ }
+}
Added: modules/test/trunk/test/src/main/org/jboss/portal/test/framework/impl/generic/config/ServerConfig.java
===================================================================
--- modules/test/trunk/test/src/main/org/jboss/portal/test/framework/impl/generic/config/ServerConfig.java (rev 0)
+++ modules/test/trunk/test/src/main/org/jboss/portal/test/framework/impl/generic/config/ServerConfig.java 2007-09-10 23:03:20 UTC (rev 8207)
@@ -0,0 +1,174 @@
+/******************************************************************************
+ * 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.framework.impl.generic.config;
+
+import org.w3c.dom.Element;
+import org.w3c.dom.Document;
+import org.jboss.portal.common.xml.XMLTools;
+import org.jboss.portal.common.io.IOTools;
+
+import java.net.URL;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.HashMap;
+import java.util.LinkedHashMap;
+import java.io.InputStream;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+public class ServerConfig
+{
+
+ /** . */
+ private final String name;
+
+ /** . */
+ private final Map nodes;
+
+ public ServerConfig(String serverName)
+ {
+ if (serverName == null)
+ {
+ throw new IllegalArgumentException();
+ }
+ this.name = serverName;
+ this.nodes = new HashMap();
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+
+ public void addNode(NodeConfig node)
+ {
+ nodes.put(node.getId(), node);
+ }
+
+ public Map getNodes()
+ {
+ return nodes;
+ }
+
+ public static Map createConfigs(URL url) throws Exception
+ {
+ Map configs = new LinkedHashMap();
+ InputStream in = null;
+ try
+ {
+ in = IOTools.safeBufferedWrapper(url.openStream());
+ Document doc = XMLTools.getDocumentBuilderFactory().newDocumentBuilder().parse(in);
+ for (Iterator i = XMLTools.getChildrenIterator(doc.getDocumentElement(), "server"); i.hasNext();)
+ {
+ Element serverElt = (Element)i.next();
+ ServerConfig serverCfg = createConfig(serverElt);
+ configs.put(serverCfg.getName(), serverCfg);
+ }
+ return configs;
+ }
+ finally
+ {
+ IOTools.safeClose(in);
+ }
+ }
+
+ public static ServerConfig createConfig(Element serverElt)
+ {
+ Element serverNameElt = XMLTools.getUniqueChild(serverElt, "server-name", true);
+
+ //
+ ServerConfig serverCfg = new ServerConfig(XMLTools.asString(serverNameElt));
+
+ //
+ List nodeElts = XMLTools.getChildren(serverElt, "node");
+ for (Iterator i = nodeElts.iterator(); i.hasNext();)
+ {
+ Element nodeElt = (Element)i.next();
+
+ //
+ Element nodeIdElt = XMLTools.getUniqueChild(nodeElt, "node-id", true);
+ List serviceElts = XMLTools.getChildren(nodeElt, "service");
+ Element deployerElt = XMLTools.getUniqueChild(nodeElt, "deployer", true);
+
+ //
+ NodeConfig node = new NodeConfig(XMLTools.asString(nodeIdElt));
+
+ //
+ for (Iterator j = serviceElts.iterator();j.hasNext();)
+ {
+ Element serviceElt = (Element)j.next();
+
+ //
+ Element serviceNameElt = XMLTools.getUniqueChild(serviceElt, "service-name", true);
+ Element interfaceElt = XMLTools.getUniqueChild(serviceElt, "interface", true);
+ Element uriElt = XMLTools.getUniqueChild(serviceElt, "uri", true);
+
+ //
+ ServiceConfig service = new ServiceConfig(XMLTools.asString(serviceNameElt));
+ service.setInterfaceClass(XMLTools.asString(interfaceElt));
+ service.setURI(XMLTools.asString(uriElt));
+
+ //
+ node.addService(service);
+ }
+
+ //
+ Element remoteElt = XMLTools.getUniqueChild(deployerElt, "remote", true);
+ Element authenticationElt = XMLTools.getUniqueChild(deployerElt, "authentication", false);
+
+ //
+ Element remoteNameElt = XMLTools.getUniqueChild(remoteElt, "name", true);
+ Element remoteHostElt = XMLTools.getUniqueChild(remoteElt, "host", true);
+ Element remotePortElt = XMLTools.getUniqueChild(remoteElt, "port", true);
+
+ //
+ RemoteDeployerConfig cargoCfg = new RemoteDeployerConfig();
+ cargoCfg.setName(XMLTools.asString(remoteNameElt));
+ cargoCfg.setHost(XMLTools.asString(remoteHostElt));
+ cargoCfg.setPort(XMLTools.asString(remotePortElt));
+ node.setDeployer(cargoCfg);
+
+ //
+ if (authenticationElt != null)
+ {
+ Element authenticationUsernameElt = XMLTools.getUniqueChild(authenticationElt, "username", true);
+ Element authenticationPasswordElt = XMLTools.getUniqueChild(authenticationElt, "password", true);
+
+ //
+ AuthenticationConfig authenticationCfg = new AuthenticationConfig();
+ authenticationCfg.setUsername(XMLTools.asString(authenticationUsernameElt));
+ authenticationCfg.setPassword(XMLTools.asString(authenticationPasswordElt));
+ node.setAuthentication(authenticationCfg);
+ }
+
+ //
+ serverCfg.addNode(node);
+ }
+
+ //
+ return serverCfg;
+ }
+}
Added: modules/test/trunk/test/src/main/org/jboss/portal/test/framework/impl/generic/config/ServiceConfig.java
===================================================================
--- modules/test/trunk/test/src/main/org/jboss/portal/test/framework/impl/generic/config/ServiceConfig.java (rev 0)
+++ modules/test/trunk/test/src/main/org/jboss/portal/test/framework/impl/generic/config/ServiceConfig.java 2007-09-10 23:03:20 UTC (rev 8207)
@@ -0,0 +1,70 @@
+/******************************************************************************
+ * 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.framework.impl.generic.config;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+public class ServiceConfig
+{
+
+ /** . */
+ private final String name;
+
+ /** . */
+ private String interfaceClass;
+
+ /** . */
+ private String uri;
+
+ public ServiceConfig(String name)
+ {
+ this.name = name;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+
+ public String getInterfaceClass()
+ {
+ return interfaceClass;
+ }
+
+ public void setInterfaceClass(String interfaceClass)
+ {
+ this.interfaceClass = interfaceClass;
+ }
+
+ public String getURI()
+ {
+ return uri;
+ }
+
+ public void setURI(String uri)
+ {
+ this.uri = uri;
+ }
+}
Deleted: modules/test/trunk/test/src/main/org/jboss/portal/test/framework/impl/generic/server/DirectServiceLookup.java
===================================================================
--- modules/test/trunk/test/src/main/org/jboss/portal/test/framework/impl/generic/server/DirectServiceLookup.java 2007-09-10 12:13:33 UTC (rev 8206)
+++ modules/test/trunk/test/src/main/org/jboss/portal/test/framework/impl/generic/server/DirectServiceLookup.java 2007-09-10 23:03:20 UTC (rev 8207)
@@ -1,51 +0,0 @@
-/******************************************************************************
- * JBoss, a division of Red Hat *
- * Copyright 2006, Red Hat Middleware, LLC, and individual *
- * contributors as indicated by the @authors tag. See the *
- * copyright.txt in the distribution for a full listing of *
- * individual contributors. *
- * *
- * This is free software; you can redistribute it and/or modify it *
- * under the terms of the GNU Lesser General Public License as *
- * published by the Free Software Foundation; either version 2.1 of *
- * the License, or (at your option) any later version. *
- * *
- * This software is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
- * Lesser General Public License for more details. *
- * *
- * You should have received a copy of the GNU Lesser General Public *
- * License along with this software; if not, write to the Free *
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org. *
- ******************************************************************************/
-package org.jboss.portal.test.framework.impl.generic.server;
-
-import org.jboss.portal.test.framework.server.ServiceLookup;
-import org.jboss.portal.test.framework.server.ServiceLookupFailedException;
-
-/**
- * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
- * @version $Revision: 1.1 $
- */
-public class DirectServiceLookup implements ServiceLookup
-{
-
- /** . */
- private Object service;
-
- public DirectServiceLookup(Object service)
- {
- this.service = service;
- }
-
- public Object lookupService() throws ServiceLookupFailedException
- {
- if (service == null)
- {
- throw new ServiceLookupFailedException();
- }
- return service;
- }
-}
Copied: modules/test/trunk/test/src/main/org/jboss/portal/test/framework/impl/generic/server/GenericLocalServiceLookup.java (from rev 8097, modules/test/trunk/test/src/main/org/jboss/portal/test/framework/impl/generic/server/DirectServiceLookup.java)
===================================================================
--- modules/test/trunk/test/src/main/org/jboss/portal/test/framework/impl/generic/server/GenericLocalServiceLookup.java (rev 0)
+++ modules/test/trunk/test/src/main/org/jboss/portal/test/framework/impl/generic/server/GenericLocalServiceLookup.java 2007-09-10 23:03:20 UTC (rev 8207)
@@ -0,0 +1,51 @@
+/******************************************************************************
+ * 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.framework.impl.generic.server;
+
+import org.jboss.portal.test.framework.server.ServiceLookup;
+import org.jboss.portal.test.framework.server.ServiceLookupFailedException;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+public class GenericLocalServiceLookup extends GenericServiceLookup
+{
+
+ /** . */
+ private Object service;
+
+ public GenericLocalServiceLookup(Object service)
+ {
+ this.service = service;
+ }
+
+ public Object lookupService() throws ServiceLookupFailedException
+ {
+ if (service == null)
+ {
+ throw new ServiceLookupFailedException();
+ }
+ return service;
+ }
+}
Added: modules/test/trunk/test/src/main/org/jboss/portal/test/framework/impl/generic/server/GenericNode.java
===================================================================
--- modules/test/trunk/test/src/main/org/jboss/portal/test/framework/impl/generic/server/GenericNode.java (rev 0)
+++ modules/test/trunk/test/src/main/org/jboss/portal/test/framework/impl/generic/server/GenericNode.java 2007-09-10 23:03:20 UTC (rev 8207)
@@ -0,0 +1,59 @@
+/******************************************************************************
+ * 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.framework.impl.generic.server;
+
+import org.jboss.portal.test.framework.server.Node;
+
+import java.util.Map;
+import java.util.Iterator;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+public class GenericNode extends Node
+{
+
+ public GenericNode(String id, Map serviceLookups)
+ {
+ super(id, serviceLookups);
+ }
+
+ public void start()
+ {
+ for (Iterator i = serviceLookups.values().iterator();i.hasNext();)
+ {
+ GenericServiceLookup service = (GenericServiceLookup)i.next();
+ service.start();
+ }
+ }
+
+ public void stop()
+ {
+ for (Iterator i = serviceLookups.values().iterator();i.hasNext();)
+ {
+ GenericServiceLookup service = (GenericServiceLookup)i.next();
+ service.stop();
+ }
+ }
+}
Added: modules/test/trunk/test/src/main/org/jboss/portal/test/framework/impl/generic/server/GenericNodeFactory.java
===================================================================
--- modules/test/trunk/test/src/main/org/jboss/portal/test/framework/impl/generic/server/GenericNodeFactory.java (rev 0)
+++ modules/test/trunk/test/src/main/org/jboss/portal/test/framework/impl/generic/server/GenericNodeFactory.java 2007-09-10 23:03:20 UTC (rev 8207)
@@ -0,0 +1,131 @@
+/******************************************************************************
+ * 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.framework.impl.generic.server;
+
+import org.jboss.portal.test.framework.server.Node;
+import org.jboss.portal.test.framework.server.NodeId;
+import org.jboss.portal.test.framework.impl.generic.config.ServerConfig;
+import org.jboss.portal.test.framework.impl.generic.config.NodeConfig;
+import org.jboss.portal.test.framework.impl.generic.config.ServiceConfig;
+import org.jboss.portal.test.framework.impl.generic.agent.GenericTestAgent;
+import org.jboss.portal.test.framework.agent.TestAgent;
+
+import java.net.URL;
+import java.util.Map;
+import java.util.HashMap;
+import java.util.Iterator;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+public class GenericNodeFactory
+{
+
+ /** . */
+ private final URL serverConfigURL;
+
+ /** . */
+ private String serverName;
+
+ /** . */
+ private final Map nodes;
+
+ public GenericNodeFactory(String serverConfigLocation, String serverName)
+ {
+ if (serverConfigLocation == null)
+ {
+ throw new IllegalArgumentException("No null servers.xml location accepted");
+ }
+ if (serverName == null)
+ {
+ throw new IllegalArgumentException("No null server name accepted");
+ }
+
+ //
+ URL serverConfigURL = Thread.currentThread().getContextClassLoader().getResource(serverConfigLocation);
+ if (serverConfigURL == null)
+ {
+ throw new IllegalArgumentException("No invalid servers.xml location=" + serverConfigLocation + " accepted");
+ }
+
+ //
+ this.serverName = serverName;
+ this.serverConfigURL = serverConfigURL;
+ this.nodes = new HashMap();
+ }
+
+ public String getServerName()
+ {
+ return serverName;
+ }
+
+ public URL getServerConfigURL()
+ {
+ return serverConfigURL;
+ }
+
+ public void start() throws Exception
+ {
+ Map cfgs = ServerConfig.createConfigs(serverConfigURL);
+
+ // Get the appropriate config
+ ServerConfig serverCfg = (ServerConfig)cfgs.get(serverName);
+
+ //
+ if (serverCfg == null)
+ {
+ throw new IllegalStateException("Cannot start the node factory because the config for the server " + serverName + " has not been found");
+ }
+
+ //
+ for (Iterator i = serverCfg.getNodes().values().iterator();i.hasNext();)
+ {
+ NodeConfig nodeCfg = (NodeConfig)i.next();
+
+ //
+ Map serviceLookupMap = new HashMap();
+ for (Iterator j = nodeCfg.getServices().values().iterator();j.hasNext();)
+ {
+ ServiceConfig serviceCfg = (ServiceConfig)j.next();
+ GenericServiceLookup serviceLookup = new GenericRemoteServiceLookup(serviceCfg.getURI(), serviceCfg.getInterfaceClass());
+ serviceLookupMap.put(serviceCfg.getName(), serviceLookup);
+ }
+
+ //
+ GenericTestAgent testAgent = new GenericTestAgent();
+ testAgent.setAuthenticationConfig(nodeCfg.getAuthentication());
+ testAgent.setDeployerConfig(nodeCfg.getDeployer());
+ serviceLookupMap.put(TestAgent.SERVICE_ID, testAgent);
+
+ //
+ GenericNode node = new GenericNode(nodeCfg.getId(), serviceLookupMap);
+ nodes.put(node.getId(), node);
+ }
+ }
+
+ public Node getNode(String nodeId)
+ {
+ return (Node)nodes.get(new NodeId(nodeId));
+ }
+}
Added: modules/test/trunk/test/src/main/org/jboss/portal/test/framework/impl/generic/server/GenericRemoteServiceLookup.java
===================================================================
--- modules/test/trunk/test/src/main/org/jboss/portal/test/framework/impl/generic/server/GenericRemoteServiceLookup.java (rev 0)
+++ modules/test/trunk/test/src/main/org/jboss/portal/test/framework/impl/generic/server/GenericRemoteServiceLookup.java 2007-09-10 23:03:20 UTC (rev 8207)
@@ -0,0 +1,63 @@
+/******************************************************************************
+ * 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.framework.impl.generic.server;
+
+import org.jboss.portal.test.framework.server.ServiceLookupFailedException;
+import org.jboss.remoting.transporter.TransporterClient;
+
+/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
+ * @version $Revision: 1.1 $
+ */
+public class GenericRemoteServiceLookup extends GenericServiceLookup
+{
+
+ /** . */
+ private final String locatorURI;
+
+ /** . */
+ private final String serviceInterface;
+
+ public GenericRemoteServiceLookup(String locatorURI, String serviceInterface)
+ {
+ this.locatorURI = locatorURI;
+ this.serviceInterface = serviceInterface;
+ }
+
+ public Object lookupService() throws ServiceLookupFailedException
+ {
+ try
+ {
+ Class proxyInterface = Thread.currentThread().getContextClassLoader().loadClass(serviceInterface);
+ return TransporterClient.createTransporterClient(locatorURI, proxyInterface);
+ }
+ catch (ClassNotFoundException e)
+ {
+ throw new ServiceLookupFailedException(e);
+ }
+ catch (Exception e)
+ {
+ throw new ServiceLookupFailedException(e);
+ }
+ }
+}
Modified: modules/test/trunk/test/src/main/org/jboss/portal/test/framework/impl/generic/server/GenericServiceLookup.java
===================================================================
--- modules/test/trunk/test/src/main/org/jboss/portal/test/framework/impl/generic/server/GenericServiceLookup.java 2007-09-10 12:13:33 UTC (rev 8206)
+++ modules/test/trunk/test/src/main/org/jboss/portal/test/framework/impl/generic/server/GenericServiceLookup.java 2007-09-10 23:03:20 UTC (rev 8207)
@@ -30,35 +30,14 @@
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
* @version $Revision: 1.1 $
*/
-public class GenericServiceLookup implements ServiceLookup
+public abstract class GenericServiceLookup implements ServiceLookup
{
- /** . */
- private final String locatorURI;
-
- /** . */
- private final String serviceInterface;
-
- public GenericServiceLookup(String locatorURI, String serviceInterface)
+ public void start()
{
- this.locatorURI = locatorURI;
- this.serviceInterface = serviceInterface;
}
- public Object lookupService() throws ServiceLookupFailedException
+ public void stop()
{
- try
- {
- Class proxyInterface = Thread.currentThread().getContextClassLoader().loadClass(serviceInterface);
- return TransporterClient.createTransporterClient(locatorURI, proxyInterface);
- }
- catch (ClassNotFoundException e)
- {
- throw new ServiceLookupFailedException(e);
- }
- catch (Exception e)
- {
- throw new ServiceLookupFailedException(e);
- }
}
}
Modified: modules/test/trunk/test/src/main/org/jboss/portal/test/framework/junit/JUnitAdapter.java
===================================================================
--- modules/test/trunk/test/src/main/org/jboss/portal/test/framework/junit/JUnitAdapter.java 2007-09-10 12:13:33 UTC (rev 8206)
+++ modules/test/trunk/test/src/main/org/jboss/portal/test/framework/junit/JUnitAdapter.java 2007-09-10 23:03:20 UTC (rev 8207)
@@ -44,7 +44,7 @@
import java.util.Map;
/**
- * An runner that adapts the <code>junit.framework.Test</code> interface to the <code>TestDriver</code> protocol.
+ * A runner that adapts the <code>junit.framework.Test</code> interface to the <code>TestDriver</code> protocol.
*
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
* @version $Revision: 7228 $
Modified: modules/test/trunk/test/src/main/org/jboss/portal/test/framework/mc/TestRuntimeContext.java
===================================================================
--- modules/test/trunk/test/src/main/org/jboss/portal/test/framework/mc/TestRuntimeContext.java 2007-09-10 12:13:33 UTC (rev 8206)
+++ modules/test/trunk/test/src/main/org/jboss/portal/test/framework/mc/TestRuntimeContext.java 2007-09-10 23:03:20 UTC (rev 8207)
@@ -64,14 +64,10 @@
/** The beans that will be defined by a factory in the container. */
private Map beans;
- /**
- *
- */
+ /** . */
private boolean started;
- /**
- *
- */
+ /** . */
private KernelDeployment deployment;
/**
@@ -86,13 +82,16 @@
{
throw new IllegalArgumentException("No beans descriptor provided");
}
- this.log = Logger.getLogger(getClass());
- this.beansURL = Thread.currentThread().getContextClassLoader().getResource(beansDD);
- this.beans = new HashMap();
+ URL beansURL = Thread.currentThread().getContextClassLoader().getResource(beansDD);
if (beansURL == null)
{
throw new IllegalArgumentException("Bean url is not valid " + beansDD);
}
+
+ //
+ this.log = Logger.getLogger(getClass());
+ this.beansURL = beansURL;
+ this.beans = new HashMap();
}
public void addBean(String id, Object bean) throws IllegalStateException, IllegalArgumentException
Modified: modules/test/trunk/test/src/main/org/jboss/portal/test/framework/server/Node.java
===================================================================
--- modules/test/trunk/test/src/main/org/jboss/portal/test/framework/server/Node.java 2007-09-10 12:13:33 UTC (rev 8206)
+++ modules/test/trunk/test/src/main/org/jboss/portal/test/framework/server/Node.java 2007-09-10 23:03:20 UTC (rev 8207)
@@ -33,10 +33,10 @@
{
/** . */
- private final NodeId id;
+ protected final NodeId id;
/** . */
- final Map serviceLookups;
+ protected final Map serviceLookups;
public Node(String id, Map serviceLookups)
{
Modified: modules/test/trunk/test/src/main/org/jboss/portal/test/framework/server/NodeManager.java
===================================================================
--- modules/test/trunk/test/src/main/org/jboss/portal/test/framework/server/NodeManager.java 2007-09-10 12:13:33 UTC (rev 8206)
+++ modules/test/trunk/test/src/main/org/jboss/portal/test/framework/server/NodeManager.java 2007-09-10 23:03:20 UTC (rev 8207)
@@ -56,10 +56,18 @@
public Node[] getNodes(NodeId[] nodeIds)
{
+ if (nodeIds == null)
+ {
+ throw new IllegalArgumentException("No null node ids accepted");
+ }
Node[] nodes = new Node[nodeIds.length];
for (int i = 0;i < nodeIds.length;i++)
{
NodeId nodeId = nodeIds[i];
+ if (nodeId == null)
+ {
+ throw new IllegalArgumentException("No null node id accepted");
+ }
nodes[i] = getNode(nodeId);
}
return nodes;
@@ -67,6 +75,10 @@
public Node getNode(NodeId nodeId)
{
+ if (nodeId == null)
+ {
+ throw new IllegalArgumentException("No null node id accepted");
+ }
return (Node)nodeMap.get(nodeId);
}
}
Modified: modules/test/trunk/test/src/resources/generic/portal-test-jar/org/jboss/portal/test/framework/container/http-runner-beans.xml
===================================================================
--- modules/test/trunk/test/src/resources/generic/portal-test-jar/org/jboss/portal/test/framework/container/http-runner-beans.xml 2007-09-10 12:13:33 UTC (rev 8206)
+++ modules/test/trunk/test/src/resources/generic/portal-test-jar/org/jboss/portal/test/framework/container/http-runner-beans.xml 2007-09-10 23:03:20 UTC (rev 8207)
@@ -1,5 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
-
<!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~ JBoss, a division of Red Hat ~
~ Copyright 2006, Red Hat Middleware, LLC, and individual ~
@@ -22,136 +21,30 @@
~ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA ~
~ 02110-1301 USA, or see the FSF site: http://www.fsf.org. ~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->
-
<deployment xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="urn:jboss:bean-deployer bean-deployer_1_0.xsd"
xmlns="urn:jboss:bean-deployer">
- <bean name="TestAgent0" class="org.jboss.portal.test.framework.impl.generic.agent.GenericTestAgent">
+ <bean name="Config" class="org.jboss.portal.test.framework.impl.generic.config.HTTPTestRunnerConfig">
</bean>
- <bean name="TestAgentLookup0" class="org.jboss.portal.test.framework.impl.generic.server.DirectServiceLookup">
- <constructor>
- <parameter><inject bean="TestAgent0"/></parameter>
- </constructor>
- </bean>
- <bean name="TestDriverServerLookup0" class="org.jboss.portal.test.framework.impl.generic.server.GenericServiceLookup">
- <constructor>
- <parameter>socket://localhost:5400</parameter>
- <parameter>org.jboss.portal.test.framework.driver.http.HTTPTestDriver</parameter>
- </constructor>
- </bean>
- <!--
- <bean name="TestDriverServerLookup0" class="org.jboss.portal.test.framework.impl.jboss.server.JBossServiceLookup">
- <constructor>
- <parameter><inject bean="MBeanServerFactory0" property="server"/></parameter>
- <parameter><value>portal.test:service=TestDriverServer</value></parameter>
- <parameter><value>org.jboss.portal.test.framework.driver.http.HTTPTestDriver</value></parameter>
- </constructor>
- </bean>
-
- <bean name="TestAgentLookup0" class="org.jboss.portal.test.framework.impl.jboss.server.JBossServiceLookup">
- <constructor>
- <parameter><inject bean="MBeanServerFactory0" property="server"/></parameter>
- <parameter><value>portal.test:service=Agent</value></parameter>
- <parameter><value>org.jboss.portal.test.framework.agent.TestAgent</value></parameter>
- </constructor>
- </bean>
-
- <bean name="TestDriverServerLookup1" class="org.jboss.portal.test.framework.impl.jboss.server.JBossServiceLookup">
- <constructor>
- <parameter><inject bean="MBeanServerFactory0" property="server"/></parameter>
- <parameter><value>portal.test:service=TestDriverServer</value></parameter>
- <parameter><value>org.jboss.portal.test.framework.driver.http.HTTPTestDriver</value></parameter>
- </constructor>
- </bean>
-
- <bean name="TestAgentLookup1" class="org.jboss.portal.test.framework.impl.jboss.server.JBossServiceLookup">
- <constructor>
- <parameter><inject bean="MBeanServerFactory0" property="server"/></parameter>
- <parameter><value>portal.test:service=Agent</value></parameter>
- <parameter><value>org.jboss.portal.test.framework.agent.TestAgent</value></parameter>
- </constructor>
- </bean>
-
- <bean name="TestDriverServerLookup2" class="org.jboss.portal.test.framework.impl.jboss.server.JBossServiceLookup">
- <constructor>
- <parameter><inject bean="MBeanServerFactory0" property="server"/></parameter>
- <parameter><value>portal.test:service=TestDriverServer</value></parameter>
- <parameter><value>org.jboss.portal.test.framework.driver.http.HTTPTestDriver</value></parameter>
- </constructor>
- </bean>
-
- <bean name="TestAgentLookup2" class="org.jboss.portal.test.framework.impl.jboss.server.JBossServiceLookup">
- <constructor>
- <parameter><inject bean="MBeanServerFactory0" property="server"/></parameter>
- <parameter><value>portal.test:service=Agent</value></parameter>
- <parameter><value>org.jboss.portal.test.framework.agent.TestAgent</value></parameter>
- </constructor>
- </bean>
- -->
-
- <bean name="Node0" class="org.jboss.portal.test.framework.server.Node">
+ <bean name="NodeFactory" class="org.jboss.portal.test.framework.impl.generic.server.GenericNodeFactory">
<constructor>
- <parameter><value>default</value></parameter>
- <parameter>
- <map keyClass="java.lang.String" valueClass="org.jboss.portal.test.framework.impl.generic.server.DirectServiceLookup">
- <entry>
- <key>TestDriverServer</key>
- <value><inject bean="TestDriverServerLookup0"/></value>
- </entry>
- <entry>
- <key>TestAgent</key>
- <value><inject bean="TestAgentLookup0"/></value>
- </entry>
- </map>
- </parameter>
+ <parameter>servers.xml</parameter>
+ <parameter><inject bean="Config" property="serverName"/></parameter>
</constructor>
</bean>
-<!--
- <bean name="Node1" class="org.jboss.portal.test.framework.server.Node">
- <constructor>
- <parameter><value>ports-01</value></parameter>
- <parameter>
- <map keyClass="java.lang.String" valueClass="org.jboss.portal.test.framework.impl.jboss.server.JBossServiceLookup">
- <entry>
- <key>TestDriverServer</key>
- <value><inject bean="TestDriverServerLookup1"/></value>
- </entry>
- <entry>
- <key>TestAgent</key>
- <value><inject bean="TestAgentLookup1"/></value>
- </entry>
- </map>
- </parameter>
+ <bean name="Node0" class="org.jboss.portal.test.framework.impl.generic.server.GenericNode">
+ <constructor factoryMethod="getNode">
+ <factory bean="NodeFactory" />
+ <parameter>default</parameter>
</constructor>
</bean>
- <bean name="Node2" class="org.jboss.portal.test.framework.server.Node">
- <constructor>
- <parameter><value>ports-02</value></parameter>
- <parameter>
- <map keyClass="java.lang.String" valueClass="org.jboss.portal.test.framework.impl.jboss.server.JBossServiceLookup">
- <entry>
- <key>TestDriverServer</key>
- <value><inject bean="TestDriverServerLookup2"/></value>
- </entry>
- <entry>
- <key>TestAgent</key>
- <value><inject bean="TestAgentLookup2"/></value>
- </entry>
- </map>
- </parameter>
- </constructor>
+ <bean name="TestDriverClient" class="org.jboss.portal.test.framework.driver.remote.RemoteTestDriverClient">
</bean>
--->
- <bean name="TestDriverClient" class="org.jboss.portal.test.framework.driver.http.HTTPTestDriverClient">
- <constructor>
- </constructor>
- </bean>
-
<bean name="NodeManager" class="org.jboss.portal.test.framework.server.NodeManager">
<constructor>
<parameter>
Modified: modules/test/trunk/test/src/resources/jboss/portal-test-jar/org/jboss/portal/test/framework/container/http-runner-beans.xml
===================================================================
--- modules/test/trunk/test/src/resources/jboss/portal-test-jar/org/jboss/portal/test/framework/container/http-runner-beans.xml 2007-09-10 12:13:33 UTC (rev 8206)
+++ modules/test/trunk/test/src/resources/jboss/portal-test-jar/org/jboss/portal/test/framework/container/http-runner-beans.xml 2007-09-10 23:03:20 UTC (rev 8207)
@@ -50,7 +50,7 @@
<constructor>
<parameter><inject bean="MBeanServerFactory0" property="server"/></parameter>
<parameter><value>portal.test:service=TestDriverServer</value></parameter>
- <parameter><value>org.jboss.portal.test.framework.driver.http.HTTPTestDriver</value></parameter>
+ <parameter><value>org.jboss.portal.test.framework.driver.remote.RemoteTestDriver</value></parameter>
</constructor>
</bean>
@@ -85,7 +85,7 @@
<constructor>
<parameter><inject bean="MBeanServerFactory0" property="server"/></parameter>
<parameter><value>portal.test:service=TestDriverServer</value></parameter>
- <parameter><value>org.jboss.portal.test.framework.driver.http.HTTPTestDriver</value></parameter>
+ <parameter><value>org.jboss.portal.test.framework.driver.remote.RemoteTestDriver</value></parameter>
</constructor>
</bean>
@@ -120,7 +120,7 @@
<constructor>
<parameter><inject bean="MBeanServerFactory0" property="server"/></parameter>
<parameter><value>portal.test:service=TestDriverServer</value></parameter>
- <parameter><value>org.jboss.portal.test.framework.driver.http.HTTPTestDriver</value></parameter>
+ <parameter><value>org.jboss.portal.test.framework.driver.remote.RemoteTestDriver</value></parameter>
</constructor>
</bean>
@@ -186,9 +186,7 @@
</constructor>
</bean>
- <bean name="TestDriverClient" class="org.jboss.portal.test.framework.driver.http.HTTPTestDriverClient">
- <constructor>
- </constructor>
+ <bean name="TestDriverClient" class="org.jboss.portal.test.framework.driver.remote.RemoteTestDriverClient">
</bean>
<bean name="NodeManager" class="org.jboss.portal.test.framework.server.NodeManager">
18 years, 7 months
JBoss Portal SVN: r8206 - modules/identity/trunk/identity/src/main/org/jboss/portal/identity/db.
by portal-commits@lists.jboss.org
Author: thomas.heute(a)jboss.com
Date: 2007-09-10 08:13:33 -0400 (Mon, 10 Sep 2007)
New Revision: 8206
Modified:
modules/identity/trunk/identity/src/main/org/jboss/portal/identity/db/ProfileMapImpl.java
Log:
Check if an "accessor" is nullable before removing it. (it was complaining even though the field was marked as nullable)
Modified: modules/identity/trunk/identity/src/main/org/jboss/portal/identity/db/ProfileMapImpl.java
===================================================================
--- modules/identity/trunk/identity/src/main/org/jboss/portal/identity/db/ProfileMapImpl.java 2007-09-10 11:27:54 UTC (rev 8205)
+++ modules/identity/trunk/identity/src/main/org/jboss/portal/identity/db/ProfileMapImpl.java 2007-09-10 12:13:33 UTC (rev 8206)
@@ -201,7 +201,7 @@
throw new ClassCastException("Key is not a String");
}
HibernateUserImpl.PropertyAccessor accessor = (HibernateUserImpl.PropertyAccessor)HibernateUserImpl.ACCESSORS.get(key);
- if (accessor != null)
+ if (accessor != null && !accessor.isNullable())
{
throw new IllegalArgumentException("Key " + key + " is not removable");
}
18 years, 7 months
JBoss Portal SVN: r8205 - in branches/JBoss_Portal_Branch_2_6/core-identity/src: main/org/jboss/portal/core/identity/services/metadata and 19 other directories.
by portal-commits@lists.jboss.org
Author: emuckenhuber
Date: 2007-09-10 07:27:54 -0400 (Mon, 10 Sep 2007)
New Revision: 8205
Added:
branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-sar/conf/processes/custom.xml
branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/common/captcha.xhtml
branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/common/userInfo.xhtml
branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/profile/editProfileTemplate.xhtml
branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/profile/status.xhtml
branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/profile/viewProfileTemplate.xhtml
Modified:
branches/JBoss_Portal_Branch_2_6/core-identity/src/main/org/jboss/portal/core/identity/services/IdentityConstants.java
branches/JBoss_Portal_Branch_2_6/core-identity/src/main/org/jboss/portal/core/identity/services/metadata/IdentityUIConfigurationServiceImpl.java
branches/JBoss_Portal_Branch_2_6/core-identity/src/main/org/jboss/portal/core/identity/services/workflow/impl/RegistrationServiceImpl.java
branches/JBoss_Portal_Branch_2_6/core-identity/src/main/org/jboss/portal/core/identity/services/workflow/impl/SendValidationMailAction.java
branches/JBoss_Portal_Branch_2_6/core-identity/src/main/org/jboss/portal/core/identity/services/workflow/impl/ValidateEmailServiceImpl.java
branches/JBoss_Portal_Branch_2_6/core-identity/src/main/org/jboss/portal/core/identity/ui/actions/EditProfileAction.java
branches/JBoss_Portal_Branch_2_6/core-identity/src/main/org/jboss/portal/core/identity/ui/faces/PortletDelegatingPropertyResolver.java
branches/JBoss_Portal_Branch_2_6/core-identity/src/main/org/jboss/portal/core/identity/ui/faces/components/StaticValues.java
branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-sar/META-INF/jboss-service.xml
branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-sar/conf/identity-ui-configuration.xml
branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-sar/conf/processes/jbp_identity_validate_email.xml
branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-sar/conf/processes/jbp_identity_validation_approval_workflow.xml
branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-sar/conf/processes/jbp_identity_validation_workflow.xml
branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-sar/conf/schema/identity-ui-configuration.xsd
branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/faces-config.xml
branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/admin/register.xhtml
branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/admin/roles/roleTemplate.xhtml
branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/admin/user/createUser.xhtml
branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/admin/user/deleteUser.xhtml
branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/admin/user/pendingUsers.xhtml
branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/admin/user/registerConfirm.xhtml
branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/admin/user/searchUsers.xhtml
branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/admin/user/userTemplate.xhtml
branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/common/profile.xhtml
branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/common/register.xhtml
branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/lostPassword/lost.xhtml
branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/lostPassword/lostTemplate.xhtml
branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/profile/changeEmail.xhtml
branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/profile/changePassword.xhtml
branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/profile/editProfile.xhtml
branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/profile/viewProfile.xhtml
branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/register/confirm.xhtml
branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/register/overview.xhtml
branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/register/register.xhtml
branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/register/registerTemplate.xhtml
branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/startTemplate.xhtml
branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/validationStatus/jbp_status.xhtml
branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/portlet-instances.xml
branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/resource-bundles/Identity.properties
Log:
- UI enhancements
Modified: branches/JBoss_Portal_Branch_2_6/core-identity/src/main/org/jboss/portal/core/identity/services/IdentityConstants.java
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core-identity/src/main/org/jboss/portal/core/identity/services/IdentityConstants.java 2007-09-10 11:22:54 UTC (rev 8204)
+++ branches/JBoss_Portal_Branch_2_6/core-identity/src/main/org/jboss/portal/core/identity/services/IdentityConstants.java 2007-09-10 11:27:54 UTC (rev 8205)
@@ -65,7 +65,7 @@
public static final String VALIDATION_VALIDATED = "validated";
/** jBPM process variables */
- public static final String VALIDATION_PORTAL_URL = "portalURL";
+ public static final String PORTAL_URL = "portalURL";
public static final String VALIDATION_HASH = "validationHash";
public static final String VARIABLE_LOCALE = "locale";
public static final String VARIABLE_EMAIL = "email";
Modified: branches/JBoss_Portal_Branch_2_6/core-identity/src/main/org/jboss/portal/core/identity/services/metadata/IdentityUIConfigurationServiceImpl.java
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core-identity/src/main/org/jboss/portal/core/identity/services/metadata/IdentityUIConfigurationServiceImpl.java 2007-09-10 11:22:54 UTC (rev 8204)
+++ branches/JBoss_Portal_Branch_2_6/core-identity/src/main/org/jboss/portal/core/identity/services/metadata/IdentityUIConfigurationServiceImpl.java 2007-09-10 11:27:54 UTC (rev 8205)
@@ -263,8 +263,8 @@
}
catch (IdentityException e)
{
- log.error("cannot resolve property: " + uiComponent.getPropertyRef(), e);
uiComponent = null;
+ throw new RuntimeException("cannot resolve property: " + uiComponent.getPropertyRef(), e);
}
}
return uiComponent;
Modified: branches/JBoss_Portal_Branch_2_6/core-identity/src/main/org/jboss/portal/core/identity/services/workflow/impl/RegistrationServiceImpl.java
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core-identity/src/main/org/jboss/portal/core/identity/services/workflow/impl/RegistrationServiceImpl.java 2007-09-10 11:22:54 UTC (rev 8204)
+++ branches/JBoss_Portal_Branch_2_6/core-identity/src/main/org/jboss/portal/core/identity/services/workflow/impl/RegistrationServiceImpl.java 2007-09-10 11:27:54 UTC (rev 8205)
@@ -203,7 +203,7 @@
Token token = processInstance.getRootToken();
// Setting required attributes for the workflow
- processInstance.getContextInstance().setVariable(IdentityConstants.VALIDATION_PORTAL_URL, url);
+ processInstance.getContextInstance().setVariable(IdentityConstants.PORTAL_URL, url);
processInstance.getContextInstance().setVariable(IdentityConstants.VARIABLE_USER, user);
processInstance.getContextInstance().setVariable(IdentityConstants.VARIABLE_EMAIL,
user.getProfileMap().get(User.INFO_USER_EMAIL_REAL));
Modified: branches/JBoss_Portal_Branch_2_6/core-identity/src/main/org/jboss/portal/core/identity/services/workflow/impl/SendValidationMailAction.java
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core-identity/src/main/org/jboss/portal/core/identity/services/workflow/impl/SendValidationMailAction.java 2007-09-10 11:22:54 UTC (rev 8204)
+++ branches/JBoss_Portal_Branch_2_6/core-identity/src/main/org/jboss/portal/core/identity/services/workflow/impl/SendValidationMailAction.java 2007-09-10 11:27:54 UTC (rev 8205)
@@ -91,7 +91,7 @@
ectx.getContextInstance().setVariable(IdentityConstants.VALIDATION_HASH, hash);
// Building the validation URL
- String portalURL = (String) ectx.getContextInstance().getVariable(IdentityConstants.VALIDATION_PORTAL_URL);
+ String portalURL = (String) ectx.getContextInstance().getVariable(IdentityConstants.PORTAL_URL);
String activationLink = portalURL + "/" + IdentityConstants.VALIDATE_EMAIL + "/"
+ ectx.getProcessInstance().getId() + "/" + hash;
emailMap.put("activationLink", activationLink);
Modified: branches/JBoss_Portal_Branch_2_6/core-identity/src/main/org/jboss/portal/core/identity/services/workflow/impl/ValidateEmailServiceImpl.java
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core-identity/src/main/org/jboss/portal/core/identity/services/workflow/impl/ValidateEmailServiceImpl.java 2007-09-10 11:22:54 UTC (rev 8204)
+++ branches/JBoss_Portal_Branch_2_6/core-identity/src/main/org/jboss/portal/core/identity/services/workflow/impl/ValidateEmailServiceImpl.java 2007-09-10 11:27:54 UTC (rev 8205)
@@ -171,7 +171,7 @@
processInstance = jbpmContext.newProcessInstance(this.processName);
Token token = processInstance.getRootToken();
- processInstance.getContextInstance().setVariable(IdentityConstants.VALIDATION_PORTAL_URL, url);
+ processInstance.getContextInstance().setVariable(IdentityConstants.PORTAL_URL, url);
processInstance.getContextInstance().setVariable(IdentityConstants.VARIABLE_USER, new UserContainer(user));
processInstance.getContextInstance().setVariable(IdentityConstants.VARIABLE_EMAIL, email);
processInstance.getContextInstance().setVariable(IdentityConstants.VARIABLE_LOCALE, locale);
Modified: branches/JBoss_Portal_Branch_2_6/core-identity/src/main/org/jboss/portal/core/identity/ui/actions/EditProfileAction.java
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core-identity/src/main/org/jboss/portal/core/identity/ui/actions/EditProfileAction.java 2007-09-10 11:22:54 UTC (rev 8204)
+++ branches/JBoss_Portal_Branch_2_6/core-identity/src/main/org/jboss/portal/core/identity/ui/actions/EditProfileAction.java 2007-09-10 11:27:54 UTC (rev 8205)
@@ -24,14 +24,19 @@
import java.util.Locale;
import java.util.Map;
+import java.util.ResourceBundle;
import javax.faces.application.FacesMessage;
import javax.faces.context.ExternalContext;
import javax.faces.context.FacesContext;
+import javax.portlet.PortletMode;
+import javax.portlet.WindowState;
+import javax.portlet.WindowStateException;
import org.jboss.logging.Logger;
import org.jboss.portal.api.node.PortalNode;
import org.jboss.portal.api.node.PortalNodeURL;
+import org.jboss.portal.core.identity.services.IdentityConstants;
import org.jboss.portal.core.identity.services.workflow.ValidateEmailService;
import org.jboss.portal.core.identity.ui.IdentityUIUser;
import org.jboss.portal.core.identity.ui.common.IdentityUserBean;
@@ -40,6 +45,7 @@
import org.jboss.portal.server.ServerInvocationContext;
import org.jboss.portlet.JBossActionRequest;
import org.jboss.portlet.JBossActionResponse;
+import org.jboss.portlet.JBossRenderResponse;
/**
* @author <a href="mailto:emuckenh@redhat.com">Emanuel Muckenhuber</a>
@@ -55,6 +61,9 @@
/** . */
private String email;
+
+ /** . */
+ private WindowState windowState;
/** . */
private IdentityUIUser uiUser;
@@ -139,8 +148,46 @@
{
this.validateEmailService = validateEmailService;
}
+
+ public String viewStart()
+ {
+ FacesContext ctx = FacesContext.getCurrentInstance();
+ ExternalContext ectx = ctx.getExternalContext();
+ JBossActionResponse response = (JBossActionResponse) ectx.getResponse();
+ try
+ {
+ if (windowState == null)
+ response.setWindowState(WindowState.NORMAL);
+ else
+ response.setWindowState(windowState);
+ }
+ catch (WindowStateException e)
+ {
+ log.error("",e);
+ }
+ return "start";
+ }
+
+ public String userEditProfile()
+ {
+ FacesContext ctx = FacesContext.getCurrentInstance();
+ ExternalContext ectx = ctx.getExternalContext();
+ JBossActionRequest request = (JBossActionRequest) ectx.getRequest();
+ this.windowState = request.getWindowState();
+ JBossActionResponse response = (JBossActionResponse) ectx.getResponse();
+ this.uiUser = new IdentityUIUser(ectx.getRemoteUser());
+ try
+ {
+ response.setWindowState(WindowState.MAXIMIZED);
+ }
+ catch (WindowStateException e)
+ {
+ log.error("",e);
+ }
+ return "editProfile";
+ }
- public String editProfile()
+ public String adminEditProfile()
{
FacesContext ctx = FacesContext.getCurrentInstance();
ExternalContext ectx = ctx.getExternalContext();
@@ -164,33 +211,42 @@
}
catch (RuntimeException e)
{
- e.printStackTrace();
- FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("RuntimeException"));
+ ResourceBundle bundle = ResourceBundle.getBundle("Identity", FacesContext.getCurrentInstance().getViewRoot().getLocale());
+ FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(bundle.getString("IDENTITY_EDIT_PROFILE_ERROR")));
+ log.error("",e);
}
catch (IdentityException e)
{
- e.printStackTrace();
- FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("IdentityExeption"));
+ ResourceBundle bundle = ResourceBundle.getBundle("Identity", FacesContext.getCurrentInstance().getViewRoot().getLocale());
+ FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(bundle.getString("IDENTITY_EDIT_PROFILE_ERROR")));
+ log.error("",e);
}
return "editProfile";
}
public String changePassword()
{
+ FacesContext ctx = FacesContext.getCurrentInstance();
+ ResourceBundle bundle = ResourceBundle.getBundle("Identity", ctx.getViewRoot().getLocale());
if (this.password != null)
{
try
{
// Update password
this.identityUserBean.updatePassword(this.currentUser, this.password);
+ ctx.addMessage(null, new FacesMessage(bundle.getString("IDENTITY_EDIT_CHANGE_PASSWOR_STATUS")));
}
catch (Exception e)
{
log.error("error while updating password", e);
- FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Error"));
+ ctx.addMessage(null, new FacesMessage(bundle.getString("IDENTITY_EDIT_CHANGE_PASSWORD_ERROR")));
}
}
- return "start";
+ else
+ {
+ ctx.addMessage(null, new FacesMessage(bundle.getString("IDENTITY_EDIT_CHANGE_PASSWORD_ERROR")));
+ }
+ return "status";
}
public String adminChangePassword()
@@ -205,6 +261,8 @@
public String changeEmail()
{
+ FacesContext ctx = FacesContext.getCurrentInstance();
+ ResourceBundle bundle = ResourceBundle.getBundle("Identity", ctx.getViewRoot().getLocale());
if (this.email != null)
{
try
@@ -215,15 +273,22 @@
Locale locale = FacesContext.getCurrentInstance().getViewRoot().getLocale();
String portalURL = this.getPortalURL();
String validationStatus = this.validateEmailService.changeEmail(portalURL, user, email, locale);
- log.debug(validationStatus);
+ if (IdentityConstants.REGISTRATION_PENDING.equals(validationStatus))
+ {
+ ctx.addMessage(null, new FacesMessage(bundle.getString("IDENTITY_EDIT_CHANGE_EMAIL_STATUS_PENDING")));
+ }
+ else
+ {
+ ctx.addMessage(null, new FacesMessage(bundle.getString("IDENTITY_EDIT_CHANGE_EMAIL_STATUS_CHANGED")));
+ }
}
catch (Exception e)
{
log.error("error while changing email", e);
- FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Error"));
+ ctx.addMessage(null, new FacesMessage(bundle.getString("IDENTITY_EDIT_CHANGE_EMAIL_ERROR")));
}
}
- return "start";
+ return "status";
}
private String getPortalURL()
Modified: branches/JBoss_Portal_Branch_2_6/core-identity/src/main/org/jboss/portal/core/identity/ui/faces/PortletDelegatingPropertyResolver.java
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core-identity/src/main/org/jboss/portal/core/identity/ui/faces/PortletDelegatingPropertyResolver.java 2007-09-10 11:22:54 UTC (rev 8204)
+++ branches/JBoss_Portal_Branch_2_6/core-identity/src/main/org/jboss/portal/core/identity/ui/faces/PortletDelegatingPropertyResolver.java 2007-09-10 11:27:54 UTC (rev 8205)
@@ -25,7 +25,6 @@
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.HashMap;
-import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -49,6 +48,7 @@
import org.jboss.portal.faces.el.dynamic.DynamicBean;
/**
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
* @author <a href="mailto:emuckenh@redhat.com">Emanuel Muckenhuber</a>
* @version $Revision$
*/
@@ -146,29 +146,32 @@
{
if ( base instanceof UIComponentConfiguration && ((String)property).equals("values"))
{
+ List list = new ArrayList();
FacesContext ctx = FacesContext.getCurrentInstance();
UIComponentConfiguration uiComponent = (UIComponentConfiguration) base;
+ // if not required add a empty SelectItem
+ if(! uiComponent.isRequired())
+ list.add(new SelectItem(""));
+
if (IdentityConstants.COMPONENT_VALUE_LOCALE.equals(uiComponent.getPredefinedMapValues()))
{
- return StaticValues.getLocale(ctx);
+ list.addAll(StaticValues.getLocale(ctx));
+ return list;
}
else if (IdentityConstants.COMPONENT_VALUE_THEME.equals(uiComponent.getPredefinedMapValues()))
{
- return StaticValues.getTheme(ctx);
+ list.addAll(StaticValues.getTheme(ctx));
+ return list;
}
else if (IdentityConstants.COMPONENT_VALUE_TIMEZONE.equals(uiComponent.getPredefinedMapValues()))
{
- return StaticValues.getTimezone();
+ list.addAll(StaticValues.getTimezone());
+ return list;
}
else {
// building dynamic value list
- List list = new ArrayList();
Iterator i = uiComponent.getValues().keySet().iterator();
- // if not required add a empty SelectItem
- if(! uiComponent.isRequired())
- list.add(new SelectItem(""));
-
while(i.hasNext())
{
String key = (String) i.next();
@@ -216,11 +219,6 @@
{
try
{
- String test = null;
- if ( base instanceof HashSet)
- {
- test = "ok";
- }
Field f = base.getClass().getField((String)property);
if (Modifier.isReadableProperty(f))
{
Modified: branches/JBoss_Portal_Branch_2_6/core-identity/src/main/org/jboss/portal/core/identity/ui/faces/components/StaticValues.java
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core-identity/src/main/org/jboss/portal/core/identity/ui/faces/components/StaticValues.java 2007-09-10 11:22:54 UTC (rev 8204)
+++ branches/JBoss_Portal_Branch_2_6/core-identity/src/main/org/jboss/portal/core/identity/ui/faces/components/StaticValues.java 2007-09-10 11:27:54 UTC (rev 8205)
@@ -53,7 +53,6 @@
public static List getTimezone()
{
List list = new ArrayList();
- list.add(new SelectItem(""));
for (int i = 0; i < UserPortletConstants.TIME_ZONE_OFFSETS.length; i++)
{
if (UserPortletConstants.TIME_ZONE_OFFSETS[i] != null)
@@ -73,7 +72,6 @@
public static List getTheme(FacesContext ctx)
{
List list = new ArrayList();
- list.add(new SelectItem(""));
PortletContext pctx = (PortletContext) ctx.getExternalContext().getContext();
ThemeService themeService = (ThemeService) pctx.getAttribute("ThemeService");
for (Iterator i = themeService.getThemes().iterator(); i.hasNext();)
@@ -94,7 +92,6 @@
public static List getLocale(FacesContext ctx)
{
List list = new ArrayList();
- list.add(new SelectItem(""));
Locale currentLocale = ctx.getViewRoot().getLocale();
ArrayList locales = new ArrayList(LocaleManager.getLocales());
Collections.sort(locales, new LocaleComparator());
Modified: branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-sar/META-INF/jboss-service.xml
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-sar/META-INF/jboss-service.xml 2007-09-10 11:22:54 UTC (rev 8204)
+++ branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-sar/META-INF/jboss-service.xml 2007-09-10 11:27:54 UTC (rev 8205)
@@ -23,7 +23,6 @@
<server>
- <!-- CommandFactory -->
<mbean
code="org.jboss.portal.core.identity.services.impl.IdentityCommandFactoryService"
name="portal:commandFactory=IdentityUI"
@@ -59,9 +58,11 @@
<depends optional-attribute-name="IdentityServiceController" proxy-type="attribute">
portal:service=Module,type=IdentityServiceController
</depends>
+ <!-- comment if no workflow is required -->
<depends optional-attribute-name="WorkflowService" proxy-type="attribute">
portal:service=Workflow,type=WorkflowService
</depends>
+ <!-- -->
<attribute name="JNDIName">java:portal/IdentityUIConfigurationService</attribute>
</mbean>
@@ -96,15 +97,17 @@
xmbean-dd=""
xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
<xmbean/>
- <depends optional-attribute-name="WorkflowService" proxy-type="attribute">
- portal:service=Workflow,type=WorkflowService
- </depends>
<depends optional-attribute-name="IdentityUIConfigurationService" proxy-type="attribute">
portal:service=IdentityUIConfigurationService,type=IdentityUI
</depends>
<depends optional-attribute-name="IdentityUserManagementService" proxy-type="attribute">
portal:service=IdentityUserManagementService,type=IdentityUI
</depends>
+ <!-- comment if no workflow is required -->
+ <depends optional-attribute-name="WorkflowService" proxy-type="attribute">
+ portal:service=Workflow,type=WorkflowService
+ </depends>
+ <!-- -->
<attribute name="JNDIName">java:portal/RegistrationService</attribute>
</mbean>
@@ -114,15 +117,17 @@
xmbean-dd=""
xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
<xmbean/>
- <depends optional-attribute-name="WorkflowService" proxy-type="attribute">
- portal:service=Workflow,type=WorkflowService
- </depends>
<depends optional-attribute-name="IdentityUIConfigurationService" proxy-type="attribute">
portal:service=IdentityUIConfigurationService,type=IdentityUI
</depends>
<depends optional-attribute-name="IdentityUserManagementService" proxy-type="attribute">
portal:service=IdentityUserManagementService,type=IdentityUI
</depends>
+ <!-- comment if no workflow is required -->
+ <depends optional-attribute-name="WorkflowService" proxy-type="attribute">
+ portal:service=Workflow,type=WorkflowService
+ </depends>
+ <!-- -->
<attribute name="JNDIName">java:portal/ValidateEmailService</attribute>
</mbean>
Modified: branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-sar/conf/identity-ui-configuration.xml
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-sar/conf/identity-ui-configuration.xml 2007-09-10 11:22:54 UTC (rev 8204)
+++ branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-sar/conf/identity-ui-configuration.xml 2007-09-10 11:27:54 UTC (rev 8205)
@@ -27,75 +27,62 @@
<subscription-mode>jbp_identity_validation_approval_workflow</subscription-mode>
<overwrite-workflow>false</overwrite-workflow>
<email-domain>jboss.org</email-domain>
- <email-from>no-reply(a)jboss.com</email-from>
+ <email-from>do-no-reply(a)jboss.com</email-from>
<password-generation-characters>0123456789aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWyYzZ*#!+-/"</password-generation-characters>
<default-roles>
<role>User</role>
- <role>Admin</role>
</default-roles>
<!-- user interface components -->
<ui-components>
- <ui-component name="nickname">
- <property-ref>user.name.nickName</property-ref>
- <required>true</required>
-
- </ui-component>
<ui-component name="givenname">
<property-ref>user.name.given</property-ref>
- <required>true</required>
</ui-component>
<ui-component name="familyname">
<property-ref>user.name.family</property-ref>
- <required>true</required>
</ui-component>
<ui-component name="location">
<property-ref>portal.user.location</property-ref>
- <required>false</required>
</ui-component>
<ui-component name="occupation">
<property-ref>portal.user.occupation</property-ref>
- <required>false</required>
</ui-component>
<ui-component name="extra">
<property-ref>portal.user.extra</property-ref>
- <required>false</required>
</ui-component>
<ui-component name="signature">
<property-ref>portal.user.signature</property-ref>
- <required>false</required>
</ui-component>
<ui-component name="interests">
<property-ref>portal.user.interests</property-ref>
</ui-component>
<ui-component name="icq">
<property-ref>portal.user.im.icq</property-ref>
- <required>false</required>
</ui-component>
<ui-component name="aim">
<property-ref>portal.user.im.aim</property-ref>
- <required>false</required>
</ui-component>
<ui-component name="msnm">
<property-ref>portal.user.im.msnm</property-ref>
- <required>false</required>
</ui-component>
<ui-component name="yim">
<property-ref>portal.user.im.yim</property-ref>
- <required>false</required>
</ui-component>
<ui-component name="skype">
<property-ref>portal.user.im.skype</property-ref>
- <required>false</required>
</ui-component>
<ui-component name="xmmp">
<property-ref>portal.user.im.xmmp</property-ref>
- <required>false</required>
</ui-component>
<ui-component name="homepage">
<property-ref>portal.user.homepage</property-ref>
- <required>false</required>
</ui-component>
+ <ui-component name="securityquestion">
+ <property-ref>portal.user.security.question</property-ref>
+ </ui-component>
+ <ui-component name="securityanswer">
+ <property-ref>portal.user.security.answer</property-ref>
+ </ui-component>
<ui-component name="timezone">
<property-ref>portal.user.time-zone-offset</property-ref>
<values>
@@ -108,15 +95,12 @@
<value key="org.jboss.portal.core.identity.theme" />
</values>
</ui-component>
- <ui-component name="securityquestion">
- <property-ref>portal.user.security.question</property-ref>
- <required>false</required>
- </ui-component>
- <ui-component name="securityanswer">
- <property-ref>portal.user.security.answer</property-ref>
- <required>false</required>
- </ui-component>
-
+ <ui-component name="locale">
+ <property-ref>portal.user.locale</property-ref>
+ <values>
+ <value key="org.jboss.portal.core.identity.locale" />
+ </values>
+ </ui-component>
<ui-component name="email">
<property-ref>user.business-info.online.email</property-ref>
<validators>
@@ -124,23 +108,18 @@
</validators>
<required>true</required>
</ui-component>
- <ui-component name="locale">
- <property-ref>portal.user.locale</property-ref>
- <values>
- <value key="org.jboss.portal.core.identity.locale" />
- </values>
- </ui-component>
<ui-component name="registrationdate">
<property-ref>portal.user.registration-date</property-ref>
- <required>true</required>
</ui-component>
<ui-component name="enabled">
<property-ref>portal.user.enabled</property-ref>
- <required>true</required>
</ui-component>
<ui-component name="lastlogin">
<property-ref>portal.user.last-login-date</property-ref>
- <required>false</required>
</ui-component>
+ <ui-component name="nickname">
+ <property-ref>user.name.nickName</property-ref>
+ <required>true</required>
+ </ui-component>
</ui-components>
</identity-ui-configuration>
\ No newline at end of file
Copied: branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-sar/conf/processes/custom.xml (from rev 8204, trunk/core-identity/src/resources/portal-identity-sar/conf/processes/custom.xml)
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-sar/conf/processes/custom.xml (rev 0)
+++ branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-sar/conf/processes/custom.xml 2007-09-10 11:27:54 UTC (rev 8205)
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!DOCTYPE process-definition PUBLIC
+ "-//jBpm/jBpm Mapping DTD 2.0//EN"
+ "http://jbpm.org/dtd/processdefinition-2.0.dtd">
+
+<process-definition name="custom">
+ <start-state>
+ <transition to="end">
+ <action class="org.jboss.portal.core.identity.services.workflow.impl.CreateUserAction"/>
+ </transition>
+ </start-state>
+
+ <end-state name="end"/>
+</process-definition>
\ No newline at end of file
Modified: branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-sar/conf/processes/jbp_identity_validate_email.xml
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-sar/conf/processes/jbp_identity_validate_email.xml 2007-09-10 11:22:54 UTC (rev 8204)
+++ branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-sar/conf/processes/jbp_identity_validate_email.xml 2007-09-10 11:27:54 UTC (rev 8205)
@@ -1,4 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ ~ 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. ~
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->
+
<!DOCTYPE process-definition PUBLIC
"-//jBpm/jBpm Mapping DTD 2.0//EN"
"http://jbpm.org/dtd/processdefinition-2.0.dtd">
@@ -14,7 +37,7 @@
<transition name="validated" to="end">
<action class="org.jboss.portal.core.identity.services.workflow.impl.UpdateEmailAction"/>
</transition>
- <transition name="timedOut" to="expired"/>
+ <transition name="timedOut" to="end"/>
</state>
<end-state name="end"/>
</process-definition>
\ No newline at end of file
Modified: branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-sar/conf/processes/jbp_identity_validation_approval_workflow.xml
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-sar/conf/processes/jbp_identity_validation_approval_workflow.xml 2007-09-10 11:22:54 UTC (rev 8204)
+++ branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-sar/conf/processes/jbp_identity_validation_approval_workflow.xml 2007-09-10 11:27:54 UTC (rev 8205)
@@ -1,4 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ ~ 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. ~
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->
+
<!DOCTYPE process-definition PUBLIC
"-//jBpm/jBpm Mapping DTD 2.0//EN"
"http://jbpm.org/dtd/processdefinition-2.0.dtd">
Modified: branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-sar/conf/processes/jbp_identity_validation_workflow.xml
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-sar/conf/processes/jbp_identity_validation_workflow.xml 2007-09-10 11:22:54 UTC (rev 8204)
+++ branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-sar/conf/processes/jbp_identity_validation_workflow.xml 2007-09-10 11:27:54 UTC (rev 8205)
@@ -1,4 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ ~ 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. ~
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->
+
<!DOCTYPE process-definition PUBLIC
"-//jBpm/jBpm Mapping DTD 2.0//EN"
"http://jbpm.org/dtd/processdefinition-2.0.dtd">
Modified: branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-sar/conf/schema/identity-ui-configuration.xsd
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-sar/conf/schema/identity-ui-configuration.xsd 2007-09-10 11:22:54 UTC (rev 8204)
+++ branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-sar/conf/schema/identity-ui-configuration.xsd 2007-09-10 11:27:54 UTC (rev 8205)
@@ -21,7 +21,7 @@
~ Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA ~
~ 02110-1301 USA, or see the FSF site: http://www.fsf.org. ~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->
-
+
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:jbxb="http://www.jboss.org/xml/ns/jbxb"
elementFormDefault="qualified">
Modified: branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/faces-config.xml
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/faces-config.xml 2007-09-10 11:22:54 UTC (rev 8204)
+++ branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/faces-config.xml 2007-09-10 11:27:54 UTC (rev 8205)
@@ -28,381 +28,395 @@
<faces-config>
<application>
- <variable-resolver>org.jboss.portal.core.identity.ui.faces.PortletVariableResolver</variable-resolver>
+ <variable-resolver>org.jboss.portal.core.identity.ui.faces.PortletVariableResolver</variable-resolver>
<property-resolver>org.jboss.portal.core.identity.ui.faces.PortletDelegatingPropertyResolver</property-resolver>
<view-handler>com.sun.facelets.FaceletPortletViewHandler</view-handler>
</application>
- <managed-bean>
- <managed-bean-name>metadataservice</managed-bean-name>
- <managed-bean-class>org.jboss.portal.core.identity.ui.common.MetaDataServiceBean</managed-bean-class>
- <managed-bean-scope>application</managed-bean-scope>
- </managed-bean>
- <managed-bean>
- <managed-bean-name>identityrolemgr</managed-bean-name>
- <managed-bean-class>org.jboss.portal.core.identity.ui.common.IdentityRoleBean</managed-bean-class>
- <managed-bean-scope>application</managed-bean-scope>
- <managed-property>
- <property-name>roleModule</property-name>
- <value>#{applicationScope.RoleModule}</value>
- </managed-property>
- <managed-property>
- <property-name>membershipModule</property-name>
- <value>#{applicationScope.MembershipModule}</value>
- </managed-property>
- </managed-bean>
- <managed-bean>
- <managed-bean-name>identityusermgr</managed-bean-name>
- <managed-bean-class>org.jboss.portal.core.identity.ui.common.IdentityUserBean</managed-bean-class>
- <managed-bean-scope>application</managed-bean-scope>
- <managed-property>
- <property-name>userModule</property-name>
- <value>#{applicationScope.UserModule}</value>
- </managed-property>
- <managed-property>
- <property-name>userProfileModule</property-name>
- <value>#{applicationScope.UserProfileModule}</value>
- </managed-property>
- <managed-property>
- <property-name>metaDataService</property-name>
- <value>#{metadataservice}</value>
- </managed-property>
- </managed-bean>
+ <managed-bean>
+ <managed-bean-name>metadataservice</managed-bean-name>
+ <managed-bean-class>org.jboss.portal.core.identity.ui.common.MetaDataServiceBean</managed-bean-class>
+ <managed-bean-scope>application</managed-bean-scope>
+ </managed-bean>
+ <managed-bean>
+ <managed-bean-name>identityrolemgr</managed-bean-name>
+ <managed-bean-class>org.jboss.portal.core.identity.ui.common.IdentityRoleBean</managed-bean-class>
+ <managed-bean-scope>application</managed-bean-scope>
+ <managed-property>
+ <property-name>roleModule</property-name>
+ <value>#{applicationScope.RoleModule}</value>
+ </managed-property>
+ <managed-property>
+ <property-name>membershipModule</property-name>
+ <value>#{applicationScope.MembershipModule}</value>
+ </managed-property>
+ </managed-bean>
+ <managed-bean>
+ <managed-bean-name>identityusermgr</managed-bean-name>
+ <managed-bean-class>org.jboss.portal.core.identity.ui.common.IdentityUserBean</managed-bean-class>
+ <managed-bean-scope>application</managed-bean-scope>
+ <managed-property>
+ <property-name>userModule</property-name>
+ <value>#{applicationScope.UserModule}</value>
+ </managed-property>
+ <managed-property>
+ <property-name>userProfileModule</property-name>
+ <value>#{applicationScope.UserProfileModule}</value>
+ </managed-property>
+ <managed-property>
+ <property-name>metaDataService</property-name>
+ <value>#{metadataservice}</value>
+ </managed-property>
+ </managed-bean>
- <managed-bean>
- <managed-bean-name>editprofilemgr</managed-bean-name>
- <managed-bean-class>org.jboss.portal.core.identity.ui.actions.EditProfileAction</managed-bean-class>
- <managed-bean-scope>session</managed-bean-scope>
- <managed-property>
- <property-name>identityUserBean</property-name>
- <value>#{identityusermgr}</value>
- </managed-property>
- <managed-property>
- <property-name>validateEmailService</property-name>
- <value>#{applicationScope.ValidateEmailService}</value>
- </managed-property>
- </managed-bean>
- <managed-bean>
- <managed-bean-name>userregistermgr</managed-bean-name>
- <managed-bean-class>org.jboss.portal.core.identity.ui.actions.CreateUserAction</managed-bean-class>
- <managed-bean-scope>session</managed-bean-scope>
- <managed-property>
- <property-name>identityUserBean</property-name>
- <value>#{identityusermgr}</value>
- </managed-property>
- <managed-property>
- <property-name>defaultRoles</property-name>
- <value>#{applicationScope.IdentityUIConfigurationService.configuration.defaultRoles}</value>
- </managed-property>
- <managed-property>
- <property-name>registrationService</property-name>
- <value>#{applicationScope.RegistrationService}</value>
- </managed-property>
- </managed-bean>
- <managed-bean>
- <managed-bean-name>assignrolemgr</managed-bean-name>
- <managed-bean-class>org.jboss.portal.core.identity.ui.actions.AssignRoleAction</managed-bean-class>
- <managed-bean-scope>session</managed-bean-scope>
- <managed-property>
- <property-name>identityUserBean</property-name>
- <value>#{identityusermgr}</value>
- </managed-property>
- <managed-property>
- <property-name>identityRoleBean</property-name>
- <value>#{identityrolemgr}</value>
- </managed-property>
- </managed-bean>
- <managed-bean>
- <managed-bean-name>useradministrationbean</managed-bean-name>
- <managed-bean-class>org.jboss.portal.core.identity.ui.admin.UserAdministrationBean</managed-bean-class>
- <managed-bean-scope>session</managed-bean-scope>
- <managed-property>
- <property-name>identityUserBean</property-name>
- <value>#{identityusermgr}</value>
- </managed-property>
- <managed-property>
- <property-name>identityRoleBean</property-name>
- <value>#{identityrolemgr}</value>
- </managed-property>
- <managed-property>
- <property-name>registrationService</property-name>
- <value>#{applicationScope.RegistrationService}</value>
- </managed-property>
- </managed-bean>
- <managed-bean>
- <managed-bean-name>rolemanagementbean</managed-bean-name>
- <managed-bean-class>org.jboss.portal.core.identity.ui.admin.RoleManagementBean</managed-bean-class>
- <managed-bean-scope>session</managed-bean-scope>
- <managed-property>
- <property-name>identityRoleBean</property-name>
- <value>#{identityrolemgr}</value>
- </managed-property>
- </managed-bean>
- <managed-bean>
- <managed-bean-name>editrolemgr</managed-bean-name>
- <managed-bean-class>org.jboss.portal.core.identity.ui.actions.EditRoleAction</managed-bean-class>
- <managed-bean-scope>session</managed-bean-scope>
- <managed-property>
- <property-name>identityRoleBean</property-name>
- <value>#{identityrolemgr}</value>
- </managed-property>
- </managed-bean>
- <managed-bean>
- <managed-bean-name>lostpasswordmgr</managed-bean-name>
- <managed-bean-class>org.jboss.portal.core.identity.ui.actions.LostPasswordAction</managed-bean-class>
- <managed-bean-scope>request</managed-bean-scope>
- <managed-property>
- <property-name>passwordCharacters</property-name>
- <value>#{applicationScope.IdentityUIConfigurationService.configuration.passwordGenerationCharacters}</value>
- </managed-property>
- <managed-property>
- <property-name>identityUserBean</property-name>
- <value>#{identityusermgr}</value>
- </managed-property>
- <managed-property>
- <property-name>identityMailService</property-name>
- <value>#{applicationScope.IdentityMailService}</value>
- </managed-property>
- </managed-bean>
- <managed-bean>
- <managed-bean-name>createrolemgr</managed-bean-name>
- <managed-bean-class>org.jboss.portal.core.identity.ui.actions.CreateRoleAction</managed-bean-class>
- <managed-bean-scope>request</managed-bean-scope>
- <managed-property>
- <property-name>identityRoleBean</property-name>
- <value>#{identityrolemgr}</value>
- </managed-property>
- </managed-bean>
+ <managed-bean>
+ <managed-bean-name>editprofilemgr</managed-bean-name>
+ <managed-bean-class>org.jboss.portal.core.identity.ui.actions.EditProfileAction</managed-bean-class>
+ <managed-bean-scope>session</managed-bean-scope>
+ <managed-property>
+ <property-name>identityUserBean</property-name>
+ <value>#{identityusermgr}</value>
+ </managed-property>
+ <managed-property>
+ <property-name>validateEmailService</property-name>
+ <value>#{applicationScope.ValidateEmailService}</value>
+ </managed-property>
+ </managed-bean>
+ <managed-bean>
+ <managed-bean-name>userregistermgr</managed-bean-name>
+ <managed-bean-class>org.jboss.portal.core.identity.ui.actions.CreateUserAction</managed-bean-class>
+ <managed-bean-scope>session</managed-bean-scope>
+ <managed-property>
+ <property-name>identityUserBean</property-name>
+ <value>#{identityusermgr}</value>
+ </managed-property>
+ <managed-property>
+ <property-name>defaultRoles</property-name>
+ <value>#{applicationScope.IdentityUIConfigurationService.configuration.defaultRoles}</value>
+ </managed-property>
+ <managed-property>
+ <property-name>registrationService</property-name>
+ <value>#{applicationScope.RegistrationService}</value>
+ </managed-property>
+ </managed-bean>
+ <managed-bean>
+ <managed-bean-name>assignrolemgr</managed-bean-name>
+ <managed-bean-class>org.jboss.portal.core.identity.ui.actions.AssignRoleAction</managed-bean-class>
+ <managed-bean-scope>session</managed-bean-scope>
+ <managed-property>
+ <property-name>identityUserBean</property-name>
+ <value>#{identityusermgr}</value>
+ </managed-property>
+ <managed-property>
+ <property-name>identityRoleBean</property-name>
+ <value>#{identityrolemgr}</value>
+ </managed-property>
+ </managed-bean>
+ <managed-bean>
+ <managed-bean-name>useradministrationbean</managed-bean-name>
+ <managed-bean-class>org.jboss.portal.core.identity.ui.admin.UserAdministrationBean</managed-bean-class>
+ <managed-bean-scope>session</managed-bean-scope>
+ <managed-property>
+ <property-name>identityUserBean</property-name>
+ <value>#{identityusermgr}</value>
+ </managed-property>
+ <managed-property>
+ <property-name>identityRoleBean</property-name>
+ <value>#{identityrolemgr}</value>
+ </managed-property>
+ <managed-property>
+ <property-name>registrationService</property-name>
+ <value>#{applicationScope.RegistrationService}</value>
+ </managed-property>
+ </managed-bean>
+ <managed-bean>
+ <managed-bean-name>rolemanagementbean</managed-bean-name>
+ <managed-bean-class>org.jboss.portal.core.identity.ui.admin.RoleManagementBean</managed-bean-class>
+ <managed-bean-scope>session</managed-bean-scope>
+ <managed-property>
+ <property-name>identityRoleBean</property-name>
+ <value>#{identityrolemgr}</value>
+ </managed-property>
+ </managed-bean>
+ <managed-bean>
+ <managed-bean-name>editrolemgr</managed-bean-name>
+ <managed-bean-class>org.jboss.portal.core.identity.ui.actions.EditRoleAction</managed-bean-class>
+ <managed-bean-scope>session</managed-bean-scope>
+ <managed-property>
+ <property-name>identityRoleBean</property-name>
+ <value>#{identityrolemgr}</value>
+ </managed-property>
+ </managed-bean>
+ <managed-bean>
+ <managed-bean-name>lostpasswordmgr</managed-bean-name>
+ <managed-bean-class>org.jboss.portal.core.identity.ui.actions.LostPasswordAction</managed-bean-class>
+ <managed-bean-scope>request</managed-bean-scope>
+ <managed-property>
+ <property-name>passwordCharacters</property-name>
+ <value>#{applicationScope.IdentityUIConfigurationService.configuration.passwordGenerationCharacters}</value>
+ </managed-property>
+ <managed-property>
+ <property-name>identityUserBean</property-name>
+ <value>#{identityusermgr}</value>
+ </managed-property>
+ <managed-property>
+ <property-name>identityMailService</property-name>
+ <value>#{applicationScope.IdentityMailService}</value>
+ </managed-property>
+ </managed-bean>
+ <managed-bean>
+ <managed-bean-name>createrolemgr</managed-bean-name>
+ <managed-bean-class>org.jboss.portal.core.identity.ui.actions.CreateRoleAction</managed-bean-class>
+ <managed-bean-scope>request</managed-bean-scope>
+ <managed-property>
+ <property-name>identityRoleBean</property-name>
+ <value>#{identityrolemgr}</value>
+ </managed-property>
+ </managed-bean>
- <validator>
- <validator-id>EmailValidator</validator-id>
- <validator-class>org.jboss.portal.core.identity.ui.validators.EmailValidator</validator-class>
- </validator>
- <validator>
- <validator-id>UsernameValidator</validator-id>
- <validator-class>org.jboss.portal.core.identity.ui.validators.UsernameValidator</validator-class>
- </validator>
- <validator>
- <validator-id>PasswordValidator</validator-id>
- <validator-class>org.jboss.portal.core.identity.ui.validators.PasswordValidator</validator-class>
- </validator>
- <validator>
- <validator-id>CurrentPasswordValidator</validator-id>
- <validator-class>org.jboss.portal.core.identity.ui.validators.CurrentPasswordValidator</validator-class>
- </validator>
- <validator>
- <validator-id>CaptchaValidator</validator-id>
- <validator-class>org.jboss.portal.core.identity.ui.validators.CaptchaValidator</validator-class>
- </validator>
+ <validator>
+ <validator-id>EmailValidator</validator-id>
+ <validator-class>org.jboss.portal.core.identity.ui.validators.EmailValidator</validator-class>
+ </validator>
+ <validator>
+ <validator-id>UsernameValidator</validator-id>
+ <validator-class>org.jboss.portal.core.identity.ui.validators.UsernameValidator</validator-class>
+ </validator>
+ <validator>
+ <validator-id>PasswordValidator</validator-id>
+ <validator-class>org.jboss.portal.core.identity.ui.validators.PasswordValidator</validator-class>
+ </validator>
+ <validator>
+ <validator-id>CurrentPasswordValidator</validator-id>
+ <validator-class>org.jboss.portal.core.identity.ui.validators.CurrentPasswordValidator</validator-class>
+ </validator>
+ <validator>
+ <validator-id>CaptchaValidator</validator-id>
+ <validator-class>org.jboss.portal.core.identity.ui.validators.CaptchaValidator</validator-class>
+ </validator>
- <navigation-rule>
- <navigation-case>
- <from-outcome>start</from-outcome>
- <to-view-id>/WEB-INF/jsf/index.xhtml</to-view-id>
- </navigation-case>
- </navigation-rule>
- <navigation-rule>
- <navigation-case>
- <from-outcome>lostPassword</from-outcome>
- <to-view-id>/WEB-INF/jsf/lostPassword/lost.xhtml</to-view-id>
- </navigation-case>
- </navigation-rule>
- <navigation-rule>
- <from-view-id>/WEB-INF/jsf/lostPassword/lost.xhtml</from-view-id>
- <navigation-case>
- <from-outcome>status</from-outcome>
- <to-view-id>/WEB-INF/jsf/lostPassword/status.xhtml</to-view-id>
- </navigation-case>
- </navigation-rule>
- <navigation-rule>
- <navigation-case>
- <from-outcome>register</from-outcome>
- <to-view-id>/WEB-INF/jsf/register/register.xhtml</to-view-id>
- </navigation-case>
- </navigation-rule>
- <navigation-rule>
- <from-view-id>/WEB-INF/jsf/register/register.xhtml</from-view-id>
- <navigation-case>
- <from-outcome>register</from-outcome>
- <to-view-id>/WEB-INF/jsf/register/confirm.xhtml</to-view-id>
- </navigation-case>
- </navigation-rule>
- <navigation-rule>
- <from-view-id>/WEB-INF/jsf/register/confirm.xhtml</from-view-id>
- <navigation-case>
- <from-outcome>revise</from-outcome>
- <to-view-id>/WEB-INF/jsf/register/register.xhtml</to-view-id>
- </navigation-case>
- <navigation-case>
- <from-outcome>registered</from-outcome>
- <to-view-id>/WEB-INF/jsf/register/success.xhtml</to-view-id>
- </navigation-case>
- </navigation-rule>
- <navigation-rule>
- <navigation-case>
- <from-outcome>changePassword</from-outcome>
- <to-view-id>/WEB-INF/jsf/profile/changePassword.xhtml</to-view-id>
- </navigation-case>
- </navigation-rule>
- <navigation-rule>
- <navigation-case>
- <from-outcome>changeEmail</from-outcome>
- <to-view-id>/WEB-INF/jsf/profile/changeEmail.xhtml</to-view-id>
- </navigation-case>
- </navigation-rule>
-<navigation-rule>
- <from-view-id>/WEB-INF/jsf/index.xhtml</from-view-id>
- <navigation-case>
- <from-outcome>editProfile</from-outcome>
- <to-view-id>/WEB-INF/jsf/profile/editProfile.xhtml</to-view-id>
- </navigation-case>
- </navigation-rule>
- <navigation-rule>
- <from-view-id>/WEB-INF/jsf/profile/*</from-view-id>
- <navigation-case>
- <from-outcome>editProfile</from-outcome>
- <to-view-id>/WEB-INF/jsf/profile/editProfile.xhtml</to-view-id>
- </navigation-case>
- </navigation-rule>
+ <navigation-rule>
+ <navigation-case>
+ <from-outcome>start</from-outcome>
+ <to-view-id>/WEB-INF/jsf/index.xhtml</to-view-id>
+ </navigation-case>
+ </navigation-rule>
+ <navigation-rule>
+ <navigation-case>
+ <from-outcome>lostPassword</from-outcome>
+ <to-view-id>/WEB-INF/jsf/lostPassword/lost.xhtml</to-view-id>
+ </navigation-case>
+ </navigation-rule>
+ <navigation-rule>
+ <from-view-id>/WEB-INF/jsf/lostPassword/lost.xhtml</from-view-id>
+ <navigation-case>
+ <from-outcome>status</from-outcome>
+ <to-view-id>/WEB-INF/jsf/lostPassword/status.xhtml</to-view-id>
+ </navigation-case>
+ </navigation-rule>
+ <navigation-rule>
+ <navigation-case>
+ <from-outcome>register</from-outcome>
+ <to-view-id>/WEB-INF/jsf/register/register.xhtml</to-view-id>
+ </navigation-case>
+ </navigation-rule>
+ <navigation-rule>
+ <from-view-id>/WEB-INF/jsf/register/register.xhtml</from-view-id>
+ <navigation-case>
+ <from-outcome>register</from-outcome>
+ <to-view-id>/WEB-INF/jsf/register/confirm.xhtml</to-view-id>
+ </navigation-case>
+ </navigation-rule>
+ <navigation-rule>
+ <from-view-id>/WEB-INF/jsf/register/confirm.xhtml</from-view-id>
+ <navigation-case>
+ <from-outcome>revise</from-outcome>
+ <to-view-id>/WEB-INF/jsf/register/register.xhtml</to-view-id>
+ </navigation-case>
+ <navigation-case>
+ <from-outcome>registered</from-outcome>
+ <to-view-id>/WEB-INF/jsf/register/success.xhtml</to-view-id>
+ </navigation-case>
+ </navigation-rule>
+ <navigation-rule>
+ <navigation-case>
+ <from-outcome>changePassword</from-outcome>
+ <to-view-id>/WEB-INF/jsf/profile/changePassword.xhtml</to-view-id>
+ </navigation-case>
+ </navigation-rule>
+ <navigation-rule>
+ <from-view-id>/WEB-INF/jsf/profile/changePassword.xhtml</from-view-id>
+ <navigation-case>
+ <from-outcome>status</from-outcome>
+ <to-view-id>/WEB-INF/jsf/profile/status.xhtml</to-view-id>
+ </navigation-case>
+ </navigation-rule>
+ <navigation-rule>
+ <navigation-case>
+ <from-outcome>changeEmail</from-outcome>
+ <to-view-id>/WEB-INF/jsf/profile/changeEmail.xhtml</to-view-id>
+ </navigation-case>
+ </navigation-rule>
+ <navigation-rule>
+ <from-view-id>/WEB-INF/jsf/profile/changeEmail.xhtml</from-view-id>
+ <navigation-case>
+ <from-outcome>status</from-outcome>
+ <to-view-id>/WEB-INF/jsf/profile/status.xhtml</to-view-id>
+ </navigation-case>
+ </navigation-rule>
+ <navigation-rule>
+ <from-view-id>/WEB-INF/jsf/index.xhtml</from-view-id>
+ <navigation-case>
+ <from-outcome>editProfile</from-outcome>
+ <to-view-id>/WEB-INF/jsf/profile/editProfile.xhtml</to-view-id>
+ </navigation-case>
+ </navigation-rule>
+ <navigation-rule>
+ <from-view-id>/WEB-INF/jsf/profile/*</from-view-id>
+ <navigation-case>
+ <from-outcome>editProfile</from-outcome>
+ <to-view-id>/WEB-INF/jsf/profile/editProfile.xhtml</to-view-id>
+ </navigation-case>
+ </navigation-rule>
- <navigation-rule>
- <from-view-id>/WEB-INF/jsf/admin/*</from-view-id>
- <navigation-case>
- <from-outcome>userAdmin</from-outcome>
- <to-view-id>/WEB-INF/jsf/admin/index.xhtml</to-view-id>
- </navigation-case>
- <navigation-case>
- <from-outcome>start</from-outcome>
- <to-view-id>/WEB-INF/jsf/admin/index.xhtml</to-view-id>
- </navigation-case>
- </navigation-rule>
- <navigation-rule>
- <from-view-id>/WEB-INF/jsf/admin/*</from-view-id>
- <navigation-case>
- <from-outcome>roleAdmin</from-outcome>
- <to-view-id>/WEB-INF/jsf/admin/roles.xhtml</to-view-id>
- </navigation-case>
- </navigation-rule>
- <navigation-rule>
- <from-view-id>/WEB-INF/jsf/admin/index.xhtml</from-view-id>
- <navigation-case>
- <from-outcome>createUser</from-outcome>
- <to-view-id>/WEB-INF/jsf/admin/user/createUser.xhtml</to-view-id>
- </navigation-case>
- </navigation-rule>
- <navigation-rule>
- <from-view-id>/WEB-INF/jsf/admin/index.xhtml</from-view-id>
- <navigation-case>
- <from-outcome>searchUsers</from-outcome>
- <to-view-id>/WEB-INF/jsf/admin/user/searchUsers.xhtml</to-view-id>
- </navigation-case>
- </navigation-rule>
- <navigation-rule>
- <from-view-id>/WEB-INF/jsf/admin/index.xhtml</from-view-id>
- <navigation-case>
- <from-outcome>showPendingUsers</from-outcome>
- <to-view-id>/WEB-INF/jsf/admin/user/pendingUsers.xhtml</to-view-id>
- </navigation-case>
- </navigation-rule>
- <navigation-rule>
- <from-view-id>/WEB-INF/jsf/admin/user/searchUsers.xhtml</from-view-id>
- <navigation-case>
- <from-outcome>deleteUser</from-outcome>
- <to-view-id>/WEB-INF/jsf/admin/user/deleteUser.xhtml</to-view-id>
- </navigation-case>
- </navigation-rule>
- <navigation-rule>
- <from-view-id>/WEB-INF/jsf/admin/editProfile.xhtml</from-view-id>
- <navigation-case>
- <from-outcome>adminChangePassword</from-outcome>
- <to-view-id>/WEB-INF/jsf/admin/user/changePassword.xhtml</to-view-id>
- </navigation-case>
- </navigation-rule>
- <navigation-rule>
- <from-view-id>/WEB-INF/jsf/admin/*</from-view-id>
- <navigation-case>
- <from-action>#{editprofilemgr.editProfile}</from-action>
- <from-outcome>editProfile</from-outcome>
- <to-view-id>/WEB-INF/jsf/admin/editProfile.xhtml</to-view-id>
- </navigation-case>
- <navigation-case>
- <from-action>#{editprofilemgr.updateProfile}</from-action>
- <from-outcome>editProfile</from-outcome>
- <to-view-id>/WEB-INF/jsf/admin/user/searchUsers.xhtml</to-view-id>
- </navigation-case>
- </navigation-rule>
- <navigation-rule>
- <from-view-id>/WEB-INF/jsf/admin/*</from-view-id>
- <navigation-case>
- <from-action>#{assignrolemgr.assignRoles}</from-action>
- <from-outcome>assignRoles</from-outcome>
- <to-view-id>/WEB-INF/jsf/admin/assignRoles.xhtml</to-view-id>
- </navigation-case>
- </navigation-rule>
- <navigation-rule>
- <from-view-id>/WEB-INF/jsf/admin/user/createUser.xhtml</from-view-id>
- <navigation-case>
- <from-outcome>register</from-outcome>
- <to-view-id>/WEB-INF/jsf/admin/user/registerRoles.xhtml</to-view-id>
- </navigation-case>
- </navigation-rule>
- <navigation-rule>
- <from-view-id>/WEB-INF/jsf/admin/user/registerRoles.xhtml</from-view-id>
- <navigation-case>
- <from-outcome>register</from-outcome>
- <to-view-id>/WEB-INF/jsf/admin/user/registerConfirm.xhtml</to-view-id>
- </navigation-case>
- </navigation-rule>
- <navigation-rule>
- <from-view-id>/WEB-INF/jsf/admin/user/registerConfirm.xhtml</from-view-id>
- <navigation-case>
- <from-outcome>revise</from-outcome>
- <to-view-id>/WEB-INF/jsf/admin/register.xhtml</to-view-id>
- </navigation-case>
- <navigation-case>
- <from-outcome>registered</from-outcome>
- <to-view-id>/WEB-INF/jsf/admin/index.xhtml</to-view-id>
- </navigation-case>
- </navigation-rule>
<navigation-rule>
- <from-view-id>/WEB-INF/jsf/admin/roles.xhtml</from-view-id>
- <navigation-case>
- <from-outcome>createRole</from-outcome>
- <to-view-id>/WEB-INF/jsf/admin/roles/createRole.xhtml</to-view-id>
- </navigation-case>
- </navigation-rule>
- <navigation-rule>
- <from-view-id>/WEB-INF/jsf/admin/roles.xhtml</from-view-id>
- <navigation-case>
- <from-outcome>editRole</from-outcome>
- <to-view-id>/WEB-INF/jsf/admin/roles/editRole.xhtml</to-view-id>
- </navigation-case>
- </navigation-rule>
+ <from-view-id>/WEB-INF/jsf/admin/*</from-view-id>
+ <navigation-case>
+ <from-outcome>userAdmin</from-outcome>
+ <to-view-id>/WEB-INF/jsf/admin/index.xhtml</to-view-id>
+ </navigation-case>
+ <navigation-case>
+ <from-outcome>start</from-outcome>
+ <to-view-id>/WEB-INF/jsf/admin/index.xhtml</to-view-id>
+ </navigation-case>
+ </navigation-rule>
<navigation-rule>
- <from-view-id>/WEB-INF/jsf/admin/roles.xhtml</from-view-id>
- <navigation-case>
- <from-outcome>viewMembers</from-outcome>
- <to-view-id>/WEB-INF/jsf/admin/roles/roleMembers.xhtml</to-view-id>
- </navigation-case>
- </navigation-rule>
- <navigation-rule>
- <from-view-id>/WEB-INF/jsf/admin/roles.xhtml</from-view-id>
- <navigation-case>
- <from-outcome>deleteRole</from-outcome>
- <to-view-id>/WEB-INF/jsf/admin/roles/deleteRole.xhtml</to-view-id>
- </navigation-case>
- </navigation-rule>
- <navigation-rule>
- <from-view-id>/WEB-INF/jsf/admin/editProfile.xhtml</from-view-id>
- <navigation-case>
- <from-outcome>resetPassword</from-outcome>
- <to-view-id>/WEB-INF/jsf/admin/user/resetPassword.xhtml</to-view-id>
- </navigation-case>
- </navigation-rule>
- <navigation-rule>
- <from-view-id>/WEB-INF/jsf/admin/user/resetPassword.xhtml</from-view-id>
- <navigation-case>
- <from-action>#{lostpasswordmgr.doomed}</from-action>
+ <from-view-id>/WEB-INF/jsf/admin/*</from-view-id>
+ <navigation-case>
+ <from-outcome>roleAdmin</from-outcome>
+ <to-view-id>/WEB-INF/jsf/admin/roles.xhtml</to-view-id>
+ </navigation-case>
+ </navigation-rule>
+ <navigation-rule>
+ <from-view-id>/WEB-INF/jsf/admin/index.xhtml</from-view-id>
+ <navigation-case>
+ <from-outcome>createUser</from-outcome>
+ <to-view-id>/WEB-INF/jsf/admin/user/createUser.xhtml</to-view-id>
+ </navigation-case>
+ </navigation-rule>
+ <navigation-rule>
+ <from-view-id>/WEB-INF/jsf/admin/index.xhtml</from-view-id>
+ <navigation-case>
+ <from-outcome>searchUsers</from-outcome>
+ <to-view-id>/WEB-INF/jsf/admin/user/searchUsers.xhtml</to-view-id>
+ </navigation-case>
+ </navigation-rule>
+ <navigation-rule>
+ <from-view-id>/WEB-INF/jsf/admin/index.xhtml</from-view-id>
+ <navigation-case>
+ <from-outcome>showPendingUsers</from-outcome>
+ <to-view-id>/WEB-INF/jsf/admin/user/pendingUsers.xhtml</to-view-id>
+ </navigation-case>
+ </navigation-rule>
+ <navigation-rule>
+ <from-view-id>/WEB-INF/jsf/admin/user/searchUsers.xhtml</from-view-id>
+ <navigation-case>
+ <from-outcome>deleteUser</from-outcome>
+ <to-view-id>/WEB-INF/jsf/admin/user/deleteUser.xhtml</to-view-id>
+ </navigation-case>
+ </navigation-rule>
+ <navigation-rule>
+ <from-view-id>/WEB-INF/jsf/admin/editProfile.xhtml</from-view-id>
+ <navigation-case>
+ <from-outcome>adminChangePassword</from-outcome>
+ <to-view-id>/WEB-INF/jsf/admin/user/changePassword.xhtml</to-view-id>
+ </navigation-case>
+ </navigation-rule>
+ <navigation-rule>
+ <from-view-id>/WEB-INF/jsf/admin/*</from-view-id>
+ <navigation-case>
+ <from-action>#{editprofilemgr.adminEditProfile}</from-action>
+ <from-outcome>editProfile</from-outcome>
+ <to-view-id>/WEB-INF/jsf/admin/editProfile.xhtml</to-view-id>
+ </navigation-case>
+ <navigation-case>
+ <from-action>#{editprofilemgr.updateProfile}</from-action>
+ <from-outcome>editProfile</from-outcome>
+ <to-view-id>/WEB-INF/jsf/admin/user/searchUsers.xhtml</to-view-id>
+ </navigation-case>
+ </navigation-rule>
+ <navigation-rule>
+ <from-view-id>/WEB-INF/jsf/admin/*</from-view-id>
+ <navigation-case>
+ <from-action>#{assignrolemgr.assignRoles}</from-action>
+ <from-outcome>assignRoles</from-outcome>
+ <to-view-id>/WEB-INF/jsf/admin/assignRoles.xhtml</to-view-id>
+ </navigation-case>
+ </navigation-rule>
+ <navigation-rule>
+ <from-view-id>/WEB-INF/jsf/admin/user/createUser.xhtml</from-view-id>
+ <navigation-case>
+ <from-outcome>register</from-outcome>
+ <to-view-id>/WEB-INF/jsf/admin/user/registerRoles.xhtml</to-view-id>
+ </navigation-case>
+ </navigation-rule>
+ <navigation-rule>
+ <from-view-id>/WEB-INF/jsf/admin/user/registerRoles.xhtml</from-view-id>
+ <navigation-case>
+ <from-outcome>register</from-outcome>
+ <to-view-id>/WEB-INF/jsf/admin/user/registerConfirm.xhtml</to-view-id>
+ </navigation-case>
+ </navigation-rule>
+ <navigation-rule>
+ <from-view-id>/WEB-INF/jsf/admin/user/registerConfirm.xhtml</from-view-id>
+ <navigation-case>
+ <from-outcome>revise</from-outcome>
+ <to-view-id>/WEB-INF/jsf/admin/register.xhtml</to-view-id>
+ </navigation-case>
+ <navigation-case>
+ <from-outcome>registered</from-outcome>
+ <to-view-id>/WEB-INF/jsf/admin/index.xhtml</to-view-id>
+ </navigation-case>
+ </navigation-rule>
+ <navigation-rule>
+ <from-view-id>/WEB-INF/jsf/admin/roles.xhtml</from-view-id>
+ <navigation-case>
+ <from-outcome>createRole</from-outcome>
+ <to-view-id>/WEB-INF/jsf/admin/roles/createRole.xhtml</to-view-id>
+ </navigation-case>
+ </navigation-rule>
+ <navigation-rule>
+ <from-view-id>/WEB-INF/jsf/admin/roles.xhtml</from-view-id>
+ <navigation-case>
+ <from-outcome>editRole</from-outcome>
+ <to-view-id>/WEB-INF/jsf/admin/roles/editRole.xhtml</to-view-id>
+ </navigation-case>
+ </navigation-rule>
+ <navigation-rule>
+ <from-view-id>/WEB-INF/jsf/admin/roles.xhtml</from-view-id>
+ <navigation-case>
+ <from-outcome>viewMembers</from-outcome>
+ <to-view-id>/WEB-INF/jsf/admin/roles/roleMembers.xhtml</to-view-id>
+ </navigation-case>
+ </navigation-rule>
+ <navigation-rule>
+ <from-view-id>/WEB-INF/jsf/admin/roles.xhtml</from-view-id>
+ <navigation-case>
+ <from-outcome>deleteRole</from-outcome>
+ <to-view-id>/WEB-INF/jsf/admin/roles/deleteRole.xhtml</to-view-id>
+ </navigation-case>
+ </navigation-rule>
+ <navigation-rule>
+ <from-view-id>/WEB-INF/jsf/admin/editProfile.xhtml</from-view-id>
+ <navigation-case>
+ <from-outcome>resetPassword</from-outcome>
+ <to-view-id>/WEB-INF/jsf/admin/user/resetPassword.xhtml</to-view-id>
+ </navigation-case>
+ </navigation-rule>
+ <navigation-rule>
+ <from-view-id>/WEB-INF/jsf/admin/user/resetPassword.xhtml</from-view-id>
+ <navigation-case>
+ <from-action>#{lostpasswordmgr.doomed}</from-action>
<from-outcome>status</from-outcome>
<to-view-id>/WEB-INF/jsf/admin/user/searchUsers.xhtml</to-view-id>
</navigation-case>
Modified: branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/admin/register.xhtml
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/admin/register.xhtml 2007-09-10 11:22:54 UTC (rev 8204)
+++ branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/admin/register.xhtml 2007-09-10 11:27:54 UTC (rev 8205)
@@ -9,7 +9,7 @@
<ui:composition template="/WEB-INF/jsf/admin/user/userTemplate.xhtml">
<ui:define name="title">
- #{bundle.IDENTITY_REGISTER_TITLE}
+ <h:outputText value="#{bundle.IDENTITY_REGISTER_TITLE}" />
</ui:define>
<ui:define name="content">
Modified: branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/admin/roles/roleTemplate.xhtml
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/admin/roles/roleTemplate.xhtml 2007-09-10 11:22:54 UTC (rev 8204)
+++ branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/admin/roles/roleTemplate.xhtml 2007-09-10 11:27:54 UTC (rev 8205)
@@ -17,9 +17,6 @@
</ul>
</h:form>
- <!-- Status message -->
- <h:message infoClass="portlet-msg-success" errorClass="portlet-msg-error" fatalClass="portlet-msg-error" warnClass="portlet-msg-alert"/>
-
<!-- Title -->
<h4><ui:insert name="title">Title</ui:insert></h4>
Modified: branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/admin/user/createUser.xhtml
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/admin/user/createUser.xhtml 2007-09-10 11:22:54 UTC (rev 8204)
+++ branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/admin/user/createUser.xhtml 2007-09-10 11:27:54 UTC (rev 8205)
@@ -9,7 +9,7 @@
<ui:composition template="/WEB-INF/jsf/admin/user/userTemplate.xhtml">
<ui:define name="title">
- #{bundle.IDENTITY_REGISTER_TITLE}
+ <h:outputText value="#{bundle.IDENTITY_REGISTER_TITLE}" />
</ui:define>
<ui:define name="content">
Modified: branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/admin/user/deleteUser.xhtml
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/admin/user/deleteUser.xhtml 2007-09-10 11:22:54 UTC (rev 8204)
+++ branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/admin/user/deleteUser.xhtml 2007-09-10 11:27:54 UTC (rev 8205)
@@ -9,7 +9,9 @@
<ui:composition template="/WEB-INF/jsf/admin/user/userTemplate.xhtml">
-<ui:define name="title">#{bundle.IDENTITY_REGISTER_TITLE_CONFIRM_DELETE}</ui:define>
+<ui:define name="title">
+ <h:outputText value="#{bundle.IDENTITY_REGISTER_TITLE_CONFIRM_DELETE}" />
+</ui:define>
<ui:define name="content">
<h:form>
Modified: branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/admin/user/pendingUsers.xhtml
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/admin/user/pendingUsers.xhtml 2007-09-10 11:22:54 UTC (rev 8204)
+++ branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/admin/user/pendingUsers.xhtml 2007-09-10 11:27:54 UTC (rev 8205)
@@ -45,7 +45,6 @@
<h:outputText value="#{bundle.IDENTITY_MANAGEMENT_ACTION}"/>
</f:facet>
<h:outputText value="Pending" rendered="#{user.currentNode == 'validate_email'}"/>
- <!-- #{user.currentNode == 'adminApproval'} -->
<h:commandLink action="#{useradministrationbean.approveRegistration}" rendered="#{user.currentNode == 'admin_approval'}">
<h:outputText value="#{bundle.IDENTITY_MANAGEMENT_PENDING_APPROVE}"/>
<f:param name="processId" value="#{user.processId}" />
Modified: branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/admin/user/registerConfirm.xhtml
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/admin/user/registerConfirm.xhtml 2007-09-10 11:22:54 UTC (rev 8204)
+++ branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/admin/user/registerConfirm.xhtml 2007-09-10 11:27:54 UTC (rev 8205)
@@ -9,7 +9,9 @@
<ui:composition template="/WEB-INF/jsf/admin/user/userTemplate.xhtml">
-<ui:define name="title">#{bundle.IDENTITY_REGISTER_TITLE_CONFIRM}</ui:define>
+<ui:define name="title">
+ <h:outputText value="#{bundle.IDENTITY_REGISTER_TITLE_CONFIRM}" />
+</ui:define>
<ui:define name="content">
<ui:decorate template="/WEB-INF/jsf/common/confirm.xhtml">
<ui:param name="manager" value="#{userregistermgr}"/>
Modified: branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/admin/user/searchUsers.xhtml
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/admin/user/searchUsers.xhtml 2007-09-10 11:22:54 UTC (rev 8204)
+++ branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/admin/user/searchUsers.xhtml 2007-09-10 11:27:54 UTC (rev 8205)
@@ -65,7 +65,7 @@
<f:facet name="header">
<h:outputText value="#{bundle.IDENTITY_MANAGEMENT_ACTION}"/>
</f:facet>
- <h:commandLink action="#{editprofilemgr.editProfile}">
+ <h:commandLink action="#{editprofilemgr.adminEditProfile}">
<h:outputText value="#{bundle.IDENTITY_MANAGEMENT_ACTION_EDIT_PROFILE}"/>
<f:param name="currentUser" value="#{uiUser.username}"/>
</h:commandLink> |
Modified: branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/admin/user/userTemplate.xhtml
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/admin/user/userTemplate.xhtml 2007-09-10 11:22:54 UTC (rev 8204)
+++ branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/admin/user/userTemplate.xhtml 2007-09-10 11:27:54 UTC (rev 8205)
@@ -17,9 +17,6 @@
</ul>
</h:form>
- <!-- Status message -->
- <h:message infoClass="portlet-msg-success" errorClass="portlet-msg-error" fatalClass="portlet-msg-error" warnClass="portlet-msg-alert"/>
-
<!-- Title -->
<h4><ui:insert name="title">Title</ui:insert></h4>
Copied: branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/common/captcha.xhtml (from rev 8204, trunk/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/common/captcha.xhtml)
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/common/captcha.xhtml (rev 0)
+++ branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/common/captcha.xhtml 2007-09-10 11:27:54 UTC (rev 8205)
@@ -0,0 +1,22 @@
+<div
+ xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:c="http://java.sun.com/jstl/core"
+ class="identity-ui">
+
+ <c:if test="#{portletPreferenceValue.captcha == true}">
+ <hr/>
+ <h:graphicImage url="/jcaptcha" />
+ <h:panelGrid columns="2">
+ <h:outputText value="#{bundle.IDENTITY_REGISTER_VERIFY_CAPTCHA}" />
+ <h:inputText id="validateCaptcha" value="" required="true">
+ <f:validator validatorId="CaptchaValidator" />
+ </h:inputText>
+ <h:panelGroup />
+ <h:message for="validateCaptcha" infoClass="portlet-msg-success" errorClass="portlet-msg-error" fatalClass="portlet-msg-error" warnClass="portlet-msg-alert"/>
+ </h:panelGrid>
+ </c:if>
+
+</div>
\ No newline at end of file
Modified: branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/common/profile.xhtml
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/common/profile.xhtml 2007-09-10 11:22:54 UTC (rev 8204)
+++ branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/common/profile.xhtml 2007-09-10 11:27:54 UTC (rev 8205)
@@ -7,51 +7,11 @@
class="identity-ui">
<h:form>
- <h:panelGrid columns="3" cellpadding="3">
- <c:choose>
- <c:when test="#{adminMode == true}">
- <h:outputText value="#{bundle.IDENTITY_USERNAME}"/>
- <h:outputText id="username" value="#{manager.uiUser.username}"/>
- <h:message for="username"/>
-
- <h:outputText value="#{bundle.IDENTITY_EMAIL}"/>
- <h:inputText id="#{metadataservice.email.name}" value="#{manager.uiUser.attribute.email}" required="#{metadataservice.email.required}">
- <f:validator validatorId="#{metadataservice.email.validator}"/>
- </h:inputText>
- <h:message for="#{metadataservice.email.name}"/>
-
- <c:choose>
- <c:when test="#{portletPreferenceValue.resetPassword == true}">
- <h:outputText value="#{bundle.IDENTITY_PASSWORD}"/>
- <h:commandLink action="resetPassword">
- <h:outputText value="#{bundle.IDENTITY_MANAGEMENT_RESET_PASSWORD}" />
- <f:param name="currentUser" value="#{manager.uiUser.username}" />
- </h:commandLink>
- <h:panelGroup />
- </c:when>
- <c:otherwise>
- <h:outputText value="#{bundle.IDENTITY_PASSWORD}"/>
- <h:commandLink action="#{manager.adminChangePassword}">
- <h:outputText value="#{bundle.IDENTITY_EDIT_CHANGE_PASSWORD}" />
- <f:param name="currentUser" value="#{manager.uiUser.username}" />
- </h:commandLink>
- <h:panelGroup />
- </c:otherwise>
- </c:choose>
- </c:when>
- <c:otherwise>
+ <ui:include src="/WEB-INF/jsf/common/userInfo.xhtml" />
- <h:outputText value="#{bundle.IDENTITY_USERNAME}"/>
- <h:outputText id="username" value="#{manager.uiUser.username}"/>
- <h:panelGroup />
-
- <h:outputText value="#{bundle.IDENTITY_EMAIL}"/>
- <h:outputText id="email" value="#{manager.uiUser.attribute.email}"/>
- <h:panelGroup />
- </c:otherwise>
- </c:choose>
-
+ <!-- User Profile -->
+ <h:panelGrid columns="2" cellpadding="3">
<h:panelGroup/>
<h:panelGroup>
<ul class="topnav">
@@ -60,25 +20,27 @@
</li>
</ul>
</h:panelGroup>
- <h:panelGroup/>
<h:outputText value="#{bundle.IDENTITY_TIMEZONE}"/>
- <h:selectOneMenu id="timezone" value="#{manager.uiUser.attribute.timezone}">
+ <h:selectOneMenu id="timezone" value="#{manager.uiUser.attribute.timezone}" required="#{metadataservice.timezone.required}">
<f:selectItems value="#{metadataservice.timezone.values}" />
</h:selectOneMenu>
- <h:message for="timezone" />
+ <h:panelGroup />
+ <h:message for="timezone" infoClass="portlet-msg-success" errorClass="portlet-msg-error" fatalClass="portlet-msg-error" warnClass="portlet-msg-alert"/>
<h:outputText value="#{bundle.IDENTITY_THEME}"/>
- <h:selectOneMenu id="theme" value="#{manager.uiUser.attribute.theme}">
+ <h:selectOneMenu id="theme" value="#{manager.uiUser.attribute.theme}" required="#{metadataservice.theme.required}">
<f:selectItems value="#{metadataservice.theme.values}" />
</h:selectOneMenu>
- <h:message for="theme" />
+ <h:panelGroup />
+ <h:message for="theme" infoClass="portlet-msg-success" errorClass="portlet-msg-error" fatalClass="portlet-msg-error" warnClass="portlet-msg-alert"/>
<h:outputText value="#{bundle.IDENTITY_LOCALE}"/>
- <h:selectOneMenu id="locale" value="#{manager.uiUser.attribute.locale}">
+ <h:selectOneMenu id="locale" value="#{manager.uiUser.attribute.locale}" required="#{metadataservice.locale.required}">
<f:selectItems value="#{metadataservice.locale.values}" />
</h:selectOneMenu>
- <h:message for="locale" />
+ <h:panelGroup />
+ <h:message for="locale" infoClass="portlet-msg-success" errorClass="portlet-msg-error" fatalClass="portlet-msg-error" warnClass="portlet-msg-alert"/>
<h:panelGroup/>
<h:panelGroup>
@@ -88,19 +50,21 @@
</li>
</ul>
</h:panelGroup>
- <h:panelGroup/>
<h:outputText value="#{bundle.IDENTITY_GIVENNAME}"/>
- <h:inputText id="givenname" value="#{manager.uiUser.attribute.givenname}"/>
- <h:message for="givenname" />
+ <h:inputText id="givenname" value="#{manager.uiUser.attribute.givenname}" required="#{metadataservice.givenname.required}"/>
+ <h:panelGroup />
+ <h:message for="givenname" infoClass="portlet-msg-success" errorClass="portlet-msg-error" fatalClass="portlet-msg-error" warnClass="portlet-msg-alert"/>
<h:outputText value="#{bundle.IDENTITY_FAMILYNAME}"/>
- <h:inputText id="lastname" value="#{manager.uiUser.attribute.familyname}"/>
- <h:message for="lastname"/>
+ <h:inputText id="lastname" value="#{manager.uiUser.attribute.familyname}" required="#{metadataservice.familyname.required}"/>
+ <h:panelGroup />
+ <h:message for="lastname" infoClass="portlet-msg-success" errorClass="portlet-msg-error" fatalClass="portlet-msg-error" warnClass="portlet-msg-alert"/>
<h:outputText value="#{bundle.IDENTITY_LOCATION}"/>
- <h:inputText id="location" value="#{manager.uiUser.attribute.location}"/>
- <h:message for="location"/>
+ <h:inputText id="location" value="#{manager.uiUser.attribute.location}" required="#{metadataservice.location.required}"/>
+ <h:panelGroup />
+ <h:message for="location" infoClass="portlet-msg-success" errorClass="portlet-msg-error" fatalClass="portlet-msg-error" warnClass="portlet-msg-alert"/>
<h:panelGroup/>
<h:panelGroup>
@@ -110,31 +74,36 @@
</li>
</ul>
</h:panelGroup>
- <h:panelGroup/>
<h:outputText value="#{bundle.IDENTITY_SKYPE}"/>
- <h:inputText id="skype" value="#{manager.uiUser.attribute.skype}"/>
- <h:message for="skype"/>
+ <h:inputText id="skype" value="#{manager.uiUser.attribute.skype}" required="#{metadataservice.skype.required}"/>
+ <h:panelGroup />
+ <h:message for="skype" infoClass="portlet-msg-success" errorClass="portlet-msg-error" fatalClass="portlet-msg-error" warnClass="portlet-msg-alert"/>
<h:outputText value="#{bundle.IDENTITY_ICQ}"/>
- <h:inputText id="icq" value="#{manager.uiUser.attribute.icq}"/>
- <h:message for="icq"/>
+ <h:inputText id="icq" value="#{manager.uiUser.attribute.icq}" required="#{metadataservice.icq.required}"/>
+ <h:panelGroup />
+ <h:message for="icq" infoClass="portlet-msg-success" errorClass="portlet-msg-error" fatalClass="portlet-msg-error" warnClass="portlet-msg-alert"/>
<h:outputText value="#{bundle.IDENTITY_AIM}"/>
- <h:inputText id="aim" value="#{manager.uiUser.attribute.aim}"/>
- <h:message for="aim"/>
+ <h:inputText id="aim" value="#{manager.uiUser.attribute.aim}" required="#{metadataservice.aim.required}"/>
+ <h:panelGroup />
+ <h:message for="aim" infoClass="portlet-msg-success" errorClass="portlet-msg-error" fatalClass="portlet-msg-error" warnClass="portlet-msg-alert"/>
<h:outputText value="#{bundle.IDENTITY_MSNM}"/>
- <h:inputText id="msnm" value="#{manager.uiUser.attribute.msnm}"/>
- <h:message for="msnm"/>
+ <h:inputText id="msnm" value="#{manager.uiUser.attribute.msnm}" required="#{metadataservice.msnm.required}"/>
+ <h:panelGroup />
+ <h:message for="msnm" infoClass="portlet-msg-success" errorClass="portlet-msg-error" fatalClass="portlet-msg-error" warnClass="portlet-msg-alert"/>
<h:outputText value="#{bundle.IDENTITY_YIM}"/>
- <h:inputText id="yim" value="#{manager.uiUser.attribute.yim}"/>
- <h:message for="yim"/>
+ <h:inputText id="yim" value="#{manager.uiUser.attribute.yim}" required="#{metadataservice.yim.required}"/>
+ <h:panelGroup />
+ <h:message for="yim" infoClass="portlet-msg-success" errorClass="portlet-msg-error" fatalClass="portlet-msg-error" warnClass="portlet-msg-alert"/>
<h:outputText value="#{bundle.IDENTITY_XMMP}"/>
- <h:inputText id="xmmp" value="#{manager.uiUser.attribute.xmmp}"/>
- <h:message for="xmmp"/>
+ <h:inputText id="xmmp" value="#{manager.uiUser.attribute.xmmp}" required="#{metadataservice.xmmp.required}"/>
+ <h:panelGroup />
+ <h:message for="xmmp" infoClass="portlet-msg-success" errorClass="portlet-msg-error" fatalClass="portlet-msg-error" warnClass="portlet-msg-alert"/>
<h:panelGroup/>
<h:panelGroup>
@@ -144,37 +113,41 @@
</li>
</ul>
</h:panelGroup>
- <h:panelGroup/>
<h:outputText value="#{bundle.IDENTITY_HOMEPAGE}"/>
- <h:inputText id="homepage" value="#{manager.uiUser.attribute.homepage}"/>
- <h:message for="homepage"/>
+ <h:inputText id="homepage" value="#{manager.uiUser.attribute.homepage}" required="#{metadataservice.homepage.required}"/>
+ <h:panelGroup />
+ <h:message for="homepage" infoClass="portlet-msg-success" errorClass="portlet-msg-error" fatalClass="portlet-msg-error" warnClass="portlet-msg-alert"/>
<h:outputText value="#{bundle.IDENTITY_OCCUPATION}"/>
- <h:inputText id="occupation" value="#{manager.uiUser.attribute.occupation}"/>
- <h:message for="occupation"/>
+ <h:inputText id="occupation" value="#{manager.uiUser.attribute.occupation}" required="#{metadataservice.occupation.required}"/>
+ <h:panelGroup />
+ <h:message for="occupation" infoClass="portlet-msg-success" errorClass="portlet-msg-error" fatalClass="portlet-msg-error" warnClass="portlet-msg-alert"/>
<h:outputText value="#{bundle.IDENTITY_INTERESTS}"/>
- <h:inputText id="interests" value="#{manager.uiUser.attribute.interests}" />
- <h:message for="interests"/>
+ <h:inputText id="interests" value="#{manager.uiUser.attribute.interests}" required="#{metadataservice.interests.required}"/>
+ <h:panelGroup />
+ <h:message for="interests" infoClass="portlet-msg-success" errorClass="portlet-msg-error" fatalClass="portlet-msg-error" warnClass="portlet-msg-alert"/>
<h:outputText value="#{bundle.IDENTITY_SIGNATURE}"/>
<h:panelGroup>
- <h:inputTextarea id="signature" value="#{manager.uiUser.attribute.signature}" cols="50" rows="5" /><br/>
+ <h:inputTextarea id="signature" value="#{manager.uiUser.attribute.signature}" cols="50" rows="5" required="#{metadataservice.signature.required}"/><br/>
<h:outputText value="#{bundle.IDENTITY_CATEGORY_ADDITIONAL_SIGNATURE}" />
</h:panelGroup>
- <h:message for="signature"/>
+ <h:panelGroup />
+ <h:message for="signature" infoClass="portlet-msg-success" errorClass="portlet-msg-error" fatalClass="portlet-msg-error" warnClass="portlet-msg-alert"/>
<h:outputText value="#{bundle.IDENTITY_EXTRA}"/>
<h:panelGroup>
- <h:inputTextarea id="extra" value="#{manager.uiUser.attribute.extra}" cols="50" rows="5" /><br/>
+ <h:inputTextarea id="extra" value="#{manager.uiUser.attribute.extra}" cols="50" rows="5" required="#{metadataservice.extra.required}"/><br/>
<h:outputText value="#{bundle.IDENTITY_CATEGORY_ADDITIONAL_EXTRA}" />
</h:panelGroup>
- <h:message for="extra"/>
+ <h:panelGroup />
+ <h:message for="extra" infoClass="portlet-msg-success" errorClass="portlet-msg-error" fatalClass="portlet-msg-error" warnClass="portlet-msg-alert"/>
</h:panelGrid>
- <hr/>
- <h:commandButton value="#{bundle.IDENTITY_BUTTON_SUBMIT}" action="#{manager.updateProfile}" styleClass="portlet-form-button"/>
+ <hr/>
+ <h:commandButton value="#{bundle.IDENTITY_BUTTON_SUBMIT}" action="#{manager.updateProfile}" styleClass="portlet-form-button"/>
</h:form>
- </div>
\ No newline at end of file
+</div>
\ No newline at end of file
Modified: branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/common/register.xhtml
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/common/register.xhtml 2007-09-10 11:22:54 UTC (rev 8204)
+++ branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/common/register.xhtml 2007-09-10 11:27:54 UTC (rev 8205)
@@ -7,43 +7,41 @@
class="identity-ui">
<h:form>
- <h:panelGrid columns="3" cellpadding="3">
-
+ <h:panelGrid columns="2" cellpadding="3">
<h:outputText for="username" value="#{bundle.IDENTITY_USERNAME}"/>
<h:inputText id="username" value="#{manager.uiUser.username}" required="true">
<f:validator validatorId="UsernameValidator"/>
</h:inputText>
- <h:message for="username"/>
+ <h:panelGroup />
+ <h:message for="username" infoClass="portlet-msg-success" errorClass="portlet-msg-error" fatalClass="portlet-msg-error" warnClass="portlet-msg-alert"/>
<h:outputText for="#{metadataservice.email.name}" value="#{bundle.IDENTITY_EMAIL}"/>
<h:inputText id="#{metadataservice.email.name}" value="#{manager.uiUser.attribute.email}" required="#{metadataservice.email.required}">
<f:validator validatorId="#{metadataservice.email.validator}"/>
</h:inputText>
- <h:message for="#{metadataservice.email.name}"/>
+ <h:panelGroup />
+ <h:message for="#{metadataservice.email.name}" infoClass="portlet-msg-success" errorClass="portlet-msg-error" fatalClass="portlet-msg-error" warnClass="portlet-msg-alert"/>
<h:outputText for="password" value="#{bundle.IDENTITY_PASSWORD}"/>
<h:inputSecret id="password" value="#{manager.uiUser.password}" required="true">
<f:validateLength minimum="6"/>
</h:inputSecret>
- <h:message for="password"/>
+ <h:panelGroup />
+ <h:message for="password" infoClass="portlet-msg-success" errorClass="portlet-msg-error" fatalClass="portlet-msg-error" warnClass="portlet-msg-alert"/>
<h:outputText for="passwordCheck" value="#{bundle.IDENTITY_REGISTER_PASSWORD_CONFIRM}"/>
<h:inputSecret id="passwordCheck" required="true">
<f:validator validatorId="PasswordValidator"/>
</h:inputSecret>
- <h:message for="passwordCheck"/>
+ <h:panelGroup />
+ <h:message for="passwordCheck" infoClass="portlet-msg-success" errorClass="portlet-msg-error" fatalClass="portlet-msg-error" warnClass="portlet-msg-alert"/>
+
+
</h:panelGrid>
- <c:if test="#{portletPreferenceValue.captcha == true}">
+
+ <!-- include captcha -->
+ <ui:include src="/WEB-INF/jsf/common/captcha.xhtml" />
+
<hr/>
- <h:graphicImage url="/jcaptcha" />
- <h:panelGrid columns="3">
- <h:outputText value="#{bundle.IDENTITY_REGISTER_VERIFY_CAPTCHA}" />
- <h:inputText id="validateCaptcha" value="" required="true">
- <f:validator validatorId="CaptchaValidator" />
- </h:inputText>
- <h:message for="validateCaptcha" />
- </h:panelGrid>
- </c:if>
- <hr/>
<h:commandButton id="submit" action="register" value="#{bundle.IDENTITY_BUTTON_SUBMIT}" styleClass="portlet-form-button"/>
</h:form>
</div>
\ No newline at end of file
Copied: branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/common/userInfo.xhtml (from rev 8204, trunk/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/common/userInfo.xhtml)
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/common/userInfo.xhtml (rev 0)
+++ branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/common/userInfo.xhtml 2007-09-10 11:27:54 UTC (rev 8205)
@@ -0,0 +1,87 @@
+<!--~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ ~ 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. ~
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->
+<div
+ xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:c="http://java.sun.com/jstl/core"
+ class="identity-ui">
+
+<h:panelGrid columns="3" cellpadding="5" width="50%">
+ <c:choose>
+ <c:when test="#{adminMode == true}">
+
+ <h:outputText value="#{bundle.IDENTITY_USERNAME}"/>
+ <h:outputText id="username" value="#{manager.uiUser.username}"/>
+ <h:message for="username" infoClass="portlet-msg-success" errorClass="portlet-msg-error" fatalClass="portlet-msg-error" warnClass="portlet-msg-alert"/>
+
+ <h:outputText value="#{bundle.IDENTITY_EMAIL}"/>
+ <h:inputText id="#{metadataservice.email.name}" value="#{manager.uiUser.attribute.email}" required="#{metadataservice.email.required}">
+ <f:validator validatorId="#{metadataservice.email.validator}" infoClass="portlet-msg-success" errorClass="portlet-msg-error" fatalClass="portlet-msg-error" warnClass="portlet-msg-alert"/>
+ </h:inputText>
+ <h:message for="#{metadataservice.email.name}"/>
+
+ <c:choose>
+ <c:when test="#{portletPreferenceValue.resetPassword == true}">
+ <h:outputText value="#{bundle.IDENTITY_PASSWORD}"/>
+ <h:commandLink action="resetPassword">
+ <h:outputText value="#{bundle.IDENTITY_MANAGEMENT_RESET_PASSWORD}" />
+ <f:param name="currentUser" value="#{manager.uiUser.username}" />
+ </h:commandLink>
+ <h:panelGroup />
+ </c:when>
+ <c:otherwise>
+ <h:outputText value="#{bundle.IDENTITY_PASSWORD}"/>
+ <h:commandLink action="#{manager.adminChangePassword}">
+ <h:outputText value="#{bundle.IDENTITY_EDIT_CHANGE_PASSWORD}" />
+ <f:param name="currentUser" value="#{manager.uiUser.username}" />
+ </h:commandLink>
+ <h:panelGroup />
+ </c:otherwise>
+ </c:choose>
+ </c:when>
+ <c:otherwise>
+
+ <h:outputText value="#{bundle.IDENTITY_USERNAME}"/>
+ <h:outputText id="username" value="#{manager.uiUser.username}"/>
+ <h:panelGroup />
+
+ <h:outputText value="#{bundle.IDENTITY_EMAIL}"/>
+ <h:outputText id="email" value="#{manager.uiUser.attribute.email}"/>
+ <h:panelGroup />
+
+ <h:panelGroup />
+ <h:commandLink value="#{bundle.IDENTITY_EDIT_CHANGE_EMAIL}" action="changeEmail" />
+ <h:panelGroup />
+
+ <h:outputText value="#{bundle.IDENTITY_PASSWORD}"/>
+ <h:commandLink action="changePassword">
+ <h:outputText value="#{bundle.IDENTITY_EDIT_CHANGE_PASSWORD}" />
+ <f:param name="currentUser" value="#{manager.uiUser.username}" />
+ </h:commandLink>
+ <h:panelGroup />
+ </c:otherwise>
+ </c:choose>
+</h:panelGrid>
+</div>
\ No newline at end of file
Modified: branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/lostPassword/lost.xhtml
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/lostPassword/lost.xhtml 2007-09-10 11:22:54 UTC (rev 8204)
+++ branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/lostPassword/lost.xhtml 2007-09-10 11:27:54 UTC (rev 8205)
@@ -9,27 +9,21 @@
<ui:composition template="/WEB-INF/jsf/lostPassword/lostTemplate.xhtml">
<ui:define name="title">
- #{bundle.IDENTITY_LOST_PASSWORD_TITLE}
+ <h:outputText value="#{bundle.IDENTITY_LOST_PASSWORD_TITLE}" />
</ui:define>
<ui:define name="content">
<h:form>
- <p>#{bundle.IDENTITY_LOST_PASSWORD_DESCRIPTION}</p>
- <h:panelGrid columns="3" cellpadding="3">
+ <p><h:outputText value="#{bundle.IDENTITY_LOST_PASSWORD_DESCRIPTION}" /></p>
+ <h:panelGrid columns="2" cellpadding="3">
<h:outputText for="username" value="#{bundle.IDENTITY_USERNAME}"/>
- <h:inputText id="username" value="#{lostpasswordmgr.username}" />
- <h:message for="username" />
+ <h:inputText id="username" value="#{lostpasswordmgr.username}" required="true"/>
+ <h:panelGroup />
+ <h:message for="username" infoClass="portlet-msg-success" errorClass="portlet-msg-error" fatalClass="portlet-msg-error" warnClass="portlet-msg-alert"/>
</h:panelGrid>
- <c:if test="#{portletPreferenceValue.captcha == true}">
- <hr/>
- <h:graphicImage id="captchaimage" url="/jcaptcha" />
- <h:panelGrid columns="3">
- <h:outputText value="#{bundle.IDENTITY_REGISTER_VERIFY_CAPTCHA}" />
- <h:inputText id="validateCaptcha" value="" required="true">
- <f:validator validatorId="CaptchaValidator" />
- </h:inputText>
- <h:message for="validateCaptcha" />
- </h:panelGrid>
- </c:if>
+
+ <!-- include captcha -->
+ <ui:include src="/WEB-INF/jsf/common/captcha.xhtml" />
+
<hr/>
<h:commandButton value="#{bundle.IDENTITY_BUTTON_SUBMIT}" action="#{lostpasswordmgr.doomed}" styleClass="portlet-form-button"/>
</h:form>
Modified: branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/lostPassword/lostTemplate.xhtml
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/lostPassword/lostTemplate.xhtml 2007-09-10 11:22:54 UTC (rev 8204)
+++ branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/lostPassword/lostTemplate.xhtml 2007-09-10 11:27:54 UTC (rev 8205)
@@ -21,9 +21,6 @@
</li>
</ul>
</h:form>
-
- <!-- Status message -->
- <h:message infoClass="portlet-msg-success" errorClass="portlet-msg-error" fatalClass="portlet-msg-error" warnClass="portlet-msg-alert"/>
<!-- Title -->
<h4><ui:insert name="title">Title</ui:insert></h4>
Modified: branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/profile/changeEmail.xhtml
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/profile/changeEmail.xhtml 2007-09-10 11:22:54 UTC (rev 8204)
+++ branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/profile/changeEmail.xhtml 2007-09-10 11:27:54 UTC (rev 8205)
@@ -6,39 +6,34 @@
xmlns:c="http://java.sun.com/jstl/core"
class="identity-ui">
<f:loadBundle var="bundle" basename="Identity" />
- <h:form>
- <ul class="topnav">
- <li>
- <h:commandLink value="#{bundle.IDENTITY_VIEW_PROFILE_TITLE}" action="start"/>
- </li>
- <li>
- <h:commandLink value="#{bundle.IDENTITY_EDIT_PROFILE_TITLE}" action="editProfile"/>
- </li>
- <li>
- <h:commandLink value="#{bundle.IDENTITY_EDIT_CHANGE_PASSWORD}" action="changePassword"/>
- </li>
- <li id="currentTab"><h:outputText value="#{bundle.IDENTITY_EDIT_CHANGE_EMAIL}" /></li>
- </ul>
- </h:form>
+<ui:composition template="/WEB-INF/jsf/profile/editProfileTemplate.xhtml">
- <h:form>
- <h4>
+<ui:define name="title">
<h:outputText value="#{bundle.IDENTITY_EDIT_EMAIL_TITLE}"/>
- </h4>
- <h:panelGrid columns="3" cellpadding="3">
- <h:outputText for="currentPassword" value="#{bundle.IDENTITY_EDIT_PASSWORD_CURRENT}"/>
+</ui:define>
+
+<ui:define name="content">
+ <h:form>
+ <h:panelGrid columns="2" cellpadding="3">
+ <h:outputText value="#{bundle.IDENTITY_EDIT_PASSWORD_CURRENT}"/>
<h:inputSecret id="currentPassword" value="currentPassword" required="true">
<f:validator validatorId="CurrentPasswordValidator"/>
</h:inputSecret>
- <h:message for="currentPassword" />
+ <h:panelGroup />
+ <h:message for="currentPassword" infoClass="portlet-msg-success" errorClass="portlet-msg-error" fatalClass="portlet-msg-error" warnClass="portlet-msg-alert"/>
<h:outputText value="#{bundle.IDENTITY_EDIT_EMAIL_NEW}"/>
<h:inputText id="email" value="#{editprofilemgr.email}" required="true">
<f:validator validatorId="EmailValidator" />
</h:inputText>
- <h:message for="email" />
+ <h:panelGroup />
+ <h:message for="email" infoClass="portlet-msg-success" errorClass="portlet-msg-error" fatalClass="portlet-msg-error" warnClass="portlet-msg-alert"/>
</h:panelGrid>
<hr/>
<h:commandButton value="Submit" action="#{editprofilemgr.changeEmail}" styleClass="portlet-form-button"/>
</h:form>
+</ui:define>
+
+</ui:composition>
+
</div>
Modified: branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/profile/changePassword.xhtml
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/profile/changePassword.xhtml 2007-09-10 11:22:54 UTC (rev 8204)
+++ branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/profile/changePassword.xhtml 2007-09-10 11:27:54 UTC (rev 8205)
@@ -6,44 +6,42 @@
xmlns:c="http://java.sun.com/jstl/core"
class="identity-ui">
<f:loadBundle var="bundle" basename="Identity" />
- <h:form>
- <ul class="topnav">
- <li>
- <h:commandLink value="#{bundle.IDENTITY_VIEW_PROFILE_TITLE}" action="start"/>
- </li>
- <li>
- <h:commandLink value="#{bundle.IDENTITY_EDIT_PROFILE_TITLE}" action="editProfile"/>
- </li>
- <li id="currentTab"><h:outputText value="#{bundle.IDENTITY_EDIT_CHANGE_PASSWORD}" /></li>
- <li>
- <h:commandLink value="#{bundle.IDENTITY_EDIT_CHANGE_EMAIL}" action="changeEmail"/>
- </li>
- </ul>
- </h:form>
+<ui:composition template="/WEB-INF/jsf/profile/editProfileTemplate.xhtml">
+<ui:define name="title">
+ <h:outputText value="#{bundle.IDENTITY_EDIT_PASSWORD_TITLE}" />
+</ui:define>
+
+<ui:define name="content">
<h:form>
- <h4>#{bundle.IDENTITY_EDIT_PASSWORD_TITLE}</h4>
- <h:panelGrid columns="3" cellpadding="3">
+ <h:panelGrid columns="2" cellpadding="3">
<h:outputText value="#{bundle.IDENTITY_EDIT_PASSWORD_CURRENT}"/>
<h:inputSecret id="currentPassword" value="currentPassword" required="true">
<f:validator validatorId="CurrentPasswordValidator"/>
</h:inputSecret>
- <h:message for="currentPassword" />
+ <h:panelGroup />
+ <h:message for="currentPassword" infoClass="portlet-msg-success" errorClass="portlet-msg-error" fatalClass="portlet-msg-error" warnClass="portlet-msg-alert"/>
<h:outputText value="#{bundle.IDENTITY_PASSWORD}"/>
<h:inputSecret id="password" required="true" value="#{editprofilemgr.password}">
<f:validateLength minimum="6"/>
</h:inputSecret>
- <h:message for="password"/>
+ <h:panelGroup />
+ <h:message for="password" infoClass="portlet-msg-success" errorClass="portlet-msg-error" fatalClass="portlet-msg-error" warnClass="portlet-msg-alert"/>
<h:outputText value="#{bundle.IDENTITY_REGISTER_PASSWORD_CONFIRM}"/>
<h:inputSecret id="passwordCheck" required="true">
<f:validator validatorId="PasswordValidator"/>
</h:inputSecret>
- <h:message for="passwordCheck"/>
+ <h:panelGroup />
+ <h:message for="passwordCheck" infoClass="portlet-msg-success" errorClass="portlet-msg-error" fatalClass="portlet-msg-error" warnClass="portlet-msg-alert"/>
</h:panelGrid>
<hr/>
<h:commandButton value="Submit" action="#{editprofilemgr.changePassword}" styleClass="portlet-form-button"/>
</h:form>
+</ui:define>
+
+</ui:composition>
+
</div>
Modified: branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/profile/editProfile.xhtml
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/profile/editProfile.xhtml 2007-09-10 11:22:54 UTC (rev 8204)
+++ branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/profile/editProfile.xhtml 2007-09-10 11:27:54 UTC (rev 8205)
@@ -8,25 +8,16 @@
<f:loadBundle var="bundle" basename="Identity" />
- <h:form>
- <ul class="topnav">
- <li>
- <h:commandLink value="#{bundle.IDENTITY_VIEW_PROFILE_TITLE}" action="start"/>
- </li>
- <li id="currentTab"><h:outputText value="#{bundle.IDENTITY_EDIT_PROFILE_TITLE}" /></li>
- <li>
- <h:commandLink value="#{bundle.IDENTITY_EDIT_CHANGE_PASSWORD}" action="changePassword"/>
- </li>
- <li>
- <h:commandLink value="#{bundle.IDENTITY_EDIT_CHANGE_EMAIL}" action="changeEmail"/>
- </li>
- </ul>
- </h:form>
+<ui:composition template="/WEB-INF/jsf/profile/editProfileTemplate.xhtml">
+<ui:define name="title" />
+
+<ui:define name="content">
<ui:decorate template="/WEB-INF/jsf/common/profile.xhtml">
<ui:param name="manager" value="#{editprofilemgr}"/>
- <ui:param name="adminMode" value="false" />
+ <ui:param name="adminMode" value="false"/>
</ui:decorate>
+</ui:define>
-
+</ui:composition>
</div>
Copied: branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/profile/editProfileTemplate.xhtml (from rev 8204, trunk/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/profile/editProfileTemplate.xhtml)
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/profile/editProfileTemplate.xhtml (rev 0)
+++ branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/profile/editProfileTemplate.xhtml 2007-09-10 11:27:54 UTC (rev 8205)
@@ -0,0 +1,27 @@
+<div
+ xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:c="http://java.sun.com/jstl/core"
+ class="identity-ui">
+
+ <f:loadBundle var="bundle" basename="Identity" />
+
+ <h:form>
+ <ul class="topnav">
+ <li>
+ <h:commandLink value="#{bundle.IDENTITY_VIEW_PROFILE_TITLE}" action="#{editprofilemgr.viewStart}"/>
+ </li>
+ <li id="currentTab"><h:outputText value="#{bundle.IDENTITY_EDIT_PROFILE_TITLE}" /></li>
+ </ul>
+ </h:form>
+
+ <!-- Title -->
+ <h4><ui:insert name="title">Title</ui:insert></h4>
+
+ <!-- Content -->
+ <ui:insert name="content">Content</ui:insert>
+
+
+</div>
Copied: branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/profile/status.xhtml (from rev 8204, trunk/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/profile/status.xhtml)
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/profile/status.xhtml (rev 0)
+++ branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/profile/status.xhtml 2007-09-10 11:27:54 UTC (rev 8205)
@@ -0,0 +1,20 @@
+<div
+ xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:c="http://java.sun.com/jstl/core"
+ class="identity-ui">
+
+ <f:loadBundle var="bundle" basename="Identity" />
+
+<ui:composition template="/WEB-INF/jsf/profile/editProfileTemplate.xhtml">
+
+<ui:define name="title">
+ <h:messages />
+</ui:define>
+
+<ui:define name="content" />
+
+</ui:composition>
+</div>
\ No newline at end of file
Modified: branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/profile/viewProfile.xhtml
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/profile/viewProfile.xhtml 2007-09-10 11:22:54 UTC (rev 8204)
+++ branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/profile/viewProfile.xhtml 2007-09-10 11:27:54 UTC (rev 8205)
@@ -8,23 +8,13 @@
<f:loadBundle var="bundle" basename="Identity" />
- <h:form>
- <ul class="topnav">
- <li id="currentTab"><h:outputText value="#{bundle.IDENTITY_VIEW_PROFILE_TITLE}" /></li>
- <li>
- <h:commandLink value="#{bundle.IDENTITY_EDIT_PROFILE_TITLE}" action="editProfile"/>
- </li>
- <li>
- <h:commandLink value="#{bundle.IDENTITY_EDIT_CHANGE_PASSWORD}" action="changePassword"/>
- </li>
- <li>
- <h:commandLink value="#{bundle.IDENTITY_EDIT_CHANGE_EMAIL}" action="changeEmail"/>
- </li>
- </ul>
- </h:form>
+<ui:composition template="/WEB-INF/jsf/profile/viewProfileTemplate.xhtml">
- <h4><h:outputText value="#{bundle.IDENTITY_VIEW_PROFILE_TITLE}" /></h4>
-
+<ui:define name="title">
+ <h:outputText value="#{bundle.IDENTITY_VIEW_PROFILE_TITLE}" />
+</ui:define>
+
+<ui:define name="content">
<h:panelGrid columns="2">
<h:outputText value="#{bundle.IDENTITY_USERNAME}:"/>
<h:outputText value="#{editprofilemgr.uiUser.username}"/>
@@ -37,9 +27,17 @@
<h:outputText value="#{bundle.IDENTITY_FAMILYNAME}:"/>
<h:outputText value="#{editprofilemgr.uiUser.attribute.familyname}"/>
+
+ <h:outputText value="#{bundle.IDENTITY_HOMEPAGE}:"/>
+ <h:outputText value="#{editprofilemgr.uiUser.attribute.homepage}"/>
<h:outputText value="#{bundle.IDENTITY_LOCATION}:"/>
<h:outputText value="#{editprofilemgr.uiUser.attribute.location}"/>
</h:panelGrid>
+</ui:define>
+
+</ui:composition>
+
+
</div>
Copied: branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/profile/viewProfileTemplate.xhtml (from rev 8204, trunk/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/profile/viewProfileTemplate.xhtml)
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/profile/viewProfileTemplate.xhtml (rev 0)
+++ branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/profile/viewProfileTemplate.xhtml 2007-09-10 11:27:54 UTC (rev 8205)
@@ -0,0 +1,27 @@
+<div
+ xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:c="http://java.sun.com/jstl/core"
+ class="identity-ui">
+
+ <f:loadBundle var="bundle" basename="Identity" />
+
+ <h:form>
+ <ul class="topnav">
+ <li id="currentTab"><h:outputText value="#{bundle.IDENTITY_VIEW_PROFILE_TITLE}" /></li>
+ <li>
+ <h:commandLink value="#{bundle.IDENTITY_EDIT_PROFILE_TITLE}" action="#{editprofilemgr.userEditProfile}"/>
+ </li>
+ </ul>
+ </h:form>
+
+ <!-- Title -->
+ <h4><ui:insert name="title">Title</ui:insert></h4>
+
+ <!-- Content -->
+ <ui:insert name="content">Content</ui:insert>
+
+
+</div>
Modified: branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/register/confirm.xhtml
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/register/confirm.xhtml 2007-09-10 11:22:54 UTC (rev 8204)
+++ branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/register/confirm.xhtml 2007-09-10 11:27:54 UTC (rev 8205)
@@ -8,7 +8,9 @@
<ui:composition template="/WEB-INF/jsf/register/registerTemplate.xhtml">
-<ui:define name="title">#{bundle.IDENTITY_REGISTER_TITLE_CONFIRM}</ui:define>
+<ui:define name="title">
+ <h:outputText value="#{bundle.IDENTITY_REGISTER_TITLE_CONFIRM}" />
+</ui:define>
<ui:define name="content">
<ui:decorate template="/WEB-INF/jsf/common/confirm.xhtml">
<ui:param name="manager" value="#{userregistermgr}"/>
Modified: branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/register/overview.xhtml
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/register/overview.xhtml 2007-09-10 11:22:54 UTC (rev 8204)
+++ branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/register/overview.xhtml 2007-09-10 11:27:54 UTC (rev 8205)
@@ -9,7 +9,7 @@
<ui:composition template="/WEB-INF/jsf/startTemplate.xhtml">
<ui:define name="title">
- #{bundle.IDENTITY_NOT_LOGGED_IN}
+ <h:outputText value="#{bundle.IDENTITY_NOT_LOGGED_IN}" />
</ui:define>
<ui:define name="content">
<h:form>
Modified: branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/register/register.xhtml
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/register/register.xhtml 2007-09-10 11:22:54 UTC (rev 8204)
+++ branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/register/register.xhtml 2007-09-10 11:27:54 UTC (rev 8205)
@@ -9,7 +9,7 @@
<ui:composition template="/WEB-INF/jsf/register/registerTemplate.xhtml">
<ui:define name="title">
- #{bundle.IDENTITY_REGISTER_TITLE}
+ <h:outputText value="#{bundle.IDENTITY_REGISTER_TITLE}" />
</ui:define>
<ui:define name="content">
Modified: branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/register/registerTemplate.xhtml
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/register/registerTemplate.xhtml 2007-09-10 11:22:54 UTC (rev 8204)
+++ branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/register/registerTemplate.xhtml 2007-09-10 11:27:54 UTC (rev 8205)
@@ -24,9 +24,6 @@
</c:if>
</ul>
</h:form>
-
- <!-- Status message -->
- <h:message infoClass="portlet-msg-success" errorClass="portlet-msg-error" fatalClass="portlet-msg-error" warnClass="portlet-msg-alert"/>
<!-- Title -->
<h4><ui:insert name="title">Title</ui:insert></h4>
Modified: branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/startTemplate.xhtml
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/startTemplate.xhtml 2007-09-10 11:22:54 UTC (rev 8204)
+++ branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/startTemplate.xhtml 2007-09-10 11:27:54 UTC (rev 8205)
@@ -24,9 +24,6 @@
</c:if>
</ul>
</h:form>
-
- <!-- Status message -->
- <h:message infoClass="portlet-msg-success" errorClass="portlet-msg-error" fatalClass="portlet-msg-error" warnClass="portlet-msg-alert"/>
<!-- Title -->
<h4><ui:insert name="title">Title</ui:insert></h4>
Modified: branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/validationStatus/jbp_status.xhtml
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/validationStatus/jbp_status.xhtml 2007-09-10 11:22:54 UTC (rev 8204)
+++ branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/jsf/validationStatus/jbp_status.xhtml 2007-09-10 11:27:54 UTC (rev 8205)
@@ -24,9 +24,9 @@
<c:when test="#{portletRenderParameter.operation == 'jbp_identity_validation_approval_workflow'}">
<h:outputText value="#{bundle.IDENTITY_VERIFICATION_STATUS_REGISTER_APPROVAL}" />
</c:when>
- <c:when test="#{portletRenderParameter.operation == 'custom'}">
+ <c:otherwise>
<h:outputText value="#{bundle.IDENTITY_VERIFICATION_STATUS_REGISTER_CUSTOM}" />
- </c:when>
+ </c:otherwise>
</c:choose>
</b>
@@ -46,5 +46,4 @@
</c:if>
</ul>
</div>
-
</div>
\ No newline at end of file
Modified: branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/portlet-instances.xml
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/portlet-instances.xml 2007-09-10 11:22:54 UTC (rev 8204)
+++ branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/portal-identity-war/WEB-INF/portlet-instances.xml 2007-09-10 11:27:54 UTC (rev 8205)
@@ -37,14 +37,12 @@
<instance>
<instance-id>CoreIdentityAdminPortletInstance</instance-id>
<portlet-ref>CoreIdentityAdminPortlet</portlet-ref>
-<!--
<security-constraint>
<policy-permission>
<role-name>Admin</role-name>
<action-name>view</action-name>
</policy-permission>
</security-constraint>
- -->
</instance>
</deployment>
</deployments>
\ No newline at end of file
Modified: branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/resource-bundles/Identity.properties
===================================================================
--- branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/resource-bundles/Identity.properties 2007-09-10 11:22:54 UTC (rev 8204)
+++ branches/JBoss_Portal_Branch_2_6/core-identity/src/resources/resource-bundles/Identity.properties 2007-09-10 11:27:54 UTC (rev 8205)
@@ -43,14 +43,20 @@
IDENTITY_LOST_PASSWORD_STATUS_404=No account found.
+IDENTITY_EDIT_PROFILE_ERROR=Error while updating the profile.
IDENTITY_EDIT_PASSWORD_TITLE=Change your password
IDENTITY_EDIT_PASSWORD_CURRENT=Current password
IDENTITY_EDIT_CHANGE_PASSWORD=Change password
IDENTITY_EDIT_CHANGE_PASSWORD_FOR_USER=Change password for user:
+IDENTITY_EDIT_CHANGE_PASSWORD_ERROR=Could not change your password.
+IDENTITY_EDIT_CHANGE_PASSWOR_STATUS=Your password has been updated.
IDENTITY_EDIT_EMAIL_TITLE=Change your email address
IDENTITY_EDIT_EMAIL_NEW=New email address
IDENTITY_EDIT_CHANGE_EMAIL=Change email
+IDENTITY_EDIT_CHANGE_EMAIL_ERROR=Could not change e-mail address
+IDENTITY_EDIT_CHANGE_EMAIL_STATUS_PENDING=An validation e-mail has been sent to your address.
+IDENTITY_EDIT_CHANGE_EMAIL_STATUS_CHANGED=Your e-mail address has been changed.
IDENTITY_EDIT_PROFILE_TITLE=Edit profile
IDENTITY_VIEW_PROFILE_TITLE=View profile
@@ -130,9 +136,9 @@
IDENTITY_VERIFICATION_LOGIN=Login
IDENTITY_VERIFICATION_STATUS_FAILED=Can not validate the e-mail address.
IDENTITY_VERIFICATION_STATUS_VALIDATED=E-Mail address validated.
-IDENTITY_VERIFICATION_STATUS_REGISTER_SUCCESS=Your account has been activaed. You may log in now.
+IDENTITY_VERIFICATION_STATUS_REGISTER_SUCCESS=Your account has been activated. You may log in now.
IDENTITY_VERIFICATION_STATUS_REGISTER_APPROVAL=Your e-mail address has been verified, but your account needs to be approved by the administrator.
-IDENTITY_VERIFICATION_STATUS_REGISTER_CUSTOM=Your e-mail address has been verified.
+IDENTITY_VERIFICATION_STATUS_REGISTER_CUSTOM=Your account has been activated. You may log in now.
IDENTITY_VALIDATION_ERROR_REGISTRATION=Failed to register user.
IDENTITY_VALIDATION_ERROR_USERNAME_TAKEN=Sorry - This username is already taken.
18 years, 7 months