JBossWS SVN: r4057 - trunk/build/ant-import.
by jbossws-commits@lists.jboss.org
Author: heiko.braun(a)jboss.com
Date: 2007-08-01 10:52:29 -0400 (Wed, 01 Aug 2007)
New Revision: 4057
Modified:
trunk/build/ant-import/build-testsuite.xml
Log:
SPI tools classpath for all containers
Modified: trunk/build/ant-import/build-testsuite.xml
===================================================================
--- trunk/build/ant-import/build-testsuite.xml 2007-08-01 14:51:50 UTC (rev 4056)
+++ trunk/build/ant-import/build-testsuite.xml 2007-08-01 14:52:29 UTC (rev 4057)
@@ -185,6 +185,11 @@
<pathelement location="${jboss.client}/stax-api.jar"/>
<pathelement location="${jboss.client}/wsdl4j.jar"/>
<pathelement location="${jboss.server.lib}/servlet-api.jar"/>
+
+ <!-- SPI tools -->
+ <pathelement location="${jboss.client}/jbossws-spi.jar"/>
+ <pathelement location="${jboss.client}/jaxws-tools.jar"/>
+
</path>
<!--
@@ -217,6 +222,12 @@
<pathelement location="${jboss.server.deploy}/juddi-service.sar/juddi.jar"/>
<pathelement location="${jboss.server.deploy}/juddi-service.sar/juddi-saaj.jar"/>
<pathelement location="${jboss.server.deploy}/juddi-service.sar/scout.jar"/>
+
+ <!-- SPI tools -->
+ <pathelement location="${jboss.client}/jbossws-spi.jar"/>
+ <pathelement location="${jboss.client}/jaxws-tools.jar"/>
+ <pathelement location="${jboss.client}/wstx.jar"/>
+ <pathelement location="${env.JAVA_HOME}/lib/tools.jar"/>
</path>
</target>
@@ -239,6 +250,10 @@
<pathelement location="${jboss.client}/stax-api.jar"/>
<pathelement location="${jboss.client}/jbosssx-client.jar"/>
<pathelement location="${jboss.server.lib}/javax.servlet.jar"/>
+
+ <!-- SPI tools -->
+ <pathelement location="${jboss.client}/jbossws-spi.jar"/>
+ <pathelement location="${jboss.client}/jaxws-tools.jar"/>
</path>
<!--
@@ -268,6 +283,12 @@
<pathelement location="${jboss.server.deploy}/juddi-service.sar/juddi.jar"/>
<pathelement location="${jboss.server.deploy}/juddi-service.sar/juddi-saaj.jar"/>
<pathelement location="${jboss.server.deploy}/juddi-service.sar/scout.jar"/>
+
+ <!-- SPI tools -->
+ <pathelement location="${jboss.client}/jbossws-spi.jar"/>
+ <pathelement location="${jboss.client}/jaxws-tools.jar"/>
+ <pathelement location="${jboss.client}/wstx.jar"/>
+ <pathelement location="${env.JAVA_HOME}/lib/tools.jar"/>
</path>
</target>
17 years, 5 months
JBossWS SVN: r4056 - in trunk/integration: sunri/ant-import and 2 other directories.
by jbossws-commits@lists.jboss.org
Author: heiko.braun(a)jboss.com
Date: 2007-08-01 10:51:50 -0400 (Wed, 01 Aug 2007)
New Revision: 4056
Modified:
trunk/integration/sunri/ant-import/macros-deploy-sunri.xml
trunk/integration/sunri/build.xml
trunk/integration/xfire/ant-import/macros-deploy-xfire.xml
trunk/integration/xfire/build.xml
Log:
jbossws-context deployed with jboss-*.sar
Modified: trunk/integration/sunri/ant-import/macros-deploy-sunri.xml
===================================================================
--- trunk/integration/sunri/ant-import/macros-deploy-sunri.xml 2007-08-01 14:34:12 UTC (rev 4055)
+++ trunk/integration/sunri/ant-import/macros-deploy-sunri.xml 2007-08-01 14:51:50 UTC (rev 4056)
@@ -71,8 +71,7 @@
<mkdir dir="${jboss50.home}/server/${jboss.server.instance}/deployers/jbossws.deployer"/>
<unzip dest="${jboss50.home}/server/${jboss.server.instance}/deployers/jbossws.deployer" src="@{jbosslibs}/jbossws-jboss50-deployer.zip"/>
<mkdir dir="${jboss50.home}/server/${jboss.server.instance}/deploy/jbossws-sunri.sar"/>
- <unjar dest="${jboss50.home}/server/${jboss.server.instance}/deploy/jbossws-sunri.sar" src="@{stacklibs}/jbossws-sunri50.sar"/>
- <copy tofile="${jboss50.home}/server/${jboss.server.instance}/deploy/jbossws-context.war" file="@{stacklibs}/jbossws-context.war" overwrite="true"/>
+ <unjar dest="${jboss50.home}/server/${jboss.server.instance}/deploy/jbossws-sunri.sar" src="@{stacklibs}/jbossws-sunri50.sar"/>
<!-- Deploy juddi-service.sar -->
<mkdir dir="${jboss50.home}/server/${jboss.server.instance}/deploy/juddi-service.sar"/>
<unzip dest="${jboss50.home}/server/${jboss.server.instance}/deploy/juddi-service.sar" src="@{thirdpartylibs}/juddi-service.sar"/>
Modified: trunk/integration/sunri/build.xml
===================================================================
--- trunk/integration/sunri/build.xml 2007-08-01 14:34:12 UTC (rev 4055)
+++ trunk/integration/sunri/build.xml 2007-08-01 14:51:50 UTC (rev 4056)
@@ -160,11 +160,11 @@
<!-- Build jbossws-sunri50.sar -->
<jar jarfile="${sunri.output.lib.dir}/jbossws-sunri50.sar" manifest="${sunri.output.etc.dir}/default.mf">
- <!--
+
<fileset dir="${sunri.output.lib.dir}">
<include name="jbossws-context.war"/>
</fileset>
- -->
+
<fileset dir="${spi.dir}/thirdparty">
<include name="jaxrpc-api.jar"/>
</fileset>
Modified: trunk/integration/xfire/ant-import/macros-deploy-xfire.xml
===================================================================
--- trunk/integration/xfire/ant-import/macros-deploy-xfire.xml 2007-08-01 14:34:12 UTC (rev 4055)
+++ trunk/integration/xfire/ant-import/macros-deploy-xfire.xml 2007-08-01 14:51:50 UTC (rev 4056)
@@ -63,8 +63,7 @@
<mkdir dir="${jboss50.home}/server/${jboss.server.instance}/deployers/jbossws.deployer"/>
<unzip dest="${jboss50.home}/server/${jboss.server.instance}/deployers/jbossws.deployer" src="@{jbosslibs}/jbossws-jboss50-deployer.zip"/>
<mkdir dir="${jboss50.home}/server/${jboss.server.instance}/deploy/jbossws-xfire.sar"/>
- <unjar dest="${jboss50.home}/server/${jboss.server.instance}/deploy/jbossws-xfire.sar" src="@{stacklibs}/jbossws-xfire50.sar"/>
- <copy tofile="${jboss50.home}/server/${jboss.server.instance}/deploy/jbossws-context.war" file="@{stacklibs}/jbossws-context.war" overwrite="true"/>
+ <unjar dest="${jboss50.home}/server/${jboss.server.instance}/deploy/jbossws-xfire.sar" src="@{stacklibs}/jbossws-xfire50.sar"/>
<!-- Deploy juddi-service.sar -->
<mkdir dir="${jboss50.home}/server/${jboss.server.instance}/deploy/juddi-service.sar"/>
<unzip dest="${jboss50.home}/server/${jboss.server.instance}/deploy/juddi-service.sar" src="@{thirdpartylibs}/juddi-service.sar"/>
Modified: trunk/integration/xfire/build.xml
===================================================================
--- trunk/integration/xfire/build.xml 2007-08-01 14:34:12 UTC (rev 4055)
+++ trunk/integration/xfire/build.xml 2007-08-01 14:51:50 UTC (rev 4056)
@@ -146,11 +146,11 @@
<!-- Build jbosswsri.sar -->
<jar jarfile="${xfire.output.lib.dir}/jbossws-xfire50.sar" manifest="${xfire.output.etc.dir}/default.mf">
- <!-- [JBAS-4379] MC beans deployed twice because of jacc service
+
<fileset dir="${xfire.output.lib.dir}">
- <include name="jbossws-context.war"/>
+ <include name="jbossws-context.war"/>
</fileset>
- -->
+
<fileset dir="${spi.dir}/thirdparty">
<include name="jaxrpc-api.jar"/>
</fileset>
17 years, 5 months
JBossWS SVN: r4055 - trunk/integration/jboss40/src/main/java/org/jboss/wsf/container/jboss40.
by jbossws-commits@lists.jboss.org
Author: thomas.diesler(a)jboss.com
Date: 2007-08-01 10:34:12 -0400 (Wed, 01 Aug 2007)
New Revision: 4055
Modified:
trunk/integration/jboss40/src/main/java/org/jboss/wsf/container/jboss40/WebServiceClientDeployer.java
Log:
Fix ServiceRefHandlerFactory for AS50
Modified: trunk/integration/jboss40/src/main/java/org/jboss/wsf/container/jboss40/WebServiceClientDeployer.java
===================================================================
--- trunk/integration/jboss40/src/main/java/org/jboss/wsf/container/jboss40/WebServiceClientDeployer.java 2007-08-01 14:33:13 UTC (rev 4054)
+++ trunk/integration/jboss40/src/main/java/org/jboss/wsf/container/jboss40/WebServiceClientDeployer.java 2007-08-01 14:34:12 UTC (rev 4055)
@@ -34,7 +34,6 @@
import org.jboss.deployment.DeploymentInfo;
import org.jboss.system.ServiceMBeanSupport;
import org.jboss.webservice.metadata.serviceref.ServiceRefMetaData;
-import org.jboss.wsf.container.jboss50.serviceref.DefaultServiceRefHandlerFactory;
import org.jboss.wsf.framework.deployment.ResourceLoaderAdapter;
import org.jboss.wsf.framework.deployment.URLLoaderAdapter;
import org.jboss.wsf.spi.SPIProvider;
17 years, 5 months
JBossWS SVN: r4054 - in trunk/integration: jboss50/src/main/java/org/jboss/wsf/container/jboss50/serviceref and 4 other directories.
by jbossws-commits@lists.jboss.org
Author: thomas.diesler(a)jboss.com
Date: 2007-08-01 10:33:13 -0400 (Wed, 01 Aug 2007)
New Revision: 4054
Added:
trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/serviceref/ServiceRefHandlerFactoryImpl.java
trunk/integration/jboss50/src/main/resources/jbossws-jboss50.jar/META-INF/services/org.jboss.wsf.spi.serviceref.ServiceRefHandlerFactory
Removed:
trunk/integration/spi/src/main/java/org/jboss/wsf/framework/serviceref/DefaultServiceRefHandlerFactory.java
Modified:
trunk/integration/jboss40/src/main/java/org/jboss/wsf/container/jboss40/WebServiceClientDeployer.java
trunk/integration/jboss50/src/main/resources/jbossws-jboss50.deployer/META-INF/jbossws-deployer-beans.xml
trunk/integration/spi/src/main/java/org/jboss/wsf/framework/DefaultSPIProviderResolver.java
Log:
Fix ServiceRefHandlerFactory for AS50
Modified: trunk/integration/jboss40/src/main/java/org/jboss/wsf/container/jboss40/WebServiceClientDeployer.java
===================================================================
--- trunk/integration/jboss40/src/main/java/org/jboss/wsf/container/jboss40/WebServiceClientDeployer.java 2007-08-01 14:13:43 UTC (rev 4053)
+++ trunk/integration/jboss40/src/main/java/org/jboss/wsf/container/jboss40/WebServiceClientDeployer.java 2007-08-01 14:33:13 UTC (rev 4054)
@@ -34,9 +34,9 @@
import org.jboss.deployment.DeploymentInfo;
import org.jboss.system.ServiceMBeanSupport;
import org.jboss.webservice.metadata.serviceref.ServiceRefMetaData;
+import org.jboss.wsf.container.jboss50.serviceref.DefaultServiceRefHandlerFactory;
import org.jboss.wsf.framework.deployment.ResourceLoaderAdapter;
import org.jboss.wsf.framework.deployment.URLLoaderAdapter;
-import org.jboss.wsf.framework.serviceref.DefaultServiceRefHandlerFactory;
import org.jboss.wsf.spi.SPIProvider;
import org.jboss.wsf.spi.SPIProviderResolver;
import org.jboss.wsf.spi.deployment.UnifiedVirtualFile;
Added: trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/serviceref/ServiceRefHandlerFactoryImpl.java
===================================================================
--- trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/serviceref/ServiceRefHandlerFactoryImpl.java (rev 0)
+++ trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/serviceref/ServiceRefHandlerFactoryImpl.java 2007-08-01 14:33:13 UTC (rev 4054)
@@ -0,0 +1,41 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.container.jboss50.serviceref;
+
+//$Id: ServiceRefHandlerFactory.java 4049 2007-08-01 11:26:30Z thomas.diesler(a)jboss.com $
+
+import org.jboss.wsf.spi.serviceref.ServiceRefHandler;
+import org.jboss.wsf.spi.serviceref.ServiceRefHandlerFactory;
+
+/**
+ * A factory for the ServiceRefHandler
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 05-May-2004
+ */
+public class ServiceRefHandlerFactoryImpl implements ServiceRefHandlerFactory
+{
+ public ServiceRefHandler getServiceRefHandler()
+ {
+ return new ServiceRefHandlerImpl();
+ }
+}
Modified: trunk/integration/jboss50/src/main/resources/jbossws-jboss50.deployer/META-INF/jbossws-deployer-beans.xml
===================================================================
--- trunk/integration/jboss50/src/main/resources/jbossws-jboss50.deployer/META-INF/jbossws-deployer-beans.xml 2007-08-01 14:13:43 UTC (rev 4053)
+++ trunk/integration/jboss50/src/main/resources/jbossws-jboss50.deployer/META-INF/jbossws-deployer-beans.xml 2007-08-01 14:33:13 UTC (rev 4054)
@@ -17,10 +17,6 @@
<property name="mainDeployer"><inject bean="MainDeployer"/></property>
</bean>
- <!-- Bind Service objects in client environment context -->
- <bean name="WSServiceRefHandler" class="org.jboss.wsf.container.jboss50.serviceref.ServiceRefHandlerImpl">
- </bean>
-
<!--
*********************************************************************************************************************
Web Service deployment
Added: trunk/integration/jboss50/src/main/resources/jbossws-jboss50.jar/META-INF/services/org.jboss.wsf.spi.serviceref.ServiceRefHandlerFactory
===================================================================
--- trunk/integration/jboss50/src/main/resources/jbossws-jboss50.jar/META-INF/services/org.jboss.wsf.spi.serviceref.ServiceRefHandlerFactory (rev 0)
+++ trunk/integration/jboss50/src/main/resources/jbossws-jboss50.jar/META-INF/services/org.jboss.wsf.spi.serviceref.ServiceRefHandlerFactory 2007-08-01 14:33:13 UTC (rev 4054)
@@ -0,0 +1 @@
+org.jboss.wsf.container.jboss50.serviceref.ServiceRefHandlerFactoryImpl
\ No newline at end of file
Modified: trunk/integration/spi/src/main/java/org/jboss/wsf/framework/DefaultSPIProviderResolver.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/framework/DefaultSPIProviderResolver.java 2007-08-01 14:13:43 UTC (rev 4053)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/framework/DefaultSPIProviderResolver.java 2007-08-01 14:33:13 UTC (rev 4054)
@@ -29,7 +29,6 @@
import org.jboss.wsf.framework.http.DefaultHttpContextFactory;
import org.jboss.wsf.framework.http.DefaultHttpServerFactory;
import org.jboss.wsf.framework.invocation.DefaultResourceInjectorFactory;
-import org.jboss.wsf.framework.serviceref.DefaultServiceRefHandlerFactory;
import org.jboss.wsf.spi.SPIProvider;
import org.jboss.wsf.spi.SPIProviderResolver;
import org.jboss.wsf.spi.WSFException;
@@ -101,10 +100,6 @@
{
returnType = (T)loadService(spiType, DefaultResourceInjectorFactory.class.getName());
}
- else if (ServiceRefHandlerFactory.class.equals(spiType))
- {
- returnType = (T)loadService(spiType, DefaultServiceRefHandlerFactory.class.getName());
- }
// SPI provided by either container or stack integration
@@ -132,6 +127,10 @@
{
returnType = (T)loadService(spiType, null);
}
+ else if (ServiceRefHandlerFactory.class.equals(spiType))
+ {
+ returnType = (T)loadService(spiType, null);
+ }
else if (WebServiceContextFactory.class.equals(spiType))
{
returnType = (T)loadService(spiType, null);
Deleted: trunk/integration/spi/src/main/java/org/jboss/wsf/framework/serviceref/DefaultServiceRefHandlerFactory.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/framework/serviceref/DefaultServiceRefHandlerFactory.java 2007-08-01 14:13:43 UTC (rev 4053)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/framework/serviceref/DefaultServiceRefHandlerFactory.java 2007-08-01 14:33:13 UTC (rev 4054)
@@ -1,72 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.wsf.framework.serviceref;
-
-//$Id: ServiceRefHandlerFactory.java 4049 2007-08-01 11:26:30Z thomas.diesler(a)jboss.com $
-
-import org.jboss.kernel.Kernel;
-import org.jboss.kernel.spi.registry.KernelRegistry;
-import org.jboss.kernel.spi.registry.KernelRegistryEntry;
-import org.jboss.wsf.common.ServiceLoader;
-import org.jboss.wsf.common.KernelLocator;
-import org.jboss.wsf.spi.serviceref.ServiceRefHandler;
-import org.jboss.wsf.spi.serviceref.ServiceRefHandlerFactory;
-
-/**
- * A factory for the ServiceRefHandler
- *
- * @author Thomas.Diesler(a)jboss.org
- * @since 05-May-2004
- */
-public class DefaultServiceRefHandlerFactory implements ServiceRefHandlerFactory
-{
- public ServiceRefHandler getServiceRefHandler()
- {
- ServiceRefHandler handler;
- if (KernelLocator.getKernel() != null)
- {
- handler = getServerSideServiceRefHandler();
- }
- else
- {
- handler = getClientSideServiceRefHandler();
- }
- return handler;
- }
-
- private ServiceRefHandler getServerSideServiceRefHandler()
- {
- Kernel kernel = KernelLocator.getKernel();
- KernelRegistry registry = kernel.getRegistry();
- KernelRegistryEntry entry = registry.getEntry(ServiceRefHandler.BEAN_NAME);
- ServiceRefHandler handler = (ServiceRefHandler)entry.getTarget();
- return handler;
- }
-
- private ServiceRefHandler getClientSideServiceRefHandler()
- {
- String propName = ServiceRefHandler.class.getName();
- String defaultImpl = "org.jboss.ws.integration.ServiceRefHandlerImpl";
- ServiceRefHandler handler = (ServiceRefHandler) ServiceLoader.loadService(propName, defaultImpl);
- return handler;
- }
-}
17 years, 5 months
JBossWS SVN: r4053 - in trunk: integration/jboss40/src/main/resources and 16 other directories.
by jbossws-commits@lists.jboss.org
Author: thomas.diesler(a)jboss.com
Date: 2007-08-01 10:13:43 -0400 (Wed, 01 Aug 2007)
New Revision: 4053
Added:
trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/serviceref/
trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/serviceref/ServiceRefHandlerImpl.java
trunk/integration/native/src/main/resources/jbossws-native.jar/META-INF/services/org.jboss.wsf.spi.serviceref.ServiceRefBinderFactory
trunk/integration/spi/src/main/java/org/jboss/wsf/framework/serviceref/DefaultServiceRefHandlerFactory.java
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/serviceref/ServiceRefBinder.java
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/serviceref/ServiceRefBinderFactory.java
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/serviceref/ServiceRefHandlerFactory.java
trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/client/MetroServiceRefBinderJAXRPC.java
trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/client/MetroServiceRefBinderJAXWS.java
trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/client/ServiceRefBinderFactoryImpl.java
trunk/integration/sunri/src/main/resources/jbossws-sunri.jar/META-INF/services/org.jboss.wsf.spi.serviceref.ServiceRefBinderFactory
trunk/jbossws-core/src/main/java/org/jboss/ws/core/client/ServiceRefBinderFactoryImpl.java
trunk/jbossws-core/src/main/java/org/jboss/ws/core/jaxrpc/client/NativeServiceRefBinderJAXRPC.java
trunk/jbossws-core/src/main/java/org/jboss/ws/core/jaxws/client/NativeServiceRefBinderJAXWS.java
Removed:
trunk/integration/spi/src/main/java/org/jboss/wsf/framework/serviceref/CommonServiceRefBinder.java
trunk/integration/spi/src/main/java/org/jboss/wsf/framework/serviceref/ServiceRefBinder.java
trunk/integration/spi/src/main/java/org/jboss/wsf/framework/serviceref/ServiceRefHandlerFactory.java
trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/client/DummyServiceRefBinderJAXRPC.java
trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/client/ServiceRefBinderJAXWS.java
trunk/jbossws-core/src/main/java/org/jboss/ws/core/jaxrpc/client/ServiceRefBinderJAXRPC.java
trunk/jbossws-core/src/main/java/org/jboss/ws/core/jaxws/client/ServiceRefBinderJAXWS.java
trunk/jbossws-core/src/main/java/org/jboss/ws/integration/
Modified:
trunk/integration/jboss40/src/main/java/org/jboss/wsf/container/jboss40/WebServiceClientDeployer.java
trunk/integration/jboss40/src/main/resources/jbossws-jboss40-config.xml
trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/serviceref/ServiceRefHandlerImpl.java
trunk/integration/jboss42/src/main/resources/jbossws-jboss42-config.xml
trunk/integration/native/src/main/resources/jbossws-native-config.xml
trunk/integration/spi/src/main/java/org/jboss/wsf/framework/DefaultSPIProviderResolver.java
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/serviceref/ServiceRefHandler.java
trunk/integration/sunri/src/main/resources/jbossws-sunri-config.xml
Log:
Add ServiceREfBinder to SPI
Modified: trunk/integration/jboss40/src/main/java/org/jboss/wsf/container/jboss40/WebServiceClientDeployer.java
===================================================================
--- trunk/integration/jboss40/src/main/java/org/jboss/wsf/container/jboss40/WebServiceClientDeployer.java 2007-08-01 13:27:00 UTC (rev 4052)
+++ trunk/integration/jboss40/src/main/java/org/jboss/wsf/container/jboss40/WebServiceClientDeployer.java 2007-08-01 14:13:43 UTC (rev 4053)
@@ -36,10 +36,13 @@
import org.jboss.webservice.metadata.serviceref.ServiceRefMetaData;
import org.jboss.wsf.framework.deployment.ResourceLoaderAdapter;
import org.jboss.wsf.framework.deployment.URLLoaderAdapter;
-import org.jboss.wsf.framework.serviceref.ServiceRefHandlerFactory;
+import org.jboss.wsf.framework.serviceref.DefaultServiceRefHandlerFactory;
+import org.jboss.wsf.spi.SPIProvider;
+import org.jboss.wsf.spi.SPIProviderResolver;
import org.jboss.wsf.spi.deployment.UnifiedVirtualFile;
import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedServiceRefMetaData;
import org.jboss.wsf.spi.serviceref.ServiceRefHandler;
+import org.jboss.wsf.spi.serviceref.ServiceRefHandlerFactory;
/**
* Binds a JAXRPC Service object in the client's ENC for every service-ref element in the
@@ -72,7 +75,9 @@
URLLoaderAdapter urlLoaderAdapter = new URLLoaderAdapter(getDeploymentURL(di));
usr.setVfsRoot(urlLoaderAdapter);
- ServiceRefHandler serviceRefHandler = ServiceRefHandlerFactory.getServiceRefHandler();
+ SPIProvider spiProvider = SPIProviderResolver.getInstance().getProvider();
+ ServiceRefHandler serviceRefHandler = spiProvider.getSPI(ServiceRefHandlerFactory.class).getServiceRefHandler();
+
serviceRefHandler.bindServiceRef(envCtx, serviceRefName, urlLoaderAdapter, di.ucl, usr);
log.debug("Webservice binding: java:comp/env/" + serviceRefName);
Modified: trunk/integration/jboss40/src/main/resources/jbossws-jboss40-config.xml
===================================================================
--- trunk/integration/jboss40/src/main/resources/jbossws-jboss40-config.xml 2007-08-01 13:27:00 UTC (rev 4052)
+++ trunk/integration/jboss40/src/main/resources/jbossws-jboss40-config.xml 2007-08-01 14:13:43 UTC (rev 4053)
@@ -13,10 +13,7 @@
</bean>
<!-- Bind Service objects in client environment context -->
- <bean name="ServiceRefHandler" class="org.jboss.wsf.container.jboss42.serviceref.ServiceRefHandlerImpl">
- <property name="jaxrpcBinder"><inject bean="WSServiceRefBinderJAXRPC"/></property>
- <property name="jaxwsBinder"><inject bean="WSServiceRefBinderJAXWS"/></property>
- </bean>
+ <bean name="ServiceRefHandler" class="org.jboss.wsf.container.jboss42.serviceref.ServiceRefHandlerImpl"/>
<!--
*********************************************************************************************************************
Modified: trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/serviceref/ServiceRefHandlerImpl.java
===================================================================
--- trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/serviceref/ServiceRefHandlerImpl.java 2007-08-01 13:27:00 UTC (rev 4052)
+++ trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/serviceref/ServiceRefHandlerImpl.java 2007-08-01 14:13:43 UTC (rev 4053)
@@ -37,9 +37,9 @@
import org.jboss.ws.integration.ServiceRefMetaData;
import org.jboss.ws.integration.URLLoaderAdapter;
import org.jboss.ws.integration.UnifiedVirtualFile;
-import org.jboss.wsf.framework.serviceref.ServiceRefBinder;
import org.jboss.wsf.spi.WSFException;
import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedServiceRefMetaData;
+import org.jboss.wsf.spi.serviceref.ServiceRefBinder;
import org.jboss.xb.binding.UnmarshallingContext;
import org.xml.sax.Attributes;
Modified: trunk/integration/jboss42/src/main/resources/jbossws-jboss42-config.xml
===================================================================
--- trunk/integration/jboss42/src/main/resources/jbossws-jboss42-config.xml 2007-08-01 13:27:00 UTC (rev 4052)
+++ trunk/integration/jboss42/src/main/resources/jbossws-jboss42-config.xml 2007-08-01 14:13:43 UTC (rev 4053)
@@ -15,16 +15,10 @@
</bean>
<!-- Bind Service objects in client environment context -->
- <bean name="WSServiceRefHandler" class="org.jboss.wsf.container.jboss42.serviceref.ServiceRefHandlerImpl">
- <property name="jaxrpcBinder"><inject bean="WSServiceRefBinderJAXRPC"/></property>
- <property name="jaxwsBinder"><inject bean="WSServiceRefBinderJAXWS"/></property>
- </bean>
+ <bean name="WSServiceRefHandler" class="org.jboss.wsf.container.jboss42.serviceref.ServiceRefHandlerImpl"/>
<!-- JBoss_4_2_0_GA uses this hardcoded bean name -->
- <bean name="ServiceRefHandler" class="org.jboss.wsf.container.jboss42.serviceref.ServiceRefHandlerImpl">
- <property name="jaxrpcBinder"><inject bean="WSServiceRefBinderJAXRPC"/></property>
- <property name="jaxwsBinder"><inject bean="WSServiceRefBinderJAXWS"/></property>
- </bean>
+ <bean name="ServiceRefHandler" class="org.jboss.wsf.container.jboss42.serviceref.ServiceRefHandlerImpl"/>
<!--
*********************************************************************************************************************
Added: trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/serviceref/ServiceRefHandlerImpl.java
===================================================================
--- trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/serviceref/ServiceRefHandlerImpl.java (rev 0)
+++ trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/serviceref/ServiceRefHandlerImpl.java 2007-08-01 14:13:43 UTC (rev 4053)
@@ -0,0 +1,187 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.container.jboss50.serviceref;
+
+// $Id: ServiceRefHandlerImpl.java 4043 2007-07-31 17:11:42Z thomas.diesler(a)jboss.com $
+
+import java.io.File;
+import java.lang.reflect.AnnotatedElement;
+import java.net.MalformedURLException;
+import java.net.URL;
+
+import javax.naming.Context;
+import javax.naming.NamingException;
+
+import org.jboss.logging.Logger;
+import org.jboss.wsf.framework.deployment.URLLoaderAdapter;
+import org.jboss.wsf.framework.serviceref.ServiceRefObjectFactory;
+import org.jboss.wsf.spi.SPIProvider;
+import org.jboss.wsf.spi.SPIProviderResolver;
+import org.jboss.wsf.spi.WSFException;
+import org.jboss.wsf.spi.deployment.UnifiedVirtualFile;
+import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedServiceRefMetaData;
+import org.jboss.wsf.spi.serviceref.ServiceRefBinder;
+import org.jboss.wsf.spi.serviceref.ServiceRefBinderFactory;
+import org.jboss.wsf.spi.serviceref.ServiceRefElement;
+import org.jboss.wsf.spi.serviceref.ServiceRefHandler;
+import org.jboss.wsf.spi.serviceref.ServiceRefMetaData;
+import org.jboss.xb.binding.UnmarshallingContext;
+import org.xml.sax.Attributes;
+
+/**
+ * Bind service refs in the client's ENC
+ * for every service-ref element in the deployment descriptor.
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @author Heiko.Braun(a)jboss.com
+ *
+ * @since 04-Nov-2006
+ */
+public class ServiceRefHandlerImpl implements ServiceRefHandler
+{
+ // logging support
+ private static Logger log = Logger.getLogger(ServiceRefHandlerImpl.class);
+
+ private ServiceRefObjectFactory objectFactory = new ServiceRefObjectFactory();
+
+ private ServiceRefBinder getJaxrpcBinder()
+ {
+ SPIProvider spiProvider = SPIProviderResolver.getInstance().getProvider();
+ return spiProvider.getSPI(ServiceRefBinderFactory.class).newServiceRefBinder(Type.JAXRPC);
+ }
+
+ private ServiceRefBinder getJaxwsBinder()
+ {
+ SPIProvider spiProvider = SPIProviderResolver.getInstance().getProvider();
+ return spiProvider.getSPI(ServiceRefBinderFactory.class).newServiceRefBinder(Type.JAXWS);
+ }
+
+ public ServiceRefMetaData newServiceRefMetaData()
+ {
+ return new UnifiedServiceRefMetaData();
+ }
+
+ public void bindServiceRef(Context encCtx, String encName, UnifiedVirtualFile vfsRoot, ClassLoader loader, ServiceRefMetaData sref) throws NamingException
+ {
+ if (sref.isProcessed())
+ {
+ log.debug("Attempt to rebind the service-ref: " + sref.getServiceRefName());
+ return;
+ }
+
+ // In case of an .war deployment the associated root file doesn't point to
+ // the expanded war file structure and thus breaks service-ref usage for servlet clients.
+ // This needs to be fixed in org.jboss.web.AbstractWebDeployer (JBOSS_AS/server module)
+ if (vfsRoot instanceof URLLoaderAdapter)
+ {
+ URLLoaderAdapter ula = (URLLoaderAdapter)vfsRoot;
+ URL rootURL = ula.toURL();
+ if ("file".equals(rootURL.getProtocol()) && rootURL.getFile().endsWith(".war"))
+ {
+ String fileName = rootURL.getFile();
+
+ if (!new File(fileName).exists()) // might be an exploded directory
+ {
+ // There is a filename convention for exploded directories
+ fileName = fileName.substring(0, fileName.indexOf(".war")) + "-exp.war";
+
+ File expandedDirectory = new File(fileName);
+ if (!expandedDirectory.exists())
+ throw new WSFException("Failed to bind service-ref, the deployment root expandedDirectory doesn't exist: " + fileName);
+
+ // update the rootFile
+ try
+ {
+ vfsRoot = new URLLoaderAdapter(expandedDirectory.toURL());
+ }
+ catch (MalformedURLException e)
+ {
+ }
+ }
+
+ }
+ }
+
+ UnifiedServiceRefMetaData serviceRef = (UnifiedServiceRefMetaData)sref;
+ serviceRef.setVfsRoot(vfsRoot);
+ try
+ {
+ if (getServiceRefType(serviceRef, loader) == Type.JAXRPC)
+ {
+ getJaxrpcBinder().setupServiceRef(encCtx, encName, null, serviceRef, loader);
+ }
+ else
+ {
+ AnnotatedElement anElement = (AnnotatedElement)sref.getAnnotatedElement();
+ getJaxwsBinder().setupServiceRef(encCtx, encName, anElement, serviceRef, loader);
+ }
+ }
+ finally
+ {
+ sref.setProcessed(true);
+ }
+ }
+
+ public Object newChild(ServiceRefElement ref, UnmarshallingContext navigator, String namespaceURI, String localName, Attributes attrs)
+ {
+ return objectFactory.newChild(ref, navigator, namespaceURI, localName, attrs);
+ }
+
+ public void setValue(ServiceRefElement ref, UnmarshallingContext navigator, String namespaceURI, String localName, String value)
+ {
+ objectFactory.setValue(ref, navigator, namespaceURI, localName, value);
+ }
+
+ private Type getServiceRefType(UnifiedServiceRefMetaData serviceRef, ClassLoader loader) throws NamingException
+ {
+ // The service-ref-type is JAXWS specific
+ String serviceRefType = serviceRef.getServiceRefType();
+ if (serviceRefType != null || serviceRef.getAnnotatedElement() != null)
+ return Type.JAXWS;
+
+ // The mapping-file is JAXRPC specific
+ if (serviceRef.getMappingFile() != null)
+ return Type.JAXRPC;
+
+ String siName = serviceRef.getServiceInterface();
+ if (siName == null)
+ throw new IllegalStateException("<service-interface> cannot be null");
+
+ if (siName.equals("javax.xml.rpc.Service"))
+ return Type.JAXRPC;
+
+ try
+ {
+ Class siClass = loader.loadClass(siName);
+ if (javax.xml.ws.Service.class.isAssignableFrom(siClass))
+ return Type.JAXWS;
+ else if (javax.xml.rpc.Service.class.isAssignableFrom(siClass))
+ return Type.JAXRPC;
+ else
+ throw new IllegalStateException("Illegal service interface: " + siName);
+ }
+ catch (ClassNotFoundException e)
+ {
+ throw new IllegalStateException("Cannot load <service-interface>: " + siName);
+ }
+ }
+}
Modified: trunk/integration/native/src/main/resources/jbossws-native-config.xml
===================================================================
--- trunk/integration/native/src/main/resources/jbossws-native-config.xml 2007-08-01 13:27:00 UTC (rev 4052)
+++ trunk/integration/native/src/main/resources/jbossws-native-config.xml 2007-08-01 14:13:43 UTC (rev 4053)
@@ -34,10 +34,6 @@
<property name="bindAddress">${jboss.bind.address}</property>
</bean>
- <!-- Bind Service objects in client environment context -->
- <bean name="WSServiceRefBinderJAXRPC" class="org.jboss.ws.core.jaxrpc.client.ServiceRefBinderJAXRPC"/>
- <bean name="WSServiceRefBinderJAXWS" class="org.jboss.ws.core.jaxws.client.ServiceRefBinderJAXWS"/>
-
<!--
The stack specific deployment aspects
-->
Added: trunk/integration/native/src/main/resources/jbossws-native.jar/META-INF/services/org.jboss.wsf.spi.serviceref.ServiceRefBinderFactory
===================================================================
--- trunk/integration/native/src/main/resources/jbossws-native.jar/META-INF/services/org.jboss.wsf.spi.serviceref.ServiceRefBinderFactory (rev 0)
+++ trunk/integration/native/src/main/resources/jbossws-native.jar/META-INF/services/org.jboss.wsf.spi.serviceref.ServiceRefBinderFactory 2007-08-01 14:13:43 UTC (rev 4053)
@@ -0,0 +1 @@
+org.jboss.ws.core.client.ServiceRefBinderFactoryImpl
\ No newline at end of file
Modified: trunk/integration/spi/src/main/java/org/jboss/wsf/framework/DefaultSPIProviderResolver.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/framework/DefaultSPIProviderResolver.java 2007-08-01 13:27:00 UTC (rev 4052)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/framework/DefaultSPIProviderResolver.java 2007-08-01 14:13:43 UTC (rev 4053)
@@ -29,6 +29,7 @@
import org.jboss.wsf.framework.http.DefaultHttpContextFactory;
import org.jboss.wsf.framework.http.DefaultHttpServerFactory;
import org.jboss.wsf.framework.invocation.DefaultResourceInjectorFactory;
+import org.jboss.wsf.framework.serviceref.DefaultServiceRefHandlerFactory;
import org.jboss.wsf.spi.SPIProvider;
import org.jboss.wsf.spi.SPIProviderResolver;
import org.jboss.wsf.spi.WSFException;
@@ -44,6 +45,8 @@
import org.jboss.wsf.spi.invocation.WebServiceContextFactory;
import org.jboss.wsf.spi.management.EndpointRegistryFactory;
import org.jboss.wsf.spi.management.ServerConfigFactory;
+import org.jboss.wsf.spi.serviceref.ServiceRefBinderFactory;
+import org.jboss.wsf.spi.serviceref.ServiceRefHandlerFactory;
/**
* @author Heiko.Braun(a)jboss.com
@@ -98,6 +101,10 @@
{
returnType = (T)loadService(spiType, DefaultResourceInjectorFactory.class.getName());
}
+ else if (ServiceRefHandlerFactory.class.equals(spiType))
+ {
+ returnType = (T)loadService(spiType, DefaultServiceRefHandlerFactory.class.getName());
+ }
// SPI provided by either container or stack integration
@@ -121,6 +128,10 @@
{
returnType = (T)loadService(spiType, null);
}
+ else if (ServiceRefBinderFactory.class.equals(spiType))
+ {
+ returnType = (T)loadService(spiType, null);
+ }
else if (WebServiceContextFactory.class.equals(spiType))
{
returnType = (T)loadService(spiType, null);
Deleted: trunk/integration/spi/src/main/java/org/jboss/wsf/framework/serviceref/CommonServiceRefBinder.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/framework/serviceref/CommonServiceRefBinder.java 2007-08-01 13:27:00 UTC (rev 4052)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/framework/serviceref/CommonServiceRefBinder.java 2007-08-01 14:13:43 UTC (rev 4053)
@@ -1,224 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.wsf.framework.serviceref;
-
-import java.lang.annotation.Annotation;
-import java.lang.reflect.AnnotatedElement;
-import java.lang.reflect.Field;
-import java.lang.reflect.Method;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.jws.HandlerChain;
-import javax.naming.Context;
-import javax.naming.NamingException;
-import javax.naming.Referenceable;
-import javax.xml.namespace.QName;
-import javax.xml.ws.Service;
-import javax.xml.ws.WebServiceClient;
-import javax.xml.ws.WebServiceRef;
-import javax.xml.ws.WebServiceRefs;
-
-import org.jboss.logging.Logger;
-import org.jboss.util.naming.Util;
-import org.jboss.wsf.spi.WSFException;
-import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedServiceRefMetaData;
-
-/**
- * A generic ServiceRefBinder that knows how to deal with JAX-WS services.
- * Subclasses need to provide a stack specific {@link Referenceable} that can be bound into JNDI.
- * <p/>
- * This works in conjunction with a ServiceObjectFactory that knows how to assemble
- * the Service after JNDI lookup on the client side.
- *
- * @see javax.naming.spi.ObjectFactory
- *
- * @author Heiko.Braun(a)jboss.com
- * Created: Jul 12, 2007
- */
-public abstract class CommonServiceRefBinder implements ServiceRefBinder
-{
- // logging support
- private static Logger log = Logger.getLogger(CommonServiceRefBinder.class);
-
- public void setupServiceRef(Context encCtx, String encName, AnnotatedElement anElement, UnifiedServiceRefMetaData serviceRef, ClassLoader loader) throws NamingException
- {
- WebServiceRef wsref = null;
-
- if (null == loader)
- throw new IllegalArgumentException("There needs to be a classloader available");
-
- // Build the list of @WebServiceRef relevant annotations
- List<WebServiceRef> wsrefList = new ArrayList<WebServiceRef>();
-
- if (anElement != null)
- {
- for (Annotation an : anElement.getAnnotations())
- {
- if (an instanceof WebServiceRef)
- wsrefList.add((WebServiceRef)an);
-
- if (an instanceof WebServiceRefs)
- {
- WebServiceRefs wsrefs = (WebServiceRefs)an;
- for (WebServiceRef aux : wsrefs.value())
- wsrefList.add(aux);
- }
- }
- }
-
- // Use the single @WebServiceRef
- if (wsrefList.size() == 1)
- {
- wsref = wsrefList.get(0);
- }
- else
- {
- for (WebServiceRef aux : wsrefList)
- {
- if (encName.endsWith("/" + aux.name()))
- {
- wsref = aux;
- break;
- }
- }
- }
-
- Class targetClass = null;
- if (anElement instanceof Field)
- {
- targetClass = ((Field)anElement).getType();
- }
- else if (anElement instanceof Method)
- {
- targetClass = ((Method)anElement).getParameterTypes()[0];
- }
- else
- {
- if (wsref != null && (wsref.type() != Object.class))
- targetClass = wsref.type();
- }
-
- String targetClassName = (targetClass != null ? targetClass.getName() : null);
- String externalName = encCtx.getNameInNamespace() + "/" + encName;
- log.debug("setupServiceRef [jndi=" + externalName + ",target=" + targetClassName + "]");
-
- String serviceImplClass = null;
-
- // #1 Use the explicit @WebServiceRef.value
- if (wsref != null && wsref.value() != Object.class)
- serviceImplClass = wsref.value().getName();
-
- // #2 Use the target ref type
- if (serviceImplClass == null && targetClass != null && Service.class.isAssignableFrom(targetClass))
- serviceImplClass = targetClass.getName();
-
- // #3 Use <service-interface>
- if (serviceImplClass == null && serviceRef.getServiceInterface() != null)
- serviceImplClass = serviceRef.getServiceInterface();
-
- // #4 Use javax.xml.ws.Service
- if (serviceImplClass == null)
- serviceImplClass = Service.class.getName();
-
- // #1 Use the explicit @WebServiceRef.type
- if (wsref != null && wsref.type() != Object.class)
- targetClassName = wsref.type().getName();
-
- // #2 Use the target ref type
- if (targetClassName == null && targetClass != null && Service.class.isAssignableFrom(targetClass) == false)
- targetClassName = targetClass.getName();
-
- // Set the wsdlLocation if there is no override already
- if (serviceRef.getWsdlOverride() == null && wsref != null && wsref.wsdlLocation().length() > 0)
- serviceRef.setWsdlOverride(wsref.wsdlLocation());
-
- // Set the handlerChain from @HandlerChain on the annotated element
- String handlerChain = serviceRef.getHandlerChain();
- if (anElement != null)
- {
- HandlerChain anHandlerChain = anElement.getAnnotation(HandlerChain.class);
- if (handlerChain == null && anHandlerChain != null && anHandlerChain.file().length() > 0)
- handlerChain = anHandlerChain.file();
- }
-
- // Resolve path to handler chain
- if (handlerChain != null)
- {
- try
- {
- new URL(handlerChain);
- }
- catch (MalformedURLException ex)
- {
- Class declaringClass = null;
- if (anElement instanceof Field)
- declaringClass = ((Field)anElement).getDeclaringClass();
- else if (anElement instanceof Method)
- declaringClass = ((Method)anElement).getDeclaringClass();
- else if (anElement instanceof Class)
- declaringClass = (Class)anElement;
-
- handlerChain = declaringClass.getPackage().getName().replace('.', '/') + "/" + handlerChain;
- }
-
- serviceRef.setHandlerChain(handlerChain);
- }
-
- // Extract service QName for target service
- if (null == serviceRef.getServiceQName())
- {
- try
- {
- Class serviceClass = loader.loadClass(serviceImplClass);
- if (serviceClass.getAnnotation(WebServiceClient.class) != null)
- {
- WebServiceClient clientDecl = (WebServiceClient)serviceClass.getAnnotation(WebServiceClient.class);
- serviceRef.setServiceQName(new QName(clientDecl.targetNamespace(), clientDecl.name()));
- }
- }
- catch (ClassNotFoundException e)
- {
- WSFException.rethrow("Cannot extract service QName for target service", e);
- }
- }
-
- // Do not use rebind, the binding should be unique
- // [JBWS-1499] - Revisit WebServiceRefHandler JNDI rebind
- Referenceable serviceReferenceable = buildServiceReferenceable(serviceImplClass, targetClassName, serviceRef);
- Util.bind(encCtx, encName, serviceReferenceable);
-
- }
-
- /**
- * Subclasses should provide a stack specific ServiceReferenceable.
- *
- * @param serviceImplClass
- * @param targetClassName
- * @param serviceRef
- * @return a Referenceable that can be used by a stack specific {@link javax.naming.spi.ObjectFactory} on the client side
- * to create a web service stub
- * */
- protected abstract Referenceable buildServiceReferenceable(String serviceImplClass, String targetClassName, UnifiedServiceRefMetaData serviceRef);
-}
Added: trunk/integration/spi/src/main/java/org/jboss/wsf/framework/serviceref/DefaultServiceRefHandlerFactory.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/framework/serviceref/DefaultServiceRefHandlerFactory.java (rev 0)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/framework/serviceref/DefaultServiceRefHandlerFactory.java 2007-08-01 14:13:43 UTC (rev 4053)
@@ -0,0 +1,72 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.framework.serviceref;
+
+//$Id: ServiceRefHandlerFactory.java 4049 2007-08-01 11:26:30Z thomas.diesler(a)jboss.com $
+
+import org.jboss.kernel.Kernel;
+import org.jboss.kernel.spi.registry.KernelRegistry;
+import org.jboss.kernel.spi.registry.KernelRegistryEntry;
+import org.jboss.wsf.common.ServiceLoader;
+import org.jboss.wsf.common.KernelLocator;
+import org.jboss.wsf.spi.serviceref.ServiceRefHandler;
+import org.jboss.wsf.spi.serviceref.ServiceRefHandlerFactory;
+
+/**
+ * A factory for the ServiceRefHandler
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 05-May-2004
+ */
+public class DefaultServiceRefHandlerFactory implements ServiceRefHandlerFactory
+{
+ public ServiceRefHandler getServiceRefHandler()
+ {
+ ServiceRefHandler handler;
+ if (KernelLocator.getKernel() != null)
+ {
+ handler = getServerSideServiceRefHandler();
+ }
+ else
+ {
+ handler = getClientSideServiceRefHandler();
+ }
+ return handler;
+ }
+
+ private ServiceRefHandler getServerSideServiceRefHandler()
+ {
+ Kernel kernel = KernelLocator.getKernel();
+ KernelRegistry registry = kernel.getRegistry();
+ KernelRegistryEntry entry = registry.getEntry(ServiceRefHandler.BEAN_NAME);
+ ServiceRefHandler handler = (ServiceRefHandler)entry.getTarget();
+ return handler;
+ }
+
+ private ServiceRefHandler getClientSideServiceRefHandler()
+ {
+ String propName = ServiceRefHandler.class.getName();
+ String defaultImpl = "org.jboss.ws.integration.ServiceRefHandlerImpl";
+ ServiceRefHandler handler = (ServiceRefHandler) ServiceLoader.loadService(propName, defaultImpl);
+ return handler;
+ }
+}
Deleted: trunk/integration/spi/src/main/java/org/jboss/wsf/framework/serviceref/ServiceRefBinder.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/framework/serviceref/ServiceRefBinder.java 2007-08-01 13:27:00 UTC (rev 4052)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/framework/serviceref/ServiceRefBinder.java 2007-08-01 14:13:43 UTC (rev 4053)
@@ -1,44 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.wsf.framework.serviceref;
-
-import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedServiceRefMetaData;
-
-import javax.naming.Context;
-import javax.naming.NamingException;
-import java.lang.reflect.AnnotatedElement;
-
-/**
- * Creates a ServiceReferenceable and binds it to JNDI.
- *
- * @author Heiko.Braun(a)jboss.com
- * Created: Jul 11, 2007
- */
-public interface ServiceRefBinder
-{
- public final static String JAXRPC_BINDER = "WSServiceRefBinderJAXRPC";
-
- public final static String JAXWS_BINDER = "WSServiceRefBinderJAXWS";
-
- void setupServiceRef(Context encCtx, String encName, AnnotatedElement anElement, UnifiedServiceRefMetaData serviceRef, ClassLoader loader)
- throws NamingException;
-}
Deleted: trunk/integration/spi/src/main/java/org/jboss/wsf/framework/serviceref/ServiceRefHandlerFactory.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/framework/serviceref/ServiceRefHandlerFactory.java 2007-08-01 13:27:00 UTC (rev 4052)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/framework/serviceref/ServiceRefHandlerFactory.java 2007-08-01 14:13:43 UTC (rev 4053)
@@ -1,78 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.wsf.framework.serviceref;
-
-//$Id$
-
-import org.jboss.kernel.Kernel;
-import org.jboss.kernel.spi.registry.KernelRegistry;
-import org.jboss.kernel.spi.registry.KernelRegistryEntry;
-import org.jboss.wsf.common.ServiceLoader;
-import org.jboss.wsf.common.KernelLocator;
-import org.jboss.wsf.spi.serviceref.ServiceRefHandler;
-
-/**
- * A factory for the ServiceRefHandler
- *
- * @author Thomas.Diesler(a)jboss.org
- * @since 05-May-2004
- */
-public abstract class ServiceRefHandlerFactory
-{
- public static ServiceRefHandler getServiceRefHandler()
- {
- ServiceRefHandler handler;
- if (KernelLocator.getKernel() != null)
- {
- handler = getServerSideServiceRefHandler();
- }
- else
- {
- handler = getClientSideServiceRefHandler();
- }
- return handler;
- }
-
- private static ServiceRefHandler getServerSideServiceRefHandler()
- {
- Kernel kernel = KernelLocator.getKernel();
- KernelRegistry registry = kernel.getRegistry();
- KernelRegistryEntry entry = registry.getEntry(ServiceRefHandler.BEAN_NAME);
- ServiceRefHandler handler = (ServiceRefHandler)entry.getTarget();
-
- // Try legacy JBossAS-4.2 name
- if (handler == null)
- {
- entry = registry.getEntry("ServiceRefHandler");
- handler = (ServiceRefHandler)entry.getTarget();
- }
- return handler;
- }
-
- private static ServiceRefHandler getClientSideServiceRefHandler()
- {
- String propName = ServiceRefHandler.class.getName();
- String defaultImpl = "org.jboss.ws.integration.ServiceRefHandlerImpl";
- ServiceRefHandler handler = (ServiceRefHandler) ServiceLoader.loadService(propName, defaultImpl);
- return handler;
- }
-}
Copied: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/serviceref/ServiceRefBinder.java (from rev 4050, trunk/integration/spi/src/main/java/org/jboss/wsf/framework/serviceref/ServiceRefBinder.java)
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/serviceref/ServiceRefBinder.java (rev 0)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/serviceref/ServiceRefBinder.java 2007-08-01 14:13:43 UTC (rev 4053)
@@ -0,0 +1,44 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.spi.serviceref;
+
+import java.lang.reflect.AnnotatedElement;
+
+import javax.naming.Context;
+import javax.naming.NamingException;
+
+import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedServiceRefMetaData;
+
+/**
+ * Creates a ServiceReferenceable and binds it to JNDI.
+ *
+ * @author Heiko.Braun(a)jboss.com
+ * Created: Jul 11, 2007
+ */
+public interface ServiceRefBinder
+{
+ final static String BEAN_NAME_JAXRPC = "WSServiceRefBinderJAXRPC";
+
+ final static String BEAN_NAME_JAXWS = "WSServiceRefBinderJAXWS";
+
+ void setupServiceRef(Context encCtx, String encName, AnnotatedElement anElement, UnifiedServiceRefMetaData serviceRef, ClassLoader loader) throws NamingException;
+}
Added: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/serviceref/ServiceRefBinderFactory.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/serviceref/ServiceRefBinderFactory.java (rev 0)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/serviceref/ServiceRefBinderFactory.java 2007-08-01 14:13:43 UTC (rev 4053)
@@ -0,0 +1,31 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.spi.serviceref;
+
+/**
+ * @author Thomas.Diesler(a)jboss.com
+ * @since 01-Aug-2007
+ */
+public interface ServiceRefBinderFactory
+{
+ ServiceRefBinder newServiceRefBinder(ServiceRefHandler.Type type);
+}
Modified: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/serviceref/ServiceRefHandler.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/serviceref/ServiceRefHandler.java 2007-08-01 13:27:00 UTC (rev 4052)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/serviceref/ServiceRefHandler.java 2007-08-01 14:13:43 UTC (rev 4053)
@@ -40,6 +40,8 @@
{
final String BEAN_NAME = "WSServiceRefHandler";
+ enum Type {JAXRPC, JAXWS};
+
ServiceRefMetaData newServiceRefMetaData();
Object newChild(ServiceRefElement ref, UnmarshallingContext navigator, String namespaceURI, String localName, Attributes attrs);
Copied: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/serviceref/ServiceRefHandlerFactory.java (from rev 4049, trunk/integration/spi/src/main/java/org/jboss/wsf/framework/serviceref/ServiceRefHandlerFactory.java)
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/serviceref/ServiceRefHandlerFactory.java (rev 0)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/serviceref/ServiceRefHandlerFactory.java 2007-08-01 14:13:43 UTC (rev 4053)
@@ -0,0 +1,30 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.spi.serviceref;
+
+//$Id$
+
+
+public interface ServiceRefHandlerFactory
+{
+ ServiceRefHandler getServiceRefHandler();
+}
\ No newline at end of file
Deleted: trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/client/DummyServiceRefBinderJAXRPC.java
===================================================================
--- trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/client/DummyServiceRefBinderJAXRPC.java 2007-08-01 13:27:00 UTC (rev 4052)
+++ trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/client/DummyServiceRefBinderJAXRPC.java 2007-08-01 14:13:43 UTC (rev 4053)
@@ -1,42 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.wsf.stack.sunri.client;
-
-import java.lang.reflect.AnnotatedElement;
-
-import javax.naming.Context;
-import javax.naming.NamingException;
-
-import org.jboss.wsf.framework.serviceref.ServiceRefBinder;
-import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedServiceRefMetaData;
-
-/**
- * @author Heiko.Braun(a)jboss.com
- * Created: Jul 12, 2007
- */
-public class DummyServiceRefBinderJAXRPC implements ServiceRefBinder
-{
- public void setupServiceRef(Context encCtx, String encName, AnnotatedElement anElement, UnifiedServiceRefMetaData serviceRef, ClassLoader loader) throws NamingException
- {
- throw new IllegalArgumentException("The Sun-RI stack doesnt support JAX-RPC service-ref deployments");
- }
-}
Added: trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/client/MetroServiceRefBinderJAXRPC.java
===================================================================
--- trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/client/MetroServiceRefBinderJAXRPC.java (rev 0)
+++ trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/client/MetroServiceRefBinderJAXRPC.java 2007-08-01 14:13:43 UTC (rev 4053)
@@ -0,0 +1,42 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.stack.sunri.client;
+
+import java.lang.reflect.AnnotatedElement;
+
+import javax.naming.Context;
+import javax.naming.NamingException;
+
+import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedServiceRefMetaData;
+import org.jboss.wsf.spi.serviceref.ServiceRefBinder;
+
+/**
+ * @author Heiko.Braun(a)jboss.com
+ * Created: Jul 12, 2007
+ */
+public class MetroServiceRefBinderJAXRPC implements ServiceRefBinder
+{
+ public void setupServiceRef(Context encCtx, String encName, AnnotatedElement anElement, UnifiedServiceRefMetaData serviceRef, ClassLoader loader) throws NamingException
+ {
+ throw new IllegalArgumentException("Deployed stack doesnt support JAX-RPC service-ref deployments");
+ }
+}
Copied: trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/client/MetroServiceRefBinderJAXWS.java (from rev 4050, trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/client/ServiceRefBinderJAXWS.java)
===================================================================
--- trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/client/MetroServiceRefBinderJAXWS.java (rev 0)
+++ trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/client/MetroServiceRefBinderJAXWS.java 2007-08-01 14:13:43 UTC (rev 4053)
@@ -0,0 +1,221 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.stack.sunri.client;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.AnnotatedElement;
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.jws.HandlerChain;
+import javax.naming.Context;
+import javax.naming.NamingException;
+import javax.naming.Referenceable;
+import javax.xml.namespace.QName;
+import javax.xml.ws.Service;
+import javax.xml.ws.WebServiceClient;
+import javax.xml.ws.WebServiceRef;
+import javax.xml.ws.WebServiceRefs;
+
+import org.jboss.logging.Logger;
+import org.jboss.util.naming.Util;
+import org.jboss.wsf.spi.WSFException;
+import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedServiceRefMetaData;
+import org.jboss.wsf.spi.serviceref.ServiceRefBinder;
+
+/**
+ * @author Heiko.Braun(a)jboss.com
+ * Created: Jul 12, 2007
+ */
+public class MetroServiceRefBinderJAXWS implements ServiceRefBinder
+{
+ // logging support
+ private static Logger log = Logger.getLogger(MetroServiceRefBinderJAXWS.class);
+
+ public void setupServiceRef(Context encCtx, String encName, AnnotatedElement anElement, UnifiedServiceRefMetaData serviceRef, ClassLoader loader)
+ throws NamingException
+ {
+ WebServiceRef wsref = null;
+
+ if (null == loader)
+ throw new IllegalArgumentException("There needs to be a classloader available");
+
+ // Build the list of @WebServiceRef relevant annotations
+ List<WebServiceRef> wsrefList = new ArrayList<WebServiceRef>();
+
+ if (anElement != null)
+ {
+ for (Annotation an : anElement.getAnnotations())
+ {
+ if (an instanceof WebServiceRef)
+ wsrefList.add((WebServiceRef)an);
+
+ if (an instanceof WebServiceRefs)
+ {
+ WebServiceRefs wsrefs = (WebServiceRefs)an;
+ for (WebServiceRef aux : wsrefs.value())
+ wsrefList.add(aux);
+ }
+ }
+ }
+
+ // Use the single @WebServiceRef
+ if (wsrefList.size() == 1)
+ {
+ wsref = wsrefList.get(0);
+ }
+ else
+ {
+ for (WebServiceRef aux : wsrefList)
+ {
+ if (encName.endsWith("/" + aux.name()))
+ {
+ wsref = aux;
+ break;
+ }
+ }
+ }
+
+ Class targetClass = null;
+ if (anElement instanceof Field)
+ {
+ targetClass = ((Field)anElement).getType();
+ }
+ else if (anElement instanceof Method)
+ {
+ targetClass = ((Method)anElement).getParameterTypes()[0];
+ }
+ else
+ {
+ if (wsref != null && (wsref.type() != Object.class))
+ targetClass = wsref.type();
+ }
+
+ String targetClassName = (targetClass != null ? targetClass.getName() : null);
+ String externalName = encCtx.getNameInNamespace() + "/" + encName;
+ log.debug("setupServiceRef [jndi=" + externalName + ",target=" + targetClassName + "]");
+
+ String serviceImplClass = null;
+
+ // #1 Use the explicit @WebServiceRef.value
+ if (wsref != null && wsref.value() != Object.class)
+ serviceImplClass = wsref.value().getName();
+
+ // #2 Use the target ref type
+ if (serviceImplClass == null && targetClass != null && Service.class.isAssignableFrom(targetClass))
+ serviceImplClass = targetClass.getName();
+
+ // #3 Use <service-interface>
+ if (serviceImplClass == null && serviceRef.getServiceInterface() != null)
+ serviceImplClass = serviceRef.getServiceInterface();
+
+ // #4 Use javax.xml.ws.Service
+ if (serviceImplClass == null)
+ serviceImplClass = Service.class.getName();
+
+ // #1 Use the explicit @WebServiceRef.type
+ if (wsref != null && wsref.type() != Object.class)
+ targetClassName = wsref.type().getName();
+
+ // #2 Use the target ref type
+ if (targetClassName == null && targetClass != null && Service.class.isAssignableFrom(targetClass) == false)
+ targetClassName = targetClass.getName();
+
+ // Set the wsdlLocation if there is no override already
+ if (serviceRef.getWsdlOverride() == null && wsref != null && wsref.wsdlLocation().length() > 0)
+ serviceRef.setWsdlOverride(wsref.wsdlLocation());
+
+ // Set the handlerChain from @HandlerChain on the annotated element
+ String handlerChain = serviceRef.getHandlerChain();
+ if (anElement != null)
+ {
+ HandlerChain anHandlerChain = anElement.getAnnotation(HandlerChain.class);
+ if (handlerChain == null && anHandlerChain != null && anHandlerChain.file().length() > 0)
+ handlerChain = anHandlerChain.file();
+ }
+
+ // Resolve path to handler chain
+ if (handlerChain != null)
+ {
+ try
+ {
+ new URL(handlerChain);
+ }
+ catch (MalformedURLException ex)
+ {
+ Class declaringClass = null;
+ if (anElement instanceof Field)
+ declaringClass = ((Field)anElement).getDeclaringClass();
+ else if (anElement instanceof Method)
+ declaringClass = ((Method)anElement).getDeclaringClass();
+ else if (anElement instanceof Class)
+ declaringClass = (Class)anElement;
+
+ handlerChain = declaringClass.getPackage().getName().replace('.', '/') + "/" + handlerChain;
+ }
+
+ serviceRef.setHandlerChain(handlerChain);
+ }
+
+ // Extract service QName for target service
+ if (null == serviceRef.getServiceQName())
+ {
+ try
+ {
+ Class serviceClass = loader.loadClass(serviceImplClass);
+ if (serviceClass.getAnnotation(WebServiceClient.class) != null)
+ {
+ WebServiceClient clientDecl = (WebServiceClient)serviceClass.getAnnotation(WebServiceClient.class);
+ serviceRef.setServiceQName(new QName(clientDecl.targetNamespace(), clientDecl.name()));
+ }
+ }
+ catch (ClassNotFoundException e)
+ {
+ WSFException.rethrow("Cannot extract service QName for target service", e);
+ }
+ }
+
+ // Do not use rebind, the binding should be unique
+ // [JBWS-1499] - Revisit WebServiceRefHandler JNDI rebind
+ Referenceable serviceReferenceable = buildServiceReferenceable(serviceImplClass, targetClassName, serviceRef);
+ Util.bind(encCtx, encName, serviceReferenceable);
+
+ }
+
+ /**
+ * Create a Sun-RI specific service referenceable.
+ * Most of the setup is done in {@link org.jboss.wsf.framework.serviceref.ServiceRefBinderJAXWS}
+ *
+ * @param serviceImplClass
+ * @param targetClassName
+ * @param serviceRef
+ * @return a Sun-RI specific service referenceable.
+ */
+ protected Referenceable buildServiceReferenceable(String serviceImplClass, String targetClassName, UnifiedServiceRefMetaData serviceRef)
+ {
+ return new SunRIServiceReferenceable(serviceImplClass, targetClassName, serviceRef);
+ }
+}
Added: trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/client/ServiceRefBinderFactoryImpl.java
===================================================================
--- trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/client/ServiceRefBinderFactoryImpl.java (rev 0)
+++ trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/client/ServiceRefBinderFactoryImpl.java 2007-08-01 14:13:43 UTC (rev 4053)
@@ -0,0 +1,42 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.stack.sunri.client;
+
+// $Id: ServiceRefBinderJAXWS.java 4049 2007-08-01 11:26:30Z thomas.diesler(a)jboss.com $
+
+import org.jboss.wsf.spi.serviceref.ServiceRefBinder;
+import org.jboss.wsf.spi.serviceref.ServiceRefBinderFactory;
+import org.jboss.wsf.spi.serviceref.ServiceRefHandler.Type;
+
+/**
+ * Binds a JAXWS Service object in the client's ENC
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 17-Jan-2007
+ */
+public class ServiceRefBinderFactoryImpl implements ServiceRefBinderFactory
+{
+ public ServiceRefBinder newServiceRefBinder(Type type)
+ {
+ return (type == Type.JAXRPC ? new MetroServiceRefBinderJAXRPC() : new MetroServiceRefBinderJAXWS());
+ }
+}
Deleted: trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/client/ServiceRefBinderJAXWS.java
===================================================================
--- trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/client/ServiceRefBinderJAXWS.java 2007-08-01 13:27:00 UTC (rev 4052)
+++ trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/client/ServiceRefBinderJAXWS.java 2007-08-01 14:13:43 UTC (rev 4053)
@@ -1,49 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.wsf.stack.sunri.client;
-
-import org.jboss.wsf.framework.serviceref.CommonServiceRefBinder;
-import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedServiceRefMetaData;
-
-import javax.naming.Referenceable;
-
-/**
- * @author Heiko.Braun(a)jboss.com
- * Created: Jul 12, 2007
- */
-public class ServiceRefBinderJAXWS extends CommonServiceRefBinder
-{
- /**
- * Create a Sun-RI specific service referenceable.
- * Most of the setup is done in {@link org.jboss.wsf.framework.serviceref.CommonServiceRefBinder}
- *
- * @param serviceImplClass
- * @param targetClassName
- * @param serviceRef
- * @return a Sun-RI specific service referenceable.
- */
- protected Referenceable buildServiceReferenceable(
- String serviceImplClass, String targetClassName, UnifiedServiceRefMetaData serviceRef)
- {
- return new SunRIServiceReferenceable(serviceImplClass, targetClassName, serviceRef);
- }
-}
Modified: trunk/integration/sunri/src/main/resources/jbossws-sunri-config.xml
===================================================================
--- trunk/integration/sunri/src/main/resources/jbossws-sunri-config.xml 2007-08-01 13:27:00 UTC (rev 4052)
+++ trunk/integration/sunri/src/main/resources/jbossws-sunri-config.xml 2007-08-01 14:13:43 UTC (rev 4053)
@@ -29,20 +29,6 @@
<property name="mbeanServer"><inject bean="WSMBeanServerLocator" property="mbeanServer"/></property>
</bean>
- <!-- Bind Service objects in client environment context -->
- <bean name="WSServiceRefHandler" class="org.jboss.ws.integration.ServiceRefHandlerImpl">
- <property name="jaxrpcBinder"><inject bean="WSServiceRefBinderJAXRPC"/></property>
- <property name="jaxwsBinder"><inject bean="WSServiceRefBinderJAXWS"/></property>
- </bean>
-
- <!-- JBoss_4_2_0_GA uses this hardcoded bean name -->
- <bean name="ServiceRefHandler" class="org.jboss.ws.integration.ServiceRefHandlerImpl">
- <property name="jaxrpcBinder"><inject bean="WSServiceRefBinderJAXRPC"/></property>
- <property name="jaxwsBinder"><inject bean="WSServiceRefBinderJAXWS"/></property>
- </bean>
- <bean name="WSServiceRefBinderJAXRPC" class="org.jboss.wsf.stack.sunri.client.DummyServiceRefBinderJAXRPC"/>
- <bean name="WSServiceRefBinderJAXWS" class="org.jboss.wsf.stack.sunri.client.ServiceRefBinderJAXWS"/>
-
<!-- Logging redirector -->
<bean name="JDKLogRedirector" class="org.jboss.wsf.stack.sunri.log.JDKLogRedirector">
<property name="namespaces">
Added: trunk/integration/sunri/src/main/resources/jbossws-sunri.jar/META-INF/services/org.jboss.wsf.spi.serviceref.ServiceRefBinderFactory
===================================================================
--- trunk/integration/sunri/src/main/resources/jbossws-sunri.jar/META-INF/services/org.jboss.wsf.spi.serviceref.ServiceRefBinderFactory (rev 0)
+++ trunk/integration/sunri/src/main/resources/jbossws-sunri.jar/META-INF/services/org.jboss.wsf.spi.serviceref.ServiceRefBinderFactory 2007-08-01 14:13:43 UTC (rev 4053)
@@ -0,0 +1 @@
+org.jboss.wsf.stack.sunri.client.ServiceRefBinderFactoryImpl
\ No newline at end of file
Added: trunk/jbossws-core/src/main/java/org/jboss/ws/core/client/ServiceRefBinderFactoryImpl.java
===================================================================
--- trunk/jbossws-core/src/main/java/org/jboss/ws/core/client/ServiceRefBinderFactoryImpl.java (rev 0)
+++ trunk/jbossws-core/src/main/java/org/jboss/ws/core/client/ServiceRefBinderFactoryImpl.java 2007-08-01 14:13:43 UTC (rev 4053)
@@ -0,0 +1,44 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.ws.core.client;
+
+// $Id: ServiceRefBinderJAXWS.java 4049 2007-08-01 11:26:30Z thomas.diesler(a)jboss.com $
+
+import org.jboss.ws.core.jaxrpc.client.NativeServiceRefBinderJAXRPC;
+import org.jboss.ws.core.jaxws.client.NativeServiceRefBinderJAXWS;
+import org.jboss.wsf.spi.serviceref.ServiceRefBinder;
+import org.jboss.wsf.spi.serviceref.ServiceRefBinderFactory;
+import org.jboss.wsf.spi.serviceref.ServiceRefHandler.Type;
+
+/**
+ * Binds a JAXWS Service object in the client's ENC
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 17-Jan-2007
+ */
+public class ServiceRefBinderFactoryImpl implements ServiceRefBinderFactory
+{
+ public ServiceRefBinder newServiceRefBinder(Type type)
+ {
+ return (type == Type.JAXRPC ? new NativeServiceRefBinderJAXRPC() : new NativeServiceRefBinderJAXWS());
+ }
+}
Copied: trunk/jbossws-core/src/main/java/org/jboss/ws/core/jaxrpc/client/NativeServiceRefBinderJAXRPC.java (from rev 4050, trunk/jbossws-core/src/main/java/org/jboss/ws/core/jaxrpc/client/ServiceRefBinderJAXRPC.java)
===================================================================
--- trunk/jbossws-core/src/main/java/org/jboss/ws/core/jaxrpc/client/NativeServiceRefBinderJAXRPC.java (rev 0)
+++ trunk/jbossws-core/src/main/java/org/jboss/ws/core/jaxrpc/client/NativeServiceRefBinderJAXRPC.java 2007-08-01 14:13:43 UTC (rev 4053)
@@ -0,0 +1,61 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.ws.core.jaxrpc.client;
+
+// $Id$
+
+import java.lang.reflect.AnnotatedElement;
+
+import javax.naming.Context;
+import javax.naming.NamingException;
+
+import org.jboss.logging.Logger;
+import org.jboss.util.naming.Util;
+import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedServiceRefMetaData;
+import org.jboss.wsf.spi.serviceref.ServiceRefBinder;
+
+/**
+ * Binds a JAXRPC Service object in the client's ENC for every service-ref element in the
+ * deployment descriptor.
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 04-Nov-2006
+ */
+public class NativeServiceRefBinderJAXRPC implements ServiceRefBinder
+{
+ // logging support
+ private static Logger log = Logger.getLogger(NativeServiceRefBinderJAXRPC.class);
+
+ /**
+ * Binds a Service into the callers ENC for every service-ref element
+ */
+ public void setupServiceRef(Context encCtx, String encName, AnnotatedElement anElement, UnifiedServiceRefMetaData serviceRef, ClassLoader loader)
+ throws NamingException
+ {
+ String externalName = encCtx.getNameInNamespace() + "/" + encName;
+ log.info("setupServiceRef [jndi=" + externalName + "]");
+
+ // Do not use rebind, the binding should be unique
+ ServiceReferenceable ref = new ServiceReferenceable(serviceRef);
+ Util.bind(encCtx, encName, ref);
+ }
+}
Deleted: trunk/jbossws-core/src/main/java/org/jboss/ws/core/jaxrpc/client/ServiceRefBinderJAXRPC.java
===================================================================
--- trunk/jbossws-core/src/main/java/org/jboss/ws/core/jaxrpc/client/ServiceRefBinderJAXRPC.java 2007-08-01 13:27:00 UTC (rev 4052)
+++ trunk/jbossws-core/src/main/java/org/jboss/ws/core/jaxrpc/client/ServiceRefBinderJAXRPC.java 2007-08-01 14:13:43 UTC (rev 4053)
@@ -1,61 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.ws.core.jaxrpc.client;
-
-// $Id$
-
-import javax.naming.Context;
-import javax.naming.NamingException;
-
-import org.jboss.logging.Logger;
-import org.jboss.util.naming.Util;
-import org.jboss.wsf.framework.serviceref.ServiceRefBinder;
-import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedServiceRefMetaData;
-
-import java.lang.reflect.AnnotatedElement;
-
-/**
- * Binds a JAXRPC Service object in the client's ENC for every service-ref element in the
- * deployment descriptor.
- *
- * @author Thomas.Diesler(a)jboss.org
- * @since 04-Nov-2006
- */
-public class ServiceRefBinderJAXRPC implements ServiceRefBinder
-{
- // logging support
- private static Logger log = Logger.getLogger(ServiceRefBinderJAXRPC.class);
-
- /**
- * Binds a Service into the callers ENC for every service-ref element
- */
- public void setupServiceRef(Context encCtx, String encName, AnnotatedElement anElement, UnifiedServiceRefMetaData serviceRef, ClassLoader loader)
- throws NamingException
- {
- String externalName = encCtx.getNameInNamespace() + "/" + encName;
- log.info("setupServiceRef [jndi=" + externalName + "]");
-
- // Do not use rebind, the binding should be unique
- ServiceReferenceable ref = new ServiceReferenceable(serviceRef);
- Util.bind(encCtx, encName, ref);
- }
-}
Copied: trunk/jbossws-core/src/main/java/org/jboss/ws/core/jaxws/client/NativeServiceRefBinderJAXWS.java (from rev 4050, trunk/jbossws-core/src/main/java/org/jboss/ws/core/jaxws/client/ServiceRefBinderJAXWS.java)
===================================================================
--- trunk/jbossws-core/src/main/java/org/jboss/ws/core/jaxws/client/NativeServiceRefBinderJAXWS.java (rev 0)
+++ trunk/jbossws-core/src/main/java/org/jboss/ws/core/jaxws/client/NativeServiceRefBinderJAXWS.java 2007-08-01 14:13:43 UTC (rev 4053)
@@ -0,0 +1,215 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.ws.core.jaxws.client;
+
+// $Id$
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.AnnotatedElement;
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.jws.HandlerChain;
+import javax.naming.Context;
+import javax.naming.NamingException;
+import javax.naming.Referenceable;
+import javax.xml.namespace.QName;
+import javax.xml.ws.Service;
+import javax.xml.ws.WebServiceClient;
+import javax.xml.ws.WebServiceRef;
+import javax.xml.ws.WebServiceRefs;
+
+import org.jboss.logging.Logger;
+import org.jboss.util.naming.Util;
+import org.jboss.wsf.spi.WSFException;
+import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedServiceRefMetaData;
+import org.jboss.wsf.spi.serviceref.ServiceRefBinder;
+
+/**
+ * Binds a JAXWS Service object in the client's ENC
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 17-Jan-2007
+ */
+public class NativeServiceRefBinderJAXWS implements ServiceRefBinder
+{
+ // logging support
+ private static Logger log = Logger.getLogger(NativeServiceRefBinderJAXWS.class);
+
+ public void setupServiceRef(Context encCtx, String encName, AnnotatedElement anElement, UnifiedServiceRefMetaData serviceRef, ClassLoader loader) throws NamingException
+ {
+ WebServiceRef wsref = null;
+
+ if (null == loader)
+ throw new IllegalArgumentException("There needs to be a classloader available");
+
+ // Build the list of @WebServiceRef relevant annotations
+ List<WebServiceRef> wsrefList = new ArrayList<WebServiceRef>();
+
+ if (anElement != null)
+ {
+ for (Annotation an : anElement.getAnnotations())
+ {
+ if (an instanceof WebServiceRef)
+ wsrefList.add((WebServiceRef)an);
+
+ if (an instanceof WebServiceRefs)
+ {
+ WebServiceRefs wsrefs = (WebServiceRefs)an;
+ for (WebServiceRef aux : wsrefs.value())
+ wsrefList.add(aux);
+ }
+ }
+ }
+
+ // Use the single @WebServiceRef
+ if (wsrefList.size() == 1)
+ {
+ wsref = wsrefList.get(0);
+ }
+ else
+ {
+ for (WebServiceRef aux : wsrefList)
+ {
+ if (encName.endsWith("/" + aux.name()))
+ {
+ wsref = aux;
+ break;
+ }
+ }
+ }
+
+ Class targetClass = null;
+ if (anElement instanceof Field)
+ {
+ targetClass = ((Field)anElement).getType();
+ }
+ else if (anElement instanceof Method)
+ {
+ targetClass = ((Method)anElement).getParameterTypes()[0];
+ }
+ else
+ {
+ if (wsref != null && (wsref.type() != Object.class))
+ targetClass = wsref.type();
+ }
+
+ String targetClassName = (targetClass != null ? targetClass.getName() : null);
+ String externalName = encCtx.getNameInNamespace() + "/" + encName;
+ log.debug("setupServiceRef [jndi=" + externalName + ",target=" + targetClassName + "]");
+
+ String serviceImplClass = null;
+
+ // #1 Use the explicit @WebServiceRef.value
+ if (wsref != null && wsref.value() != Object.class)
+ serviceImplClass = wsref.value().getName();
+
+ // #2 Use the target ref type
+ if (serviceImplClass == null && targetClass != null && Service.class.isAssignableFrom(targetClass))
+ serviceImplClass = targetClass.getName();
+
+ // #3 Use <service-interface>
+ if (serviceImplClass == null && serviceRef.getServiceInterface() != null)
+ serviceImplClass = serviceRef.getServiceInterface();
+
+ // #4 Use javax.xml.ws.Service
+ if (serviceImplClass == null)
+ serviceImplClass = Service.class.getName();
+
+ // #1 Use the explicit @WebServiceRef.type
+ if (wsref != null && wsref.type() != Object.class)
+ targetClassName = wsref.type().getName();
+
+ // #2 Use the target ref type
+ if (targetClassName == null && targetClass != null && Service.class.isAssignableFrom(targetClass) == false)
+ targetClassName = targetClass.getName();
+
+ // Set the wsdlLocation if there is no override already
+ if (serviceRef.getWsdlOverride() == null && wsref != null && wsref.wsdlLocation().length() > 0)
+ serviceRef.setWsdlOverride(wsref.wsdlLocation());
+
+ // Set the handlerChain from @HandlerChain on the annotated element
+ String handlerChain = serviceRef.getHandlerChain();
+ if (anElement != null)
+ {
+ HandlerChain anHandlerChain = anElement.getAnnotation(HandlerChain.class);
+ if (handlerChain == null && anHandlerChain != null && anHandlerChain.file().length() > 0)
+ handlerChain = anHandlerChain.file();
+ }
+
+ // Resolve path to handler chain
+ if (handlerChain != null)
+ {
+ try
+ {
+ new URL(handlerChain);
+ }
+ catch (MalformedURLException ex)
+ {
+ Class declaringClass = null;
+ if (anElement instanceof Field)
+ declaringClass = ((Field)anElement).getDeclaringClass();
+ else if (anElement instanceof Method)
+ declaringClass = ((Method)anElement).getDeclaringClass();
+ else if (anElement instanceof Class)
+ declaringClass = (Class)anElement;
+
+ handlerChain = declaringClass.getPackage().getName().replace('.', '/') + "/" + handlerChain;
+ }
+
+ serviceRef.setHandlerChain(handlerChain);
+ }
+
+ // Extract service QName for target service
+ if (null == serviceRef.getServiceQName())
+ {
+ try
+ {
+ Class serviceClass = loader.loadClass(serviceImplClass);
+ if (serviceClass.getAnnotation(WebServiceClient.class) != null)
+ {
+ WebServiceClient clientDecl = (WebServiceClient)serviceClass.getAnnotation(WebServiceClient.class);
+ serviceRef.setServiceQName(new QName(clientDecl.targetNamespace(), clientDecl.name()));
+ }
+ }
+ catch (ClassNotFoundException e)
+ {
+ WSFException.rethrow("Cannot extract service QName for target service", e);
+ }
+ }
+
+ // Do not use rebind, the binding should be unique
+ // [JBWS-1499] - Revisit WebServiceRefHandler JNDI rebind
+ Referenceable serviceReferenceable = buildServiceReferenceable(serviceImplClass, targetClassName, serviceRef);
+ Util.bind(encCtx, encName, serviceReferenceable);
+
+ }
+
+ protected Referenceable buildServiceReferenceable(String serviceImplClass, String targetClassName, UnifiedServiceRefMetaData serviceRef)
+ {
+ return new ServiceReferenceable(serviceImplClass, targetClassName, serviceRef);
+ }
+}
Deleted: trunk/jbossws-core/src/main/java/org/jboss/ws/core/jaxws/client/ServiceRefBinderJAXWS.java
===================================================================
--- trunk/jbossws-core/src/main/java/org/jboss/ws/core/jaxws/client/ServiceRefBinderJAXWS.java 2007-08-01 13:27:00 UTC (rev 4052)
+++ trunk/jbossws-core/src/main/java/org/jboss/ws/core/jaxws/client/ServiceRefBinderJAXWS.java 2007-08-01 14:13:43 UTC (rev 4053)
@@ -1,44 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.ws.core.jaxws.client;
-
-// $Id$
-
-import org.jboss.wsf.framework.serviceref.CommonServiceRefBinder;
-import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedServiceRefMetaData;
-
-import javax.naming.Referenceable;
-
-/**
- * Binds a JAXWS Service object in the client's ENC
- *
- * @author Thomas.Diesler(a)jboss.org
- * @since 17-Jan-2007
- */
-public class ServiceRefBinderJAXWS extends CommonServiceRefBinder
-{
- protected Referenceable buildServiceReferenceable(
- String serviceImplClass, String targetClassName, UnifiedServiceRefMetaData serviceRef)
- {
- return new ServiceReferenceable(serviceImplClass, targetClassName, serviceRef);
- }
-}
17 years, 5 months
JBossWS SVN: r4052 - trunk/testsuite/src/java/org/jboss/test/ws/jaxws/tools.
by jbossws-commits@lists.jboss.org
Author: heiko.braun(a)jboss.com
Date: 2007-08-01 09:27:00 -0400 (Wed, 01 Aug 2007)
New Revision: 4052
Modified:
trunk/testsuite/src/java/org/jboss/test/ws/jaxws/tools/WSProvideTestCase.java
Log:
Complete WSProvideTestCase
Modified: trunk/testsuite/src/java/org/jboss/test/ws/jaxws/tools/WSProvideTestCase.java
===================================================================
--- trunk/testsuite/src/java/org/jboss/test/ws/jaxws/tools/WSProvideTestCase.java 2007-08-01 13:10:40 UTC (rev 4051)
+++ trunk/testsuite/src/java/org/jboss/test/ws/jaxws/tools/WSProvideTestCase.java 2007-08-01 13:27:00 UTC (rev 4052)
@@ -22,13 +22,20 @@
package org.jboss.test.ws.jaxws.tools;
import junit.framework.TestCase;
+import org.jboss.wsf.common.DOMUtils;
+import org.jboss.wsf.spi.tools.WSContractProvider;
+import org.w3c.dom.Element;
+import javax.jws.WebMethod;
+import javax.jws.WebService;
+import javax.xml.bind.annotation.XmlRootElement;
+import java.io.ByteArrayOutputStream;
import java.io.File;
+import java.io.FileInputStream;
import java.io.PrintStream;
+import java.net.URL;
+import java.net.URLClassLoader;
-import org.jboss.wsf.spi.tools.WSContractConsumer;
-import org.jboss.wsf.spi.tools.WSContractProvider;
-
/**
* @author Heiko.Braun(a)jboss.com
* @version $Revision$
@@ -38,8 +45,10 @@
// tools delegate
WSContractProvider provider;
- boolean toogleMessageOut;
+ // redirect tools message to System.out ?
+ boolean toogleMessageOut = false;
+ // relative to test execution
File outputDirectory;
protected void setUp() throws Exception
@@ -51,34 +60,64 @@
if(toogleMessageOut) provider.setMessageStream(System.out);
// shared output directory, relative to test execution
- outputDirectory = new File("wsprovide/java");
+ outputDirectory = new File("wsprovide/java");
}
+ private ClassLoader getArtefactClassLoader() throws Exception {
+ URLClassLoader loader = new URLClassLoader(new URL[] {
+ new URL("file:"+System.getProperty("user.dir")+"/wsprovide/java/") }
+ );
+
+ return loader;
+ }
+
/**
* Enables/Disables WSDL generation.
*
*/
- public void testGenerateWsdl()
+ public void testGenerateWsdl() throws Exception
{
-
+ provider.setGenerateWsdl(true);
+ provide();
+
+ verifyWSDL(outputDirectory);
}
/**
* Enables/Disables Java source generation.
*
*/
- public void testGenerateSource()
+ public void testGenerateSource() throws Exception
{
-
+ provider.setGenerateSource(true);
+ provide();
+
+ verifyJavaSource(outputDirectory);
+
}
+ private void verifyJavaSource(File directory)
+ {
+ File javaSource = new File(
+ directory.getAbsolutePath()+
+ "/org/jboss/test/ws/jaxws/tools/jaxws/AddResponse.java"
+ );
+
+ assertTrue("Source not generated", javaSource.exists());
+ }
+
/**
* Sets the main output directory.
* If the directory does not exist, it will be created.
*/
- public void testOutputDirectory()
+ public void testOutputDirectory() throws Exception
{
-
+ provide();
+ ClassLoader loader = getArtefactClassLoader();
+ Class responseWrapper = loader.loadClass("org.jboss.test.ws.jaxws.tools.jaxws.AddResponse");
+ XmlRootElement rootElement = (XmlRootElement) responseWrapper.getAnnotation(XmlRootElement.class);
+ assertNotNull("@XmlRootElement missing form response wrapper", rootElement);
+ assertEquals("Wrong namespace", rootElement.namespace(), "http://foo.bar.com/calculator");
}
/**
@@ -87,20 +126,42 @@
* If not specified, the output directory will be used instead.
*
*/
- public void testResourceDirectory()
+ public void testResourceDirectory() throws Exception
{
-
+ File directory = new File("wsprovide/resources");
+ provider.setResourceDirectory(directory);
+ provide();
+
+ verifyWSDL(directory);
}
+ private void verifyWSDL(File directory) throws Exception
+ {
+ File wsdl = new File(
+ outputDirectory.getAbsolutePath()+
+ "/WSProvideTestCase$CalculatorBeanService.wsdl"
+ );
+
+ assertTrue("WSDL not generated", wsdl.exists());
+ Element root = DOMUtils.parse( new FileInputStream(wsdl));
+ Element serviceElement = DOMUtils.getFirstChildElement(root, "service");
+ assertEquals(serviceElement.getAttribute("name"), "WSProvideTestCase$CalculatorBeanService");
+ }
+
/**
* Sets the source directory. This directory will contain any generated Java source.
* If the directory does not exist, it will be created. If not specified,
* the output directory will be used instead.
*
*/
- public void testSourceDirectory()
+ public void testSourceDirectory() throws Exception
{
+ File sourceDir = new File("wsprovide/sources");
+ provider.setSourceDirectory(sourceDir);
+ provider.setGenerateSource(true);
+ provide();
+ verifyJavaSource(sourceDir);
}
/**
@@ -110,7 +171,7 @@
*/
public void testClassLoader()
{
-
+ System.out.println("FIXME [JBWS-1776]: Verify isolated classloading with WSProvide");
}
/**
@@ -118,14 +179,44 @@
* would be to use System.out.
*
*/
- public void testMessageStream()
+ public void testMessageStream() throws Exception
{
+ ByteArrayOutputStream bout = new ByteArrayOutputStream();
+ PrintStream pout = new PrintStream(bout);
+ provider.setMessageStream(pout);
+ provide();
+
+ String messageOut = new String(bout.toByteArray());
+
+ System.out.println("-- Begin captured output --");
+ System.out.println(messageOut);
+ System.out.println("-- End captured output --");
+
+ assertTrue("Provider messages not correctly redirected",
+ messageOut.indexOf("org/jboss/test/ws/jaxws/tools/jaxws/Add.class") != -1 );
}
private void provide() throws Exception
{
+ //provider.setGenerateSource(true);
+ provider.setOutputDirectory(outputDirectory);
+ provider.provide(CalculatorBean.class);
+ }
+ @WebService(targetNamespace = "http://foo.bar.com/calculator")
+ public class CalculatorBean
+ {
+ @WebMethod
+ public int add(int a, int b)
+ {
+ return a+b;
+ }
+
+ @WebMethod
+ public int subtract(int a, int b)
+ {
+ return a-b;
+ }
}
-
}
17 years, 5 months
JBossWS SVN: r4051 - trunk/integration/native/ant-import.
by jbossws-commits@lists.jboss.org
Author: thomas.diesler(a)jboss.com
Date: 2007-08-01 09:10:40 -0400 (Wed, 01 Aug 2007)
New Revision: 4051
Modified:
trunk/integration/native/ant-import/build-testsuite.xml
Log:
Add jbossws-spi.jar to ws.stack.classpath
Modified: trunk/integration/native/ant-import/build-testsuite.xml
===================================================================
--- trunk/integration/native/ant-import/build-testsuite.xml 2007-08-01 11:37:53 UTC (rev 4050)
+++ trunk/integration/native/ant-import/build-testsuite.xml 2007-08-01 13:10:40 UTC (rev 4051)
@@ -27,6 +27,7 @@
<target name="tests-init" depends="tests-classpath">
<path id="ws.stack.classpath">
+ <pathelement location="${spi.dir}/output/lib/jbossws-spi.jar"/>
<pathelement location="${core.dir}/output/lib/jboss-jaxrpc.jar"/>
<pathelement location="${core.dir}/output/lib/jboss-jaxws.jar"/>
<pathelement location="${core.dir}/output/lib/jboss-saaj.jar"/>
17 years, 5 months
JBossWS SVN: r4050 - in trunk: integration/spi/src/main/etc and 1 other directory.
by jbossws-commits@lists.jboss.org
Author: heiko.braun(a)jboss.com
Date: 2007-08-01 07:37:53 -0400 (Wed, 01 Aug 2007)
New Revision: 4050
Modified:
trunk/build/ant-import/build-testsuite.xml
trunk/integration/spi/src/main/etc/default.mf
Log:
The Class-Path attribute on spi.jar caused loading of wrong jaxws services, i.e. Provider
Modified: trunk/build/ant-import/build-testsuite.xml
===================================================================
--- trunk/build/ant-import/build-testsuite.xml 2007-08-01 11:26:30 UTC (rev 4049)
+++ trunk/build/ant-import/build-testsuite.xml 2007-08-01 11:37:53 UTC (rev 4050)
@@ -116,6 +116,7 @@
<!-- SPI tools -->
<pathelement location="${jboss.client}/jbossws-spi.jar"/>
+ <pathelement location="${jboss.client}/jaxws-tools.jar"/>
<pathelement location="${jboss.server.lib}/jboss-javaee.jar"/>
<pathelement location="${jboss.server.lib}/jbosssx.jar"/>
@@ -156,6 +157,8 @@
<!-- SPI tools -->
<pathelement location="${jboss.client}/jbossws-spi.jar"/>
+ <pathelement location="${jboss.client}/jaxws-tools.jar"/>
+ <pathelement location="${jboss.client}/wstx.jar"/>
<pathelement location="${env.JAVA_HOME}/lib/tools.jar"/>
Modified: trunk/integration/spi/src/main/etc/default.mf
===================================================================
--- trunk/integration/spi/src/main/etc/default.mf 2007-08-01 11:26:30 UTC (rev 4049)
+++ trunk/integration/spi/src/main/etc/default.mf 2007-08-01 11:37:53 UTC (rev 4050)
@@ -8,4 +8,4 @@
Implementation-Version: @implementation.version@ (build=(a)build.id@)
Implementation-Vendor: @implementation.vendor@
Implementation-Vendor-Id: @implementation.vendor.id@
-Class-Path: jaxb-xjc.jar jaxb-impl.jar stax-api.jar stax-ex.jar streambuffer.jar jaxws-rt.jar jaxws-tools.jar wstx.jar
\ No newline at end of file
+Class-Path: getopt.jar
\ No newline at end of file
17 years, 5 months
JBossWS SVN: r4049 - in trunk: integration/jboss40/src/main/java/org/jboss/wsf/container/jboss40 and 37 other directories.
by jbossws-commits@lists.jboss.org
Author: thomas.diesler(a)jboss.com
Date: 2007-08-01 07:26:30 -0400 (Wed, 01 Aug 2007)
New Revision: 4049
Added:
trunk/integration/jboss42/src/main/java/org/jboss/ws/
trunk/integration/jboss42/src/main/java/org/jboss/ws/integration/
trunk/integration/jboss42/src/main/java/org/jboss/ws/integration/KernelLocator.java
trunk/integration/jboss42/src/main/java/org/jboss/ws/integration/ServiceRefElement.java
trunk/integration/jboss42/src/main/java/org/jboss/ws/integration/ServiceRefHandler.java
trunk/integration/jboss42/src/main/java/org/jboss/ws/integration/ServiceRefMetaData.java
trunk/integration/jboss42/src/main/java/org/jboss/ws/integration/URLLoaderAdapter.java
trunk/integration/jboss42/src/main/java/org/jboss/ws/integration/UnifiedVirtualFile.java
trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/serviceref/
trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/serviceref/DelegatingCallPropertyMetaData.java
trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/serviceref/DelegatingHandlerChainMetaData.java
trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/serviceref/DelegatingHandlerChainsMetaData.java
trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/serviceref/DelegatingHandlerMetaData.java
trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/serviceref/DelegatingInitParamMetaData.java
trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/serviceref/DelegatingPortComponentRefMetaData.java
trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/serviceref/DelegatingServiceRefMetaData.java
trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/serviceref/DelegatingStubPropertyMetaData.java
trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/serviceref/ServiceRefHandlerImpl.java
trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/serviceref/ServiceRefObjectFactory.java
trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/ResourceLoaderAdapter.java
trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/URLLoaderAdapter.java
trunk/integration/spi/src/main/java/org/jboss/wsf/framework/serviceref/
trunk/integration/spi/src/main/java/org/jboss/wsf/framework/serviceref/CommonServiceRefBinder.java
trunk/integration/spi/src/main/java/org/jboss/wsf/framework/serviceref/ServiceRefBinder.java
trunk/integration/spi/src/main/java/org/jboss/wsf/framework/serviceref/ServiceRefHandlerFactory.java
trunk/integration/spi/src/main/java/org/jboss/wsf/framework/serviceref/ServiceRefObjectFactory.java
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/UnifiedVirtualFile.java
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/metadata/j2ee/serviceref/UnifiedCallPropertyMetaData.java
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/metadata/j2ee/serviceref/UnifiedHandlerChainMetaData.java
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/metadata/j2ee/serviceref/UnifiedHandlerChainsMetaData.java
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/metadata/j2ee/serviceref/UnifiedServiceRefMetaData.java
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/metadata/j2ee/serviceref/UnifiedStubPropertyMetaData.java
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/serviceref/
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/serviceref/ServiceRefElement.java
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/serviceref/ServiceRefHandler.java
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/serviceref/ServiceRefMetaData.java
Removed:
trunk/integration/spi/src/main/java/org/jboss/ws/
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/metadata/j2ee/serviceref/UnifiedCallPropertyMetaData.java
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/metadata/j2ee/serviceref/UnifiedHandlerChainMetaData.java
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/metadata/j2ee/serviceref/UnifiedHandlerChainsMetaData.java
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/metadata/j2ee/serviceref/UnifiedServiceRefMetaData.java
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/metadata/j2ee/serviceref/UnifiedStubPropertyMetaData.java
Modified:
trunk/integration/jboss40/build.xml
trunk/integration/jboss40/src/main/java/org/jboss/wsf/container/jboss40/ServiceRefMetaDataAdapter.java
trunk/integration/jboss40/src/main/java/org/jboss/wsf/container/jboss40/WebServiceClientDeployer.java
trunk/integration/jboss40/src/main/resources/jbossws-jboss40-config.xml
trunk/integration/jboss42/build.xml
trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/ArchiveDeployerHook.java
trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/JAXRPCDeployerHookEJB21.java
trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/JAXRPCDeployerHookJSE.java
trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/JAXWSDeployerHookEJB3.java
trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/JAXWSDeployerHookJSE.java
trunk/integration/jboss42/src/main/resources/jbossws-jboss42-config.xml
trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/ArchiveDeployerHook.java
trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/VirtualFileAdaptor.java
trunk/integration/jboss50/src/main/resources/jbossws-jboss50.deployer/META-INF/jbossws-deployer-beans.xml
trunk/integration/native/src/main/resources/jbossws-native-config.xml
trunk/integration/spi/build.xml
trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/ArchiveDeploymentImpl.java
trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/EndpointAPIDeploymentAspect.java
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/ArchiveDeployment.java
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/metadata/j2ee/serviceref/UnifiedHandlerMetaData.java
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/metadata/j2ee/serviceref/UnifiedInitParamMetaData.java
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/metadata/j2ee/serviceref/UnifiedPortComponentRefMetaData.java
trunk/integration/spi/src/main/java/org/jboss/wsf/spi/metadata/webservices/WebservicesFactory.java
trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/client/DummyServiceRefBinderJAXRPC.java
trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/client/ServiceRefBinderJAXWS.java
trunk/jbossws-core/src/main/java/org/jboss/ws/core/CommonClient.java
trunk/jbossws-core/src/main/java/org/jboss/ws/core/jaxrpc/client/ServiceImpl.java
trunk/jbossws-core/src/main/java/org/jboss/ws/core/jaxrpc/client/ServiceRefBinderJAXRPC.java
trunk/jbossws-core/src/main/java/org/jboss/ws/core/jaxrpc/client/ServiceReferenceable.java
trunk/jbossws-core/src/main/java/org/jboss/ws/core/jaxws/client/ServiceRefBinderJAXWS.java
trunk/jbossws-core/src/main/java/org/jboss/ws/core/jaxws/spi/ServiceDelegateImpl.java
trunk/jbossws-core/src/main/java/org/jboss/ws/extensions/policy/metadata/PolicyMetaDataBuilder.java
trunk/jbossws-core/src/main/java/org/jboss/ws/extensions/security/jaxrpc/WSSecurityHandler.java
trunk/jbossws-core/src/main/java/org/jboss/ws/extensions/security/jaxws/WSSecurityHandler.java
trunk/jbossws-core/src/main/java/org/jboss/ws/metadata/builder/jaxrpc/JAXRPCClientMetaDataBuilder.java
trunk/jbossws-core/src/main/java/org/jboss/ws/metadata/builder/jaxws/JAXWSClientMetaDataBuilder.java
trunk/jbossws-core/src/main/java/org/jboss/ws/metadata/config/JBossWSConfigFactory.java
trunk/jbossws-core/src/main/java/org/jboss/ws/metadata/umdm/EndpointMetaData.java
trunk/jbossws-core/src/main/java/org/jboss/ws/metadata/umdm/OperationMetaData.java
trunk/jbossws-core/src/main/java/org/jboss/ws/metadata/umdm/ServiceMetaData.java
trunk/jbossws-core/src/main/java/org/jboss/ws/metadata/umdm/UnifiedMetaData.java
trunk/jbossws-core/src/main/java/org/jboss/ws/metadata/wsse/WSSecurityConfigFactory.java
trunk/jbossws-core/src/main/java/org/jboss/ws/tools/jaxws/impl/JBossWSProviderImpl.java
trunk/jbossws-core/src/main/java/org/jboss/ws/tools/metadata/ToolsUnifiedMetaDataBuilder.java
trunk/jbossws-core/src/test/java/org/jboss/test/ws/jaxws/wspolicy/PolicyMetaDataBuilderTestCase.java
Log:
Eliminate ws.integration in SPI
Modified: trunk/integration/jboss40/build.xml
===================================================================
--- trunk/integration/jboss40/build.xml 2007-08-01 10:36:11 UTC (rev 4048)
+++ trunk/integration/jboss40/build.xml 2007-08-01 11:26:30 UTC (rev 4049)
@@ -69,6 +69,7 @@
deprecation="${javac.deprecation}" failonerror="${javac.fail.onerror}">
<src path="${jbws40.java.dir}"/>
<src path="${jbws42.java.dir}"/>
+ <include name="org/jboss/ws/integration/**"/>
<include name="org/jboss/wsf/container/jboss40/**"/>
<include name="org/jboss/wsf/container/jboss42/**"/>
<exclude name="org/jboss/wsf/container/jboss42/jms/**"/>
@@ -115,6 +116,7 @@
<mkdir dir="${jbws40.output.lib.dir}"/>
<jar jarfile="${jbws40.output.lib.dir}/jbossws-jboss40.jar" manifest="${jbws40.output.etc.dir}/default.mf">
<fileset dir="${jbws40.output.classes.dir}">
+ <include name="org/jboss/ws/integration/**"/>
<include name="org/jboss/wsf/container/jboss40/**"/>
<include name="org/jboss/wsf/container/jboss42/**"/>
</fileset>
Modified: trunk/integration/jboss40/src/main/java/org/jboss/wsf/container/jboss40/ServiceRefMetaDataAdapter.java
===================================================================
--- trunk/integration/jboss40/src/main/java/org/jboss/wsf/container/jboss40/ServiceRefMetaDataAdapter.java 2007-08-01 10:36:11 UTC (rev 4048)
+++ trunk/integration/jboss40/src/main/java/org/jboss/wsf/container/jboss40/ServiceRefMetaDataAdapter.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -31,11 +31,7 @@
import javax.xml.namespace.QName;
-import org.jboss.webservice.metadata.serviceref.HandlerMetaData;
-import org.jboss.webservice.metadata.serviceref.InitParamMetaData;
-import org.jboss.webservice.metadata.serviceref.PortComponentRefMetaData;
-import org.jboss.webservice.metadata.serviceref.ServiceRefMetaData;
-import org.jboss.ws.integration.UnifiedVirtualFile;
+import org.jboss.wsf.spi.deployment.UnifiedVirtualFile;
import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedCallPropertyMetaData;
import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedHandlerMetaData;
import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedInitParamMetaData;
@@ -50,7 +46,7 @@
*/
public class ServiceRefMetaDataAdapter
{
- public UnifiedServiceRefMetaData buildServiceRefMetaData(UnifiedVirtualFile vfRoot, ServiceRefMetaData srmd) throws IOException
+ public UnifiedServiceRefMetaData buildServiceRefMetaData(UnifiedVirtualFile vfRoot, org.jboss.webservice.metadata.serviceref.ServiceRefMetaData srmd) throws IOException
{
UnifiedServiceRefMetaData usrmd = new UnifiedServiceRefMetaData(vfRoot);
usrmd.setServiceRefName(srmd.getServiceRefName());
@@ -60,7 +56,7 @@
usrmd.setServiceQName(srmd.getServiceQName());
LinkedHashMap<String, UnifiedPortComponentRefMetaData> pcrefs = new LinkedHashMap<String, UnifiedPortComponentRefMetaData>();
- for (PortComponentRefMetaData pcmd : srmd.getPortComponentRefs())
+ for (org.jboss.webservice.metadata.serviceref.PortComponentRefMetaData pcmd : srmd.getPortComponentRefs())
{
UnifiedPortComponentRefMetaData upcmd = new UnifiedPortComponentRefMetaData(usrmd);
upcmd.setServiceEndpointInterface(pcmd.getServiceEndpointInterface());
@@ -80,7 +76,7 @@
usrmd.addPortComponentRef(upcmd);
}
- for (HandlerMetaData hmd : srmd.getHandlers())
+ for (org.jboss.webservice.metadata.serviceref.HandlerMetaData hmd : srmd.getHandlers())
{
UnifiedHandlerMetaData uhmd = new UnifiedHandlerMetaData(null);
uhmd.setHandlerName(hmd.getHandlerName());
@@ -90,7 +86,7 @@
{
uhmd.addPortName(portname);
}
- for (InitParamMetaData ipmd : hmd.getInitParams())
+ for (org.jboss.webservice.metadata.serviceref.InitParamMetaData ipmd : hmd.getInitParams())
{
UnifiedInitParamMetaData ip = new UnifiedInitParamMetaData();
ip.setParamName(ipmd.getParamName());
Modified: trunk/integration/jboss40/src/main/java/org/jboss/wsf/container/jboss40/WebServiceClientDeployer.java
===================================================================
--- trunk/integration/jboss40/src/main/java/org/jboss/wsf/container/jboss40/WebServiceClientDeployer.java 2007-08-01 10:36:11 UTC (rev 4048)
+++ trunk/integration/jboss40/src/main/java/org/jboss/wsf/container/jboss40/WebServiceClientDeployer.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -34,12 +34,12 @@
import org.jboss.deployment.DeploymentInfo;
import org.jboss.system.ServiceMBeanSupport;
import org.jboss.webservice.metadata.serviceref.ServiceRefMetaData;
-import org.jboss.ws.integration.ResourceLoaderAdapter;
-import org.jboss.ws.integration.ServiceRefHandler;
-import org.jboss.ws.integration.ServiceRefHandlerFactory;
-import org.jboss.ws.integration.URLLoaderAdapter;
-import org.jboss.ws.integration.UnifiedVirtualFile;
+import org.jboss.wsf.framework.deployment.ResourceLoaderAdapter;
+import org.jboss.wsf.framework.deployment.URLLoaderAdapter;
+import org.jboss.wsf.framework.serviceref.ServiceRefHandlerFactory;
+import org.jboss.wsf.spi.deployment.UnifiedVirtualFile;
import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedServiceRefMetaData;
+import org.jboss.wsf.spi.serviceref.ServiceRefHandler;
/**
* Binds a JAXRPC Service object in the client's ENC for every service-ref element in the
Modified: trunk/integration/jboss40/src/main/resources/jbossws-jboss40-config.xml
===================================================================
--- trunk/integration/jboss40/src/main/resources/jbossws-jboss40-config.xml 2007-08-01 10:36:11 UTC (rev 4048)
+++ trunk/integration/jboss40/src/main/resources/jbossws-jboss40-config.xml 2007-08-01 11:26:30 UTC (rev 4049)
@@ -12,6 +12,12 @@
<property name="mbeanServer"><inject bean="WSMBeanServerLocator" property="mbeanServer"/></property>
</bean>
+ <!-- Bind Service objects in client environment context -->
+ <bean name="ServiceRefHandler" class="org.jboss.wsf.container.jboss42.serviceref.ServiceRefHandlerImpl">
+ <property name="jaxrpcBinder"><inject bean="WSServiceRefBinderJAXRPC"/></property>
+ <property name="jaxwsBinder"><inject bean="WSServiceRefBinderJAXWS"/></property>
+ </bean>
+
<!--
*********************************************************************************************************************
Web Service deployment
Modified: trunk/integration/jboss42/build.xml
===================================================================
--- trunk/integration/jboss42/build.xml 2007-08-01 10:36:11 UTC (rev 4048)
+++ trunk/integration/jboss42/build.xml 2007-08-01 11:26:30 UTC (rev 4049)
@@ -61,6 +61,7 @@
<mkdir dir="${jbws42.output.classes.dir}"/>
<javac srcdir="${jbws42.java.dir}" sourcepath="" destdir="${jbws42.output.classes.dir}" encoding="utf-8" debug="${javac.debug}" verbose="${javac.verbose}"
deprecation="${javac.deprecation}" failonerror="${javac.fail.onerror}">
+ <include name="org/jboss/ws/integration/**"/>
<include name="org/jboss/wsf/container/jboss42/**"/>
<exclude name="org/jboss/wsf/container/jboss42/jms/**"/>
<classpath refid="jbws42.integration.classpath"/>
@@ -103,6 +104,7 @@
<mkdir dir="${jbws42.output.lib.dir}"/>
<jar jarfile="${jbws42.output.lib.dir}/jbossws-jboss42.jar" manifest="${jbws42.output.etc.dir}/default.mf">
<fileset dir="${jbws42.output.classes.dir}">
+ <include name="org/jboss/ws/integration/**"/>
<include name="org/jboss/wsf/container/jboss42/**"/>
</fileset>
<metainf dir="${jbws42.resources.dir}/jbossws-jboss42.jar/META-INF"/>
Added: trunk/integration/jboss42/src/main/java/org/jboss/ws/integration/KernelLocator.java
===================================================================
--- trunk/integration/jboss42/src/main/java/org/jboss/ws/integration/KernelLocator.java (rev 0)
+++ trunk/integration/jboss42/src/main/java/org/jboss/ws/integration/KernelLocator.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -0,0 +1,40 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.ws.integration;
+
+//$Id: KernelLocator.java 3137 2007-05-18 13:41:57Z thomas.diesler(a)jboss.com $
+
+import org.jboss.kernel.Kernel;
+
+/**
+ * Locate the single instance of the kernel
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 12-May-2006
+ */
+public class KernelLocator
+{
+ public static Kernel getKernel()
+ {
+ return org.jboss.wsf.common.KernelLocator.getKernel();
+ }
+}
Added: trunk/integration/jboss42/src/main/java/org/jboss/ws/integration/ServiceRefElement.java
===================================================================
--- trunk/integration/jboss42/src/main/java/org/jboss/ws/integration/ServiceRefElement.java (rev 0)
+++ trunk/integration/jboss42/src/main/java/org/jboss/ws/integration/ServiceRefElement.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -0,0 +1,36 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.ws.integration;
+
+// $Id: ServiceRefElement.java -1M 2007-08-01 08:54:49Z (local) $
+
+import java.io.Serializable;
+
+/**
+ * A marker for all <service-ref> related objects.
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 08-Mar-2007
+ */
+public abstract class ServiceRefElement implements Serializable
+{
+}
Added: trunk/integration/jboss42/src/main/java/org/jboss/ws/integration/ServiceRefHandler.java
===================================================================
--- trunk/integration/jboss42/src/main/java/org/jboss/ws/integration/ServiceRefHandler.java (rev 0)
+++ trunk/integration/jboss42/src/main/java/org/jboss/ws/integration/ServiceRefHandler.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -0,0 +1,49 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.ws.integration;
+
+// $Id: ServiceRefHandler.java -1M 2007-08-01 08:55:34Z (local) $
+
+import javax.naming.Context;
+import javax.naming.NamingException;
+
+import org.jboss.xb.binding.UnmarshallingContext;
+import org.xml.sax.Attributes;
+
+/**
+ * An implementation of this interface handles all service-ref binding concerns
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 05-May-2004
+ */
+public interface ServiceRefHandler
+{
+ final String BEAN_NAME = "WSServiceRefHandler";
+
+ ServiceRefMetaData newServiceRefMetaData();
+
+ Object newChild(ServiceRefElement ref, UnmarshallingContext navigator, String namespaceURI, String localName, Attributes attrs);
+
+ void setValue(ServiceRefElement ref, UnmarshallingContext navigator, String namespaceURI, String localName, String value);
+
+ void bindServiceRef(Context encCtx, String encName, UnifiedVirtualFile vfsRoot, ClassLoader loader, ServiceRefMetaData sref) throws NamingException;
+}
Added: trunk/integration/jboss42/src/main/java/org/jboss/ws/integration/ServiceRefMetaData.java
===================================================================
--- trunk/integration/jboss42/src/main/java/org/jboss/ws/integration/ServiceRefMetaData.java (rev 0)
+++ trunk/integration/jboss42/src/main/java/org/jboss/ws/integration/ServiceRefMetaData.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -0,0 +1,55 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.ws.integration;
+
+// $Id: ServiceRefMetaData.java -1M 2007-08-01 08:55:36Z (local) $
+
+import java.io.Serializable;
+
+import org.w3c.dom.Element;
+
+/**
+ * An abstract service-ref meta data object.
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 08-Mar-2007
+ */
+public abstract class ServiceRefMetaData extends ServiceRefElement implements Serializable
+{
+ public abstract String getServiceRefName();
+
+ public abstract void setServiceRefName(String name);
+
+ public abstract Object getAnnotatedElement();
+
+ public abstract void setAnnotatedElement(Object anElement);
+
+ public abstract boolean isProcessed();
+
+ public abstract void setProcessed(boolean flag);
+
+ public abstract void importStandardXml(Element element);
+
+ public abstract void importJBossXml(Element element);
+
+ public abstract void merge(ServiceRefMetaData targetRef);
+}
Added: trunk/integration/jboss42/src/main/java/org/jboss/ws/integration/URLLoaderAdapter.java
===================================================================
--- trunk/integration/jboss42/src/main/java/org/jboss/ws/integration/URLLoaderAdapter.java (rev 0)
+++ trunk/integration/jboss42/src/main/java/org/jboss/ws/integration/URLLoaderAdapter.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -0,0 +1,124 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.ws.integration;
+
+// $Id: URLLoaderAdapter.java 3830 2007-07-09 17:01:33Z heiko.braun(a)jboss.com $
+
+import java.io.File;
+import java.io.IOException;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.net.URLClassLoader;
+
+/**
+ * Load resources through a URLClassLoader.<br>
+ * NOTE: The associated classloader doesn't do parent delegation.
+ *
+ *
+ * @author Heiko.Braun(a)jboss.org
+ * @since 25.01.2007
+ */
+public class URLLoaderAdapter implements UnifiedVirtualFile
+{
+ private URL rootURL;
+ private URL resourceURL;
+ private transient URLClassLoader loader;
+
+ public URLLoaderAdapter(URL rootURL)
+ {
+ this.rootURL = rootURL;
+ }
+
+ private URLLoaderAdapter(URL rootURL, URLClassLoader loader, URL resourceURL)
+ {
+ this.rootURL = rootURL;
+ this.resourceURL = resourceURL;
+ this.loader = loader;
+ }
+
+ public UnifiedVirtualFile findChild(String resourcePath) throws IOException
+ {
+ URL resourceURL = null;
+ if (resourcePath != null)
+ {
+ // Try the child as URL
+ try
+ {
+ resourceURL = new URL(resourcePath);
+ }
+ catch (MalformedURLException ex)
+ {
+ // ignore
+ }
+
+ // Try the filename as File
+ if (resourceURL == null)
+ {
+ try
+ {
+ File file = new File(resourcePath);
+ if (file.exists())
+ resourceURL = file.toURL();
+ }
+ catch (MalformedURLException e)
+ {
+ // ignore
+ }
+ }
+
+ // Try the filename as Resource
+ if (resourceURL == null)
+ {
+ try
+ {
+ resourceURL = getResourceLoader().getResource(resourcePath);
+ }
+ catch (Exception ex)
+ {
+ // ignore
+ }
+ }
+ }
+
+ if (resourceURL == null)
+ throw new IOException("Cannot get URL for: " + resourcePath);
+
+ return new URLLoaderAdapter(rootURL, loader, resourceURL);
+ }
+
+ public URL toURL()
+ {
+ if (resourceURL != null)
+ return resourceURL;
+ else
+ return rootURL;
+ }
+
+ private URLClassLoader getResourceLoader()
+ {
+ if (loader == null)
+ {
+ loader = new URLClassLoader(new URL[] { rootURL });
+ }
+ return loader;
+ }
+}
Added: trunk/integration/jboss42/src/main/java/org/jboss/ws/integration/UnifiedVirtualFile.java
===================================================================
--- trunk/integration/jboss42/src/main/java/org/jboss/ws/integration/UnifiedVirtualFile.java (rev 0)
+++ trunk/integration/jboss42/src/main/java/org/jboss/ws/integration/UnifiedVirtualFile.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -0,0 +1,42 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.ws.integration;
+
+// $Id: UnifiedVirtualFile.java 3137 2007-05-18 13:41:57Z thomas.diesler(a)jboss.com $
+
+import java.io.IOException;
+import java.io.Serializable;
+import java.net.URL;
+
+/**
+ * An adaptor to a VirtualFile from jboss-vfs.jar
+ * jboss-vfs cannot be used in jboss-4.x because of its dependeny on jboss-common-core.jar
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 05-May-2006
+ */
+public interface UnifiedVirtualFile extends Serializable
+{
+ UnifiedVirtualFile findChild(String child) throws IOException;
+
+ URL toURL();
+}
Modified: trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/ArchiveDeployerHook.java
===================================================================
--- trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/ArchiveDeployerHook.java 2007-08-01 10:36:11 UTC (rev 4048)
+++ trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/ArchiveDeployerHook.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -28,14 +28,14 @@
import org.jboss.deployment.DeploymentException;
import org.jboss.deployment.DeploymentInfo;
-import org.jboss.ws.integration.ResourceLoaderAdapter;
-import org.jboss.ws.integration.UnifiedVirtualFile;
import org.jboss.wsf.spi.deployment.Deployment;
+import org.jboss.wsf.spi.deployment.UnifiedVirtualFile;
import org.jboss.wsf.spi.deployment.WSFDeploymentException;
import org.jboss.wsf.spi.deployment.Deployment.DeploymentType;
import org.jboss.wsf.spi.metadata.webservices.WebservicesFactory;
import org.jboss.wsf.spi.metadata.webservices.WebservicesMetaData;
import org.jboss.wsf.common.DOMUtils;
+import org.jboss.wsf.framework.deployment.ResourceLoaderAdapter;
import org.jboss.xb.binding.ObjectModelFactory;
import org.jboss.xb.binding.Unmarshaller;
import org.jboss.xb.binding.UnmarshallerFactory;
Modified: trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/JAXRPCDeployerHookEJB21.java
===================================================================
--- trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/JAXRPCDeployerHookEJB21.java 2007-08-01 10:36:11 UTC (rev 4048)
+++ trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/JAXRPCDeployerHookEJB21.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -26,7 +26,7 @@
import org.jboss.deployment.DeploymentInfo;
import org.jboss.metadata.ApplicationMetaData;
import org.jboss.metadata.BeanMetaData;
-import org.jboss.ws.integration.URLLoaderAdapter;
+import org.jboss.wsf.framework.deployment.URLLoaderAdapter;
import org.jboss.wsf.spi.deployment.ArchiveDeployment;
import org.jboss.wsf.spi.deployment.Deployment;
import org.jboss.wsf.spi.deployment.Endpoint;
Modified: trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/JAXRPCDeployerHookJSE.java
===================================================================
--- trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/JAXRPCDeployerHookJSE.java 2007-08-01 10:36:11 UTC (rev 4048)
+++ trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/JAXRPCDeployerHookJSE.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -29,7 +29,7 @@
import org.jboss.deployment.DeploymentInfo;
import org.jboss.metadata.WebMetaData;
-import org.jboss.ws.integration.URLLoaderAdapter;
+import org.jboss.wsf.framework.deployment.URLLoaderAdapter;
import org.jboss.wsf.spi.deployment.ArchiveDeployment;
import org.jboss.wsf.spi.deployment.Deployment;
import org.jboss.wsf.spi.deployment.Endpoint;
Modified: trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/JAXWSDeployerHookEJB3.java
===================================================================
--- trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/JAXWSDeployerHookEJB3.java 2007-08-01 10:36:11 UTC (rev 4048)
+++ trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/JAXWSDeployerHookEJB3.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -30,7 +30,7 @@
import org.jboss.ejb3.EJBContainer;
import org.jboss.ejb3.Ejb3ModuleMBean;
import org.jboss.ejb3.stateless.StatelessContainer;
-import org.jboss.ws.integration.URLLoaderAdapter;
+import org.jboss.wsf.framework.deployment.URLLoaderAdapter;
import org.jboss.wsf.spi.deployment.ArchiveDeployment;
import org.jboss.wsf.spi.deployment.Deployment;
import org.jboss.wsf.spi.deployment.Endpoint;
Modified: trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/JAXWSDeployerHookJSE.java
===================================================================
--- trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/JAXWSDeployerHookJSE.java 2007-08-01 10:36:11 UTC (rev 4048)
+++ trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/JAXWSDeployerHookJSE.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -34,7 +34,7 @@
import org.jboss.deployment.DeploymentInfo;
import org.jboss.metadata.WebMetaData;
-import org.jboss.ws.integration.URLLoaderAdapter;
+import org.jboss.wsf.framework.deployment.URLLoaderAdapter;
import org.jboss.wsf.spi.deployment.ArchiveDeployment;
import org.jboss.wsf.spi.deployment.Deployment;
import org.jboss.wsf.spi.deployment.Endpoint;
Added: trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/serviceref/DelegatingCallPropertyMetaData.java
===================================================================
--- trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/serviceref/DelegatingCallPropertyMetaData.java (rev 0)
+++ trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/serviceref/DelegatingCallPropertyMetaData.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -0,0 +1,51 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.container.jboss42.serviceref;
+
+// $Id: UnifiedServiceRefMetaData.java 4044 2007-08-01 08:23:22Z thomas.diesler(a)jboss.com $
+
+import org.jboss.ws.integration.ServiceRefElement;
+import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedCallPropertyMetaData;
+
+/**
+ * @author Thomas.Diesler(a)jboss.org
+ */
+public class DelegatingCallPropertyMetaData extends ServiceRefElement
+{
+ UnifiedCallPropertyMetaData delegate;
+
+ public DelegatingCallPropertyMetaData()
+ {
+ delegate = new UnifiedCallPropertyMetaData();
+ }
+
+ public void setPropName(String paramName)
+ {
+ delegate.setPropName(paramName);
+ }
+
+ public void setPropValue(String paramValue)
+ {
+ delegate.setPropValue(paramValue);
+ }
+
+}
Added: trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/serviceref/DelegatingHandlerChainMetaData.java
===================================================================
--- trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/serviceref/DelegatingHandlerChainMetaData.java (rev 0)
+++ trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/serviceref/DelegatingHandlerChainMetaData.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -0,0 +1,61 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.container.jboss42.serviceref;
+
+// $Id: UnifiedServiceRefMetaData.java 4044 2007-08-01 08:23:22Z thomas.diesler(a)jboss.com $
+
+import javax.xml.namespace.QName;
+
+import org.jboss.ws.integration.ServiceRefElement;
+import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedHandlerChainMetaData;
+
+/**
+ * The metdata data from service-ref element in web.xml, ejb-jar.xml, and
+ * application-client.xml.
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ */
+public class DelegatingHandlerChainMetaData extends ServiceRefElement
+{
+ UnifiedHandlerChainMetaData delegate;
+
+ public DelegatingHandlerChainMetaData()
+ {
+ delegate = new UnifiedHandlerChainMetaData();
+ }
+
+ public void setPortNamePattern(QName portNamePattern)
+ {
+ delegate.setPortNamePattern(portNamePattern);
+ }
+
+ public void setProtocolBindings(String protocolBindings)
+ {
+ delegate.setProtocolBindings(protocolBindings);
+ }
+
+ public void setServiceNamePattern(QName serviceNamePattern)
+ {
+ delegate.setServiceNamePattern(serviceNamePattern);
+ }
+
+}
Added: trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/serviceref/DelegatingHandlerChainsMetaData.java
===================================================================
--- trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/serviceref/DelegatingHandlerChainsMetaData.java (rev 0)
+++ trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/serviceref/DelegatingHandlerChainsMetaData.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -0,0 +1,61 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.container.jboss42.serviceref;
+
+// $Id: UnifiedServiceRefMetaData.java 4044 2007-08-01 08:23:22Z thomas.diesler(a)jboss.com $
+
+import java.util.List;
+
+import org.jboss.ws.integration.ServiceRefElement;
+import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedHandlerChainMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedHandlerChainsMetaData;
+
+/**
+ * The metdata data from service-ref element in web.xml, ejb-jar.xml, and
+ * application-client.xml.
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ */
+public class DelegatingHandlerChainsMetaData extends ServiceRefElement
+{
+ UnifiedHandlerChainsMetaData delegate;
+
+ public DelegatingHandlerChainsMetaData()
+ {
+ delegate = new UnifiedHandlerChainsMetaData();
+ }
+
+ public void addHandlerChain(UnifiedHandlerChainMetaData handlerChain)
+ {
+ delegate.addHandlerChain(handlerChain);
+ }
+
+ public List<UnifiedHandlerChainMetaData> getHandlerChains()
+ {
+ return delegate.getHandlerChains();
+ }
+
+ public void addHandlerChain(DelegatingHandlerChainMetaData data)
+ {
+ delegate.addHandlerChain(data.delegate);
+ }
+}
Added: trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/serviceref/DelegatingHandlerMetaData.java
===================================================================
--- trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/serviceref/DelegatingHandlerMetaData.java (rev 0)
+++ trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/serviceref/DelegatingHandlerMetaData.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -0,0 +1,78 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.container.jboss42.serviceref;
+
+// $Id: UnifiedServiceRefMetaData.java 4044 2007-08-01 08:23:22Z thomas.diesler(a)jboss.com $
+
+import javax.xml.namespace.QName;
+
+import org.jboss.ws.integration.ServiceRefElement;
+import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedHandlerMetaData;
+import org.w3c.dom.Element;
+
+/**
+ * @author Thomas.Diesler(a)jboss.org
+ */
+public class DelegatingHandlerMetaData extends ServiceRefElement
+{
+ UnifiedHandlerMetaData delegate;
+
+ public DelegatingHandlerMetaData()
+ {
+ delegate = new UnifiedHandlerMetaData();
+ }
+
+ public void importStandardXml(Element root)
+ {
+ delegate.importStandardXml(root);
+ }
+
+ public void setHandlerClass(String handlerClass)
+ {
+ delegate.setHandlerClass(handlerClass);
+ }
+
+ public void setHandlerName(String value)
+ {
+ delegate.setHandlerName(value);
+ }
+
+ public void addPortName(String value)
+ {
+ delegate.addPortName(value);
+ }
+
+ public void addSoapHeader(QName qName)
+ {
+ delegate.addSoapHeader(qName);
+ }
+
+ public void addSoapRole(String value)
+ {
+ delegate.addSoapRole(value);
+ }
+
+ public void addInitParam(DelegatingInitParamMetaData data)
+ {
+ delegate.addInitParam(data.delegate);
+ }
+}
Added: trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/serviceref/DelegatingInitParamMetaData.java
===================================================================
--- trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/serviceref/DelegatingInitParamMetaData.java (rev 0)
+++ trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/serviceref/DelegatingInitParamMetaData.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -0,0 +1,51 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.container.jboss42.serviceref;
+
+// $Id: UnifiedServiceRefMetaData.java 4044 2007-08-01 08:23:22Z thomas.diesler(a)jboss.com $
+
+import org.jboss.ws.integration.ServiceRefElement;
+import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedInitParamMetaData;
+
+/**
+ * @author Thomas.Diesler(a)jboss.org
+ */
+public class DelegatingInitParamMetaData extends ServiceRefElement
+{
+ UnifiedInitParamMetaData delegate;
+
+ public DelegatingInitParamMetaData()
+ {
+ delegate = new UnifiedInitParamMetaData();
+ }
+
+ public void setParamName(String paramName)
+ {
+ delegate.setParamName(paramName);
+ }
+
+ public void setParamValue(String paramValue)
+ {
+ delegate.setParamValue(paramValue);
+ }
+
+}
Added: trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/serviceref/DelegatingPortComponentRefMetaData.java
===================================================================
--- trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/serviceref/DelegatingPortComponentRefMetaData.java (rev 0)
+++ trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/serviceref/DelegatingPortComponentRefMetaData.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -0,0 +1,82 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.container.jboss42.serviceref;
+
+// $Id: UnifiedServiceRefMetaData.java 4044 2007-08-01 08:23:22Z thomas.diesler(a)jboss.com $
+
+import javax.xml.namespace.QName;
+
+import org.jboss.ws.integration.ServiceRefElement;
+import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedPortComponentRefMetaData;
+
+/**
+ * @author Thomas.Diesler(a)jboss.org
+ */
+public class DelegatingPortComponentRefMetaData extends ServiceRefElement
+{
+ UnifiedPortComponentRefMetaData delegate;
+
+ public DelegatingPortComponentRefMetaData(DelegatingServiceRefMetaData ref)
+ {
+ delegate = new UnifiedPortComponentRefMetaData(ref.delegate);
+ }
+
+ public void setConfigFile(String configFile)
+ {
+ delegate.setConfigFile(configFile);
+ }
+
+ public void setConfigName(String configName)
+ {
+ delegate.setConfigName(configName);
+ }
+
+ public void setEnableMTOM(Boolean enableMTOM)
+ {
+ delegate.setEnableMTOM(enableMTOM);
+ }
+
+ public void setPortComponentLink(String portComponentLink)
+ {
+ delegate.setPortComponentLink(portComponentLink);
+ }
+
+ public void setPortQName(QName portQName)
+ {
+ delegate.setPortQName(portQName);
+ }
+
+ public void setServiceEndpointInterface(String serviceEndpointInterface)
+ {
+ delegate.setServiceEndpointInterface(serviceEndpointInterface);
+ }
+
+ public void addCallProperty(DelegatingCallPropertyMetaData data)
+ {
+ delegate.addCallProperty(data.delegate);
+ }
+
+ public void addStubProperty(DelegatingStubPropertyMetaData data)
+ {
+ delegate.addStubProperty(data.delegate);
+ }
+}
Added: trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/serviceref/DelegatingServiceRefMetaData.java
===================================================================
--- trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/serviceref/DelegatingServiceRefMetaData.java (rev 0)
+++ trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/serviceref/DelegatingServiceRefMetaData.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -0,0 +1,206 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.container.jboss42.serviceref;
+
+// $Id: UnifiedServiceRefMetaData.java 4044 2007-08-01 08:23:22Z thomas.diesler(a)jboss.com $
+
+import java.io.IOException;
+import java.net.URL;
+
+import javax.xml.namespace.QName;
+
+import org.jboss.ws.integration.ServiceRefMetaData;
+import org.jboss.ws.integration.UnifiedVirtualFile;
+import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedServiceRefMetaData;
+import org.w3c.dom.Element;
+
+/**
+ * The metdata data from service-ref element in web.xml, ejb-jar.xml, and
+ * application-client.xml.
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ */
+public class DelegatingServiceRefMetaData extends ServiceRefMetaData
+{
+ UnifiedServiceRefMetaData delegate;
+
+ public DelegatingServiceRefMetaData()
+ {
+ delegate = new UnifiedServiceRefMetaData();
+ }
+
+ class VirtualFileDelegate implements org.jboss.wsf.spi.deployment.UnifiedVirtualFile
+ {
+ private UnifiedVirtualFile vfDelegate;
+
+ public VirtualFileDelegate(UnifiedVirtualFile vfDelegate)
+ {
+ this.vfDelegate = vfDelegate;
+ }
+
+ public org.jboss.wsf.spi.deployment.UnifiedVirtualFile findChild(String child) throws IOException
+ {
+ return new VirtualFileDelegate(vfDelegate.findChild(child));
+ }
+
+ public URL toURL()
+ {
+ return vfDelegate.toURL();
+ }
+ }
+
+ public Object getAnnotatedElement()
+ {
+ return delegate.getAnnotatedElement();
+ }
+
+ public String getServiceRefName()
+ {
+ return delegate.getServiceRefName();
+ }
+
+ public void setAnnotatedElement(Object anElement)
+ {
+ delegate.setAnnotatedElement(anElement);
+ }
+
+ public void setServiceRefName(String serviceRefName)
+ {
+ delegate.setServiceRefName(serviceRefName);
+ }
+
+ public void importJBossXml(Element root)
+ {
+ delegate.importJBossXml(root);
+ }
+
+ public void importStandardXml(Element root)
+ {
+ delegate.importStandardXml(root);
+ }
+
+ public boolean isProcessed()
+ {
+ return delegate.isProcessed();
+ }
+
+ public void merge(ServiceRefMetaData sref)
+ {
+ UnifiedServiceRefMetaData usref = ((DelegatingServiceRefMetaData)sref).delegate;
+ delegate.merge(usref);
+ }
+
+ public void setProcessed(boolean flag)
+ {
+ delegate.setProcessed(flag);
+ }
+
+ public String getServiceInterface()
+ {
+ return delegate.getServiceInterface();
+ }
+
+ public String getServiceRefType()
+ {
+ return delegate.getServiceRefType();
+ }
+
+ public String getMappingFile()
+ {
+ return delegate.getMappingFile();
+ }
+
+ public void setVfsRoot(UnifiedVirtualFile vfsRoot)
+ {
+ delegate.setVfsRoot(new VirtualFileDelegate(vfsRoot));
+ }
+
+ public void setConfigFile(String configFile)
+ {
+ delegate.setConfigFile(configFile);
+ }
+
+ public void setConfigName(String configName)
+ {
+ delegate.setConfigName(configName);
+ }
+
+ public void setMappingFile(String mappingFile)
+ {
+ delegate.setMappingFile(mappingFile);
+ }
+
+ public void setServiceImplClass(String serviceImplClass)
+ {
+ delegate.setServiceImplClass(serviceImplClass);
+ }
+
+ public void setServiceInterface(String serviceInterface)
+ {
+ delegate.setServiceInterface(serviceInterface);
+ }
+
+ public void setServiceQName(QName serviceQName)
+ {
+ delegate.setServiceQName(serviceQName);
+ }
+
+ public void setServiceRefType(String serviceResType)
+ {
+ delegate.setServiceRefType(serviceResType);
+ }
+
+ public void setWsdlFile(String wsdlFile)
+ {
+ delegate.setWsdlFile(wsdlFile);
+ }
+
+ public void setWsdlOverride(String wsdlOverride)
+ {
+ delegate.setWsdlOverride(wsdlOverride);
+ }
+
+ public void setHandlerChain(String handlerChain)
+ {
+ delegate.setHandlerChain(handlerChain);
+ }
+
+ public void addPortComponentRef(DelegatingPortComponentRefMetaData data)
+ {
+ delegate.addPortComponentRef(data.delegate);
+ }
+
+ public void addHandler(DelegatingHandlerMetaData data)
+ {
+ delegate.addHandler(data.delegate);
+ }
+
+ public void setHandlerChains(DelegatingHandlerChainsMetaData data)
+ {
+ delegate.setHandlerChains(data.delegate);
+ }
+
+ public void addCallProperty(DelegatingCallPropertyMetaData data)
+ {
+ delegate.addCallProperty(data.delegate);
+ }
+}
Added: trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/serviceref/DelegatingStubPropertyMetaData.java
===================================================================
--- trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/serviceref/DelegatingStubPropertyMetaData.java (rev 0)
+++ trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/serviceref/DelegatingStubPropertyMetaData.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -0,0 +1,51 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.container.jboss42.serviceref;
+
+// $Id: UnifiedServiceRefMetaData.java 4044 2007-08-01 08:23:22Z thomas.diesler(a)jboss.com $
+
+import org.jboss.ws.integration.ServiceRefElement;
+import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedStubPropertyMetaData;
+
+/**
+ * @author Thomas.Diesler(a)jboss.org
+ */
+public class DelegatingStubPropertyMetaData extends ServiceRefElement
+{
+ UnifiedStubPropertyMetaData delegate;
+
+ public DelegatingStubPropertyMetaData()
+ {
+ delegate = new UnifiedStubPropertyMetaData();
+ }
+
+ public void setPropName(String paramName)
+ {
+ delegate.setPropName(paramName);
+ }
+
+ public void setPropValue(String paramValue)
+ {
+ delegate.setPropValue(paramValue);
+ }
+
+}
Added: trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/serviceref/ServiceRefHandlerImpl.java
===================================================================
--- trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/serviceref/ServiceRefHandlerImpl.java (rev 0)
+++ trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/serviceref/ServiceRefHandlerImpl.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -0,0 +1,186 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.container.jboss42.serviceref;
+
+// $Id: ServiceRefHandlerImpl.java 4043 2007-07-31 17:11:42Z thomas.diesler(a)jboss.com $
+
+import java.io.File;
+import java.lang.reflect.AnnotatedElement;
+import java.net.MalformedURLException;
+import java.net.URL;
+
+import javax.naming.Context;
+import javax.naming.NamingException;
+
+import org.jboss.logging.Logger;
+import org.jboss.ws.integration.ServiceRefElement;
+import org.jboss.ws.integration.ServiceRefHandler;
+import org.jboss.ws.integration.ServiceRefMetaData;
+import org.jboss.ws.integration.URLLoaderAdapter;
+import org.jboss.ws.integration.UnifiedVirtualFile;
+import org.jboss.wsf.framework.serviceref.ServiceRefBinder;
+import org.jboss.wsf.spi.WSFException;
+import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedServiceRefMetaData;
+import org.jboss.xb.binding.UnmarshallingContext;
+import org.xml.sax.Attributes;
+
+/**
+ * Bind service refs in the client's ENC
+ * for every service-ref element in the deployment descriptor.
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @author Heiko.Braun(a)jboss.com
+ *
+ * @since 04-Nov-2006
+ */
+public class ServiceRefHandlerImpl implements ServiceRefHandler
+{
+ // logging support
+ private static Logger log = Logger.getLogger(ServiceRefHandlerImpl.class);
+
+ private ServiceRefObjectFactory objectFactory = new ServiceRefObjectFactory();
+
+ enum Type {JAXRPC, JAXWS};
+
+ /* binds jaxrpc deployments */
+ private ServiceRefBinder jaxrpcBinder;
+
+ /* binds jaxws deployments */
+ private ServiceRefBinder jaxwsBinder;
+
+ public void setJaxrpcBinder(ServiceRefBinder binder)
+ {
+ this.jaxrpcBinder = binder;
+ }
+
+ public void setJaxwsBinder(ServiceRefBinder binder)
+ {
+ this.jaxwsBinder = binder;
+ }
+
+ public ServiceRefMetaData newServiceRefMetaData()
+ {
+ return new DelegatingServiceRefMetaData();
+ }
+
+ public void bindServiceRef(Context encCtx, String encName, UnifiedVirtualFile vfsRoot, ClassLoader loader, ServiceRefMetaData sref) throws NamingException
+ {
+ if (sref.isProcessed())
+ {
+ log.debug("Attempt to rebind the service-ref: " + sref.getServiceRefName());
+ return;
+ }
+
+ // In case of an .war deployment the associated root file doesn't point to
+ // the expanded war file structure and thus breaks service-ref usage for servlet clients.
+ // This needs to be fixed in org.jboss.web.AbstractWebDeployer (JBOSS_AS/server module)
+ if(vfsRoot instanceof URLLoaderAdapter)
+ {
+ URLLoaderAdapter ula = (URLLoaderAdapter)vfsRoot;
+ URL rootURL = ula.toURL();
+ if("file".equals( rootURL.getProtocol()) && rootURL.getFile().endsWith(".war") )
+ {
+ String fileName = rootURL.getFile();
+
+ if( ! new File(fileName).exists() ) // might be an exploded directory
+ {
+ // There is a filename convention for exploded directories
+ fileName = fileName.substring(0, fileName.indexOf(".war")) + "-exp.war";
+
+ File expandedDirectory = new File(fileName);
+ if(! expandedDirectory.exists())
+ throw new WSFException("Failed to bind service-ref, the deployment root expandedDirectory doesn't exist: " + fileName);
+
+ // update the rootFile
+ try
+ {
+ vfsRoot = new URLLoaderAdapter(expandedDirectory.toURL());
+ }
+ catch (MalformedURLException e){}
+ }
+
+ }
+ }
+
+ DelegatingServiceRefMetaData serviceRef = (DelegatingServiceRefMetaData)sref;
+ serviceRef.setVfsRoot(vfsRoot);
+ try
+ {
+ if (getServiceRefType(serviceRef, loader) == Type.JAXRPC)
+ {
+ jaxrpcBinder.setupServiceRef(encCtx, encName, null, serviceRef.delegate, loader);
+ }
+ else
+ {
+ AnnotatedElement anElement = (AnnotatedElement)sref.getAnnotatedElement();
+ jaxwsBinder.setupServiceRef(encCtx, encName, anElement, serviceRef.delegate, loader);
+ }
+ }
+ finally
+ {
+ sref.setProcessed(true);
+ }
+ }
+
+ public Object newChild(ServiceRefElement ref, UnmarshallingContext navigator, String namespaceURI, String localName, Attributes attrs)
+ {
+ return objectFactory.newChild(ref, navigator, namespaceURI, localName, attrs);
+ }
+
+ public void setValue(ServiceRefElement ref, UnmarshallingContext navigator, String namespaceURI, String localName, String value)
+ {
+ objectFactory.setValue(ref, navigator, namespaceURI, localName, value);
+ }
+
+ private Type getServiceRefType(DelegatingServiceRefMetaData serviceRef, ClassLoader loader) throws NamingException
+ {
+ // The service-ref-type is JAXWS specific
+ String serviceRefType = serviceRef.getServiceRefType();
+ if (serviceRefType != null || serviceRef.getAnnotatedElement() != null)
+ return Type.JAXWS;
+
+ // The mapping-file is JAXRPC specific
+ if (serviceRef.getMappingFile() != null)
+ return Type.JAXRPC;
+
+ String siName = serviceRef.getServiceInterface();
+ if (siName == null)
+ throw new IllegalStateException("<service-interface> cannot be null");
+
+ if (siName.equals("javax.xml.rpc.Service"))
+ return Type.JAXRPC;
+
+ try
+ {
+ Class siClass = loader.loadClass(siName);
+ if (javax.xml.ws.Service.class.isAssignableFrom(siClass))
+ return Type.JAXWS;
+ else if (javax.xml.rpc.Service.class.isAssignableFrom(siClass))
+ return Type.JAXRPC;
+ else throw new IllegalStateException("Illegal service interface: " + siName);
+ }
+ catch (ClassNotFoundException e)
+ {
+ throw new IllegalStateException("Cannot load <service-interface>: " + siName);
+ }
+ }
+}
Added: trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/serviceref/ServiceRefObjectFactory.java
===================================================================
--- trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/serviceref/ServiceRefObjectFactory.java (rev 0)
+++ trunk/integration/jboss42/src/main/java/org/jboss/wsf/container/jboss42/serviceref/ServiceRefObjectFactory.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -0,0 +1,297 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.container.jboss42.serviceref;
+
+// $Id: ServiceRefObjectFactory.java 3959 2007-07-20 14:44:19Z heiko.braun(a)jboss.com $
+
+import javax.xml.namespace.QName;
+
+import org.jboss.ws.integration.ServiceRefElement;
+import org.jboss.xb.binding.UnmarshallingContext;
+import org.xml.sax.Attributes;
+
+/**
+ * A object model factory for <service-ref>
+ *
+ * @author Thomas.Diesler(a)jboss.com
+ */
+public class ServiceRefObjectFactory
+{
+ public Object newChild(ServiceRefElement ref, UnmarshallingContext navigator, String namespaceURI, String localName, Attributes attrs)
+ {
+ Object child = null;
+ if (ref instanceof DelegatingHandlerChainsMetaData)
+ child = newChild((DelegatingHandlerChainsMetaData)ref, navigator, namespaceURI, localName, attrs);
+ else if (ref instanceof DelegatingHandlerMetaData)
+ child = newChild((DelegatingHandlerMetaData)ref, navigator, namespaceURI, localName, attrs);
+ else if (ref instanceof DelegatingPortComponentRefMetaData)
+ child = newChild((DelegatingPortComponentRefMetaData)ref, navigator, namespaceURI, localName, attrs);
+ else if (ref instanceof DelegatingServiceRefMetaData)
+ child = newChild((DelegatingServiceRefMetaData)ref, navigator, namespaceURI, localName, attrs);
+ return child;
+ }
+
+ public void setValue(ServiceRefElement ref, UnmarshallingContext navigator, String namespaceURI, String localName, String value)
+ {
+ if (ref instanceof DelegatingCallPropertyMetaData)
+ setValue((DelegatingCallPropertyMetaData)ref, navigator, namespaceURI, localName, value);
+ else if (ref instanceof DelegatingHandlerChainMetaData)
+ setValue((DelegatingHandlerChainMetaData)ref, navigator, namespaceURI, localName, value);
+ else if (ref instanceof DelegatingHandlerMetaData)
+ setValue((DelegatingHandlerMetaData)ref, navigator, namespaceURI, localName, value);
+ else if (ref instanceof DelegatingInitParamMetaData)
+ setValue((DelegatingInitParamMetaData)ref, navigator, namespaceURI, localName, value);
+ else if (ref instanceof DelegatingPortComponentRefMetaData)
+ setValue((DelegatingPortComponentRefMetaData)ref, navigator, namespaceURI, localName, value);
+ else if (ref instanceof DelegatingServiceRefMetaData)
+ setValue((DelegatingServiceRefMetaData)ref, navigator, namespaceURI, localName, value);
+ else if (ref instanceof DelegatingCallPropertyMetaData)
+ setValue((DelegatingCallPropertyMetaData)ref, navigator, namespaceURI, localName, value);
+ else if (ref instanceof DelegatingStubPropertyMetaData)
+ setValue((DelegatingStubPropertyMetaData)ref, navigator, namespaceURI, localName, value);
+ }
+
+ private void setValue(DelegatingServiceRefMetaData ref, UnmarshallingContext navigator, String namespaceURI, String localName, String value)
+ {
+ /* Standard properties */
+ if (localName.equals("service-ref-name"))
+ {
+ ref.setServiceRefName(value);
+ }
+ else if (localName.equals("service-interface"))
+ {
+ ref.setServiceInterface(value);
+ }
+ else if (localName.equals("service-ref-type"))
+ {
+ ref.setServiceRefType(value);
+ }
+ else if (localName.equals("wsdl-file"))
+ {
+ ref.setWsdlFile(value);
+ }
+ else if (localName.equals("jaxrpc-mapping-file"))
+ {
+ ref.setMappingFile(value);
+ }
+ else if (localName.equals("service-qname"))
+ {
+ ref.setServiceQName(getQNameValue(navigator, value));
+ }
+
+ /* JBoss properties */
+ else if (localName.equals("service-impl-class"))
+ {
+ ref.setServiceImplClass(value);
+ }
+ else if (localName.equals("config-name"))
+ {
+ ref.setConfigName(value);
+ }
+ else if (localName.equals("config-file"))
+ {
+ ref.setConfigFile(value);
+ }
+ else if (localName.equals("wsdl-override"))
+ {
+ ref.setWsdlOverride(value);
+ }
+ else if (localName.equals("handler-chain"))
+ {
+ ref.setHandlerChain(value);
+ }
+ }
+
+ private Object newChild(DelegatingServiceRefMetaData ref, UnmarshallingContext navigator, String namespaceURI, String localName, Attributes attrs)
+ {
+ Object child = null;
+ if (localName.equals("port-component-ref"))
+ {
+ child = new DelegatingPortComponentRefMetaData(ref);
+ ref.addPortComponentRef((DelegatingPortComponentRefMetaData)child);
+ }
+ else if (localName.equals("handler"))
+ {
+ child = new DelegatingHandlerMetaData();
+ ref.addHandler((DelegatingHandlerMetaData)child);
+ }
+ else if (localName.equals("handler-chains"))
+ {
+ child = new DelegatingHandlerChainsMetaData();
+ ref.setHandlerChains((DelegatingHandlerChainsMetaData)child);
+ }
+ else if (localName.equals("call-property"))
+ {
+ child = new DelegatingCallPropertyMetaData();
+ ref.addCallProperty((DelegatingCallPropertyMetaData)child);
+ }
+ return child;
+ }
+
+ private Object newChild(DelegatingHandlerChainsMetaData ref, UnmarshallingContext navigator, String namespaceURI, String localName, Attributes attrs)
+ {
+ Object child = null;
+ if (localName.equals("handler-chain"))
+ {
+ child = new DelegatingHandlerChainMetaData();
+ ref.addHandlerChain((DelegatingHandlerChainMetaData)child);
+ }
+ return child;
+ }
+
+ private void setValue(DelegatingPortComponentRefMetaData pcref, UnmarshallingContext navigator, String namespaceURI, String localName, String value)
+ {
+ if (localName.equals("service-endpoint-interface"))
+ {
+ pcref.setServiceEndpointInterface(value);
+ }
+ else if (localName.equals("enable-mtom"))
+ {
+ pcref.setEnableMTOM(Boolean.valueOf(value));
+ }
+ else if (localName.equals("port-component-link"))
+ {
+ pcref.setPortComponentLink(value);
+ }
+ else if (localName.equals("port-qname"))
+ {
+ pcref.setPortQName(getQNameValue(navigator, value));
+ }
+ else if (localName.equals("config-name"))
+ {
+ pcref.setConfigName(value);
+ }
+ else if (localName.equals("config-file"))
+ {
+ pcref.setConfigFile(value);
+ }
+ }
+
+ private Object newChild(DelegatingPortComponentRefMetaData ref, UnmarshallingContext navigator, String namespaceURI, String localName, Attributes attrs)
+ {
+ Object child = null;
+ if (localName.equals("call-property"))
+ {
+ child = new DelegatingCallPropertyMetaData();
+ ref.addCallProperty((DelegatingCallPropertyMetaData)child);
+ }
+ if (localName.equals("stub-property"))
+ {
+ child = new DelegatingStubPropertyMetaData();
+ ref.addStubProperty((DelegatingStubPropertyMetaData)child);
+ }
+ return child;
+ }
+
+ private void setValue(DelegatingHandlerChainMetaData ref, UnmarshallingContext navigator, String namespaceURI, String localName, String value)
+ {
+ if (localName.equals("service-name-pattern"))
+ {
+ ref.setServiceNamePattern(getQNameValue(navigator, value));
+ }
+ else if (localName.equals("port-name-pattern"))
+ {
+ ref.setPortNamePattern(getQNameValue(navigator, value));
+ }
+ else if (localName.equals("protocol-binding"))
+ {
+ ref.setProtocolBindings(value);
+ }
+ }
+
+ private void setValue(DelegatingHandlerMetaData ref, UnmarshallingContext navigator, String namespaceURI, String localName, String value)
+ {
+ if (localName.equals("handler-name"))
+ {
+ ref.setHandlerName(value);
+ }
+ else if (localName.equals("handler-class"))
+ {
+ ref.setHandlerClass(value);
+ }
+ else if (localName.equals("soap-header"))
+ {
+ ref.addSoapHeader(getQNameValue(navigator, value));
+ }
+ else if (localName.equals("soap-role"))
+ {
+ ref.addSoapRole(value);
+ }
+ else if (localName.equals("port-name"))
+ {
+ ref.addPortName(value);
+ }
+ }
+
+ private Object newChild(DelegatingHandlerMetaData ref, UnmarshallingContext navigator, String namespaceURI, String localName, Attributes attrs)
+ {
+ Object child = null;
+ if (localName.equals("init-param"))
+ {
+ child = new DelegatingInitParamMetaData();
+ ref.addInitParam((DelegatingInitParamMetaData)child);
+ }
+ return child;
+ }
+
+ private void setValue(DelegatingInitParamMetaData ref, UnmarshallingContext navigator, String namespaceURI, String localName, String value)
+ {
+ if (localName.equals("param-name"))
+ {
+ ref.setParamName(value);
+ }
+ else if (localName.equals("param-value"))
+ {
+ ref.setParamValue(value);
+ }
+ }
+
+ private void setValue(DelegatingCallPropertyMetaData ref, UnmarshallingContext navigator, String namespaceURI, String localName, String value)
+ {
+ if (localName.equals("prop-name"))
+ {
+ ref.setPropName(value);
+ }
+ else if (localName.equals("prop-value"))
+ {
+ ref.setPropValue(value);
+ }
+ }
+
+ private void setValue(DelegatingStubPropertyMetaData ref, UnmarshallingContext navigator, String namespaceURI, String localName, String value)
+ {
+ if (localName.equals("prop-name"))
+ {
+ ref.setPropName(value);
+ }
+ else if (localName.equals("prop-value"))
+ {
+ ref.setPropValue(value);
+ }
+ }
+
+ private QName getQNameValue(UnmarshallingContext navigator, String value)
+ {
+ QName qname = (value.startsWith("{") ? QName.valueOf(value) : navigator.resolveQName(value));
+ return qname;
+ }
+}
Modified: trunk/integration/jboss42/src/main/resources/jbossws-jboss42-config.xml
===================================================================
--- trunk/integration/jboss42/src/main/resources/jbossws-jboss42-config.xml 2007-08-01 10:36:11 UTC (rev 4048)
+++ trunk/integration/jboss42/src/main/resources/jbossws-jboss42-config.xml 2007-08-01 11:26:30 UTC (rev 4049)
@@ -14,6 +14,18 @@
<bean name="WSHTTPServer" class="org.jboss.wsf.container.jboss42.DeploymentAspectHttpServer">
</bean>
+ <!-- Bind Service objects in client environment context -->
+ <bean name="WSServiceRefHandler" class="org.jboss.wsf.container.jboss42.serviceref.ServiceRefHandlerImpl">
+ <property name="jaxrpcBinder"><inject bean="WSServiceRefBinderJAXRPC"/></property>
+ <property name="jaxwsBinder"><inject bean="WSServiceRefBinderJAXWS"/></property>
+ </bean>
+
+ <!-- JBoss_4_2_0_GA uses this hardcoded bean name -->
+ <bean name="ServiceRefHandler" class="org.jboss.wsf.container.jboss42.serviceref.ServiceRefHandlerImpl">
+ <property name="jaxrpcBinder"><inject bean="WSServiceRefBinderJAXRPC"/></property>
+ <property name="jaxwsBinder"><inject bean="WSServiceRefBinderJAXWS"/></property>
+ </bean>
+
<!--
*********************************************************************************************************************
Web Service deployment
Modified: trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/ArchiveDeployerHook.java
===================================================================
--- trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/ArchiveDeployerHook.java 2007-08-01 10:36:11 UTC (rev 4048)
+++ trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/ArchiveDeployerHook.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -27,9 +27,9 @@
import org.jboss.deployers.structure.spi.DeploymentUnit;
import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
import org.jboss.virtual.VirtualFile;
-import org.jboss.ws.integration.UnifiedVirtualFile;
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.Deployment.DeploymentType;
import org.jboss.wsf.spi.deployment.WSFDeploymentException;
import org.jboss.wsf.spi.metadata.webservices.WebservicesFactory;
Modified: trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/VirtualFileAdaptor.java
===================================================================
--- trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/VirtualFileAdaptor.java 2007-08-01 10:36:11 UTC (rev 4048)
+++ trunk/integration/jboss50/src/main/java/org/jboss/wsf/container/jboss50/VirtualFileAdaptor.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -22,7 +22,7 @@
package org.jboss.wsf.container.jboss50;
import org.jboss.virtual.VirtualFile;
-import org.jboss.ws.integration.UnifiedVirtualFile;
+import org.jboss.wsf.spi.deployment.UnifiedVirtualFile;
import java.io.IOException;
import java.net.URL;
Modified: trunk/integration/jboss50/src/main/resources/jbossws-jboss50.deployer/META-INF/jbossws-deployer-beans.xml
===================================================================
--- trunk/integration/jboss50/src/main/resources/jbossws-jboss50.deployer/META-INF/jbossws-deployer-beans.xml 2007-08-01 10:36:11 UTC (rev 4048)
+++ trunk/integration/jboss50/src/main/resources/jbossws-jboss50.deployer/META-INF/jbossws-deployer-beans.xml 2007-08-01 11:26:30 UTC (rev 4049)
@@ -17,6 +17,10 @@
<property name="mainDeployer"><inject bean="MainDeployer"/></property>
</bean>
+ <!-- Bind Service objects in client environment context -->
+ <bean name="WSServiceRefHandler" class="org.jboss.wsf.container.jboss50.serviceref.ServiceRefHandlerImpl">
+ </bean>
+
<!--
*********************************************************************************************************************
Web Service deployment
Modified: trunk/integration/native/src/main/resources/jbossws-native-config.xml
===================================================================
--- trunk/integration/native/src/main/resources/jbossws-native-config.xml 2007-08-01 10:36:11 UTC (rev 4048)
+++ trunk/integration/native/src/main/resources/jbossws-native-config.xml 2007-08-01 11:26:30 UTC (rev 4049)
@@ -35,16 +35,6 @@
</bean>
<!-- Bind Service objects in client environment context -->
- <bean name="WSServiceRefHandler" class="org.jboss.ws.integration.ServiceRefHandlerImpl">
- <property name="jaxrpcBinder"><inject bean="WSServiceRefBinderJAXRPC"/></property>
- <property name="jaxwsBinder"><inject bean="WSServiceRefBinderJAXWS"/></property>
- </bean>
-
- <!-- JBoss_4_2_0_GA uses this hardcoded bean name -->
- <bean name="ServiceRefHandler" class="org.jboss.ws.integration.ServiceRefHandlerImpl">
- <property name="jaxrpcBinder"><inject bean="WSServiceRefBinderJAXRPC"/></property>
- <property name="jaxwsBinder"><inject bean="WSServiceRefBinderJAXWS"/></property>
- </bean>
<bean name="WSServiceRefBinderJAXRPC" class="org.jboss.ws.core.jaxrpc.client.ServiceRefBinderJAXRPC"/>
<bean name="WSServiceRefBinderJAXWS" class="org.jboss.ws.core.jaxws.client.ServiceRefBinderJAXWS"/>
Modified: trunk/integration/spi/build.xml
===================================================================
--- trunk/integration/spi/build.xml 2007-08-01 10:36:11 UTC (rev 4048)
+++ trunk/integration/spi/build.xml 2007-08-01 11:26:30 UTC (rev 4049)
@@ -62,7 +62,6 @@
<javac srcdir="${spi.java.dir}" sourcepath="" destdir="${spi.output.classes.dir}" encoding="utf-8" debug="${javac.debug}" verbose="${javac.verbose}"
deprecation="${javac.deprecation}" failonerror="${javac.fail.onerror}" source="1.5" target="1.5">
<include name="org/jboss/wsf/**"/>
- <include name="org/jboss/ws/integration/**"/>
<classpath refid="spi.thirdparty.classpath"/>
</javac>
</target>
@@ -105,7 +104,6 @@
<jar jarfile="${spi.output.lib.dir}/jbossws-spi.jar" manifest="${spi.output.etc.dir}/default.mf">
<fileset dir="${spi.output.classes.dir}">
<include name="org/jboss/wsf/**"/>
- <include name="org/jboss/ws/integration/**"/>
</fileset>
</jar>
Modified: trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/ArchiveDeploymentImpl.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/ArchiveDeploymentImpl.java 2007-08-01 10:36:11 UTC (rev 4048)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/ArchiveDeploymentImpl.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -27,8 +27,8 @@
import java.net.MalformedURLException;
import java.net.URL;
-import org.jboss.ws.integration.UnifiedVirtualFile;
import org.jboss.wsf.spi.deployment.ArchiveDeployment;
+import org.jboss.wsf.spi.deployment.UnifiedVirtualFile;
/**
* A general web service deployment that is based on an archive.
Modified: trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/EndpointAPIDeploymentAspect.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/EndpointAPIDeploymentAspect.java 2007-08-01 10:36:11 UTC (rev 4048)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/EndpointAPIDeploymentAspect.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -23,12 +23,11 @@
//$Id: EndpointAddressDeploymentAspect.java 4018 2007-07-27 06:31:03Z thomas.diesler(a)jboss.com $
-import org.jboss.ws.integration.ResourceLoaderAdapter;
-import org.jboss.ws.integration.UnifiedVirtualFile;
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.UnifiedVirtualFile;
import org.jboss.wsf.spi.deployment.Deployment.DeploymentType;
/**
Copied: trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/ResourceLoaderAdapter.java (from rev 4044, trunk/integration/spi/src/main/java/org/jboss/ws/integration/ResourceLoaderAdapter.java)
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/ResourceLoaderAdapter.java (rev 0)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/ResourceLoaderAdapter.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -0,0 +1,118 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.framework.deployment;
+
+// $Id: ResourceLoaderAdapter.java 3137 2007-05-18 13:41:57Z thomas.diesler(a)jboss.com $
+
+import java.io.File;
+import java.io.IOException;
+import java.net.MalformedURLException;
+import java.net.URL;
+
+import org.jboss.wsf.spi.deployment.UnifiedVirtualFile;
+
+
+/**
+ * The default file adapter loads resources through an associated classloader.
+ * If no classload is set, the the thread context classloader will be used.
+ *
+ * @author Heiko.Braun(a)jboss.org
+ * @since 25.01.2007
+ */
+public class ResourceLoaderAdapter implements UnifiedVirtualFile
+{
+ private URL resourceURL;
+ private ClassLoader loader;
+
+ public ResourceLoaderAdapter()
+ {
+ this(Thread.currentThread().getContextClassLoader());
+ }
+
+ public ResourceLoaderAdapter(ClassLoader loader)
+ {
+ this.loader = loader;
+ }
+
+ private ResourceLoaderAdapter(ClassLoader loader, URL resourceURL)
+ {
+ this.resourceURL = resourceURL;
+ this.loader = loader;
+ }
+
+ public UnifiedVirtualFile findChild(String resourcePath) throws IOException
+ {
+ URL resourceURL = null;
+ if (resourcePath != null)
+ {
+ // Try the child as URL
+ try
+ {
+ resourceURL = new URL(resourcePath);
+ }
+ catch (MalformedURLException ex)
+ {
+ // ignore
+ }
+
+ // Try the filename as File
+ if (resourceURL == null)
+ {
+ try
+ {
+ File file = new File(resourcePath);
+ if (file.exists())
+ resourceURL = file.toURL();
+ }
+ catch (MalformedURLException e)
+ {
+ // ignore
+ }
+ }
+
+ // Try the filename as Resource
+ if (resourceURL == null)
+ {
+ try
+ {
+ resourceURL = loader.getResource(resourcePath);
+ }
+ catch (Exception ex)
+ {
+ // ignore
+ }
+ }
+ }
+
+ if (resourceURL == null)
+ throw new IOException("Cannot get URL for: " + resourcePath);
+
+ return new ResourceLoaderAdapter(loader, resourceURL);
+ }
+
+ public URL toURL()
+ {
+ if (null == this.resourceURL)
+ throw new IllegalStateException("UnifiedVirtualFile not initialized");
+ return resourceURL;
+ }
+}
Copied: trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/URLLoaderAdapter.java (from rev 4044, trunk/integration/spi/src/main/java/org/jboss/ws/integration/URLLoaderAdapter.java)
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/URLLoaderAdapter.java (rev 0)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/framework/deployment/URLLoaderAdapter.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -0,0 +1,127 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.framework.deployment;
+
+// $Id: URLLoaderAdapter.java 3830 2007-07-09 17:01:33Z heiko.braun(a)jboss.com $
+
+import java.io.File;
+import java.io.IOException;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.net.URLClassLoader;
+
+import org.jboss.wsf.spi.deployment.UnifiedVirtualFile;
+
+
+/**
+ * Load resources through a URLClassLoader.<br>
+ * NOTE: The associated classloader doesn't do parent delegation.
+ *
+ *
+ * @author Heiko.Braun(a)jboss.org
+ * @since 25.01.2007
+ */
+public class URLLoaderAdapter implements UnifiedVirtualFile
+{
+ private URL rootURL;
+ private URL resourceURL;
+ private transient URLClassLoader loader;
+
+ public URLLoaderAdapter(URL rootURL)
+ {
+ this.rootURL = rootURL;
+ }
+
+ private URLLoaderAdapter(URL rootURL, URLClassLoader loader, URL resourceURL)
+ {
+ this.rootURL = rootURL;
+ this.resourceURL = resourceURL;
+ this.loader = loader;
+ }
+
+ public UnifiedVirtualFile findChild(String resourcePath) throws IOException
+ {
+ URL resourceURL = null;
+ if (resourcePath != null)
+ {
+ // Try the child as URL
+ try
+ {
+ resourceURL = new URL(resourcePath);
+ }
+ catch (MalformedURLException ex)
+ {
+ // ignore
+ }
+
+ // Try the filename as File
+ if (resourceURL == null)
+ {
+ try
+ {
+ File file = new File(resourcePath);
+ if (file.exists())
+ resourceURL = file.toURL();
+ }
+ catch (MalformedURLException e)
+ {
+ // ignore
+ }
+ }
+
+ // Try the filename as Resource
+ if (resourceURL == null)
+ {
+ try
+ {
+ resourceURL = getResourceLoader().getResource(resourcePath);
+ }
+ catch (Exception ex)
+ {
+ // ignore
+ }
+ }
+ }
+
+ if (resourceURL == null)
+ throw new IOException("Cannot get URL for: " + resourcePath);
+
+ return new URLLoaderAdapter(rootURL, loader, resourceURL);
+ }
+
+ public URL toURL()
+ {
+ if (resourceURL != null)
+ return resourceURL;
+ else
+ return rootURL;
+ }
+
+ private URLClassLoader getResourceLoader()
+ {
+ if (loader == null)
+ {
+ loader = new URLClassLoader(new URL[] { rootURL });
+ }
+ return loader;
+ }
+}
Copied: trunk/integration/spi/src/main/java/org/jboss/wsf/framework/serviceref/CommonServiceRefBinder.java (from rev 4043, trunk/integration/spi/src/main/java/org/jboss/ws/integration/CommonServiceRefBinder.java)
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/framework/serviceref/CommonServiceRefBinder.java (rev 0)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/framework/serviceref/CommonServiceRefBinder.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -0,0 +1,224 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.framework.serviceref;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.AnnotatedElement;
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.jws.HandlerChain;
+import javax.naming.Context;
+import javax.naming.NamingException;
+import javax.naming.Referenceable;
+import javax.xml.namespace.QName;
+import javax.xml.ws.Service;
+import javax.xml.ws.WebServiceClient;
+import javax.xml.ws.WebServiceRef;
+import javax.xml.ws.WebServiceRefs;
+
+import org.jboss.logging.Logger;
+import org.jboss.util.naming.Util;
+import org.jboss.wsf.spi.WSFException;
+import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedServiceRefMetaData;
+
+/**
+ * A generic ServiceRefBinder that knows how to deal with JAX-WS services.
+ * Subclasses need to provide a stack specific {@link Referenceable} that can be bound into JNDI.
+ * <p/>
+ * This works in conjunction with a ServiceObjectFactory that knows how to assemble
+ * the Service after JNDI lookup on the client side.
+ *
+ * @see javax.naming.spi.ObjectFactory
+ *
+ * @author Heiko.Braun(a)jboss.com
+ * Created: Jul 12, 2007
+ */
+public abstract class CommonServiceRefBinder implements ServiceRefBinder
+{
+ // logging support
+ private static Logger log = Logger.getLogger(CommonServiceRefBinder.class);
+
+ public void setupServiceRef(Context encCtx, String encName, AnnotatedElement anElement, UnifiedServiceRefMetaData serviceRef, ClassLoader loader) throws NamingException
+ {
+ WebServiceRef wsref = null;
+
+ if (null == loader)
+ throw new IllegalArgumentException("There needs to be a classloader available");
+
+ // Build the list of @WebServiceRef relevant annotations
+ List<WebServiceRef> wsrefList = new ArrayList<WebServiceRef>();
+
+ if (anElement != null)
+ {
+ for (Annotation an : anElement.getAnnotations())
+ {
+ if (an instanceof WebServiceRef)
+ wsrefList.add((WebServiceRef)an);
+
+ if (an instanceof WebServiceRefs)
+ {
+ WebServiceRefs wsrefs = (WebServiceRefs)an;
+ for (WebServiceRef aux : wsrefs.value())
+ wsrefList.add(aux);
+ }
+ }
+ }
+
+ // Use the single @WebServiceRef
+ if (wsrefList.size() == 1)
+ {
+ wsref = wsrefList.get(0);
+ }
+ else
+ {
+ for (WebServiceRef aux : wsrefList)
+ {
+ if (encName.endsWith("/" + aux.name()))
+ {
+ wsref = aux;
+ break;
+ }
+ }
+ }
+
+ Class targetClass = null;
+ if (anElement instanceof Field)
+ {
+ targetClass = ((Field)anElement).getType();
+ }
+ else if (anElement instanceof Method)
+ {
+ targetClass = ((Method)anElement).getParameterTypes()[0];
+ }
+ else
+ {
+ if (wsref != null && (wsref.type() != Object.class))
+ targetClass = wsref.type();
+ }
+
+ String targetClassName = (targetClass != null ? targetClass.getName() : null);
+ String externalName = encCtx.getNameInNamespace() + "/" + encName;
+ log.debug("setupServiceRef [jndi=" + externalName + ",target=" + targetClassName + "]");
+
+ String serviceImplClass = null;
+
+ // #1 Use the explicit @WebServiceRef.value
+ if (wsref != null && wsref.value() != Object.class)
+ serviceImplClass = wsref.value().getName();
+
+ // #2 Use the target ref type
+ if (serviceImplClass == null && targetClass != null && Service.class.isAssignableFrom(targetClass))
+ serviceImplClass = targetClass.getName();
+
+ // #3 Use <service-interface>
+ if (serviceImplClass == null && serviceRef.getServiceInterface() != null)
+ serviceImplClass = serviceRef.getServiceInterface();
+
+ // #4 Use javax.xml.ws.Service
+ if (serviceImplClass == null)
+ serviceImplClass = Service.class.getName();
+
+ // #1 Use the explicit @WebServiceRef.type
+ if (wsref != null && wsref.type() != Object.class)
+ targetClassName = wsref.type().getName();
+
+ // #2 Use the target ref type
+ if (targetClassName == null && targetClass != null && Service.class.isAssignableFrom(targetClass) == false)
+ targetClassName = targetClass.getName();
+
+ // Set the wsdlLocation if there is no override already
+ if (serviceRef.getWsdlOverride() == null && wsref != null && wsref.wsdlLocation().length() > 0)
+ serviceRef.setWsdlOverride(wsref.wsdlLocation());
+
+ // Set the handlerChain from @HandlerChain on the annotated element
+ String handlerChain = serviceRef.getHandlerChain();
+ if (anElement != null)
+ {
+ HandlerChain anHandlerChain = anElement.getAnnotation(HandlerChain.class);
+ if (handlerChain == null && anHandlerChain != null && anHandlerChain.file().length() > 0)
+ handlerChain = anHandlerChain.file();
+ }
+
+ // Resolve path to handler chain
+ if (handlerChain != null)
+ {
+ try
+ {
+ new URL(handlerChain);
+ }
+ catch (MalformedURLException ex)
+ {
+ Class declaringClass = null;
+ if (anElement instanceof Field)
+ declaringClass = ((Field)anElement).getDeclaringClass();
+ else if (anElement instanceof Method)
+ declaringClass = ((Method)anElement).getDeclaringClass();
+ else if (anElement instanceof Class)
+ declaringClass = (Class)anElement;
+
+ handlerChain = declaringClass.getPackage().getName().replace('.', '/') + "/" + handlerChain;
+ }
+
+ serviceRef.setHandlerChain(handlerChain);
+ }
+
+ // Extract service QName for target service
+ if (null == serviceRef.getServiceQName())
+ {
+ try
+ {
+ Class serviceClass = loader.loadClass(serviceImplClass);
+ if (serviceClass.getAnnotation(WebServiceClient.class) != null)
+ {
+ WebServiceClient clientDecl = (WebServiceClient)serviceClass.getAnnotation(WebServiceClient.class);
+ serviceRef.setServiceQName(new QName(clientDecl.targetNamespace(), clientDecl.name()));
+ }
+ }
+ catch (ClassNotFoundException e)
+ {
+ WSFException.rethrow("Cannot extract service QName for target service", e);
+ }
+ }
+
+ // Do not use rebind, the binding should be unique
+ // [JBWS-1499] - Revisit WebServiceRefHandler JNDI rebind
+ Referenceable serviceReferenceable = buildServiceReferenceable(serviceImplClass, targetClassName, serviceRef);
+ Util.bind(encCtx, encName, serviceReferenceable);
+
+ }
+
+ /**
+ * Subclasses should provide a stack specific ServiceReferenceable.
+ *
+ * @param serviceImplClass
+ * @param targetClassName
+ * @param serviceRef
+ * @return a Referenceable that can be used by a stack specific {@link javax.naming.spi.ObjectFactory} on the client side
+ * to create a web service stub
+ * */
+ protected abstract Referenceable buildServiceReferenceable(String serviceImplClass, String targetClassName, UnifiedServiceRefMetaData serviceRef);
+}
Added: trunk/integration/spi/src/main/java/org/jboss/wsf/framework/serviceref/ServiceRefBinder.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/framework/serviceref/ServiceRefBinder.java (rev 0)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/framework/serviceref/ServiceRefBinder.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -0,0 +1,44 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.framework.serviceref;
+
+import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedServiceRefMetaData;
+
+import javax.naming.Context;
+import javax.naming.NamingException;
+import java.lang.reflect.AnnotatedElement;
+
+/**
+ * Creates a ServiceReferenceable and binds it to JNDI.
+ *
+ * @author Heiko.Braun(a)jboss.com
+ * Created: Jul 11, 2007
+ */
+public interface ServiceRefBinder
+{
+ public final static String JAXRPC_BINDER = "WSServiceRefBinderJAXRPC";
+
+ public final static String JAXWS_BINDER = "WSServiceRefBinderJAXWS";
+
+ void setupServiceRef(Context encCtx, String encName, AnnotatedElement anElement, UnifiedServiceRefMetaData serviceRef, ClassLoader loader)
+ throws NamingException;
+}
Copied: trunk/integration/spi/src/main/java/org/jboss/wsf/framework/serviceref/ServiceRefHandlerFactory.java (from rev 4044, trunk/integration/spi/src/main/java/org/jboss/ws/integration/ServiceRefHandlerFactory.java)
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/framework/serviceref/ServiceRefHandlerFactory.java (rev 0)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/framework/serviceref/ServiceRefHandlerFactory.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -0,0 +1,78 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.framework.serviceref;
+
+//$Id$
+
+import org.jboss.kernel.Kernel;
+import org.jboss.kernel.spi.registry.KernelRegistry;
+import org.jboss.kernel.spi.registry.KernelRegistryEntry;
+import org.jboss.wsf.common.ServiceLoader;
+import org.jboss.wsf.common.KernelLocator;
+import org.jboss.wsf.spi.serviceref.ServiceRefHandler;
+
+/**
+ * A factory for the ServiceRefHandler
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 05-May-2004
+ */
+public abstract class ServiceRefHandlerFactory
+{
+ public static ServiceRefHandler getServiceRefHandler()
+ {
+ ServiceRefHandler handler;
+ if (KernelLocator.getKernel() != null)
+ {
+ handler = getServerSideServiceRefHandler();
+ }
+ else
+ {
+ handler = getClientSideServiceRefHandler();
+ }
+ return handler;
+ }
+
+ private static ServiceRefHandler getServerSideServiceRefHandler()
+ {
+ Kernel kernel = KernelLocator.getKernel();
+ KernelRegistry registry = kernel.getRegistry();
+ KernelRegistryEntry entry = registry.getEntry(ServiceRefHandler.BEAN_NAME);
+ ServiceRefHandler handler = (ServiceRefHandler)entry.getTarget();
+
+ // Try legacy JBossAS-4.2 name
+ if (handler == null)
+ {
+ entry = registry.getEntry("ServiceRefHandler");
+ handler = (ServiceRefHandler)entry.getTarget();
+ }
+ return handler;
+ }
+
+ private static ServiceRefHandler getClientSideServiceRefHandler()
+ {
+ String propName = ServiceRefHandler.class.getName();
+ String defaultImpl = "org.jboss.ws.integration.ServiceRefHandlerImpl";
+ ServiceRefHandler handler = (ServiceRefHandler) ServiceLoader.loadService(propName, defaultImpl);
+ return handler;
+ }
+}
Copied: trunk/integration/spi/src/main/java/org/jboss/wsf/framework/serviceref/ServiceRefObjectFactory.java (from rev 4043, trunk/integration/spi/src/main/java/org/jboss/ws/integration/ServiceRefObjectFactory.java)
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/framework/serviceref/ServiceRefObjectFactory.java (rev 0)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/framework/serviceref/ServiceRefObjectFactory.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -0,0 +1,305 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.framework.serviceref;
+
+// $Id$
+
+import javax.xml.namespace.QName;
+
+import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedCallPropertyMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedHandlerChainMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedHandlerChainsMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedHandlerMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedInitParamMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedPortComponentRefMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedServiceRefMetaData;
+import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedStubPropertyMetaData;
+import org.jboss.wsf.spi.serviceref.ServiceRefElement;
+import org.jboss.xb.binding.UnmarshallingContext;
+import org.xml.sax.Attributes;
+
+/**
+ * A object model factory for <service-ref>
+ *
+ * @author Thomas.Diesler(a)jboss.com
+ */
+public class ServiceRefObjectFactory
+{
+ public Object newChild(ServiceRefElement ref, UnmarshallingContext navigator, String namespaceURI, String localName, Attributes attrs)
+ {
+ Object child = null;
+ if (ref instanceof UnifiedHandlerChainsMetaData)
+ child = newChild((UnifiedHandlerChainsMetaData)ref, navigator, namespaceURI, localName, attrs);
+ else if (ref instanceof UnifiedHandlerMetaData)
+ child = newChild((UnifiedHandlerMetaData)ref, navigator, namespaceURI, localName, attrs);
+ else if (ref instanceof UnifiedPortComponentRefMetaData)
+ child = newChild((UnifiedPortComponentRefMetaData)ref, navigator, namespaceURI, localName, attrs);
+ else if (ref instanceof UnifiedServiceRefMetaData)
+ child = newChild((UnifiedServiceRefMetaData)ref, navigator, namespaceURI, localName, attrs);
+ return child;
+ }
+
+ public void setValue(ServiceRefElement ref, UnmarshallingContext navigator, String namespaceURI, String localName, String value)
+ {
+ if (ref instanceof UnifiedCallPropertyMetaData)
+ setValue((UnifiedCallPropertyMetaData)ref, navigator, namespaceURI, localName, value);
+ else if (ref instanceof UnifiedHandlerChainMetaData)
+ setValue((UnifiedHandlerChainMetaData)ref, navigator, namespaceURI, localName, value);
+ else if (ref instanceof UnifiedHandlerMetaData)
+ setValue((UnifiedHandlerMetaData)ref, navigator, namespaceURI, localName, value);
+ else if (ref instanceof UnifiedInitParamMetaData)
+ setValue((UnifiedInitParamMetaData)ref, navigator, namespaceURI, localName, value);
+ else if (ref instanceof UnifiedPortComponentRefMetaData)
+ setValue((UnifiedPortComponentRefMetaData)ref, navigator, namespaceURI, localName, value);
+ else if (ref instanceof UnifiedServiceRefMetaData)
+ setValue((UnifiedServiceRefMetaData)ref, navigator, namespaceURI, localName, value);
+ else if (ref instanceof UnifiedCallPropertyMetaData)
+ setValue((UnifiedCallPropertyMetaData)ref, navigator, namespaceURI, localName, value);
+ else if (ref instanceof UnifiedStubPropertyMetaData)
+ setValue((UnifiedStubPropertyMetaData)ref, navigator, namespaceURI, localName, value);
+ }
+
+ private void setValue(UnifiedServiceRefMetaData ref, UnmarshallingContext navigator, String namespaceURI, String localName, String value)
+ {
+ /* Standard properties */
+ if (localName.equals("service-ref-name"))
+ {
+ ref.setServiceRefName(value);
+ }
+ else if (localName.equals("service-interface"))
+ {
+ ref.setServiceInterface(value);
+ }
+ else if (localName.equals("service-ref-type"))
+ {
+ ref.setServiceRefType(value);
+ }
+ else if (localName.equals("wsdl-file"))
+ {
+ ref.setWsdlFile(value);
+ }
+ else if (localName.equals("jaxrpc-mapping-file"))
+ {
+ ref.setMappingFile(value);
+ }
+ else if (localName.equals("service-qname"))
+ {
+ ref.setServiceQName(getQNameValue(navigator, value));
+ }
+
+ /* JBoss properties */
+ else if (localName.equals("service-impl-class"))
+ {
+ ref.setServiceImplClass(value);
+ }
+ else if (localName.equals("config-name"))
+ {
+ ref.setConfigName(value);
+ }
+ else if (localName.equals("config-file"))
+ {
+ ref.setConfigFile(value);
+ }
+ else if (localName.equals("wsdl-override"))
+ {
+ ref.setWsdlOverride(value);
+ }
+ else if (localName.equals("handler-chain"))
+ {
+ ref.setHandlerChain(value);
+ }
+ }
+
+ private Object newChild(UnifiedServiceRefMetaData ref, UnmarshallingContext navigator, String namespaceURI, String localName, Attributes attrs)
+ {
+ Object child = null;
+ if (localName.equals("port-component-ref"))
+ {
+ child = new UnifiedPortComponentRefMetaData(ref);
+ ref.addPortComponentRef((UnifiedPortComponentRefMetaData)child);
+ }
+ else if (localName.equals("handler"))
+ {
+ child = new UnifiedHandlerMetaData();
+ ref.addHandler((UnifiedHandlerMetaData)child);
+ }
+ else if (localName.equals("handler-chains"))
+ {
+ child = new UnifiedHandlerChainsMetaData();
+ ref.setHandlerChains((UnifiedHandlerChainsMetaData)child);
+ }
+ else if (localName.equals("call-property"))
+ {
+ child = new UnifiedCallPropertyMetaData();
+ ref.addCallProperty((UnifiedCallPropertyMetaData)child);
+ }
+ return child;
+ }
+
+ private Object newChild(UnifiedHandlerChainsMetaData ref, UnmarshallingContext navigator, String namespaceURI, String localName, Attributes attrs)
+ {
+ Object child = null;
+ if (localName.equals("handler-chain"))
+ {
+ child = new UnifiedHandlerChainMetaData();
+ ref.addHandlerChain((UnifiedHandlerChainMetaData)child);
+ }
+ return child;
+ }
+
+ private void setValue(UnifiedPortComponentRefMetaData pcref, UnmarshallingContext navigator, String namespaceURI, String localName, String value)
+ {
+ if (localName.equals("service-endpoint-interface"))
+ {
+ pcref.setServiceEndpointInterface(value);
+ }
+ else if (localName.equals("enable-mtom"))
+ {
+ pcref.setEnableMTOM(Boolean.valueOf(value));
+ }
+ else if (localName.equals("port-component-link"))
+ {
+ pcref.setPortComponentLink(value);
+ }
+ else if (localName.equals("port-qname"))
+ {
+ pcref.setPortQName(getQNameValue(navigator, value));
+ }
+ else if (localName.equals("config-name"))
+ {
+ pcref.setConfigName(value);
+ }
+ else if (localName.equals("config-file"))
+ {
+ pcref.setConfigFile(value);
+ }
+ }
+
+ private Object newChild(UnifiedPortComponentRefMetaData ref, UnmarshallingContext navigator, String namespaceURI, String localName, Attributes attrs)
+ {
+ Object child = null;
+ if (localName.equals("call-property"))
+ {
+ child = new UnifiedCallPropertyMetaData();
+ ref.addCallProperty((UnifiedCallPropertyMetaData)child);
+ }
+ if (localName.equals("stub-property"))
+ {
+ child = new UnifiedStubPropertyMetaData();
+ ref.addStubProperty((UnifiedStubPropertyMetaData)child);
+ }
+ return child;
+ }
+
+ private void setValue(UnifiedHandlerChainMetaData ref, UnmarshallingContext navigator, String namespaceURI, String localName, String value)
+ {
+ if (localName.equals("service-name-pattern"))
+ {
+ ref.setServiceNamePattern(getQNameValue(navigator, value));
+ }
+ else if (localName.equals("port-name-pattern"))
+ {
+ ref.setPortNamePattern(getQNameValue(navigator, value));
+ }
+ else if (localName.equals("protocol-binding"))
+ {
+ ref.setProtocolBindings(value);
+ }
+ }
+
+ private void setValue(UnifiedHandlerMetaData ref, UnmarshallingContext navigator, String namespaceURI, String localName, String value)
+ {
+ if (localName.equals("handler-name"))
+ {
+ ref.setHandlerName(value);
+ }
+ else if (localName.equals("handler-class"))
+ {
+ ref.setHandlerClass(value);
+ }
+ else if (localName.equals("soap-header"))
+ {
+ ref.addSoapHeader(getQNameValue(navigator, value));
+ }
+ else if (localName.equals("soap-role"))
+ {
+ ref.addSoapRole(value);
+ }
+ else if (localName.equals("port-name"))
+ {
+ ref.addPortName(value);
+ }
+ }
+
+ private Object newChild(UnifiedHandlerMetaData ref, UnmarshallingContext navigator, String namespaceURI, String localName, Attributes attrs)
+ {
+ Object child = null;
+ if (localName.equals("init-param"))
+ {
+ child = new UnifiedInitParamMetaData();
+ ref.addInitParam((UnifiedInitParamMetaData)child);
+ }
+ return child;
+ }
+
+ private void setValue(UnifiedInitParamMetaData ref, UnmarshallingContext navigator, String namespaceURI, String localName, String value)
+ {
+ if (localName.equals("param-name"))
+ {
+ ref.setParamName(value);
+ }
+ else if (localName.equals("param-value"))
+ {
+ ref.setParamValue(value);
+ }
+ }
+
+ private void setValue(UnifiedCallPropertyMetaData ref, UnmarshallingContext navigator, String namespaceURI, String localName, String value)
+ {
+ if (localName.equals("prop-name"))
+ {
+ ref.setPropName(value);
+ }
+ else if (localName.equals("prop-value"))
+ {
+ ref.setPropValue(value);
+ }
+ }
+
+ private void setValue(UnifiedStubPropertyMetaData ref, UnmarshallingContext navigator, String namespaceURI, String localName, String value)
+ {
+ if (localName.equals("prop-name"))
+ {
+ ref.setPropName(value);
+ }
+ else if (localName.equals("prop-value"))
+ {
+ ref.setPropValue(value);
+ }
+ }
+
+ private QName getQNameValue(UnmarshallingContext navigator, String value)
+ {
+ QName qname = (value.startsWith("{") ? QName.valueOf(value) : navigator.resolveQName(value));
+ return qname;
+ }
+}
Modified: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/ArchiveDeployment.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/ArchiveDeployment.java 2007-08-01 10:36:11 UTC (rev 4048)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/ArchiveDeployment.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -26,7 +26,6 @@
import java.io.IOException;
import java.net.URL;
-import org.jboss.ws.integration.UnifiedVirtualFile;
/**
* A general web service deployment dep.
Added: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/UnifiedVirtualFile.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/UnifiedVirtualFile.java (rev 0)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/deployment/UnifiedVirtualFile.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -0,0 +1,42 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.spi.deployment;
+
+// $Id: UnifiedVirtualFile.java 3137 2007-05-18 13:41:57Z thomas.diesler(a)jboss.com $
+
+import java.io.IOException;
+import java.io.Serializable;
+import java.net.URL;
+
+/**
+ * An adaptor to a VirtualFile from jboss-vfs.jar
+ * jboss-vfs cannot be used in jboss-4.x because of its dependeny on jboss-common-core.jar
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 05-May-2006
+ */
+public interface UnifiedVirtualFile extends Serializable
+{
+ UnifiedVirtualFile findChild(String child) throws IOException;
+
+ URL toURL();
+}
Deleted: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/metadata/j2ee/serviceref/UnifiedCallPropertyMetaData.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/metadata/j2ee/serviceref/UnifiedCallPropertyMetaData.java 2007-08-01 10:36:11 UTC (rev 4048)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/metadata/j2ee/serviceref/UnifiedCallPropertyMetaData.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -1,73 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.wsf.spi.metadata.j2ee.serviceref;
-
-
-// $Id$
-
-
-/**
- * @author Thomas.Diesler(a)jboss.org
- * @since 06-May-2004
- */
-public class UnifiedCallPropertyMetaData extends org.jboss.ws.integration.ServiceRefElement
-{
- // The required <prop-name> element
- private String propName;
- // The required <prop-value> element
- private String propValue;
-
- public UnifiedCallPropertyMetaData(String propName, String propValue)
- {
- this.propName = propName;
- this.propValue = propValue;
- }
-
- public UnifiedCallPropertyMetaData()
- {
- }
-
- public String getPropName()
- {
- return propName;
- }
-
- public void setPropName(String paramName)
- {
- this.propName = paramName;
- }
-
- public String getPropValue()
- {
- return propValue;
- }
-
- public void setPropValue(String paramValue)
- {
- this.propValue = paramValue;
- }
-
- public String toString()
- {
- return "[name=" + propName + ",value=" + propValue + "]";
- }
-}
Added: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/metadata/j2ee/serviceref/UnifiedCallPropertyMetaData.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/metadata/j2ee/serviceref/UnifiedCallPropertyMetaData.java (rev 0)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/metadata/j2ee/serviceref/UnifiedCallPropertyMetaData.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -0,0 +1,74 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.wsf.spi.metadata.j2ee.serviceref;
+
+//$Id$
+
+import org.jboss.wsf.spi.serviceref.ServiceRefElement;
+
+
+/**
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 06-May-2004
+ */
+public class UnifiedCallPropertyMetaData extends ServiceRefElement
+{
+ // The required <prop-name> element
+ private String propName;
+ // The required <prop-value> element
+ private String propValue;
+
+ public UnifiedCallPropertyMetaData(String propName, String propValue)
+ {
+ this.propName = propName;
+ this.propValue = propValue;
+ }
+
+ public UnifiedCallPropertyMetaData()
+ {
+ }
+
+ public String getPropName()
+ {
+ return propName;
+ }
+
+ public void setPropName(String paramName)
+ {
+ this.propName = paramName;
+ }
+
+ public String getPropValue()
+ {
+ return propValue;
+ }
+
+ public void setPropValue(String paramValue)
+ {
+ this.propValue = paramValue;
+ }
+
+ public String toString()
+ {
+ return "[name=" + propName + ",value=" + propValue + "]";
+ }
+}
Deleted: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/metadata/j2ee/serviceref/UnifiedHandlerChainMetaData.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/metadata/j2ee/serviceref/UnifiedHandlerChainMetaData.java 2007-08-01 10:36:11 UTC (rev 4048)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/metadata/j2ee/serviceref/UnifiedHandlerChainMetaData.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -1,96 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.wsf.spi.metadata.j2ee.serviceref;
-
-// $Id$
-
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.xml.namespace.QName;
-import javax.xml.ws.handler.PortInfo;
-
-import org.jboss.ws.integration.ServiceRefElement;
-
-/** The unified metdata data for a handler chain element
- *
- * @author Thomas.Diesler(a)jboss.org
- */
-public class UnifiedHandlerChainMetaData extends ServiceRefElement
-{
- private UnifiedHandlerChainsMetaData handlerChains;
-
- private QName serviceNamePattern;
- private QName portNamePattern;
- private String protocolBindings;
- private List<UnifiedHandlerMetaData> handlers = new ArrayList<UnifiedHandlerMetaData>();
- private PortInfo portInfo;
-
- public UnifiedHandlerChainMetaData(UnifiedHandlerChainsMetaData handlerChains)
- {
- this.handlerChains = handlerChains;
- }
-
- public UnifiedHandlerChainMetaData()
- {
- }
-
- public QName getPortNamePattern()
- {
- return portNamePattern;
- }
-
- public void setPortNamePattern(QName portNamePattern)
- {
- this.portNamePattern = portNamePattern;
- }
-
- public QName getServiceNamePattern()
- {
- return serviceNamePattern;
- }
-
- public void setServiceNamePattern(QName serviceNamePattern)
- {
- this.serviceNamePattern = serviceNamePattern;
- }
-
- public String getProtocolBindings()
- {
- return protocolBindings;
- }
-
- public void setProtocolBindings(String protocolBindings)
- {
- this.protocolBindings = protocolBindings;
- }
-
- public List<UnifiedHandlerMetaData> getHandlers()
- {
- return handlers;
- }
-
- public void addHandler(UnifiedHandlerMetaData handler)
- {
- handlers.add(handler);
- }
-}
Added: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/metadata/j2ee/serviceref/UnifiedHandlerChainMetaData.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/metadata/j2ee/serviceref/UnifiedHandlerChainMetaData.java (rev 0)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/metadata/j2ee/serviceref/UnifiedHandlerChainMetaData.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -0,0 +1,96 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.spi.metadata.j2ee.serviceref;
+
+// $Id$
+
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.xml.namespace.QName;
+import javax.xml.ws.handler.PortInfo;
+
+import org.jboss.wsf.spi.serviceref.ServiceRefElement;
+
+/** The unified metdata data for a handler chain element
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ */
+public class UnifiedHandlerChainMetaData extends ServiceRefElement
+{
+ private UnifiedHandlerChainsMetaData handlerChains;
+
+ private QName serviceNamePattern;
+ private QName portNamePattern;
+ private String protocolBindings;
+ private List<UnifiedHandlerMetaData> handlers = new ArrayList<UnifiedHandlerMetaData>();
+ private PortInfo portInfo;
+
+ public UnifiedHandlerChainMetaData(UnifiedHandlerChainsMetaData handlerChains)
+ {
+ this.handlerChains = handlerChains;
+ }
+
+ public UnifiedHandlerChainMetaData()
+ {
+ }
+
+ public QName getPortNamePattern()
+ {
+ return portNamePattern;
+ }
+
+ public void setPortNamePattern(QName portNamePattern)
+ {
+ this.portNamePattern = portNamePattern;
+ }
+
+ public QName getServiceNamePattern()
+ {
+ return serviceNamePattern;
+ }
+
+ public void setServiceNamePattern(QName serviceNamePattern)
+ {
+ this.serviceNamePattern = serviceNamePattern;
+ }
+
+ public String getProtocolBindings()
+ {
+ return protocolBindings;
+ }
+
+ public void setProtocolBindings(String protocolBindings)
+ {
+ this.protocolBindings = protocolBindings;
+ }
+
+ public List<UnifiedHandlerMetaData> getHandlers()
+ {
+ return handlers;
+ }
+
+ public void addHandler(UnifiedHandlerMetaData handler)
+ {
+ handlers.add(handler);
+ }
+}
Deleted: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/metadata/j2ee/serviceref/UnifiedHandlerChainsMetaData.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/metadata/j2ee/serviceref/UnifiedHandlerChainsMetaData.java 2007-08-01 10:36:11 UTC (rev 4048)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/metadata/j2ee/serviceref/UnifiedHandlerChainsMetaData.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -1,59 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.wsf.spi.metadata.j2ee.serviceref;
-
-// $Id$
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.jboss.ws.integration.ServiceRefElement;
-import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedHandlerMetaData.HandlerType;
-
-/** The unified metdata data for a handler chains element
- *
- * @author Thomas.Diesler(a)jboss.org
- */
-public class UnifiedHandlerChainsMetaData extends ServiceRefElement
-{
- private HandlerType handlerType;
- private List<UnifiedHandlerChainMetaData> handlerChains = new ArrayList<UnifiedHandlerChainMetaData>();
-
- public UnifiedHandlerChainsMetaData(HandlerType endpoint)
- {
- this.handlerType = handlerType;
- }
-
- public UnifiedHandlerChainsMetaData()
- {
- }
-
- public List<UnifiedHandlerChainMetaData> getHandlerChains()
- {
- return handlerChains;
- }
-
- public void addHandlerChain(UnifiedHandlerChainMetaData handlerChain)
- {
- handlerChains.add(handlerChain);
- }
-}
Added: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/metadata/j2ee/serviceref/UnifiedHandlerChainsMetaData.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/metadata/j2ee/serviceref/UnifiedHandlerChainsMetaData.java (rev 0)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/metadata/j2ee/serviceref/UnifiedHandlerChainsMetaData.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -0,0 +1,59 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.spi.metadata.j2ee.serviceref;
+
+// $Id$
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedHandlerMetaData.HandlerType;
+import org.jboss.wsf.spi.serviceref.ServiceRefElement;
+
+/** The unified metdata data for a handler chains element
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ */
+public class UnifiedHandlerChainsMetaData extends ServiceRefElement
+{
+ private HandlerType handlerType;
+ private List<UnifiedHandlerChainMetaData> handlerChains = new ArrayList<UnifiedHandlerChainMetaData>();
+
+ public UnifiedHandlerChainsMetaData(HandlerType endpoint)
+ {
+ this.handlerType = handlerType;
+ }
+
+ public UnifiedHandlerChainsMetaData()
+ {
+ }
+
+ public List<UnifiedHandlerChainMetaData> getHandlerChains()
+ {
+ return handlerChains;
+ }
+
+ public void addHandlerChain(UnifiedHandlerChainMetaData handlerChain)
+ {
+ handlerChains.add(handlerChain);
+ }
+}
Modified: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/metadata/j2ee/serviceref/UnifiedHandlerMetaData.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/metadata/j2ee/serviceref/UnifiedHandlerMetaData.java 2007-08-01 10:36:11 UTC (rev 4048)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/metadata/j2ee/serviceref/UnifiedHandlerMetaData.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -30,13 +30,13 @@
import javax.xml.namespace.QName;
-import org.jboss.ws.integration.ServiceRefElement;
+import org.jboss.wsf.spi.serviceref.ServiceRefElement;
import org.w3c.dom.Element;
-/** The unified metdata data for a handler element
+/**
+ * The unified metdata data for a handler element
*
* @author Thomas.Diesler(a)jboss.org
- * @version $Revision$
*/
public class UnifiedHandlerMetaData extends ServiceRefElement
{
Modified: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/metadata/j2ee/serviceref/UnifiedInitParamMetaData.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/metadata/j2ee/serviceref/UnifiedInitParamMetaData.java 2007-08-01 10:36:11 UTC (rev 4048)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/metadata/j2ee/serviceref/UnifiedInitParamMetaData.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -21,9 +21,9 @@
*/
package org.jboss.wsf.spi.metadata.j2ee.serviceref;
-import org.jboss.ws.integration.ServiceRefElement;
+//$Id$
-// $Id$
+import org.jboss.wsf.spi.serviceref.ServiceRefElement;
/**
* @author Thomas.Diesler(a)jboss.org
Modified: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/metadata/j2ee/serviceref/UnifiedPortComponentRefMetaData.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/metadata/j2ee/serviceref/UnifiedPortComponentRefMetaData.java 2007-08-01 10:36:11 UTC (rev 4048)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/metadata/j2ee/serviceref/UnifiedPortComponentRefMetaData.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -28,7 +28,7 @@
import javax.xml.namespace.QName;
-import org.jboss.ws.integration.ServiceRefElement;
+import org.jboss.wsf.spi.serviceref.ServiceRefElement;
import org.w3c.dom.Element;
/** The metdata data from service-ref/port-component-ref element in web.xml, ejb-jar.xml, and application-client.xml.
Deleted: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/metadata/j2ee/serviceref/UnifiedServiceRefMetaData.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/metadata/j2ee/serviceref/UnifiedServiceRefMetaData.java 2007-08-01 10:36:11 UTC (rev 4048)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/metadata/j2ee/serviceref/UnifiedServiceRefMetaData.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -1,430 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2005, JBoss Inc., and individual contributors as indicated
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.wsf.spi.metadata.j2ee.serviceref;
-
-// $Id$
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
-import javax.xml.namespace.QName;
-import javax.xml.ws.WebServiceException;
-
-import org.jboss.logging.Logger;
-import org.jboss.ws.integration.ServiceRefMetaData;
-import org.jboss.ws.integration.UnifiedVirtualFile;
-import org.w3c.dom.Element;
-
-/**
- * The metdata data from service-ref element in web.xml, ejb-jar.xml, and
- * application-client.xml.
- *
- * @author Thomas.Diesler(a)jboss.org
- */
-public class UnifiedServiceRefMetaData extends ServiceRefMetaData
-{
- // provide logging
- private static Logger log = Logger.getLogger(UnifiedServiceRefMetaData.class);
-
- private UnifiedVirtualFile vfsRoot;
-
- // Standard properties
-
- // The required <service-ref-name> element
- private String serviceRefName;
- // The JAXRPC required <service-interface> element
- private String serviceInterface;
- // service-res-type
- private String serviceRefType;
- // The optional <wsdl-file> element
- private String wsdlFile;
- // The optional <jaxrpc-mapping-file> element
- private String mappingFile;
- // The optional <service-qname> element
- private QName serviceQName;
- // The list <port-component-ref> elements
- private List<UnifiedPortComponentRefMetaData> portComponentRefs = new ArrayList<UnifiedPortComponentRefMetaData>();
- // The optional <handler> elements. JAX-RPC handlers declared in the standard J2EE1.4 descriptor
- private List<UnifiedHandlerMetaData> handlers = new ArrayList<UnifiedHandlerMetaData>();
- // The optional <handler-chains> elements. JAX-WS handlers declared in the standard JavaEE5 descriptor
- private UnifiedHandlerChainsMetaData handlerChains;
-
- // JBoss properties
-
- // The optional <service-impl-class> element
- private String serviceImplClass;
- // The optional JBossWS config-name
- private String configName;
- // The optional JBossWS config-file
- private String configFile;
- // The optional URL of the actual WSDL to use, <wsdl-override>
- private String wsdlOverride;
- // The optional <handler-chain> element. JAX-WS handler chain declared in the JBoss JavaEE5 descriptor
- private String handlerChain;
- // Arbitrary proxy properties given by <call-property>
- private List<UnifiedCallPropertyMetaData> callProperties = new ArrayList<UnifiedCallPropertyMetaData>();
-
- // The JAXWS annotated element. JDK1.4 does not have java.lang.reflect.AnnotatedElement so we use an untyped Object
- private transient Object anElement;
- // A flag that should be set when this service-ref has been bound.
- private transient boolean processed;
-
- public UnifiedServiceRefMetaData(UnifiedVirtualFile vfRoot)
- {
- this.vfsRoot = vfRoot;
- }
-
- public UnifiedServiceRefMetaData()
- {
- }
-
- public void merge(ServiceRefMetaData sref)
- {
- UnifiedServiceRefMetaData sourceRef = (UnifiedServiceRefMetaData)sref;
- serviceImplClass = sourceRef.serviceImplClass;
- configName = sourceRef.configName;
- configFile = sourceRef.configFile;
- wsdlOverride = sourceRef.wsdlOverride;
- handlerChain = sourceRef.handlerChain;
- callProperties = sourceRef.callProperties;
-
- if (serviceQName == null && sourceRef.serviceQName != null)
- serviceQName = sourceRef.serviceQName;
-
- for (UnifiedPortComponentRefMetaData pcref : sourceRef.getPortComponentRefs())
- {
- String seiName = pcref.getServiceEndpointInterface();
- QName portQName = pcref.getPortQName();
- UnifiedPortComponentRefMetaData targetPCRef = getPortComponentRef(seiName, portQName);
-
- if (targetPCRef == null)
- {
- log.warn("Cannot find port component ref: [sei=" + seiName + ",port=" + portQName + "]");
- if (seiName != null)
- addPortComponentRef(pcref);
- else
- log.warn("Ingore port component ref without SEI declaration: " + pcref);
-
- targetPCRef = pcref;
- }
-
- targetPCRef.merge(pcref);
- }
- }
-
- public UnifiedVirtualFile getVfsRoot()
- {
- return vfsRoot;
- }
-
- public void setVfsRoot(UnifiedVirtualFile vfsRoot)
- {
- this.vfsRoot = vfsRoot;
- }
-
- public String getServiceRefName()
- {
- return serviceRefName;
- }
-
- public void setServiceRefName(String serviceRefName)
- {
- this.serviceRefName = serviceRefName;
- }
-
- public String getMappingFile()
- {
- return mappingFile;
- }
-
- public void setMappingFile(String mappingFile)
- {
- this.mappingFile = mappingFile;
- }
-
- public URL getMappingLocation()
- {
- URL mappingURL = null;
- if (mappingFile != null)
- {
- try
- {
- mappingURL = vfsRoot.findChild(mappingFile).toURL();
- }
- catch (Exception e)
- {
- throw new WebServiceException("Cannot find jaxrcp-mapping-file: " + mappingFile, e);
- }
- }
- return mappingURL;
- }
-
- public Collection<UnifiedPortComponentRefMetaData> getPortComponentRefs()
- {
- return portComponentRefs;
- }
-
- public UnifiedPortComponentRefMetaData getPortComponentRef(String seiName, QName portName)
- {
- UnifiedPortComponentRefMetaData matchingRef = null;
- for (UnifiedPortComponentRefMetaData ref : portComponentRefs)
- {
- if (ref.matches(seiName, portName))
- {
- if (matchingRef != null)
- log.warn("Multiple matching port component ref: [sei=" + seiName + ",port=" + portName + "]");
-
- matchingRef = ref;
- }
- }
- return matchingRef;
- }
-
- public void addPortComponentRef(UnifiedPortComponentRefMetaData pcRef)
- {
- portComponentRefs.add(pcRef);
- }
-
- public List<UnifiedHandlerMetaData> getHandlers()
- {
- return handlers;
- }
-
- public void addHandler(UnifiedHandlerMetaData handler)
- {
- handlers.add(handler);
- }
-
- public String getServiceInterface()
- {
- return serviceInterface;
- }
-
- public void setServiceInterface(String serviceInterface)
- {
- this.serviceInterface = serviceInterface;
- }
-
- public String getServiceImplClass()
- {
- return serviceImplClass;
- }
-
- public void setServiceImplClass(String serviceImplClass)
- {
- this.serviceImplClass = serviceImplClass;
- }
-
- public QName getServiceQName()
- {
- return serviceQName;
- }
-
- public void setServiceQName(QName serviceQName)
- {
- this.serviceQName = serviceQName;
- }
-
- public String getServiceRefType()
- {
- return serviceRefType;
- }
-
- public void setServiceRefType(String serviceResType)
- {
- this.serviceRefType = serviceResType;
- }
-
- public String getWsdlFile()
- {
- return wsdlFile;
- }
-
- public void setWsdlFile(String wsdlFile)
- {
- this.wsdlFile = wsdlFile;
- }
-
- public URL getWsdlLocation()
- {
- URL wsdlLocation = null;
- if (wsdlOverride != null)
- {
- try
- {
- wsdlLocation = new URL(wsdlOverride);
- }
- catch (MalformedURLException e1)
- {
- try
- {
- wsdlLocation = vfsRoot.findChild(wsdlOverride).toURL();
- }
- catch (Exception e)
- {
- throw new WebServiceException("Cannot find wsdl-override: " + wsdlOverride, e);
- }
- }
- }
-
- if (wsdlLocation == null && wsdlFile != null)
- {
- try
- {
- wsdlLocation = vfsRoot.findChild(wsdlFile).toURL();
- }
- catch (Exception e)
- {
- throw new WebServiceException("Cannot find wsdl-file: " + wsdlFile, e);
- }
- }
-
- return wsdlLocation;
- }
-
- public String getConfigFile()
- {
- return configFile;
- }
-
- public void setConfigFile(String configFile)
- {
- this.configFile = configFile;
- }
-
- public String getConfigName()
- {
- return configName;
- }
-
- public void setConfigName(String configName)
- {
- this.configName = configName;
- }
-
- public String getWsdlOverride()
- {
- return wsdlOverride;
- }
-
- public void setWsdlOverride(String wsdlOverride)
- {
- this.wsdlOverride = wsdlOverride;
- }
-
- public List<UnifiedCallPropertyMetaData> getCallProperties()
- {
- return callProperties;
- }
-
- public void setCallProperties(List<UnifiedCallPropertyMetaData> callProps)
- {
- callProperties = callProps;
- }
-
- public void addCallProperty(UnifiedCallPropertyMetaData callProp)
- {
- callProperties.add(callProp);
- }
-
- public UnifiedHandlerChainsMetaData getHandlerChains()
- {
- return handlerChains;
- }
-
- public void setHandlerChains(UnifiedHandlerChainsMetaData handlerChains)
- {
- this.handlerChains = handlerChains;
- }
-
- public String getHandlerChain()
- {
- return handlerChain;
- }
-
- public void setHandlerChain(String handlerChain)
- {
- this.handlerChain = handlerChain;
- }
-
- public Object getAnnotatedElement()
- {
- return anElement;
-
- }
-
- public boolean isProcessed()
- {
- return processed;
- }
-
- public void setProcessed(boolean flag)
- {
- this.processed = flag;
- }
-
- public void setAnnotatedElement(Object anElement)
- {
- this.anElement = anElement;
- }
-
- @Override
- public void importStandardXml(Element root)
- {
- new ServiceRefMetaDataParser().importStandardXml(root, this);
- }
-
- @Override
- public void importJBossXml(Element root)
- {
- new ServiceRefMetaDataParser().importJBossXml(root, this);
- }
-
- public String toString()
- {
- StringBuilder str = new StringBuilder();
- str.append("\nUnifiedServiceRef");
- str.append("\n serviceRefName=" + serviceRefName);
- str.append("\n serviceInterface=" + serviceInterface);
- str.append("\n serviceImplClass=" + serviceImplClass);
- str.append("\n serviceRefType=" + serviceRefType);
- str.append("\n serviceQName=" + serviceQName);
- str.append("\n anElement=" + anElement);
- str.append("\n wsdlFile=" + wsdlFile);
- str.append("\n wsdlOverride=" + wsdlOverride);
- str.append("\n mappingFile=" + mappingFile);
- str.append("\n configName=" + configName);
- str.append("\n configFile=" + configFile);
- str.append("\n callProperties=" + callProperties);
- str.append("\n processed=" + processed);
- str.append("\n handlerChains=" + handlerChains);
- str.append("\n handlerChain=" + handlerChain);
- for (UnifiedHandlerMetaData uhmd : handlers)
- str.append(uhmd.toString());
- for (UnifiedPortComponentRefMetaData pcref : portComponentRefs)
- str.append(pcref.toString());
- return str.toString();
- }
-}
Added: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/metadata/j2ee/serviceref/UnifiedServiceRefMetaData.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/metadata/j2ee/serviceref/UnifiedServiceRefMetaData.java (rev 0)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/metadata/j2ee/serviceref/UnifiedServiceRefMetaData.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -0,0 +1,430 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.spi.metadata.j2ee.serviceref;
+
+// $Id$
+
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
+import javax.xml.namespace.QName;
+import javax.xml.ws.WebServiceException;
+
+import org.jboss.logging.Logger;
+import org.jboss.wsf.spi.deployment.UnifiedVirtualFile;
+import org.jboss.wsf.spi.serviceref.ServiceRefMetaData;
+import org.w3c.dom.Element;
+
+/**
+ * The metdata data from service-ref element in web.xml, ejb-jar.xml, and
+ * application-client.xml.
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ */
+public class UnifiedServiceRefMetaData extends ServiceRefMetaData
+{
+ // provide logging
+ private static Logger log = Logger.getLogger(UnifiedServiceRefMetaData.class);
+
+ private UnifiedVirtualFile vfsRoot;
+
+ // Standard properties
+
+ // The required <service-ref-name> element
+ private String serviceRefName;
+ // The JAXRPC required <service-interface> element
+ private String serviceInterface;
+ // service-res-type
+ private String serviceRefType;
+ // The optional <wsdl-file> element
+ private String wsdlFile;
+ // The optional <jaxrpc-mapping-file> element
+ private String mappingFile;
+ // The optional <service-qname> element
+ private QName serviceQName;
+ // The list <port-component-ref> elements
+ private List<UnifiedPortComponentRefMetaData> portComponentRefs = new ArrayList<UnifiedPortComponentRefMetaData>();
+ // The optional <handler> elements. JAX-RPC handlers declared in the standard J2EE1.4 descriptor
+ private List<UnifiedHandlerMetaData> handlers = new ArrayList<UnifiedHandlerMetaData>();
+ // The optional <handler-chains> elements. JAX-WS handlers declared in the standard JavaEE5 descriptor
+ private UnifiedHandlerChainsMetaData handlerChains;
+
+ // JBoss properties
+
+ // The optional <service-impl-class> element
+ private String serviceImplClass;
+ // The optional JBossWS config-name
+ private String configName;
+ // The optional JBossWS config-file
+ private String configFile;
+ // The optional URL of the actual WSDL to use, <wsdl-override>
+ private String wsdlOverride;
+ // The optional <handler-chain> element. JAX-WS handler chain declared in the JBoss JavaEE5 descriptor
+ private String handlerChain;
+ // Arbitrary proxy properties given by <call-property>
+ private List<UnifiedCallPropertyMetaData> callProperties = new ArrayList<UnifiedCallPropertyMetaData>();
+
+ // The JAXWS annotated element. JDK1.4 does not have java.lang.reflect.AnnotatedElement so we use an untyped Object
+ private transient Object anElement;
+ // A flag that should be set when this service-ref has been bound.
+ private transient boolean processed;
+
+ public UnifiedServiceRefMetaData(UnifiedVirtualFile vfRoot)
+ {
+ this.vfsRoot = vfRoot;
+ }
+
+ public UnifiedServiceRefMetaData()
+ {
+ }
+
+ public void merge(ServiceRefMetaData sref)
+ {
+ UnifiedServiceRefMetaData sourceRef = (UnifiedServiceRefMetaData)sref;
+ serviceImplClass = sourceRef.serviceImplClass;
+ configName = sourceRef.configName;
+ configFile = sourceRef.configFile;
+ wsdlOverride = sourceRef.wsdlOverride;
+ handlerChain = sourceRef.handlerChain;
+ callProperties = sourceRef.callProperties;
+
+ if (serviceQName == null && sourceRef.serviceQName != null)
+ serviceQName = sourceRef.serviceQName;
+
+ for (UnifiedPortComponentRefMetaData pcref : sourceRef.getPortComponentRefs())
+ {
+ String seiName = pcref.getServiceEndpointInterface();
+ QName portQName = pcref.getPortQName();
+ UnifiedPortComponentRefMetaData targetPCRef = getPortComponentRef(seiName, portQName);
+
+ if (targetPCRef == null)
+ {
+ log.warn("Cannot find port component ref: [sei=" + seiName + ",port=" + portQName + "]");
+ if (seiName != null)
+ addPortComponentRef(pcref);
+ else
+ log.warn("Ingore port component ref without SEI declaration: " + pcref);
+
+ targetPCRef = pcref;
+ }
+
+ targetPCRef.merge(pcref);
+ }
+ }
+
+ public UnifiedVirtualFile getVfsRoot()
+ {
+ return vfsRoot;
+ }
+
+ public void setVfsRoot(UnifiedVirtualFile vfsRoot)
+ {
+ this.vfsRoot = vfsRoot;
+ }
+
+ public String getServiceRefName()
+ {
+ return serviceRefName;
+ }
+
+ public void setServiceRefName(String serviceRefName)
+ {
+ this.serviceRefName = serviceRefName;
+ }
+
+ public String getMappingFile()
+ {
+ return mappingFile;
+ }
+
+ public void setMappingFile(String mappingFile)
+ {
+ this.mappingFile = mappingFile;
+ }
+
+ public URL getMappingLocation()
+ {
+ URL mappingURL = null;
+ if (mappingFile != null)
+ {
+ try
+ {
+ mappingURL = vfsRoot.findChild(mappingFile).toURL();
+ }
+ catch (Exception e)
+ {
+ throw new WebServiceException("Cannot find jaxrcp-mapping-file: " + mappingFile, e);
+ }
+ }
+ return mappingURL;
+ }
+
+ public Collection<UnifiedPortComponentRefMetaData> getPortComponentRefs()
+ {
+ return portComponentRefs;
+ }
+
+ public UnifiedPortComponentRefMetaData getPortComponentRef(String seiName, QName portName)
+ {
+ UnifiedPortComponentRefMetaData matchingRef = null;
+ for (UnifiedPortComponentRefMetaData ref : portComponentRefs)
+ {
+ if (ref.matches(seiName, portName))
+ {
+ if (matchingRef != null)
+ log.warn("Multiple matching port component ref: [sei=" + seiName + ",port=" + portName + "]");
+
+ matchingRef = ref;
+ }
+ }
+ return matchingRef;
+ }
+
+ public void addPortComponentRef(UnifiedPortComponentRefMetaData pcRef)
+ {
+ portComponentRefs.add(pcRef);
+ }
+
+ public List<UnifiedHandlerMetaData> getHandlers()
+ {
+ return handlers;
+ }
+
+ public void addHandler(UnifiedHandlerMetaData handler)
+ {
+ handlers.add(handler);
+ }
+
+ public String getServiceInterface()
+ {
+ return serviceInterface;
+ }
+
+ public void setServiceInterface(String serviceInterface)
+ {
+ this.serviceInterface = serviceInterface;
+ }
+
+ public String getServiceImplClass()
+ {
+ return serviceImplClass;
+ }
+
+ public void setServiceImplClass(String serviceImplClass)
+ {
+ this.serviceImplClass = serviceImplClass;
+ }
+
+ public QName getServiceQName()
+ {
+ return serviceQName;
+ }
+
+ public void setServiceQName(QName serviceQName)
+ {
+ this.serviceQName = serviceQName;
+ }
+
+ public String getServiceRefType()
+ {
+ return serviceRefType;
+ }
+
+ public void setServiceRefType(String serviceResType)
+ {
+ this.serviceRefType = serviceResType;
+ }
+
+ public String getWsdlFile()
+ {
+ return wsdlFile;
+ }
+
+ public void setWsdlFile(String wsdlFile)
+ {
+ this.wsdlFile = wsdlFile;
+ }
+
+ public URL getWsdlLocation()
+ {
+ URL wsdlLocation = null;
+ if (wsdlOverride != null)
+ {
+ try
+ {
+ wsdlLocation = new URL(wsdlOverride);
+ }
+ catch (MalformedURLException e1)
+ {
+ try
+ {
+ wsdlLocation = vfsRoot.findChild(wsdlOverride).toURL();
+ }
+ catch (Exception e)
+ {
+ throw new WebServiceException("Cannot find wsdl-override: " + wsdlOverride, e);
+ }
+ }
+ }
+
+ if (wsdlLocation == null && wsdlFile != null)
+ {
+ try
+ {
+ wsdlLocation = vfsRoot.findChild(wsdlFile).toURL();
+ }
+ catch (Exception e)
+ {
+ throw new WebServiceException("Cannot find wsdl-file: " + wsdlFile, e);
+ }
+ }
+
+ return wsdlLocation;
+ }
+
+ public String getConfigFile()
+ {
+ return configFile;
+ }
+
+ public void setConfigFile(String configFile)
+ {
+ this.configFile = configFile;
+ }
+
+ public String getConfigName()
+ {
+ return configName;
+ }
+
+ public void setConfigName(String configName)
+ {
+ this.configName = configName;
+ }
+
+ public String getWsdlOverride()
+ {
+ return wsdlOverride;
+ }
+
+ public void setWsdlOverride(String wsdlOverride)
+ {
+ this.wsdlOverride = wsdlOverride;
+ }
+
+ public List<UnifiedCallPropertyMetaData> getCallProperties()
+ {
+ return callProperties;
+ }
+
+ public void setCallProperties(List<UnifiedCallPropertyMetaData> callProps)
+ {
+ callProperties = callProps;
+ }
+
+ public void addCallProperty(UnifiedCallPropertyMetaData callProp)
+ {
+ callProperties.add(callProp);
+ }
+
+ public UnifiedHandlerChainsMetaData getHandlerChains()
+ {
+ return handlerChains;
+ }
+
+ public void setHandlerChains(UnifiedHandlerChainsMetaData handlerChains)
+ {
+ this.handlerChains = handlerChains;
+ }
+
+ public String getHandlerChain()
+ {
+ return handlerChain;
+ }
+
+ public void setHandlerChain(String handlerChain)
+ {
+ this.handlerChain = handlerChain;
+ }
+
+ public Object getAnnotatedElement()
+ {
+ return anElement;
+
+ }
+
+ public boolean isProcessed()
+ {
+ return processed;
+ }
+
+ public void setProcessed(boolean flag)
+ {
+ this.processed = flag;
+ }
+
+ public void setAnnotatedElement(Object anElement)
+ {
+ this.anElement = anElement;
+ }
+
+ @Override
+ public void importStandardXml(Element root)
+ {
+ new ServiceRefMetaDataParser().importStandardXml(root, this);
+ }
+
+ @Override
+ public void importJBossXml(Element root)
+ {
+ new ServiceRefMetaDataParser().importJBossXml(root, this);
+ }
+
+ public String toString()
+ {
+ StringBuilder str = new StringBuilder();
+ str.append("\nUnifiedServiceRef");
+ str.append("\n serviceRefName=" + serviceRefName);
+ str.append("\n serviceInterface=" + serviceInterface);
+ str.append("\n serviceImplClass=" + serviceImplClass);
+ str.append("\n serviceRefType=" + serviceRefType);
+ str.append("\n serviceQName=" + serviceQName);
+ str.append("\n anElement=" + anElement);
+ str.append("\n wsdlFile=" + wsdlFile);
+ str.append("\n wsdlOverride=" + wsdlOverride);
+ str.append("\n mappingFile=" + mappingFile);
+ str.append("\n configName=" + configName);
+ str.append("\n configFile=" + configFile);
+ str.append("\n callProperties=" + callProperties);
+ str.append("\n processed=" + processed);
+ str.append("\n handlerChains=" + handlerChains);
+ str.append("\n handlerChain=" + handlerChain);
+ for (UnifiedHandlerMetaData uhmd : handlers)
+ str.append(uhmd.toString());
+ for (UnifiedPortComponentRefMetaData pcref : portComponentRefs)
+ str.append(pcref.toString());
+ return str.toString();
+ }
+}
Deleted: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/metadata/j2ee/serviceref/UnifiedStubPropertyMetaData.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/metadata/j2ee/serviceref/UnifiedStubPropertyMetaData.java 2007-08-01 10:36:11 UTC (rev 4048)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/metadata/j2ee/serviceref/UnifiedStubPropertyMetaData.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -1,64 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2005, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.wsf.spi.metadata.j2ee.serviceref;
-
-import org.jboss.ws.integration.ServiceRefElement;
-
-// $Id$
-
-
-/**
- * @author Thomas.Diesler(a)jboss.org
- * @since 06-May-2004
- */
-public class UnifiedStubPropertyMetaData extends ServiceRefElement
-{
- // The required <prop-name> element
- private String propName;
- // The required <prop-value> element
- private String propValue;
-
- public String getPropName()
- {
- return propName;
- }
-
- public void setPropName(String paramName)
- {
- this.propName = paramName;
- }
-
- public String getPropValue()
- {
- return propValue;
- }
-
- public void setPropValue(String paramValue)
- {
- this.propValue = paramValue;
- }
-
- public String toString()
- {
- return "[name=" + propName + ",value=" + propValue + "]";
- }
-}
Added: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/metadata/j2ee/serviceref/UnifiedStubPropertyMetaData.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/metadata/j2ee/serviceref/UnifiedStubPropertyMetaData.java (rev 0)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/metadata/j2ee/serviceref/UnifiedStubPropertyMetaData.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -0,0 +1,64 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2005, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.wsf.spi.metadata.j2ee.serviceref;
+
+import org.jboss.wsf.spi.serviceref.ServiceRefElement;
+
+// $Id$
+
+
+/**
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 06-May-2004
+ */
+public class UnifiedStubPropertyMetaData extends ServiceRefElement
+{
+ // The required <prop-name> element
+ private String propName;
+ // The required <prop-value> element
+ private String propValue;
+
+ public String getPropName()
+ {
+ return propName;
+ }
+
+ public void setPropName(String paramName)
+ {
+ this.propName = paramName;
+ }
+
+ public String getPropValue()
+ {
+ return propValue;
+ }
+
+ public void setPropValue(String paramValue)
+ {
+ this.propValue = paramValue;
+ }
+
+ public String toString()
+ {
+ return "[name=" + propName + ",value=" + propValue + "]";
+ }
+}
Modified: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/metadata/webservices/WebservicesFactory.java
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/metadata/webservices/WebservicesFactory.java 2007-08-01 10:36:11 UTC (rev 4048)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/metadata/webservices/WebservicesFactory.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -30,7 +30,7 @@
import javax.xml.ws.WebServiceException;
import org.jboss.logging.Logger;
-import org.jboss.ws.integration.UnifiedVirtualFile;
+import org.jboss.wsf.spi.deployment.UnifiedVirtualFile;
import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedHandlerChainMetaData;
import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedHandlerChainsMetaData;
import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedHandlerMetaData;
Copied: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/serviceref/ServiceRefElement.java (from rev 4043, trunk/integration/spi/src/main/java/org/jboss/ws/integration/ServiceRefElement.java)
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/serviceref/ServiceRefElement.java (rev 0)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/serviceref/ServiceRefElement.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -0,0 +1,36 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.spi.serviceref;
+
+// $Id$
+
+import java.io.Serializable;
+
+/**
+ * A marker for all <service-ref> related objects.
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 08-Mar-2007
+ */
+public abstract class ServiceRefElement implements Serializable
+{
+}
Copied: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/serviceref/ServiceRefHandler.java (from rev 4043, trunk/integration/spi/src/main/java/org/jboss/ws/integration/ServiceRefHandler.java)
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/serviceref/ServiceRefHandler.java (rev 0)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/serviceref/ServiceRefHandler.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -0,0 +1,50 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.spi.serviceref;
+
+// $Id$
+
+import javax.naming.Context;
+import javax.naming.NamingException;
+
+import org.jboss.wsf.spi.deployment.UnifiedVirtualFile;
+import org.jboss.xb.binding.UnmarshallingContext;
+import org.xml.sax.Attributes;
+
+/**
+ * An implementation of this interface handles all service-ref binding concerns
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 05-May-2004
+ */
+public interface ServiceRefHandler
+{
+ final String BEAN_NAME = "WSServiceRefHandler";
+
+ ServiceRefMetaData newServiceRefMetaData();
+
+ Object newChild(ServiceRefElement ref, UnmarshallingContext navigator, String namespaceURI, String localName, Attributes attrs);
+
+ void setValue(ServiceRefElement ref, UnmarshallingContext navigator, String namespaceURI, String localName, String value);
+
+ void bindServiceRef(Context encCtx, String encName, UnifiedVirtualFile vfsRoot, ClassLoader loader, ServiceRefMetaData sref) throws NamingException;
+}
Copied: trunk/integration/spi/src/main/java/org/jboss/wsf/spi/serviceref/ServiceRefMetaData.java (from rev 4043, trunk/integration/spi/src/main/java/org/jboss/ws/integration/ServiceRefMetaData.java)
===================================================================
--- trunk/integration/spi/src/main/java/org/jboss/wsf/spi/serviceref/ServiceRefMetaData.java (rev 0)
+++ trunk/integration/spi/src/main/java/org/jboss/wsf/spi/serviceref/ServiceRefMetaData.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -0,0 +1,55 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright 2005, JBoss Inc., and individual contributors as indicated
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.wsf.spi.serviceref;
+
+// $Id$
+
+import java.io.Serializable;
+
+import org.w3c.dom.Element;
+
+/**
+ * An abstract service-ref meta data object.
+ *
+ * @author Thomas.Diesler(a)jboss.org
+ * @since 08-Mar-2007
+ */
+public abstract class ServiceRefMetaData extends ServiceRefElement implements Serializable
+{
+ public abstract String getServiceRefName();
+
+ public abstract void setServiceRefName(String name);
+
+ public abstract Object getAnnotatedElement();
+
+ public abstract void setAnnotatedElement(Object anElement);
+
+ public abstract boolean isProcessed();
+
+ public abstract void setProcessed(boolean flag);
+
+ public abstract void importStandardXml(Element element);
+
+ public abstract void importJBossXml(Element element);
+
+ public abstract void merge(ServiceRefMetaData targetRef);
+}
Modified: trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/client/DummyServiceRefBinderJAXRPC.java
===================================================================
--- trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/client/DummyServiceRefBinderJAXRPC.java 2007-08-01 10:36:11 UTC (rev 4048)
+++ trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/client/DummyServiceRefBinderJAXRPC.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -26,7 +26,7 @@
import javax.naming.Context;
import javax.naming.NamingException;
-import org.jboss.ws.integration.ServiceRefBinder;
+import org.jboss.wsf.framework.serviceref.ServiceRefBinder;
import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedServiceRefMetaData;
/**
Modified: trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/client/ServiceRefBinderJAXWS.java
===================================================================
--- trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/client/ServiceRefBinderJAXWS.java 2007-08-01 10:36:11 UTC (rev 4048)
+++ trunk/integration/sunri/src/main/java/org/jboss/wsf/stack/sunri/client/ServiceRefBinderJAXWS.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -21,7 +21,7 @@
*/
package org.jboss.wsf.stack.sunri.client;
-import org.jboss.ws.integration.CommonServiceRefBinder;
+import org.jboss.wsf.framework.serviceref.CommonServiceRefBinder;
import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedServiceRefMetaData;
import javax.naming.Referenceable;
@@ -34,7 +34,7 @@
{
/**
* Create a Sun-RI specific service referenceable.
- * Most of the setup is done in {@link org.jboss.ws.integration.CommonServiceRefBinder}
+ * Most of the setup is done in {@link org.jboss.wsf.framework.serviceref.CommonServiceRefBinder}
*
* @param serviceImplClass
* @param targetClassName
Modified: trunk/jbossws-core/src/main/java/org/jboss/ws/core/CommonClient.java
===================================================================
--- trunk/jbossws-core/src/main/java/org/jboss/ws/core/CommonClient.java 2007-08-01 10:36:11 UTC (rev 4048)
+++ trunk/jbossws-core/src/main/java/org/jboss/ws/core/CommonClient.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -54,8 +54,6 @@
import org.jboss.ws.core.soap.UnboundHeader;
import org.jboss.ws.core.utils.HolderUtils;
import org.jboss.ws.extensions.addressing.AddressingConstantsImpl;
-import org.jboss.ws.integration.ResourceLoaderAdapter;
-import org.jboss.ws.integration.UnifiedVirtualFile;
import org.jboss.ws.metadata.umdm.ClientEndpointMetaData;
import org.jboss.ws.metadata.umdm.EndpointMetaData;
import org.jboss.ws.metadata.umdm.OperationMetaData;
@@ -65,6 +63,8 @@
import org.jboss.ws.metadata.umdm.EndpointMetaData.Type;
import org.jboss.ws.metadata.wsse.WSSecurityConfigFactory;
import org.jboss.ws.metadata.wsse.WSSecurityConfiguration;
+import org.jboss.wsf.framework.deployment.ResourceLoaderAdapter;
+import org.jboss.wsf.spi.deployment.UnifiedVirtualFile;
import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedHandlerMetaData.HandlerType;
/**
Modified: trunk/jbossws-core/src/main/java/org/jboss/ws/core/jaxrpc/client/ServiceImpl.java
===================================================================
--- trunk/jbossws-core/src/main/java/org/jboss/ws/core/jaxrpc/client/ServiceImpl.java 2007-08-01 10:36:11 UTC (rev 4048)
+++ trunk/jbossws-core/src/main/java/org/jboss/ws/core/jaxrpc/client/ServiceImpl.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -44,7 +44,6 @@
import org.jboss.logging.Logger;
import org.jboss.ws.core.StubExt;
-import org.jboss.ws.integration.ResourceLoaderAdapter;
import org.jboss.ws.metadata.builder.jaxrpc.JAXRPCClientMetaDataBuilder;
import org.jboss.ws.metadata.jaxrpcmapping.JavaWsdlMapping;
import org.jboss.ws.metadata.umdm.EndpointMetaData;
@@ -54,6 +53,7 @@
import org.jboss.ws.metadata.umdm.ServiceMetaData;
import org.jboss.ws.metadata.umdm.UnifiedMetaData;
import org.jboss.ws.metadata.wsse.WSSecurityConfiguration;
+import org.jboss.wsf.framework.deployment.ResourceLoaderAdapter;
import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedCallPropertyMetaData;
import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedInitParamMetaData;
import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedPortComponentRefMetaData;
Modified: trunk/jbossws-core/src/main/java/org/jboss/ws/core/jaxrpc/client/ServiceRefBinderJAXRPC.java
===================================================================
--- trunk/jbossws-core/src/main/java/org/jboss/ws/core/jaxrpc/client/ServiceRefBinderJAXRPC.java 2007-08-01 10:36:11 UTC (rev 4048)
+++ trunk/jbossws-core/src/main/java/org/jboss/ws/core/jaxrpc/client/ServiceRefBinderJAXRPC.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -28,7 +28,7 @@
import org.jboss.logging.Logger;
import org.jboss.util.naming.Util;
-import org.jboss.ws.integration.ServiceRefBinder;
+import org.jboss.wsf.framework.serviceref.ServiceRefBinder;
import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedServiceRefMetaData;
import java.lang.reflect.AnnotatedElement;
Modified: trunk/jbossws-core/src/main/java/org/jboss/ws/core/jaxrpc/client/ServiceReferenceable.java
===================================================================
--- trunk/jbossws-core/src/main/java/org/jboss/ws/core/jaxrpc/client/ServiceReferenceable.java 2007-08-01 10:36:11 UTC (rev 4048)
+++ trunk/jbossws-core/src/main/java/org/jboss/ws/core/jaxrpc/client/ServiceReferenceable.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -37,9 +37,9 @@
import javax.naming.StringRefAddr;
import org.jboss.logging.Logger;
-import org.jboss.ws.integration.UnifiedVirtualFile;
import org.jboss.ws.metadata.wsse.WSSecurityConfiguration;
import org.jboss.ws.metadata.wsse.WSSecurityOMFactory;
+import org.jboss.wsf.spi.deployment.UnifiedVirtualFile;
import org.jboss.wsf.spi.management.ServerConfig;
import org.jboss.wsf.spi.management.ServerConfigFactory;
import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedPortComponentRefMetaData;
Modified: trunk/jbossws-core/src/main/java/org/jboss/ws/core/jaxws/client/ServiceRefBinderJAXWS.java
===================================================================
--- trunk/jbossws-core/src/main/java/org/jboss/ws/core/jaxws/client/ServiceRefBinderJAXWS.java 2007-08-01 10:36:11 UTC (rev 4048)
+++ trunk/jbossws-core/src/main/java/org/jboss/ws/core/jaxws/client/ServiceRefBinderJAXWS.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -23,7 +23,7 @@
// $Id$
-import org.jboss.ws.integration.CommonServiceRefBinder;
+import org.jboss.wsf.framework.serviceref.CommonServiceRefBinder;
import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedServiceRefMetaData;
import javax.naming.Referenceable;
Modified: trunk/jbossws-core/src/main/java/org/jboss/ws/core/jaxws/spi/ServiceDelegateImpl.java
===================================================================
--- trunk/jbossws-core/src/main/java/org/jboss/ws/core/jaxws/spi/ServiceDelegateImpl.java 2007-08-01 10:36:11 UTC (rev 4048)
+++ trunk/jbossws-core/src/main/java/org/jboss/ws/core/jaxws/spi/ServiceDelegateImpl.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -56,8 +56,6 @@
import org.jboss.ws.core.jaxws.client.DispatchImpl;
import org.jboss.ws.core.jaxws.client.ServiceObjectFactoryJAXWS;
import org.jboss.ws.core.jaxws.handler.HandlerResolverImpl;
-import org.jboss.ws.integration.ResourceLoaderAdapter;
-import org.jboss.ws.integration.UnifiedVirtualFile;
import org.jboss.ws.metadata.builder.jaxws.JAXWSClientMetaDataBuilder;
import org.jboss.ws.metadata.builder.jaxws.JAXWSMetaDataBuilder;
import org.jboss.ws.metadata.umdm.ClientEndpointMetaData;
@@ -67,6 +65,8 @@
import org.jboss.ws.metadata.umdm.UnifiedMetaData;
import org.jboss.ws.metadata.umdm.EndpointMetaData.Type;
import org.jboss.ws.metadata.wsdl.WSDLUtils;
+import org.jboss.wsf.framework.deployment.ResourceLoaderAdapter;
+import org.jboss.wsf.spi.deployment.UnifiedVirtualFile;
import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedHandlerChainMetaData;
import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedHandlerChainsMetaData;
import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedHandlerMetaData;
Modified: trunk/jbossws-core/src/main/java/org/jboss/ws/extensions/policy/metadata/PolicyMetaDataBuilder.java
===================================================================
--- trunk/jbossws-core/src/main/java/org/jboss/ws/extensions/policy/metadata/PolicyMetaDataBuilder.java 2007-08-01 10:36:11 UTC (rev 4048)
+++ trunk/jbossws-core/src/main/java/org/jboss/ws/extensions/policy/metadata/PolicyMetaDataBuilder.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -37,7 +37,6 @@
import org.jboss.ws.extensions.policy.annotation.PolicyAttachment;
import org.jboss.ws.extensions.policy.deployer.PolicyDeployer;
import org.jboss.ws.extensions.policy.deployer.exceptions.UnsupportedPolicy;
-import org.jboss.ws.integration.UnifiedVirtualFile;
import org.jboss.ws.metadata.umdm.EndpointMetaData;
import org.jboss.ws.metadata.umdm.ExtensibleMetaData;
import org.jboss.ws.metadata.wsdl.WSDLBinding;
@@ -47,6 +46,7 @@
import org.jboss.ws.metadata.wsdl.WSDLInterface;
import org.jboss.ws.metadata.wsdl.WSDLProperty;
import org.jboss.ws.metadata.wsdl.WSDLService;
+import org.jboss.wsf.spi.deployment.UnifiedVirtualFile;
/**
* A meta data builder for policies; handles checks for policy support
Modified: trunk/jbossws-core/src/main/java/org/jboss/ws/extensions/security/jaxrpc/WSSecurityHandler.java
===================================================================
--- trunk/jbossws-core/src/main/java/org/jboss/ws/extensions/security/jaxrpc/WSSecurityHandler.java 2007-08-01 10:36:11 UTC (rev 4048)
+++ trunk/jbossws-core/src/main/java/org/jboss/ws/extensions/security/jaxrpc/WSSecurityHandler.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -35,11 +35,11 @@
import org.jboss.ws.core.CommonMessageContext;
import org.jboss.ws.extensions.security.Constants;
import org.jboss.ws.extensions.security.WSSecurityDispatcher;
-import org.jboss.ws.integration.UnifiedVirtualFile;
import org.jboss.ws.metadata.umdm.EndpointMetaData;
import org.jboss.ws.metadata.umdm.ServiceMetaData;
import org.jboss.ws.metadata.wsse.WSSecurityConfigFactory;
import org.jboss.ws.metadata.wsse.WSSecurityConfiguration;
+import org.jboss.wsf.spi.deployment.UnifiedVirtualFile;
/**
* An abstract JAXRPC handler that delegates to the WSSecurityDispatcher
Modified: trunk/jbossws-core/src/main/java/org/jboss/ws/extensions/security/jaxws/WSSecurityHandler.java
===================================================================
--- trunk/jbossws-core/src/main/java/org/jboss/ws/extensions/security/jaxws/WSSecurityHandler.java 2007-08-01 10:36:11 UTC (rev 4048)
+++ trunk/jbossws-core/src/main/java/org/jboss/ws/extensions/security/jaxws/WSSecurityHandler.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -38,11 +38,11 @@
import org.jboss.ws.core.jaxws.handler.GenericSOAPHandler;
import org.jboss.ws.extensions.security.Constants;
import org.jboss.ws.extensions.security.WSSecurityDispatcher;
-import org.jboss.ws.integration.UnifiedVirtualFile;
import org.jboss.ws.metadata.umdm.EndpointMetaData;
import org.jboss.ws.metadata.umdm.ServiceMetaData;
import org.jboss.ws.metadata.wsse.WSSecurityConfigFactory;
import org.jboss.ws.metadata.wsse.WSSecurityConfiguration;
+import org.jboss.wsf.spi.deployment.UnifiedVirtualFile;
/**
* An abstract JAXWS handler that delegates to the WSSecurityDispatcher
Modified: trunk/jbossws-core/src/main/java/org/jboss/ws/metadata/builder/jaxrpc/JAXRPCClientMetaDataBuilder.java
===================================================================
--- trunk/jbossws-core/src/main/java/org/jboss/ws/metadata/builder/jaxrpc/JAXRPCClientMetaDataBuilder.java 2007-08-01 10:36:11 UTC (rev 4048)
+++ trunk/jbossws-core/src/main/java/org/jboss/ws/metadata/builder/jaxrpc/JAXRPCClientMetaDataBuilder.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -32,8 +32,6 @@
import org.jboss.logging.Logger;
import org.jboss.ws.Constants;
import org.jboss.ws.WSException;
-import org.jboss.ws.integration.ResourceLoaderAdapter;
-import org.jboss.ws.integration.UnifiedVirtualFile;
import org.jboss.ws.metadata.jaxrpcmapping.JavaWsdlMapping;
import org.jboss.ws.metadata.jaxrpcmapping.JavaWsdlMappingFactory;
import org.jboss.ws.metadata.jaxrpcmapping.ServiceEndpointInterfaceMapping;
@@ -48,6 +46,8 @@
import org.jboss.ws.metadata.wsdl.WSDLService;
import org.jboss.ws.metadata.wsse.WSSecurityConfiguration;
import org.jboss.ws.metadata.wsse.WSSecurityOMFactory;
+import org.jboss.wsf.framework.deployment.ResourceLoaderAdapter;
+import org.jboss.wsf.spi.deployment.UnifiedVirtualFile;
import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedHandlerMetaData;
import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedServiceRefMetaData;
import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedHandlerMetaData.HandlerType;
Modified: trunk/jbossws-core/src/main/java/org/jboss/ws/metadata/builder/jaxws/JAXWSClientMetaDataBuilder.java
===================================================================
--- trunk/jbossws-core/src/main/java/org/jboss/ws/metadata/builder/jaxws/JAXWSClientMetaDataBuilder.java 2007-08-01 10:36:11 UTC (rev 4048)
+++ trunk/jbossws-core/src/main/java/org/jboss/ws/metadata/builder/jaxws/JAXWSClientMetaDataBuilder.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -36,8 +36,6 @@
import org.jboss.ws.core.jaxws.client.ServiceObjectFactoryJAXWS;
import org.jboss.ws.core.soap.Style;
import org.jboss.ws.extensions.policy.metadata.PolicyMetaDataBuilder;
-import org.jboss.ws.integration.ResourceLoaderAdapter;
-import org.jboss.ws.integration.UnifiedVirtualFile;
import org.jboss.ws.metadata.umdm.ClientEndpointMetaData;
import org.jboss.ws.metadata.umdm.EndpointMetaData;
import org.jboss.ws.metadata.umdm.OperationMetaData;
@@ -53,6 +51,8 @@
import org.jboss.ws.metadata.wsdl.WSDLService;
import org.jboss.ws.metadata.wsdl.WSDLUtils;
import org.jboss.ws.metadata.wsdl.xmlschema.JBossXSModel;
+import org.jboss.wsf.framework.deployment.ResourceLoaderAdapter;
+import org.jboss.wsf.spi.deployment.UnifiedVirtualFile;
import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedCallPropertyMetaData;
import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedPortComponentRefMetaData;
import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedServiceRefMetaData;
Modified: trunk/jbossws-core/src/main/java/org/jboss/ws/metadata/config/JBossWSConfigFactory.java
===================================================================
--- trunk/jbossws-core/src/main/java/org/jboss/ws/metadata/config/JBossWSConfigFactory.java 2007-08-01 10:36:11 UTC (rev 4048)
+++ trunk/jbossws-core/src/main/java/org/jboss/ws/metadata/config/JBossWSConfigFactory.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -28,13 +28,13 @@
import org.jboss.logging.Logger;
import org.jboss.ws.WSException;
-import org.jboss.ws.integration.ResourceLoaderAdapter;
-import org.jboss.ws.integration.UnifiedVirtualFile;
import org.jboss.ws.metadata.config.binding.OMFactoryJAXRPC;
import org.jboss.ws.metadata.config.binding.OMFactoryJAXWS;
import org.jboss.ws.metadata.config.jaxrpc.ConfigRootJAXRPC;
import org.jboss.ws.metadata.config.jaxws.ConfigRootJAXWS;
import org.jboss.wsf.common.DOMUtils;
+import org.jboss.wsf.framework.deployment.ResourceLoaderAdapter;
+import org.jboss.wsf.spi.deployment.UnifiedVirtualFile;
import org.jboss.xb.binding.JBossXBException;
import org.jboss.xb.binding.Unmarshaller;
import org.jboss.xb.binding.UnmarshallerFactory;
Modified: trunk/jbossws-core/src/main/java/org/jboss/ws/metadata/umdm/EndpointMetaData.java
===================================================================
--- trunk/jbossws-core/src/main/java/org/jboss/ws/metadata/umdm/EndpointMetaData.java 2007-08-01 10:36:11 UTC (rev 4048)
+++ trunk/jbossws-core/src/main/java/org/jboss/ws/metadata/umdm/EndpointMetaData.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -57,7 +57,6 @@
import org.jboss.ws.core.jaxws.client.DispatchBinding;
import org.jboss.ws.core.soap.Style;
import org.jboss.ws.core.soap.Use;
-import org.jboss.ws.integration.UnifiedVirtualFile;
import org.jboss.ws.metadata.config.CommonConfig;
import org.jboss.ws.metadata.config.Configurable;
import org.jboss.ws.metadata.config.ConfigurationProvider;
@@ -65,6 +64,7 @@
import org.jboss.ws.metadata.config.JBossWSConfigFactory;
import org.jboss.wsf.common.JavaUtils;
import org.jboss.wsf.spi.binding.BindingCustomization;
+import org.jboss.wsf.spi.deployment.UnifiedVirtualFile;
import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedPortComponentRefMetaData;
import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedHandlerMetaData.HandlerType;
Modified: trunk/jbossws-core/src/main/java/org/jboss/ws/metadata/umdm/OperationMetaData.java
===================================================================
--- trunk/jbossws-core/src/main/java/org/jboss/ws/metadata/umdm/OperationMetaData.java 2007-08-01 10:36:11 UTC (rev 4048)
+++ trunk/jbossws-core/src/main/java/org/jboss/ws/metadata/umdm/OperationMetaData.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -37,9 +37,9 @@
import org.jboss.ws.WSException;
import org.jboss.ws.core.soap.Style;
import org.jboss.ws.core.soap.Use;
-import org.jboss.ws.integration.ResourceLoaderAdapter;
import org.jboss.ws.metadata.umdm.EndpointMetaData.Type;
import org.jboss.wsf.common.JavaUtils;
+import org.jboss.wsf.framework.deployment.ResourceLoaderAdapter;
import org.w3c.dom.Element;
/**
Modified: trunk/jbossws-core/src/main/java/org/jboss/ws/metadata/umdm/ServiceMetaData.java
===================================================================
--- trunk/jbossws-core/src/main/java/org/jboss/ws/metadata/umdm/ServiceMetaData.java 2007-08-01 10:36:11 UTC (rev 4048)
+++ trunk/jbossws-core/src/main/java/org/jboss/ws/metadata/umdm/ServiceMetaData.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -42,7 +42,6 @@
import org.jboss.ws.core.jaxrpc.TypeMappingRegistryImpl;
import org.jboss.ws.core.jaxrpc.binding.jbossxb.SchemaBindingBuilder;
import org.jboss.ws.core.soap.Use;
-import org.jboss.ws.integration.UnifiedVirtualFile;
import org.jboss.ws.metadata.jaxrpcmapping.JavaWsdlMapping;
import org.jboss.ws.metadata.jaxrpcmapping.JavaWsdlMappingFactory;
import org.jboss.ws.metadata.wsdl.WSDLDefinitions;
@@ -51,6 +50,7 @@
import org.jboss.ws.metadata.wsdl.xmlschema.JBossXSModel;
import org.jboss.ws.metadata.wsse.WSSecurityConfiguration;
import org.jboss.ws.tools.wsdl.WSDLDefinitionsFactory;
+import org.jboss.wsf.spi.deployment.UnifiedVirtualFile;
import org.jboss.wsf.spi.metadata.j2ee.serviceref.UnifiedHandlerMetaData.HandlerType;
import org.jboss.xb.binding.sunday.unmarshalling.SchemaBinding;
Modified: trunk/jbossws-core/src/main/java/org/jboss/ws/metadata/umdm/UnifiedMetaData.java
===================================================================
--- trunk/jbossws-core/src/main/java/org/jboss/ws/metadata/umdm/UnifiedMetaData.java 2007-08-01 10:36:11 UTC (rev 4048)
+++ trunk/jbossws-core/src/main/java/org/jboss/ws/metadata/umdm/UnifiedMetaData.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -30,9 +30,9 @@
import java.util.StringTokenizer;
import org.jboss.logging.Logger;
-import org.jboss.ws.integration.UnifiedVirtualFile;
import org.jboss.ws.metadata.jaxrpcmapping.JavaWsdlMapping;
import org.jboss.ws.metadata.wsdl.WSDLDefinitions;
+import org.jboss.wsf.spi.deployment.UnifiedVirtualFile;
/**
* The top level meta data.
Modified: trunk/jbossws-core/src/main/java/org/jboss/ws/metadata/wsse/WSSecurityConfigFactory.java
===================================================================
--- trunk/jbossws-core/src/main/java/org/jboss/ws/metadata/wsse/WSSecurityConfigFactory.java 2007-08-01 10:36:11 UTC (rev 4048)
+++ trunk/jbossws-core/src/main/java/org/jboss/ws/metadata/wsse/WSSecurityConfigFactory.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -29,8 +29,8 @@
import org.jboss.logging.Logger;
import org.jboss.ws.WSException;
-import org.jboss.ws.integration.UnifiedVirtualFile;
import org.jboss.ws.metadata.builder.jaxrpc.JAXRPCServerMetaDataBuilder;
+import org.jboss.wsf.spi.deployment.UnifiedVirtualFile;
/**
* Create a WSSecurityConfiguration
Modified: trunk/jbossws-core/src/main/java/org/jboss/ws/tools/jaxws/impl/JBossWSProviderImpl.java
===================================================================
--- trunk/jbossws-core/src/main/java/org/jboss/ws/tools/jaxws/impl/JBossWSProviderImpl.java 2007-08-01 10:36:11 UTC (rev 4048)
+++ trunk/jbossws-core/src/main/java/org/jboss/ws/tools/jaxws/impl/JBossWSProviderImpl.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -28,9 +28,9 @@
import java.net.URLClassLoader;
import org.jboss.ws.WSException;
-import org.jboss.ws.integration.ResourceLoaderAdapter;
import org.jboss.ws.metadata.builder.jaxws.JAXWSWebServiceMetaDataBuilder;
import org.jboss.ws.metadata.umdm.UnifiedMetaData;
+import org.jboss.wsf.framework.deployment.ResourceLoaderAdapter;
import org.jboss.wsf.spi.SPIProvider;
import org.jboss.wsf.spi.SPIProviderResolver;
import org.jboss.wsf.spi.deployment.Deployment;
Modified: trunk/jbossws-core/src/main/java/org/jboss/ws/tools/metadata/ToolsUnifiedMetaDataBuilder.java
===================================================================
--- trunk/jbossws-core/src/main/java/org/jboss/ws/tools/metadata/ToolsUnifiedMetaDataBuilder.java 2007-08-01 10:36:11 UTC (rev 4048)
+++ trunk/jbossws-core/src/main/java/org/jboss/ws/tools/metadata/ToolsUnifiedMetaDataBuilder.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -33,11 +33,11 @@
import org.jboss.logging.Logger;
import org.jboss.ws.WSException;
import org.jboss.ws.core.soap.Style;
-import org.jboss.ws.integration.ResourceLoaderAdapter;
import org.jboss.ws.metadata.umdm.ServiceMetaData;
import org.jboss.ws.metadata.umdm.UnifiedMetaData;
import org.jboss.ws.metadata.wsdl.WSDLUtils;
import org.jboss.ws.tools.Configuration.OperationConfig;
+import org.jboss.wsf.framework.deployment.ResourceLoaderAdapter;
/**
* Builder class that builds the Tools Meta Data
Modified: trunk/jbossws-core/src/test/java/org/jboss/test/ws/jaxws/wspolicy/PolicyMetaDataBuilderTestCase.java
===================================================================
--- trunk/jbossws-core/src/test/java/org/jboss/test/ws/jaxws/wspolicy/PolicyMetaDataBuilderTestCase.java 2007-08-01 10:36:11 UTC (rev 4048)
+++ trunk/jbossws-core/src/test/java/org/jboss/test/ws/jaxws/wspolicy/PolicyMetaDataBuilderTestCase.java 2007-08-01 11:26:30 UTC (rev 4049)
@@ -36,8 +36,6 @@
import org.jboss.ws.extensions.policy.deployer.domainAssertion.NopAssertionDeployer;
import org.jboss.ws.extensions.policy.metadata.PolicyMetaDataBuilder;
import org.jboss.ws.extensions.policy.metadata.PolicyMetaExtension;
-import org.jboss.ws.integration.URLLoaderAdapter;
-import org.jboss.ws.integration.UnifiedVirtualFile;
import org.jboss.ws.metadata.umdm.EndpointMetaData;
import org.jboss.ws.metadata.umdm.ServerEndpointMetaData;
import org.jboss.ws.metadata.umdm.ServiceMetaData;
@@ -45,6 +43,8 @@
import org.jboss.ws.metadata.umdm.EndpointMetaData.Type;
import org.jboss.ws.metadata.wsdl.WSDLDefinitions;
import org.jboss.ws.tools.wsdl.WSDLDefinitionsFactory;
+import org.jboss.wsf.framework.deployment.URLLoaderAdapter;
+import org.jboss.wsf.spi.deployment.UnifiedVirtualFile;
import org.jboss.wsf.test.JBossWSTest;
/**
17 years, 5 months
JBossWS SVN: r4048 - trunk/jbossws-core/src/main/java/org/jboss/ws/tools/jaxws/impl.
by jbossws-commits@lists.jboss.org
Author: heiko.braun(a)jboss.com
Date: 2007-08-01 06:36:11 -0400 (Wed, 01 Aug 2007)
New Revision: 4048
Modified:
trunk/jbossws-core/src/main/java/org/jboss/ws/tools/jaxws/impl/JBossWSProviderImpl.java
Log:
Display information about output and source directories being used
Modified: trunk/jbossws-core/src/main/java/org/jboss/ws/tools/jaxws/impl/JBossWSProviderImpl.java
===================================================================
--- trunk/jbossws-core/src/main/java/org/jboss/ws/tools/jaxws/impl/JBossWSProviderImpl.java 2007-08-01 10:16:04 UTC (rev 4047)
+++ trunk/jbossws-core/src/main/java/org/jboss/ws/tools/jaxws/impl/JBossWSProviderImpl.java 2007-08-01 10:36:11 UTC (rev 4048)
@@ -76,6 +76,9 @@
createDirectories(resourceDir, sourceDir);
+ messageStream.println("Output directory: " + outputDir.getAbsolutePath());
+ messageStream.println("Source directory: " + sourceDir.getAbsolutePath());
+
// Create a dummy classloader to catch generated classes
ClassLoader loader = new URLClassLoader(new URL[0], this.loader);
UnifiedMetaData umd = new UnifiedMetaData(new ResourceLoaderAdapter(loader));
17 years, 5 months