[jboss-cvs] JBossAS SVN: r65032 - trunk/profileservice/src/main/org/jboss/profileservice/management.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Sep 4 01:30:13 EDT 2007


Author: scott.stark at jboss.org
Date: 2007-09-04 01:30:13 -0400 (Tue, 04 Sep 2007)
New Revision: 65032

Modified:
   trunk/profileservice/src/main/org/jboss/profileservice/management/ManagementViewImpl.java
Log:
Update the component update logic

Modified: trunk/profileservice/src/main/org/jboss/profileservice/management/ManagementViewImpl.java
===================================================================
--- trunk/profileservice/src/main/org/jboss/profileservice/management/ManagementViewImpl.java	2007-09-04 05:11:51 UTC (rev 65031)
+++ trunk/profileservice/src/main/org/jboss/profileservice/management/ManagementViewImpl.java	2007-09-04 05:30:13 UTC (rev 65032)
@@ -39,8 +39,6 @@
 import org.jboss.deployers.spi.management.DeploymentTemplate;
 import org.jboss.deployers.spi.management.DeploymentTemplateInfo;
 import org.jboss.deployers.spi.management.ManagementView;
-import org.jboss.deployers.structure.spi.DeploymentContext;
-import org.jboss.deployers.structure.spi.DeploymentUnit;
 import org.jboss.deployers.vfs.spi.client.VFSDeployment;
 import org.jboss.deployers.vfs.spi.client.VFSDeploymentFactory;
 import org.jboss.logging.Logger;
@@ -146,15 +144,22 @@
       Set<String> deploymentNames = activeProfile.getDeploymentNames();
       for(String name : deploymentNames)
       {
-         ManagedDeployment md = mainDeployer.getManagedDeployment(name);
-         log.info(name+" ManagedDeployment: " + md);
-         Map<String, ManagedObject> mos = md.getManagedObjects();
-         log.info(name+" ManagedObjects: " + mos);
-         for(ManagedObject mo : mos.values())
+         try
          {
-            processManagedObject(mo, md);
+            ManagedDeployment md = mainDeployer.getManagedDeployment(name);
+            log.debug(name+" ManagedDeployment: " + md);
+            Map<String, ManagedObject> mos = md.getManagedObjects();
+            log.debug(name+" ManagedObjects: " + mos);
+            for(ManagedObject mo : mos.values())
+            {
+               processManagedObject(mo, md);
+            }
+            managedDeployments.put(name, md);
          }
-         managedDeployments.put(name, md);
+         catch(Exception e)
+         {
+            log.warn("Failed to create ManagedDeployment for: "+name, e);
+         }
       }
 
    }
@@ -219,45 +224,48 @@
       {
          log.debug("Checking property: "+prop);
          // See if this is a ManagementObjectID
-         ManagementObjectID id = (ManagementObjectID) prop.getAnnotations().get(ManagementObjectID.class.getName());
-         if (id != null)
+         Map<String, Annotation> pannotations = prop.getAnnotations();
+         if (pannotations != null)
          {
-            SimpleValue refValue = (SimpleValue) prop.getValue();
-            String refName = (String) refValue.getValue();
-            if (refName == null)
-               refName = id.name();
-            String propKey = refName + "/" + id.type();
-            log.debug("ManagedProperty level ID for ManagedObject: "+propKey+", attachmentName: "+mo.getAttachmentName());
-            moRegistry.put(propKey, mo);
-            checkForReferences(propKey, mo);
-         }
-
-         // See if this is a ManagementObjectRef
-         ManagementObjectRef ref = (ManagementObjectRef) prop.getAnnotations().get(ManagementObjectRef.class.getName());
-         if ( ref != null )
-         {
-            // The reference key is the prop value + ref.type()
-            log.debug("Property("+prop.getName()+") references: "+ref);
-            SimpleValue refValue = (SimpleValue) prop.getValue();
-            String refName = (String) refValue.getValue();
-            if (refName == null)
-               refName = ref.name();
-            String targetKey = refName + "/" + ref.type();
-            ManagedObject target = moRegistry.get(targetKey);
-            if (target != null)
+            ManagementObjectID id = (ManagementObjectID) pannotations.get(ManagementObjectID.class.getName());
+            if (id != null)
             {
-               log.debug("Resolved property("+prop.getName()+") reference to: "+targetKey);
-               prop.setTargetManagedObject(target);
+               SimpleValue refValue = (SimpleValue) prop.getValue();
+               String refName = (String) refValue.getValue();
+               if (refName == null)
+                  refName = id.name();
+               String propKey = refName + "/" + id.type();
+               log.debug("ManagedProperty level ID for ManagedObject: "+propKey+", attachmentName: "+mo.getAttachmentName());
+               moRegistry.put(propKey, mo);
+               checkForReferences(propKey, mo);
             }
-            else
+            // See if this is a ManagementObjectRef
+            ManagementObjectRef ref = (ManagementObjectRef) pannotations.get(ManagementObjectRef.class.getName());
+            if ( ref != null )
             {
-               Set<ManagedProperty> referers =  unresolvedRefs.get(targetKey);
-               if (referers == null)
+               // The reference key is the prop value + ref.type()
+               log.debug("Property("+prop.getName()+") references: "+ref);
+               SimpleValue refValue = (SimpleValue) prop.getValue();
+               String refName = (String) refValue.getValue();
+               if (refName == null)
+                  refName = ref.name();
+               String targetKey = refName + "/" + ref.type();
+               ManagedObject target = moRegistry.get(targetKey);
+               if (target != null)
                {
-                  referers = new HashSet<ManagedProperty>();
-                  unresolvedRefs.put(targetKey, referers);
+                  log.debug("Resolved property("+prop.getName()+") reference to: "+targetKey);
+                  prop.setTargetManagedObject(target);
                }
-               referers.add(prop);
+               else
+               {
+                  Set<ManagedProperty> referers =  unresolvedRefs.get(targetKey);
+                  if (referers == null)
+                  {
+                     referers = new HashSet<ManagedProperty>();
+                     unresolvedRefs.put(targetKey, referers);
+                  }
+                  referers.add(prop);
+               }
             }
          }
 
@@ -266,7 +274,9 @@
          {
             GenericValue gv = (GenericValue) prop.getValue();
             ManagedObject propMO = (ManagedObject) gv.getValue();
-            processManagedObject(propMO, md);
+            // TODO: This is probably an error condition
+            if (propMO != null)
+               processManagedObject(propMO, md);
          }
          else if (propType.isArray())
          {
@@ -279,7 +289,9 @@
                {
                   GenericValue gv = (GenericValue) avalue.getValue(n);
                   ManagedObject propMO = (ManagedObject) gv.getValue();
-                  processManagedObject(propMO, md);
+                  // TODO: This is probably an error condition
+                  if (propMO != null)
+                     processManagedObject(propMO, md);
                }
             }
          }
@@ -582,35 +594,6 @@
       mainDeployer.checkComplete();
    }
 
-   /**
-    * Called by the DeployerAspects to register a deployment as a
-    * ComponentType.
-    */
-   public void updateComponentType(DeploymentUnit unit, ComponentType type)
-   {
-      /* TODO component
-      DeploymentContext ctx = unit.getDeploymentContext();
-      log.debug("updateComponentType, unit="+unit.getName()+", type="+type);
-      ctxToCompType.put(ctx, type);
-      DeploymentContext topCtx = ctx.getTopLevel();
-      if( ctxToDeployment.containsKey(ctx) == false )
-      {
-         // This deployment unit has not been indexed yet
-         try
-         {
-            // Rebuild the ManagedDeployment structure
-            ManagedDeployment md = getManagedDeployment(topCtx);
-            indexComponents(md);
-            ctxToDeployment.put(ctx, md);
-         }
-         catch(Exception e)
-         {
-            log.warn("Failed to create ManagedDeployment for ctx="+ctx);
-         }
-      }
-      */
-   }
-
    public void updateDeployment()
    {
       
@@ -622,7 +605,7 @@
       ManagedDeployment md = comp.getDeployment();
       while( md.getParent() != null )
          md = md.getParent();
-      String name = md.getSimpleName();
+      String name = md.getName();
       DeploymentPhase phase = md.getDeploymentPhase();
       Deployment mdCtx = activeProfile.getDeployment(name, phase);
       if( mdCtx == null )
@@ -634,30 +617,22 @@
       }
 
       // Apply the managed properties
-      Map<String, ManagedObject> mos = mainDeployer.getManagedObjects(mdCtx.getName());
-      log.debug("updateComponent, profile="+activeProfile+", deploymentName="+name+", phase="+phase+", :"+mos);
+      ManagedDeployment compMD = managedDeployments.get(md.getName());
+      log.debug("updateComponent, profile="+activeProfile+", deploymentName="+name+", phase="+phase+", :"+compMD);
+      ManagedComponent serverComp = compMD.getComponent(comp.getName());
       for(ManagedProperty prop : comp.getProperties().values())
       {
          // Skip null values
          if( prop.getValue() == null )
             continue;
 
-         ManagedObject mo = prop.getManagedObject();
-         ManagedObject ctxMO = mos.get(mo.getName());
-         if( ctxMO == null )
-         {
-            formatter.applyPattern(i18n.getString("ManagementView.InvalidTemplateKey")); //$NON-NLS-1$
-            Object[] args = {mo.getName()};
-            String msg = formatter.format(args);
-            throw new IllegalArgumentException(msg);
-         }
-         ManagedProperty ctxProp = ctxMO.getProperty(prop.getName());
+         ManagedProperty ctxProp = serverComp.getProperties().get(prop.getName());
          // Check for a mapped name
          if( ctxProp == null )
          {
             String mappedName = prop.getMappedName();
             if( mappedName != null )
-               ctxProp = ctxMO.getProperty(mappedName);
+               ctxProp = serverComp.getProperties().get(mappedName);
          }
          if( ctxProp == null )
          {




More information about the jboss-cvs-commits mailing list