[jboss-cvs] JBossAS SVN: r67972 - in trunk/connector/src/main/org/jboss/resource: metadata/mcf and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Dec 5 18:41:45 EST 2007


Author: alex.loubyansky at jboss.com
Date: 2007-12-05 18:41:44 -0500 (Wed, 05 Dec 2007)
New Revision: 67972

Modified:
   trunk/connector/src/main/org/jboss/resource/deployers/management/DsDataSourceTemplate.java
   trunk/connector/src/main/org/jboss/resource/metadata/mcf/ManagedConnectionFactoryDeploymentGroup.java
Log:
JBAS-4671 a bit of improvement to make at least local-tx-datasource marshal

Modified: trunk/connector/src/main/org/jboss/resource/deployers/management/DsDataSourceTemplate.java
===================================================================
--- trunk/connector/src/main/org/jboss/resource/deployers/management/DsDataSourceTemplate.java	2007-12-05 23:24:48 UTC (rev 67971)
+++ trunk/connector/src/main/org/jboss/resource/deployers/management/DsDataSourceTemplate.java	2007-12-05 23:41:44 UTC (rev 67972)
@@ -23,6 +23,7 @@
 
 import java.io.File;
 import java.io.FileWriter;
+import java.io.Serializable;
 import java.net.URI;
 import java.util.Map;
 
@@ -34,7 +35,11 @@
 import org.jboss.deployers.vfs.spi.client.VFSDeployment;
 import org.jboss.managed.api.ManagedObject;
 import org.jboss.managed.api.ManagedProperty;
+import org.jboss.managed.api.factory.ManagedObjectFactory;
+import org.jboss.managed.plugins.factory.ManagedObjectFactoryBuilder;
 import org.jboss.resource.metadata.mcf.ManagedConnectionFactoryDeploymentGroup;
+import org.jboss.resource.metadata.mcf.LocalDataSourceDeploymentMetaData;
+import org.jboss.resource.metadata.mcf.ManagedConnectionFactoryDeploymentMetaData;
 import org.jboss.virtual.VirtualFile;
 
 /**
@@ -76,23 +81,31 @@
    protected void writeTemplate(File dsXml, DeploymentTemplateInfo values)
       throws Exception
    {
-      FileWriter fw = new FileWriter(dsXml);
+      // Just get the first ManagedProperty to access the ManagedObject
+      //Map<String, ManagedProperty> properties = values.getProperties();
+      //ManagedProperty prop = properties.values().iterator().next();
+      //ManagedObject mo = prop.getManagedObject();
+      //Object group = mo.getAttachment();
 
-      // Just get the first ManagedProperty to access the ManagedObject
-      Map<String, ManagedProperty> properties = values.getProperties();
-      ManagedProperty prop = properties.values().iterator().next();
-      ManagedObject mo = prop.getManagedObject();
-      Object group = mo.getAttachment();
-      if( group instanceof ManagedConnectionFactoryDeploymentGroup )
+      ManagedConnectionFactoryDeploymentGroup group = new ManagedConnectionFactoryDeploymentGroup();
+
+      ManagedConnectionFactoryDeploymentMetaData mcf = new LocalDataSourceDeploymentMetaData();
+      group.addManagedConnectionFactoryDeployment(mcf);
+      ManagedObjectFactory mof = ManagedObjectFactoryBuilder.create();
+      ManagedObject dsMO = mof.initManagedObject(mcf, "DataSource", "LocalTx");
+      for(ManagedProperty tempProp : values.getProperties().values())
       {
-         
+         ManagedProperty dsProp = dsMO.getProperty(tempProp.getName());
+         if(dsProp != null)
+            dsProp.setValue((Serializable)tempProp.getValue());
       }
 
       Class[] classes = {ManagedConnectionFactoryDeploymentGroup.class};
       JAXBContext context = JAXBContext.newInstance(classes);      
       Marshaller marshaller = context.createMarshaller();
+      marshaller.setProperty("jaxb.formatted.output", Boolean.TRUE);
+
+      FileWriter fw = new FileWriter(dsXml);
       marshaller.marshal(group, fw);
    }
-
-
 }

Modified: trunk/connector/src/main/org/jboss/resource/metadata/mcf/ManagedConnectionFactoryDeploymentGroup.java
===================================================================
--- trunk/connector/src/main/org/jboss/resource/metadata/mcf/ManagedConnectionFactoryDeploymentGroup.java	2007-12-05 23:24:48 UTC (rev 67971)
+++ trunk/connector/src/main/org/jboss/resource/metadata/mcf/ManagedConnectionFactoryDeploymentGroup.java	2007-12-05 23:41:44 UTC (rev 67972)
@@ -31,6 +31,7 @@
 import javax.xml.bind.annotation.XmlAccessorType;
 import javax.xml.bind.annotation.XmlElement;
 import javax.xml.bind.annotation.XmlElements;
+import javax.xml.bind.annotation.XmlRootElement;
 import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 
 import org.jboss.managed.api.annotation.ManagementObject;
@@ -46,6 +47,7 @@
  */
 @XmlAccessorType(XmlAccessType.NONE)
 @ManagementObject
+ at XmlRootElement(name="datasources")
 public class ManagedConnectionFactoryDeploymentGroup implements Serializable
 {
    /** The serialVersionUID */
@@ -55,7 +57,7 @@
    private URL fileUrl;
       
    /** The deployments   */
- 
+
    @XmlElements({@XmlElement(name="local-tx-datasource", type=LocalDataSourceDeploymentMetaData.class),
                  @XmlElement(name="no-tx-datasource", type=NoTxDataSourceDeploymentMetaData.class),
                  @XmlElement(name="xa-datasource", type=XADataSourceDeploymentMetaData.class),




More information about the jboss-cvs-commits mailing list