[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