[jboss-cvs] JBossAS SVN: r99892 - in branches/jaxrpc-cxf/webservices/src: main/java/org/jboss/webservices/integration/injection and 4 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Mon Jan 25 05:41:00 EST 2010
Author: alessio.soldano at jboss.com
Date: 2010-01-25 05:40:59 -0500 (Mon, 25 Jan 2010)
New Revision: 99892
Modified:
branches/jaxrpc-cxf/webservices/src/main/java/org/jboss/webservices/integration/deployers/WSAspectizedDeployersFactory.java
branches/jaxrpc-cxf/webservices/src/main/java/org/jboss/webservices/integration/deployers/WSDeploymentAspectDeployer.java
branches/jaxrpc-cxf/webservices/src/main/java/org/jboss/webservices/integration/injection/InjectionMetaDataDeploymentAspect.java
branches/jaxrpc-cxf/webservices/src/main/java/org/jboss/webservices/integration/metadata/ContainerMetaDataDeploymentAspect.java
branches/jaxrpc-cxf/webservices/src/main/java/org/jboss/webservices/integration/security/JACCPermissionsDeploymentAspect.java
branches/jaxrpc-cxf/webservices/src/main/java/org/jboss/webservices/integration/tomcat/WebMetaDataCreatingDeploymentAspect.java
branches/jaxrpc-cxf/webservices/src/main/java/org/jboss/webservices/integration/tomcat/WebMetaDataModifyingDeploymentAspect.java
branches/jaxrpc-cxf/webservices/src/resources/jbossws-jboss.deployer/META-INF/stack-agnostic-jboss-beans.xml
Log:
Using new AbstractDeploymentAspect, moving WSAspectizedDeployerFactory out of stack agnostic config, leveraging new isForJaxrp/isForJaxWs properties
Modified: branches/jaxrpc-cxf/webservices/src/main/java/org/jboss/webservices/integration/deployers/WSAspectizedDeployersFactory.java
===================================================================
--- branches/jaxrpc-cxf/webservices/src/main/java/org/jboss/webservices/integration/deployers/WSAspectizedDeployersFactory.java 2010-01-25 10:31:15 UTC (rev 99891)
+++ branches/jaxrpc-cxf/webservices/src/main/java/org/jboss/webservices/integration/deployers/WSAspectizedDeployersFactory.java 2010-01-25 10:40:59 UTC (rev 99892)
@@ -21,6 +21,7 @@
*/
package org.jboss.webservices.integration.deployers;
+import java.lang.ref.WeakReference;
import java.util.HashMap;
import java.util.Map;
@@ -45,7 +46,11 @@
/** Our deployers regitry. */
private final Map<DeploymentAspect, Deployer> deployersRegistry = new HashMap<DeploymentAspect, Deployer>();
-
+
+ private boolean excludeJaxWs = false;
+ private boolean includeJaxRpc = true;
+ private WeakReference<ClassLoader> loader;
+
/**
* Constructor.
*
@@ -54,6 +59,8 @@
public WSAspectizedDeployersFactory(final DeployersImpl realDeployers)
{
this.delegee = realDeployers;
+ //TODO!!! Use security action class
+ this.loader = new WeakReference<ClassLoader>(Thread.currentThread().getContextClassLoader());
}
/**
@@ -63,6 +70,18 @@
*/
public void addDeployer(final DeploymentAspect aspect)
{
+ //TODO!!! use a security action class
+ ClassLoader ctxLoader = Thread.currentThread().getContextClassLoader();
+ ClassLoader aspectLoader = aspect.getClass().getClassLoader();
+ ClassLoader thisClassClassLoader = this.getClass().getClassLoader();
+ ClassLoader aspectLoader2 = aspect.getLoader();
+ ClassLoader thisInstanceLoader = this.loader.get();
+ if (!thisInstanceLoader.equals(aspectLoader2))
+ {
+// System.out.println("*********** SKIPPING ADD aspect: " + aspect + " ctxloader: "+ctxLoader);
+ return;
+ }
+
WSAspectizedDeployersFactory.LOGGER.debug("Adding deployer for: " + aspect);
final Deployer wsAspectizedDeployer = new WSDeploymentAspectDeployer(aspect);
@@ -77,6 +96,18 @@
*/
public void removeDeployer(final DeploymentAspect aspect)
{
+ //TODO!!! use a security action class
+ ClassLoader ctxLoader = Thread.currentThread().getContextClassLoader();
+ ClassLoader aspectLoader = aspect.getClass().getClassLoader();
+ ClassLoader thisClassClassLoader = this.getClass().getClassLoader();
+ ClassLoader aspectLoader2 = aspect.getLoader();
+ ClassLoader thisInstanceLoader = this.loader.get();
+ if (!thisInstanceLoader.equals(aspectLoader2))
+ {
+// System.out.println("*********** SKIPPING REMOVE aspect: " + aspect + " ctxloader: "+ctxLoader);
+ return;
+ }
+
WSAspectizedDeployersFactory.LOGGER.debug("Removing deployer for: " + aspect);
final Deployer wsAspectizedDeployer = this.deployersRegistry.get(aspect);
@@ -84,4 +115,23 @@
this.delegee.removeDeployer(wsAspectizedDeployer);
}
+ public boolean isExcludeJaxWs()
+ {
+ return excludeJaxWs;
+ }
+
+ public void setExcludeJaxWs(boolean excludeJaxWs)
+ {
+ this.excludeJaxWs = excludeJaxWs;
+ }
+
+ public boolean isIncludeJaxRpc()
+ {
+ return includeJaxRpc;
+ }
+
+ public void setIncludeJaxRpc(boolean includeJaxRpc)
+ {
+ this.includeJaxRpc = includeJaxRpc;
+ }
}
Modified: branches/jaxrpc-cxf/webservices/src/main/java/org/jboss/webservices/integration/deployers/WSDeploymentAspectDeployer.java
===================================================================
--- branches/jaxrpc-cxf/webservices/src/main/java/org/jboss/webservices/integration/deployers/WSDeploymentAspectDeployer.java 2010-01-25 10:31:15 UTC (rev 99891)
+++ branches/jaxrpc-cxf/webservices/src/main/java/org/jboss/webservices/integration/deployers/WSDeploymentAspectDeployer.java 2010-01-25 10:40:59 UTC (rev 99892)
@@ -104,7 +104,10 @@
{
this.log.debug(this.aspect + " start: " + unit.getName());
final Deployment dep = ASHelper.getRequiredAttachment(unit, Deployment.class);
- this.aspect.start(dep);
+ if (this.aspect.canHandle(dep))
+ {
+ this.aspect.start(dep);
+ }
}
}
@@ -121,7 +124,10 @@
{
this.log.debug(this.aspect + " stop: " + unit.getName());
final Deployment dep = ASHelper.getRequiredAttachment(unit, Deployment.class);
- this.aspect.stop(dep);
+ if (this.aspect.canHandle(dep))
+ {
+ this.aspect.stop(dep);
+ }
}
}
Modified: branches/jaxrpc-cxf/webservices/src/main/java/org/jboss/webservices/integration/injection/InjectionMetaDataDeploymentAspect.java
===================================================================
--- branches/jaxrpc-cxf/webservices/src/main/java/org/jboss/webservices/integration/injection/InjectionMetaDataDeploymentAspect.java 2010-01-25 10:31:15 UTC (rev 99891)
+++ branches/jaxrpc-cxf/webservices/src/main/java/org/jboss/webservices/integration/injection/InjectionMetaDataDeploymentAspect.java 2010-01-25 10:40:59 UTC (rev 99892)
@@ -46,20 +46,20 @@
import org.jboss.wsf.common.injection.resolvers.ResourceReferenceResolver;
import org.jboss.wsf.common.integration.WSHelper;
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.integration.WebServiceDeclaration;
import org.jboss.wsf.spi.deployment.integration.WebServiceDeployment;
import org.jboss.wsf.spi.metadata.injection.InjectionMetaData;
import org.jboss.wsf.spi.metadata.injection.InjectionsMetaData;
import org.jboss.wsf.spi.metadata.injection.ReferenceResolver;
+import org.jboss.wsf.common.integration.AbstractDeploymentAspect;
/**
* Deployment aspect that builds injection meta data.
*
* @author <a href="mailto:richard.opalka at jboss.org">Richard Opalka</a>
*/
-public final class InjectionMetaDataDeploymentAspect extends DeploymentAspect
+public final class InjectionMetaDataDeploymentAspect extends AbstractDeploymentAspect
{
/** EJB 3 JNDI prefix. */
Modified: branches/jaxrpc-cxf/webservices/src/main/java/org/jboss/webservices/integration/metadata/ContainerMetaDataDeploymentAspect.java
===================================================================
--- branches/jaxrpc-cxf/webservices/src/main/java/org/jboss/webservices/integration/metadata/ContainerMetaDataDeploymentAspect.java 2010-01-25 10:31:15 UTC (rev 99891)
+++ branches/jaxrpc-cxf/webservices/src/main/java/org/jboss/webservices/integration/metadata/ContainerMetaDataDeploymentAspect.java 2010-01-25 10:40:59 UTC (rev 99892)
@@ -23,9 +23,9 @@
import org.jboss.wsf.common.integration.WSHelper;
import org.jboss.wsf.spi.deployment.Deployment;
-import org.jboss.wsf.spi.deployment.DeploymentAspect;
import org.jboss.wsf.spi.metadata.j2ee.EJBArchiveMetaData;
import org.jboss.wsf.spi.metadata.j2ee.JSEArchiveMetaData;
+import org.jboss.wsf.common.integration.AbstractDeploymentAspect;
/**
* An aspect that builds container independent meta data.
@@ -33,7 +33,7 @@
* @author <a href="mailto:ropalka at redhat.com">Richard Opalka</a>
* @author <a href="mailto:tdiesler at redhat.com">Thomas Diesler</a>
*/
-public final class ContainerMetaDataDeploymentAspect extends DeploymentAspect
+public final class ContainerMetaDataDeploymentAspect extends AbstractDeploymentAspect
{
/** JSE meta data builder. */
Modified: branches/jaxrpc-cxf/webservices/src/main/java/org/jboss/webservices/integration/security/JACCPermissionsDeploymentAspect.java
===================================================================
--- branches/jaxrpc-cxf/webservices/src/main/java/org/jboss/webservices/integration/security/JACCPermissionsDeploymentAspect.java 2010-01-25 10:31:15 UTC (rev 99891)
+++ branches/jaxrpc-cxf/webservices/src/main/java/org/jboss/webservices/integration/security/JACCPermissionsDeploymentAspect.java 2010-01-25 10:40:59 UTC (rev 99892)
@@ -28,7 +28,7 @@
import org.jboss.web.WebPermissionMapping;
import org.jboss.wsf.common.integration.WSHelper;
import org.jboss.wsf.spi.deployment.Deployment;
-import org.jboss.wsf.spi.deployment.DeploymentAspect;
+import org.jboss.wsf.common.integration.AbstractDeploymentAspect;
/**
* Generates JACC permissions. (This is temporary and really hacky solution).
@@ -39,7 +39,7 @@
*
* @author <a href="mailto:ropalka at redhat.com">Richard Opalka</a>
*/
-public final class JACCPermissionsDeploymentAspect extends DeploymentAspect
+public final class JACCPermissionsDeploymentAspect extends AbstractDeploymentAspect
{
/**
Modified: branches/jaxrpc-cxf/webservices/src/main/java/org/jboss/webservices/integration/tomcat/WebMetaDataCreatingDeploymentAspect.java
===================================================================
--- branches/jaxrpc-cxf/webservices/src/main/java/org/jboss/webservices/integration/tomcat/WebMetaDataCreatingDeploymentAspect.java 2010-01-25 10:31:15 UTC (rev 99891)
+++ branches/jaxrpc-cxf/webservices/src/main/java/org/jboss/webservices/integration/tomcat/WebMetaDataCreatingDeploymentAspect.java 2010-01-25 10:40:59 UTC (rev 99892)
@@ -23,7 +23,7 @@
import org.jboss.wsf.common.integration.WSHelper;
import org.jboss.wsf.spi.deployment.Deployment;
-import org.jboss.wsf.spi.deployment.DeploymentAspect;
+import org.jboss.wsf.common.integration.AbstractDeploymentAspect;
/**
* A deployment aspect that generates web app meta data for EJB endpoints.
@@ -31,7 +31,7 @@
* @author <a href="mailto:ropalka at redhat.com">Richard Opalka</a>
* @author <a href="mailto:tdiesler at redhat.com">Thomas Diesler</a>
*/
-public final class WebMetaDataCreatingDeploymentAspect extends DeploymentAspect
+public final class WebMetaDataCreatingDeploymentAspect extends AbstractDeploymentAspect
{
/** Web meta data creator. */
Modified: branches/jaxrpc-cxf/webservices/src/main/java/org/jboss/webservices/integration/tomcat/WebMetaDataModifyingDeploymentAspect.java
===================================================================
--- branches/jaxrpc-cxf/webservices/src/main/java/org/jboss/webservices/integration/tomcat/WebMetaDataModifyingDeploymentAspect.java 2010-01-25 10:31:15 UTC (rev 99891)
+++ branches/jaxrpc-cxf/webservices/src/main/java/org/jboss/webservices/integration/tomcat/WebMetaDataModifyingDeploymentAspect.java 2010-01-25 10:40:59 UTC (rev 99892)
@@ -22,7 +22,7 @@
package org.jboss.webservices.integration.tomcat;
import org.jboss.wsf.spi.deployment.Deployment;
-import org.jboss.wsf.spi.deployment.DeploymentAspect;
+import org.jboss.wsf.common.integration.AbstractDeploymentAspect;
/**
* Modifies web meta data to configure webservice stack endpoints and properties.
@@ -30,7 +30,7 @@
* @author <a href="mailto:ropalka at redhat.com">Richard Opalka</a>
* @author <a href="mailto:tdiesler at redhat.com">Thomas Diesler</a>
*/
-public final class WebMetaDataModifyingDeploymentAspect extends DeploymentAspect
+public final class WebMetaDataModifyingDeploymentAspect extends AbstractDeploymentAspect
{
/** Web meta data modifier. */
Modified: branches/jaxrpc-cxf/webservices/src/resources/jbossws-jboss.deployer/META-INF/stack-agnostic-jboss-beans.xml
===================================================================
--- branches/jaxrpc-cxf/webservices/src/resources/jbossws-jboss.deployer/META-INF/stack-agnostic-jboss-beans.xml 2010-01-25 10:31:15 UTC (rev 99891)
+++ branches/jaxrpc-cxf/webservices/src/resources/jbossws-jboss.deployer/META-INF/stack-agnostic-jboss-beans.xml 2010-01-25 10:40:59 UTC (rev 99892)
@@ -62,17 +62,6 @@
<bean name="WSDeploymentDeployer" class="org.jboss.webservices.integration.deployers.WSDeploymentDeployer"/>
- <!-- WSDeploymentAspectDeployers factory -->
- <bean name="WSAspectizedDeployersFactory" class="org.jboss.webservices.integration.deployers.WSAspectizedDeployersFactory">
- <constructor>
- <parameter>
- <inject bean="Deployers"/>
- </parameter>
- </constructor>
- <incallback method="addDeployer"/>
- <uncallback method="removeDeployer"/>
- </bean>
-
<!-- The AS specific deployment aspects -->
<bean name="WSContainerMetaDataDeploymentAspect" class="org.jboss.webservices.integration.metadata.ContainerMetaDataDeploymentAspect">
<property name="provides">ContainerMetaData, VFSRoot</property>
More information about the jboss-cvs-commits
mailing list