[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