[jboss-cvs] JBossAS SVN: r58192 - in trunk/server/src/main/org/jboss: deployment metadata
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Tue Nov 7 16:12:59 EST 2006
Author: alex.loubyansky at jboss.com
Date: 2006-11-07 16:12:56 -0500 (Tue, 07 Nov 2006)
New Revision: 58192
Modified:
trunk/server/src/main/org/jboss/deployment/JBossEjbObjectFactory.java
trunk/server/src/main/org/jboss/metadata/ClusterConfigMetaData.java
Log:
support for cluster-config, depends and extends
Modified: trunk/server/src/main/org/jboss/deployment/JBossEjbObjectFactory.java
===================================================================
--- trunk/server/src/main/org/jboss/deployment/JBossEjbObjectFactory.java 2006-11-07 20:37:49 UTC (rev 58191)
+++ trunk/server/src/main/org/jboss/deployment/JBossEjbObjectFactory.java 2006-11-07 21:12:56 UTC (rev 58192)
@@ -31,7 +31,9 @@
import org.jboss.metadata.MessageDestinationMetaData;
import org.jboss.metadata.SecurityRoleMetaData;
import org.jboss.metadata.ConfigurationMetaData;
+import org.jboss.metadata.ClusterConfigMetaData;
import org.jboss.xb.binding.UnmarshallingContext;
+import org.jboss.mx.util.ObjectNameFactory;
import org.xml.sax.Attributes;
/**
@@ -106,9 +108,24 @@
}
else if(localName.equals("container-configuration"))
{
- // TODO: it should be a holder (or some other trick)
- // to be able to override the defaults in jboss.xml
- child = new ConfigurationMetaData();
+ int extendsIndex = attrs.getIndex("extends");
+ if(extendsIndex != -1)
+ {
+ String extendName = attrs.getValue(extendsIndex);
+ ConfigurationMetaData extendConfig = dd.getConfigurationMetaDataByName(extendName);
+ if(extendConfig == null)
+ {
+ throw new IllegalStateException(
+ "Parent container configuration couldn't be found: " + extendName
+ );
+ }
+
+ child = extendConfig.clone();
+ }
+ else
+ {
+ child = new ConfigurationMetaData();
+ }
}
else if(localName.equals("webservices"))
{
@@ -170,6 +187,17 @@
return child;
}
+ public Object newChild(ConfigurationMetaData md, UnmarshallingContext navigator,
+ String namespaceURI, String localName, Attributes attrs)
+ {
+ Object child = null;
+ if (localName.equals("cluster-config"))
+ {
+ child = new ClusterConfigMetaData();
+ }
+ return child;
+ }
+
public void addChild(ApplicationMetaData parent, ArrayList<InvokerProxyBindingMetaData> bindings,
UnmarshallingContext navigator, String namespaceURI, String localName)
{
@@ -185,6 +213,12 @@
parent.addContainerConfiguration(container);
}
+ public void addChild(ConfigurationMetaData parent, ClusterConfigMetaData child,
+ UnmarshallingContext navigator, String namespaceURI, String localName)
+ {
+ parent.setClusterConfig(child);
+ }
+
public void setValue(ApplicationMetaData amd,
UnmarshallingContext navigator, String namespaceURI, String localName,
String value)
@@ -313,5 +347,31 @@
{
container.setSecurityDomain(value);;
}
+ else if(localName.equals("depends"))
+ {
+ container.getDepends().add(ObjectNameFactory.create(value));
+ }
}
+
+ public void setValue(ClusterConfigMetaData config,
+ UnmarshallingContext navigator, String namespaceURI, String localName,
+ String value)
+ {
+ if(localName.equals("partition-name"))
+ {
+ config.setPartitionName(value);
+ }
+ else if(localName.equals("home-load-balance-policy"))
+ {
+ config.setHomeLoadBalancePolicy(value);
+ }
+ else if(localName.equals("bean-load-balance-policy"))
+ {
+ config.setBeanLoadBalancePolicy(value);
+ }
+ else if(localName.equals("session-state-manager-jndi-name"))
+ {
+ config.setHaSessionStateName(value);
+ }
+ }
}
Modified: trunk/server/src/main/org/jboss/metadata/ClusterConfigMetaData.java
===================================================================
--- trunk/server/src/main/org/jboss/metadata/ClusterConfigMetaData.java 2006-11-07 20:37:49 UTC (rev 58191)
+++ trunk/server/src/main/org/jboss/metadata/ClusterConfigMetaData.java 2006-11-07 21:12:56 UTC (rev 58192)
@@ -68,6 +68,26 @@
return this.haSessionStateName;
}
+ public void setPartitionName(String partitionName)
+ {
+ this.partitionName = partitionName;
+ }
+
+ public void setHomeLoadBalancePolicy(String homeLoadBalancePolicy)
+ {
+ this.homeLoadBalancePolicy = homeLoadBalancePolicy;
+ }
+
+ public void setBeanLoadBalancePolicy(String beanLoadBalancePolicy)
+ {
+ this.beanLoadBalancePolicy = beanLoadBalancePolicy;
+ }
+
+ public void setHaSessionStateName(String haSessionStateName)
+ {
+ this.haSessionStateName = haSessionStateName;
+ }
+
public void init(BeanMetaData data)
{
homeLoadBalancePolicy = "org.jboss.ha.framework.interfaces.RoundRobin";
More information about the jboss-cvs-commits
mailing list