[jboss-cvs] JBossAS SVN: r86536 - branches/Branch_5_x/profileservice/src/main/org/jboss/profileservice/management/templates.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Tue Mar 31 11:54:21 EDT 2009
Author: emuckenhuber
Date: 2009-03-31 11:54:21 -0400 (Tue, 31 Mar 2009)
New Revision: 86536
Modified:
branches/Branch_5_x/profileservice/src/main/org/jboss/profileservice/management/templates/JmsDestinationTemplate.java
Log:
[JBAS-6711] handle dlq, serverPeer, expiryQueue in jms template
Modified: branches/Branch_5_x/profileservice/src/main/org/jboss/profileservice/management/templates/JmsDestinationTemplate.java
===================================================================
--- branches/Branch_5_x/profileservice/src/main/org/jboss/profileservice/management/templates/JmsDestinationTemplate.java 2009-03-31 13:43:13 UTC (rev 86535)
+++ branches/Branch_5_x/profileservice/src/main/org/jboss/profileservice/management/templates/JmsDestinationTemplate.java 2009-03-31 15:54:21 UTC (rev 86536)
@@ -27,6 +27,7 @@
import java.util.List;
import java.util.Map;
+import javax.management.ObjectName;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBElement;
import javax.xml.bind.Marshaller;
@@ -40,7 +41,9 @@
import org.jboss.managed.api.DeploymentTemplateInfo;
import org.jboss.managed.api.ManagedProperty;
import org.jboss.metatype.api.values.MetaValue;
+import org.jboss.metatype.api.values.MetaValueFactory;
import org.jboss.metatype.api.values.SimpleValue;
+import org.jboss.metatype.plugins.values.MetaValueFactoryBuilder;
import org.jboss.virtual.VFS;
import org.jboss.virtual.VirtualFile;
@@ -58,6 +61,8 @@
/** The file suffix. */
private static final String FILE_SUFFIX = "-service.xml";
+ private static final MetaValueFactory mvf = MetaValueFactoryBuilder.create();
+
private DeploymentTemplateInfo info;
public String getDeploymentName(String deploymentBaseName)
@@ -140,7 +145,8 @@
throw new IllegalStateException("Unsupported destination type: " + destinationType);
}
List<JmsAttributeMetaData> attributes = new ArrayList<JmsAttributeMetaData>();
-
+ destination.attribute = attributes;
+
Map<String, ManagedProperty> properties = info.getProperties();
for(ManagedProperty p : properties.values())
{
@@ -155,17 +161,39 @@
if(v.getMetaType().isSimple())
{
- JmsAttributeMetaData jndiNameMD = new JmsAttributeMetaData(name, "" + ((SimpleValue)v).getValue());
- destination.attribute = attributes;
- attributes.add(jndiNameMD);
+ JmsAttributeMetaData attributeMD = new JmsAttributeMetaData(name, "" + ((SimpleValue)v).getValue());
+ attributes.add(attributeMD);
}
else
- throw new IllegalArgumentException("Not handled value: " + v);
+ {
+ if(name.equals("DLQ"))
+ {
+ ObjectName n = (ObjectName) mvf.unwrap(v);
+ attributes.add(new JmsAttributeMetaData("DLQ", n.getCanonicalName()));
+ }
+ else if(name.equals("ExpiryQueue"))
+ {
+ ObjectName n = (ObjectName) mvf.unwrap(v);
+ attributes.add(new JmsAttributeMetaData("ExpiryQueue", n.getCanonicalName()));
+ }
+ // TODO securityConfig
+ }
}
-
+
+ // Add dependencies
List<JmsDependencyMetaData> depends = new ArrayList<JmsDependencyMetaData>();
destination.depends = depends;
- depends.add(new JmsDependencyMetaData("ServerPeer", "jboss.messaging:service=ServerPeer"));
+ // Set server peer
+ ObjectName serverPeer = (ObjectName) getProperty(info, "serverPeer");
+ if(serverPeer != null)
+ {
+ depends.add(new JmsDependencyMetaData("ServerPeer", serverPeer.getCanonicalName()));
+ }
+ else
+ {
+ depends.add(new JmsDependencyMetaData("ServerPeer", "jboss.messaging:service=ServerPeer"));
+ }
+ // <depends>
depends.add(new JmsDependencyMetaData("jboss.messaging:service=PostOffice"));
JmsDestinationDeployment deployment = new JmsDestinationDeployment();
@@ -215,15 +243,7 @@
Object value = prop.getValue();
if(value instanceof MetaValue)
{
- if (prop.getMetaType().isComposite())
- {
- throw new IllegalArgumentException("Unable to handle composite: "+prop);
- }
- else if(prop.getMetaType().isSimple())
- {
- SimpleValue sv = SimpleValue.class.cast(value);
- value = sv.getValue();
- }
+ return mvf.unwrap((MetaValue) value);
}
return value;
}
@@ -275,7 +295,6 @@
{
@XmlAttribute(name = "optional-attribute-name")
String attribute;
-
@XmlValue
String value;
@@ -283,13 +302,11 @@
{
}
-
public JmsDependencyMetaData(String value)
{
this.value = value;
}
-
public JmsDependencyMetaData(String attribute, String value)
{
this.attribute = attribute;
More information about the jboss-cvs-commits
mailing list