[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