[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