[jboss-cvs] JBossAS SVN: r79680 - in projects/microcontainer/branches/Branch_2_0: kernel/src/main/java/org/jboss/beans/metadata/plugins and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Oct 17 19:25:18 EDT 2008


Author: alesj
Date: 2008-10-17 19:25:18 -0400 (Fri, 17 Oct 2008)
New Revision: 79680

Modified:
   projects/microcontainer/branches/Branch_2_0/dependency/src/main/java/org/jboss/dependency/plugins/AbstractDependencyItem.java
   projects/microcontainer/branches/Branch_2_0/kernel/src/main/java/org/jboss/beans/metadata/plugins/AbstractDemandMetaData.java
Log:
Port JBMICROCONT-365 to branch.

Modified: projects/microcontainer/branches/Branch_2_0/dependency/src/main/java/org/jboss/dependency/plugins/AbstractDependencyItem.java
===================================================================
--- projects/microcontainer/branches/Branch_2_0/dependency/src/main/java/org/jboss/dependency/plugins/AbstractDependencyItem.java	2008-10-17 22:44:10 UTC (rev 79679)
+++ projects/microcontainer/branches/Branch_2_0/dependency/src/main/java/org/jboss/dependency/plugins/AbstractDependencyItem.java	2008-10-17 23:25:18 UTC (rev 79680)
@@ -212,12 +212,16 @@
    protected void setIDependOn(Object iDependOn)
    {
       this.iDependOn = iDependOn;
-      
-      // HACK: Try to fixup JMX like ObjectNames to their canonical name
-      Object fixup = JMXObjectNameFix.needsAnAlias(iDependOn);
-      if (fixup != null)
-         this.iDependOn = fixup;
 
+      // only check if not null
+      if (iDependOn != null)
+      {
+         // HACK: Try to fixup JMX like ObjectNames to their canonical name
+         Object fixup = JMXObjectNameFix.needsAnAlias(iDependOn);
+         if (fixup != null)
+            this.iDependOn = fixup;
+      }
+
       flushJBossObjectCache();
    }
 

Modified: projects/microcontainer/branches/Branch_2_0/kernel/src/main/java/org/jboss/beans/metadata/plugins/AbstractDemandMetaData.java
===================================================================
--- projects/microcontainer/branches/Branch_2_0/kernel/src/main/java/org/jboss/beans/metadata/plugins/AbstractDemandMetaData.java	2008-10-17 22:44:10 UTC (rev 79679)
+++ projects/microcontainer/branches/Branch_2_0/kernel/src/main/java/org/jboss/beans/metadata/plugins/AbstractDemandMetaData.java	2008-10-17 23:25:18 UTC (rev 79680)
@@ -23,26 +23,26 @@
 
 import java.io.Serializable;
 import java.util.Iterator;
-
+import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlTransient;
 import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlValue;
 
 import org.jboss.beans.metadata.spi.DemandMetaData;
 import org.jboss.beans.metadata.spi.MetaDataVisitor;
 import org.jboss.beans.metadata.spi.MetaDataVisitorNode;
 import org.jboss.dependency.plugins.AbstractDependencyItem;
+import org.jboss.dependency.plugins.JMXObjectNameFix;
 import org.jboss.dependency.spi.Controller;
 import org.jboss.dependency.spi.ControllerContext;
 import org.jboss.dependency.spi.ControllerState;
 import org.jboss.dependency.spi.DependencyItem;
+import org.jboss.kernel.api.dependency.Matcher;
+import org.jboss.kernel.api.dependency.MatcherFactory;
 import org.jboss.kernel.spi.dependency.KernelControllerContext;
-import org.jboss.kernel.api.dependency.MatcherFactory;
-import org.jboss.kernel.api.dependency.Matcher;
+import org.jboss.util.HashCode;
 import org.jboss.util.JBossObject;
 import org.jboss.util.JBossStringBuilder;
-import org.jboss.util.HashCode;
 
 /**
  * A demand.
@@ -193,6 +193,9 @@
       /** The matcher */
       private Matcher matcher;
 
+      /** Cached demand name */
+      private transient Object demandObject;
+
       /**
        * Create a new demand dependecy
        * 
@@ -212,7 +215,19 @@
        */
       protected Object getDemandObject()
       {
-         return (matcher != null) ? matcher : getDemand();
+         if (demandObject == null)
+         {
+            if (matcher == null)
+            {
+               Object fixup = JMXObjectNameFix.needsAnAlias(getDemand());
+               demandObject = (fixup != null) ? fixup : getDemand();
+            }
+            else
+            {
+               demandObject = matcher;
+            }
+         }
+         return demandObject;
       }
 
       public boolean resolve(Controller controller)




More information about the jboss-cvs-commits mailing list