[jboss-cvs] JBossAS SVN: r88949 - in branches/Branch_5_x/system/src/main/org/jboss: system/server/profileservice/repository and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri May 15 10:31:01 EDT 2009


Author: emuckenhuber
Date: 2009-05-15 10:31:01 -0400 (Fri, 15 May 2009)
New Revision: 88949

Modified:
   branches/Branch_5_x/system/src/main/org/jboss/deployers/plugins/managed/KernelDeploymentManagedObjectCreator.java
   branches/Branch_5_x/system/src/main/org/jboss/system/server/profileservice/repository/AbstractAttachmentStore.java
Log:
use the correct name for persisting a KernelDeployment

Modified: branches/Branch_5_x/system/src/main/org/jboss/deployers/plugins/managed/KernelDeploymentManagedObjectCreator.java
===================================================================
--- branches/Branch_5_x/system/src/main/org/jboss/deployers/plugins/managed/KernelDeploymentManagedObjectCreator.java	2009-05-15 14:09:08 UTC (rev 88948)
+++ branches/Branch_5_x/system/src/main/org/jboss/deployers/plugins/managed/KernelDeploymentManagedObjectCreator.java	2009-05-15 14:31:01 UTC (rev 88949)
@@ -105,6 +105,10 @@
          }
          managedObjects.put(KernelDeployment.class.getName(), deploymentMO);
       }
+      if(deploymentMO instanceof MutableManagedObject)
+         ((MutableManagedObject) deploymentMO).setName(KernelDeployment.class.getName());
+      if(deploymentMO instanceof ManagedObjectImpl)
+         ((ManagedObjectImpl) deploymentMO).setAttachmentName(KernelDeployment.class.getName());
 
       MetaData metaData = unit.getMetaData();
       // Update the beanFactories value to a list of BeanMetaDataFactory with BeanMetaDatas

Modified: branches/Branch_5_x/system/src/main/org/jboss/system/server/profileservice/repository/AbstractAttachmentStore.java
===================================================================
--- branches/Branch_5_x/system/src/main/org/jboss/system/server/profileservice/repository/AbstractAttachmentStore.java	2009-05-15 14:09:08 UTC (rev 88948)
+++ branches/Branch_5_x/system/src/main/org/jboss/system/server/profileservice/repository/AbstractAttachmentStore.java	2009-05-15 14:31:01 UTC (rev 88949)
@@ -424,39 +424,41 @@
 
       // Get the managed object, as a component can also be a child of a managedObject
       ManagedObject managedObject = comp.getDeployment().getManagedObject(parent.getName());
+      if(managedObject == null && parent instanceof ManagedObject)
+         managedObject = (ManagedObject) parent;
+      
       // Create a AttachmentMetaData for the MO
-      if(managedObject != null)
+      if(managedObject == null)
+         throw new IllegalStateException("Could not get the parent managed object of component " + comp);
+      
+      String attachmentName = managedObject.getAttachmentName(); 
+      // Create attachmentMetaData if needed
+      AttachmentMetaData attachment = RepositoryAttachmentMetaDataFactory.findAttachment(attachmentName, currentContextMetaData.getAttachments());
+      if(attachment == null)
       {
-         String attachmentName = managedObject.getAttachmentName(); 
-         // Create attachmentMetaData if needed
-         AttachmentMetaData attachment = RepositoryAttachmentMetaDataFactory.findAttachment(attachmentName, currentContextMetaData.getAttachments());
-         if(attachment == null)
-         {
-            // Add a new attachment
-            attachment = new AttachmentMetaData();
-            RepositoryAttachmentMetaDataFactory.addAttachment(currentContextMetaData, attachment);
-         }
-         
-         // Is attachmentName the same as the className ?
-         attachment.setName(attachmentName);
-         attachment.setClassName(managedObject.getAttachment().getClass().getName());
-
-         // Add the comp as transient attachment
-         attachment.setAttachment(comp);
-         
-         // Update lastModified
-         currentContextMetaData.setLastModified(lastModified);
+         // Add a new attachment
+         attachment = new AttachmentMetaData();
+         RepositoryAttachmentMetaDataFactory.addAttachment(currentContextMetaData, attachment);
       }
       
+      // Is attachmentName the same as the className ?
+      attachment.setName(attachmentName);
+      attachment.setClassName(managedObject.getAttachment().getClass().getName());
+
+      // Add the comp as transient attachment
+      attachment.setAttachment(comp);
+      
+      // Update lastModified
+      currentContextMetaData.setLastModified(lastModified);
+      
       // Save the attachment for the root
       saveAttachmentMetaData(deploymentPath, savedMetaData, remove);
-
+   
       // Set the last modified on the root metadata
       savedMetaData.setLastModified(lastModified);
       
       // Save the repository meta data
       this.serializer.saveAttachment(getMetaDataPathName(deploymentPath), savedMetaData);      
-      
    }
    
    /**
@@ -574,14 +576,23 @@
 
       // Get the managed object, as a component can also be a child of a managedObject
       ManagedObject managedObject = component.getDeployment().getManagedObject(parent.getName());
+      if(managedObject == null && parent instanceof ManagedObject)
+         managedObject = (ManagedObject) parent;
+      
       if(remove)
       {
-         return this.persistenceFactory.removeComponent(root, managedObject, component);
+         root = this.persistenceFactory.removeComponent(root, managedObject, component);
       }
       else
       {
-         return this.persistenceFactory.updateComponent(root, managedObject, component);
+         root = this.persistenceFactory.updateComponent(root, managedObject, component);
       }
+      if(root.getName() == null)
+         root.setName(managedObject.getAttachmentName());
+      if(root.getClassName() == null)
+         root.setClassName(managedObject.getAttachment().getClass().getName());
+      
+      return root;
    }
    
    /**
@@ -640,7 +651,7 @@
       {
          Set<String> availableAttachments = new HashSet<String>();
          for(AttachmentMetaData attachment : attachmentMetaData.getAttachments())
-            availableAttachments.add(attachment.getClassName());
+            availableAttachments.add(attachment.getName());
 
           MutableAttachments mutable =  createPredeterminedAttachment(deploymentPath, availableAttachments);
           




More information about the jboss-cvs-commits mailing list