[jboss-cvs] JBossAS SVN: r63381 - in trunk/profileservice/src: main/org/jboss/profileservice/management/templates and 2 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu Jun 7 03:00:39 EDT 2007
Author: scott.stark at jboss.org
Date: 2007-06-07 03:00:39 -0400 (Thu, 07 Jun 2007)
New Revision: 63381
Modified:
trunk/profileservice/src/main/org/jboss/profileservice/management/builders/ServiceManagedObject.java
trunk/profileservice/src/main/org/jboss/profileservice/management/templates/DsXmlDataSourceTemplate.java
trunk/profileservice/src/main/org/jboss/profileservice/management/templates/DsXmlDataSourceTemplateInfo.java
trunk/profileservice/src/main/org/jboss/profileservice/mock/ds/DataSourceDeployment.java
trunk/profileservice/src/main/org/jboss/profileservice/mock/ds/FakeDataSourceConn.java
trunk/profileservice/src/main/org/jboss/profileservice/mock/ds/FakeDataSourceConnMBean.java
trunk/profileservice/src/main/org/jboss/profileservice/mock/ds/FakeDataSourceDeployer.java
trunk/profileservice/src/resources/profileservice-beans.xml
Log:
Add an example of a CompositeMetaType property
Modified: trunk/profileservice/src/main/org/jboss/profileservice/management/builders/ServiceManagedObject.java
===================================================================
--- trunk/profileservice/src/main/org/jboss/profileservice/management/builders/ServiceManagedObject.java 2007-06-06 22:15:44 UTC (rev 63380)
+++ trunk/profileservice/src/main/org/jboss/profileservice/management/builders/ServiceManagedObject.java 2007-06-07 07:00:39 UTC (rev 63381)
@@ -28,6 +28,10 @@
import org.jboss.managed.api.ManagedProperty;
import org.jboss.managed.plugins.ManagedObjectImpl;
import org.jboss.managed.plugins.ManagedPropertyImpl;
+import org.jboss.metatype.api.types.CompositeMetaType;
+import org.jboss.metatype.api.types.ImmutableCompositeMetaType;
+import org.jboss.metatype.api.types.MetaType;
+import org.jboss.metatype.api.types.SimpleMetaType;
import org.jboss.system.metadata.ServiceAttributeMetaData;
import org.jboss.system.metadata.ServiceMetaData;
@@ -75,6 +79,16 @@
if( propertyNameMappings != null )
mappedName = propertyNameMappings.get(fieldName);
ServiceAttributeFields attrFields = new ServiceAttributeFields(attr, fieldName, mappedName);
+ // Should be coming from the metadata
+ if( fieldName.equals("ConnectionProps") )
+ {
+ String[] itemNames = {"conn-prop1", "conn-prop2"};
+ String[] itemDescriptions = {"conn-prop1 description", "conn-prop2 description"};
+ MetaType[] itemTypes = {SimpleMetaType.STRING, SimpleMetaType.STRING};
+ CompositeMetaType propsType = new ImmutableCompositeMetaType("java.lang.Properties", "DS connection properties",
+ itemNames, itemDescriptions, itemTypes);
+ attrFields.setMetaType(propsType);
+ }
properties.add(new ManagedPropertyImpl(this, attrFields));
}
}
Modified: trunk/profileservice/src/main/org/jboss/profileservice/management/templates/DsXmlDataSourceTemplate.java
===================================================================
--- trunk/profileservice/src/main/org/jboss/profileservice/management/templates/DsXmlDataSourceTemplate.java 2007-06-06 22:15:44 UTC (rev 63380)
+++ trunk/profileservice/src/main/org/jboss/profileservice/management/templates/DsXmlDataSourceTemplate.java 2007-06-07 07:00:39 UTC (rev 63381)
@@ -34,6 +34,9 @@
import org.jboss.deployers.spi.structure.DeploymentContext;
import org.jboss.logging.Logger;
import org.jboss.managed.api.ManagedProperty;
+import org.jboss.metatype.api.types.CompositeMetaType;
+import org.jboss.metatype.api.values.CompositeValue;
+import org.jboss.metatype.api.values.SimpleValue;
import org.jboss.virtual.VirtualFile;
import org.w3c.dom.DOMImplementation;
import org.w3c.dom.Document;
@@ -115,13 +118,36 @@
fw.write(" <");
fw.write(tagName);
fw.write('>');
- Object value = p.getValue();
- if( value == null )
- value = "";
- fw.write(value.toString());
- fw.write("</");
- fw.write(tagName);
- fw.write(">\n");
+ // Except for connection-properties
+ if( p.getMetaType() instanceof CompositeMetaType )
+ {
+ CompositeValue cvalue = (CompositeValue) p.getValue();
+ for(String key : cvalue.getMetaType().keySet())
+ {
+ if( cvalue.containsKey(key) )
+ {
+ SimpleValue svalue = (SimpleValue) cvalue.get(key);
+ String string = svalue.toString();
+ fw.write(" <");
+ fw.write(key);
+ fw.write('>');
+ fw.write(string);
+ fw.write("</");
+ fw.write(tagName);
+ fw.write(">\n");
+ }
+ }
+ }
+ else
+ {
+ Object value = p.getValue();
+ if( value == null )
+ value = "";
+ fw.write(value.toString());
+ fw.write("</");
+ fw.write(tagName);
+ fw.write(">\n");
+ }
}
// close dsType tag
fw.write("</");
Modified: trunk/profileservice/src/main/org/jboss/profileservice/management/templates/DsXmlDataSourceTemplateInfo.java
===================================================================
--- trunk/profileservice/src/main/org/jboss/profileservice/management/templates/DsXmlDataSourceTemplateInfo.java 2007-06-06 22:15:44 UTC (rev 63380)
+++ trunk/profileservice/src/main/org/jboss/profileservice/management/templates/DsXmlDataSourceTemplateInfo.java 2007-06-07 07:00:39 UTC (rev 63381)
@@ -28,6 +28,9 @@
import org.jboss.managed.plugins.DefaultFieldsImpl;
import org.jboss.managed.plugins.ManagedObjectImpl;
import org.jboss.managed.plugins.ManagedPropertyImpl;
+import org.jboss.metatype.api.types.CompositeMetaType;
+import org.jboss.metatype.api.types.ImmutableCompositeMetaType;
+import org.jboss.metatype.api.types.MetaType;
import org.jboss.metatype.api.types.SimpleMetaType;
import org.jboss.metatype.api.values.MetaValue;
import org.jboss.metatype.api.values.SimpleValueSupport;
@@ -119,6 +122,19 @@
f5.setMetaType(SimpleMetaType.STRING);
ManagedPropertyImpl driverClass = new ManagedPropertyImpl(mo, f5);
super.addProperty(driverClass);
+ // The driver connection properties field info
+ DefaultFieldsImpl f6 = new DefaultFieldsImpl();
+ setFieldName("connection-properties", f6);
+ f6.setDescription("The jdbc driver connection properties");
+ f6.setMandatory(false);
+ String[] itemNames = {"conn-prop1", "conn-prop2"};
+ String[] itemDescriptions = {"conn-prop1 description", "conn-prop2 description"};
+ MetaType[] itemTypes = {SimpleMetaType.STRING, SimpleMetaType.STRING};
+ CompositeMetaType propsType = new ImmutableCompositeMetaType("java.lang.Properties", "DS connection properties",
+ itemNames, itemDescriptions, itemTypes);
+ f6.setMetaType(propsType);
+ ManagedPropertyImpl connProps = new ManagedPropertyImpl(mo, f6);
+ super.addProperty(connProps);
// The type of the datasource
ManagedObjectImpl mo2 = new ManagedObjectImpl(dsTypeAttachmentName);
Modified: trunk/profileservice/src/main/org/jboss/profileservice/mock/ds/DataSourceDeployment.java
===================================================================
--- trunk/profileservice/src/main/org/jboss/profileservice/mock/ds/DataSourceDeployment.java 2007-06-06 22:15:44 UTC (rev 63380)
+++ trunk/profileservice/src/main/org/jboss/profileservice/mock/ds/DataSourceDeployment.java 2007-06-07 07:00:39 UTC (rev 63381)
@@ -4,9 +4,13 @@
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
+import java.util.Properties;
import org.jboss.logging.Logger;
import org.jboss.managed.api.ManagedProperty;
+import org.jboss.metatype.api.values.CompositeValue;
+import org.jboss.metatype.api.values.MetaValue;
+import org.jboss.metatype.api.values.SimpleValue;
import org.jboss.util.StringPropertyReplacer;
import org.jboss.util.xml.DOMUtils;
import org.w3c.dom.Document;
@@ -19,7 +23,7 @@
* attachment. This is a javabean form of the *-dsf.xml fields.
*
* @author Scott.Stark at jboss.org
- * @version $Revision:$
+ * @version $Revision$
*/
public class DataSourceDeployment
implements Serializable
@@ -39,8 +43,8 @@
private String securityDomain;
private String minPoolSize;
private String maxPoolSize;
+ private Properties connProps;
private ArrayList<String> depends = new ArrayList<String>();
-
public String getType()
{
@@ -152,6 +156,16 @@
this.username = username;
}
+ public Properties getConnectionProps()
+ {
+ return connProps;
+ }
+
+ public void setConnectionProps(Properties connProps)
+ {
+ this.connProps = connProps;
+ }
+
public List<String> getDepends()
{
return depends;
@@ -220,6 +234,11 @@
String depends = getText(ej);
addDepends(depends);
}
+ else if (ej.getTagName().equals("connection-properties"))
+ {
+ // TODO
+
+ }
}
}
@@ -283,6 +302,11 @@
{
this.typeMapping = value.toString();
}
+ else if (name.equals("connection-properties"))
+ {
+ CompositeValue cvalue = (CompositeValue) value;
+ parseConnProps(cvalue);
+ }
else if (name.equals("depends"))
{
String depends = value.toString();
@@ -316,6 +340,8 @@
tmp.append(securityDomain);
tmp.append(",typeMapping=");
tmp.append(typeMapping);
+ tmp.append(",connProps=");
+ tmp.append(connProps);
tmp.append(')');
return tmp.toString();
}
@@ -332,4 +358,19 @@
text = StringPropertyReplacer.replaceProperties(text);
return text;
}
+ private void parseConnProps(CompositeValue cvalue)
+ {
+ connProps = new Properties();
+ for(String key : cvalue.getMetaType().keySet())
+ {
+ if( cvalue.containsKey(key) )
+ {
+ MetaValue value = cvalue.get(key);
+ // We only handle SimpleValue types
+ SimpleValue svalue = (SimpleValue) value;
+ connProps.setProperty(key, svalue.getValue().toString());
+ }
+ }
+ }
+
}
Property changes on: trunk/profileservice/src/main/org/jboss/profileservice/mock/ds/DataSourceDeployment.java
___________________________________________________________________
Name: svn:keywords
- Id,Revision
+ Id Revision
Modified: trunk/profileservice/src/main/org/jboss/profileservice/mock/ds/FakeDataSourceConn.java
===================================================================
--- trunk/profileservice/src/main/org/jboss/profileservice/mock/ds/FakeDataSourceConn.java 2007-06-06 22:15:44 UTC (rev 63380)
+++ trunk/profileservice/src/main/org/jboss/profileservice/mock/ds/FakeDataSourceConn.java 2007-06-07 07:00:39 UTC (rev 63381)
@@ -22,6 +22,7 @@
package org.jboss.profileservice.mock.ds;
import java.util.List;
+import java.util.Properties;
import javax.naming.InitialContext;
@@ -201,6 +202,15 @@
ds.setUsername(username);
}
+ public Properties getConnectionProps()
+ {
+ return ds.getConnectionProps();
+ }
+ public void setConnectionProps(Properties props)
+ {
+ ds.setConnectionProps(props);
+ }
+
/* (non-Javadoc)
* @see org.jboss.profileservice.mock.ds.x#start()
*/
Modified: trunk/profileservice/src/main/org/jboss/profileservice/mock/ds/FakeDataSourceConnMBean.java
===================================================================
--- trunk/profileservice/src/main/org/jboss/profileservice/mock/ds/FakeDataSourceConnMBean.java 2007-06-06 22:15:44 UTC (rev 63380)
+++ trunk/profileservice/src/main/org/jboss/profileservice/mock/ds/FakeDataSourceConnMBean.java 2007-06-07 07:00:39 UTC (rev 63381)
@@ -1,6 +1,7 @@
package org.jboss.profileservice.mock.ds;
import java.util.List;
+import java.util.Properties;
public interface FakeDataSourceConnMBean
{
@@ -42,6 +43,9 @@
public void setUsername(String username);
+ public Properties getConnectionProps();
+ public void setConnectionProps(Properties props);
+
public void start() throws Exception;
public void stop() throws Exception;
Modified: trunk/profileservice/src/main/org/jboss/profileservice/mock/ds/FakeDataSourceDeployer.java
===================================================================
--- trunk/profileservice/src/main/org/jboss/profileservice/mock/ds/FakeDataSourceDeployer.java 2007-06-06 22:15:44 UTC (rev 63380)
+++ trunk/profileservice/src/main/org/jboss/profileservice/mock/ds/FakeDataSourceDeployer.java 2007-06-07 07:00:39 UTC (rev 63381)
@@ -224,6 +224,12 @@
if(ds.getMaxPoolSize() != null)
attribute.setValue(new ServiceTextValueMetaData(ds.getMaxPoolSize()));
attributes.add(attribute);
+ // connectionProps
+ attribute = new ServiceAttributeMetaData();
+ attribute.setName("ConnectionProps");
+ if(ds.getMaxPoolSize() != null)
+ attribute.setValue(new ServiceTextValueMetaData(ds.getMaxPoolSize()));
+ attributes.add(attribute);
dsMbean.setAttributes(attributes);
Modified: trunk/profileservice/src/resources/profileservice-beans.xml
===================================================================
--- trunk/profileservice/src/resources/profileservice-beans.xml 2007-06-06 22:15:44 UTC (rev 63380)
+++ trunk/profileservice/src/resources/profileservice-beans.xml 2007-06-07 07:00:39 UTC (rev 63381)
@@ -136,6 +136,7 @@
<entry><key>min-pool-size</key><value>MinPoolSize</value></entry>
<entry><key>max-pool-size</key><value>MaxPoolSize</value></entry>
<entry><key>security-domain</key><value>SecurityDomain</value></entry>
+ <entry><key>connection-properties</key><value>ConnectionProperties</value></entry>
</map>
</constructor>
</bean>
More information about the jboss-cvs-commits
mailing list