[jboss-cvs] JBossAS SVN: r100652 - projects/kernel/trunk/jmx-mc-int/src/main/java/org/jboss/system/microcontainer.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Sat Feb 6 09:17:54 EST 2010


Author: alesj
Date: 2010-02-06 09:17:53 -0500 (Sat, 06 Feb 2010)
New Revision: 100652

Modified:
   projects/kernel/trunk/jmx-mc-int/src/main/java/org/jboss/system/microcontainer/DescribeAction.java
Log:
[JBKERNEL-89]; add MDR population for ServiceControllerContext.

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-06 09:41:45 UTC (rev 100651)
+++ projects/kernel/trunk/jmx-mc-int/src/main/java/org/jboss/system/microcontainer/DescribeAction.java	2010-02-06 14:17:53 UTC (rev 100652)
@@ -22,33 +22,65 @@
 package org.jboss.system.microcontainer;
 
 import org.jboss.dependency.spi.ControllerState;
+import org.jboss.kernel.Kernel;
+import org.jboss.kernel.spi.metadata.KernelMetaDataRepository;
+import org.jboss.metadata.spi.repository.MutableMetaDataRepository;
+import org.jboss.system.ServiceController;
 
 /**
  * DescribeAction.
- * This does not do anything. Called when installing to/uninstalling from the 
+ * Populate MDR with context info.
+ * Called when installing to/uninstalling from the
  * {@link ControllerState#DESCRIBED} state.
  * 
  * @see ServiceControllerContextActions
  * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @author <a href="ales.justin at jboss.org">Ales Justin</a>
  * @version $Revision$
  */
 public class DescribeAction extends ServiceControllerContextAction
 {
    /**
-    * No-op
+    * Get kernel metadata repository.
+    *
+    * @param context the service controller context
+    * @return kernel metadata reposiory
+    */
+   protected KernelMetaDataRepository getRepository(ServiceControllerContext context)
+   {
+      ServiceController controller = context.getServiceController();
+      Kernel kernel = controller.getKernel();
+      return kernel.getMetaDataRepository();
+   }
+
+   /**
+    * Push context to MDR.
     * 
     * @param context The ServiceControllerContext we are installing
     */
    public void installAction(ServiceControllerContext context) throws Throwable
    {
+      KernelMetaDataRepository repository = getRepository(context);
+      repository.addMetaData(context);
+      try
+      {
+         repository.getMetaData(context); // TODO - fix this
+      }
+         catch (Throwable t)
+      {
+         repository.removeMetaData(context);
+         throw t;
+      }
    }
 
    /**
-    * No-op
+    * Remove context form MDR.
     * 
     * @param context The ServiceControllerContext we are uninstalling
     */
    public void uninstallAction(ServiceControllerContext context)
    {
+      KernelMetaDataRepository repository = getRepository(context);
+      repository.removeMetaData(context);
    }
 }




More information about the jboss-cvs-commits mailing list