[jboss-cvs] JBossAS SVN: r79575 - projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/plugins.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Oct 16 05:24:52 EDT 2008


Author: alesj
Date: 2008-10-16 05:24:52 -0400 (Thu, 16 Oct 2008)
New Revision: 79575

Modified:
   projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/plugins/AbstractDemandMetaData.java
Log:
[JBMICROCONT-365]; cache demand name.

Modified: projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/plugins/AbstractDemandMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/plugins/AbstractDemandMetaData.java	2008-10-16 09:19:05 UTC (rev 79574)
+++ projects/microcontainer/trunk/kernel/src/main/java/org/jboss/beans/metadata/plugins/AbstractDemandMetaData.java	2008-10-16 09:24:52 UTC (rev 79575)
@@ -23,10 +23,9 @@
 
 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;
@@ -38,12 +37,12 @@
 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.
@@ -194,6 +193,9 @@
       /** The matcher */
       private Matcher matcher;
 
+      /** Cached demand name */
+      private transient Object demandObject;
+
       /**
        * Create a new demand dependecy
        * 
@@ -213,15 +215,19 @@
        */
       protected Object getDemandObject()
       {
-         if (matcher == null)
+         if (demandObject == null)
          {
-            Object fixup = JMXObjectNameFix.needsAnAlias(getDemand());
-            return (fixup != null) ? fixup : getDemand();
+            if (matcher == null)
+            {
+               Object fixup = JMXObjectNameFix.needsAnAlias(getDemand());
+               demandObject = (fixup != null) ? fixup : getDemand();
+            }
+            else
+            {
+               demandObject = matcher;
+            }
          }
-         else
-         {
-            return matcher;
-         }
+         return demandObject;
       }
 
       public boolean resolve(Controller controller)




More information about the jboss-cvs-commits mailing list