[jboss-cvs] JBossAS SVN: r100669 - in projects/kernel/trunk: jmx-mc-int/src/main/java/org/jboss/system/microcontainer and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Sun Feb 7 17:45:54 EST 2010


Author: alesj
Date: 2010-02-07 17:45:53 -0500 (Sun, 07 Feb 2010)
New Revision: 100669

Modified:
   projects/kernel/trunk/dependency/src/main/java/org/jboss/dependency/plugins/AbstractScopeInfo.java
   projects/kernel/trunk/jmx-mc-int/src/main/java/org/jboss/system/microcontainer/DescribeAction.java
Log:
[JBKERNEL-90]; fix MDR init for contexts - lazy metadata get.

Modified: projects/kernel/trunk/dependency/src/main/java/org/jboss/dependency/plugins/AbstractScopeInfo.java
===================================================================
--- projects/kernel/trunk/dependency/src/main/java/org/jboss/dependency/plugins/AbstractScopeInfo.java	2010-02-07 17:51:30 UTC (rev 100668)
+++ projects/kernel/trunk/dependency/src/main/java/org/jboss/dependency/plugins/AbstractScopeInfo.java	2010-02-07 22:45:53 UTC (rev 100669)
@@ -43,6 +43,7 @@
  * AbstractScopeInfo.
  * 
  * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @author <a href="ales.justin at jboss.com">Ales Justin</a>
  * @version $Revision: 1.1 $
  */
 public class AbstractScopeInfo implements ScopeInfo
@@ -64,7 +65,10 @@
 
    /** The added scopes */
    private CopyOnWriteArraySet<ScopeKey> addedScopes = new CopyOnWriteArraySet<ScopeKey>();
-   
+
+   /** The owning context */
+   private ControllerContext context;
+
    /**
     * Create a new AbstractScopeInfo.
     * 
@@ -110,13 +114,21 @@
    {
       if (repository == null)
          return null;
-      
-      return repository.getMetaData(getScope());
+
+      MetaData metaData = repository.getMetaData(getScope());
+      if (metaData == null)
+      {
+         initMetaDataRetrieval(repository, context);
+         metaData = repository.getMetaData(scopeKey);
+      }
+      return metaData;
    }
 
    public void addMetaData(MutableMetaDataRepository repository, ControllerContext context)
    {
       this.repository = repository;
+      this.context = context;
+
       ScopeKey scope = getMutableScope();
       MetaDataRetrieval retrieval = repository.getMetaDataRetrieval(scope);
       MutableMetaDataLoader mutable;
@@ -130,7 +142,7 @@
       {
          mutable = getMutableMetaDataLoader(retrieval);
       }
-      
+
       if (mutable == null)
       {
          log.warn("MetaData context is not mutable: " + retrieval + " for " + context.toShortString());
@@ -176,8 +188,9 @@
          }
       }
       addedScopes.clear();
+
+      this.context = null;
       this.repository = null;
-      
    }
 
    /**

Modified: projects/kernel/trunk/jmx-mc-int/src/main/java/org/jboss/system/microcontainer/DescribeAction.java
===================================================================
--- projects/kernel/trunk/jmx-mc-int/src/main/java/org/jboss/system/microcontainer/DescribeAction.java	2010-02-07 17:51:30 UTC (rev 100668)
+++ projects/kernel/trunk/jmx-mc-int/src/main/java/org/jboss/system/microcontainer/DescribeAction.java	2010-02-07 22:45:53 UTC (rev 100669)
@@ -62,15 +62,6 @@
    {
       KernelMetaDataRepository repository = getRepository(context);
       repository.addMetaData(context);
-      try
-      {
-         repository.getMetaData(context); // TODO - fix this
-      }
-         catch (Throwable t)
-      {
-         repository.removeMetaData(context);
-         throw t;
-      }
    }
 
    /**




More information about the jboss-cvs-commits mailing list