JBossWS SVN: r10140 - in stack/native/branches/jbossws-native-2.0.1.SP2_CP05_JBPAPP-2042: src/main/java/org/jboss/ws/core and 1 other directories.
by jbossws-commits@lists.jboss.org
Author: darran.lofthouse(a)jboss.com
Date: 2009-05-28 12:44:04 -0400 (Thu, 28 May 2009)
New Revision: 10140
Modified:
stack/native/branches/jbossws-native-2.0.1.SP2_CP05_JBPAPP-2042/src/main/java/org/jboss/ws/core/StubExt.java
stack/native/branches/jbossws-native-2.0.1.SP2_CP05_JBPAPP-2042/src/main/java/org/jboss/ws/core/client/RemotingConnectionImpl.java
stack/native/branches/jbossws-native-2.0.1.SP2_CP05_JBPAPP-2042/version.properties
Log:
[JBPAPP-2042] Added SocketFactory property and propagate to Remoting.
Modified: stack/native/branches/jbossws-native-2.0.1.SP2_CP05_JBPAPP-2042/src/main/java/org/jboss/ws/core/StubExt.java
===================================================================
--- stack/native/branches/jbossws-native-2.0.1.SP2_CP05_JBPAPP-2042/src/main/java/org/jboss/ws/core/StubExt.java 2009-05-28 16:20:14 UTC (rev 10139)
+++ stack/native/branches/jbossws-native-2.0.1.SP2_CP05_JBPAPP-2042/src/main/java/org/jboss/ws/core/StubExt.java 2009-05-28 16:44:04 UTC (rev 10140)
@@ -51,6 +51,8 @@
static final String PROPERTY_KEY_STORE_PASSWORD = "org.jboss.ws.keyStorePassword";
/** KeyStoreType property: org.jboss.ws.keyStoreType */
static final String PROPERTY_KEY_STORE_TYPE = "org.jboss.ws.keyStoreType";
+ /** SocketFactory property: org.jboss.ws.socketFactory */
+ static final String PROPERTY_SOCKET_FACTORY = "org.jboss.ws.socketFactory";
/** Remoting SSL Protocol property: org.jboss.ws.sslProtocol */
static final String PROPERTY_SSL_PROTOCOL = "org.jboss.ws.sslProtocol";
/** Remoting SSL Provider Name property: org.jboss.ws.sslProviderName */
Modified: stack/native/branches/jbossws-native-2.0.1.SP2_CP05_JBPAPP-2042/src/main/java/org/jboss/ws/core/client/RemotingConnectionImpl.java
===================================================================
--- stack/native/branches/jbossws-native-2.0.1.SP2_CP05_JBPAPP-2042/src/main/java/org/jboss/ws/core/client/RemotingConnectionImpl.java 2009-05-28 16:20:14 UTC (rev 10139)
+++ stack/native/branches/jbossws-native-2.0.1.SP2_CP05_JBPAPP-2042/src/main/java/org/jboss/ws/core/client/RemotingConnectionImpl.java 2009-05-28 16:44:04 UTC (rev 10140)
@@ -99,6 +99,7 @@
configMap.put(StubExt.PROPERTY_KEY_STORE_ALGORITHM, "org.jboss.remoting.keyStoreAlgorithm");
configMap.put(StubExt.PROPERTY_KEY_STORE_PASSWORD, "org.jboss.remoting.keyStorePassword");
configMap.put(StubExt.PROPERTY_KEY_STORE_TYPE, "org.jboss.remoting.keyStoreType");
+ configMap.put(StubExt.PROPERTY_SOCKET_FACTORY, "socketFactoryClassName");
configMap.put(StubExt.PROPERTY_SSL_PROTOCOL, "org.jboss.remoting.sslProtocol");
configMap.put(StubExt.PROPERTY_SSL_PROVIDER_NAME, "org.jboss.remoting.sslProviderName");
configMap.put(StubExt.PROPERTY_TRUST_STORE, "org.jboss.remoting.trustStore");
Modified: stack/native/branches/jbossws-native-2.0.1.SP2_CP05_JBPAPP-2042/version.properties
===================================================================
--- stack/native/branches/jbossws-native-2.0.1.SP2_CP05_JBPAPP-2042/version.properties 2009-05-28 16:20:14 UTC (rev 10139)
+++ stack/native/branches/jbossws-native-2.0.1.SP2_CP05_JBPAPP-2042/version.properties 2009-05-28 16:44:04 UTC (rev 10140)
@@ -5,8 +5,8 @@
specification.vendor=JBoss (http://www.jboss.org)
specification.version=jbossws-2.0
-version.id=2.0.1.SP2_CP05
-repository.id=2.0.1.SP2_CP05
+version.id=2.0.1.SP2_CP05_JBPAPP-2042
+repository.id=2.0.1.SP2_CP05_JBPAPP-2042
implementation.title=JBoss Web Services - Native
implementation.url=http://www.jboss.org/products/jbossws
15 years, 7 months
JBossWS SVN: r10139 - stack/native/branches.
by jbossws-commits@lists.jboss.org
Author: darran.lofthouse(a)jboss.com
Date: 2009-05-28 12:20:14 -0400 (Thu, 28 May 2009)
New Revision: 10139
Added:
stack/native/branches/jbossws-native-2.0.1.SP2_CP05_JBPAPP-2042/
Log:
[JBPAPP-2042] Branch for patch.
Copied: stack/native/branches/jbossws-native-2.0.1.SP2_CP05_JBPAPP-2042 (from rev 10138, stack/native/tags/jbossws-native-2.0.1.SP2_CP05)
15 years, 7 months
JBossWS SVN: r10138 - in stack/metro/trunk: modules/management and 6 other directories.
by jbossws-commits@lists.jboss.org
Author: richard.opalka(a)jboss.com
Date: 2009-05-28 09:52:02 -0400 (Thu, 28 May 2009)
New Revision: 10138
Added:
stack/metro/trunk/modules/testsuite/test-excludes-jboss520.txt
Modified:
stack/metro/trunk/build.xml
stack/metro/trunk/modules/management/pom.xml
stack/metro/trunk/modules/resources/src/main/resources/resources/jbossws-deploy-macros.xml
stack/metro/trunk/modules/server/pom.xml
stack/metro/trunk/modules/server/src/main/scripts/antrun-beans-config.xml
stack/metro/trunk/modules/testsuite/pom.xml
stack/metro/trunk/pom.xml
stack/metro/trunk/profiles.xml.example
stack/metro/trunk/src/main/distro/Install.txt
stack/metro/trunk/src/main/distro/ant.properties.example
stack/metro/trunk/src/main/distro/build-deploy.xml
stack/metro/trunk/src/main/distro/build-setup.xml
stack/metro/trunk/src/main/distro/build.xml
stack/metro/trunk/src/main/scripts/assembly-deploy-artifacts.xml
Log:
adding AS 5.2.x support
Modified: stack/metro/trunk/build.xml
===================================================================
--- stack/metro/trunk/build.xml 2009-05-28 11:02:26 UTC (rev 10137)
+++ stack/metro/trunk/build.xml 2009-05-28 13:52:02 UTC (rev 10138)
@@ -63,6 +63,9 @@
<condition property="jboss510.home" value="${profiles.profile.properties.jboss510.home}">
<isset property="profiles.profile.properties.jboss510.home"/>
</condition>
+ <condition property="jboss520.home" value="${profiles.profile.properties.jboss520.home}">
+ <isset property="profiles.profile.properties.jboss520.home"/>
+ </condition>
<condition property="jboss600.home" value="${profiles.profile.properties.jboss600.home}">
<isset property="profiles.profile.properties.jboss600.home"/>
</condition>
@@ -72,12 +75,14 @@
<property name="jboss500.home" value="${profiles.profile.properties.jboss500.home}"/>
<property name="jboss501.home" value="${profiles.profile.properties.jboss501.home}"/>
<property name="jboss510.home" value="${profiles.profile.properties.jboss510.home}"/>
+ <property name="jboss520.home" value="${profiles.profile.properties.jboss520.home}"/>
<property name="jboss600.home" value="${profiles.profile.properties.jboss600.home}"/>
<echo/>
<echo message="jboss500.home=${jboss500.home}"/>
<echo message="jboss501.home=${jboss501.home}"/>
<echo message="jboss510.home=${jboss510.home}"/>
+ <echo message="jboss520.home=${jboss520.home}"/>
<echo message="jboss600.home=${jboss600.home}"/>
</target>
Modified: stack/metro/trunk/modules/management/pom.xml
===================================================================
--- stack/metro/trunk/modules/management/pom.xml 2009-05-28 11:02:26 UTC (rev 10137)
+++ stack/metro/trunk/modules/management/pom.xml 2009-05-28 13:52:02 UTC (rev 10138)
@@ -39,12 +39,17 @@
<artifactId>jbossws-jboss501</artifactId>
<scope>provided</scope>
</dependency>
+ <dependency>
+ <groupId>org.jboss.ws</groupId>
+ <artifactId>jbossws-jboss510</artifactId>
+ <scope>provided</scope>
+ </dependency>
<!-- [JBWS-2505] -->
<!-- START -->
<!--
<dependency>
<groupId>org.jboss.ws</groupId>
- <artifactId>jbossws-jboss510x</artifactId>
+ <artifactId>jbossws-jboss520x</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
Modified: stack/metro/trunk/modules/resources/src/main/resources/resources/jbossws-deploy-macros.xml
===================================================================
--- stack/metro/trunk/modules/resources/src/main/resources/resources/jbossws-deploy-macros.xml 2009-05-28 11:02:26 UTC (rev 10137)
+++ stack/metro/trunk/modules/resources/src/main/resources/resources/jbossws-deploy-macros.xml 2009-05-28 13:52:02 UTC (rev 10138)
@@ -152,6 +152,21 @@
</sequential>
</macrodef>
+ <macrodef name="macro-deploy-jbossws-lib52">
+ <attribute name="thirdpartydir"/>
+ <attribute name="targetdir"/>
+ <sequential>
+ <mkdir dir="@{targetdir}"/>
+ <copy todir="@{targetdir}" flatten="true" overwrite="true">
+ <fileset dir="@{thirdpartydir}">
+ <patternset refid="jbossws.lib.patternset"/>
+ <include name="**/jaxb-impl.jar"/>
+ <include name="**/wstx.jar"/>
+ </fileset>
+ </copy>
+ </sequential>
+ </macrodef>
+
<macrodef name="macro-deploy-jbossws-lib60">
<attribute name="thirdpartydir"/>
<attribute name="targetdir"/>
@@ -212,6 +227,21 @@
<copy todir="@{targetdir}" flatten="true" overwrite="true">
<fileset dir="@{thirdpartydir}">
<patternset refid="jbossws.client.patternset"/>
+ <include name="**/jbossws-(a){jbossid}.jar"/>
+ </fileset>
+ </copy>
+ </sequential>
+ </macrodef>
+
+ <macrodef name="macro-deploy-jbossws-client52">
+ <attribute name="thirdpartydir"/>
+ <attribute name="targetdir"/>
+ <attribute name="jbossid"/>
+ <sequential>
+ <mkdir dir="@{targetdir}"/>
+ <copy todir="@{targetdir}" flatten="true" overwrite="true">
+ <fileset dir="@{thirdpartydir}">
+ <patternset refid="jbossws.client.patternset"/>
<!-- JBWS-2505 -->
<!-- START -->
<!--
@@ -275,6 +305,20 @@
</sequential>
</macrodef>
+ <macrodef name="macro-deploy-jbossws-server-lib52">
+ <attribute name="thirdpartydir"/>
+ <attribute name="targetdir"/>
+ <attribute name="jbossid"/>
+ <sequential>
+ <mkdir dir="@{targetdir}"/>
+ <copy todir="@{targetdir}" flatten="true" overwrite="true">
+ <fileset dir="@{thirdpartydir}">
+ <patternset refid="jbossws.server.lib.patternset"/>
+ </fileset>
+ </copy>
+ </sequential>
+ </macrodef>
+
<macrodef name="macro-deploy-jbossws-server-lib60">
<attribute name="thirdpartydir"/>
<attribute name="targetdir"/>
@@ -346,6 +390,21 @@
</sequential>
</macrodef>
+ <macrodef name="macro-deploy-jbossws-sar52">
+ <attribute name="thirdpartydir"/>
+ <attribute name="artifactsdir"/>
+ <attribute name="targetdir"/>
+ <attribute name="jbossid"/>
+ <sequential>
+ <mkdir dir="@{targetdir}"/>
+ <unzip dest="@{targetdir}/jbossws-management.war">
+ <fileset dir="@{thirdpartydir}">
+ <include name="**/jbossws-metro-management.war"/>
+ </fileset>
+ </unzip>
+ </sequential>
+ </macrodef>
+
<macrodef name="macro-deploy-jbossws-sar60">
<attribute name="thirdpartydir"/>
<attribute name="artifactsdir"/>
@@ -418,6 +477,38 @@
<fileset dir="@{thirdpartydir}">
<include name="**/jbossws-common.jar"/>
<include name="**/jbossws-framework.jar"/>
+ <include name="**/jbossws-(a){jbossid}.jar"/>
+ </fileset>
+ </copy>
+ <copy todir="@{targetdir}/META-INF" flatten="true" overwrite="true">
+ <fileset dir="@{artifactsdir}/resources/jbossws-@{jbossid}">
+ <include name="**/jbossws-deployer-jboss-beans.xml"/>
+ </fileset>
+ </copy>
+ </sequential>
+ </macrodef>
+
+ <macrodef name="macro-deploy-jbossws-deployers52">
+ <attribute name="thirdpartydir"/>
+ <attribute name="artifactsdir"/>
+ <attribute name="targetdir"/>
+ <attribute name="jbossid"/>
+ <sequential>
+ <mkdir dir="@{targetdir}"/>
+ <copy todir="@{targetdir}" flatten="true" overwrite="true">
+ <fileset dir="@{thirdpartydir}">
+ <patternset refid="jbossws.service.lib.patternset"/>
+ </fileset>
+ </copy>
+ <copy todir="@{targetdir}">
+ <fileset dir="@{artifactsdir}/resources/jbossws-(a){jbossid}/jbossws.beans">
+ <include name="META-INF/**"/>
+ </fileset>
+ </copy>
+ <copy todir="@{targetdir}" flatten="true" overwrite="true">
+ <fileset dir="@{thirdpartydir}">
+ <include name="**/jbossws-common.jar"/>
+ <include name="**/jbossws-framework.jar"/>
<!-- JBWS-2505 -->
<!-- START -->
<!--
@@ -507,6 +598,17 @@
<macro-deploy-juddi-sar targetdir="${installserver}/deploy/juddi-service.sar" thirdpartydir="${thirdpartydir}"/>
</target>
+ <target name="deploy-jbossws-metro52" depends="check-parameters">
+ <macro-deploy-jbossws-bin targetdir="${installserver}/../../bin" artifactsdir="${artifactsdir}"/>
+ <macro-deploy-jbossws-client52 targetdir="${installserver}/../../client" thirdpartydir="${thirdpartydir}" jbossid="${jbossid}"/>
+ <macro-deploy-jbossws-lib52 targetdir="${installserver}/../../lib" thirdpartydir="${thirdpartydir}"/>
+ <macro-deploy-jbossws-endorsed targetdir="${installserver}/../../lib/endorsed" thirdpartydir="${thirdpartydir}"/>
+ <macro-deploy-jbossws-server-lib52 targetdir="${installserver}/../../common/lib" thirdpartydir="${thirdpartydir}" jbossid="${jbossid}"/> <!-- Please note the "../../common" to use common server lib! -->
+ <macro-deploy-jbossws-sar52 targetdir="${installserver}/deploy/jbossws.sar" artifactsdir="${artifactsdir}" thirdpartydir="${thirdpartydir}" jbossid="${jbossid}"/>
+ <macro-deploy-jbossws-deployers52 targetdir="${installserver}/deployers/jbossws.deployer/" artifactsdir="${artifactsdir}" thirdpartydir="${thirdpartydir}" jbossid="${jbossid}"/>
+ <macro-deploy-juddi-sar targetdir="${installserver}/deploy/juddi-service.sar" thirdpartydir="${thirdpartydir}"/>
+ </target>
+
<target name="deploy-jbossws-metro60" depends="check-parameters">
<macro-deploy-jbossws-bin targetdir="${installserver}/../../bin" artifactsdir="${artifactsdir}"/>
<macro-deploy-jbossws-client60 targetdir="${installserver}/../../client" thirdpartydir="${thirdpartydir}" jbossid="${jbossid}"/>
@@ -576,6 +678,42 @@
<available property="jboss.undeploy.client" file="${jboss.home}/client"/>
<fail message="Cannot find ${jboss.home}/client" unless="jboss.undeploy.client"/>
+ <!-- delete stale container integration jars -->
+ <delete>
+ <fileset dir="${jboss.server.home}">
+ <include name="**/jbossws-jboss*.jar"/>
+ </fileset>
+ <fileset dir="${jboss.home}/client">
+ <include name="jbossws-jboss*.jar"/>
+ </fileset>
+ </delete>
+
+ <!-- delete content of last deployment -->
+ <delete>
+ <fileset dir="${jboss.home}" includes="${jbossws.deploy.conf}"/>
+ </delete>
+
+ <!-- delete jbossws.sar -->
+ <delete dir="@{targetdir}"/>
+
+ <!-- delete juddi-service.sar -->
+ <delete dir="@{targetdir}/../juddi-service.sar"/>
+
+ </sequential>
+ </macrodef>
+
+ <macrodef name="macro-undeploy-jbossws52">
+ <attribute name="defaultconf"/>
+ <attribute name="targetdir"/>
+ <sequential>
+ <loadfile property="jbossws.deploy.conf" srcfile="@{targetdir}/jbossws-deploy.conf" failonerror="false"/>
+ <loadfile property="jbossws.deploy.conf" srcfile="@{defaultconf}" failonerror="false"/>
+
+ <property name="jboss.server.home" value="@{targetdir}/../.."/>
+ <property name="jboss.home" value="${jboss.server.home}/../.."/>
+ <available property="jboss.undeploy.client" file="${jboss.home}/client"/>
+ <fail message="Cannot find ${jboss.home}/client" unless="jboss.undeploy.client"/>
+
<!-- JBWS-2505 -->
<!-- START -->
<!-- delete stale container integration jars -->
Modified: stack/metro/trunk/modules/server/pom.xml
===================================================================
--- stack/metro/trunk/modules/server/pom.xml 2009-05-28 11:02:26 UTC (rev 10137)
+++ stack/metro/trunk/modules/server/pom.xml 2009-05-28 13:52:02 UTC (rev 10138)
@@ -151,16 +151,24 @@
<type>zip</type>
<outputDirectory>${project.build.directory}/resources/jbossws-jboss501</outputDirectory>
</artifactItem>
+ <artifactItem>
+ <groupId>org.jboss.ws</groupId>
+ <artifactId>jbossws-jboss510</artifactId>
+ <version>${jbossws.jboss510.version}</version>
+ <classifier>resources</classifier>
+ <type>zip</type>
+ <outputDirectory>${project.build.directory}/resources/jbossws-jboss510</outputDirectory>
+ </artifactItem>
<!-- JBWS-2505 -->
<!-- START -->
<!--
<artifactItem>
<groupId>org.jboss.ws</groupId>
- <artifactId>jbossws-jboss510x</artifactId>
- <version>${jbossws.jboss510.version}</version>
+ <artifactId>jbossws-jboss520x</artifactId>
+ <version>${jbossws.jboss520.version}</version>
<classifier>resources</classifier>
<type>zip</type>
- <outputDirectory>${project.build.directory}/resources/jbossws-jboss510</outputDirectory>
+ <outputDirectory>${project.build.directory}/resources/jbossws-jboss520</outputDirectory>
</artifactItem>
<artifactItem>
<groupId>org.jboss.ws</groupId>
Modified: stack/metro/trunk/modules/server/src/main/scripts/antrun-beans-config.xml
===================================================================
--- stack/metro/trunk/modules/server/src/main/scripts/antrun-beans-config.xml 2009-05-28 11:02:26 UTC (rev 10137)
+++ stack/metro/trunk/modules/server/src/main/scripts/antrun-beans-config.xml 2009-05-28 13:52:02 UTC (rev 10138)
@@ -57,6 +57,16 @@
</deployment> </footer>
</concat>
+ <!-- Concat jbossws-jboss520/jbossws.beans -->
+ <echo message="Concat jbossws-jboss520/jbossws.beans"/>
+ <concat destfile="${project.build.resources.directory}/jbossws-jboss520/jbossws.beans/META-INF/jboss-beans.xml">
+ <header trimleading="yes">
+ <deployment xmlns="urn:jboss:bean-deployer:2.0"> </header>
+ <fileset file="${project.resources.directory}/jbossws-metro-config.xml"/>
+ <footer trimleading="yes">
+ </deployment> </footer>
+ </concat>
+
<!-- Concat jbossws-jboss600/jbossws.beans -->
<echo message="Concat jbossws-jboss600/jbossws.beans"/>
<concat destfile="${project.build.resources.directory}/jbossws-jboss600/jbossws.beans/META-INF/jboss-beans.xml">
Modified: stack/metro/trunk/modules/testsuite/pom.xml
===================================================================
--- stack/metro/trunk/modules/testsuite/pom.xml 2009-05-28 11:02:26 UTC (rev 10137)
+++ stack/metro/trunk/modules/testsuite/pom.xml 2009-05-28 13:52:02 UTC (rev 10138)
@@ -419,16 +419,81 @@
<profile>
<id>jboss510</id>
<properties>
- <jboss.version>5.1.0-SNAPSHOT</jboss.version>
+ <jboss.version>5.1.0.GA</jboss.version>
<jbossws.integration.target>jboss510</jbossws.integration.target>
</properties>
<dependencies>
+ <dependency>
+ <groupId>org.jboss.ws</groupId>
+ <artifactId>jbossws-jboss510</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate</artifactId>
+ <version>${hibernate.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.jbossas</groupId>
+ <artifactId>jboss-as-ejb3</artifactId>
+ <version>${jboss.version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.jboss.security</groupId>
+ <artifactId>jbosssx</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.jbossas</groupId>
+ <artifactId>jboss-as-security</artifactId>
+ <version>${jboss.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.javaee</groupId>
+ <artifactId>jboss-javaee</artifactId>
+ <version>${jboss.javaee.version}</version>
+ </dependency>
+ </dependencies>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <!-- http://jira.codehaus.org/browse/MCOMPILER-72 -->
+ <testExcludeFile>../test-excludes-jboss510.txt</testExcludeFile>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <argLine>${surefire.jvm.args} -Djava.endorsed.dirs=${jboss510.home}/lib/endorsed</argLine>
+ <!-- TODO: replace with maven dependencies -->
+ <additionalClasspathElements>
+ <additionalClasspathElement>${jboss.home}/client/jbossall-client.jar</additionalClasspathElement>
+ </additionalClasspathElements>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+
+ <!--
+ Name: jboss520
+ Descr: JBoss-5.2.0 specific options
+ -->
+ <profile>
+ <id>jboss520</id>
+ <properties>
+ <jboss.version>5.2.0-SNAPSHOT</jboss.version>
+ <jbossws.integration.target>jboss520</jbossws.integration.target>
+ </properties>
+ <dependencies>
<!-- JBWS-2505 -->
<!-- START -->
<!--
<dependency>
<groupId>org.jboss.ws</groupId>
- <artifactId>jbossws-jboss510x</artifactId>
+ <artifactId>jbossws-jboss520x</artifactId>
</dependency>
-->
<dependency>
@@ -476,13 +541,13 @@
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<!-- http://jira.codehaus.org/browse/MCOMPILER-72 -->
- <testExcludeFile>../test-excludes-jboss510.txt</testExcludeFile>
+ <testExcludeFile>../test-excludes-jboss520.txt</testExcludeFile>
</configuration>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
- <argLine>${surefire.jvm.args} -Djava.endorsed.dirs=${jboss510.home}/lib/endorsed</argLine>
+ <argLine>${surefire.jvm.args} -Djava.endorsed.dirs=${jboss520.home}/lib/endorsed</argLine>
<!-- TODO: replace with maven dependencies -->
<additionalClasspathElements>
<additionalClasspathElement>${jboss.home}/client/jbossall-client.jar</additionalClasspathElement>
Added: stack/metro/trunk/modules/testsuite/test-excludes-jboss520.txt
===================================================================
--- stack/metro/trunk/modules/testsuite/test-excludes-jboss520.txt (rev 0)
+++ stack/metro/trunk/modules/testsuite/test-excludes-jboss520.txt 2009-05-28 13:52:02 UTC (rev 10138)
@@ -0,0 +1,50 @@
+# UsernameTestCase requires keystore & trustore in jboss-web tomcat configuration
+org/jboss/test/ws/jaxws/samples/wsse/UsernameTestCase.*
+
+# [EJBTHREE-1152] service-ref in ejb-jar.xml is ignored
+org/jboss/test/ws/jaxws/samples/serviceref/ServiceRefEJBTestCase.*
+
+# [JBWS-1949] Metro MTOM ignores content-type on attachment part
+org/jboss/test/ws/jaxws/samples/xop/doclit/XOPBare*.*
+org/jboss/test/ws/jaxws/samples/xop/doclit/XOPWrapped*.*
+org/jboss/test/ws/jaxws/samples/xop/doclit/MTOMFeatureTestCase.*
+
+# [JBWS-2102] JSR-261 impl not available in Metro
+org/jboss/test/ws/jaxws/samples/addressing/**
+
+# [JBWS-2596] Resource injection in jaxws endpoints and handlers
+org/jboss/test/ws/jaxws/jbws2074/**
+org/jboss/test/ws/jaxws/jbws2634/**
+
+# [JBWS-2127] Cannot generate WSDL for binding "http://www.w3.org/2003/05/soap/bindings/HTTP/"
+org/jboss/test/ws/jaxws/binding/**
+org/jboss/test/ws/jaxws/handlerscope/**
+org/jboss/test/ws/jaxws/jbws2183/**
+
+# [JBWS-2131] NoSuchElementException during wsdl generation at deploy
+org/jboss/test/ws/jaxws/jbws1702/**
+
+# [JBWS-2247] Write test for JBWS-1190 from scratch using MessageContext properties
+org/jboss/test/ws/jaxws/jbws1190/**
+
+# [JBWS-2308] faultCode argument for createFault was passed NULL
+org/jboss/test/ws/jaxws/jbws2308/*TestCase.*
+
+# [JBWS-2329] Failed to deploy service with multiple bindings
+org/jboss/test/ws/jaxws/jbws2278/**
+
+# [JBWS-2347] Rewrite @WebFault related tests
+org/jboss/test/ws/jaxws/jbws1904/**
+org/jboss/test/ws/jaxws/webfault/**
+
+# [JBWS-2348] Fix jbws1969 testcase
+org/jboss/test/ws/jaxws/jbws1969/**
+
+# [JBWS-2397] Fix jbws1797 testcase
+org/jboss/test/ws/jaxws/jbws1797/**
+
+# [JBWS-2400] Rewrite large attachment testcase
+org/jboss/test/ws/jaxws/jbws2000/**
+
+# [JBWS-2462] Address rewrite test fails in Metro integration
+org/jboss/test/ws/jaxws/jbws2150/**
Property changes on: stack/metro/trunk/modules/testsuite/test-excludes-jboss520.txt
___________________________________________________________________
Name: svn:executable
+ *
Modified: stack/metro/trunk/pom.xml
===================================================================
--- stack/metro/trunk/pom.xml 2009-05-28 11:02:26 UTC (rev 10137)
+++ stack/metro/trunk/pom.xml 2009-05-28 13:52:02 UTC (rev 10138)
@@ -49,11 +49,12 @@
<jbossws.spi.version>1.2.0-SNAPSHOT</jbossws.spi.version>
<jbossws.jboss500.version>3.2.0-SNAPSHOT</jbossws.jboss500.version>
<jbossws.jboss501.version>3.2.0-SNAPSHOT</jbossws.jboss501.version>
+ <jbossws.jboss510.version>3.2.0-SNAPSHOT</jbossws.jboss510.version>
<!-- JBWS-2505 -->
<!-- START -->
<!--
- <jbossws.jboss510.version>3.1.0-SNAPSHOT</jbossws.jboss510.version>
- <jbossws.jboss600.version>3.1.0-SNAPSHOT</jbossws.jboss600.version>
+ <jbossws.jboss520.version>3.2.0-SNAPSHOT</jbossws.jboss520.version>
+ <jbossws.jboss600.version>3.2.0-SNAPSHOT</jbossws.jboss600.version>
-->
<!-- END -->
<jboss.common.version>1.2.1.GA</jboss.common.version>
@@ -125,18 +126,30 @@
<classifier>resources</classifier>
<type>zip</type>
</dependency>
+ <dependency>
+ <groupId>org.jboss.ws</groupId>
+ <artifactId>jbossws-jboss510</artifactId>
+ <version>${jbossws.jboss510.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.ws</groupId>
+ <artifactId>jbossws-jboss510</artifactId>
+ <version>${jbossws.jboss510.version}</version>
+ <classifier>resources</classifier>
+ <type>zip</type>
+ </dependency>
<!-- JBWS-2505 -->
<!-- START -->
<!--
<dependency>
<groupId>org.jboss.ws</groupId>
- <artifactId>jbossws-jboss510x</artifactId>
- <version>${jbossws.jboss510.version}</version>
+ <artifactId>jbossws-jboss520x</artifactId>
+ <version>${jbossws.jboss520.version}</version>
</dependency>
<dependency>
<groupId>org.jboss.ws</groupId>
- <artifactId>jbossws-jboss510x</artifactId>
- <version>${jbossws.jboss510.version}</version>
+ <artifactId>jbossws-jboss520x</artifactId>
+ <version>${jbossws.jboss520.version}</version>
<classifier>resources</classifier>
<type>zip</type>
</dependency>
@@ -466,6 +479,18 @@
</profile>
<!--
+ Name: jboss520
+ Descr: JBoss-5.2.0 specific options
+ -->
+ <profile>
+ <id>jboss520</id>
+ <properties>
+ <jbossws.integration.target>jboss520</jbossws.integration.target>
+ <jboss.home>${jboss520.home}</jboss.home>
+ </properties>
+ </profile>
+
+ <!--
Name: jboss600
Descr: JBoss-6.0.0 specific options
-->
Modified: stack/metro/trunk/profiles.xml.example
===================================================================
--- stack/metro/trunk/profiles.xml.example 2009-05-28 11:02:26 UTC (rev 10137)
+++ stack/metro/trunk/profiles.xml.example 2009-05-28 13:52:02 UTC (rev 10138)
@@ -12,8 +12,9 @@
</activation>
<properties>
<jboss500.home>/home/opalka/svn/jbossas/tags/JBoss_5_0_0_GA/build/output/jboss-5.0.0.GA</jboss500.home>
- <jboss501.home>/home/opalka/svn/jbossas/branches/Branch_5_0/build/output/jboss-5.0.1.GA</jboss501.home>
- <jboss510.home>/home/opalka/svn/jbossas/branches/Branch_5_x/build/output/jboss-5.1.0.GA</jboss510.home>
+ <jboss501.home>/home/opalka/svn/jbossas/tags/JBoss_5_0_1_GA/build/output/jboss-5.0.1.GA</jboss501.home>
+ <jboss510.home>/home/opalka/svn/jbossas/tags/JBoss_5_1_0_GA/build/output/jboss-5.1.0.GA</jboss510.home>
+ <jboss520.home>/home/opalka/svn/jbossas/branches/Branch_5_x/build/output/jboss-5.2.0.Beta</jboss520.home>
<jboss600.home>/home/opalka/svn/jbossas/trunk/build/output/jboss-6.0.0.Alpha1</jboss600.home>
</properties>
</profile>
Modified: stack/metro/trunk/src/main/distro/Install.txt
===================================================================
--- stack/metro/trunk/src/main/distro/Install.txt 2009-05-28 11:02:26 UTC (rev 10137)
+++ stack/metro/trunk/src/main/distro/Install.txt 2009-05-28 13:52:02 UTC (rev 10138)
@@ -13,9 +13,11 @@
2.) Modify the target container location in ant.properties
3.) Execute one of the following
- ant deploy-jboss50x
- ant deploy-jboss51x
- ant deploy-jboss60x
+ ant deploy-jboss500
+ ant deploy-jboss501
+ ant deploy-jboss510
+ ant deploy-jboss520
+ ant deploy-jboss600
4.) Execute the samples to verify your installation
Modified: stack/metro/trunk/src/main/distro/ant.properties.example
===================================================================
--- stack/metro/trunk/src/main/distro/ant.properties.example 2009-05-28 11:02:26 UTC (rev 10137)
+++ stack/metro/trunk/src/main/distro/ant.properties.example 2009-05-28 13:52:02 UTC (rev 10138)
@@ -6,10 +6,11 @@
jboss500.home=(a)jboss500.home@
jboss501.home=(a)jboss501.home@
jboss510.home=(a)jboss510.home@
+jboss510.home=(a)jboss520.home@
jboss600.home=(a)jboss600.home@
-# The JBoss server under test. This can be [jboss500|jboss501|jboss510|jboss600]
-jbossws.integration.target=jboss500
+# The JBoss server under test. This can be [jboss500|jboss501|jboss510|jboss520|jboss600]
+jbossws.integration.target=jboss510
# The JBoss settings
jboss.server.instance=default
Modified: stack/metro/trunk/src/main/distro/build-deploy.xml
===================================================================
--- stack/metro/trunk/src/main/distro/build-deploy.xml 2009-05-28 11:02:26 UTC (rev 10137)
+++ stack/metro/trunk/src/main/distro/build-deploy.xml 2009-05-28 13:52:02 UTC (rev 10138)
@@ -114,6 +114,45 @@
</target>
<!-- ================================================================== -->
+ <!-- Prepare Deployment Structure JBoss-5.2.x -->
+ <!-- ================================================================== -->
+
+ <target name="deploy-structure-jboss52" depends="prepare-deploy">
+ <delete dir="${deploy.structure}"/>
+ <antcall target="deploy-jbossws-metro52" inheritall="false">
+ <param name="installserver" value="${deploy.structure}/server/${jboss.server.instance}"/>
+ <param name="jbossid" value="${jbossws.integration.target}"/>
+ <param name="artifactsdir" value="${deploy.artifacts.dir}"/>
+ <param name="thirdpartydir" value="${deploy.artifacts.dir}"/>
+ </antcall>
+ <macro-create-deploy-conf deploystructure="${deploy.structure}"/>
+ </target>
+
+ <!-- ================================================================== -->
+ <!-- Deployment JBoss520 -->
+ <!-- ================================================================== -->
+
+ <target name="target-jboss520">
+ <property name="jboss.server.instance" value="default"/>
+ <property name="jbossws.integration.target" value="jboss520"/>
+ <echo message="jbossws.integration.target=${jbossws.integration.target}${line.separator}" file="${target.properties.file}"/>
+ <echo message="jboss.server.instance=${jboss.server.instance}${line.separator}" file="${target.properties.file}" append="true"/>
+ </target>
+
+ <target name="deploy-jboss520" depends="undeploy-jboss520,deploy-structure-jboss52" description="Deploy jbossws to jboss520">
+ <fail message="Not available: ${jboss520.available.file}" unless="jboss520.available"/>
+ <copy todir="${jboss520.home}" overwrite="true">
+ <fileset dir="${deploy.structure}"/>
+ </copy>
+ <chmod dir="${jboss520.home}/bin" perm="+x" includes="*.sh"/>
+ </target>
+
+ <target name="undeploy-jboss520" depends="target-jboss520,init" description="Remove jbossws from jboss520">
+ <fail message="Not available: ${jboss520.available.file}" unless="jboss520.available"/>
+ <macro-undeploy-jbossws52 targetdir="${jboss520.server.deploy}/jbossws.sar" defaultconf="${jbossws.default.deploy.conf}"/>
+ </target>
+
+ <!-- ================================================================== -->
<!-- Prepare Deployment Structure JBoss-6.0.x -->
<!-- ================================================================== -->
Modified: stack/metro/trunk/src/main/distro/build-setup.xml
===================================================================
--- stack/metro/trunk/src/main/distro/build-setup.xml 2009-05-28 11:02:26 UTC (rev 10137)
+++ stack/metro/trunk/src/main/distro/build-setup.xml 2009-05-28 13:52:02 UTC (rev 10138)
@@ -41,6 +41,13 @@
<property name="jboss510.server.deploy" value="${jboss510.server}/deploy"/>
<property name="jboss510.server.deployers" value="${jboss510.server}/deployers"/>
+ <property name="jboss520.lib" value="${jboss520.home}/lib"/>
+ <property name="jboss520.client" value="${jboss520.home}/client"/>
+ <property name="jboss520.server" value="${jboss520.home}/server/${jboss.server.instance}"/>
+ <property name="jboss520.server.lib" value="${jboss520.home}/common/lib"/>
+ <property name="jboss520.server.deploy" value="${jboss520.server}/deploy"/>
+ <property name="jboss520.server.deployers" value="${jboss520.server}/deployers"/>
+
<property name="jboss600.lib" value="${jboss600.home}/lib"/>
<property name="jboss600.client" value="${jboss600.home}/client"/>
<property name="jboss600.server" value="${jboss600.home}/server/${jboss.server.instance}"/>
@@ -51,11 +58,13 @@
<property name="jboss500.available.file" value="${jboss500.client}/jboss-client.jar"/>
<property name="jboss501.available.file" value="${jboss501.client}/jboss-client.jar"/>
<property name="jboss510.available.file" value="${jboss510.client}/jboss-client.jar"/>
+ <property name="jboss520.available.file" value="${jboss520.client}/jboss-client.jar"/>
<property name="jboss600.available.file" value="${jboss600.client}/jboss-client.jar"/>
<available property="jboss500.available" file="${jboss500.available.file}"/>
<available property="jboss501.available" file="${jboss501.available.file}"/>
<available property="jboss510.available" file="${jboss510.available.file}"/>
+ <available property="jboss520.available" file="${jboss520.available.file}"/>
<available property="jboss600.available" file="${jboss600.available.file}"/>
<tstamp>
Modified: stack/metro/trunk/src/main/distro/build.xml
===================================================================
--- stack/metro/trunk/src/main/distro/build.xml 2009-05-28 11:02:26 UTC (rev 10137)
+++ stack/metro/trunk/src/main/distro/build.xml 2009-05-28 13:52:02 UTC (rev 10138)
@@ -56,6 +56,11 @@
<equals arg1="${jbossws.integration.target}" arg2="jboss510"/>
</or>
</condition>
+ <condition property="jbossws.integration.jboss52" value="true">
+ <or>
+ <equals arg1="${jbossws.integration.target}" arg2="jboss520"/>
+ </or>
+ </condition>
<condition property="jbossws.integration.jboss60" value="true">
<or>
<equals arg1="${jbossws.integration.target}" arg2="jboss600"/>
Modified: stack/metro/trunk/src/main/scripts/assembly-deploy-artifacts.xml
===================================================================
--- stack/metro/trunk/src/main/scripts/assembly-deploy-artifacts.xml 2009-05-28 11:02:26 UTC (rev 10137)
+++ stack/metro/trunk/src/main/scripts/assembly-deploy-artifacts.xml 2009-05-28 13:52:02 UTC (rev 10138)
@@ -95,17 +95,27 @@
<include>org.jboss.ws:jbossws-jboss501:jar</include>
</includes>
</dependencySet>
+ <dependencySet>
+ <outputDirectory>lib</outputDirectory>
+ <outputFileNameMapping>jbossws-jboss510.${module.extension}</outputFileNameMapping>
+ <useStrictFiltering>true</useStrictFiltering>
+ <scope>provided</scope>
+ <unpack>false</unpack>
+ <includes>
+ <include>org.jboss.ws:jbossws-jboss510:jar</include>
+ </includes>
+ </dependencySet>
<!-- JBWS-2505 -->
<!-- START -->
<!--
<dependencySet>
<outputDirectory>lib</outputDirectory>
- <outputFileNameMapping>jbossws-jboss510.${module.extension}</outputFileNameMapping>
+ <outputFileNameMapping>jbossws-jboss520.${module.extension}</outputFileNameMapping>
<useStrictFiltering>true</useStrictFiltering>
<scope>provided</scope>
<unpack>false</unpack>
<includes>
- <include>org.jboss.ws:jbossws-jboss510x:jar</include>
+ <include>org.jboss.ws:jbossws-jboss520x:jar</include>
</includes>
</dependencySet>
<dependencySet>
15 years, 7 months
JBossWS SVN: r10136 - in stack/cxf/trunk: modules/management and 6 other directories.
by jbossws-commits@lists.jboss.org
Author: richard.opalka(a)jboss.com
Date: 2009-05-28 05:52:59 -0400 (Thu, 28 May 2009)
New Revision: 10136
Added:
stack/cxf/trunk/modules/testsuite/test-excludes-jboss520.txt
Modified:
stack/cxf/trunk/build.xml
stack/cxf/trunk/modules/management/pom.xml
stack/cxf/trunk/modules/resources/src/main/resources/resources/jbossws-deploy-macros.xml
stack/cxf/trunk/modules/server/pom.xml
stack/cxf/trunk/modules/server/src/main/scripts/antrun-beans-config.xml
stack/cxf/trunk/modules/testsuite/pom.xml
stack/cxf/trunk/pom.xml
stack/cxf/trunk/profiles.xml.example
stack/cxf/trunk/src/main/distro/Install.txt
stack/cxf/trunk/src/main/distro/ant.properties.example
stack/cxf/trunk/src/main/distro/build-deploy.xml
stack/cxf/trunk/src/main/distro/build-setup.xml
stack/cxf/trunk/src/main/distro/build.xml
stack/cxf/trunk/src/main/scripts/assembly-deploy-artifacts.xml
Log:
adding AS 5.2.x support
Modified: stack/cxf/trunk/build.xml
===================================================================
--- stack/cxf/trunk/build.xml 2009-05-28 09:30:10 UTC (rev 10135)
+++ stack/cxf/trunk/build.xml 2009-05-28 09:52:59 UTC (rev 10136)
@@ -63,6 +63,9 @@
<condition property="jboss510.home" value="${profiles.profile.properties.jboss510.home}">
<isset property="profiles.profile.properties.jboss510.home"/>
</condition>
+ <condition property="jboss520.home" value="${profiles.profile.properties.jboss520.home}">
+ <isset property="profiles.profile.properties.jboss520.home"/>
+ </condition>
<condition property="jboss600.home" value="${profiles.profile.properties.jboss600.home}">
<isset property="profiles.profile.properties.jboss600.home"/>
</condition>
@@ -72,12 +75,14 @@
<property name="jboss500.home" value="${profiles.profile.properties.jboss500.home}"/>
<property name="jboss501.home" value="${profiles.profile.properties.jboss501.home}"/>
<property name="jboss510.home" value="${profiles.profile.properties.jboss510.home}"/>
+ <property name="jboss520.home" value="${profiles.profile.properties.jboss520.home}"/>
<property name="jboss600.home" value="${profiles.profile.properties.jboss600.home}"/>
<echo/>
<echo message="jboss500.home=${jboss500.home}"/>
<echo message="jboss501.home=${jboss501.home}"/>
<echo message="jboss510.home=${jboss510.home}"/>
+ <echo message="jboss520.home=${jboss520.home}"/>
<echo message="jboss600.home=${jboss600.home}"/>
</target>
Modified: stack/cxf/trunk/modules/management/pom.xml
===================================================================
--- stack/cxf/trunk/modules/management/pom.xml 2009-05-28 09:30:10 UTC (rev 10135)
+++ stack/cxf/trunk/modules/management/pom.xml 2009-05-28 09:52:59 UTC (rev 10136)
@@ -39,12 +39,17 @@
<artifactId>jbossws-jboss501</artifactId>
<scope>provided</scope>
</dependency>
+ <dependency>
+ <groupId>org.jboss.ws</groupId>
+ <artifactId>jbossws-jboss510</artifactId>
+ <scope>provided</scope>
+ </dependency>
<!-- [JBWS-2505] -->
<!-- START -->
<!--
<dependency>
<groupId>org.jboss.ws</groupId>
- <artifactId>jbossws-jboss510x</artifactId>
+ <artifactId>jbossws-jboss520x</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
Modified: stack/cxf/trunk/modules/resources/src/main/resources/resources/jbossws-deploy-macros.xml
===================================================================
--- stack/cxf/trunk/modules/resources/src/main/resources/resources/jbossws-deploy-macros.xml 2009-05-28 09:30:10 UTC (rev 10135)
+++ stack/cxf/trunk/modules/resources/src/main/resources/resources/jbossws-deploy-macros.xml 2009-05-28 09:52:59 UTC (rev 10136)
@@ -10,8 +10,8 @@
<!-- ====================================================================== -->
<project>
-
- <!--
+
+ <!--
These patterns should be common for all supported containers.
All jars must also be declared in component-info.xml to ensure
that the AS build uses the same version.
@@ -24,7 +24,7 @@
<include name="**/wsrunclient.bat"/>
<include name="**/wsrunclient.sh"/>
</patternset>
-
+
<patternset id="jbossws.client.patternset">
<include name="**/asm.jar"/>
<include name="**/commons-collections.jar"/>
@@ -56,15 +56,15 @@
<include name="**/XmlSchema.jar"/>
<include name="**/FastInfoset.jar"/>
</patternset>
-
+
<patternset id="jbossws.lib.patternset">
<include name="**/nothing-to-deploy"/>
</patternset>
-
+
<patternset id="jbossws.lib.endorsed.patternset">
<include name="**/jaxb-api.jar"/>
</patternset>
-
+
<patternset id="jbossws.server.lib.patternset">
<include name="**/jaxws-api.jar"/>
<include name="**/jbossws-common.jar"/>
@@ -72,7 +72,7 @@
<include name="**/jbossws-spi.jar"/>
<include name="**/saaj-api.jar"/>
</patternset>
-
+
<patternset id="jbossws.service.lib.patternset">
<include name="**/cxf-*.jar"/>
<include name="**/geronimo-javamail*.jar"/>
@@ -96,11 +96,11 @@
<include name="**/XmlSchema.jar"/>
<include name="**/FastInfoset.jar"/>
</patternset>
-
+
<!-- ================================================================== -->
<!-- Deploy Bin -->
<!-- ================================================================== -->
-
+
<macrodef name="macro-deploy-jbossws-bin">
<attribute name="artifactsdir"/>
<attribute name="targetdir"/>
@@ -113,11 +113,11 @@
</copy>
</sequential>
</macrodef>
-
+
<!-- ================================================================== -->
<!-- Deploy Lib -->
<!-- ================================================================== -->
-
+
<macrodef name="macro-deploy-jbossws-lib50">
<attribute name="thirdpartydir"/>
<attribute name="targetdir"/>
@@ -148,6 +148,21 @@
</sequential>
</macrodef>
+ <macrodef name="macro-deploy-jbossws-lib52">
+ <attribute name="thirdpartydir"/>
+ <attribute name="targetdir"/>
+ <sequential>
+ <mkdir dir="@{targetdir}"/>
+ <copy todir="@{targetdir}" flatten="true" overwrite="true">
+ <fileset dir="@{thirdpartydir}">
+ <patternset refid="jbossws.lib.patternset"/>
+ <include name="**/jaxb-impl.jar"/>
+ <include name="**/wstx.jar"/>
+ </fileset>
+ </copy>
+ </sequential>
+ </macrodef>
+
<macrodef name="macro-deploy-jbossws-lib60">
<attribute name="thirdpartydir"/>
<attribute name="targetdir"/>
@@ -166,7 +181,7 @@
<!-- ================================================================== -->
<!-- Deploy Lib Endorsed -->
<!-- ================================================================== -->
-
+
<macrodef name="macro-deploy-jbossws-endorsed">
<attribute name="thirdpartydir"/>
<attribute name="targetdir"/>
@@ -179,11 +194,11 @@
</copy>
</sequential>
</macrodef>
-
+
<!-- ================================================================== -->
<!-- Deploy Client -->
<!-- ================================================================== -->
-
+
<macrodef name="macro-deploy-jbossws-client50">
<attribute name="thirdpartydir"/>
<attribute name="targetdir"/>
@@ -198,7 +213,7 @@
</copy>
</sequential>
</macrodef>
-
+
<macrodef name="macro-deploy-jbossws-client51">
<attribute name="thirdpartydir"/>
<attribute name="targetdir"/>
@@ -208,6 +223,21 @@
<copy todir="@{targetdir}" flatten="true" overwrite="true">
<fileset dir="@{thirdpartydir}">
<patternset refid="jbossws.client.patternset"/>
+ <include name="**/jbossws-(a){jbossid}.jar"/>
+ </fileset>
+ </copy>
+ </sequential>
+ </macrodef>
+
+ <macrodef name="macro-deploy-jbossws-client52">
+ <attribute name="thirdpartydir"/>
+ <attribute name="targetdir"/>
+ <attribute name="jbossid"/>
+ <sequential>
+ <mkdir dir="@{targetdir}"/>
+ <copy todir="@{targetdir}" flatten="true" overwrite="true">
+ <fileset dir="@{thirdpartydir}">
+ <patternset refid="jbossws.client.patternset"/>
<!-- [JBWS-2505] -->
<!-- START -->
<!--
@@ -218,7 +248,7 @@
</copy>
</sequential>
</macrodef>
-
+
<macrodef name="macro-deploy-jbossws-client60">
<attribute name="thirdpartydir"/>
<attribute name="targetdir"/>
@@ -237,12 +267,12 @@
</fileset>
</copy>
</sequential>
- </macrodef>
-
+ </macrodef>
+
<!-- ================================================================== -->
<!-- Deploy Server Lib -->
<!-- ================================================================== -->
-
+
<macrodef name="macro-deploy-jbossws-server-lib50">
<attribute name="thirdpartydir"/>
<attribute name="targetdir"/>
@@ -256,7 +286,7 @@
</copy>
</sequential>
</macrodef>
-
+
<macrodef name="macro-deploy-jbossws-server-lib51">
<attribute name="thirdpartydir"/>
<attribute name="targetdir"/>
@@ -270,7 +300,21 @@
</copy>
</sequential>
</macrodef>
-
+
+ <macrodef name="macro-deploy-jbossws-server-lib52">
+ <attribute name="thirdpartydir"/>
+ <attribute name="targetdir"/>
+ <attribute name="jbossid"/>
+ <sequential>
+ <mkdir dir="@{targetdir}"/>
+ <copy todir="@{targetdir}" flatten="true" overwrite="true">
+ <fileset dir="@{thirdpartydir}">
+ <patternset refid="jbossws.server.lib.patternset"/>
+ </fileset>
+ </copy>
+ </sequential>
+ </macrodef>
+
<macrodef name="macro-deploy-jbossws-server-lib60">
<attribute name="thirdpartydir"/>
<attribute name="targetdir"/>
@@ -284,11 +328,11 @@
</copy>
</sequential>
</macrodef>
-
+
<!-- ================================================================== -->
<!-- Deploy JUDDI Service -->
<!-- ================================================================== -->
-
+
<macrodef name="macro-deploy-juddi-sar">
<attribute name="thirdpartydir"/>
<attribute name="targetdir"/>
@@ -307,11 +351,11 @@
</copy>
</sequential>
</macrodef>
-
+
<!-- ================================================================== -->
<!-- Deploy JBossWS Service -->
<!-- ================================================================== -->
-
+
<macrodef name="macro-deploy-jbossws-cxf50-sar">
<attribute name="thirdpartydir"/>
<attribute name="artifactsdir"/>
@@ -326,7 +370,7 @@
</unzip>
</sequential>
</macrodef>
-
+
<macrodef name="macro-deploy-jbossws-cxf51-sar">
<attribute name="thirdpartydir"/>
<attribute name="artifactsdir"/>
@@ -342,6 +386,21 @@
</sequential>
</macrodef>
+ <macrodef name="macro-deploy-jbossws-cxf52-sar">
+ <attribute name="thirdpartydir"/>
+ <attribute name="artifactsdir"/>
+ <attribute name="targetdir"/>
+ <attribute name="jbossid"/>
+ <sequential>
+ <mkdir dir="@{targetdir}"/>
+ <unzip dest="@{targetdir}/jbossws-management.war">
+ <fileset dir="@{thirdpartydir}">
+ <include name="**/jbossws-cxf-management.war"/>
+ </fileset>
+ </unzip>
+ </sequential>
+ </macrodef>
+
<macrodef name="macro-deploy-jbossws-cxf60-sar">
<attribute name="thirdpartydir"/>
<attribute name="artifactsdir"/>
@@ -356,11 +415,11 @@
</unzip>
</sequential>
</macrodef>
-
+
<!-- ================================================================== -->
<!-- Deploy Deployers -->
<!-- ================================================================== -->
-
+
<macrodef name="macro-deploy-jbossws-deployers50">
<attribute name="thirdpartydir"/>
<attribute name="artifactsdir"/>
@@ -392,7 +451,7 @@
</copy>
</sequential>
</macrodef>
-
+
<macrodef name="macro-deploy-jbossws-deployers51">
<attribute name="thirdpartydir"/>
<attribute name="artifactsdir"/>
@@ -414,6 +473,38 @@
<fileset dir="@{thirdpartydir}">
<include name="**/jbossws-common.jar"/>
<include name="**/jbossws-framework.jar"/>
+ <include name="**/jbossws-(a){jbossid}.jar"/>
+ </fileset>
+ </copy>
+ <copy todir="@{targetdir}/META-INF" flatten="true" overwrite="true">
+ <fileset dir="@{artifactsdir}/resources/jbossws-@{jbossid}">
+ <include name="**/jbossws-deployer-jboss-beans.xml"/>
+ </fileset>
+ </copy>
+ </sequential>
+ </macrodef>
+
+ <macrodef name="macro-deploy-jbossws-deployers52">
+ <attribute name="thirdpartydir"/>
+ <attribute name="artifactsdir"/>
+ <attribute name="targetdir"/>
+ <attribute name="jbossid"/>
+ <sequential>
+ <mkdir dir="@{targetdir}"/>
+ <copy todir="@{targetdir}" flatten="true" overwrite="true">
+ <fileset dir="@{thirdpartydir}">
+ <patternset refid="jbossws.service.lib.patternset"/>
+ </fileset>
+ </copy>
+ <copy todir="@{targetdir}">
+ <fileset dir="@{artifactsdir}/resources/jbossws-(a){jbossid}/jbossws.beans">
+ <include name="META-INF/**"/>
+ </fileset>
+ </copy>
+ <copy todir="@{targetdir}" flatten="true" overwrite="true">
+ <fileset dir="@{thirdpartydir}">
+ <include name="**/jbossws-common.jar"/>
+ <include name="**/jbossws-framework.jar"/>
<!-- [JBWS-2505] -->
<!-- START -->
<!--
@@ -480,7 +571,7 @@
<!-- ================================================================== -->
<!-- Deploy JBossWS -->
<!-- ================================================================== -->
-
+
<target name="deploy-jbossws-cxf50" depends="check-parameters">
<macro-deploy-jbossws-bin targetdir="${installserver}/../../bin" artifactsdir="${artifactsdir}"/>
<macro-deploy-jbossws-client50 targetdir="${installserver}/../../client" thirdpartydir="${thirdpartydir}" jbossid="${jbossid}"/>
@@ -491,7 +582,7 @@
<macro-deploy-jbossws-deployers50 targetdir="${installserver}/deployers/jbossws.deployer/" artifactsdir="${artifactsdir}" thirdpartydir="${thirdpartydir}" jbossid="${jbossid}"/>
<macro-deploy-juddi-sar targetdir="${installserver}/deploy/juddi-service.sar" thirdpartydir="${thirdpartydir}"/>
</target>
-
+
<target name="deploy-jbossws-cxf51" depends="check-parameters">
<macro-deploy-jbossws-bin targetdir="${installserver}/../../bin" artifactsdir="${artifactsdir}"/>
<macro-deploy-jbossws-client51 targetdir="${installserver}/../../client" thirdpartydir="${thirdpartydir}" jbossid="${jbossid}"/>
@@ -503,6 +594,17 @@
<macro-deploy-juddi-sar targetdir="${installserver}/deploy/juddi-service.sar" thirdpartydir="${thirdpartydir}"/>
</target>
+ <target name="deploy-jbossws-cxf52" depends="check-parameters">
+ <macro-deploy-jbossws-bin targetdir="${installserver}/../../bin" artifactsdir="${artifactsdir}"/>
+ <macro-deploy-jbossws-client52 targetdir="${installserver}/../../client" thirdpartydir="${thirdpartydir}" jbossid="${jbossid}"/>
+ <macro-deploy-jbossws-lib52 targetdir="${installserver}/../../lib" thirdpartydir="${thirdpartydir}"/>
+ <macro-deploy-jbossws-endorsed targetdir="${installserver}/../../lib/endorsed" thirdpartydir="${thirdpartydir}"/>
+ <macro-deploy-jbossws-server-lib52 targetdir="${installserver}/../../common/lib" thirdpartydir="${thirdpartydir}" jbossid="${jbossid}"/> <!-- Please note the "../../common" to use common server lib! -->
+ <macro-deploy-jbossws-cxf52-sar targetdir="${installserver}/deploy/jbossws.sar" artifactsdir="${artifactsdir}" thirdpartydir="${thirdpartydir}" jbossid="${jbossid}"/>
+ <macro-deploy-jbossws-deployers52 targetdir="${installserver}/deployers/jbossws.deployer/" artifactsdir="${artifactsdir}" thirdpartydir="${thirdpartydir}" jbossid="${jbossid}"/>
+ <macro-deploy-juddi-sar targetdir="${installserver}/deploy/juddi-service.sar" thirdpartydir="${thirdpartydir}"/>
+ </target>
+
<target name="deploy-jbossws-cxf60" depends="check-parameters">
<macro-deploy-jbossws-bin targetdir="${installserver}/../../bin" artifactsdir="${artifactsdir}"/>
<macro-deploy-jbossws-client60 targetdir="${installserver}/../../client" thirdpartydir="${thirdpartydir}" jbossid="${jbossid}"/>
@@ -513,29 +615,29 @@
<macro-deploy-jbossws-deployers60 targetdir="${installserver}/deployers/jbossws.deployer/" artifactsdir="${artifactsdir}" thirdpartydir="${thirdpartydir}" jbossid="${jbossid}"/>
<macro-deploy-juddi-sar targetdir="${installserver}/deploy/juddi-service.sar" thirdpartydir="${thirdpartydir}"/>
</target>
-
+
<target name="check-parameters">
<fail message="installserver must be specified" unless="installserver"/>
<fail message="artifactsdir must be specified" unless="artifactsdir"/>
<fail message="thirdpartydir must be specified" unless="thirdpartydir"/>
</target>
-
+
<!-- ================================================================== -->
<!-- Undeploy JBossWS -->
<!-- ================================================================== -->
-
+
<macrodef name="macro-undeploy-jbossws50">
<attribute name="defaultconf"/>
<attribute name="targetdir"/>
<sequential>
<loadfile property="jbossws.deploy.conf" srcfile="@{targetdir}/jbossws-deploy.conf" failonerror="false"/>
<loadfile property="jbossws.deploy.conf" srcfile="@{defaultconf}" failonerror="false"/>
-
+
<property name="jboss.server.home" value="@{targetdir}/../.."/>
<property name="jboss.home" value="${jboss.server.home}/../.."/>
<available property="jboss.undeploy.client" file="${jboss.home}/client"/>
<fail message="Cannot find ${jboss.home}/client" unless="jboss.undeploy.client"/>
-
+
<delete>
<fileset dir="${jboss.server.home}">
<include name="**/jbossws-jboss*.jar"/>
@@ -544,33 +646,69 @@
<include name="jbossws-jboss*.jar"/>
</fileset>
</delete>
-
+
<!-- delete content of last deployment -->
<delete>
<fileset dir="${jboss.home}" includes="${jbossws.deploy.conf}"/>
</delete>
-
+
<!-- delete jbossws.sar -->
<delete dir="@{targetdir}"/>
-
+
<!-- delete juddi-service.sar -->
<delete dir="@{targetdir}/../juddi-service.sar"/>
-
+
</sequential>
</macrodef>
-
+
<macrodef name="macro-undeploy-jbossws51">
<attribute name="defaultconf"/>
<attribute name="targetdir"/>
<sequential>
<loadfile property="jbossws.deploy.conf" srcfile="@{targetdir}/jbossws-deploy.conf" failonerror="false"/>
<loadfile property="jbossws.deploy.conf" srcfile="@{defaultconf}" failonerror="false"/>
-
+
<property name="jboss.server.home" value="@{targetdir}/../.."/>
<property name="jboss.home" value="${jboss.server.home}/../.."/>
<available property="jboss.undeploy.client" file="${jboss.home}/client"/>
<fail message="Cannot find ${jboss.home}/client" unless="jboss.undeploy.client"/>
-
+
+ <!-- delete stale container integration jars -->
+ <delete>
+ <fileset dir="${jboss.server.home}">
+ <include name="**/jbossws-jboss*.jar"/>
+ </fileset>
+ <fileset dir="${jboss.home}/client">
+ <include name="jbossws-jboss*.jar"/>
+ </fileset>
+ </delete>
+
+ <!-- delete content of last deployment -->
+ <delete>
+ <fileset dir="${jboss.home}" includes="${jbossws.deploy.conf}"/>
+ </delete>
+
+ <!-- delete jbossws.sar -->
+ <delete dir="@{targetdir}"/>
+
+ <!-- delete juddi-service.sar -->
+ <delete dir="@{targetdir}/../juddi-service.sar"/>
+
+ </sequential>
+ </macrodef>
+
+ <macrodef name="macro-undeploy-jbossws52">
+ <attribute name="defaultconf"/>
+ <attribute name="targetdir"/>
+ <sequential>
+ <loadfile property="jbossws.deploy.conf" srcfile="@{targetdir}/jbossws-deploy.conf" failonerror="false"/>
+ <loadfile property="jbossws.deploy.conf" srcfile="@{defaultconf}" failonerror="false"/>
+
+ <property name="jboss.server.home" value="@{targetdir}/../.."/>
+ <property name="jboss.home" value="${jboss.server.home}/../.."/>
+ <available property="jboss.undeploy.client" file="${jboss.home}/client"/>
+ <fail message="Cannot find ${jboss.home}/client" unless="jboss.undeploy.client"/>
+
<!-- [JBWS-2505] -->
<!-- START -->
<!-- delete stale container integration jars -->
@@ -585,18 +723,18 @@
</delete>
-->
<!-- END -->
-
+
<!-- delete content of last deployment -->
<delete>
<fileset dir="${jboss.home}" includes="${jbossws.deploy.conf}"/>
</delete>
-
+
<!-- delete jbossws.sar -->
<delete dir="@{targetdir}"/>
-
+
<!-- delete juddi-service.sar -->
<delete dir="@{targetdir}/../juddi-service.sar"/>
-
+
</sequential>
</macrodef>
@@ -606,12 +744,12 @@
<sequential>
<loadfile property="jbossws.deploy.conf" srcfile="@{targetdir}/jbossws-deploy.conf" failonerror="false"/>
<loadfile property="jbossws.deploy.conf" srcfile="@{defaultconf}" failonerror="false"/>
-
+
<property name="jboss.server.home" value="@{targetdir}/../.."/>
<property name="jboss.home" value="${jboss.server.home}/../.."/>
<available property="jboss.undeploy.client" file="${jboss.home}/client"/>
<fail message="Cannot find ${jboss.home}/client" unless="jboss.undeploy.client"/>
-
+
<!-- [JBWS-2505] -->
<!-- START -->
<!-- delete stale container integration jars -->
@@ -626,19 +764,19 @@
</delete>
-->
<!-- END -->
-
+
<!-- delete content of last deployment -->
<delete>
<fileset dir="${jboss.home}" includes="${jbossws.deploy.conf}"/>
</delete>
-
+
<!-- delete jbossws.sar -->
<delete dir="@{targetdir}"/>
-
+
<!-- delete juddi-service.sar -->
<delete dir="@{targetdir}/../juddi-service.sar"/>
-
+
</sequential>
</macrodef>
-
+
</project>
Modified: stack/cxf/trunk/modules/server/pom.xml
===================================================================
--- stack/cxf/trunk/modules/server/pom.xml 2009-05-28 09:30:10 UTC (rev 10135)
+++ stack/cxf/trunk/modules/server/pom.xml 2009-05-28 09:52:59 UTC (rev 10136)
@@ -206,16 +206,24 @@
<type>zip</type>
<outputDirectory>${project.build.directory}/resources/jbossws-jboss501</outputDirectory>
</artifactItem>
+ <artifactItem>
+ <groupId>org.jboss.ws</groupId>
+ <artifactId>jbossws-jboss510</artifactId>
+ <version>${jbossws.jboss510.version}</version>
+ <classifier>resources</classifier>
+ <type>zip</type>
+ <outputDirectory>${project.build.directory}/resources/jbossws-jboss510</outputDirectory>
+ </artifactItem>
<!-- JBWS-2505 -->
<!-- START -->
<!--
<artifactItem>
<groupId>org.jboss.ws</groupId>
- <artifactId>jbossws-jboss510x</artifactId>
- <version>${jbossws.jboss510.version}</version>
+ <artifactId>jbossws-jboss520x</artifactId>
+ <version>${jbossws.jboss520.version}</version>
<classifier>resources</classifier>
<type>zip</type>
- <outputDirectory>${project.build.directory}/resources/jbossws-jboss510</outputDirectory>
+ <outputDirectory>${project.build.directory}/resources/jbossws-jboss520</outputDirectory>
</artifactItem>
<artifactItem>
<groupId>org.jboss.ws</groupId>
Modified: stack/cxf/trunk/modules/server/src/main/scripts/antrun-beans-config.xml
===================================================================
--- stack/cxf/trunk/modules/server/src/main/scripts/antrun-beans-config.xml 2009-05-28 09:30:10 UTC (rev 10135)
+++ stack/cxf/trunk/modules/server/src/main/scripts/antrun-beans-config.xml 2009-05-28 09:52:59 UTC (rev 10136)
@@ -57,6 +57,16 @@
</deployment> </footer>
</concat>
+ <!-- Concat jbossws-jboss520/jbossws.beans -->
+ <echo message="Concat jbossws-jboss520/jbossws.beans"/>
+ <concat destfile="${project.build.resources.directory}/jbossws-jboss520/jbossws.beans/META-INF/jboss-beans.xml">
+ <header trimleading="yes">
+ <deployment xmlns="urn:jboss:bean-deployer:2.0"> </header>
+ <fileset file="${project.resources.directory}/jbossws-cxf-config.xml"/>
+ <footer trimleading="yes">
+ </deployment> </footer>
+ </concat>
+
<!-- Concat jbossws-jboss600/jbossws.beans -->
<echo message="Concat jbossws-jboss600/jbossws.beans"/>
<concat destfile="${project.build.resources.directory}/jbossws-jboss600/jbossws.beans/META-INF/jboss-beans.xml">
Modified: stack/cxf/trunk/modules/testsuite/pom.xml
===================================================================
--- stack/cxf/trunk/modules/testsuite/pom.xml 2009-05-28 09:30:10 UTC (rev 10135)
+++ stack/cxf/trunk/modules/testsuite/pom.xml 2009-05-28 09:52:59 UTC (rev 10136)
@@ -398,16 +398,61 @@
<profile>
<id>jboss510</id>
<properties>
- <jboss.version>5.1.0-SNAPSHOT</jboss.version>
+ <jboss.version>5.1.0.GA</jboss.version>
<jbossws.integration.target>jboss510</jbossws.integration.target>
</properties>
<dependencies>
+ <dependency>
+ <groupId>org.jboss.ws</groupId>
+ <artifactId>jbossws-jboss510</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.jbossas</groupId>
+ <artifactId>jboss-as-ejb3</artifactId>
+ <version>${jboss.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.jbossas</groupId>
+ <artifactId>jboss-as-security</artifactId>
+ <version>${jboss.version}</version>
+ </dependency>
+ </dependencies>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <!-- http://jira.codehaus.org/browse/MCOMPILER-72 -->
+ <testExcludeFile>../test-excludes-jboss510.txt</testExcludeFile>
+ </configuration>
+ </plugin>
+ <plugin>
+ <artifactId>maven-surefire-plugin</artifactId>
+ <configuration>
+ <argLine>${surefire.jvm.args} -Djava.endorsed.dirs=${jboss510.home}/lib/endorsed</argLine>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+
+ <!--
+ Name: jboss520
+ Descr: JBoss-5.2.0 specific options
+ -->
+ <profile>
+ <id>jboss520</id>
+ <properties>
+ <jboss.version>5.2.0-SNAPSHOT</jboss.version>
+ <jbossws.integration.target>jboss520</jbossws.integration.target>
+ </properties>
+ <dependencies>
<!-- [JBWS-2505] -->
<!-- START -->
<!--
<dependency>
<groupId>org.jboss.ws</groupId>
- <artifactId>jbossws-jboss510x</artifactId>
+ <artifactId>jbossws-jboss520x</artifactId>
</dependency>
-->
<dependency>
@@ -433,13 +478,13 @@
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<!-- http://jira.codehaus.org/browse/MCOMPILER-72 -->
- <testExcludeFile>../test-excludes-jboss510.txt</testExcludeFile>
+ <testExcludeFile>../test-excludes-jboss520.txt</testExcludeFile>
</configuration>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
- <argLine>${surefire.jvm.args} -Djava.endorsed.dirs=${jboss510.home}/lib/endorsed</argLine>
+ <argLine>${surefire.jvm.args} -Djava.endorsed.dirs=${jboss520.home}/lib/endorsed</argLine>
</configuration>
</plugin>
</plugins>
Added: stack/cxf/trunk/modules/testsuite/test-excludes-jboss520.txt
===================================================================
--- stack/cxf/trunk/modules/testsuite/test-excludes-jboss520.txt (rev 0)
+++ stack/cxf/trunk/modules/testsuite/test-excludes-jboss520.txt 2009-05-28 09:52:59 UTC (rev 10136)
@@ -0,0 +1,61 @@
+# UsernameTestCase requires trustore in jboss-web tomcat configuration
+org/jboss/test/ws/jaxws/samples/wssePolicy/UsernameTestCase.*
+
+# [CXF-1252] Provider PAYLOAD endpoint expects SOAP Envelope
+org/jboss/test/ws/jaxws/samples/provider/ProviderJAXBTestCase.*
+org/jboss/test/ws/jaxws/samples/provider/ProviderPayloadTestCase.*
+
+# [CXF-1510] Cannot handle anonymous bare requests
+org/jboss/test/ws/jaxws/anonymous/**
+
+# [CXF-1511] WrappedMessageContext does not implement SOAPMessageContext
+org/jboss/test/ws/jaxws/binding/**
+
+# [CXF-1514][JBWS-2247] Generated WSDL does not take 'transport-guarantee' in web.xml into account
+org/jboss/test/ws/jaxws/jbws1190/**
+
+# [CXF-1516] Type inheritance with document/literal/bare
+org/jboss/test/ws/jaxws/jbws1702/**
+
+# [CXF-1517] HTTP bindings for Provider
+org/jboss/test/ws/jaxws/jbws1807/**
+
+# [CXF-1519] Explicitly set the namespace of a WebFault
+org/jboss/test/ws/jaxws/jbws1904/**
+
+# [CXF-1521] Exception handling with @WebFault annotation
+org/jboss/test/ws/jaxws/webfault/**
+
+# [CXF-2006] RespectBinding feature and not understood required extensibility elements
+org/jboss/test/ws/jaxws/jbws2449/**
+
+# [CXF-2185] Handler protocol match fails when multiple protocols are specified
+org/jboss/test/ws/jaxws/handlerscope/**
+
+# [CXF-2190] Invalid message sent using Dispatch
+org/jboss/test/ws/jaxws/samples/asynchronous/AsynchronousDispatchTestCase.*
+
+# [EJBTHREE-1152] service-ref in ejb-jar.xml is ignored
+org/jboss/test/ws/jaxws/samples/serviceref/ServiceRefEJBTestCase.*
+
+# [JBWS-1655] Add support for endpoint address rewriting
+org/jboss/test/ws/jaxws/jbws2150/**
+
+# [JBWS-2596] Resource injection in jaxws endpoints and handlers
+org/jboss/test/ws/jaxws/jbws2074/**
+org/jboss/test/ws/jaxws/jbws2634/**
+
+# [JBWS-2561] XOP request not properly inlined
+org/jboss/test/ws/jaxws/samples/xop/doclit/XOPHandlerTestCase.*
+
+# [JBWS-2571] Mode.INOUT parameter not generated
+org/jboss/test/ws/jaxws/holder/**
+
+# [JBWS-2227] Investigate why multiple virtual hosts test fails on CXF
+org/jboss/test/ws/jaxws/jbws1178/**
+
+# [JBWS-2480] Soap attachments are dropped on server response
+org/jboss/test/ws/jaxws/jbws1283/**
+
+# [JBWS-2397] Fix jbws1797 testcase
+org/jboss/test/ws/jaxws/jbws1797/**
Property changes on: stack/cxf/trunk/modules/testsuite/test-excludes-jboss520.txt
___________________________________________________________________
Name: svn:executable
+ *
Modified: stack/cxf/trunk/pom.xml
===================================================================
--- stack/cxf/trunk/pom.xml 2009-05-28 09:30:10 UTC (rev 10135)
+++ stack/cxf/trunk/pom.xml 2009-05-28 09:52:59 UTC (rev 10136)
@@ -48,11 +48,12 @@
<jbossws.spi.version>1.2.0-SNAPSHOT</jbossws.spi.version>
<jbossws.jboss500.version>3.2.0-SNAPSHOT</jbossws.jboss500.version>
<jbossws.jboss501.version>3.2.0-SNAPSHOT</jbossws.jboss501.version>
+ <jbossws.jboss510.version>3.2.0-SNAPSHOT</jbossws.jboss510.version>
<!-- JBWS-2505 -->
<!-- START -->
<!--
- <jbossws.jboss510.version>3.1.0-SNAPSHOT</jbossws.jboss510.version>
- <jbossws.jboss600.version>3.1.0-SNAPSHOT</jbossws.jboss600.version>
+ <jbossws.jboss520.version>3.2.0-SNAPSHOT</jbossws.jboss520.version>
+ <jbossws.jboss600.version>3.2.0-SNAPSHOT</jbossws.jboss600.version>
-->
<!-- END -->
<cxf.version>2.2.2-SNAPSHOT</cxf.version>
@@ -128,18 +129,30 @@
<classifier>resources</classifier>
<type>zip</type>
</dependency>
+ <dependency>
+ <groupId>org.jboss.ws</groupId>
+ <artifactId>jbossws-jboss510</artifactId>
+ <version>${jbossws.jboss510.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.ws</groupId>
+ <artifactId>jbossws-jboss510</artifactId>
+ <version>${jbossws.jboss510.version}</version>
+ <classifier>resources</classifier>
+ <type>zip</type>
+ </dependency>
<!-- JBWS-2505 -->
<!-- START -->
<!--
<dependency>
<groupId>org.jboss.ws</groupId>
- <artifactId>jbossws-jboss510x</artifactId>
- <version>${jbossws.jboss510.version}</version>
+ <artifactId>jbossws-jboss520x</artifactId>
+ <version>${jbossws.jboss520.version}</version>
</dependency>
<dependency>
<groupId>org.jboss.ws</groupId>
- <artifactId>jbossws-jboss510x</artifactId>
- <version>${jbossws.jboss510.version}</version>
+ <artifactId>jbossws-jboss520x</artifactId>
+ <version>${jbossws.jboss520.version}</version>
<classifier>resources</classifier>
<type>zip</type>
</dependency>
@@ -559,6 +572,18 @@
</profile>
<!--
+ Name: jboss520
+ Descr: JBoss-5.2.0 specific options
+ -->
+ <profile>
+ <id>jboss520</id>
+ <properties>
+ <jbossws.integration.target>jboss520</jbossws.integration.target>
+ <jboss.home>${jboss520.home}</jboss.home>
+ </properties>
+ </profile>
+
+ <!--
Name: jboss600
Descr: JBoss-6.0.0 specific options
-->
Modified: stack/cxf/trunk/profiles.xml.example
===================================================================
--- stack/cxf/trunk/profiles.xml.example 2009-05-28 09:30:10 UTC (rev 10135)
+++ stack/cxf/trunk/profiles.xml.example 2009-05-28 09:52:59 UTC (rev 10136)
@@ -1,7 +1,7 @@
<profilesXml 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/xsd/profiles-1.0.0.xsd">
<profiles>
-
+
<!-- This profile can also be defined in ~/.m2/settings.xml -->
<profile>
<id>jboss-home-profile</id>
@@ -12,11 +12,12 @@
</activation>
<properties>
<jboss500.home>/home/opalka/svn/jbossas/tags/JBoss_5_0_0_GA/build/output/jboss-5.0.0.GA</jboss500.home>
- <jboss501.home>/home/opalka/svn/jbossas/branches/Branch_5_0/build/output/jboss-5.0.1.GA</jboss501.home>
- <jboss510.home>/home/opalka/svn/jbossas/branches/Branch_5_x/build/output/jboss-5.1.0.GA</jboss510.home>
+ <jboss501.home>/home/opalka/svn/jbossas/tags/JBoss_5_0_1_GA/build/output/jboss-5.0.1.GA</jboss501.home>
+ <jboss510.home>/home/opalka/svn/jbossas/tags/JBoss_5_1_0_GA/build/output/jboss-5.1.0.GA</jboss510.home>
+ <jboss520.home>/home/opalka/svn/jbossas/branches/Branch_5_x/build/output/jboss-5.2.0.Beta</jboss520.home>
<jboss600.home>/home/opalka/svn/jbossas/trunk/build/output/jboss-6.0.0.Alpha1</jboss600.home>
</properties>
</profile>
-
+
</profiles>
</profilesXml>
Modified: stack/cxf/trunk/src/main/distro/Install.txt
===================================================================
--- stack/cxf/trunk/src/main/distro/Install.txt 2009-05-28 09:30:10 UTC (rev 10135)
+++ stack/cxf/trunk/src/main/distro/Install.txt 2009-05-28 09:52:59 UTC (rev 10136)
@@ -13,9 +13,11 @@
2.) Modify the target container location in ant.properties
3.) Execute one of the following
- ant deploy-jboss50x
- ant deploy-jboss51x
- ant deploy-jboss60x
+ ant deploy-jboss500
+ ant deploy-jboss501
+ ant deploy-jboss510
+ ant deploy-jboss520
+ ant deploy-jboss600
4.) Execute the samples to verify your installation
Modified: stack/cxf/trunk/src/main/distro/ant.properties.example
===================================================================
--- stack/cxf/trunk/src/main/distro/ant.properties.example 2009-05-28 09:30:10 UTC (rev 10135)
+++ stack/cxf/trunk/src/main/distro/ant.properties.example 2009-05-28 09:52:59 UTC (rev 10136)
@@ -6,10 +6,11 @@
jboss500.home=(a)jboss500.home@
jboss501.home=(a)jboss501.home@
jboss510.home=(a)jboss510.home@
+jboss520.home=(a)jboss520.home@
jboss600.home=(a)jboss600.home@
-# The JBoss server under test. This can be [jboss500|jboss501|jboss510|jboss600]
-jbossws.integration.target=jboss500
+# The JBoss server under test. This can be [jboss500|jboss501|jboss510|jboss520|jboss600]
+jbossws.integration.target=jboss510
# The JBoss settings
jboss.server.instance=default
Modified: stack/cxf/trunk/src/main/distro/build-deploy.xml
===================================================================
--- stack/cxf/trunk/src/main/distro/build-deploy.xml 2009-05-28 09:30:10 UTC (rev 10135)
+++ stack/cxf/trunk/src/main/distro/build-deploy.xml 2009-05-28 09:52:59 UTC (rev 10136)
@@ -108,6 +108,43 @@
</target>
<!-- ================================================================== -->
+ <!-- Prepare Deployment Structure JBoss-5.2.x -->
+ <!-- ================================================================== -->
+
+ <target name="deploy-structure-jboss52" depends="prepare-deploy">
+ <delete dir="${deploy.structure}"/>
+ <antcall target="deploy-jbossws-cxf52" inheritall="false">
+ <param name="installserver" value="${deploy.structure}/server/${jboss.server.instance}"/>
+ <param name="jbossid" value="${jbossws.integration.target}"/>
+ <param name="artifactsdir" value="${deploy.artifacts.dir}"/>
+ <param name="thirdpartydir" value="${deploy.artifacts.dir}"/>
+ </antcall>
+ <macro-create-deploy-conf deploystructure="${deploy.structure}"/>
+ </target>
+
+ <!-- ================================================================== -->
+ <!-- Deployment JBoss520 -->
+ <!-- ================================================================== -->
+
+ <target name="target-jboss520">
+ <property name="jbossws.integration.target" value="jboss520"/>
+ <echo message="jbossws.integration.target=${jbossws.integration.target}" file="${target.properties.file}"/>
+ </target>
+
+ <target name="deploy-jboss520" depends="undeploy-jboss520,deploy-structure-jboss52" description="Deploy jbossws to jboss520">
+ <fail message="Not available: ${jboss520.available.file}" unless="jboss520.available"/>
+ <copy todir="${jboss520.home}" overwrite="true">
+ <fileset dir="${deploy.structure}"/>
+ </copy>
+ <chmod dir="${jboss520.home}/bin" perm="+x" includes="*.sh"/>
+ </target>
+
+ <target name="undeploy-jboss520" depends="target-jboss520,init" description="Remove jbossws from jboss520">
+ <fail message="Not available: ${jboss520.available.file}" unless="jboss520.available"/>
+ <macro-undeploy-jbossws52 targetdir="${jboss520.server.deploy}/jbossws.sar" defaultconf="${jbossws.default.deploy.conf}"/>
+ </target>
+
+ <!-- ================================================================== -->
<!-- Prepare Deployment Structure JBoss-6.0.x -->
<!-- ================================================================== -->
Modified: stack/cxf/trunk/src/main/distro/build-setup.xml
===================================================================
--- stack/cxf/trunk/src/main/distro/build-setup.xml 2009-05-28 09:30:10 UTC (rev 10135)
+++ stack/cxf/trunk/src/main/distro/build-setup.xml 2009-05-28 09:52:59 UTC (rev 10136)
@@ -42,6 +42,13 @@
<property name="jboss510.server.deploy" value="${jboss510.server}/deploy"/>
<property name="jboss510.server.deployers" value="${jboss510.server}/deployers"/>
+ <property name="jboss520.lib" value="${jboss520.home}/lib"/>
+ <property name="jboss520.client" value="${jboss520.home}/client"/>
+ <property name="jboss520.server" value="${jboss520.home}/server/${jboss.server.instance}"/>
+ <property name="jboss520.server.lib" value="${jboss520.home}/common/lib"/>
+ <property name="jboss520.server.deploy" value="${jboss520.server}/deploy"/>
+ <property name="jboss520.server.deployers" value="${jboss520.server}/deployers"/>
+
<property name="jboss600.lib" value="${jboss600.home}/lib"/>
<property name="jboss600.client" value="${jboss600.home}/client"/>
<property name="jboss600.server" value="${jboss600.home}/server/${jboss.server.instance}"/>
@@ -52,11 +59,13 @@
<property name="jboss500.available.file" value="${jboss500.client}/jboss-client.jar"/>
<property name="jboss501.available.file" value="${jboss501.client}/jboss-client.jar"/>
<property name="jboss510.available.file" value="${jboss510.client}/jboss-client.jar"/>
+ <property name="jboss520.available.file" value="${jboss520.client}/jboss-client.jar"/>
<property name="jboss600.available.file" value="${jboss600.client}/jboss-client.jar"/>
<available property="jboss500.available" file="${jboss500.available.file}"/>
<available property="jboss501.available" file="${jboss501.available.file}"/>
<available property="jboss510.available" file="${jboss510.available.file}"/>
+ <available property="jboss520.available" file="${jboss520.available.file}"/>
<available property="jboss600.available" file="${jboss600.available.file}"/>
<tstamp>
Modified: stack/cxf/trunk/src/main/distro/build.xml
===================================================================
--- stack/cxf/trunk/src/main/distro/build.xml 2009-05-28 09:30:10 UTC (rev 10135)
+++ stack/cxf/trunk/src/main/distro/build.xml 2009-05-28 09:52:59 UTC (rev 10136)
@@ -56,6 +56,11 @@
<equals arg1="${jbossws.integration.target}" arg2="jboss510"/>
</or>
</condition>
+ <condition property="jbossws.integration.jboss52" value="true">
+ <or>
+ <equals arg1="${jbossws.integration.target}" arg2="jboss520"/>
+ </or>
+ </condition>
<condition property="jbossws.integration.jboss60" value="true">
<or>
<equals arg1="${jbossws.integration.target}" arg2="jboss600"/>
Modified: stack/cxf/trunk/src/main/scripts/assembly-deploy-artifacts.xml
===================================================================
--- stack/cxf/trunk/src/main/scripts/assembly-deploy-artifacts.xml 2009-05-28 09:30:10 UTC (rev 10135)
+++ stack/cxf/trunk/src/main/scripts/assembly-deploy-artifacts.xml 2009-05-28 09:52:59 UTC (rev 10136)
@@ -108,17 +108,27 @@
<include>org.jboss.ws:jbossws-jboss501:jar</include>
</includes>
</dependencySet>
+ <dependencySet>
+ <outputDirectory>lib</outputDirectory>
+ <outputFileNameMapping>jbossws-jboss510.${module.extension}</outputFileNameMapping>
+ <useStrictFiltering>true</useStrictFiltering>
+ <scope>provided</scope>
+ <unpack>false</unpack>
+ <includes>
+ <include>org.jboss.ws:jbossws-jboss510:jar</include>
+ </includes>
+ </dependencySet>
<!-- [JBWS-2505] -->
<!-- START -->
<!--
<dependencySet>
<outputDirectory>lib</outputDirectory>
- <outputFileNameMapping>jbossws-jboss510.${module.extension}</outputFileNameMapping>
+ <outputFileNameMapping>jbossws-jboss520.${module.extension}</outputFileNameMapping>
<useStrictFiltering>true</useStrictFiltering>
<scope>provided</scope>
<unpack>false</unpack>
<includes>
- <include>org.jboss.ws:jbossws-jboss510x:jar</include>
+ <include>org.jboss.ws:jbossws-jboss520x:jar</include>
</includes>
</dependencySet>
<dependencySet>
15 years, 7 months
JBossWS SVN: r10135 - stack/cxf/branches/jbossws-cxf-3.1.2/modules/testsuite.
by jbossws-commits@lists.jboss.org
Author: alessio.soldano(a)jboss.com
Date: 2009-05-28 05:30:10 -0400 (Thu, 28 May 2009)
New Revision: 10135
Modified:
stack/cxf/branches/jbossws-cxf-3.1.2/modules/testsuite/test-excludes-jboss500.txt
stack/cxf/branches/jbossws-cxf-3.1.2/modules/testsuite/test-excludes-jboss501.txt
stack/cxf/branches/jbossws-cxf-3.1.2/modules/testsuite/test-excludes-jboss510.txt
stack/cxf/branches/jbossws-cxf-3.1.2/modules/testsuite/test-excludes-jboss600.txt
Log:
svn merge -r 10129:10130 https://svn.jboss.org/repos/jbossws/stack/cxf/trunk
Modified: stack/cxf/branches/jbossws-cxf-3.1.2/modules/testsuite/test-excludes-jboss500.txt
===================================================================
--- stack/cxf/branches/jbossws-cxf-3.1.2/modules/testsuite/test-excludes-jboss500.txt 2009-05-28 09:28:55 UTC (rev 10134)
+++ stack/cxf/branches/jbossws-cxf-3.1.2/modules/testsuite/test-excludes-jboss500.txt 2009-05-28 09:30:10 UTC (rev 10135)
@@ -29,12 +29,6 @@
# [CXF-2006] RespectBinding feature and not understood required extensibility elements
org/jboss/test/ws/jaxws/jbws2449/**
-# [CXF-2185] Handler protocol match fails when multiple protocols are specified
-org/jboss/test/ws/jaxws/handlerscope/**
-
-# [CXF-2190] Invalid message sent using Dispatch
-org/jboss/test/ws/jaxws/samples/asynchronous/AsynchronousDispatchTestCase.*
-
# [EJBTHREE-1152] service-ref in ejb-jar.xml is ignored
org/jboss/test/ws/jaxws/samples/serviceref/ServiceRefEJBTestCase.*
Modified: stack/cxf/branches/jbossws-cxf-3.1.2/modules/testsuite/test-excludes-jboss501.txt
===================================================================
--- stack/cxf/branches/jbossws-cxf-3.1.2/modules/testsuite/test-excludes-jboss501.txt 2009-05-28 09:28:55 UTC (rev 10134)
+++ stack/cxf/branches/jbossws-cxf-3.1.2/modules/testsuite/test-excludes-jboss501.txt 2009-05-28 09:30:10 UTC (rev 10135)
@@ -29,12 +29,6 @@
# [CXF-2006] RespectBinding feature and not understood required extensibility elements
org/jboss/test/ws/jaxws/jbws2449/**
-# [CXF-2185] Handler protocol match fails when multiple protocols are specified
-org/jboss/test/ws/jaxws/handlerscope/**
-
-# [CXF-2190] Invalid message sent using Dispatch
-org/jboss/test/ws/jaxws/samples/asynchronous/AsynchronousDispatchTestCase.*
-
# [EJBTHREE-1152] service-ref in ejb-jar.xml is ignored
org/jboss/test/ws/jaxws/samples/serviceref/ServiceRefEJBTestCase.*
Modified: stack/cxf/branches/jbossws-cxf-3.1.2/modules/testsuite/test-excludes-jboss510.txt
===================================================================
--- stack/cxf/branches/jbossws-cxf-3.1.2/modules/testsuite/test-excludes-jboss510.txt 2009-05-28 09:28:55 UTC (rev 10134)
+++ stack/cxf/branches/jbossws-cxf-3.1.2/modules/testsuite/test-excludes-jboss510.txt 2009-05-28 09:30:10 UTC (rev 10135)
@@ -29,12 +29,6 @@
# [CXF-2006] RespectBinding feature and not understood required extensibility elements
org/jboss/test/ws/jaxws/jbws2449/**
-# [CXF-2185] Handler protocol match fails when multiple protocols are specified
-org/jboss/test/ws/jaxws/handlerscope/**
-
-# [CXF-2190] Invalid message sent using Dispatch
-org/jboss/test/ws/jaxws/samples/asynchronous/AsynchronousDispatchTestCase.*
-
# [EJBTHREE-1152] service-ref in ejb-jar.xml is ignored
org/jboss/test/ws/jaxws/samples/serviceref/ServiceRefEJBTestCase.*
Modified: stack/cxf/branches/jbossws-cxf-3.1.2/modules/testsuite/test-excludes-jboss600.txt
===================================================================
--- stack/cxf/branches/jbossws-cxf-3.1.2/modules/testsuite/test-excludes-jboss600.txt 2009-05-28 09:28:55 UTC (rev 10134)
+++ stack/cxf/branches/jbossws-cxf-3.1.2/modules/testsuite/test-excludes-jboss600.txt 2009-05-28 09:30:10 UTC (rev 10135)
@@ -29,12 +29,6 @@
# [CXF-2006] RespectBinding feature and not understood required extensibility elements
org/jboss/test/ws/jaxws/jbws2449/**
-# [CXF-2185] Handler protocol match fails when multiple protocols are specified
-org/jboss/test/ws/jaxws/handlerscope/**
-
-# [CXF-2190] Invalid message sent using Dispatch
-org/jboss/test/ws/jaxws/samples/asynchronous/AsynchronousDispatchTestCase.*
-
# [EJBTHREE-1152] service-ref in ejb-jar.xml is ignored
org/jboss/test/ws/jaxws/samples/serviceref/ServiceRefEJBTestCase.*
15 years, 7 months
JBossWS SVN: r10134 - framework/branches/jbossws-framework-3.1.2/testsuite/test/java/org/jboss/test/ws/jaxws/samples/asynchronous.
by jbossws-commits@lists.jboss.org
Author: alessio.soldano(a)jboss.com
Date: 2009-05-28 05:28:55 -0400 (Thu, 28 May 2009)
New Revision: 10134
Modified:
framework/branches/jbossws-framework-3.1.2/testsuite/test/java/org/jboss/test/ws/jaxws/samples/asynchronous/AsynchronousDispatchTestCase.java
Log:
[CXF-2190] svn merge -r 10130:10131 https://svn.jboss.org/repos/jbossws/framework/trunk
Modified: framework/branches/jbossws-framework-3.1.2/testsuite/test/java/org/jboss/test/ws/jaxws/samples/asynchronous/AsynchronousDispatchTestCase.java
===================================================================
--- framework/branches/jbossws-framework-3.1.2/testsuite/test/java/org/jboss/test/ws/jaxws/samples/asynchronous/AsynchronousDispatchTestCase.java 2009-05-28 09:28:34 UTC (rev 10133)
+++ framework/branches/jbossws-framework-3.1.2/testsuite/test/java/org/jboss/test/ws/jaxws/samples/asynchronous/AsynchronousDispatchTestCase.java 2009-05-28 09:28:55 UTC (rev 10134)
@@ -39,10 +39,9 @@
import junit.framework.Test;
+import org.jboss.wsf.common.DOMUtils;
import org.jboss.wsf.test.JBossWSTest;
import org.jboss.wsf.test.JBossWSTestSetup;
-import org.jboss.wsf.common.DOMUtils;
-import org.jboss.wsf.common.DOMWriter;
import org.w3c.dom.Element;
/**
@@ -55,7 +54,6 @@
{
private String targetNS = "http://org.jboss.ws/jaxws/asynchronous";
private String reqPayload = "<ns2:echo xmlns:ns2='" + targetNS + "'><String_1>Hello</String_1></ns2:echo>";
- private String expPayload = "<ns2:echoResponse xmlns:ns2='" + targetNS + "'><result>Hello</result></ns2:echoResponse>";
private Exception handlerException;
private boolean asyncHandlerCalled;
@@ -110,8 +108,9 @@
private void verifyResponse(Source result) throws IOException
{
- Element resElement = DOMUtils.sourceToElement(result);
- String resStr = DOMWriter.printNode(resElement, false);
- assertTrue("Unexpected response: " + resStr, resStr.contains("<result>Hello</result>"));
+ Element docElement = DOMUtils.sourceToElement(result);
+ Element retElement = DOMUtils.getFirstChildElement(docElement);
+ assertEquals("result", retElement.getNodeName());
+ assertEquals("Hello", retElement.getTextContent());
}
}
15 years, 7 months
JBossWS SVN: r10133 - container/jboss50/branches/jbossws-jboss510.
by jbossws-commits@lists.jboss.org
Author: richard.opalka(a)jboss.com
Date: 2009-05-28 05:28:34 -0400 (Thu, 28 May 2009)
New Revision: 10133
Modified:
container/jboss50/branches/jbossws-jboss510/
Log:
setting svn:ingore
Property changes on: container/jboss50/branches/jbossws-jboss510
___________________________________________________________________
Name: svn:ingore
+ target
15 years, 7 months
JBossWS SVN: r10132 - in container/jboss50/branches: jbossws-jboss510 and 21 other directories.
by jbossws-commits@lists.jboss.org
Author: richard.opalka(a)jboss.com
Date: 2009-05-28 05:25:31 -0400 (Thu, 28 May 2009)
New Revision: 10132
Added:
container/jboss50/branches/jbossws-jboss510/
container/jboss50/branches/jbossws-jboss510/.classpath
container/jboss50/branches/jbossws-jboss510/.project
container/jboss50/branches/jbossws-jboss510/pom.xml
container/jboss50/branches/jbossws-jboss510/src/
container/jboss50/branches/jbossws-jboss510/src/main/
container/jboss50/branches/jbossws-jboss510/src/main/java/
container/jboss50/branches/jbossws-jboss510/src/main/java/org/
container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/
container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/
container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/
container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/
container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/
container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/AbstractDeployerHook.java
container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/AbstractDeployerHookEJB.java
container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/AbstractDeployerHookJSE.java
container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/AbstractWebServiceDeployer.java
container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/ArchiveDeployerHook.java
container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/DeployerHook.java
container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/DeployerHookPostJSE.java
container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/JAXRPCDeployerHookEJB21.java
container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/JAXRPCDeployerHookPostJSE.java
container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/JAXRPCDeployerHookPreJSE.java
container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/JAXWSDeployerHookEJB3.java
container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/JAXWSDeployerHookPostJSE.java
container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/JAXWSDeployerHookPreJSE.java
container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/ServerConfigImpl.java
container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/WSVirtualFileFilter.java
container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/WebServiceDeployerEJB.java
container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/WebServiceDeployerPostJSE.java
container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/WebServiceDeployerPreJSE.java
container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/WebServiceMainDeployer.java
container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployment/
container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployment/RuntimeLoaderDeploymentAspect.java
container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployment/metadata/
container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployment/metadata/ContainerMetaDataAdapter.java
container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployment/metadata/ContainerMetaDataDeploymentAspect.java
container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployment/metadata/EJBArchiveMetaDataAdapterEJB21.java
container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployment/metadata/EJBArchiveMetaDataAdapterEJB3.java
container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployment/metadata/EJBBeanReferenceResolver.java
container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployment/metadata/InjectionMetaDataDeploymentAspect.java
container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployment/metadata/JSEArchiveMetaDataAdapter.java
container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployment/tomcat/
container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployment/tomcat/ModifyWebMetaDataDeploymentAspect.java
container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployment/tomcat/RewriteResults.java
container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployment/tomcat/SecurityHandler.java
container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployment/tomcat/SecurityHandlerEJB21.java
container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployment/tomcat/SecurityHandlerEJB3.java
container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployment/tomcat/WebMetaDataModifier.java
container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployment/tomcat/WebMetaDataModifierImpl.java
container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/invocation/
container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/invocation/AbstractInvocationHandler.java
container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/invocation/InvocationHandlerEJB21.java
container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/invocation/InvocationHandlerEJB3.java
container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/invocation/InvocationHandlerFactoryImpl.java
container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/invocation/InvocationHandlerJAXRPC.java
container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/invocation/InvocationHandlerJAXWS.java
container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/invocation/InvocationHandlerJSE.java
container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/invocation/InvocationHandlerMDB21.java
container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/invocation/InvocationHandlerMDB3.java
container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/invocation/SecurityAdapterFactoryImpl.java
container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/invocation/SecurityAdaptorImpl.java
container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/invocation/ServiceEndpointInterceptor.java
container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/transport/
container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/transport/DeploymentAspectHttpServer.java
container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/transport/DynamicEndpointDeploymentAspect.java
container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/transport/WebAppDeploymentAspect.java
container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/transport/WebAppGeneratorDeploymentAspect.java
container/jboss50/branches/jbossws-jboss510/src/main/resources/
container/jboss50/branches/jbossws-jboss510/src/main/resources/jbossws-jboss50.deployer/
container/jboss50/branches/jbossws-jboss510/src/main/resources/jbossws-jboss50.deployer/META-INF/
container/jboss50/branches/jbossws-jboss510/src/main/resources/jbossws-jboss50.deployer/META-INF/jbossws-deployer-jboss-beans.xml
container/jboss50/branches/jbossws-jboss510/src/main/resources/jbossws-jboss50.jar/
container/jboss50/branches/jbossws-jboss510/src/main/resources/jbossws-jboss50.jar/META-INF/
container/jboss50/branches/jbossws-jboss510/src/main/resources/jbossws-jboss50.jar/META-INF/services/
container/jboss50/branches/jbossws-jboss510/src/main/resources/jbossws-jboss50.jar/META-INF/services/org.jboss.wsf.spi.deployment.DeploymentModelFactory
container/jboss50/branches/jbossws-jboss510/src/main/resources/jbossws-jboss50.jar/META-INF/services/org.jboss.wsf.spi.invocation.InvocationHandlerFactory
container/jboss50/branches/jbossws-jboss510/src/main/resources/jbossws-jboss50.jar/META-INF/services/org.jboss.wsf.spi.invocation.SecurityAdaptorFactory
container/jboss50/branches/jbossws-jboss510/src/main/resources/jbossws-jboss50.jar/META-INF/services/org.jboss.wsf.spi.management.ServerConfigFactory
container/jboss50/branches/jbossws-jboss510/src/main/scripts/
container/jboss50/branches/jbossws-jboss510/src/main/scripts/assembly-resources.xml
Log:
creating AS 510 branch
Added: container/jboss50/branches/jbossws-jboss510/.classpath
===================================================================
--- container/jboss50/branches/jbossws-jboss510/.classpath (rev 0)
+++ container/jboss50/branches/jbossws-jboss510/.classpath 2009-05-28 09:25:31 UTC (rev 10132)
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" output="target/classes" path="src/main/java"/>
+ <classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources/jbossws-jboss50.jar"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+ <classpathentry kind="con" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER"/>
+ <classpathentry kind="output" path="target/classes"/>
+</classpath>
Added: container/jboss50/branches/jbossws-jboss510/.project
===================================================================
--- container/jboss50/branches/jbossws-jboss510/.project (rev 0)
+++ container/jboss50/branches/jbossws-jboss510/.project 2009-05-28 09:25:31 UTC (rev 10132)
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>jbossws-jboss510</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.maven.ide.eclipse.maven2Builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.maven.ide.eclipse.maven2Nature</nature>
+ </natures>
+</projectDescription>
Added: container/jboss50/branches/jbossws-jboss510/pom.xml
===================================================================
--- container/jboss50/branches/jbossws-jboss510/pom.xml (rev 0)
+++ container/jboss50/branches/jbossws-jboss510/pom.xml 2009-05-28 09:25:31 UTC (rev 10132)
@@ -0,0 +1,247 @@
+<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">
+ <modelVersion>4.0.0</modelVersion>
+
+ <name>JBoss Web Services - Container JBoss-5.1.0.GA</name>
+ <groupId>org.jboss.ws</groupId>
+ <artifactId>jbossws-jboss510</artifactId>
+
+ <version>3.2.0-SNAPSHOT</version>
+
+ <!-- Parent -->
+ <parent>
+ <groupId>org.jboss.ws</groupId>
+ <artifactId>jbossws-parent</artifactId>
+ <version>1.0.2.GA</version>
+ </parent>
+
+ <!-- Source Control Management -->
+ <scm>
+ <connection>scm:svn:http://anonsvn.jboss.org/repos/jbossws/container/jboss50/branches...</connection>
+ <developerConnection>scm:svn:https://svn.jboss.org/repos/jbossws/container/jboss50/branches/jb...</developerConnection>
+ <url>http://fisheye.jboss.com/viewrep/JBossWS/container/jboss50/branches/jboss...</url>
+ </scm>
+
+ <!-- Properties -->
+ <properties>
+ <jbossws.common.version>1.2.0-SNAPSHOT</jbossws.common.version>
+ <jbossws.spi.version>1.2.0-SNAPSHOT</jbossws.spi.version>
+
+ <!--
+ JBoss component versions taken from
+ http://repository.jboss.org/maven2/org/jboss/jbossas/jboss-as-component-m...
+ -->
+ <jboss.version>5.1.0.GA</jboss.version>
+ <jboss.ejb3.version>1.1.5</jboss.ejb3.version>
+ <jboss.deployers.version>2.0.7.GA</jboss.deployers.version>
+ <jboss.jbossxb.version>2.0.1.GA</jboss.jbossxb.version>
+ <jboss.metadata.version>1.0.1.GA</jboss.metadata.version>
+ <jboss.microcontainer.version>2.0.6.GA</jboss.microcontainer.version>
+ <jboss.reflect.version>2.0.2.GA</jboss.reflect.version>
+ <jboss.security.version>2.0.3.SP1</jboss.security.version>
+ <jboss.vfs.version>2.1.2.GA</jboss.vfs.version>
+ <jboss.cl.version>2.0.6.GA</jboss.cl.version>
+ </properties>
+
+ <!-- DependencyManagement -->
+ <dependencyManagement>
+ <dependencies>
+ <dependency>
+ <groupId>org.jboss.ws</groupId>
+ <artifactId>jbossws-common</artifactId>
+ <version>${jbossws.common.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.ws</groupId>
+ <artifactId>jbossws-spi</artifactId>
+ <version>${jbossws.spi.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.cl</groupId>
+ <artifactId>jboss-classloading</artifactId>
+ <version>${jboss.cl.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss</groupId>
+ <artifactId>jboss-reflect</artifactId>
+ <version>${jboss.reflect.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss</groupId>
+ <artifactId>jboss-vfs</artifactId>
+ <version>${jboss.vfs.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss</groupId>
+ <artifactId>jbossxb</artifactId>
+ <version>${jboss.jbossxb.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.deployers</groupId>
+ <artifactId>jboss-deployers-structure-spi</artifactId>
+ <version>${jboss.deployers.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.ejb3</groupId>
+ <artifactId>jboss-ejb3-core</artifactId>
+ <version>${jboss.ejb3.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.jbossas</groupId>
+ <artifactId>jboss-as-server</artifactId>
+ <version>${jboss.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.jbossas</groupId>
+ <artifactId>jboss-as-system-jmx</artifactId>
+ <version>${jboss.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.metadata</groupId>
+ <artifactId>jboss-metadata</artifactId>
+ <version>${jboss.metadata.version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>org.jboss</groupId>
+ <artifactId>jboss-jaxws</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>org.jboss</groupId>
+ <artifactId>jboss-jaxrpc</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.microcontainer</groupId>
+ <artifactId>jboss-dependency</artifactId>
+ <version>${jboss.microcontainer.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.microcontainer</groupId>
+ <artifactId>jboss-kernel</artifactId>
+ <version>${jboss.microcontainer.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.security</groupId>
+ <artifactId>jboss-security-spi</artifactId>
+ <version>${jboss.security.version}</version>
+ </dependency>
+ </dependencies>
+ </dependencyManagement>
+
+ <!-- Dependencies -->
+ <dependencies>
+
+ <!-- jbossws dependencies -->
+ <dependency>
+ <groupId>org.jboss.ws</groupId>
+ <artifactId>jbossws-common</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.ws</groupId>
+ <artifactId>jbossws-spi</artifactId>
+ </dependency>
+
+ <!-- jboss provided dependencies -->
+ <dependency>
+ <groupId>javax.xml.ws</groupId>
+ <artifactId>jaxws-api</artifactId>
+ <version>2.1</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>javax.jws</groupId>
+ <artifactId>jsr181-api</artifactId>
+ <version>1.0-MR1</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.jbossas</groupId>
+ <artifactId>jboss-as-server</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.jbossas</groupId>
+ <artifactId>jboss-as-system-jmx</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.deployers</groupId>
+ <artifactId>jboss-deployers-structure-spi</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.ejb3</groupId>
+ <artifactId>jboss-ejb3-core</artifactId>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.security</groupId>
+ <artifactId>jboss-security-spi</artifactId>
+ <scope>provided</scope>
+ </dependency>
+
+ <!-- transitive dependencies -->
+ <dependency>
+ <groupId>org.jboss</groupId>
+ <artifactId>jboss-vfs</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.cl</groupId>
+ <artifactId>jboss-classloading</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss</groupId>
+ <artifactId>jboss-reflect</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss</groupId>
+ <artifactId>jbossxb</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.metadata</groupId>
+ <artifactId>jboss-metadata</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.microcontainer</groupId>
+ <artifactId>jboss-dependency</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.microcontainer</groupId>
+ <artifactId>jboss-kernel</artifactId>
+ </dependency>
+ </dependencies>
+
+ <!-- Plugins -->
+ <build>
+ <resources>
+ <resource>
+ <targetPath>../etc</targetPath>
+ <directory>src/main/etc</directory>
+ <filtering>true</filtering>
+ </resource>
+ <resource>
+ <directory>src/main/resources/jbossws-jboss50.jar</directory>
+ </resource>
+ </resources>
+ <plugins>
+ <plugin>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <executions>
+ <execution>
+ <phase>package</phase>
+ <goals>
+ <goal>single</goal>
+ </goals>
+ <configuration>
+ <descriptors>
+ <descriptor>src/main/scripts/assembly-resources.xml</descriptor>
+ </descriptors>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
Added: container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/AbstractDeployerHook.java
===================================================================
--- container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/AbstractDeployerHook.java (rev 0)
+++ container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/AbstractDeployerHook.java 2009-05-28 09:25:31 UTC (rev 10132)
@@ -0,0 +1,143 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.container.jboss50.deployer;
+
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Set;
+
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
+import org.jboss.logging.Logger;
+import org.jboss.metadata.serviceref.VirtualFileAdaptor;
+import org.jboss.virtual.VirtualFile;
+import org.jboss.wsf.spi.SPIProvider;
+import org.jboss.wsf.spi.SPIProviderResolver;
+import org.jboss.wsf.spi.deployment.*;
+
+/**
+ * An abstract web service deployer.
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @author Heiko.Braun(a)jboss.com
+ *
+ * @since 25-Apr-2007
+ */
+public abstract class AbstractDeployerHook implements DeployerHook
+{
+ // provide logging
+ protected final Logger log = Logger.getLogger(getClass());
+
+ private static final WSVirtualFileFilter WS_FILEFILTER = new WSVirtualFileFilter();
+
+ private DeploymentAspectManager deploymentAspectManager;
+ private DeploymentModelFactory deploymentModelFactory;
+
+ 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(DeploymentUnit unit)
+ {
+ try
+ {
+ DeploymentModelFactory factory = getDeploymentModelFactory();
+ ArchiveDeployment dep = (ArchiveDeployment)factory.newDeployment(unit.getSimpleName(), unit.getClassLoader());
+ if (unit instanceof VFSDeploymentUnit)
+ {
+ VFSDeploymentUnit vfsUnit = (VFSDeploymentUnit)unit;
+ List<VirtualFile> virtualFiles = vfsUnit.getMetaDataFiles(WS_FILEFILTER); //get all wsdl and xsd files
+ Set<UnifiedVirtualFile> uVirtualFiles = new HashSet<UnifiedVirtualFile>();
+ for (VirtualFile vf : virtualFiles)
+ {
+ // Adding the roots of the virtual files.
+ uVirtualFiles.add(new VirtualFileAdaptor(vf.getVFS().getRoot()));
+ }
+ dep.setMetadataFiles(new LinkedList<UnifiedVirtualFile>(uVirtualFiles));
+ }
+
+ if (unit.getParent() != null)
+ {
+ DeploymentUnit parentUnit = unit.getParent();
+ ArchiveDeployment parentDep = (ArchiveDeployment)factory.newDeployment(parentUnit.getSimpleName(), parentUnit.getClassLoader());
+ 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);
+ }
+ }
+
+ /** Return true if this deployment should be ignored
+ */
+ public boolean ignoreDeployment(DeploymentUnit unit)
+ {
+ String name = unit.getName();
+ return (name.startsWith("jboss:id=") && name.indexOf("service=jacc") > 0);
+ }
+
+ /** Get the deployment type this deployer can handle
+ */
+ public abstract Deployment.DeploymentType getDeploymentType();
+}
Added: container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/AbstractDeployerHookEJB.java
===================================================================
--- container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/AbstractDeployerHookEJB.java (rev 0)
+++ container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/AbstractDeployerHookEJB.java 2009-05-28 09:25:31 UTC (rev 10132)
@@ -0,0 +1,32 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.container.jboss50.deployer;
+
+/**
+ * An abstract deployer for EJB Endpoints
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 25-Apr-2007
+ */
+public abstract class AbstractDeployerHookEJB extends ArchiveDeployerHook
+{
+}
Added: container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/AbstractDeployerHookJSE.java
===================================================================
--- container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/AbstractDeployerHookJSE.java (rev 0)
+++ container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/AbstractDeployerHookJSE.java 2009-05-28 09:25:31 UTC (rev 10132)
@@ -0,0 +1,65 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.container.jboss50.deployer;
+
+import java.util.List;
+
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.metadata.javaee.spec.ParamValueMetaData;
+import org.jboss.metadata.web.jboss.JBossWebMetaData;
+import org.jboss.metadata.web.spec.ServletMetaData;
+import org.jboss.wsf.spi.deployment.Endpoint;
+import org.jboss.wsf.container.jboss50.deployment.tomcat.WebMetaDataModifier;
+
+/**
+ * An abstract deployer for JSE Endpoints
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 25-Apr-2007
+ */
+public abstract class AbstractDeployerHookJSE extends ArchiveDeployerHook
+{
+ public boolean isWebServiceDeployment(DeploymentUnit unit)
+ {
+ JBossWebMetaData webMetaData = unit.getAttachment(JBossWebMetaData.class);
+ boolean isGenerated = Boolean.TRUE.equals(unit.getAttachment(WebMetaDataModifier.PROPERTY_GENERATED_WEBAPP));
+ return webMetaData != null && isGenerated == false;
+ }
+
+ protected String getTargetBean(ServletMetaData servlet)
+ {
+ String endpointClass = servlet.getServletClass();
+ List<ParamValueMetaData> initParams = servlet.getInitParam();
+ if (initParams != null)
+ {
+ for (ParamValueMetaData param : initParams)
+ {
+ if (Endpoint.SEPID_DOMAIN_ENDPOINT.equals(param.getParamName()))
+ {
+ endpointClass = param.getParamValue();
+ break;
+ }
+ }
+ }
+ return endpointClass;
+ }
+}
Added: container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/AbstractWebServiceDeployer.java
===================================================================
--- container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/AbstractWebServiceDeployer.java (rev 0)
+++ container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/AbstractWebServiceDeployer.java 2009-05-28 09:25:31 UTC (rev 10132)
@@ -0,0 +1,68 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.container.jboss50.deployer;
+
+import org.jboss.deployers.spi.DeploymentException;
+import org.jboss.deployers.spi.deployer.helpers.AbstractComponentDeployer;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.logging.Logger;
+
+import java.util.LinkedList;
+import java.util.List;
+
+/**
+ * This is the deployer that calls the registered DeployerHooks
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 24-Apr-2007
+ */
+public abstract class AbstractWebServiceDeployer<T> extends AbstractComponentDeployer
+{
+ // provide logging
+ private static final Logger log = Logger.getLogger(AbstractWebServiceDeployer.class);
+
+ private List<DeployerHook> deployerHooks = new LinkedList<DeployerHook>();
+
+ public void addDeployerHook(DeployerHook deployer)
+ {
+ log.debug("Add deployer hook: " + deployer);
+ deployerHooks.add(deployer);
+ }
+
+ public void removeDeployerHook(DeployerHook deployer)
+ {
+ log.debug("Remove deployer hook: " + deployer);
+ deployerHooks.remove(deployer);
+ }
+
+ @Override
+ public void internalDeploy(DeploymentUnit unit) throws DeploymentException
+ {
+ for (DeployerHook deployer : deployerHooks) deployer.deploy(unit);
+ }
+
+ @Override
+ public void internalUndeploy(DeploymentUnit unit)
+ {
+ for (DeployerHook deployer : deployerHooks) deployer.undeploy(unit);
+ }
+}
Added: container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/ArchiveDeployerHook.java
===================================================================
--- container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/ArchiveDeployerHook.java (rev 0)
+++ container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/ArchiveDeployerHook.java 2009-05-28 09:25:31 UTC (rev 10132)
@@ -0,0 +1,149 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.container.jboss50.deployer;
+
+import java.net.URL;
+
+import org.jboss.deployers.spi.DeploymentException;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
+import org.jboss.metadata.serviceref.VirtualFileAdaptor;
+import org.jboss.virtual.VirtualFile;
+import org.jboss.wsf.common.DOMUtils;
+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.metadata.webservices.WebservicesFactory;
+import org.jboss.wsf.spi.metadata.webservices.WebservicesMetaData;
+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(a)jboss.org
+ * @since 25-Apr-2007
+ */
+public abstract class ArchiveDeployerHook extends AbstractDeployerHook
+{
+
+ public void deploy(DeploymentUnit unit) throws DeploymentException
+ {
+ if (ignoreDeployment(unit))
+ return;
+
+ if (isWebServiceDeployment(unit))
+ {
+ log.debug("deploy: " + unit.getName());
+ Deployment dep = getDeployment(unit);
+ if (dep == null)
+ {
+ dep = createDeployment(unit);
+ dep.addAttachment(DeploymentUnit.class, unit);
+ }
+
+ unit.addAttachment(Deployment.class, dep);
+ getDeploymentAspectManager().deploy(dep);
+ }
+ }
+
+ public void undeploy(DeploymentUnit unit)
+ {
+ if (ignoreDeployment(unit))
+ return;
+
+ Deployment dep = getDeployment(unit);
+ if (dep != null)
+ {
+ log.debug("undeploy: " + unit.getName());
+ getDeploymentAspectManager().undeploy(dep);
+ }
+ }
+
+ /** Depending on the type of deployment, this method should return true
+ * if the deployment contains web service endpoints.
+ */
+ public abstract boolean isWebServiceDeployment(DeploymentUnit unit);
+
+ /** Create the Deployment for a given DeploymentUnit
+ */
+ public abstract Deployment createDeployment(DeploymentUnit unit);
+
+ /** Get the Deployment for a given DeploymentUnit
+ */
+ public Deployment getDeployment(DeploymentUnit unit)
+ {
+ Deployment dep = unit.getAttachment(Deployment.class);
+ return (dep != null && dep.getType() == getDeploymentType() ? dep : null);
+ }
+
+ /** Unmrashall the webservices.xml if there is one
+ */
+ protected WebservicesMetaData getWebservicesMetaData(DeploymentUnit unit)
+ {
+ WebservicesMetaData wsMetaData = unit.getAttachment(WebservicesMetaData.class);
+ UnifiedVirtualFile vfWebservices = getWebservicesFile(unit);
+ 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.addAttachment(WebservicesMetaData.class, wsMetaData);
+ }
+ }
+ catch (Exception ex)
+ {
+ throw new WSFDeploymentException(ex);
+ }
+ }
+ return wsMetaData;
+ }
+
+ private UnifiedVirtualFile getWebservicesFile(DeploymentUnit unit)
+ {
+ UnifiedVirtualFile wsFile = null;
+ if (unit instanceof VFSDeploymentUnit)
+ {
+ VirtualFile vf = ((VFSDeploymentUnit)unit).getMetaDataFile("webservices.xml");
+ wsFile = vf != null ? new VirtualFileAdaptor(vf) : null;
+ }
+ return wsFile;
+ }
+}
Added: container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/DeployerHook.java
===================================================================
--- container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/DeployerHook.java (rev 0)
+++ container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/DeployerHook.java 2009-05-28 09:25:31 UTC (rev 10132)
@@ -0,0 +1,38 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.container.jboss50.deployer;
+
+import org.jboss.deployers.spi.DeploymentException;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+
+/**
+ * An interface for all web service deployer hooks
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 24-Apr-2007
+ */
+public interface DeployerHook
+{
+ void deploy(DeploymentUnit unit) throws DeploymentException;
+
+ void undeploy(DeploymentUnit unit);
+}
Added: container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/DeployerHookPostJSE.java
===================================================================
--- container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/DeployerHookPostJSE.java (rev 0)
+++ container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/DeployerHookPostJSE.java 2009-05-28 09:25:31 UTC (rev 10132)
@@ -0,0 +1,59 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.container.jboss50.deployer;
+
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.wsf.spi.deployment.Deployment;
+
+/**
+ * @author Heiko.Braun(a)jboss.com
+ * @author Thomas.Diesler(a)jboss.com
+ */
+public abstract class DeployerHookPostJSE extends AbstractDeployerHookJSE
+{
+ /**
+ * The deployment should be created in phase 1.
+ */
+ public Deployment createDeployment(DeploymentUnit unit)
+ {
+ Deployment dep = unit.getAttachment(Deployment.class);
+ if (null == dep)
+ throw new IllegalStateException("spi.Deployment missing. It should be created in Phase 1");
+
+ return dep;
+ }
+
+ /**
+ * 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(DeploymentUnit unit)
+ {
+ if (super.isWebServiceDeployment(unit) == false)
+ return false;
+
+ Deployment deployment = unit.getAttachment(Deployment.class);
+ return deployment != null;
+ }
+}
Added: container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/JAXRPCDeployerHookEJB21.java
===================================================================
--- container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/JAXRPCDeployerHookEJB21.java (rev 0)
+++ container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/JAXRPCDeployerHookEJB21.java 2009-05-28 09:25:31 UTC (rev 10132)
@@ -0,0 +1,110 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.container.jboss50.deployer;
+
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
+import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
+import org.jboss.metadata.ejb.jboss.JBossMetaData;
+import org.jboss.metadata.serviceref.VirtualFileAdaptor;
+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.integration.WebServiceDeployment;
+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(a)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(DeploymentUnit unit)
+ {
+ ArchiveDeployment dep = newDeployment(unit);
+ dep.setRootFile(new VirtualFileAdaptor(((VFSDeploymentUnit)unit).getRoot()));
+ dep.setRuntimeClassLoader(unit.getClassLoader());
+ dep.setType(getDeploymentType());
+
+ Service service = dep.getService();
+
+ JBossMetaData jbmd = unit.getAttachment(JBossMetaData.class);
+ if (jbmd == null)
+ throw new IllegalStateException("Deployment unit does not contain application meta data");
+
+ WebservicesMetaData wsMetaData = getWebservicesMetaData(unit);
+ if (wsMetaData == null)
+ throw new IllegalStateException("Deployment unit does not contain webservices meta data");
+
+ WebServiceDeployment webServiceDeployment = unit.getAttachment(WebServiceDeployment.class);
+ if (webServiceDeployment == null)
+ throw new IllegalStateException("Deployment unit does not contain webServiceDeployment");
+
+ // Copy the attachments
+ dep.addAttachment(WebservicesMetaData.class, wsMetaData);
+ dep.addAttachment(JBossMetaData.class, jbmd);
+ dep.addAttachment(WebServiceDeployment.class, webServiceDeployment);
+
+ 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");
+
+ JBossEnterpriseBeanMetaData beanMetaData = jbmd.getEnterpriseBean(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(DeploymentUnit unit)
+ {
+ WebservicesMetaData wsMetaData = getWebservicesMetaData(unit);
+ return wsMetaData != null && unit.getAllMetaData(JBossMetaData.class).size() > 0;
+ }
+}
Added: container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/JAXRPCDeployerHookPostJSE.java
===================================================================
--- container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/JAXRPCDeployerHookPostJSE.java (rev 0)
+++ container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/JAXRPCDeployerHookPostJSE.java 2009-05-28 09:25:31 UTC (rev 10132)
@@ -0,0 +1,52 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.container.jboss50.deployer;
+
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.metadata.webservices.WebservicesMetaData;
+
+/**
+ * A deployer JAXRPC JSE Endpoints
+ *
+ * @author Thomas.Diesler(a)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(DeploymentUnit unit)
+ {
+ WebservicesMetaData wsMetaData = getWebservicesMetaData(unit);
+ return (wsMetaData!=null && super.isWebServiceDeployment(unit));
+ }
+
+}
Added: container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/JAXRPCDeployerHookPreJSE.java
===================================================================
--- container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/JAXRPCDeployerHookPreJSE.java (rev 0)
+++ container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/JAXRPCDeployerHookPreJSE.java 2009-05-28 09:25:31 UTC (rev 10132)
@@ -0,0 +1,122 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.container.jboss50.deployer;
+
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
+import org.jboss.metadata.serviceref.VirtualFileAdaptor;
+import org.jboss.metadata.web.jboss.JBossServletMetaData;
+import org.jboss.metadata.web.jboss.JBossWebMetaData;
+import org.jboss.metadata.web.spec.ServletMetaData;
+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(a)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(DeploymentUnit unit)
+ {
+ ArchiveDeployment dep = newDeployment(unit);
+ dep.setRootFile(new VirtualFileAdaptor(((VFSDeploymentUnit)unit).getRoot()));
+ dep.setRuntimeClassLoader(null);
+ dep.setType(getDeploymentType());
+
+ Service service = dep.getService();
+
+ JBossWebMetaData webMetaData = unit.getAttachment(JBossWebMetaData.class);
+ if (webMetaData == null)
+ throw new IllegalStateException("Deployment unit does not contain web meta data");
+
+ WebservicesMetaData wsMetaData = getWebservicesMetaData(unit);
+ if (wsMetaData == null)
+ throw new IllegalStateException("Deployment unit does not contain webservices meta data");
+
+ // Copy the attachments
+ dep.addAttachment(WebservicesMetaData.class, wsMetaData);
+ dep.addAttachment(JBossWebMetaData.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");
+
+ ServletMetaData servlet = getServletForName(webMetaData, servletLink);
+ String targetBean = getTargetBean(servlet);
+
+ // Create the endpoint
+ Endpoint ep = newEndpoint(targetBean);
+ ep.setShortName(servletLink);
+ service.addEndpoint(ep);
+ }
+ }
+
+ return dep;
+ }
+
+ private ServletMetaData getServletForName(JBossWebMetaData wmd, String servletLink)
+ {
+ for (JBossServletMetaData servlet : wmd.getServlets())
+ {
+ if (servletLink.equals(servlet.getName()))
+ {
+ return servlet;
+ }
+ }
+ throw new IllegalStateException("Cannot find servlet for link: " + servletLink);
+ }
+
+ @Override
+ public boolean isWebServiceDeployment(DeploymentUnit unit)
+ {
+ if (super.isWebServiceDeployment(unit) == false)
+ return false;
+
+ WebservicesMetaData wsMetaData = getWebservicesMetaData(unit);
+ return wsMetaData != null;
+ }
+}
Added: container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/JAXWSDeployerHookEJB3.java
===================================================================
--- container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/JAXWSDeployerHookEJB3.java (rev 0)
+++ container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/JAXWSDeployerHookEJB3.java 2009-05-28 09:25:31 UTC (rev 10132)
@@ -0,0 +1,129 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.container.jboss50.deployer;
+
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
+import org.jboss.metadata.serviceref.VirtualFileAdaptor;
+import org.jboss.wsf.spi.deployment.ArchiveDeployment;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.Deployment.DeploymentType;
+import org.jboss.wsf.spi.deployment.Endpoint;
+import org.jboss.wsf.spi.deployment.Service;
+import org.jboss.wsf.spi.deployment.integration.WebServiceDeclaration;
+import org.jboss.wsf.spi.deployment.integration.WebServiceDeployment;
+import org.jboss.wsf.container.jboss50.invocation.InvocationHandlerEJB3;
+
+import javax.jws.WebService;
+import javax.xml.ws.WebServiceProvider;
+import java.util.Iterator;
+
+/**
+ * A deployer JAXWS EJB3 Endpoints
+ *
+ * @author Thomas.Diesler(a)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(DeploymentUnit unit)
+ {
+ ArchiveDeployment dep = newDeployment(unit);
+ dep.setRootFile(new VirtualFileAdaptor(((VFSDeploymentUnit)unit).getRoot()));
+ dep.setRuntimeClassLoader(unit.getClassLoader());
+ dep.setType(getDeploymentType());
+
+ Service service = dep.getService();
+
+ WebServiceDeployment webServiceDeployment = unit.getAttachment(WebServiceDeployment.class);
+ if (webServiceDeployment == null)
+ throw new IllegalStateException("Deployment unit does not contain webServiceDeployment");
+
+ // Copy the attachments
+ dep.addAttachment(WebServiceDeployment.class, webServiceDeployment);
+
+ Iterator<WebServiceDeclaration> it = webServiceDeployment.getServiceEndpoints().iterator();
+ while (it.hasNext())
+ {
+ WebServiceDeclaration container = it.next();
+ if (isWebServiceBean(container))
+ {
+ String ejbName = container.getComponentName();
+ String epBean = container.getComponentClassName();
+
+ // Create the endpoint
+ Endpoint ep = newEndpoint(epBean);
+ ep.setShortName(ejbName);
+
+ String containName = container.getContainerName();
+ if(null==containName)
+ throw new IllegalArgumentException("Target container name not set");
+ ep.setProperty(InvocationHandlerEJB3.CONTAINER_NAME, containName);
+
+ service.addEndpoint(ep);
+ }
+ }
+
+ return dep;
+ }
+
+ @Override
+ public boolean isWebServiceDeployment(DeploymentUnit unit)
+ {
+ WebServiceDeployment webServiceDeployment = unit.getAttachment(WebServiceDeployment.class);
+ if (null == webServiceDeployment )
+ return false;
+
+ boolean isWebServiceDeployment = false;
+
+ Iterator<WebServiceDeclaration> it = webServiceDeployment.getServiceEndpoints().iterator();
+ while (it.hasNext())
+ {
+ WebServiceDeclaration container = it.next();
+ if (isWebServiceBean(container))
+ {
+ isWebServiceDeployment = true;
+ break;
+ }
+ }
+
+ return isWebServiceDeployment;
+ }
+
+ private boolean isWebServiceBean(WebServiceDeclaration container)
+ {
+ boolean isWebServiceBean = false;
+ boolean isWebService = container.getAnnotation(WebService.class) != null;
+ boolean isWebServiceProvider = container.getAnnotation(WebServiceProvider.class) != null;
+ isWebServiceBean = isWebService || isWebServiceProvider;
+
+ return isWebServiceBean;
+ }
+}
Added: container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/JAXWSDeployerHookPostJSE.java
===================================================================
--- container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/JAXWSDeployerHookPostJSE.java (rev 0)
+++ container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/JAXWSDeployerHookPostJSE.java 2009-05-28 09:25:31 UTC (rev 10132)
@@ -0,0 +1,53 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.container.jboss50.deployer;
+
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.metadata.webservices.WebservicesMetaData;
+
+/**
+ * @author Heiko.Braun(a)jboss.com
+ */
+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.
+ *
+ * @param unit
+ * @return
+ */
+ public boolean isWebServiceDeployment(DeploymentUnit unit)
+ {
+ WebservicesMetaData wsMetaData = getWebservicesMetaData(unit);// JAX-RPC artefact
+ return (wsMetaData == null && super.isWebServiceDeployment(unit));
+ }
+}
Added: container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/JAXWSDeployerHookPreJSE.java
===================================================================
--- container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/JAXWSDeployerHookPreJSE.java (rev 0)
+++ container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/JAXWSDeployerHookPreJSE.java 2009-05-28 09:25:31 UTC (rev 10132)
@@ -0,0 +1,135 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.container.jboss50.deployer;
+
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
+import org.jboss.metadata.web.jboss.JBossWebMetaData;
+import org.jboss.metadata.web.spec.ServletMetaData;
+import org.jboss.metadata.serviceref.VirtualFileAdaptor;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.Deployment.DeploymentType;
+import org.jboss.wsf.spi.deployment.ArchiveDeployment;
+import org.jboss.wsf.spi.deployment.Endpoint;
+import org.jboss.wsf.spi.deployment.Service;
+
+import javax.jws.WebService;
+import javax.xml.ws.WebServiceProvider;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * A deployer JAXWS JSE Endpoints
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 25-Apr-2007
+ */
+public class JAXWSDeployerHookPreJSE extends AbstractDeployerHookJSE
+{
+
+ /** Get the deployment type this deployer can handle
+ */
+ public DeploymentType getDeploymentType()
+ {
+ return DeploymentType.JAXWS_JSE;
+ }
+
+ @Override
+ public Deployment createDeployment(DeploymentUnit unit)
+ {
+ ArchiveDeployment dep = newDeployment(unit);
+ dep.setRootFile(new VirtualFileAdaptor(((VFSDeploymentUnit)unit).getRoot()));
+ dep.setType(getDeploymentType());
+
+ Service service = dep.getService();
+
+ JBossWebMetaData webMetaData = unit.getAttachment(JBossWebMetaData.class);
+ if (webMetaData == null)
+ throw new IllegalStateException("Deployment unit does not contain web meta data");
+
+ // Copy the attachments
+ dep.addAttachment(JBossWebMetaData.class, webMetaData);
+
+ List<ServletMetaData> servlets = getRelevantServlets(webMetaData, unit.getClassLoader());
+ for (ServletMetaData servlet : servlets)
+ {
+ String servletName = servlet.getName();
+ String targetBean = getTargetBean(servlet);
+
+ // Create the endpoint
+ Endpoint ep = newEndpoint(targetBean);
+ ep.setShortName(servletName);
+ service.addEndpoint(ep);
+ }
+
+ return dep;
+ }
+
+ @Override
+ public boolean isWebServiceDeployment(DeploymentUnit unit)
+ {
+ if (super.isWebServiceDeployment(unit) == false)
+ return false;
+
+ boolean isWebServiceDeployment = false;
+ try
+ {
+ JBossWebMetaData webMetaData = unit.getAttachment(JBossWebMetaData.class);
+ List<ServletMetaData> servlets = getRelevantServlets(webMetaData, unit.getClassLoader());
+ isWebServiceDeployment = servlets.size() > 0;
+ }
+ catch (Exception ex)
+ {
+ log.error("Cannot process web deployment", ex);
+ }
+
+ return isWebServiceDeployment;
+ }
+
+ private List<ServletMetaData> getRelevantServlets(JBossWebMetaData webMetaData, ClassLoader loader)
+ {
+ List<ServletMetaData> servlets = new ArrayList<ServletMetaData>();
+ for (ServletMetaData servlet : webMetaData.getServlets())
+ {
+ String servletClassName = getTargetBean(servlet);
+
+ // 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(servlet);
+ }
+ catch (ClassNotFoundException ex)
+ {
+ log.warn("Cannot load servlet class: " + servletClassName);
+ continue;
+ }
+ }
+ return servlets;
+ }
+}
Added: container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/ServerConfigImpl.java
===================================================================
--- container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/ServerConfigImpl.java (rev 0)
+++ container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/ServerConfigImpl.java 2009-05-28 09:25:31 UTC (rev 10132)
@@ -0,0 +1,82 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.container.jboss50.deployer;
+
+import java.io.File;
+
+import javax.management.JMException;
+import javax.management.ObjectName;
+
+import org.jboss.wsf.common.management.AbstractServerConfig;
+import org.jboss.wsf.common.management.AbstractServerConfigMBean;
+
+/**
+ * A ServerConfig for AS <= 5.1.0
+ *
+ * @author alessio.soldano(a)jboss.com
+ * @author Thomas.Diesler(a)jboss.org
+ *
+ */
+public class ServerConfigImpl extends AbstractServerConfig implements AbstractServerConfigMBean
+{
+
+ public File getServerTempDir()
+ {
+ return this.getDirFromServerConfig("ServerTempDir");
+ }
+
+ public File getHomeDir()
+ {
+ return this.getDirFromServerConfig("HomeDir");
+ }
+
+ public File getServerDataDir()
+ {
+ return this.getDirFromServerConfig("ServerDataDir");
+ }
+
+ /**
+ * Obtains the specified attribute from the server configuration,
+ * represented as a {@link File}.
+ *
+ * @param attributeName
+ * @return
+ * @author ALR
+ */
+ protected File getDirFromServerConfig(final String attributeName)
+ {
+ // Define the ON to invoke upon
+ final ObjectName on = OBJECT_NAME_SERVER_CONFIG;
+
+ // Get the URL location
+ File location = null;
+ try
+ {
+ location = (File) getMbeanServer().getAttribute(on, attributeName);
+ }
+ catch (final JMException e)
+ {
+ throw new RuntimeException("Could not obtain attribute " + attributeName + " from " + on, e);
+ }
+ return location;
+ }
+}
Added: container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/WSVirtualFileFilter.java
===================================================================
--- container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/WSVirtualFileFilter.java (rev 0)
+++ container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/WSVirtualFileFilter.java 2009-05-28 09:25:31 UTC (rev 10132)
@@ -0,0 +1,81 @@
+/*
+ * JBoss, Home of Professional Open Source Copyright 2009, Red Hat Middleware
+ * LLC, and individual contributors by the @authors tag. See the copyright.txt
+ * in the distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it under the
+ * terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This software is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this software; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA, or see the FSF
+ * site: http://www.fsf.org.
+ */
+package org.jboss.wsf.container.jboss50.deployer;
+
+import org.jboss.virtual.VirtualFile;
+import org.jboss.virtual.VirtualFileFilterWithAttributes;
+import org.jboss.virtual.VisitorAttributes;
+
+/**
+ * VirtualFileFilter that can be used to search/filter files with the
+ * suffix ".wsdl" and ".xsd".
+ * <p/>
+ *
+ * @author <a href="mailto:dbevenius@jboss.com">Daniel Bevenius</a>
+ *
+ */
+public class WSVirtualFileFilter implements VirtualFileFilterWithAttributes
+{
+ /** The attributes */
+ private VisitorAttributes attributes;
+
+ /**
+ * No-args constructor.
+ *
+ * Will create a recursive filter by setting {@link VisitorAttributes#RECURSE_LEAVES_ONLY}.
+ */
+ public WSVirtualFileFilter()
+ {
+ this(VisitorAttributes.RECURSE_LEAVES_ONLY);
+ }
+
+ /**
+ *
+ * @param attributes The {@link VisitorAttributes} value which determines the recursive behaviour of this filter.
+ */
+ public WSVirtualFileFilter(final VisitorAttributes attributes)
+ {
+ this.attributes = attributes;
+ }
+
+ /**
+ * Retrieves the VisitorAttribute for this instance.
+ */
+ public VisitorAttributes getAttributes()
+ {
+ return attributes;
+ }
+
+ /**
+ * Accepts files that end with .wsdl and .xsd.
+ *
+ * @return {@code true} If the file name ends with either .wsdl or .xsd. Otherwise returns false.
+ */
+ public boolean accepts(final VirtualFile file)
+ {
+ if (file == null)
+ return false;
+
+ final String fileName = file.getName();
+ return fileName.endsWith(".wsdl") || fileName.endsWith(".xsd") || fileName.endsWith(".xml");
+ }
+
+}
Added: container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/WebServiceDeployerEJB.java
===================================================================
--- container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/WebServiceDeployerEJB.java (rev 0)
+++ container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/WebServiceDeployerEJB.java 2009-05-28 09:25:31 UTC (rev 10132)
@@ -0,0 +1,203 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.container.jboss50.deployer;
+
+import java.lang.annotation.Annotation;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import javax.management.ObjectName;
+import javax.naming.Context;
+
+import org.jboss.deployers.spi.DeploymentException;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.ejb.deployers.EjbDeployment;
+import org.jboss.ejb.deployers.MergedJBossMetaDataDeployer;
+import org.jboss.ejb3.EJBContainer;
+import org.jboss.ejb3.Ejb3Deployment;
+import org.jboss.ejb3.javaee.JavaEEComponentHelper;
+import org.jboss.logging.Logger;
+import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
+import org.jboss.metadata.ejb.jboss.JBossMetaData;
+import org.jboss.metadata.web.jboss.JBossWebMetaData;
+import org.jboss.wsf.spi.deployment.integration.WebServiceDeclaration;
+import org.jboss.wsf.spi.deployment.integration.WebServiceDeployment;
+
+/**
+ * This it the web service deployer for EJB. Adopts EJB deployments to
+ * {@link org.jboss.wsf.spi.deployment.integration.WebServiceDeclaration} an passes it to a chain of
+ * {@link org.jboss.wsf.container.jboss50.deployer.DeployerHook}'s.
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @author Heiko.Braun(a)jboss.com
+ *
+ * @since 24-Apr-2007
+ */
+public class WebServiceDeployerEJB extends AbstractWebServiceDeployer
+{
+ private static final Logger log = Logger.getLogger(WebServiceDeployerEJB.class);
+
+ public WebServiceDeployerEJB()
+ {
+ addInput(MergedJBossMetaDataDeployer.EJB_MERGED_ATTACHMENT_NAME);
+
+ addInput(EjbDeployment.class);
+
+ addInput(Ejb3Deployment.class);
+
+ // Input for the TomcatDeployer
+ addOutput(JBossWebMetaData.class);
+
+ addOutput(WebServiceDeployment.class);
+
+ }
+
+ @Override
+ public void internalDeploy(DeploymentUnit unit) throws DeploymentException
+ {
+ JBossMetaData beans = (JBossMetaData)unit.getAttachment(
+ MergedJBossMetaDataDeployer.EJB_MERGED_ATTACHMENT_NAME
+ );
+ Ejb3Deployment ejb3Deployment = unit.getAttachment(Ejb3Deployment.class);
+
+ if(beans!=null)
+ {
+ WebServiceDeploymentAdapter wsDeployment = new WebServiceDeploymentAdapter();
+
+ Iterator<JBossEnterpriseBeanMetaData> iterator = beans.getEnterpriseBeans().iterator();
+ while(iterator.hasNext())
+ {
+ JBossEnterpriseBeanMetaData ejb = iterator.next();
+ EJBContainer ejbContainer = null;
+ if (ejb3Deployment != null && !ejb.isEntity())
+ {
+ ObjectName objName = null;
+ try
+ {
+ objName = new ObjectName(ejb.determineContainerName());
+ }
+ catch (Exception e)
+ {
+ throw new DeploymentException(e);
+ }
+ ejbContainer = (EJBContainer)ejb3Deployment.getContainer(objName);
+ }
+ if(ejb.getEjbClass()!=null)
+ wsDeployment.getEndpoints().add( new WebServiceDeclarationAdapter(ejb, ejbContainer, unit.getClassLoader()) );
+ else
+ log.warn("Ingore ejb deployment with null classname: " + ejb);
+ }
+
+ unit.addAttachment(WebServiceDeployment.class, wsDeployment);
+
+ super.internalDeploy(unit);
+ }
+ }
+
+ @Override
+ public void internalUndeploy(DeploymentUnit unit)
+ {
+ super.internalUndeploy(unit);
+ }
+
+ /**
+ * Adopts EJB3 bean meta data to a {@link org.jboss.wsf.spi.deployment.integration.WebServiceDeclaration}
+ */
+ private class WebServiceDeclarationAdapter implements WebServiceDeclaration
+ {
+
+ private JBossEnterpriseBeanMetaData ejbMetaData;
+ private EJBContainer ejbContainer;
+ private ClassLoader loader;
+
+ public WebServiceDeclarationAdapter(JBossEnterpriseBeanMetaData ejbMetaData, EJBContainer ejbContainer, ClassLoader loader)
+ {
+ this.ejbMetaData = ejbMetaData;
+ this.ejbContainer = ejbContainer;
+ this.loader = loader;
+ }
+
+ public String getContainerName()
+ {
+ return ejbMetaData.determineContainerName();
+ }
+
+ public Context getContext()
+ {
+ return ejbContainer.getEnc();
+ }
+
+ public String getComponentName()
+ {
+ return ejbMetaData.getName();
+ }
+
+ public String getComponentClassName()
+ {
+ return ejbMetaData.getEjbClass();
+ }
+
+ public <T extends Annotation> T getAnnotation(Class<T> annotation)
+ {
+ T result = ejbContainer != null ? ejbContainer.getAnnotation(annotation) : null;
+ if (result == null)
+ {
+ Class bean = getComponentClass();
+ if(bean.isAnnotationPresent(annotation))
+ {
+ result = (T)bean.getAnnotation(annotation);
+ }
+ }
+ return result;
+ }
+
+ private Class getComponentClass()
+ {
+ try
+ {
+ return loader.loadClass(getComponentClassName());
+ } catch (ClassNotFoundException e)
+ {
+ throw new RuntimeException("Failed to load component class "+ getComponentClassName()+". Loader:" + this.loader);
+ }
+ }
+ }
+
+ /**
+ * Adopts an EJB deployment to a {@link org.jboss.wsf.spi.deployment.integration.WebServiceDeployment}
+ */
+ private class WebServiceDeploymentAdapter implements WebServiceDeployment
+ {
+ private List<WebServiceDeclaration> endpoints = new ArrayList<WebServiceDeclaration>();
+
+ public List<WebServiceDeclaration> getServiceEndpoints()
+ {
+ return endpoints;
+ }
+
+ public List<WebServiceDeclaration> getEndpoints()
+ {
+ return endpoints;
+ }
+ }
+}
Added: container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/WebServiceDeployerPostJSE.java
===================================================================
--- container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/WebServiceDeployerPostJSE.java (rev 0)
+++ container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/WebServiceDeployerPostJSE.java 2009-05-28 09:25:31 UTC (rev 10132)
@@ -0,0 +1,36 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.container.jboss50.deployer;
+
+import org.jboss.web.deployers.WarDeployment;
+
+/**
+ * @author Heiko.Braun(a)jboss.com
+ */
+public class WebServiceDeployerPostJSE extends AbstractWebServiceDeployer
+{
+ public WebServiceDeployerPostJSE()
+ {
+ // Output from the TomcatDeployer
+ addInput(WarDeployment.class);
+ }
+}
Added: container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/WebServiceDeployerPreJSE.java
===================================================================
--- container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/WebServiceDeployerPreJSE.java (rev 0)
+++ container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/WebServiceDeployerPreJSE.java 2009-05-28 09:25:31 UTC (rev 10132)
@@ -0,0 +1,52 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.container.jboss50.deployer;
+
+import org.jboss.metadata.web.jboss.JBossWebMetaData;
+
+/**
+ * This is the web service deployer for JSE
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 24-Apr-2007
+ */
+public class WebServiceDeployerPreJSE extends AbstractWebServiceDeployer
+{
+ private int relOrderWar;
+
+ public WebServiceDeployerPreJSE()
+ {
+ addInput(JBossWebMetaData.class);
+ addOutput(JBossWebMetaData.class);
+ }
+
+ public void setRelOrderWar(int relOrderWar)
+ {
+ this.relOrderWar = relOrderWar;
+ }
+
+ @Override
+ public int getRelativeOrder()
+ {
+ return relOrderWar - 1;
+ }
+}
Added: container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/WebServiceMainDeployer.java
===================================================================
--- container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/WebServiceMainDeployer.java (rev 0)
+++ container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployer/WebServiceMainDeployer.java 2009-05-28 09:25:31 UTC (rev 10132)
@@ -0,0 +1,50 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.container.jboss50.deployer;
+
+/**
+ * The main web service deployer
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 24-Apr-2007
+ */
+public class WebServiceMainDeployer extends AbstractWebServiceDeployer
+{
+ private int relOrderJSE;
+ private int relOrderEJB;
+
+ public void setRelOrderEJB(int relOrderEJB)
+ {
+ this.relOrderEJB = relOrderEJB;
+ }
+
+ public void setRelOrderJSE(int relOrderJSE)
+ {
+ this.relOrderJSE = relOrderJSE;
+ }
+
+ @Override
+ public int getRelativeOrder()
+ {
+ return Math.max(relOrderEJB, relOrderJSE) + 1;
+ }
+}
Added: container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployment/RuntimeLoaderDeploymentAspect.java
===================================================================
--- container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployment/RuntimeLoaderDeploymentAspect.java (rev 0)
+++ container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployment/RuntimeLoaderDeploymentAspect.java 2009-05-28 09:25:31 UTC (rev 10132)
@@ -0,0 +1,68 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.container.jboss50.deployment;
+
+import org.jboss.metadata.ejb.jboss.JBossMetaData;
+import org.jboss.metadata.web.jboss.JBossWebMetaData;
+import org.jboss.wsf.spi.deployment.ArchiveDeployment;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.DeploymentAspect;
+import org.jboss.wsf.spi.deployment.integration.WebServiceDeployment;
+
+/**
+ * Determines the correct runtime loader for per deployment type
+ * and makes it available through the {@link Deployment}.
+ *
+ * @author Heiko.Braun(a)jboss.com
+ */
+public class RuntimeLoaderDeploymentAspect extends DeploymentAspect
+{
+ public void create(Deployment dep)
+ {
+ // EJB3 endpoints
+ if (dep.getAttachment(WebServiceDeployment.class) != null)
+ {
+ dep.setRuntimeClassLoader(dep.getInitialClassLoader());
+ }
+ // EJB21 endpoints
+ else if (dep.getAttachment(JBossMetaData.class) != null)
+ {
+ dep.setRuntimeClassLoader(dep.getInitialClassLoader());
+ }
+ // JSE endpoints
+ else if (dep.getAttachment(JBossWebMetaData.class) != null)
+ {
+ JBossWebMetaData webMetaData = dep.getAttachment(JBossWebMetaData.class);
+ ClassLoader classLoader = webMetaData.getContextLoader();
+ if (classLoader == null)
+ {
+ // [JBWS-2246] hack for .sar deployments incorporating web services deployments on AS bootstrap.
+ classLoader = dep.getInitialClassLoader();
+ }
+ dep.setRuntimeClassLoader(classLoader);
+ }
+ else
+ {
+ throw new IllegalArgumentException("Unable to determine runtime loader");
+ }
+ }
+}
Added: container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployment/metadata/ContainerMetaDataAdapter.java
===================================================================
--- container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployment/metadata/ContainerMetaDataAdapter.java (rev 0)
+++ container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployment/metadata/ContainerMetaDataAdapter.java 2009-05-28 09:25:31 UTC (rev 10132)
@@ -0,0 +1,112 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.container.jboss50.deployment.metadata;
+
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.ejb3.Ejb3Deployment;
+import org.jboss.logging.Logger;
+import org.jboss.metadata.ejb.jboss.JBossMetaData;
+import org.jboss.metadata.web.jboss.JBossWebMetaData;
+import org.jboss.wsf.spi.deployment.ArchiveDeployment;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.metadata.j2ee.EJBArchiveMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.JSEArchiveMetaData;
+import org.jboss.wsf.container.jboss50.deployment.tomcat.WebMetaDataModifier;
+
+import java.net.URL;
+
+/**
+ * Build container independent deployment info.
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 05-May-2006
+ */
+public class ContainerMetaDataAdapter
+{
+ // logging support
+ private static Logger log = Logger.getLogger(ContainerMetaDataAdapter.class);
+
+ private EJBArchiveMetaDataAdapterEJB3 ejbMetaDataAdapterEJB3 = new EJBArchiveMetaDataAdapterEJB3();
+ private EJBArchiveMetaDataAdapterEJB21 ejbMetaDataAdapterEJB21 = new EJBArchiveMetaDataAdapterEJB21();
+ private JSEArchiveMetaDataAdapter webMetaDataAdapter = new JSEArchiveMetaDataAdapter();
+
+ public void setEjbMetaDataAdapterEJB21(EJBArchiveMetaDataAdapterEJB21 adapter)
+ {
+ this.ejbMetaDataAdapterEJB21 = adapter;
+ }
+
+ public void setEjbMetaDataAdapterEJB3(EJBArchiveMetaDataAdapterEJB3 adapter)
+ {
+ this.ejbMetaDataAdapterEJB3 = adapter;
+ }
+
+ public void setWebMetaDataAdapter(JSEArchiveMetaDataAdapter adapter)
+ {
+ this.webMetaDataAdapter = adapter;
+ }
+
+ public void buildContainerMetaData(Deployment dep, DeploymentUnit unit)
+ {
+ dep.addAttachment(DeploymentUnit.class, unit);
+
+ try
+ {
+ // JSE endpoints
+ if (unit.getAttachment(JBossWebMetaData.class) != null)
+ {
+ JSEArchiveMetaData webMetaData = webMetaDataAdapter.buildMetaData(dep, unit);
+ if (webMetaData != null)
+ dep.addAttachment(JSEArchiveMetaData.class, webMetaData);
+
+ if (dep instanceof ArchiveDeployment)
+ {
+ URL webURL = ((ArchiveDeployment)dep).getRootFile().toURL();
+ dep.setProperty(WebMetaDataModifier.PROPERTY_WEBAPP_URL, webURL);
+ }
+ }
+
+ // EJB3 endpoints
+ else if (unit.getAttachment(Ejb3Deployment.class) != null)
+ {
+ EJBArchiveMetaData ejbMetaData = ejbMetaDataAdapterEJB3.buildMetaData(dep, unit);
+ if (ejbMetaData != null)
+ dep.addAttachment(EJBArchiveMetaData.class, ejbMetaData);
+ }
+
+ // EJB21 endpoints
+ else if (unit.getAttachment(JBossMetaData.class) != null)
+ {
+ EJBArchiveMetaData ejbMetaData = ejbMetaDataAdapterEJB21.buildMetaData(dep, unit);
+ if (ejbMetaData != null)
+ dep.addAttachment(EJBArchiveMetaData.class, ejbMetaData);
+ }
+ }
+ catch (RuntimeException rte)
+ {
+ throw rte;
+ }
+ catch (Exception ex)
+ {
+ throw new IllegalStateException(ex);
+ }
+ }
+}
Added: container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployment/metadata/ContainerMetaDataDeploymentAspect.java
===================================================================
--- container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployment/metadata/ContainerMetaDataDeploymentAspect.java (rev 0)
+++ container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployment/metadata/ContainerMetaDataDeploymentAspect.java 2009-05-28 09:25:31 UTC (rev 10132)
@@ -0,0 +1,52 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.container.jboss50.deployment.metadata;
+
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.DeploymentAspect;
+
+/**
+ * A deployer that builds the UnifiedDeploymentInfo
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 25-Apr-2007
+ */
+public class ContainerMetaDataDeploymentAspect extends DeploymentAspect
+{
+ private ContainerMetaDataAdapter metaDataAdapter = new ContainerMetaDataAdapter();
+
+ public void setMetaDataAdapter(ContainerMetaDataAdapter adapter)
+ {
+ this.metaDataAdapter = adapter;
+ }
+
+ @Override
+ public void create(Deployment dep)
+ {
+ DeploymentUnit unit = dep.getAttachment(DeploymentUnit.class);
+ if (unit == null)
+ throw new IllegalStateException("Cannot obtain deployment unit");
+
+ metaDataAdapter.buildContainerMetaData(dep, unit);
+ }
+}
Added: container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployment/metadata/EJBArchiveMetaDataAdapterEJB21.java
===================================================================
--- container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployment/metadata/EJBArchiveMetaDataAdapterEJB21.java (rev 0)
+++ container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployment/metadata/EJBArchiveMetaDataAdapterEJB21.java 2009-05-28 09:25:31 UTC (rev 10132)
@@ -0,0 +1,174 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.container.jboss50.deployment.metadata;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.logging.Logger;
+import org.jboss.metadata.common.jboss.WebserviceDescriptionMetaData;
+import org.jboss.metadata.common.jboss.WebserviceDescriptionsMetaData;
+import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
+import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeansMetaData;
+import org.jboss.metadata.ejb.jboss.JBossMessageDrivenBeanMetaData;
+import org.jboss.metadata.ejb.jboss.JBossMetaData;
+import org.jboss.metadata.ejb.jboss.JBossSessionBeanMetaData;
+import org.jboss.metadata.ejb.jboss.WebservicesMetaData;
+import org.jboss.metadata.javaee.spec.PortComponent;
+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.EJBSecurityMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.MDBMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.SLSBMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.EJBArchiveMetaData.PublishLocationAdapter;
+
+/**
+ * Build container independent application meta data
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 05-May-2006
+ */
+public class EJBArchiveMetaDataAdapterEJB21
+{
+ // logging support
+ private static Logger log = Logger.getLogger(EJBArchiveMetaDataAdapterEJB21.class);
+
+ public EJBArchiveMetaData buildMetaData(Deployment dep, DeploymentUnit unit)
+ {
+ JBossMetaData jbossMetaData = unit.getAttachment(JBossMetaData.class);
+ dep.addAttachment(JBossMetaData.class, jbossMetaData);
+
+ EJBArchiveMetaData ejbMetaData = new EJBArchiveMetaData();
+ buildEnterpriseBeansMetaData(ejbMetaData, jbossMetaData);
+ buildWebservicesMetaData(ejbMetaData, jbossMetaData);
+ ejbMetaData.setSecurityDomain(jbossMetaData.getSecurityDomain());
+
+ return ejbMetaData;
+ }
+
+ private void buildEnterpriseBeansMetaData(EJBArchiveMetaData ejbMetaData, JBossMetaData jbossMetaData)
+ {
+ List<EJBMetaData> targetBeans = new ArrayList<EJBMetaData>();
+ JBossEnterpriseBeansMetaData sourceBeans = jbossMetaData.getEnterpriseBeans();
+ Iterator<JBossEnterpriseBeanMetaData> it = sourceBeans.iterator();
+ while (it.hasNext())
+ {
+ JBossEnterpriseBeanMetaData bmd = it.next();
+ buildBeanMetaData(targetBeans, bmd);
+ }
+ ejbMetaData.setEnterpriseBeans(targetBeans);
+ }
+
+ private void buildWebservicesMetaData(EJBArchiveMetaData ejbMetaData, JBossMetaData jbossMetaData)
+ {
+ WebservicesMetaData webservices = jbossMetaData.getWebservices();
+ if (webservices != null)
+ {
+ String contextRoot = webservices.getContextRoot();
+ ejbMetaData.setWebServiceContextRoot(contextRoot);
+
+ ejbMetaData.setPublishLocationAdapter(getPublishLocationAdpater(webservices));
+
+ WebserviceDescriptionsMetaData wsDescriptions = webservices.getWebserviceDescriptions();
+ if (wsDescriptions != null)
+ {
+ if (wsDescriptions.size() > 1)
+ log.warn("Multiple <webservice-description> elements not supported");
+
+ if (wsDescriptions.size() > 0)
+ {
+ WebserviceDescriptionMetaData wsd = wsDescriptions.iterator().next();
+ ejbMetaData.setConfigName(wsd.getConfigName());
+ ejbMetaData.setConfigFile(wsd.getConfigFile());
+ }
+ }
+ }
+ }
+
+ private PublishLocationAdapter getPublishLocationAdpater(final WebservicesMetaData wsMetaData)
+ {
+ return new PublishLocationAdapter()
+ {
+ public String getWsdlPublishLocationByName(String name)
+ {
+ String wsdlPublishLocation = null;
+ WebserviceDescriptionsMetaData wsDescriptions = wsMetaData.getWebserviceDescriptions();
+ if (wsDescriptions != null && wsDescriptions.get(name) != null)
+ {
+ WebserviceDescriptionMetaData wsdMetaData = wsDescriptions.get(name);
+ wsdlPublishLocation = wsdMetaData.getWsdlPublishLocation();
+ }
+ return wsdlPublishLocation;
+ }
+ };
+ }
+
+ private EJBMetaData buildBeanMetaData(List<EJBMetaData> ejbBeans, JBossEnterpriseBeanMetaData jbossBeansMetaData)
+ {
+ EJBMetaData targetBean = null;
+ if (jbossBeansMetaData.isSession())
+ {
+ targetBean = new SLSBMetaData();
+ JBossSessionBeanMetaData jbossSessionBean = (JBossSessionBeanMetaData)jbossBeansMetaData;
+
+ targetBean.setEjbName(jbossSessionBean.getEjbName());
+ targetBean.setEjbClass(jbossSessionBean.getEjbClass());
+ targetBean.setServiceEndpointInterface(jbossSessionBean.getServiceEndpoint());
+ targetBean.setHome(jbossSessionBean.getHome());
+ targetBean.setLocalHome(jbossSessionBean.getLocalHome());
+ targetBean.setJndiName(jbossSessionBean.determineJndiName());
+ targetBean.setLocalJndiName(jbossBeansMetaData.determineLocalJndiName());
+
+ PortComponent pcmd = jbossSessionBean.getPortComponent();
+ if (pcmd != null)
+ {
+ targetBean.setPortComponentName(pcmd.getPortComponentName());
+ targetBean.setPortComponentURI(pcmd.getPortComponentURI());
+ EJBSecurityMetaData smd = new EJBSecurityMetaData();
+ smd.setAuthMethod(pcmd.getAuthMethod());
+ smd.setTransportGuarantee(pcmd.getTransportGuarantee());
+ smd.setSecureWSDLAccess(pcmd.getSecureWSDLAccess());
+ targetBean.setSecurityMetaData(smd);
+ }
+ }
+ else if (jbossBeansMetaData.isMessageDriven())
+ {
+ targetBean = new MDBMetaData();
+ JBossMessageDrivenBeanMetaData jbossMessageBean = (JBossMessageDrivenBeanMetaData)jbossBeansMetaData;
+
+ targetBean.setEjbName(jbossMessageBean.getEjbName());
+ targetBean.setEjbClass(jbossMessageBean.getEjbClass());
+ //targetBean.setServiceEndpointInterface(???);
+ //targetBean.setJndiName(???);
+ targetBean.setLocalJndiName(jbossBeansMetaData.getLocalJndiName());
+ ((MDBMetaData)targetBean).setDestinationJndiName(jbossMessageBean.getDestinationJndiName());
+ }
+
+ if (targetBean != null)
+ ejbBeans.add(targetBean);
+
+ return targetBean;
+ }
+}
Added: container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployment/metadata/EJBArchiveMetaDataAdapterEJB3.java
===================================================================
--- container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployment/metadata/EJBArchiveMetaDataAdapterEJB3.java (rev 0)
+++ container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployment/metadata/EJBArchiveMetaDataAdapterEJB3.java 2009-05-28 09:25:31 UTC (rev 10132)
@@ -0,0 +1,180 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.container.jboss50.deployment.metadata;
+
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.logging.Logger;
+import org.jboss.metadata.common.jboss.WebserviceDescriptionMetaData;
+import org.jboss.metadata.common.jboss.WebserviceDescriptionsMetaData;
+import org.jboss.metadata.ejb.jboss.JBossMetaData;
+import org.jboss.metadata.ejb.jboss.WebservicesMetaData;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.integration.WebServiceDeclaration;
+import org.jboss.wsf.spi.deployment.integration.WebServiceDeployment;
+import org.jboss.wsf.spi.metadata.j2ee.*;
+import org.jboss.wsf.spi.metadata.j2ee.EJBArchiveMetaData.PublishLocationAdapter;
+
+import javax.ejb.ActivationConfigProperty;
+import javax.ejb.MessageDriven;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+/**
+ * Build container independent application meta data
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 14-Apr-2007
+ */
+public class EJBArchiveMetaDataAdapterEJB3
+{
+ // logging support
+ private static Logger log = Logger.getLogger(EJBArchiveMetaDataAdapterEJB3.class);
+
+ public EJBArchiveMetaData buildMetaData(Deployment dep, DeploymentUnit unit)
+ {
+ EJBArchiveMetaData umd = new EJBArchiveMetaData();
+
+ WebServiceDeployment webServiceDeployment = dep.getAttachment(WebServiceDeployment.class);
+ buildEnterpriseBeansMetaData(umd, webServiceDeployment);
+
+ JBossMetaData jbMetaData = unit.getAttachment(JBossMetaData.class);
+ if (jbMetaData != null)
+ buildWebservicesMetaData(umd, jbMetaData);
+
+ return umd;
+ }
+
+ private void buildWebservicesMetaData(EJBArchiveMetaData ejbMetaData, JBossMetaData jbMetaData)
+ {
+ WebservicesMetaData wsMetaData = jbMetaData.getWebservices();
+ if (wsMetaData != null)
+ {
+ String contextRoot = wsMetaData.getContextRoot();
+ ejbMetaData.setWebServiceContextRoot(contextRoot);
+
+ ejbMetaData.setPublishLocationAdapter(getPublishLocationAdpater(wsMetaData));
+
+ WebserviceDescriptionsMetaData wsDescriptions = wsMetaData.getWebserviceDescriptions();
+ if (wsDescriptions != null)
+ {
+ if (wsDescriptions.size() > 1)
+ log.warn("Multiple <webservice-description> elements not supported");
+
+ if (wsDescriptions.size() > 0)
+ {
+ WebserviceDescriptionMetaData wsd = wsDescriptions.iterator().next();
+ ejbMetaData.setConfigName(wsd.getConfigName());
+ ejbMetaData.setConfigFile(wsd.getConfigFile());
+ }
+ }
+ }
+ }
+
+ private void buildEnterpriseBeansMetaData(EJBArchiveMetaData jarMetaData, WebServiceDeployment ejb3Deployment)
+ {
+ List<EJBMetaData> ejbMetaDataList = new ArrayList<EJBMetaData>();
+ Iterator<WebServiceDeclaration> it = ejb3Deployment.getServiceEndpoints().iterator();
+ while (it.hasNext())
+ {
+ WebServiceDeclaration container = it.next();
+
+ PortComponentSpec pcMetaData = container.getAnnotation(PortComponentSpec.class);
+ MessageDriven mdbMetaData = container.getAnnotation(MessageDriven.class);
+
+ EJBMetaData ejbMetaData = null;
+
+ if(mdbMetaData!=null)
+ {
+ ejbMetaData = new MDBMetaData();
+
+ ActivationConfigProperty[] props = mdbMetaData.activationConfig();
+ if (props != null)
+ {
+ String destination = getActivationProperty("destination", props);
+ if (destination != null)
+ {
+ ((MDBMetaData)ejbMetaData).setDestinationJndiName(destination);
+ }
+ }
+ }
+ else
+ {
+ ejbMetaData = new SLSBMetaData();
+ }
+
+ if (ejbMetaData != null)
+ {
+ ejbMetaData.setEjbName(container.getComponentName());
+ ejbMetaData.setEjbClass(container.getComponentClassName());
+
+ if (pcMetaData != null)
+ {
+ ejbMetaData.setPortComponentName(pcMetaData.portComponentName());
+ ejbMetaData.setPortComponentURI(pcMetaData.portComponentURI());
+ EJBSecurityMetaData smd = new EJBSecurityMetaData();
+ smd.setAuthMethod(pcMetaData.authMethod());
+ smd.setTransportGuarantee(pcMetaData.transportGuarantee());
+ smd.setSecureWSDLAccess(pcMetaData.secureWSDLAccess());
+ ejbMetaData.setSecurityMetaData(smd);
+ }
+
+ ejbMetaDataList.add(ejbMetaData);
+ }
+ }
+
+ jarMetaData.setEnterpriseBeans(ejbMetaDataList);
+ }
+
+ private String getActivationProperty(String name, ActivationConfigProperty[] props)
+ {
+ String result = null;
+ for(ActivationConfigProperty p : props)
+ {
+ if(p.propertyName().equals(name))
+ {
+ result = p.propertyValue();
+ break;
+ }
+ }
+
+ return result;
+ }
+
+ private PublishLocationAdapter getPublishLocationAdpater(final WebservicesMetaData wsMetaData)
+ {
+ return new PublishLocationAdapter() {
+ public String getWsdlPublishLocationByName(String name)
+ {
+ String wsdlPublishLocation = null;
+ WebserviceDescriptionsMetaData wsDescriptions = wsMetaData.getWebserviceDescriptions();
+ if (wsDescriptions != null && wsDescriptions.get(name) != null)
+ {
+ WebserviceDescriptionMetaData wsdMetaData = wsDescriptions.get(name);
+ wsdlPublishLocation = wsdMetaData.getWsdlPublishLocation();
+ }
+ return wsdlPublishLocation;
+ }
+ };
+ }
+
+}
Added: container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployment/metadata/EJBBeanReferenceResolver.java
===================================================================
--- container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployment/metadata/EJBBeanReferenceResolver.java (rev 0)
+++ container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployment/metadata/EJBBeanReferenceResolver.java 2009-05-28 09:25:31 UTC (rev 10132)
@@ -0,0 +1,114 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2009, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.container.jboss50.deployment.metadata;
+
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+
+import javax.ejb.EJB;
+
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.ejb3.common.resolvers.spi.EjbReference;
+import org.jboss.ejb3.common.resolvers.spi.EjbReferenceResolver;
+import org.jboss.wsf.common.injection.resolvers.AbstractReferenceResolver;
+
+/**
+ * EJB reference resolver.
+ *
+ * @author <a href="mailto:richard.opalka@jboss.org">Richard Opalka</a>
+ */
+final class EJBBeanReferenceResolver extends AbstractReferenceResolver<EJB>
+{
+
+ /**
+ * Deployment unit used for resolving process.
+ */
+ private final DeploymentUnit unit;
+ /**
+ * Delegate used to resolve JNDI names.
+ */
+ private final EjbReferenceResolver delegate;
+
+ /**
+ * Constructor.
+ */
+ EJBBeanReferenceResolver(final DeploymentUnit unit, final EjbReferenceResolver delegate)
+ {
+ super(EJB.class);
+
+ if (unit == null)
+ {
+ throw new IllegalArgumentException("Deployment unit cannot be null");
+ }
+ if (delegate == null)
+ {
+ throw new IllegalArgumentException("Ejb reference resolver cannot be null");
+ }
+
+ this.unit = unit;
+ this.delegate = delegate;
+ }
+
+ /* (non-Javadoc)
+ * @see org.jboss.wsf.common.injection.resolvers.AbstractReferenceResolver#resolveField(java.lang.reflect.Field)
+ */
+ @Override
+ protected String resolveField(final Field field)
+ {
+ final EJB ejbAnnotation = field.getAnnotation(EJB.class);
+ final Class<?> type = field.getType();
+ final EjbReference reference = getEjbReference(ejbAnnotation, type);
+
+ return this.delegate.resolveEjb(unit, reference);
+ }
+
+ /* (non-Javadoc)
+ * @see org.jboss.wsf.common.injection.resolvers.AbstractReferenceResolver#resolveMethod(java.lang.reflect.Method)
+ */
+ @Override
+ protected String resolveMethod(final Method method)
+ {
+ final EJB ejbAnnotation = method.getAnnotation(EJB.class);
+ final Class<?> type = method.getParameterTypes()[0];
+ final EjbReference reference = getEjbReference(ejbAnnotation, type);
+
+ return this.delegate.resolveEjb(unit, reference);
+ }
+
+ /**
+ * Constructs EjbReference.
+ *
+ * @param ejbAnnotation ejb annotation
+ * @param type fall back type
+ * @return ejb reference instance
+ */
+ private EjbReference getEjbReference(EJB ejbAnnotation, Class<?> type)
+ {
+ String beanInterface = ejbAnnotation.beanInterface().getName();
+ if (java.lang.Object.class.getName().equals(beanInterface))
+ {
+ beanInterface = type.getName();
+ }
+ return new EjbReference(ejbAnnotation.beanName(), beanInterface, ejbAnnotation.mappedName());
+ }
+
+}
Added: container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployment/metadata/InjectionMetaDataDeploymentAspect.java
===================================================================
--- container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployment/metadata/InjectionMetaDataDeploymentAspect.java (rev 0)
+++ container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployment/metadata/InjectionMetaDataDeploymentAspect.java 2009-05-28 09:25:31 UTC (rev 10132)
@@ -0,0 +1,235 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2009, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.container.jboss50.deployment.metadata;
+
+import java.lang.annotation.Annotation;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import javax.annotation.Resource;
+import javax.ejb.EJB;
+import javax.jws.WebService;
+import javax.naming.Context;
+import javax.naming.NamingException;
+import javax.xml.ws.WebServiceProvider;
+
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.ejb3.common.resolvers.spi.EjbReferenceResolver;
+import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeansMetaData;
+import org.jboss.metadata.ejb.jboss.JBossMetaData;
+import org.jboss.metadata.javaee.spec.EnvironmentEntriesMetaData;
+import org.jboss.metadata.javaee.spec.EnvironmentEntryMetaData;
+import org.jboss.metadata.javaee.spec.ResourceInjectionTargetMetaData;
+import org.jboss.metadata.web.jboss.JBossWebMetaData;
+import org.jboss.wsf.common.injection.resolvers.ResourceReferenceResolver;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.DeploymentAspect;
+import org.jboss.wsf.spi.deployment.Endpoint;
+import org.jboss.wsf.spi.deployment.Deployment.DeploymentType;
+import org.jboss.wsf.spi.deployment.integration.WebServiceDeclaration;
+import org.jboss.wsf.spi.deployment.integration.WebServiceDeployment;
+import org.jboss.wsf.spi.metadata.injection.InjectionMetaData;
+import org.jboss.wsf.spi.metadata.injection.InjectionsMetaData;
+import org.jboss.wsf.spi.metadata.injection.ReferenceResolver;
+
+/**
+ * Deployment aspect that builds injection meta data.
+ *
+ * @author <a href="mailto:richard.opalka@jboss.org">Richard Opalka</a>
+ */
+public final class InjectionMetaDataDeploymentAspect extends DeploymentAspect
+{
+
+ private static final ReferenceResolver RESOURCE_REFERENCE_RESOLVER = new ResourceReferenceResolver();
+ private static final String EJB3_JNDI_PREFIX = "java:env/";
+ private EjbReferenceResolver ejbReferenceResolver;
+
+ @Override
+ public void create(Deployment dep)
+ {
+ super.create(dep);
+
+ DeploymentUnit unit = dep.getAttachment(DeploymentUnit.class);
+ if (unit == null)
+ throw new IllegalStateException("DeploymentUnit not found");
+
+ JBossWebMetaData webMD = dep.getAttachment(JBossWebMetaData.class);
+ if (webMD == null)
+ throw new IllegalStateException("JBossWebMetaData not found");
+
+ List<InjectionMetaData> injectionMD = new LinkedList<InjectionMetaData>();
+ Map<Class<? extends Annotation>, ReferenceResolver> resolvers = createResolvers(unit);
+ DeploymentType deploymentType = dep.getType();
+
+ try
+ {
+ if (deploymentType == DeploymentType.JAXWS_JSE)
+ {
+ injectionMD.addAll(buildInjectionMetaData(webMD.getEnvironmentEntries()));
+ for (Endpoint endpoint : dep.getService().getEndpoints())
+ {
+ InjectionsMetaData injectionsMD = new InjectionsMetaData(injectionMD, resolvers, null);
+ endpoint.addAttachment(InjectionsMetaData.class, injectionsMD);
+ }
+ }
+ else if (deploymentType == DeploymentType.JAXWS_EJB3)
+ {
+ JBossMetaData jbossMD = unit.getAttachment(JBossMetaData.class);
+ JBossEnterpriseBeansMetaData jebMDs = jbossMD.getEnterpriseBeans();
+
+ WebServiceDeployment webServiceDeployment = unit.getAttachment(WebServiceDeployment.class);
+
+ Iterator<WebServiceDeclaration> it = webServiceDeployment.getServiceEndpoints().iterator();
+ while (it.hasNext())
+ {
+ WebServiceDeclaration container = it.next();
+ if (isWebServiceBean(container))
+ {
+ final Context ctx = (Context)container.getContext().lookup(EJB3_JNDI_PREFIX);
+ String ejbName = container.getComponentName();
+ EnvironmentEntriesMetaData ejbEnvEntries = jebMDs.get(ejbName).getEnvironmentEntries();
+ injectionMD.addAll(buildInjectionMetaData(ejbEnvEntries));
+ Endpoint endpoint = dep.getService().getEndpointByName(ejbName);
+ InjectionsMetaData injectionsMD = new InjectionsMetaData(injectionMD, resolvers, ctx);
+ endpoint.addAttachment(InjectionsMetaData.class, injectionsMD);
+ }
+ }
+ }
+ }
+ catch (NamingException ne)
+ {
+ throw new RuntimeException(ne);
+ }
+ }
+
+ @Override
+ public void destroy(Deployment dep)
+ {
+ dep.getService().removeAttachment(InjectionMetaData.class);
+
+ super.destroy(dep);
+ }
+
+ /**
+ * Builds reference resolvers container.
+ *
+ * @param unit deployment unit
+ * @return reference resolvers
+ */
+ private Map<Class<? extends Annotation>, ReferenceResolver> createResolvers(DeploymentUnit unit)
+ {
+ final Map<Class<? extends Annotation>, ReferenceResolver> resolvers = new HashMap<Class<? extends Annotation>, ReferenceResolver>();
+ resolvers.put(Resource.class, RESOURCE_REFERENCE_RESOLVER);
+ resolvers.put(EJB.class, new EJBBeanReferenceResolver(unit, getEjbReferenceResolver()));
+ return resolvers;
+ }
+
+ /**
+ * Builds JBossWS specific injection metadata from JBoss metadata.
+ *
+ * @param envEntries environment entries
+ * @return JBossWS specific injection metadata
+ */
+ private List<InjectionMetaData> buildInjectionMetaData(EnvironmentEntriesMetaData envEntries)
+ {
+ if ((envEntries == null) || (envEntries.size() == 0))
+ {
+ return Collections.emptyList();
+ }
+
+ EnvironmentEntryMetaData eeMD = null;
+ LinkedList<InjectionMetaData> retVal = new LinkedList<InjectionMetaData>();
+ String envEntryName = null;
+ String envEntryValue = null;
+ String targetClass = null;
+ String targetName = null;
+ String valueClass = null;
+
+ for (Iterator<EnvironmentEntryMetaData> i = envEntries.iterator(); i.hasNext();)
+ {
+ eeMD = i.next();
+ envEntryName = eeMD.getEnvEntryName();
+ envEntryValue = eeMD.getValue();
+ valueClass = eeMD.getType();
+
+ Set<ResourceInjectionTargetMetaData> injectionTargets = eeMD.getInjectionTargets();
+ if ((injectionTargets != null) && (injectionTargets.size() > 0))
+ {
+ for (Iterator<ResourceInjectionTargetMetaData> j = injectionTargets.iterator(); j.hasNext(); )
+ {
+ ResourceInjectionTargetMetaData ritMD = j.next();
+ targetClass = ritMD.getInjectionTargetClass();
+ targetName = ritMD.getInjectionTargetName();
+ InjectionMetaData injectionMD = new InjectionMetaData(targetClass, targetName, valueClass, envEntryName, envEntryValue != null);
+ retVal.add(injectionMD);
+ }
+ }
+ }
+
+ return retVal;
+ }
+
+ /**
+ * Returns true if EJB represents webservice endpoint, false otherwise.
+ *
+ * @param container to analyze
+ * @return true if webservice endpoint, false otherwise
+ */
+ private boolean isWebServiceBean(WebServiceDeclaration container)
+ {
+ boolean isWebService = container.getAnnotation(WebService.class) != null;
+ boolean isWebServiceProvider = container.getAnnotation(WebServiceProvider.class) != null;
+
+ return isWebService || isWebServiceProvider;
+ }
+
+ /**
+ * Sets ejb reference resolver. This method is invoked by MC.
+ *
+ * @param resolver ejb reference resolver
+ */
+ public void setEjbReferenceResolver(final EjbReferenceResolver resolver)
+ {
+ this.ejbReferenceResolver = resolver;
+ }
+
+ /**
+ * Gets ejb reference resolver.
+ *
+ * @return ejb reference resolver
+ */
+ public EjbReferenceResolver getEjbReferenceResolver()
+ {
+ if (this.ejbReferenceResolver == null)
+ {
+ throw new IllegalStateException("No EjbReferenceResolver set by MC");
+ }
+
+ return this.ejbReferenceResolver;
+ }
+
+}
Added: container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployment/metadata/JSEArchiveMetaDataAdapter.java
===================================================================
--- container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployment/metadata/JSEArchiveMetaDataAdapter.java (rev 0)
+++ container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployment/metadata/JSEArchiveMetaDataAdapter.java 2009-05-28 09:25:31 UTC (rev 10132)
@@ -0,0 +1,204 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.container.jboss50.deployment.metadata;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.logging.Logger;
+import org.jboss.metadata.common.jboss.WebserviceDescriptionMetaData;
+import org.jboss.metadata.common.jboss.WebserviceDescriptionsMetaData;
+import org.jboss.metadata.ear.jboss.JBossAppMetaData;
+import org.jboss.metadata.ear.spec.ModuleMetaData;
+import org.jboss.metadata.ear.spec.WebModuleMetaData;
+import org.jboss.metadata.javaee.spec.ParamValueMetaData;
+import org.jboss.metadata.web.jboss.JBossServletsMetaData;
+import org.jboss.metadata.web.jboss.JBossWebMetaData;
+import org.jboss.metadata.web.spec.SecurityConstraintMetaData;
+import org.jboss.metadata.web.spec.ServletMappingMetaData;
+import org.jboss.metadata.web.spec.ServletMetaData;
+import org.jboss.metadata.web.spec.WebResourceCollectionMetaData;
+import org.jboss.metadata.web.spec.WebResourceCollectionsMetaData;
+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(a)jboss.org
+ * @since 05-May-2006
+ */
+public class JSEArchiveMetaDataAdapter
+{
+ // logging support
+ private static Logger log = Logger.getLogger(JSEArchiveMetaDataAdapter.class);
+
+ public JSEArchiveMetaData buildMetaData(Deployment dep, DeploymentUnit unit)
+ {
+ String contextRoot = null;
+
+ JBossWebMetaData jbossWebMetaData = unit.getAttachment(JBossWebMetaData.class);
+ dep.addAttachment(JBossWebMetaData.class, jbossWebMetaData);
+
+ if (unit.getParent() != null)
+ {
+ JBossAppMetaData appmd = unit.getParent().getAttachment(JBossAppMetaData.class);
+ if (appmd != null)
+ {
+ ModuleMetaData module = appmd.getModule(dep.getSimpleName());
+ if (module != null)
+ {
+ WebModuleMetaData web = (WebModuleMetaData) module.getValue();
+ contextRoot = web.getContextRoot();
+ }
+ }
+ }
+
+ if (contextRoot == null)
+ contextRoot = jbossWebMetaData.getContextRoot();
+
+ JSEArchiveMetaData umd = new JSEArchiveMetaData();
+ umd.setContextRoot(contextRoot);
+ umd.setServletMappings(getServletMappings(jbossWebMetaData));
+ umd.setServletClassNames(getServletClassMap(jbossWebMetaData));
+ umd.setSecurityDomain(jbossWebMetaData.getSecurityDomain());
+ umd.setPublishLocationAdapter(getPublishLocationAdpater(jbossWebMetaData));
+ umd.setSecurityMetaData(getSecurityMetaData(jbossWebMetaData.getSecurityContraints()));
+
+ setConfigNameAndFile(umd, jbossWebMetaData);
+
+ return umd;
+ }
+
+ private void setConfigNameAndFile(JSEArchiveMetaData umd, JBossWebMetaData jbossWebMetaData)
+ {
+ String configName = null;
+ String configFile = null;
+
+ WebserviceDescriptionsMetaData wsDescriptions = jbossWebMetaData.getWebserviceDescriptions();
+ if (wsDescriptions != null && wsDescriptions.size() > 1)
+ log.warn("Multiple <webservice-description> elements not supported");
+
+ if (wsDescriptions != null && wsDescriptions.size() > 0)
+ {
+ WebserviceDescriptionMetaData wsd = wsDescriptions.iterator().next();
+ configName = wsd.getConfigName();
+ configFile = wsd.getConfigFile();
+ }
+
+ List<ParamValueMetaData> contextParams = jbossWebMetaData.getContextParams();
+ if (contextParams != null)
+ {
+ for (ParamValueMetaData ctxParam : contextParams)
+ {
+ if (ctxParam.getParamName().equals("jbossws-config-name"))
+ configName = ctxParam.getParamValue();
+ if (ctxParam.getParamName().equals("jbossws-config-file"))
+ configFile = ctxParam.getParamValue();
+ }
+ }
+
+ umd.setConfigName(configName);
+ umd.setConfigFile(configFile);
+ }
+
+ private PublishLocationAdapter getPublishLocationAdpater(final JBossWebMetaData wmd)
+ {
+ return new PublishLocationAdapter()
+ {
+ public String getWsdlPublishLocationByName(String name)
+ {
+ WebserviceDescriptionsMetaData wsdmd = wmd.getWebserviceDescriptions();
+ WebserviceDescriptionMetaData wsmd = wsdmd.get(name);
+ String location = null;
+ if (wsmd != null)
+ location = wsmd.getWsdlPublishLocation();
+ return location;
+ }
+ };
+ }
+
+ protected List<JSESecurityMetaData> getSecurityMetaData(final List<SecurityConstraintMetaData> securityConstraints)
+ {
+ ArrayList<JSESecurityMetaData> unifiedsecurityMetaData = new ArrayList<JSESecurityMetaData>();
+ if (securityConstraints != null)
+ {
+ for (SecurityConstraintMetaData securityMetaData : securityConstraints)
+ {
+ JSESecurityMetaData current = new JSESecurityMetaData();
+ unifiedsecurityMetaData.add(current);
+
+ current.setTransportGuarantee(securityMetaData.getTransportGuarantee().name());
+
+ WebResourceCollectionsMetaData resources = securityMetaData.getResourceCollections();
+ for (WebResourceCollectionMetaData webResource : resources)
+ {
+ JSEResourceCollection currentResource = current.addWebResource(webResource.getName());
+ for (String currentPattern : webResource.getUrlPatterns())
+ {
+ currentResource.addPattern(currentPattern);
+ }
+ }
+ }
+ }
+ return unifiedsecurityMetaData;
+ }
+
+ private Map<String, String> getServletMappings(JBossWebMetaData wmd)
+ {
+ Map<String, String> mappings = new HashMap<String, String>();
+ List<ServletMappingMetaData> smappings = wmd.getServletMappings();
+ if (smappings != null)
+ {
+ for(ServletMappingMetaData mapping : smappings)
+ {
+ // FIXME - Add support for multiple mappings
+ mappings.put(mapping.getServletName(), mapping.getUrlPatterns().get(0));
+ }
+ }
+ return mappings;
+ }
+
+ private Map<String, String> getServletClassMap(JBossWebMetaData wmd)
+ {
+ Map<String, String> mappings = new HashMap<String, String>();
+ JBossServletsMetaData servlets = wmd.getServlets();
+ if (servlets != null)
+ {
+ for (ServletMetaData servlet : servlets)
+ {
+ // Skip JSPs
+ if (servlet.getServletClass() == null || servlet.getServletClass().length() == 0)
+ continue;
+
+ mappings.put(servlet.getName(), servlet.getServletClass());
+ }
+ }
+ return mappings;
+ }
+}
Added: container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployment/tomcat/ModifyWebMetaDataDeploymentAspect.java
===================================================================
--- container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployment/tomcat/ModifyWebMetaDataDeploymentAspect.java (rev 0)
+++ container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployment/tomcat/ModifyWebMetaDataDeploymentAspect.java 2009-05-28 09:25:31 UTC (rev 10132)
@@ -0,0 +1,55 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.container.jboss50.deployment.tomcat;
+
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.DeploymentAspect;
+import org.jboss.wsf.spi.deployment.WSFDeploymentException;
+
+/**
+ * A deployer that modifies the web.xml meta data
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 25-Apr-2007
+ */
+public class ModifyWebMetaDataDeploymentAspect extends DeploymentAspect
+{
+ private WebMetaDataModifier webMetaDataModifier;
+
+ public void setWebMetaDataModifier(WebMetaDataModifier webMetaDataModifier)
+ {
+ this.webMetaDataModifier = webMetaDataModifier;
+ }
+
+ @Override
+ public void create(Deployment dep)
+ {
+ try
+ {
+ webMetaDataModifier.modifyMetaData(dep);
+ }
+ catch (Exception ex)
+ {
+ WSFDeploymentException.rethrow(ex);
+ }
+ }
+}
Added: container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployment/tomcat/RewriteResults.java
===================================================================
--- container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployment/tomcat/RewriteResults.java (rev 0)
+++ container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployment/tomcat/RewriteResults.java 2009-05-28 09:25:31 UTC (rev 10132)
@@ -0,0 +1,38 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.container.jboss50.deployment.tomcat;
+
+import java.net.URL;
+import java.util.Map;
+import java.util.HashMap;
+
+/**
+ * @author Heiko.Braun(a)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: container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployment/tomcat/SecurityHandler.java
===================================================================
--- container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployment/tomcat/SecurityHandler.java (rev 0)
+++ container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployment/tomcat/SecurityHandler.java 2009-05-28 09:25:31 UTC (rev 10132)
@@ -0,0 +1,40 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.container.jboss50.deployment.tomcat;
+
+import org.jboss.metadata.web.jboss.JBossWebMetaData;
+import org.jboss.wsf.spi.deployment.Deployment;
+
+/**
+ * Handle web app security meta data
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 12-May-2006
+ */
+public interface SecurityHandler
+{
+ /** Add the security domain to jboss-web.xml */
+ void addSecurityDomain(JBossWebMetaData jbossWeb, Deployment dep);
+
+ /** Add the security roles to web.xml */
+ void addSecurityRoles(JBossWebMetaData webApp, Deployment dep);
+}
Added: container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployment/tomcat/SecurityHandlerEJB21.java
===================================================================
--- container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployment/tomcat/SecurityHandlerEJB21.java (rev 0)
+++ container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployment/tomcat/SecurityHandlerEJB21.java 2009-05-28 09:25:31 UTC (rev 10132)
@@ -0,0 +1,66 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.container.jboss50.deployment.tomcat;
+
+import org.jboss.metadata.common.ejb.IAssemblyDescriptorMetaData;
+import org.jboss.metadata.ejb.jboss.JBossMetaData;
+import org.jboss.metadata.javaee.spec.SecurityRolesMetaData;
+import org.jboss.metadata.web.jboss.JBossWebMetaData;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.metadata.j2ee.EJBArchiveMetaData;
+
+/**
+ * Handle web app security meta data for EJB21
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 12-May-2006
+ */
+public class SecurityHandlerEJB21 implements SecurityHandler
+{
+ public void addSecurityDomain(JBossWebMetaData jbossWeb, Deployment dep)
+ {
+ EJBArchiveMetaData ejbMetaData = dep.getAttachment(EJBArchiveMetaData.class);
+ if (ejbMetaData == null)
+ throw new IllegalStateException("Cannot obtain application meta data");
+
+ String securityDomain = ejbMetaData.getSecurityDomain();
+ if (securityDomain != null)
+ {
+ if (securityDomain.startsWith("java:/jaas/") == false)
+ securityDomain = "java:/jaas/" + securityDomain;
+
+ jbossWeb.setSecurityDomain(securityDomain);
+ }
+ }
+
+ public void addSecurityRoles(JBossWebMetaData webApp, Deployment dep)
+ {
+ JBossMetaData jbmd = dep.getAttachment(JBossMetaData.class);
+ IAssemblyDescriptorMetaData assemblyDescriptor = jbmd.getAssemblyDescriptor();
+ if (assemblyDescriptor != null)
+ {
+ SecurityRolesMetaData securityRoles = assemblyDescriptor.getSecurityRoles();
+ if (securityRoles != null)
+ webApp.setSecurityRoles(securityRoles);
+ }
+ }
+}
Added: container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployment/tomcat/SecurityHandlerEJB3.java
===================================================================
--- container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployment/tomcat/SecurityHandlerEJB3.java (rev 0)
+++ container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployment/tomcat/SecurityHandlerEJB3.java 2009-05-28 09:25:31 UTC (rev 10132)
@@ -0,0 +1,97 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.container.jboss50.deployment.tomcat;
+
+import org.jboss.ejb3.annotation.SecurityDomain;
+import org.jboss.metadata.javaee.spec.SecurityRoleMetaData;
+import org.jboss.metadata.javaee.spec.SecurityRolesMetaData;
+import org.jboss.metadata.web.jboss.JBossWebMetaData;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.integration.WebServiceDeclaration;
+import org.jboss.wsf.spi.deployment.integration.WebServiceDeployment;
+
+import javax.annotation.security.RolesAllowed;
+import java.util.Iterator;
+
+/**
+ * Handle web app security meta data for EJB3
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 12-May-2006
+ */
+public class SecurityHandlerEJB3 implements SecurityHandler
+{
+ public void addSecurityDomain(JBossWebMetaData jbossWeb, Deployment dep)
+ {
+ String securityDomain = null;
+
+ WebServiceDeployment webServiceDeployment = dep.getAttachment(WebServiceDeployment.class);
+ if (webServiceDeployment != null)
+ {
+ Iterator<WebServiceDeclaration> it = webServiceDeployment.getServiceEndpoints().iterator();
+ while (it.hasNext())
+ {
+ WebServiceDeclaration container = it.next();
+ SecurityDomain anSecurityDomain = container.getAnnotation(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.setSecurityDomain(securityDomain);
+ }
+ }
+
+ public void addSecurityRoles(JBossWebMetaData webApp, Deployment dep)
+ {
+ WebServiceDeployment webServiceDeployment = dep.getAttachment(WebServiceDeployment.class);
+ if (webServiceDeployment != null)
+ {
+ Iterator<WebServiceDeclaration> it = webServiceDeployment.getServiceEndpoints().iterator();
+ while (it.hasNext())
+ {
+ WebServiceDeclaration container = it.next();
+ RolesAllowed anRolesAllowed = container.getAnnotation(RolesAllowed.class);
+ if (anRolesAllowed != null)
+ {
+ SecurityRolesMetaData securityRoles = webApp.getSecurityRoles();
+ for (String roleName : anRolesAllowed.value())
+ {
+ SecurityRoleMetaData role = new SecurityRoleMetaData();
+ role.setRoleName(roleName);
+ securityRoles.add(role);
+ }
+ }
+ }
+ }
+ }
+}
Added: container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployment/tomcat/WebMetaDataModifier.java
===================================================================
--- container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployment/tomcat/WebMetaDataModifier.java (rev 0)
+++ container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployment/tomcat/WebMetaDataModifier.java 2009-05-28 09:25:31 UTC (rev 10132)
@@ -0,0 +1,41 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.container.jboss50.deployment.tomcat;
+
+import org.jboss.wsf.spi.deployment.Deployment;
+
+/**
+ * Modifies the web app according to the stack requirements.
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 19-May-2007
+ */
+public interface WebMetaDataModifier
+{
+ final static String PROPERTY_GENERATED_WEBAPP = "org.jboss.ws.generated.webapp";
+ final static String PROPERTY_WEBAPP_CONTEXT_PARAMETERS = "org.jboss.ws.webapp.ContextParameterMap";
+ final static String PROPERTY_WEBAPP_SERVLET_CLASS = "org.jboss.ws.webapp.ServletClass";
+ final static String PROPERTY_WEBAPP_SERVLET_CONTEXT_LISTENER = "org.jboss.ws.webapp.ServletContextListener";
+ final static String PROPERTY_WEBAPP_URL = "org.jboss.ws.webapp.url";
+
+ RewriteResults modifyMetaData(Deployment dep) throws ClassNotFoundException;
+}
Added: container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployment/tomcat/WebMetaDataModifierImpl.java
===================================================================
--- container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployment/tomcat/WebMetaDataModifierImpl.java (rev 0)
+++ container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/deployment/tomcat/WebMetaDataModifierImpl.java 2009-05-28 09:25:31 UTC (rev 10132)
@@ -0,0 +1,207 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.container.jboss50.deployment.tomcat;
+
+import org.jboss.logging.Logger;
+import org.jboss.metadata.javaee.spec.ParamValueMetaData;
+import org.jboss.metadata.web.jboss.JBossServletMetaData;
+import org.jboss.metadata.web.jboss.JBossWebMetaData;
+import org.jboss.metadata.web.spec.ListenerMetaData;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.Endpoint;
+
+import javax.xml.ws.WebServiceException;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * The rewriter for web.xml
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 19-May-2007
+ */
+public class WebMetaDataModifierImpl implements WebMetaDataModifier
+{
+ // logging support
+ private static Logger log = Logger.getLogger(WebMetaDataModifierImpl.class);
+
+ public RewriteResults modifyMetaData(Deployment dep)
+ {
+ JBossWebMetaData jbwmd = dep.getAttachment(JBossWebMetaData.class);
+ if (jbwmd == null)
+ throw new WebServiceException("Cannot find web meta data");
+
+ try
+ {
+ RewriteResults results = modifyMetaData(dep, jbwmd);
+ return results;
+ }
+ catch (RuntimeException rte)
+ {
+ throw rte;
+ }
+ catch (Exception e)
+ {
+ throw new WebServiceException(e);
+ }
+ }
+
+ private RewriteResults modifyMetaData(Deployment dep, JBossWebMetaData jbwmd) throws ClassNotFoundException
+ {
+ RewriteResults results = new RewriteResults();
+
+ String servletClass = (String)dep.getProperty(PROPERTY_WEBAPP_SERVLET_CLASS);
+ if (servletClass == null)
+ throw new IllegalStateException("Cannot obtain context property: " + PROPERTY_WEBAPP_SERVLET_CLASS);
+
+ Map<String, String> depCtxParams = (Map<String, String>)dep.getProperty(PROPERTY_WEBAPP_CONTEXT_PARAMETERS);
+ if (depCtxParams != null)
+ {
+ List<ParamValueMetaData> contextParams = jbwmd.getContextParams();
+ if (contextParams == null)
+ {
+ contextParams = new ArrayList<ParamValueMetaData>();
+ jbwmd.setContextParams(contextParams);
+ }
+
+ for (Map.Entry<String, String> entry : depCtxParams.entrySet())
+ {
+ ParamValueMetaData param = new ParamValueMetaData();
+ param.setParamName(entry.getKey());
+ param.setParamValue(entry.getValue());
+ contextParams.add(param);
+ }
+ }
+
+ String listenerClass = (String)dep.getProperty(PROPERTY_WEBAPP_SERVLET_CONTEXT_LISTENER);
+ if (listenerClass != null)
+ {
+ List<ListenerMetaData> listeners = jbwmd.getListeners();
+ if (listeners == null)
+ {
+ listeners = new ArrayList<ListenerMetaData>();
+ jbwmd.setListeners(listeners);
+ }
+ ListenerMetaData listener = new ListenerMetaData();
+ listener.setListenerClass(listenerClass);
+ }
+
+ for (Iterator it = jbwmd.getServlets().iterator(); it.hasNext();)
+ {
+ JBossServletMetaData servlet = (JBossServletMetaData)it.next();
+ List<ParamValueMetaData> initParams = servlet.getInitParam();
+ if (initParams == null)
+ {
+ initParams = new ArrayList<ParamValueMetaData>();
+ servlet.setInitParam(initParams);
+ }
+
+ String linkName = servlet.getServletName();
+
+ // find the servlet-class
+ String orgServletClassName = servlet.getServletClass();
+
+ // JSP
+ if (orgServletClassName == null)
+ continue;
+
+ // 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 (ParamValueMetaData initParam : initParams)
+ {
+ String paramName = initParam.getParamName();
+ String paramValue = initParam.getParamValue();
+ 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;
+ }
+ /*
+ Legacy code: This shouldn't be used in recent AS 5 versions
+
+ else if (orgServletClassName.endsWith("Servlet"))
+ {
+ log.info("Ignore <servlet-class> that ends with 'Servlet': " + orgServletClassName);
+ continue;
+ }*/
+
+ servlet.setServletClass(servletClass);
+
+ // add additional init params
+ if (orgServletClassName.equals(servletClass) == false)
+ {
+ targetBeanName = orgServletClassName;
+ ParamValueMetaData initParam = new ParamValueMetaData();
+ initParam.setParamName(Endpoint.SEPID_DOMAIN_ENDPOINT);
+ initParam.setParamValue(targetBeanName);
+ initParams.add(initParam);
+ }
+ }
+
+ 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(JBossServletMetaData servlet)
+ {
+ for (ParamValueMetaData initParam : servlet.getInitParam())
+ {
+ String paramName = initParam.getParamName();
+ if (Endpoint.SEPID_DOMAIN_ENDPOINT.equals(paramName))
+ return true;
+ }
+ return false;
+ }
+}
Added: container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/invocation/AbstractInvocationHandler.java
===================================================================
--- container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/invocation/AbstractInvocationHandler.java (rev 0)
+++ container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/invocation/AbstractInvocationHandler.java 2009-05-28 09:25:31 UTC (rev 10132)
@@ -0,0 +1,53 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.container.jboss50.invocation;
+
+import java.lang.reflect.Method;
+
+import org.jboss.wsf.common.JavaUtils;
+import org.jboss.wsf.spi.invocation.InvocationHandler;
+
+/**
+ * @author Thomas.Diesler(a)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;
+ }
+}
Added: container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/invocation/InvocationHandlerEJB21.java
===================================================================
--- container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/invocation/InvocationHandlerEJB21.java (rev 0)
+++ container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/invocation/InvocationHandlerEJB21.java 2009-05-28 09:25:31 UTC (rev 10132)
@@ -0,0 +1,197 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.container.jboss50.invocation;
+
+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.security.SecurityContext;
+import org.jboss.security.SecurityContextAssociation;
+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;
+import org.jboss.wsf.container.jboss50.invocation.ServiceEndpointInterceptor;
+
+/**
+ * Handles invocations on EJB21 endpoints.
+ *
+ * @author Thomas.Diesler(a)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;
+
+ 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 MBeanServer
+ server = MBeanServerLocator.locateJBoss();
+
+ // get the bean's JNDI name
+ jndiName = beanMetaData.getContainerObjectNameJndiName();
+ if (jndiName == null)
+ throw new WebServiceException("Cannot obtain JNDI name for: " + ejbName);
+ }
+
+ public void invoke(Endpoint ep, Invocation inv) throws Exception
+ {
+ log.debug("Invoke: " + inv.getJavaMethod().getName());
+
+ if (objectName == null)
+ {
+ objectName = ObjectNameFactory.create("jboss.j2ee:jndiName=" + jndiName + ",service=EJB");
+ if (server.isRegistered(objectName) == false)
+ throw new WebServiceException("Cannot find service endpoint target: " + objectName);
+
+ // Inject the Service endpoint interceptor
+ injectServiceEndpointInterceptor(objectName, ep.getShortName());
+ }
+
+ // 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();
+ SecurityContext sc = SecurityContextAssociation.getSecurityContext();
+ Principal principal = securityAdaptor.getPrincipal();
+ Object credential = securityAdaptor.getCredential();
+
+ if (principal == null && sc != null)
+ principal = sc.getUtil().getUserPrincipal();
+
+ if (credential == null && sc != null)
+ credential = sc.getUtil().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;
+ }
+
+ private void injectServiceEndpointInterceptor(ObjectName objectName, String ejbName)
+ {
+ // 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);
+ }
+ }
+}
Added: container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/invocation/InvocationHandlerEJB3.java
===================================================================
--- container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/invocation/InvocationHandlerEJB3.java (rev 0)
+++ container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/invocation/InvocationHandlerEJB3.java 2009-05-28 09:25:31 UTC (rev 10132)
@@ -0,0 +1,120 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.container.jboss50.invocation;
+
+import org.jboss.dependency.spi.ControllerContext;
+import org.jboss.kernel.spi.dependency.KernelController;
+import org.jboss.wsf.spi.deployment.Endpoint;
+import org.jboss.wsf.spi.invocation.Invocation;
+import org.jboss.wsf.spi.invocation.integration.InvocationContextCallback;
+import org.jboss.wsf.spi.invocation.integration.ServiceEndpointContainer;
+import org.jboss.wsf.spi.util.KernelLocator;
+
+import javax.xml.ws.WebServiceException;
+import java.lang.reflect.Method;
+
+/**
+ * Handles invocations on EJB3 endpoints.
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @author Heiko.Braun(a)jboss.com
+ *
+ * @since 25-Apr-2007
+ */
+public class InvocationHandlerEJB3 extends AbstractInvocationHandler
+{
+
+ public static final String CONTAINER_NAME = "org.jboss.wsf.spi.invocation.ContainerName";
+
+ private String containerName;
+ private KernelController houston;
+ private ServiceEndpointContainer serviceEndpointContainer;
+
+
+ InvocationHandlerEJB3()
+ {
+ houston = KernelLocator.getKernel().getController();
+ }
+
+ public Invocation createInvocation()
+ {
+ return new Invocation();
+ }
+
+ public void init(Endpoint ep)
+ {
+ containerName = (String)ep.getProperty(InvocationHandlerEJB3.CONTAINER_NAME);
+ assert containerName!=null : "Target container name not set";
+
+ }
+
+ private ServiceEndpointContainer lazyInitializeInvocationTarget()
+ {
+ if(null==this.serviceEndpointContainer)
+ {
+ ControllerContext context = houston.getInstalledContext(containerName);
+ if (context == null)
+ throw new WebServiceException("Cannot find service endpoint target: " + containerName);
+
+ assert (context.getTarget() instanceof ServiceEndpointContainer) : "Invocation target mismatch";
+ this.serviceEndpointContainer = (ServiceEndpointContainer) context.getTarget();
+ }
+
+ return this.serviceEndpointContainer;
+ }
+
+ public void invoke(Endpoint ep, Invocation wsInv) throws Exception
+ {
+ try
+ {
+ ServiceEndpointContainer invocationTarget = lazyInitializeInvocationTarget();
+
+ Class beanClass = invocationTarget.getServiceImplementationClass();
+ Method method = getImplMethod(beanClass, wsInv.getJavaMethod());
+ Object[] args = wsInv.getArgs();
+ InvocationContextCallback invProps = new EJB3InvocationContextCallback(wsInv);
+
+ Object retObj = invocationTarget.invokeEndpoint(method, args, invProps);
+
+ wsInv.setReturnValue(retObj);
+ }
+ catch (Throwable th)
+ {
+ handleInvocationException(th);
+ }
+ }
+
+ static class EJB3InvocationContextCallback implements InvocationContextCallback
+ {
+ private Invocation wsInv;
+
+ public EJB3InvocationContextCallback(Invocation wsInv)
+ {
+ this.wsInv = wsInv;
+ }
+
+ public <T> T get(Class<T> propertyType)
+ {
+ return wsInv.getInvocationContext().getAttachment(propertyType);
+ }
+ }
+}
Added: container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/invocation/InvocationHandlerFactoryImpl.java
===================================================================
--- container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/invocation/InvocationHandlerFactoryImpl.java (rev 0)
+++ container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/invocation/InvocationHandlerFactoryImpl.java 2009-05-28 09:25:31 UTC (rev 10132)
@@ -0,0 +1,65 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.container.jboss50.invocation;
+
+import org.jboss.wsf.spi.invocation.*;
+
+/**
+ * The default invocation model factory fro AS 5.0.
+ *
+ * @author Heiko.Braun(a)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 InvocationHandlerJAXRPC();
+ break;
+ case JAXRPC_EJB21:
+ handler = new InvocationHandlerEJB21();
+ break;
+ case JAXRPC_MDB21:
+ handler = new InvocationHandlerMDB21();
+ break;
+ case JAXWS_JSE:
+ handler = new InvocationHandlerJAXWS();
+ break;
+ case JAXWS_EJB3:
+ handler = new InvocationHandlerEJB3();
+ break;
+ case JAXWS_MDB3:
+ handler = new InvocationHandlerMDB3();
+ break;
+ }
+
+ if(null == handler)
+ throw new IllegalArgumentException("Unable to resolve spi.invocation.InvocationHandler for type " +type);
+
+ return handler;
+ }
+}
Added: container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/invocation/InvocationHandlerJAXRPC.java
===================================================================
--- container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/invocation/InvocationHandlerJAXRPC.java (rev 0)
+++ container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/invocation/InvocationHandlerJAXRPC.java 2009-05-28 09:25:31 UTC (rev 10132)
@@ -0,0 +1,70 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.container.jboss50.invocation;
+
+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(a)jboss.org
+ * @since 25-Apr-2007
+ */
+public class InvocationHandlerJAXRPC extends InvocationHandlerJSE
+{
+ 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: container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/invocation/InvocationHandlerJAXWS.java
===================================================================
--- container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/invocation/InvocationHandlerJAXWS.java (rev 0)
+++ container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/invocation/InvocationHandlerJAXWS.java 2009-05-28 09:25:31 UTC (rev 10132)
@@ -0,0 +1,32 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.container.jboss50.invocation;
+
+/**
+ * Handles invocations on JSE endpoints.
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 25-Apr-2007
+ */
+public class InvocationHandlerJAXWS extends InvocationHandlerJSE
+{
+}
Added: container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/invocation/InvocationHandlerJSE.java
===================================================================
--- container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/invocation/InvocationHandlerJSE.java (rev 0)
+++ container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/invocation/InvocationHandlerJSE.java 2009-05-28 09:25:31 UTC (rev 10132)
@@ -0,0 +1,135 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.container.jboss50.invocation;
+
+import java.lang.reflect.Method;
+
+import javax.xml.ws.WebServiceContext;
+
+import org.jboss.wsf.common.JavaUtils;
+import org.jboss.wsf.common.injection.InjectionHelper;
+import org.jboss.wsf.common.injection.PreDestroyHolder;
+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;
+import org.jboss.wsf.spi.metadata.injection.InjectionsMetaData;
+
+/**
+ * Handles invocations on JSE endpoints.
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @author richard.opalka(a)jboss.com
+ * @since 25-Apr-2007
+ */
+public class InvocationHandlerJSE extends InvocationHandler
+{
+ private SPIProvider spiProvider;
+ private ResourceInjectorFactory resourceInjectorFactory;
+
+ public InvocationHandlerJSE()
+ {
+ 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) throws Exception
+ {
+ 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("Cannot get target bean instance", ex);
+ }
+
+ InjectionHelper.injectResources(targetBean, ep.getAttachment(InjectionsMetaData.class));
+ InjectionHelper.callPostConstructMethod(targetBean);
+ ep.addAttachment(PreDestroyHolder.class, new PreDestroyHolder(targetBean));
+ }
+
+ 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: container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/invocation/InvocationHandlerMDB21.java
===================================================================
--- container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/invocation/InvocationHandlerMDB21.java (rev 0)
+++ container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/invocation/InvocationHandlerMDB21.java 2009-05-28 09:25:31 UTC (rev 10132)
@@ -0,0 +1,86 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.container.jboss50.invocation;
+
+import java.lang.reflect.Method;
+
+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;
+
+/**
+ * Handles invocations on MDB EJB21 endpoints.
+ *
+ * @author Thomas.Diesler(a)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 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);
+ }
+ }
+ 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: container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/invocation/InvocationHandlerMDB3.java
===================================================================
--- container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/invocation/InvocationHandlerMDB3.java (rev 0)
+++ container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/invocation/InvocationHandlerMDB3.java 2009-05-28 09:25:31 UTC (rev 10132)
@@ -0,0 +1,86 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.container.jboss50.invocation;
+
+import java.lang.reflect.Method;
+
+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;
+
+/**
+ * Handles invocations on MDB EJB3 endpoints.
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 25-Apr-2007
+ */
+public class InvocationHandlerMDB3 extends AbstractInvocationHandler
+{
+ // provide logging
+ private static final Logger log = Logger.getLogger(InvocationHandlerMDB3.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 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);
+ }
+ }
+ 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: container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/invocation/SecurityAdapterFactoryImpl.java
===================================================================
--- container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/invocation/SecurityAdapterFactoryImpl.java (rev 0)
+++ container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/invocation/SecurityAdapterFactoryImpl.java 2009-05-28 09:25:31 UTC (rev 10132)
@@ -0,0 +1,37 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.container.jboss50.invocation;
+
+import org.jboss.wsf.spi.invocation.SecurityAdaptorFactory;
+import org.jboss.wsf.spi.invocation.SecurityAdaptor;
+
+/**
+ * @author Heiko.Braun(a)jboss.com
+ * Created: Jul 24, 2007
+ */
+public class SecurityAdapterFactoryImpl extends SecurityAdaptorFactory
+{
+ public SecurityAdaptor newSecurityAdapter()
+ {
+ return new SecurityAdaptorImpl();
+ }
+}
Added: container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/invocation/SecurityAdaptorImpl.java
===================================================================
--- container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/invocation/SecurityAdaptorImpl.java (rev 0)
+++ container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/invocation/SecurityAdaptorImpl.java 2009-05-28 09:25:31 UTC (rev 10132)
@@ -0,0 +1,98 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.container.jboss50.invocation;
+
+import org.jboss.security.SecurityAssociation;
+import org.jboss.security.SecurityContext;
+import org.jboss.security.SecurityContextAssociation;
+import org.jboss.wsf.spi.invocation.SecurityAdaptor;
+
+import java.security.AccessController;
+import java.security.Principal;
+import java.security.PrivilegedAction;
+
+import javax.security.auth.Subject;
+
+/**
+ * A JBoss specific SecurityAssociationAdaptor
+ *
+ * @author Thomas.Diesler(a)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);
+ }
+
+ public void pushSubjectContext(Subject subject, Principal principal, Object credential)
+ {
+ SecurityAdaptorImpl.pushSubjectContext(principal, credential, subject);
+ }
+
+ private static SecurityContext getSecurityContext()
+ {
+ return (SecurityContext)AccessController.doPrivileged(new PrivilegedAction() {
+ public Object run()
+ {
+ return SecurityContextAssociation.getSecurityContext();
+ }
+ });
+ }
+
+ private static void pushSubjectContext(final Principal p, final Object cred, final Subject s)
+ {
+ AccessController.doPrivileged(new PrivilegedAction() {
+
+ public Object run()
+ {
+ SecurityContext sc = getSecurityContext();
+ if (sc == null)
+ throw new IllegalStateException("Security Context is null");
+ sc.getUtil().createSubjectInfo(p, cred, s);
+ return null;
+ }
+ });
+ }
+
+
+}
Added: container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/invocation/ServiceEndpointInterceptor.java
===================================================================
--- container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/invocation/ServiceEndpointInterceptor.java (rev 0)
+++ container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/invocation/ServiceEndpointInterceptor.java 2009-05-28 09:25:31 UTC (rev 10132)
@@ -0,0 +1,124 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.container.jboss50.invocation;
+
+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;
+
+import javax.xml.rpc.handler.soap.SOAPMessageContext;
+
+/**
+ * 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(a)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: container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/transport/DeploymentAspectHttpServer.java
===================================================================
--- container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/transport/DeploymentAspectHttpServer.java (rev 0)
+++ container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/transport/DeploymentAspectHttpServer.java 2009-05-28 09:25:31 UTC (rev 10132)
@@ -0,0 +1,139 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.container.jboss50.transport;
+
+import java.util.HashMap;
+import java.util.Map;
+
+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(a)jboss.org
+ * @since 07-Jul-2006
+ */
+public class DeploymentAspectHttpServer extends AbstractExtensible implements HttpServer
+{
+ private Map<String,Deployment> deployments = new HashMap<String,Deployment>();
+
+ /** 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)
+ {
+ String contextRoot = context.getContextRoot();
+ 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 deployment = depModelFactory.newDeployment("endpoint-deployment", implClass.getClassLoader());
+ deployment.setRuntimeClassLoader(deployment.getInitialClassLoader());
+
+ // Create/Setup the service
+ Service service = deployment.getService();
+ service.setContextRoot(contextRoot);
+
+ // Create/Setup the endpoint
+ org.jboss.wsf.spi.deployment.Endpoint ep = depModelFactory.newEndpoint(implClass.getName());
+ service.addEndpoint(ep);
+
+ // Deploy using deployment aspects
+ getDeploymentAspectManager().deploy(deployment);
+ deployments.put(contextRoot, deployment);
+ }
+ 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)
+ {
+ String contextRoot = context.getContextRoot();
+
+ try
+ {
+ Deployment deployment = deployments.remove(contextRoot);
+ if (deployment != null)
+ getDeploymentAspectManager().undeploy(deployment);
+ }
+ catch (RuntimeException rte)
+ {
+ throw rte;
+ }
+ catch (Exception ex)
+ {
+ throw new WebServiceException(ex);
+ }
+ }
+
+ private DeploymentAspectManager getDeploymentAspectManager()
+ {
+ SPIProvider spiProvider = SPIProviderResolver.getInstance().getProvider();
+ DeploymentAspectManagerFactory depManagerFactory = spiProvider.getSPI(DeploymentAspectManagerFactory.class);
+ DeploymentAspectManager depManager = depManagerFactory.getDeploymentAspectManager("WSDeploymentAspectManagerEndpointAPI");
+ return depManager;
+ }
+
+ private Class getImplementorClass(Endpoint endpoint)
+ {
+ Object implementor = endpoint.getImplementor();
+ Class implClass = (implementor instanceof Class ? (Class)implementor : implementor.getClass());
+ return implClass;
+ }
+}
Added: container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/transport/DynamicEndpointDeploymentAspect.java
===================================================================
--- container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/transport/DynamicEndpointDeploymentAspect.java (rev 0)
+++ container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/transport/DynamicEndpointDeploymentAspect.java 2009-05-28 09:25:31 UTC (rev 10132)
@@ -0,0 +1,143 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.container.jboss50.transport;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.xml.ws.WebServiceException;
+
+import org.jboss.classloading.spi.dependency.ClassLoading;
+import org.jboss.classloading.spi.dependency.Module;
+import org.jboss.deployers.client.plugins.deployment.AbstractDeployment;
+import org.jboss.deployers.client.spi.DeployerClient;
+import org.jboss.deployers.client.spi.DeploymentFactory;
+import org.jboss.deployers.spi.attachments.MutableAttachments;
+import org.jboss.deployers.structure.spi.ClassLoaderFactory;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.logging.Logger;
+import org.jboss.metadata.web.jboss.JBossWebMetaData;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.DeploymentAspect;
+import org.jboss.wsf.spi.deployment.WSFDeploymentException;
+import org.jboss.wsf.container.jboss50.deployment.tomcat.WebMetaDataModifier;
+
+/**
+ * Deploy the generated webapp to JBoss
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 12-May-2006
+ */
+public class DynamicEndpointDeploymentAspect extends DeploymentAspect
+{
+ // provide logging
+ private static Logger log = Logger.getLogger(DynamicEndpointDeploymentAspect.class);
+
+ private DeploymentFactory factory = new DeploymentFactory();
+ private WebMetaDataModifier webMetaDataModifier;
+ private DeployerClient mainDeployer;
+
+ private Map<String,AbstractDeployment> deployments = new HashMap<String,AbstractDeployment>();
+
+ public void setWebMetaDataModifier(WebMetaDataModifier webMetaDataModifier)
+ {
+ this.webMetaDataModifier = webMetaDataModifier;
+ }
+
+ public void setMainDeployer(DeployerClient mainDeployer)
+ {
+ this.mainDeployer = mainDeployer;
+ }
+
+ public void create(Deployment dep)
+ {
+ JBossWebMetaData jbwmd = dep.getAttachment(JBossWebMetaData.class);
+ if (jbwmd == null)
+ throw new WebServiceException("Cannot find web meta data");
+
+ ClassLoader epLoader = dep.getRuntimeClassLoader();
+
+ try
+ {
+ webMetaDataModifier.modifyMetaData(dep);
+
+ String contextRoot = dep.getService().getContextRoot();
+ AbstractDeployment deployment = createSimpleDeployment("http://jaxws-endpoint-api" + contextRoot);
+ MutableAttachments mutableAttachments = (MutableAttachments)deployment.getPredeterminedManagedObjects();
+ mutableAttachments.addAttachment(WebMetaDataModifier.PROPERTY_GENERATED_WEBAPP, Boolean.TRUE);
+ mutableAttachments.addAttachment("org.jboss.web.explicitDocBase", "/", String.class);
+ mutableAttachments.addAttachment(ClassLoaderFactory.class, new ContextClassLoaderFactory(epLoader));
+ mutableAttachments.addAttachment(JBossWebMetaData.class, jbwmd);
+ mutableAttachments.addAttachment(Module.class, ClassLoading.getModuleForClassLoader(epLoader));
+ mainDeployer.deploy(deployment);
+
+ deployments.put(contextRoot, deployment);
+ }
+ catch (Exception ex)
+ {
+ WSFDeploymentException.rethrow(ex);
+ }
+ }
+
+ public void destroy(Deployment dep)
+ {
+ try
+ {
+ String contextRoot = dep.getService().getContextRoot();
+ AbstractDeployment deployment = deployments.remove(contextRoot);
+ if (deployment != null)
+ mainDeployer.undeploy(deployment);
+ }
+ catch (Exception ex)
+ {
+ WSFDeploymentException.rethrow(ex);
+ }
+ }
+
+ private AbstractDeployment createSimpleDeployment(String name)
+ {
+ AbstractDeployment unit = new AbstractDeployment(name);
+ // There is one top level deployment
+ factory.addContext(unit, "");
+ return unit;
+ }
+
+ private static class ContextClassLoaderFactory implements ClassLoaderFactory
+ {
+ private ClassLoader classloader;
+
+ public ContextClassLoaderFactory(ClassLoader classloader)
+ {
+ this.classloader = classloader;
+ }
+
+ public ClassLoader createClassLoader(DeploymentUnit unit) throws Exception
+ {
+ return classloader;
+ }
+
+ public void removeClassLoader(DeploymentUnit unit) throws Exception
+ {
+ classloader = null;
+ }
+ }
+}
Added: container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/transport/WebAppDeploymentAspect.java
===================================================================
--- container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/transport/WebAppDeploymentAspect.java (rev 0)
+++ container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/transport/WebAppDeploymentAspect.java 2009-05-28 09:25:31 UTC (rev 10132)
@@ -0,0 +1,107 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.container.jboss50.transport;
+
+import javax.security.jacc.PolicyConfiguration;
+import javax.security.jacc.PolicyConfigurationFactory;
+import org.jboss.web.WebPermissionMapping;
+import javax.xml.ws.WebServiceException;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.metadata.web.jboss.JBossWebMetaData;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.DeploymentAspect;
+import org.jboss.wsf.spi.deployment.WSFDeploymentException;
+import org.jboss.wsf.container.jboss50.deployment.tomcat.WebMetaDataModifier;
+
+/**
+ * Deploy the generated webapp to JBoss
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @author Anil.Saldhana(a)jboss.com
+ * @since 12-May-2006
+ */
+public class WebAppDeploymentAspect extends DeploymentAspect
+{
+ private WebMetaDataModifier webMetaDataModifier;
+
+ public void setWebMetaDataModifier(WebMetaDataModifier webMetaDataModifier)
+ {
+ this.webMetaDataModifier = webMetaDataModifier;
+ }
+
+ public void create(Deployment dep)
+ {
+ JBossWebMetaData jbwmd = dep.getAttachment(JBossWebMetaData.class);
+ if (jbwmd == null)
+ throw new WebServiceException("Cannot find web meta data");
+
+ DeploymentUnit unit = dep.getAttachment(DeploymentUnit.class);
+ if (unit != null)
+ {
+ try
+ {
+ webMetaDataModifier.modifyMetaData(dep);
+
+ try
+ {
+ generateJACCPermissions(dep.getSimpleName(), jbwmd); // TODO: make it another deployment aspect
+ }
+ catch (Exception e)
+ {
+ throw new RuntimeException("Exception generating JACC perms:",e);
+ }
+
+ // Attaching it to the DeploymentUnit will cause a new webapp deployment
+ unit.addAttachment(JBossWebMetaData.class, jbwmd);
+ unit.addAttachment(WebMetaDataModifier.PROPERTY_GENERATED_WEBAPP, Boolean.TRUE);
+ }
+ catch (Exception ex)
+ {
+ WSFDeploymentException.rethrow(ex);
+ }
+ }
+ else
+ {
+ throw new IllegalStateException("Cannot obtain deployment unit");
+ }
+ }
+
+ /**
+ * JBAS-5935: The dynamic web application generated by the JBossWS
+ * does not go through the war security deployer. Hence the JACC
+ * permissions are not created. There is a need to explicitly create
+ * the war jacc permissions.
+ * @param depName
+ * @param jbwmd
+ * @throws Exception
+ */
+ protected void generateJACCPermissions(String depName, JBossWebMetaData jbwmd)
+ throws Exception
+ {
+ PolicyConfigurationFactory policyConfigurationFactory =
+ PolicyConfigurationFactory.getPolicyConfigurationFactory();
+ PolicyConfiguration policyConfiguration =
+ policyConfigurationFactory.getPolicyConfiguration(depName, false);
+ WebPermissionMapping.createPermissions(jbwmd, policyConfiguration);
+ policyConfiguration.commit();
+ }
+}
Added: container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/transport/WebAppGeneratorDeploymentAspect.java
===================================================================
--- container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/transport/WebAppGeneratorDeploymentAspect.java (rev 0)
+++ container/jboss50/branches/jbossws-jboss510/src/main/java/org/jboss/wsf/container/jboss50/transport/WebAppGeneratorDeploymentAspect.java 2009-05-28 09:25:31 UTC (rev 10132)
@@ -0,0 +1,277 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.container.jboss50.transport;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import org.jboss.metadata.web.jboss.JBossServletMetaData;
+import org.jboss.metadata.web.jboss.JBossServletsMetaData;
+import org.jboss.metadata.web.jboss.JBossWebMetaData;
+import org.jboss.metadata.web.spec.AuthConstraintMetaData;
+import org.jboss.metadata.web.spec.LoginConfigMetaData;
+import org.jboss.metadata.web.spec.SecurityConstraintMetaData;
+import org.jboss.metadata.web.spec.ServletMappingMetaData;
+import org.jboss.metadata.web.spec.TransportGuaranteeType;
+import org.jboss.metadata.web.spec.UserDataConstraintMetaData;
+import org.jboss.metadata.web.spec.WebResourceCollectionMetaData;
+import org.jboss.metadata.web.spec.WebResourceCollectionsMetaData;
+import org.jboss.wsf.spi.annotation.WebContext;
+import org.jboss.wsf.spi.deployment.ArchiveDeployment;
+import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.DeploymentAspect;
+import org.jboss.wsf.spi.deployment.Endpoint;
+import org.jboss.wsf.spi.deployment.WSFDeploymentException;
+import org.jboss.wsf.spi.metadata.j2ee.EJBArchiveMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.EJBMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.EJBSecurityMetaData;
+import org.jboss.wsf.container.jboss50.deployment.tomcat.SecurityHandler;
+
+/**
+ * A deployment aspect that generates a webapp for an EJB endpoint
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 13-Oct-2007
+ */
+public class WebAppGeneratorDeploymentAspect extends DeploymentAspect
+{
+ private SecurityHandler securityHandlerEJB21;
+ private SecurityHandler securityHandlerEJB3;
+
+ public void setSecurityHandlerEJB21(SecurityHandler handler)
+ {
+ this.securityHandlerEJB21 = handler;
+ }
+
+ public void setSecurityHandlerEJB3(SecurityHandler handler)
+ {
+ this.securityHandlerEJB3 = handler;
+ }
+
+ @Override
+ public void create(Deployment dep)
+ {
+ String typeStr = dep.getType().toString();
+ if (typeStr.endsWith("EJB21"))
+ {
+ JBossWebMetaData jbwmd = generatWebDeployment((ArchiveDeployment)dep, securityHandlerEJB21);
+ dep.addAttachment(JBossWebMetaData.class, jbwmd);
+ }
+ else if (typeStr.endsWith("EJB3"))
+ {
+ JBossWebMetaData jbwmd = generatWebDeployment((ArchiveDeployment)dep, securityHandlerEJB3);
+ dep.addAttachment(JBossWebMetaData.class, jbwmd);
+ }
+ else
+ {
+ JBossWebMetaData jbwmd = generatWebDeployment((ArchiveDeployment)dep, null);
+ dep.addAttachment(JBossWebMetaData.class, jbwmd);
+ }
+ }
+
+ protected JBossWebMetaData generatWebDeployment(ArchiveDeployment dep, SecurityHandler securityHandler)
+ {
+ JBossWebMetaData jbwmd = new JBossWebMetaData();
+ createWebAppDescriptor(dep, jbwmd, securityHandler);
+ createJBossWebAppDescriptor(dep, jbwmd, securityHandler);
+ return jbwmd;
+ }
+
+ protected void createWebAppDescriptor(Deployment dep, JBossWebMetaData jbwmd, SecurityHandler securityHandler)
+ {
+ /*
+ <servlet>
+ <servlet-name>
+ <servlet-class>
+ </servlet>
+ */
+ JBossServletsMetaData servlets = jbwmd.getServlets();
+ for (Endpoint ep : dep.getService().getEndpoints())
+ {
+ JBossServletMetaData servlet = new JBossServletMetaData();
+ servlet.setServletName(ep.getShortName());
+ servlet.setServletClass(ep.getTargetBeanName());
+ servlets.add(servlet);
+ }
+
+ /*
+ <servlet-mapping>
+ <servlet-name>
+ <url-pattern>
+ </servlet-mapping>
+ */
+ for (Endpoint ep : dep.getService().getEndpoints())
+ {
+ List<ServletMappingMetaData> servletMappings = jbwmd.getServletMappings();
+ if (servletMappings == null)
+ {
+ servletMappings = new ArrayList<ServletMappingMetaData>();
+ jbwmd.setServletMappings(servletMappings);
+ }
+ ServletMappingMetaData servletMapping = new ServletMappingMetaData();
+ servletMapping.setServletName(ep.getShortName());
+ servletMapping.setUrlPatterns(Arrays.asList(new String[] { ep.getURLPattern() }));
+ servletMappings.add(servletMapping);
+ }
+
+ String authMethod = null;
+
+ // Add web-app/security-constraint for each port component
+ for (Endpoint ep : dep.getService().getEndpoints())
+ {
+ String ejbName = ep.getShortName();
+
+ Boolean secureWSDLAccess = null;
+ String transportGuarantee = null;
+ String beanAuthMethod = null;
+
+ WebContext anWebContext = (WebContext)ep.getTargetBeanClass().getAnnotation(WebContext.class);
+ if (anWebContext != null)
+ {
+ if (anWebContext.authMethod().length() > 0)
+ beanAuthMethod = anWebContext.authMethod();
+ if (anWebContext.transportGuarantee().length() > 0)
+ transportGuarantee = anWebContext.transportGuarantee();
+ if (anWebContext.secureWSDLAccess())
+ secureWSDLAccess = anWebContext.secureWSDLAccess();
+ }
+
+ EJBArchiveMetaData appMetaData = dep.getAttachment(EJBArchiveMetaData.class);
+ if (appMetaData != null && appMetaData.getBeanByEjbName(ejbName) != null)
+ {
+ EJBMetaData bmd = appMetaData.getBeanByEjbName(ejbName);
+ EJBSecurityMetaData smd = bmd.getSecurityMetaData();
+ if (smd != null)
+ {
+ beanAuthMethod = smd.getAuthMethod();
+ transportGuarantee = smd.getTransportGuarantee();
+ secureWSDLAccess = smd.getSecureWSDLAccess();
+ }
+ }
+
+ if (beanAuthMethod != null || transportGuarantee != null)
+ {
+ /*
+ <security-constraint>
+ <web-resource-collection>
+ <web-resource-name>TestUnAuthPort</web-resource-name>
+ <url-pattern>/HSTestRoot/TestUnAuth/*</url-pattern>
+ </web-resource-collection>
+ <auth-constraint>
+ <role-name>*</role-name>
+ </auth-constraint>
+ <user-data-constraint>
+ <transport-guarantee>NONE</transport-guarantee>
+ </user-data-constraint>
+ </security-constraint>
+ */
+ List<SecurityConstraintMetaData> securityContraints = jbwmd.getSecurityContraints();
+ if (securityContraints == null)
+ {
+ securityContraints = new ArrayList<SecurityConstraintMetaData>();
+ jbwmd.setSecurityContraints(securityContraints);
+ }
+ SecurityConstraintMetaData securityConstraint = new SecurityConstraintMetaData();
+ securityContraints.add(securityConstraint);
+
+ WebResourceCollectionsMetaData resourceCollections = securityConstraint.getResourceCollections();
+ if (resourceCollections == null)
+ {
+ resourceCollections = new WebResourceCollectionsMetaData();
+ securityConstraint.setResourceCollections(resourceCollections);
+ }
+ WebResourceCollectionMetaData resourceCollection = new WebResourceCollectionMetaData();
+ resourceCollections.add(resourceCollection);
+
+ resourceCollection.setWebResourceName(ejbName);
+ resourceCollection.setUrlPatterns(Arrays.asList(new String[] { ep.getURLPattern() }));
+ ArrayList<String> httpMethods = new ArrayList<String>();
+ resourceCollection.setHttpMethods(httpMethods);
+ if (Boolean.TRUE.equals(secureWSDLAccess))
+ {
+ httpMethods.add("GET");
+ }
+ httpMethods.add("POST");
+
+ // Optional auth-constraint
+ if (beanAuthMethod != null)
+ {
+ // Only the first auth-method gives the war login-config/auth-method
+ if (authMethod == null)
+ authMethod = beanAuthMethod;
+
+ AuthConstraintMetaData authConstraint = new AuthConstraintMetaData();
+ authConstraint.setRoleNames(Arrays.asList(new String[] { "*" }));
+ securityConstraint.setAuthConstraint(authConstraint);
+ }
+ // Optional user-data-constraint
+ if (transportGuarantee != null)
+ {
+ UserDataConstraintMetaData userDataConstraint = new UserDataConstraintMetaData();
+ userDataConstraint.setTransportGuarantee(TransportGuaranteeType.valueOf(transportGuarantee));
+ securityConstraint.setUserDataConstraint(userDataConstraint);
+ }
+ }
+ }
+
+ // Optional login-config/auth-method
+ if (authMethod != null && securityHandler != null)
+ {
+ LoginConfigMetaData loginConfig = jbwmd.getLoginConfig();
+ if (loginConfig == null)
+ {
+ loginConfig = new LoginConfigMetaData();
+ jbwmd.setLoginConfig(loginConfig);
+ }
+ loginConfig.setAuthMethod(authMethod);
+ loginConfig.setRealmName("EJBServiceEndpointServlet Realm");
+
+ securityHandler.addSecurityRoles(jbwmd, dep);
+ }
+ }
+
+ protected void createJBossWebAppDescriptor(Deployment dep, JBossWebMetaData jbwmd, SecurityHandler securityHandler)
+ {
+ /* Create a jboss-web
+ <jboss-web>
+ <security-domain>java:/jaas/cts</security-domain>
+ <context-root>/ws/ejbN/</context-root>
+ <virtual-host>some.domain.com</virtual-host>
+ </jboss-web>
+ */
+ if (securityHandler != null)
+ securityHandler.addSecurityDomain(jbwmd, dep);
+
+ // Get the context root for this deployment
+ String contextRoot = dep.getService().getContextRoot();
+ if (contextRoot == null)
+ throw new WSFDeploymentException("Cannot obtain context root");
+
+ jbwmd.setContextRoot(contextRoot);
+ String[] virtualHosts = dep.getService().getVirtualHosts();
+ if (virtualHosts != null && virtualHosts.length > 0)
+ {
+ jbwmd.setVirtualHosts(Arrays.asList(virtualHosts));
+ }
+ }
+}
Added: container/jboss50/branches/jbossws-jboss510/src/main/resources/jbossws-jboss50.deployer/META-INF/jbossws-deployer-jboss-beans.xml
===================================================================
--- container/jboss50/branches/jbossws-jboss510/src/main/resources/jbossws-jboss50.deployer/META-INF/jbossws-deployer-jboss-beans.xml (rev 0)
+++ container/jboss50/branches/jbossws-jboss510/src/main/resources/jbossws-jboss50.deployer/META-INF/jbossws-deployer-jboss-beans.xml 2009-05-28 09:25:31 UTC (rev 10132)
@@ -0,0 +1,388 @@
+<?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.transport.DeploymentAspectHttpServer"/>
+
+ <!-- An abstraction of server configuration aspects. -->
+ <bean name="WSServerConfig" class="org.jboss.wsf.container.jboss50.deployer.ServerConfigImpl">
+ <property name="mbeanServer"><inject bean="WSMBeanServerLocator" property="mbeanServer"/></property>
+
+ <!--
+ The WSDL, that is a required deployment artifact for an endpoint, has a <soap:address>
+ element which points to the location of the endpoint. JBoss supports rewriting of that SOAP address.
+
+ If the content of <soap:address> is a valid URL, JBossWS will not rewrite it unless 'modifySOAPAddress' is true.
+ If the content of <soap:address> is not a valid URL, JBossWS will rewrite it using the attribute values given below.
+
+ If 'webServiceHost' is not set, JBossWS uses requesters protocol host when rewriting the <soap:address>.
+ -->
+ <property name="webServiceHost">${jboss.bind.address}</property>
+ <property name="modifySOAPAddress">true</property>
+
+ <!--
+ Set these properties to explicitly define the ports that will be used for rewriting the SOAP address.
+ Otherwise the ports will be identified by querying the list of installed connectors.
+ If multiple connectors are found the port of the first connector is used.
+ <property name="webServiceSecurePort">8443</property>
+ <property name="webServicePort">8080</property>
+ -->
+ </bean>
+
+ <!-- *********************************************************************************************************************
+ Web Service deployment
+
+ There are two deployers registered with the JBoss Main Deployer.
+ The order of which is important
+
+ 1) EJBDeployer < WebServiceDeployerEJB < WarDeployer
+ 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.deployer.WebServiceDeployerEJB">
+ <depends>EJB2xDeployer</depends>
+ <depends>Ejb3Deployer</depends>
+ </bean>
+
+ <!--
+ A web service deployer that hooks in before the WAR deployer
+ -->
+ <bean name="WebServiceDeployerPreJSE" class="org.jboss.wsf.container.jboss50.deployer.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
+ -->
+ <bean name="WebServiceDeployerPostJSE" class="org.jboss.wsf.container.jboss50.deployer.WebServiceDeployerPostJSE">
+ <depends>WarDeployer</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.deployer.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.deployer.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.deployer.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.deployer.JAXWSDeployerHookPreJSE">
+ <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.deployer.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.deployer.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.deployment.metadata.ContainerMetaDataDeploymentAspect">
+ <property name="provides">ContainerMetaData, VFSRoot</property>
+ </bean>
+
+ <bean name="WSInjectionMetaDataDeploymentAspect" class="org.jboss.wsf.container.jboss50.deployment.metadata.InjectionMetaDataDeploymentAspect">
+ <property name="requires">WebMetaData</property>
+ <property name="provides">InjectionMetaData</property>
+ <property name="ejbReferenceResolver"><inject bean="org.jboss.ejb3.EjbReferenceResolver"/></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="WSVirtualHostDeploymentAspect" class="org.jboss.wsf.framework.deployment.VirtualHostDeploymentAspect">
+ <property name="requires">ContainerMetaData</property>
+ <property name="provides">VirtualHosts</property>
+ </bean>
+
+ <bean name="WSDynamicEndpointDeploymentAspect" class="org.jboss.wsf.container.jboss50.transport.DynamicEndpointDeploymentAspect">
+ <property name="requires">WebMetaData, ContextProperties</property>
+ <property name="webMetaDataModifier"><inject bean="WSWebMetaDataModifier"/></property>
+ <property name="mainDeployer"><inject bean="MainDeployer"/></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.deployment.tomcat.ModifyWebMetaDataDeploymentAspect">
+ <property name="requires">ContextProperties, StackDescriptor</property>
+ <property name="provides">WebMetaData</property>
+ <property name="webMetaDataModifier"><inject bean="WSWebMetaDataModifier"/></property>
+ </bean>
+
+ <bean name="WSRuntimeLoaderDeploymentAspect" class="org.jboss.wsf.container.jboss50.deployment.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.transport.WebAppDeploymentAspect">
+ <property name="requires">WebMetaData, ContextProperties</property>
+ <property name="webMetaDataModifier"><inject bean="WSWebMetaDataModifier"/></property>
+ </bean>
+
+ <bean name="WSWebAppGeneratorDeploymentAspect" class="org.jboss.wsf.container.jboss50.transport.WebAppGeneratorDeploymentAspect">
+ <property name="requires">VirtualHosts,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.deployment.tomcat.SecurityHandlerEJB21"/>
+ <bean name="WSSecurityHandlerEJB3" class="org.jboss.wsf.container.jboss50.deployment.tomcat.SecurityHandlerEJB3"/>
+ <bean name="WSWebMetaDataModifier" class="org.jboss.wsf.container.jboss50.deployment.tomcat.WebMetaDataModifierImpl"/>
+
+ <!-- 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="WSInjectionMetaDataDeploymentAspect"/>
+ <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="WSInjectionMetaDataDeploymentAspect"/>
+ <inject bean="WSContextRootDeploymentAspect"/>
+ <inject bean="WSVirtualHostDeploymentAspect"/>
+ <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="WSDynamicEndpointDeploymentAspect"/>
+ <inject bean="WSEndpointAPIDeploymentAspect"/>
+ <inject bean="WSVirtualHostDeploymentAspect"/>
+ <inject bean="WSEndpointAddressDeploymentAspect"/>
+ <inject bean="WSEndpointHandlerDeploymentAspect"/>
+ <inject bean="WSEndpointLifecycleDeploymentAspect"/>
+ <inject bean="WSEndpointMetricsDeploymentAspect"/>
+ <inject bean="WSEndpointNameDeploymentAspect"/>
+ <inject bean="WSEndpointRegistryDeploymentAspect"/>
+ <inject bean="WSWebAppGeneratorDeploymentAspect"/>
+ </set>
+ </property>
+ </bean>
+
+</deployment>
Added: container/jboss50/branches/jbossws-jboss510/src/main/resources/jbossws-jboss50.jar/META-INF/services/org.jboss.wsf.spi.deployment.DeploymentModelFactory
===================================================================
--- container/jboss50/branches/jbossws-jboss510/src/main/resources/jbossws-jboss50.jar/META-INF/services/org.jboss.wsf.spi.deployment.DeploymentModelFactory (rev 0)
+++ container/jboss50/branches/jbossws-jboss510/src/main/resources/jbossws-jboss50.jar/META-INF/services/org.jboss.wsf.spi.deployment.DeploymentModelFactory 2009-05-28 09:25:31 UTC (rev 10132)
@@ -0,0 +1 @@
+org.jboss.wsf.framework.deployment.ArchiveDeploymentModelFactory
\ No newline at end of file
Added: container/jboss50/branches/jbossws-jboss510/src/main/resources/jbossws-jboss50.jar/META-INF/services/org.jboss.wsf.spi.invocation.InvocationHandlerFactory
===================================================================
--- container/jboss50/branches/jbossws-jboss510/src/main/resources/jbossws-jboss50.jar/META-INF/services/org.jboss.wsf.spi.invocation.InvocationHandlerFactory (rev 0)
+++ container/jboss50/branches/jbossws-jboss510/src/main/resources/jbossws-jboss50.jar/META-INF/services/org.jboss.wsf.spi.invocation.InvocationHandlerFactory 2009-05-28 09:25:31 UTC (rev 10132)
@@ -0,0 +1 @@
+org.jboss.wsf.container.jboss50.invocation.InvocationHandlerFactoryImpl
\ No newline at end of file
Added: container/jboss50/branches/jbossws-jboss510/src/main/resources/jbossws-jboss50.jar/META-INF/services/org.jboss.wsf.spi.invocation.SecurityAdaptorFactory
===================================================================
--- container/jboss50/branches/jbossws-jboss510/src/main/resources/jbossws-jboss50.jar/META-INF/services/org.jboss.wsf.spi.invocation.SecurityAdaptorFactory (rev 0)
+++ container/jboss50/branches/jbossws-jboss510/src/main/resources/jbossws-jboss50.jar/META-INF/services/org.jboss.wsf.spi.invocation.SecurityAdaptorFactory 2009-05-28 09:25:31 UTC (rev 10132)
@@ -0,0 +1 @@
+org.jboss.wsf.container.jboss50.invocation.SecurityAdapterFactoryImpl
\ No newline at end of file
Added: container/jboss50/branches/jbossws-jboss510/src/main/resources/jbossws-jboss50.jar/META-INF/services/org.jboss.wsf.spi.management.ServerConfigFactory
===================================================================
--- container/jboss50/branches/jbossws-jboss510/src/main/resources/jbossws-jboss50.jar/META-INF/services/org.jboss.wsf.spi.management.ServerConfigFactory (rev 0)
+++ container/jboss50/branches/jbossws-jboss510/src/main/resources/jbossws-jboss50.jar/META-INF/services/org.jboss.wsf.spi.management.ServerConfigFactory 2009-05-28 09:25:31 UTC (rev 10132)
@@ -0,0 +1 @@
+org.jboss.wsf.framework.management.ServerConfigFactoryImpl
\ No newline at end of file
Added: container/jboss50/branches/jbossws-jboss510/src/main/scripts/assembly-resources.xml
===================================================================
--- container/jboss50/branches/jbossws-jboss510/src/main/scripts/assembly-resources.xml (rev 0)
+++ container/jboss50/branches/jbossws-jboss510/src/main/scripts/assembly-resources.xml 2009-05-28 09:25:31 UTC (rev 10132)
@@ -0,0 +1,18 @@
+<assembly 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/xsd/assembly-1.1.0-SNAPSHOT.xsd">
+ <id>resources</id>
+ <formats>
+ <format>zip</format>
+ </formats>
+ <includeBaseDirectory>false</includeBaseDirectory>
+ <fileSets>
+ <fileSet>
+ <directory>src/main/resources</directory>
+ <outputDirectory>/</outputDirectory>
+ <includes>
+ <include>jbossws-jboss50.deployer/**</include>
+ <include>jbossws-jboss50.jar/**</include>
+ </includes>
+ </fileSet>
+ </fileSets>
+</assembly>
\ No newline at end of file
15 years, 7 months
JBossWS SVN: r10131 - framework/trunk/testsuite/test/java/org/jboss/test/ws/jaxws/samples/asynchronous.
by jbossws-commits@lists.jboss.org
Author: alessio.soldano(a)jboss.com
Date: 2009-05-28 05:18:31 -0400 (Thu, 28 May 2009)
New Revision: 10131
Modified:
framework/trunk/testsuite/test/java/org/jboss/test/ws/jaxws/samples/asynchronous/AsynchronousDispatchTestCase.java
Log:
[CXF-2190] Minor change to the test
Modified: framework/trunk/testsuite/test/java/org/jboss/test/ws/jaxws/samples/asynchronous/AsynchronousDispatchTestCase.java
===================================================================
--- framework/trunk/testsuite/test/java/org/jboss/test/ws/jaxws/samples/asynchronous/AsynchronousDispatchTestCase.java 2009-05-28 09:17:44 UTC (rev 10130)
+++ framework/trunk/testsuite/test/java/org/jboss/test/ws/jaxws/samples/asynchronous/AsynchronousDispatchTestCase.java 2009-05-28 09:18:31 UTC (rev 10131)
@@ -39,10 +39,9 @@
import junit.framework.Test;
+import org.jboss.wsf.common.DOMUtils;
import org.jboss.wsf.test.JBossWSTest;
import org.jboss.wsf.test.JBossWSTestSetup;
-import org.jboss.wsf.common.DOMUtils;
-import org.jboss.wsf.common.DOMWriter;
import org.w3c.dom.Element;
/**
@@ -55,7 +54,6 @@
{
private String targetNS = "http://org.jboss.ws/jaxws/asynchronous";
private String reqPayload = "<ns2:echo xmlns:ns2='" + targetNS + "'><String_1>Hello</String_1></ns2:echo>";
- private String expPayload = "<ns2:echoResponse xmlns:ns2='" + targetNS + "'><result>Hello</result></ns2:echoResponse>";
private Exception handlerException;
private boolean asyncHandlerCalled;
@@ -110,8 +108,9 @@
private void verifyResponse(Source result) throws IOException
{
- Element resElement = DOMUtils.sourceToElement(result);
- String resStr = DOMWriter.printNode(resElement, false);
- assertTrue("Unexpected response: " + resStr, resStr.contains("<result>Hello</result>"));
+ Element docElement = DOMUtils.sourceToElement(result);
+ Element retElement = DOMUtils.getFirstChildElement(docElement);
+ assertEquals("result", retElement.getNodeName());
+ assertEquals("Hello", retElement.getTextContent());
}
}
15 years, 7 months
JBossWS SVN: r10130 - stack/cxf/trunk/modules/testsuite.
by jbossws-commits@lists.jboss.org
Author: alessio.soldano(a)jboss.com
Date: 2009-05-28 05:17:44 -0400 (Thu, 28 May 2009)
New Revision: 10130
Modified:
stack/cxf/trunk/modules/testsuite/test-excludes-jboss500.txt
stack/cxf/trunk/modules/testsuite/test-excludes-jboss501.txt
stack/cxf/trunk/modules/testsuite/test-excludes-jboss510.txt
stack/cxf/trunk/modules/testsuite/test-excludes-jboss600.txt
Log:
Enabling tests
Modified: stack/cxf/trunk/modules/testsuite/test-excludes-jboss500.txt
===================================================================
--- stack/cxf/trunk/modules/testsuite/test-excludes-jboss500.txt 2009-05-28 07:43:15 UTC (rev 10129)
+++ stack/cxf/trunk/modules/testsuite/test-excludes-jboss500.txt 2009-05-28 09:17:44 UTC (rev 10130)
@@ -29,12 +29,6 @@
# [CXF-2006] RespectBinding feature and not understood required extensibility elements
org/jboss/test/ws/jaxws/jbws2449/**
-# [CXF-2185] Handler protocol match fails when multiple protocols are specified
-org/jboss/test/ws/jaxws/handlerscope/**
-
-# [CXF-2190] Invalid message sent using Dispatch
-org/jboss/test/ws/jaxws/samples/asynchronous/AsynchronousDispatchTestCase.*
-
# [EJBTHREE-1152] service-ref in ejb-jar.xml is ignored
org/jboss/test/ws/jaxws/samples/serviceref/ServiceRefEJBTestCase.*
Modified: stack/cxf/trunk/modules/testsuite/test-excludes-jboss501.txt
===================================================================
--- stack/cxf/trunk/modules/testsuite/test-excludes-jboss501.txt 2009-05-28 07:43:15 UTC (rev 10129)
+++ stack/cxf/trunk/modules/testsuite/test-excludes-jboss501.txt 2009-05-28 09:17:44 UTC (rev 10130)
@@ -29,12 +29,6 @@
# [CXF-2006] RespectBinding feature and not understood required extensibility elements
org/jboss/test/ws/jaxws/jbws2449/**
-# [CXF-2185] Handler protocol match fails when multiple protocols are specified
-org/jboss/test/ws/jaxws/handlerscope/**
-
-# [CXF-2190] Invalid message sent using Dispatch
-org/jboss/test/ws/jaxws/samples/asynchronous/AsynchronousDispatchTestCase.*
-
# [EJBTHREE-1152] service-ref in ejb-jar.xml is ignored
org/jboss/test/ws/jaxws/samples/serviceref/ServiceRefEJBTestCase.*
Modified: stack/cxf/trunk/modules/testsuite/test-excludes-jboss510.txt
===================================================================
--- stack/cxf/trunk/modules/testsuite/test-excludes-jboss510.txt 2009-05-28 07:43:15 UTC (rev 10129)
+++ stack/cxf/trunk/modules/testsuite/test-excludes-jboss510.txt 2009-05-28 09:17:44 UTC (rev 10130)
@@ -29,12 +29,6 @@
# [CXF-2006] RespectBinding feature and not understood required extensibility elements
org/jboss/test/ws/jaxws/jbws2449/**
-# [CXF-2185] Handler protocol match fails when multiple protocols are specified
-org/jboss/test/ws/jaxws/handlerscope/**
-
-# [CXF-2190] Invalid message sent using Dispatch
-org/jboss/test/ws/jaxws/samples/asynchronous/AsynchronousDispatchTestCase.*
-
# [EJBTHREE-1152] service-ref in ejb-jar.xml is ignored
org/jboss/test/ws/jaxws/samples/serviceref/ServiceRefEJBTestCase.*
Modified: stack/cxf/trunk/modules/testsuite/test-excludes-jboss600.txt
===================================================================
--- stack/cxf/trunk/modules/testsuite/test-excludes-jboss600.txt 2009-05-28 07:43:15 UTC (rev 10129)
+++ stack/cxf/trunk/modules/testsuite/test-excludes-jboss600.txt 2009-05-28 09:17:44 UTC (rev 10130)
@@ -29,12 +29,6 @@
# [CXF-2006] RespectBinding feature and not understood required extensibility elements
org/jboss/test/ws/jaxws/jbws2449/**
-# [CXF-2185] Handler protocol match fails when multiple protocols are specified
-org/jboss/test/ws/jaxws/handlerscope/**
-
-# [CXF-2190] Invalid message sent using Dispatch
-org/jboss/test/ws/jaxws/samples/asynchronous/AsynchronousDispatchTestCase.*
-
# [EJBTHREE-1152] service-ref in ejb-jar.xml is ignored
org/jboss/test/ws/jaxws/samples/serviceref/ServiceRefEJBTestCase.*
15 years, 7 months