Package org.jboss.profileservice.persistence.repository.metadata

Examples of org.jboss.profileservice.persistence.repository.metadata.RepositoryAttachmentMetaData


  
   protected void applyPersistentChanges(VFSDeploymentUnit unit) throws Throwable
   {
      String deploymentName = unit.getName();
      String simpleName = unit.getSimpleName();
      RepositoryAttachmentMetaData metaData = getPersistenceRepository().loadMetaData(deploymentName, simpleName);
      if(metaData == null)
         return;     
     
      // Check if the deployment was modified
      if(PersistenceModificationChecker.hasBeenModified(unit, metaData.getLastModified()))
      {
         log.debug("Deployment was modified, not applying persisted information : " + unit);
         return;
      }
      //
      if(metaData.getAttachments() != null && metaData.getAttachments().isEmpty() == false)
      {
         for(AttachmentMetaData attachment: metaData.getAttachments())
         {
            Object instance = unit.getAttachment(attachment.getName());
            if(instance != null)
            {
               PersistenceRoot root = getPersistenceRepository().loadAttachment(deploymentName, simpleName, attachment);
View Full Code Here


*/
public class RepositoryAttachmentMetaDataFactory
{
   public static RepositoryAttachmentMetaData createInstance()
   {
      return new RepositoryAttachmentMetaData();
   }
View Full Code Here

   public static RepositoryAttachmentMetaData createInstance(ManagedDeployment md)
   {
      if(md == null)
         throw new IllegalArgumentException("managed deployment may not be null.");
     
      RepositoryAttachmentMetaData metaData = createInstance();
      metaData.setDeploymentName(md.getSimpleName());
      return metaData;
   }
View Full Code Here

   public static RepositoryAttachmentMetaData createNewParent(ManagedDeployment md, RepositoryAttachmentMetaData child)
   {
      if(md == null)
         throw new IllegalArgumentException("managed deployment may not be null.");
     
      RepositoryAttachmentMetaData metaData = createInstance(md);
      addChild(metaData, child);
      return metaData;
   }
View Full Code Here

      // Create the path
      String deploymentPath = createRelativeDeploymentPath(ctx.getName(), ctx.getSimpleName());

      // Load previous saved information
      RepositoryAttachmentMetaData repositoryMetaData = loadAttachmentMetaData(deploymentPath);
      if(repositoryMetaData == null)
      {
         repositoryMetaData = RepositoryAttachmentMetaDataFactory.createInstance();
         repositoryMetaData.setDeploymentName(ctx.getSimpleName());
      }

      // Get the parent MO
      ManagedCommon parent = component;
      while(parent.getParent() != null)
         parent = parent.getParent();

      // 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;

      // Get the current attachment
      String attachmentName = managedObject.getAttachmentName();
      List<AttachmentMetaData> attachments = repositoryMetaData.getAttachments();
      if(attachments == null)
      {
         attachments = new ArrayList<AttachmentMetaData>();
         repositoryMetaData.setAttachments(attachments);
      }
      // Extract the attachment
      AttachmentMetaData attachment = null;
      for(AttachmentMetaData a : attachments)
      {
         if(attachmentName.equals(a.getName()))
            attachment = a;
      }

      // Create a new one
      if(attachment == null)
      {
         // Create attachment meta data
         attachment = new AttachmentMetaData();
         // Add attachment meta data
         attachments.add(attachment);
      }

      // Is attachmentName the same as the className ?
      attachment.setName(attachmentName);
      attachment.setClassName(managedObject.getAttachment().getClass().getName());

      // Save the attachment
      String attachmentPath = deploymentPath + attachment.getName();
      // Create the persistence information
      PersistenceRoot persistenceRoot = getSerializer().loadAttachment(attachmentPath, PersistenceRoot.class);
      //
      persistenceRoot = createPersistedMetaData(persistenceRoot, managedObject, component, remove);
      // Serialize the attachment
      getSerializer().saveAttachment(attachmentPath, persistenceRoot);

      // Update the last modified.
      long lastModified = System.currentTimeMillis();
      attachment.setLastModified(lastModified);
      repositoryMetaData.setLastModified(lastModified);

      //  Save the updated repository meta data
      getSerializer().saveAttachment(getMetaDataPathName(deploymentPath), repositoryMetaData);
   }
View Full Code Here

TOP

Related Classes of org.jboss.profileservice.persistence.repository.metadata.RepositoryAttachmentMetaData

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.