[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