[jboss-cvs] JBossAS SVN: r66454 - in branches/JBPAPP_4_2: build and 53 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu Oct 25 16:41:13 EDT 2007
Author: dbhole
Date: 2007-10-25 16:41:11 -0400 (Thu, 25 Oct 2007)
New Revision: 66454
Added:
branches/JBPAPP_4_2/webservices/
branches/JBPAPP_4_2/webservices/.classpath
branches/JBPAPP_4_2/webservices/.project
branches/JBPAPP_4_2/webservices/build-test.xml
branches/JBPAPP_4_2/webservices/build.bat
branches/JBPAPP_4_2/webservices/build.sh
branches/JBPAPP_4_2/webservices/build.xml
branches/JBPAPP_4_2/webservices/jbossbuild.xml
branches/JBPAPP_4_2/webservices/pom.xml
branches/JBPAPP_4_2/webservices/src/
branches/JBPAPP_4_2/webservices/src/etc/
branches/JBPAPP_4_2/webservices/src/etc/component-info.xml
branches/JBPAPP_4_2/webservices/src/etc/default.mf
branches/JBPAPP_4_2/webservices/src/main/
branches/JBPAPP_4_2/webservices/src/main/org/
branches/JBPAPP_4_2/webservices/src/main/org/jboss/
branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/
branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/
branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/
branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/AbstractDeployerHook.java
branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/AbstractDeployerHookEJB.java
branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/AbstractDeployerHookJSE.java
branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/AbstractInvocationHandler.java
branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/ArchiveDeployerHook.java
branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/ContainerMetaDataAdapter.java
branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/ContainerMetaDataDeploymentAspect.java
branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/DefaultInvocationHandler.java
branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/DefaultInvocationHandlerJAXRPC.java
branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/DefaultInvocationHandlerJAXWS.java
branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/DefaultWebAppDesciptorModifierImpl.java
branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/DeployerHook.java
branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/DeployerHookPostJSE.java
branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/DeployerInterceptor.java
branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/DeployerInterceptorEJB21.java
branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/DeployerInterceptorEJB21MBean.java
branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/DeployerInterceptorEJB3.java
branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/DeployerInterceptorEJB3MBean.java
branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/DeployerInterceptorJSE.java
branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/DeployerInterceptorJSEMBean.java
branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/DeployerInterceptorMBean.java
branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/DeploymentAspectHttpServer.java
branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/EJBArchiveMetaDataAdapter.java
branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/EJBArchiveMetaDataAdapterEJB21.java
branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/EJBArchiveMetaDataAdapterEJB3.java
branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/InvocationHandlerEJB21.java
branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/InvocationHandlerEJB3.java
branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/InvocationHandlerFactoryImpl.java
branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/InvocationHandlerMDB21.java
branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/JAXRPCDeployerHookEJB21.java
branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/JAXRPCDeployerHookPostJSE.java
branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/JAXRPCDeployerHookPreJSE.java
branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/JAXWSDeployerHookEJB3.java
branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/JAXWSDeployerHookPostJSE.java
branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/JAXWSDeployerHookPreJSE.java
branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/JSEArchiveMetaDataAdapter.java
branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/ModifyWebMetaDataDeploymentAspect.java
branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/RewriteResults.java
branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/RuntimeLoaderDeploymentAspect.java
branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/SecurityAdapterFactoryImpl.java
branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/SecurityAdaptorImpl.java
branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/SecurityHandlerEJB21.java
branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/SecurityHandlerEJB3.java
branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/ServiceEndpointInterceptor.java
branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/WebAppDeployingHttpServer.java
branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/WebAppDeploymentAspect.java
branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/WebAppDesciptorModifier.java
branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/WebServiceContextFactoryImpl.java
branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/WebXMLRewriterImpl.java
branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/serviceref/
branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/serviceref/DelegatingCallPropertyMetaData.java
branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/serviceref/DelegatingHandlerChainMetaData.java
branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/serviceref/DelegatingHandlerChainsMetaData.java
branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/serviceref/DelegatingHandlerMetaData.java
branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/serviceref/DelegatingInitParamMetaData.java
branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/serviceref/DelegatingPortComponentRefMetaData.java
branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/serviceref/DelegatingServiceRefMetaData.java
branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/serviceref/DelegatingStubPropertyMetaData.java
branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/serviceref/ServiceRefHandlerImpl.java
branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/serviceref/ServiceRefObjectFactory.java
branches/JBPAPP_4_2/webservices/src/resources/
branches/JBPAPP_4_2/webservices/src/resources/jbossws-jboss42.jar/
branches/JBPAPP_4_2/webservices/src/resources/jbossws-jboss42.jar/META-INF/
branches/JBPAPP_4_2/webservices/src/resources/jbossws-jboss42.jar/META-INF/services/
branches/JBPAPP_4_2/webservices/src/resources/jbossws-jboss42.jar/META-INF/services/org.jboss.wsf.spi.deployment.DeploymentModelFactory
branches/JBPAPP_4_2/webservices/src/resources/jbossws-jboss42.jar/META-INF/services/org.jboss.wsf.spi.invocation.InvocationHandlerFactory
branches/JBPAPP_4_2/webservices/src/resources/jbossws-jboss42.jar/META-INF/services/org.jboss.wsf.spi.invocation.SecurityAdaptorFactory
branches/JBPAPP_4_2/webservices/src/resources/jbossws-jboss42.jar/META-INF/services/org.jboss.wsf.spi.invocation.WebServiceContextFactory
branches/JBPAPP_4_2/webservices/src/resources/jbossws-jboss42.jar/META-INF/services/org.jboss.wsf.spi.management.ServerConfigFactory
branches/JBPAPP_4_2/webservices/src/resources/jbossws-jboss42.sar/
branches/JBPAPP_4_2/webservices/src/resources/jbossws-jboss42.sar/META-INF/
branches/JBPAPP_4_2/webservices/src/resources/jbossws-jboss42.sar/META-INF/jboss-service.xml
branches/JBPAPP_4_2/webservices/src/resources/jbossws-jboss50.deployer/
branches/JBPAPP_4_2/webservices/src/resources/jbossws-jboss50.deployer/META-INF/
branches/JBPAPP_4_2/webservices/src/resources/jbossws-jboss50.deployer/META-INF/jbossws-deployer-beans.xml
branches/JBPAPP_4_2/webservices/src/resources/jbossws-jboss50.jar/
branches/JBPAPP_4_2/webservices/src/resources/jbossws-jboss50.jar/META-INF/
branches/JBPAPP_4_2/webservices/src/resources/jbossws-jboss50.jar/META-INF/services/
branches/JBPAPP_4_2/webservices/src/resources/jbossws-jboss50.jar/META-INF/services/org.jboss.wsf.spi.deployment.DeploymentModelFactory
branches/JBPAPP_4_2/webservices/src/resources/jbossws-jboss50.jar/META-INF/services/org.jboss.wsf.spi.invocation.InvocationHandlerFactory
branches/JBPAPP_4_2/webservices/src/resources/jbossws-jboss50.jar/META-INF/services/org.jboss.wsf.spi.invocation.SecurityAdaptorFactory
branches/JBPAPP_4_2/webservices/src/resources/jbossws-jboss50.jar/META-INF/services/org.jboss.wsf.spi.invocation.WebServiceContextFactory
branches/JBPAPP_4_2/webservices/src/resources/jbossws-jboss50.jar/META-INF/services/org.jboss.wsf.spi.management.ServerConfigFactory
Modified:
branches/JBPAPP_4_2/build/build-distr.xml
branches/JBPAPP_4_2/build/build-thirdparty.xml
branches/JBPAPP_4_2/build/build.xml
branches/JBPAPP_4_2/ejb3/.classpath
branches/JBPAPP_4_2/ejb3/build-test.xml
branches/JBPAPP_4_2/ejb3/build.xml
branches/JBPAPP_4_2/ejb3/src/main/org/jboss/ejb3/metamodel/EjbJarDDObjectFactory.java
branches/JBPAPP_4_2/ejb3/src/main/org/jboss/ejb3/metamodel/EnterpriseBeans.java
branches/JBPAPP_4_2/ejb3/src/main/org/jboss/ejb3/metamodel/Injectable.java
branches/JBPAPP_4_2/ejb3/src/main/org/jboss/ejb3/metamodel/JBossClientDDObjectFactory.java
branches/JBPAPP_4_2/ejb3/src/main/org/jboss/ejb3/metamodel/JBossDDObjectFactory.java
branches/JBPAPP_4_2/ejb3/src/main/org/jboss/injection/WebServiceRefHandler.java
branches/JBPAPP_4_2/ejb3/src/main/org/jboss/injection/WebServiceRefInjector.java
branches/JBPAPP_4_2/ejb3/src/main/org/jboss/metamodel/descriptor/EnvironmentRefGroup.java
branches/JBPAPP_4_2/ejb3/src/test/org/jboss/ejb3/test/ejbthree959/Status.java
branches/JBPAPP_4_2/ejb3/src/test/org/jboss/ejb3/test/ejbthree959/StatusBean.java
branches/JBPAPP_4_2/ejb3/src/test/org/jboss/ejb3/test/ejbthree994/BusinessInterface.java
branches/JBPAPP_4_2/ejb3/src/test/org/jboss/ejb3/test/ejbthree994/StatefulBean.java
branches/JBPAPP_4_2/ejb3/src/test/org/jboss/ejb3/test/ejbthree994/unit/MultiBindingsTestCase.java
branches/JBPAPP_4_2/ejb3/src/test/org/jboss/ejb3/test/jbas4489/BMTCleanUp.java
branches/JBPAPP_4_2/ejb3/src/test/org/jboss/ejb3/test/jbas4489/BMTCleanUpBean.java
branches/JBPAPP_4_2/ejb3/src/test/org/jboss/ejb3/test/jbas4489/unit/BMTCleanUpUnitTestCase.java
branches/JBPAPP_4_2/ejb3x/src/main/javax/annotation/PostConstruct.java
branches/JBPAPP_4_2/ejb3x/src/main/javax/annotation/PreDestroy.java
branches/JBPAPP_4_2/ejb3x/src/main/javax/annotation/security/DenyAll.java
branches/JBPAPP_4_2/ejb3x/src/main/javax/annotation/security/PermitAll.java
branches/JBPAPP_4_2/ejb3x/src/main/javax/ejb/EJBs.java
branches/JBPAPP_4_2/ejb3x/src/main/javax/ejb/Local.java
branches/JBPAPP_4_2/ejb3x/src/main/javax/ejb/LocalHome.java
branches/JBPAPP_4_2/ejb3x/src/main/javax/ejb/Remote.java
branches/JBPAPP_4_2/ejb3x/src/main/javax/ejb/RemoteHome.java
branches/JBPAPP_4_2/ejb3x/src/main/javax/ejb/TransactionManagement.java
branches/JBPAPP_4_2/server/.classpath
branches/JBPAPP_4_2/server/build.xml
branches/JBPAPP_4_2/server/src/main/org/jboss/deployment/ClientDeployer.java
branches/JBPAPP_4_2/server/src/main/org/jboss/ejb/Container.java
branches/JBPAPP_4_2/server/src/main/org/jboss/metadata/BeanMetaData.java
branches/JBPAPP_4_2/server/src/main/org/jboss/metadata/ClientMetaData.java
branches/JBPAPP_4_2/server/src/main/org/jboss/metadata/WebMetaData.java
branches/JBPAPP_4_2/server/src/main/org/jboss/metadata/serviceref/ServiceRefDelegate.java
branches/JBPAPP_4_2/server/src/main/org/jboss/metadata/serviceref/ServiceRefObjectFactory.java
branches/JBPAPP_4_2/server/src/main/org/jboss/web/AbstractWebDeployer.java
branches/JBPAPP_4_2/testsuite/build.xml
branches/JBPAPP_4_2/testsuite/deprecated-build.xml
branches/JBPAPP_4_2/testsuite/imports/config/tests-jacc.xml
branches/JBPAPP_4_2/testsuite/imports/server-config.xml
branches/JBPAPP_4_2/testsuite/src/main/org/jboss/test/jacc/test/EJBSpecUnitTestCase.java
branches/JBPAPP_4_2/testsuite/src/main/org/jboss/test/jacc/test/WebIntegrationUnitTestCase.java
branches/JBPAPP_4_2/testsuite/src/main/org/jboss/test/jmsra/test/RaQueueUnitTestCase.java
branches/JBPAPP_4_2/testsuite/src/main/org/jboss/test/jmsra/test/RaSyncRecUnitTestCase.java
branches/JBPAPP_4_2/testsuite/src/main/org/jboss/test/jmsra/test/RaTopicUnitTestCase.java
branches/JBPAPP_4_2/testsuite/src/main/org/jboss/test/mdb/test/MDBUnitTestCase.java
branches/JBPAPP_4_2/testsuite/src/main/org/jboss/test/messagedriven/support/BasicMessageDrivenUnitTest.java
branches/JBPAPP_4_2/testsuite/src/main/org/jboss/test/messagedriven/test/JMSContainerInvokerQueueMessageDrivenUnitTestCase.java
branches/JBPAPP_4_2/testsuite/src/main/org/jboss/test/security/test/CustomSecurityManagerTestCase.java
branches/JBPAPP_4_2/testsuite/src/main/org/jboss/test/security/test/EJBSpecUnitTestCase.java
branches/JBPAPP_4_2/testsuite/src/main/org/jboss/test/tm/ejb/TxTimeoutBean.java
branches/JBPAPP_4_2/testsuite/src/main/org/jboss/test/web/test/WebIntegrationUnitTestCase.java
branches/JBPAPP_4_2/tomcat/.classpath
branches/JBPAPP_4_2/tomcat/build.xml
branches/JBPAPP_4_2/tools/etc/buildmagic/modules.ent
branches/JBPAPP_4_2/tools/etc/buildmagic/modules.xml
branches/JBPAPP_4_2/varia/src/resources/services/snmp/deploy/attributes.mib
Log:
WS 2.0 integration commit.
With this commit, build is switchable between 4.2 and 4.3 via the build.soa switch (once a compatible ws 1.2.x is made available).
To test 4.3, use -Djbosstest.test.soa=true
Modified: branches/JBPAPP_4_2/build/build-distr.xml
===================================================================
--- branches/JBPAPP_4_2/build/build-distr.xml 2007-10-25 20:23:58 UTC (rev 66453)
+++ branches/JBPAPP_4_2/build/build-distr.xml 2007-10-25 20:41:11 UTC (rev 66454)
@@ -1310,7 +1310,51 @@
</copy>
</target>
+ <!-- =========== -->
+ <!-- Webservices -->
+ <!-- =========== -->
+ <target name="_module-webservices-most">
+ <property name="_module.name" value="webservices" override="true"/>
+ <property name="_module.output" override="true" value="${project.root}/${_module.name}/output"/>
+
+ <!-- Copy the generated client libraries -->
+ <mkdir dir="${install.client}"/>
+ <copy todir="${install.client}" filtering="no">
+ <fileset dir="${_module.output}/lib">
+ <include name="jbossws-jboss42.jar"/>
+ </fileset>
+ </copy>
+
+ <!-- Copy the generated libraries -->
+ <mkdir dir="${install.all.lib}"/>
+ <copy todir="${install.all.lib}" filtering="no">
+ <fileset dir="${_module.output}/lib">
+ <include name="jbossws-jboss42.jar"/>
+ </fileset>
+ </copy>
+
+
+ </target>
+
+ <target name="_module-webservices-all" depends="_module-webservices-most">
+ <!-- Copy the generated javadocs -->
+ <mkdir dir="${install.api}/${_module.name}"/>
+ <copy todir="${install.api}/${_module.name}" filtering="no">
+ <fileset dir="${_module.output}/api">
+ <include name="**/*"/>
+ </fileset>
+ </copy>
+
+ <!-- Copy the generated todo docs -->
+ <mkdir dir="${install.todo}/${_module.name}"/>
+ <copy todir="${install.todo}/${_module.name}" filtering="no" failonerror="false">
+ <fileset dir="${_module.output}/todo">
+ <include name="**/*"/>
+ </fileset>
+ </copy>
+ </target>
+
<!-- ============ -->
<!-- Hibernate -->
<!-- ============ -->
@@ -1541,9 +1585,6 @@
<fileset dir="${woodstox.woodstox.lib}">
<include name="wstx.jar"/>
</fileset>
- <fileset dir="${jboss.jbossws.wsconsume.impl.lib}">
- <include name="jbossws-wsconsume-impl.jar"/>
- </fileset>
</copy>
<!-- copy thirdparty items to install/all/lib -->
@@ -1595,6 +1636,38 @@
<fileset dir="${quartz.quartz.lib}" includes="quartz.jar"/>
</copy>
+ <antcall target="ws-thirdparty" />
+
+ <!-- This is executed last, so make executable all bin/*.sh scripts -->
+ <chmod perm="+x">
+ <fileset dir="${install.bin}">
+ <include name="**/*.sh"/>
+ </fileset>
+ </chmod>
+
+ </target>
+
+ <target name="ws-thirdparty" description = "Thirdparty setup for WS. This target works with ws 1.2.x and 2.x" depends="ws-thirdparty-12,ws-thirdparty-20"/>
+
+ <target name="ws-thirdparty-12" description = "Thirdparty setup for WS 1.2.x" unless="build.soa">
+ <!-- copy thirdparty items to client dir -->
+ <mkdir dir="${install.client}"/>
+ <copy todir="${install.client}" filtering="no">
+ <fileset dir="${jboss.jbossws.wsconsume.impl.lib}">
+ <include name="jbossws-wsconsume-impl.jar"/>
+ </fileset>
+ </copy>
+
+ <!-- copy thirdparty items to install/all/lib -->
+ <mkdir dir="${install.all.lib}"/>
+ <copy todir="${install.all.lib}" filtering="no">
+ <fileset dir="${jboss.jbossws.lib}">
+ <include name="jbossws-integration.jar"/>
+ <include name="jboss-jaxrpc.jar"/>
+ <include name="jboss-saaj.jar"/>
+ </fileset>
+ </copy>
+
<!-- install thirdparty items to install/bin -->
<!-- install wstools shell scripts -->
<unzip dest="${install.bin}" src="${jboss.jbossws.lib}/jbossws-client.jar">
@@ -1610,13 +1683,61 @@
<mkdir dir="${install.all.deploy}/jbossws.sar"/>
<unjar dest="${install.all.deploy}/jbossws.sar" src="${jboss.jbossws.jboss42.lib}/jbossws42.sar"/>
- <!-- This is executed last, so make executable all bin/*.sh scripts -->
- <chmod perm="+x">
- <fileset dir="${install.bin}">
- <include name="**/*.sh"/>
+ </target>
+
+ <target name="ws-thirdparty-20" description = "Thirdparty setup for WS 2.0.x" if="build.soa">
+ <!-- copy thirdparty items to client dir -->
+ <mkdir dir="${install.client}"/>
+ <copy todir="${install.client}" filtering="no">
+ <fileset dir="${jboss.jbossws.common.lib}">
+ <include name="jbossws-common.jar"/>
+ </fileset>
+ <fileset dir="${jboss.jbossws.framework.lib}">
+ <include name="jbossws-framework.jar"/>
+ </fileset>
+ <fileset dir="${jboss.jbossws.spi.lib}">
+ <include name="jbossws-spi.jar"/>
+ </fileset>
+ </copy>
+
+ <!-- copy thirdparty items to install/all/lib -->
+ <mkdir dir="${install.all.lib}"/>
+ <copy todir="${install.all.lib}" filtering="no">
+ <fileset dir="${jboss.jbossws.common.lib}">
+ <include name="jbossws-common.jar"/>
</fileset>
- </chmod>
-
+ <fileset dir="${jboss.jbossws.framework.lib}">
+ <include name="jbossws-framework.jar"/>
+ </fileset>
+ <fileset dir="${jboss.jbossws.spi.lib}">
+ <include name="jbossws-spi.jar"/>
+ </fileset>
+ <fileset dir="${jboss.jbossws.lib}">
+ <include name="jboss-jaxrpc.jar"/>
+ <include name="jboss-jaxws.jar"/>
+ <include name="jboss-saaj.jar"/>
+ </fileset>
+ </copy>
+
+ <!-- install thirdparty items to install/bin -->
+ <!-- install wstools shell scripts -->
+ <unzip dest="${install.bin}" src="${jboss.jbossws.lib}/jbossws-client.jar">
+ <patternset>
+ <include name="wstools.*"/>
+ <include name="wsrunclient.*"/>
+ </patternset>
+ </unzip>
+
+ <unzip dest="${install.bin}" src="${jboss.jbossws.framework.lib}/jbossws-framework-scripts.zip">
+ <patternset>
+ <include name="wsprovide.*"/>
+ <include name="wsconsume.*"/>
+ </patternset>
+ </unzip>
+
+ <!-- Install JBossWS -->
+ <mkdir dir="${install.all.deploy}/jbossws.sar"/>
+ <unjar dest="${install.all.deploy}/jbossws.sar" src="${jboss.jbossws.native42.lib}/jbossws-native42.sar"/>
</target>
</project>
Modified: branches/JBPAPP_4_2/build/build-thirdparty.xml
===================================================================
--- branches/JBPAPP_4_2/build/build-thirdparty.xml 2007-10-25 20:23:58 UTC (rev 66453)
+++ branches/JBPAPP_4_2/build/build-thirdparty.xml 2007-10-25 20:41:11 UTC (rev 66454)
@@ -29,7 +29,7 @@
-->
<!-- set jbossws version -->
- <condition property="jbws.version" value="2.0.1.SP1" else="1.2.1.GA_CP01">
+ <condition property="jbws.version" value="2.0.1.SP2" else="1.2.1.GA_CP01">
<isset property="build.soa"/>
</condition>
Modified: branches/JBPAPP_4_2/build/build.xml
===================================================================
--- branches/JBPAPP_4_2/build/build.xml 2007-10-25 20:23:58 UTC (rev 66453)
+++ branches/JBPAPP_4_2/build/build.xml 2007-10-25 20:41:11 UTC (rev 66454)
@@ -79,8 +79,21 @@
<property name="groups" value="most"/>
<condition property="build-jdk5" value="ejb3x,ejb3">
- <isset property="HAVE_JDK_1.5"/>
+ <and>
+ <isset property="HAVE_JDK_1.5"/>
+ <not>
+ <isset property="build.soa"/>
+ </not>
+ </and>
</condition>
+
+ <condition property="build-jdk5" value="ejb3x,ejb3,webservices">
+ <and>
+ <isset property="HAVE_JDK_1.5"/>
+ <isset property="build.soa"/>
+ </and>
+ </condition>
+
<property name="build-jdk5" value=""/>
<!-- Sets up the module configuration. -->
@@ -111,6 +124,7 @@
<module name="tomcat"/>
<module name="transaction"/>
<module name="varia"/>
+ <module name="webservices"/>
<!-- Module groups -->
@@ -280,10 +294,10 @@
| target.
-->
- <target name="modules-all" depends="_buildmagic:modules:all">
+ <target name="modules-all" depends="conditional.eap.patches,_buildmagic:modules:all">
<antcall target="thirdparty" />
</target>
- <target name="modules-most" depends="_buildmagic:modules:most">
+ <target name="modules-most" depends="conditional.eap.patches,_buildmagic:modules:most">
<antcall target="thirdparty" />
</target>
<target name="modules-main" depends="_buildmagic:modules:main"/>
@@ -549,8 +563,18 @@
<ant antfile="build-distr.xml" target="_module-aspects-all"/>
</target>
+ <!-- =========== -->
+ <!-- Webservices -->
+ <!-- =========== -->
+ <target name="_module-webservices-most" if="build.soa">
+ <ant antfile="build-distr.xml" target="_module-webservices-most"/>
+ </target>
+ <target name="_module-webservices-all" depends="_module-webservices-most" if="build.soa">
+ <ant antfile="build-distr.xml" target="_module-webservices-all"/>
+ </target>
+
<!-- ============ -->
<!-- Hibernate -->
<!-- ============ -->
@@ -1260,6 +1284,144 @@
</replace>
</target>
+ <target name="conditional.eap.patches" depends="patch.for.42,patch.for.43"/>
+
+ <target name="patch.for.42" unless="build.soa">
+
+ <!-- Fix up the EOL characters for Windows files -->
+ <antcall target="fixEOL"/>
+
+ <replace file="../server/src/main/org/jboss/metadata/serviceref/ServiceRefDelegate.java"
+ summary="true">
+
+ <replacetoken><![CDATA[
+ SPIProvider spiProvider = SPIProviderResolver.getInstance().getProvider();
+ delegate = spiProvider.getSPI(ServiceRefHandlerFactory.class).getServiceRefHandler();
+]]></replacetoken>
+
+ <replacevalue><![CDATA[
+ Kernel kernel = KernelLocator.getKernel();
+ if (kernel != null)
+ {
+ KernelRegistry registry = kernel.getRegistry();
+ KernelRegistryEntry entry = registry.getEntry(ServiceRefHandler.BEAN_NAME);
+ delegate = (ServiceRefHandler)entry.getTarget();
+ }
+ else
+ {
+ String propName = ServiceRefHandler.class.getName();
+ String defaultImpl = "org.jboss.ws.core.client.ServiceRefHandlerImpl";
+ delegate = (ServiceRefHandler)FactoryLoader.loadFactory(propName, defaultImpl);
+ }
+]]></replacevalue>
+ </replace>
+
+ <replace file="../server/src/main/org/jboss/metadata/serviceref/ServiceRefDelegate.java"
+ summary="true">
+ <replacetoken><![CDATA[
+import org.jboss.logging.Logger;
+import org.jboss.wsf.spi.SPIProvider;
+import org.jboss.wsf.spi.SPIProviderResolver;
+import org.jboss.wsf.spi.deployment.UnifiedVirtualFile;
+import org.jboss.wsf.spi.serviceref.ServiceRefElement;
+import org.jboss.wsf.spi.serviceref.ServiceRefHandler;
+import org.jboss.wsf.spi.serviceref.ServiceRefHandlerFactory;
+]]></replacetoken>
+
+ <replacevalue><![CDATA[
+import org.jboss.logging.Logger;
+import org.jboss.wsf.spi.deployment.UnifiedVirtualFile;
+import org.jboss.wsf.spi.serviceref.ServiceRefElement;
+import org.jboss.wsf.spi.serviceref.ServiceRefHandler;
+]]></replacevalue>
+ </replace>
+
+ <replace file="../server/src/main/org/jboss/metadata/serviceref/ServiceRefDelegate.java"
+ summary="true">
+ <replacetoken><![CDATA[
+import javax.naming.Context;
+import javax.naming.NamingException;
+
+]]></replacetoken>
+
+ <replacevalue><![CDATA[
+import javax.naming.Context;
+import javax.naming.NamingException;
+import javax.xml.soap.FactoryLoader;
+
+]]></replacevalue>
+ </replace>
+ </target>
+
+ <target name="patch.for.43" if="build.soa">
+
+ <!-- Fix up the EOL characters for Windows files -->
+ <antcall target="fixEOL"/>
+
+ <replace file="../server/src/main/org/jboss/metadata/serviceref/ServiceRefDelegate.java"
+ summary="true">
+
+ <replacetoken><![CDATA[
+ Kernel kernel = KernelLocator.getKernel();
+ if (kernel != null)
+ {
+ KernelRegistry registry = kernel.getRegistry();
+ KernelRegistryEntry entry = registry.getEntry(ServiceRefHandler.BEAN_NAME);
+ delegate = (ServiceRefHandler)entry.getTarget();
+ }
+ else
+ {
+ String propName = ServiceRefHandler.class.getName();
+ String defaultImpl = "org.jboss.ws.core.client.ServiceRefHandlerImpl";
+ delegate = (ServiceRefHandler)FactoryLoader.loadFactory(propName, defaultImpl);
+ }
+]]></replacetoken>
+
+ <replacevalue><![CDATA[
+ SPIProvider spiProvider = SPIProviderResolver.getInstance().getProvider();
+ delegate = spiProvider.getSPI(ServiceRefHandlerFactory.class).getServiceRefHandler();
+]]></replacevalue>
+
+ </replace>
+
+ <replace file="../server/src/main/org/jboss/metadata/serviceref/ServiceRefDelegate.java"
+ summary="true">
+ <replacetoken><![CDATA[
+import org.jboss.logging.Logger;
+import org.jboss.wsf.spi.deployment.UnifiedVirtualFile;
+import org.jboss.wsf.spi.serviceref.ServiceRefElement;
+import org.jboss.wsf.spi.serviceref.ServiceRefHandler;
+]]></replacetoken>
+
+ <replacevalue><![CDATA[
+import org.jboss.logging.Logger;
+import org.jboss.wsf.spi.SPIProvider;
+import org.jboss.wsf.spi.SPIProviderResolver;
+import org.jboss.wsf.spi.deployment.UnifiedVirtualFile;
+import org.jboss.wsf.spi.serviceref.ServiceRefElement;
+import org.jboss.wsf.spi.serviceref.ServiceRefHandler;
+import org.jboss.wsf.spi.serviceref.ServiceRefHandlerFactory;
+]]></replacevalue>
+ </replace>
+
+ <replace file="..//server/src/main/org/jboss/metadata/serviceref/ServiceRefDelegate.java"
+ summary="true">
+
+ <replacetoken><![CDATA[
+import javax.naming.Context;
+import javax.naming.NamingException;
+import javax.xml.soap.FactoryLoader;
+
+]]></replacetoken>
+
+ <replacevalue><![CDATA[
+import javax.naming.Context;
+import javax.naming.NamingException;
+
+]]></replacevalue>
+ </replace>
+ </target>
+
<!-- Before executing <replace> task on Windows, convert the target files from -->
<!-- UNIX line termination (LF) to Windows line termination (CRLF) so that -->
<!-- <replace> does not break due to line termination inconsistencies -->
@@ -1273,6 +1435,7 @@
<fixcrlf srcdir="${install.production.conf}" includes="jboss-minimal.xml" eol="crlf"/>
<fixcrlf srcdir="${install.production.conf}" includes="jboss-service.xml" eol="crlf"/>
<fixcrlf srcdir="${install.production}/deploy" includes="jbossjca-service.xml" eol="crlf"/>
+ <fixcrlf srcdir="../server/src/main/org/jboss/metadata/serviceref" includes="ServiceRefDelegate.java" eol="crlf"/>
</target>
<!-- set proxy settings -->
Modified: branches/JBPAPP_4_2/ejb3/.classpath
===================================================================
--- branches/JBPAPP_4_2/ejb3/.classpath 2007-10-25 20:23:58 UTC (rev 66453)
+++ branches/JBPAPP_4_2/ejb3/.classpath 2007-10-25 20:41:11 UTC (rev 66454)
@@ -92,6 +92,7 @@
<classpathentry kind="lib" path="/thirdparty/dom4j/lib/dom4j.jar"/>
<classpathentry kind="lib" path="/thirdparty/jboss/dom4j-jarjar/lib/dom4j-jarjar.jar"/>
<classpathentry combineaccessrules="false" kind="src" path="/test"/>
- <classpathentry kind="lib" path="/thirdparty/jboss/jbossws/lib/jbossws-integration.jar" sourcepath="/home/tdiesler/svn/jbossws/trunk/jbossws-core/src/java"/>
+ <classpathentry kind="lib" path="/thirdparty/jboss/jbossws-spi/lib/jbossws-spi.jar"/>
+ <classpathentry kind="lib" path="/thirdparty/jboss/jbossws-common/lib/jbossws-common.jar"/>
<classpathentry kind="output" path="output/eclipse-classes"/>
</classpath>
Modified: branches/JBPAPP_4_2/ejb3/build-test.xml
===================================================================
--- branches/JBPAPP_4_2/ejb3/build-test.xml 2007-10-25 20:23:58 UTC (rev 66453)
+++ branches/JBPAPP_4_2/ejb3/build-test.xml 2007-10-25 20:41:11 UTC (rev 66454)
@@ -33,6 +33,18 @@
<property name="buildlog.level" value="info" />
<property environment="env"/>
+ <!-- Some properties are set for ws 2.x that aren't for 1.2.x. We therefore
+ make the classpathrefid dynamic. This is a hack and can probably solved
+ better..
+ -->
+ <condition property="jboss.jbossws.common.classpath.refid.name" value="jboss.jbossws.common.classpath" else="jboss.jbossws.classpath">
+ <isset property="build.soa"/>
+ </condition>
+
+ <condition property="jboss.jbossws.spi.classpath.refid.name" value="jboss.jbossws.spi.classpath" else="jboss.jbossws.classpath">
+ <isset property="build.soa"/>
+ </condition>
+
<!-- Set a hostname property based on COMPUTERNAME for win32, HOSTNAME
otherwise and initialize the node0/node1 cluster hostnames to localhost
and ${hostname} by default. If you cannot route multicast traffic between
@@ -192,7 +204,7 @@
<path refid="jboss.messaging-mq.classpath"/>
<path refid="jboss.test.classpath"/>
<path refid="jboss.ejb3.classpath"/>
- <!--path refid="jboss.webservice.classpath"/-->
+ <!--path refid="jboss.webservices.classpath"/-->
</path>
<!-- RMI Stub generation -->
Modified: branches/JBPAPP_4_2/ejb3/build.xml
===================================================================
--- branches/JBPAPP_4_2/ejb3/build.xml 2007-10-25 20:23:58 UTC (rev 66453)
+++ branches/JBPAPP_4_2/ejb3/build.xml 2007-10-25 20:41:11 UTC (rev 66454)
@@ -31,7 +31,18 @@
&buildmagic;
+ <!-- Some properties are set for ws 2.x that aren't for 1.2.x. We therefore
+ make the classpathrefid dynamic. This is a hack and can probably solved
+ better..
+ -->
+ <condition property="jboss.jbossws.common.classpath.refid.name" value="jboss.jbossws.common.classpath" else="jboss.jbossws.classpath">
+ <isset property="build.soa"/>
+ </condition>
+ <condition property="jboss.jbossws.spi.classpath.refid.name" value="jboss.jbossws.spi.classpath" else="jboss.jbossws.classpath">
+ <isset property="build.soa"/>
+ </condition>
+
<!-- ================================================================== -->
<!-- Initialization -->
<!-- ================================================================== -->
@@ -98,6 +109,8 @@
<!--path refid="jboss.jboss.vfs.classpath"/-->
<path refid="quartz.quartz.classpath"/>
<path refid="jboss.jbossws.classpath"/>
+ <path refid="${jboss.jbossws.common.classpath.refid.name}"/>
+ <path refid="${jboss.jbossws.spi.classpath.refid.name}"/>
<path refid="jboss.jbossxb.classpath"/>
<path refid="jacorb.jacorb.classpath"/>
<path refid="dom4j.dom4j.classpath"/>
Modified: branches/JBPAPP_4_2/ejb3/src/main/org/jboss/ejb3/metamodel/EjbJarDDObjectFactory.java
===================================================================
--- branches/JBPAPP_4_2/ejb3/src/main/org/jboss/ejb3/metamodel/EjbJarDDObjectFactory.java 2007-10-25 20:23:58 UTC (rev 66453)
+++ branches/JBPAPP_4_2/ejb3/src/main/org/jboss/ejb3/metamodel/EjbJarDDObjectFactory.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -40,7 +40,7 @@
import org.jboss.metamodel.descriptor.SecurityRoleRef;
import org.jboss.util.StringPropertyReplacer;
import org.jboss.util.xml.JBossEntityResolver;
-import org.jboss.ws.integration.ServiceRefMetaData;
+import org.jboss.wsf.spi.serviceref.ServiceRefMetaData;
import org.jboss.xb.binding.JBossXBException;
import org.jboss.xb.binding.ObjectModelFactory;
import org.jboss.xb.binding.Unmarshaller;
Modified: branches/JBPAPP_4_2/ejb3/src/main/org/jboss/ejb3/metamodel/EnterpriseBeans.java
===================================================================
--- branches/JBPAPP_4_2/ejb3/src/main/org/jboss/ejb3/metamodel/EnterpriseBeans.java 2007-10-25 20:23:58 UTC (rev 66453)
+++ branches/JBPAPP_4_2/ejb3/src/main/org/jboss/ejb3/metamodel/EnterpriseBeans.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -35,7 +35,7 @@
import org.jboss.metamodel.descriptor.MessageDestinationRef;
import org.jboss.metamodel.descriptor.ResourceEnvRef;
import org.jboss.metamodel.descriptor.ResourceRef;
-import org.jboss.ws.integration.ServiceRefMetaData;
+import org.jboss.wsf.spi.serviceref.ServiceRefMetaData;
/**
* Represents EJB elements of the ejb-jar.xml deployment descriptor for the 1.4
Modified: branches/JBPAPP_4_2/ejb3/src/main/org/jboss/ejb3/metamodel/Injectable.java
===================================================================
--- branches/JBPAPP_4_2/ejb3/src/main/org/jboss/ejb3/metamodel/Injectable.java 2007-10-25 20:23:58 UTC (rev 66453)
+++ branches/JBPAPP_4_2/ejb3/src/main/org/jboss/ejb3/metamodel/Injectable.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -32,7 +32,7 @@
import org.jboss.metamodel.descriptor.PersistenceUnitRef;
import org.jboss.metamodel.descriptor.ResourceEnvRef;
import org.jboss.metamodel.descriptor.ResourceRef;
-import org.jboss.ws.integration.ServiceRefMetaData;
+import org.jboss.wsf.spi.serviceref.ServiceRefMetaData;
/**
*
Modified: branches/JBPAPP_4_2/ejb3/src/main/org/jboss/ejb3/metamodel/JBossClientDDObjectFactory.java
===================================================================
--- branches/JBPAPP_4_2/ejb3/src/main/org/jboss/ejb3/metamodel/JBossClientDDObjectFactory.java 2007-10-25 20:23:58 UTC (rev 66453)
+++ branches/JBPAPP_4_2/ejb3/src/main/org/jboss/ejb3/metamodel/JBossClientDDObjectFactory.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -31,7 +31,7 @@
import org.jboss.metamodel.descriptor.ResourceEnvRef;
import org.jboss.metamodel.descriptor.ResourceRef;
import org.jboss.util.xml.JBossEntityResolver;
-import org.jboss.ws.integration.ServiceRefMetaData;
+import org.jboss.wsf.spi.serviceref.ServiceRefMetaData;
import org.jboss.xb.binding.JBossXBException;
import org.jboss.xb.binding.Unmarshaller;
import org.jboss.xb.binding.UnmarshallerFactory;
Modified: branches/JBPAPP_4_2/ejb3/src/main/org/jboss/ejb3/metamodel/JBossDDObjectFactory.java
===================================================================
--- branches/JBPAPP_4_2/ejb3/src/main/org/jboss/ejb3/metamodel/JBossDDObjectFactory.java 2007-10-25 20:23:58 UTC (rev 66453)
+++ branches/JBPAPP_4_2/ejb3/src/main/org/jboss/ejb3/metamodel/JBossDDObjectFactory.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -36,7 +36,7 @@
import org.jboss.metamodel.descriptor.ResourceRef;
import org.jboss.security.SecurityRoleMetaData;
import org.jboss.util.xml.JBossEntityResolver;
-import org.jboss.ws.integration.ServiceRefMetaData;
+import org.jboss.wsf.spi.serviceref.ServiceRefMetaData;
import org.jboss.xb.binding.JBossXBException;
import org.jboss.xb.binding.ObjectModelFactory;
import org.jboss.xb.binding.Unmarshaller;
Modified: branches/JBPAPP_4_2/ejb3/src/main/org/jboss/injection/WebServiceRefHandler.java
===================================================================
--- branches/JBPAPP_4_2/ejb3/src/main/org/jboss/injection/WebServiceRefHandler.java 2007-10-25 20:23:58 UTC (rev 66453)
+++ branches/JBPAPP_4_2/ejb3/src/main/org/jboss/injection/WebServiceRefHandler.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -36,7 +36,7 @@
import org.jboss.logging.Logger;
import org.jboss.metadata.serviceref.ServiceRefDelegate;
import org.jboss.metamodel.descriptor.EnvironmentRefGroup;
-import org.jboss.ws.integration.ServiceRefMetaData;
+import org.jboss.wsf.spi.serviceref.ServiceRefMetaData;
/**
* Handle @WebServiceRef annotations
Modified: branches/JBPAPP_4_2/ejb3/src/main/org/jboss/injection/WebServiceRefInjector.java
===================================================================
--- branches/JBPAPP_4_2/ejb3/src/main/org/jboss/injection/WebServiceRefInjector.java 2007-10-25 20:23:58 UTC (rev 66453)
+++ branches/JBPAPP_4_2/ejb3/src/main/org/jboss/injection/WebServiceRefInjector.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -33,8 +33,8 @@
import org.jboss.ejb3.EJBContainer;
import org.jboss.logging.Logger;
import org.jboss.metadata.serviceref.ServiceRefDelegate;
-import org.jboss.ws.integration.ServiceRefMetaData;
-import org.jboss.ws.integration.URLLoaderAdapter;
+import org.jboss.wsf.common.URLLoaderAdapter;
+import org.jboss.wsf.spi.serviceref.ServiceRefMetaData;
/**
* Inject a jaxws web service ref.
Modified: branches/JBPAPP_4_2/ejb3/src/main/org/jboss/metamodel/descriptor/EnvironmentRefGroup.java
===================================================================
--- branches/JBPAPP_4_2/ejb3/src/main/org/jboss/metamodel/descriptor/EnvironmentRefGroup.java 2007-10-25 20:23:58 UTC (rev 66453)
+++ branches/JBPAPP_4_2/ejb3/src/main/org/jboss/metamodel/descriptor/EnvironmentRefGroup.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -27,7 +27,7 @@
import java.util.List;
import org.jboss.logging.Logger;
-import org.jboss.ws.integration.ServiceRefMetaData;
+import org.jboss.wsf.spi.serviceref.ServiceRefMetaData;
/**
* @author <a href="mailto:bdecoste at jboss.com">William DeCoste</a>
Modified: branches/JBPAPP_4_2/ejb3/src/test/org/jboss/ejb3/test/ejbthree959/Status.java
===================================================================
--- branches/JBPAPP_4_2/ejb3/src/test/org/jboss/ejb3/test/ejbthree959/Status.java 2007-10-25 20:23:58 UTC (rev 66453)
+++ branches/JBPAPP_4_2/ejb3/src/test/org/jboss/ejb3/test/ejbthree959/Status.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -27,7 +27,7 @@
* Comment
*
* @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
- * @version $Revision: $
+ * @version $Revision$
*/
@Remote
public interface Status
Modified: branches/JBPAPP_4_2/ejb3/src/test/org/jboss/ejb3/test/ejbthree959/StatusBean.java
===================================================================
--- branches/JBPAPP_4_2/ejb3/src/test/org/jboss/ejb3/test/ejbthree959/StatusBean.java 2007-10-25 20:23:58 UTC (rev 66453)
+++ branches/JBPAPP_4_2/ejb3/src/test/org/jboss/ejb3/test/ejbthree959/StatusBean.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -27,7 +27,7 @@
* Dirty bean to check status of MyStatefulBean
*
* @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
- * @version $Revision: $
+ * @version $Revision$
*/
@Stateless
public class StatusBean implements Status
Modified: branches/JBPAPP_4_2/ejb3/src/test/org/jboss/ejb3/test/ejbthree994/BusinessInterface.java
===================================================================
--- branches/JBPAPP_4_2/ejb3/src/test/org/jboss/ejb3/test/ejbthree994/BusinessInterface.java 2007-10-25 20:23:58 UTC (rev 66453)
+++ branches/JBPAPP_4_2/ejb3/src/test/org/jboss/ejb3/test/ejbthree994/BusinessInterface.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -24,7 +24,7 @@
/**
*
* @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
- * @version $Revision: $
+ * @version $Revision$
*/
public interface BusinessInterface
{
Modified: branches/JBPAPP_4_2/ejb3/src/test/org/jboss/ejb3/test/ejbthree994/StatefulBean.java
===================================================================
--- branches/JBPAPP_4_2/ejb3/src/test/org/jboss/ejb3/test/ejbthree994/StatefulBean.java 2007-10-25 20:23:58 UTC (rev 66453)
+++ branches/JBPAPP_4_2/ejb3/src/test/org/jboss/ejb3/test/ejbthree994/StatefulBean.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -29,7 +29,7 @@
/**
*
* @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
- * @version $Revision: $
+ * @version $Revision$
*/
@Stateful
@RemoteBindings({
Modified: branches/JBPAPP_4_2/ejb3/src/test/org/jboss/ejb3/test/ejbthree994/unit/MultiBindingsTestCase.java
===================================================================
--- branches/JBPAPP_4_2/ejb3/src/test/org/jboss/ejb3/test/ejbthree994/unit/MultiBindingsTestCase.java 2007-10-25 20:23:58 UTC (rev 66453)
+++ branches/JBPAPP_4_2/ejb3/src/test/org/jboss/ejb3/test/ejbthree994/unit/MultiBindingsTestCase.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -36,7 +36,7 @@
* Test if multiple remote bindings work correctly.
*
* @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
- * @version $Revision: $
+ * @version $Revision$
*/
public class MultiBindingsTestCase extends JBossTestCase
{
Modified: branches/JBPAPP_4_2/ejb3/src/test/org/jboss/ejb3/test/jbas4489/BMTCleanUp.java
===================================================================
--- branches/JBPAPP_4_2/ejb3/src/test/org/jboss/ejb3/test/jbas4489/BMTCleanUp.java 2007-10-25 20:23:58 UTC (rev 66453)
+++ branches/JBPAPP_4_2/ejb3/src/test/org/jboss/ejb3/test/jbas4489/BMTCleanUp.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -25,7 +25,7 @@
* Comment
*
* @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
- * @version $Revision: $
+ * @version $Revision$
*/
public interface BMTCleanUp
{
Modified: branches/JBPAPP_4_2/ejb3/src/test/org/jboss/ejb3/test/jbas4489/BMTCleanUpBean.java
===================================================================
--- branches/JBPAPP_4_2/ejb3/src/test/org/jboss/ejb3/test/jbas4489/BMTCleanUpBean.java 2007-10-25 20:23:58 UTC (rev 66453)
+++ branches/JBPAPP_4_2/ejb3/src/test/org/jboss/ejb3/test/jbas4489/BMTCleanUpBean.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -39,7 +39,7 @@
* Comment
*
* @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
- * @version $Revision: $
+ * @version $Revision$
*/
@Stateless
@Remote(BMTCleanUp.class)
Modified: branches/JBPAPP_4_2/ejb3/src/test/org/jboss/ejb3/test/jbas4489/unit/BMTCleanUpUnitTestCase.java
===================================================================
--- branches/JBPAPP_4_2/ejb3/src/test/org/jboss/ejb3/test/jbas4489/unit/BMTCleanUpUnitTestCase.java 2007-10-25 20:23:58 UTC (rev 66453)
+++ branches/JBPAPP_4_2/ejb3/src/test/org/jboss/ejb3/test/jbas4489/unit/BMTCleanUpUnitTestCase.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -30,7 +30,7 @@
* Comment
*
* @author <a href="mailto:carlo.dewolf at jboss.com">Carlo de Wolf</a>
- * @version $Revision: $
+ * @version $Revision$
*/
public class BMTCleanUpUnitTestCase extends JBossTestCase
{
Modified: branches/JBPAPP_4_2/ejb3x/src/main/javax/annotation/PostConstruct.java
===================================================================
--- branches/JBPAPP_4_2/ejb3x/src/main/javax/annotation/PostConstruct.java 2007-10-25 20:23:58 UTC (rev 66453)
+++ branches/JBPAPP_4_2/ejb3x/src/main/javax/annotation/PostConstruct.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -33,7 +33,7 @@
* first business method is invoked on the bean.
*
* @author <a href="mailto:kabir.khan at jboss.org">Kabir Khan</a>
- * @version $Revision: 57283 $
+ * @version $Revision$
*/
@Documented
@Target({METHOD})
Modified: branches/JBPAPP_4_2/ejb3x/src/main/javax/annotation/PreDestroy.java
===================================================================
--- branches/JBPAPP_4_2/ejb3x/src/main/javax/annotation/PreDestroy.java 2007-10-25 20:23:58 UTC (rev 66453)
+++ branches/JBPAPP_4_2/ejb3x/src/main/javax/annotation/PreDestroy.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -32,7 +32,7 @@
* annotation has completed.
*
* @author <a href="mailto:kabir.khan at jboss.org">Kabir Khan</a>
- * @version $Revision: 57283 $
+ * @version $Revision$
*/
@Documented
@Target({METHOD})
Modified: branches/JBPAPP_4_2/ejb3x/src/main/javax/annotation/security/DenyAll.java
===================================================================
--- branches/JBPAPP_4_2/ejb3x/src/main/javax/annotation/security/DenyAll.java 2007-10-25 20:23:58 UTC (rev 66453)
+++ branches/JBPAPP_4_2/ejb3x/src/main/javax/annotation/security/DenyAll.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -32,7 +32,7 @@
* execute the specified method(s).
*
* @author <a href="mailto:bill at jboss.org">Bill Burke</a>
- * @version $Revision: 57283 $
+ * @version $Revision$
*/
@Documented
@Target({ElementType.METHOD})
Modified: branches/JBPAPP_4_2/ejb3x/src/main/javax/annotation/security/PermitAll.java
===================================================================
--- branches/JBPAPP_4_2/ejb3x/src/main/javax/annotation/security/PermitAll.java 2007-10-25 20:23:58 UTC (rev 66453)
+++ branches/JBPAPP_4_2/ejb3x/src/main/javax/annotation/security/PermitAll.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -32,7 +32,7 @@
* execute the specified method(s).
*
* @author <a href="mailto:bill at jboss.org">Bill Burke</a>
- * @version $Revision: 57283 $
+ * @version $Revision$
*/
@Documented
@Target({ElementType.TYPE, ElementType.METHOD})
Modified: branches/JBPAPP_4_2/ejb3x/src/main/javax/ejb/EJBs.java
===================================================================
--- branches/JBPAPP_4_2/ejb3x/src/main/javax/ejb/EJBs.java 2007-10-25 20:23:58 UTC (rev 66453)
+++ branches/JBPAPP_4_2/ejb3x/src/main/javax/ejb/EJBs.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -32,7 +32,7 @@
* references on a bean class.
*
* @author <a href="mailto:bill at jboss.org">Bill Burke</a>
- * @version $Revision: 45433 $
+ * @version $Revision$
*/
@Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME)
public @interface EJBs
Modified: branches/JBPAPP_4_2/ejb3x/src/main/javax/ejb/Local.java
===================================================================
--- branches/JBPAPP_4_2/ejb3x/src/main/javax/ejb/Local.java 2007-10-25 20:23:58 UTC (rev 66453)
+++ branches/JBPAPP_4_2/ejb3x/src/main/javax/ejb/Local.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -30,7 +30,7 @@
* Bean class annotation that specifies remote interfaces of the Session bean.
*
* @author <a href="mailto:bill at jboss.org">Bill Burke</a>
- * @version $Revision: 37459 $
+ * @version $Revision$
*/
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
Modified: branches/JBPAPP_4_2/ejb3x/src/main/javax/ejb/LocalHome.java
===================================================================
--- branches/JBPAPP_4_2/ejb3x/src/main/javax/ejb/LocalHome.java 2007-10-25 20:23:58 UTC (rev 66453)
+++ branches/JBPAPP_4_2/ejb3x/src/main/javax/ejb/LocalHome.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -30,7 +30,7 @@
* Annotation for specifying the local home interface for a bean
*
* @author <a href="mailto:bill at jboss.org">Bill Burke</a>
- * @version $Revision: 39861 $
+ * @version $Revision$
*/
@Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME)
public @interface LocalHome
Modified: branches/JBPAPP_4_2/ejb3x/src/main/javax/ejb/Remote.java
===================================================================
--- branches/JBPAPP_4_2/ejb3x/src/main/javax/ejb/Remote.java 2007-10-25 20:23:58 UTC (rev 66453)
+++ branches/JBPAPP_4_2/ejb3x/src/main/javax/ejb/Remote.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -30,7 +30,7 @@
* Bean class annotation that specifies remote interfaces of the Session bean.
*
* @author <a href="mailto:bill at jboss.org">Bill Burke</a>
- * @version $Revision: 37459 $
+ * @version $Revision$
*/
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
Modified: branches/JBPAPP_4_2/ejb3x/src/main/javax/ejb/RemoteHome.java
===================================================================
--- branches/JBPAPP_4_2/ejb3x/src/main/javax/ejb/RemoteHome.java 2007-10-25 20:23:58 UTC (rev 66453)
+++ branches/JBPAPP_4_2/ejb3x/src/main/javax/ejb/RemoteHome.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -30,7 +30,7 @@
* Annotation for specifying the remote home interface for a bean
*
* @author <a href="mailto:bill at jboss.org">Bill Burke</a>
- * @version $Revision: 39861 $
+ * @version $Revision$
*/
@Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME)
public @interface RemoteHome
Modified: branches/JBPAPP_4_2/ejb3x/src/main/javax/ejb/TransactionManagement.java
===================================================================
--- branches/JBPAPP_4_2/ejb3x/src/main/javax/ejb/TransactionManagement.java 2007-10-25 20:23:58 UTC (rev 66453)
+++ branches/JBPAPP_4_2/ejb3x/src/main/javax/ejb/TransactionManagement.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -34,7 +34,7 @@
* demarcation.
*
* @author <a href="mailto:bdecoste at jboss.com">William DeCoste</a>
- * @version $Revision: 37459 $
+ * @version $Revision$
*/
@Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME)
public @interface TransactionManagement
Modified: branches/JBPAPP_4_2/server/.classpath
===================================================================
--- branches/JBPAPP_4_2/server/.classpath 2007-10-25 20:23:58 UTC (rev 66453)
+++ branches/JBPAPP_4_2/server/.classpath 2007-10-25 20:41:11 UTC (rev 66454)
@@ -25,7 +25,8 @@
<classpathentry kind="lib" path="/thirdparty/jboss/serialization/lib/jboss-serialization.jar"/>
<classpathentry kind="lib" path="/thirdparty/jboss/jbossws/lib/jboss-jaxrpc.jar"/>
<classpathentry kind="lib" path="/thirdparty/jboss/jbossws/lib/jboss-saaj.jar"/>
- <classpathentry kind="lib" path="/thirdparty/jboss/jbossws/lib/jbossws-integration.jar"/>
<classpathentry kind="lib" path="/thirdparty/jboss/microcontainer/lib/jboss-microcontainer.jar"/>
+ <classpathentry kind="lib" path="/thirdparty/jboss/jbossws-spi/lib/jbossws-spi.jar"/>
+ <classpathentry kind="lib" path="/thirdparty/jboss/jbossws-common/lib/jbossws-common.jar"/>
<classpathentry kind="output" path="output/eclipse-classes"/>
</classpath>
Modified: branches/JBPAPP_4_2/server/build.xml
===================================================================
--- branches/JBPAPP_4_2/server/build.xml 2007-10-25 20:23:58 UTC (rev 66453)
+++ branches/JBPAPP_4_2/server/build.xml 2007-10-25 20:41:11 UTC (rev 66454)
@@ -32,6 +32,18 @@
&buildmagic;
+ <!-- Some properties are set for ws 2.x that aren't for 1.2.x. We therefore
+ make the classpathrefid dynamic. This is a hack and can probably solved
+ better..
+ -->
+ <condition property="jboss.jbossws.common.classpath.refid.name" value="jboss.jbossws.common.classpath" else="jboss.jbossws.classpath">
+ <isset property="build.soa"/>
+ </condition>
+
+ <condition property="jboss.jbossws.spi.classpath.refid.name" value="jboss.jbossws.spi.classpath" else="jboss.jbossws.classpath">
+ <isset property="build.soa"/>
+ </condition>
+
<!-- ================================================================== -->
<!-- Initialization -->
<!-- ================================================================== -->
@@ -87,6 +99,8 @@
<path refid="ibm.wsdl4j.classpath"/>
<path refid="jboss.microcontainer.classpath"/>
<path refid="jboss.jbossws.classpath"/>
+ <path refid="${jboss.jbossws.common.classpath.refid.name}"/>
+ <path refid="${jboss.jbossws.spi.classpath.refid.name}"/>
<path refid="jboss.jbossxb.classpath"/>
<path refid="junit.junit.classpath"/>
<path refid="oswego.concurrent.classpath"/>
Modified: branches/JBPAPP_4_2/server/src/main/org/jboss/deployment/ClientDeployer.java
===================================================================
--- branches/JBPAPP_4_2/server/src/main/org/jboss/deployment/ClientDeployer.java 2007-10-25 20:23:58 UTC (rev 66453)
+++ branches/JBPAPP_4_2/server/src/main/org/jboss/deployment/ClientDeployer.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -43,10 +43,9 @@
import org.jboss.metadata.XmlFileLoader;
import org.jboss.metadata.serviceref.ServiceRefDelegate;
import org.jboss.util.naming.Util;
-import org.jboss.ws.integration.ServiceRefHandler;
-import org.jboss.ws.integration.ServiceRefMetaData;
-import org.jboss.ws.integration.URLLoaderAdapter;
-import org.jboss.ws.integration.UnifiedVirtualFile;
+import org.jboss.wsf.common.URLLoaderAdapter;
+import org.jboss.wsf.spi.deployment.UnifiedVirtualFile;
+import org.jboss.wsf.spi.serviceref.ServiceRefMetaData;
import org.w3c.dom.Element;
/**
Modified: branches/JBPAPP_4_2/server/src/main/org/jboss/ejb/Container.java
===================================================================
--- branches/JBPAPP_4_2/server/src/main/org/jboss/ejb/Container.java 2007-10-25 20:23:58 UTC (rev 66453)
+++ branches/JBPAPP_4_2/server/src/main/org/jboss/ejb/Container.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -87,9 +87,9 @@
import org.jboss.util.naming.ENCThreadLocalKey;
import org.jboss.util.naming.NonSerializableFactory;
import org.jboss.util.naming.Util;
-import org.jboss.ws.integration.ServiceRefMetaData;
-import org.jboss.ws.integration.URLLoaderAdapter;
-import org.jboss.ws.integration.UnifiedVirtualFile;
+import org.jboss.wsf.common.URLLoaderAdapter;
+import org.jboss.wsf.spi.deployment.UnifiedVirtualFile;
+import org.jboss.wsf.spi.serviceref.ServiceRefMetaData;
import org.omg.CORBA.ORB;
/**
Modified: branches/JBPAPP_4_2/server/src/main/org/jboss/metadata/BeanMetaData.java
===================================================================
--- branches/JBPAPP_4_2/server/src/main/org/jboss/metadata/BeanMetaData.java 2007-10-25 20:23:58 UTC (rev 66453)
+++ branches/JBPAPP_4_2/server/src/main/org/jboss/metadata/BeanMetaData.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -37,7 +37,7 @@
import org.jboss.security.AnybodyPrincipal;
import org.jboss.security.NobodyPrincipal;
import org.jboss.security.SimplePrincipal;
-import org.jboss.ws.integration.ServiceRefMetaData;
+import org.jboss.wsf.spi.serviceref.ServiceRefMetaData;
import org.w3c.dom.Element;
import EDU.oswego.cs.dl.util.concurrent.ConcurrentReaderHashMap;
Modified: branches/JBPAPP_4_2/server/src/main/org/jboss/metadata/ClientMetaData.java
===================================================================
--- branches/JBPAPP_4_2/server/src/main/org/jboss/metadata/ClientMetaData.java 2007-10-25 20:23:58 UTC (rev 66453)
+++ branches/JBPAPP_4_2/server/src/main/org/jboss/metadata/ClientMetaData.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -25,7 +25,7 @@
import org.jboss.deployment.DeploymentException;
import org.jboss.metadata.serviceref.ServiceRefDelegate;
-import org.jboss.ws.integration.ServiceRefMetaData;
+import org.jboss.wsf.spi.serviceref.ServiceRefMetaData;
import org.w3c.dom.Element;
import java.util.ArrayList;
Modified: branches/JBPAPP_4_2/server/src/main/org/jboss/metadata/WebMetaData.java
===================================================================
--- branches/JBPAPP_4_2/server/src/main/org/jboss/metadata/WebMetaData.java 2007-10-25 20:23:58 UTC (rev 66453)
+++ branches/JBPAPP_4_2/server/src/main/org/jboss/metadata/WebMetaData.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -41,7 +41,7 @@
import org.jboss.mx.util.ObjectNameFactory;
import org.jboss.security.RunAsIdentity;
import org.jboss.security.SecurityRoleMetaData;
-import org.jboss.ws.integration.ServiceRefMetaData;
+import org.jboss.wsf.spi.serviceref.ServiceRefMetaData;
import org.w3c.dom.Element;
/** A representation of the web.xml and jboss-web.xml deployment
Modified: branches/JBPAPP_4_2/server/src/main/org/jboss/metadata/serviceref/ServiceRefDelegate.java
===================================================================
--- branches/JBPAPP_4_2/server/src/main/org/jboss/metadata/serviceref/ServiceRefDelegate.java 2007-10-25 20:23:58 UTC (rev 66453)
+++ branches/JBPAPP_4_2/server/src/main/org/jboss/metadata/serviceref/ServiceRefDelegate.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -25,17 +25,19 @@
import javax.naming.Context;
import javax.naming.NamingException;
-import javax.xml.soap.FactoryLoader;
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;
-import org.jboss.ws.integration.ServiceRefElement;
-import org.jboss.ws.integration.ServiceRefHandler;
-import org.jboss.ws.integration.ServiceRefMetaData;
-import org.jboss.ws.integration.UnifiedVirtualFile;
+import org.jboss.wsf.spi.SPIProvider;
+import org.jboss.wsf.spi.SPIProviderResolver;
+import org.jboss.wsf.spi.deployment.UnifiedVirtualFile;
+import org.jboss.wsf.spi.serviceref.ServiceRefElement;
+import org.jboss.wsf.spi.serviceref.ServiceRefHandler;
+import org.jboss.wsf.spi.serviceref.ServiceRefHandlerFactory;
+import org.jboss.wsf.spi.serviceref.ServiceRefMetaData;
+import org.jboss.wsf.spi.util.KernelLocator;
import org.jboss.xb.binding.UnmarshallingContext;
import org.w3c.dom.Element;
import org.xml.sax.Attributes;
@@ -57,19 +59,8 @@
{
if (delegate == null)
{
- Kernel kernel = KernelLocator.getKernel();
- if (kernel != null)
- {
- KernelRegistry registry = kernel.getRegistry();
- KernelRegistryEntry entry = registry.getEntry(ServiceRefHandler.BEAN_NAME);
- delegate = (ServiceRefHandler)entry.getTarget();
- }
- else
- {
- String propName = ServiceRefHandler.class.getName();
- String defaultImpl = "org.jboss.ws.core.client.ServiceRefHandlerImpl";
- delegate = (ServiceRefHandler)FactoryLoader.loadFactory(propName, defaultImpl);
- }
+ SPIProvider spiProvider = SPIProviderResolver.getInstance().getProvider();
+ delegate = spiProvider.getSPI(ServiceRefHandlerFactory.class).getServiceRefHandler();
}
if (delegate == null)
Modified: branches/JBPAPP_4_2/server/src/main/org/jboss/metadata/serviceref/ServiceRefObjectFactory.java
===================================================================
--- branches/JBPAPP_4_2/server/src/main/org/jboss/metadata/serviceref/ServiceRefObjectFactory.java 2007-10-25 20:23:58 UTC (rev 66453)
+++ branches/JBPAPP_4_2/server/src/main/org/jboss/metadata/serviceref/ServiceRefObjectFactory.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -24,7 +24,7 @@
// $Id$
import org.jboss.logging.Logger;
-import org.jboss.ws.integration.ServiceRefElement;
+import org.jboss.wsf.spi.serviceref.ServiceRefElement;
import org.jboss.xb.binding.ObjectModelFactory;
import org.jboss.xb.binding.UnmarshallingContext;
import org.w3c.dom.DocumentType;
Modified: branches/JBPAPP_4_2/server/src/main/org/jboss/web/AbstractWebDeployer.java
===================================================================
--- branches/JBPAPP_4_2/server/src/main/org/jboss/web/AbstractWebDeployer.java 2007-10-25 20:23:58 UTC (rev 66453)
+++ branches/JBPAPP_4_2/server/src/main/org/jboss/web/AbstractWebDeployer.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -58,9 +58,9 @@
import org.jboss.util.naming.NonSerializableFactory;
import org.jboss.util.naming.Util;
import org.jboss.web.AbstractWebContainer.WebDescriptorParser;
-import org.jboss.ws.integration.ServiceRefMetaData;
-import org.jboss.ws.integration.URLLoaderAdapter;
-import org.jboss.ws.integration.UnifiedVirtualFile;
+import org.jboss.wsf.common.URLLoaderAdapter;
+import org.jboss.wsf.spi.deployment.UnifiedVirtualFile;
+import org.jboss.wsf.spi.serviceref.ServiceRefMetaData;
import org.omg.CORBA.ORB;
/** A template pattern class for web deployer integration into JBoss. This class
Modified: branches/JBPAPP_4_2/testsuite/build.xml
===================================================================
--- branches/JBPAPP_4_2/testsuite/build.xml 2007-10-25 20:23:58 UTC (rev 66453)
+++ branches/JBPAPP_4_2/testsuite/build.xml 2007-10-25 20:41:11 UTC (rev 66454)
@@ -88,7 +88,20 @@
&libraries;
+ <!-- For backward compatibility, support the jbosstest.useJBM switch for now -->
+ <condition property="jbosstest.test.soa" value="true">
+ <isset property="jbosstest.useJBM"/>
+ </condition>
+
<!-- define jbossws classpath explicitly because jbossws/lib contains other integration layers as well -->
+
+ <!-- jbossws.integration.classpath needs to be empty for ws 2 -->
+ <condition property="jbossws.integration.classpath.refid.name" value="jbosstest.test.soa.empty.placeholder.refid.name" else="jbossws.integration.classpath">
+ <isset property="jbosstest.test.soa"/>
+ </condition>
+
+ <path id="jbosstest.test.soa.empty.placeholder.refid.name"/>
+
<path id="jbossws.integration.classpath">
<pathelement path="${jboss.jbossws.lib}/jbossws-jboss42-integration.jar"/>
<pathelement path="${jboss.jbossws.lib}/jbossws-client.jar"/>
@@ -117,7 +130,7 @@
<path refid="jboss.profiler.jvmti.classpath"/>
<path refid="jboss.remoting.classpath"/>
<path refid="jboss.web.classpath"/>
- <path refid="jbossws.integration.classpath"/>
+ <path refid="${jbossws.integration.classpath.refid.name}"/>
<path refid="jgroups.jgroups.classpath"/>
<path refid="joesnmp.joesnmp.classpath"/>
<path refid="junit.junit.classpath"/>
@@ -1434,7 +1447,7 @@
| server distribution build.
-->
- <target name="tests-standard-unit-soa" if="jbosstest.useJBM">
+ <target name="tests-standard-unit-soa" if="jbosstest.test.soa">
<echo>
<![CDATA[
*** tests-standard-unit-soa ***
@@ -1480,7 +1493,7 @@
</target>
- <target name="tests-standard-unit-standard" unless="jbosstest.useJBM">
+ <target name="tests-standard-unit-standard" unless="jbosstest.test.soa">
<echo>
<![CDATA[
**** tests-standard-unit-standard ****
@@ -1560,7 +1573,7 @@
<!-- Normal stress tests (including mq tests) -->
- <batchtest todir="${build.reports}" haltonerror="${junit.batchtest.haltonerror}" haltonfailure="${junit.batchtest.haltonfailure}" fork="${junit.batchtest.fork}" unless="jbosstest.useJBM">
+ <batchtest todir="${build.reports}" haltonerror="${junit.batchtest.haltonerror}" haltonfailure="${junit.batchtest.haltonfailure}" fork="${junit.batchtest.fork}" unless="jbosstest.test.soa">
<fileset dir="${build.classes}">
<include name="**/*StressTestCase.class"/>
<patternset refid="all.excludes"/>
@@ -1569,7 +1582,7 @@
<!-- Normal stress tests (excluding mq tests) -->
- <batchtest todir="${build.reports}" haltonerror="${junit.batchtest.haltonerror}" haltonfailure="${junit.batchtest.haltonfailure}" fork="${junit.batchtest.fork}" if="jbosstest.useJBM">
+ <batchtest todir="${build.reports}" haltonerror="${junit.batchtest.haltonerror}" haltonfailure="${junit.batchtest.haltonfailure}" fork="${junit.batchtest.fork}" if="jbosstest.test.soa">
<fileset dir="${build.classes}">
<include name="**/*StressTestCase.class"/>
<patternset refid="all.excludes"/>
Modified: branches/JBPAPP_4_2/testsuite/deprecated-build.xml
===================================================================
--- branches/JBPAPP_4_2/testsuite/deprecated-build.xml 2007-10-25 20:23:58 UTC (rev 66453)
+++ branches/JBPAPP_4_2/testsuite/deprecated-build.xml 2007-10-25 20:41:11 UTC (rev 66454)
@@ -160,7 +160,7 @@
<path refid="jboss.system.classpath"/>
<path refid="jboss.transaction.classpath"/>
<path refid="jboss.varia.classpath"/>
- <path refid="jboss.webservice.classpath"/>
+ <path refid="jboss.webservices.classpath"/>
</path>
<!-- ===== -->
Modified: branches/JBPAPP_4_2/testsuite/imports/config/tests-jacc.xml
===================================================================
--- branches/JBPAPP_4_2/testsuite/imports/config/tests-jacc.xml 2007-10-25 20:23:58 UTC (rev 66453)
+++ branches/JBPAPP_4_2/testsuite/imports/config/tests-jacc.xml 2007-10-25 20:41:11 UTC (rev 66454)
@@ -147,7 +147,6 @@
<include name="deploy/hsqldb-ds.xml"/>
<include name="deploy/jboss-web.deployer/**"/>
<include name="deploy/jbossws.sar/**"/>
- <include name="deploy/jbossws.sar/**"/>
<include name="deploy/client-deployer-service.xml"/>
<include name="deploy/ear-deployer.xml"/>
<include name="deploy/ejb-deployer.xml"/>
@@ -220,7 +219,6 @@
<include name="deploy/hsqldb-ds.xml"/>
<include name="deploy/jboss-web.deployer/**"/>
<include name="deploy/jbossws.sar/**"/>
- <include name="deploy/jbossws.sar/**"/>
<include name="deploy/client-deployer-service.xml"/>
<include name="deploy/ear-deployer.xml"/>
<include name="deploy/ejb-deployer.xml"/>
Modified: branches/JBPAPP_4_2/testsuite/imports/server-config.xml
===================================================================
--- branches/JBPAPP_4_2/testsuite/imports/server-config.xml 2007-10-25 20:23:58 UTC (rev 66453)
+++ branches/JBPAPP_4_2/testsuite/imports/server-config.xml 2007-10-25 20:41:11 UTC (rev 66454)
@@ -684,7 +684,7 @@
<pathelement location="${build.resources}"/>
<!-- This may need to be externalized -->
<pathelement location="${build.resources}/security"/>
- <path refid="tests.compile.classpath"/>
+ <path refid="tests.classpath"/>
</classpath>
<formatter classname="org.jboss.ant.taskdefs.XMLJUnitMultipleResultFormatter"
Modified: branches/JBPAPP_4_2/testsuite/src/main/org/jboss/test/jacc/test/EJBSpecUnitTestCase.java
===================================================================
--- branches/JBPAPP_4_2/testsuite/src/main/org/jboss/test/jacc/test/EJBSpecUnitTestCase.java 2007-10-25 20:23:58 UTC (rev 66453)
+++ branches/JBPAPP_4_2/testsuite/src/main/org/jboss/test/jacc/test/EJBSpecUnitTestCase.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -91,7 +91,7 @@
// Create an initializer for the test suite
TestSetup wrapper = new JBossTestSetup(suite)
{
- boolean useJBM = System.getProperty("jbosstest.useJBM") != null;
+ boolean useJBM = System.getProperty("jbosstest.test.soa") != null;
protected void setUp() throws Exception
{
Modified: branches/JBPAPP_4_2/testsuite/src/main/org/jboss/test/jacc/test/WebIntegrationUnitTestCase.java
===================================================================
--- branches/JBPAPP_4_2/testsuite/src/main/org/jboss/test/jacc/test/WebIntegrationUnitTestCase.java 2007-10-25 20:23:58 UTC (rev 66453)
+++ branches/JBPAPP_4_2/testsuite/src/main/org/jboss/test/jacc/test/WebIntegrationUnitTestCase.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -79,7 +79,7 @@
}
protected void tearDown() throws Exception
{
- boolean useJBM = System.getProperty("jbosstest.useJBM") != null;
+ boolean useJBM = System.getProperty("jbosstest.test.soa") != null;
undeploy("jbosstest-web.ear");
super.tearDown();
Modified: branches/JBPAPP_4_2/testsuite/src/main/org/jboss/test/jmsra/test/RaQueueUnitTestCase.java
===================================================================
--- branches/JBPAPP_4_2/testsuite/src/main/org/jboss/test/jmsra/test/RaQueueUnitTestCase.java 2007-10-25 20:23:58 UTC (rev 66453)
+++ branches/JBPAPP_4_2/testsuite/src/main/org/jboss/test/jmsra/test/RaQueueUnitTestCase.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -53,7 +53,7 @@
{
try
{
- if (System.getProperty("jbosstest.useJBM")!=null)
+ if (System.getProperty("jbosstest.test.soa")!=null)
{
obj = new ObjectName("jboss.messaging.destination:service=Queue,name=testQueue");
}
Modified: branches/JBPAPP_4_2/testsuite/src/main/org/jboss/test/jmsra/test/RaSyncRecUnitTestCase.java
===================================================================
--- branches/JBPAPP_4_2/testsuite/src/main/org/jboss/test/jmsra/test/RaSyncRecUnitTestCase.java 2007-10-25 20:23:58 UTC (rev 66453)
+++ branches/JBPAPP_4_2/testsuite/src/main/org/jboss/test/jmsra/test/RaSyncRecUnitTestCase.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -60,7 +60,7 @@
{
try
{
- if (System.getProperty("jbosstest.useJBM")!=null)
+ if (System.getProperty("jbosstest.test.soa")!=null)
{
obj = new ObjectName("jboss.messaging.destination:service=Queue,name=testQueue");
}
Modified: branches/JBPAPP_4_2/testsuite/src/main/org/jboss/test/jmsra/test/RaTopicUnitTestCase.java
===================================================================
--- branches/JBPAPP_4_2/testsuite/src/main/org/jboss/test/jmsra/test/RaTopicUnitTestCase.java 2007-10-25 20:23:58 UTC (rev 66453)
+++ branches/JBPAPP_4_2/testsuite/src/main/org/jboss/test/jmsra/test/RaTopicUnitTestCase.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -54,7 +54,7 @@
{
try
{
- if (System.getProperty("jbosstest.useJBM")!=null)
+ if (System.getProperty("jbosstest.test.soa")!=null)
{
obj = new ObjectName("jboss.messaging.destination:service=Queue,name=testQueue");
}
Modified: branches/JBPAPP_4_2/testsuite/src/main/org/jboss/test/mdb/test/MDBUnitTestCase.java
===================================================================
--- branches/JBPAPP_4_2/testsuite/src/main/org/jboss/test/mdb/test/MDBUnitTestCase.java 2007-10-25 20:23:58 UTC (rev 66453)
+++ branches/JBPAPP_4_2/testsuite/src/main/org/jboss/test/mdb/test/MDBUnitTestCase.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -243,7 +243,7 @@
*/
public static Test suite() throws Exception
{
- final boolean useJBM = (System.getProperty("jbosstest.useJBM") != null);
+ final boolean useJBM = (System.getProperty("jbosstest.test.soa") != null);
TestSuite suite = new TestSuite();
suite.addTest(new MDBUnitTestCase("testNoQueueConstructionForAlreadyExists", ""));
Modified: branches/JBPAPP_4_2/testsuite/src/main/org/jboss/test/messagedriven/support/BasicMessageDrivenUnitTest.java
===================================================================
--- branches/JBPAPP_4_2/testsuite/src/main/org/jboss/test/messagedriven/support/BasicMessageDrivenUnitTest.java 2007-10-25 20:23:58 UTC (rev 66453)
+++ branches/JBPAPP_4_2/testsuite/src/main/org/jboss/test/messagedriven/support/BasicMessageDrivenUnitTest.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -67,7 +67,7 @@
{
- if (System.getProperty("jbosstest.useJBM") != null)
+ if (System.getProperty("jbosstest.test.soa") != null)
{
testQueue = ObjectNameFactory.create("jboss.messaging.destination:service=Queue,name=testQueue");
testTopic = ObjectNameFactory.create("jboss.messaging.destination:service=Topic,name=testTopic");
Modified: branches/JBPAPP_4_2/testsuite/src/main/org/jboss/test/messagedriven/test/JMSContainerInvokerQueueMessageDrivenUnitTestCase.java
===================================================================
--- branches/JBPAPP_4_2/testsuite/src/main/org/jboss/test/messagedriven/test/JMSContainerInvokerQueueMessageDrivenUnitTestCase.java 2007-10-25 20:23:58 UTC (rev 66453)
+++ branches/JBPAPP_4_2/testsuite/src/main/org/jboss/test/messagedriven/test/JMSContainerInvokerQueueMessageDrivenUnitTestCase.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -52,7 +52,7 @@
public void testRestartJMS() throws Exception
{
- if (System.getProperty("jbosstest.useJBM") == null)
+ if (System.getProperty("jbosstest.test.soa") == null)
{
Operation[] operations = new Operation[]
{
Modified: branches/JBPAPP_4_2/testsuite/src/main/org/jboss/test/security/test/CustomSecurityManagerTestCase.java
===================================================================
--- branches/JBPAPP_4_2/testsuite/src/main/org/jboss/test/security/test/CustomSecurityManagerTestCase.java 2007-10-25 20:23:58 UTC (rev 66453)
+++ branches/JBPAPP_4_2/testsuite/src/main/org/jboss/test/security/test/CustomSecurityManagerTestCase.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -101,7 +101,7 @@
// Create an initializer for the test suite
TestSetup wrapper = new JBossTestSetup(suite)
{
- boolean useJBM = System.getProperty("jbosstest.useJBM") != null;
+ boolean useJBM = System.getProperty("jbosstest.test.soa") != null;
protected void setUp() throws Exception
{
Modified: branches/JBPAPP_4_2/testsuite/src/main/org/jboss/test/security/test/EJBSpecUnitTestCase.java
===================================================================
--- branches/JBPAPP_4_2/testsuite/src/main/org/jboss/test/security/test/EJBSpecUnitTestCase.java 2007-10-25 20:23:58 UTC (rev 66453)
+++ branches/JBPAPP_4_2/testsuite/src/main/org/jboss/test/security/test/EJBSpecUnitTestCase.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -937,7 +937,7 @@
// Create an initializer for the test suite
TestSetup wrapper = new JBossTestSetup(suite)
{
- boolean useJBM = System.getProperty("jbosstest.useJBM") != null;
+ boolean useJBM = System.getProperty("jbosstest.test.soa") != null;
protected void setUp() throws Exception
{
Modified: branches/JBPAPP_4_2/testsuite/src/main/org/jboss/test/tm/ejb/TxTimeoutBean.java
===================================================================
--- branches/JBPAPP_4_2/testsuite/src/main/org/jboss/test/tm/ejb/TxTimeoutBean.java 2007-10-25 20:23:58 UTC (rev 66453)
+++ branches/JBPAPP_4_2/testsuite/src/main/org/jboss/test/tm/ejb/TxTimeoutBean.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -30,7 +30,7 @@
import org.jboss.tm.TxUtils;
/**
- * @version $Revision:$
+ * @version $Revision$
*/
public class TxTimeoutBean extends SessionSupport
{
Modified: branches/JBPAPP_4_2/testsuite/src/main/org/jboss/test/web/test/WebIntegrationUnitTestCase.java
===================================================================
--- branches/JBPAPP_4_2/testsuite/src/main/org/jboss/test/web/test/WebIntegrationUnitTestCase.java 2007-10-25 20:23:58 UTC (rev 66453)
+++ branches/JBPAPP_4_2/testsuite/src/main/org/jboss/test/web/test/WebIntegrationUnitTestCase.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -513,7 +513,7 @@
*/
public static Test suite() throws Exception
{
- final boolean useJBM = System.getProperty("jbosstest.useJBM")!=null;
+ final boolean useJBM = System.getProperty("jbosstest.test.soa")!=null;
TestSuite suite = new TestSuite();
suite.addTest(new TestSuite(WebIntegrationUnitTestCase.class));
Modified: branches/JBPAPP_4_2/tomcat/.classpath
===================================================================
--- branches/JBPAPP_4_2/tomcat/.classpath 2007-10-25 20:23:58 UTC (rev 66453)
+++ branches/JBPAPP_4_2/tomcat/.classpath 2007-10-25 20:41:11 UTC (rev 66454)
@@ -31,7 +31,8 @@
<classpathentry kind="lib" path="/thirdparty/sun-jsf/lib/jsf-api.jar"/>
<classpathentry kind="lib" path="/thirdparty/sun-jsf/lib/jsf-impl.jar"/>
<classpathentry kind="lib" path="/thirdparty/jboss/serialization/lib/jboss-serialization.jar"/>
- <classpathentry kind="lib" path="/thirdparty/jboss/jbossws/lib/jbossws-integration.jar"/>
<classpathentry combineaccessrules="false" kind="src" path="/iiop"/>
+ <classpathentry kind="lib" path="/thirdparty/jboss/jbossws-common/lib/jbossws-common.jar"/>
+ <classpathentry kind="lib" path="/thirdparty/jboss/jbossws-spi/lib/jbossws-spi.jar"/>
<classpathentry kind="output" path="output/eclipse-classes"/>
</classpath>
Modified: branches/JBPAPP_4_2/tomcat/build.xml
===================================================================
--- branches/JBPAPP_4_2/tomcat/build.xml 2007-10-25 20:23:58 UTC (rev 66453)
+++ branches/JBPAPP_4_2/tomcat/build.xml 2007-10-25 20:41:11 UTC (rev 66454)
@@ -30,6 +30,19 @@
-->
&buildmagic;
+
+ <!-- Some properties are set for ws 2.x that aren't for 1.2.x. We therefore
+ make the classpathrefid dynamic. This is a hack and can probably solved
+ better..
+ -->
+ <condition property="jboss.jbossws.common.classpath.refid.name" value="jboss.jbossws.common.classpath" else="jboss.jbossws.classpath">
+ <isset property="build.soa"/>
+ </condition>
+
+ <condition property="jboss.jbossws.spi.classpath.refid.name" value="jboss.jbossws.spi.classpath" else="jboss.jbossws.classpath">
+ <isset property="build.soa"/>
+ </condition>
+
<!--
| Initialize the build system. Must depend on '_buildmagic:init'.
| Other targets should depend on 'init' or things will mysteriously fail.
@@ -58,6 +71,8 @@
<path refid="apache.commons.classpath"/>
<path refid="apache.log4j.classpath"/>
<path refid="jboss.jbossws.classpath"/>
+ <path refid="${jboss.jbossws.common.classpath.refid.name}"/>
+ <path refid="${jboss.jbossws.spi.classpath.refid.name}"/>
<path refid="junit.junit.classpath"/>
<path refid="dom4j.dom4j.classpath"/>
<path refid="oswego.concurrent.classpath"/>
Modified: branches/JBPAPP_4_2/tools/etc/buildmagic/modules.ent
===================================================================
--- branches/JBPAPP_4_2/tools/etc/buildmagic/modules.ent 2007-10-25 20:23:58 UTC (rev 66453)
+++ branches/JBPAPP_4_2/tools/etc/buildmagic/modules.ent 2007-10-25 20:41:11 UTC (rev 66454)
@@ -177,10 +177,10 @@
<pathelement path="${jboss.varia.root}/classes"/>
</path>
- <!-- Webservice -->
- <property name="jboss.webservice.root" value="${project.root}/webservice/output"/>
- <property name="jboss.webservice.lib" value="${jboss.webservice.root}/lib"/>
- <path id="jboss.webservice.classpath" />
+ <!-- Webservices -->
+ <property name="jboss.webservices.root" value="${project.root}/webservices/output"/>
+ <property name="jboss.webservices.lib" value="${jboss.webservices.root}/lib"/>
+ <path id="jboss.webservices.classpath" />
<!-- Hibernate2 integration module -->
<property name="jboss.hibernate.root" value="${project.root}/hibernate-int/output"/>
Modified: branches/JBPAPP_4_2/tools/etc/buildmagic/modules.xml
===================================================================
--- branches/JBPAPP_4_2/tools/etc/buildmagic/modules.xml 2007-10-25 20:23:58 UTC (rev 66453)
+++ branches/JBPAPP_4_2/tools/etc/buildmagic/modules.xml 2007-10-25 20:41:11 UTC (rev 66454)
@@ -167,12 +167,12 @@
<pathelement path="${jboss.varia.root}/classes"/>
</path>
- <!-- Webservice -->
- <property name="jboss.webservice.root" value="${project.root}/webservice/output"/>
- <property name="jboss.webservice.lib" value="${jboss.webservice.root}/lib"/>
- <path id="jboss.webservice.classpath">
- <pathelement path="${jboss.webservice.lib}/jboss-ws4ee-client.jar"/>
- <pathelement path="${jboss.webservice.lib}/jboss-ws4ee.jar"/>
+ <!-- webservices -->
+ <property name="jboss.webservices.root" value="${project.root}/webservices/output"/>
+ <property name="jboss.webservices.lib" value="${jboss.webservices.root}/lib"/>
+ <path id="jboss.webservices.classpath">
+ <pathelement path="${jboss.webservices.lib}/jboss-ws4ee-client.jar"/>
+ <pathelement path="${jboss.webservices.lib}/jboss-ws4ee.jar"/>
</path>
<!-- Hibernate2 integration module -->
Modified: branches/JBPAPP_4_2/varia/src/resources/services/snmp/deploy/attributes.mib
===================================================================
--- branches/JBPAPP_4_2/varia/src/resources/services/snmp/deploy/attributes.mib 2007-10-25 20:23:58 UTC (rev 66453)
+++ branches/JBPAPP_4_2/varia/src/resources/services/snmp/deploy/attributes.mib 2007-10-25 20:41:11 UTC (rev 66454)
@@ -2,7 +2,7 @@
-- Example MIB for the delivered attributes.xml
-- This file is only an example. The provided values will change in the future.
-- See also <a href="http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossOIDs">The Wiki</a>
--- $Id:$
+-- $Id$
-- <a href="mailto:hwr at pilhuhn.de>Heiko W. Rupp</a>
JBOSS-AS-MIB DEFINITIONS ::=BEGIN
Added: branches/JBPAPP_4_2/webservices/.classpath
===================================================================
--- branches/JBPAPP_4_2/webservices/.classpath (rev 0)
+++ branches/JBPAPP_4_2/webservices/.classpath 2007-10-25 20:41:11 UTC (rev 66454)
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src/main"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+ <classpathentry kind="lib" path="/thirdparty/jboss/jbossxb/lib/jboss-xml-binding.jar" sourcepath="/thirdparty/jboss/jbossxb/lib/jboss-xml-binding-src.zip"/>
+ <classpathentry kind="lib" path="/thirdparty/jboss/microcontainer/lib/jboss-container.jar" sourcepath="/thirdparty/jboss/microcontainer/lib/jboss-container-sources.jar"/>
+ <classpathentry kind="lib" path="/thirdparty/jboss/microcontainer/lib/jboss-dependency.jar" sourcepath="/thirdparty/jboss/microcontainer/lib/jboss-dependency-soruces.jar"/>
+ <classpathentry kind="lib" path="/thirdparty/apache-xerces/lib/xercesImpl.jar"/>
+ <classpathentry kind="lib" path="/thirdparty/jboss/jboss-vfs/lib/jboss-vfs.jar" sourcepath="/thirdparty/jboss/jboss-vfs/lib/jboss-vfs-sources.jar"/>
+ <classpathentry kind="lib" path="/thirdparty/jboss/aop/lib/jboss-aop-jdk50.jar" sourcepath="/thirdparty/jboss/aop/lib/jboss-aop-src.zip"/>
+ <classpathentry kind="lib" path="/thirdparty/dom4j/lib/dom4j.jar"/>
+ <classpathentry kind="lib" path="/thirdparty/sun-servlet/lib/servlet-api.jar"/>
+ <classpathentry combineaccessrules="false" kind="src" path="/ejb3"/>
+ <classpathentry combineaccessrules="false" kind="src" path="/server"/>
+ <classpathentry combineaccessrules="false" kind="src" path="/system"/>
+ <classpathentry combineaccessrules="false" kind="src" path="/tomcat"/>
+ <classpathentry kind="lib" path="/thirdparty/jboss/jbossws/lib/jboss-jaxrpc.jar"/>
+ <classpathentry kind="lib" path="/thirdparty/jboss/jbossws/lib/jboss-jaxws.jar"/>
+ <classpathentry kind="lib" path="/thirdparty/jboss/jbossws/lib/jboss-saaj.jar"/>
+ <classpathentry kind="lib" path="/thirdparty/jboss/jbossws-common/lib/jbossws-common.jar"/>
+ <classpathentry kind="lib" path="/thirdparty/jboss/jbossws-spi/lib/jbossws-spi.jar" sourcepath="/thirdparty/jboss/jbossws-spi/lib/jbossws-spi-src.zip"/>
+ <classpathentry kind="lib" path="/thirdparty/jboss/common/lib/jboss-common.jar" sourcepath="/thirdparty/jboss/common/lib/jboss-common-sources.jar"/>
+ <classpathentry kind="output" path="output/eclipse-classes"/>
+</classpath>
Added: branches/JBPAPP_4_2/webservices/.project
===================================================================
--- branches/JBPAPP_4_2/webservices/.project (rev 0)
+++ branches/JBPAPP_4_2/webservices/.project 2007-10-25 20:41:11 UTC (rev 66454)
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>webservices</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
Added: branches/JBPAPP_4_2/webservices/build-test.xml
===================================================================
--- branches/JBPAPP_4_2/webservices/build-test.xml (rev 0)
+++ branches/JBPAPP_4_2/webservices/build-test.xml 2007-10-25 20:41:11 UTC (rev 66454)
@@ -0,0 +1,278 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE project [
+ <!ENTITY buildmagic SYSTEM "../tools/etc/buildmagic/buildmagic.ent">
+ <!ENTITY libraries SYSTEM "../thirdparty/libraries.ent">
+ <!ENTITY modules SYSTEM "../tools/etc/buildmagic/modules.ent">
+ <!ENTITY targets SYSTEM "../tools/etc/buildmagic/targets.ent">
+]>
+
+<!-- $Id$ -->
+
+<project default="main" name="JBoss/System Tests">
+
+ <!-- ================================================================== -->
+ <!-- Setup -->
+ <!-- ================================================================== -->
+
+ <!--
+ | Include the common Buildmagic elements.
+ |
+ | This defines several different targets, properties and paths.
+ | It also sets up the basic extention tasks amoung other things.
+ -->
+
+ &buildmagic;
+
+ <!--
+ | Include the normal targets.
+ -->
+ &targets;
+
+ <!-- ================================================================== -->
+ <!-- Configuration -->
+ <!-- ================================================================== -->
+
+ <!--
+ | Configure the build system.
+ |
+ | This target is invoked by the Buildmagic initialization logic and
+ | should contain module specific configuration elements.
+ -->
+
+ <target name="configure" unless="configure.disable">
+
+ <!-- =================== -->
+ <!-- Basic Configuration -->
+ <!-- =================== -->
+
+ <!-- Module name(s) & version -->
+ <property name="module.name" value="system" />
+ <property name="source.java" value="${module.source}/tests" />
+ <property name="javac.target" value="5" />
+ <property name="javac.source" value="5" />
+ <property name="build.classes" value="${module.output}/classes-tests" />
+ <property name="build.testlog" value="${module.output}/log" />
+ <property name="build-bypass.disabled" value="true" />
+ <property name="tests.support.classes" value="output/tests-support/classes" />
+ <property name="tests.support.lib" value="output/tests-support/lib" />
+ <!-- jbosstest.deploy.dir is a URI -->
+ <pathconvert targetos="unix" property="jbosstest.deploy.path">
+ <path>
+ <pathelement location="${module.output}/lib" />
+ </path>
+ </pathconvert>
+ <!-- Test hotdeployment root directory -->
+ <property name="jbosstest.deploy.dir" value="file:${jbosstest.deploy.path}" />
+ <!-- Support test classes lib root -->
+ <pathconvert targetos="unix" property="jbosstest.support.path">
+ <path>
+ <pathelement location="${module.output}/tests-support/lib" />
+ </path>
+ </pathconvert>
+ <property name="jbosstest.support.dir" value="file:${jbosstest.support.path}" />
+
+ <!-- ========= -->
+ <!-- Libraries -->
+ <!-- ========= -->
+
+ &libraries;
+
+ <!-- The combined library classpath -->
+ <path id="library.classpath">
+ <path refid="junit.junit.classpath" />
+ <path refid="gnu.getopt.classpath" />
+ <path refid="javassist.classpath" />
+ <path refid="trove.trove.classpath"/>
+ <path refid="apache.log4j.classpath" />
+ <path refid="oswego.concurrent.classpath" />
+ <path refid="jboss.jbossxb.classpath" />
+ <path refid="jboss.jboss.vfs.classpath" />
+ <path refid="jboss.common.core.classpath"/>
+ <path refid="jboss.common.logging.spi.classpath"/>
+ <path refid="jboss.common.logging.log4j.classpath"/>
+ <path refid="jboss.common.logging.jdk.classpath"/>
+ <path refid="jboss.profiler.jvmti.classpath" />
+ </path>
+
+ <!-- ======= -->
+ <!-- Modules -->
+ <!-- ======= -->
+
+ &modules;
+ <!-- this -->
+ <property name="jboss.this.root" value="${module.root}/output" />
+ <property name="jboss.this.lib" value="${jboss.this.root}/lib" />
+ <path id="jboss.this.classpath">
+ <fileset dir="${jboss.this.lib}">
+ <include name="*.jar" />
+ <exclude name="run.jar" />
+ </fileset>
+ </path>
+
+ <!-- The combined dependant module classpath -->
+ <path id="dependentmodule.classpath">
+ <path refid="jboss.aop.classpath" />
+ <path refid="jboss.microcontainer.classpath"/>
+ <path refid="jboss.j2se.classpath" />
+ <path refid="jboss.mbeans.classpath" />
+ <path refid="jboss.main.classpath" />
+ <path refid="jboss.bootstrap.classpath" />
+ <path refid="jboss.test.classpath" />
+ <pathelement location="output/classes" />
+ <pathelement location="src/resources/tests/bootstrap" />
+ <pathelement location="src/resources/tests/conf" />
+ <pathelement location="src/resources/tests/xml" />
+ </path>
+
+ <!-- ===== -->
+ <!-- Tasks -->
+ <!-- ===== -->
+
+ <call target="_default:task-init" />
+
+ <path id="thirdparty.classpath">
+ <path refid="library.classpath" />
+ <path refid="dependentmodule.classpath" />
+ </path>
+
+ </target>
+ <patternset id="compile-resources.pattern">
+ <include name="${src.resources}/**" />
+ </patternset>
+
+ <!-- ================================================================== -->
+ <!-- Compile -->
+ <!-- ================================================================== -->
+
+ <!--
+ | Compile everything.
+ |
+ | This target should depend on other compile-* targets for each
+ | different type of compile that needs to be performed, short of
+ | documentation compiles.
+ -->
+
+ <target name="compile" description="Compile all source files." depends="_default:compile-classes, _default:compile-resources" />
+
+ <!-- ================================================================== -->
+ <!-- Archives -->
+ <!-- ================================================================== -->
+
+ <target name="module-jars" depends="init, tests-support-jars" />
+
+ <target name="tests-support-jars" depends="init"
+ description="Compiles and creates the tests-support tree jars">
+
+
+ <path id="tests-support.classpath">
+ <path refid="library.classpath" />
+ <path refid="dependentmodule.classpath" />
+ </path>
+ <mkdir dir="${tests.support.classes}" />
+ <mkdir dir="${tests.support.lib}" />
+ <javac destdir="${tests.support.classes}"
+ target="${javac.target}"
+ source="${javac.source}"
+ debug="${javac.debug}"
+ failonerror="true">
+ <src path="src/tests-support"/>
+ <classpath refid="tests-support.classpath"/>
+ </javac>
+
+ <jar destfile="${tests.support.lib}/org.jboss.server.support.jar">
+ <manifest>
+ <attribute name="Specification-Title" value="Support" />
+ <attribute name="Specification-Version" value="1.0.0.GA" />
+ <attribute name="Specification-Vendor" value="JBoss Inc." />
+ </manifest>
+ <zipfileset dir="${tests.support.classes}">
+ <include name="org/jboss/test/server/support/**" />
+ </zipfileset>
+ </jar>
+
+ </target>
+
+ <!-- ================================================================== -->
+ <!-- Tests -->
+ <!-- ================================================================== -->
+
+ <target name="tests" depends="most"
+ description="Execute all tests in the given test directory.">
+ <mkdir dir="${build.reports}" />
+ <mkdir dir="${build.testlog}" />
+ <!-- Remove the test.log so each run has a fresh log -->
+ <delete file="${build.testlog}/test.log" />
+ <junit dir="${module.output}" printsummary="yes" haltonerror="false" haltonfailure="false" fork="true">
+
+ <sysproperty key="build.testlog" value="${build.testlog}" />
+ <syspropertyset id="jbosstest-properties">
+ <propertyref prefix="jbosstest" />
+ </syspropertyset>
+
+ <classpath>
+ <pathelement location="${build.classes}" />
+ <pathelement location="${build.resources}/tests" />
+ <path refid="javac.classpath" />
+ <path refid="apache.xerces.classpath" />
+ </classpath>
+
+ <formatter type="plain" usefile="true" />
+ <formatter type="xml" usefile="true" />
+
+ <batchtest todir="${build.reports}" haltonerror="false" haltonfailure="false" fork="true">
+
+ <fileset dir="${build.classes}">
+ <include name="org/jboss/test/**/*TestCase.class" />
+ </fileset>
+ </batchtest>
+ </junit>
+ </target>
+
+ <target name="one-test" depends="init"
+ description="Execute the test defined by ${test}">
+ <mkdir dir="${build.reports}" />
+ <mkdir dir="${build.testlog}" />
+ <!-- Remove the test.log so each run has a fresh log -->
+ <delete file="${build.testlog}/test.log" />
+ <junit dir="${module.output}" printsummary="yes" haltonerror="false" haltonfailure="false" fork="true">
+
+ <sysproperty key="build.testlog" value="${build.testlog}" />
+ <syspropertyset id="jbosstest-properties">
+ <propertyref prefix="jbosstest" />
+ </syspropertyset>
+
+ <classpath>
+ <pathelement location="${build.classes}" />
+ <pathelement location="${build.resources}/tests" />
+ <path refid="thirdparty.classpath" />
+ <path refid="apache.xerces.classpath"/>
+ </classpath>
+
+ <formatter type="plain" usefile="true" />
+ <formatter type="xml" usefile="true" />
+
+ <test todir="${build.reports}" name="${test}" haltonerror="${junit.batchtest.haltonerror}" haltonfailure="${junit.batchtest.haltonfailure}" fork="${junit.batchtest.fork}" />
+ </junit>
+ </target>
+
+ <target name="memory-test" depends="most" description="Execute MemoryLeakTestCase">
+ <mkdir dir="${build.reports}" />
+ <mkdir dir="${build.testlog}" />
+
+ <junit printsummary="yes" fork="yes" haltonfailure="no">
+ <classpath>
+ <pathelement location="${build.classes}" />
+ <pathelement location="${build.resources}" />
+ <path refid="thirdparty.classpath" />
+ <path refid="javac.classpath" />
+ <path refid="apache.xerces.classpath" />
+ </classpath>
+ <jvmarg value="-agentlib:jbossAgent" />
+ <formatter type="plain" usefile="true" />
+ <formatter type="xml" usefile="true" />
+ <test fork="yes" todir="${build.reports}" name="org.jboss.test.memorytests.ClassInfoMemoryTestCase" />
+ </junit>
+
+ </target>
+
+</project>
Added: branches/JBPAPP_4_2/webservices/build.bat
===================================================================
--- branches/JBPAPP_4_2/webservices/build.bat (rev 0)
+++ branches/JBPAPP_4_2/webservices/build.bat 2007-10-25 20:41:11 UTC (rev 66454)
@@ -0,0 +1,89 @@
+ at echo off
+REM ======================================================================
+REM
+REM This is the main entry point for the build system.
+REM
+REM Users should be sure to execute this file rather than 'ant' to ensure
+REM the correct version is being used with the correct configuration.
+REM
+REM ======================================================================
+REM
+REM $Id: build.bat 64770 2007-08-22 11:04:24Z thomas.diesler at jboss.com $
+REM
+REM Authors:
+REM Jason Dillon <jason at planet57.com>
+REM Sacha Labourey <sacha.labourey at cogito-info.ch>
+REM
+
+REM ******************************************************
+REM Ignore the ANT_HOME variable: we want to use *our*
+REM ANT version and associated JARs.
+REM ******************************************************
+REM Ignore the users classpath, cause it might mess
+REM things up
+REM ******************************************************
+
+SETLOCAL
+
+set CLASSPATH=
+set ANT_HOME=
+set ANT_OPTS=-Djava.protocol.handler.pkgs=org.jboss.net.protocol -Dbuild.script=build.bat
+
+REM ******************************************************
+REM - "for" loops have been unrolled for compatibility
+REM with some WIN32 systems.
+REM ******************************************************
+
+set NAMES=tools;tools\ant;tools\apache\ant
+set SUBFOLDERS=..;..\..;..\..\..;..\..\..\..
+
+REM ******************************************************
+REM ******************************************************
+
+SET EXECUTED=FALSE
+for %%i in (%NAMES%) do call :subLoop %%i %1 %2 %3 %4 %5 %6
+
+goto :EOF
+
+
+REM ******************************************************
+REM ********* Search for names in the subfolders *********
+REM ******************************************************
+
+:subLoop
+for %%j in (%SUBFOLDERS%) do call :testIfExists %%j\%1\bin\ant.bat %2 %3 %4 %5 %6 %7
+
+goto :EOF
+
+
+REM ******************************************************
+REM ************ Test if ANT Batch file exists ***********
+REM ******************************************************
+
+:testIfExists
+if exist %1 call :BatchFound %1 %2 %3 %4 %5 %6 %7 %8
+
+goto :EOF
+
+
+REM ******************************************************
+REM ************** Batch file has been found *************
+REM ******************************************************
+
+:BatchFound
+if (%EXECUTED%)==(FALSE) call :ExecuteBatch %1 %2 %3 %4 %5 %6 %7 %8
+set EXECUTED=TRUE
+
+goto :EOF
+
+REM ******************************************************
+REM ************* Execute Batch file only once ***********
+REM ******************************************************
+
+:ExecuteBatch
+echo Calling %1 %2 %3 %4 %5 %6 %7 %8
+call %1 %2 %3 %4 %5 %6 %7 %8
+
+:end
+
+if "%NOPAUSE%" == "" pause
Added: branches/JBPAPP_4_2/webservices/build.sh
===================================================================
--- branches/JBPAPP_4_2/webservices/build.sh (rev 0)
+++ branches/JBPAPP_4_2/webservices/build.sh 2007-10-25 20:41:11 UTC (rev 66454)
@@ -0,0 +1,172 @@
+#!/bin/sh
+### ====================================================================== ###
+## ##
+## This is the main entry point for the build system. ##
+## ##
+## Users should be sure to execute this file rather than 'ant' to ensure ##
+## the correct version is being used with the correct configuration. ##
+## ##
+### ====================================================================== ###
+
+# $Id: build.sh 64770 2007-08-22 11:04:24Z thomas.diesler at jboss.com $
+
+PROGNAME=`basename $0`
+DIRNAME=`dirname $0`
+GREP="grep"
+ROOT="/"
+
+# Ignore user's ANT_HOME if it is set
+ANT_HOME=""
+
+# the default search path for ant
+ANT_SEARCH_PATH="\
+ tools
+ tools/ant \
+ tools/apache/ant \
+ ant"
+
+# the default build file name
+ANT_BUILD_FILE="build.xml"
+
+# the default arguments
+ANT_OPTIONS="-find $ANT_BUILD_FILE"
+
+# Use the maximum available, or set MAX_FD != -1 to use that
+MAX_FD="maximum"
+
+# OS specific support (must be 'true' or 'false').
+cygwin=false;
+darwin=false;
+case "`uname`" in
+ CYGWIN*)
+ cygwin=true
+ ;;
+
+ Darwin*)
+ darwin=true
+ ;;
+esac
+
+#
+# Helper to complain.
+#
+die() {
+ echo "${PROGNAME}: $*"
+ exit 1
+}
+
+#
+# Helper to complain.
+#
+warn() {
+ echo "${PROGNAME}: $*"
+}
+
+#
+# Helper to source a file if it exists.
+#
+maybe_source() {
+ for file in $*; do
+ if [ -f "$file" ]; then
+ . $file
+ fi
+ done
+}
+
+search() {
+ search="$*"
+ for d in $search; do
+ ANT_HOME="`pwd`/$d"
+ ANT="$ANT_HOME/bin/ant"
+ if [ -x "$ANT" ]; then
+ # found one
+ echo $ANT_HOME
+ break
+ fi
+ done
+}
+
+#
+# Main function.
+#
+main() {
+ # if there is a build config file. then source it
+ maybe_source "$DIRNAME/build.conf" "$HOME/.build.conf"
+
+ # Increase the maximum file descriptors if we can
+ if [ $cygwin = "false" ]; then
+ MAX_FD_LIMIT=`ulimit -H -n`
+ if [ $? -eq 0 ]; then
+ if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ]; then
+ # use the system max
+ MAX_FD="$MAX_FD_LIMIT"
+ fi
+
+ ulimit -n $MAX_FD
+ if [ $? -ne 0 ]; then
+ warn "Could not set maximum file descriptor limit: $MAX_FD"
+ fi
+ else
+ warn "Could not query system maximum file descriptor limit: $MAX_FD_LIMIT"
+ fi
+ fi
+
+ # try the search path
+ ANT_HOME=`search $ANT_SEARCH_PATH`
+
+ # try looking up to root
+ if [ "x$ANT_HOME" = "x" ]; then
+ target="build"
+ _cwd=`pwd`
+
+ while [ "x$ANT_HOME" = "x" ] && [ "$cwd" != "$ROOT" ]; do
+ cd ..
+ cwd=`pwd`
+ ANT_HOME=`search $ANT_SEARCH_PATH`
+ done
+
+ # make sure we get back
+ cd $_cwd
+
+ if [ "$cwd" != "$ROOT" ]; then
+ found="true"
+ fi
+
+ # complain if we did not find anything
+ if [ "$found" != "true" ]; then
+ die "Could not locate Ant; check \$ANT or \$ANT_HOME."
+ fi
+ fi
+
+ # make sure we have one
+ ANT=$ANT_HOME/bin/ant
+ if [ ! -x "$ANT" ]; then
+ die "Ant file is not executable: $ANT"
+ fi
+
+ # need to specify planet57/buildmagic protocol handler package
+ ANT_OPTS="-Djava.protocol.handler.pkgs=org.jboss.net.protocol"
+
+ # setup some build properties
+ ANT_OPTS="$ANT_OPTS -Dbuild.script=$0"
+
+ # change to the directory where the script lives so users are not forced
+ # to be in the same directory as build.xml
+ cd $DIRNAME
+
+ # export some stuff for ant
+ export ANT ANT_HOME ANT_OPTS
+
+ # execute in debug mode, or simply execute
+ if [ "x$ANT_DEBUG" != "x" ]; then
+ /bin/sh -x $ANT $ANT_OPTIONS "$@"
+ else
+ exec $ANT $ANT_OPTIONS "$@"
+ fi
+}
+
+##
+## Bootstrap
+##
+
+main "$@"
Added: branches/JBPAPP_4_2/webservices/build.xml
===================================================================
--- branches/JBPAPP_4_2/webservices/build.xml (rev 0)
+++ branches/JBPAPP_4_2/webservices/build.xml 2007-10-25 20:41:11 UTC (rev 66454)
@@ -0,0 +1,155 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE project [
+ <!ENTITY buildmagic SYSTEM "../tools/etc/buildmagic/buildmagic.ent">
+ <!ENTITY libraries SYSTEM "../thirdparty/libraries.ent">
+ <!ENTITY modules SYSTEM "../tools/etc/buildmagic/modules.ent">
+ <!ENTITY targets SYSTEM "../tools/etc/buildmagic/targets.ent">
+]>
+
+<!-- ====================================================================== -->
+<!-- -->
+<!-- JBoss, the OpenSource J2EE webOS -->
+<!-- -->
+<!-- Distributable under LGPL license. -->
+<!-- See terms of license at http://www.gnu.org. -->
+<!-- -->
+<!-- ====================================================================== -->
+
+<!-- $Id: build.xml 64770 2007-08-22 11:04:24Z thomas.diesler at jboss.com $ -->
+
+<project default="main" name="JBoss/Webservices">
+
+ <!-- ================================================================== -->
+ <!-- Setup -->
+ <!-- ================================================================== -->
+
+ <!--
+ | Include the common Buildmagic elements.
+ |
+ | This defines several different targets, properties and paths.
+ | It also sets up the basic extention tasks amoung other things.
+ -->
+
+ &buildmagic;
+
+ <!--
+ | Include the normal targets.
+ -->
+ &targets;
+
+ <!-- Some properties are set for ws 2.x that aren't for 1.2.x. We therefore
+ make the classpathrefid dynamic. This is a hack and can probably solved
+ better..
+ -->
+ <condition property="jboss.jbossws.common.classpath.refid.name" value="jboss.jbossws.common.classpath" else="jboss.jbossws.classpath">
+ <isset property="build.soa"/>
+ </condition>
+
+ <condition property="jboss.jbossws.spi.classpath.refid.name" value="jboss.jbossws.spi.classpath" else="jboss.jbossws.classpath">
+ <isset property="build.soa"/>
+ </condition>
+
+ <!-- ================================================================== -->
+ <!-- Configuration -->
+ <!-- ================================================================== -->
+
+ <!--
+ | Configure the build system.
+ |
+ | This target is invoked by the Buildmagic initialization logic and
+ | should contain module specific configuration elements.
+ -->
+
+ <target name="configure" unless="configure.disable">
+
+ <!-- =================== -->
+ <!-- Basic Configuration -->
+ <!-- =================== -->
+
+ <!-- Module name(s) & version -->
+ <property name="module.name" value="webservices"/>
+ <property name="module.Name" value="JBossWS Container Integration"/>
+ <property name="module.version" value="DEV"/>
+
+ <!-- ========= -->
+ <!-- Libraries -->
+ <!-- ========= -->
+
+ &libraries;
+
+ <!-- The combined library classpath -->
+ <path id="library.classpath">
+ <path refid="apache.xerces.classpath"/>
+ <path refid="dom4j.dom4j.classpath"/>
+ <path refid="jboss.aop.classpath"/>
+ <path refid="jboss.common.classpath"/>
+ <path refid="jboss.jbossws.classpath"/>
+ <path refid="${jboss.jbossws.common.classpath.refid.name}"/>
+ <path refid="${jboss.jbossws.spi.classpath.refid.name}"/>
+ <path refid="jboss.jbossxb.classpath"/>
+ <path refid="jboss.microcontainer.classpath"/>
+ <path refid="sun.servlet.classpath"/>
+ </path>
+
+ &modules;
+
+ <!-- The combined dependant module classpath -->
+ <path id="dependentmodule.classpath">
+ <path refid="jboss.j2ee.classpath"/>
+ <path refid="jboss.jmx.classpath"/>
+ <path refid="jboss.security.classpath"/>
+ <path refid="jboss.server.classpath"/>
+ <path refid="jboss.system.classpath"/>
+ <path refid="jboss.ejb3.classpath"/>
+ <path refid="jboss.ejb3x.classpath"/>
+ <path refid="jboss.tomcat.classpath"/>
+ </path>
+
+ <!-- ===== -->
+ <!-- Tasks -->
+ <!-- ===== -->
+
+ <property name="jar.prefix" value="jbossws-jboss50"/>
+ <property name="javac.target" value="1.5"/>
+ <property name="javac.source" value="1.5"/>
+
+ <call target="_default:task-init"/>
+
+ </target>
+
+ <!-- ================================================================== -->
+ <!-- Compile -->
+ <!-- ================================================================== -->
+
+ <!--
+ | Compile everything.
+ |
+ | This target should depend on other compile-* targets for each
+ | different type of compile that needs to be performed, short of
+ | documentation compiles.
+ -->
+
+ <target name="compile"
+ description="Compile all source files."
+ depends="_default:compile-classes,
+ _default:compile-resources,
+ _default:compile-etc"/>
+
+ <!-- ================================================================== -->
+ <!-- Archives -->
+ <!-- ================================================================== -->
+
+ <!--
+ | Build all jar files.
+ -->
+ <target name="module-jars" >
+
+ <!-- Build jbossws-jboss42.jar -->
+ <jar jarfile="${build.lib}/jbossws-jboss42.jar" manifest="${build.etc}/default.mf">
+ <fileset dir="${build.classes}" />
+ <metainf dir="${build.resources}/jbossws-jboss42.jar/META-INF"/>
+ </jar>
+
+ </target>
+
+</project>
Added: branches/JBPAPP_4_2/webservices/jbossbuild.xml
===================================================================
--- branches/JBPAPP_4_2/webservices/jbossbuild.xml (rev 0)
+++ branches/JBPAPP_4_2/webservices/jbossbuild.xml 2007-10-25 20:41:11 UTC (rev 66454)
@@ -0,0 +1,161 @@
+<?xml version="1.0"?>
+
+<!--
+ JBoss, the OpenSource J2EE webOS
+
+ Distributable under LGPL license.
+ See terms of license at gnu.org.
+-->
+
+<!-- ================================================================== -->
+<!-- System component definition -->
+<!-- ================================================================== -->
+
+<project name="project"
+ default="build"
+ basedir="."
+>
+ <import file="../tools/etc/jbossbuild/tasks.xml"/>
+ <import file="component-info.xml"/>
+
+ <!-- =============================================================== -->
+ <!-- The component definition -->
+ <!-- =============================================================== -->
+
+ <componentdef component="system" description="JBoss System">
+
+ <!-- ============================================================ -->
+ <!-- The main source -->
+ <!-- ============================================================ -->
+
+ <source id="main">
+ <include component="oswego-concurrent"/>
+ <include component="apache-log4j"/>
+ <include component="gnu-getopt"/>
+ <include component="apache-xerces"/>
+ <include component="dom4j"/>
+ <include component="junit"/>
+ <include component="common"/>
+ <include component="j2se"/>
+ <include component="mbeans"/>
+ </source>
+
+ <resource id="system-resources-root" path="."/>
+
+
+ <!-- ============================================================ -->
+ <!-- jboss-system.jar -->
+ <!-- ============================================================ -->
+
+ <artifactdef artifact="jboss-system.jar">
+ <include input="main"/>
+ <include input="system-resources-root">
+ <include pattern="dtd/*.dtd"/>
+ </include>
+ </artifactdef>
+
+ <!-- ============================================================ -->
+ <!-- jboss-system-client.jar -->
+ <!-- ============================================================ -->
+
+ <artifactdef artifact="jboss-system-client.jar">
+ <include input="main">
+ <include pattern="org/jboss/deployment/DeploymentException*"/>
+ <include pattern="org/jboss/deployment/IncompleteDeploymentException*"/>
+ <include pattern="org/jboss/deployment/Deployer*"/>
+ <include pattern="org/jboss/system/Service.class"/>
+ <include pattern="org/jboss/system/server/ServerLoader*.class"/>
+ <include pattern="org/jboss/system/server/Server.class"/>
+ <include pattern="org/jboss/system/server/ServerConfig.class"/>
+ <include pattern="**/*MBean.class"/>
+ </include>
+ </artifactdef>
+
+ <!-- ============================================================ -->
+ <!-- jboss-boot.jar -->
+ <!-- ============================================================ -->
+
+ <artifactdef artifact="jboss-boot.jar">
+ <include input="main">
+ <include pattern="org/jboss/system/server/NoAnnotationURLClassLoader.class"/>
+ <include pattern="org/jboss/system/server/ServerLoader*.class"/>
+ <include pattern="org/jboss/system/server/Server.class"/>
+ <include pattern="org/jboss/system/server/ServerConfig.class"/>
+ </include>
+ </artifactdef>
+
+ <!-- ============================================================ -->
+ <!-- run.jar -->
+ <!-- ============================================================ -->
+
+ <artifactdef artifact="run.jar">
+ <include input="main">
+ <include pattern="org/jboss/Version*.class"/>
+ <include pattern="org/jboss/Main*.class"/>
+ <include pattern="org/jboss/system/JBossRMIClassLoader.class"/>
+ <include pattern="org/jboss/system/server/NoAnnotationURLClassLoader.class"/>
+ <include pattern="org/jboss/system/server/ServerLoader*.class"/>
+ <include pattern="org/jboss/system/server/Server.class"/>
+ <include pattern="org/jboss/system/server/ServerConfig.class"/>
+ <include pattern="org/jboss/system/server/ServerConfigUtil.class"/>
+ <include pattern="org/jboss/system/server/jmx/*"/>
+ <include pattern="org/jboss/system/ORBSingleton.class"/>
+ </include>
+ <include input="system-resources-root">
+ <include pattern="log4j*.properties"/>
+ <include pattern="org/jboss/version.properties"/>
+ </include>
+ <include component="gnu-getopt" include="getopt.jar">
+ <include pattern="**"/>
+ </include>
+ </artifactdef>
+
+ <!-- ============================================================ -->
+ <!-- testsuite-support.jar -->
+ <!-- ============================================================ -->
+
+ <artifactdef artifact="testsuite-support.jar">
+ <include input="main">
+ <include pattern="org/jboss/deployment/**"/>
+ <include pattern="org/jboss/system/Service.class"/>
+ <include pattern="org/jboss/system/ServiceMBean.class"/>
+ <include pattern="org/jboss/system/*MBeanSupport.class"/>
+ <include pattern="org/jboss/system/MBeanClassLoader*.class"/>
+ <include pattern="org/jboss/system/UnifiedClassLoader*.class"/>
+ <include pattern="org/jboss/system/ServiceLibraries*.class"/>
+ <include pattern="org/jboss/system/server/*MBean.class"/>
+ <include pattern="org/jboss/system/server/ServerConfigLocator.class"/>
+ <include pattern="org/jboss/system/server/ServerConfig.class"/>
+ <include pattern="org/jboss/system/server/Server.class"/>
+ </include>
+ </artifactdef>
+
+ <!-- ============================================================ -->
+ <!-- log4j-boot.jar -->
+ <!-- ============================================================ -->
+ <!--
+ | Build log4j-boot.jar This is a minimal subset of the log4j
+ | classes that allow the boot process to use log4j but avoids
+ | loading log4j classes that depend on other features like
+ | JMS, JDBC, JavaMail, etc.
+ -->
+ <artifactdef artifact="log4j-boot.jar">
+ <include component="apache-log4j" include="log4j.jar">
+ <include pattern="org/apache/log4j/*"/>
+ <include pattern="org/apache/log4j/config/*"/>
+ <include pattern="org/apache/log4j/helpers/*"/>
+ <include pattern="org/apache/log4j/or/*"/>
+ <include pattern="org/apache/log4j/spi/*"/>
+ </include>
+ </artifactdef>
+
+ <artifactdef artifact="run.conf"/>
+ <artifactdef artifact="run.sh"/>
+ <artifactdef artifact="run.bat"/>
+ <artifactdef artifact="classpath.sh"/>
+ </componentdef>
+
+ <!-- Generate the targets -->
+ <generate generate="system"/>
+
+</project>
Added: branches/JBPAPP_4_2/webservices/pom.xml
===================================================================
--- branches/JBPAPP_4_2/webservices/pom.xml (rev 0)
+++ branches/JBPAPP_4_2/webservices/pom.xml 2007-10-25 20:41:11 UTC (rev 66454)
@@ -0,0 +1,130 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <parent>
+ <groupId>org.jboss.jbossas</groupId>
+ <artifactId>jboss-as-parent</artifactId>
+ <version>5.0.0-SNAPSHOT</version>
+ <relativePath>../build/pom.xml</relativePath>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.jboss.jbossas</groupId>
+ <artifactId>jboss-as-webservices</artifactId>
+ <packaging>jar</packaging>
+ <name>JBoss Application Server Webservices</name>
+ <url>http://www.jboss.com/products/jbossas</url>
+ <description>JBoss Application Server (webservices module)</description>
+ <build>
+ <sourceDirectory>src/main</sourceDirectory>
+ <resources>
+ <resource>
+ <directory>src/resources</directory>
+ </resource>
+ </resources>
+ </build>
+ <dependencies>
+ <!-- Compile (global dependencies) -->
+ <dependency>
+ <groupId>jboss</groupId>
+ <artifactId>jboss-security-spi</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss</groupId>
+ <artifactId>jboss-vfs</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss</groupId>
+ <artifactId>jboss-common-core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.jbossas</groupId>
+ <artifactId>jboss-as-ejb3</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>javax.transaction</groupId>
+ <artifactId>jta</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.aop</groupId>
+ <artifactId>jboss-aop</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>jboss</groupId>
+ <artifactId>jboss-common-logging-spi</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>dom4j</groupId>
+ <artifactId>dom4j</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>jboss.jbossws</groupId>
+ <artifactId>jboss-jaxrpc</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.jbossas</groupId>
+ <artifactId>jboss-as-j2se</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>jboss.jbossws</groupId>
+ <artifactId>jboss-jaxws</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>jboss.jbossws</groupId>
+ <artifactId>jboss-saaj</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>jboss</groupId>
+ <artifactId>jbossws-jboss50</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.microcontainer</groupId>
+ <artifactId>jboss-deployers-spi</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.microcontainer</groupId>
+ <artifactId>jboss-deployers-structure-spi</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.microcontainer</groupId>
+ <artifactId>jboss-deployers-client-spi</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.microcontainer</groupId>
+ <artifactId>jboss-deployers-core-spi</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>jboss</groupId>
+ <artifactId>jbossws-spi</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>jboss</groupId>
+ <artifactId>jbossws-common</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>apache-xerces</groupId>
+ <artifactId>xml-apis</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>jboss</groupId>
+ <artifactId>jbosssx-client</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.microcontainer</groupId>
+ <artifactId>jboss-deployers-vfs-spi</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.jbossas</groupId>
+ <artifactId>jboss-as-server</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss</groupId>
+ <artifactId>jbossxb</artifactId>
+ </dependency>
+ </dependencies>
+
+</project>
Added: branches/JBPAPP_4_2/webservices/src/etc/component-info.xml
===================================================================
--- branches/JBPAPP_4_2/webservices/src/etc/component-info.xml (rev 0)
+++ branches/JBPAPP_4_2/webservices/src/etc/component-info.xml 2007-10-25 20:41:11 UTC (rev 66454)
@@ -0,0 +1,28 @@
+<project name="jboss/jbossws-jboss50">
+
+ <component id="jboss/jbossws-jboss50"
+ description="JBossWS container integration layer"
+ version="@repository.id@"
+ licenseType="lgpl">
+
+ <artifact id="jbossws-jboss50.jar"/>
+ <artifact id="jbossws-jboss50-deployer.zip"/>
+ <artifact id="jbossws-jboss50-src.zip"/>
+
+ <import componentref="jboss/jbossws-common">
+ <compatible version="@jbossws-common@"/>
+ </import>
+ <import componentref="jboss/jbossws-framework">
+ <compatible version="@jbossws-framework@"/>
+ </import>
+ <import componentref="jboss/jbossws-spi">
+ <compatible version="@jbossws-spi@"/>
+ </import>
+
+ <export>
+ <include input="jbossws-jboss50.jar"/>
+ </export>
+
+ </component>
+
+</project>
Added: branches/JBPAPP_4_2/webservices/src/etc/default.mf
===================================================================
--- branches/JBPAPP_4_2/webservices/src/etc/default.mf (rev 0)
+++ branches/JBPAPP_4_2/webservices/src/etc/default.mf 2007-10-25 20:41:11 UTC (rev 66454)
@@ -0,0 +1,10 @@
+Manifest-Version: 1.2
+Created-By: @java.vm.version@ (@java.vm.vendor@)
+Specification-Title: @specification.title@
+Specification-Version: @specification.version@
+Specification-Vendor: @specification.vendor@
+Implementation-Title: @implementation.title@
+Implementation-URL: @implementation.url@
+Implementation-Version: @implementation.version@ (build=@build.id@)
+Implementation-Vendor: @implementation.vendor@
+Implementation-Vendor-Id: @implementation.vendor.id@
Added: branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/AbstractDeployerHook.java
===================================================================
--- branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/AbstractDeployerHook.java (rev 0)
+++ branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/AbstractDeployerHook.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -0,0 +1,201 @@
+/*
+ * 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: AbstractDeployerHook.java 4239 2007-08-07 19:13:42Z heiko.braun at jboss.com $
+
+import org.jboss.deployment.DeploymentInfo;
+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.SPIProvider;
+import org.jboss.wsf.spi.SPIProviderResolver;
+import org.jboss.wsf.spi.deployment.*;
+
+import javax.management.MBeanServer;
+import javax.management.ObjectName;
+import java.util.List;
+
+/**
+ * An abstract web service deployer.
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 25-Apr-2007
+ */
+public abstract class AbstractDeployerHook implements DeployerHook
+{
+ // provide logging
+ protected final Logger log = Logger.getLogger(getClass());
+
+ private DeploymentAspectManager deploymentAspectManager;
+ private DeploymentModelFactory deploymentModelFactory;
+
+ private List<ObjectName> phaseOneInterceptors;
+ private List<ObjectName> phaseTwoInterceptors;
+
+ protected String deploymentManagerName;
+
+ /** MC provided property **/
+ public void setDeploymentManagerName(String deploymentManagerName)
+ {
+ this.deploymentManagerName = deploymentManagerName;
+ }
+
+ public DeploymentAspectManager getDeploymentAspectManager()
+ {
+ if(null == deploymentAspectManager)
+ {
+ SPIProvider spiProvider = SPIProviderResolver.getInstance().getProvider();
+ deploymentAspectManager = spiProvider.getSPI(DeploymentAspectManagerFactory.class).getDeploymentAspectManager( deploymentManagerName );
+ }
+
+ return deploymentAspectManager;
+ }
+
+ public DeploymentModelFactory getDeploymentModelFactory()
+ {
+ if(null == deploymentModelFactory)
+ {
+ SPIProvider spiProvider = SPIProviderResolver.getInstance().getProvider();
+ deploymentModelFactory = spiProvider.getSPI(DeploymentModelFactory.class);
+ }
+
+ return deploymentModelFactory;
+ }
+
+ public ArchiveDeployment newDeployment(DeploymentInfo di)
+ {
+ try
+ {
+ DeploymentModelFactory factory = getDeploymentModelFactory();
+ ArchiveDeployment dep = (ArchiveDeployment)factory.newDeployment(di.shortName, di.annotationsCl);
+ if (di.parent != null)
+ {
+ DeploymentInfo parentInfo = di.parent;
+ ArchiveDeployment parentDep = (ArchiveDeployment)factory.newDeployment(parentInfo.shortName, parentInfo.annotationsCl);
+ dep.setParent(parentDep);
+ }
+ return dep;
+ }
+ catch (Exception ex)
+ {
+ throw new WSFDeploymentException("Cannot load spi.deployment.Deployment class", ex);
+ }
+ }
+
+ public Endpoint newEndpoint(String targetBean)
+ {
+ try
+ {
+ return getDeploymentModelFactory().newEndpoint(targetBean);
+ }
+ catch (Exception ex)
+ {
+ throw new WSFDeploymentException("Cannot load spi.deployment.Endpoint class", ex);
+ }
+ }
+
+ public void setPhaseOneInterceptors(List<ObjectName> phaseOneInterceptors)
+ {
+ this.phaseOneInterceptors = phaseOneInterceptors;
+ }
+
+ public void setPhaseTwoInterceptors(List<ObjectName> phaseTwoInterceptors)
+ {
+ this.phaseTwoInterceptors = phaseTwoInterceptors;
+ }
+
+ /** Return true if this deployment should be ignored
+ */
+ public boolean ignoreDeployment(DeploymentInfo unit)
+ {
+ return false;
+ }
+
+ /** Add the hooks to the interceptors
+ */
+ public void start()
+ {
+
+ MBeanServer server = MBeanServerLocator.locateJBoss();
+ try
+ {
+ if (phaseOneInterceptors != null)
+ {
+ for (ObjectName oname : phaseOneInterceptors)
+ {
+ DeployerInterceptorMBean interceptor = (DeployerInterceptorMBean)MBeanProxy.get(DeployerInterceptorMBean.class, oname, server);
+ interceptor.addPhaseOneHook(this);
+ }
+ }
+
+ if (phaseTwoInterceptors != null)
+ {
+ for (ObjectName oname : phaseTwoInterceptors)
+ {
+ DeployerInterceptorMBean interceptor = (DeployerInterceptorMBean)MBeanProxy.get(DeployerInterceptorMBean.class, oname, server);
+ interceptor.addPhaseTwoHook(this);
+ }
+ }
+ }
+ catch (MBeanProxyCreationException e)
+ {
+ throw new WSFDeploymentException(e);
+ }
+ }
+
+ /** Add the hooks to the interceptors
+ */
+ public void stop()
+ {
+ MBeanServer server = MBeanServerLocator.locateJBoss();
+ try
+ {
+ if (phaseOneInterceptors != null)
+ {
+ for (ObjectName oname : phaseOneInterceptors)
+ {
+ DeployerInterceptorMBean interceptor = (DeployerInterceptorMBean)MBeanProxy.get(DeployerInterceptorMBean.class, oname, server);
+ interceptor.removePhaseOneHook(this);
+ }
+ }
+
+ if (phaseTwoInterceptors != null)
+ {
+ for (ObjectName oname : phaseTwoInterceptors)
+ {
+ DeployerInterceptorMBean interceptor = (DeployerInterceptorMBean)MBeanProxy.get(DeployerInterceptorMBean.class, oname, server);
+ interceptor.removePhaseTwoHook(this);
+ }
+ }
+ }
+ catch (MBeanProxyCreationException e)
+ {
+ throw new WSFDeploymentException(e);
+ }
+ }
+
+ /** Get the deployment type this deployer can handle
+ */
+ public abstract Deployment.DeploymentType getDeploymentType();
+}
Added: branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/AbstractDeployerHookEJB.java
===================================================================
--- branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/AbstractDeployerHookEJB.java (rev 0)
+++ branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/AbstractDeployerHookEJB.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -0,0 +1,37 @@
+/*
+ * 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;
+
+import org.jboss.wsf.spi.deployment.Deployment;
+
+//$Id: AbstractDeployerHookEJB.java 3970 2007-07-24 08:39:35Z heiko.braun at jboss.com $
+
+/**
+ * An abstract deployer for EJB Endpoints
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 25-Apr-2007
+ */
+public abstract class AbstractDeployerHookEJB extends ArchiveDeployerHook
+{
+
+}
Added: branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/AbstractDeployerHookJSE.java
===================================================================
--- branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/AbstractDeployerHookJSE.java (rev 0)
+++ branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/AbstractDeployerHookJSE.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -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.container.jboss42;
+
+import org.jboss.deployment.DeploymentInfo;
+import org.jboss.metadata.WebMetaData;
+
+//$Id: AbstractDeployerHookJSE.java 3146 2007-05-18 22:55:26Z thomas.diesler at jboss.com $
+
+/**
+ * An abstract deployer for JSE Endpoints
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 25-Apr-2007
+ */
+public abstract class AbstractDeployerHookJSE extends ArchiveDeployerHook
+{
+ public boolean isWebServiceDeployment(DeploymentInfo unit)
+ {
+ if ((unit.metaData instanceof WebMetaData) == false)
+ return false;
+
+ return true;
+ }
+
+ static class Servlet
+ {
+ String servletName;
+ String servletClass;
+ public Servlet(String servletName, String servletClass)
+ {
+ this.servletName = servletName;
+ this.servletClass = servletClass;
+ }
+ public String getServletClass()
+ {
+ return servletClass;
+ }
+ public String getServletName()
+ {
+ return servletName;
+ }
+ }
+}
Added: branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/AbstractInvocationHandler.java
===================================================================
--- branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/AbstractInvocationHandler.java (rev 0)
+++ branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/AbstractInvocationHandler.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -0,0 +1,55 @@
+/*
+ * 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: InvocationHandlerEJB3.java 4023 2007-07-28 07:14:06Z thomas.diesler at jboss.com $
+
+import java.lang.reflect.Method;
+
+import org.jboss.wsf.common.JavaUtils;
+import org.jboss.wsf.spi.invocation.InvocationHandler;
+
+/**
+ * @author Thomas.Diesler at jboss.org
+ * @since 25-Apr-2007
+ */
+public abstract class AbstractInvocationHandler extends InvocationHandler
+{
+ 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;
+ }
+}
\ No newline at end of file
Added: branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/ArchiveDeployerHook.java
===================================================================
--- branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/ArchiveDeployerHook.java (rev 0)
+++ branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/ArchiveDeployerHook.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -0,0 +1,156 @@
+/*
+ * 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: ArchiveDeployerHook.java 4278 2007-08-09 09:13:34Z thomas.diesler at jboss.com $
+
+import java.io.IOException;
+import java.net.URL;
+
+import org.jboss.deployment.DeploymentException;
+import org.jboss.deployment.DeploymentInfo;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.UnifiedVirtualFile;
+import org.jboss.wsf.spi.deployment.WSFDeploymentException;
+import org.jboss.wsf.spi.deployment.Deployment.DeploymentType;
+import org.jboss.wsf.spi.metadata.webservices.WebservicesFactory;
+import org.jboss.wsf.spi.metadata.webservices.WebservicesMetaData;
+import org.jboss.wsf.common.DOMUtils;
+import org.jboss.wsf.common.ResourceLoaderAdapter;
+import org.jboss.xb.binding.ObjectModelFactory;
+import org.jboss.xb.binding.Unmarshaller;
+import org.jboss.xb.binding.UnmarshallerFactory;
+import org.w3c.dom.Element;
+
+/**
+ * An abstract web service deployer.
+ *
+ * deploy(unit)
+ * if(isWebServiceDeployment)
+ * dep = createDeployment(unit)
+ * deploy(dep)
+ *
+ * undeploy(unit)
+ * dep = getDeployment(unit)
+ * undeploy(dep)
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 25-Apr-2007
+ */
+public abstract class ArchiveDeployerHook extends AbstractDeployerHook
+{
+ /** Get the deployemnt type this deployer can handle
+ */
+ public abstract DeploymentType getDeploymentType();
+
+ /** Depending on the type of deployment, this method should return true
+ * if the deployment contains web service endpoints.
+ */
+ public abstract boolean isWebServiceDeployment(DeploymentInfo unit);
+
+ /** Create the Deployment for a given DeploymentInfo
+ */
+ public abstract Deployment createDeployment(DeploymentInfo unit);
+
+ /** Get the Deployment for a given DeploymentInfo
+ */
+ public Deployment getDeployment(DeploymentInfo unit)
+ {
+ Deployment dep = (Deployment)unit.context.get(Deployment.class);
+ return (dep != null && dep.getType() == getDeploymentType() ? dep : null);
+ }
+
+ public void deploy(DeploymentInfo unit) throws DeploymentException
+ {
+ if (ignoreDeployment(unit))
+ return;
+
+ if (isWebServiceDeployment(unit))
+ {
+ log.debug("deploy: " + unit.shortName);
+ Deployment dep = getDeployment(unit);
+ if (dep == null)
+ {
+ dep = createDeployment(unit);
+ dep.addAttachment(DeploymentInfo.class, unit);
+ }
+
+ getDeploymentAspectManager().deploy(dep);
+ unit.context.put(Deployment.class, dep);
+ }
+ }
+
+ public void undeploy(DeploymentInfo unit)
+ {
+ if (ignoreDeployment(unit))
+ return;
+
+ Deployment dep = getDeployment(unit);
+ if (dep != null)
+ {
+ log.debug("undeploy: " + unit.shortName);
+ getDeploymentAspectManager().undeploy(dep);
+ }
+ }
+
+ /** Unmrashall the webservices.xml if there is one
+ */
+ protected WebservicesMetaData getWebservicesMetaData(DeploymentInfo unit, String wsFile)
+ {
+ WebservicesMetaData wsMetaData = (WebservicesMetaData)unit.context.get(WebservicesMetaData.class);
+ UnifiedVirtualFile vfWebservices = getWebservicesFile(unit, wsFile);
+ if (wsMetaData == null && vfWebservices != null)
+ {
+ try
+ {
+ URL wsURL = vfWebservices.toURL();
+ Element root = DOMUtils.parse(wsURL.openStream());
+ String namespaceURI = root.getNamespaceURI();
+ if (namespaceURI.equals("http://java.sun.com/xml/ns/j2ee"))
+ {
+ Unmarshaller unmarshaller = UnmarshallerFactory.newInstance().newUnmarshaller();
+ ObjectModelFactory factory = new WebservicesFactory(wsURL);
+ wsMetaData = (WebservicesMetaData)unmarshaller.unmarshal(wsURL.openStream(), factory, null);
+ unit.context.put(WebservicesMetaData.class, wsMetaData);
+ }
+ }
+ catch (Exception ex)
+ {
+ throw new WSFDeploymentException(ex);
+ }
+ }
+ return wsMetaData;
+ }
+
+ private UnifiedVirtualFile getWebservicesFile(DeploymentInfo unit, String wsFile)
+ {
+ try
+ {
+ UnifiedVirtualFile vfsRoot = new ResourceLoaderAdapter(unit.localCl);
+ return (wsFile != null ? vfsRoot.findChild(wsFile) : null);
+ }
+ catch (IOException e)
+ {
+ return null;
+ }
+ }
+}
Added: branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/ContainerMetaDataAdapter.java
===================================================================
--- branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/ContainerMetaDataAdapter.java (rev 0)
+++ branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/ContainerMetaDataAdapter.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -0,0 +1,116 @@
+/*
+ * 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: ContainerMetaDataAdapter.java 4022 2007-07-27 13:54:43Z heiko.braun at jboss.com $
+
+import org.jboss.deployment.DeploymentInfo;
+import org.jboss.logging.Logger;
+import org.jboss.metadata.ApplicationMetaData;
+import org.jboss.metadata.WebMetaData;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.Deployment.DeploymentType;
+import org.jboss.wsf.spi.metadata.j2ee.EJBArchiveMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.JSEArchiveMetaData;
+
+import java.io.File;
+import java.net.MalformedURLException;
+import java.net.URL;
+
+/**
+ * Build container independent deployment info.
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 05-May-2006
+ */
+public class ContainerMetaDataAdapter
+{
+ // logging support
+ private static Logger log = Logger.getLogger(ContainerMetaDataAdapter.class);
+
+ private EJBArchiveMetaDataAdapterEJB3 applicationMetaDataAdapterEJB3;
+ private EJBArchiveMetaDataAdapter applicationMetaDataAdapterEJB21;
+ private JSEArchiveMetaDataAdapter webMetaDataAdapter;
+
+ public void setApplicationMetaDataAdapterEJB21(EJBArchiveMetaDataAdapter adapter)
+ {
+ this.applicationMetaDataAdapterEJB21 = adapter;
+ }
+
+ public void setApplicationMetaDataAdapterEJB3(EJBArchiveMetaDataAdapterEJB3 adapter)
+ {
+ this.applicationMetaDataAdapterEJB3 = adapter;
+ }
+
+ public void setWebMetaDataAdapter(JSEArchiveMetaDataAdapter adapter)
+ {
+ this.webMetaDataAdapter = adapter;
+ }
+
+ public void buildContainerMetaData(Deployment dep, DeploymentInfo di)
+ {
+ dep.addAttachment(DeploymentInfo.class, di);
+ dep.setProperty(EJBArchiveMetaDataAdapterEJB3.DEPLOYED_OBJECT, di.deployedObject);
+
+ if (di.metaData instanceof WebMetaData)
+ {
+ JSEArchiveMetaData webMetaData = webMetaDataAdapter.buildUnifiedWebMetaData(dep, di);
+ if (webMetaData != null)
+ dep.addAttachment(JSEArchiveMetaData.class, webMetaData);
+
+ dep.setProperty("org.jboss.ws.webapp.url", getDeploymentURL(di));
+ }
+ else if (dep.getType() == DeploymentType.JAXRPC_EJB3 || dep.getType() == DeploymentType.JAXWS_EJB3)
+ {
+ EJBArchiveMetaData appMetaData = applicationMetaDataAdapterEJB3.buildUnifiedApplicationMetaData(dep);
+ if (appMetaData != null)
+ dep.addAttachment(EJBArchiveMetaData.class, appMetaData);
+ }
+ else if (di.metaData instanceof ApplicationMetaData)
+ {
+ EJBArchiveMetaData appMetaData = applicationMetaDataAdapterEJB21.buildUnifiedApplicationMetaData(dep, di);
+ if (appMetaData != null)
+ dep.addAttachment(EJBArchiveMetaData.class, appMetaData);
+ }
+ }
+
+ private URL getDeploymentURL(DeploymentInfo di)
+ {
+ URL deploymentURL = (di.localUrl != null ? di.localUrl : di.url);
+ if ("file".equals(deploymentURL.getProtocol()))
+ {
+ String path = deploymentURL.getPath();
+ if (new File(path).isFile())
+ {
+ try
+ {
+ deploymentURL = new URL("jar:file:" + path + "!/");
+ }
+ catch (MalformedURLException e)
+ {
+ // ignore
+ }
+ }
+ }
+ return deploymentURL;
+ }
+}
Added: branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/ContainerMetaDataDeploymentAspect.java
===================================================================
--- branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/ContainerMetaDataDeploymentAspect.java (rev 0)
+++ branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/ContainerMetaDataDeploymentAspect.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -0,0 +1,54 @@
+/*
+ * 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 at jboss.com $
+
+import org.jboss.deployment.DeploymentInfo;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.DeploymentAspect;
+
+/**
+ * A deployer that builds the UnifiedDeploymentInfo
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 25-Apr-2007
+ */
+public class ContainerMetaDataDeploymentAspect extends DeploymentAspect
+{
+ private ContainerMetaDataAdapter metaDataAdapter;
+
+ public void setMetaDataAdapter(ContainerMetaDataAdapter adapter)
+ {
+ this.metaDataAdapter = adapter;
+ }
+
+ @Override
+ public void create(Deployment dep)
+ {
+ DeploymentInfo di = dep.getAttachment(DeploymentInfo.class);
+ if (di == null)
+ throw new IllegalStateException("Cannot obtain deployment info");
+
+ metaDataAdapter.buildContainerMetaData(dep, di);
+ }
+}
\ No newline at end of file
Added: branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/DefaultInvocationHandler.java
===================================================================
--- branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/DefaultInvocationHandler.java (rev 0)
+++ branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/DefaultInvocationHandler.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -0,0 +1,129 @@
+/*
+ * 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: DefaultInvocationHandlerJAXWS.java 4023 2007-07-28 07:14:06Z thomas.diesler at jboss.com $
+
+import java.lang.reflect.Method;
+
+import javax.xml.ws.WebServiceContext;
+
+import org.jboss.wsf.common.JavaUtils;
+import org.jboss.wsf.spi.SPIProvider;
+import org.jboss.wsf.spi.SPIProviderResolver;
+import org.jboss.wsf.spi.deployment.Endpoint;
+import org.jboss.wsf.spi.invocation.Invocation;
+import org.jboss.wsf.spi.invocation.InvocationContext;
+import org.jboss.wsf.spi.invocation.InvocationHandler;
+import org.jboss.wsf.spi.invocation.ResourceInjector;
+import org.jboss.wsf.spi.invocation.ResourceInjectorFactory;
+
+/**
+ * Handles invocations on JSE endpoints.
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 25-Apr-2007
+ */
+public class DefaultInvocationHandler extends InvocationHandler
+{
+ private SPIProvider spiProvider;
+ private ResourceInjectorFactory resourceInjectorFactory;
+
+ public DefaultInvocationHandler()
+ {
+ spiProvider = SPIProviderResolver.getInstance().getProvider();
+ resourceInjectorFactory = spiProvider.getSPI(ResourceInjectorFactory.class);
+ }
+
+ public Invocation createInvocation()
+ {
+ return new Invocation();
+ }
+
+ public void init(Endpoint ep)
+ {
+ }
+
+ protected Object getTargetBean(Endpoint ep, Invocation epInv)
+ {
+ InvocationContext invCtx = epInv.getInvocationContext();
+ Object targetBean = invCtx.getTargetBean();
+ if (targetBean == null)
+ {
+ try
+ {
+ Class epImpl = ep.getTargetBeanClass();
+ targetBean = epImpl.newInstance();
+ invCtx.setTargetBean(targetBean);
+ }
+ catch (Exception ex)
+ {
+ throw new IllegalStateException("Canot get target bean instance", ex);
+ }
+ }
+ return targetBean;
+ }
+
+ public void invoke(Endpoint ep, Invocation epInv) throws Exception
+ {
+ try
+ {
+ Object targetBean = getTargetBean(ep, epInv);
+
+ InvocationContext invContext = epInv.getInvocationContext();
+ WebServiceContext wsContext = invContext.getAttachment(WebServiceContext.class);
+ if (wsContext != null)
+ {
+
+ ResourceInjector injector = resourceInjectorFactory.newResourceInjector();
+ injector.inject(targetBean, wsContext);
+ }
+
+ Method method = getImplMethod(targetBean.getClass(), epInv.getJavaMethod());
+ Object retObj = method.invoke(targetBean, epInv.getArgs());
+ epInv.setReturnValue(retObj);
+ }
+ catch (Exception e)
+ {
+ handleInvocationException(e);
+ }
+ }
+
+ 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;
+ }
+}
Added: branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/DefaultInvocationHandlerJAXRPC.java
===================================================================
--- branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/DefaultInvocationHandlerJAXRPC.java (rev 0)
+++ branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/DefaultInvocationHandlerJAXRPC.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -0,0 +1,72 @@
+/*
+ * 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: DefaultInvocationHandlerJAXRPC.java 3959 2007-07-20 14:44:19Z heiko.braun at jboss.com $
+
+import javax.xml.rpc.server.ServiceLifecycle;
+import javax.xml.rpc.server.ServletEndpointContext;
+
+import org.jboss.wsf.spi.deployment.Endpoint;
+import org.jboss.wsf.spi.invocation.Invocation;
+import org.jboss.wsf.spi.invocation.InvocationContext;
+
+/**
+ * Handles invocations on JSE endpoints.
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 25-Apr-2007
+ */
+public class DefaultInvocationHandlerJAXRPC extends DefaultInvocationHandler
+{
+ public void invoke(Endpoint ep, Invocation epInv) throws Exception
+ {
+ try
+ {
+ Object targetBean = getTargetBean(ep, epInv);
+
+ InvocationContext invContext = epInv.getInvocationContext();
+ if (targetBean instanceof ServiceLifecycle)
+ {
+ ServletEndpointContext sepContext = invContext.getAttachment(ServletEndpointContext.class);
+ if (sepContext != null)
+ ((ServiceLifecycle)targetBean).init(sepContext);
+ }
+
+ try
+ {
+ super.invoke(ep, epInv);
+ }
+ finally
+ {
+ if (targetBean instanceof ServiceLifecycle)
+ {
+ ((ServiceLifecycle)targetBean).destroy();
+ }
+ }
+ }
+ catch (Exception e)
+ {
+ handleInvocationException(e);
+ }
+ }
+}
Added: branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/DefaultInvocationHandlerJAXWS.java
===================================================================
--- branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/DefaultInvocationHandlerJAXWS.java (rev 0)
+++ branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/DefaultInvocationHandlerJAXWS.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -0,0 +1,34 @@
+/*
+ * 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: DefaultInvocationHandlerJAXWS.java 4023 2007-07-28 07:14:06Z thomas.diesler at jboss.com $
+
+/**
+ * Handles invocations on JSE endpoints.
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 25-Apr-2007
+ */
+public class DefaultInvocationHandlerJAXWS extends DefaultInvocationHandler
+{
+}
Added: branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/DefaultWebAppDesciptorModifierImpl.java
===================================================================
--- branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/DefaultWebAppDesciptorModifierImpl.java (rev 0)
+++ branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/DefaultWebAppDesciptorModifierImpl.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -0,0 +1,164 @@
+/*
+ * 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;
+
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.Endpoint;
+import org.jboss.logging.Logger;
+import org.dom4j.Document;
+import org.dom4j.Element;
+
+import java.util.Iterator;
+import java.util.Map;
+
+/**
+ * Modifies web.xml for jbossws
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 19-May-2006
+ */
+public class DefaultWebAppDesciptorModifierImpl implements WebAppDesciptorModifier
+{
+ // logging support
+ private static Logger log = Logger.getLogger(DefaultWebAppDesciptorModifierImpl.class);
+
+ public RewriteResults modifyDescriptor(Deployment dep, Document webXml) throws ClassNotFoundException
+ {
+ RewriteResults results = new RewriteResults();
+ Element root = webXml.getRootElement();
+
+ String propKey = "org.jboss.ws.webapp.ServletClass";
+ String servletClass = (String)dep.getProperty(propKey);
+ if (servletClass == null)
+ throw new IllegalStateException("Cannot obtain context property: " + propKey);
+
+ propKey = "org.jboss.ws.webapp.ContextParameterMap";
+ Map<String, String> contextParams = (Map<String, String>)dep.getProperty(propKey);
+ if (contextParams != null)
+ {
+ for (Map.Entry<String, String> entry : contextParams.entrySet())
+ {
+ Element contextParam = root.addElement("context-param");
+ contextParam.addElement("param-name").addText(entry.getKey());
+ contextParam.addElement("param-value").addText(entry.getValue());
+ }
+ }
+
+ propKey = "org.jboss.ws.webapp.ServletContextListener";
+ String listenerClass = (String)dep.getProperty(propKey);
+ if (listenerClass != null)
+ {
+ Element listener = root.addElement("listener");
+ listener.addElement("listener-class").setText(listenerClass);
+ }
+
+ 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.getInitialClassLoader();
+ 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;
+ }
+}
Added: branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/DeployerHook.java
===================================================================
--- branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/DeployerHook.java (rev 0)
+++ branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/DeployerHook.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -0,0 +1,41 @@
+/*
+ * 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;
+
+import org.jboss.deployment.DeploymentException;
+import org.jboss.deployment.DeploymentInfo;
+
+//$Id: DeployerHook.java 3146 2007-05-18 22:55:26Z thomas.diesler at jboss.com $
+
+
+/**
+ * An interface for all web service deployer hooks
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 24-Apr-2007
+ */
+public interface DeployerHook
+{
+ void deploy(DeploymentInfo unit) throws DeploymentException;
+
+ void undeploy(DeploymentInfo unit);
+}
Added: branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/DeployerHookPostJSE.java
===================================================================
--- branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/DeployerHookPostJSE.java (rev 0)
+++ branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/DeployerHookPostJSE.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -0,0 +1,61 @@
+/*
+ * 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;
+
+import org.jboss.deployment.DeploymentInfo;
+import org.jboss.wsf.spi.deployment.Deployment;
+
+/**
+ * @author Heiko.Braun at jboss.com
+ * @version $Revision: 4276 $
+ */
+public abstract class DeployerHookPostJSE extends AbstractDeployerHookJSE
+{
+ /**
+ * The deployment should be created in phase 1.
+ */
+ @Override
+ public Deployment createDeployment(DeploymentInfo di)
+ {
+ Deployment deployment = (Deployment)di.context.get(Deployment.class);
+ if (null == deployment)
+ throw new IllegalArgumentException("spi.Deployment missing. Should be created in Phase 1");
+
+ return deployment;
+ }
+
+ /**
+ * A phase 2 deployer hook needs to reject first-place
+ * JSE deployments and wait for those that are re-written.
+ * We rely on the fact that spi.Deployment is created in phase 1.
+ */
+ @Override
+ public boolean isWebServiceDeployment(DeploymentInfo di)
+ {
+ if (super.isWebServiceDeployment(di) == false)
+ return false;
+
+ Deployment deployment = (Deployment)di.context.get(Deployment.class);
+ return deployment != null;
+ }
+
+}
Added: branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/DeployerInterceptor.java
===================================================================
--- branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/DeployerInterceptor.java (rev 0)
+++ branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/DeployerInterceptor.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -0,0 +1,153 @@
+/*
+ * 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: DeployerInterceptor.java 3146 2007-05-18 22:55:26Z thomas.diesler at jboss.com $
+
+import java.util.LinkedList;
+import java.util.List;
+
+import org.jboss.deployment.DeploymentInfo;
+import org.jboss.deployment.MainDeployerMBean;
+import org.jboss.deployment.SubDeployerInterceptorSupport;
+import org.jboss.mx.server.Invocation;
+import org.jboss.mx.util.MBeanProxy;
+
+/**
+ * A deployer service that manages WS4EE compliant Web Services
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 03-May-2007
+ */
+public abstract class DeployerInterceptor extends SubDeployerInterceptorSupport implements DeployerInterceptorMBean
+{
+ // The main deployer
+ private MainDeployerMBean mainDeployer;
+
+ private List<DeployerHook> phaseOneHooks = new LinkedList<DeployerHook>();
+ private List<DeployerHook> phaseTwoHooks = new LinkedList<DeployerHook>();
+
+ public void addPhaseOneHook(DeployerHook hook)
+ {
+ log.debug("Add phase-one deployer hook: " + hook);
+ phaseOneHooks.add(hook);
+ }
+
+ public void removePhaseOneHook(DeployerHook hook)
+ {
+ log.debug("Remove phase-one deployer hook: " + hook);
+ phaseOneHooks.remove(hook);
+ }
+
+ public void addPhaseTwoHook(DeployerHook hook)
+ {
+ log.debug("Add phase-two deployer hook: " + hook);
+ phaseTwoHooks.add(hook);
+ }
+
+ public void removePhaseTwoHook(DeployerHook hook)
+ {
+ log.debug("Remove phase-two deployer hook: " + hook);
+ phaseTwoHooks.remove(hook);
+ }
+
+ @Override
+ protected final Object create(Invocation invocation, DeploymentInfo unit) throws Throwable
+ {
+ Object retn = invokeNext(invocation);
+
+ for (DeployerHook deployer : phaseOneHooks)
+ deployer.deploy(unit);
+
+ return retn;
+ }
+
+ @Override
+ protected final Object start(Invocation invocation, DeploymentInfo unit) throws Throwable
+ {
+ Object retn = invokeNext(invocation);
+
+ for (DeployerHook deployer : phaseTwoHooks)
+ deployer.deploy(unit);
+
+ return retn;
+ }
+
+ @Override
+ protected final Object stop(Invocation invocation, DeploymentInfo unit) throws Throwable
+ {
+ Object retn = invokeNext(invocation);
+
+ for (DeployerHook deployer : phaseTwoHooks)
+ deployer.undeploy(unit);
+
+ return retn;
+ }
+
+ @Override
+ protected final Object destroy(Invocation invocation, DeploymentInfo unit) throws Throwable
+ {
+ Object retn = invokeNext(invocation);
+
+ for (DeployerHook deployer : phaseOneHooks)
+ deployer.undeploy(unit);
+
+ return retn;
+ }
+
+ /** Create the deployer service
+ */
+ protected void createService() throws Exception
+ {
+ mainDeployer = (MainDeployerMBean)MBeanProxy.get(MainDeployerMBean.class, MainDeployerMBean.OBJECT_NAME, server);
+ super.attach();
+ }
+
+ /** Destroy the deployer service
+ */
+ protected void destroyService()
+ {
+ super.detach();
+ }
+
+ /**
+ * Handle all webservice deployment exceptions.
+ * You can either simply log the problem and keep the EJB/WAR module
+ * alive or undeploy properly.
+ */
+ protected void handleStartupException(DeploymentInfo di, Throwable th)
+ {
+ log.error("Cannot startup webservice for: " + di.shortName, th);
+ mainDeployer.undeploy(di);
+ }
+
+ /**
+ * Handle all webservice deployment exceptions.
+ *
+ * You can either simply logs the problem and keep the EJB/WAR module
+ * alive or undeploy properly.
+ */
+ protected void handleShutdownException(String moduleName, Throwable th)
+ {
+ log.error("Cannot shutdown webservice for: " + moduleName, th);
+ }
+}
Added: branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/DeployerInterceptorEJB21.java
===================================================================
--- branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/DeployerInterceptorEJB21.java (rev 0)
+++ branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/DeployerInterceptorEJB21.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -0,0 +1,35 @@
+/*
+ * 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: DeployerInterceptorEJB21.java 3146 2007-05-18 22:55:26Z thomas.diesler at jboss.com $
+
+/**
+ * A deployer service that manages WS4EE compliant Web-Services for EJB-2.1 Endpoints
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 15-Jan-2005
+ */
+public class DeployerInterceptorEJB21 extends DeployerInterceptor implements DeployerInterceptorEJB21MBean
+{
+
+}
Added: branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/DeployerInterceptorEJB21MBean.java
===================================================================
--- branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/DeployerInterceptorEJB21MBean.java (rev 0)
+++ branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/DeployerInterceptorEJB21MBean.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -0,0 +1,36 @@
+/*
+ * 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;
+
+import javax.management.ObjectName;
+
+import org.jboss.wsf.common.ObjectNameFactory;
+
+/**
+ * MBean interface.
+ * @since 19-Jan-2005
+ */
+public interface DeployerInterceptorEJB21MBean extends DeployerInterceptorMBean
+{
+ //default object name
+ public static final ObjectName OBJECT_NAME = ObjectNameFactory.create("jboss.ws:service=WebServiceDeployerEJB21");
+}
Added: branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/DeployerInterceptorEJB3.java
===================================================================
--- branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/DeployerInterceptorEJB3.java (rev 0)
+++ branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/DeployerInterceptorEJB3.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -0,0 +1,34 @@
+/*
+ * 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: DeployerInterceptorEJB3.java 3146 2007-05-18 22:55:26Z thomas.diesler at jboss.com $
+
+/**
+ * A deployer service that manages WS4EE compliant Web-Services for EJB3 Endpoints
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 10-May-2005
+ */
+public class DeployerInterceptorEJB3 extends DeployerInterceptor implements DeployerInterceptorEJB3MBean
+{
+}
Added: branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/DeployerInterceptorEJB3MBean.java
===================================================================
--- branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/DeployerInterceptorEJB3MBean.java (rev 0)
+++ branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/DeployerInterceptorEJB3MBean.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -0,0 +1,36 @@
+/*
+ * 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;
+
+import javax.management.ObjectName;
+
+import org.jboss.wsf.common.ObjectNameFactory;
+
+/**
+ * MBean interface.
+ * @since 19-Jan-2005
+ */
+public interface DeployerInterceptorEJB3MBean extends DeployerInterceptorMBean
+{
+ //default object name
+ public static final ObjectName OBJECT_NAME = ObjectNameFactory.create("jboss.ws:service=WebServiceDeployerEJB3");
+}
Added: branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/DeployerInterceptorJSE.java
===================================================================
--- branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/DeployerInterceptorJSE.java (rev 0)
+++ branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/DeployerInterceptorJSE.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -0,0 +1,34 @@
+/*
+ * 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: DeployerInterceptorJSE.java 3146 2007-05-18 22:55:26Z thomas.diesler at jboss.com $
+
+/**
+ * A deployer service that manages WS4EE compliant Web Services for WAR
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 15-Jan-2005
+ */
+public class DeployerInterceptorJSE extends DeployerInterceptor implements DeployerInterceptorJSEMBean
+{
+}
Added: branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/DeployerInterceptorJSEMBean.java
===================================================================
--- branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/DeployerInterceptorJSEMBean.java (rev 0)
+++ branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/DeployerInterceptorJSEMBean.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -0,0 +1,36 @@
+/*
+* 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;
+
+import javax.management.ObjectName;
+
+import org.jboss.wsf.common.ObjectNameFactory;
+
+/**
+ * MBean interface.
+ * @since 19-Jan-2005
+ */
+public interface DeployerInterceptorJSEMBean extends DeployerInterceptorMBean
+{
+ //default object name
+ public static final ObjectName OBJECT_NAME = ObjectNameFactory.create("jboss.ws:service=WebServiceDeployerJSE");
+}
Added: branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/DeployerInterceptorMBean.java
===================================================================
--- branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/DeployerInterceptorMBean.java (rev 0)
+++ branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/DeployerInterceptorMBean.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -0,0 +1,39 @@
+/*
+ * 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;
+
+import org.jboss.deployment.SubDeployerInterceptorMBean;
+
+/**
+ * MBean interface.
+ * @since 19-Jan-2005
+ */
+public interface DeployerInterceptorMBean extends SubDeployerInterceptorMBean
+{
+ void addPhaseOneHook(DeployerHook deployer);
+
+ void removePhaseOneHook(DeployerHook deployer);
+
+ void addPhaseTwoHook(DeployerHook deployer);
+
+ void removePhaseTwoHook(DeployerHook deployer);
+}
Added: branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/DeploymentAspectHttpServer.java
===================================================================
--- branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/DeploymentAspectHttpServer.java (rev 0)
+++ branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/DeploymentAspectHttpServer.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -0,0 +1,123 @@
+/*
+ * 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: JBossHttpServer.java 1786 2007-01-04 14:30:04Z thomas.diesler at jboss.com $
+
+import javax.xml.ws.Endpoint;
+import javax.xml.ws.WebServiceException;
+
+import org.jboss.wsf.spi.SPIProvider;
+import org.jboss.wsf.spi.SPIProviderResolver;
+import org.jboss.wsf.spi.deployment.AbstractExtensible;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.DeploymentAspectManager;
+import org.jboss.wsf.spi.deployment.DeploymentAspectManagerFactory;
+import org.jboss.wsf.spi.deployment.DeploymentModelFactory;
+import org.jboss.wsf.spi.deployment.Service;
+import org.jboss.wsf.spi.http.HttpContext;
+import org.jboss.wsf.spi.http.HttpContextFactory;
+import org.jboss.wsf.spi.http.HttpServer;
+
+/**
+ * A HTTP Server that uses DeploymentAspects
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 07-Jul-2006
+ */
+public class DeploymentAspectHttpServer extends AbstractExtensible implements HttpServer
+{
+ /** Start an instance of this HTTP server */
+ public void start()
+ {
+ // verify required properties
+ }
+
+ /** Create an HTTP context */
+ public HttpContext createContext(String contextRoot)
+ {
+ SPIProvider spiProvider = SPIProviderResolver.getInstance().getProvider();
+ HttpContext httpContext = spiProvider.getSPI(HttpContextFactory.class).newHttpContext(this, contextRoot);
+ return httpContext;
+ }
+
+ /** Publish an JAXWS endpoint to the HTTP server */
+ public void publish(HttpContext context, Endpoint endpoint)
+ {
+ Class implClass = getImplementorClass(endpoint);
+
+ try
+ {
+ // Get the deployment model factory
+ SPIProvider spiProvider = SPIProviderResolver.getInstance().getProvider();
+ DeploymentModelFactory depModelFactory = spiProvider.getSPI(DeploymentModelFactory.class);
+
+ // Create/Setup the deployment
+ Deployment dep = depModelFactory.newDeployment("endpoint-deployment", implClass.getClassLoader());
+ dep.setRuntimeClassLoader(dep.getInitialClassLoader());
+
+ // Create/Setup the service
+ Service service = dep.getService();
+ service.setContextRoot(context.getContextRoot());
+
+ // Create/Setup the endpoint
+ org.jboss.wsf.spi.deployment.Endpoint ep = depModelFactory.newEndpoint(implClass.getName());
+ service.addEndpoint(ep);
+
+ // Deploy using deployment aspects
+ DeploymentAspectManagerFactory depManagerFactory = spiProvider.getSPI(DeploymentAspectManagerFactory.class);
+ DeploymentAspectManager depManager = depManagerFactory.getDeploymentAspectManager("WSDeploymentAspectManagerEndpointAPI");
+ depManager.deploy(dep);
+ }
+ catch (RuntimeException rte)
+ {
+ throw rte;
+ }
+ catch (Exception ex)
+ {
+ throw new WebServiceException(ex);
+ }
+ }
+
+ /** Destroys an JAXWS endpoint on the HTTP server */
+ public void destroy(HttpContext context, Endpoint endpoint)
+ {
+ try
+ {
+ }
+ catch (RuntimeException rte)
+ {
+ throw rte;
+ }
+ catch (Exception ex)
+ {
+ throw new WebServiceException(ex);
+ }
+ }
+
+ private Class getImplementorClass(Endpoint endpoint)
+ {
+ Object implementor = endpoint.getImplementor();
+ Class implClass = (implementor instanceof Class ? (Class)implementor : implementor.getClass());
+ return implClass;
+ }
+}
\ No newline at end of file
Added: branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/EJBArchiveMetaDataAdapter.java
===================================================================
--- branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/EJBArchiveMetaDataAdapter.java (rev 0)
+++ branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/EJBArchiveMetaDataAdapter.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -0,0 +1,89 @@
+/*
+ * 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.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.jboss.deployment.DeploymentInfo;
+import org.jboss.metadata.ApplicationMetaData;
+import org.jboss.metadata.BeanMetaData;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.metadata.j2ee.EJBArchiveMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.EJBMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.EJBArchiveMetaData.PublishLocationAdapter;
+
+/**
+ * Build container independent application meta data
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 05-May-2006
+ */
+public abstract class EJBArchiveMetaDataAdapter
+{
+ public EJBArchiveMetaData buildUnifiedApplicationMetaData(Deployment dep, DeploymentInfo di)
+ {
+ ApplicationMetaData apmd = (ApplicationMetaData)di.metaData;
+ dep.addAttachment(ApplicationMetaData.class, apmd);
+
+ EJBArchiveMetaData appMetaData = new EJBArchiveMetaData();
+ buildUnifiedBeanMetaData(appMetaData, apmd);
+ appMetaData.setConfigName(apmd.getConfigName());
+ appMetaData.setConfigFile(apmd.getConfigFile());
+ appMetaData.setWebServiceContextRoot(apmd.getWebServiceContextRoot());
+ appMetaData.setSecurityDomain(apmd.getSecurityDomain());
+ appMetaData.setPublishLocationAdapter(getPublishLocationAdpater(apmd));
+ return appMetaData;
+ }
+
+ protected PublishLocationAdapter getPublishLocationAdpater(final ApplicationMetaData apmd)
+ {
+ return new PublishLocationAdapter()
+ {
+ public String getWsdlPublishLocationByName(String name)
+ {
+ return apmd.getWsdlPublishLocationByName(name);
+ }
+ };
+ }
+
+ protected void buildUnifiedBeanMetaData(EJBArchiveMetaData umd, ApplicationMetaData metaData)
+ {
+ List<EJBMetaData> beans = new ArrayList<EJBMetaData>();
+ Iterator it = metaData.getEnterpriseBeans();
+ while (it.hasNext())
+ {
+ BeanMetaData bmd = (BeanMetaData)it.next();
+ EJBMetaData ubmd = buildUnifiedBeanMetaData(bmd);
+ if (ubmd != null)
+ {
+ beans.add(ubmd);
+ }
+ }
+ umd.setEnterpriseBeans(beans);
+ }
+
+ protected abstract EJBMetaData buildUnifiedBeanMetaData(BeanMetaData bmd);
+}
Added: branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/EJBArchiveMetaDataAdapterEJB21.java
===================================================================
--- branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/EJBArchiveMetaDataAdapterEJB21.java (rev 0)
+++ branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/EJBArchiveMetaDataAdapterEJB21.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -0,0 +1,81 @@
+/*
+ * 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: EJBArchiveMetaDataAdapterEJB21.java 4013 2007-07-27 04:37:52Z thomas.diesler at jboss.com $
+
+import org.jboss.metadata.BeanMetaData;
+import org.jboss.metadata.EjbPortComponentMetaData;
+import org.jboss.metadata.MessageDrivenMetaData;
+import org.jboss.metadata.SessionMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.EJBMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.EJBSecurityMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.MDBMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.SLSBMetaData;
+
+/**
+ * Build container independent application meta data
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 05-May-2006
+ */
+public class EJBArchiveMetaDataAdapterEJB21 extends EJBArchiveMetaDataAdapter
+{
+ @Override
+ protected EJBMetaData buildUnifiedBeanMetaData(BeanMetaData bmd)
+ {
+ EJBMetaData ubmd = null;
+ if (bmd instanceof SessionMetaData)
+ {
+ ubmd = new SLSBMetaData();
+ }
+ else if (bmd instanceof MessageDrivenMetaData)
+ {
+ ubmd = new MDBMetaData();
+ ((MDBMetaData)ubmd).setDestinationJndiName(((MessageDrivenMetaData)bmd).getDestinationJndiName());
+ }
+
+ if (ubmd != null)
+ {
+ ubmd.setEjbName(bmd.getEjbName());
+ ubmd.setEjbClass(bmd.getEjbClass());
+ ubmd.setServiceEndpointInterface(bmd.getServiceEndpoint());
+ ubmd.setHome(bmd.getHome());
+ ubmd.setLocalHome(bmd.getLocalHome());
+ ubmd.setJndiName(bmd.getJndiName());
+ ubmd.setLocalJndiName(bmd.getLocalJndiName());
+
+ EjbPortComponentMetaData pcmd = bmd.getPortComponent();
+ if (pcmd != null)
+ {
+ ubmd.setPortComponentName(pcmd.getPortComponentName());
+ ubmd.setPortComponentURI(pcmd.getPortComponentURI());
+ EJBSecurityMetaData smd = new EJBSecurityMetaData();
+ smd.setAuthMethod(pcmd.getAuthMethod());
+ smd.setTransportGuarantee(pcmd.getTransportGuarantee());
+ smd.setSecureWSDLAccess(pcmd.getSecureWSDLAccess());
+ ubmd.setSecurityMetaData(smd);
+ }
+ }
+ return ubmd;
+ }
+}
Added: branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/EJBArchiveMetaDataAdapterEJB3.java
===================================================================
--- branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/EJBArchiveMetaDataAdapterEJB3.java (rev 0)
+++ branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/EJBArchiveMetaDataAdapterEJB3.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -0,0 +1,103 @@
+/*
+ * 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: EJBArchiveMetaDataAdapterEJB3.java 4013 2007-07-27 04:37:52Z thomas.diesler at jboss.com $
+
+import java.util.ArrayList;
+
+import javax.management.MBeanServer;
+import javax.management.ObjectName;
+
+import org.jboss.ejb3.Ejb3ModuleMBean;
+import org.jboss.ejb3.stateless.StatelessContainer;
+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.Deployment;
+import org.jboss.wsf.spi.deployment.WSFDeploymentException;
+import org.jboss.wsf.spi.metadata.j2ee.EJBArchiveMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.EJBMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.SLSBMetaData;
+
+/**
+ * Build container independent application meta data
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 14-Apr-2007
+ */
+public class EJBArchiveMetaDataAdapterEJB3
+{
+ // logging support
+ private static Logger log = Logger.getLogger(EJBArchiveMetaDataAdapterEJB3.class);
+
+ public static final String DEPLOYED_OBJECT = "org.jboss.ws.ejb3.deployed.object";
+
+ public EJBArchiveMetaData buildUnifiedApplicationMetaData(Deployment dep)
+ {
+ EJBArchiveMetaData appMetaData = null;
+
+ ObjectName oname = (ObjectName)dep.getProperty(DEPLOYED_OBJECT);
+
+ // jboss.j2ee:service=EJB3,module=some-ejb3.jar
+ if (oname != null && oname.getDomain().equals("jboss.j2ee") && "EJB3".equals(oname.getKeyProperty("service")))
+ {
+ Ejb3ModuleMBean ejb3Module = getEJB3Module(oname);
+
+ ArrayList<EJBMetaData> beans = new ArrayList<EJBMetaData>();
+ for (Object container : ejb3Module.getContainers().values())
+ {
+ if (container instanceof StatelessContainer)
+ {
+ StatelessContainer slc = (StatelessContainer)container;
+ EJBMetaData usmd = new SLSBMetaData();
+ usmd.setEjbName(slc.getEjbName());
+ usmd.setEjbClass(slc.getBeanClassName());
+ beans.add(usmd);
+ }
+ }
+
+ appMetaData = new EJBArchiveMetaData();
+ appMetaData.setEnterpriseBeans(beans);
+ }
+ return appMetaData;
+ }
+
+ static Ejb3ModuleMBean getEJB3Module(ObjectName objectName)
+ {
+ Ejb3ModuleMBean ejb3Module;
+ try
+ {
+ MBeanServer server = MBeanServerLocator.locateJBoss();
+ ejb3Module = (Ejb3ModuleMBean)MBeanProxy.get(Ejb3ModuleMBean.class, objectName, server);
+ if (ejb3Module == null)
+ throw new WSFDeploymentException("Cannot obtain EJB3 module: " + objectName);
+
+ return ejb3Module;
+ }
+ catch (MBeanProxyCreationException ex)
+ {
+ throw new WSFDeploymentException("Cannot obtain proxy to EJB3 module");
+ }
+ }
+}
Added: branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/InvocationHandlerEJB21.java
===================================================================
--- branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/InvocationHandlerEJB21.java (rev 0)
+++ branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/InvocationHandlerEJB21.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -0,0 +1,184 @@
+/*
+ * 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: InvocationHandlerEJB21.java 4023 2007-07-28 07:14:06Z thomas.diesler at jboss.com $
+
+import java.lang.reflect.Method;
+import java.security.Principal;
+
+import javax.management.MBeanServer;
+import javax.management.ObjectName;
+import javax.xml.rpc.handler.MessageContext;
+import javax.xml.rpc.handler.soap.SOAPMessageContext;
+import javax.xml.ws.WebServiceException;
+
+import org.jboss.ejb.EjbModule;
+import org.jboss.ejb.Interceptor;
+import org.jboss.ejb.StatelessSessionContainer;
+import org.jboss.invocation.InvocationKey;
+import org.jboss.invocation.InvocationType;
+import org.jboss.invocation.PayloadKey;
+import org.jboss.logging.Logger;
+import org.jboss.mx.util.MBeanServerLocator;
+import org.jboss.wsf.common.ObjectNameFactory;
+import org.jboss.wsf.spi.SPIProvider;
+import org.jboss.wsf.spi.SPIProviderResolver;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.Endpoint;
+import org.jboss.wsf.spi.invocation.HandlerCallback;
+import org.jboss.wsf.spi.invocation.Invocation;
+import org.jboss.wsf.spi.invocation.InvocationHandler;
+import org.jboss.wsf.spi.invocation.SecurityAdaptor;
+import org.jboss.wsf.spi.invocation.SecurityAdaptorFactory;
+import org.jboss.wsf.spi.metadata.j2ee.EJBArchiveMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.EJBMetaData;
+
+/**
+ * Handles invocations on EJB21 endpoints.
+ * Used with jboss40 and jboss42.
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 25-Apr-2007
+ */
+public class InvocationHandlerEJB21 extends InvocationHandler
+{
+ // provide logging
+ private static final Logger log = Logger.getLogger(InvocationHandlerEJB21.class);
+
+ private String jndiName;
+ private MBeanServer server;
+ private ObjectName objectName;
+
+ /**
+ * Used from both 40 and 42.
+ * Therefore it's not package protected...
+ */
+ public InvocationHandlerEJB21()
+ {
+ }
+
+ public Invocation createInvocation()
+ {
+ return new Invocation();
+ }
+
+ public void init(Endpoint ep)
+ {
+ String ejbName = ep.getShortName();
+ Deployment dep = ep.getService().getDeployment();
+ EJBArchiveMetaData apMetaData = dep.getAttachment(EJBArchiveMetaData.class);
+ EJBMetaData beanMetaData = (EJBMetaData)apMetaData.getBeanByEjbName(ejbName);
+ if (beanMetaData == null)
+ throw new WebServiceException("Cannot obtain ejb meta data for: " + ejbName);
+
+ // get the bean's JNDI name
+ jndiName = beanMetaData.getContainerObjectNameJndiName();
+ if (jndiName == null)
+ throw new WebServiceException("Cannot obtain JNDI name for: " + ejbName);
+
+ server = MBeanServerLocator.locateJBoss();
+ objectName = ObjectNameFactory.create("jboss.j2ee:jndiName=" + jndiName + ",service=EJB");
+ if (server.isRegistered(objectName) == false)
+ throw new WebServiceException("Cannot find service endpoint target: " + objectName);
+
+ // Dynamically add the service endpoint interceptor
+ // http://jira.jboss.org/jira/browse/JBWS-758
+ try
+ {
+ EjbModule ejbModule = (EjbModule)server.getAttribute(objectName, "EjbModule");
+ StatelessSessionContainer container = (StatelessSessionContainer)ejbModule.getContainer(ejbName);
+
+ boolean injectionPointFound = false;
+ Interceptor prev = container.getInterceptor();
+ while (prev != null && prev.getNext() != null)
+ {
+ Interceptor next = prev.getNext();
+ if (next.getNext() == null)
+ {
+ log.debug("Inject service endpoint interceptor after: " + prev.getClass().getName());
+ ServiceEndpointInterceptor sepInterceptor = new ServiceEndpointInterceptor();
+ prev.setNext(sepInterceptor);
+ sepInterceptor.setNext(next);
+ injectionPointFound = true;
+ }
+ prev = next;
+ }
+ if (injectionPointFound == false)
+ log.warn("Cannot service endpoint interceptor injection point");
+ }
+ catch (Exception ex)
+ {
+ log.warn("Cannot add service endpoint interceptor", ex);
+ }
+
+ }
+
+ public void invoke(Endpoint ep, Invocation inv) throws Exception
+ {
+ log.debug("Invoke: " + inv.getJavaMethod().getName());
+
+ // invoke on the container
+ try
+ {
+ // setup the invocation
+ org.jboss.invocation.Invocation jbInv = getMBeanInvocation(inv);
+
+ String[] sig = { org.jboss.invocation.Invocation.class.getName() };
+ Object retObj = server.invoke(objectName, "invoke", new Object[] { jbInv }, sig);
+ inv.setReturnValue(retObj);
+ }
+ catch (Exception e)
+ {
+ handleInvocationException(e);
+ }
+ }
+
+ private org.jboss.invocation.Invocation getMBeanInvocation(Invocation inv)
+ {
+ // EJB2.1 endpoints will only get an JAXRPC context
+ MessageContext msgContext = inv.getInvocationContext().getAttachment(MessageContext.class);
+ if (msgContext == null)
+ throw new IllegalStateException("Cannot obtain MessageContext");
+
+ SPIProvider spiProvider = SPIProviderResolver.getInstance().getProvider();
+ SecurityAdaptor securityAdaptor = spiProvider.getSPI(SecurityAdaptorFactory.class).newSecurityAdapter();
+ Principal principal = securityAdaptor.getPrincipal();
+ Object credential = securityAdaptor.getCredential();
+
+ Method method = inv.getJavaMethod();
+ Object[] args = inv.getArgs();
+ org.jboss.invocation.Invocation jbInv = new org.jboss.invocation.Invocation(null, method, args, null, principal, credential);
+
+ HandlerCallback callback = inv.getInvocationContext().getAttachment(HandlerCallback.class);
+ if (callback == null)
+ throw new IllegalStateException("Cannot obtain HandlerCallback");
+
+ jbInv.setValue(InvocationKey.SOAP_MESSAGE_CONTEXT, msgContext);
+ jbInv.setValue(InvocationKey.SOAP_MESSAGE, ((SOAPMessageContext)msgContext).getMessage());
+ jbInv.setType(InvocationType.SERVICE_ENDPOINT);
+ jbInv.setValue(HandlerCallback.class.getName(), callback, PayloadKey.TRANSIENT);
+ jbInv.setValue(Invocation.class.getName(), inv, PayloadKey.TRANSIENT);
+
+ return jbInv;
+ }
+}
Added: branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/InvocationHandlerEJB3.java
===================================================================
--- branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/InvocationHandlerEJB3.java (rev 0)
+++ branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/InvocationHandlerEJB3.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -0,0 +1,151 @@
+/*
+ * 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: InvocationHandlerEJB3.java 4105 2007-08-02 15:05:15Z thomas.diesler at jboss.com $
+
+import java.lang.reflect.Method;
+
+import javax.ejb.EJBContext;
+import javax.management.ObjectName;
+import javax.xml.ws.WebServiceException;
+
+import org.jboss.aop.Dispatcher;
+import org.jboss.aop.MethodInfo;
+import org.jboss.ejb3.BeanContext;
+import org.jboss.ejb3.BeanContextLifecycleCallback;
+import org.jboss.ejb3.EJBContainerInvocation;
+import org.jboss.ejb3.stateless.StatelessBeanContext;
+import org.jboss.ejb3.stateless.StatelessContainer;
+import org.jboss.injection.lang.reflect.BeanProperty;
+import org.jboss.wsf.common.ObjectNameFactory;
+import org.jboss.wsf.spi.SPIProvider;
+import org.jboss.wsf.spi.SPIProviderResolver;
+import org.jboss.wsf.spi.deployment.ArchiveDeployment;
+import org.jboss.wsf.spi.deployment.Endpoint;
+import org.jboss.wsf.spi.invocation.ExtensibleWebServiceContext;
+import org.jboss.wsf.spi.invocation.Invocation;
+import org.jboss.wsf.spi.invocation.InvocationType;
+import org.jboss.wsf.spi.invocation.WebServiceContextFactory;
+
+/**
+ * Handles invocations on EJB3 endpoints.
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 25-Apr-2007
+ */
+public class InvocationHandlerEJB3 extends AbstractInvocationHandler
+{
+ private ObjectName objectName;
+
+ InvocationHandlerEJB3()
+ {
+ }
+
+ public Invocation createInvocation()
+ {
+ return new Invocation();
+ }
+
+ public void init(Endpoint ep)
+ {
+ String ejbName = ep.getShortName();
+ ArchiveDeployment dep = (ArchiveDeployment)ep.getService().getDeployment();
+ String nameStr = "jboss.j2ee:name=" + ejbName + ",service=EJB3,jar=" + dep.getSimpleName();
+ if (dep.getParent() != null)
+ {
+ nameStr += ",ear=" + dep.getParent().getSimpleName();
+ }
+
+ objectName = ObjectNameFactory.create(nameStr.toString());
+
+ Dispatcher dispatcher = Dispatcher.singleton;
+ if (dispatcher.getRegistered(objectName.getCanonicalName()) == null)
+ throw new WebServiceException("Cannot find service endpoint target: " + objectName);
+ }
+
+ public void invoke(Endpoint ep, Invocation epInv) throws Exception
+ {
+ try
+ {
+ Dispatcher dispatcher = Dispatcher.singleton;
+ StatelessContainer container = (StatelessContainer)dispatcher.getRegistered(objectName.getCanonicalName());
+ Class beanClass = container.getBeanClass();
+
+ Method method = getImplMethod(beanClass, epInv.getJavaMethod());
+ Object[] args = epInv.getArgs();
+
+ MethodInfo info = container.getMethodInfo(method);
+ EJBContainerInvocation<StatelessContainer, StatelessBeanContext> ejb3Inv = new EJBContainerInvocation<StatelessContainer, StatelessBeanContext>(info);
+ ejb3Inv.setAdvisor(container);
+ ejb3Inv.setArguments(args);
+ ejb3Inv.setContextCallback(new CallbackImpl(epInv));
+
+ Object retObj = ejb3Inv.invokeNext();
+
+ epInv.setReturnValue(retObj);
+ }
+ catch (Throwable th)
+ {
+ handleInvocationException(th);
+ }
+ }
+
+ static class CallbackImpl implements BeanContextLifecycleCallback
+ {
+ private javax.xml.ws.handler.MessageContext jaxwsMessageContext;
+ private javax.xml.rpc.handler.MessageContext jaxrpcMessageContext;
+
+ public CallbackImpl(Invocation epInv)
+ {
+ jaxrpcMessageContext = epInv.getInvocationContext().getAttachment(javax.xml.rpc.handler.MessageContext.class);
+ jaxwsMessageContext = epInv.getInvocationContext().getAttachment(javax.xml.ws.handler.MessageContext.class);
+ }
+
+ public void attached(BeanContext beanCtx)
+ {
+ StatelessBeanContext sbc = (StatelessBeanContext)beanCtx;
+ sbc.setMessageContextJAXRPC(jaxrpcMessageContext);
+
+ BeanProperty beanProp = sbc.getWebServiceContextProperty();
+ if (beanProp != null)
+ {
+ EJBContext ejbCtx = beanCtx.getEJBContext();
+ SPIProvider spiProvider = SPIProviderResolver.getInstance().getProvider();
+ WebServiceContextFactory factory = spiProvider.getSPI(WebServiceContextFactory.class);
+ ExtensibleWebServiceContext wsContext = factory.newWebServiceContext(InvocationType.JAXWS_EJB3, jaxwsMessageContext);
+ wsContext.addAttachment(EJBContext.class, ejbCtx);
+ beanProp.set(beanCtx.getInstance(), wsContext);
+ }
+ }
+
+ public void released(BeanContext beanCtx)
+ {
+ StatelessBeanContext sbc = (StatelessBeanContext)beanCtx;
+ sbc.setMessageContextJAXRPC(null);
+
+ BeanProperty beanProp = sbc.getWebServiceContextProperty();
+ if (beanProp != null)
+ beanProp.set(beanCtx.getInstance(), null);
+ }
+ }
+}
\ No newline at end of file
Added: branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/InvocationHandlerFactoryImpl.java
===================================================================
--- branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/InvocationHandlerFactoryImpl.java (rev 0)
+++ branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/InvocationHandlerFactoryImpl.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -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.container.jboss42;
+
+import org.jboss.wsf.spi.invocation.*;
+
+/**
+ * @author Heiko.Braun at jboss.com
+ * Created: Jul 19, 2007
+ */
+public class InvocationHandlerFactoryImpl extends InvocationHandlerFactory
+{
+ public InvocationHandler newInvocationHandler(InvocationType type)
+ {
+ InvocationHandler handler = null;
+
+ switch(type)
+ {
+ case JAXRPC_JSE:
+ handler = new DefaultInvocationHandlerJAXRPC();
+ break;
+ case JAXRPC_EJB21:
+ handler = new InvocationHandlerEJB21();
+ break;
+ case JAXRPC_MDB21:
+ handler = new InvocationHandlerMDB21();
+ break;
+ case JAXWS_JSE:
+ handler = new DefaultInvocationHandlerJAXWS();
+ break;
+ case JAXWS_EJB21:
+ handler = new InvocationHandlerEJB21();
+ break;
+ case JAXWS_EJB3:
+ handler = new InvocationHandlerEJB3();
+ }
+
+ if(null == handler)
+ throw new IllegalArgumentException("Unable to resolve spi.invocation.InvocationHandler for type " +type);
+
+ return handler;
+ }
+
+}
Added: branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/InvocationHandlerMDB21.java
===================================================================
--- branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/InvocationHandlerMDB21.java (rev 0)
+++ branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/InvocationHandlerMDB21.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -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: InvocationHandlerEJB21.java 3524 2007-06-09 17:28:37Z thomas.diesler at jboss.com $
+
+import org.jboss.logging.Logger;
+import org.jboss.wsf.spi.deployment.Endpoint;
+import org.jboss.wsf.spi.invocation.Invocation;
+import org.jboss.wsf.spi.invocation.InvocationContext;
+import org.jboss.wsf.spi.invocation.InvocationHandler;
+
+import java.lang.reflect.Method;
+
+/**
+ * Handles invocations on MDB EJB21 endpoints.
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 25-Apr-2007
+ */
+public class InvocationHandlerMDB21 extends AbstractInvocationHandler
+{
+ // provide logging
+ private static final Logger log = Logger.getLogger(InvocationHandlerMDB21.class);
+
+ public Invocation createInvocation()
+ {
+ return new Invocation();
+ }
+
+ public void init(Endpoint ep)
+ {
+
+ }
+
+ public void invoke(Endpoint ep, Invocation epInv) throws Exception
+ {
+ log.debug("Invoke: " + epInv.getJavaMethod().getName());
+
+ try
+ {
+ InvocationContext invContext = epInv.getInvocationContext();
+ Object targetBean = invContext.getTargetBean();
+ Class implClass = targetBean.getClass();
+ Method seiMethod = epInv.getJavaMethod();
+ Method implMethod = getImplMethod(implClass, seiMethod);
+
+ Object[] args = epInv.getArgs();
+ Object retObj = implMethod.invoke(targetBean, args);
+ epInv.setReturnValue(retObj);
+ }
+ catch (Exception e)
+ {
+ handleInvocationException(e);
+ }
+ }
+}
Added: branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/JAXRPCDeployerHookEJB21.java
===================================================================
--- branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/JAXRPCDeployerHookEJB21.java (rev 0)
+++ branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/JAXRPCDeployerHookEJB21.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -0,0 +1,108 @@
+/*
+ * 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: JAXRPCDeployerHookEJB21.java 4116 2007-08-02 16:39:02Z thomas.diesler at jboss.com $
+
+import org.jboss.deployment.DeploymentInfo;
+import org.jboss.metadata.ApplicationMetaData;
+import org.jboss.metadata.BeanMetaData;
+import org.jboss.wsf.common.URLLoaderAdapter;
+import org.jboss.wsf.spi.deployment.ArchiveDeployment;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.Endpoint;
+import org.jboss.wsf.spi.deployment.Service;
+import org.jboss.wsf.spi.deployment.Deployment.DeploymentType;
+import org.jboss.wsf.spi.metadata.webservices.PortComponentMetaData;
+import org.jboss.wsf.spi.metadata.webservices.WebserviceDescriptionMetaData;
+import org.jboss.wsf.spi.metadata.webservices.WebservicesMetaData;
+
+/**
+ * A deployer JAXRPC EJB21 Endpoints
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 25-Apr-2007
+ */
+public class JAXRPCDeployerHookEJB21 extends AbstractDeployerHookEJB
+{
+ /** Get the deployemnt type this deployer can handle
+ */
+ public DeploymentType getDeploymentType()
+ {
+ return DeploymentType.JAXRPC_EJB21;
+ }
+
+ @Override
+ public Deployment createDeployment(DeploymentInfo di)
+ {
+ ArchiveDeployment dep = newDeployment(di);
+ dep.setRootFile(new URLLoaderAdapter(di.localUrl));
+ dep.setRuntimeClassLoader(di.ucl);
+ dep.setType(getDeploymentType());
+
+ Service service = dep.getService();
+
+ ApplicationMetaData appmd = (ApplicationMetaData)di.metaData;
+ if (appmd == null)
+ throw new IllegalStateException("Deployment unit does not contain application meta data");
+
+ WebservicesMetaData wsMetaData = getWebservicesMetaData(di, null);
+ if (wsMetaData == null)
+ throw new IllegalStateException("Deployment unit does not contain webservices meta data");
+
+ // Copy the attachments
+ dep.addAttachment(WebservicesMetaData.class, wsMetaData);
+ dep.addAttachment(ApplicationMetaData.class, appmd);
+
+ for (WebserviceDescriptionMetaData wsd : wsMetaData.getWebserviceDescriptions())
+ {
+ for (PortComponentMetaData pcmd : wsd.getPortComponents())
+ {
+ String ejbLink = pcmd.getEjbLink();
+ if (ejbLink == null)
+ throw new IllegalStateException("ejb-link cannot be null");
+
+ BeanMetaData beanMetaData = appmd.getBeanByEjbName(ejbLink);
+ if (beanMetaData == null)
+ throw new IllegalStateException("Cannot obtain bean meta data for: " + ejbLink);
+
+ String ejbClass = beanMetaData.getEjbClass();
+
+ // Create the endpoint
+ Endpoint ep = newEndpoint(ejbClass);
+ ep.setShortName(ejbLink);
+ service.addEndpoint(ep);
+ }
+ }
+ return dep;
+ }
+
+ @Override
+ public boolean isWebServiceDeployment(DeploymentInfo unit)
+ {
+ if ((unit.metaData instanceof ApplicationMetaData) == false)
+ return false;
+
+ WebservicesMetaData wsMetaData = getWebservicesMetaData(unit, "META-INF/webservices.xml");
+ return wsMetaData != null;
+ }
+}
\ No newline at end of file
Added: branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/JAXRPCDeployerHookPostJSE.java
===================================================================
--- branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/JAXRPCDeployerHookPostJSE.java (rev 0)
+++ branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/JAXRPCDeployerHookPostJSE.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -0,0 +1,50 @@
+/*
+ * 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;
+
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.metadata.webservices.WebservicesMetaData;
+import org.jboss.deployment.DeploymentInfo;
+
+/**
+ * A deployer JAXRPC JSE Endpoints
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 25-Apr-2007
+ */
+public class JAXRPCDeployerHookPostJSE extends DeployerHookPostJSE
+{
+ /** Get the deployment type this deployer can handle
+ */
+ public Deployment.DeploymentType getDeploymentType()
+ {
+ return Deployment.DeploymentType.JAXRPC_JSE;
+ }
+
+
+ @Override
+ public boolean isWebServiceDeployment(DeploymentInfo unit)
+ {
+ WebservicesMetaData wsMetaData = getWebservicesMetaData(unit, "WEB-INF/webservices.xml");
+ return (wsMetaData!=null && super.isWebServiceDeployment(unit));
+ }
+}
Added: branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/JAXRPCDeployerHookPreJSE.java
===================================================================
--- branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/JAXRPCDeployerHookPreJSE.java (rev 0)
+++ branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/JAXRPCDeployerHookPreJSE.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -0,0 +1,142 @@
+/*
+ * 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: JAXRPCDeployerHookPreJSE.java 4244 2007-08-08 09:19:04Z thomas.diesler at jboss.com $
+
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Map.Entry;
+
+import org.jboss.deployment.DeploymentInfo;
+import org.jboss.metadata.WebMetaData;
+import org.jboss.wsf.common.URLLoaderAdapter;
+import org.jboss.wsf.spi.deployment.ArchiveDeployment;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.Endpoint;
+import org.jboss.wsf.spi.deployment.Service;
+import org.jboss.wsf.spi.deployment.Deployment.DeploymentType;
+import org.jboss.wsf.spi.metadata.webservices.PortComponentMetaData;
+import org.jboss.wsf.spi.metadata.webservices.WebserviceDescriptionMetaData;
+import org.jboss.wsf.spi.metadata.webservices.WebservicesMetaData;
+
+/**
+ * A deployer JAXRPC JSE Endpoints
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 25-Apr-2007
+ */
+public class JAXRPCDeployerHookPreJSE extends AbstractDeployerHookJSE
+{
+ /** Get the deployemnt type this deployer can handle
+ */
+ public DeploymentType getDeploymentType()
+ {
+ return DeploymentType.JAXRPC_JSE;
+ }
+
+ /**
+ * Create an endpoint for every servlet-link in webservices.xml
+ */
+ @Override
+ public Deployment createDeployment(DeploymentInfo di)
+ {
+ ArchiveDeployment dep = newDeployment(di);
+ dep.setRootFile(new URLLoaderAdapter(di.localUrl));
+ dep.setRuntimeClassLoader(null);
+ dep.setType(getDeploymentType());
+
+ Service service = dep.getService();
+
+ WebMetaData webMetaData = (WebMetaData)di.metaData;
+ if (webMetaData == null)
+ throw new IllegalStateException("Deployment unit does not contain web meta data");
+
+ WebservicesMetaData wsMetaData = getWebservicesMetaData(di, "WEB-INF/webservices.xml");
+ if (wsMetaData == null)
+ throw new IllegalStateException("Deployment unit does not contain webservices meta data");
+
+ // Copy the attachments
+ dep.addAttachment(WebservicesMetaData.class, wsMetaData);
+ dep.addAttachment(WebMetaData.class, webMetaData);
+
+ for (WebserviceDescriptionMetaData wsd : wsMetaData.getWebserviceDescriptions())
+ {
+ for (PortComponentMetaData pcmd : wsd.getPortComponents())
+ {
+ String servletLink = pcmd.getServletLink();
+ if (servletLink == null)
+ throw new IllegalStateException("servlet-link cannot be null");
+
+ Servlet servlet = getServletForName(webMetaData, servletLink);
+ String servletClass = servlet.getServletClass();
+
+ try
+ {
+ ClassLoader loader = dep.getInitialClassLoader();
+ Class<?> epBean = loader.loadClass(servletClass.trim());
+
+ // If this is a servlet we defer the the bean creation
+ if (javax.servlet.Servlet.class.isAssignableFrom(epBean))
+ servletClass = null;
+ }
+ catch (ClassNotFoundException ex)
+ {
+ log.warn("Cannot load servlet class: " + servletClass);
+ }
+
+ // Create the endpoint
+ Endpoint ep = newEndpoint(servletClass);
+ ep.setShortName(servletLink);
+ service.addEndpoint(ep);
+ }
+ }
+
+ return dep;
+ }
+
+ private Servlet getServletForName(WebMetaData wmd, String servletLink)
+ {
+ Iterator it = wmd.getServletClassMap().entrySet().iterator();
+ while (it.hasNext())
+ {
+ Map.Entry entry = (Entry)it.next();
+ String servletName = (String)entry.getKey();
+ String servletClass = (String)entry.getValue();
+ if (servletLink.equals(servletName))
+ {
+ return new Servlet(servletName, servletClass);
+ }
+ }
+ throw new IllegalStateException("Cannot find servlet for link: " + servletLink);
+ }
+
+ @Override
+ public boolean isWebServiceDeployment(DeploymentInfo unit)
+ {
+ if (super.isWebServiceDeployment(unit) == false)
+ return false;
+
+ WebservicesMetaData wsMetaData = getWebservicesMetaData(unit, "WEB-INF/webservices.xml");
+ return wsMetaData != null;
+ }
+}
Added: branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/JAXWSDeployerHookEJB3.java
===================================================================
--- branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/JAXWSDeployerHookEJB3.java (rev 0)
+++ branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/JAXWSDeployerHookEJB3.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -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: JAXWSDeployerHookEJB3.java 4116 2007-08-02 16:39:02Z thomas.diesler at jboss.com $
+
+import javax.jws.WebService;
+import javax.xml.ws.WebServiceProvider;
+
+import org.jboss.deployment.DeploymentInfo;
+import org.jboss.ejb3.EJBContainer;
+import org.jboss.ejb3.Ejb3ModuleMBean;
+import org.jboss.ejb3.stateless.StatelessContainer;
+import org.jboss.wsf.common.URLLoaderAdapter;
+import org.jboss.wsf.spi.deployment.ArchiveDeployment;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.Endpoint;
+import org.jboss.wsf.spi.deployment.Service;
+import org.jboss.wsf.spi.deployment.Deployment.DeploymentType;
+
+/**
+ * A deployer JAXWS EJB3 Endpoints
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 25-Apr-2007
+ */
+public class JAXWSDeployerHookEJB3 extends AbstractDeployerHookEJB
+{
+ /** Get the deployemnt type this deployer can handle
+ */
+ public DeploymentType getDeploymentType()
+ {
+ return DeploymentType.JAXWS_EJB3;
+ }
+
+ @Override
+ public Deployment createDeployment(DeploymentInfo di)
+ {
+ ArchiveDeployment dep = newDeployment(di);
+ dep.setRootFile(new URLLoaderAdapter(di.localUrl));
+ dep.setRuntimeClassLoader(di.ucl);
+ dep.setType(getDeploymentType());
+
+ Service service = dep.getService();
+
+ Ejb3ModuleMBean ejb3Module = EJBArchiveMetaDataAdapterEJB3.getEJB3Module(di.deployedObject);
+ for (Object manager : ejb3Module.getContainers().values())
+ {
+ if (manager instanceof EJBContainer)
+ {
+ EJBContainer container = (EJBContainer)manager;
+ if (isWebServiceBean(container))
+ {
+ String ejbName = container.getEjbName();
+ String epBean = container.getBeanClassName();
+
+ // Create the endpoint
+ Endpoint ep = newEndpoint(epBean);
+ ep.setShortName(ejbName);
+ service.addEndpoint(ep);
+ }
+ }
+ }
+
+ return dep;
+ }
+
+ @Override
+ public boolean isWebServiceDeployment(DeploymentInfo unit)
+ {
+ boolean isWebserviceDeployment = false;
+
+ // Check if the ejb3 contains annotated endpoints
+ Ejb3ModuleMBean ejb3Module = EJBArchiveMetaDataAdapterEJB3.getEJB3Module(unit.deployedObject);
+ for (Object manager : ejb3Module.getContainers().values())
+ {
+ if (manager instanceof EJBContainer)
+ {
+ EJBContainer container = (EJBContainer)manager;
+ if (isWebServiceBean(container))
+ {
+ isWebserviceDeployment = true;
+ break;
+ }
+ }
+ }
+
+ return isWebserviceDeployment;
+ }
+
+ private boolean isWebServiceBean(EJBContainer container)
+ {
+ boolean isWebServiceBean = false;
+ if (container instanceof StatelessContainer)
+ {
+ boolean isWebService = container.resolveAnnotation(WebService.class) != null;
+ boolean isWebServiceProvider = container.resolveAnnotation(WebServiceProvider.class) != null;
+ isWebServiceBean = isWebService || isWebServiceProvider;
+ }
+ return isWebServiceBean;
+ }
+}
\ No newline at end of file
Added: branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/JAXWSDeployerHookPostJSE.java
===================================================================
--- branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/JAXWSDeployerHookPostJSE.java (rev 0)
+++ branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/JAXWSDeployerHookPostJSE.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -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.container.jboss42;
+
+// $Id: JAXWSDeployerHookPostJSE.java 4276 2007-08-09 08:34:58Z thomas.diesler at jboss.com $
+
+import org.jboss.deployment.DeploymentInfo;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.metadata.webservices.WebservicesMetaData;
+
+/**
+ * @author Heiko.Braun at jboss.com
+ * @version $Revision: 4276 $
+ */
+public class JAXWSDeployerHookPostJSE extends DeployerHookPostJSE
+{
+ /** Get the deployment type this deployer can handle
+ */
+ public Deployment.DeploymentType getDeploymentType()
+ {
+ return Deployment.DeploymentType.JAXWS_JSE;
+ }
+
+ /**
+ * Reject JAX-RPC deployments
+ */
+ @Override
+ public boolean isWebServiceDeployment(DeploymentInfo unit)
+ {
+ WebservicesMetaData wsMetaData = getWebservicesMetaData(unit, "WEB-INF/webservices.xml"); // JAX-RPC artifact
+ return (wsMetaData == null && super.isWebServiceDeployment(unit));
+ }
+}
Added: branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/JAXWSDeployerHookPreJSE.java
===================================================================
--- branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/JAXWSDeployerHookPreJSE.java (rev 0)
+++ branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/JAXWSDeployerHookPreJSE.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -0,0 +1,142 @@
+/*
+ * 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: JAXWSDeployerHookPreJSE.java 4244 2007-08-08 09:19:04Z thomas.diesler at jboss.com $
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
+
+import javax.jws.WebService;
+import javax.xml.ws.WebServiceProvider;
+
+import org.jboss.deployment.DeploymentInfo;
+import org.jboss.metadata.WebMetaData;
+import org.jboss.wsf.common.URLLoaderAdapter;
+import org.jboss.wsf.spi.deployment.ArchiveDeployment;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.Endpoint;
+import org.jboss.wsf.spi.deployment.Service;
+import org.jboss.wsf.spi.deployment.Deployment.DeploymentType;
+
+/**
+ * A deployer JAXWS JSE Endpoints
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 25-Apr-2007
+ */
+public class JAXWSDeployerHookPreJSE extends AbstractDeployerHookJSE
+{
+ /** Get the deployemnt type this deployer can handle
+ */
+ public DeploymentType getDeploymentType()
+ {
+ return DeploymentType.JAXWS_JSE;
+ }
+
+ @Override
+ public Deployment createDeployment(DeploymentInfo di)
+ {
+ ArchiveDeployment dep = newDeployment(di);
+ dep.setRootFile(new URLLoaderAdapter(di.localUrl));
+ dep.setRuntimeClassLoader(null);
+ dep.setType(getDeploymentType());
+
+ Service service = dep.getService();
+
+ WebMetaData webMetaData = (WebMetaData)di.metaData;
+ if (webMetaData == null)
+ throw new IllegalStateException("Deployment unit does not contain web meta data");
+
+ // Copy the attachments
+ dep.addAttachment(WebMetaData.class, webMetaData);
+
+ List<Servlet> servlets = getRelevantServlets(webMetaData, di.annotationsCl);
+ for (Servlet servlet : servlets)
+ {
+ String servletName = servlet.getServletName();
+ String servletClass = servlet.getServletClass();
+
+ // Create the endpoint
+ Endpoint ep = newEndpoint(servletClass);
+ ep.setShortName(servletName);
+ service.addEndpoint(ep);
+ }
+
+ return dep;
+ }
+
+ @Override
+ public boolean isWebServiceDeployment(DeploymentInfo unit)
+ {
+ if (super.isWebServiceDeployment(unit) == false)
+ return false;
+
+ boolean isWebServiceDeployment = false;
+ try
+ {
+ WebMetaData webMetaData = (WebMetaData)unit.metaData;
+ List<Servlet> servlets = getRelevantServlets(webMetaData, unit.annotationsCl);
+ isWebServiceDeployment = servlets.size() > 0;
+ }
+ catch (Exception ex)
+ {
+ log.error("Cannot process web deployment", ex);
+ }
+
+ return isWebServiceDeployment;
+ }
+
+ private List<Servlet> getRelevantServlets(WebMetaData webMetaData, ClassLoader loader)
+ {
+ List<Servlet> servlets = new ArrayList<Servlet>();
+ Iterator it = webMetaData.getServletClassMap().entrySet().iterator();
+ while (it.hasNext())
+ {
+ Map.Entry entry = (Entry)it.next();
+ String servletName = (String)entry.getKey();
+ String servletClassName = (String)entry.getValue();
+
+ // Skip JSPs
+ if (servletClassName == null || servletClassName.length() == 0)
+ continue;
+
+ try
+ {
+ Class<?> servletClass = loader.loadClass(servletClassName.trim());
+ boolean isWebService = servletClass.isAnnotationPresent(WebService.class);
+ boolean isWebServiceProvider = servletClass.isAnnotationPresent(WebServiceProvider.class);
+ if (isWebService || isWebServiceProvider)
+ servlets.add(new Servlet(servletName, servletClassName));
+ }
+ catch (ClassNotFoundException ex)
+ {
+ log.warn("Cannot load servlet class: " + servletClassName);
+ continue;
+ }
+ }
+ return servlets;
+ }
+}
\ No newline at end of file
Added: branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/JSEArchiveMetaDataAdapter.java
===================================================================
--- branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/JSEArchiveMetaDataAdapter.java (rev 0)
+++ branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/JSEArchiveMetaDataAdapter.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -0,0 +1,146 @@
+/*
+ * 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: JSEArchiveMetaDataAdapter.java 4321 2007-08-10 16:24:47Z heiko.braun at jboss.com $
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
+
+import org.jboss.deployment.DeploymentInfo;
+import org.jboss.deployment.J2eeApplicationMetaData;
+import org.jboss.deployment.J2eeModuleMetaData;
+import org.jboss.metadata.WebMetaData;
+import org.jboss.metadata.WebSecurityMetaData;
+import org.jboss.metadata.WebSecurityMetaData.WebResourceCollection;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.metadata.j2ee.JSEArchiveMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.JSESecurityMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.JSEArchiveMetaData.PublishLocationAdapter;
+import org.jboss.wsf.spi.metadata.j2ee.JSESecurityMetaData.JSEResourceCollection;
+
+/**
+ * Build container independent web meta data
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 05-May-2006
+ */
+public class JSEArchiveMetaDataAdapter
+{
+ public JSEArchiveMetaData buildUnifiedWebMetaData(Deployment dep, DeploymentInfo di)
+ {
+ String contextRoot = null;
+
+ WebMetaData wmd = (WebMetaData)di.metaData;
+ dep.addAttachment(WebMetaData.class, wmd);
+
+ if (di.parent != null)
+ {
+ J2eeApplicationMetaData appmd = (J2eeApplicationMetaData)di.parent.metaData;
+ if(appmd!=null) // An ESB case, They deploy a *.war inside *.esb
+ {
+ Iterator it = appmd.getModules();
+ while (it.hasNext())
+ {
+ J2eeModuleMetaData module = (J2eeModuleMetaData)it.next();
+ if (module.getFileName().equals(dep.getSimpleName()))
+ contextRoot = module.getWebContext();
+ }
+ }
+ }
+
+ if (contextRoot == null)
+ contextRoot = wmd.getContextRoot();
+
+ JSEArchiveMetaData webMetaData = new JSEArchiveMetaData();
+ webMetaData.setContextRoot(contextRoot);
+ webMetaData.setServletMappings(wmd.getServletMappings());
+ webMetaData.setServletClassNames(getServletClassMap(wmd));
+ webMetaData.setConfigName(wmd.getConfigName());
+ webMetaData.setConfigFile(wmd.getConfigFile());
+ webMetaData.setSecurityDomain(wmd.getSecurityDomain());
+ webMetaData.setPublishLocationAdapter(getPublishLocationAdpater(wmd));
+ webMetaData.setSecurityMetaData(getSecurityMetaData(wmd.getSecurityContraints()));
+
+ return webMetaData;
+ }
+
+ private PublishLocationAdapter getPublishLocationAdpater(final WebMetaData wmd)
+ {
+ return new PublishLocationAdapter()
+ {
+ public String getWsdlPublishLocationByName(String name)
+ {
+ return wmd.getWsdlPublishLocationByName(name);
+ }
+ };
+ }
+
+ private List<JSESecurityMetaData> getSecurityMetaData(final Iterator securityConstraints)
+ {
+ ArrayList<JSESecurityMetaData> unifiedsecurityMetaData = new ArrayList<JSESecurityMetaData>();
+
+ while (securityConstraints.hasNext())
+ {
+ WebSecurityMetaData securityMetaData = (WebSecurityMetaData)securityConstraints.next();
+
+ JSESecurityMetaData current = new JSESecurityMetaData();
+ unifiedsecurityMetaData.add(current);
+
+ current.setTransportGuarantee(securityMetaData.getTransportGuarantee());
+
+ HashMap resources = securityMetaData.getWebResources();
+ for (Object webResourceObj : resources.values())
+ {
+ WebResourceCollection webResource = (WebResourceCollection)webResourceObj;
+ JSEResourceCollection currentResource = current.addWebResource(webResource.getName());
+ for (String currentPattern : webResource.getUrlPatterns())
+ {
+ currentResource.addPattern(currentPattern);
+ }
+ }
+
+ }
+
+ return unifiedsecurityMetaData;
+ }
+
+ private Map<String, String> getServletClassMap(WebMetaData wmd)
+ {
+ Map<String, String> mappings = new HashMap<String, String>();
+ Iterator it = wmd.getServletClassMap().entrySet().iterator();
+ while (it.hasNext())
+ {
+ Map.Entry entry = (Entry)it.next();
+ String servletName = (String)entry.getKey();
+ String servletClass = (String)entry.getValue();
+ // Skip JSPs
+ if (servletClass != null)
+ mappings.put(servletName, servletClass);
+ }
+ return mappings;
+ }
+}
Added: branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/ModifyWebMetaDataDeploymentAspect.java
===================================================================
--- branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/ModifyWebMetaDataDeploymentAspect.java (rev 0)
+++ branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/ModifyWebMetaDataDeploymentAspect.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -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.container.jboss42;
+
+//$Id: ModifyWebMetaDataDeployer.java 3772 2007-07-01 19:29:13Z thomas.diesler at jboss.com $
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.net.URL;
+
+import javax.xml.ws.WebServiceException;
+
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.DeploymentAspect;
+import org.jboss.wsf.spi.deployment.Endpoint;
+
+/**
+ * A deployer that modifies the web.xml meta data
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 25-Apr-2007
+ */
+public class ModifyWebMetaDataDeploymentAspect extends DeploymentAspect
+{
+ private WebXMLRewriterImpl webXMLRewriter;
+
+ public void setWebXMLRewriter(WebXMLRewriterImpl serviceEndpointPublisher)
+ {
+ this.webXMLRewriter = serviceEndpointPublisher;
+ }
+
+ public void create(Deployment dep)
+ {
+ 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);
+ }
+ }
+ }
+
+ public void destroy(Deployment dep)
+ {
+ URL warURL = (URL)dep.getProperty("org.jboss.ws.webapp.url");
+ File warFile = new File(warURL.getFile());
+ if (warFile.isDirectory() == false)
+ throw new WebServiceException("Expected a war directory: " + warURL);
+
+ File webXML = new File(warURL.getFile() + "/WEB-INF/web.xml");
+ if (webXML.isFile() == false)
+ throw new WebServiceException("Cannot find web.xml: " + webXML);
+
+ try
+ {
+ // On destroy remove the modified web.xml and rollback web.xml.org to web.xml
+ File orgWebXML = new File(webXML.getCanonicalPath() + ".org");
+ webXML.delete();
+
+ // Rename the web.xml.org
+ if (orgWebXML.renameTo(webXML) == false)
+ throw new WebServiceException("Cannot rename web.xml: " + orgWebXML);
+ }
+ catch (RuntimeException rte)
+ {
+ throw rte;
+ }
+ catch (Exception e)
+ {
+ throw new WebServiceException(e);
+ }
+ }
+
+}
\ No newline at end of file
Added: branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/RewriteResults.java
===================================================================
--- branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/RewriteResults.java (rev 0)
+++ branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/RewriteResults.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -0,0 +1,38 @@
+/*
+ * 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;
+
+import java.net.URL;
+import java.util.Map;
+import java.util.HashMap;
+
+/**
+ * @author Heiko.Braun at jboss.com
+ * Created: Jul 19, 2007
+ */
+public class RewriteResults
+{
+ // The URL to the rewritten web.xml
+ public URL webXML;
+ // Maps the servlet name to the target bean
+ public Map<String, String> sepTargetMap = new HashMap<String, String>();
+}
Added: branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/RuntimeLoaderDeploymentAspect.java
===================================================================
--- branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/RuntimeLoaderDeploymentAspect.java (rev 0)
+++ branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/RuntimeLoaderDeploymentAspect.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -0,0 +1,72 @@
+/*
+ * 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;
+
+import org.jboss.metadata.WebMetaData;
+import org.jboss.metadata.ApplicationMetaData;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.DeploymentAspect;
+
+/**
+ * Determines the correct runtime loader for per deployment type
+ * and makes it available through the {@link org.jboss.wsf.spi.deployment.Deployment}.
+ *
+ * @author Heiko.Braun at jboss.com
+ * @version $Revision: 4239 $
+ */
+public class RuntimeLoaderDeploymentAspect extends DeploymentAspect
+{
+
+ public void create(Deployment dep)
+ {
+
+ // JSE endpoints
+ if (dep.getAttachment(WebMetaData.class) != null)
+ {
+ WebMetaData webMetaData = dep.getAttachment(WebMetaData.class);
+ ClassLoader classLoader = webMetaData.getContextLoader();
+ dep.setRuntimeClassLoader(classLoader);
+ }
+
+ // EJB3 endpoints
+ else if (dep.getType() == Deployment.DeploymentType.JAXRPC_EJB3
+ || dep.getType() == Deployment.DeploymentType.JAXWS_EJB3 )
+ {
+ // loader provided by the deployer hook
+ if(null == dep.getRuntimeClassLoader())
+ throw new IllegalArgumentException("Runtime loader not provided");
+ }
+
+ // EJB21 endpoints
+ else if(dep.getAttachment(ApplicationMetaData.class)!=null)
+ {
+ // loader provided by the deployer hook
+ if(null == dep.getRuntimeClassLoader())
+ throw new IllegalArgumentException("Runtime loader not provided");
+ }
+
+ else
+ {
+ throw new IllegalArgumentException("Unable to determine runtime loader");
+ }
+ }
+}
Added: branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/SecurityAdapterFactoryImpl.java
===================================================================
--- branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/SecurityAdapterFactoryImpl.java (rev 0)
+++ branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/SecurityAdapterFactoryImpl.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -0,0 +1,37 @@
+/*
+ * 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;
+
+import org.jboss.wsf.spi.invocation.SecurityAdaptorFactory;
+import org.jboss.wsf.spi.invocation.SecurityAdaptor;
+
+/**
+ * @author Heiko.Braun at jboss.com
+ * Created: Jul 24, 2007
+ */
+public class SecurityAdapterFactoryImpl extends SecurityAdaptorFactory
+{
+ public SecurityAdaptor newSecurityAdapter()
+ {
+ return new SecurityAdaptorImpl();
+ }
+}
Added: branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/SecurityAdaptorImpl.java
===================================================================
--- branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/SecurityAdaptorImpl.java (rev 0)
+++ branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/SecurityAdaptorImpl.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -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.container.jboss42;
+
+// $Id: SecurityAdaptorImpl.java 3978 2007-07-24 15:09:52Z heiko.braun at jboss.com $
+
+import java.security.Principal;
+
+import org.jboss.security.SecurityAssociation;
+import org.jboss.wsf.spi.invocation.SecurityAdaptor;
+
+/**
+ * A JBoss specific SecurityAssociationAdaptor
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 05-May-2006
+ */
+public class SecurityAdaptorImpl implements SecurityAdaptor
+{
+ SecurityAdaptorImpl()
+ {
+ }
+
+ public Principal getPrincipal()
+ {
+ return SecurityAssociation.getPrincipal();
+ }
+
+ public void setPrincipal(Principal pricipal)
+ {
+ SecurityAssociation.setPrincipal(pricipal);
+ }
+
+ public Object getCredential()
+ {
+ return SecurityAssociation.getCredential();
+ }
+
+ public void setCredential(Object credential)
+ {
+ SecurityAssociation.setCredential(credential);
+ }
+}
Added: branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/SecurityHandlerEJB21.java
===================================================================
--- branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/SecurityHandlerEJB21.java (rev 0)
+++ branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/SecurityHandlerEJB21.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -0,0 +1,78 @@
+/*
+ * 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: SecurityHandlerEJB21.java 4013 2007-07-27 04:37:52Z thomas.diesler at jboss.com $
+
+import java.util.Iterator;
+import java.util.Map;
+
+import org.dom4j.Element;
+import org.jboss.metadata.ApplicationMetaData;
+import org.jboss.metadata.AssemblyDescriptorMetaData;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.SecurityHandler;
+import org.jboss.wsf.spi.metadata.j2ee.EJBArchiveMetaData;
+
+/**
+ * Generate a service endpoint deployment for EJB endpoints
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 12-May-2006
+ */
+public class SecurityHandlerEJB21 implements SecurityHandler
+{
+ public void addSecurityDomain(Element jbossWeb, Deployment dep)
+ {
+ EJBArchiveMetaData appMetaData = dep.getAttachment(EJBArchiveMetaData.class);
+ if (appMetaData == null)
+ throw new IllegalStateException("Cannot obtain application meta data");
+
+ String securityDomain = appMetaData.getSecurityDomain();
+ if (securityDomain != null)
+ {
+ if (securityDomain.startsWith("java:/jaas/") == false)
+ securityDomain = "java:/jaas/" + securityDomain;
+
+ jbossWeb.addElement("security-domain").addText(securityDomain);
+ }
+ }
+
+ public void addSecurityRoles(Element webApp, Deployment dep)
+ {
+ // Fix: http://jira.jboss.org/jira/browse/JBWS-309
+ ApplicationMetaData applMetaData = dep.getAttachment(ApplicationMetaData.class);
+ AssemblyDescriptorMetaData assemblyDescriptor = applMetaData.getAssemblyDescriptor();
+ if (assemblyDescriptor != null)
+ {
+ Map securityRoles = assemblyDescriptor.getSecurityRoles();
+ if (securityRoles != null)
+ {
+ Iterator it = securityRoles.keySet().iterator();
+ while (it.hasNext())
+ {
+ webApp.addElement("security-role").addElement("role-name").addText((String)it.next());
+ }
+ }
+ }
+ }
+}
Added: branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/SecurityHandlerEJB3.java
===================================================================
--- branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/SecurityHandlerEJB3.java (rev 0)
+++ branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/SecurityHandlerEJB3.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -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: SecurityHandlerEJB3.java 4013 2007-07-27 04:37:52Z thomas.diesler at jboss.com $
+
+import javax.annotation.security.RolesAllowed;
+import javax.management.MBeanServer;
+import javax.management.ObjectName;
+
+import org.dom4j.Element;
+import org.jboss.annotation.security.SecurityDomain;
+import org.jboss.ejb3.Ejb3ModuleMBean;
+import org.jboss.ejb3.stateless.StatelessContainer;
+import org.jboss.mx.util.MBeanProxy;
+import org.jboss.mx.util.MBeanProxyCreationException;
+import org.jboss.mx.util.MBeanServerLocator;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.SecurityHandler;
+import org.jboss.wsf.spi.deployment.WSFDeploymentException;
+
+/**
+ * Generate a service endpoint deployment for EJB endpoints
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 12-May-2006
+ */
+public class SecurityHandlerEJB3 implements SecurityHandler
+{
+ public void addSecurityDomain(Element jbossWeb, Deployment dep)
+ {
+ String securityDomain = null;
+
+ ObjectName deployedObject = (ObjectName)dep.getProperty(EJBArchiveMetaDataAdapterEJB3.DEPLOYED_OBJECT);
+ Ejb3ModuleMBean ejb3Module = getEJB3Module(deployedObject);
+ for (Object manager : ejb3Module.getContainers().values())
+ {
+ if (manager instanceof StatelessContainer)
+ {
+ StatelessContainer container = (StatelessContainer)manager;
+
+ SecurityDomain anSecurityDomain = (SecurityDomain)container.resolveAnnotation(SecurityDomain.class);
+ if (anSecurityDomain != null)
+ {
+ if (securityDomain != null && !securityDomain.equals(anSecurityDomain.value()))
+ throw new IllegalStateException("Multiple security domains not supported");
+
+ securityDomain = anSecurityDomain.value();
+ }
+ }
+ }
+
+ if (securityDomain != null)
+ {
+ if (securityDomain.startsWith("java:/jaas/") == false)
+ securityDomain = "java:/jaas/" + securityDomain;
+
+ jbossWeb.addElement("security-domain").addText(securityDomain);
+ }
+ }
+
+ public void addSecurityRoles(Element webApp, Deployment dep)
+ {
+ // The container objects below provide access to all of the ejb metadata
+ ObjectName deployedObject = (ObjectName)dep.getProperty(EJBArchiveMetaDataAdapterEJB3.DEPLOYED_OBJECT);
+ Ejb3ModuleMBean ejb3Module = getEJB3Module(deployedObject);
+ for (Object manager : ejb3Module.getContainers().values())
+ {
+ if (manager instanceof StatelessContainer)
+ {
+ StatelessContainer container = (StatelessContainer)manager;
+
+ RolesAllowed anRolesAllowed = (RolesAllowed)container.resolveAnnotation(RolesAllowed.class);
+ if (anRolesAllowed != null)
+ {
+ for (String role : anRolesAllowed.value())
+ {
+ webApp.addElement("security-role").addElement("role-name").addText(role);
+ }
+ }
+ }
+ }
+ }
+
+ private Ejb3ModuleMBean getEJB3Module(ObjectName objectName)
+ {
+ Ejb3ModuleMBean ejb3Module;
+ try
+ {
+ MBeanServer server = MBeanServerLocator.locateJBoss();
+ ejb3Module = (Ejb3ModuleMBean)MBeanProxy.get(Ejb3ModuleMBean.class, objectName, server);
+ if (ejb3Module == null)
+ throw new WSFDeploymentException("Cannot obtain EJB3 module: " + objectName);
+
+ return ejb3Module;
+ }
+ catch (MBeanProxyCreationException ex)
+ {
+ throw new WSFDeploymentException("Cannot obtain proxy to EJB3 module");
+ }
+ }
+}
Added: branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/ServiceEndpointInterceptor.java
===================================================================
--- branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/ServiceEndpointInterceptor.java (rev 0)
+++ branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/ServiceEndpointInterceptor.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -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.container.jboss42;
+
+// $Id: ServiceEndpointInterceptor.java 3576 2007-06-14 09:23:52Z thomas.diesler at jboss.com $
+
+import javax.xml.rpc.handler.soap.SOAPMessageContext;
+
+import org.jboss.ejb.plugins.AbstractInterceptor;
+import org.jboss.invocation.InvocationKey;
+import org.jboss.logging.Logger;
+import org.jboss.wsf.spi.invocation.HandlerCallback;
+import org.jboss.wsf.spi.invocation.Invocation;
+import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedHandlerMetaData.HandlerType;
+
+/**
+ * This Interceptor does the ws4ee handler processing.
+ *
+ * According to the ws4ee spec the handler logic must be invoked after the container
+ * applied method level security to the invocation.
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 21-Sep-2005
+ */
+public class ServiceEndpointInterceptor extends AbstractInterceptor
+{
+ // provide logging
+ private static Logger log = Logger.getLogger(ServiceEndpointInterceptor.class);
+
+ // Interceptor implementation --------------------------------------
+
+ /** Before and after we call the service endpoint bean, we process the handler chains.
+ */
+ public Object invoke(final org.jboss.invocation.Invocation jbInv) throws Exception
+ {
+ // If no msgContext, it's not for us
+ SOAPMessageContext msgContext = (SOAPMessageContext)jbInv.getPayloadValue(InvocationKey.SOAP_MESSAGE_CONTEXT);
+ if (msgContext == null)
+ {
+ return getNext().invoke(jbInv);
+ }
+
+ // Get the endpoint invocation
+ Invocation wsInv = (Invocation)jbInv.getValue(Invocation.class.getName());
+
+ // Get the handler callback
+ HandlerCallback callback = (HandlerCallback)jbInv.getValue(HandlerCallback.class.getName());
+
+ // Handlers need to be Tx. Therefore we must invoke the handler chain after the TransactionInterceptor.
+ if (callback != null && wsInv != null)
+ {
+ try
+ {
+ // call the request handlers
+ boolean handlersPass = callback.callRequestHandlerChain(wsInv, HandlerType.ENDPOINT);
+ handlersPass = handlersPass && callback.callRequestHandlerChain(wsInv, HandlerType.POST);
+
+ // Call the next interceptor in the chain
+ if (handlersPass)
+ {
+ // The SOAPContentElements stored in the EndpointInvocation might have changed after
+ // handler processing. Get the updated request payload. This should be a noop if request
+ // handlers did not modify the incomming SOAP message.
+ Object[] reqParams = wsInv.getArgs();
+ jbInv.setArguments(reqParams);
+ Object resObj = getNext().invoke(jbInv);
+
+ // Setting the message to null should trigger binding of the response message
+ msgContext.setMessage(null);
+ wsInv.setReturnValue(resObj);
+ }
+
+ // call the response handlers
+ handlersPass = callback.callResponseHandlerChain(wsInv, HandlerType.POST);
+ handlersPass = handlersPass && callback.callResponseHandlerChain(wsInv, HandlerType.ENDPOINT);
+
+ // update the return value after response handler processing
+ Object resObj = wsInv.getReturnValue();
+
+ return resObj;
+ }
+ catch (Exception ex)
+ {
+ try
+ {
+ // call the fault handlers
+ boolean handlersPass = callback.callFaultHandlerChain(wsInv, HandlerType.POST, ex);
+ handlersPass = handlersPass && callback.callFaultHandlerChain(wsInv, HandlerType.ENDPOINT, ex);
+ }
+ catch (Exception subEx)
+ {
+ log.warn("Cannot process handlerChain.handleFault, ignoring: ", subEx);
+ }
+ throw ex;
+ }
+ finally
+ {
+ // do nothing
+ }
+ }
+ else
+ {
+ log.warn("Handler callback not available");
+ return getNext().invoke(jbInv);
+ }
+ }
+}
Added: branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/WebAppDeployingHttpServer.java
===================================================================
--- branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/WebAppDeployingHttpServer.java (rev 0)
+++ branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/WebAppDeployingHttpServer.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -0,0 +1,236 @@
+/*
+ * 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: JBossHttpServer.java 1786 2007-01-04 14:30:04Z thomas.diesler at jboss.com $
+
+import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.net.URL;
+import java.util.Map;
+
+import javax.management.MBeanServer;
+import javax.management.ObjectName;
+import javax.xml.ws.Endpoint;
+import javax.xml.ws.WebServiceException;
+
+import org.jboss.wsf.common.DOMUtils;
+import org.jboss.wsf.common.DOMWriter;
+import org.jboss.wsf.spi.SPIProvider;
+import org.jboss.wsf.spi.SPIProviderResolver;
+import org.jboss.wsf.spi.deployment.AbstractExtensible;
+import org.jboss.wsf.spi.http.HttpContext;
+import org.jboss.wsf.spi.http.HttpContextFactory;
+import org.jboss.wsf.spi.http.HttpServer;
+import org.jboss.wsf.spi.management.ServerConfig;
+import org.jboss.wsf.spi.management.ServerConfigFactory;
+import org.w3c.dom.Element;
+
+/**
+ * A Tomcat HTTP Server
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 07-Jul-2006
+ */
+public class WebAppDeployingHttpServer extends AbstractExtensible implements HttpServer
+{
+ private static final String MAIN_DEPLOYER = "jboss.system:service=MainDeployer";
+
+ // The MBeanServer
+ private MBeanServer mbeanServer;
+
+ public MBeanServer getMbeanServer()
+ {
+ return mbeanServer;
+ }
+
+ public void setMbeanServer(MBeanServer mbeanServer)
+ {
+ this.mbeanServer = mbeanServer;
+ }
+
+ /** Start an instance of this HTTP server */
+ public void start()
+ {
+ // verify required properties
+ }
+
+ /** Create an HTTP context */
+ public HttpContext createContext(String contextRoot)
+ {
+ SPIProvider spiProvider = SPIProviderResolver.getInstance().getProvider();
+ HttpContext httpContext = spiProvider.getSPI(HttpContextFactory.class).newHttpContext(this, contextRoot);
+ return httpContext;
+ }
+
+ /** Publish an JAXWS endpoint to the HTTP server */
+ public void publish(HttpContext context, Endpoint endpoint)
+ {
+ Class implClass = getImplementorClass(endpoint);
+ String implName = implClass.getName();
+
+ try
+ {
+ Element webDoc = createWebAppDescriptor(context, endpoint);
+ Element jbossDoc = createJBossWebAppDescriptor(context, endpoint);
+
+ File tmpWar = null;
+ try
+ {
+ SPIProvider spiProvider = SPIProviderResolver.getInstance().getProvider();
+ ServerConfig serverConfig = spiProvider.getSPI(ServerConfigFactory.class).getServerConfig();
+ File tmpDir = new File(serverConfig.getServerTempDir().getCanonicalPath() + "/jbossws");
+ tmpDir.mkdirs();
+
+ String deploymentName = implName.substring(implName.lastIndexOf(".") + 1);
+ 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);
+ new DOMWriter(fw).setPrettyprint(true).print(webDoc);
+ fw.close();
+
+ File jbossWebXml = new File(webInf, "jboss-web.xml");
+ fw = new FileWriter(jbossWebXml);
+ new DOMWriter(fw).setPrettyprint(true).print(jbossDoc);
+ fw.close();
+ }
+ catch (IOException e)
+ {
+ throw new WebServiceException("Failed to create webservice war", e);
+ }
+
+ Map<String, Object> epProps = endpoint.getProperties();
+ epProps.put("jbossws-endpoint-war-url", tmpWar);
+
+ URL tmpURL = tmpWar.toURL();
+ getMbeanServer().invoke(new ObjectName(MAIN_DEPLOYER), "deploy", new Object[] { tmpURL }, new String[] { "java.net.URL" });
+ }
+ catch (RuntimeException rte)
+ {
+ throw rte;
+ }
+ catch (Exception ex)
+ {
+ throw new WebServiceException(ex);
+ }
+ }
+
+ /** Destroys an JAXWS endpoint on the HTTP server */
+ public void destroy(HttpContext context, Endpoint endpoint)
+ {
+ Map<String, Object> epProps = endpoint.getProperties();
+ File tmpWar = (File)epProps.get("jbossws-endpoint-war-url");
+ if (tmpWar == null)
+ throw new IllegalStateException("Cannot find endpoint war property");
+
+ try
+ {
+ URL tmpURL = tmpWar.toURL();
+ getMbeanServer().invoke(new ObjectName(MAIN_DEPLOYER), "undeploy", new Object[] { tmpURL }, new String[] { "java.net.URL" });
+
+ tmpWar.delete();
+ }
+ catch (RuntimeException rte)
+ {
+ throw rte;
+ }
+ catch (Exception ex)
+ {
+ throw new WebServiceException(ex);
+ }
+ }
+
+ private Class getImplementorClass(Endpoint endpoint)
+ {
+ Object implementor = endpoint.getImplementor();
+ Class implClass = (implementor instanceof Class ? (Class)implementor : implementor.getClass());
+ return implClass;
+ }
+
+ private Element createWebAppDescriptor(HttpContext context, Endpoint endpoint)
+ {
+ Class implClass = getImplementorClass(endpoint);
+ String implName = implClass.getName();
+
+ Element webApp = DOMUtils.createElement("web-app");
+
+ /*
+ <servlet>
+ <servlet-name>
+ <servlet-class>
+ </servlet>
+ */
+ Element servlet = (Element)webApp.appendChild(DOMUtils.createElement("servlet"));
+ Element servletName = (Element)servlet.appendChild(DOMUtils.createElement("servlet-name"));
+ servletName.appendChild(DOMUtils.createTextNode("JAXWSEndpoint"));
+ Element servletClass = (Element)servlet.appendChild(DOMUtils.createElement("servlet-class"));
+ servletClass.appendChild(DOMUtils.createTextNode(implName));
+
+ /*
+ <servlet-mapping>
+ <servlet-name>
+ <url-pattern>
+ </servlet-mapping>
+ */
+ Element servletMapping = (Element)webApp.appendChild(DOMUtils.createElement("servlet-mapping"));
+ servletName = (Element)servletMapping.appendChild(DOMUtils.createElement("servlet-name"));
+ servletName.appendChild(DOMUtils.createTextNode("JAXWSEndpoint"));
+ Element urlPatternElement = (Element)servletMapping.appendChild(DOMUtils.createElement("url-pattern"));
+
+ String urlPattern = "/*";
+ urlPatternElement.appendChild(DOMUtils.createTextNode(urlPattern));
+
+ // Add security-constraint in generated web.xml for Endpoint API
+ // FIXME: JBWS-1069
+
+ return webApp;
+ }
+
+ private Element createJBossWebAppDescriptor(HttpContext context, Endpoint endpoint)
+ {
+ /* Create a jboss-web
+ <jboss-web>
+ <security-domain>java:/jaas/cts</security-domain>
+ <context-root>/ws/ejbN/</context-root>
+ </jboss-web>
+ */
+ Element jbossWeb = DOMUtils.createElement("jboss-web");
+
+ // Get the context root for this deployment
+ String contextRoot = context.getContextRoot();
+ if (contextRoot == null)
+ throw new WebServiceException("Cannot obtain context root");
+
+ Element root = (Element)jbossWeb.appendChild(DOMUtils.createElement("context-root"));
+ root.appendChild(DOMUtils.createTextNode(contextRoot));
+
+ // Add security-constraint in generated web.xml for Endpoint API
+ // FIXME: JBWS-1069
+
+ return jbossWeb;
+ }
+}
\ No newline at end of file
Added: branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/WebAppDeploymentAspect.java
===================================================================
--- branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/WebAppDeploymentAspect.java (rev 0)
+++ branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/WebAppDeploymentAspect.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -0,0 +1,110 @@
+/*
+ * 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 at 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.Deployment;
+import org.jboss.wsf.spi.deployment.DeploymentAspect;
+import org.jboss.wsf.spi.deployment.WSFDeploymentException;
+
+/**
+ * Publish the HTTP service endpoint to Tomcat
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 12-May-2006
+ */
+public class WebAppDeploymentAspect extends DeploymentAspect
+{
+ // provide logging
+ private static Logger log = Logger.getLogger(WebAppDeploymentAspect.class);
+
+ private WebXMLRewriterImpl webXMLRewriter;
+
+ public void setWebXMLRewriter(WebXMLRewriterImpl serviceEndpointPublisher)
+ {
+ this.webXMLRewriter = serviceEndpointPublisher;
+ }
+
+ public void create(Deployment dep)
+ {
+ URL warURL = (URL)dep.getProperty("org.jboss.ws.webapp.url");
+ if (warURL == null)
+ throw new IllegalStateException("Cannot obtain webapp URL");
+
+ log.debug("publishServiceEndpoint: " + warURL);
+ try
+ {
+ webXMLRewriter.rewriteWebXml(dep);
+
+ DeploymentInfo auxdi = new DeploymentInfo(warURL, null, MBeanServerLocator.locateJBoss());
+
+ // Preserve the repository config
+ DeploymentInfo di = dep.getAttachment(DeploymentInfo.class);
+ if (di != null)
+ auxdi.repositoryConfig = di.getTopRepositoryConfig();
+
+ getMainDeployer().deploy(auxdi);
+ }
+ catch (Exception ex)
+ {
+ WSFDeploymentException.rethrow(ex);
+ }
+ }
+
+ public void destroy(Deployment dep)
+ {
+ URL warURL = (URL)dep.getProperty("org.jboss.ws.webapp.url");
+ if (warURL == null)
+ {
+ log.error("Cannot obtain warURL");
+ return;
+ }
+
+ log.debug("destroyServiceEndpoint: " + warURL);
+ try
+ {
+ getMainDeployer().undeploy(warURL);
+ }
+ catch (Exception ex)
+ {
+ WSFDeploymentException.rethrow(ex);
+ }
+ }
+
+ private MainDeployerMBean getMainDeployer() throws MBeanProxyCreationException
+ {
+ MBeanServer server = MBeanServerLocator.locateJBoss();
+ MainDeployerMBean mainDeployer = (MainDeployerMBean)MBeanProxy.get(MainDeployerMBean.class, MainDeployerMBean.OBJECT_NAME, server);
+ return mainDeployer;
+ }
+}
Added: branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/WebAppDesciptorModifier.java
===================================================================
--- branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/WebAppDesciptorModifier.java (rev 0)
+++ branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/WebAppDesciptorModifier.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -0,0 +1,40 @@
+/*
+ * 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;
+
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.dom4j.Document;
+
+/**
+ * Modifies the web app according to the stack requirements.
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 19-May-2007
+ */
+public interface WebAppDesciptorModifier
+{
+ final String SERVLET_CONTEXT_LISTENER = "org.jboss.ws.webapp.ServletContextListener";
+ final String CONTEXT_PARAMETER_MAP = "org.jboss.ws.webapp.ContextParameterMap";
+ final String SERVLET_CLASS = "org.jboss.ws.webapp.ServletClass";
+
+ RewriteResults modifyDescriptor(Deployment dep, Document webXml) throws ClassNotFoundException;
+}
Added: branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/WebServiceContextFactoryImpl.java
===================================================================
--- branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/WebServiceContextFactoryImpl.java (rev 0)
+++ branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/WebServiceContextFactoryImpl.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -0,0 +1,45 @@
+/*
+ * 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;
+
+import org.jboss.wsf.spi.invocation.*;
+
+import javax.xml.ws.handler.MessageContext;
+
+/**
+ * @author Heiko.Braun at jboss.com
+ * Created: Jul 25, 2007
+ */
+public class WebServiceContextFactoryImpl extends WebServiceContextFactory
+{
+ public ExtensibleWebServiceContext newWebServiceContext(InvocationType type, MessageContext messageContext)
+ {
+ ExtensibleWebServiceContext context = null;
+
+ if(type.toString().indexOf("EJB")!=-1 || type.toString().indexOf("MDB")!=-1)
+ context = new WebServiceContextEJB(messageContext);
+ else
+ context = new WebServiceContextJSE(messageContext);
+
+ return context;
+ }
+}
Added: branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/WebXMLRewriterImpl.java
===================================================================
--- branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/WebXMLRewriterImpl.java (rev 0)
+++ branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/WebXMLRewriterImpl.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -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;
+
+
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.common.IOUtils;
+
+import javax.xml.ws.WebServiceException;
+import java.net.URL;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.InputStream;
+import java.io.FileOutputStream;
+
+import org.dom4j.io.SAXReader;
+import org.dom4j.io.OutputFormat;
+import org.dom4j.io.XMLWriter;
+import org.dom4j.Document;
+
+/**
+ * The rewriter for web.xml
+ *
+ * @author Thomas.Diesler at jboss.org
+ * @since 19-May-2007
+ */
+public class WebXMLRewriterImpl
+{
+ private WebAppDesciptorModifier desciptorModifier;
+
+ public WebXMLRewriterImpl()
+ {
+ this.desciptorModifier = new DefaultWebAppDesciptorModifierImpl();
+ }
+
+ public WebAppDesciptorModifier getDesciptorModifier()
+ {
+ return desciptorModifier;
+ }
+
+ public void setDesciptorModifier(WebAppDesciptorModifier desciptorModifier)
+ {
+ this.desciptorModifier = desciptorModifier;
+ }
+
+ public RewriteResults rewriteWebXml(Deployment dep)
+ {
+ URL warURL = (URL)dep.getProperty("org.jboss.ws.webapp.url");
+ File warFile = new File(warURL.getFile());
+ if (warFile.isDirectory() == false)
+ throw new WebServiceException("Expected a war directory: " + warURL);
+
+ File webXML = new File(warURL.getFile() + "/WEB-INF/web.xml");
+ if (webXML.isFile() == false)
+ throw new WebServiceException("Cannot find web.xml: " + webXML);
+
+ try
+ {
+ // After redeployment there might be a stale copy of the original web.xml.org, we delete it
+ File orgWebXML = new File(webXML.getCanonicalPath() + ".org");
+ orgWebXML.delete();
+
+ // Rename the web.xml
+ if (webXML.renameTo(orgWebXML) == false)
+ throw new WebServiceException("Cannot rename web.xml: " + orgWebXML);
+
+ FileInputStream stream = new FileInputStream(orgWebXML);
+ return rewriteWebXml(stream, webXML, dep);
+ }
+ catch (RuntimeException rte)
+ {
+ throw rte;
+ }
+ catch (Exception e)
+ {
+ throw new WebServiceException(e);
+ }
+ }
+
+ private RewriteResults rewriteWebXml(InputStream source, File destFile, Deployment dep) throws Exception
+ {
+ if (destFile == null)
+ {
+ destFile = File.createTempFile("jbossws-alt-web", "xml", IOUtils.createTempDirectory());
+ destFile.deleteOnExit();
+ }
+
+ SAXReader reader = new SAXReader();
+ Document document = reader.read(source);
+
+ RewriteResults results = desciptorModifier.modifyDescriptor(dep, document);
+ results.webXML = destFile.toURL();
+
+ FileOutputStream fos = new FileOutputStream(destFile);
+ OutputFormat format = OutputFormat.createPrettyPrint();
+ XMLWriter writer = new XMLWriter(fos, format);
+ writer.write(document);
+ writer.close();
+
+ return results;
+ }
+}
Added: branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/serviceref/DelegatingCallPropertyMetaData.java
===================================================================
Added: branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/serviceref/DelegatingHandlerChainMetaData.java
===================================================================
Added: branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/serviceref/DelegatingHandlerChainsMetaData.java
===================================================================
Added: branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/serviceref/DelegatingHandlerMetaData.java
===================================================================
Added: branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/serviceref/DelegatingInitParamMetaData.java
===================================================================
Added: branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/serviceref/DelegatingPortComponentRefMetaData.java
===================================================================
Added: branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/serviceref/DelegatingServiceRefMetaData.java
===================================================================
Added: branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/serviceref/DelegatingStubPropertyMetaData.java
===================================================================
Added: branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/serviceref/ServiceRefHandlerImpl.java
===================================================================
--- branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/serviceref/ServiceRefHandlerImpl.java (rev 0)
+++ branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/serviceref/ServiceRefHandlerImpl.java 2007-10-25 20:41:11 UTC (rev 66454)
@@ -0,0 +1,32 @@
+/*
+ * 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.serviceref;
+
+// $Id: ServiceRefHandlerImpl.java 4043 2007-07-31 17:11:42Z thomas.diesler at jboss.com $
+
+
+/**
+ * @deprecated
+ */
+public class ServiceRefHandlerImpl
+{
+}
Added: branches/JBPAPP_4_2/webservices/src/main/org/jboss/wsf/container/jboss42/serviceref/ServiceRefObjectFactory.java
===================================================================
Added: branches/JBPAPP_4_2/webservices/src/resources/jbossws-jboss42.jar/META-INF/services/org.jboss.wsf.spi.deployment.DeploymentModelFactory
===================================================================
--- branches/JBPAPP_4_2/webservices/src/resources/jbossws-jboss42.jar/META-INF/services/org.jboss.wsf.spi.deployment.DeploymentModelFactory (rev 0)
+++ branches/JBPAPP_4_2/webservices/src/resources/jbossws-jboss42.jar/META-INF/services/org.jboss.wsf.spi.deployment.DeploymentModelFactory 2007-10-25 20:41:11 UTC (rev 66454)
@@ -0,0 +1 @@
+org.jboss.wsf.framework.deployment.ArchiveDeploymentModelFactory
\ No newline at end of file
Added: branches/JBPAPP_4_2/webservices/src/resources/jbossws-jboss42.jar/META-INF/services/org.jboss.wsf.spi.invocation.InvocationHandlerFactory
===================================================================
--- branches/JBPAPP_4_2/webservices/src/resources/jbossws-jboss42.jar/META-INF/services/org.jboss.wsf.spi.invocation.InvocationHandlerFactory (rev 0)
+++ branches/JBPAPP_4_2/webservices/src/resources/jbossws-jboss42.jar/META-INF/services/org.jboss.wsf.spi.invocation.InvocationHandlerFactory 2007-10-25 20:41:11 UTC (rev 66454)
@@ -0,0 +1 @@
+org.jboss.wsf.container.jboss42.InvocationHandlerFactoryImpl
\ No newline at end of file
Added: branches/JBPAPP_4_2/webservices/src/resources/jbossws-jboss42.jar/META-INF/services/org.jboss.wsf.spi.invocation.SecurityAdaptorFactory
===================================================================
--- branches/JBPAPP_4_2/webservices/src/resources/jbossws-jboss42.jar/META-INF/services/org.jboss.wsf.spi.invocation.SecurityAdaptorFactory (rev 0)
+++ branches/JBPAPP_4_2/webservices/src/resources/jbossws-jboss42.jar/META-INF/services/org.jboss.wsf.spi.invocation.SecurityAdaptorFactory 2007-10-25 20:41:11 UTC (rev 66454)
@@ -0,0 +1 @@
+org.jboss.wsf.container.jboss42.SecurityAdapterFactoryImpl
\ No newline at end of file
Added: branches/JBPAPP_4_2/webservices/src/resources/jbossws-jboss42.jar/META-INF/services/org.jboss.wsf.spi.invocation.WebServiceContextFactory
===================================================================
--- branches/JBPAPP_4_2/webservices/src/resources/jbossws-jboss42.jar/META-INF/services/org.jboss.wsf.spi.invocation.WebServiceContextFactory (rev 0)
+++ branches/JBPAPP_4_2/webservices/src/resources/jbossws-jboss42.jar/META-INF/services/org.jboss.wsf.spi.invocation.WebServiceContextFactory 2007-10-25 20:41:11 UTC (rev 66454)
@@ -0,0 +1 @@
+org.jboss.wsf.container.jboss42.WebServiceContextFactoryImpl
\ No newline at end of file
Added: branches/JBPAPP_4_2/webservices/src/resources/jbossws-jboss42.jar/META-INF/services/org.jboss.wsf.spi.management.ServerConfigFactory
===================================================================
--- branches/JBPAPP_4_2/webservices/src/resources/jbossws-jboss42.jar/META-INF/services/org.jboss.wsf.spi.management.ServerConfigFactory (rev 0)
+++ branches/JBPAPP_4_2/webservices/src/resources/jbossws-jboss42.jar/META-INF/services/org.jboss.wsf.spi.management.ServerConfigFactory 2007-10-25 20:41:11 UTC (rev 66454)
@@ -0,0 +1 @@
+org.jboss.wsf.framework.management.ServerConfigFactoryImpl
\ No newline at end of file
Added: branches/JBPAPP_4_2/webservices/src/resources/jbossws-jboss42.sar/META-INF/jboss-service.xml
===================================================================
--- branches/JBPAPP_4_2/webservices/src/resources/jbossws-jboss42.sar/META-INF/jboss-service.xml (rev 0)
+++ branches/JBPAPP_4_2/webservices/src/resources/jbossws-jboss42.sar/META-INF/jboss-service.xml 2007-10-25 20:41:11 UTC (rev 66454)
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!-- $Id: jboss-service.xml 3884 2007-07-13 15:42:07Z thomas.diesler at jboss.com $ -->
+
+<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>
Added: branches/JBPAPP_4_2/webservices/src/resources/jbossws-jboss50.deployer/META-INF/jbossws-deployer-beans.xml
===================================================================
--- branches/JBPAPP_4_2/webservices/src/resources/jbossws-jboss50.deployer/META-INF/jbossws-deployer-beans.xml (rev 0)
+++ branches/JBPAPP_4_2/webservices/src/resources/jbossws-jboss50.deployer/META-INF/jbossws-deployer-beans.xml 2007-10-25 20:41:11 UTC (rev 66454)
@@ -0,0 +1,350 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+
+ <!-- Locate the single instance of the kernel -->
+ <bean name="WSKernelLocator" class="org.jboss.wsf.spi.util.KernelLocator">
+ <property name="kernel"><inject bean="jboss.kernel:service=Kernel"/></property>
+ </bean>
+
+ <!-- Locate the single instance of the MBeanServer -->
+ <bean name="WSMBeanServerLocator" class="org.jboss.wsf.framework.management.MBeanServerLocator">
+ <property name="mbeanServer"><inject bean="JMXKernel" property="mbeanServer"/></property>
+ </bean>
+
+ <!-- The HTTPServer used by the JAXWS Endpoint API -->
+ <bean name="WSHTTPServer" class="org.jboss.wsf.container.jboss50.DeploymentAspectHttpServer"/>
+
+ <!--
+ *********************************************************************************************************************
+ Web Service deployment
+
+ There are two deployers registered with the JBoss Main Deployer.
+ The order of which is important
+
+ 1) EJBDeployer < WebServiceDeployerEJB
+ 2) WebServiceDeployerPreJSE < WarDeployer
+ 3) WarDeployer < WebServiceDeployerPostJSE
+
+ Each WebServiceDeployer has a number of DeployerHooks registered with it
+
+ - WebServiceDeployerEJB
+ - WSDeployerHook_JAXRPC_EJB21
+ - WSDeployerHook_JAXWS_EJB3
+
+ - WebServiceDeployerPreJSE
+ - WSDeployerHook_JAXRPC_JSE
+ - WSDeployerHook_JAXWS_JSE
+
+ 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.
+
+ *********************************************************************************************************************
+ -->
+
+ <!--
+ 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="WebServiceDeployerPreJSE" class="org.jboss.wsf.container.jboss50.WebServiceDeployerPreJSE">
+ <property name="relOrderWar"><inject bean="WarDeployer" property="relativeOrder"/></property>
+ <depends>WebAppParsingDeployer</depends>
+ </bean>
+
+ <!--
+ A web service deployer that hooks in after the WAR deployer
+ This deployer depends on the RuntimeClassloader being available.
+ -->
+ <bean name="WebServiceDeployerPostJSE" class="org.jboss.wsf.container.jboss50.WebServiceDeployerPostJSE">
+ <property name="relOrderWar"><inject bean="WarDeployer" property="relativeOrder"/></property>
+ <depends>WebAppParsingDeployer</depends>
+ </bean>
+
+ <!--
+ Register DeployerHooks with JBoss deployers
+ -->
+
+ <!-- Phase 1 of JSE JAX-RPC -->
+ <bean name="WSDeployerHook_JAXRPC_PRE_JSE" class="org.jboss.wsf.container.jboss50.JAXRPCDeployerHookPreJSE">
+ <property name="deploymentManagerName">WSDeploymentAspectManagerPreJSE</property>
+ <install bean="WebServiceDeployerPreJSE" method="addDeployerHook">
+ <parameter>
+ <this/>
+ </parameter>
+ </install>
+ <uninstall bean="WebServiceDeployerPreJSE" method="removeDeployerHook">
+ <parameter>
+ <this/>
+ </parameter>
+ </uninstall>
+ <depends>WebServiceDeployerPreJSE</depends>
+ </bean>
+ <!-- Phase 2 of JSE JAX-RPC -->
+ <bean name="WSDeployerHook_JAXRPC_POST_JSE" class="org.jboss.wsf.container.jboss50.JAXRPCDeployerHookPostJSE">
+ <property name="deploymentManagerName">WSDeploymentAspectManagerPostJSE</property>
+ <install bean="WebServiceDeployerPostJSE" method="addDeployerHook">
+ <parameter>
+ <this/>
+ </parameter>
+ </install>
+ <uninstall bean="WebServiceDeployerPostJSE" method="removeDeployerHook">
+ <parameter>
+ <this/>
+ </parameter>
+ </uninstall>
+ <depends>WebServiceDeployerPostJSE</depends>
+ </bean>
+
+ <bean name="WSDeployerHook_JAXRPC_EJB21" class="org.jboss.wsf.container.jboss50.JAXRPCDeployerHookEJB21">
+ <property name="deploymentManagerName">WSDeploymentAspectManagerEJB</property>
+ <install bean="WebServiceDeployerEJB" method="addDeployerHook">
+ <parameter>
+ <this/>
+ </parameter>
+ </install>
+ <uninstall bean="WebServiceDeployerEJB" method="removeDeployerHook">
+ <parameter>
+ <this/>
+ </parameter>
+ </uninstall>
+ <depends>WebServiceDeployerEJB</depends>
+ </bean>
+
+ <!-- Phase 1 of JSE JAX-WS-->
+ <bean name="WSDeployerHook_JAXWS_PRE_JSE" class="org.jboss.wsf.container.jboss50.JAXWSDeployerHookJSE">
+ <property name="deploymentManagerName">WSDeploymentAspectManagerPreJSE</property>
+ <install bean="WebServiceDeployerPreJSE" method="addDeployerHook">
+ <parameter>
+ <this/>
+ </parameter>
+ </install>
+ <uninstall bean="WebServiceDeployerPreJSE" method="removeDeployerHook">
+ <parameter>
+ <this/>
+ </parameter>
+ </uninstall>
+ <depends>WebServiceDeployerPreJSE</depends>
+ </bean>
+ <!-- Phase 2 of JSE JAX-WS -->
+ <bean name="WSDeployerHook_JAXWS_POST_JSE" class="org.jboss.wsf.container.jboss50.JAXWSDeployerHookPostJSE">
+ <property name="deploymentManagerName">WSDeploymentAspectManagerPostJSE</property>
+ <install bean="WebServiceDeployerPostJSE" method="addDeployerHook">
+ <parameter>
+ <this/>
+ </parameter>
+ </install>
+ <uninstall bean="WebServiceDeployerPostJSE" method="removeDeployerHook">
+ <parameter>
+ <this/>
+ </parameter>
+ </uninstall>
+ <depends>WebServiceDeployerPostJSE</depends>
+ </bean>
+
+ <bean name="WSDeployerHook_JAXWS_EJB3" class="org.jboss.wsf.container.jboss50.JAXWSDeployerHookEJB3">
+ <property name="deploymentManagerName">WSDeploymentAspectManagerEJB</property>
+ <install bean="WebServiceDeployerEJB" method="addDeployerHook">
+ <parameter>
+ <this/>
+ </parameter>
+ </install>
+ <uninstall bean="WebServiceDeployerEJB" method="removeDeployerHook">
+ <parameter>
+ <this/>
+ </parameter>
+ </uninstall>
+ <depends>WebServiceDeployerEJB</depends>
+ </bean>
+
+ <!--
+ Each DeploymentAspectManger maintains a list of DeploymentAspects
+ -->
+ <bean name="WSDeploymentAspectManagerPreJSE" class="org.jboss.wsf.framework.deployment.DeploymentAspectManagerImpl">
+ <property name="name">WSDeploymentAspectManagerPreJSE</property>
+ </bean>
+ <bean name="WSDeploymentAspectManagerPostJSE" class="org.jboss.wsf.framework.deployment.DeploymentAspectManagerImpl">
+ <property name="parent"><inject bean="WSDeploymentAspectManagerPreJSE"/></property>
+ <property name="name">WSDeploymentAspectManagerPostJSE</property>
+ </bean>
+ <bean name="WSDeploymentAspectManagerEJB" class="org.jboss.wsf.framework.deployment.DeploymentAspectManagerImpl">
+ <property name="name">WSDeploymentAspectManagerEJB</property>
+ </bean>
+ <bean name="WSDeploymentAspectManagerEndpointAPI" class="org.jboss.wsf.framework.deployment.DeploymentAspectManagerImpl">
+ <property name="name">WSDeploymentAspectManagerEndpointAPI</property>
+ </bean>
+
+ <!--
+ The container deployment aspects
+ -->
+ <bean name="WSContainerMetaDataDeploymentAspect" class="org.jboss.wsf.container.jboss50.ContainerMetaDataDeploymentAspect">
+ <property name="provides">ContainerMetaData, VFSRoot</property>
+ </bean>
+
+ <bean name="WSContextRootDeploymentAspect" class="org.jboss.wsf.framework.deployment.BackwardCompatibleContextRootDeploymentAspect">
+ <property name="requires">ContainerMetaData</property>
+ <property name="provides">ContextRoot</property>
+ </bean>
+
+ <bean name="WSEndpointAddressDeploymentAspect" class="org.jboss.wsf.framework.deployment.EndpointAddressDeploymentAspect">
+ <property name="requires">URLPattern</property>
+ <property name="provides">EndpointAddress</property>
+ </bean>
+
+ <bean name="WSEndpointAPIDeploymentAspect" class="org.jboss.wsf.framework.deployment.EndpointAPIDeploymentAspect">
+ <property name="provides">ContainerMetaData, RuntimeLoader, URLPattern, VFSRoot</property>
+ </bean>
+
+ <bean name="WSEndpointHandlerDeploymentAspect" class="org.jboss.wsf.framework.deployment.EndpointHandlerDeploymentAspect">
+ <property name="requires">ContainerMetaData</property>
+ <property name="provides">ContainerEndpointHandler</property>
+ </bean>
+
+ <bean name="WSEndpointLifecycleDeploymentAspect" class="org.jboss.wsf.framework.deployment.EndpointLifecycleDeploymentAspect">
+ <property name="requires">LAST_DEPLOYMENT_ASPECT</property>
+ </bean>
+
+ <bean name="WSEndpointMetricsDeploymentAspect" class="org.jboss.wsf.framework.deployment.EndpointMetricsDeploymentAspect">
+ <property name="provides">EndpointMetrics</property>
+ </bean>
+
+ <bean name="WSEndpointNameDeploymentAspect" class="org.jboss.wsf.framework.deployment.EndpointNameDeploymentAspect">
+ <property name="requires">URLPattern</property>
+ <property name="provides">EndpointName</property>
+ </bean>
+
+ <bean name="WSEndpointRegistryDeploymentAspect" class="org.jboss.wsf.framework.deployment.EndpointRegistryDeploymentAspect">
+ <property name="requires">EndpointName</property>
+ <property name="provides">RegisteredEndpoint</property>
+ </bean>
+
+ <bean name="WSModifyWebMetaDataDeploymentAspect" class="org.jboss.wsf.container.jboss50.ModifyWebMetaDataDeploymentAspect">
+ <property name="requires">ContextProperties, StackDescriptor</property>
+ </bean>
+
+ <bean name="WSRuntimeLoaderDeploymentAspect" class="org.jboss.wsf.container.jboss50.RuntimeLoaderDeploymentAspect">
+ <property name="requires">ContainerMetaData</property>
+ <property name="provides">RuntimeLoader</property>
+ </bean>
+
+ <bean name="WSURLPatternDeploymentAspect" class="org.jboss.wsf.framework.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.framework.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="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.container.jboss50.DefaultWebAppDesciptorModifierImpl"/>
+ <bean name="WSWebXMLRewriter" class="org.jboss.wsf.container.jboss50.WebXMLRewriterImpl">
+ <property name="desciptorModifier"><inject bean="WSWebAppDesciptorModifier"/></property>
+ </bean>
+
+ <!-- Deployment aspect installers -->
+
+ <!-- Phase 1 -->
+ <bean name="WSDeploymentAspectInstallerPreJSE" class="org.jboss.wsf.framework.deployment.DeploymentAspectInstaller">
+ <property name="manager"><inject bean="WSDeploymentAspectManagerPreJSE"/></property>
+ <property name="sortAspectsOnCreate">false</property>
+ <property name="aspects">
+ <set class="java.util.HashSet" elementClass="org.jboss.wsf.spi.deployment.DeploymentAspect">
+ <inject bean="WSContainerMetaDataDeploymentAspect"/>
+ <inject bean="WSContextRootDeploymentAspect"/>
+ <inject bean="WSEndpointAddressDeploymentAspect"/>
+ <inject bean="WSEndpointHandlerDeploymentAspect"/>
+ <inject bean="WSEndpointMetricsDeploymentAspect"/>
+ <inject bean="WSEndpointNameDeploymentAspect"/>
+ <inject bean="WSEndpointRegistryDeploymentAspect"/>
+ <inject bean="WSModifyWebMetaDataDeploymentAspect"/>
+ <inject bean="WSURLPatternDeploymentAspect"/>
+ </set>
+ </property>
+ </bean>
+
+ <!-- Phase 2 -->
+ <bean name="WSDeploymentAspectInstallerPostJSE" class="org.jboss.wsf.framework.deployment.DeploymentAspectInstaller">
+ <property name="manager"><inject bean="WSDeploymentAspectManagerPostJSE"/></property>
+ <property name="sortAspectsOnCreate">false</property>
+ <property name="aspects">
+ <set class="java.util.HashSet" elementClass="org.jboss.wsf.spi.deployment.DeploymentAspect">
+ <inject bean="WSEndpointLifecycleDeploymentAspect"/>
+ <inject bean="WSRuntimeLoaderDeploymentAspect"/>
+ </set>
+ </property>
+ </bean>
+
+ <bean name="WSDeploymentAspectInstallerEJB" class="org.jboss.wsf.framework.deployment.DeploymentAspectInstaller">
+ <property name="manager"><inject bean="WSDeploymentAspectManagerEJB"/></property>
+ <property name="sortAspectsOnCreate">false</property>
+ <property name="aspects">
+ <set class="java.util.HashSet" elementClass="org.jboss.wsf.spi.deployment.DeploymentAspect">
+ <inject bean="WSContainerMetaDataDeploymentAspect"/>
+ <inject bean="WSContextRootDeploymentAspect"/>
+ <inject bean="WSEndpointAddressDeploymentAspect"/>
+ <inject bean="WSEndpointHandlerDeploymentAspect"/>
+ <inject bean="WSEndpointLifecycleDeploymentAspect"/>
+ <inject bean="WSEndpointMetricsDeploymentAspect"/>
+ <inject bean="WSEndpointNameDeploymentAspect"/>
+ <inject bean="WSEndpointRegistryDeploymentAspect"/>
+ <inject bean="WSURLPatternDeploymentAspect"/>
+ <inject bean="WSRuntimeLoaderDeploymentAspect"/>
+ <inject bean="WSWebAppDeploymentAspect"/>
+ <inject bean="WSWebAppGeneratorDeploymentAspect"/>
+ </set>
+ </property>
+ </bean>
+
+ <bean name="WSDeploymentAspectInstallerEndpointAPI" class="org.jboss.wsf.framework.deployment.DeploymentAspectInstaller">
+ <property name="manager"><inject bean="WSDeploymentAspectManagerEndpointAPI"/></property>
+ <property name="sortAspectsOnCreate">false</property>
+ <property name="aspects">
+ <set class="java.util.HashSet" elementClass="org.jboss.wsf.spi.deployment.DeploymentAspect">
+ <inject bean="WSEndpointAPIDeploymentAspect"/>
+ <inject bean="WSEndpointAddressDeploymentAspect"/>
+ <inject bean="WSEndpointHandlerDeploymentAspect"/>
+ <inject bean="WSEndpointLifecycleDeploymentAspect"/>
+ <inject bean="WSEndpointMetricsDeploymentAspect"/>
+ <inject bean="WSEndpointNameDeploymentAspect"/>
+ <inject bean="WSEndpointRegistryDeploymentAspect"/>
+ <inject bean="WSWebAppDeploymentAspect"/>
+ <inject bean="WSWebAppGeneratorDeploymentAspect"/>
+ </set>
+ </property>
+ </bean>
+
+</deployment>
Added: branches/JBPAPP_4_2/webservices/src/resources/jbossws-jboss50.jar/META-INF/services/org.jboss.wsf.spi.deployment.DeploymentModelFactory
===================================================================
--- branches/JBPAPP_4_2/webservices/src/resources/jbossws-jboss50.jar/META-INF/services/org.jboss.wsf.spi.deployment.DeploymentModelFactory (rev 0)
+++ branches/JBPAPP_4_2/webservices/src/resources/jbossws-jboss50.jar/META-INF/services/org.jboss.wsf.spi.deployment.DeploymentModelFactory 2007-10-25 20:41:11 UTC (rev 66454)
@@ -0,0 +1 @@
+org.jboss.wsf.framework.deployment.ArchiveDeploymentModelFactory
\ No newline at end of file
Added: branches/JBPAPP_4_2/webservices/src/resources/jbossws-jboss50.jar/META-INF/services/org.jboss.wsf.spi.invocation.InvocationHandlerFactory
===================================================================
--- branches/JBPAPP_4_2/webservices/src/resources/jbossws-jboss50.jar/META-INF/services/org.jboss.wsf.spi.invocation.InvocationHandlerFactory (rev 0)
+++ branches/JBPAPP_4_2/webservices/src/resources/jbossws-jboss50.jar/META-INF/services/org.jboss.wsf.spi.invocation.InvocationHandlerFactory 2007-10-25 20:41:11 UTC (rev 66454)
@@ -0,0 +1 @@
+org.jboss.wsf.container.jboss50.InvocationHandlerFactoryImpl
\ No newline at end of file
Added: branches/JBPAPP_4_2/webservices/src/resources/jbossws-jboss50.jar/META-INF/services/org.jboss.wsf.spi.invocation.SecurityAdaptorFactory
===================================================================
--- branches/JBPAPP_4_2/webservices/src/resources/jbossws-jboss50.jar/META-INF/services/org.jboss.wsf.spi.invocation.SecurityAdaptorFactory (rev 0)
+++ branches/JBPAPP_4_2/webservices/src/resources/jbossws-jboss50.jar/META-INF/services/org.jboss.wsf.spi.invocation.SecurityAdaptorFactory 2007-10-25 20:41:11 UTC (rev 66454)
@@ -0,0 +1 @@
+org.jboss.wsf.container.jboss50.SecurityAdapterFactoryImpl
\ No newline at end of file
Added: branches/JBPAPP_4_2/webservices/src/resources/jbossws-jboss50.jar/META-INF/services/org.jboss.wsf.spi.invocation.WebServiceContextFactory
===================================================================
--- branches/JBPAPP_4_2/webservices/src/resources/jbossws-jboss50.jar/META-INF/services/org.jboss.wsf.spi.invocation.WebServiceContextFactory (rev 0)
+++ branches/JBPAPP_4_2/webservices/src/resources/jbossws-jboss50.jar/META-INF/services/org.jboss.wsf.spi.invocation.WebServiceContextFactory 2007-10-25 20:41:11 UTC (rev 66454)
@@ -0,0 +1 @@
+org.jboss.wsf.container.jboss50.WebServiceContextFactoryImpl
\ No newline at end of file
Added: branches/JBPAPP_4_2/webservices/src/resources/jbossws-jboss50.jar/META-INF/services/org.jboss.wsf.spi.management.ServerConfigFactory
===================================================================
--- branches/JBPAPP_4_2/webservices/src/resources/jbossws-jboss50.jar/META-INF/services/org.jboss.wsf.spi.management.ServerConfigFactory (rev 0)
+++ branches/JBPAPP_4_2/webservices/src/resources/jbossws-jboss50.jar/META-INF/services/org.jboss.wsf.spi.management.ServerConfigFactory 2007-10-25 20:41:11 UTC (rev 66454)
@@ -0,0 +1 @@
+org.jboss.wsf.framework.management.ServerConfigFactoryImpl
\ No newline at end of file
More information about the jboss-cvs-commits
mailing list