Author: mwringe
Date: 2008-11-06 12:07:57 -0500 (Thu, 06 Nov 2008)
New Revision: 12256
Modified:
branches/JBoss_Portal_AS5_Deployer/core/src/main/org/jboss/portal/core/deployment/jboss/PortletAppDeployment.java
branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-core-sar/META-INF/jboss-service.xml
branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-core-sar/conf/hibernate/instance/hibernate.cfg.xml
branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-core-sar/conf/hibernate/portal/hibernate.cfg.xml
branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-core-sar/conf/hibernate/portlet/hibernate.cfg.xml
branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-core-sar/conf/hibernate/user/hibernate.cfg.xml
branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-core-sar/conf/hibernate/workflow/hibernate.cfg.xml
branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-core-sar/portal-aop.xml
branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-server-war/WEB-INF/jboss-web.xml
branches/JBoss_Portal_AS5_Deployer/portlet-server/src/main/org/jboss/portal/portlet/deployment/jboss/PortletAppDeployment.java
branches/JBoss_Portal_AS5_Deployer/server/build.xml
branches/JBoss_Portal_AS5_Deployer/server/src/main/org/jboss/portal/server/deployment/PortalWebApp.java
branches/JBoss_Portal_AS5_Deployer/server/src/main/org/jboss/portal/server/deployment/PortalWebAppFactory.java
branches/JBoss_Portal_AS5_Deployer/server/src/main/org/jboss/portal/server/deployment/PortalWebTomcat6App.java
branches/JBoss_Portal_AS5_Deployer/server/src/main/org/jboss/portal/server/deployment/WebAppIntercepter.java
branches/JBoss_Portal_AS5_Deployer/server/src/main/org/jboss/portal/server/deployment/jboss/Deployment.java
branches/JBoss_Portal_AS5_Deployer/server/src/main/org/jboss/portal/server/deployment/jboss/ServerDeployer.java
branches/JBoss_Portal_AS5_Deployer/theme/src/main/org/jboss/portal/test/theme/tmp/TestHelper.java
Log:
initial check-in of changes to the branch.
Modified:
branches/JBoss_Portal_AS5_Deployer/core/src/main/org/jboss/portal/core/deployment/jboss/PortletAppDeployment.java
===================================================================
---
branches/JBoss_Portal_AS5_Deployer/core/src/main/org/jboss/portal/core/deployment/jboss/PortletAppDeployment.java 2008-11-06
16:10:39 UTC (rev 12255)
+++
branches/JBoss_Portal_AS5_Deployer/core/src/main/org/jboss/portal/core/deployment/jboss/PortletAppDeployment.java 2008-11-06
17:07:57 UTC (rev 12256)
@@ -87,6 +87,8 @@
public void start() throws DeploymentException
{
+ //disable since we want to use the one from the deployer module
+ if (true) return;
// Inject services if needed
injectServices();
Modified:
branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-core-sar/META-INF/jboss-service.xml
===================================================================
---
branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-core-sar/META-INF/jboss-service.xml 2008-11-06
16:10:39 UTC (rev 12255)
+++
branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-core-sar/META-INF/jboss-service.xml 2008-11-06
17:07:57 UTC (rev 12256)
@@ -41,6 +41,7 @@
<entry key="-//JBoss Portal//DTD JBoss App
2.6//EN">dtd/jboss-app_2_6.dtd</entry>
<entry key="-//JBoss Portal//DTD Portal Object
2.6//EN">dtd/portal-object_2_6.dtd</entry>
<entry key="-//JBoss Portal//DTD Portlet Instances
2.6//EN">dtd/portlet-instances_2_6.dtd</entry>
+ <entry key="-//JBoss Portal//DTD JBoss Portal Application
2.6//EN">dtd/jboss-portal-app_2_6.dtd</entry>
</properties>
</attribute>
</mbean>
@@ -1176,7 +1177,9 @@
<mbean code="org.jboss.portal.server.deployment.WebAppAdapter"
name="portal:deployer=Adapter" xmbean-dd=""
xmbean-code="org.jboss.portal.jems.as.system.JBossServiceModelMBean">
<xmbean/>
- <depends
optional-attribute-name="InterceptedDeployer">jboss.web:service=WebServer</depends>
+ <attribute name="PortalDeployer">
+ <inject bean="PortalPostWebDeployer"/>
+ </attribute>
<depends optional-attribute-name="Deployer"
proxy-type="attribute">portal:deployer=PortalWebApp</depends>
<depends optional-attribute-name="JBossAppEntityResolver"
proxy-type="attribute">portal:service=EntityResolver
</depends>
Modified:
branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-core-sar/conf/hibernate/instance/hibernate.cfg.xml
===================================================================
---
branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-core-sar/conf/hibernate/instance/hibernate.cfg.xml 2008-11-06
16:10:39 UTC (rev 12255)
+++
branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-core-sar/conf/hibernate/instance/hibernate.cfg.xml 2008-11-06
17:07:57 UTC (rev 12256)
@@ -29,7 +29,9 @@
<session-factory>
<property
name="connection.datasource">java:@portal.datasource.name@</property>
<property name="show_sql">@portal.sql.show(a)</property>
- <property
name="cache.use_second_level_cache">true</property>
+ <!-- todo: renamble second level cache
+ <property name="cache.use_second_level_cache">true</property>
-->
+ <property
name="cache.use_second_level_cache">false</property>
<property name="cache.use_query_cache">false</property>
<property name="hibernate.hbm2ddl.auto">update</property>
@@ -57,4 +59,4 @@
<!-- Mapping files -->
<mapping resource="conf/hibernate/instance/domain.hbm.xml"/>
</session-factory>
-</hibernate-configuration>
\ No newline at end of file
+</hibernate-configuration>
Modified:
branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-core-sar/conf/hibernate/portal/hibernate.cfg.xml
===================================================================
---
branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-core-sar/conf/hibernate/portal/hibernate.cfg.xml 2008-11-06
16:10:39 UTC (rev 12255)
+++
branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-core-sar/conf/hibernate/portal/hibernate.cfg.xml 2008-11-06
17:07:57 UTC (rev 12256)
@@ -29,7 +29,9 @@
<session-factory>
<property
name="connection.datasource">java:@portal.datasource.name@</property>
<property name="show_sql">@portal.sql.show(a)</property>
- <property
name="cache.use_second_level_cache">true</property>
+ <!-- todo: renable second level cache
+ <property name="cache.use_second_level_cache">true</property>
-->
+ <property
name="cache.use_second_level_cache">false</property>
<property name="cache.use_query_cache">false</property>
<property name="hibernate.hbm2ddl.auto">update</property>
<!--
@@ -56,4 +58,4 @@
<!-- Mapping files -->
<mapping resource="conf/hibernate/portal/domain.hbm.xml"/>
</session-factory>
-</hibernate-configuration>
\ No newline at end of file
+</hibernate-configuration>
Modified:
branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-core-sar/conf/hibernate/portlet/hibernate.cfg.xml
===================================================================
---
branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-core-sar/conf/hibernate/portlet/hibernate.cfg.xml 2008-11-06
16:10:39 UTC (rev 12255)
+++
branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-core-sar/conf/hibernate/portlet/hibernate.cfg.xml 2008-11-06
17:07:57 UTC (rev 12256)
@@ -29,7 +29,9 @@
<session-factory>
<property
name="connection.datasource">java:@portal.datasource.name@</property>
<property name="show_sql">@portal.sql.show(a)</property>
- <property
name="cache.use_second_level_cache">true</property>
+ <!-- todo: renable second level cache
+ <property name="cache.use_second_level_cache">true</property>
-->
+ <property
name="cache.use_second_level_cache">false</property>
<property name="cache.use_query_cache">false</property>
<!--
@@ -56,4 +58,4 @@
<!-- Mapping files -->
<mapping resource="conf/hibernate/portlet/domain.hbm.xml"/>
</session-factory>
-</hibernate-configuration>
\ No newline at end of file
+</hibernate-configuration>
Modified:
branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-core-sar/conf/hibernate/user/hibernate.cfg.xml
===================================================================
---
branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-core-sar/conf/hibernate/user/hibernate.cfg.xml 2008-11-06
16:10:39 UTC (rev 12255)
+++
branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-core-sar/conf/hibernate/user/hibernate.cfg.xml 2008-11-06
17:07:57 UTC (rev 12256)
@@ -29,7 +29,9 @@
<session-factory>
<property
name="connection.datasource">java:@portal.datasource.name@</property>
<property name="show_sql">@portal.sql.show(a)</property>
- <property
name="cache.use_second_level_cache">true</property>
+ <!-- todo: renable second level cache
+ <property name="cache.use_second_level_cache">true</property>
-->
+ <property
name="cache.use_second_level_cache">false</property>
<property name="cache.use_query_cache">false</property>
<!--
@@ -56,4 +58,4 @@
<!-- Mapping files -->
<mapping resource="conf/hibernate/user/domain.hbm.xml"/>
</session-factory>
-</hibernate-configuration>
\ No newline at end of file
+</hibernate-configuration>
Modified:
branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-core-sar/conf/hibernate/workflow/hibernate.cfg.xml
===================================================================
---
branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-core-sar/conf/hibernate/workflow/hibernate.cfg.xml 2008-11-06
16:10:39 UTC (rev 12255)
+++
branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-core-sar/conf/hibernate/workflow/hibernate.cfg.xml 2008-11-06
17:07:57 UTC (rev 12256)
@@ -15,10 +15,11 @@
<property name="hibernate.use_sql_comments">true</property>
<!-- caching properties -->
+ <!-- todo: renable second level cache
<property name="cache.use_second_level_cache">true</property>
<property name="cache.use_query_cache">true</property>
<property
name="cache.provider_configuration_file_resource_path">conf/hibernate/workflow/ehcache.xml</property>
- <property
name="cache.provider_class">org.hibernate.cache.EhCacheProvider</property>
+ <property
name="cache.provider_class">org.hibernate.cache.EhCacheProvider</property>
-->
<!-- managed environment transaction configuration -->
<property
Modified:
branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-core-sar/portal-aop.xml
===================================================================
---
branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-core-sar/portal-aop.xml 2008-11-06
16:10:39 UTC (rev 12255)
+++
branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-core-sar/portal-aop.xml 2008-11-06
17:07:57 UTC (rev 12256)
@@ -21,7 +21,7 @@
~ 02110-1301 USA, or see the FSF site:
http://www.fsf.org. ~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->
-<aop>
+<aop xmlns="urn:jboss:aop-beans:1.0">
<metadata tag="transaction"
class="org.jboss.portal.core.aspects.server.TransactionInterceptor">
<method name="invoke">
<trans-attribute>RequiresNew</trans-attribute>
@@ -110,4 +110,4 @@
<application-exceptions>org.jboss.portal.portlet.InvalidPortletIdException</application-exceptions>
</method>
</metadata>
-</aop>
\ No newline at end of file
+</aop>
Modified:
branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-server-war/WEB-INF/jboss-web.xml
===================================================================
---
branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-server-war/WEB-INF/jboss-web.xml 2008-11-06
16:10:39 UTC (rev 12255)
+++
branches/JBoss_Portal_AS5_Deployer/core/src/resources/portal-server-war/WEB-INF/jboss-web.xml 2008-11-06
17:07:57 UTC (rev 12256)
@@ -23,7 +23,7 @@
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~-->
<jboss-web>
- <security-domain>java:jaas/portal</security-domain>
+ <security-domain>java:/jaas/portal</security-domain>
<context-root>@portal.web.context-root(a)</context-root>
<replication-config>
<replication-trigger>SET</replication-trigger>
Modified:
branches/JBoss_Portal_AS5_Deployer/portlet-server/src/main/org/jboss/portal/portlet/deployment/jboss/PortletAppDeployment.java
===================================================================
---
branches/JBoss_Portal_AS5_Deployer/portlet-server/src/main/org/jboss/portal/portlet/deployment/jboss/PortletAppDeployment.java 2008-11-06
16:10:39 UTC (rev 12255)
+++
branches/JBoss_Portal_AS5_Deployer/portlet-server/src/main/org/jboss/portal/portlet/deployment/jboss/PortletAppDeployment.java 2008-11-06
17:07:57 UTC (rev 12256)
@@ -100,6 +100,9 @@
public void create() throws DeploymentException
{
+ //disable for now so we can use the new deployer
+ if (true) return;
+
importTLD();
//
@@ -111,7 +114,7 @@
//
if (jbossAppMD.getId() == null)
{
- log.debug("The portlet application does not have an explicit id value,
will use the value provided by the jboss-app.xml instead");
+ log.debug("The portlet application does not have an explicit id value,
will use the value provided by the jboss-portal-app.xml instead");
jbossAppMD.setId(pwa.getId());
}
@@ -159,7 +162,9 @@
public void start() throws DeploymentException
{
-
+ //disable for now to use new deployer
+ if (true) return;
+
log.debug("Starting installation");
//
@@ -330,6 +335,9 @@
public void destroy() throws DeploymentException
{
+ //disable for now to use new deployer
+ if (true) return;
+
portletApplicationLifeCycle.destroy();
// portletApplicationContext.stopPortletApplication();
Modified: branches/JBoss_Portal_AS5_Deployer/server/build.xml
===================================================================
--- branches/JBoss_Portal_AS5_Deployer/server/build.xml 2008-11-06 16:10:39 UTC (rev
12255)
+++ branches/JBoss_Portal_AS5_Deployer/server/build.xml 2008-11-06 17:07:57 UTC (rev
12256)
@@ -94,6 +94,7 @@
<path refid="jboss.portal/modules/portlet.classpath"/>
<path refid="jboss.portal/modules/web.classpath"/>
<path refid="jboss.portal/modules/test.classpath"/>
+ <path refid="jboss.portal/modules/deployer.classpath"/>
<pathelement
location="${jboss.portal/modules/test.lib}/portal-test-jboss-lib.jar"/>
<path refid="dom4j.dom4j.classpath"/>
<path refid="oswego.concurrent.classpath"/>
@@ -107,6 +108,7 @@
<path refid="junit.junit.classpath"/>
<path refid="jboss.test.classpath"/>
<path refid="sun.servlet.classpath"/>
+ <path refid="jboss.web.classpath"/>
<pathelement location="jboss-bean-deployer.jar"/>
<pathelement location="jboss-container.jar"/>
<pathelement location="jboss-dependency.jar"/>
@@ -201,6 +203,7 @@
<fileset dir="${jboss.portal/modules/common.lib}"
includes="portal-common-lib.jar"/>
<fileset dir="${jboss.portal-jems.root}/lib"
includes="portal-jems-lib.jar"/>
<fileset dir="${jboss.portal/modules/web.lib}"
includes="portal-web-lib.jar"/>
+ <fileset dir="${jboss.portal/modules/deployer.lib}"
includes="deployer-deployer-trunk-SNAPSHOT.jar"/>
<fileset dir="${build.lib}"
includes="test-agent.war"/>
<fileset dir="${build.lib}"
includes="portal-server-lib.jar"/>
<fileset dir="${build.lib}"
includes="portal-server-test-lib.jar"/>
@@ -222,6 +225,7 @@
<fileset dir="${jboss.portal/modules/test.lib}"
includes="portal-test-lib.jar"/>
<fileset dir="${jboss.portal/modules/common.lib}"
includes="portal-common-lib.jar"/>
<fileset dir="${jboss.portal/modules/web.lib}"
includes="portal-web-lib.jar"/>
+ <fileset dir="${jboss.portal/modules/deployer.lib}"
includes="deployer-deployer-trunk-SNAPSHOT.jar"/>
<fileset dir="${jboss.portal-jems.root}/lib"
includes="portal-jems-lib.jar"/>
<fileset dir="${build.lib}"
includes="test-agent.war"/>
<fileset dir="${build.lib}"
includes="portal-server-lib.jar"/>
@@ -238,6 +242,7 @@
<fileset dir="${jboss.portal/modules/test.lib}"
includes="portal-test-lib.jar"/>
<fileset dir="${jboss.portal/modules/common.lib}"
includes="portal-common-lib.jar"/>
<fileset dir="${jboss.portal/modules/web.lib}"
includes="portal-web-lib.jar"/>
+ <fileset dir="${jboss.portal/modules/deployer.lib}"
includes="deployer-deployer-trunk-SNAPSHOT.jar"/>
<fileset dir="${jboss.portal-jems.root}/lib"
includes="portal-jems-lib.jar"/>
<fileset dir="${build.lib}"
includes="test-agent.war"/>
<fileset dir="${build.lib}"
includes="portal-server-lib.jar"/>
@@ -252,6 +257,7 @@
<fileset dir="${jboss.portal/modules/common.lib}"
includes="portal-common-lib.jar"/>
<fileset dir="${jboss.portal-jems.root}/lib"
includes="portal-jems-lib.jar"/>
<fileset dir="${jboss.portal/modules/web.lib}"
includes="portal-web-lib.jar"/>
+ <fileset dir="${jboss.portal/modules/deployer.lib}"
includes="deployer-deployer-trunk-SNAPSHOT.jar"/>
<fileset dir="${build.lib}"
includes="test-agent.war"/>
<fileset dir="${build.lib}"
includes="portal-server-lib.jar"/>
<fileset dir="${build.lib}"
includes="portal-server-test-lib.jar"/>
Modified:
branches/JBoss_Portal_AS5_Deployer/server/src/main/org/jboss/portal/server/deployment/PortalWebApp.java
===================================================================
---
branches/JBoss_Portal_AS5_Deployer/server/src/main/org/jboss/portal/server/deployment/PortalWebApp.java 2008-11-06
16:10:39 UTC (rev 12255)
+++
branches/JBoss_Portal_AS5_Deployer/server/src/main/org/jboss/portal/server/deployment/PortalWebApp.java 2008-11-06
17:07:57 UTC (rev 12256)
@@ -204,7 +204,7 @@
}
/**
- * Read jboss-app.xml deployment and fetch the overriden id if it exists.
+ * Read jboss-portal-app.xml deployment and fetch the overriden id if it exists.
*
* @return the app id or null if it does not exists
*/
@@ -214,18 +214,18 @@
InputStream in = null;
try
{
- in =
IOTools.safeBufferedWrapper(getServletContext().getResourceAsStream("/WEB-INF/jboss-app.xml"));
+ in =
IOTools.safeBufferedWrapper(getServletContext().getResourceAsStream("/WEB-INF/jboss-portal-app.xml"));
if (in != null)
{
DocumentBuilder builder =
XMLTools.getDocumentBuilderFactory().newDocumentBuilder();
if (jbossAppEntityResolver == null)
{
- log.debug("Coult not obtain entity resolver for
jboss-app.xml");
+ log.debug("Coult not obtain entity resolver for
jboss-portal-app.xml");
jbossAppEntityResolver = new NullEntityResolver();
}
else
{
- log.debug("Obtained entity resolver " + jbossAppEntityResolver +
" for jboss-app.xml");
+ log.debug("Obtained entity resolver " + jbossAppEntityResolver +
" for jboss-portal-app.xml");
}
builder.setEntityResolver(jbossAppEntityResolver);
descriptor = builder.parse(in);
@@ -233,15 +233,15 @@
}
catch (IOException e)
{
- log.debug("Cannot read jboss-app.xml", e);
+ log.debug("Cannot read jboss-portal-app.xml", e);
}
catch (ParserConfigurationException e)
{
- log.debug("Cannot read jboss-app.xml", e);
+ log.debug("Cannot read jboss-portal-app.xml", e);
}
catch (SAXException e)
{
- log.debug("Cannot read jboss-app.xml", e);
+ log.debug("Cannot read jboss-portal-app.xml", e);
}
finally
{
Modified:
branches/JBoss_Portal_AS5_Deployer/server/src/main/org/jboss/portal/server/deployment/PortalWebAppFactory.java
===================================================================
---
branches/JBoss_Portal_AS5_Deployer/server/src/main/org/jboss/portal/server/deployment/PortalWebAppFactory.java 2008-11-06
16:10:39 UTC (rev 12255)
+++
branches/JBoss_Portal_AS5_Deployer/server/src/main/org/jboss/portal/server/deployment/PortalWebAppFactory.java 2008-11-06
17:07:57 UTC (rev 12256)
@@ -112,6 +112,10 @@
{
return TOMCAT6;
}
+ else if (result.startsWith("JBoss Web/2"))
+ {
+ return TOMCAT6;
+ }
else
{
log.error("Cannot handle tomcat version: " + result);
Modified:
branches/JBoss_Portal_AS5_Deployer/server/src/main/org/jboss/portal/server/deployment/PortalWebTomcat6App.java
===================================================================
---
branches/JBoss_Portal_AS5_Deployer/server/src/main/org/jboss/portal/server/deployment/PortalWebTomcat6App.java 2008-11-06
16:10:39 UTC (rev 12255)
+++
branches/JBoss_Portal_AS5_Deployer/server/src/main/org/jboss/portal/server/deployment/PortalWebTomcat6App.java 2008-11-06
17:07:57 UTC (rev 12256)
@@ -22,6 +22,7 @@
******************************************************************************/
package org.jboss.portal.server.deployment;
+import org.apache.catalina.deploy.SessionCookie;
import org.jboss.portal.web.command.CommandServlet;
import org.jboss.web.WebApplication;
import org.xml.sax.EntityResolver;
@@ -159,6 +160,10 @@
Method addChildMethod = containerBaseClass.getMethod("addChild", new
Class[]{containerItf});
addChildMethod.invoke(standardContext, new Object[]{wrapper});
+ Method getSessionCookie = contextItf.getMethod("getSessionCookie", new
Class[]{});
+ SessionCookie cookie = (SessionCookie) getSessionCookie.invoke(standardContext, new
Object[]{});
+ cookie.setPath("/");
+
Method addServletMapping = contextItf.getMethod("addServletMapping", new
Class[]{String.class, String.class});
addServletMapping.invoke(standardContext, new Object[]{"/jbossportlet",
"CommandServlet"});
Modified:
branches/JBoss_Portal_AS5_Deployer/server/src/main/org/jboss/portal/server/deployment/WebAppIntercepter.java
===================================================================
---
branches/JBoss_Portal_AS5_Deployer/server/src/main/org/jboss/portal/server/deployment/WebAppIntercepter.java 2008-11-06
16:10:39 UTC (rev 12255)
+++
branches/JBoss_Portal_AS5_Deployer/server/src/main/org/jboss/portal/server/deployment/WebAppIntercepter.java 2008-11-06
17:07:57 UTC (rev 12256)
@@ -24,6 +24,8 @@
import org.jboss.deployment.DeploymentInfo;
import org.jboss.deployment.SubDeployer;
+import org.jboss.portal.deployer.portal.PortalPostWebDeployer;
+import org.jboss.portal.deployer.portal.WebDeploymentListener;
import org.jboss.portal.jems.as.system.AbstractJBossService;
import org.jboss.web.WebApplication;
import org.xml.sax.EntityResolver;
@@ -52,15 +54,12 @@
*/
public abstract class WebAppIntercepter
extends AbstractJBossService
- implements NotificationListener
+ implements WebDeploymentListener
+ //implements NotificationListener
{
/** WARDeployer. */
- private ObjectName interceptedDeployer;
- /** A copy of the WARDeployer used for notification subscription removal. */
- private ObjectName currentInterceptedDeployer;
-
/** The current deployements. */
private Map deployments;
@@ -73,6 +72,8 @@
/** The entity resolver for jboss-app.xml. */
private EntityResolver jbossAppEntityResolver;
+ private PortalPostWebDeployer portalDeployer;
+
public WebAppIntercepter()
{
deployments = Collections.synchronizedMap(new HashMap());
@@ -89,144 +90,82 @@
this.jbossAppEntityResolver = jbossAppEntityResolver;
}
- /** Set the deployer on this service. */
- public void setInterceptedDeployer(ObjectName interceptedDeployer)
+ public void setPortalDeployer(PortalPostWebDeployer portalDeployer)
{
- this.interceptedDeployer = interceptedDeployer;
+ this.portalDeployer = portalDeployer;
}
+ /** Set the deployer on this service. */
+ public void portalDeployed(WebApplication webapp)
+ {
+ ClassLoader previousLoader = Thread.currentThread().getContextClassLoader();
+ try
+ {
+ Thread.currentThread().setContextClassLoader(classLoader);
+
+ PortalWebApp pwa = factory.create(webapp, jbossAppEntityResolver);
+ deployments.put(webapp.getURL(), pwa);
+ log.debug("Seen URL " + webapp.getURL() + " about to deploy");
+ deploy(pwa);
+ } catch (Exception e){
+ e.printStackTrace();
+ } finally
+ {
+ Thread.currentThread().setContextClassLoader(previousLoader);
+ }
/** Return the intercepted deployer. */
- public ObjectName getInterceptedDeployer()
+ }
+
+ public void portalUndeployed(WebApplication webapp)
{
- return interceptedDeployer;
+
+ PortalWebApp pwa = (PortalWebApp)deployments.remove(webapp.getURL());
+ if (pwa != null)
+ {
+ log.debug("Undeploying URL " + webapp.getURL());
+ undeploy(pwa);
+ }
}
+
+// /** Set the deployer on this service. */
+// public void setInterceptedDeployer(ObjectName interceptedDeployer)
+// {
+// this.interceptedDeployer = interceptedDeployer;
+// }
+ /** Return the intercepted deployer. */
+ //public ObjectName getInterceptedDeployer()
+ //{
+ //return interceptedDeployer;
+ //}
+
/** Clone and return the deployed URLs. */
public Collection getDeployedURLs()
{
return new ArrayList(deployments.keySet());
}
- private WebApplication findWebApp(DeploymentInfo info) throws Exception
- {
- // Get all the deployed web applications, our must be among these
- Iterator iterator = (Iterator)server.getAttribute(interceptedDeployer,
"DeployedApplications");
- while (iterator.hasNext())
- {
- WebApplication webApp = (WebApplication)iterator.next();
- if (info == webApp.getDeploymentInfo())
- {
- return webApp;
- }
- }
- // Not found
- return null;
- }
-
- /** Only take care of start notifications. */
- public void handleNotification(Notification notification, Object handback)
- {
- String type = notification.getType();
- boolean start = SubDeployer.START_NOTIFICATION.equals(type);
- boolean stop = SubDeployer.STOP_NOTIFICATION.equals(type);
-
- // Do we do something ?
- if (start || stop)
- {
- // The previous loader
- ClassLoader previousLoader = Thread.currentThread().getContextClassLoader();
-
- try
- {
- // This call is coming with the MainDeployer classloader as context loader
- // For this call we change the context loader to the container one.
- Thread.currentThread().setContextClassLoader(classLoader);
-
- // Create the portal web app
- DeploymentInfo info = (DeploymentInfo)notification.getUserData();
-
- //
- URL keyURL = info.url;
-
- //
- if (start)
- {
- WebApplication webApp = findWebApp(info);
- PortalWebApp pwa = factory.create(webApp, jbossAppEntityResolver);
- deployments.put(keyURL, pwa);
- log.debug("Seen URL " + keyURL + " about to deploy");
- deploy(pwa);
- }
- if (stop)
- {
- // Look if we have something for that url
- PortalWebApp pwa = (PortalWebApp)deployments.remove(keyURL);
-
- // Notify
- if (pwa != null)
- {
- log.debug("Undeploying URL " + keyURL);
- undeploy(pwa);
- }
- }
- }
- catch (Exception e)
- {
- log.error("Cannot handle the intercepted deployment", e);
- }
- finally
- {
- // Put previous context loader back
- Thread.currentThread().setContextClassLoader(previousLoader);
- }
- }
- }
-
/** Start listening to the deployer notifications. */
protected void startService() throws Exception
{
- if (interceptedDeployer != null)
+ if (portalDeployer != null)
{
// Create factory
factory = new PortalWebAppFactory(server);
-
- // Copy the name for the stop phase
- currentInterceptedDeployer = interceptedDeployer;
-
- // Register to notifications
- log.debug("Start listening notifications from intercepted deployer" +
currentInterceptedDeployer);
- server.addNotificationListener(currentInterceptedDeployer, this, null, null);
-
- // Scans all the previously deployed applications
- Iterator iterator = (Iterator)server.getAttribute(currentInterceptedDeployer,
"DeployedApplications");
- log.debug("Scan previously deployed web applications");
- while (iterator.hasNext())
- {
- WebApplication webApp = (WebApplication)iterator.next();
- URL keyURL = webApp.getDeploymentInfo().url;
- if (!deployments.containsKey(keyURL))
- {
- PortalWebApp pwa = factory.create(webApp, jbossAppEntityResolver);
- deployments.put(keyURL, pwa);
- log.debug("Seen URL " + keyURL + " about to deploy");
- deploy(pwa);
- }
- }
-
+ portalDeployer.addDeploymentListener(this);
}
else
{
- throw new Exception("No intercepted deployer name present");
+ throw new Exception ("PortalDeployer not present");
}
}
/** Stop listening to the deployer notifications. */
protected void stopService() throws Exception
{
- if (currentInterceptedDeployer != null)
- {
- // Remove all previously deployed applications
+ if (portalDeployer != null)
+ {
for (Iterator i = deployments.entrySet().iterator(); i.hasNext();)
{
Map.Entry entry = (Map.Entry)i.next();
@@ -236,17 +175,9 @@
log.debug("Removing web application with URL " + keyURL);
undeploy(pwa);
}
-
- // Do not listen notifications anymore
- log.debug("Stop listening notifications from intercepted deployer" +
currentInterceptedDeployer);
- server.removeNotificationListener(currentInterceptedDeployer, this);
-
- // Remove factory
- factory = null;
-
- //
- currentInterceptedDeployer = null;
- }
+ portalDeployer.removeDeploymentListener(this);
+ factory = null;
+ }
}
/** Perform the deploy notification. */
Modified:
branches/JBoss_Portal_AS5_Deployer/server/src/main/org/jboss/portal/server/deployment/jboss/Deployment.java
===================================================================
---
branches/JBoss_Portal_AS5_Deployer/server/src/main/org/jboss/portal/server/deployment/jboss/Deployment.java 2008-11-06
16:10:39 UTC (rev 12255)
+++
branches/JBoss_Portal_AS5_Deployer/server/src/main/org/jboss/portal/server/deployment/jboss/Deployment.java 2008-11-06
17:07:57 UTC (rev 12256)
@@ -99,7 +99,7 @@
{
try
{
- if ("file".equals(warURL.getProtocol()))
+ if ("file".equals(warURL.getProtocol()) ||
"vfsfile".equals(warURL.getProtocol()))
{
File f = new File(warURL.getFile());
f = new File(f, "WEB-INF");
Modified:
branches/JBoss_Portal_AS5_Deployer/server/src/main/org/jboss/portal/server/deployment/jboss/ServerDeployer.java
===================================================================
---
branches/JBoss_Portal_AS5_Deployer/server/src/main/org/jboss/portal/server/deployment/jboss/ServerDeployer.java 2008-11-06
16:10:39 UTC (rev 12255)
+++
branches/JBoss_Portal_AS5_Deployer/server/src/main/org/jboss/portal/server/deployment/jboss/ServerDeployer.java 2008-11-06
17:07:57 UTC (rev 12256)
@@ -40,6 +40,8 @@
import java.util.Map;
import java.util.Set;
+import javax.management.ObjectName;
+
/**
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
* @version $Revision$
@@ -116,6 +118,13 @@
PortalDeploymentInfo pdi = new PortalDeploymentInfo(setupURL, server);
pdi.deployer = this;
infoContexts.put(pdi.url, new PortalDeploymentInfoContext(pdi));
+ // TODO: figure out proper place to put this
+ try{
+ mainDeployer.setServiceController(new
ObjectName("jboss.system:service=ServiceController"));
+ } catch (Exception e)
+ {
+ e.printStackTrace();
+ }
mainDeployer.deploy(pdi);
}
catch (DeploymentException e)
@@ -244,12 +253,18 @@
instrument(pwa);
// Create the deployment object
- RepositoryClassLoader rcl =
Deployment.findRepositoryClassLoader(pwa.getClassLoader());
+
+ //TODO: figure out why exactly this is needed and why it fails on JBoss AS5
+ //RepositoryClassLoader rcl =
Deployment.findRepositoryClassLoader(pwa.getClassLoader());
+
URL url = Deployment.findWEBINFURL(pwa.getURL());
// Create our deployment info object and pass it to main deployer
PortalDeploymentInfo pdi = new PortalDeploymentInfo(url, null, pwa, server);
- pdi.ucl = rcl;
+
+ //renable when/if rcl is figured out above.
+ //pdi.ucl = rcl;
+
pdi.deployer = this;
// Put it in the map
Modified:
branches/JBoss_Portal_AS5_Deployer/theme/src/main/org/jboss/portal/test/theme/tmp/TestHelper.java
===================================================================
---
branches/JBoss_Portal_AS5_Deployer/theme/src/main/org/jboss/portal/test/theme/tmp/TestHelper.java 2008-11-06
16:10:39 UTC (rev 12255)
+++
branches/JBoss_Portal_AS5_Deployer/theme/src/main/org/jboss/portal/test/theme/tmp/TestHelper.java 2008-11-06
17:07:57 UTC (rev 12256)
@@ -326,6 +326,11 @@
{
return null; //To change body of implemented methods use File | Settings | File
Templates.
}
+
+ public String getContextPath()
+ {
+ return null; //To change body of implemented methods use File | Settings | File
Templates.
+ }
}