Author: thomas.diesler(a)jboss.com
Date: 2007-07-13 11:42:07 -0400 (Fri, 13 Jul 2007)
New Revision: 3884
Added:
trunk/build/hudson/hudson-home/users/maeste/
trunk/build/hudson/hudson-home/users/maeste/config.xml
trunk/integration/jboss40/src/main/resources/
trunk/integration/jboss40/src/main/resources/jbossws-jboss40-config.xml
trunk/integration/jboss40/src/main/resources/jbossws-jboss40.sar/
trunk/integration/jboss40/src/main/resources/jbossws-jboss40.sar/META-INF/
trunk/integration/jboss40/src/main/resources/jbossws-jboss40.sar/META-INF/jboss-service-no-ejb3.xml
trunk/integration/jboss40/src/main/resources/jbossws-jboss40.sar/META-INF/jboss-service.xml
trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/ClassLoaderInjectionDeploymentAspect.java
trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/ModifyWebMetaDataDeploymentAspect.java
trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/UnifiedDeploymentInfoDeploymentAspect.java
trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/WebAppDeploymentAspect.java
trunk/integration/jboss42/src/main/resources/jbossws-jboss42-config.xml
trunk/integration/jboss42/src/main/resources/jbossws-jboss42.sar/
trunk/integration/jboss42/src/main/resources/jbossws-jboss42.sar/META-INF/
trunk/integration/jboss42/src/main/resources/jbossws-jboss42.sar/META-INF/jboss-service.xml
trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/ClassLoaderInjectionDeploymentAspect.java
trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/ModifyWebMetaDataDeploymentAspect.java
trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/UnifiedDeploymentInfoDeploymentAspect.java
trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/WebAppDeploymentAspect.java
trunk/integration/jboss50/src/main/resources/jbossws-jboss50.deployer/
trunk/integration/jboss50/src/main/resources/jbossws-jboss50.deployer/META-INF/
trunk/integration/jboss50/src/main/resources/jbossws-jboss50.deployer/META-INF/jbossws-deployer-beans.xml
trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/EagerInitializeDeploymentAspect.java
trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/EventingDeploymentAspect.java
trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/PublishContractDeploymentAspect.java
trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/ServiceEndpointInvokerDeploymentAspect.java
trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/UnifiedMetaDataDeploymentAspect.java
trunk/integration/native/src/main/resources/jbossws-native-config.xml
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/BackwardCompatibleContextRootDeploymentAspect.java
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/BackwardCompatibleURLPatternDeploymentAspect.java
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/BasicDeploymentAspectManager.java
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/ContextPropertiesDeploymentAspect.java
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/ContextRootDeploymentAspect.java
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/DeploymentAspect.java
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/DeploymentAspectInstaller.java
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/DeploymentAspectManager.java
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointHandlerDeploymentAspect.java
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointLifecycleDeploymentAspect.java
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointMetricsDeploymentAspect.java
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointNameDeploymentAspect.java
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointRegistryDeploymentAspect.java
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/URLPatternDeploymentAspect.java
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/WebAppDesciptorModifierImpl.java
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/WebAppGeneratorDeploymentAspect.java
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/BasicInvocationHandler.java
trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/SunJaxwsDeploymentAspect.java
trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri50/ModifyWebMetaDataDeploymentAspect.java
trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/XFireServicesDeploymentAspect.java
trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire50/ModifyWebMetaDataDeploymentAspect.java
Removed:
trunk/integration/jboss40/src/main/resources/jbossws-jboss40-config.xml
trunk/integration/jboss40/src/main/resources/jbossws-jboss40.sar/
trunk/integration/jboss40/src/main/resources/jbossws-jboss40.sar/META-INF/
trunk/integration/jboss40/src/main/resources/jbossws-jboss40.sar/META-INF/jboss-service-no-ejb3.xml
trunk/integration/jboss40/src/main/resources/jbossws-jboss40.sar/META-INF/jboss-service.xml
trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/ClassLoaderInjectionDeployer.java
trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/ModifyWebMetaDataDeployer.java
trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/UnifiedDeploymentInfoDeployer.java
trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/WebAppDeployerDeployer.java
trunk/integration/jboss42/src/main/resources/jbossws-jboss42.sar/META-INF/
trunk/integration/jboss42/src/main/resources/jbossws-jboss42.sar/META-INF/jboss-service.xml
trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/ClassLoaderInjectionDeployer.java
trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/ModifyWebMetaDataDeployer.java
trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/UnifiedDeploymentInfoDeployer.java
trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/WebAppDeployerDeployer.java
trunk/integration/jboss50/src/main/resources/jbossws-jboss50.deployer/META-INF/
trunk/integration/jboss50/src/main/resources/jbossws-jboss50.deployer/META-INF/jbossws-deployer-beans.xml
trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/EagerInitializeDeployer.java
trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/EventingDeployer.java
trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/PublishContractDeployer.java
trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/ServiceEndpointInvokerDeployer.java
trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/UnifiedMetaDataAssociationDeployer.java
trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/UnifiedMetaDataDeployer.java
trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/UnifiedMetaDataDeployment.java
trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/WebAppDesciptorModifierImpl.java
trunk/integration/native/src/main/resources/jbossws-native40.sar/
trunk/integration/native/src/main/resources/jbossws-native42.sar/
trunk/integration/native/src/main/resources/jbossws-native50.sar/
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/AbstractDeployer.java
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/BasicDeployerManager.java
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/ContextRootDeployer.java
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/Deployer.java
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/DeployerManager.java
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointHandlerDeployer.java
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointLifecycleDeployer.java
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointMetricsDeployer.java
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointNameDeployer.java
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointRegistryDeployer.java
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/URLPatternDeployer.java
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/WebAppGeneratorDeployer.java
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/AbstractInvocationHandler.java
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/BasicInvocationExceptionHandler.java
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/BasicInvocationHandler.java
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/InvocationExceptionHandler.java
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/UnwrapInvocationExceptionHandler.java
trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/SunJaxwsDeployer.java
trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri50/ModifyWebMetaDataDeployer.java
trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/XFireServicesDeployer.java
trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire50/ModifyWebMetaDataDeployer.java
trunk/jbossws-core/src/main/java/org/jboss/ws/core/server/BackwardCompatibleContextRootDeployer.java
trunk/jbossws-core/src/main/java/org/jboss/ws/core/server/BackwardCompatibleURLPatternDeployer.java
Modified:
trunk/build/ant-import/build-testsuite.xml
trunk/build/ant.properties.example
trunk/build/hudson/hudson-home/users/palin/config.xml
trunk/integration/jboss40/src/main/java/org/jboss/wsf/container/jboss40/InvocationHandlerEJB3.java
trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/AbstractDeployerHook.java
trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/ArchiveDeployerHook.java
trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/InvocationHandlerEJB21.java
trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/InvocationHandlerEJB3.java
trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/InvocationHandlerMDB21.java
trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/MainDeployerHook.java
trunk/integration/jboss50/build.xml
trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/AbstractDeployerHook.java
trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/ArchiveDeployerHook.java
trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/InvocationHandlerEJB21.java
trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/InvocationHandlerEJB3.java
trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/MainDeployerHook.java
trunk/integration/native/ant-import/macros-deploy-native.xml
trunk/integration/native/build.xml
trunk/integration/native/src/main/resources/jbossws-native50.deployer/META-INF/jbossws-deployer-beans.xml
trunk/integration/native/src/test/resources/test-excludes-jboss40.txt
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/BasicLifecycleHandler.java
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/WebXMLRewriter.java
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/InvocationHandler.java
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/InvocationHandlerJSE.java
trunk/jbossws-core/.classpath
trunk/jbossws-core/ant-import-tests/build-testsuite.xml
trunk/jbossws-core/src/main/java/org/jboss/ws/metadata/builder/jaxws/JAXWSMetaDataBuilderJSE.java
Log:
Refactor Deployer to DeplymentAspect
Share native config among all containers
Provide container config for all stacks
Add measte, palin hudson email
Modified: trunk/build/ant-import/build-testsuite.xml
===================================================================
--- trunk/build/ant-import/build-testsuite.xml 2007-07-13 14:36:56 UTC (rev 3883)
+++ trunk/build/ant-import/build-testsuite.xml 2007-07-13 15:42:07 UTC (rev 3884)
@@ -96,6 +96,7 @@
<target name="tests-classpath"
depends="tests-classpath-jboss50,tests-classpath-jboss42,tests-classpath-jboss40"/>
<target name="tests-classpath-jboss50" depends="tests-prepare"
if="jbossws.integration.jboss50">
+
<path id="tests.javac.classpath">
<path refid="ws.stack.classpath"/>
<path refid="tests.extra.classpath"/>
@@ -106,21 +107,32 @@
<pathelement location="${jboss.client}/jboss-common-core.jar"/>
<pathelement location="${jboss.client}/jboss-ejb3-client.jar"/>
<pathelement location="${jboss.client}/jboss-logging-spi.jar"/>
+ <pathelement location="${jboss.client}/jboss-remoting.jar"/>
<pathelement location="${jboss.client}/jboss-xml-binding.jar"/>
<pathelement location="${jboss.client}/mail.jar"/>
- <pathelement location="${jboss.client}/wsdl4j.jar"/>
- <pathelement location="${jboss.server.lib}/jboss-javaee.jar"/>
+ <pathelement location="${jboss.client}/wsdl4j.jar"/>
+ <pathelement location="${jboss.server.lib}/jboss-javaee.jar"/>
<pathelement location="${jboss.server.lib}/jbosssx.jar"/>
<pathelement location="${jboss.server.lib}/servlet-api.jar"/>
</path>
+
+ <!-- This classpath MUST NOT contain any local jars from thirdparty -->
<path id="tests.client.classpath">
+ <path refid="ws.stack.classpath"/>
+ <pathelement location="${jboss.client}/activation.jar"/>
<pathelement location="${jboss.client}/javassist.jar"/>
+ <pathelement location="${jboss.client}/jaxb-api.jar"/>
+ <pathelement location="${jboss.client}/jaxb-impl.jar"/>
<pathelement location="${jboss.client}/jaxb-xjc.jar"/>
<pathelement location="${jboss.client}/jboss-jboss50.jar"/>
<pathelement location="${jboss.client}/jboss-remoting.jar"/>
+ <pathelement location="${jboss.client}/jboss-xml-binding.jar"/>
+ <pathelement location="${jboss.client}/jbossall-client.jar"/>
<pathelement location="${jboss.client}/jbossws-jboss50.jar"/>
- <pathelement location="${jboss.client}/jbossall-client.jar"/>
<pathelement location="${jboss.client}/log4j.jar"/>
+ <pathelement location="${jboss.client}/mail.jar"/>
+ <pathelement location="${jboss.client}/policy.jar"/>
+ <pathelement location="${jboss.client}/stax-api.jar"/>
<pathelement location="${jboss.client}/wsdl4j.jar"/>
<pathelement location="${jboss.lib}/jboss-aop-jdk50.jar"/>
<pathelement location="${jboss.lib}/jboss-vfs.jar"/>
@@ -129,11 +141,11 @@
<pathelement
location="${jboss.server.deploy}/juddi-service.sar/juddi.jar"/>
<pathelement
location="${jboss.server.deploy}/juddi-service.sar/juddi-saaj.jar"/>
<pathelement
location="${jboss.server.deploy}/juddi-service.sar/scout.jar"/>
- <path refid="tests.javac.classpath"/>
</path>
</target>
<target name="tests-classpath-jboss42" depends="tests-prepare"
if="jbossws.integration.jboss42">
+
<path id="tests.javac.classpath">
<path refid="ws.stack.classpath"/>
<path refid="tests.extra.classpath"/>
@@ -145,26 +157,38 @@
<pathelement location="${jboss.client}/jboss-ejb3x.jar"/>
<pathelement location="${jboss.client}/jboss-ejb3-client.jar"/>
<pathelement location="${jboss.client}/jboss-j2ee.jar"/>
+ <pathelement location="${jboss.client}/jboss-remoting.jar"/>
<pathelement location="${jboss.client}/jboss-xml-binding.jar"/>
<pathelement location="${jboss.client}/jbosssx-client.jar"/>
<pathelement location="${jboss.client}/mail.jar"/>
- <pathelement location="${jboss.client}/stax-api.jar"/>
+ <pathelement location="${jboss.client}/stax-api.jar"/>
<pathelement location="${jboss.client}/wsdl4j.jar"/>
<pathelement location="${jboss.server.lib}/servlet-api.jar"/>
</path>
+
+ <!-- This classpath MUST NOT contain any local jars from thirdparty -->
<path id="tests.client.classpath">
+ <path refid="ws.stack.classpath"/>
+ <pathelement location="${jboss.client}/activation.jar"/>
+ <pathelement location="${jboss.client}/jaxb-api.jar"/>
+ <pathelement location="${jboss.client}/jaxb-impl.jar"/>
<pathelement location="${jboss.client}/commons-logging.jar"/>
<pathelement location="${jboss.client}/javassist.jar"/>
<pathelement location="${jboss.client}/jaxb-xjc.jar"/>
<pathelement
location="${jboss.client}/jboss-annotations-ejb3.jar"/>
- <pathelement location="${jboss.client}/wsdl4j.jar"/>
- <pathelement location="${jboss.client}/log4j.jar"/>
+ <pathelement location="${jboss.client}/jboss-ejb3x.jar"/>
+ <pathelement location="${jboss.client}/jboss-ejb3-client.jar"/>
+ <pathelement location="${jboss.client}/jboss-remoting.jar"/>
+ <pathelement location="${jboss.client}/jboss-xml-binding.jar"/>
<pathelement location="${jboss.client}/jbossws-jboss42.jar"/>
<pathelement location="${jboss.client}/jbossall-client.jar"/>
+ <pathelement location="${jboss.client}/log4j.jar"/>
+ <pathelement location="${jboss.client}/mail.jar"/>
+ <pathelement location="${jboss.client}/stax-api.jar"/>
+ <pathelement location="${jboss.client}/wsdl4j.jar"/>
<pathelement
location="${jboss.server.deploy}/juddi-service.sar/juddi.jar"/>
<pathelement
location="${jboss.server.deploy}/juddi-service.sar/juddi-saaj.jar"/>
<pathelement
location="${jboss.server.deploy}/juddi-service.sar/scout.jar"/>
- <path refid="tests.javac.classpath"/>
</path>
</target>
@@ -180,28 +204,35 @@
<pathelement location="${jboss.client}/jboss-ejb3x.jar"/>
<pathelement location="${jboss.client}/jboss-ejb3-client.jar"/>
<pathelement location="${jboss.client}/jboss-j2ee.jar"/>
+ <pathelement location="${jboss.client}/jboss-remoting.jar"/>
<pathelement location="${jboss.client}/jboss-xml-binding.jar"/>
<pathelement location="${jboss.client}/mail.jar"/>
- <pathelement location="${jboss.client}/wsdl4j.jar"/>
- <pathelement location="${jboss.client}/stax-api.jar"/>
+ <pathelement location="${jboss.client}/wsdl4j.jar"/>
+ <pathelement location="${jboss.client}/stax-api.jar"/>
<pathelement location="${jboss.client}/jbosssx-client.jar"/>
<pathelement location="${jboss.server.lib}/javax.servlet.jar"/>
</path>
+
+ <!-- This classpath MUST NOT contain any local jars from thirdparty -->
<path id="tests.client.classpath">
+ <path refid="ws.stack.classpath"/>
<pathelement location="${jboss.client}/commons-logging.jar"/>
<pathelement location="${jboss.client}/javassist.jar"/>
<pathelement location="${jboss.client}/jaxb-xjc.jar"/>
<pathelement
location="${jboss.client}/jboss-aop-jdk50-client.jar"/>
<pathelement
location="${jboss.client}/jboss-aspect-jdk50-client.jar"/>
+ <pathelement location="${jboss.client}/jboss-ejb3x.jar"/>
+ <pathelement location="${jboss.client}/jboss-ejb3-client.jar"/>
+ <pathelement location="${jboss.client}/jboss-saaj.jar"/>
+ <pathelement location="${jboss.client}/jbossws-jboss40.jar"/>
+ <pathelement location="${jboss.client}/jbossall-client.jar"/>
<pathelement location="${jboss.client}/log4j.jar"/>
+ <pathelement location="${jboss.client}/mail.jar"/>
+ <pathelement location="${jboss.client}/stax-api.jar"/>
<pathelement location="${jboss.client}/wsdl4j.jar"/>
- <pathelement location="${jboss.client}/jbossws-jboss40.jar"/>
- <pathelement location="${jboss.client}/jboss-saaj.jar"/>
- <pathelement location="${jboss.client}/jbossall-client.jar"/>
<pathelement
location="${jboss.server.deploy}/juddi-service.sar/juddi.jar"/>
<pathelement
location="${jboss.server.deploy}/juddi-service.sar/juddi-saaj.jar"/>
<pathelement
location="${jboss.server.deploy}/juddi-service.sar/scout.jar"/>
- <path refid="tests.javac.classpath"/>
</path>
</target>
Modified: trunk/build/ant.properties.example
===================================================================
--- trunk/build/ant.properties.example 2007-07-13 14:36:56 UTC (rev 3883)
+++ trunk/build/ant.properties.example 2007-07-13 15:42:07 UTC (rev 3884)
@@ -5,8 +5,8 @@
# Optional JBoss Home
#jboss50.home=/home/tdiesler/svn/jbossas/trunk/build/output/jboss-5.0.0.Beta3
-#jboss42.home=/home/tdiesler/svn/jbossas/branches/Branch_4_2/build/output/jboss-4.2.1.GA
-#jboss40.home=/home/tdiesler/svn/jbossas/branches/Branch_4_0/build/output/jboss-4.0.5.SP1-ejb3
+#jboss42.home=/home/tdiesler/svn/jbossas/tags/JBoss_4_2_0_GA/build/output/jboss-4.2.0.GA
+#jboss40.home=/home/tdiesler/svn/jbossas/tags/JBoss_4_0_5_GA/build/output/jboss-4.0.5.GA-ejb3
# The JBoss server under test. This can be [jboss50|jboss42|jboss40]
jbossws.integration.target=jboss50
Added: trunk/build/hudson/hudson-home/users/maeste/config.xml
===================================================================
--- trunk/build/hudson/hudson-home/users/maeste/config.xml (rev
0)
+++ trunk/build/hudson/hudson-home/users/maeste/config.xml 2007-07-13 15:42:07 UTC (rev
3884)
@@ -0,0 +1,10 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<user>
+ <fullName>config.xml</fullName>
+ <description>Alessio Soldano</description>
+ <properties>
+ <hudson.tasks.Mailer_-UserProperty>
+ <emailAddress>alessio.soldano(a)javalinux.it</emailAddress>
+ </hudson.tasks.Mailer_-UserProperty>
+ </properties>
+</user>
\ No newline at end of file
Modified: trunk/build/hudson/hudson-home/users/palin/config.xml
===================================================================
--- trunk/build/hudson/hudson-home/users/palin/config.xml 2007-07-13 14:36:56 UTC (rev
3883)
+++ trunk/build/hudson/hudson-home/users/palin/config.xml 2007-07-13 15:42:07 UTC (rev
3884)
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='UTF-8'?>
<user>
- <fullName>config.xml</fullName>
+ <fullName>palin</fullName>
<description>Alessio Soldano</description>
<properties>
<hudson.tasks.Mailer_-UserProperty>
Modified:
trunk/integration/jboss40/src/main/java/org/jboss/wsf/container/jboss40/InvocationHandlerEJB3.java
===================================================================
---
trunk/integration/jboss40/src/main/java/org/jboss/wsf/container/jboss40/InvocationHandlerEJB3.java 2007-07-13
14:36:56 UTC (rev 3883)
+++
trunk/integration/jboss40/src/main/java/org/jboss/wsf/container/jboss40/InvocationHandlerEJB3.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -32,7 +32,7 @@
import org.jboss.ejb3.stateless.StatelessContainer;
import org.jboss.wsf.spi.deployment.Endpoint;
import org.jboss.wsf.spi.deployment.UnifiedDeploymentInfo;
-import org.jboss.wsf.spi.invocation.AbstractInvocationHandler;
+import org.jboss.wsf.spi.invocation.BasicInvocationHandler;
import org.jboss.wsf.spi.invocation.Invocation;
import org.jboss.wsf.spi.utils.ObjectNameFactory;
@@ -42,7 +42,7 @@
* @author Thomas.Diesler(a)jboss.org
* @since 25-Apr-2007
*/
-public class InvocationHandlerEJB3 extends AbstractInvocationHandler
+public class InvocationHandlerEJB3 extends BasicInvocationHandler
{
private ObjectName objectName;
Copied: trunk/integration/jboss40/src/main/resources (from rev 3881,
branches/tdiesler/trunk/integration/jboss40/src/main/resources)
Deleted: trunk/integration/jboss40/src/main/resources/jbossws-jboss40-config.xml
===================================================================
---
branches/tdiesler/trunk/integration/jboss40/src/main/resources/jbossws-jboss40-config.xml 2007-07-13
13:42:05 UTC (rev 3881)
+++ trunk/integration/jboss40/src/main/resources/jbossws-jboss40-config.xml 2007-07-13
15:42:07 UTC (rev 3884)
@@ -1,212 +0,0 @@
- <!--
-
*********************************************************************************************************************
- Web Service deployment
-
- There are three deployer interceptors registered with the JBoss Deployers.
-
- 1) DeployerInterceptorJSE
- 2) DeployerInterceptorEJB21
- 3) DeployerInterceptorEJB3
-
- Each interceptor has a number of DeployerHooks registerd with it
-
- Conceptually, each of these hooks implements the following pattern:
-
- DployerHook.deploy(unit)
- if(isWebServiceDeployment)
- Deployment dep = createDeployment(unit)
- DeploymentAspectManager.deploy(dep)
-
- DeployerHook.undeploy(unit)
- Deployment dep = getDeployment(unit)
- DeploymentAspectManager.undeploy(dep)
-
- Each deployer hook has a web service DeployerManager injected into it.
- A web service DeployerManager maintains a list of Deployers, each of which
- handles a single aspect of web service deployment.
-
- Finally, each Endpoint is registered with the EndpointRegistry.
-
-
*********************************************************************************************************************
- -->
-
- <!-- Locate the single instance of the kernel -->
- <bean name="WSKernelLocator"
class="org.jboss.ws.integration.KernelLocator">
- <property name="kernel"><inject
bean="jboss.kernel:service=Kernel"/></property>
- </bean>
-
- <!--
- Register DeployerHooks with JBoss deployers
- -->
- <bean name="WSDeployerHook_JAXRPC_JSE"
class="org.jboss.wsf.container.jboss42.JAXRPCDeployerHookJSE">
- <property name="deploymentAspectManager"><inject
bean="WSDeploymentAspectManagerJSE"/></property>
- <property name="phaseOneInterceptors">
- <list class="java.util.LinkedList"
elementClass="javax.management.ObjectName">
- <value>jboss.ws:service=DeployerInterceptorJSE</value>
- </list>
- </property>
- </bean>
- <bean name="WSDeployerHook_JAXRPC_EJB21"
class="org.jboss.wsf.container.jboss42.JAXRPCDeployerHookEJB21">
- <property name="deploymentAspectManager"><inject
bean="WSDeploymentAspectManagerEJB"/></property>
- <property name="phaseOneInterceptors">
- <list class="java.util.LinkedList"
elementClass="javax.management.ObjectName">
- <value>jboss.ws:service=DeployerInterceptorEJB21</value>
- </list>
- </property>
- </bean>
- <bean name="WSDeployerHook_JAXWS_JSE"
class="org.jboss.wsf.container.jboss42.JAXWSDeployerHookJSE">
- <property name="deploymentAspectManager"><inject
bean="WSDeploymentAspectManagerJSE"/></property>
- <property name="phaseOneInterceptors">
- <list class="java.util.LinkedList"
elementClass="javax.management.ObjectName">
- <value>jboss.ws:service=DeployerInterceptorJSE</value>
- </list>
- </property>
- </bean>
- <bean name="WSDeployerHook_JAXWS_EJB3"
class="org.jboss.wsf.container.jboss42.JAXWSDeployerHookEJB3">
- <property name="deploymentAspectManager"><inject
bean="WSDeploymentAspectManagerEJB"/></property>
- <property name="phaseOneInterceptors">
- <list class="java.util.LinkedList"
elementClass="javax.management.ObjectName">
- <value>jboss.ws:service=DeployerInterceptorEJB3</value>
- </list>
- </property>
- </bean>
- <bean name="WSMainDeployerHook"
class="org.jboss.wsf.container.jboss42.MainDeployerHook">
- <property name="deploymentAspectManager"><inject
bean="WSMainDeploymentAspectManager"/></property>
- <property name="phaseTwoInterceptors">
- <list class="java.util.LinkedList"
elementClass="javax.management.ObjectName">
- <value>jboss.ws:service=DeployerInterceptorJSE</value>
- <value>jboss.ws:service=DeployerInterceptorEJB21</value>
- <value>jboss.ws:service=DeployerInterceptorEJB3</value>
- </list>
- </property>
- </bean>
-
- <!--
- Each DeploymentAspectManger maintains a list of DeploymentAspects
- -->
- <bean name="WSDeploymentAspectManagerJSE"
class="org.jboss.wsf.spi.deployment.BasicDeploymentAspectManager">
- <property name="name">WSDeploymentAspectManagerJSE</property>
- </bean>
- <bean name="WSDeploymentAspectManagerEJB"
class="org.jboss.wsf.spi.deployment.BasicDeploymentAspectManager">
- <property name="name">WSDeploymentAspectManagerEJB</property>
- </bean>
- <bean name="WSMainDeploymentAspectManager"
class="org.jboss.wsf.spi.deployment.BasicDeploymentAspectManager">
- <property name="name">WSMainDeploymentAspectManager</property>
- </bean>
-
- <!--
- The container deployment aspects
- -->
- <bean name="WSClassLoaderInjectionDeploymentAspect"
class="org.jboss.wsf.container.jboss42.ClassLoaderInjectionDeploymentAspect">
- <property name="requires">AllowClassLoaderInjection</property>
- <property name="provides">ContainerClassLoader</property>
- </bean>
-
- <bean name="WSContextRootDeploymentAspect"
class="org.jboss.wsf.spi.deployment.BackwardCompatibleContextRootDeploymentAspect">
- <property name="requires">ContainerMetaData</property>
- <property name="provides">ContextRoot</property>
- </bean>
-
- <bean name="WSEndpointHandlerDeploymentAspect"
class="org.jboss.wsf.spi.deployment.EndpointHandlerDeploymentAspect">
- <property name="provides">ContainerEndpointHandler</property>
- <property name="invocationHandler">
- <map keyClass="java.lang.String"
valueClass="java.lang.String">
-
<entry><key>JAXRPC_EJB21</key><value>org.jboss.wsf.container.jboss42.InvocationHandlerEJB21</value></entry>
-
<entry><key>JAXRPC_MDB21</key><value>org.jboss.wsf.container.jboss42.InvocationHandlerMDB21</value></entry>
-
<entry><key>JAXWS_JSE</key><value>org.jboss.wsf.spi.invocation.InvocationHandlerJSE</value></entry>
-
<entry><key>JAXWS_EJB3</key><value>org.jboss.wsf.container.jboss40.InvocationHandlerEJB3</value></entry>
- </map>
- </property>
- </bean>
-
- <bean name="WSEndpointLifecycleDeploymentAspect"
class="org.jboss.wsf.spi.deployment.EndpointLifecycleDeploymentAspect">
- <property name="requires">LAST_DEPLOYMENT_ASPECT</property>
- </bean>
-
- <bean name="WSEndpointMetricsDeploymentAspect"
class="org.jboss.wsf.spi.deployment.EndpointMetricsDeploymentAspect">
- <property name="endpointMetrics"><inject
bean="WSEndpointMetrics"/></property>
- </bean>
-
- <bean name="WSEndpointNameDeploymentAspect"
class="org.jboss.wsf.spi.deployment.EndpointNameDeploymentAspect">
- <property name="requires">URLPattern</property>
- <property name="provides">EndpointName</property>
- </bean>
-
- <bean name="WSEndpointRegistryDeploymentAspect"
class="org.jboss.wsf.spi.deployment.EndpointRegistryDeploymentAspect">
- <property
name="requires">EndpointName,StackEndpointHandler,InitializedMetaDataModel</property>
- <property name="provides">RegisteredEndpoint</property>
- </bean>
-
- <bean name="WSModifyWebMetaDataDeploymentAspect"
class="org.jboss.wsf.container.jboss42.ModifyWebMetaDataDeploymentAspect">
- <property name="requires">ContextProperties,
ContainerMetaData</property>
- <property name="webXMLRewriter"><inject
bean="WSWebXMLRewriter"/></property>
- </bean>
-
- <bean name="WSUnifiedDeploymentInfoDeploymentAspect"
class="org.jboss.wsf.container.jboss42.UnifiedDeploymentInfoDeploymentAspect">
- <property name="provides">ContainerMetaData</property>
- <property name="deploymentInfoAdapter"><inject
bean="WSDeploymentInfoAdapter"/></property>
- </bean>
-
- <bean name="WSURLPatternDeploymentAspect"
class="org.jboss.wsf.spi.deployment.BackwardCompatibleURLPatternDeploymentAspect">
- <property name="requires">ContextRoot,
ContainerMetaData</property>
- <property name="provides">URLPattern</property>
- </bean>
-
- <bean name="WSWebAppDeploymentAspect"
class="org.jboss.wsf.container.jboss42.WebAppDeploymentAspect">
- <property name="requires">WebMetaData,
ContextProperties</property>
- <property name="webXMLRewriter"><inject
bean="WSWebXMLRewriter"/></property>
- </bean>
-
- <bean name="WSWebAppGeneratorDeploymentAspect"
class="org.jboss.wsf.spi.deployment.WebAppGeneratorDeploymentAspect">
- <property name="requires">URLPattern</property>
- <property name="provides">WebMetaData</property>
- <property name="securityHandlerEJB21"><inject
bean="WSSecurityHandlerEJB21"/></property>
- <property name="securityHandlerEJB3"><inject
bean="WSSecurityHandlerEJB3"/></property>
- </bean>
-
- <!-- Deployment aspect helper beans -->
- <bean name="WSApplicationMetaDataAdapterEJB21"
class="org.jboss.wsf.container.jboss40.ApplicationMetaDataAdapterEJB21"/>
- <bean name="WSApplicationMetaDataAdapterEJB3"
class="org.jboss.wsf.container.jboss42.ApplicationMetaDataAdapterEJB3"/>
- <bean name="WSDeploymentInfoAdapter"
class="org.jboss.wsf.container.jboss42.DeploymentInfoAdapter">
- <property name="applicationMetaDataAdapterEJB21"><inject
bean="WSApplicationMetaDataAdapterEJB21"/></property>
- <property name="applicationMetaDataAdapterEJB3"><inject
bean="WSApplicationMetaDataAdapterEJB3"/></property>
- <property name="webMetaDataAdapter"><inject
bean="WSWebMetaDataAdapter"/></property>
- </bean>
- <bean name="WSEndpointMetrics"
class="org.jboss.wsf.spi.management.BasicEndpointMetrics"/>
- <bean name="WSSecurityHandlerEJB21"
class="org.jboss.wsf.container.jboss42.SecurityHandlerEJB21"/>
- <bean name="WSSecurityHandlerEJB3"
class="org.jboss.wsf.container.jboss42.SecurityHandlerEJB3"/>
- <bean name="WSServiceRefMetaDataAdapter"
class="org.jboss.wsf.container.jboss40.ServiceRefMetaDataAdapter"/>
- <bean name="WSWebAppDesciptorModifier"
class="org.jboss.wsf.spi.deployment.WebAppDesciptorModifierImpl"/>
- <bean name="WSWebMetaDataAdapter"
class="org.jboss.wsf.container.jboss42.WebMetaDataAdapter"/>
- <bean name="WSWebXMLRewriter"
class="org.jboss.wsf.spi.deployment.WebXMLRewriter">
- <property name="desciptorModifier"><inject
bean="WSWebAppDesciptorModifier"/></property>
- </bean>
-
- <!-- Deployment aspect installers -->
- <bean name="WSDeploymentAspectInstallerJSE"
class="org.jboss.wsf.spi.deployment.DeploymentAspectInstaller">
- <property name="manager"><inject
bean="WSDeploymentAspectManagerJSE"/></property>
- <property name="aspects">
- <set class="java.util.HashSet"
elementClass="org.jboss.wsf.spi.deployment.DeploymentAspect">
- <inject bean="WSModifyWebMetaDataDeploymentAspect"/>
- <inject bean="WSUnifiedDeploymentInfoDeploymentAspect"/>
- </set>
- </property>
- </bean>
- <bean name="WSMainDeploymentAspectInstaller"
class="org.jboss.wsf.spi.deployment.DeploymentAspectInstaller">
- <property name="manager"><inject
bean="WSMainDeploymentAspectManager"/></property>
- <property name="aspects">
- <set class="java.util.HashSet"
elementClass="org.jboss.wsf.spi.deployment.DeploymentAspect">
- <inject bean="WSClassLoaderInjectionDeploymentAspect"/>
- <inject bean="WSContextRootDeploymentAspect"/>
- <inject bean="WSEndpointHandlerDeploymentAspect"/>
- <inject bean="WSEndpointLifecycleDeploymentAspect"/>
- <inject bean="WSEndpointMetricsDeploymentAspect"/>
- <inject bean="WSEndpointNameDeploymentAspect"/>
- <inject bean="WSEndpointRegistryDeploymentAspect"/>
- <inject bean="WSUnifiedDeploymentInfoDeploymentAspect"/>
- <inject bean="WSURLPatternDeploymentAspect"/>
- <inject bean="WSWebAppDeploymentAspect"/>
- <inject bean="WSWebAppGeneratorDeploymentAspect"/>
- </set>
- </property>
- </bean>
Copied: trunk/integration/jboss40/src/main/resources/jbossws-jboss40-config.xml (from rev
3881,
branches/tdiesler/trunk/integration/jboss40/src/main/resources/jbossws-jboss40-config.xml)
===================================================================
--- trunk/integration/jboss40/src/main/resources/jbossws-jboss40-config.xml
(rev 0)
+++ trunk/integration/jboss40/src/main/resources/jbossws-jboss40-config.xml 2007-07-13
15:42:07 UTC (rev 3884)
@@ -0,0 +1,212 @@
+ <!--
+
*********************************************************************************************************************
+ Web Service deployment
+
+ There are three deployer interceptors registered with the JBoss Deployers.
+
+ 1) DeployerInterceptorJSE
+ 2) DeployerInterceptorEJB21
+ 3) DeployerInterceptorEJB3
+
+ Each interceptor has a number of DeployerHooks registerd with it
+
+ Conceptually, each of these hooks implements the following pattern:
+
+ DployerHook.deploy(unit)
+ if(isWebServiceDeployment)
+ Deployment dep = createDeployment(unit)
+ DeploymentAspectManager.deploy(dep)
+
+ DeployerHook.undeploy(unit)
+ Deployment dep = getDeployment(unit)
+ DeploymentAspectManager.undeploy(dep)
+
+ Each deployer hook has a web service DeployerManager injected into it.
+ A web service DeployerManager maintains a list of Deployers, each of which
+ handles a single aspect of web service deployment.
+
+ Finally, each Endpoint is registered with the EndpointRegistry.
+
+
*********************************************************************************************************************
+ -->
+
+ <!-- Locate the single instance of the kernel -->
+ <bean name="WSKernelLocator"
class="org.jboss.ws.integration.KernelLocator">
+ <property name="kernel"><inject
bean="jboss.kernel:service=Kernel"/></property>
+ </bean>
+
+ <!--
+ Register DeployerHooks with JBoss deployers
+ -->
+ <bean name="WSDeployerHook_JAXRPC_JSE"
class="org.jboss.wsf.container.jboss42.JAXRPCDeployerHookJSE">
+ <property name="deploymentAspectManager"><inject
bean="WSDeploymentAspectManagerJSE"/></property>
+ <property name="phaseOneInterceptors">
+ <list class="java.util.LinkedList"
elementClass="javax.management.ObjectName">
+ <value>jboss.ws:service=DeployerInterceptorJSE</value>
+ </list>
+ </property>
+ </bean>
+ <bean name="WSDeployerHook_JAXRPC_EJB21"
class="org.jboss.wsf.container.jboss42.JAXRPCDeployerHookEJB21">
+ <property name="deploymentAspectManager"><inject
bean="WSDeploymentAspectManagerEJB"/></property>
+ <property name="phaseOneInterceptors">
+ <list class="java.util.LinkedList"
elementClass="javax.management.ObjectName">
+ <value>jboss.ws:service=DeployerInterceptorEJB21</value>
+ </list>
+ </property>
+ </bean>
+ <bean name="WSDeployerHook_JAXWS_JSE"
class="org.jboss.wsf.container.jboss42.JAXWSDeployerHookJSE">
+ <property name="deploymentAspectManager"><inject
bean="WSDeploymentAspectManagerJSE"/></property>
+ <property name="phaseOneInterceptors">
+ <list class="java.util.LinkedList"
elementClass="javax.management.ObjectName">
+ <value>jboss.ws:service=DeployerInterceptorJSE</value>
+ </list>
+ </property>
+ </bean>
+ <bean name="WSDeployerHook_JAXWS_EJB3"
class="org.jboss.wsf.container.jboss42.JAXWSDeployerHookEJB3">
+ <property name="deploymentAspectManager"><inject
bean="WSDeploymentAspectManagerEJB"/></property>
+ <property name="phaseOneInterceptors">
+ <list class="java.util.LinkedList"
elementClass="javax.management.ObjectName">
+ <value>jboss.ws:service=DeployerInterceptorEJB3</value>
+ </list>
+ </property>
+ </bean>
+ <bean name="WSMainDeployerHook"
class="org.jboss.wsf.container.jboss42.MainDeployerHook">
+ <property name="deploymentAspectManager"><inject
bean="WSMainDeploymentAspectManager"/></property>
+ <property name="phaseTwoInterceptors">
+ <list class="java.util.LinkedList"
elementClass="javax.management.ObjectName">
+ <value>jboss.ws:service=DeployerInterceptorJSE</value>
+ <value>jboss.ws:service=DeployerInterceptorEJB21</value>
+ <value>jboss.ws:service=DeployerInterceptorEJB3</value>
+ </list>
+ </property>
+ </bean>
+
+ <!--
+ Each DeploymentAspectManger maintains a list of DeploymentAspects
+ -->
+ <bean name="WSDeploymentAspectManagerJSE"
class="org.jboss.wsf.spi.deployment.BasicDeploymentAspectManager">
+ <property name="name">WSDeploymentAspectManagerJSE</property>
+ </bean>
+ <bean name="WSDeploymentAspectManagerEJB"
class="org.jboss.wsf.spi.deployment.BasicDeploymentAspectManager">
+ <property name="name">WSDeploymentAspectManagerEJB</property>
+ </bean>
+ <bean name="WSMainDeploymentAspectManager"
class="org.jboss.wsf.spi.deployment.BasicDeploymentAspectManager">
+ <property name="name">WSMainDeploymentAspectManager</property>
+ </bean>
+
+ <!--
+ The container deployment aspects
+ -->
+ <bean name="WSClassLoaderInjectionDeploymentAspect"
class="org.jboss.wsf.container.jboss42.ClassLoaderInjectionDeploymentAspect">
+ <property name="requires">AllowClassLoaderInjection</property>
+ <property name="provides">ContainerClassLoader</property>
+ </bean>
+
+ <bean name="WSContextRootDeploymentAspect"
class="org.jboss.wsf.spi.deployment.BackwardCompatibleContextRootDeploymentAspect">
+ <property name="requires">ContainerMetaData</property>
+ <property name="provides">ContextRoot</property>
+ </bean>
+
+ <bean name="WSEndpointHandlerDeploymentAspect"
class="org.jboss.wsf.spi.deployment.EndpointHandlerDeploymentAspect">
+ <property name="provides">ContainerEndpointHandler</property>
+ <property name="invocationHandler">
+ <map keyClass="java.lang.String"
valueClass="java.lang.String">
+
<entry><key>JAXRPC_EJB21</key><value>org.jboss.wsf.container.jboss42.InvocationHandlerEJB21</value></entry>
+
<entry><key>JAXRPC_MDB21</key><value>org.jboss.wsf.container.jboss42.InvocationHandlerMDB21</value></entry>
+
<entry><key>JAXWS_JSE</key><value>org.jboss.wsf.spi.invocation.InvocationHandlerJSE</value></entry>
+
<entry><key>JAXWS_EJB3</key><value>org.jboss.wsf.container.jboss40.InvocationHandlerEJB3</value></entry>
+ </map>
+ </property>
+ </bean>
+
+ <bean name="WSEndpointLifecycleDeploymentAspect"
class="org.jboss.wsf.spi.deployment.EndpointLifecycleDeploymentAspect">
+ <property name="requires">LAST_DEPLOYMENT_ASPECT</property>
+ </bean>
+
+ <bean name="WSEndpointMetricsDeploymentAspect"
class="org.jboss.wsf.spi.deployment.EndpointMetricsDeploymentAspect">
+ <property name="endpointMetrics"><inject
bean="WSEndpointMetrics"/></property>
+ </bean>
+
+ <bean name="WSEndpointNameDeploymentAspect"
class="org.jboss.wsf.spi.deployment.EndpointNameDeploymentAspect">
+ <property name="requires">URLPattern</property>
+ <property name="provides">EndpointName</property>
+ </bean>
+
+ <bean name="WSEndpointRegistryDeploymentAspect"
class="org.jboss.wsf.spi.deployment.EndpointRegistryDeploymentAspect">
+ <property
name="requires">EndpointName,StackEndpointHandler,InitializedMetaDataModel</property>
+ <property name="provides">RegisteredEndpoint</property>
+ </bean>
+
+ <bean name="WSModifyWebMetaDataDeploymentAspect"
class="org.jboss.wsf.container.jboss42.ModifyWebMetaDataDeploymentAspect">
+ <property name="requires">ContextProperties,
ContainerMetaData</property>
+ <property name="webXMLRewriter"><inject
bean="WSWebXMLRewriter"/></property>
+ </bean>
+
+ <bean name="WSUnifiedDeploymentInfoDeploymentAspect"
class="org.jboss.wsf.container.jboss42.UnifiedDeploymentInfoDeploymentAspect">
+ <property name="provides">ContainerMetaData</property>
+ <property name="deploymentInfoAdapter"><inject
bean="WSDeploymentInfoAdapter"/></property>
+ </bean>
+
+ <bean name="WSURLPatternDeploymentAspect"
class="org.jboss.wsf.spi.deployment.BackwardCompatibleURLPatternDeploymentAspect">
+ <property name="requires">ContextRoot,
ContainerMetaData</property>
+ <property name="provides">URLPattern</property>
+ </bean>
+
+ <bean name="WSWebAppDeploymentAspect"
class="org.jboss.wsf.container.jboss42.WebAppDeploymentAspect">
+ <property name="requires">WebMetaData,
ContextProperties</property>
+ <property name="webXMLRewriter"><inject
bean="WSWebXMLRewriter"/></property>
+ </bean>
+
+ <bean name="WSWebAppGeneratorDeploymentAspect"
class="org.jboss.wsf.spi.deployment.WebAppGeneratorDeploymentAspect">
+ <property name="requires">URLPattern</property>
+ <property name="provides">WebMetaData</property>
+ <property name="securityHandlerEJB21"><inject
bean="WSSecurityHandlerEJB21"/></property>
+ <property name="securityHandlerEJB3"><inject
bean="WSSecurityHandlerEJB3"/></property>
+ </bean>
+
+ <!-- Deployment aspect helper beans -->
+ <bean name="WSApplicationMetaDataAdapterEJB21"
class="org.jboss.wsf.container.jboss40.ApplicationMetaDataAdapterEJB21"/>
+ <bean name="WSApplicationMetaDataAdapterEJB3"
class="org.jboss.wsf.container.jboss42.ApplicationMetaDataAdapterEJB3"/>
+ <bean name="WSDeploymentInfoAdapter"
class="org.jboss.wsf.container.jboss42.DeploymentInfoAdapter">
+ <property name="applicationMetaDataAdapterEJB21"><inject
bean="WSApplicationMetaDataAdapterEJB21"/></property>
+ <property name="applicationMetaDataAdapterEJB3"><inject
bean="WSApplicationMetaDataAdapterEJB3"/></property>
+ <property name="webMetaDataAdapter"><inject
bean="WSWebMetaDataAdapter"/></property>
+ </bean>
+ <bean name="WSEndpointMetrics"
class="org.jboss.wsf.spi.management.BasicEndpointMetrics"/>
+ <bean name="WSSecurityHandlerEJB21"
class="org.jboss.wsf.container.jboss42.SecurityHandlerEJB21"/>
+ <bean name="WSSecurityHandlerEJB3"
class="org.jboss.wsf.container.jboss42.SecurityHandlerEJB3"/>
+ <bean name="WSServiceRefMetaDataAdapter"
class="org.jboss.wsf.container.jboss40.ServiceRefMetaDataAdapter"/>
+ <bean name="WSWebAppDesciptorModifier"
class="org.jboss.wsf.spi.deployment.WebAppDesciptorModifierImpl"/>
+ <bean name="WSWebMetaDataAdapter"
class="org.jboss.wsf.container.jboss42.WebMetaDataAdapter"/>
+ <bean name="WSWebXMLRewriter"
class="org.jboss.wsf.spi.deployment.WebXMLRewriter">
+ <property name="desciptorModifier"><inject
bean="WSWebAppDesciptorModifier"/></property>
+ </bean>
+
+ <!-- Deployment aspect installers -->
+ <bean name="WSDeploymentAspectInstallerJSE"
class="org.jboss.wsf.spi.deployment.DeploymentAspectInstaller">
+ <property name="manager"><inject
bean="WSDeploymentAspectManagerJSE"/></property>
+ <property name="aspects">
+ <set class="java.util.HashSet"
elementClass="org.jboss.wsf.spi.deployment.DeploymentAspect">
+ <inject bean="WSModifyWebMetaDataDeploymentAspect"/>
+ <inject bean="WSUnifiedDeploymentInfoDeploymentAspect"/>
+ </set>
+ </property>
+ </bean>
+ <bean name="WSMainDeploymentAspectInstaller"
class="org.jboss.wsf.spi.deployment.DeploymentAspectInstaller">
+ <property name="manager"><inject
bean="WSMainDeploymentAspectManager"/></property>
+ <property name="aspects">
+ <set class="java.util.HashSet"
elementClass="org.jboss.wsf.spi.deployment.DeploymentAspect">
+ <inject bean="WSClassLoaderInjectionDeploymentAspect"/>
+ <inject bean="WSContextRootDeploymentAspect"/>
+ <inject bean="WSEndpointHandlerDeploymentAspect"/>
+ <inject bean="WSEndpointLifecycleDeploymentAspect"/>
+ <inject bean="WSEndpointMetricsDeploymentAspect"/>
+ <inject bean="WSEndpointNameDeploymentAspect"/>
+ <inject bean="WSEndpointRegistryDeploymentAspect"/>
+ <inject bean="WSUnifiedDeploymentInfoDeploymentAspect"/>
+ <inject bean="WSURLPatternDeploymentAspect"/>
+ <inject bean="WSWebAppDeploymentAspect"/>
+ <inject bean="WSWebAppGeneratorDeploymentAspect"/>
+ </set>
+ </property>
+ </bean>
Copied: trunk/integration/jboss40/src/main/resources/jbossws-jboss40.sar (from rev 3881,
branches/tdiesler/trunk/integration/jboss40/src/main/resources/jbossws-jboss40.sar)
Copied: trunk/integration/jboss40/src/main/resources/jbossws-jboss40.sar/META-INF (from
rev 3881,
branches/tdiesler/trunk/integration/jboss40/src/main/resources/jbossws-jboss40.sar/META-INF)
Deleted:
trunk/integration/jboss40/src/main/resources/jbossws-jboss40.sar/META-INF/jboss-service-no-ejb3.xml
===================================================================
---
branches/tdiesler/trunk/integration/jboss40/src/main/resources/jbossws-jboss40.sar/META-INF/jboss-service-no-ejb3.xml 2007-07-13
13:42:05 UTC (rev 3881)
+++
trunk/integration/jboss40/src/main/resources/jbossws-jboss40.sar/META-INF/jboss-service-no-ejb3.xml 2007-07-13
15:42:07 UTC (rev 3884)
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!-- $Id$ -->
-
-<server>
-
- <!--
- Bind JAXRPC ServiceRefs
- -->
- <mbean name="jboss.ws:service=WebServiceClientDeployer"
code="org.jboss.wsf.container.jboss40.WebServiceClientDeployer">
- <depends>jboss:service=Naming</depends>
- </mbean>
-
- <!--
- A deployer service for JSE endpoints.
- -->
- <mbean name="jboss.ws:service=DeployerInterceptorJSE"
code="org.jboss.wsf.container.jboss42.DeployerInterceptorJSE">
- <depends-list optional-attribute-name="Interceptables">
-
<depends-list-element>jboss.web:service=WebServer</depends-list-element>
- </depends-list>
- </mbean>
-
- <!--
- A deployer service for EJB2.1 endpoints.
- -->
- <mbean name="jboss.ws:service=DeployerInterceptorEJB21"
code="org.jboss.wsf.container.jboss42.DeployerInterceptorEJB21">
- <depends-list optional-attribute-name="Interceptables">
-
<depends-list-element>jboss.ejb:service=EJBDeployer</depends-list-element>
- </depends-list>
- </mbean>
-
-</server>
Copied:
trunk/integration/jboss40/src/main/resources/jbossws-jboss40.sar/META-INF/jboss-service-no-ejb3.xml
(from rev 3881,
branches/tdiesler/trunk/integration/jboss40/src/main/resources/jbossws-jboss40.sar/META-INF/jboss-service-no-ejb3.xml)
===================================================================
---
trunk/integration/jboss40/src/main/resources/jbossws-jboss40.sar/META-INF/jboss-service-no-ejb3.xml
(rev 0)
+++
trunk/integration/jboss40/src/main/resources/jbossws-jboss40.sar/META-INF/jboss-service-no-ejb3.xml 2007-07-13
15:42:07 UTC (rev 3884)
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- $Id$ -->
+
+<server>
+
+ <!--
+ Bind JAXRPC ServiceRefs
+ -->
+ <mbean name="jboss.ws:service=WebServiceClientDeployer"
code="org.jboss.wsf.container.jboss40.WebServiceClientDeployer">
+ <depends>jboss:service=Naming</depends>
+ </mbean>
+
+ <!--
+ A deployer service for JSE endpoints.
+ -->
+ <mbean name="jboss.ws:service=DeployerInterceptorJSE"
code="org.jboss.wsf.container.jboss42.DeployerInterceptorJSE">
+ <depends-list optional-attribute-name="Interceptables">
+
<depends-list-element>jboss.web:service=WebServer</depends-list-element>
+ </depends-list>
+ </mbean>
+
+ <!--
+ A deployer service for EJB2.1 endpoints.
+ -->
+ <mbean name="jboss.ws:service=DeployerInterceptorEJB21"
code="org.jboss.wsf.container.jboss42.DeployerInterceptorEJB21">
+ <depends-list optional-attribute-name="Interceptables">
+
<depends-list-element>jboss.ejb:service=EJBDeployer</depends-list-element>
+ </depends-list>
+ </mbean>
+
+</server>
Deleted:
trunk/integration/jboss40/src/main/resources/jbossws-jboss40.sar/META-INF/jboss-service.xml
===================================================================
---
branches/tdiesler/trunk/integration/jboss40/src/main/resources/jbossws-jboss40.sar/META-INF/jboss-service.xml 2007-07-13
13:42:05 UTC (rev 3881)
+++
trunk/integration/jboss40/src/main/resources/jbossws-jboss40.sar/META-INF/jboss-service.xml 2007-07-13
15:42:07 UTC (rev 3884)
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!-- $Id$ -->
-
-<server>
-
- <!--
- Bind JAXRPC ServiceRefs
- -->
- <mbean name="jboss.ws:service=WebServiceClientDeployer"
code="org.jboss.wsf.container.jboss40.WebServiceClientDeployer">
- <depends>jboss:service=Naming</depends>
- </mbean>
-
- <!--
- A deployer service for JSE endpoints.
- -->
- <mbean name="jboss.ws:service=DeployerInterceptorJSE"
code="org.jboss.wsf.container.jboss42.DeployerInterceptorJSE">
- <depends-list optional-attribute-name="Interceptables">
-
<depends-list-element>jboss.web:service=WebServer</depends-list-element>
- </depends-list>
- </mbean>
-
- <!--
- A deployer service for EJB2.1 endpoints.
- -->
- <mbean name="jboss.ws:service=DeployerInterceptorEJB21"
code="org.jboss.wsf.container.jboss42.DeployerInterceptorEJB21">
- <depends-list optional-attribute-name="Interceptables">
-
<depends-list-element>jboss.ejb:service=EJBDeployer</depends-list-element>
- </depends-list>
- </mbean>
-
- <!--
- A deployer service for EJB3 endpoints.
- -->
- <mbean name="jboss.ws:service=DeployerInterceptorEJB3"
code="org.jboss.wsf.container.jboss42.DeployerInterceptorEJB3">
- <depends-list optional-attribute-name="Interceptables">
-
<depends-list-element>jboss.ejb3:service=EJB3Deployer</depends-list-element>
- </depends-list>
- </mbean>
-
-</server>
Copied:
trunk/integration/jboss40/src/main/resources/jbossws-jboss40.sar/META-INF/jboss-service.xml
(from rev 3881,
branches/tdiesler/trunk/integration/jboss40/src/main/resources/jbossws-jboss40.sar/META-INF/jboss-service.xml)
===================================================================
---
trunk/integration/jboss40/src/main/resources/jbossws-jboss40.sar/META-INF/jboss-service.xml
(rev 0)
+++
trunk/integration/jboss40/src/main/resources/jbossws-jboss40.sar/META-INF/jboss-service.xml 2007-07-13
15:42:07 UTC (rev 3884)
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- $Id$ -->
+
+<server>
+
+ <!--
+ Bind JAXRPC ServiceRefs
+ -->
+ <mbean name="jboss.ws:service=WebServiceClientDeployer"
code="org.jboss.wsf.container.jboss40.WebServiceClientDeployer">
+ <depends>jboss:service=Naming</depends>
+ </mbean>
+
+ <!--
+ A deployer service for JSE endpoints.
+ -->
+ <mbean name="jboss.ws:service=DeployerInterceptorJSE"
code="org.jboss.wsf.container.jboss42.DeployerInterceptorJSE">
+ <depends-list optional-attribute-name="Interceptables">
+
<depends-list-element>jboss.web:service=WebServer</depends-list-element>
+ </depends-list>
+ </mbean>
+
+ <!--
+ A deployer service for EJB2.1 endpoints.
+ -->
+ <mbean name="jboss.ws:service=DeployerInterceptorEJB21"
code="org.jboss.wsf.container.jboss42.DeployerInterceptorEJB21">
+ <depends-list optional-attribute-name="Interceptables">
+
<depends-list-element>jboss.ejb:service=EJBDeployer</depends-list-element>
+ </depends-list>
+ </mbean>
+
+ <!--
+ A deployer service for EJB3 endpoints.
+ -->
+ <mbean name="jboss.ws:service=DeployerInterceptorEJB3"
code="org.jboss.wsf.container.jboss42.DeployerInterceptorEJB3">
+ <depends-list optional-attribute-name="Interceptables">
+
<depends-list-element>jboss.ejb3:service=EJB3Deployer</depends-list-element>
+ </depends-list>
+ </mbean>
+
+</server>
Modified:
trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/AbstractDeployerHook.java
===================================================================
---
trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/AbstractDeployerHook.java 2007-07-13
14:36:56 UTC (rev 3883)
+++
trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/AbstractDeployerHook.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -33,12 +33,11 @@
import org.jboss.mx.util.MBeanProxy;
import org.jboss.mx.util.MBeanProxyCreationException;
import org.jboss.mx.util.MBeanServerLocator;
-import org.jboss.wsf.container.jboss42.DeployerHook;
-import org.jboss.wsf.container.jboss42.DeployerInterceptorMBean;
-import org.jboss.wsf.spi.deployment.DeployerManager;
+import org.jboss.wsf.spi.deployment.BasicDeployment;
+import org.jboss.wsf.spi.deployment.BasicEndpoint;
import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.DeploymentAspectManager;
import org.jboss.wsf.spi.deployment.Endpoint;
-import org.jboss.wsf.spi.deployment.Service;
import org.jboss.wsf.spi.deployment.WSDeploymentException;
/**
@@ -52,16 +51,15 @@
// provide logging
protected final Logger log = Logger.getLogger(getClass());
- protected DeployerManager deployerManager;
+ protected DeploymentAspectManager deploymentAspectManager;
private List<ObjectName> phaseOneInterceptors;
private List<ObjectName> phaseTwoInterceptors;
- private String deploymentClass;
- private String serviceClass;
- private String endpointClass;
+ private String deploymentClass = BasicDeployment.class.getName();
+ private String endpointClass = BasicEndpoint.class.getName();
- public void setDeployerManager(DeployerManager deploymentManager)
+ public void setDeploymentAspectManager(DeploymentAspectManager manager)
{
- this.deployerManager = deploymentManager;
+ this.deploymentAspectManager = manager;
}
public void setDeploymentClass(String deploymentClass)
@@ -74,11 +72,6 @@
this.endpointClass = endpointClass;
}
- public void setServiceClass(String serviceClass)
- {
- this.serviceClass = serviceClass;
- }
-
public Deployment createDeployment()
{
try
@@ -93,20 +86,6 @@
}
}
- public Service createService()
- {
- try
- {
- ClassLoader loader = Thread.currentThread().getContextClassLoader();
- Class<?> clazz = loader.loadClass(serviceClass);
- return (Service)clazz.newInstance();
- }
- catch (Exception ex)
- {
- throw new WSDeploymentException("Cannot load Service class: " +
serviceClass);
- }
- }
-
public Endpoint createEndpoint()
{
try
Modified:
trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/ArchiveDeployerHook.java
===================================================================
---
trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/ArchiveDeployerHook.java 2007-07-13
14:36:56 UTC (rev 3883)
+++
trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/ArchiveDeployerHook.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -94,7 +94,7 @@
dep.getContext().addAttachment(DeploymentInfo.class, unit);
}
- deployerManager.deploy(dep);
+ deploymentAspectManager.deploy(dep);
unit.context.put(Deployment.class, dep);
}
}
@@ -108,7 +108,7 @@
if (dep != null)
{
log.debug("undeploy: " + unit.shortName);
- deployerManager.undeploy(dep);
+ deploymentAspectManager.undeploy(dep);
unit.context.remove(Deployment.class);
}
}
Deleted:
trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/ClassLoaderInjectionDeployer.java
===================================================================
---
trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/ClassLoaderInjectionDeployer.java 2007-07-13
14:36:56 UTC (rev 3883)
+++
trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/ClassLoaderInjectionDeployer.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -1,57 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., 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.wsf.container.jboss42;
-
-//$Id$
-
-import org.jboss.deployment.DeploymentInfo;
-import org.jboss.metadata.WebMetaData;
-import org.jboss.wsf.spi.deployment.AbstractDeployer;
-import org.jboss.wsf.spi.deployment.Deployment;
-
-/**
- * A deployer that injects the correct classloader into the UMDM
- *
- * @author Thomas.Diesler(a)jboss.org
- * @since 25-Apr-2007
- */
-public class ClassLoaderInjectionDeployer extends AbstractDeployer
-{
- @Override
- public void create(Deployment dep)
- {
- DeploymentInfo unit = dep.getContext().getAttachment(DeploymentInfo.class);
- if (unit == null)
- throw new IllegalStateException("Cannot obtain deployement unit");
-
- ClassLoader classLoader = unit.ucl;
-
- // Get the webapp context classloader and use it as the deploymet class loader
- WebMetaData webMetaData = dep.getContext().getAttachment(WebMetaData.class);
- if (webMetaData != null)
- {
- classLoader = webMetaData.getContextLoader();
- }
-
- dep.setClassLoader(classLoader);
- }
-}
\ No newline at end of file
Copied:
trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/ClassLoaderInjectionDeploymentAspect.java
(from rev 3881,
branches/tdiesler/trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/ClassLoaderInjectionDeploymentAspect.java)
===================================================================
---
trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/ClassLoaderInjectionDeploymentAspect.java
(rev 0)
+++
trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/ClassLoaderInjectionDeploymentAspect.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -0,0 +1,57 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., 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.wsf.container.jboss42;
+
+//$Id: ClassLoaderInjectionDeployer.java 3147 2007-05-19 15:35:46Z
thomas.diesler(a)jboss.com $
+
+import org.jboss.deployment.DeploymentInfo;
+import org.jboss.metadata.WebMetaData;
+import org.jboss.wsf.spi.deployment.DeploymentAspect;
+import org.jboss.wsf.spi.deployment.Deployment;
+
+/**
+ * A deployer that injects the correct classloader into the UMDM
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 25-Apr-2007
+ */
+public class ClassLoaderInjectionDeploymentAspect extends DeploymentAspect
+{
+ @Override
+ public void create(Deployment dep)
+ {
+ DeploymentInfo unit = dep.getContext().getAttachment(DeploymentInfo.class);
+ if (unit == null)
+ throw new IllegalStateException("Cannot obtain deployement unit");
+
+ ClassLoader classLoader = unit.ucl;
+
+ // Get the webapp context classloader and use it as the deploymet class loader
+ WebMetaData webMetaData = dep.getContext().getAttachment(WebMetaData.class);
+ if (webMetaData != null)
+ {
+ classLoader = webMetaData.getContextLoader();
+ }
+
+ dep.setClassLoader(classLoader);
+ }
+}
\ No newline at end of file
Modified:
trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/InvocationHandlerEJB21.java
===================================================================
---
trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/InvocationHandlerEJB21.java 2007-07-13
14:36:56 UTC (rev 3883)
+++
trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/InvocationHandlerEJB21.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -42,7 +42,7 @@
import org.jboss.mx.util.MBeanServerLocator;
import org.jboss.wsf.spi.deployment.Endpoint;
import org.jboss.wsf.spi.deployment.UnifiedDeploymentInfo;
-import org.jboss.wsf.spi.invocation.AbstractInvocationHandler;
+import org.jboss.wsf.spi.invocation.BasicInvocationHandler;
import org.jboss.wsf.spi.invocation.HandlerCallback;
import org.jboss.wsf.spi.invocation.Invocation;
import org.jboss.wsf.spi.invocation.SecurityAdaptor;
@@ -57,7 +57,7 @@
* @author Thomas.Diesler(a)jboss.org
* @since 25-Apr-2007
*/
-public class InvocationHandlerEJB21 extends AbstractInvocationHandler
+public class InvocationHandlerEJB21 extends BasicInvocationHandler
{
// provide logging
private static final Logger log = Logger.getLogger(InvocationHandlerEJB21.class);
Modified:
trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/InvocationHandlerEJB3.java
===================================================================
---
trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/InvocationHandlerEJB3.java 2007-07-13
14:36:56 UTC (rev 3883)
+++
trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/InvocationHandlerEJB3.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -39,7 +39,7 @@
import org.jboss.injection.lang.reflect.BeanProperty;
import org.jboss.wsf.spi.deployment.Endpoint;
import org.jboss.wsf.spi.deployment.UnifiedDeploymentInfo;
-import org.jboss.wsf.spi.invocation.AbstractInvocationHandler;
+import org.jboss.wsf.spi.invocation.BasicInvocationHandler;
import org.jboss.wsf.spi.invocation.Invocation;
import org.jboss.wsf.spi.invocation.WebServiceContextEJB;
import org.jboss.wsf.spi.utils.ObjectNameFactory;
@@ -50,7 +50,7 @@
* @author Thomas.Diesler(a)jboss.org
* @since 25-Apr-2007
*/
-public class InvocationHandlerEJB3 extends AbstractInvocationHandler
+public class InvocationHandlerEJB3 extends BasicInvocationHandler
{
private ObjectName objectName;
Modified:
trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/InvocationHandlerMDB21.java
===================================================================
---
trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/InvocationHandlerMDB21.java 2007-07-13
14:36:56 UTC (rev 3883)
+++
trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/InvocationHandlerMDB21.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -27,7 +27,7 @@
import org.jboss.logging.Logger;
import org.jboss.wsf.spi.deployment.Endpoint;
-import org.jboss.wsf.spi.invocation.AbstractInvocationHandler;
+import org.jboss.wsf.spi.invocation.BasicInvocationHandler;
import org.jboss.wsf.spi.invocation.Invocation;
import org.jboss.wsf.spi.invocation.InvocationContext;
@@ -37,7 +37,7 @@
* @author Thomas.Diesler(a)jboss.org
* @since 25-Apr-2007
*/
-public class InvocationHandlerMDB21 extends AbstractInvocationHandler
+public class InvocationHandlerMDB21 extends BasicInvocationHandler
{
// provide logging
private static final Logger log = Logger.getLogger(InvocationHandlerMDB21.class);
Modified:
trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/MainDeployerHook.java
===================================================================
---
trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/MainDeployerHook.java 2007-07-13
14:36:56 UTC (rev 3883)
+++
trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/MainDeployerHook.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -43,7 +43,7 @@
Deployment dep = (Deployment)unit.context.get(Deployment.class);
if (dep != null)
{
- deployerManager.deploy(dep);
+ deploymentAspectManager.deploy(dep);
}
}
@@ -55,7 +55,7 @@
Deployment dep = (Deployment)unit.context.get(Deployment.class);
if (dep != null)
{
- deployerManager.undeploy(dep);
+ deploymentAspectManager.undeploy(dep);
}
}
}
Deleted:
trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/ModifyWebMetaDataDeployer.java
===================================================================
---
trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/ModifyWebMetaDataDeployer.java 2007-07-13
14:36:56 UTC (rev 3883)
+++
trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/ModifyWebMetaDataDeployer.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -1,71 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., 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.wsf.container.jboss42;
-
-//$Id$
-
-import org.jboss.wsf.spi.deployment.AbstractDeployer;
-import org.jboss.wsf.spi.deployment.Deployment;
-import org.jboss.wsf.spi.deployment.Endpoint;
-import org.jboss.wsf.spi.deployment.UnifiedDeploymentInfo;
-import org.jboss.wsf.spi.deployment.WebAppDesciptorModifier;
-import org.jboss.wsf.spi.deployment.WebXMLRewriter;
-
-/**
- * A deployer that modifies the web.xml meta data
- *
- * @author Thomas.Diesler(a)jboss.org
- * @since 25-Apr-2007
- */
-public class ModifyWebMetaDataDeployer extends AbstractDeployer
-{
- private WebXMLRewriter webXMLRewriter;
-
- public void setWebXMLRewriter(WebXMLRewriter serviceEndpointPublisher)
- {
- this.webXMLRewriter = serviceEndpointPublisher;
- }
-
- public void create(Deployment dep)
- {
- UnifiedDeploymentInfo udi =
dep.getContext().getAttachment(UnifiedDeploymentInfo.class);
- if (udi == null)
- throw new IllegalStateException("Cannot obtain unified deployement
info");
-
- WebAppDesciptorModifier.RewriteResults results =
webXMLRewriter.rewriteWebXml(dep);
-
- // The endpoint may not have a target bean when
- // <servlet-class> originally contained a javax.servlet.Servlet
- for (Endpoint ep : dep.getService().getEndpoints())
- {
- if (ep.getTargetBeanName() == null)
- {
- String servletName = ep.getShortName();
- String beanClassName = results.sepTargetMap.get(servletName);
- if (beanClassName == null)
- throw new IllegalStateException("Cannot obtain target bean for:
" + servletName);
-
- ep.setTargetBeanName(beanClassName);
- }
- }
- }
-}
\ No newline at end of file
Copied:
trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/ModifyWebMetaDataDeploymentAspect.java
(from rev 3881,
branches/tdiesler/trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/ModifyWebMetaDataDeploymentAspect.java)
===================================================================
---
trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/ModifyWebMetaDataDeploymentAspect.java
(rev 0)
+++
trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/ModifyWebMetaDataDeploymentAspect.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -0,0 +1,66 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., 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.wsf.container.jboss42;
+
+//$Id: ModifyWebMetaDataDeployer.java 3772 2007-07-01 19:29:13Z thomas.diesler(a)jboss.com
$
+
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.DeploymentAspect;
+import org.jboss.wsf.spi.deployment.Endpoint;
+import org.jboss.wsf.spi.deployment.WebAppDesciptorModifier;
+import org.jboss.wsf.spi.deployment.WebXMLRewriter;
+
+/**
+ * A deployer that modifies the web.xml meta data
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 25-Apr-2007
+ */
+public class ModifyWebMetaDataDeploymentAspect extends DeploymentAspect
+{
+ private WebXMLRewriter webXMLRewriter;
+
+ public void setWebXMLRewriter(WebXMLRewriter serviceEndpointPublisher)
+ {
+ this.webXMLRewriter = serviceEndpointPublisher;
+ }
+
+ public void create(Deployment dep)
+ {
+ WebAppDesciptorModifier.RewriteResults results =
webXMLRewriter.rewriteWebXml(dep);
+
+ // The endpoint may not have a target bean when
+ // <servlet-class> originally contained a javax.servlet.Servlet
+ for (Endpoint ep : dep.getService().getEndpoints())
+ {
+ if (ep.getTargetBeanName() == null)
+ {
+ String servletName = ep.getShortName();
+ String beanClassName = results.sepTargetMap.get(servletName);
+ if (beanClassName == null)
+ throw new IllegalStateException("Cannot obtain target bean for:
" + servletName);
+
+ ep.setTargetBeanName(beanClassName);
+ }
+ }
+ }
+}
\ No newline at end of file
Deleted:
trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/UnifiedDeploymentInfoDeployer.java
===================================================================
---
trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/UnifiedDeploymentInfoDeployer.java 2007-07-13
14:36:56 UTC (rev 3883)
+++
trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/UnifiedDeploymentInfoDeployer.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -1,76 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., 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.wsf.container.jboss42;
-
-//$Id$
-
-import org.jboss.deployment.DeploymentInfo;
-import org.jboss.wsf.spi.deployment.AbstractDeployer;
-import org.jboss.wsf.spi.deployment.Deployment;
-import org.jboss.wsf.spi.deployment.JAXRPCDeployment;
-import org.jboss.wsf.spi.deployment.JAXWSDeployment;
-import org.jboss.wsf.spi.deployment.UnifiedDeploymentInfo;
-import org.jboss.wsf.spi.deployment.Deployment.DeploymentType;
-import org.jboss.wsf.spi.metadata.webservices.WebservicesMetaData;
-
-/**
- * A deployer that builds the UnifiedDeploymentInfo
- *
- * @author Thomas.Diesler(a)jboss.org
- * @since 25-Apr-2007
- */
-public class UnifiedDeploymentInfoDeployer extends AbstractDeployer
-{
- private DeploymentInfoAdapter deploymentInfoAdapter;
-
- public void setDeploymentInfoAdapter(DeploymentInfoAdapter adapter)
- {
- this.deploymentInfoAdapter = adapter;
- }
-
- @Override
- public void create(Deployment dep)
- {
- UnifiedDeploymentInfo udi =
dep.getContext().getAttachment(UnifiedDeploymentInfo.class);
- if (udi == null)
- {
- DeploymentInfo unit = dep.getContext().getAttachment(DeploymentInfo.class);
- if (unit == null)
- throw new IllegalStateException("Cannot obtain deployment unit");
-
- DeploymentType type = dep.getType();
- if (type.toString().startsWith("JAXWS"))
- {
- udi = new JAXWSDeployment(type);
- deploymentInfoAdapter.buildDeploymentInfo(dep, udi, unit);
- }
- else
- {
- WebservicesMetaData wsMetaData =
dep.getContext().getAttachment(WebservicesMetaData.class);
- udi = new JAXRPCDeployment(type, wsMetaData);
- deploymentInfoAdapter.buildDeploymentInfo(dep, udi, unit);
- }
-
- dep.getContext().addAttachment(UnifiedDeploymentInfo.class, udi);
- }
- }
-}
\ No newline at end of file
Copied:
trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/UnifiedDeploymentInfoDeploymentAspect.java
(from rev 3881,
branches/tdiesler/trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/UnifiedDeploymentInfoDeploymentAspect.java)
===================================================================
---
trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/UnifiedDeploymentInfoDeploymentAspect.java
(rev 0)
+++
trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/UnifiedDeploymentInfoDeploymentAspect.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -0,0 +1,76 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., 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.wsf.container.jboss42;
+
+//$Id: UnifiedDeploymentInfoDeployer.java 3407 2007-06-03 16:06:36Z
thomas.diesler(a)jboss.com $
+
+import org.jboss.deployment.DeploymentInfo;
+import org.jboss.wsf.spi.deployment.DeploymentAspect;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.JAXRPCDeployment;
+import org.jboss.wsf.spi.deployment.JAXWSDeployment;
+import org.jboss.wsf.spi.deployment.UnifiedDeploymentInfo;
+import org.jboss.wsf.spi.deployment.Deployment.DeploymentType;
+import org.jboss.wsf.spi.metadata.webservices.WebservicesMetaData;
+
+/**
+ * A deployer that builds the UnifiedDeploymentInfo
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 25-Apr-2007
+ */
+public class UnifiedDeploymentInfoDeploymentAspect extends DeploymentAspect
+{
+ private DeploymentInfoAdapter deploymentInfoAdapter;
+
+ public void setDeploymentInfoAdapter(DeploymentInfoAdapter adapter)
+ {
+ this.deploymentInfoAdapter = adapter;
+ }
+
+ @Override
+ public void create(Deployment dep)
+ {
+ UnifiedDeploymentInfo udi =
dep.getContext().getAttachment(UnifiedDeploymentInfo.class);
+ if (udi == null)
+ {
+ DeploymentInfo unit = dep.getContext().getAttachment(DeploymentInfo.class);
+ if (unit == null)
+ throw new IllegalStateException("Cannot obtain deployment unit");
+
+ DeploymentType type = dep.getType();
+ if (type.toString().startsWith("JAXWS"))
+ {
+ udi = new JAXWSDeployment(type);
+ deploymentInfoAdapter.buildDeploymentInfo(dep, udi, unit);
+ }
+ else
+ {
+ WebservicesMetaData wsMetaData =
dep.getContext().getAttachment(WebservicesMetaData.class);
+ udi = new JAXRPCDeployment(type, wsMetaData);
+ deploymentInfoAdapter.buildDeploymentInfo(dep, udi, unit);
+ }
+
+ dep.getContext().addAttachment(UnifiedDeploymentInfo.class, udi);
+ }
+ }
+}
\ No newline at end of file
Deleted:
trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/WebAppDeployerDeployer.java
===================================================================
---
trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/WebAppDeployerDeployer.java 2007-07-13
14:36:56 UTC (rev 3883)
+++
trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/WebAppDeployerDeployer.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -1,118 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., 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.wsf.container.jboss42;
-
-// $Id$
-
-import java.net.URL;
-
-import javax.management.MBeanServer;
-
-import org.jboss.deployment.DeploymentInfo;
-import org.jboss.deployment.MainDeployerMBean;
-import org.jboss.logging.Logger;
-import org.jboss.mx.util.MBeanProxy;
-import org.jboss.mx.util.MBeanProxyCreationException;
-import org.jboss.mx.util.MBeanServerLocator;
-import org.jboss.wsf.spi.deployment.AbstractDeployer;
-import org.jboss.wsf.spi.deployment.Deployment;
-import org.jboss.wsf.spi.deployment.WebXMLRewriter;
-import org.jboss.wsf.spi.deployment.UnifiedDeploymentInfo;
-import org.jboss.wsf.spi.deployment.WSDeploymentException;
-
-/**
- * Publish the HTTP service endpoint to Tomcat
- *
- * @author Thomas.Diesler(a)jboss.org
- * @since 12-May-2006
- */
-public class WebAppDeployerDeployer extends AbstractDeployer
-{
- // provide logging
- private static Logger log = Logger.getLogger(WebAppDeployerDeployer.class);
-
- private WebXMLRewriter webXMLRewriter;
-
- public void setWebXMLRewriter(WebXMLRewriter serviceEndpointPublisher)
- {
- this.webXMLRewriter = serviceEndpointPublisher;
- }
-
- public void create(Deployment dep)
- {
- UnifiedDeploymentInfo udi =
dep.getContext().getAttachment(UnifiedDeploymentInfo.class);
- if (udi == null)
- throw new IllegalStateException("Cannot obtain unified deployement
info");
-
- URL warURL = udi.webappURL;
-
- log.debug("publishServiceEndpoint: " + warURL);
- try
- {
- DeploymentInfo di = dep.getContext().getAttachment(DeploymentInfo.class);
- if (di == null)
- throw new IllegalStateException("Cannot obtain DeploymentInfo from
context");
-
- webXMLRewriter.rewriteWebXml(dep);
-
- // Preserve the repository config
- DeploymentInfo auxdi = new DeploymentInfo(warURL, null,
MBeanServerLocator.locateJBoss());
- auxdi.repositoryConfig = di.getTopRepositoryConfig();
- getMainDeployer().deploy(auxdi);
- }
- catch (Exception ex)
- {
- WSDeploymentException.rethrow(ex);
- }
- }
-
- public void destroy(Deployment dep)
- {
- UnifiedDeploymentInfo udi =
dep.getContext().getAttachment(UnifiedDeploymentInfo.class);
- if (udi == null)
- throw new IllegalStateException("Cannot obtain unified deployement
info");
-
- URL warURL = udi.webappURL;
- if (warURL == null)
- {
- log.error("Cannot obtain warURL for: " + udi.name);
- return;
- }
-
- log.debug("destroyServiceEndpoint: " + warURL);
- try
- {
- getMainDeployer().undeploy(warURL);
- }
- catch (Exception ex)
- {
- WSDeploymentException.rethrow(ex);
- }
- }
-
- private MainDeployerMBean getMainDeployer() throws MBeanProxyCreationException
- {
- MBeanServer server = MBeanServerLocator.locateJBoss();
- MainDeployerMBean mainDeployer =
(MainDeployerMBean)MBeanProxy.get(MainDeployerMBean.class, MainDeployerMBean.OBJECT_NAME,
server);
- return mainDeployer;
- }
-}
Copied:
trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/WebAppDeploymentAspect.java
(from rev 3881,
branches/tdiesler/trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/WebAppDeploymentAspect.java)
===================================================================
---
trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/WebAppDeploymentAspect.java
(rev 0)
+++
trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/WebAppDeploymentAspect.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -0,0 +1,121 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., 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.wsf.container.jboss42;
+
+// $Id: WebAppDeployerDeployer.java 3183 2007-05-22 13:06:13Z thomas.diesler(a)jboss.com $
+
+import java.net.URL;
+
+import javax.management.MBeanServer;
+
+import org.jboss.deployment.DeploymentInfo;
+import org.jboss.deployment.MainDeployerMBean;
+import org.jboss.logging.Logger;
+import org.jboss.mx.util.MBeanProxy;
+import org.jboss.mx.util.MBeanProxyCreationException;
+import org.jboss.mx.util.MBeanServerLocator;
+import org.jboss.wsf.spi.deployment.DeploymentAspect;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.WebXMLRewriter;
+import org.jboss.wsf.spi.deployment.UnifiedDeploymentInfo;
+import org.jboss.wsf.spi.deployment.WSDeploymentException;
+
+/**
+ * Publish the HTTP service endpoint to Tomcat
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 12-May-2006
+ */
+public class WebAppDeploymentAspect extends DeploymentAspect
+{
+ // provide logging
+ private static Logger log = Logger.getLogger(WebAppDeploymentAspect.class);
+
+ private WebXMLRewriter webXMLRewriter;
+
+ public void setWebXMLRewriter(WebXMLRewriter serviceEndpointPublisher)
+ {
+ this.webXMLRewriter = serviceEndpointPublisher;
+ }
+
+ public void create(Deployment dep)
+ {
+ if (dep.getType().toString().endsWith("EJB21") ||
dep.getType().toString().endsWith("EJB3"))
+ {
+ UnifiedDeploymentInfo udi =
dep.getContext().getAttachment(UnifiedDeploymentInfo.class);
+ if (udi == null)
+ throw new IllegalStateException("Cannot obtain unified deployement
info");
+
+ URL warURL = udi.webappURL;
+
+ log.debug("publishServiceEndpoint: " + warURL);
+ try
+ {
+ DeploymentInfo di = dep.getContext().getAttachment(DeploymentInfo.class);
+ if (di == null)
+ throw new IllegalStateException("Cannot obtain DeploymentInfo from
context");
+
+ webXMLRewriter.rewriteWebXml(dep);
+
+ // Preserve the repository config
+ DeploymentInfo auxdi = new DeploymentInfo(warURL, null,
MBeanServerLocator.locateJBoss());
+ auxdi.repositoryConfig = di.getTopRepositoryConfig();
+ getMainDeployer().deploy(auxdi);
+ }
+ catch (Exception ex)
+ {
+ WSDeploymentException.rethrow(ex);
+ }
+ }
+ }
+
+ public void destroy(Deployment dep)
+ {
+ UnifiedDeploymentInfo udi =
dep.getContext().getAttachment(UnifiedDeploymentInfo.class);
+ if (udi == null)
+ throw new IllegalStateException("Cannot obtain unified deployement
info");
+
+ URL warURL = udi.webappURL;
+ if (warURL == null)
+ {
+ log.error("Cannot obtain warURL for: " + udi.name);
+ return;
+ }
+
+ log.debug("destroyServiceEndpoint: " + warURL);
+ try
+ {
+ getMainDeployer().undeploy(warURL);
+ }
+ catch (Exception ex)
+ {
+ WSDeploymentException.rethrow(ex);
+ }
+ }
+
+ private MainDeployerMBean getMainDeployer() throws MBeanProxyCreationException
+ {
+ MBeanServer server = MBeanServerLocator.locateJBoss();
+ MainDeployerMBean mainDeployer =
(MainDeployerMBean)MBeanProxy.get(MainDeployerMBean.class, MainDeployerMBean.OBJECT_NAME,
server);
+ return mainDeployer;
+ }
+}
Copied: trunk/integration/jboss42/src/main/resources/jbossws-jboss42-config.xml (from rev
3881,
branches/tdiesler/trunk/integration/jboss42/src/main/resources/jbossws-jboss42-config.xml)
===================================================================
--- trunk/integration/jboss42/src/main/resources/jbossws-jboss42-config.xml
(rev 0)
+++ trunk/integration/jboss42/src/main/resources/jbossws-jboss42-config.xml 2007-07-13
15:42:07 UTC (rev 3884)
@@ -0,0 +1,211 @@
+ <!--
+
*********************************************************************************************************************
+ Web Service deployment
+
+ There are three deployer interceptors registered with the JBoss Deployers.
+
+ 1) DeployerInterceptorJSE
+ 2) DeployerInterceptorEJB21
+ 3) DeployerInterceptorEJB3
+
+ Each interceptor has a number of DeployerHooks registerd with it
+
+ Conceptually, each of these hooks implements the following pattern:
+
+ DployerHook.deploy(unit)
+ if(isWebServiceDeployment)
+ Deployment dep = createDeployment(unit)
+ DeploymentAspectManager.deploy(dep)
+
+ DeployerHook.undeploy(unit)
+ Deployment dep = getDeployment(unit)
+ DeploymentAspectManager.undeploy(dep)
+
+ Each deployer hook has a web service DeployerManager injected into it.
+ A web service DeployerManager maintains a list of Deployers, each of which
+ handles a single aspect of web service deployment.
+
+ Finally, each Endpoint is registered with the EndpointRegistry.
+
+
*********************************************************************************************************************
+ -->
+
+ <!-- Locate the single instance of the kernel -->
+ <bean name="WSKernelLocator"
class="org.jboss.ws.integration.KernelLocator">
+ <property name="kernel"><inject
bean="jboss.kernel:service=Kernel"/></property>
+ </bean>
+
+ <!--
+ Register DeployerHooks with JBoss deployers
+ -->
+ <bean name="WSDeployerHook_JAXRPC_JSE"
class="org.jboss.wsf.container.jboss42.JAXRPCDeployerHookJSE">
+ <property name="deploymentAspectManager"><inject
bean="WSDeploymentAspectManagerJSE"/></property>
+ <property name="phaseOneInterceptors">
+ <list class="java.util.LinkedList"
elementClass="javax.management.ObjectName">
+ <value>jboss.ws:service=DeployerInterceptorJSE</value>
+ </list>
+ </property>
+ </bean>
+ <bean name="WSDeployerHook_JAXRPC_EJB21"
class="org.jboss.wsf.container.jboss42.JAXRPCDeployerHookEJB21">
+ <property name="deploymentAspectManager"><inject
bean="WSDeploymentAspectManagerEJB"/></property>
+ <property name="phaseOneInterceptors">
+ <list class="java.util.LinkedList"
elementClass="javax.management.ObjectName">
+ <value>jboss.ws:service=DeployerInterceptorEJB21</value>
+ </list>
+ </property>
+ </bean>
+ <bean name="WSDeployerHook_JAXWS_JSE"
class="org.jboss.wsf.container.jboss42.JAXWSDeployerHookJSE">
+ <property name="deploymentAspectManager"><inject
bean="WSDeploymentAspectManagerJSE"/></property>
+ <property name="phaseOneInterceptors">
+ <list class="java.util.LinkedList"
elementClass="javax.management.ObjectName">
+ <value>jboss.ws:service=DeployerInterceptorJSE</value>
+ </list>
+ </property>
+ </bean>
+ <bean name="WSDeployerHook_JAXWS_EJB3"
class="org.jboss.wsf.container.jboss42.JAXWSDeployerHookEJB3">
+ <property name="deploymentAspectManager"><inject
bean="WSDeploymentAspectManagerEJB"/></property>
+ <property name="phaseOneInterceptors">
+ <list class="java.util.LinkedList"
elementClass="javax.management.ObjectName">
+ <value>jboss.ws:service=DeployerInterceptorEJB3</value>
+ </list>
+ </property>
+ </bean>
+ <bean name="WSMainDeployerHook"
class="org.jboss.wsf.container.jboss42.MainDeployerHook">
+ <property name="deploymentAspectManager"><inject
bean="WSMainDeploymentAspectManager"/></property>
+ <property name="phaseTwoInterceptors">
+ <list class="java.util.LinkedList"
elementClass="javax.management.ObjectName">
+ <value>jboss.ws:service=DeployerInterceptorJSE</value>
+ <value>jboss.ws:service=DeployerInterceptorEJB21</value>
+ <value>jboss.ws:service=DeployerInterceptorEJB3</value>
+ </list>
+ </property>
+ </bean>
+
+ <!--
+ Each DeploymentAspectManger maintains a list of DeploymentAspects
+ -->
+ <bean name="WSDeploymentAspectManagerJSE"
class="org.jboss.wsf.spi.deployment.BasicDeploymentAspectManager">
+ <property name="name">WSDeploymentAspectManagerJSE</property>
+ </bean>
+ <bean name="WSDeploymentAspectManagerEJB"
class="org.jboss.wsf.spi.deployment.BasicDeploymentAspectManager">
+ <property name="name">WSDeploymentAspectManagerEJB</property>
+ </bean>
+ <bean name="WSMainDeploymentAspectManager"
class="org.jboss.wsf.spi.deployment.BasicDeploymentAspectManager">
+ <property name="name">WSMainDeploymentAspectManager</property>
+ </bean>
+
+ <!--
+ The container deployment aspects
+ -->
+ <bean name="WSClassLoaderInjectionDeploymentAspect"
class="org.jboss.wsf.container.jboss42.ClassLoaderInjectionDeploymentAspect">
+ <property name="requires">AllowClassLoaderInjection</property>
+ <property name="provides">ContainerClassLoader</property>
+ </bean>
+
+ <bean name="WSContextRootDeploymentAspect"
class="org.jboss.wsf.spi.deployment.BackwardCompatibleContextRootDeploymentAspect">
+ <property name="requires">ContainerMetaData</property>
+ <property name="provides">ContextRoot</property>
+ </bean>
+
+ <bean name="WSEndpointHandlerDeploymentAspect"
class="org.jboss.wsf.spi.deployment.EndpointHandlerDeploymentAspect">
+ <property name="provides">ContainerEndpointHandler</property>
+ <property name="invocationHandler">
+ <map keyClass="java.lang.String"
valueClass="java.lang.String">
+
<entry><key>JAXRPC_EJB21</key><value>org.jboss.wsf.container.jboss42.InvocationHandlerEJB21</value></entry>
+
<entry><key>JAXRPC_MDB21</key><value>org.jboss.wsf.container.jboss42.InvocationHandlerMDB21</value></entry>
+
<entry><key>JAXWS_JSE</key><value>org.jboss.wsf.spi.invocation.InvocationHandlerJSE</value></entry>
+
<entry><key>JAXWS_EJB3</key><value>org.jboss.wsf.container.jboss42.InvocationHandlerEJB3</value></entry>
+ </map>
+ </property>
+ </bean>
+
+ <bean name="WSEndpointLifecycleDeploymentAspect"
class="org.jboss.wsf.spi.deployment.EndpointLifecycleDeploymentAspect">
+ <property name="requires">LAST_DEPLOYMENT_ASPECT</property>
+ </bean>
+
+ <bean name="WSEndpointMetricsDeploymentAspect"
class="org.jboss.wsf.spi.deployment.EndpointMetricsDeploymentAspect">
+ <property name="endpointMetrics"><inject
bean="WSEndpointMetrics"/></property>
+ </bean>
+
+ <bean name="WSEndpointNameDeploymentAspect"
class="org.jboss.wsf.spi.deployment.EndpointNameDeploymentAspect">
+ <property name="requires">URLPattern</property>
+ <property name="provides">EndpointName</property>
+ </bean>
+
+ <bean name="WSEndpointRegistryDeploymentAspect"
class="org.jboss.wsf.spi.deployment.EndpointRegistryDeploymentAspect">
+ <property
name="requires">EndpointName,StackEndpointHandler,InitializedMetaDataModel</property>
+ <property name="provides">RegisteredEndpoint</property>
+ </bean>
+
+ <bean name="WSModifyWebMetaDataDeploymentAspect"
class="org.jboss.wsf.container.jboss42.ModifyWebMetaDataDeploymentAspect">
+ <property name="requires">ContextProperties,
ContainerMetaData</property>
+ <property name="webXMLRewriter"><inject
bean="WSWebXMLRewriter"/></property>
+ </bean>
+
+ <bean name="WSUnifiedDeploymentInfoDeploymentAspect"
class="org.jboss.wsf.container.jboss42.UnifiedDeploymentInfoDeploymentAspect">
+ <property name="provides">ContainerMetaData</property>
+ <property name="deploymentInfoAdapter"><inject
bean="WSDeploymentInfoAdapter"/></property>
+ </bean>
+
+ <bean name="WSURLPatternDeploymentAspect"
class="org.jboss.wsf.spi.deployment.BackwardCompatibleURLPatternDeploymentAspect">
+ <property name="requires">ContextRoot,
ContainerMetaData</property>
+ <property name="provides">URLPattern</property>
+ </bean>
+
+ <bean name="WSWebAppDeploymentAspect"
class="org.jboss.wsf.container.jboss42.WebAppDeploymentAspect">
+ <property name="requires">WebMetaData,
ContextProperties</property>
+ <property name="webXMLRewriter"><inject
bean="WSWebXMLRewriter"/></property>
+ </bean>
+
+ <bean name="WSWebAppGeneratorDeploymentAspect"
class="org.jboss.wsf.spi.deployment.WebAppGeneratorDeploymentAspect">
+ <property name="requires">URLPattern</property>
+ <property name="provides">WebMetaData</property>
+ <property name="securityHandlerEJB21"><inject
bean="WSSecurityHandlerEJB21"/></property>
+ <property name="securityHandlerEJB3"><inject
bean="WSSecurityHandlerEJB3"/></property>
+ </bean>
+
+ <!-- Deployment aspect helper beans -->
+ <bean name="WSApplicationMetaDataAdapterEJB21"
class="org.jboss.wsf.container.jboss42.ApplicationMetaDataAdapterEJB21"/>
+ <bean name="WSApplicationMetaDataAdapterEJB3"
class="org.jboss.wsf.container.jboss42.ApplicationMetaDataAdapterEJB3"/>
+ <bean name="WSDeploymentInfoAdapter"
class="org.jboss.wsf.container.jboss42.DeploymentInfoAdapter">
+ <property name="applicationMetaDataAdapterEJB21"><inject
bean="WSApplicationMetaDataAdapterEJB21"/></property>
+ <property name="applicationMetaDataAdapterEJB3"><inject
bean="WSApplicationMetaDataAdapterEJB3"/></property>
+ <property name="webMetaDataAdapter"><inject
bean="WSWebMetaDataAdapter"/></property>
+ </bean>
+ <bean name="WSEndpointMetrics"
class="org.jboss.wsf.spi.management.BasicEndpointMetrics"/>
+ <bean name="WSSecurityHandlerEJB21"
class="org.jboss.wsf.container.jboss42.SecurityHandlerEJB21"/>
+ <bean name="WSSecurityHandlerEJB3"
class="org.jboss.wsf.container.jboss42.SecurityHandlerEJB3"/>
+ <bean name="WSWebAppDesciptorModifier"
class="org.jboss.wsf.spi.deployment.WebAppDesciptorModifierImpl"/>
+ <bean name="WSWebMetaDataAdapter"
class="org.jboss.wsf.container.jboss42.WebMetaDataAdapter"/>
+ <bean name="WSWebXMLRewriter"
class="org.jboss.wsf.spi.deployment.WebXMLRewriter">
+ <property name="desciptorModifier"><inject
bean="WSWebAppDesciptorModifier"/></property>
+ </bean>
+
+ <!-- Deployment aspect installers -->
+ <bean name="WSDeploymentAspectInstallerJSE"
class="org.jboss.wsf.spi.deployment.DeploymentAspectInstaller">
+ <property name="manager"><inject
bean="WSDeploymentAspectManagerJSE"/></property>
+ <property name="aspects">
+ <set class="java.util.HashSet"
elementClass="org.jboss.wsf.spi.deployment.DeploymentAspect">
+ <inject bean="WSModifyWebMetaDataDeploymentAspect"/>
+ <inject bean="WSUnifiedDeploymentInfoDeploymentAspect"/>
+ </set>
+ </property>
+ </bean>
+ <bean name="WSMainDeploymentAspectInstaller"
class="org.jboss.wsf.spi.deployment.DeploymentAspectInstaller">
+ <property name="manager"><inject
bean="WSMainDeploymentAspectManager"/></property>
+ <property name="aspects">
+ <set class="java.util.HashSet"
elementClass="org.jboss.wsf.spi.deployment.DeploymentAspect">
+ <inject bean="WSClassLoaderInjectionDeploymentAspect"/>
+ <inject bean="WSContextRootDeploymentAspect"/>
+ <inject bean="WSEndpointHandlerDeploymentAspect"/>
+ <inject bean="WSEndpointLifecycleDeploymentAspect"/>
+ <inject bean="WSEndpointMetricsDeploymentAspect"/>
+ <inject bean="WSEndpointNameDeploymentAspect"/>
+ <inject bean="WSEndpointRegistryDeploymentAspect"/>
+ <inject bean="WSUnifiedDeploymentInfoDeploymentAspect"/>
+ <inject bean="WSURLPatternDeploymentAspect"/>
+ <inject bean="WSWebAppDeploymentAspect"/>
+ <inject bean="WSWebAppGeneratorDeploymentAspect"/>
+ </set>
+ </property>
+ </bean>
Copied: trunk/integration/jboss42/src/main/resources/jbossws-jboss42.sar (from rev 3881,
branches/tdiesler/trunk/integration/jboss42/src/main/resources/jbossws-jboss42.sar)
Copied: trunk/integration/jboss42/src/main/resources/jbossws-jboss42.sar/META-INF (from
rev 3881,
branches/tdiesler/trunk/integration/jboss42/src/main/resources/jbossws-jboss42.sar/META-INF)
Deleted:
trunk/integration/jboss42/src/main/resources/jbossws-jboss42.sar/META-INF/jboss-service.xml
===================================================================
---
branches/tdiesler/trunk/integration/jboss42/src/main/resources/jbossws-jboss42.sar/META-INF/jboss-service.xml 2007-07-13
13:42:05 UTC (rev 3881)
+++
trunk/integration/jboss42/src/main/resources/jbossws-jboss42.sar/META-INF/jboss-service.xml 2007-07-13
15:42:07 UTC (rev 3884)
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!-- $Id$ -->
-
-<server>
-
- <!--
- A deployer service for JSE endpoints.
- -->
- <mbean name="jboss.ws:service=DeployerInterceptorJSE"
code="org.jboss.wsf.container.jboss42.DeployerInterceptorJSE">
- <depends-list optional-attribute-name="Interceptables">
-
<depends-list-element>jboss.web:service=WebServer</depends-list-element>
- </depends-list>
- </mbean>
-
- <!--
- A deployer service for EJB2.1 endpoints.
- -->
- <mbean name="jboss.ws:service=DeployerInterceptorEJB21"
code="org.jboss.wsf.container.jboss42.DeployerInterceptorEJB21">
- <depends-list optional-attribute-name="Interceptables">
-
<depends-list-element>jboss.ejb:service=EJBDeployer</depends-list-element>
- </depends-list>
- </mbean>
-
- <!--
- A deployer service for EJB3 endpoints.
- -->
- <mbean name="jboss.ws:service=DeployerInterceptorEJB3"
code="org.jboss.wsf.container.jboss42.DeployerInterceptorEJB3">
- <depends-list optional-attribute-name="Interceptables">
-
<depends-list-element>jboss.ejb3:service=EJB3Deployer</depends-list-element>
- </depends-list>
- </mbean>
-
-</server>
Copied:
trunk/integration/jboss42/src/main/resources/jbossws-jboss42.sar/META-INF/jboss-service.xml
(from rev 3881,
branches/tdiesler/trunk/integration/jboss42/src/main/resources/jbossws-jboss42.sar/META-INF/jboss-service.xml)
===================================================================
---
trunk/integration/jboss42/src/main/resources/jbossws-jboss42.sar/META-INF/jboss-service.xml
(rev 0)
+++
trunk/integration/jboss42/src/main/resources/jbossws-jboss42.sar/META-INF/jboss-service.xml 2007-07-13
15:42:07 UTC (rev 3884)
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- $Id$ -->
+
+<server>
+
+ <!--
+ A deployer service for JSE endpoints.
+ -->
+ <mbean name="jboss.ws:service=DeployerInterceptorJSE"
code="org.jboss.wsf.container.jboss42.DeployerInterceptorJSE">
+ <depends-list optional-attribute-name="Interceptables">
+
<depends-list-element>jboss.web:service=WebServer</depends-list-element>
+ </depends-list>
+ </mbean>
+
+ <!--
+ A deployer service for EJB2.1 endpoints.
+ -->
+ <mbean name="jboss.ws:service=DeployerInterceptorEJB21"
code="org.jboss.wsf.container.jboss42.DeployerInterceptorEJB21">
+ <depends-list optional-attribute-name="Interceptables">
+
<depends-list-element>jboss.ejb:service=EJBDeployer</depends-list-element>
+ </depends-list>
+ </mbean>
+
+ <!--
+ A deployer service for EJB3 endpoints.
+ -->
+ <mbean name="jboss.ws:service=DeployerInterceptorEJB3"
code="org.jboss.wsf.container.jboss42.DeployerInterceptorEJB3">
+ <depends-list optional-attribute-name="Interceptables">
+
<depends-list-element>jboss.ejb3:service=EJB3Deployer</depends-list-element>
+ </depends-list>
+ </mbean>
+
+</server>
Modified: trunk/integration/jboss50/build.xml
===================================================================
--- trunk/integration/jboss50/build.xml 2007-07-13 14:36:56 UTC (rev 3883)
+++ trunk/integration/jboss50/build.xml 2007-07-13 15:42:07 UTC (rev 3884)
@@ -107,6 +107,16 @@
<metainf
dir="${jbws50.resources.dir}/jbossws-jboss50.jar/META-INF"/>
</jar>
+ <!-- Build jbossws-native50.deployer -->
+ <zip
zipfile="${jbws50.output.lib.dir}/jbossws-jboss50-deployer.zip">
+ <fileset dir="${jbws50.output.lib.dir}">
+ <include name="jbossws-jboss50.jar"/>
+ </fileset>
+ <fileset dir="${jbws50.resources.dir}/jbossws-jboss50.deployer">
+ <include name="META-INF/jbossws-deployer-beans.xml"/>
+ </fileset>
+ </zip>
+
<!-- Build jbossws50-src.zip -->
<zip zipfile="${jbws50.output.lib.dir}/jbossws-jboss50-src.zip" >
<fileset dir="${jbws50.java.dir}"/>
Modified:
trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/AbstractDeployerHook.java
===================================================================
---
trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/AbstractDeployerHook.java 2007-07-13
14:36:56 UTC (rev 3883)
+++
trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/AbstractDeployerHook.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -23,7 +23,10 @@
import org.jboss.deployers.structure.spi.DeploymentUnit;
import org.jboss.logging.Logger;
-import org.jboss.wsf.spi.deployment.DeployerManager;
+import org.jboss.wsf.spi.deployment.BasicDeployment;
+import org.jboss.wsf.spi.deployment.BasicEndpoint;
+import org.jboss.wsf.spi.deployment.BasicService;
+import org.jboss.wsf.spi.deployment.DeploymentAspectManager;
import org.jboss.wsf.spi.deployment.Deployment;
import org.jboss.wsf.spi.deployment.Endpoint;
import org.jboss.wsf.spi.deployment.Service;
@@ -43,14 +46,14 @@
// provide logging
protected final Logger log = Logger.getLogger(getClass());
- protected DeployerManager deployerManager;
- protected String deploymentClass;
- protected String serviceClass;
- protected String endpointClass;
+ protected DeploymentAspectManager deploymentAspectManager;
+ protected String deploymentClass = BasicDeployment.class.getName();
+ protected String serviceClass = BasicService.class.getName();
+ protected String endpointClass = BasicEndpoint.class.getName();
- public void setDeployerManager(DeployerManager deploymentManager)
+ public void setDeploymentAspectManager(DeploymentAspectManager deploymentManager)
{
- this.deployerManager = deploymentManager;
+ this.deploymentAspectManager = deploymentManager;
}
public void setDeploymentClass(String deploymentClass)
Modified:
trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/ArchiveDeployerHook.java
===================================================================
---
trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/ArchiveDeployerHook.java 2007-07-13
14:36:56 UTC (rev 3883)
+++
trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/ArchiveDeployerHook.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -94,7 +94,7 @@
dep.getContext().addAttachment(DeploymentUnit.class, unit);
}
- deployerManager.deploy(dep);
+ deploymentAspectManager.deploy(dep);
unit.addAttachment(Deployment.class, dep);
}
}
@@ -108,7 +108,7 @@
if (dep != null)
{
log.debug("undeploy: " + unit.getName());
- deployerManager.undeploy(dep);
+ deploymentAspectManager.undeploy(dep);
unit.removeAttachment(Deployment.class);
}
}
Deleted:
trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/ClassLoaderInjectionDeployer.java
===================================================================
---
trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/ClassLoaderInjectionDeployer.java 2007-07-13
14:36:56 UTC (rev 3883)
+++
trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/ClassLoaderInjectionDeployer.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -1,57 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., 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.wsf.container.jboss50;
-
-//$Id$
-
-import org.jboss.deployers.structure.spi.DeploymentUnit;
-import org.jboss.metadata.WebMetaData;
-import org.jboss.wsf.spi.deployment.AbstractDeployer;
-import org.jboss.wsf.spi.deployment.Deployment;
-
-/**
- * A deployer that injects the correct classloader into the Deployment
- *
- * @author Thomas.Diesler(a)jboss.org
- * @since 25-Apr-2007
- */
-public class ClassLoaderInjectionDeployer extends AbstractDeployer
-{
- @Override
- public void create(Deployment dep)
- {
- DeploymentUnit unit = dep.getContext().getAttachment(DeploymentUnit.class);
- if (unit == null)
- throw new IllegalStateException("Cannot obtain deployement unit");
-
- ClassLoader classLoader = unit.getClassLoader();
-
- // Get the webapp context classloader and use it as the deploymet class loader
- WebMetaData webMetaData = dep.getContext().getAttachment(WebMetaData.class);
- if (webMetaData != null)
- {
- classLoader = webMetaData.getContextLoader();
- }
-
- dep.setClassLoader(classLoader);
- }
-}
\ No newline at end of file
Copied:
trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/ClassLoaderInjectionDeploymentAspect.java
(from rev 3881,
branches/tdiesler/trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/ClassLoaderInjectionDeploymentAspect.java)
===================================================================
---
trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/ClassLoaderInjectionDeploymentAspect.java
(rev 0)
+++
trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/ClassLoaderInjectionDeploymentAspect.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -0,0 +1,57 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., 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.wsf.container.jboss50;
+
+//$Id: ClassLoaderInjectionDeployer.java 3772 2007-07-01 19:29:13Z
thomas.diesler(a)jboss.com $
+
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.metadata.WebMetaData;
+import org.jboss.wsf.spi.deployment.DeploymentAspect;
+import org.jboss.wsf.spi.deployment.Deployment;
+
+/**
+ * A deployer that injects the correct classloader into the Deployment
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 25-Apr-2007
+ */
+public class ClassLoaderInjectionDeploymentAspect extends DeploymentAspect
+{
+ @Override
+ public void create(Deployment dep)
+ {
+ DeploymentUnit unit = dep.getContext().getAttachment(DeploymentUnit.class);
+ if (unit == null)
+ throw new IllegalStateException("Cannot obtain deployement unit");
+
+ ClassLoader classLoader = unit.getClassLoader();
+
+ // Get the webapp context classloader and use it as the deploymet class loader
+ WebMetaData webMetaData = dep.getContext().getAttachment(WebMetaData.class);
+ if (webMetaData != null)
+ {
+ classLoader = webMetaData.getContextLoader();
+ }
+
+ dep.setClassLoader(classLoader);
+ }
+}
\ No newline at end of file
Modified:
trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/InvocationHandlerEJB21.java
===================================================================
---
trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/InvocationHandlerEJB21.java 2007-07-13
14:36:56 UTC (rev 3883)
+++
trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/InvocationHandlerEJB21.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -44,7 +44,7 @@
import org.jboss.security.plugins.SecurityContextAssociation;
import org.jboss.wsf.spi.deployment.Endpoint;
import org.jboss.wsf.spi.deployment.UnifiedDeploymentInfo;
-import org.jboss.wsf.spi.invocation.AbstractInvocationHandler;
+import org.jboss.wsf.spi.invocation.BasicInvocationHandler;
import org.jboss.wsf.spi.invocation.HandlerCallback;
import org.jboss.wsf.spi.invocation.Invocation;
import org.jboss.wsf.spi.invocation.SecurityAdaptor;
@@ -59,7 +59,7 @@
* @author Thomas.Diesler(a)jboss.org
* @since 25-Apr-2007
*/
-public class InvocationHandlerEJB21 extends AbstractInvocationHandler
+public class InvocationHandlerEJB21 extends BasicInvocationHandler
{
// provide logging
private static final Logger log = Logger.getLogger(InvocationHandlerEJB21.class);
Modified:
trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/InvocationHandlerEJB3.java
===================================================================
---
trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/InvocationHandlerEJB3.java 2007-07-13
14:36:56 UTC (rev 3883)
+++
trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/InvocationHandlerEJB3.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -39,7 +39,7 @@
import org.jboss.injection.lang.reflect.BeanProperty;
import org.jboss.wsf.spi.deployment.Endpoint;
import org.jboss.wsf.spi.deployment.UnifiedDeploymentInfo;
-import org.jboss.wsf.spi.invocation.AbstractInvocationHandler;
+import org.jboss.wsf.spi.invocation.BasicInvocationHandler;
import org.jboss.wsf.spi.invocation.Invocation;
import org.jboss.wsf.spi.invocation.WebServiceContextEJB;
import org.jboss.wsf.spi.utils.ObjectNameFactory;
@@ -50,7 +50,7 @@
* @author Thomas.Diesler(a)jboss.org
* @since 25-Apr-2007
*/
-public class InvocationHandlerEJB3 extends AbstractInvocationHandler
+public class InvocationHandlerEJB3 extends BasicInvocationHandler
{
private ObjectName objectName;
Modified:
trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/MainDeployerHook.java
===================================================================
---
trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/MainDeployerHook.java 2007-07-13
14:36:56 UTC (rev 3883)
+++
trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/MainDeployerHook.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -44,7 +44,7 @@
Deployment dep = unit.getAttachment(Deployment.class);
if (dep != null)
{
- deployerManager.deploy(dep);
+ deploymentAspectManager.deploy(dep);
}
}
@@ -56,7 +56,7 @@
Deployment dep = unit.getAttachment(Deployment.class);
if (dep != null)
{
- deployerManager.undeploy(dep);
+ deploymentAspectManager.undeploy(dep);
}
}
}
Deleted:
trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/ModifyWebMetaDataDeployer.java
===================================================================
---
trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/ModifyWebMetaDataDeployer.java 2007-07-13
14:36:56 UTC (rev 3883)
+++
trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/ModifyWebMetaDataDeployer.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -1,111 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., 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.wsf.container.jboss50;
-
-//$Id$
-
-import java.util.Iterator;
-
-import org.jboss.metadata.NameValuePair;
-import org.jboss.metadata.WebMetaData;
-import org.jboss.metadata.web.Servlet;
-import org.jboss.wsf.spi.deployment.AbstractDeployer;
-import org.jboss.wsf.spi.deployment.Deployment;
-import org.jboss.wsf.spi.deployment.Endpoint;
-
-/**
- * A deployer that modifies the web.xml meta data
- *
- * @author Thomas.Diesler(a)jboss.org
- * @since 25-Apr-2007
- */
-public class ModifyWebMetaDataDeployer extends AbstractDeployer
-{
- private String servletClass;
-
- public void setServletClass(String servletClass)
- {
- this.servletClass = servletClass;
- }
-
- @Override
- public void create(Deployment dep)
- {
- WebMetaData webMetaData = dep.getContext().getAttachment(WebMetaData.class);
- if (webMetaData != null)
- {
- for (Servlet servlet : webMetaData.getServlets())
- {
- String orgServletClass = servlet.getServletClass();
-
- // JSP
- if (orgServletClass == null || orgServletClass.length() == 0)
- {
- log.debug("Innore servlet class: " + orgServletClass);
- continue;
- }
-
- // Nothing to do if we have an <init-param>
- if (!isAlreadyModified(servlet) && !isJavaxServlet(orgServletClass,
dep.getClassLoader()))
- {
- servlet.setServletClass(servletClass);
- NameValuePair initParam = new
NameValuePair(Endpoint.SEPID_DOMAIN_ENDPOINT, orgServletClass);
- servlet.addInitParam(initParam);
- }
- }
- }
- }
-
- private boolean isJavaxServlet(String orgServletClass, ClassLoader loader)
- {
- boolean isServlet = false;
- if (loader != null)
- {
- try
- {
- Class servletClass = loader.loadClass(orgServletClass);
- isServlet = javax.servlet.Servlet.class.isAssignableFrom(servletClass);
- if (isServlet == true)
- {
- log.info("Ignore servlet: " + orgServletClass);
- }
- }
- catch (ClassNotFoundException e)
- {
- log.warn("Cannot load servlet class: " + orgServletClass);
- }
- }
- return isServlet;
- }
-
- private boolean isAlreadyModified(Servlet servlet)
- {
- Iterator itParams = servlet.getInitParams().iterator();
- while (itParams.hasNext())
- {
- NameValuePair pair = (NameValuePair)itParams.next();
- if (Endpoint.SEPID_DOMAIN_ENDPOINT.equals(pair.getName()))
- return true;
- }
- return false;
- }
-}
\ No newline at end of file
Copied:
trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/ModifyWebMetaDataDeploymentAspect.java
(from rev 3881,
branches/tdiesler/trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/ModifyWebMetaDataDeploymentAspect.java)
===================================================================
---
trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/ModifyWebMetaDataDeploymentAspect.java
(rev 0)
+++
trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/ModifyWebMetaDataDeploymentAspect.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -0,0 +1,109 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., 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.wsf.container.jboss50;
+
+//$Id: ModifyWebMetaDataDeployer.java 3150 2007-05-20 00:29:48Z thomas.diesler(a)jboss.com
$
+
+import java.util.Iterator;
+
+import org.jboss.metadata.NameValuePair;
+import org.jboss.metadata.WebMetaData;
+import org.jboss.metadata.web.Servlet;
+import org.jboss.wsf.spi.deployment.DeploymentAspect;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.Endpoint;
+
+/**
+ * A deployer that modifies the web.xml meta data
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 25-Apr-2007
+ */
+public class ModifyWebMetaDataDeploymentAspect extends DeploymentAspect
+{
+ @Override
+ public void create(Deployment dep)
+ {
+ String propKey = "SERVICE_ENDPOINT_SERVLET";
+ String servletClass = (String)dep.getContext().getProperty(propKey);
+ if (servletClass == null)
+ throw new IllegalStateException("Cannot obtain context property: " +
propKey);
+
+ WebMetaData webMetaData = dep.getContext().getAttachment(WebMetaData.class);
+ if (webMetaData != null)
+ {
+ for (Servlet servlet : webMetaData.getServlets())
+ {
+ String orgServletClass = servlet.getServletClass();
+
+ // JSP
+ if (orgServletClass == null || orgServletClass.length() == 0)
+ {
+ log.debug("Innore servlet class: " + orgServletClass);
+ continue;
+ }
+
+ // Nothing to do if we have an <init-param>
+ if (!isAlreadyModified(servlet) && !isJavaxServlet(orgServletClass,
dep.getClassLoader()))
+ {
+ servlet.setServletClass(servletClass);
+ NameValuePair initParam = new
NameValuePair(Endpoint.SEPID_DOMAIN_ENDPOINT, orgServletClass);
+ servlet.addInitParam(initParam);
+ }
+ }
+ }
+ }
+
+ private boolean isJavaxServlet(String orgServletClass, ClassLoader loader)
+ {
+ boolean isServlet = false;
+ if (loader != null)
+ {
+ try
+ {
+ Class servletClass = loader.loadClass(orgServletClass);
+ isServlet = javax.servlet.Servlet.class.isAssignableFrom(servletClass);
+ if (isServlet == true)
+ {
+ log.info("Ignore servlet: " + orgServletClass);
+ }
+ }
+ catch (ClassNotFoundException e)
+ {
+ log.warn("Cannot load servlet class: " + orgServletClass);
+ }
+ }
+ return isServlet;
+ }
+
+ private boolean isAlreadyModified(Servlet servlet)
+ {
+ Iterator itParams = servlet.getInitParams().iterator();
+ while (itParams.hasNext())
+ {
+ NameValuePair pair = (NameValuePair)itParams.next();
+ if (Endpoint.SEPID_DOMAIN_ENDPOINT.equals(pair.getName()))
+ return true;
+ }
+ return false;
+ }
+}
\ No newline at end of file
Deleted:
trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/UnifiedDeploymentInfoDeployer.java
===================================================================
---
trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/UnifiedDeploymentInfoDeployer.java 2007-07-13
14:36:56 UTC (rev 3883)
+++
trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/UnifiedDeploymentInfoDeployer.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -1,76 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., 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.wsf.container.jboss50;
-
-//$Id$
-
-import org.jboss.deployers.structure.spi.DeploymentUnit;
-import org.jboss.wsf.spi.deployment.AbstractDeployer;
-import org.jboss.wsf.spi.deployment.Deployment;
-import org.jboss.wsf.spi.deployment.JAXRPCDeployment;
-import org.jboss.wsf.spi.deployment.JAXWSDeployment;
-import org.jboss.wsf.spi.deployment.UnifiedDeploymentInfo;
-import org.jboss.wsf.spi.deployment.Deployment.DeploymentType;
-import org.jboss.wsf.spi.metadata.webservices.WebservicesMetaData;
-
-/**
- * A deployer that builds the UnifiedDeploymentInfo
- *
- * @author Thomas.Diesler(a)jboss.org
- * @since 25-Apr-2007
- */
-public class UnifiedDeploymentInfoDeployer extends AbstractDeployer
-{
- private DeploymentInfoAdapter deploymentInfoAdapter = new DeploymentInfoAdapter();
-
- public void setDeploymentInfoAdapter(DeploymentInfoAdapter adapter)
- {
- this.deploymentInfoAdapter = adapter;
- }
-
- @Override
- public void create(Deployment dep)
- {
- UnifiedDeploymentInfo udi =
dep.getContext().getAttachment(UnifiedDeploymentInfo.class);
- if (udi == null)
- {
- DeploymentUnit unit = dep.getContext().getAttachment(DeploymentUnit.class);
- if (unit == null)
- throw new IllegalStateException("Cannot obtain deployment unit");
-
- DeploymentType type = dep.getType();
- if (type.toString().startsWith("JAXWS"))
- {
- udi = new JAXWSDeployment(type);
- deploymentInfoAdapter.buildDeploymentInfo(dep, udi, unit);
- }
- else
- {
- WebservicesMetaData wsMetaData =
dep.getContext().getAttachment(WebservicesMetaData.class);
- udi = new JAXRPCDeployment(type, wsMetaData);
- deploymentInfoAdapter.buildDeploymentInfo(dep, udi, unit);
- }
-
- dep.getContext().addAttachment(UnifiedDeploymentInfo.class, udi);
- }
- }
-}
\ No newline at end of file
Copied:
trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/UnifiedDeploymentInfoDeploymentAspect.java
(from rev 3881,
branches/tdiesler/trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/UnifiedDeploymentInfoDeploymentAspect.java)
===================================================================
---
trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/UnifiedDeploymentInfoDeploymentAspect.java
(rev 0)
+++
trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/UnifiedDeploymentInfoDeploymentAspect.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -0,0 +1,76 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., 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.wsf.container.jboss50;
+
+//$Id: UnifiedDeploymentInfoDeployer.java 3772 2007-07-01 19:29:13Z
thomas.diesler(a)jboss.com $
+
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.wsf.spi.deployment.DeploymentAspect;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.JAXRPCDeployment;
+import org.jboss.wsf.spi.deployment.JAXWSDeployment;
+import org.jboss.wsf.spi.deployment.UnifiedDeploymentInfo;
+import org.jboss.wsf.spi.deployment.Deployment.DeploymentType;
+import org.jboss.wsf.spi.metadata.webservices.WebservicesMetaData;
+
+/**
+ * A deployer that builds the UnifiedDeploymentInfo
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 25-Apr-2007
+ */
+public class UnifiedDeploymentInfoDeploymentAspect extends DeploymentAspect
+{
+ private DeploymentInfoAdapter deploymentInfoAdapter = new DeploymentInfoAdapter();
+
+ public void setDeploymentInfoAdapter(DeploymentInfoAdapter adapter)
+ {
+ this.deploymentInfoAdapter = adapter;
+ }
+
+ @Override
+ public void create(Deployment dep)
+ {
+ UnifiedDeploymentInfo udi =
dep.getContext().getAttachment(UnifiedDeploymentInfo.class);
+ if (udi == null)
+ {
+ DeploymentUnit unit = dep.getContext().getAttachment(DeploymentUnit.class);
+ if (unit == null)
+ throw new IllegalStateException("Cannot obtain deployment unit");
+
+ DeploymentType type = dep.getType();
+ if (type.toString().startsWith("JAXWS"))
+ {
+ udi = new JAXWSDeployment(type);
+ deploymentInfoAdapter.buildDeploymentInfo(dep, udi, unit);
+ }
+ else
+ {
+ WebservicesMetaData wsMetaData =
dep.getContext().getAttachment(WebservicesMetaData.class);
+ udi = new JAXRPCDeployment(type, wsMetaData);
+ deploymentInfoAdapter.buildDeploymentInfo(dep, udi, unit);
+ }
+
+ dep.getContext().addAttachment(UnifiedDeploymentInfo.class, udi);
+ }
+ }
+}
\ No newline at end of file
Deleted:
trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/WebAppDeployerDeployer.java
===================================================================
---
trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/WebAppDeployerDeployer.java 2007-07-13
14:36:56 UTC (rev 3883)
+++
trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/WebAppDeployerDeployer.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -1,124 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., 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.wsf.container.jboss50;
-
-// $Id$
-
-import java.net.URL;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.jboss.deployers.client.spi.DeployerClient;
-import org.jboss.deployers.vfs.spi.client.VFSDeploymentFactory;
-import org.jboss.logging.Logger;
-import org.jboss.virtual.VFS;
-import org.jboss.virtual.VirtualFile;
-import org.jboss.wsf.spi.deployment.AbstractDeployer;
-import org.jboss.wsf.spi.deployment.Deployment;
-import org.jboss.wsf.spi.deployment.UnifiedDeploymentInfo;
-import org.jboss.wsf.spi.deployment.WSDeploymentException;
-import org.jboss.wsf.spi.deployment.WebXMLRewriter;
-
-/**
- * Publish the HTTP service endpoint to Tomcat
- *
- * @author Thomas.Diesler(a)jboss.org
- * @since 12-May-2006
- */
-public class WebAppDeployerDeployer extends AbstractDeployer
-{
- // provide logging
- private static Logger log = Logger.getLogger(WebAppDeployerDeployer.class);
-
- private DeployerClient mainDeployer;
- private WebXMLRewriter webXMLRewriter;
- private Map<String, org.jboss.deployers.client.spi.Deployment> deploymentMap =
new HashMap<String, org.jboss.deployers.client.spi.Deployment>();
-
- public void setMainDeployer(DeployerClient mainDeployer)
- {
- this.mainDeployer = mainDeployer;
- }
-
- public void setWebXMLRewriter(WebXMLRewriter serviceEndpointPublisher)
- {
- this.webXMLRewriter = serviceEndpointPublisher;
- }
-
- public void create(Deployment dep)
- {
- UnifiedDeploymentInfo udi =
dep.getContext().getAttachment(UnifiedDeploymentInfo.class);
- if (udi == null)
- throw new IllegalStateException("Cannot obtain unified deployement
info");
-
- URL warURL = udi.webappURL;
-
- log.debug("publishServiceEndpoint: " + warURL);
- try
- {
- webXMLRewriter.rewriteWebXml(dep);
- org.jboss.deployers.client.spi.Deployment deployment =
createDeploymentContext(warURL);
-
- mainDeployer.deploy(deployment);
-
- deploymentMap.put(warURL.toExternalForm(), deployment);
- }
- catch (Exception ex)
- {
- WSDeploymentException.rethrow(ex);
- }
- }
-
- public void destroy(Deployment dep)
- {
- UnifiedDeploymentInfo udi =
dep.getContext().getAttachment(UnifiedDeploymentInfo.class);
- if (udi == null)
- throw new IllegalStateException("Cannot obtain unified deployement
info");
-
- URL warURL = udi.webappURL;
- if (warURL == null)
- {
- log.error("Cannot obtain warURL for: " + udi.name);
- return;
- }
-
- log.debug("destroyServiceEndpoint: " + warURL);
- try
- {
- org.jboss.deployers.client.spi.Deployment deployment =
deploymentMap.get(warURL.toExternalForm());
- if (deployment != null)
- {
- mainDeployer.undeploy(deployment);
- deploymentMap.remove(warURL.toExternalForm());
- }
- }
- catch (Exception ex)
- {
- WSDeploymentException.rethrow(ex);
- }
- }
-
- private org.jboss.deployers.client.spi.Deployment createDeploymentContext(URL warURL)
throws Exception
- {
- VirtualFile file = VFS.getRoot(warURL);
- return VFSDeploymentFactory.getInstance().createVFSDeployment(file);
- }
-}
Copied:
trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/WebAppDeploymentAspect.java
(from rev 3881,
branches/tdiesler/trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/WebAppDeploymentAspect.java)
===================================================================
---
trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/WebAppDeploymentAspect.java
(rev 0)
+++
trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/WebAppDeploymentAspect.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -0,0 +1,127 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., 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.wsf.container.jboss50;
+
+// $Id: WebAppDeployerDeployer.java 3772 2007-07-01 19:29:13Z thomas.diesler(a)jboss.com $
+
+import java.net.URL;
+import java.util.HashMap;
+import java.util.Map;
+
+import org.jboss.deployers.client.spi.DeployerClient;
+import org.jboss.deployers.vfs.spi.client.VFSDeploymentFactory;
+import org.jboss.logging.Logger;
+import org.jboss.virtual.VFS;
+import org.jboss.virtual.VirtualFile;
+import org.jboss.wsf.spi.deployment.DeploymentAspect;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.UnifiedDeploymentInfo;
+import org.jboss.wsf.spi.deployment.WSDeploymentException;
+import org.jboss.wsf.spi.deployment.WebXMLRewriter;
+
+/**
+ * Publish the HTTP service endpoint to Tomcat
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 12-May-2006
+ */
+public class WebAppDeploymentAspect extends DeploymentAspect
+{
+ // provide logging
+ private static Logger log = Logger.getLogger(WebAppDeploymentAspect.class);
+
+ private DeployerClient mainDeployer;
+ private WebXMLRewriter webXMLRewriter;
+ private Map<String, org.jboss.deployers.client.spi.Deployment> deploymentMap =
new HashMap<String, org.jboss.deployers.client.spi.Deployment>();
+
+ public void setMainDeployer(DeployerClient mainDeployer)
+ {
+ this.mainDeployer = mainDeployer;
+ }
+
+ public void setWebXMLRewriter(WebXMLRewriter serviceEndpointPublisher)
+ {
+ this.webXMLRewriter = serviceEndpointPublisher;
+ }
+
+ public void create(Deployment dep)
+ {
+ if (dep.getType().toString().endsWith("EJB21") ||
dep.getType().toString().endsWith("EJB3"))
+ {
+ UnifiedDeploymentInfo udi =
dep.getContext().getAttachment(UnifiedDeploymentInfo.class);
+ if (udi == null)
+ throw new IllegalStateException("Cannot obtain unified deployement
info");
+
+ URL warURL = udi.webappURL;
+
+ log.debug("publishServiceEndpoint: " + warURL);
+ try
+ {
+ webXMLRewriter.rewriteWebXml(dep);
+ org.jboss.deployers.client.spi.Deployment deployment =
createDeploymentContext(warURL);
+
+ mainDeployer.deploy(deployment);
+
+ deploymentMap.put(warURL.toExternalForm(), deployment);
+ }
+ catch (Exception ex)
+ {
+ WSDeploymentException.rethrow(ex);
+ }
+ }
+ }
+
+ public void destroy(Deployment dep)
+ {
+ UnifiedDeploymentInfo udi =
dep.getContext().getAttachment(UnifiedDeploymentInfo.class);
+ if (udi == null)
+ throw new IllegalStateException("Cannot obtain unified deployement
info");
+
+ URL warURL = udi.webappURL;
+ if (warURL == null)
+ {
+ log.error("Cannot obtain warURL for: " + udi.name);
+ return;
+ }
+
+ log.debug("destroyServiceEndpoint: " + warURL);
+ try
+ {
+ org.jboss.deployers.client.spi.Deployment deployment =
deploymentMap.get(warURL.toExternalForm());
+ if (deployment != null)
+ {
+ mainDeployer.undeploy(deployment);
+ deploymentMap.remove(warURL.toExternalForm());
+ }
+ }
+ catch (Exception ex)
+ {
+ WSDeploymentException.rethrow(ex);
+ }
+ }
+
+ private org.jboss.deployers.client.spi.Deployment createDeploymentContext(URL warURL)
throws Exception
+ {
+ VirtualFile file = VFS.getRoot(warURL);
+ return VFSDeploymentFactory.getInstance().createVFSDeployment(file);
+ }
+}
Copied: trunk/integration/jboss50/src/main/resources/jbossws-jboss50.deployer (from rev
3881,
branches/tdiesler/trunk/integration/jboss50/src/main/resources/jbossws-jboss50.deployer)
Copied: trunk/integration/jboss50/src/main/resources/jbossws-jboss50.deployer/META-INF
(from rev 3881,
branches/tdiesler/trunk/integration/jboss50/src/main/resources/jbossws-jboss50.deployer/META-INF)
Deleted:
trunk/integration/jboss50/src/main/resources/jbossws-jboss50.deployer/META-INF/jbossws-deployer-beans.xml
===================================================================
---
branches/tdiesler/trunk/integration/jboss50/src/main/resources/jbossws-jboss50.deployer/META-INF/jbossws-deployer-beans.xml 2007-07-13
13:42:05 UTC (rev 3881)
+++
trunk/integration/jboss50/src/main/resources/jbossws-jboss50.deployer/META-INF/jbossws-deployer-beans.xml 2007-07-13
15:42:07 UTC (rev 3884)
@@ -1,275 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<deployment xmlns="urn:jboss:bean-deployer:2.0">
-
- <!--
-
*********************************************************************************************************************
- Web Service deployment
-
- There are three deployers registered with the JBoss Main Deployer.
- The order of which is important
-
- 1) EJBDeployer < WebServiceDeployerEJB
- 2) WebServiceDeployerJSE < WarDeployer
- 3) WebServiceMainDeployer
-
- Each WebServiceDeployer has a number of DeployerHooks registered with it
-
- - WebServiceDeployerEJB
- - WSDeployerHook_JAXRPC_EJB21
- - WSDeployerHook_JAXWS_EJB3
-
- - WebServiceDeployerJSE
- - WSDeployerHook_JAXRPC_JSE
- - WSDeployerHook_JAXWS_JSE
-
- - WebServiceMainDeployer
- - WSMainDeployerHook
-
- Conceptually, each of these hooks implements the following pattern:
-
- DeployerHook.deploy(unit)
- if(isWebServiceDeployment)
- Deployment dep = createDeployment(unit)
- DeploymentAspectManager.deploy(dep)
-
- DeployerHook.undeploy(unit)
- Deployment dep = getDeployment(unit)
- DeploymentAspectManager.undeploy(dep)
-
- Each deployer hook has a web service DeploymentAspectManager injected into it.
- A web service DeploymentAspectManager maintains a list of DeploymentAspects, each of
which
- handles a single aspect of web service deployment.
-
- Finally, each Endpoint is registered with the EndpointRegistry.
-
-
*********************************************************************************************************************
- -->
-
- <!-- Locate the single instance of the kernel -->
- <bean name="WSKernelLocator"
class="org.jboss.ws.integration.KernelLocator">
- <property name="kernel"><inject
bean="jboss.kernel:service=Kernel"/></property>
- </bean>
-
- <!--
- A web service deployer that hooks in after the EJB deployers
- -->
- <bean name="WebServiceDeployerEJB"
class="org.jboss.wsf.container.jboss50.WebServiceDeployerEJB">
- <property name="relOrderEJB2x"><inject
bean="EJB2xDeployer" property="relativeOrder"/></property>
- <property name="relOrderEJB3"><inject
bean="EJBRegistrationDeployer"
property="relativeOrder"/></property>
- <depends>EJB2xDeployer</depends>
- <depends>EJBRegistrationDeployer</depends>
- </bean>
-
- <!--
- A web service deployer that hooks in before the WAR deployer
- -->
- <bean name="WebServiceDeployerJSE"
class="org.jboss.wsf.container.jboss50.WebServiceDeployerJSE">
- <property name="relOrderWar"><inject bean="WarDeployer"
property="relativeOrder"/></property>
- <depends>WebAppParsingDeployer</depends>
- </bean>
-
- <!--
- A web service deployer that hooks in after the web service WAR/EJB deployers
- -->
- <bean name="WebServiceMainDeployer"
class="org.jboss.wsf.container.jboss50.WebServiceMainDeployer">
- <property name="relOrderJSE"><inject
bean="WebServiceDeployerJSE"
property="relativeOrder"/></property>
- <property name="relOrderEJB"><inject
bean="WebServiceDeployerEJB"
property="relativeOrder"/></property>
- <depends>WarDeployer</depends>
- <depends>WebServiceDeployerEJB</depends>
- <depends>WebServiceDeployerJSE</depends>
- </bean>
-
- <!--
- Register DeployerHooks with JBoss deployers
- -->
- <bean name="WSDeployerHook_JAXRPC_JSE"
class="org.jboss.wsf.container.jboss50.JAXRPCDeployerHookJSE">
- <property name="deploymentAspectManager"><inject
bean="WSDeploymentAspectManagerJSE"/></property>
- <install bean="WebServiceDeployerJSE"
method="addDeployerHook">
- <parameter>
- <this/>
- </parameter>
- </install>
- <uninstall bean="WebServiceDeployerJSE"
method="removeDeployerHook">
- <parameter>
- <this/>
- </parameter>
- </uninstall>
- <depends>WebServiceDeployerJSE</depends>
- </bean>
- <bean name="WSDeployerHook_JAXRPC_EJB21"
class="org.jboss.wsf.container.jboss50.JAXRPCDeployerHookEJB21">
- <property name="deploymentAspectManager"><inject
bean="WSDeploymentAspectManagerEJB"/></property>
- <install bean="WebServiceDeployerEJB"
method="addDeployerHook">
- <parameter>
- <this/>
- </parameter>
- </install>
- <uninstall bean="WebServiceDeployerEJB"
method="removeDeployerHook">
- <parameter>
- <this/>
- </parameter>
- </uninstall>
- <depends>WebServiceDeployerEJB</depends>
- </bean>
- <bean name="WSDeployerHook_JAXWS_JSE"
class="org.jboss.wsf.container.jboss50.JAXWSDeployerHookJSE">
- <property name="deploymentAspectManager"><inject
bean="WSDeploymentAspectManagerJSE"/></property>
- <install bean="WebServiceDeployerJSE"
method="addDeployerHook">
- <parameter>
- <this/>
- </parameter>
- </install>
- <uninstall bean="WebServiceDeployerJSE"
method="removeDeployerHook">
- <parameter>
- <this/>
- </parameter>
- </uninstall>
- <depends>WebServiceDeployerJSE</depends>
- </bean>
- <bean name="WSDeployerHook_JAXWS_EJB3"
class="org.jboss.wsf.container.jboss50.JAXWSDeployerHookEJB3">
- <property name="deploymentAspectManager"><inject
bean="WSDeploymentAspectManagerEJB"/></property>
- <install bean="WebServiceDeployerEJB"
method="addDeployerHook">
- <parameter>
- <this/>
- </parameter>
- </install>
- <uninstall bean="WebServiceDeployerEJB"
method="removeDeployerHook">
- <parameter>
- <this/>
- </parameter>
- </uninstall>
- <depends>WebServiceDeployerEJB</depends>
- </bean>
- <bean name="WSMainDeployerHook"
class="org.jboss.wsf.container.jboss50.MainDeployerHook">
- <property name="deploymentAspectManager"><inject
bean="WSMainDeploymentAspectManager"/></property>
- <install bean="WebServiceMainDeployer"
method="addDeployerHook">
- <parameter>
- <this/>
- </parameter>
- </install>
- <uninstall bean="WebServiceMainDeployer"
method="removeDeployerHook">
- <parameter>
- <this/>
- </parameter>
- </uninstall>
- <depends>WebServiceMainDeployer</depends>
- </bean>
-
- <!--
- Each DeploymentAspectManger maintains a list of DeploymentAspects
- -->
- <bean name="WSDeploymentAspectManagerJSE"
class="org.jboss.wsf.spi.deployment.BasicDeploymentAspectManager">
- <property name="name">WSDeploymentAspectManagerJSE</property>
- </bean>
- <bean name="WSDeploymentAspectManagerEJB"
class="org.jboss.wsf.spi.deployment.BasicDeploymentAspectManager">
- <property name="name">WSDeploymentAspectManagerEJB</property>
- </bean>
- <bean name="WSMainDeploymentAspectManager"
class="org.jboss.wsf.spi.deployment.BasicDeploymentAspectManager">
- <property name="name">WSMainDeploymentAspectManager</property>
- </bean>
-
- <!--
- The container deployment aspects
- -->
- <bean name="WSClassLoaderInjectionDeploymentAspect"
class="org.jboss.wsf.container.jboss50.ClassLoaderInjectionDeploymentAspect">
- <property name="requires">AllowClassLoaderInjection</property>
- <property name="provides">ContainerClassLoader</property>
- </bean>
-
- <bean name="WSContextRootDeploymentAspect"
class="org.jboss.wsf.spi.deployment.BackwardCompatibleContextRootDeploymentAspect">
- <property name="requires">ContainerMetaData</property>
- <property name="provides">ContextRoot</property>
- </bean>
-
- <bean name="WSEndpointHandlerDeploymentAspect"
class="org.jboss.wsf.spi.deployment.EndpointHandlerDeploymentAspect">
- <property name="provides">ContainerEndpointHandler</property>
- <property name="invocationHandler">
- <map keyClass="java.lang.String"
valueClass="java.lang.String">
-
<entry><key>JAXRPC_EJB21</key><value>org.jboss.wsf.container.jboss50.InvocationHandlerEJB21</value></entry>
-
<entry><key>JAXWS_JSE</key><value>org.jboss.wsf.spi.invocation.InvocationHandlerJSE</value></entry>
-
<entry><key>JAXWS_EJB3</key><value>org.jboss.wsf.container.jboss50.InvocationHandlerEJB3</value></entry>
- </map>
- </property>
- </bean>
-
- <bean name="WSEndpointLifecycleDeploymentAspect"
class="org.jboss.wsf.spi.deployment.EndpointLifecycleDeploymentAspect">
- <property name="requires">LAST_DEPLOYMENT_ASPECT</property>
- </bean>
-
- <bean name="WSEndpointMetricsDeploymentAspect"
class="org.jboss.wsf.spi.deployment.EndpointMetricsDeploymentAspect">
- <property name="endpointMetrics"><inject
bean="WSEndpointMetrics"/></property>
- </bean>
-
- <bean name="WSEndpointNameDeploymentAspect"
class="org.jboss.wsf.spi.deployment.EndpointNameDeploymentAspect">
- <property name="requires">URLPattern</property>
- <property name="provides">EndpointName</property>
- </bean>
-
- <bean name="WSEndpointRegistryDeploymentAspect"
class="org.jboss.wsf.spi.deployment.EndpointRegistryDeploymentAspect">
- <property
name="requires">EndpointName,StackEndpointHandler,InitializedMetaDataModel</property>
- <property name="provides">RegisteredEndpoint</property>
- </bean>
-
- <bean name="WSModifyWebMetaDataDeploymentAspect"
class="org.jboss.wsf.container.jboss50.ModifyWebMetaDataDeploymentAspect">
- <property name="requires">ContextProperties</property>
- </bean>
-
- <bean name="WSUnifiedDeploymentInfoDeploymentAspect"
class="org.jboss.wsf.container.jboss50.UnifiedDeploymentInfoDeploymentAspect">
- <property name="provides">ContainerMetaData</property>
- </bean>
-
- <bean name="WSURLPatternDeploymentAspect"
class="org.jboss.wsf.spi.deployment.BackwardCompatibleURLPatternDeploymentAspect">
- <property name="requires">ContextRoot,
ContainerMetaData</property>
- <property name="provides">URLPattern</property>
- </bean>
-
- <bean name="WSWebAppDeploymentAspect"
class="org.jboss.wsf.container.jboss50.WebAppDeploymentAspect">
- <property name="requires">WebMetaData,
ContextProperties</property>
- <property name="webXMLRewriter"><inject
bean="WSWebXMLRewriter"/></property>
- <property name="mainDeployer"><inject
bean="MainDeployer"/></property>
- </bean>
-
- <bean name="WSWebAppGeneratorDeploymentAspect"
class="org.jboss.wsf.spi.deployment.WebAppGeneratorDeploymentAspect">
- <property name="requires">URLPattern</property>
- <property name="provides">WebMetaData</property>
- <property name="securityHandlerEJB21"><inject
bean="WSSecurityHandlerEJB21"/></property>
- <property name="securityHandlerEJB3"><inject
bean="WSSecurityHandlerEJB3"/></property>
- </bean>
-
- <!-- Deployment aspect helper beans -->
- <bean name="WSEndpointMetrics"
class="org.jboss.wsf.spi.management.BasicEndpointMetrics"/>
- <bean name="WSSecurityHandlerEJB21"
class="org.jboss.wsf.container.jboss50.SecurityHandlerEJB21"/>
- <bean name="WSSecurityHandlerEJB3"
class="org.jboss.wsf.container.jboss50.SecurityHandlerEJB3"/>
- <bean name="WSWebAppDesciptorModifier"
class="org.jboss.wsf.spi.deployment.WebAppDesciptorModifierImpl"/>
- <bean name="WSWebXMLRewriter"
class="org.jboss.wsf.spi.deployment.WebXMLRewriter">
- <property name="desciptorModifier"><inject
bean="WSWebAppDesciptorModifier"/></property>
- </bean>
-
- <!-- Deployment aspect installers -->
- <bean name="WSDeploymentAspectInstallerJSE"
class="org.jboss.wsf.spi.deployment.DeploymentAspectInstaller">
- <property name="manager"><inject
bean="WSDeploymentAspectManagerJSE"/></property>
- <property name="aspects">
- <set class="java.util.HashSet"
elementClass="org.jboss.wsf.spi.deployment.DeploymentAspect">
- <inject bean="WSModifyWebMetaDataDeploymentAspect"/>
- </set>
- </property>
- </bean>
- <bean name="WSMainDeploymentAspectInstaller"
class="org.jboss.wsf.spi.deployment.DeploymentAspectInstaller">
- <property name="manager"><inject
bean="WSMainDeploymentAspectManager"/></property>
- <property name="aspects">
- <set class="java.util.HashSet"
elementClass="org.jboss.wsf.spi.deployment.DeploymentAspect">
- <inject bean="WSClassLoaderInjectionDeploymentAspect"/>
- <inject bean="WSContextRootDeploymentAspect"/>
- <inject bean="WSEndpointHandlerDeploymentAspect"/>
- <inject bean="WSEndpointLifecycleDeploymentAspect"/>
- <inject bean="WSEndpointMetricsDeploymentAspect"/>
- <inject bean="WSEndpointNameDeploymentAspect"/>
- <inject bean="WSEndpointRegistryDeploymentAspect"/>
- <inject bean="WSUnifiedDeploymentInfoDeploymentAspect"/>
- <inject bean="WSURLPatternDeploymentAspect"/>
- <inject bean="WSWebAppDeploymentAspect"/>
- <inject bean="WSWebAppGeneratorDeploymentAspect"/>
- </set>
- </property>
- </bean>
-
-</deployment>
Copied:
trunk/integration/jboss50/src/main/resources/jbossws-jboss50.deployer/META-INF/jbossws-deployer-beans.xml
(from rev 3881,
branches/tdiesler/trunk/integration/jboss50/src/main/resources/jbossws-jboss50.deployer/META-INF/jbossws-deployer-beans.xml)
===================================================================
---
trunk/integration/jboss50/src/main/resources/jbossws-jboss50.deployer/META-INF/jbossws-deployer-beans.xml
(rev 0)
+++
trunk/integration/jboss50/src/main/resources/jbossws-jboss50.deployer/META-INF/jbossws-deployer-beans.xml 2007-07-13
15:42:07 UTC (rev 3884)
@@ -0,0 +1,275 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+ <!--
+
*********************************************************************************************************************
+ Web Service deployment
+
+ There are three deployers registered with the JBoss Main Deployer.
+ The order of which is important
+
+ 1) EJBDeployer < WebServiceDeployerEJB
+ 2) WebServiceDeployerJSE < WarDeployer
+ 3) WebServiceMainDeployer
+
+ Each WebServiceDeployer has a number of DeployerHooks registered with it
+
+ - WebServiceDeployerEJB
+ - WSDeployerHook_JAXRPC_EJB21
+ - WSDeployerHook_JAXWS_EJB3
+
+ - WebServiceDeployerJSE
+ - WSDeployerHook_JAXRPC_JSE
+ - WSDeployerHook_JAXWS_JSE
+
+ - WebServiceMainDeployer
+ - WSMainDeployerHook
+
+ Conceptually, each of these hooks implements the following pattern:
+
+ DeployerHook.deploy(unit)
+ if(isWebServiceDeployment)
+ Deployment dep = createDeployment(unit)
+ DeploymentAspectManager.deploy(dep)
+
+ DeployerHook.undeploy(unit)
+ Deployment dep = getDeployment(unit)
+ DeploymentAspectManager.undeploy(dep)
+
+ Each deployer hook has a web service DeploymentAspectManager injected into it.
+ A web service DeploymentAspectManager maintains a list of DeploymentAspects, each of
which
+ handles a single aspect of web service deployment.
+
+ Finally, each Endpoint is registered with the EndpointRegistry.
+
+
*********************************************************************************************************************
+ -->
+
+ <!-- Locate the single instance of the kernel -->
+ <bean name="WSKernelLocator"
class="org.jboss.ws.integration.KernelLocator">
+ <property name="kernel"><inject
bean="jboss.kernel:service=Kernel"/></property>
+ </bean>
+
+ <!--
+ A web service deployer that hooks in after the EJB deployers
+ -->
+ <bean name="WebServiceDeployerEJB"
class="org.jboss.wsf.container.jboss50.WebServiceDeployerEJB">
+ <property name="relOrderEJB2x"><inject
bean="EJB2xDeployer" property="relativeOrder"/></property>
+ <property name="relOrderEJB3"><inject
bean="EJBRegistrationDeployer"
property="relativeOrder"/></property>
+ <depends>EJB2xDeployer</depends>
+ <depends>EJBRegistrationDeployer</depends>
+ </bean>
+
+ <!--
+ A web service deployer that hooks in before the WAR deployer
+ -->
+ <bean name="WebServiceDeployerJSE"
class="org.jboss.wsf.container.jboss50.WebServiceDeployerJSE">
+ <property name="relOrderWar"><inject bean="WarDeployer"
property="relativeOrder"/></property>
+ <depends>WebAppParsingDeployer</depends>
+ </bean>
+
+ <!--
+ A web service deployer that hooks in after the web service WAR/EJB deployers
+ -->
+ <bean name="WebServiceMainDeployer"
class="org.jboss.wsf.container.jboss50.WebServiceMainDeployer">
+ <property name="relOrderJSE"><inject
bean="WebServiceDeployerJSE"
property="relativeOrder"/></property>
+ <property name="relOrderEJB"><inject
bean="WebServiceDeployerEJB"
property="relativeOrder"/></property>
+ <depends>WarDeployer</depends>
+ <depends>WebServiceDeployerEJB</depends>
+ <depends>WebServiceDeployerJSE</depends>
+ </bean>
+
+ <!--
+ Register DeployerHooks with JBoss deployers
+ -->
+ <bean name="WSDeployerHook_JAXRPC_JSE"
class="org.jboss.wsf.container.jboss50.JAXRPCDeployerHookJSE">
+ <property name="deploymentAspectManager"><inject
bean="WSDeploymentAspectManagerJSE"/></property>
+ <install bean="WebServiceDeployerJSE"
method="addDeployerHook">
+ <parameter>
+ <this/>
+ </parameter>
+ </install>
+ <uninstall bean="WebServiceDeployerJSE"
method="removeDeployerHook">
+ <parameter>
+ <this/>
+ </parameter>
+ </uninstall>
+ <depends>WebServiceDeployerJSE</depends>
+ </bean>
+ <bean name="WSDeployerHook_JAXRPC_EJB21"
class="org.jboss.wsf.container.jboss50.JAXRPCDeployerHookEJB21">
+ <property name="deploymentAspectManager"><inject
bean="WSDeploymentAspectManagerEJB"/></property>
+ <install bean="WebServiceDeployerEJB"
method="addDeployerHook">
+ <parameter>
+ <this/>
+ </parameter>
+ </install>
+ <uninstall bean="WebServiceDeployerEJB"
method="removeDeployerHook">
+ <parameter>
+ <this/>
+ </parameter>
+ </uninstall>
+ <depends>WebServiceDeployerEJB</depends>
+ </bean>
+ <bean name="WSDeployerHook_JAXWS_JSE"
class="org.jboss.wsf.container.jboss50.JAXWSDeployerHookJSE">
+ <property name="deploymentAspectManager"><inject
bean="WSDeploymentAspectManagerJSE"/></property>
+ <install bean="WebServiceDeployerJSE"
method="addDeployerHook">
+ <parameter>
+ <this/>
+ </parameter>
+ </install>
+ <uninstall bean="WebServiceDeployerJSE"
method="removeDeployerHook">
+ <parameter>
+ <this/>
+ </parameter>
+ </uninstall>
+ <depends>WebServiceDeployerJSE</depends>
+ </bean>
+ <bean name="WSDeployerHook_JAXWS_EJB3"
class="org.jboss.wsf.container.jboss50.JAXWSDeployerHookEJB3">
+ <property name="deploymentAspectManager"><inject
bean="WSDeploymentAspectManagerEJB"/></property>
+ <install bean="WebServiceDeployerEJB"
method="addDeployerHook">
+ <parameter>
+ <this/>
+ </parameter>
+ </install>
+ <uninstall bean="WebServiceDeployerEJB"
method="removeDeployerHook">
+ <parameter>
+ <this/>
+ </parameter>
+ </uninstall>
+ <depends>WebServiceDeployerEJB</depends>
+ </bean>
+ <bean name="WSMainDeployerHook"
class="org.jboss.wsf.container.jboss50.MainDeployerHook">
+ <property name="deploymentAspectManager"><inject
bean="WSMainDeploymentAspectManager"/></property>
+ <install bean="WebServiceMainDeployer"
method="addDeployerHook">
+ <parameter>
+ <this/>
+ </parameter>
+ </install>
+ <uninstall bean="WebServiceMainDeployer"
method="removeDeployerHook">
+ <parameter>
+ <this/>
+ </parameter>
+ </uninstall>
+ <depends>WebServiceMainDeployer</depends>
+ </bean>
+
+ <!--
+ Each DeploymentAspectManger maintains a list of DeploymentAspects
+ -->
+ <bean name="WSDeploymentAspectManagerJSE"
class="org.jboss.wsf.spi.deployment.BasicDeploymentAspectManager">
+ <property name="name">WSDeploymentAspectManagerJSE</property>
+ </bean>
+ <bean name="WSDeploymentAspectManagerEJB"
class="org.jboss.wsf.spi.deployment.BasicDeploymentAspectManager">
+ <property name="name">WSDeploymentAspectManagerEJB</property>
+ </bean>
+ <bean name="WSMainDeploymentAspectManager"
class="org.jboss.wsf.spi.deployment.BasicDeploymentAspectManager">
+ <property name="name">WSMainDeploymentAspectManager</property>
+ </bean>
+
+ <!--
+ The container deployment aspects
+ -->
+ <bean name="WSClassLoaderInjectionDeploymentAspect"
class="org.jboss.wsf.container.jboss50.ClassLoaderInjectionDeploymentAspect">
+ <property name="requires">AllowClassLoaderInjection</property>
+ <property name="provides">ContainerClassLoader</property>
+ </bean>
+
+ <bean name="WSContextRootDeploymentAspect"
class="org.jboss.wsf.spi.deployment.BackwardCompatibleContextRootDeploymentAspect">
+ <property name="requires">ContainerMetaData</property>
+ <property name="provides">ContextRoot</property>
+ </bean>
+
+ <bean name="WSEndpointHandlerDeploymentAspect"
class="org.jboss.wsf.spi.deployment.EndpointHandlerDeploymentAspect">
+ <property name="provides">ContainerEndpointHandler</property>
+ <property name="invocationHandler">
+ <map keyClass="java.lang.String"
valueClass="java.lang.String">
+
<entry><key>JAXRPC_EJB21</key><value>org.jboss.wsf.container.jboss50.InvocationHandlerEJB21</value></entry>
+
<entry><key>JAXWS_JSE</key><value>org.jboss.wsf.spi.invocation.InvocationHandlerJSE</value></entry>
+
<entry><key>JAXWS_EJB3</key><value>org.jboss.wsf.container.jboss50.InvocationHandlerEJB3</value></entry>
+ </map>
+ </property>
+ </bean>
+
+ <bean name="WSEndpointLifecycleDeploymentAspect"
class="org.jboss.wsf.spi.deployment.EndpointLifecycleDeploymentAspect">
+ <property name="requires">LAST_DEPLOYMENT_ASPECT</property>
+ </bean>
+
+ <bean name="WSEndpointMetricsDeploymentAspect"
class="org.jboss.wsf.spi.deployment.EndpointMetricsDeploymentAspect">
+ <property name="endpointMetrics"><inject
bean="WSEndpointMetrics"/></property>
+ </bean>
+
+ <bean name="WSEndpointNameDeploymentAspect"
class="org.jboss.wsf.spi.deployment.EndpointNameDeploymentAspect">
+ <property name="requires">URLPattern</property>
+ <property name="provides">EndpointName</property>
+ </bean>
+
+ <bean name="WSEndpointRegistryDeploymentAspect"
class="org.jboss.wsf.spi.deployment.EndpointRegistryDeploymentAspect">
+ <property
name="requires">EndpointName,StackEndpointHandler,InitializedMetaDataModel</property>
+ <property name="provides">RegisteredEndpoint</property>
+ </bean>
+
+ <bean name="WSModifyWebMetaDataDeploymentAspect"
class="org.jboss.wsf.container.jboss50.ModifyWebMetaDataDeploymentAspect">
+ <property name="requires">ContextProperties</property>
+ </bean>
+
+ <bean name="WSUnifiedDeploymentInfoDeploymentAspect"
class="org.jboss.wsf.container.jboss50.UnifiedDeploymentInfoDeploymentAspect">
+ <property name="provides">ContainerMetaData</property>
+ </bean>
+
+ <bean name="WSURLPatternDeploymentAspect"
class="org.jboss.wsf.spi.deployment.BackwardCompatibleURLPatternDeploymentAspect">
+ <property name="requires">ContextRoot,
ContainerMetaData</property>
+ <property name="provides">URLPattern</property>
+ </bean>
+
+ <bean name="WSWebAppDeploymentAspect"
class="org.jboss.wsf.container.jboss50.WebAppDeploymentAspect">
+ <property name="requires">WebMetaData,
ContextProperties</property>
+ <property name="webXMLRewriter"><inject
bean="WSWebXMLRewriter"/></property>
+ <property name="mainDeployer"><inject
bean="MainDeployer"/></property>
+ </bean>
+
+ <bean name="WSWebAppGeneratorDeploymentAspect"
class="org.jboss.wsf.spi.deployment.WebAppGeneratorDeploymentAspect">
+ <property name="requires">URLPattern</property>
+ <property name="provides">WebMetaData</property>
+ <property name="securityHandlerEJB21"><inject
bean="WSSecurityHandlerEJB21"/></property>
+ <property name="securityHandlerEJB3"><inject
bean="WSSecurityHandlerEJB3"/></property>
+ </bean>
+
+ <!-- Deployment aspect helper beans -->
+ <bean name="WSEndpointMetrics"
class="org.jboss.wsf.spi.management.BasicEndpointMetrics"/>
+ <bean name="WSSecurityHandlerEJB21"
class="org.jboss.wsf.container.jboss50.SecurityHandlerEJB21"/>
+ <bean name="WSSecurityHandlerEJB3"
class="org.jboss.wsf.container.jboss50.SecurityHandlerEJB3"/>
+ <bean name="WSWebAppDesciptorModifier"
class="org.jboss.wsf.spi.deployment.WebAppDesciptorModifierImpl"/>
+ <bean name="WSWebXMLRewriter"
class="org.jboss.wsf.spi.deployment.WebXMLRewriter">
+ <property name="desciptorModifier"><inject
bean="WSWebAppDesciptorModifier"/></property>
+ </bean>
+
+ <!-- Deployment aspect installers -->
+ <bean name="WSDeploymentAspectInstallerJSE"
class="org.jboss.wsf.spi.deployment.DeploymentAspectInstaller">
+ <property name="manager"><inject
bean="WSDeploymentAspectManagerJSE"/></property>
+ <property name="aspects">
+ <set class="java.util.HashSet"
elementClass="org.jboss.wsf.spi.deployment.DeploymentAspect">
+ <inject bean="WSModifyWebMetaDataDeploymentAspect"/>
+ </set>
+ </property>
+ </bean>
+ <bean name="WSMainDeploymentAspectInstaller"
class="org.jboss.wsf.spi.deployment.DeploymentAspectInstaller">
+ <property name="manager"><inject
bean="WSMainDeploymentAspectManager"/></property>
+ <property name="aspects">
+ <set class="java.util.HashSet"
elementClass="org.jboss.wsf.spi.deployment.DeploymentAspect">
+ <inject bean="WSClassLoaderInjectionDeploymentAspect"/>
+ <inject bean="WSContextRootDeploymentAspect"/>
+ <inject bean="WSEndpointHandlerDeploymentAspect"/>
+ <inject bean="WSEndpointLifecycleDeploymentAspect"/>
+ <inject bean="WSEndpointMetricsDeploymentAspect"/>
+ <inject bean="WSEndpointNameDeploymentAspect"/>
+ <inject bean="WSEndpointRegistryDeploymentAspect"/>
+ <inject bean="WSUnifiedDeploymentInfoDeploymentAspect"/>
+ <inject bean="WSURLPatternDeploymentAspect"/>
+ <inject bean="WSWebAppDeploymentAspect"/>
+ <inject bean="WSWebAppGeneratorDeploymentAspect"/>
+ </set>
+ </property>
+ </bean>
+
+</deployment>
Modified: trunk/integration/native/ant-import/macros-deploy-native.xml
===================================================================
--- trunk/integration/native/ant-import/macros-deploy-native.xml 2007-07-13 14:36:56 UTC
(rev 3883)
+++ trunk/integration/native/ant-import/macros-deploy-native.xml 2007-07-13 15:42:07 UTC
(rev 3884)
@@ -62,9 +62,6 @@
<!-- SERVER JARS -->
<copy todir="${jboss50.home}/server/${jboss.server.instance}/lib"
overwrite="true">
- <fileset dir="@{jbosslibs}">
- <include name="jbossws-jboss50.jar"/>
- </fileset>
<fileset dir="@{corelibs}">
<include name="jboss-jaxrpc.jar"/>
<include name="jboss-jaxws.jar"/>
@@ -73,7 +70,7 @@
</copy>
<mkdir
dir="${jboss50.home}/server/${jboss.server.instance}/deployers/jbossws.deployer"/>
- <unzip
dest="${jboss50.home}/server/${jboss.server.instance}/deployers/jbossws.deployer"
src="(a){stacklibs}/jbossws-native50-deployer.zip"/>
+ <unzip
dest="${jboss50.home}/server/${jboss.server.instance}/deployers/jbossws.deployer"
src="(a){jbosslibs}/jbossws-jboss50-deployer.zip"/>
<mkdir
dir="${jboss50.home}/server/${jboss.server.instance}/deploy/jbossws.sar"/>
<unjar
dest="${jboss50.home}/server/${jboss.server.instance}/deploy/jbossws.sar"
src="(a){stacklibs}/jbossws-native50.sar"/>
<mkdir
dir="${jboss50.home}/server/${jboss.server.instance}/deploy/juddi-service.sar"/>
@@ -116,7 +113,6 @@
<!-- SERVER JARS -->
<fileset
dir="${jboss50.home}/server/${jboss.server.instance}/lib">
- <include name="jbossws-jboss50.jar"/>
<include name="jboss-jaxrpc.jar"/>
<include name="jboss-jaxws.jar"/>
<include name="jboss-saaj.jar"/>
Modified: trunk/integration/native/build.xml
===================================================================
--- trunk/integration/native/build.xml 2007-07-13 14:36:56 UTC (rev 3883)
+++ trunk/integration/native/build.xml 2007-07-13 15:42:07 UTC (rev 3884)
@@ -130,11 +130,22 @@
<ant antfile="${int.jboss50.dir}/build.xml" target="jars"
inheritall="false"/>
+ <!-- Concat jbossws-beans.xml -->
+ <concat
destfile="${native.output.lib.dir}/jbossws-native50/jbossws-beans.xml">
+ <header trimleading="yes">
+ <deployment xmlns="urn:jboss:bean-deployer:2.0">
+ </header>
+ <fileset
file="${native.resources.dir}/jbossws-native-config.xml"/>
+ <footer trimleading="yes">
+ </deployment>
+ </footer>
+ </concat>
+
<!-- Build jbossws-native50.sar -->
<jar jarfile="${native.output.lib.dir}/jbossws-native50.sar"
manifest="${native.output.etc.dir}/default.mf">
- <!-- [JBAS-4379] MC beans deployed twice because of jacc service -->
<fileset dir="${native.output.lib.dir}">
<include name="jbossws-context.war/**"/>
+ <include name="jbossws-native.jar"/>
</fileset>
<fileset dir="${core.dir}/output/lib">
<include name="jbossws-core.jar"/>
@@ -148,28 +159,30 @@
<metainf dir="${core.dir}/src/main/resources/standard-config">
<include name="standard-*-config.xml"/>
</metainf>
- <metainf
dir="${native.resources.dir}/jbossws-native50.sar/META-INF">
+ <metainf dir="${native.output.lib.dir}/jbossws-native50">
<include name="jbossws-beans.xml"/>
</metainf>
</jar>
- <!-- Build jbossws-native50.deployer -->
- <zip
zipfile="${native.output.lib.dir}/jbossws-native50-deployer.zip">
- <fileset dir="${native.output.lib.dir}">
- <include name="jbossws-native.jar"/>
- </fileset>
- <fileset dir="${native.resources.dir}/jbossws-native50.deployer">
- <include name="META-INF/jbossws-deployer-beans.xml"/>
- </fileset>
- </zip>
</target>
<target name="jars-jboss42" depends="jars-common"
if="jboss42.home">
<ant antfile="${int.jboss42.dir}/build.xml" target="jars"
inheritall="false"/>
+ <!-- Concat jboss-beans.xml -->
+ <concat
destfile="${native.output.lib.dir}/jbossws-native42/jbossws.beans/META-INF/jboss-beans.xml">
+ <header trimleading="yes">
+ <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">
+ </header>
+ <fileset
file="${native.resources.dir}/jbossws-native-config.xml"/>
+ <fileset
file="${int.jboss42.dir}/src/main/resources/jbossws-jboss42-config.xml"/>
+ <footer trimleading="yes">
+ </deployment>
+ </footer>
+ </concat>
+
<!-- Build jbossws-native42.sar -->
- <mkdir dir="${native.output.lib.dir}"/>
<jar jarfile="${native.output.lib.dir}/jbossws-native42.sar"
manifest="${native.output.etc.dir}/default.mf">
<fileset dir="${native.output.lib.dir}">
<include name="jbossws-context.war/**"/>
@@ -181,6 +194,9 @@
<include name="jboss-saaj.jar"/>
<include name="jbossws-core.jar"/>
</fileset>
+ <fileset dir="${int.jboss42.dir}/output/lib">
+ <include name="jbossws-jboss42.jar"/>
+ </fileset>
<fileset dir="${core.dir}/thirdparty">
<include name="jaxb-api.jar"/>
<include name="jaxb-impl.jar"/>
@@ -190,13 +206,13 @@
<include name="xmlsec.jar"/>
<include name="wstx.jar"/>
</fileset>
- <fileset dir="${native.resources.dir}/jbossws-native42.sar">
+ <fileset dir="${native.output.lib.dir}/jbossws-native42">
<include name="jbossws.beans/**"/>
</fileset>
+ <metainf
dir="${int.jboss42.dir}/src/main/resources/jbossws-jboss42.sar/META-INF"/>
<metainf dir="${core.dir}/src/main/resources/standard-config">
<include name="standard-*-config.xml"/>
</metainf>
- <metainf
dir="${native.resources.dir}/jbossws-native42.sar/META-INF"/>
</jar>
</target>
@@ -204,6 +220,18 @@
<ant antfile="${int.jboss40.dir}/build.xml" target="jars"
inheritall="false"/>
+ <!-- Concat jboss-beans.xml -->
+ <concat
destfile="${native.output.lib.dir}/jbossws-native40/jbossws.beans/META-INF/jboss-beans.xml">
+ <header trimleading="yes">
+ <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">
+ </header>
+ <fileset
file="${native.resources.dir}/jbossws-native-config.xml"/>
+ <fileset
file="${int.jboss40.dir}/src/main/resources/jbossws-jboss40-config.xml"/>
+ <footer trimleading="yes">
+ </deployment>
+ </footer>
+ </concat>
+
<!-- Build jbossws-native40.sar -->
<mkdir dir="${native.output.lib.dir}"/>
<jar jarfile="${native.output.lib.dir}/jbossws-native40.sar"
manifest="${native.output.etc.dir}/default.mf">
@@ -224,13 +252,13 @@
<include name="xmlsec.jar"/>
<include name="wstx.jar"/>
</fileset>
- <fileset dir="${native.resources.dir}/jbossws-native40.sar">
+ <fileset dir="${native.output.lib.dir}/jbossws-native40">
<include name="jbossws.beans/**"/>
</fileset>
+ <metainf
dir="${int.jboss40.dir}/src/main/resources/jbossws-jboss40.sar/META-INF"/>
<metainf dir="${core.dir}/src/main/resources/standard-config">
<include name="standard-*-config.xml"/>
</metainf>
- <metainf
dir="${native.resources.dir}/jbossws-native40.sar/META-INF"/>
</jar>
</target>
Deleted:
trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/EagerInitializeDeployer.java
===================================================================
---
trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/EagerInitializeDeployer.java 2007-07-13
14:36:56 UTC (rev 3883)
+++
trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/EagerInitializeDeployer.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -1,47 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., 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.wsf.stack.jbws;
-
-//$Id$
-
-import org.jboss.ws.metadata.umdm.UnifiedMetaData;
-import org.jboss.wsf.spi.deployment.AbstractDeployer;
-import org.jboss.wsf.spi.deployment.Deployment;
-
-/**
- * A deployer that initializes the UMDM
- *
- * @author Thomas.Diesler(a)jboss.org
- * @since 25-Apr-2007
- */
-public class EagerInitializeDeployer extends AbstractDeployer
-{
- @Override
- public void create(Deployment dep)
- {
- UnifiedMetaData umd = dep.getContext().getAttachment(UnifiedMetaData.class);
- if (umd == null)
- throw new IllegalStateException("Cannot obtain unified meta data");
-
- umd.eagerInitialize();
- }
-}
\ No newline at end of file
Copied:
trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/EagerInitializeDeploymentAspect.java
(from rev 3881,
branches/tdiesler/trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/EagerInitializeDeploymentAspect.java)
===================================================================
---
trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/EagerInitializeDeploymentAspect.java
(rev 0)
+++
trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/EagerInitializeDeploymentAspect.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -0,0 +1,48 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., 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.wsf.stack.jbws;
+
+//$Id: EagerInitializeDeployer.java 3146 2007-05-18 22:55:26Z thomas.diesler(a)jboss.com $
+
+import org.jboss.ws.metadata.umdm.UnifiedMetaData;
+import org.jboss.wsf.spi.deployment.DeploymentAspect;
+import org.jboss.wsf.spi.deployment.Deployment;
+
+/**
+ * A deployer that initializes the UMDM
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 25-Apr-2007
+ */
+public class EagerInitializeDeploymentAspect extends DeploymentAspect
+{
+ @Override
+ public void create(Deployment dep)
+ {
+ UnifiedMetaData umd = dep.getContext().getAttachment(UnifiedMetaData.class);
+ if (umd == null)
+ throw new IllegalStateException("Cannot obtain unified meta data");
+
+ umd.setClassLoader(dep.getClassLoader());
+ umd.eagerInitialize();
+ }
+}
\ No newline at end of file
Deleted:
trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/EventingDeployer.java
===================================================================
---
trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/EventingDeployer.java 2007-07-13
14:36:56 UTC (rev 3883)
+++
trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/EventingDeployer.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -1,92 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., 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.wsf.stack.jbws;
-
-//$Id$
-
-import org.jboss.ws.extensions.eventing.EventingConstants;
-import org.jboss.ws.extensions.eventing.deployment.EventingEndpointDeployment;
-import org.jboss.ws.extensions.eventing.metadata.EventingEpMetaExt;
-import org.jboss.ws.extensions.eventing.mgmt.SubscriptionManagerFactory;
-import org.jboss.ws.extensions.eventing.mgmt.SubscriptionManagerMBean;
-import org.jboss.ws.metadata.umdm.ServerEndpointMetaData;
-import org.jboss.wsf.spi.deployment.AbstractDeployer;
-import org.jboss.wsf.spi.deployment.Deployment;
-import org.jboss.wsf.spi.deployment.Endpoint;
-
-/**
- * A deployer that creates event sources and register them with the
- * subscripion manager when a service endpoint is created.
- *
- * @author Thomas.Diesler(a)jboss.org
- * @since 25-Apr-2007
- */
-public class EventingDeployer extends AbstractDeployer
-{
- @Override
- public void create(Deployment dep)
- {
- for (Endpoint ep : dep.getService().getEndpoints())
- {
- ServerEndpointMetaData sepMetaData =
ep.getAttachment(ServerEndpointMetaData.class);
- if (sepMetaData == null)
- throw new IllegalStateException("Cannot obtain endpoint meta
data");
-
- EventingEpMetaExt ext =
(EventingEpMetaExt)sepMetaData.getExtension(EventingConstants.NS_EVENTING);
- if (ext != null)
- {
- // Currently several endpoints may belong to an event source deployment.
- // Therefore we have to avoid duplicate registrations
- // Actually there should be a 1:n mapping of event source NS to endpoints.
- // See also
http://jira.jboss.org/jira/browse/JBWS-770
-
- // create pending incomplete event source
- EventingEndpointDeployment desc = new
EventingEndpointDeployment(ext.getEventSourceNS(), ext.getNotificationSchema(),
ext.getNotificationRootElementNS());
- desc.setEndpointAddress(sepMetaData.getEndpointAddress());
- desc.setPortName(sepMetaData.getPortName());
-
- SubscriptionManagerFactory factory =
SubscriptionManagerFactory.getInstance();
- SubscriptionManagerMBean manager = factory.getSubscriptionManager();
- manager.registerEventSource(desc);
- }
- }
- }
-
- @Override
- public void destroy(Deployment dep)
- {
- for (Endpoint ep : dep.getService().getEndpoints())
- {
- ServerEndpointMetaData sepMetaData =
ep.getAttachment(ServerEndpointMetaData.class);
- if (sepMetaData == null)
- throw new IllegalStateException("Cannot obtain endpoint meta
data");
-
- EventingEpMetaExt ext =
(EventingEpMetaExt)sepMetaData.getExtension(EventingConstants.NS_EVENTING);
- if (ext != null)
- {
- SubscriptionManagerFactory factory =
SubscriptionManagerFactory.getInstance();
- SubscriptionManagerMBean manager = factory.getSubscriptionManager();
- manager.removeEventSource(ext.getEventSourceURI());
- }
- }
- }
-}
\ No newline at end of file
Copied:
trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/EventingDeploymentAspect.java
(from rev 3881,
branches/tdiesler/trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/EventingDeploymentAspect.java)
===================================================================
---
trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/EventingDeploymentAspect.java
(rev 0)
+++
trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/EventingDeploymentAspect.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -0,0 +1,92 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., 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.wsf.stack.jbws;
+
+//$Id: EventingDeployer.java 3146 2007-05-18 22:55:26Z thomas.diesler(a)jboss.com $
+
+import org.jboss.ws.extensions.eventing.EventingConstants;
+import org.jboss.ws.extensions.eventing.deployment.EventingEndpointDeployment;
+import org.jboss.ws.extensions.eventing.metadata.EventingEpMetaExt;
+import org.jboss.ws.extensions.eventing.mgmt.SubscriptionManagerFactory;
+import org.jboss.ws.extensions.eventing.mgmt.SubscriptionManagerMBean;
+import org.jboss.ws.metadata.umdm.ServerEndpointMetaData;
+import org.jboss.wsf.spi.deployment.DeploymentAspect;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.Endpoint;
+
+/**
+ * A deployer that creates event sources and register them with the
+ * subscripion manager when a service endpoint is created.
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 25-Apr-2007
+ */
+public class EventingDeploymentAspect extends DeploymentAspect
+{
+ @Override
+ public void create(Deployment dep)
+ {
+ for (Endpoint ep : dep.getService().getEndpoints())
+ {
+ ServerEndpointMetaData sepMetaData =
ep.getAttachment(ServerEndpointMetaData.class);
+ if (sepMetaData == null)
+ throw new IllegalStateException("Cannot obtain endpoint meta
data");
+
+ EventingEpMetaExt ext =
(EventingEpMetaExt)sepMetaData.getExtension(EventingConstants.NS_EVENTING);
+ if (ext != null)
+ {
+ // Currently several endpoints may belong to an event source deployment.
+ // Therefore we have to avoid duplicate registrations
+ // Actually there should be a 1:n mapping of event source NS to endpoints.
+ // See also
http://jira.jboss.org/jira/browse/JBWS-770
+
+ // create pending incomplete event source
+ EventingEndpointDeployment desc = new
EventingEndpointDeployment(ext.getEventSourceNS(), ext.getNotificationSchema(),
ext.getNotificationRootElementNS());
+ desc.setEndpointAddress(sepMetaData.getEndpointAddress());
+ desc.setPortName(sepMetaData.getPortName());
+
+ SubscriptionManagerFactory factory =
SubscriptionManagerFactory.getInstance();
+ SubscriptionManagerMBean manager = factory.getSubscriptionManager();
+ manager.registerEventSource(desc);
+ }
+ }
+ }
+
+ @Override
+ public void destroy(Deployment dep)
+ {
+ for (Endpoint ep : dep.getService().getEndpoints())
+ {
+ ServerEndpointMetaData sepMetaData =
ep.getAttachment(ServerEndpointMetaData.class);
+ if (sepMetaData == null)
+ throw new IllegalStateException("Cannot obtain endpoint meta
data");
+
+ EventingEpMetaExt ext =
(EventingEpMetaExt)sepMetaData.getExtension(EventingConstants.NS_EVENTING);
+ if (ext != null)
+ {
+ SubscriptionManagerFactory factory =
SubscriptionManagerFactory.getInstance();
+ SubscriptionManagerMBean manager = factory.getSubscriptionManager();
+ manager.removeEventSource(ext.getEventSourceURI());
+ }
+ }
+ }
+}
\ No newline at end of file
Deleted:
trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/PublishContractDeployer.java
===================================================================
---
trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/PublishContractDeployer.java 2007-07-13
14:36:56 UTC (rev 3883)
+++
trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/PublishContractDeployer.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -1,63 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., 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.wsf.stack.jbws;
-
-//$Id$
-
-import java.io.IOException;
-
-import org.jboss.ws.metadata.umdm.UnifiedMetaData;
-import org.jboss.wsf.spi.deployment.AbstractDeployer;
-import org.jboss.wsf.spi.deployment.Deployment;
-import org.jboss.wsf.spi.deployment.UnifiedDeploymentInfo;
-import org.jboss.wsf.spi.deployment.WSDeploymentException;
-
-/**
- * A deployer that publishes the wsdl
- *
- * @author Thomas.Diesler(a)jboss.org
- * @since 25-Apr-2007
- */
-public class PublishContractDeployer extends AbstractDeployer
-{
- @Override
- public void create(Deployment dep)
- {
- UnifiedDeploymentInfo udi =
dep.getContext().getAttachment(UnifiedDeploymentInfo.class);
- if (udi == null)
- throw new IllegalStateException("Cannot obtain unified deployement
info");
-
- UnifiedMetaData umd = dep.getContext().getAttachment(UnifiedMetaData.class);
- if (umd == null)
- throw new IllegalStateException("Cannot obtain unified meta data");
-
- try
- {
- WSDLFilePublisher publisher = new WSDLFilePublisher(udi);
- publisher.publishWsdlFiles(umd);
- }
- catch (IOException ex)
- {
- throw new WSDeploymentException(ex);
- }
- }
-}
\ No newline at end of file
Copied:
trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/PublishContractDeploymentAspect.java
(from rev 3881,
branches/tdiesler/trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/PublishContractDeploymentAspect.java)
===================================================================
---
trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/PublishContractDeploymentAspect.java
(rev 0)
+++
trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/PublishContractDeploymentAspect.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -0,0 +1,63 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., 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.wsf.stack.jbws;
+
+//$Id: PublishContractDeployer.java 3146 2007-05-18 22:55:26Z thomas.diesler(a)jboss.com $
+
+import java.io.IOException;
+
+import org.jboss.ws.metadata.umdm.UnifiedMetaData;
+import org.jboss.wsf.spi.deployment.DeploymentAspect;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.UnifiedDeploymentInfo;
+import org.jboss.wsf.spi.deployment.WSDeploymentException;
+
+/**
+ * A deployer that publishes the wsdl
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 25-Apr-2007
+ */
+public class PublishContractDeploymentAspect extends DeploymentAspect
+{
+ @Override
+ public void create(Deployment dep)
+ {
+ UnifiedDeploymentInfo udi =
dep.getContext().getAttachment(UnifiedDeploymentInfo.class);
+ if (udi == null)
+ throw new IllegalStateException("Cannot obtain unified deployement
info");
+
+ UnifiedMetaData umd = dep.getContext().getAttachment(UnifiedMetaData.class);
+ if (umd == null)
+ throw new IllegalStateException("Cannot obtain unified meta data");
+
+ try
+ {
+ WSDLFilePublisher publisher = new WSDLFilePublisher(udi);
+ publisher.publishWsdlFiles(umd);
+ }
+ catch (IOException ex)
+ {
+ throw new WSDeploymentException(ex);
+ }
+ }
+}
\ No newline at end of file
Deleted:
trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/ServiceEndpointInvokerDeployer.java
===================================================================
---
trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/ServiceEndpointInvokerDeployer.java 2007-07-13
14:36:56 UTC (rev 3883)
+++
trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/ServiceEndpointInvokerDeployer.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -1,63 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., 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.wsf.stack.jbws;
-
-//$Id$
-
-import org.jboss.ws.core.server.ServiceEndpointInvoker;
-import org.jboss.ws.core.server.ServiceEndpointInvokerEJB21;
-import org.jboss.wsf.spi.deployment.AbstractDeployer;
-import org.jboss.wsf.spi.deployment.Deployment;
-import org.jboss.wsf.spi.deployment.Endpoint;
-import org.jboss.wsf.spi.deployment.Deployment.DeploymentType;
-
-/**
- * A deployer that associates the ServiceEndpointInvoker with the endpoint
- *
- * @author Thomas.Diesler(a)jboss.org
- * @since 25-Apr-2007
- */
-public class ServiceEndpointInvokerDeployer extends AbstractDeployer
-{
- @Override
- public void create(Deployment dep)
- {
- for (Endpoint ep : dep.getService().getEndpoints())
- {
- ServiceEndpointInvoker epInvoker =
ep.getAttachment(ServiceEndpointInvoker.class);
- if (epInvoker == null)
- {
- DeploymentType depType = ep.getService().getDeployment().getType();
- if (depType == DeploymentType.JAXRPC_EJB21)
- {
- epInvoker = new ServiceEndpointInvokerEJB21();
- }
- else
- {
- epInvoker = new ServiceEndpointInvoker();
- }
- ep.addAttachment(ServiceEndpointInvoker.class, epInvoker);
- epInvoker.init(ep);
- }
- }
- }
-}
\ No newline at end of file
Copied:
trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/ServiceEndpointInvokerDeploymentAspect.java
(from rev 3881,
branches/tdiesler/trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/ServiceEndpointInvokerDeploymentAspect.java)
===================================================================
---
trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/ServiceEndpointInvokerDeploymentAspect.java
(rev 0)
+++
trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/ServiceEndpointInvokerDeploymentAspect.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -0,0 +1,63 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., 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.wsf.stack.jbws;
+
+//$Id: ServiceEndpointInvokerDeployer.java 3146 2007-05-18 22:55:26Z
thomas.diesler(a)jboss.com $
+
+import org.jboss.ws.core.server.ServiceEndpointInvoker;
+import org.jboss.ws.core.server.ServiceEndpointInvokerEJB21;
+import org.jboss.wsf.spi.deployment.DeploymentAspect;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.Endpoint;
+import org.jboss.wsf.spi.deployment.Deployment.DeploymentType;
+
+/**
+ * A deployer that associates the ServiceEndpointInvoker with the endpoint
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 25-Apr-2007
+ */
+public class ServiceEndpointInvokerDeploymentAspect extends DeploymentAspect
+{
+ @Override
+ public void create(Deployment dep)
+ {
+ for (Endpoint ep : dep.getService().getEndpoints())
+ {
+ ServiceEndpointInvoker epInvoker =
ep.getAttachment(ServiceEndpointInvoker.class);
+ if (epInvoker == null)
+ {
+ DeploymentType depType = ep.getService().getDeployment().getType();
+ if (depType == DeploymentType.JAXRPC_EJB21)
+ {
+ epInvoker = new ServiceEndpointInvokerEJB21();
+ }
+ else
+ {
+ epInvoker = new ServiceEndpointInvoker();
+ }
+ ep.addAttachment(ServiceEndpointInvoker.class, epInvoker);
+ epInvoker.init(ep);
+ }
+ }
+ }
+}
\ No newline at end of file
Deleted:
trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/UnifiedMetaDataAssociationDeployer.java
===================================================================
---
trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/UnifiedMetaDataAssociationDeployer.java 2007-07-13
14:36:56 UTC (rev 3883)
+++
trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/UnifiedMetaDataAssociationDeployer.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -1,89 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., 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.wsf.stack.jbws;
-
-//$Id$
-
-import org.jboss.ws.metadata.umdm.EndpointMetaData;
-import org.jboss.ws.metadata.umdm.ServerEndpointMetaData;
-import org.jboss.ws.metadata.umdm.ServiceMetaData;
-import org.jboss.ws.metadata.umdm.UnifiedMetaData;
-import org.jboss.wsf.spi.deployment.AbstractDeployer;
-import org.jboss.wsf.spi.deployment.Deployment;
-import org.jboss.wsf.spi.deployment.Endpoint;
-
-/**
- * A deployer that assigns the EndpointMetaData to the Endpoint
- *
- * @author Thomas.Diesler(a)jboss.org
- * @since 25-Apr-2007
- */
-public class UnifiedMetaDataAssociationDeployer extends AbstractDeployer
-{
- @Override
- public void create(Deployment dep)
- {
- UnifiedMetaData umd = dep.getContext().getAttachment(UnifiedMetaData.class);
- if (umd == null)
- throw new IllegalStateException("Cannot obtain unified meta data");
-
- for (Endpoint ep : dep.getService().getEndpoints())
- {
- ServerEndpointMetaData sepMetaData =
ep.getAttachment(ServerEndpointMetaData.class);
- if (sepMetaData == null)
- {
- sepMetaData = getEndpointMetaData(umd, ep);
- sepMetaData.setEndpoint(ep);
-
- ep.addAttachment(ServerEndpointMetaData.class, sepMetaData);
-
- String targetBean = ep.getTargetBeanName();
- if (targetBean != null)
- sepMetaData.setServiceEndpointImplName(targetBean);
- }
- }
- }
-
- private ServerEndpointMetaData getEndpointMetaData(UnifiedMetaData umd, Endpoint ep)
- {
- String epName = ep.getShortName();
-
- ServerEndpointMetaData epMetaData = null;
- for (ServiceMetaData serviceMetaData : umd.getServices())
- {
- for (EndpointMetaData aux : serviceMetaData.getEndpoints())
- {
- String linkName = ((ServerEndpointMetaData)aux).getLinkName();
- if (epName.equals(linkName))
- {
- epMetaData = (ServerEndpointMetaData)aux;
- break;
- }
- }
- }
-
- if (epMetaData == null)
- throw new IllegalStateException("Cannot find endpoint meta data for: "
+ epName);
-
- return epMetaData;
- }
-}
\ No newline at end of file
Deleted:
trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/UnifiedMetaDataDeployer.java
===================================================================
---
trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/UnifiedMetaDataDeployer.java 2007-07-13
14:36:56 UTC (rev 3883)
+++
trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/UnifiedMetaDataDeployer.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -1,82 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., 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.wsf.stack.jbws;
-
-//$Id$
-
-import org.jboss.ws.metadata.builder.jaxrpc.JAXRPCServerMetaDataBuilder;
-import org.jboss.ws.metadata.builder.jaxws.JAXWSMetaDataBuilderEJB3;
-import org.jboss.ws.metadata.builder.jaxws.JAXWSMetaDataBuilderJSE;
-import org.jboss.ws.metadata.umdm.UnifiedMetaData;
-import org.jboss.wsf.spi.deployment.AbstractDeployer;
-import org.jboss.wsf.spi.deployment.Deployment;
-import org.jboss.wsf.spi.deployment.JAXRPCDeployment;
-import org.jboss.wsf.spi.deployment.UnifiedDeploymentInfo;
-import org.jboss.wsf.spi.deployment.Deployment.DeploymentType;
-
-/**
- * A deployer that builds the UnifiedDeploymentInfo
- *
- * @author Thomas.Diesler(a)jboss.org
- * @since 25-Apr-2007
- */
-public class UnifiedMetaDataDeployer extends AbstractDeployer
-{
- @Override
- public void create(Deployment dep)
- {
- UnifiedMetaData umd = dep.getContext().getAttachment(UnifiedMetaData.class);
- if (umd == null)
- {
- UnifiedDeploymentInfo udi =
dep.getContext().getAttachment(UnifiedDeploymentInfo.class);
- if (udi == null)
- throw new IllegalStateException("Cannot obtain unified deployment
info");
-
- if (udi.type == DeploymentType.JAXRPC_JSE)
- {
- JAXRPCServerMetaDataBuilder builder = new JAXRPCServerMetaDataBuilder();
- umd = builder.buildMetaData(dep, (JAXRPCDeployment)udi);
- }
- else if (udi.type == DeploymentType.JAXRPC_EJB21)
- {
- JAXRPCServerMetaDataBuilder builder = new JAXRPCServerMetaDataBuilder();
- umd = builder.buildMetaData(dep, (JAXRPCDeployment)udi);
- }
- else if (udi.type == DeploymentType.JAXWS_JSE)
- {
- JAXWSMetaDataBuilderJSE builder = new JAXWSMetaDataBuilderJSE();
- umd = builder.buildMetaData(dep, udi);
- }
- else if (udi.type == DeploymentType.JAXWS_EJB3)
- {
- JAXWSMetaDataBuilderEJB3 builder = new JAXWSMetaDataBuilderEJB3();
- umd = builder.buildMetaData(dep, udi);
- }
- else
- {
- throw new IllegalStateException("Invalid type: " + udi.type);
- }
-
- dep.getContext().addAttachment(UnifiedMetaData.class, umd);
- }
- }
-}
\ No newline at end of file
Deleted:
trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/UnifiedMetaDataDeployment.java
===================================================================
---
trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/UnifiedMetaDataDeployment.java 2007-07-13
14:36:56 UTC (rev 3883)
+++
trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/UnifiedMetaDataDeployment.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -1,82 +0,0 @@
-/*
- * ====================================================================
- *
- * The Apache Software License, Version 1.1
- *
- * Copyright (c) 1999 The Apache Software Foundation. All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. The end-user documentation included with the redistribution, if
- * any, must include the following acknowlegement:
- * "This product includes software developed by the
- * Apache Software Foundation (
http://www.apache.org/)."
- * Alternately, this acknowlegement may appear in the software itself,
- * if and wherever such third-party acknowlegements normally appear.
- *
- * 4. The names "The Jakarta Project", "Tomcat", and "Apache
Software
- * Foundation" must not be used to endorse or promote products derived
- * from this software without prior written permission. For written
- * permission, please contact apache(a)apache.org.
- *
- * 5. Products derived from this software may not be called "Apache"
- * nor may "Apache" appear in their names without prior written
- * permission of the Apache Group.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation. For more
- * information on the Apache Software Foundation, please see
- * <
http://www.apache.org/>.
- */
-package org.jboss.wsf.stack.jbws;
-
-//$Id$
-
-import org.jboss.ws.metadata.umdm.UnifiedMetaData;
-import org.jboss.wsf.spi.deployment.BasicDeployment;
-
-/**
- * A deployment that injects the ClassLoader into the UnifiedMetaDataModel
- *
- * @author Thomas.Diesler(a)jboss.com
- * @since 20-Apr-2007
- */
-public class UnifiedMetaDataDeployment extends BasicDeployment
-{
- @Override
- public void setClassLoader(ClassLoader classLoader)
- {
- super.setClassLoader(classLoader);
-
- UnifiedMetaData umd = getContext().getAttachment(UnifiedMetaData.class);
- if (umd != null)
- {
- umd.setClassLoader(classLoader);
- }
- }
-}
Copied:
trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/UnifiedMetaDataDeploymentAspect.java
(from rev 3881,
branches/tdiesler/trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/UnifiedMetaDataDeploymentAspect.java)
===================================================================
---
trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/UnifiedMetaDataDeploymentAspect.java
(rev 0)
+++
trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/UnifiedMetaDataDeploymentAspect.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -0,0 +1,126 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., 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.wsf.stack.jbws;
+
+//$Id: UnifiedMetaDataDeployer.java 3186 2007-05-22 15:39:58Z thomas.diesler(a)jboss.com $
+
+import org.jboss.ws.metadata.builder.jaxrpc.JAXRPCServerMetaDataBuilder;
+import org.jboss.ws.metadata.builder.jaxws.JAXWSMetaDataBuilderEJB3;
+import org.jboss.ws.metadata.builder.jaxws.JAXWSMetaDataBuilderJSE;
+import org.jboss.ws.metadata.umdm.EndpointMetaData;
+import org.jboss.ws.metadata.umdm.ServerEndpointMetaData;
+import org.jboss.ws.metadata.umdm.ServiceMetaData;
+import org.jboss.ws.metadata.umdm.UnifiedMetaData;
+import org.jboss.wsf.spi.deployment.DeploymentAspect;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.Endpoint;
+import org.jboss.wsf.spi.deployment.JAXRPCDeployment;
+import org.jboss.wsf.spi.deployment.UnifiedDeploymentInfo;
+import org.jboss.wsf.spi.deployment.Deployment.DeploymentType;
+
+/**
+ * A deployer that builds the UnifiedDeploymentInfo
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 25-Apr-2007
+ */
+public class UnifiedMetaDataDeploymentAspect extends DeploymentAspect
+{
+ @Override
+ public void create(Deployment dep)
+ {
+ UnifiedMetaData umd = dep.getContext().getAttachment(UnifiedMetaData.class);
+ if (umd == null)
+ {
+ UnifiedDeploymentInfo udi =
dep.getContext().getAttachment(UnifiedDeploymentInfo.class);
+ if (udi == null)
+ throw new IllegalStateException("Cannot obtain unified deployment
info");
+
+ if (udi.type == DeploymentType.JAXRPC_JSE)
+ {
+ JAXRPCServerMetaDataBuilder builder = new JAXRPCServerMetaDataBuilder();
+ umd = builder.buildMetaData(dep, (JAXRPCDeployment)udi);
+ }
+ else if (udi.type == DeploymentType.JAXRPC_EJB21)
+ {
+ JAXRPCServerMetaDataBuilder builder = new JAXRPCServerMetaDataBuilder();
+ umd = builder.buildMetaData(dep, (JAXRPCDeployment)udi);
+ }
+ else if (udi.type == DeploymentType.JAXWS_JSE)
+ {
+ JAXWSMetaDataBuilderJSE builder = new JAXWSMetaDataBuilderJSE();
+ umd = builder.buildMetaData(dep, udi);
+ }
+ else if (udi.type == DeploymentType.JAXWS_EJB3)
+ {
+ JAXWSMetaDataBuilderEJB3 builder = new JAXWSMetaDataBuilderEJB3();
+ umd = builder.buildMetaData(dep, udi);
+ }
+ else
+ {
+ throw new IllegalStateException("Invalid type: " + udi.type);
+ }
+
+ dep.getContext().addAttachment(UnifiedMetaData.class, umd);
+ }
+
+ for (Endpoint ep : dep.getService().getEndpoints())
+ {
+ ServerEndpointMetaData sepMetaData =
ep.getAttachment(ServerEndpointMetaData.class);
+ if (sepMetaData == null)
+ {
+ sepMetaData = getEndpointMetaData(umd, ep);
+ sepMetaData.setEndpoint(ep);
+
+ ep.addAttachment(ServerEndpointMetaData.class, sepMetaData);
+
+ String targetBean = ep.getTargetBeanName();
+ if (targetBean != null)
+ sepMetaData.setServiceEndpointImplName(targetBean);
+ }
+ }
+ }
+
+ private ServerEndpointMetaData getEndpointMetaData(UnifiedMetaData umd, Endpoint ep)
+ {
+ String epName = ep.getShortName();
+
+ ServerEndpointMetaData epMetaData = null;
+ for (ServiceMetaData serviceMetaData : umd.getServices())
+ {
+ for (EndpointMetaData aux : serviceMetaData.getEndpoints())
+ {
+ String linkName = ((ServerEndpointMetaData)aux).getLinkName();
+ if (epName.equals(linkName))
+ {
+ epMetaData = (ServerEndpointMetaData)aux;
+ break;
+ }
+ }
+ }
+
+ if (epMetaData == null)
+ throw new IllegalStateException("Cannot find endpoint meta data for: "
+ epName);
+
+ return epMetaData;
+ }
+}
\ No newline at end of file
Deleted:
trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/WebAppDesciptorModifierImpl.java
===================================================================
---
trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/WebAppDesciptorModifierImpl.java 2007-07-13
14:36:56 UTC (rev 3883)
+++
trunk/integration/native/src/main/java/org/jboss/wsf/stack/jbws/WebAppDesciptorModifierImpl.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -1,152 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., 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.wsf.stack.jbws;
-
-import java.util.Iterator;
-
-import org.dom4j.Document;
-import org.dom4j.Element;
-import org.jboss.logging.Logger;
-import org.jboss.wsf.spi.deployment.Deployment;
-import org.jboss.wsf.spi.deployment.Endpoint;
-import org.jboss.wsf.spi.deployment.WebAppDesciptorModifier;
-
-/**
- * Modifies web.xml for jbossws
- *
- * @author Thomas.Diesler(a)jboss.org
- * @since 19-May-2006
- */
-public class WebAppDesciptorModifierImpl implements WebAppDesciptorModifier
-{
- // logging support
- private static Logger log = Logger.getLogger(WebAppDesciptorModifierImpl.class);
-
- // The configured service endpoint servlet
- private String servletClass;
-
- public String getServletClass()
- {
- return servletClass;
- }
-
- public void setServletClass(String servletClass)
- {
- this.servletClass = servletClass;
- }
-
- public RewriteResults modifyDescriptor(Deployment dep, Document webXml) throws
ClassNotFoundException
- {
- RewriteResults results = new RewriteResults();
-
- Element root = webXml.getRootElement();
- for (Iterator it = root.elementIterator("servlet"); it.hasNext();)
- {
- Element servlet = (Element)it.next();
- String linkName = servlet.element("servlet-name").getTextTrim();
-
- // find the servlet-class
- Element classElement = servlet.element("servlet-class");
-
- // JSP
- if (classElement == null)
- continue;
-
- String orgServletClassName = classElement.getTextTrim();
-
- // Get the servlet class
- Class orgServletClass = null;
- try
- {
- ClassLoader loader = dep.getClassLoader();
- orgServletClass = loader.loadClass(orgServletClassName);
- }
- catch (ClassNotFoundException ex)
- {
- log.warn("Cannot load servlet class: " + orgServletClassName);
- }
-
- String targetBeanName = null;
-
- // Nothing to do if we have an <init-param>
- if (isAlreadyModified(servlet))
- {
- for (Iterator itParam = servlet.elementIterator("init-param");
itParam.hasNext();)
- {
- Element elParam = (Element)itParam.next();
- String paramName = elParam.element("param-name").getTextTrim();
- String paramValue =
elParam.element("param-value").getTextTrim();
- if (Endpoint.SEPID_DOMAIN_ENDPOINT.equals(paramName))
- {
- targetBeanName = paramValue;
- }
- }
- }
- else
- {
- // Check if it is a real servlet that we can ignore
- if (orgServletClass != null &&
javax.servlet.Servlet.class.isAssignableFrom(orgServletClass))
- {
- log.info("Ignore servlet: " + orgServletClassName);
- continue;
- }
- else if (orgServletClassName.endsWith("Servlet"))
- {
- log.info("Ignore <servlet-class> that ends with
'Servlet': " + orgServletClassName);
- continue;
- }
-
- classElement.setText(servletClass);
-
- // add additional init params
- if (orgServletClassName.equals(servletClass) == false)
- {
- targetBeanName = orgServletClassName;
- Element paramElement = servlet.addElement("init-param");
-
paramElement.addElement("param-name").addText(Endpoint.SEPID_DOMAIN_ENDPOINT);
- paramElement.addElement("param-value").addText(targetBeanName);
- }
- }
-
- if (targetBeanName == null)
- throw new IllegalStateException("Cannot obtain service endpoint bean
for: " + linkName);
-
- // remember the target bean name
- results.sepTargetMap.put(linkName, targetBeanName);
- }
-
- return results;
- }
-
- // Return true if the web.xml is already modified
- private boolean isAlreadyModified(Element servlet)
- {
- for (Iterator it = servlet.elementIterator("init-param"); it.hasNext();)
- {
- Element elParam = (Element)it.next();
- String paramName = elParam.element("param-name").getTextTrim();
- if (Endpoint.SEPID_DOMAIN_ENDPOINT.equals(paramName))
- return true;
- }
- return false;
- }
-}
\ No newline at end of file
Copied: trunk/integration/native/src/main/resources/jbossws-native-config.xml (from rev
3881,
branches/tdiesler/trunk/integration/native/src/main/resources/jbossws-native-config.xml)
===================================================================
--- trunk/integration/native/src/main/resources/jbossws-native-config.xml
(rev 0)
+++ trunk/integration/native/src/main/resources/jbossws-native-config.xml 2007-07-13
15:42:07 UTC (rev 3884)
@@ -0,0 +1,117 @@
+
+ <!-- An abstraction of server configuration aspects. -->
+ <bean name="WSServerConfig"
class="org.jboss.wsf.spi.management.BasicServerConfig">
+ <!--
+ The WSDL, that is a required deployment artifact for an endpoint, has a
<soap:address>
+ element which points to the location of the endpoint. JBoss supports rewriting of
that SOAP address.
+
+ If the content of <soap:address> is a valid URL, JBossWS will not rewrite
it unless 'modifySOAPAddress' is true.
+ If the content of <soap:address> is not a valid URL, JBossWS will rewrite
it using the attribute values given below.
+
+ If 'webServiceHost' is not set, JBossWS uses requesters protocol host
when rewriting the <soap:address>.
+ -->
+ <property
name="webServiceHost">${jboss.bind.address}</property>
+ <property name="modifySOAPAddress">true</property>
+
+ <!--
+ Set these properties to explicitly define the ports that will be used for rewriting
the SOAP address.
+ Otherwise the ports will be identified by querying the list of installed
connectors.
+ If multiple connectors are found the port of the first connector is used.
+ <property name="webServiceSecurePort">8443</property>
+ <property name="webServicePort">8080</property>
+ -->
+ </bean>
+
+ <!-- The registry for web service endpoints -->
+ <bean name="WSEndpointRegistry"
class="org.jboss.wsf.stack.jbws.ManagedEndpointRegistry"/>
+
+ <!-- A subscription manager for WS-Eventing -->
+ <bean name="WSSubscriptionManager"
class="org.jboss.ws.extensions.eventing.mgmt.SubscriptionManager">
+ <property name="bindAddress">${jboss.bind.address}</property>
+ </bean>
+
+ <!-- Bind Service objects in client environment context -->
+ <bean name="WSServiceRefHandler"
class="org.jboss.wsf.spi.deployment.serviceref.ServiceRefHandlerImpl">
+ <property name="jaxrpcBinder"><inject
bean="WSServiceRefBinderJAXRPC"/></property>
+ <property name="jaxwsBinder"><inject
bean="WSServiceRefBinderJAXWS"/></property>
+ </bean>
+
+ <!-- JBoss_4_2_0_GA uses this hardcoded bean name -->
+ <bean name="ServiceRefHandler"
class="org.jboss.wsf.spi.deployment.serviceref.ServiceRefHandlerImpl">
+ <property name="jaxrpcBinder"><inject
bean="WSServiceRefBinderJAXRPC"/></property>
+ <property name="jaxwsBinder"><inject
bean="WSServiceRefBinderJAXWS"/></property>
+ </bean>
+ <bean name="WSServiceRefBinderJAXRPC"
class="org.jboss.ws.core.jaxrpc.client.ServiceRefBinderJAXRPC"/>
+ <bean name="WSServiceRefBinderJAXWS"
class="org.jboss.ws.core.jaxws.client.ServiceRefBinderJAXWS"/>
+
+ <!--
+ The stack specific deployment aspects
+ -->
+ <bean name="WSNativeContextPropertiesDeploymentAspect"
class="org.jboss.wsf.spi.deployment.ContextPropertiesDeploymentAspect">
+ <property name="provides">ContextProperties</property>
+ <property name="contextProperties">
+ <map keyClass="java.lang.String"
valueClass="java.lang.String">
+
<entry><key>SERVICE_ENDPOINT_SERVLET</key><value>org.jboss.wsf.stack.jbws.ServiceEndpointServlet</value></entry>
+ </map>
+ </property>
+ </bean>
+
+ <bean name="WSNativeEagerInitializeDeploymentAspect"
class="org.jboss.wsf.stack.jbws.EagerInitializeDeploymentAspect">
+ <property
name="requires">ContainerClassLoader,UnifiedMetaDataModel</property>
+ <property name="provides">InitializedMetaDataModel</property>
+ </bean>
+
+ <bean name="WSNativeEndpointHandlerDeploymentAspect"
class="org.jboss.wsf.spi.deployment.EndpointHandlerDeploymentAspect">
+ <property name="requires">ContainerEndpointHandler</property>
+ <property name="provides">StackEndpointHandler</property>
+ <property
name="requestHandler">org.jboss.wsf.stack.jbws.RequestHandlerImpl</property>
+ <property
name="lifecycleHandler">org.jboss.wsf.stack.jbws.LifecycleHandlerImpl</property>
+ <property name="invocationHandler">
+ <map keyClass="java.lang.String"
valueClass="java.lang.String">
+
<entry><key>JAXRPC_JSE</key><value>org.jboss.wsf.stack.jbws.ServiceLifecycleInvocationHandler</value></entry>
+ </map>
+ </property>
+ </bean>
+
+ <bean name="WSNativeEventingDeploymentAspect"
class="org.jboss.wsf.stack.jbws.EventingDeploymentAspect">
+ <property name="requires">UnifiedMetaDataModel</property>
+ </bean>
+
+ <bean name="WSNativePublishContractDeploymentAspect"
class="org.jboss.wsf.stack.jbws.PublishContractDeploymentAspect">
+ <property name="requires">UnifiedMetaDataModel</property>
+ <property name="provides">PublishedContract</property>
+ </bean>
+
+ <bean name="WSNativeServiceEndpointInvokerDeploymentAspect"
class="org.jboss.wsf.stack.jbws.ServiceEndpointInvokerDeploymentAspect">
+ <property name="requires">UnifiedMetaDataModel</property>
+ </bean>
+
+ <bean name="WSNativeUnifiedMetaDataDeploymentAspect"
class="org.jboss.wsf.stack.jbws.UnifiedMetaDataDeploymentAspect">
+ <property name="requires">ContainerMetaData,
URLPattern</property>
+ <property name="provides">UnifiedMetaDataModel,
AllowClassLoaderInjection</property>
+ </bean>
+
+ <!-- Deployment aspect installers -->
+ <bean name="WSNativeJSEDeploymentAspectInstaller"
class="org.jboss.wsf.spi.deployment.DeploymentAspectInstaller">
+ <property name="manager"><inject
bean="WSDeploymentAspectManagerJSE"/></property>
+ <property name="aspects">
+ <set class="java.util.HashSet"
elementClass="org.jboss.wsf.spi.deployment.DeploymentAspect">
+ <inject bean="WSNativeContextPropertiesDeploymentAspect"/>
+ </set>
+ </property>
+ </bean>
+ <bean name="WSNativeMainDeploymentAspectInstaller"
class="org.jboss.wsf.spi.deployment.DeploymentAspectInstaller">
+ <property name="manager"><inject
bean="WSMainDeploymentAspectManager"/></property>
+ <property name="aspects">
+ <set class="java.util.HashSet"
elementClass="org.jboss.wsf.spi.deployment.DeploymentAspect">
+ <inject bean="WSNativeContextPropertiesDeploymentAspect"/>
+ <inject bean="WSNativeEagerInitializeDeploymentAspect"/>
+ <inject bean="WSNativeEndpointHandlerDeploymentAspect"/>
+ <inject bean="WSNativeEventingDeploymentAspect"/>
+ <inject bean="WSNativePublishContractDeploymentAspect"/>
+ <inject bean="WSNativeServiceEndpointInvokerDeploymentAspect"/>
+ <inject bean="WSNativeUnifiedMetaDataDeploymentAspect"/>
+ </set>
+ </property>
+ </bean>
+
Modified:
trunk/integration/native/src/main/resources/jbossws-native50.deployer/META-INF/jbossws-deployer-beans.xml
===================================================================
---
trunk/integration/native/src/main/resources/jbossws-native50.deployer/META-INF/jbossws-deployer-beans.xml 2007-07-13
14:36:56 UTC (rev 3883)
+++
trunk/integration/native/src/main/resources/jbossws-native50.deployer/META-INF/jbossws-deployer-beans.xml 2007-07-13
15:42:07 UTC (rev 3884)
@@ -31,4 +31,86 @@
<depends>WebServiceDeployerJSE</depends>
</bean>
+ <!--
+ Register DeployerHooks with JBoss deployers
+ -->
+ <bean name="WSDeployerHook_JAXRPC_JSE"
class="org.jboss.wsf.container.jboss50.JAXRPCDeployerHookJSE">
+ <property
name="deploymentClass">org.jboss.wsf.stack.jbws.UnifiedMetaDataDeployment</property>
+ <property
name="endpointClass">org.jboss.wsf.spi.deployment.BasicEndpoint</property>
+ <property name="deployerManager"><inject
bean="WSDeployerManagerJSE"/></property>
+ <install bean="WebServiceDeployerJSE"
method="addDeployerHook">
+ <parameter>
+ <this/>
+ </parameter>
+ </install>
+ <uninstall bean="WebServiceDeployerJSE"
method="removeDeployerHook">
+ <parameter>
+ <this/>
+ </parameter>
+ </uninstall>
+ <depends>WebServiceDeployerJSE</depends>
+ </bean>
+ <bean name="WSDeployerHook_JAXRPC_EJB21"
class="org.jboss.wsf.container.jboss50.JAXRPCDeployerHookEJB21">
+ <property
name="deploymentClass">org.jboss.wsf.stack.jbws.UnifiedMetaDataDeployment</property>
+ <property
name="endpointClass">org.jboss.wsf.spi.deployment.BasicEndpoint</property>
+ <property name="deployerManager"><inject
bean="WSDeployerManagerEJB"/></property>
+ <install bean="WebServiceDeployerEJB"
method="addDeployerHook">
+ <parameter>
+ <this/>
+ </parameter>
+ </install>
+ <uninstall bean="WebServiceDeployerEJB"
method="removeDeployerHook">
+ <parameter>
+ <this/>
+ </parameter>
+ </uninstall>
+ <depends>WebServiceDeployerEJB</depends>
+ </bean>
+ <bean name="WSDeployerHook_JAXWS_JSE"
class="org.jboss.wsf.container.jboss50.JAXWSDeployerHookJSE">
+ <property
name="deploymentClass">org.jboss.wsf.stack.jbws.UnifiedMetaDataDeployment</property>
+ <property
name="endpointClass">org.jboss.wsf.spi.deployment.BasicEndpoint</property>
+ <property name="deployerManager"><inject
bean="WSDeployerManagerJSE"/></property>
+ <install bean="WebServiceDeployerJSE"
method="addDeployerHook">
+ <parameter>
+ <this/>
+ </parameter>
+ </install>
+ <uninstall bean="WebServiceDeployerJSE"
method="removeDeployerHook">
+ <parameter>
+ <this/>
+ </parameter>
+ </uninstall>
+ <depends>WebServiceDeployerJSE</depends>
+ </bean>
+ <bean name="WSDeployerHook_JAXWS_EJB3"
class="org.jboss.wsf.container.jboss50.JAXWSDeployerHookEJB3">
+ <property
name="deploymentClass">org.jboss.wsf.stack.jbws.UnifiedMetaDataDeployment</property>
+ <property
name="endpointClass">org.jboss.wsf.spi.deployment.BasicEndpoint</property>
+ <property name="deployerManager"><inject
bean="WSDeployerManagerEJB"/></property>
+ <install bean="WebServiceDeployerEJB"
method="addDeployerHook">
+ <parameter>
+ <this/>
+ </parameter>
+ </install>
+ <uninstall bean="WebServiceDeployerEJB"
method="removeDeployerHook">
+ <parameter>
+ <this/>
+ </parameter>
+ </uninstall>
+ <depends>WebServiceDeployerEJB</depends>
+ </bean>
+ <bean name="WSMainDeployerHook"
class="org.jboss.wsf.container.jboss50.MainDeployerHook">
+ <property name="deployerManager"><inject
bean="WSMainDeployerManager"/></property>
+ <install bean="WebServiceMainDeployer"
method="addDeployerHook">
+ <parameter>
+ <this/>
+ </parameter>
+ </install>
+ <uninstall bean="WebServiceMainDeployer"
method="removeDeployerHook">
+ <parameter>
+ <this/>
+ </parameter>
+ </uninstall>
+ <depends>WebServiceMainDeployer</depends>
+ </bean>
+
</deployment>
Modified: trunk/integration/native/src/test/resources/test-excludes-jboss40.txt
===================================================================
--- trunk/integration/native/src/test/resources/test-excludes-jboss40.txt 2007-07-13
14:36:56 UTC (rev 3883)
+++ trunk/integration/native/src/test/resources/test-excludes-jboss40.txt 2007-07-13
15:42:07 UTC (rev 3884)
@@ -6,4 +6,5 @@
org/jboss/test/ws/jaxws/samples/context/WebServiceContextEJBTestCase*
org/jboss/test/ws/jaxws/samples/handlerchain/HandlerChainClientTestCase*
org/jboss/test/ws/jaxws/samples/retail/**
+org/jboss/test/ws/jaxws/samples/serviceref/**
org/jboss/test/ws/jaxws/samples/webserviceref/**
Deleted:
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/AbstractDeployer.java
===================================================================
---
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/AbstractDeployer.java 2007-07-13
14:36:56 UTC (rev 3883)
+++
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/AbstractDeployer.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -1,55 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., 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.wsf.spi.deployment;
-
-//$Id$
-
-import org.jboss.logging.Logger;
-
-/**
- * An abstract deployer that does nothing.
- * Overwrite the deployer methods appropriately.
- *
- * @author Thomas.Diesler(a)jboss.com
- * @since 20-Apr-2007
- */
-public abstract class AbstractDeployer implements Deployer
-{
- // provide logging
- protected final Logger log = Logger.getLogger(getClass());
-
- public void create(Deployment dep)
- {
- }
-
- public void destroy(Deployment dep)
- {
- }
-
- public void start(Deployment dep)
- {
- }
-
- public void stop(Deployment dep)
- {
- }
-}
\ No newline at end of file
Copied:
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/BackwardCompatibleContextRootDeploymentAspect.java
(from rev 3881,
branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/BackwardCompatibleContextRootDeploymentAspect.java)
===================================================================
---
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/BackwardCompatibleContextRootDeploymentAspect.java
(rev 0)
+++
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/BackwardCompatibleContextRootDeploymentAspect.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -0,0 +1,86 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., 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.wsf.spi.deployment;
+
+//$Id: BackwardCompatibleContextRootDeployer.java 3576 2007-06-14 09:23:52Z
thomas.diesler(a)jboss.com $
+
+import java.util.StringTokenizer;
+
+import org.jboss.wsf.spi.metadata.j2ee.UnifiedApplicationMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.UnifiedBeanMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.UnifiedEjbPortComponentMetaData;
+
+/**
+ * A deployer that assigns the context root to the service.
+ *
+ * If there is no explicit <context-root>, this deployer uses
+ * the first token from the <port-component-uri> element.
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 25-Apr-2007
+ */
+public class BackwardCompatibleContextRootDeploymentAspect extends
ContextRootDeploymentAspect
+{
+ @Override
+ protected String getExplicitContextRoot(Deployment dep)
+ {
+ String contextRoot = super.getExplicitContextRoot(dep);
+ if (contextRoot == null)
+ {
+ for (Endpoint ep : dep.getService().getEndpoints())
+ {
+ String urlPattern = getUrlPattern(dep, ep);
+ if (urlPattern != null)
+ {
+ StringTokenizer st = new StringTokenizer(urlPattern, "/");
+ if (st.countTokens() > 1)
+ {
+ String firstToken = st.nextToken();
+ if (contextRoot != null && contextRoot.equals(firstToken) ==
false)
+ throw new IllegalStateException("All endpoints must share the
same <context-root>: " + contextRoot + "!=" + firstToken);
+
+ contextRoot = firstToken;
+ }
+ }
+ }
+ }
+ return contextRoot;
+ }
+
+ private String getUrlPattern(Deployment dep, Endpoint ep)
+ {
+ String urlPattern = null;
+
+ UnifiedApplicationMetaData appMetaData =
dep.getContext().getAttachment(UnifiedApplicationMetaData.class);
+ if (appMetaData != null && appMetaData.getBeanByEjbName(ep.getShortName())
!= null)
+ {
+ UnifiedBeanMetaData bmd = appMetaData.getBeanByEjbName(ep.getShortName());
+ UnifiedEjbPortComponentMetaData pcmd = bmd.getPortComponent();
+ if (pcmd != null)
+ {
+ urlPattern = pcmd.getPortComponentURI();
+ }
+ }
+
+ return urlPattern;
+ }
+}
\ No newline at end of file
Copied:
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/BackwardCompatibleURLPatternDeploymentAspect.java
(from rev 3881,
branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/BackwardCompatibleURLPatternDeploymentAspect.java)
===================================================================
---
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/BackwardCompatibleURLPatternDeploymentAspect.java
(rev 0)
+++
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/BackwardCompatibleURLPatternDeploymentAspect.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -0,0 +1,62 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., 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.wsf.spi.deployment;
+
+//$Id: BackwardCompatibleURLPatternDeployer.java 3576 2007-06-14 09:23:52Z
thomas.diesler(a)jboss.com $
+
+import java.util.StringTokenizer;
+
+
+/**
+ * A deployer that assigns the URLPattern to endpoints.
+ *
+ * This deployer uses the first token from the <port-component-uri>
+ * as the context root.
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 19-May-2007
+ */
+public class BackwardCompatibleURLPatternDeploymentAspect extends
URLPatternDeploymentAspect
+{
+
+ @Override
+ protected String getExplicitPattern(Deployment dep, Endpoint ep)
+ {
+ String contextRoot = dep.getService().getContextRoot();
+ if (contextRoot == null)
+ throw new IllegalStateException("Cannot obtain context root");
+
+ String urlPattern = super.getExplicitPattern(dep, ep);
+ if (urlPattern != null)
+ {
+ if (urlPattern.startsWith("/") == false)
+ urlPattern = "/" + urlPattern;
+
+ StringTokenizer st = new StringTokenizer(urlPattern, "/");
+ if (st.countTokens() > 1 && urlPattern.startsWith(contextRoot))
+ {
+ urlPattern = urlPattern.substring(contextRoot.length());
+ }
+ }
+ return urlPattern;
+ }
+}
\ No newline at end of file
Deleted:
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/BasicDeployerManager.java
===================================================================
---
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/BasicDeployerManager.java 2007-07-13
14:36:56 UTC (rev 3883)
+++
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/BasicDeployerManager.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -1,150 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., 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.wsf.spi.deployment;
-
-// $Id$
-
-import java.util.LinkedList;
-import java.util.List;
-
-import org.jboss.logging.Logger;
-import org.jboss.wsf.spi.deployment.Deployment.DeploymentState;
-
-/**
- * A general service deployment manger.
- *
- * @author Thomas.Diesler(a)jboss.com
- * @since 20-Apr-2007
- */
-public class BasicDeployerManager implements DeployerManager
-{
- // provide logging
- private static final Logger log = Logger.getLogger(BasicDeployerManager.class);
-
-
- private List<Deployer> deployers = new LinkedList<Deployer>();
-
- public List<Deployer> getDeployers()
- {
- return deployers;
- }
-
- public void setDeployers(List<Deployer> deployers)
- {
- this.deployers = deployers;
- }
-
- /**
- * Iterate over the registered deployers calls create on each.
- * Iterate over the registered deployers again and calls start on each.
- * If start fails it automaticall calls destroy in the reverse order
- * starting with the deployer that failed
- */
- public void deploy(Deployment dep)
- {
- // create the deployment
- for (int i = 0; i < deployers.size(); i++)
- {
- Deployer deployer = deployers.get(i);
- logInvocation(deployer, "Create");
- deployer.create(dep);
- }
-
- dep.setState(DeploymentState.CREATED);
-
- // start the deployment
- for (int i = 0; i < deployers.size(); i++)
- {
- Deployer deployer = deployers.get(i);
- try
- {
- logInvocation(deployer, "Start");
- deployer.start(dep);
- }
- catch (RuntimeException rte)
- {
- while (i-- >= 0)
- {
- // destroy the deployment
- failsafeDestroy(deployer, dep);
- }
- throw rte;
- }
- }
-
- dep.setState(DeploymentState.STARTED);
- }
-
- public void undeploy(Deployment dep)
- {
- // stop the deployment
- for (int i = deployers.size(); 0 < i; i--)
- {
- Deployer deployer = deployers.get(i - 1);
- failsafeStop(deployer, dep);
- }
-
- dep.setState(DeploymentState.STOPPED);
-
- // destroy the deployment
- for (int i = deployers.size(); 0 < i; i--)
- {
- Deployer deployer = deployers.get(i - 1);
- failsafeDestroy(deployer, dep);
- }
-
- dep.setState(DeploymentState.DESTROYED);
- }
-
- private void failsafeStop(Deployer deployer, Deployment dep)
- {
- try
- {
- logInvocation(deployer, "Stop");
- deployer.stop(dep);
- }
- catch (RuntimeException rte)
- {
- WSDeploymentException.rethrow(rte);
- }
- }
-
- private void failsafeDestroy(Deployer deployer, Deployment dep)
- {
- try
- {
- logInvocation(deployer, "Destroy");
- deployer.destroy(dep);
- }
- catch (RuntimeException rte)
- {
- WSDeploymentException.rethrow(rte);
- }
- }
-
- private void logInvocation(Deployer deployer, String method)
- {
- String name = deployer.getClass().getName();
- name = name.substring(name.lastIndexOf(".") + 1);
- log.debug(name + ":" + method);
- }
-}
Copied:
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/BasicDeploymentAspectManager.java
(from rev 3881,
branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/BasicDeploymentAspectManager.java)
===================================================================
---
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/BasicDeploymentAspectManager.java
(rev 0)
+++
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/BasicDeploymentAspectManager.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -0,0 +1,245 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., 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.wsf.spi.deployment;
+
+// $Id$
+
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+
+import org.jboss.logging.Logger;
+import org.jboss.wsf.spi.deployment.Deployment.DeploymentState;
+
+/**
+ * A general service deployment manger.
+ *
+ * @author Thomas.Diesler(a)jboss.com
+ * @since 20-Apr-2007
+ */
+public class BasicDeploymentAspectManager implements DeploymentAspectManager
+{
+ // provide logging
+ private static final Logger log =
Logger.getLogger(BasicDeploymentAspectManager.class);
+
+ private String name;
+ private Set<DeploymentAspect> unsortedAspects = new
HashSet<DeploymentAspect>();
+ private List<DeploymentAspect> sortedAspects;
+
+ public String getName()
+ {
+ return name;
+ }
+
+ public void setName(String name)
+ {
+ this.name = name;
+ }
+
+ public List<DeploymentAspect> getDeploymentAspects()
+ {
+ if (sortedAspects == null)
+ {
+ sortedAspects = new ArrayList<DeploymentAspect>();
+ List<DeploymentAspect> allAspects = new
ArrayList<DeploymentAspect>(unsortedAspects);
+
+ // Add aspects with no requirements first
+ Iterator<DeploymentAspect> itAll = allAspects.iterator();
+ while (itAll.hasNext())
+ {
+ DeploymentAspect aspect = itAll.next();
+ if (aspect.getRequires() == null)
+ {
+ sortedAspects.add(aspect);
+ itAll.remove();
+ }
+ }
+
+ // Add aspects that have requirements that already added aspects provide
+ itAll = allAspects.iterator();
+ while (itAll.hasNext())
+ {
+ DeploymentAspect aspect = itAll.next();
+ int index = getAspectIndex(aspect);
+ if (index != -1)
+ {
+ sortedAspects.add(index, aspect);
+ itAll.remove();
+
+ itAll = allAspects.iterator();
+ }
+ }
+
+ // Add LAST_DEPLOYMENT_ASPECT
+ itAll = allAspects.iterator();
+ while (itAll.hasNext())
+ {
+ DeploymentAspect aspect = itAll.next();
+ if (LAST_DEPLOYMENT_ASPECT.equals(aspect.getRequires()))
+ {
+ sortedAspects.add(aspect);
+ itAll.remove();
+ }
+ }
+
+ if (allAspects.size() != 0)
+ throw new IllegalStateException("Cannot add: " + allAspects);
+
+ for (DeploymentAspect aspect : sortedAspects)
+ log.info(name + ": " + aspect);
+ }
+
+ return sortedAspects;
+ }
+
+ private int getAspectIndex(DeploymentAspect aspect)
+ {
+ int index = -1;
+ Set<String> providedConditions = new HashSet<String>();
+ for (int i = 0; i < sortedAspects.size(); i++)
+ {
+ DeploymentAspect sortedAspect = sortedAspects.get(i);
+ providedConditions.addAll(sortedAspect.getProvidesAsSet());
+ if (providedConditions.containsAll(aspect.getRequiresAsSet()))
+ {
+ index = i + 1;
+ break;
+ }
+ }
+ return index;
+ }
+
+ public void addDeploymentAspect(DeploymentAspect aspect)
+ {
+ if (sortedAspects != null)
+ throw new IllegalStateException("Cannot add deployment aspects to an
already sorted list: " + sortedAspects);
+
+ unsortedAspects.add(aspect);
+ }
+
+ /**
+ * Iterate over the registered deployers calls create on each.
+ * Iterate over the registered deployers again and calls start on each.
+ * If start fails it automaticall calls destroy in the reverse order
+ * starting with the deployer that failed
+ */
+ public void deploy(Deployment dep)
+ {
+ // create the deployment
+ Set<String> providedConditions = new HashSet<String>();
+ for (int i = 0; i < getDeploymentAspects().size(); i++)
+ {
+ DeploymentAspect aspect = getDeploymentAspects().get(i);
+
+ // Check that all required aspects are met
+ Set<String> requiredSet = aspect.getRequiresAsSet();
+ requiredSet.remove(LAST_DEPLOYMENT_ASPECT);
+ if (providedConditions.containsAll(requiredSet) == false)
+ throw new IllegalStateException("Required conditions '" +
aspect.getRequires() + "' not satisfied by '" + providedConditions +
"' for: " + aspect);
+
+ logInvocation(aspect, "Create");
+ aspect.create(dep);
+
+ providedConditions.addAll(aspect.getProvidesAsSet());
+ }
+
+ dep.setState(DeploymentState.CREATED);
+
+ // start the deployment
+ for (int i = 0; i < getDeploymentAspects().size(); i++)
+ {
+ DeploymentAspect aspect = getDeploymentAspects().get(i);
+ try
+ {
+ logInvocation(aspect, "Start");
+ aspect.start(dep);
+ }
+ catch (RuntimeException rte)
+ {
+ while (i-- >= 0)
+ {
+ // destroy the deployment
+ failsafeDestroy(aspect, dep);
+ }
+ throw rte;
+ }
+ }
+
+ dep.setState(DeploymentState.STARTED);
+ }
+
+ public void undeploy(Deployment dep)
+ {
+ // stop the deployment
+ for (int i = getDeploymentAspects().size(); 0 < i; i--)
+ {
+ DeploymentAspect aspect = getDeploymentAspects().get(i - 1);
+ failsafeStop(aspect, dep);
+ }
+
+ dep.setState(DeploymentState.STOPPED);
+
+ // destroy the deployment
+ for (int i = getDeploymentAspects().size(); 0 < i; i--)
+ {
+ DeploymentAspect aspect = getDeploymentAspects().get(i - 1);
+ failsafeDestroy(aspect, dep);
+ }
+
+ dep.setState(DeploymentState.DESTROYED);
+ }
+
+ private void failsafeStop(DeploymentAspect aspect, Deployment dep)
+ {
+ try
+ {
+ logInvocation(aspect, "Stop");
+ aspect.stop(dep);
+ }
+ catch (RuntimeException rte)
+ {
+ WSDeploymentException.rethrow(rte);
+ }
+ }
+
+ private void failsafeDestroy(DeploymentAspect aspect, Deployment dep)
+ {
+ try
+ {
+ logInvocation(aspect, "Destroy");
+ aspect.destroy(dep);
+ }
+ catch (RuntimeException rte)
+ {
+ WSDeploymentException.rethrow(rte);
+ }
+ }
+
+ private void logInvocation(DeploymentAspect aspect, String method)
+ {
+ String name = aspect.getClass().getName();
+ name = name.substring(name.lastIndexOf(".") + 1);
+ log.debug(name + ":" + method);
+ }
+}
Modified:
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/BasicLifecycleHandler.java
===================================================================
---
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/BasicLifecycleHandler.java 2007-07-13
14:36:56 UTC (rev 3883)
+++
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/BasicLifecycleHandler.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -25,6 +25,7 @@
import org.jboss.logging.Logger;
import org.jboss.wsf.spi.deployment.Endpoint.EndpointState;
+import org.jboss.wsf.spi.invocation.InvocationHandler;
/**
* A basic lifecycle handler
@@ -41,8 +42,11 @@
{
log.debug("Create: " + ep.getName());
- ep.getInvocationHandler().create(ep);
-
+ InvocationHandler invHandler = ep.getInvocationHandler();
+ if (invHandler == null)
+ throw new IllegalStateException("Invocation handler not available");
+
+ invHandler.create(ep);
ep.setState(EndpointState.CREATED);
}
Copied:
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/ContextPropertiesDeploymentAspect.java
(from rev 3881,
branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/ContextPropertiesDeploymentAspect.java)
===================================================================
---
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/ContextPropertiesDeploymentAspect.java
(rev 0)
+++
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/ContextPropertiesDeploymentAspect.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -0,0 +1,60 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., 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.wsf.spi.deployment;
+
+import java.util.Iterator;
+import java.util.Map;
+
+
+/**
+ * Populate deployment context properties
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 19-May-2006
+ */
+public class ContextPropertiesDeploymentAspect extends DeploymentAspect
+{
+ // The configured service endpoint servlet
+ private Map<String,String> contextProperties;
+
+ public Map<String, String> getContextProperties()
+ {
+ return contextProperties;
+ }
+
+ public void setContextProperties(Map<String, String> contextProperties)
+ {
+ this.contextProperties = contextProperties;
+ }
+
+ @Override
+ public void create(Deployment dep)
+ {
+ Iterator<String> it = contextProperties.keySet().iterator();
+ while (it.hasNext())
+ {
+ String key = it.next();
+ String value = contextProperties.get(key);
+ dep.getContext().setProperty(key, value);
+ }
+ }
+}
\ No newline at end of file
Deleted:
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/ContextRootDeployer.java
===================================================================
---
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/ContextRootDeployer.java 2007-07-13
14:36:56 UTC (rev 3883)
+++
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/ContextRootDeployer.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -1,102 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., 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.wsf.spi.deployment;
-
-//$Id$
-
-import org.jboss.wsf.spi.annotation.WebContext;
-import org.jboss.wsf.spi.metadata.j2ee.UnifiedApplicationMetaData;
-import org.jboss.wsf.spi.metadata.j2ee.UnifiedWebMetaData;
-
-/**
- * A deployer that assigns the context root to the service
- *
- * @author Thomas.Diesler(a)jboss.org
- * @since 25-Apr-2007
- */
-public class ContextRootDeployer extends AbstractDeployer
-{
- @Override
- public void create(Deployment dep)
- {
- String contextRoot = getExplicitContextRoot(dep);
- if (contextRoot == null)
- contextRoot = getImplicitContextRoot(dep);
-
- // Always prefix with '/'
- if (contextRoot.startsWith("/") == false)
- contextRoot = "/" + contextRoot;
-
- dep.getService().setContextRoot(contextRoot);
- }
-
- protected String getExplicitContextRoot(Deployment dep)
- {
- String contextRoot = null;
-
- // #1 Use the explicit context root from the web meta data
- UnifiedWebMetaData webMetaData =
dep.getContext().getAttachment(UnifiedWebMetaData.class);
- if (webMetaData != null)
- contextRoot = webMetaData.getContextRoot();
-
- // #2 Use the explicit context root from @WebContext.contextRoot
- if (contextRoot == null)
- {
- for (Endpoint ep : dep.getService().getEndpoints())
- {
- Class implClass = ep.getTargetBeanClass();
- WebContext anWebContext =
(WebContext)implClass.getAnnotation(WebContext.class);
- if (anWebContext != null && anWebContext.contextRoot().length() >
0)
- {
- if (contextRoot != null &&
contextRoot.equals(anWebContext.contextRoot()) == false)
- throw new IllegalStateException("Context root must be the same for
all deployed endpoints");
-
- contextRoot = anWebContext.contextRoot();
- }
- }
- }
-
- // #3 Use the explicit context root from webservices/context-root
- UnifiedApplicationMetaData appMetaData =
dep.getContext().getAttachment(UnifiedApplicationMetaData.class);
- if (contextRoot == null && appMetaData != null)
- {
- contextRoot = appMetaData.getWebServiceContextRoot();
- }
-
- return contextRoot;
- }
-
- /** Use the implicit context root derived from the deployment name
- */
- protected String getImplicitContextRoot(Deployment dep)
- {
- UnifiedDeploymentInfo udi =
dep.getContext().getAttachment(UnifiedDeploymentInfo.class);
- String simpleName = udi.simpleName;
- String contextRoot = simpleName.substring(0, simpleName.length() - 4);
- if (udi.parent != null)
- {
- simpleName = udi.parent.simpleName;
- contextRoot = simpleName.substring(0, simpleName.length() - 4) + "-" +
contextRoot;
- }
- return contextRoot;
- }
-}
\ No newline at end of file
Copied:
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/ContextRootDeploymentAspect.java
(from rev 3881,
branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/ContextRootDeploymentAspect.java)
===================================================================
---
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/ContextRootDeploymentAspect.java
(rev 0)
+++
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/ContextRootDeploymentAspect.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -0,0 +1,102 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., 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.wsf.spi.deployment;
+
+//$Id: ContextRootDeployer.java 3576 2007-06-14 09:23:52Z thomas.diesler(a)jboss.com $
+
+import org.jboss.wsf.spi.annotation.WebContext;
+import org.jboss.wsf.spi.metadata.j2ee.UnifiedApplicationMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.UnifiedWebMetaData;
+
+/**
+ * A deployer that assigns the context root to the service
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 25-Apr-2007
+ */
+public class ContextRootDeploymentAspect extends DeploymentAspect
+{
+ @Override
+ public void create(Deployment dep)
+ {
+ String contextRoot = getExplicitContextRoot(dep);
+ if (contextRoot == null)
+ contextRoot = getImplicitContextRoot(dep);
+
+ // Always prefix with '/'
+ if (contextRoot.startsWith("/") == false)
+ contextRoot = "/" + contextRoot;
+
+ dep.getService().setContextRoot(contextRoot);
+ }
+
+ protected String getExplicitContextRoot(Deployment dep)
+ {
+ String contextRoot = null;
+
+ // #1 Use the explicit context root from the web meta data
+ UnifiedWebMetaData webMetaData =
dep.getContext().getAttachment(UnifiedWebMetaData.class);
+ if (webMetaData != null)
+ contextRoot = webMetaData.getContextRoot();
+
+ // #2 Use the explicit context root from @WebContext.contextRoot
+ if (contextRoot == null)
+ {
+ for (Endpoint ep : dep.getService().getEndpoints())
+ {
+ Class implClass = ep.getTargetBeanClass();
+ WebContext anWebContext =
(WebContext)implClass.getAnnotation(WebContext.class);
+ if (anWebContext != null && anWebContext.contextRoot().length() >
0)
+ {
+ if (contextRoot != null &&
contextRoot.equals(anWebContext.contextRoot()) == false)
+ throw new IllegalStateException("Context root must be the same for
all deployed endpoints");
+
+ contextRoot = anWebContext.contextRoot();
+ }
+ }
+ }
+
+ // #3 Use the explicit context root from webservices/context-root
+ UnifiedApplicationMetaData appMetaData =
dep.getContext().getAttachment(UnifiedApplicationMetaData.class);
+ if (contextRoot == null && appMetaData != null)
+ {
+ contextRoot = appMetaData.getWebServiceContextRoot();
+ }
+
+ return contextRoot;
+ }
+
+ /** Use the implicit context root derived from the deployment name
+ */
+ protected String getImplicitContextRoot(Deployment dep)
+ {
+ UnifiedDeploymentInfo udi =
dep.getContext().getAttachment(UnifiedDeploymentInfo.class);
+ String simpleName = udi.simpleName;
+ String contextRoot = simpleName.substring(0, simpleName.length() - 4);
+ if (udi.parent != null)
+ {
+ simpleName = udi.parent.simpleName;
+ contextRoot = simpleName.substring(0, simpleName.length() - 4) + "-" +
contextRoot;
+ }
+ return contextRoot;
+ }
+}
\ No newline at end of file
Deleted: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/Deployer.java
===================================================================
---
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/Deployer.java 2007-07-13
14:36:56 UTC (rev 3883)
+++
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/Deployer.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -1,42 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., 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.wsf.spi.deployment;
-
-// $Id$
-
-/**
- * A general web service deployer.
- *
- * @author Thomas.Diesler(a)jboss.com
- * @since 20-Apr-2007
- */
-public interface Deployer
-{
- void create (Deployment dep);
-
- void start (Deployment dep);
-
- void stop (Deployment dep);
-
- void destroy (Deployment dep);
-}
-
Deleted:
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/DeployerManager.java
===================================================================
---
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/DeployerManager.java 2007-07-13
14:36:56 UTC (rev 3883)
+++
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/DeployerManager.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -1,47 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., 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.wsf.spi.deployment;
-
-// $Id$
-
-import java.util.List;
-
-/**
- * A general service deployment manger.
- *
- * @author Thomas.Diesler(a)jboss.com
- * @since 20-Apr-2007
- */
-public interface DeployerManager
-{
- /** Get the list of registered deployers */
- List<Deployer> getDeployers();
-
- /** Set the list of registered deployers */
- void setDeployers(List<Deployer> deployers);
-
- /** Deploy a web service */
- void deploy(Deployment dep);
-
- /** Undeploy a web service */
- void undeploy(Deployment dep);
-}
Copied:
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/DeploymentAspect.java
(from rev 3881,
branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/DeploymentAspect.java)
===================================================================
---
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/DeploymentAspect.java
(rev 0)
+++
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/DeploymentAspect.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -0,0 +1,112 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., 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.wsf.spi.deployment;
+
+//$Id: AbstractDeployer.java 3146 2007-05-18 22:55:26Z thomas.diesler(a)jboss.com $
+
+import java.util.HashSet;
+import java.util.Set;
+import java.util.StringTokenizer;
+
+import org.jboss.kernel.Kernel;
+import org.jboss.kernel.spi.registry.KernelRegistry;
+import org.jboss.kernel.spi.registry.KernelRegistryEntry;
+import org.jboss.logging.Logger;
+import org.jboss.ws.integration.KernelLocator;
+
+/**
+ * A deployment aspect that does nothing.
+ *
+ * A deployment aspects can require/provide a set of string conditions.
+ * This determins the order of deployment aspects in the deployment aspect manager.
+ *
+ * @author Thomas.Diesler(a)jboss.com
+ * @since 20-Apr-2007
+ */
+public abstract class DeploymentAspect
+{
+ // provide logging
+ protected final Logger log = Logger.getLogger(getClass());
+
+ private String provides;
+ private String requires;
+
+ public String getProvides()
+ {
+ return provides;
+ }
+
+ public void setProvides(String provides)
+ {
+ this.provides = provides;
+ }
+
+ public String getRequires()
+ {
+ return requires;
+ }
+
+ public void setRequires(String requires)
+ {
+ this.requires = requires;
+ }
+
+ public void create(Deployment dep)
+ {
+ }
+
+ public void destroy(Deployment dep)
+ {
+ }
+
+ public void start(Deployment dep)
+ {
+ }
+
+ public void stop(Deployment dep)
+ {
+ }
+
+ public Set<String> getProvidesAsSet()
+ {
+ Set<String> condset = new HashSet<String>();
+ if (provides != null)
+ {
+ StringTokenizer st = new StringTokenizer(provides, ", ");
+ while (st.hasMoreTokens())
+ condset.add(st.nextToken());
+ }
+ return condset;
+ }
+
+ public Set<String> getRequiresAsSet()
+ {
+ Set<String> condset = new HashSet<String>();
+ if (requires != null)
+ {
+ StringTokenizer st = new StringTokenizer(requires, ", ");
+ while (st.hasMoreTokens())
+ condset.add(st.nextToken());
+ }
+ return condset;
+ }
+}
\ No newline at end of file
Copied:
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/DeploymentAspectInstaller.java
(from rev 3881,
branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/DeploymentAspectInstaller.java)
===================================================================
---
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/DeploymentAspectInstaller.java
(rev 0)
+++
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/DeploymentAspectInstaller.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -0,0 +1,58 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., 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.wsf.spi.deployment;
+
+//$Id: AbstractDeployer.java 3146 2007-05-18 22:55:26Z thomas.diesler(a)jboss.com $
+
+import java.util.Set;
+
+/**
+ * A deployment aspect installer.
+ *
+ * Use this installer with microkernel version 1.x
+ *
+ * @author Thomas.Diesler(a)jboss.com
+ * @since 20-Apr-2007
+ */
+public class DeploymentAspectInstaller
+{
+ private DeploymentAspectManager manager;
+ private Set<DeploymentAspect> aspects;
+
+ public void setManager(DeploymentAspectManager manager)
+ {
+ this.manager = manager;
+ }
+
+ public void setAspects(Set<DeploymentAspect> aspects)
+ {
+ this.aspects = aspects;
+ }
+
+ public void create()
+ {
+ for (DeploymentAspect aspect : aspects)
+ {
+ manager.addDeploymentAspect(aspect);
+ }
+ }
+}
\ No newline at end of file
Copied:
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/DeploymentAspectManager.java
(from rev 3881,
branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/DeploymentAspectManager.java)
===================================================================
---
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/DeploymentAspectManager.java
(rev 0)
+++
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/DeploymentAspectManager.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -0,0 +1,52 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., 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.wsf.spi.deployment;
+
+// $Id$
+
+import java.util.List;
+
+/**
+ * A general service deployment manger.
+ *
+ * @author Thomas.Diesler(a)jboss.com
+ * @since 20-Apr-2007
+ */
+public interface DeploymentAspectManager
+{
+ static final String LAST_DEPLOYMENT_ASPECT = "LAST_DEPLOYMENT_ASPECT";
+
+ /** Get the name for this aspect manager */
+ String getName();
+
+ /** Get the ordered list of registered deployment aspects */
+ List<DeploymentAspect> getDeploymentAspects();
+
+ /** Add deployment aspect */
+ void addDeploymentAspect(DeploymentAspect aspect);
+
+ /** Deploy a web service */
+ void deploy(Deployment dep);
+
+ /** Undeploy a web service */
+ void undeploy(Deployment dep);
+}
Deleted:
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointHandlerDeployer.java
===================================================================
---
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointHandlerDeployer.java 2007-07-13
14:36:56 UTC (rev 3883)
+++
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointHandlerDeployer.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -1,148 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., 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.wsf.spi.deployment;
-
-//$Id$
-
-import org.jboss.wsf.spi.invocation.InvocationExceptionHandler;
-import org.jboss.wsf.spi.invocation.InvocationHandler;
-import org.jboss.wsf.spi.invocation.RequestHandler;
-import org.jboss.wsf.spi.metadata.j2ee.UnifiedApplicationMetaData;
-import org.jboss.wsf.spi.metadata.j2ee.UnifiedBeanMetaData;
-import org.jboss.wsf.spi.metadata.j2ee.UnifiedMessageDrivenMetaData;
-
-import java.util.Map;
-
-/**
- * A deployer that assigns the handlers to the Endpoint
- *
- * @author Thomas.Diesler(a)jboss.org
- * @since 25-Apr-2007
- */
-public class EndpointHandlerDeployer extends AbstractDeployer
-{
- private String requestHandler;
- private String lifecycleHandler;
-
- private Map<String, String> invocationHandler;
- private String invocationExceptionHandler;
-
- public void setLifecycleHandler(String handler)
- {
- this.lifecycleHandler = handler;
- }
-
- public void setRequestHandler(String handler)
- {
- this.requestHandler = handler;
- }
-
- public void setInvocationHandler(Map<String, String> handlers)
- {
- this.invocationHandler = handlers;
- }
-
- public void setInvocationExceptionHandler(String handler)
- {
- this.invocationExceptionHandler = handler;
- }
-
- @Override
- public void create(Deployment dep)
- {
- for (Endpoint ep : dep.getService().getEndpoints())
- {
- ep.setRequestHandler(getRequestHandler(dep));
- ep.setLifecycleHandler(getLifecycleHandler(dep));
- ep.setInvocationHandler(getInvocationHandler(ep));
- }
- }
-
- private RequestHandler getRequestHandler(Deployment dep)
- {
- try
- {
- Class<?> handlerClass = dep.getClassLoader().loadClass(requestHandler);
- return (RequestHandler)handlerClass.newInstance();
- }
- catch (Exception e)
- {
- throw new IllegalStateException("Cannot load request handler: " +
requestHandler);
- }
- }
-
- private LifecycleHandler getLifecycleHandler(Deployment dep)
- {
- try
- {
- Class<?> handlerClass = dep.getClassLoader().loadClass(lifecycleHandler);
- return (LifecycleHandler)handlerClass.newInstance();
- }
- catch (Exception e)
- {
- throw new IllegalStateException("Cannot load lifecycle handler: " +
lifecycleHandler);
- }
- }
-
- private InvocationHandler getInvocationHandler(Endpoint ep)
- {
- Deployment dep = ep.getService().getDeployment();
- String key = dep.getType().toString();
-
- // Use a special key for MDB endpoints
- UnifiedApplicationMetaData uapp =
dep.getContext().getAttachment(UnifiedApplicationMetaData.class);
- if (uapp != null)
- {
- UnifiedBeanMetaData bmd = uapp.getBeanByEjbName(ep.getShortName());
- if (bmd instanceof UnifiedMessageDrivenMetaData)
- {
- key = "JAXRPC_MDB21";
- }
- }
-
- String className = invocationHandler.get(key);
- if (className == null)
- throw new IllegalStateException("Cannot obtain invocation handler for:
" + key);
-
- InvocationExceptionHandler exceptionHandler;
- try
- {
- Class<?> handlerClass =
dep.getClassLoader().loadClass(invocationExceptionHandler);
- exceptionHandler = (InvocationExceptionHandler)handlerClass.newInstance();
- }
- catch (Exception e)
- {
- throw new IllegalStateException("Cannot load invocation exception handler:
" + invocationExceptionHandler);
- }
- try
- {
- Class<?> handlerClass = dep.getClassLoader().loadClass(className);
- InvocationHandler invocationHandlerInstance =
(InvocationHandler)handlerClass.newInstance();
- invocationHandlerInstance.setExceptionHandler(exceptionHandler);
- return invocationHandlerInstance;
- }
- catch (Exception e)
- {
- throw new IllegalStateException("Cannot load invocation handler: " +
className);
- }
- }
-}
\ No newline at end of file
Copied:
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointHandlerDeploymentAspect.java
(from rev 3881,
branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointHandlerDeploymentAspect.java)
===================================================================
---
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointHandlerDeploymentAspect.java
(rev 0)
+++
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointHandlerDeploymentAspect.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -0,0 +1,141 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., 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.wsf.spi.deployment;
+
+//$Id: EndpointHandlerDeployer.java 3828 2007-07-09 16:56:38Z heiko.braun(a)jboss.com $
+
+import java.util.HashMap;
+import java.util.Map;
+
+import org.jboss.wsf.spi.invocation.InvocationHandler;
+import org.jboss.wsf.spi.invocation.RequestHandler;
+import org.jboss.wsf.spi.metadata.j2ee.UnifiedApplicationMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.UnifiedBeanMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.UnifiedMessageDrivenMetaData;
+
+/**
+ * A deployer that assigns the handlers to the Endpoint
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 25-Apr-2007
+ */
+public class EndpointHandlerDeploymentAspect extends DeploymentAspect
+{
+ private String requestHandler;
+ private String lifecycleHandler;
+
+ private Map<String, String> invocationHandlerMap = new HashMap<String,
String>();
+
+ public void setLifecycleHandler(String handler)
+ {
+ this.lifecycleHandler = handler;
+ }
+
+ public void setRequestHandler(String handler)
+ {
+ this.requestHandler = handler;
+ }
+
+ public void setInvocationHandler(Map<String, String> handlers)
+ {
+ this.invocationHandlerMap = handlers;
+ }
+
+ @Override
+ public void create(Deployment dep)
+ {
+ for (Endpoint ep : dep.getService().getEndpoints())
+ {
+ if (requestHandler != null)
+ ep.setRequestHandler(getRequestHandler(dep));
+
+ if (lifecycleHandler != null)
+ ep.setLifecycleHandler(getLifecycleHandler(dep));
+
+ if (invocationHandlerMap != null)
+ {
+ InvocationHandler invocationHandler = getInvocationHandler(ep);
+ if (invocationHandler != null)
+ ep.setInvocationHandler(invocationHandler);
+ }
+ }
+ }
+
+ private RequestHandler getRequestHandler(Deployment dep)
+ {
+ try
+ {
+ Class<?> handlerClass = dep.getClassLoader().loadClass(requestHandler);
+ return (RequestHandler)handlerClass.newInstance();
+ }
+ catch (Exception e)
+ {
+ throw new IllegalStateException("Cannot load request handler: " +
requestHandler);
+ }
+ }
+
+ private LifecycleHandler getLifecycleHandler(Deployment dep)
+ {
+ try
+ {
+ Class<?> handlerClass = dep.getClassLoader().loadClass(lifecycleHandler);
+ return (LifecycleHandler)handlerClass.newInstance();
+ }
+ catch (Exception e)
+ {
+ throw new IllegalStateException("Cannot load lifecycle handler: " +
lifecycleHandler);
+ }
+ }
+
+ private InvocationHandler getInvocationHandler(Endpoint ep)
+ {
+ Deployment dep = ep.getService().getDeployment();
+ String key = dep.getType().toString();
+
+ // Use a special key for MDB endpoints
+ UnifiedApplicationMetaData uapp =
dep.getContext().getAttachment(UnifiedApplicationMetaData.class);
+ if (uapp != null)
+ {
+ UnifiedBeanMetaData bmd = uapp.getBeanByEjbName(ep.getShortName());
+ if (bmd instanceof UnifiedMessageDrivenMetaData)
+ {
+ key = "JAXRPC_MDB21";
+ }
+ }
+
+ InvocationHandler invocationHandler = null;
+ String className = invocationHandlerMap.get(key);
+ if (className != null)
+ {
+ try
+ {
+ Class<?> handlerClass = dep.getClassLoader().loadClass(className);
+ invocationHandler = (InvocationHandler)handlerClass.newInstance();
+ }
+ catch (Exception e)
+ {
+ throw new IllegalStateException("Cannot load invocation handler: "
+ className);
+ }
+ }
+ return invocationHandler;
+ }
+}
\ No newline at end of file
Deleted:
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointLifecycleDeployer.java
===================================================================
---
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointLifecycleDeployer.java 2007-07-13
14:36:56 UTC (rev 3883)
+++
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointLifecycleDeployer.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -1,91 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., 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.wsf.spi.deployment;
-
-//$Id$
-
-
-/**
- * A deployer that that calls the endpoint lifecycle handler
- *
- * @author Thomas.Diesler(a)jboss.org
- * @since 25-Apr-2007
- */
-public class EndpointLifecycleDeployer extends AbstractDeployer
-{
- @Override
- public void create(Deployment dep)
- {
- for (Endpoint ep : dep.getService().getEndpoints())
- {
- getLifecycleHandler(ep, true).create(ep);
- }
- }
-
- @Override
- public void start(Deployment dep)
- {
- for (Endpoint ep : dep.getService().getEndpoints())
- {
- getLifecycleHandler(ep, true).start(ep);
- }
- }
-
- @Override
- public void stop(Deployment dep)
- {
- Service service = dep.getService();
- if (service != null)
- {
- for (Endpoint ep : service.getEndpoints())
- {
- LifecycleHandler lifecycleHandler = getLifecycleHandler(ep, false);
- if (lifecycleHandler != null)
- lifecycleHandler.stop(ep);
- }
- }
- }
-
- @Override
- public void destroy(Deployment dep)
- {
- Service service = dep.getService();
- if (service != null)
- {
- for (Endpoint ep : service.getEndpoints())
- {
- LifecycleHandler lifecycleHandler = getLifecycleHandler(ep, false);
- if (lifecycleHandler != null)
- lifecycleHandler.destroy(ep);
- }
- }
- }
-
- private LifecycleHandler getLifecycleHandler(Endpoint ep, boolean assertHandler)
- {
- LifecycleHandler lifecycleHandler = ep.getLifecycleHandler();
- if (lifecycleHandler == null && assertHandler)
- throw new IllegalStateException("LifecycleHandler not initialised");
-
- return lifecycleHandler;
- }
-}
Copied:
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointLifecycleDeploymentAspect.java
(from rev 3881,
branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointLifecycleDeploymentAspect.java)
===================================================================
---
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointLifecycleDeploymentAspect.java
(rev 0)
+++
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointLifecycleDeploymentAspect.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -0,0 +1,91 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., 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.wsf.spi.deployment;
+
+//$Id: EndpointLifecycleDeployer.java 3146 2007-05-18 22:55:26Z thomas.diesler(a)jboss.com
$
+
+
+/**
+ * A deployer that that calls the endpoint lifecycle handler
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 25-Apr-2007
+ */
+public class EndpointLifecycleDeploymentAspect extends DeploymentAspect
+{
+ @Override
+ public void create(Deployment dep)
+ {
+ for (Endpoint ep : dep.getService().getEndpoints())
+ {
+ getLifecycleHandler(ep, true).create(ep);
+ }
+ }
+
+ @Override
+ public void start(Deployment dep)
+ {
+ for (Endpoint ep : dep.getService().getEndpoints())
+ {
+ getLifecycleHandler(ep, true).start(ep);
+ }
+ }
+
+ @Override
+ public void stop(Deployment dep)
+ {
+ Service service = dep.getService();
+ if (service != null)
+ {
+ for (Endpoint ep : service.getEndpoints())
+ {
+ LifecycleHandler lifecycleHandler = getLifecycleHandler(ep, false);
+ if (lifecycleHandler != null)
+ lifecycleHandler.stop(ep);
+ }
+ }
+ }
+
+ @Override
+ public void destroy(Deployment dep)
+ {
+ Service service = dep.getService();
+ if (service != null)
+ {
+ for (Endpoint ep : service.getEndpoints())
+ {
+ LifecycleHandler lifecycleHandler = getLifecycleHandler(ep, false);
+ if (lifecycleHandler != null)
+ lifecycleHandler.destroy(ep);
+ }
+ }
+ }
+
+ private LifecycleHandler getLifecycleHandler(Endpoint ep, boolean assertHandler)
+ {
+ LifecycleHandler lifecycleHandler = ep.getLifecycleHandler();
+ if (lifecycleHandler == null && assertHandler)
+ throw new IllegalStateException("LifecycleHandler not initialised");
+
+ return lifecycleHandler;
+ }
+}
Deleted:
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointMetricsDeployer.java
===================================================================
---
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointMetricsDeployer.java 2007-07-13
14:36:56 UTC (rev 3883)
+++
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointMetricsDeployer.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -1,51 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., 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.wsf.spi.deployment;
-
-//$Id: EndpointNameDeployer.java 3146 2007-05-18 22:55:26Z thomas.diesler(a)jboss.com $
-
-import org.jboss.wsf.spi.management.EndpointMetrics;
-
-/**
- * A deployer that assigns the metrics to the Endpoint
- *
- * @author Thomas.Diesler(a)jboss.org
- * @since 20-Jun-2007
- */
-public class EndpointMetricsDeployer extends AbstractDeployer
-{
- private EndpointMetrics metrics;
-
- public void setEndpointMetrics(EndpointMetrics metrics)
- {
- this.metrics = metrics;
- }
-
- @Override
- public void create(Deployment dep)
- {
- for (Endpoint ep : dep.getService().getEndpoints())
- {
- ep.setEndpointMetrics(metrics);
- }
- }
-}
\ No newline at end of file
Copied:
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointMetricsDeploymentAspect.java
(from rev 3881,
branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointMetricsDeploymentAspect.java)
===================================================================
---
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointMetricsDeploymentAspect.java
(rev 0)
+++
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointMetricsDeploymentAspect.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -0,0 +1,51 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., 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.wsf.spi.deployment;
+
+//$Id: EndpointNameDeployer.java 3146 2007-05-18 22:55:26Z thomas.diesler(a)jboss.com $
+
+import org.jboss.wsf.spi.management.EndpointMetrics;
+
+/**
+ * A deployer that assigns the metrics to the Endpoint
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 20-Jun-2007
+ */
+public class EndpointMetricsDeploymentAspect extends DeploymentAspect
+{
+ private EndpointMetrics metrics;
+
+ public void setEndpointMetrics(EndpointMetrics metrics)
+ {
+ this.metrics = metrics;
+ }
+
+ @Override
+ public void create(Deployment dep)
+ {
+ for (Endpoint ep : dep.getService().getEndpoints())
+ {
+ ep.setEndpointMetrics(metrics);
+ }
+ }
+}
\ No newline at end of file
Deleted:
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointNameDeployer.java
===================================================================
---
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointNameDeployer.java 2007-07-13
14:36:56 UTC (rev 3883)
+++
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointNameDeployer.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -1,67 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., 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.wsf.spi.deployment;
-
-//$Id$
-
-import org.jboss.wsf.spi.metadata.j2ee.UnifiedApplicationMetaData;
-import org.jboss.wsf.spi.metadata.j2ee.UnifiedBeanMetaData;
-import org.jboss.wsf.spi.metadata.j2ee.UnifiedMessageDrivenMetaData;
-import org.jboss.wsf.spi.utils.ObjectNameFactory;
-
-/**
- * A deployer that assigns the complete name to the Endpoint
- *
- * @author Thomas.Diesler(a)jboss.org
- * @since 25-Apr-2007
- */
-public class EndpointNameDeployer extends AbstractDeployer
-{
- @Override
- public void create(Deployment dep)
- {
- String contextRoot = dep.getService().getContextRoot();
- if (contextRoot.startsWith("/") == false)
- throw new IllegalStateException("Context root expected to start with
leading slash: " + contextRoot);
-
- for (Endpoint ep : dep.getService().getEndpoints())
- {
- StringBuilder name = new StringBuilder(Endpoint.SEPID_DOMAIN + ":");
- name.append(Endpoint.SEPID_PROPERTY_CONTEXT + "=" +
contextRoot.substring(1) + ",");
- name.append(Endpoint.SEPID_PROPERTY_ENDPOINT + "=" +
ep.getShortName());
-
- // Append the JMS destination, for an MDB endpoint
- UnifiedApplicationMetaData uapp =
dep.getContext().getAttachment(UnifiedApplicationMetaData.class);
- if (uapp != null)
- {
- UnifiedBeanMetaData bmd = uapp.getBeanByEjbName(ep.getShortName());
- if (bmd instanceof UnifiedMessageDrivenMetaData)
- {
- String destName =
((UnifiedMessageDrivenMetaData)bmd).getDestinationJndiName();
- name.append(",jms=" + destName);
- }
- }
-
- ep.setName(ObjectNameFactory.create(name.toString()));
- }
- }
-}
\ No newline at end of file
Copied:
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointNameDeploymentAspect.java
(from rev 3881,
branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointNameDeploymentAspect.java)
===================================================================
---
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointNameDeploymentAspect.java
(rev 0)
+++
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointNameDeploymentAspect.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -0,0 +1,67 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., 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.wsf.spi.deployment;
+
+//$Id: EndpointNameDeployer.java 3772 2007-07-01 19:29:13Z thomas.diesler(a)jboss.com $
+
+import org.jboss.wsf.spi.metadata.j2ee.UnifiedApplicationMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.UnifiedBeanMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.UnifiedMessageDrivenMetaData;
+import org.jboss.wsf.spi.utils.ObjectNameFactory;
+
+/**
+ * A deployer that assigns the complete name to the Endpoint
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 25-Apr-2007
+ */
+public class EndpointNameDeploymentAspect extends DeploymentAspect
+{
+ @Override
+ public void create(Deployment dep)
+ {
+ String contextRoot = dep.getService().getContextRoot();
+ if (contextRoot == null || contextRoot.startsWith("/") == false)
+ throw new IllegalStateException("Context root expected to start with
leading slash: " + contextRoot);
+
+ for (Endpoint ep : dep.getService().getEndpoints())
+ {
+ StringBuilder name = new StringBuilder(Endpoint.SEPID_DOMAIN + ":");
+ name.append(Endpoint.SEPID_PROPERTY_CONTEXT + "=" +
contextRoot.substring(1) + ",");
+ name.append(Endpoint.SEPID_PROPERTY_ENDPOINT + "=" +
ep.getShortName());
+
+ // Append the JMS destination, for an MDB endpoint
+ UnifiedApplicationMetaData uapp =
dep.getContext().getAttachment(UnifiedApplicationMetaData.class);
+ if (uapp != null)
+ {
+ UnifiedBeanMetaData bmd = uapp.getBeanByEjbName(ep.getShortName());
+ if (bmd instanceof UnifiedMessageDrivenMetaData)
+ {
+ String destName =
((UnifiedMessageDrivenMetaData)bmd).getDestinationJndiName();
+ name.append(",jms=" + destName);
+ }
+ }
+
+ ep.setName(ObjectNameFactory.create(name.toString()));
+ }
+ }
+}
\ No newline at end of file
Deleted:
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointRegistryDeployer.java
===================================================================
---
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointRegistryDeployer.java 2007-07-13
14:36:56 UTC (rev 3883)
+++
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointRegistryDeployer.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -1,52 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., 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.wsf.spi.deployment;
-
-import org.jboss.wsf.spi.management.EndpointRegistry;
-import org.jboss.wsf.spi.management.EndpointRegistryFactory;
-
-/**
- * A deployer that registers the endpoints
- *
- * @author Thomas.Diesler(a)jboss.com
- * @since 20-Apr-2007
- */
-public class EndpointRegistryDeployer extends AbstractDeployer
-{
- public void create(Deployment dep)
- {
- EndpointRegistry registry = EndpointRegistryFactory.getEndpointRegistry();
- for (Endpoint ep : dep.getService().getEndpoints())
- {
- registry.register(ep);
- }
- }
-
- public void destroy(Deployment dep)
- {
- EndpointRegistry registry = EndpointRegistryFactory.getEndpointRegistry();
- for (Endpoint ep : dep.getService().getEndpoints())
- {
- registry.unregister(ep);
- }
- }
-}
\ No newline at end of file
Copied:
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointRegistryDeploymentAspect.java
(from rev 3881,
branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointRegistryDeploymentAspect.java)
===================================================================
---
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointRegistryDeploymentAspect.java
(rev 0)
+++
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/EndpointRegistryDeploymentAspect.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -0,0 +1,52 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., 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.wsf.spi.deployment;
+
+import org.jboss.wsf.spi.management.EndpointRegistry;
+import org.jboss.wsf.spi.management.EndpointRegistryFactory;
+
+/**
+ * A deployer that registers the endpoints
+ *
+ * @author Thomas.Diesler(a)jboss.com
+ * @since 20-Apr-2007
+ */
+public class EndpointRegistryDeploymentAspect extends DeploymentAspect
+{
+ public void create(Deployment dep)
+ {
+ EndpointRegistry registry = EndpointRegistryFactory.getEndpointRegistry();
+ for (Endpoint ep : dep.getService().getEndpoints())
+ {
+ registry.register(ep);
+ }
+ }
+
+ public void destroy(Deployment dep)
+ {
+ EndpointRegistry registry = EndpointRegistryFactory.getEndpointRegistry();
+ for (Endpoint ep : dep.getService().getEndpoints())
+ {
+ registry.unregister(ep);
+ }
+ }
+}
\ No newline at end of file
Deleted:
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/URLPatternDeployer.java
===================================================================
---
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/URLPatternDeployer.java 2007-07-13
14:36:56 UTC (rev 3883)
+++
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/URLPatternDeployer.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -1,101 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., 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.wsf.spi.deployment;
-
-//$Id$
-
-import org.jboss.wsf.spi.annotation.WebContext;
-import org.jboss.wsf.spi.metadata.j2ee.UnifiedApplicationMetaData;
-import org.jboss.wsf.spi.metadata.j2ee.UnifiedBeanMetaData;
-import org.jboss.wsf.spi.metadata.j2ee.UnifiedEjbPortComponentMetaData;
-import org.jboss.wsf.spi.metadata.j2ee.UnifiedWebMetaData;
-
-/**
- * A deployer that assigns the URLPattern to endpoints.
- *
- * @author Thomas.Diesler(a)jboss.org
- * @since 19-May-2007
- */
-public class URLPatternDeployer extends AbstractDeployer
-{
- @Override
- public void create(Deployment dep)
- {
- for (Endpoint ep : dep.getService().getEndpoints())
- {
- String urlPattern = getExplicitPattern(dep, ep);
- if (urlPattern == null)
- urlPattern = getImplicitPattern(dep, ep);
-
- // Always prefix with '/'
- if (urlPattern.startsWith("/") == false)
- urlPattern = "/" + urlPattern;
-
- ep.setURLPattern(urlPattern);
- }
- }
-
- protected String getExplicitPattern(Deployment dep, Endpoint ep)
- {
- String urlPattern = null;
-
- // #1 For JSE lookup the url-pattern from the servlet mappings
- UnifiedWebMetaData webMetaData =
dep.getContext().getAttachment(UnifiedWebMetaData.class);
- if (webMetaData != null)
- {
- String epName = ep.getShortName();
- urlPattern = webMetaData.getServletMappings().get(epName);
- if (urlPattern == null)
- throw new IllegalStateException("Cannot obtain servlet mapping for:
" + epName);
- }
-
- // #2 Use the explicit urlPattern from port-component/port-component-uri
- UnifiedApplicationMetaData appMetaData =
dep.getContext().getAttachment(UnifiedApplicationMetaData.class);
- if (appMetaData != null && appMetaData.getBeanByEjbName(ep.getShortName())
!= null)
- {
- UnifiedBeanMetaData bmd = appMetaData.getBeanByEjbName(ep.getShortName());
- UnifiedEjbPortComponentMetaData pcmd = bmd.getPortComponent();
- if (pcmd != null)
- {
- urlPattern = pcmd.getPortComponentURI();
- }
- }
-
- // #3 For EJB use @WebContext.urlPattern
- if (urlPattern == null)
- {
- Class beanClass = ep.getTargetBeanClass();
- WebContext anWebContext =
(WebContext)beanClass.getAnnotation(WebContext.class);
- if (anWebContext != null && anWebContext.urlPattern().length() > 0)
- urlPattern = anWebContext.urlPattern();
- }
-
- return urlPattern;
- }
-
- protected String getImplicitPattern(Deployment dep, Endpoint ep)
- {
- // #4 Fallback to the ejb-name
- String urlPattern = ep.getShortName();
- return urlPattern;
- }
-}
\ No newline at end of file
Copied:
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/URLPatternDeploymentAspect.java
(from rev 3881,
branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/URLPatternDeploymentAspect.java)
===================================================================
---
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/URLPatternDeploymentAspect.java
(rev 0)
+++
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/URLPatternDeploymentAspect.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -0,0 +1,101 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., 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.wsf.spi.deployment;
+
+//$Id: URLPatternDeployer.java 3576 2007-06-14 09:23:52Z thomas.diesler(a)jboss.com $
+
+import org.jboss.wsf.spi.annotation.WebContext;
+import org.jboss.wsf.spi.metadata.j2ee.UnifiedApplicationMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.UnifiedBeanMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.UnifiedEjbPortComponentMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.UnifiedWebMetaData;
+
+/**
+ * A deployer that assigns the URLPattern to endpoints.
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 19-May-2007
+ */
+public class URLPatternDeploymentAspect extends DeploymentAspect
+{
+ @Override
+ public void create(Deployment dep)
+ {
+ for (Endpoint ep : dep.getService().getEndpoints())
+ {
+ String urlPattern = getExplicitPattern(dep, ep);
+ if (urlPattern == null)
+ urlPattern = getImplicitPattern(dep, ep);
+
+ // Always prefix with '/'
+ if (urlPattern.startsWith("/") == false)
+ urlPattern = "/" + urlPattern;
+
+ ep.setURLPattern(urlPattern);
+ }
+ }
+
+ protected String getExplicitPattern(Deployment dep, Endpoint ep)
+ {
+ String urlPattern = null;
+
+ // #1 For JSE lookup the url-pattern from the servlet mappings
+ UnifiedWebMetaData webMetaData =
dep.getContext().getAttachment(UnifiedWebMetaData.class);
+ if (webMetaData != null)
+ {
+ String epName = ep.getShortName();
+ urlPattern = webMetaData.getServletMappings().get(epName);
+ if (urlPattern == null)
+ throw new IllegalStateException("Cannot obtain servlet mapping for:
" + epName);
+ }
+
+ // #2 Use the explicit urlPattern from port-component/port-component-uri
+ UnifiedApplicationMetaData appMetaData =
dep.getContext().getAttachment(UnifiedApplicationMetaData.class);
+ if (appMetaData != null && appMetaData.getBeanByEjbName(ep.getShortName())
!= null)
+ {
+ UnifiedBeanMetaData bmd = appMetaData.getBeanByEjbName(ep.getShortName());
+ UnifiedEjbPortComponentMetaData pcmd = bmd.getPortComponent();
+ if (pcmd != null)
+ {
+ urlPattern = pcmd.getPortComponentURI();
+ }
+ }
+
+ // #3 For EJB use @WebContext.urlPattern
+ if (urlPattern == null)
+ {
+ Class beanClass = ep.getTargetBeanClass();
+ WebContext anWebContext =
(WebContext)beanClass.getAnnotation(WebContext.class);
+ if (anWebContext != null && anWebContext.urlPattern().length() > 0)
+ urlPattern = anWebContext.urlPattern();
+ }
+
+ return urlPattern;
+ }
+
+ protected String getImplicitPattern(Deployment dep, Endpoint ep)
+ {
+ // #4 Fallback to the ejb-name
+ String urlPattern = ep.getShortName();
+ return urlPattern;
+ }
+}
\ No newline at end of file
Copied:
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/WebAppDesciptorModifierImpl.java
(from rev 3881,
branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/WebAppDesciptorModifierImpl.java)
===================================================================
---
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/WebAppDesciptorModifierImpl.java
(rev 0)
+++
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/WebAppDesciptorModifierImpl.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -0,0 +1,141 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., 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.wsf.spi.deployment;
+
+import java.util.Iterator;
+
+import org.dom4j.Document;
+import org.dom4j.Element;
+import org.jboss.logging.Logger;
+
+/**
+ * Modifies web.xml for jbossws
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 19-May-2006
+ */
+public class WebAppDesciptorModifierImpl implements WebAppDesciptorModifier
+{
+ // logging support
+ private static Logger log = Logger.getLogger(WebAppDesciptorModifierImpl.class);
+
+ public RewriteResults modifyDescriptor(Deployment dep, Document webXml) throws
ClassNotFoundException
+ {
+ String propKey = "SERVICE_ENDPOINT_SERVLET";
+ String servletClass = (String)dep.getContext().getProperty(propKey);
+ if (servletClass == null)
+ throw new IllegalStateException("Cannot obtain context property: " +
propKey);
+
+ RewriteResults results = new RewriteResults();
+
+ Element root = webXml.getRootElement();
+ for (Iterator it = root.elementIterator("servlet"); it.hasNext();)
+ {
+ Element servlet = (Element)it.next();
+ String linkName = servlet.element("servlet-name").getTextTrim();
+
+ // find the servlet-class
+ Element classElement = servlet.element("servlet-class");
+
+ // JSP
+ if (classElement == null)
+ continue;
+
+ String orgServletClassName = classElement.getTextTrim();
+
+ // Get the servlet class
+ Class orgServletClass = null;
+ try
+ {
+ ClassLoader loader = dep.getClassLoader();
+ orgServletClass = loader.loadClass(orgServletClassName);
+ }
+ catch (ClassNotFoundException ex)
+ {
+ log.warn("Cannot load servlet class: " + orgServletClassName);
+ }
+
+ String targetBeanName = null;
+
+ // Nothing to do if we have an <init-param>
+ if (isAlreadyModified(servlet))
+ {
+ for (Iterator itParam = servlet.elementIterator("init-param");
itParam.hasNext();)
+ {
+ Element elParam = (Element)itParam.next();
+ String paramName = elParam.element("param-name").getTextTrim();
+ String paramValue =
elParam.element("param-value").getTextTrim();
+ if (Endpoint.SEPID_DOMAIN_ENDPOINT.equals(paramName))
+ {
+ targetBeanName = paramValue;
+ }
+ }
+ }
+ else
+ {
+ // Check if it is a real servlet that we can ignore
+ if (orgServletClass != null &&
javax.servlet.Servlet.class.isAssignableFrom(orgServletClass))
+ {
+ log.info("Ignore servlet: " + orgServletClassName);
+ continue;
+ }
+ else if (orgServletClassName.endsWith("Servlet"))
+ {
+ log.info("Ignore <servlet-class> that ends with
'Servlet': " + orgServletClassName);
+ continue;
+ }
+
+ classElement.setText(servletClass);
+
+ // add additional init params
+ if (orgServletClassName.equals(servletClass) == false)
+ {
+ targetBeanName = orgServletClassName;
+ Element paramElement = servlet.addElement("init-param");
+
paramElement.addElement("param-name").addText(Endpoint.SEPID_DOMAIN_ENDPOINT);
+ paramElement.addElement("param-value").addText(targetBeanName);
+ }
+ }
+
+ if (targetBeanName == null)
+ throw new IllegalStateException("Cannot obtain service endpoint bean
for: " + linkName);
+
+ // remember the target bean name
+ results.sepTargetMap.put(linkName, targetBeanName);
+ }
+
+ return results;
+ }
+
+ // Return true if the web.xml is already modified
+ private boolean isAlreadyModified(Element servlet)
+ {
+ for (Iterator it = servlet.elementIterator("init-param"); it.hasNext();)
+ {
+ Element elParam = (Element)it.next();
+ String paramName = elParam.element("param-name").getTextTrim();
+ if (Endpoint.SEPID_DOMAIN_ENDPOINT.equals(paramName))
+ return true;
+ }
+ return false;
+ }
+}
\ No newline at end of file
Deleted:
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/WebAppGeneratorDeployer.java
===================================================================
---
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/WebAppGeneratorDeployer.java 2007-07-13
14:36:56 UTC (rev 3883)
+++
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/WebAppGeneratorDeployer.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -1,272 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., 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.wsf.spi.deployment;
-
-//$Id$
-
-import java.io.File;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.net.URL;
-import java.util.ArrayList;
-
-import org.dom4j.Document;
-import org.dom4j.DocumentHelper;
-import org.dom4j.Element;
-import org.dom4j.io.OutputFormat;
-import org.dom4j.io.XMLWriter;
-import org.jboss.wsf.spi.annotation.WebContext;
-import org.jboss.wsf.spi.management.ServerConfig;
-import org.jboss.wsf.spi.management.ServerConfigFactory;
-import org.jboss.wsf.spi.metadata.j2ee.UnifiedApplicationMetaData;
-import org.jboss.wsf.spi.metadata.j2ee.UnifiedBeanMetaData;
-import org.jboss.wsf.spi.metadata.j2ee.UnifiedEjbPortComponentMetaData;
-
-/**
- * A deployer that generates a webapp for an EJB endpoint
- *
- * @author Thomas.Diesler(a)jboss.org
- * @since 25-Apr-2007
- */
-public class WebAppGeneratorDeployer extends AbstractDeployer
-{
- private SecurityHandler securityHandlerEJB21;
- private SecurityHandler securityHandlerEJB3;
-
- public void setSecurityHandlerEJB21(SecurityHandler handler)
- {
- this.securityHandlerEJB21 = handler;
- }
-
- public void setSecurityHandlerEJB3(SecurityHandler handler)
- {
- this.securityHandlerEJB3 = handler;
- }
-
- @Override
- public void create(Deployment dep)
- {
- UnifiedDeploymentInfo udi =
dep.getContext().getAttachment(UnifiedDeploymentInfo.class);
- if (udi == null)
- throw new IllegalStateException("Cannot obtain unified deployement
info");
-
- if (dep.getType().toString().endsWith("EJB21"))
- {
- udi.webappURL = generatWebDeployment(dep, securityHandlerEJB21);
- }
- else if (dep.getType().toString().endsWith("EJB3"))
- {
- udi.webappURL = generatWebDeployment(dep, securityHandlerEJB3);
- }
- }
-
- private URL generatWebDeployment(Deployment dep, SecurityHandler securityHandler)
- {
- Document webDoc = createWebAppDescriptor(dep, securityHandler);
- Document jbossDoc = createJBossWebAppDescriptor(dep, securityHandler);
-
- File tmpWar = null;
- try
- {
- ServerConfig config = ServerConfigFactory.getInstance().getServerConfig();
- File tmpdir = new File(config.getServerTempDir().getCanonicalPath() +
"/deploy");
-
- UnifiedDeploymentInfo udi =
dep.getContext().getAttachment(UnifiedDeploymentInfo.class);
- String deploymentName = udi.getCanonicalName().replace('/',
'-');
- tmpWar = File.createTempFile(deploymentName, ".war", tmpdir);
- tmpWar.delete();
-
- File webInf = new File(tmpWar, "WEB-INF");
- webInf.mkdirs();
-
- File webXml = new File(webInf, "web.xml");
- FileWriter fw = new FileWriter(webXml);
- OutputFormat format = OutputFormat.createPrettyPrint();
- XMLWriter writer = new XMLWriter(fw, format);
- writer.write(webDoc);
- writer.close();
-
- File jbossWebXml = new File(webInf, "jboss-web.xml");
- fw = new FileWriter(jbossWebXml);
- writer = new XMLWriter(fw, format);
- writer.write(jbossDoc);
- writer.close();
-
- return tmpWar.toURL();
- }
- catch (IOException e)
- {
- throw new WSDeploymentException("Failed to create webservice.war",
e);
- }
- }
-
- private Document createWebAppDescriptor(Deployment dep, SecurityHandler
securityHandler)
- {
- UnifiedDeploymentInfo udi =
dep.getContext().getAttachment(UnifiedDeploymentInfo.class);
-
- Document document = DocumentHelper.createDocument();
- Element webApp = document.addElement("web-app");
-
- /*
- <servlet>
- <servlet-name>
- <servlet-class>
- </servlet>
- */
- for (Endpoint ep : dep.getService().getEndpoints())
- {
- Element servlet = webApp.addElement("servlet");
- servlet.addElement("servlet-name").addText(ep.getShortName());
- servlet.addElement("servlet-class").addText(ep.getTargetBeanName());
- }
-
- /*
- <servlet-mapping>
- <servlet-name>
- <url-pattern>
- </servlet-mapping>
- */
- ArrayList urlPatters = new ArrayList();
- for (Endpoint ep : dep.getService().getEndpoints())
- {
- Element servletMapping = webApp.addElement("servlet-mapping");
- servletMapping.addElement("servlet-name").addText(ep.getShortName());
- servletMapping.addElement("url-pattern").addText(ep.getURLPattern());
- }
-
- String authMethod = null;
-
- // Add web-app/security-constraint for each port component
- for (Endpoint ep : dep.getService().getEndpoints())
- {
- String ejbName = ep.getShortName();
-
- Boolean secureWSDLAccess = null;
- String transportGuarantee = null;
- String beanAuthMethod = null;
-
- WebContext anWebContext =
(WebContext)ep.getTargetBeanClass().getAnnotation(WebContext.class);
- if(anWebContext != null)
- {
- if (anWebContext.authMethod().length() > 0)
- beanAuthMethod = anWebContext.authMethod();
- if (anWebContext.transportGuarantee().length() > 0)
- transportGuarantee = anWebContext.transportGuarantee();
- if (anWebContext.secureWSDLAccess())
- secureWSDLAccess = anWebContext.secureWSDLAccess();
- }
-
- UnifiedApplicationMetaData appMetaData =
dep.getContext().getAttachment(UnifiedApplicationMetaData.class);
- if (appMetaData != null && appMetaData.getBeanByEjbName(ejbName) !=
null)
- {
- UnifiedBeanMetaData bmd = appMetaData.getBeanByEjbName(ejbName);
- UnifiedEjbPortComponentMetaData pc = bmd.getPortComponent();
- if (pc != null)
- {
- beanAuthMethod = pc.getAuthMethod();
- transportGuarantee = pc.getTransportGuarantee();
- secureWSDLAccess = pc.getSecureWSDLAccess();
- }
- }
-
- if (beanAuthMethod != null || transportGuarantee != null)
- {
- /*
- <security-constraint>
- <web-resource-collection>
- <web-resource-name>TestUnAuthPort</web-resource-name>
- <url-pattern>/HSTestRoot/TestUnAuth/*</url-pattern>
- </web-resource-collection>
- <auth-constraint>
- <role-name>*</role-name>
- </auth-constraint>
- <user-data-constraint>
- <transport-guarantee>NONE</transport-guarantee>
- </user-data-constraint>
- </security-constraint>
- */
- Element securityConstraint =
webApp.addElement("security-constraint");
- Element wrc =
securityConstraint.addElement("web-resource-collection");
- wrc.addElement("web-resource-name").addText(ejbName);
- wrc.addElement("url-pattern").addText(ep.getURLPattern());
- if (Boolean.TRUE.equals(secureWSDLAccess))
- {
- wrc.addElement("http-method").addText("GET");
- }
- wrc.addElement("http-method").addText("POST");
-
- // Optional auth-constraint
- if (beanAuthMethod != null)
- {
- // Only the first auth-method gives the war login-config/auth-method
- if (authMethod == null)
- authMethod = beanAuthMethod;
-
- Element authConstraint =
securityConstraint.addElement("auth-constraint").addElement("role-name").addText("*");
- }
- // Optional user-data-constraint
- if (transportGuarantee != null)
- {
- Element userData =
securityConstraint.addElement("user-data-constraint");
-
userData.addElement("transport-guarantee").addText(transportGuarantee);
- }
- }
- }
-
- // Optional login-config/auth-method
- if (authMethod != null)
- {
- Element loginConfig = webApp.addElement("login-config");
- loginConfig.addElement("auth-method").addText(authMethod);
-
loginConfig.addElement("realm-name").addText("EJBServiceEndpointServlet
Realm");
-
- securityHandler.addSecurityRoles(webApp, dep);
- }
-
- return document;
- }
-
- private Document createJBossWebAppDescriptor(Deployment dep, SecurityHandler
securityHandler)
- {
- Document document = DocumentHelper.createDocument();
-
- /* Create a jboss-web
- <jboss-web>
- <security-domain>java:/jaas/cts</security-domain>
- <context-root>/ws/ejbN/</context-root>
- <virtual-host>some.domain.com</virtual-host>
- </jboss-web>
- */
- Element jbossWeb = document.addElement("jboss-web");
-
- securityHandler.addSecurityDomain(jbossWeb, dep);
-
- // Get the context root for this deployment
- String contextRoot = dep.getService().getContextRoot();
- if (contextRoot == null)
- throw new WSDeploymentException("Cannot obtain context root");
-
- jbossWeb.addElement("context-root").addText(contextRoot);
-
- return document;
- }
-}
\ No newline at end of file
Copied:
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/WebAppGeneratorDeploymentAspect.java
(from rev 3881,
branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/WebAppGeneratorDeploymentAspect.java)
===================================================================
---
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/WebAppGeneratorDeploymentAspect.java
(rev 0)
+++
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/WebAppGeneratorDeploymentAspect.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -0,0 +1,272 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., 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.wsf.spi.deployment;
+
+//$Id: WebAppGeneratorDeployer.java 3772 2007-07-01 19:29:13Z thomas.diesler(a)jboss.com $
+
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.net.URL;
+import java.util.ArrayList;
+
+import org.dom4j.Document;
+import org.dom4j.DocumentHelper;
+import org.dom4j.Element;
+import org.dom4j.io.OutputFormat;
+import org.dom4j.io.XMLWriter;
+import org.jboss.wsf.spi.annotation.WebContext;
+import org.jboss.wsf.spi.management.ServerConfig;
+import org.jboss.wsf.spi.management.ServerConfigFactory;
+import org.jboss.wsf.spi.metadata.j2ee.UnifiedApplicationMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.UnifiedBeanMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.UnifiedEjbPortComponentMetaData;
+
+/**
+ * A deployer that generates a webapp for an EJB endpoint
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 25-Apr-2007
+ */
+public class WebAppGeneratorDeploymentAspect extends DeploymentAspect
+{
+ private SecurityHandler securityHandlerEJB21;
+ private SecurityHandler securityHandlerEJB3;
+
+ public void setSecurityHandlerEJB21(SecurityHandler handler)
+ {
+ this.securityHandlerEJB21 = handler;
+ }
+
+ public void setSecurityHandlerEJB3(SecurityHandler handler)
+ {
+ this.securityHandlerEJB3 = handler;
+ }
+
+ @Override
+ public void create(Deployment dep)
+ {
+ UnifiedDeploymentInfo udi =
dep.getContext().getAttachment(UnifiedDeploymentInfo.class);
+ if (udi == null)
+ throw new IllegalStateException("Cannot obtain unified deployement
info");
+
+ if (dep.getType().toString().endsWith("EJB21"))
+ {
+ udi.webappURL = generatWebDeployment(dep, securityHandlerEJB21);
+ }
+ else if (dep.getType().toString().endsWith("EJB3"))
+ {
+ udi.webappURL = generatWebDeployment(dep, securityHandlerEJB3);
+ }
+ }
+
+ private URL generatWebDeployment(Deployment dep, SecurityHandler securityHandler)
+ {
+ Document webDoc = createWebAppDescriptor(dep, securityHandler);
+ Document jbossDoc = createJBossWebAppDescriptor(dep, securityHandler);
+
+ File tmpWar = null;
+ try
+ {
+ ServerConfig config = ServerConfigFactory.getInstance().getServerConfig();
+ File tmpdir = new File(config.getServerTempDir().getCanonicalPath() +
"/deploy");
+
+ UnifiedDeploymentInfo udi =
dep.getContext().getAttachment(UnifiedDeploymentInfo.class);
+ String deploymentName = udi.getCanonicalName().replace('/',
'-');
+ tmpWar = File.createTempFile(deploymentName, ".war", tmpdir);
+ tmpWar.delete();
+
+ File webInf = new File(tmpWar, "WEB-INF");
+ webInf.mkdirs();
+
+ File webXml = new File(webInf, "web.xml");
+ FileWriter fw = new FileWriter(webXml);
+ OutputFormat format = OutputFormat.createPrettyPrint();
+ XMLWriter writer = new XMLWriter(fw, format);
+ writer.write(webDoc);
+ writer.close();
+
+ File jbossWebXml = new File(webInf, "jboss-web.xml");
+ fw = new FileWriter(jbossWebXml);
+ writer = new XMLWriter(fw, format);
+ writer.write(jbossDoc);
+ writer.close();
+
+ return tmpWar.toURL();
+ }
+ catch (IOException e)
+ {
+ throw new WSDeploymentException("Failed to create webservice.war",
e);
+ }
+ }
+
+ private Document createWebAppDescriptor(Deployment dep, SecurityHandler
securityHandler)
+ {
+ UnifiedDeploymentInfo udi =
dep.getContext().getAttachment(UnifiedDeploymentInfo.class);
+
+ Document document = DocumentHelper.createDocument();
+ Element webApp = document.addElement("web-app");
+
+ /*
+ <servlet>
+ <servlet-name>
+ <servlet-class>
+ </servlet>
+ */
+ for (Endpoint ep : dep.getService().getEndpoints())
+ {
+ Element servlet = webApp.addElement("servlet");
+ servlet.addElement("servlet-name").addText(ep.getShortName());
+ servlet.addElement("servlet-class").addText(ep.getTargetBeanName());
+ }
+
+ /*
+ <servlet-mapping>
+ <servlet-name>
+ <url-pattern>
+ </servlet-mapping>
+ */
+ ArrayList urlPatters = new ArrayList();
+ for (Endpoint ep : dep.getService().getEndpoints())
+ {
+ Element servletMapping = webApp.addElement("servlet-mapping");
+ servletMapping.addElement("servlet-name").addText(ep.getShortName());
+ servletMapping.addElement("url-pattern").addText(ep.getURLPattern());
+ }
+
+ String authMethod = null;
+
+ // Add web-app/security-constraint for each port component
+ for (Endpoint ep : dep.getService().getEndpoints())
+ {
+ String ejbName = ep.getShortName();
+
+ Boolean secureWSDLAccess = null;
+ String transportGuarantee = null;
+ String beanAuthMethod = null;
+
+ WebContext anWebContext =
(WebContext)ep.getTargetBeanClass().getAnnotation(WebContext.class);
+ if(anWebContext != null)
+ {
+ if (anWebContext.authMethod().length() > 0)
+ beanAuthMethod = anWebContext.authMethod();
+ if (anWebContext.transportGuarantee().length() > 0)
+ transportGuarantee = anWebContext.transportGuarantee();
+ if (anWebContext.secureWSDLAccess())
+ secureWSDLAccess = anWebContext.secureWSDLAccess();
+ }
+
+ UnifiedApplicationMetaData appMetaData =
dep.getContext().getAttachment(UnifiedApplicationMetaData.class);
+ if (appMetaData != null && appMetaData.getBeanByEjbName(ejbName) !=
null)
+ {
+ UnifiedBeanMetaData bmd = appMetaData.getBeanByEjbName(ejbName);
+ UnifiedEjbPortComponentMetaData pc = bmd.getPortComponent();
+ if (pc != null)
+ {
+ beanAuthMethod = pc.getAuthMethod();
+ transportGuarantee = pc.getTransportGuarantee();
+ secureWSDLAccess = pc.getSecureWSDLAccess();
+ }
+ }
+
+ if (beanAuthMethod != null || transportGuarantee != null)
+ {
+ /*
+ <security-constraint>
+ <web-resource-collection>
+ <web-resource-name>TestUnAuthPort</web-resource-name>
+ <url-pattern>/HSTestRoot/TestUnAuth/*</url-pattern>
+ </web-resource-collection>
+ <auth-constraint>
+ <role-name>*</role-name>
+ </auth-constraint>
+ <user-data-constraint>
+ <transport-guarantee>NONE</transport-guarantee>
+ </user-data-constraint>
+ </security-constraint>
+ */
+ Element securityConstraint =
webApp.addElement("security-constraint");
+ Element wrc =
securityConstraint.addElement("web-resource-collection");
+ wrc.addElement("web-resource-name").addText(ejbName);
+ wrc.addElement("url-pattern").addText(ep.getURLPattern());
+ if (Boolean.TRUE.equals(secureWSDLAccess))
+ {
+ wrc.addElement("http-method").addText("GET");
+ }
+ wrc.addElement("http-method").addText("POST");
+
+ // Optional auth-constraint
+ if (beanAuthMethod != null)
+ {
+ // Only the first auth-method gives the war login-config/auth-method
+ if (authMethod == null)
+ authMethod = beanAuthMethod;
+
+ Element authConstraint =
securityConstraint.addElement("auth-constraint").addElement("role-name").addText("*");
+ }
+ // Optional user-data-constraint
+ if (transportGuarantee != null)
+ {
+ Element userData =
securityConstraint.addElement("user-data-constraint");
+
userData.addElement("transport-guarantee").addText(transportGuarantee);
+ }
+ }
+ }
+
+ // Optional login-config/auth-method
+ if (authMethod != null)
+ {
+ Element loginConfig = webApp.addElement("login-config");
+ loginConfig.addElement("auth-method").addText(authMethod);
+
loginConfig.addElement("realm-name").addText("EJBServiceEndpointServlet
Realm");
+
+ securityHandler.addSecurityRoles(webApp, dep);
+ }
+
+ return document;
+ }
+
+ private Document createJBossWebAppDescriptor(Deployment dep, SecurityHandler
securityHandler)
+ {
+ Document document = DocumentHelper.createDocument();
+
+ /* Create a jboss-web
+ <jboss-web>
+ <security-domain>java:/jaas/cts</security-domain>
+ <context-root>/ws/ejbN/</context-root>
+ <virtual-host>some.domain.com</virtual-host>
+ </jboss-web>
+ */
+ Element jbossWeb = document.addElement("jboss-web");
+
+ securityHandler.addSecurityDomain(jbossWeb, dep);
+
+ // Get the context root for this deployment
+ String contextRoot = dep.getService().getContextRoot();
+ if (contextRoot == null)
+ throw new WSDeploymentException("Cannot obtain context root");
+
+ jbossWeb.addElement("context-root").addText(contextRoot);
+
+ return document;
+ }
+}
\ No newline at end of file
Modified:
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/WebXMLRewriter.java
===================================================================
---
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/WebXMLRewriter.java 2007-07-13
14:36:56 UTC (rev 3883)
+++
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/WebXMLRewriter.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -59,6 +59,8 @@
public RewriteResults rewriteWebXml(Deployment dep)
{
UnifiedDeploymentInfo udi =
dep.getContext().getAttachment(UnifiedDeploymentInfo.class);
+ if (udi == null)
+ throw new IllegalStateException("Cannot obtain unified deployment
info");
URL warURL = udi.webappURL;
File warFile = new File(warURL.getFile());
Deleted:
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/AbstractInvocationHandler.java
===================================================================
---
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/AbstractInvocationHandler.java 2007-07-13
14:36:56 UTC (rev 3883)
+++
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/AbstractInvocationHandler.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -1,99 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., 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.wsf.spi.invocation;
-
-// $Id$
-
-import java.lang.reflect.Method;
-
-import org.jboss.logging.Logger;
-import org.jboss.wsf.spi.deployment.Endpoint;
-import org.jboss.wsf.spi.utils.JavaUtils;
-
-/**
- * Handles invocations on endpoints.
- *
- * @author Thomas.Diesler(a)jboss.org
- * @since 25-Apr-2007
- */
-public abstract class AbstractInvocationHandler extends BasicInvocationHandler
-{
- // provide logging
- private static final Logger log = Logger.getLogger(AbstractInvocationHandler.class);
-
- protected InvocationExceptionHandler exceptionHandler;
-
- protected Method getImplMethod(Class implClass, Method seiMethod) throws
ClassNotFoundException, NoSuchMethodException
- {
- String methodName = seiMethod.getName();
- Class[] paramTypes = seiMethod.getParameterTypes();
- for (int i = 0; i < paramTypes.length; i++)
- {
- Class paramType = paramTypes[i];
- if (JavaUtils.isPrimitive(paramType) == false)
- {
- String paramTypeName = paramType.getName();
- paramType = JavaUtils.loadJavaType(paramTypeName);
- paramTypes[i] = paramType;
- }
- }
-
- Method implMethod = implClass.getMethod(methodName, paramTypes);
- return implMethod;
- }
-
- protected final void handleInvocationException(Throwable th) throws Exception
- {
- //delegate to invocation exception handler
- exceptionHandler.handleInvocationException(th);
- }
-
- public void create(Endpoint ep)
- {
- log.debug("Create: " + ep.getName());
- }
-
- public void start(Endpoint ep)
- {
- log.debug("Start: " + ep.getName());
- }
-
- public void stop(Endpoint ep)
- {
- log.debug("Stop: " + ep.getName());
- }
-
- public void destroy(Endpoint ep)
- {
- log.debug("Destroy: " + ep.getName());
- }
-
- public InvocationExceptionHandler getExceptionHandler()
- {
- return exceptionHandler;
- }
-
- public void setExceptionHandler(InvocationExceptionHandler exceptionHandler)
- {
- this.exceptionHandler = exceptionHandler;
- }
-}
Deleted:
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/BasicInvocationExceptionHandler.java
===================================================================
---
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/BasicInvocationExceptionHandler.java 2007-07-13
14:36:56 UTC (rev 3883)
+++
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/BasicInvocationExceptionHandler.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -1,64 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., 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.wsf.spi.invocation;
-
-import java.lang.reflect.UndeclaredThrowableException;
-
-import javax.management.MBeanException;
-
-/**
- * A basic invocation exception handler that simply rethrows Throwable as Exception
- *
- * @author Alessio Soldano, <alessio.soldano(a)javalinux.it>
- * @since 17-Jun-2007
- *
- */
-public class BasicInvocationExceptionHandler implements InvocationExceptionHandler
-{
-
- public void handleInvocationException(Throwable th) throws Exception
- {
- if (th instanceof MBeanException)
- {
- throw ((MBeanException)th).getTargetException();
- }
-
- handleInvocationThrowable(th);
- }
-
- protected void handleInvocationThrowable(Throwable th) throws Exception
- {
- if (th instanceof Exception)
- {
- throw (Exception)th;
- }
- else if (th instanceof Error)
- {
- throw (Error)th;
- }
- else
- {
- throw new UndeclaredThrowableException(th);
- }
- }
-
-}
Deleted:
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/BasicInvocationHandler.java
===================================================================
---
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/BasicInvocationHandler.java 2007-07-13
14:36:56 UTC (rev 3883)
+++
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/BasicInvocationHandler.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -1,57 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., 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.wsf.spi.invocation;
-
-//$Id$
-
-import org.jboss.wsf.spi.deployment.Endpoint;
-
-/**
- * A basic endpoint invocation handler.
- *
- * @author Thomas.Diesler(a)jboss.com
- * @since 20-Apr-2007
- */
-public abstract class BasicInvocationHandler implements InvocationHandler
-{
- public Invocation createInvocation()
- {
- return new BasicEndpointInvocation();
- }
-
- public void create(Endpoint ep)
- {
- }
-
- public void start(Endpoint ep)
- {
- }
-
- public void stop(Endpoint ep)
- {
- }
-
- public void destroy(Endpoint ep)
- {
- }
-
-}
Copied:
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/BasicInvocationHandler.java
(from rev 3881,
branches/tdiesler/trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/BasicInvocationHandler.java)
===================================================================
---
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/BasicInvocationHandler.java
(rev 0)
+++
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/BasicInvocationHandler.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -0,0 +1,117 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., 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.wsf.spi.invocation;
+
+// $Id$
+
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.lang.reflect.UndeclaredThrowableException;
+
+import javax.management.MBeanException;
+
+import org.jboss.logging.Logger;
+import org.jboss.wsf.spi.deployment.Endpoint;
+import org.jboss.wsf.spi.utils.JavaUtils;
+
+/**
+ * Handles invocations on endpoints.
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 25-Apr-2007
+ */
+public abstract class BasicInvocationHandler implements InvocationHandler
+{
+ // provide logging
+ private static final Logger log = Logger.getLogger(BasicInvocationHandler.class);
+
+ public Invocation createInvocation()
+ {
+ return new BasicEndpointInvocation();
+ }
+
+ protected Method getImplMethod(Class implClass, Method seiMethod) throws
ClassNotFoundException, NoSuchMethodException
+ {
+ String methodName = seiMethod.getName();
+ Class[] paramTypes = seiMethod.getParameterTypes();
+ for (int i = 0; i < paramTypes.length; i++)
+ {
+ Class paramType = paramTypes[i];
+ if (JavaUtils.isPrimitive(paramType) == false)
+ {
+ String paramTypeName = paramType.getName();
+ paramType = JavaUtils.loadJavaType(paramTypeName);
+ paramTypes[i] = paramType;
+ }
+ }
+
+ Method implMethod = implClass.getMethod(methodName, paramTypes);
+ return implMethod;
+ }
+
+ public void create(Endpoint ep)
+ {
+ log.debug("Create: " + ep.getName());
+ }
+
+ public void start(Endpoint ep)
+ {
+ log.debug("Start: " + ep.getName());
+ }
+
+ public void stop(Endpoint ep)
+ {
+ log.debug("Stop: " + ep.getName());
+ }
+
+ public void destroy(Endpoint ep)
+ {
+ log.debug("Destroy: " + ep.getName());
+ }
+
+ protected void handleInvocationException(Throwable th) throws Exception
+ {
+ if (th instanceof MBeanException)
+ {
+ throw ((MBeanException)th).getTargetException();
+ }
+
+ if (th instanceof InvocationTargetException)
+ {
+ // Unwrap the throwable raised by the service endpoint implementation
+ Throwable targetEx = ((InvocationTargetException)th).getTargetException();
+ handleInvocationException(targetEx);
+ }
+
+ if (th instanceof Exception)
+ {
+ throw (Exception)th;
+ }
+
+ if (th instanceof Error)
+ {
+ throw (Error)th;
+ }
+
+ throw new UndeclaredThrowableException(th);
+ }
+}
Deleted:
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/InvocationExceptionHandler.java
===================================================================
---
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/InvocationExceptionHandler.java 2007-07-13
14:36:56 UTC (rev 3883)
+++
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/InvocationExceptionHandler.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -1,35 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., 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.wsf.spi.invocation;
-
-/**
- * A general invocation exception handler
- *
- * @author Alessio Soldano, <alessio.soldano(a)javalinux.it>
- * @since 17-Jun-2007
- *
- */
-public interface InvocationExceptionHandler
-{
- public void handleInvocationException(Throwable th) throws Exception;
-
-}
Modified:
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/InvocationHandler.java
===================================================================
---
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/InvocationHandler.java 2007-07-13
14:36:56 UTC (rev 3883)
+++
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/InvocationHandler.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -50,7 +50,4 @@
/** Destroy the invocation handler */
void destroy(Endpoint ep);
-
- /** Set the handler to be used to deal with invocation exceptions **/
- void setExceptionHandler(InvocationExceptionHandler exceptionHandler);
}
Modified:
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/InvocationHandlerJSE.java
===================================================================
---
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/InvocationHandlerJSE.java 2007-07-13
14:36:56 UTC (rev 3883)
+++
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/InvocationHandlerJSE.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -35,7 +35,7 @@
* @author Thomas.Diesler(a)jboss.org
* @since 25-Apr-2007
*/
-public class InvocationHandlerJSE extends AbstractInvocationHandler
+public class InvocationHandlerJSE extends BasicInvocationHandler
{
protected Object getTargetBean(Endpoint ep, Invocation epInv)
{
Deleted:
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/UnwrapInvocationExceptionHandler.java
===================================================================
---
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/UnwrapInvocationExceptionHandler.java 2007-07-13
14:36:56 UTC (rev 3883)
+++
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/invocation/UnwrapInvocationExceptionHandler.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -1,55 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., 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.wsf.spi.invocation;
-
-import java.lang.reflect.InvocationTargetException;
-
-import javax.management.MBeanException;
-
-/**
- * An invocation exception handler that unwraps InvocationExceptions
- *
- * @author Alessio Soldano, <alessio.soldano(a)javalinux.it>
- * @since 17-Jun-2007
- *
- */
-public class UnwrapInvocationExceptionHandler extends BasicInvocationExceptionHandler
-{
-
- public void handleInvocationException(Throwable th) throws Exception
- {
- if (th instanceof InvocationTargetException)
- {
- // unwrap the throwable raised by the service endpoint implementation
- Throwable targetEx = ((InvocationTargetException)th).getTargetException();
- handleInvocationThrowable(targetEx);
- }
-
- if (th instanceof MBeanException)
- {
- throw ((MBeanException)th).getTargetException();
- }
-
- handleInvocationThrowable(th);
- }
-
-}
Deleted:
trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/SunJaxwsDeployer.java
===================================================================
---
trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/SunJaxwsDeployer.java 2007-07-13
14:36:56 UTC (rev 3883)
+++
trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/SunJaxwsDeployer.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -1,80 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., 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.wsf.stack.sunri;
-
-//$Id$
-
-import javax.xml.ws.BindingType;
-import javax.xml.ws.soap.SOAPBinding;
-
-import org.jboss.wsf.spi.deployment.AbstractDeployer;
-import org.jboss.wsf.spi.deployment.Deployment;
-import org.jboss.wsf.spi.deployment.Endpoint;
-import org.jboss.wsf.stack.sunri.metadata.sunjaxws.DDEndpoint;
-import org.jboss.wsf.stack.sunri.metadata.sunjaxws.DDEndpoints;
-
-/**
- * A deployer that generates sun-jaxws.xml
- *
- * @author Thomas.Diesler(a)jboss.org
- * @since 10-May-2007
- */
-public class SunJaxwsDeployer extends AbstractDeployer
-{
- @Override
- public void create(Deployment dep)
- {
- DDEndpoints dd = new DDEndpoints();
- for (Endpoint ep : dep.getService().getEndpoints())
- {
- String epName = ep.getShortName();
- String targetBean = ep.getTargetBeanName();
- String urlPattern = ep.getURLPattern();
-
- DDEndpoint ddep = new DDEndpoint(epName, targetBean, urlPattern);
-
- Class beanClass = ep.getTargetBeanClass();
- BindingType anBindingType =
(BindingType)beanClass.getAnnotation(BindingType.class);
- if (anBindingType != null && anBindingType.value().length() > 0)
- {
- String binding = anBindingType.value();
- ddep.setBinding(binding);
- if (binding.equals(SOAPBinding.SOAP11HTTP_MTOM_BINDING) ||
binding.equals(SOAPBinding.SOAP12HTTP_MTOM_BINDING))
- ddep.setEnableMTOM(true);
- }
-
- log.info("Add " + ddep);
- dd.addEndpoint(ddep);
- }
- dep.getContext().addAttachment(DDEndpoints.class, dd);
- }
-
- @Override
- public void destroy(Deployment dep)
- {
- DDEndpoints dd = dep.getContext().getAttachment(DDEndpoints.class);
- if (dd != null)
- {
- dd.destroyFileURL();
- }
- }
-}
\ No newline at end of file
Copied:
trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/SunJaxwsDeploymentAspect.java
(from rev 3881,
branches/tdiesler/trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/SunJaxwsDeploymentAspect.java)
===================================================================
---
trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/SunJaxwsDeploymentAspect.java
(rev 0)
+++
trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/SunJaxwsDeploymentAspect.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -0,0 +1,80 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., 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.wsf.stack.sunri;
+
+//$Id: SunJaxwsDeployer.java 3802 2007-07-05 16:44:32Z thomas.diesler(a)jboss.com $
+
+import javax.xml.ws.BindingType;
+import javax.xml.ws.soap.SOAPBinding;
+
+import org.jboss.wsf.spi.deployment.DeploymentAspect;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.Endpoint;
+import org.jboss.wsf.stack.sunri.metadata.sunjaxws.DDEndpoint;
+import org.jboss.wsf.stack.sunri.metadata.sunjaxws.DDEndpoints;
+
+/**
+ * A deployer that generates sun-jaxws.xml
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 10-May-2007
+ */
+public class SunJaxwsDeploymentAspect extends DeploymentAspect
+{
+ @Override
+ public void create(Deployment dep)
+ {
+ DDEndpoints dd = new DDEndpoints();
+ for (Endpoint ep : dep.getService().getEndpoints())
+ {
+ String epName = ep.getShortName();
+ String targetBean = ep.getTargetBeanName();
+ String urlPattern = ep.getURLPattern();
+
+ DDEndpoint ddep = new DDEndpoint(epName, targetBean, urlPattern);
+
+ Class beanClass = ep.getTargetBeanClass();
+ BindingType anBindingType =
(BindingType)beanClass.getAnnotation(BindingType.class);
+ if (anBindingType != null && anBindingType.value().length() > 0)
+ {
+ String binding = anBindingType.value();
+ ddep.setBinding(binding);
+ if (binding.equals(SOAPBinding.SOAP11HTTP_MTOM_BINDING) ||
binding.equals(SOAPBinding.SOAP12HTTP_MTOM_BINDING))
+ ddep.setEnableMTOM(true);
+ }
+
+ log.info("Add " + ddep);
+ dd.addEndpoint(ddep);
+ }
+ dep.getContext().addAttachment(DDEndpoints.class, dd);
+ }
+
+ @Override
+ public void destroy(Deployment dep)
+ {
+ DDEndpoints dd = dep.getContext().getAttachment(DDEndpoints.class);
+ if (dd != null)
+ {
+ dd.destroyFileURL();
+ }
+ }
+}
\ No newline at end of file
Deleted:
trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri50/ModifyWebMetaDataDeployer.java
===================================================================
---
trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri50/ModifyWebMetaDataDeployer.java 2007-07-13
14:36:56 UTC (rev 3883)
+++
trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri50/ModifyWebMetaDataDeployer.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -1,90 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., 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.wsf.stack.sunri50;
-
-//$Id$
-
-import org.jboss.metadata.Listener;
-import org.jboss.metadata.WebMetaData;
-import org.jboss.metadata.web.ParamValue;
-import org.jboss.metadata.web.ParamValue.ParamType;
-import org.jboss.wsf.spi.deployment.Deployment;
-import org.jboss.wsf.stack.sunri.WSServletContextListenerJBWS;
-import org.jboss.wsf.stack.sunri.metadata.sunjaxws.DDEndpoints;
-
-/**
- * A deployer that modifies the web.xml meta data
- *
- * @author Thomas.Diesler(a)jboss.org
- * @since 25-Apr-2007
- */
-public class ModifyWebMetaDataDeployer extends
org.jboss.wsf.container.jboss50.ModifyWebMetaDataDeployer
-{
- private String listenerClass;
-
- public String getListenerClass()
- {
- return listenerClass;
- }
-
- public void setListenerClass(String listenerClass)
- {
- this.listenerClass = listenerClass;
- }
-
- @Override
- public void create(Deployment dep)
- {
- super.create(dep);
-
- WebMetaData webMetaData = dep.getContext().getAttachment(WebMetaData.class);
- if (webMetaData != null)
- {
- Listener listener = new Listener();
- listener.setListenerClass(listenerClass);
- webMetaData.addListener(listener);
-
- DDEndpoints ddSunJaxws = dep.getContext().getAttachment(DDEndpoints.class);
- if (ddSunJaxws == null)
- throw new IllegalStateException("Cannot obtain sun-jaxws meta
data");
-
- // Add the path to sun-jaxws.xml
- ParamValue ctxParam = new ParamValue();
- ctxParam.setType(ParamType.CONTEXT_PARAM);
- ctxParam.setName(WSServletContextListenerJBWS.PARAM_SUN_JAXWS_URL);
- ctxParam.setValue(ddSunJaxws.createFileURL().toExternalForm());
- webMetaData.addContextParam(ctxParam);
- }
- }
-
- @Override
- public void destroy(Deployment dep)
- {
- super.destroy(dep);
-
- DDEndpoints ddSunJaxws = dep.getContext().getAttachment(DDEndpoints.class);
- if (ddSunJaxws != null)
- {
- ddSunJaxws.destroyFileURL();
- }
- }
-}
\ No newline at end of file
Copied:
trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri50/ModifyWebMetaDataDeploymentAspect.java
(from rev 3881,
branches/tdiesler/trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri50/ModifyWebMetaDataDeploymentAspect.java)
===================================================================
---
trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri50/ModifyWebMetaDataDeploymentAspect.java
(rev 0)
+++
trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri50/ModifyWebMetaDataDeploymentAspect.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -0,0 +1,90 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., 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.wsf.stack.sunri50;
+
+//$Id: ModifyWebMetaDataDeployer.java 3258 2007-05-25 15:27:43Z thomas.diesler(a)jboss.com
$
+
+import org.jboss.metadata.Listener;
+import org.jboss.metadata.WebMetaData;
+import org.jboss.metadata.web.ParamValue;
+import org.jboss.metadata.web.ParamValue.ParamType;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.stack.sunri.WSServletContextListenerJBWS;
+import org.jboss.wsf.stack.sunri.metadata.sunjaxws.DDEndpoints;
+
+/**
+ * A deployer that modifies the web.xml meta data
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 25-Apr-2007
+ */
+public class ModifyWebMetaDataDeploymentAspect extends
org.jboss.wsf.container.jboss50.ModifyWebMetaDataDeploymentAspect
+{
+ private String listenerClass;
+
+ public String getListenerClass()
+ {
+ return listenerClass;
+ }
+
+ public void setListenerClass(String listenerClass)
+ {
+ this.listenerClass = listenerClass;
+ }
+
+ @Override
+ public void create(Deployment dep)
+ {
+ super.create(dep);
+
+ WebMetaData webMetaData = dep.getContext().getAttachment(WebMetaData.class);
+ if (webMetaData != null)
+ {
+ Listener listener = new Listener();
+ listener.setListenerClass(listenerClass);
+ webMetaData.addListener(listener);
+
+ DDEndpoints ddSunJaxws = dep.getContext().getAttachment(DDEndpoints.class);
+ if (ddSunJaxws == null)
+ throw new IllegalStateException("Cannot obtain sun-jaxws meta
data");
+
+ // Add the path to sun-jaxws.xml
+ ParamValue ctxParam = new ParamValue();
+ ctxParam.setType(ParamType.CONTEXT_PARAM);
+ ctxParam.setName(WSServletContextListenerJBWS.PARAM_SUN_JAXWS_URL);
+ ctxParam.setValue(ddSunJaxws.createFileURL().toExternalForm());
+ webMetaData.addContextParam(ctxParam);
+ }
+ }
+
+ @Override
+ public void destroy(Deployment dep)
+ {
+ super.destroy(dep);
+
+ DDEndpoints ddSunJaxws = dep.getContext().getAttachment(DDEndpoints.class);
+ if (ddSunJaxws != null)
+ {
+ ddSunJaxws.destroyFileURL();
+ }
+ }
+}
\ No newline at end of file
Deleted:
trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/XFireServicesDeployer.java
===================================================================
---
trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/XFireServicesDeployer.java 2007-07-13
14:36:56 UTC (rev 3883)
+++
trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/XFireServicesDeployer.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -1,111 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., 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.wsf.stack.xfire;
-
-//$Id$
-
-import org.jboss.logging.Logger;
-import org.jboss.wsf.spi.deployment.AbstractDeployer;
-import org.jboss.wsf.spi.deployment.Deployment;
-import org.jboss.wsf.spi.deployment.Endpoint;
-import org.jboss.wsf.spi.deployment.Deployment.DeploymentType;
-import org.jboss.wsf.stack.xfire.metadata.services.DDBean;
-import org.jboss.wsf.stack.xfire.metadata.services.DDBeans;
-import org.jboss.wsf.stack.xfire.metadata.services.DDService;
-
-/**
- * A deployer that generates xfire services.xml
- *
- * @author Thomas.Diesler(a)jboss.org
- * @since 10-May-2007
- */
-public class XFireServicesDeployer extends AbstractDeployer
-{
- // provide logging
- private static final Logger log = Logger.getLogger(XFireServicesDeployer.class);
-
- private String serviceFactory;
- private String invokerEJB3;
- private String invokerJSE;
-
- public void setServiceFactory(String serviceFactory)
- {
- this.serviceFactory = serviceFactory;
- }
-
- public void setInvokerEJB3(String invokerEJB3)
- {
- this.invokerEJB3 = invokerEJB3;
- }
-
- public void setInvokerJSE(String invokerJSE)
- {
- this.invokerJSE = invokerJSE;
- }
-
- @Override
- public void create(Deployment dep)
- {
- DeploymentType depType = dep.getType();
- if (depType != DeploymentType.JAXWS_EJB3 && depType !=
DeploymentType.JAXWS_JSE)
- throw new IllegalStateException("Unsupported deployment type: " +
depType);
-
- DDBeans dd = new DDBeans();
- for (Endpoint ep : dep.getService().getEndpoints())
- {
- String epName = ep.getShortName();
- String targetBean = ep.getTargetBeanName();
-
- DDService ddser = new DDService(epName, targetBean);
- ddser.setServiceFactory(serviceFactory);
-
- if (depType == DeploymentType.JAXWS_EJB3 && invokerEJB3 != null)
- {
- String beanName = "InvokerBeanEJB3";
- dd.addBean(new DDBean(beanName, invokerEJB3));
- ddser.setInvoker("#" + beanName);
- }
-
- if (depType == DeploymentType.JAXWS_JSE && invokerJSE != null)
- {
- String beanName = "InvokerBeanJSE";
- dd.addBean(new DDBean(beanName, invokerJSE));
- ddser.setInvoker("#" + beanName);
- }
-
- log.info("Add " + ddser);
- dd.addService(ddser);
- }
- dep.getContext().addAttachment(DDBeans.class, dd);
- }
-
-
- @Override
- public void destroy(Deployment dep)
- {
- DDBeans dd = dep.getContext().getAttachment(DDBeans.class);
- if (dd != null)
- {
- dd.destroyFileURL();
- }
- }
-}
\ No newline at end of file
Copied:
trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/XFireServicesDeploymentAspect.java
(from rev 3881,
branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/XFireServicesDeploymentAspect.java)
===================================================================
---
trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/XFireServicesDeploymentAspect.java
(rev 0)
+++
trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire/XFireServicesDeploymentAspect.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -0,0 +1,111 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., 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.wsf.stack.xfire;
+
+//$Id: XFireServicesDeployer.java 3802 2007-07-05 16:44:32Z thomas.diesler(a)jboss.com $
+
+import org.jboss.logging.Logger;
+import org.jboss.wsf.spi.deployment.DeploymentAspect;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.Endpoint;
+import org.jboss.wsf.spi.deployment.Deployment.DeploymentType;
+import org.jboss.wsf.stack.xfire.metadata.services.DDBean;
+import org.jboss.wsf.stack.xfire.metadata.services.DDBeans;
+import org.jboss.wsf.stack.xfire.metadata.services.DDService;
+
+/**
+ * A deployer that generates xfire services.xml
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 10-May-2007
+ */
+public class XFireServicesDeploymentAspect extends DeploymentAspect
+{
+ // provide logging
+ private static final Logger log =
Logger.getLogger(XFireServicesDeploymentAspect.class);
+
+ private String serviceFactory;
+ private String invokerEJB3;
+ private String invokerJSE;
+
+ public void setServiceFactory(String serviceFactory)
+ {
+ this.serviceFactory = serviceFactory;
+ }
+
+ public void setInvokerEJB3(String invokerEJB3)
+ {
+ this.invokerEJB3 = invokerEJB3;
+ }
+
+ public void setInvokerJSE(String invokerJSE)
+ {
+ this.invokerJSE = invokerJSE;
+ }
+
+ @Override
+ public void create(Deployment dep)
+ {
+ DeploymentType depType = dep.getType();
+ if (depType != DeploymentType.JAXWS_EJB3 && depType !=
DeploymentType.JAXWS_JSE)
+ throw new IllegalStateException("Unsupported deployment type: " +
depType);
+
+ DDBeans dd = new DDBeans();
+ for (Endpoint ep : dep.getService().getEndpoints())
+ {
+ String epName = ep.getShortName();
+ String targetBean = ep.getTargetBeanName();
+
+ DDService ddser = new DDService(epName, targetBean);
+ ddser.setServiceFactory(serviceFactory);
+
+ if (depType == DeploymentType.JAXWS_EJB3 && invokerEJB3 != null)
+ {
+ String beanName = "InvokerBeanEJB3";
+ dd.addBean(new DDBean(beanName, invokerEJB3));
+ ddser.setInvoker("#" + beanName);
+ }
+
+ if (depType == DeploymentType.JAXWS_JSE && invokerJSE != null)
+ {
+ String beanName = "InvokerBeanJSE";
+ dd.addBean(new DDBean(beanName, invokerJSE));
+ ddser.setInvoker("#" + beanName);
+ }
+
+ log.info("Add " + ddser);
+ dd.addService(ddser);
+ }
+ dep.getContext().addAttachment(DDBeans.class, dd);
+ }
+
+
+ @Override
+ public void destroy(Deployment dep)
+ {
+ DDBeans dd = dep.getContext().getAttachment(DDBeans.class);
+ if (dd != null)
+ {
+ dd.destroyFileURL();
+ }
+ }
+}
\ No newline at end of file
Deleted:
trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire50/ModifyWebMetaDataDeployer.java
===================================================================
---
trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire50/ModifyWebMetaDataDeployer.java 2007-07-13
14:36:56 UTC (rev 3883)
+++
trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire50/ModifyWebMetaDataDeployer.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -1,73 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., 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.wsf.stack.xfire50;
-
-//$Id$
-
-import org.jboss.metadata.WebMetaData;
-import org.jboss.metadata.web.ParamValue;
-import org.jboss.metadata.web.ParamValue.ParamType;
-import org.jboss.wsf.spi.deployment.Deployment;
-import org.jboss.wsf.stack.xfire.XFireConfigurableServletExt;
-import org.jboss.wsf.stack.xfire.metadata.services.DDBeans;
-
-/**
- * A deployer that modifies the web.xml meta data
- *
- * @author Thomas.Diesler(a)jboss.org
- * @since 21-Mai-2007
- */
-public class ModifyWebMetaDataDeployer extends
org.jboss.wsf.container.jboss50.ModifyWebMetaDataDeployer
-{
- @Override
- public void create(Deployment dep)
- {
- super.create(dep);
-
- WebMetaData webMetaData = dep.getContext().getAttachment(WebMetaData.class);
- if (webMetaData != null)
- {
- DDBeans ddbeans = dep.getContext().getAttachment(DDBeans.class);
- if (ddbeans == null)
- throw new IllegalStateException("Cannot obtain services.xml meta
data");
-
- // Add the path to sun-jaxws.xml
- ParamValue ctxParam = new ParamValue();
- ctxParam.setType(ParamType.CONTEXT_PARAM);
- ctxParam.setName(XFireConfigurableServletExt.PARAM_XFIRE_SERVICES_URL);
- ctxParam.setValue(ddbeans.createFileURL().toExternalForm());
- webMetaData.addContextParam(ctxParam);
- }
- }
-
- @Override
- public void destroy(Deployment dep)
- {
- super.destroy(dep);
-
- DDBeans ddbeans = dep.getContext().getAttachment(DDBeans.class);
- if (ddbeans != null)
- {
- ddbeans.destroyFileURL();
- }
- }
-}
\ No newline at end of file
Copied:
trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire50/ModifyWebMetaDataDeploymentAspect.java
(from rev 3881,
branches/tdiesler/trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire50/ModifyWebMetaDataDeploymentAspect.java)
===================================================================
---
trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire50/ModifyWebMetaDataDeploymentAspect.java
(rev 0)
+++
trunk/integration/xfire/src/main/java/org/jboss/wsf/stack/xfire50/ModifyWebMetaDataDeploymentAspect.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -0,0 +1,73 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., 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.wsf.stack.xfire50;
+
+//$Id: ModifyWebMetaDataDeployer.java 3259 2007-05-25 16:12:14Z thomas.diesler(a)jboss.com
$
+
+import org.jboss.metadata.WebMetaData;
+import org.jboss.metadata.web.ParamValue;
+import org.jboss.metadata.web.ParamValue.ParamType;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.stack.xfire.XFireConfigurableServletExt;
+import org.jboss.wsf.stack.xfire.metadata.services.DDBeans;
+
+/**
+ * A deployer that modifies the web.xml meta data
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 21-Mai-2007
+ */
+public class ModifyWebMetaDataDeploymentAspect extends
org.jboss.wsf.container.jboss50.ModifyWebMetaDataDeploymentAspect
+{
+ @Override
+ public void create(Deployment dep)
+ {
+ super.create(dep);
+
+ WebMetaData webMetaData = dep.getContext().getAttachment(WebMetaData.class);
+ if (webMetaData != null)
+ {
+ DDBeans ddbeans = dep.getContext().getAttachment(DDBeans.class);
+ if (ddbeans == null)
+ throw new IllegalStateException("Cannot obtain services.xml meta
data");
+
+ // Add the path to sun-jaxws.xml
+ ParamValue ctxParam = new ParamValue();
+ ctxParam.setType(ParamType.CONTEXT_PARAM);
+ ctxParam.setName(XFireConfigurableServletExt.PARAM_XFIRE_SERVICES_URL);
+ ctxParam.setValue(ddbeans.createFileURL().toExternalForm());
+ webMetaData.addContextParam(ctxParam);
+ }
+ }
+
+ @Override
+ public void destroy(Deployment dep)
+ {
+ super.destroy(dep);
+
+ DDBeans ddbeans = dep.getContext().getAttachment(DDBeans.class);
+ if (ddbeans != null)
+ {
+ ddbeans.destroyFileURL();
+ }
+ }
+}
\ No newline at end of file
Modified: trunk/jbossws-core/.classpath
===================================================================
--- trunk/jbossws-core/.classpath 2007-07-13 14:36:56 UTC (rev 3883)
+++ trunk/jbossws-core/.classpath 2007-07-13 15:42:07 UTC (rev 3884)
@@ -15,7 +15,7 @@
<classpathentry kind="lib" path="thirdparty/jboss-j2ee.jar"/>
<classpathentry kind="lib"
path="thirdparty/jboss-logging-spi.jar"/>
<classpathentry kind="lib"
path="thirdparty/jboss-microcontainer.jar"/>
- <classpathentry kind="lib" path="thirdparty/jboss-remoting.jar"
sourcepath="thirdparty/jboss-remoting-src.jar"/>
+ <classpathentry kind="lib" path="thirdparty/jboss-remoting.jar"
sourcepath="/home/tdiesler/svn/jbossas/tags/JBoss_4_0_5_GA/thirdparty/jboss/remoting/lib/jboss-remoting-src.jar"/>
<classpathentry kind="lib"
path="thirdparty/jbosssx-client.jar"/>
<classpathentry kind="lib"
path="thirdparty/jboss-xml-binding.jar"
sourcepath="thirdparty/jboss-xml-binding-sources.jar"/>
<classpathentry kind="lib" path="thirdparty/mail.jar"/>
Modified: trunk/jbossws-core/ant-import-tests/build-testsuite.xml
===================================================================
--- trunk/jbossws-core/ant-import-tests/build-testsuite.xml 2007-07-13 14:36:56 UTC (rev
3883)
+++ trunk/jbossws-core/ant-import-tests/build-testsuite.xml 2007-07-13 15:42:07 UTC (rev
3884)
@@ -27,6 +27,7 @@
<target name="tests-init"
depends="thirdparty-classpath,tests-classpath">
<path id="ws.stack.classpath">
+ <pathelement location="${spi.dir}/output/lib/jbossws-spi.jar"/>
<pathelement location="${core.dir}/output/lib/jboss-jaxrpc.jar"/>
<pathelement location="${core.dir}/output/lib/jboss-jaxws.jar"/>
<pathelement location="${core.dir}/output/lib/jboss-saaj.jar"/>
@@ -35,10 +36,8 @@
</path>
<path id="tests.extra.classpath">
- <pathelement location="${spi.dir}/output/lib/jbossws-spi.jar"/>
<pathelement
location="${core.dir}/thirdparty/ejb3.deployer/jboss-annotations-ejb3.jar"/>
<pathelement
location="${core.dir}/thirdparty/ejb3.deployer/jboss-ejb3.jar"/>
- <pathelement location="${core.dir}/thirdparty/jboss-remoting.jar"/>
<pathelement location="${core.dir}/thirdparty/policy.jar"/>
<pathelement location="${core.dir}/thirdparty/qdox.jar"/>
<pathelement location="${core.dir}/thirdparty/wsdl4j.jar"/>
Deleted:
trunk/jbossws-core/src/main/java/org/jboss/ws/core/server/BackwardCompatibleContextRootDeployer.java
===================================================================
---
trunk/jbossws-core/src/main/java/org/jboss/ws/core/server/BackwardCompatibleContextRootDeployer.java 2007-07-13
14:36:56 UTC (rev 3883)
+++
trunk/jbossws-core/src/main/java/org/jboss/ws/core/server/BackwardCompatibleContextRootDeployer.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -1,89 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., 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.ws.core.server;
-
-//$Id$
-
-import java.util.StringTokenizer;
-
-import org.jboss.wsf.spi.deployment.ContextRootDeployer;
-import org.jboss.wsf.spi.deployment.Deployment;
-import org.jboss.wsf.spi.deployment.Endpoint;
-import org.jboss.wsf.spi.metadata.j2ee.UnifiedApplicationMetaData;
-import org.jboss.wsf.spi.metadata.j2ee.UnifiedBeanMetaData;
-import org.jboss.wsf.spi.metadata.j2ee.UnifiedEjbPortComponentMetaData;
-
-/**
- * A deployer that assigns the context root to the service.
- *
- * If there is no explicit <context-root>, this deployer uses
- * the first token from the <port-component-uri> element.
- *
- * @author Thomas.Diesler(a)jboss.org
- * @since 25-Apr-2007
- */
-public class BackwardCompatibleContextRootDeployer extends ContextRootDeployer
-{
- @Override
- protected String getExplicitContextRoot(Deployment dep)
- {
- String contextRoot = super.getExplicitContextRoot(dep);
- if (contextRoot == null)
- {
- for (Endpoint ep : dep.getService().getEndpoints())
- {
- String urlPattern = getUrlPattern(dep, ep);
- if (urlPattern != null)
- {
- StringTokenizer st = new StringTokenizer(urlPattern, "/");
- if (st.countTokens() > 1)
- {
- String firstToken = st.nextToken();
- if (contextRoot != null && contextRoot.equals(firstToken) ==
false)
- throw new IllegalStateException("All endpoints must share the
same <context-root>: " + contextRoot + "!=" + firstToken);
-
- contextRoot = firstToken;
- }
- }
- }
- }
- return contextRoot;
- }
-
- private String getUrlPattern(Deployment dep, Endpoint ep)
- {
- String urlPattern = null;
-
- UnifiedApplicationMetaData appMetaData =
dep.getContext().getAttachment(UnifiedApplicationMetaData.class);
- if (appMetaData != null && appMetaData.getBeanByEjbName(ep.getShortName())
!= null)
- {
- UnifiedBeanMetaData bmd = appMetaData.getBeanByEjbName(ep.getShortName());
- UnifiedEjbPortComponentMetaData pcmd = bmd.getPortComponent();
- if (pcmd != null)
- {
- urlPattern = pcmd.getPortComponentURI();
- }
- }
-
- return urlPattern;
- }
-}
\ No newline at end of file
Deleted:
trunk/jbossws-core/src/main/java/org/jboss/ws/core/server/BackwardCompatibleURLPatternDeployer.java
===================================================================
---
trunk/jbossws-core/src/main/java/org/jboss/ws/core/server/BackwardCompatibleURLPatternDeployer.java 2007-07-13
14:36:56 UTC (rev 3883)
+++
trunk/jbossws-core/src/main/java/org/jboss/ws/core/server/BackwardCompatibleURLPatternDeployer.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -1,65 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., 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.ws.core.server;
-
-//$Id$
-
-import java.util.StringTokenizer;
-
-import org.jboss.wsf.spi.deployment.Deployment;
-import org.jboss.wsf.spi.deployment.Endpoint;
-import org.jboss.wsf.spi.deployment.URLPatternDeployer;
-
-/**
- * A deployer that assigns the URLPattern to endpoints.
- *
- * This deployer uses the first token from the <port-component-uri>
- * as the context root.
- *
- * @author Thomas.Diesler(a)jboss.org
- * @since 19-May-2007
- */
-public class BackwardCompatibleURLPatternDeployer extends URLPatternDeployer
-{
-
- @Override
- protected String getExplicitPattern(Deployment dep, Endpoint ep)
- {
- String contextRoot = dep.getService().getContextRoot();
- if (contextRoot == null)
- throw new IllegalStateException("Cannot obtain context root");
-
- String urlPattern = super.getExplicitPattern(dep, ep);
- if (urlPattern != null)
- {
- if (urlPattern.startsWith("/") == false)
- urlPattern = "/" + urlPattern;
-
- StringTokenizer st = new StringTokenizer(urlPattern, "/");
- if (st.countTokens() > 1 && urlPattern.startsWith(contextRoot))
- {
- urlPattern = urlPattern.substring(contextRoot.length());
- }
- }
- return urlPattern;
- }
-}
\ No newline at end of file
Modified:
trunk/jbossws-core/src/main/java/org/jboss/ws/metadata/builder/jaxws/JAXWSMetaDataBuilderJSE.java
===================================================================
---
trunk/jbossws-core/src/main/java/org/jboss/ws/metadata/builder/jaxws/JAXWSMetaDataBuilderJSE.java 2007-07-13
14:36:56 UTC (rev 3883)
+++
trunk/jbossws-core/src/main/java/org/jboss/ws/metadata/builder/jaxws/JAXWSMetaDataBuilderJSE.java 2007-07-13
15:42:07 UTC (rev 3884)
@@ -22,14 +22,12 @@
// $Id$
package org.jboss.ws.metadata.builder.jaxws;
-import java.util.Map;
-
import org.jboss.logging.Logger;
import org.jboss.ws.WSException;
import org.jboss.ws.metadata.umdm.UnifiedMetaData;
import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.Endpoint;
import org.jboss.wsf.spi.deployment.UnifiedDeploymentInfo;
-import org.jboss.wsf.spi.metadata.j2ee.UnifiedWebMetaData;
/**
* A server side meta data builder that is based on JSR-181 annotations
@@ -47,7 +45,7 @@
*/
public UnifiedMetaData buildMetaData(Deployment dep, UnifiedDeploymentInfo udi)
{
- if(log.isDebugEnabled()) log.debug("START buildMetaData: [name=" +
udi.getCanonicalName() + "]");
+ log.debug("START buildMetaData: [name=" + udi.getCanonicalName() +
"]");
try
{
UnifiedMetaData wsMetaData = new UnifiedMetaData(udi.vfRoot);
@@ -58,23 +56,14 @@
throw new WSException("Deployment class loader not initialized");
// For every bean
- UnifiedWebMetaData webMetaData = (UnifiedWebMetaData)udi.metaData;
- Map<String, String> servletClassMap = webMetaData.getServletClassNames();
- for (String servletName : servletClassMap.keySet())
+ for (Endpoint ep : dep.getService().getEndpoints())
{
- String servletClassName = servletClassMap.get(servletName);
- try
- {
- Class beanClass = udi.classLoader.loadClass(servletClassName);
- JAXWSServerMetaDataBuilder.setupProviderOrWebService(dep, wsMetaData, udi,
beanClass, servletName);
- }
- catch (ClassNotFoundException ex)
- {
- log.warn("Cannot load service endpoint class: " +
servletClassName);
- }
+ String shortName = ep.getShortName();
+ Class beanClass = ep.getTargetBeanClass();
+ JAXWSServerMetaDataBuilder.setupProviderOrWebService(dep, wsMetaData, udi,
beanClass, shortName);
}
-
- if(log.isDebugEnabled()) log.debug("END buildMetaData: " +
wsMetaData);
+
+ log.debug("END buildMetaData: " + wsMetaData);
return wsMetaData;
}
catch (RuntimeException rte)