[jboss-cvs] JBossAS SVN: r75599 - trunk/connector/src/main/org/jboss/resource/deployers.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Jul 10 06:27:09 EDT 2008


Author: vicky.kak at jboss.com
Date: 2008-07-10 06:27:09 -0400 (Thu, 10 Jul 2008)
New Revision: 75599

Modified:
   trunk/connector/src/main/org/jboss/resource/deployers/RARDeployer.java
Log:
JBAS-3415 changes.

Modified: trunk/connector/src/main/org/jboss/resource/deployers/RARDeployer.java
===================================================================
--- trunk/connector/src/main/org/jboss/resource/deployers/RARDeployer.java	2008-07-10 10:20:40 UTC (rev 75598)
+++ trunk/connector/src/main/org/jboss/resource/deployers/RARDeployer.java	2008-07-10 10:27:09 UTC (rev 75599)
@@ -23,15 +23,19 @@
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Iterator;
 
 import javax.management.ObjectName;
 
 import org.jboss.deployers.spi.DeploymentException;
 import org.jboss.deployers.spi.deployer.helpers.AbstractSimpleRealDeployer;
 import org.jboss.deployers.structure.spi.DeploymentUnit;
-import org.jboss.resource.metadata.ConnectorMetaData;
+import org.jboss.resource.metadata.DependsMetaData;
+import org.jboss.resource.metadata.RARDeploymentMetaData;
+import org.jboss.resource.metadata.JBossRAMetaData;
 import org.jboss.system.metadata.ServiceAttributeMetaData;
 import org.jboss.system.metadata.ServiceConstructorMetaData;
+import org.jboss.system.metadata.ServiceDependencyMetaData;
 import org.jboss.system.metadata.ServiceInjectionValueMetaData;
 import org.jboss.system.metadata.ServiceMetaData;
 
@@ -39,9 +43,10 @@
  * RARDeployer.
  * 
  * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @author <a href="vicky.kak at jboss.com">Vicky Kak</a>
  * @version $Revision: 1.1 $
  */
-public class RARDeployer extends AbstractSimpleRealDeployer<ConnectorMetaData>
+public class RARDeployer extends AbstractSimpleRealDeployer<RARDeploymentMetaData>
 {
    /** The work manager name */
    private String workManagerName;
@@ -54,7 +59,7 @@
     */
    public RARDeployer()
    {
-      super(ConnectorMetaData.class);
+      super(RARDeploymentMetaData.class);
       setOutput(ServiceMetaData.class);
    }
 
@@ -98,9 +103,9 @@
       this.xaTerminatorName = xaTerminatorName;
    }
 
-   protected String getObjectName(DeploymentUnit unit, ConnectorMetaData cmd)
+   protected String getObjectName(DeploymentUnit unit, RARDeploymentMetaData rdmd)
    {
-      // TODO this is a hack
+      // TODO this is not needed 
       String name = unit.getSimpleName();
       unit = unit.getParent();
       while (unit != null)
@@ -111,18 +116,18 @@
       return "jboss.jca:service=RARDeployment,name='" + name + "'";
    }
    
-   public void deploy(DeploymentUnit unit, ConnectorMetaData cmd) throws DeploymentException
+   public void deploy(DeploymentUnit unit, RARDeploymentMetaData rdmd) throws DeploymentException
    {
       try
       {
          ServiceMetaData rarDeployment = new ServiceMetaData();
-         String name = getObjectName(unit, cmd);
+         String name = getObjectName(unit, rdmd);
          ObjectName objectName = new ObjectName(name);
          rarDeployment.setObjectName(objectName);
          rarDeployment.setCode(RARDeployment.class.getName());
          ServiceConstructorMetaData constructor = new ServiceConstructorMetaData();
-         constructor.setSignature(new String[] { ConnectorMetaData.class.getName() });
-         constructor.setParameters(new Object[] { cmd });
+         constructor.setSignature(new String[] { RARDeploymentMetaData.class.getName() });
+         constructor.setParameters(new Object[] { rdmd });
          rarDeployment.setConstructor(constructor);
          
          List<ServiceAttributeMetaData> attributes = new ArrayList<ServiceAttributeMetaData>();
@@ -143,8 +148,32 @@
          }
          if (attributes.isEmpty() == false)
             rarDeployment.setAttributes(attributes);
-
-         // TODO component
+         
+         // We will have to see how to define the set of dependencies
+         JBossRAMetaData jmd = rdmd.getRaXmlMetaData();
+         if(jmd.getDependsMetaData() != null)
+         {
+        	 //String dependsObjectName = jmd.getDependsMetaData().getDependsName();
+        	 List<ServiceDependencyMetaData> dependencies = new ArrayList<ServiceDependencyMetaData>();
+        	         	 
+        	 List<DependsMetaData> depends = jmd.getDependsMetaData();
+        	 
+        	 if(!depends.isEmpty())
+        	 {
+        		 Iterator<DependsMetaData> iter = depends.iterator();
+        		 while(iter.hasNext())
+        		 {
+        			 DependsMetaData dmd = iter.next();
+        			 String dependsObjectName = dmd.getDependsName();
+        			 ServiceDependencyMetaData dependency = new ServiceDependencyMetaData();
+        	         dependency.setIDependOn(dependsObjectName); 
+        	         System.out.println(unit.getSimpleName()+ "  have got the dependency on ---->>>>> "+dependsObjectName);
+        	         dependencies.add(dependency);
+        		 }                 
+        	 }        	 
+	         rarDeployment.setDependencies(dependencies);
+         }
+          
          unit.addAttachment(ServiceMetaData.class, rarDeployment);
       }
       catch (Exception e)
@@ -153,7 +182,15 @@
       }
    }
 
-   public void undeploy(DeploymentUnit unit, ConnectorMetaData cmd)
+   public void undeploy(DeploymentUnit unit, RARDeploymentMetaData rdmd)
    {
-   }
+	   /* To DO...
+	   // Remove the contents from the MetaData repository here 
+	   DeploymentUnit parent = unit.getParent();
+	   String name = unit.getSimpleName();
+	   if( parent != null )
+		   name = parent.getSimpleName() + "#" + name;
+	   metaDataRepository.removeConnectorMetaData(name, rdmd.getConnectorMetaData());
+	   */
+   }   
 }




More information about the jboss-cvs-commits mailing list