[jboss-cvs] JBossAS SVN: r84467 - in trunk/profileservice/src/main/org/jboss/profileservice/management: upload/remoting and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Feb 19 10:56:42 EST 2009


Author: emuckenhuber
Date: 2009-02-19 10:56:41 -0500 (Thu, 19 Feb 2009)
New Revision: 84467

Modified:
   trunk/profileservice/src/main/org/jboss/profileservice/management/ManagementViewImpl.java
   trunk/profileservice/src/main/org/jboss/profileservice/management/upload/remoting/AbstractDeployHandler.java
   trunk/profileservice/src/main/org/jboss/profileservice/management/upload/remoting/StreamingDeploymentTarget.java
Log:
mostly get rid of the need for an active profile

Modified: trunk/profileservice/src/main/org/jboss/profileservice/management/ManagementViewImpl.java
===================================================================
--- trunk/profileservice/src/main/org/jboss/profileservice/management/ManagementViewImpl.java	2009-02-19 15:50:24 UTC (rev 84466)
+++ trunk/profileservice/src/main/org/jboss/profileservice/management/ManagementViewImpl.java	2009-02-19 15:56:41 UTC (rev 84467)
@@ -142,6 +142,10 @@
    private Map<String, ManagedDeployment> bootstrapManagedDeployments = Collections.emptyMap();
    /** The ManagedPropertys with unresolved ManagementObjectRefs */
    private Map<String, Set<ManagedProperty>> unresolvedRefs = new HashMap<String, Set<ManagedProperty>>();
+   
+   @Deprecated
+   private Map<String, ProfileKey> deploymentsToProfile = new HashMap<String, ProfileKey>();
+   
    /** A map of runtime ManagedObjects needing to be merged with their
     * matching ManagedObject.
     */
@@ -184,6 +188,7 @@
     * @param key - the profile to load
     * @throws NoSuchProfileException
     */
+   @Deprecated
    public void loadProfile(ProfileKey key)
       throws NoSuchProfileException
    {
@@ -191,19 +196,15 @@
          throw new IllegalArgumentException("Null profile key.");
       
       // Force reload
-      if(activeProfile != null)
+      if(activeProfile == null)
       {
-         if(activeProfile.getKey().equals(key) == false)
-            this.forceReload = true;
+         this.forceReload = true;
       }
-      
-      // If the profile is not modified do nothing
-      if(reload() == false)
+      else
       {
-         log.debug("Not reloading profiles");
-         return;
+         if(activeProfile.getKey().equals(key) == false)
+            this.forceReload = true;         
       }
-      this.forceReload = false;
       
       try
       {
@@ -216,15 +217,25 @@
          String msg = formatter.format(args);
          throw new NoSuchProfileException(msg);         
       }
+      
+      // Load the profiles
+      load();
+   }
+   
+   public void load()
+   {
+      // If the profile is not modified do nothing
+      if(isReload() == false)
+      {
+         log.debug("Not reloading profiles");
+         return;
+      }
+      this.forceReload = false;
+      
       // Cleanup
-      this.compByCompType.clear();
-      this.managedDeployments.clear();
-      this.moRegistry.clear();
-      this.runtimeMOs.clear();
-      this.unresolvedRefs.clear();
-      this.lastModified.clear();
+      release();
 
-      // Process the deployments
+      // 
       boolean trace = log.isTraceEnabled();
       
       // load the profiles
@@ -235,7 +246,7 @@
       {
          try
          {
-            processManagedDeployment(md, 0, trace);
+            processManagedDeployment(md, null, 0, trace);
          }
          catch(Exception e)
          {
@@ -246,10 +257,28 @@
          log.warn("Failed to merged the following runtime ManagedObjects: "+runtimeMOs);
    }
    
+   public void reload()
+   {
+      forceReload = true;
+      load();  
+   }
+   
+   public void release()
+   {
+      // Cleanup
+      this.compByCompType.clear();
+      this.managedDeployments.clear();
+      this.moRegistry.clear();
+      this.runtimeMOs.clear();
+      this.unresolvedRefs.clear();
+      this.lastModified.clear();
+   }
+   
+   @Deprecated
    public void reloadProfile() throws Exception
    {
       forceReload = true;
-      loadProfile(activeProfile.getKey());
+      loadProfile(this.activeProfile.getKey());
    }
    
    protected void loadProfiles(boolean trace)
@@ -261,12 +290,13 @@
          {
             Profile profile = this.ps.getActiveProfile(key);
             Collection<ProfileDeployment> deployments = profile.getDeployments();
+            // Process the deployments
             for(ProfileDeployment deployment : deployments)
             {
                try
                {
                   ManagedDeployment md = getManagedDeployment(deployment);
-                  processManagedDeployment(md, 0, trace);
+                  processManagedDeployment(md, key, 0, trace);
                }
                catch(Exception e)
                {
@@ -282,24 +312,20 @@
       }
    }
    
-   protected boolean reload()
+   protected boolean isReload()
    {
       if(forceReload == true)
       {
          forceReload = false;
          return true;
       }
-      
-      if(activeProfile == null)
-         return true;
-      
+
       for(ProfileKey key : this.ps.getActiveProfileKeys())
       {
          try
          {
             Profile profile = this.ps.getActiveProfile(key);
             long lastModified = this.lastModified.get(key);
-            log.debug("reload: "+ key + " cached: " + lastModified + " new " + profile.getLastModified());
             if(profile.getLastModified() > lastModified)
                return true;
          }
@@ -312,11 +338,12 @@
     * Process managed deployment.
     *
     * @param md the managed deployment
+    * @param profile the associated profile key 
     * @param level depth level
     * @param trace is trace enabled
     * @throws Exception for any error
     */
-   protected void processManagedDeployment(ManagedDeployment md, int level, boolean trace) throws Exception
+   protected void processManagedDeployment(ManagedDeployment md, ProfileKey profile, int level, boolean trace) throws Exception
    {
       String name = md.getName();
       if (trace)
@@ -329,6 +356,10 @@
          processManagedObject(mo, md);
       }
       managedDeployments.put(name, md);
+      
+      // TODO this mapping should not be needed
+      if(profile != null)
+         deploymentsToProfile.put(name, profile);
 
       // Process children
       List<ManagedDeployment> mdChildren = md.getChildren();
@@ -336,7 +367,7 @@
       {
          for(ManagedDeployment mdChild : mdChildren)
          {
-            processManagedDeployment(mdChild, level + 1, trace);
+            processManagedDeployment(mdChild, profile, level + 1, trace);
          }
       }
    }
@@ -807,7 +838,7 @@
       HashSet<ManagedDeployment> mds = new HashSet<ManagedDeployment>();
       for(String name : names)
       {
-         ProfileDeployment ctx = activeProfile.getDeployment(name);
+         ProfileDeployment ctx = getProfileDeployment(name);
          ManagedDeployment md = getManagedDeployment(ctx);
          mds.add(md);
       }
@@ -1031,7 +1062,7 @@
       throws NoSuchProfileException, NoSuchDeploymentException, Exception
    {
       log.debug("removeDeployment, "+deploymentName+", phase: "+phase);
-      ProfileDeployment ctx = activeProfile.removeDeployment(deploymentName);
+      ProfileDeployment ctx = getProfileDeployment(deploymentName);
       if( ctx == null )
       {
          formatter.applyPattern(i18n.getString("ManagementView.NoSuchDeploymentException")); //$NON-NLS-1$
@@ -1098,7 +1129,7 @@
          md = md.getParent();
          
       String name = md.getName();
-      ProfileDeployment compDeployment = activeProfile.getDeployment(name);
+      ProfileDeployment compDeployment = getProfileDeployment(name);
       if( compDeployment == null )
       {
          formatter.applyPattern(i18n.getString("ManagementView.NoSuchDeploymentException")); //$NON-NLS-1$
@@ -1109,7 +1140,7 @@
 
       // Apply the managed properties to the server ManagedDeployment/ManagedComponent
       ManagedDeployment compMD = managedDeployments.get(md.getName());
-      log.debug("updateComponent, profile="+activeProfile+", deploymentName="+name+": "+compMD);
+      log.debug("updateComponent, deploymentName="+name+": "+compMD);
       
       ManagedComponent serverComp = null;
       // Find the managed component again
@@ -1180,7 +1211,8 @@
       
       
       // Update the repository deployment attachments
-      activeProfile.updateDeployment(compDeployment, serverComp);
+      Profile deploymentProfile = getProfileForDeployment(compDeployment.getName());
+      deploymentProfile.updateDeployment(compDeployment, serverComp);
    }
 
    /**
@@ -1416,4 +1448,19 @@
          return delegate.getParameters();
       }
    }
+   
+   private Profile getProfileForDeployment(String name) throws Exception
+   {
+      ProfileKey key = this.deploymentsToProfile.get(name);
+      if(key == null)
+         throw new NoSuchDeploymentException("No associated profile found for deployment:" + name);
+      
+      return this.ps.getActiveProfile(key);
+   }
+   
+   private ProfileDeployment getProfileDeployment(String name) throws Exception
+   {
+      Profile profile = getProfileForDeployment(name);
+      return profile.getDeployment(name);
+   }
 }

Modified: trunk/profileservice/src/main/org/jboss/profileservice/management/upload/remoting/AbstractDeployHandler.java
===================================================================
--- trunk/profileservice/src/main/org/jboss/profileservice/management/upload/remoting/AbstractDeployHandler.java	2009-02-19 15:50:24 UTC (rev 84466)
+++ trunk/profileservice/src/main/org/jboss/profileservice/management/upload/remoting/AbstractDeployHandler.java	2009-02-19 15:56:41 UTC (rev 84467)
@@ -135,32 +135,41 @@
          Map payload = request.getRequestPayload();
          DeploymentID dtID = (DeploymentID) payload.get("DeploymentTargetID");
          log.debug("invoke, payload: "+payload+", parameter: "+parameter);
-         if( parameter.equals("getRepositoryNames"))
+         try
          {
-            String[] names = (String[]) payload.get("names");
-            returnValue = getRepositoryNames(names);
+            if( parameter.equals("getRepositoryNames"))
+            {
+               String[] names = (String[]) payload.get("names");
+               returnValue = getRepositoryNames(names);
+            }
+            else if( parameter.equals("distribute") )
+            {
+               returnValue = distribute(dtID);
+            }
+            else if( parameter.equals("start") )
+            {
+               start(dtID);
+            }
+            else if( parameter.equals("stop") )
+            {
+               stop(dtID);
+            }
+            else if( parameter.equals("remove"))
+            {
+               remove(dtID);
+            }
+            // Keep for backward compatibility
+            else if( parameter.equals("undeploy") )
+            {
+               remove(dtID);
+            }            
          }
-         else if( parameter.equals("distribute") )
+         catch(DeploymentException ignore) { }
+         catch(Exception e)
          {
-            returnValue = distribute(dtID);
+            log.warn("Failed to process deployment: " + dtID, e);
          }
-         else if( parameter.equals("start") )
-         {
-            start(dtID);
-         }
-         else if( parameter.equals("stop") )
-         {
-            stop(dtID);
-         }
-         else if( parameter.equals("remove"))
-         {
-            remove(dtID);
-         }
-         // Keep for backward compatibility
-         else if( parameter.equals("undeploy") )
-         {
-            remove(dtID);
-         }
+
       }
       return returnValue;
    }

Modified: trunk/profileservice/src/main/org/jboss/profileservice/management/upload/remoting/StreamingDeploymentTarget.java
===================================================================
--- trunk/profileservice/src/main/org/jboss/profileservice/management/upload/remoting/StreamingDeploymentTarget.java	2009-02-19 15:50:24 UTC (rev 84466)
+++ trunk/profileservice/src/main/org/jboss/profileservice/management/upload/remoting/StreamingDeploymentTarget.java	2009-02-19 15:56:41 UTC (rev 84467)
@@ -201,8 +201,20 @@
    /**
     * Undeploy a given module
     */
+   @Deprecated
    public void undeploy(DeploymentID dtID) throws Exception
    {
+      remove(dtID);
+   }
+   
+   /**
+    * Remove a given module.
+    * 
+    * @param dtID the deployment id
+    * @throws Exception
+    */
+   public void remove(DeploymentID dtID) throws Exception
+   {
       Client client = getClient();
       try
       {
@@ -213,7 +225,7 @@
       finally
       {
          client.disconnect();
-      }
+      }      
    }
 
    public String toString()




More information about the jboss-cvs-commits mailing list