[jboss-cvs] JBossAS SVN: r109178 - in branches/switchboard-integration: component-matrix and 11 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Fri Nov 5 12:44:32 EDT 2010
Author: jaikiran
Date: 2010-11-05 12:44:30 -0400 (Fri, 05 Nov 2010)
New Revision: 109178
Added:
branches/switchboard-integration/testsuite/src/resources/web/simple-xmlonly/jboss-service.xml
Removed:
branches/switchboard-integration/webservices/src/main/java/org/jboss/webservices/integration/injection/ServiceRefResourceProvider.java
Modified:
branches/switchboard-integration/build/build.xml
branches/switchboard-integration/component-matrix/pom.xml
branches/switchboard-integration/depchain/pom.xml
branches/switchboard-integration/server/pom.xml
branches/switchboard-integration/server/src/etc/deployers/switchboard-clustered-jboss-beans.xml
branches/switchboard-integration/server/src/etc/deployers/switchboard-jboss-beans.xml
branches/switchboard-integration/server/src/main/java/org/jboss/web/deployers/AbstractWarDeployer.java
branches/switchboard-integration/server/src/main/java/org/jboss/web/deployers/AbstractWarDeployment.java
branches/switchboard-integration/testsuite/imports/sections/web.xml
branches/switchboard-integration/testsuite/src/main/org/jboss/test/web/servlets/StandaloneENCAnnotationsServlet.java
branches/switchboard-integration/tomcat/src/main/java/org/jboss/web/tomcat/service/TomcatInjectionContainer.java
branches/switchboard-integration/tomcat/src/main/java/org/jboss/web/tomcat/service/deployers/TomcatDeployment.java
branches/switchboard-integration/webservices/pom.xml
Log:
JBAS-8548 JBAS-8549 (1) Integrate jboss-injection (2) Disable @Resource handler to allow SwitchBoard and jboss-injection to manage @Resource environment processing and injection in a web container (3) Temporarily revert Richard's WS commits which are causing build failures
Modified: branches/switchboard-integration/build/build.xml
===================================================================
--- branches/switchboard-integration/build/build.xml 2010-11-05 15:07:04 UTC (rev 109177)
+++ branches/switchboard-integration/build/build.xml 2010-11-05 16:44:30 UTC (rev 109178)
@@ -2111,7 +2111,10 @@
<fileset refid="org.jboss.injection:jboss-resolver-impl:jar"/>
<fileset refid="org.jboss.injection:jboss-switchboard-metadata:jar"/>
<fileset refid="org.jboss.injection:jboss-injection-switchboard-deployer:jar"/>
-
+ <fileset refid="org.jboss.injection:jboss-injection-injector:jar"/>
+ <fileset refid="org.jboss.injection:jboss-injection-mc-impl:jar"/>
+ <fileset refid="org.jboss.injection:jboss-injection-manager:jar"/>
+
<fileset refid="org.jboss.jpa:jboss-jpa-deployers:jar"/>
<fileset refid="org.jboss.jpa:jboss-jpa-vfs3:jar"/>
<fileset refid="org.jboss.jpa:jboss-jpa-impl:jar"/>
@@ -2566,6 +2569,15 @@
<fileset refid="org.jboss.jpa:jboss-jpa-mcint:jar"/>
<mapper refid="remove-versions"/>
</copy>
+
+ <!-- Copy jboss-injection jboss-beans.xml to deployers folder -->
+ <unjar src="${org.jboss.injection:jboss-injection-mc-impl:jar}" dest="${install.all.deployers}">
+ <patternset>
+ <include name="META-INF/jboss-injection-jboss-beans.xml"/>
+ </patternset>
+ <mapper type="flatten"/>
+ </unjar>
+
<!-- End varia stuff -->
</target>
Modified: branches/switchboard-integration/component-matrix/pom.xml
===================================================================
--- branches/switchboard-integration/component-matrix/pom.xml 2010-11-05 15:07:04 UTC (rev 109177)
+++ branches/switchboard-integration/component-matrix/pom.xml 2010-11-05 16:44:30 UTC (rev 109178)
@@ -49,6 +49,7 @@
<version.javax.faces>2.0.2-FCS</version.javax.faces>
<version.javax.validation>1.0.0.GA</version.javax.validation>
<version.jaxws-httpserver-httpspi>1.0.0.GA</version.jaxws-httpserver-httpspi>
+ <version.jboss.injection>1.0.0-alpha-1</version.jboss.injection>
<version.jboss.jaxr>2.0.1</version.jboss.jaxr>
<version.jboss.jbossts>4.11.0.Final</version.jboss.jbossts>
<version.jboss.jbossws-native>3.4.0.CR3</version.jboss.jbossws-native>
@@ -132,7 +133,7 @@
<version.org.jboss.shrinkwrap>1.0.0-alpha-11</version.org.jboss.shrinkwrap>
<version.org.jboss.slf4j>1.0.2.GA</version.org.jboss.slf4j>
<version.org.jboss.stdio>1.0.0.CR3</version.org.jboss.stdio>
- <version.org.jboss.switchboard.depchain>1.0.0-alpha-5</version.org.jboss.switchboard.depchain>
+ <version.org.jboss.switchboard.depchain>1.0.0-alpha-6</version.org.jboss.switchboard.depchain>
<version.org.jboss.threads>2.0.0.CR4</version.org.jboss.threads>
<version.org.jboss.vfs>3.0.0.CR5</version.org.jboss.vfs>
<version.org.jboss.weld>1.1.0.Beta1</version.org.jboss.weld>
@@ -2066,7 +2067,26 @@
<artifactId>jboss-switchboard-metadata</artifactId>
<version>${version.org.jboss.injection}</version>
</dependency>
+
+ <dependency>
+ <groupId>org.jboss.injection</groupId>
+ <artifactId>jboss-injection-manager</artifactId>
+ <version>${version.jboss.injection}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.injection</groupId>
+ <artifactId>jboss-injection-injector</artifactId>
+ <version>${version.jboss.injection}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.jboss.injection</groupId>
+ <artifactId>jboss-injection-mc-impl</artifactId>
+ <version>${version.jboss.injection}</version>
+ </dependency>
+
+
<dependency>
<groupId>org.jboss</groupId>
<artifactId>jboss-mdr</artifactId>
Modified: branches/switchboard-integration/depchain/pom.xml
===================================================================
--- branches/switchboard-integration/depchain/pom.xml 2010-11-05 15:07:04 UTC (rev 109177)
+++ branches/switchboard-integration/depchain/pom.xml 2010-11-05 16:44:30 UTC (rev 109178)
@@ -845,6 +845,19 @@
</exclusions>
</dependency>
<dependency>
+ <groupId>org.jboss.injection</groupId>
+ <artifactId>jboss-injection-injector</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.injection</groupId>
+ <artifactId>jboss-injection-mc-impl</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.jboss.injection</groupId>
+ <artifactId>jboss-injection-manager</artifactId>
+ </dependency>
+
+ <dependency>
<groupId>org.jboss.spec.javax.interceptor</groupId>
<artifactId>jboss-interceptors-api_1.1_spec</artifactId>
</dependency>
Modified: branches/switchboard-integration/server/pom.xml
===================================================================
--- branches/switchboard-integration/server/pom.xml 2010-11-05 15:07:04 UTC (rev 109177)
+++ branches/switchboard-integration/server/pom.xml 2010-11-05 16:44:30 UTC (rev 109178)
@@ -318,6 +318,10 @@
<groupId>org.jboss.injection</groupId>
<artifactId>jboss-switchboard-metadata</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.jboss.injection</groupId>
+ <artifactId>jboss-injection-mc-impl</artifactId>
+ </dependency>
<dependency>
<groupId>org.picketbox</groupId>
Modified: branches/switchboard-integration/server/src/etc/deployers/switchboard-clustered-jboss-beans.xml
===================================================================
--- branches/switchboard-integration/server/src/etc/deployers/switchboard-clustered-jboss-beans.xml 2010-11-05 15:07:04 UTC (rev 109177)
+++ branches/switchboard-integration/server/src/etc/deployers/switchboard-clustered-jboss-beans.xml 2010-11-05 16:44:30 UTC (rev 109178)
@@ -2,11 +2,11 @@
<deployment xmlns="urn:jboss:bean-deployer:2.0">
<!-- Deployers -->
- <bean name="WebENCOperatorDeployer" class="org.jboss.switchboard.mc.deployer.WebEnvironmentENCOperatorDeployer">
+ <bean name="org.jboss.switchboard.WebEnvironmentSwitchBoardDeployer" class="org.jboss.switchboard.mc.deployer.WebEnvironmentSwitchBoardDeployer">
<constructor><parameter class="org.jboss.reloaded.naming.deployers.javaee.JavaEEComponentInformer"><inject/></parameter></constructor>
</bean>
- <bean name="EJBENCOperatorDeployer" class="org.jboss.switchboard.mc.deployer.EJBEnvironmentENCOperatorDeployer">
+ <bean name="org.jboss.switchboard.EJBEnvironmentSwitchBoardDeployer" class="org.jboss.switchboard.mc.deployer.EJBEnvironmentSwitchBoardDeployer">
<constructor><parameter class="org.jboss.reloaded.naming.deployers.javaee.JavaEEComponentInformer"><inject/></parameter></constructor>
</bean>
Modified: branches/switchboard-integration/server/src/etc/deployers/switchboard-jboss-beans.xml
===================================================================
--- branches/switchboard-integration/server/src/etc/deployers/switchboard-jboss-beans.xml 2010-11-05 15:07:04 UTC (rev 109177)
+++ branches/switchboard-integration/server/src/etc/deployers/switchboard-jboss-beans.xml 2010-11-05 16:44:30 UTC (rev 109178)
@@ -2,11 +2,11 @@
<deployment xmlns="urn:jboss:bean-deployer:2.0">
<!-- Deployers -->
- <bean name="WebENCOperatorDeployer" class="org.jboss.switchboard.mc.deployer.WebEnvironmentENCOperatorDeployer">
+ <bean name="org.jboss.switchboard.WebEnvironmentSwitchBoardDeployer" class="org.jboss.switchboard.mc.deployer.WebEnvironmentSwitchBoardDeployer">
<constructor><parameter class="org.jboss.reloaded.naming.deployers.javaee.JavaEEComponentInformer"><inject/></parameter></constructor>
</bean>
- <bean name="EJBENCOperatorDeployer" class="org.jboss.switchboard.mc.deployer.EJBEnvironmentENCOperatorDeployer">
+ <bean name="org.jboss.switchboard.EJBEnvironmentSwitchBoardDeployer" class="org.jboss.switchboard.mc.deployer.EJBEnvironmentSwitchBoardDeployer">
<constructor><parameter class="org.jboss.reloaded.naming.deployers.javaee.JavaEEComponentInformer"><inject/></parameter></constructor>
</bean>
Modified: branches/switchboard-integration/server/src/main/java/org/jboss/web/deployers/AbstractWarDeployer.java
===================================================================
--- branches/switchboard-integration/server/src/main/java/org/jboss/web/deployers/AbstractWarDeployer.java 2010-11-05 15:07:04 UTC (rev 109177)
+++ branches/switchboard-integration/server/src/main/java/org/jboss/web/deployers/AbstractWarDeployer.java 2010-11-05 16:44:30 UTC (rev 109178)
@@ -39,6 +39,10 @@
import javax.management.ObjectName;
import org.jboss.beans.metadata.api.annotations.Inject;
+import org.jboss.beans.metadata.plugins.AbstractInjectionValueMetaData;
+import org.jboss.beans.metadata.plugins.builder.BeanMetaDataBuilderFactory;
+import org.jboss.beans.metadata.spi.BeanMetaData;
+import org.jboss.beans.metadata.spi.builder.BeanMetaDataBuilder;
import org.jboss.dependency.plugins.AbstractDependencyItem;
import org.jboss.dependency.spi.ControllerState;
import org.jboss.deployers.spi.DeploymentException;
@@ -48,8 +52,14 @@
import org.jboss.deployers.structure.spi.DeploymentUnit;
import org.jboss.deployers.structure.spi.main.MainDeployerInternals;
import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
-import org.jboss.ejb3.ejbref.resolver.spi.EjbReference;
import org.jboss.ejb3.ejbref.resolver.spi.EjbReferenceResolver;
+import org.jboss.injection.injector.metadata.EnvironmentEntryType;
+import org.jboss.injection.injector.metadata.InjectionTargetType;
+import org.jboss.injection.injector.metadata.JndiEnvironmentRefsGroup;
+import org.jboss.injection.manager.spi.InjectionManager;
+import org.jboss.injection.manager.spi.Injector;
+import org.jboss.injection.mc.injector.LazyEEInjector;
+import org.jboss.injection.mc.metadata.JndiEnvironmentImpl;
import org.jboss.jpa.resolvers.PersistenceUnitDependencyResolver;
import org.jboss.kernel.plugins.bootstrap.basic.KernelConstants;
import org.jboss.managed.api.ManagedObject;
@@ -63,17 +73,13 @@
import org.jboss.metadata.ear.jboss.JBossAppMetaData;
import org.jboss.metadata.ear.spec.ModuleMetaData;
import org.jboss.metadata.ear.spec.WebModuleMetaData;
-import org.jboss.metadata.javaee.spec.AnnotatedEJBReferenceMetaData;
-import org.jboss.metadata.javaee.spec.AnnotatedEJBReferencesMetaData;
-import org.jboss.metadata.javaee.spec.PersistenceContextReferenceMetaData;
-import org.jboss.metadata.javaee.spec.PersistenceContextReferencesMetaData;
-import org.jboss.metadata.javaee.spec.PersistenceUnitReferenceMetaData;
-import org.jboss.metadata.javaee.spec.PersistenceUnitReferencesMetaData;
+import org.jboss.metadata.javaee.spec.Environment;
import org.jboss.metadata.web.jboss.ClassLoadingMetaData;
import org.jboss.metadata.web.jboss.JBossWebMetaData;
import org.jboss.metadata.web.spec.WebMetaData;
import org.jboss.metatype.api.values.SimpleValueSupport;
import org.jboss.mx.util.MBeanServerLocator;
+import org.jboss.reloaded.naming.deployers.javaee.JavaEEComponentInformer;
import org.jboss.switchboard.spi.Barrier;
import org.jboss.system.metadata.ServiceAttributeMetaData;
import org.jboss.system.metadata.ServiceConstructorMetaData;
@@ -148,6 +154,8 @@
/** EJB reference resolver */
private EjbReferenceResolver ejbRefResolver;
+
+ private JavaEEComponentInformer componentInformer;
/**
* Create a new AbstractWarDeployer.
@@ -156,6 +164,7 @@
{
super(JBossWebMetaData.class);
addInput(Barrier.class);
+ addInput(InjectionManager.class);
setOutput(ServiceMetaData.class);
setOutput(WarDeployment.class);
}
@@ -284,7 +293,12 @@
this.ejbRefResolver = resolver;
}
-
+ @Inject
+ public void setJavaEEComponentInformer(JavaEEComponentInformer informer)
+ {
+ this.componentInformer = informer;
+ }
+
/** Get the session attribute number under which the caller Subject is stored
* @jmx:managed-attribute
*/
@@ -736,67 +750,44 @@
Barrier switchBoard = unit.getAttachment(Barrier.class);
if (switchBoard != null)
{
+ // Setup switchboard dependency on the deployment
ServiceDependencyMetaData switchBoardDependency = new ServiceDependencyMetaData();
switchBoardDependency.setIDependOn(switchBoard.getId());
dependencies.add(switchBoardDependency);
log.debug("Added switchboard dependency: " + switchBoard.getId() + " for web module: " + name);
}
+ // Injection Manager
+ InjectionManager injectionManager = unit.getAttachment(InjectionManager.class);
+ if (injectionManager != null)
+ {
+ // set the InjectionManager on the deployment
+ deployment.setInjectionManager(injectionManager);
+ // Setup the Injector
+ Environment webEnvironment = metaData.getJndiEnvironmentRefsGroup();
+ // convert JBMETA metadata to jboss-injection specific metadata
+ JndiEnvironmentRefsGroup jndiEnvironment = new JndiEnvironmentImpl(webEnvironment, unit.getClassLoader());
+ // For optimization, we'll create an Injector only if there's atleast one InjectionTarget
+ if (this.hasInjectionTargets(jndiEnvironment))
+ {
+ // create the injector
+ LazyEEInjector lazyEEInjector = new LazyEEInjector(jndiEnvironment);
+ // add the injector the injection manager
+ injectionManager.addInjector(lazyEEInjector);
+ // Deploy the Injector as a MC bean (so that the fully populated naming context (obtained via the SwitchBoard
+ // Barrier) gets injected.
+ String injectorMCBeanName = this.getInjectorMCBeanName(unit);
+ BeanMetaData injectorBMD = this.createInjectorBMD(injectorMCBeanName, lazyEEInjector, switchBoard);
+ unit.addAttachment(BeanMetaData.class + ":" + injectorMCBeanName, injectorBMD);
+
+ // Add the Injector dependency on the deployment (so that the DU doesn't
+ // get started till the Injector is available)
+ ServiceDependencyMetaData injectorDepdendency = new ServiceDependencyMetaData();
+ injectorDepdendency.setIDependOn(injectorMCBeanName);
+ dependencies.add(injectorDepdendency);
+ log.debug("Added Injector dependency: " + injectorMCBeanName + " for web module: " + name);
+ }
+ }
-// JBAS-6795 Add dependency on PersistenceUnit references
-// PersistenceUnitReferencesMetaData puRefs = metaData.getPersistenceUnitRefs();
-// if (puRefs != null)
-// {
-// for (PersistenceUnitReferenceMetaData puRef : metaData.getPersistenceUnitRefs())
-// {
-// // TODO: this is a duplication of the logic in PersistenceUnitHandler
-// String persistenceUnitName = puRef.getPersistenceUnitName();
-// String beanName = persistenceUnitDependencyResolver.resolvePersistenceUnitSupplier(unit, persistenceUnitName);
-// ServiceDependencyMetaData sdmd = new ServiceDependencyMetaData();
-// sdmd.setIDependOn(beanName);
-// dependencies.add(sdmd);
-// }
-// }
-//
-// // JBAS-6795 Add dependency on PersistenceContext references
-// PersistenceContextReferencesMetaData pcRefs = metaData.getPersistenceContextRefs();
-// if (pcRefs != null)
-// {
-// for (PersistenceContextReferenceMetaData pcRef : metaData.getPersistenceContextRefs())
-// {
-// // TODO: this is a duplication of the logic in PersistenceContextHandler
-// String persistenceUnitName = pcRef.getPersistenceUnitName();
-// String beanName = persistenceUnitDependencyResolver.resolvePersistenceUnitSupplier(unit, persistenceUnitName);
-// ServiceDependencyMetaData sdmd = new ServiceDependencyMetaData();
-// sdmd.setIDependOn(beanName);
-// dependencies.add(sdmd);
-// }
-// }
-//
-// // JBAS-8406 Add dependency on @EJB(s). This is a bit of duplicacy, since the TomcatInjectionContainer
-// // through various handler would also do the same. But since the TomcatInjectionContainer comes too late
-// // in the picture and since we already have similar duplicacy for @PersistenceContext and @PersistenceUnit (see few lines
-// // above) and more importantly, since this works, let's just have it here.
-// if (metaData.getJndiEnvironmentRefsGroup() != null)
-// {
-// AnnotatedEJBReferencesMetaData annotatedEjbRefs = metaData.getJndiEnvironmentRefsGroup().getAnnotatedEjbReferences();
-// if (annotatedEjbRefs != null && !annotatedEjbRefs.isEmpty())
-// {
-// for (AnnotatedEJBReferenceMetaData annotatedEjbRef : annotatedEjbRefs)
-// {
-// // Note: @EJB(beanName="") is set as "link" in AnnotatedEJBReferenceMetadata.
-// // Hence, we use the getLink() method to get hold of the beanName during resolution.
-// String beanName = annotatedEjbRef.getLink();
-// EjbReference ejbReference = new EjbReference(beanName, annotatedEjbRef.getBeanInterface().getName(), annotatedEjbRef.getMappedName());
-// String jndiName = this.ejbRefResolver.resolveEjb(unit, ejbReference);
-// if (jndiName != null)
-// {
-// ServiceDependencyMetaData sdmd = this.createJNDIDependency(jndiName);
-// dependencies.add(sdmd);
-// }
-// }
-// }
-// }
-
webModule.setDependencies(dependencies);
@@ -917,4 +908,77 @@
visitor.visit(this);
}
}
+
+ /**
+ * Creates and returns {@link BeanMetaData} for the passed {@link LazyEEInjector injector} and sets up
+ * dependency on the passed {@link Barrier SwitchBoard barrier}.
+ *
+ * @param injectorMCBeanName
+ * @param injector
+ * @param barrier
+ * @return
+ */
+ protected BeanMetaData createInjectorBMD(String injectorMCBeanName, LazyEEInjector injector, Barrier barrier)
+ {
+ BeanMetaDataBuilder builder = BeanMetaDataBuilderFactory.createBuilder(injectorMCBeanName, injector.getClass().getName());
+ builder.setConstructorValue(injector);
+
+ // add injection dependency on INSTALLED state of SwitchBoard Barrier
+ AbstractInjectionValueMetaData barrierInjection = new AbstractInjectionValueMetaData(barrier.getId());
+ barrierInjection.setDependentState(ControllerState.INSTALLED);
+ builder.addPropertyMetaData("barrier", barrierInjection);
+
+ // return the Injector BMD
+ return builder.getBeanMetaData();
+ }
+
+
+ /**
+ * Returns the MC bean name for a {@link Injector injector} belonging to the
+ * {@link InjectionManager InjectionManager} for the passed {@link DeploymentUnit deployment unit}
+ *
+ * @param unit
+ * @return
+ */
+ protected String getInjectorMCBeanName(DeploymentUnit unit)
+ {
+ StringBuilder sb = new StringBuilder("jboss-injector:");
+ String appName = this.componentInformer.getApplicationName(unit);
+ if (appName != null)
+ {
+ sb.append("appName=");
+ sb.append(appName);
+ sb.append(",");
+ }
+ String moduleName = this.componentInformer.getModuleName(unit);
+ sb.append("module=");
+ sb.append(moduleName);
+
+ return sb.toString();
+ }
+
+ /**
+ * Returns true if the passed {@link JndiEnvironmentRefsGroup} has atleast one {@link EnvironmentEntryType environment entry}
+ * with an {@link InjectionTargetType injection target}. Else, returns false
+ *
+ * @param jndiEnv
+ * @return
+ */
+ private boolean hasInjectionTargets(JndiEnvironmentRefsGroup jndiEnv)
+ {
+ Collection<EnvironmentEntryType> envEntries = jndiEnv.getEntries();
+ if (envEntries == null || envEntries.isEmpty())
+ {
+ return false;
+ }
+ for (EnvironmentEntryType envEntry : envEntries)
+ {
+ Collection<InjectionTargetType> injectionTargets = envEntry.getInjectionTargets();
+ if (injectionTargets != null && !injectionTargets.isEmpty())
+ {
+ return true;
+ }
+ }
+ return false;
+ }
}
Modified: branches/switchboard-integration/server/src/main/java/org/jboss/web/deployers/AbstractWarDeployment.java
===================================================================
--- branches/switchboard-integration/server/src/main/java/org/jboss/web/deployers/AbstractWarDeployment.java 2010-11-05 15:07:04 UTC (rev 109177)
+++ branches/switchboard-integration/server/src/main/java/org/jboss/web/deployers/AbstractWarDeployment.java 2010-11-05 16:44:30 UTC (rev 109178)
@@ -42,6 +42,7 @@
import org.jboss.deployers.structure.spi.main.MainDeployerInternals;
import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
import org.jboss.ejb.EjbUtil50;
+import org.jboss.injection.manager.spi.InjectionManager;
import org.jboss.jpa.resolvers.PersistenceUnitDependencyResolver;
import org.jboss.kernel.Kernel;
import org.jboss.logging.Logger;
@@ -143,6 +144,11 @@
protected ISecurityManagement securityManagement;
private PersistenceUnitDependencyResolver persistenceUnitDependencyResolver;
+
+ /**
+ * Injection manager
+ */
+ private InjectionManager injectionManager;
public AbstractWarDeployment()
{
@@ -308,6 +314,16 @@
{
this.persistenceUnitDependencyResolver = resolver;
}
+
+ public void setInjectionManager(InjectionManager injectionManager)
+ {
+ this.injectionManager = injectionManager;
+ }
+
+ public InjectionManager getInjectionManager()
+ {
+ return this.injectionManager;
+ }
/**
* Get the Policy Registration Name
Modified: branches/switchboard-integration/testsuite/imports/sections/web.xml
===================================================================
--- branches/switchboard-integration/testsuite/imports/sections/web.xml 2010-11-05 15:07:04 UTC (rev 109177)
+++ branches/switchboard-integration/testsuite/imports/sections/web.xml 2010-11-05 16:44:30 UTC (rev 109178)
@@ -720,7 +720,10 @@
<classes dir="${build.classes}">
<include name="org/jboss/test/web/servlets/StandaloneENCAnnotationsServlet.class"/>
<include name="org/jboss/test/web/servlets/ENCTester.class"/>
- </classes>
+ </classes>
+ <webinf dir="${build.resources}/web/simple-xmlonly">
+ <include name="jboss-service.xml"/>
+ </webinf>
</war>
<jar destfile="${build.lib}/simple-mock.beans">
<zipfileset dir="${build.resources}/web/simple-xmlonly"
Modified: branches/switchboard-integration/testsuite/src/main/org/jboss/test/web/servlets/StandaloneENCAnnotationsServlet.java
===================================================================
--- branches/switchboard-integration/testsuite/src/main/org/jboss/test/web/servlets/StandaloneENCAnnotationsServlet.java 2010-11-05 15:07:04 UTC (rev 109177)
+++ branches/switchboard-integration/testsuite/src/main/org/jboss/test/web/servlets/StandaloneENCAnnotationsServlet.java 2010-11-05 16:44:30 UTC (rev 109178)
@@ -77,7 +77,7 @@
mappedName="jbosstest/ejbs/local/ENCBean1")
StatelessSessionLocalHome localHome;
- @Resource(name="url/JBossHome", mappedName="http://www.jboss.org")
+ @Resource(name="url/JBossHome", mappedName="java:SomeWebSite")
java.net.URL url;
@Resource(name="Ints/i0", mappedName="0")
Added: branches/switchboard-integration/testsuite/src/resources/web/simple-xmlonly/jboss-service.xml
===================================================================
--- branches/switchboard-integration/testsuite/src/resources/web/simple-xmlonly/jboss-service.xml (rev 0)
+++ branches/switchboard-integration/testsuite/src/resources/web/simple-xmlonly/jboss-service.xml 2010-11-05 16:44:30 UTC (rev 109178)
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<mbean code="org.jboss.naming.JNDIBindingServiceMgr" name="jboss.apps:name=myapp">
+ <attribute name="BindingsConfig" serialDataType="jbxb">
+ <jndi:bindings xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:jndi="urn:jboss:jndi-binding-service:1.0"
+ xs:schemaLocation="urn:jboss:jndi-binding-service resource:jndi-binding-service_1_0.xsd">
+ <!-- bind to java:SomeWebSite jndi name which is referenced in jboss-web.xml
+ via a resource-ref entry -->
+ <jndi:binding name="java:SomeWebSite">
+ <jndi:value type="java.net.URL">http://www.jboss.org</jndi:value>
+ </jndi:binding>
+
+ </jndi:bindings>
+ </attribute>
+</mbean>
Modified: branches/switchboard-integration/tomcat/src/main/java/org/jboss/web/tomcat/service/TomcatInjectionContainer.java
===================================================================
--- branches/switchboard-integration/tomcat/src/main/java/org/jboss/web/tomcat/service/TomcatInjectionContainer.java 2010-11-05 15:07:04 UTC (rev 109177)
+++ branches/switchboard-integration/tomcat/src/main/java/org/jboss/web/tomcat/service/TomcatInjectionContainer.java 2010-11-05 16:44:30 UTC (rev 109178)
@@ -38,7 +38,6 @@
import java.util.Set;
import javax.naming.Context;
-import javax.naming.InitialContext;
import javax.naming.NameNotFoundException;
import javax.naming.NamingException;
import javax.servlet.Filter;
@@ -55,6 +54,8 @@
import org.jboss.ejb3.deployers.JBoss5DependencyPolicy;
import org.jboss.ejb3.javaee.AbstractJavaEEComponent;
import org.jboss.ejb3.javaee.SimpleJavaEEModule;
+import org.jboss.ejb3.vfs.impl.vfs3.VirtualFileWrapper;
+import org.jboss.ejb3.vfs.spi.VirtualFile;
import org.jboss.injection.DependsHandler;
import org.jboss.injection.EncInjector;
import org.jboss.injection.ExtendedInjectionContainer;
@@ -62,18 +63,16 @@
import org.jboss.injection.Injector;
import org.jboss.injection.PersistenceContextHandler;
import org.jboss.injection.PersistenceUnitHandler;
+import org.jboss.injection.manager.spi.InjectionManager;
import org.jboss.jpa.resolvers.PersistenceUnitDependencyResolver;
import org.jboss.logging.Logger;
import org.jboss.metadata.javaee.spec.Environment;
import org.jboss.metadata.javaee.spec.LifecycleCallbackMetaData;
import org.jboss.metadata.web.jboss.JBossWebMetaData;
-import org.jboss.ejb3.vfs.spi.VirtualFile;
-import org.jboss.ejb3.vfs.impl.vfs3.VirtualFileWrapper;
import org.jboss.reloaded.naming.spi.JavaEEComponent;
import org.jboss.web.WebApplication;
import org.jboss.web.tomcat.service.injection.TomcatInjectionUtils;
import org.jboss.web.tomcat.service.injection.WebEJBHandler;
-import org.jboss.web.tomcat.service.injection.WebResourceHandler;
import org.jboss.web.tomcat.service.injection.WebServiceRefInjectionHandler;
/**
@@ -145,6 +144,11 @@
private List<Injector> defaultInjectors;
// the naming component counter-part
private JavaEEComponent component;
+
+ /**
+ * Injection Manager
+ */
+ private InjectionManager injectionManager;
static
@@ -201,7 +205,7 @@
}
public TomcatInjectionContainer(WebApplication appInfo, DeploymentUnit unit, org.apache.catalina.Context catalinaContext,
- PersistenceUnitDependencyResolver resolver, Set<String> dynamicClassLoaders, JavaEEComponent component)
+ PersistenceUnitDependencyResolver resolver, Set<String> dynamicClassLoaders, JavaEEComponent component, InjectionManager injectionManager)
{
super(new SimpleJavaEEModule(appInfo.getName()));
@@ -219,7 +223,9 @@
assert this.webDD != null : "webDD is null (no JBossWebMetaData attachment in VFSDeploymentUnit)";
this.component = component;
+ this.injectionManager = injectionManager;
}
+
public void setDefaultInjectors(List<Injector> injectors)
{
@@ -382,18 +388,19 @@
{
allInjectors.addAll(defaultInjectors);
}
- if (allInjectors.size() == 0)
- {
- if (trace)
- log.trace("-- no injectors found for: " + object);
- return;
- }
if (trace)
log.trace("-- doing injections for: " + object);
for (Injector injector : allInjectors)
{
injector.inject(object);
}
+ // TODO: Ultimately, once the injection is completely
+ // managed by InjectionManager, we should get rid of all other injectors
+ // used in this method (maybe except for "defaultInjectors") and instead
+ // just use the InjectionManager
+ // Use the InjectionManager
+ this.injectionManager.inject(object);
+
}
/**
@@ -481,7 +488,7 @@
return injectors;
}
-
+
/**
* Check if the class is a dynamic bean.
*
@@ -580,7 +587,9 @@
{
log.debug("JPA injection disabled", e);
}
- handlers.add(new WebResourceHandler<Environment>());
+ // Disable @Resource handler, since it's now handled by switchboard/jboss-injection
+ // combination
+ //handlers.add(new WebResourceHandler<Environment>());
try
{
handlers.add(new WebServiceRefInjectionHandler<Environment>());
Modified: branches/switchboard-integration/tomcat/src/main/java/org/jboss/web/tomcat/service/deployers/TomcatDeployment.java
===================================================================
--- branches/switchboard-integration/tomcat/src/main/java/org/jboss/web/tomcat/service/deployers/TomcatDeployment.java 2010-11-05 15:07:04 UTC (rev 109177)
+++ branches/switchboard-integration/tomcat/src/main/java/org/jboss/web/tomcat/service/deployers/TomcatDeployment.java 2010-11-05 16:44:30 UTC (rev 109178)
@@ -198,7 +198,7 @@
TomcatInjectionContainer injectionContainer =
new TomcatInjectionContainer(webApp, depUnit, context,
- getPersistenceUnitDependencyResolver(), config.getDynamicClassloaders(), component);
+ getPersistenceUnitDependencyResolver(), config.getDynamicClassloaders(), component, this.getInjectionManager());
if (kernel != null)
{
Modified: branches/switchboard-integration/webservices/pom.xml
===================================================================
--- branches/switchboard-integration/webservices/pom.xml 2010-11-05 15:07:04 UTC (rev 109177)
+++ branches/switchboard-integration/webservices/pom.xml 2010-11-05 16:44:30 UTC (rev 109178)
@@ -83,14 +83,6 @@
</dependency>
<!-- jboss provided dependencies -->
<dependency>
- <groupId>org.jboss.switchboard</groupId>
- <artifactId>jboss-switchboard-spi</artifactId>
- </dependency>
- <dependency>
- <groupId>org.jboss.switchboard</groupId>
- <artifactId>jboss-switchboard-javaee</artifactId>
- </dependency>
- <dependency>
<groupId>org.jboss.spec.javax.xml.ws</groupId>
<artifactId>jboss-jaxws-api_2.2_spec</artifactId>
<scope>provided</scope>
Deleted: branches/switchboard-integration/webservices/src/main/java/org/jboss/webservices/integration/injection/ServiceRefResourceProvider.java
===================================================================
--- branches/switchboard-integration/webservices/src/main/java/org/jboss/webservices/integration/injection/ServiceRefResourceProvider.java 2010-11-05 15:07:04 UTC (rev 109177)
+++ branches/switchboard-integration/webservices/src/main/java/org/jboss/webservices/integration/injection/ServiceRefResourceProvider.java 2010-11-05 16:44:30 UTC (rev 109178)
@@ -1,425 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2010, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file in the
- * distribution for a full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.webservices.integration.injection;
-
-import java.util.Collection;
-import java.util.List;
-import java.util.Map;
-
-import javax.naming.Referenceable;
-import javax.xml.namespace.QName;
-
-import org.jboss.deployers.structure.spi.DeploymentUnit;
-import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
-import org.jboss.logging.Logger;
-import org.jboss.metadata.serviceref.VirtualFileAdaptor;
-import org.jboss.switchboard.javaee.environment.Addressing;
-import org.jboss.switchboard.javaee.environment.Handler;
-import org.jboss.switchboard.javaee.environment.HandlerChainType;
-import org.jboss.switchboard.javaee.environment.PortComponent;
-import org.jboss.switchboard.javaee.environment.ServiceRefType;
-import org.jboss.switchboard.javaee.jboss.environment.JBossPortComponentRefType;
-import org.jboss.switchboard.javaee.jboss.environment.JBossServiceRefType;
-import org.jboss.switchboard.mc.spi.MCBasedResourceProvider;
-import org.jboss.switchboard.spi.Resource;
-import org.jboss.wsf.common.ResourceLoaderAdapter;
-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.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.ServiceRefHandler;
-import org.jboss.wsf.spi.serviceref.ServiceRefHandlerFactory;
-
-/**
- * Service reference resource provider.
- *
- * Conventions used in this source code are:
- * <ul>
- * <li>SBMD - switch board meta data</li>
- * <li>UMDM - jbossws unified meta data model</li>
- * </ul>
- *
- * @author alessio.soldano at jboss.com
- * @author <a href="mailto:ropalka at redhat.com">Richard Opalka</a>
- */
-public final class ServiceRefResourceProvider implements MCBasedResourceProvider<ServiceRefType>
-{
-
- private static final Logger log = Logger.getLogger(ServiceRefResourceProvider.class);
-
- private ServiceRefHandler delegate;
-
- /**
- * Constructor.
- */
- public ServiceRefResourceProvider()
- {
- final SPIProvider spiProvider = SPIProviderResolver.getInstance().getProvider();
- this.delegate = spiProvider.getSPI(ServiceRefHandlerFactory.class).getServiceRefHandler();
- }
-
- /**
- * Provides service ref resource.
- */
- @Override
- public Resource provide(final DeploymentUnit deploymentUnit, final ServiceRefType serviceRefSBMD)
- {
- final UnifiedVirtualFile vfsRoot = this.getUnifiedVirtualFile(deploymentUnit);
- final UnifiedServiceRefMetaData serviceRefUMDM = this.getUnifiedServiceRefMetaData(vfsRoot, serviceRefSBMD);
- final Referenceable jndiReferenceable = this.delegate.createReferenceable(serviceRefUMDM);
-
- return new ServiceRefResource(jndiReferenceable);
- }
-
- /**
- * Inform about type this resource handler can handle.
- *
- * @return handled type
- */
- @Override
- public Class<ServiceRefType> getEnvironmentEntryType()
- {
- return ServiceRefType.class;
- }
-
- /**
- * Constructs vfs root from deployment unit.
- *
- * @param deploymentUnit
- * @return vfs root
- */
- private UnifiedVirtualFile getUnifiedVirtualFile(final DeploymentUnit deploymentUnit)
- {
- if (deploymentUnit instanceof VFSDeploymentUnit)
- {
- return new VirtualFileAdaptor(((VFSDeploymentUnit) deploymentUnit).getRoot());
- }
- else
- {
- return new ResourceLoaderAdapter(deploymentUnit.getClassLoader());
- }
- }
-
- /**
- * Translates service ref switchboard meta data to JBossWS unified service ref meta data.
- *
- * @param vfsRoot virtual file system root
- * @param serviceRefSBMD service reference switchboard meta data
- * @return unified jbossws service reference meta data
- */
- private UnifiedServiceRefMetaData getUnifiedServiceRefMetaData(final UnifiedVirtualFile vfsRoot,
- final ServiceRefType serviceRefSBMD)
- {
- final UnifiedServiceRefMetaData serviceRefUMDM = new UnifiedServiceRefMetaData(vfsRoot);
- serviceRefUMDM.setServiceRefName(serviceRefSBMD.getServiceRefName());
- serviceRefUMDM.setServiceRefType(serviceRefSBMD.getType());
- serviceRefUMDM.setServiceInterface(serviceRefSBMD.getServiceInterface());
- serviceRefUMDM.setWsdlFile(serviceRefSBMD.getWsdlFile());
- serviceRefUMDM.setMappingFile(serviceRefSBMD.getMappingFile());
- serviceRefUMDM.setServiceQName(serviceRefSBMD.getQName());
- serviceRefUMDM.setHandlerChain(serviceRefSBMD.getHandlerChain());
-
- // propagate addressing properties
- serviceRefUMDM.setAddressingEnabled(serviceRefSBMD.isAddressingEnabled());
- serviceRefUMDM.setAddressingRequired(serviceRefSBMD.isAddressingRequired());
- serviceRefUMDM.setAddressingResponses(serviceRefSBMD.getAddressingResponses());
-
- // propagate MTOM properties
- serviceRefUMDM.setMtomEnabled(serviceRefSBMD.isMtomEnabled());
- serviceRefUMDM.setMtomThreshold(serviceRefSBMD.getMtomThreshold());
-
- // propagate respect binding properties
- serviceRefUMDM.setRespectBindingEnabled(serviceRefSBMD.isRespectBindingEnabled());
-
- // propagate port compoments
- final Collection<? extends PortComponent> portComponentsSBMD = serviceRefSBMD.getPortComponents();
- if (portComponentsSBMD != null)
- {
- for (final PortComponent portComponentSBMD : portComponentsSBMD)
- {
- final UnifiedPortComponentRefMetaData portComponentUMDM = this.getUnifiedPortComponentRefMetaData(
- serviceRefUMDM, portComponentSBMD);
- if (portComponentUMDM.getServiceEndpointInterface() != null || portComponentUMDM.getPortQName() != null)
- {
- serviceRefUMDM.addPortComponentRef(portComponentUMDM);
- }
- else
- {
- log.warn("Ignoring <port-component-ref> without <service-endpoint-interface> and <port-qname>: "
- + portComponentUMDM);
- }
- }
- }
-
- // propagate handlers
- final Collection<Handler> handlersSBMD = serviceRefSBMD.getHandlers();
- if (handlersSBMD != null)
- {
- for (final Handler handlerSBMD : handlersSBMD)
- {
- final UnifiedHandlerMetaData handlerUMDM = this.getUnifiedHandlerMetaData(handlerSBMD);
- serviceRefUMDM.addHandler(handlerUMDM);
- }
- }
-
- // propagate handler chains
- final List<HandlerChainType> handlerChainsSBMD = serviceRefSBMD.getHandlerChains();
- if (handlerChainsSBMD != null)
- {
- final UnifiedHandlerChainsMetaData handlerChainsUMDM = this.getUnifiedHandlerChainsMetaData(handlerChainsSBMD);
- serviceRefUMDM.setHandlerChains(handlerChainsUMDM);
- }
-
- // propagate jboss specific MD
- if (serviceRefSBMD instanceof JBossServiceRefType)
- {
- this.processUnifiedJBossServiceRefMetaData(serviceRefUMDM, serviceRefSBMD);
- }
-
- return serviceRefUMDM;
- }
-
- /**
- * Translates jboss service ref switchboard meta data to JBossWS unified service ref meta data.
- *
- * @param serviceRefUMDM service reference unified meta data
- * @param serviceRefSBMD service reference switchboard meta data
- */
- private void processUnifiedJBossServiceRefMetaData(final UnifiedServiceRefMetaData serviceRefUMDM,
- final ServiceRefType serviceRefSBMD)
- {
- final JBossServiceRefType jbossServiceRefSBMD = (JBossServiceRefType) serviceRefSBMD;
- serviceRefUMDM.setServiceImplClass(jbossServiceRefSBMD.getServiceClass());
- serviceRefUMDM.setConfigName(jbossServiceRefSBMD.getConfigName());
- serviceRefUMDM.setConfigFile(jbossServiceRefSBMD.getConfigFile());
- serviceRefUMDM.setWsdlOverride(jbossServiceRefSBMD.getWsdlOverride());
- serviceRefUMDM.setHandlerChain(jbossServiceRefSBMD.getHandlerChain());
- }
-
- /**
- * Translates handler chains switchboard meta data to JBossWS unified handler chains meta data.
- *
- * @param handlerChainsSBMD handler chains switchboard meta data
- * @return handler chains JBossWS unified meta data
- */
- private UnifiedHandlerChainsMetaData getUnifiedHandlerChainsMetaData(final List<HandlerChainType> handlerChainsSBMD)
- {
- final UnifiedHandlerChainsMetaData handlerChainsUMDM = new UnifiedHandlerChainsMetaData();
-
- for (final HandlerChainType handlerChainSBMD : handlerChainsSBMD)
- {
- final UnifiedHandlerChainMetaData handlerChainUMDM = new UnifiedHandlerChainMetaData();
- handlerChainUMDM.setServiceNamePattern(handlerChainSBMD.getServiceNamePattern());
- handlerChainUMDM.setPortNamePattern(handlerChainSBMD.getPortNamePattern());
- handlerChainUMDM.setProtocolBindings(handlerChainSBMD.getProtocolBindings());
-
- final List<Handler> handlersSBMD = handlerChainSBMD.getHandlers();
- for (final Handler handlerSBMD : handlersSBMD)
- {
- final UnifiedHandlerMetaData handlerUMDM = getUnifiedHandlerMetaData(handlerSBMD);
- handlerChainUMDM.addHandler(handlerUMDM);
- }
-
- handlerChainsUMDM.addHandlerChain(handlerChainUMDM);
- }
-
- return handlerChainsUMDM;
- }
-
- /**
- * Translates handler switchboard meta data to JBossWS unified handler meta data.
- *
- * @param handlerSBMD handler switchboard meta data
- * @return handler JBossWS unified meta data
- */
- private UnifiedHandlerMetaData getUnifiedHandlerMetaData(final Handler handlerSBMD)
- {
- final UnifiedHandlerMetaData handlerUMDM = new UnifiedHandlerMetaData();
- handlerUMDM.setHandlerName(handlerSBMD.getHandlerName());
- handlerUMDM.setHandlerClass(handlerSBMD.getHandlerClass());
-
- // translate handler init params
- final Map<String, String> handlerInitParamsSBMD = handlerSBMD.getInitParams();
- if (handlerInitParamsSBMD != null)
- {
- for (final String initParamName : handlerInitParamsSBMD.keySet())
- {
- final UnifiedInitParamMetaData handlerInitParamUMDM = new UnifiedInitParamMetaData();
- handlerInitParamUMDM.setParamName(initParamName);
- handlerInitParamUMDM.setParamValue(handlerInitParamsSBMD.get(initParamName));
- handlerUMDM.addInitParam(handlerInitParamUMDM);
- }
- }
-
- // translate handler soap headers
- final Collection<QName> handlerSoapHeadersSBDM = handlerSBMD.getSoapHeaders();
- if (handlerSoapHeadersSBDM != null)
- {
- for (final QName soapHeader : handlerSoapHeadersSBDM)
- {
- handlerUMDM.addSoapHeader(soapHeader);
- }
- }
-
- // translate handler soap roles
- final Collection<String> handlerSoapRolesSBMD = handlerSBMD.getSoapRoles();
- if (handlerSoapRolesSBMD != null)
- {
- for (final String soapRole : handlerSoapRolesSBMD)
- {
- handlerUMDM.addSoapRole(soapRole);
- }
- }
-
- // translate handler port names
- final Collection<String> handlerPortNamesSBMD = handlerSBMD.getPortNames();
- if (handlerPortNamesSBMD != null)
- {
- for (final String portName : handlerPortNamesSBMD)
- {
- handlerUMDM.addPortName(portName);
- }
- }
-
- return handlerUMDM;
- }
-
- /**
- * Translates port component ref switchboard meta data to JBossWS unified port component ref meta data.
- *
- * @param serviceRefUMDM service ref unified meta data
- * @param portComponentSBMD port component ref switchboard meta data
- * @return port component ref unified meta data
- */
- private UnifiedPortComponentRefMetaData getUnifiedPortComponentRefMetaData(
- final UnifiedServiceRefMetaData serviceRefUMDM, final PortComponent portComponentSBMD)
- {
- final UnifiedPortComponentRefMetaData portComponentUMDM = new UnifiedPortComponentRefMetaData(serviceRefUMDM);
-
- // propagate service endpoint interface
- portComponentUMDM.setServiceEndpointInterface(portComponentSBMD.getEndpointInterface());
-
- // propagate MTOM properties
- portComponentUMDM.setMtomEnabled(portComponentSBMD.isMtomEnabled());
- portComponentUMDM.setMtomThreshold(portComponentSBMD.getMtomThreshold());
-
- // propagate addressing properties
- final Addressing addressingSBMD = portComponentSBMD.getAddressing();
- if (addressingSBMD != null)
- {
- portComponentUMDM.setAddressingEnabled(addressingSBMD.isEnabled());
- portComponentUMDM.setAddressingRequired(addressingSBMD.isRequired());
- portComponentUMDM.setAddressingResponses(addressingSBMD.getResponses());
- }
-
- // propagate respect binding properties
- portComponentUMDM.setRespectBindingEnabled(portComponentSBMD.isRespectBindingEnabled());
-
- // propagate link
- portComponentUMDM.setPortComponentLink(portComponentSBMD.getLink());
-
- // propagate jboss specific MD
- if (portComponentSBMD instanceof JBossPortComponentRefType)
- {
- this.processUnifiedJBossPortComponentRefMetaData(portComponentUMDM, portComponentSBMD);
- }
-
- return portComponentUMDM;
- }
-
- /**
- * Translates jboss port component ref switchboard meta data to JBossWS unified port component ref meta data.
- *
- * @param portComponentUMDM port component unified meta data
- * @param portComponentSBMD port component switchboard meta data
- */
- private void processUnifiedJBossPortComponentRefMetaData(final UnifiedPortComponentRefMetaData portComponentUMDM,
- final PortComponent portComponentSBMD)
- {
- final JBossPortComponentRefType jbossPortComponentSBMD = (JBossPortComponentRefType) portComponentSBMD;
-
- // propagate port QName
- portComponentUMDM.setPortQName(jbossPortComponentSBMD.getPortQName());
-
- // propagate configuration properties
- portComponentUMDM.setConfigName(jbossPortComponentSBMD.getConfigName());
- portComponentUMDM.setConfigFile(jbossPortComponentSBMD.getConfigFile());
-
- // propagate stub properties
- final Map<String, String> stubPropertiesSBMD = jbossPortComponentSBMD.getStubProperties();
- if (stubPropertiesSBMD != null)
- {
- for (final String propertyName : stubPropertiesSBMD.keySet())
- {
- final UnifiedStubPropertyMetaData stubPropertyUMDM = new UnifiedStubPropertyMetaData();
- stubPropertyUMDM.setPropName(propertyName);
- stubPropertyUMDM.setPropValue(stubPropertiesSBMD.get(propertyName));
- portComponentUMDM.addStubProperty(stubPropertyUMDM);
- }
- }
-
- // propagate call properties
- final Map<String, String> callPropertiesSBMD = jbossPortComponentSBMD.getCallProperties();
- if (callPropertiesSBMD != null)
- {
- for (final String propertyName : callPropertiesSBMD.keySet())
- {
- final UnifiedCallPropertyMetaData callPropertyUMDM = new UnifiedCallPropertyMetaData();
- callPropertyUMDM.setPropName(propertyName);
- callPropertyUMDM.setPropValue(callPropertiesSBMD.get(propertyName));
- portComponentUMDM.addCallProperty(callPropertyUMDM);
- }
- }
- }
-
- /**
- * Switchboard service ref resource.
- */
- private static final class ServiceRefResource implements Resource
- {
- private final Referenceable target;
-
- private ServiceRefResource(final Referenceable target)
- {
- this.target = target;
- }
-
- @Override
- public Object getDependency()
- {
- return null;
- }
-
- @Override
- public Object getTarget()
- {
- return this.target;
- }
- }
-}
More information about the jboss-cvs-commits
mailing list