[jboss-cvs] JBossAS SVN: r103418 - in projects/profileservice/trunk: core/src/main/java/org/jboss/profileservice/deployment/hotdeploy and 22 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Apr 1 07:49:33 EDT 2010


Author: emuckenhuber
Date: 2010-04-01 07:49:30 -0400 (Thu, 01 Apr 2010)
New Revision: 103418

Added:
   projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/management/actions/BasicProfileModificationRequest.java
   projects/profileservice/trunk/domain/src/main/java/org/jboss/profileservice/domain/spi/DomainMetaDataFragment.java
   projects/profileservice/trunk/domain/src/main/java/org/jboss/profileservice/domain/spi/DomainMetaDataFragmentVisitor.java
   projects/profileservice/trunk/plugins/src/test/java/org/jboss/test/profileservice/plugins/mgt/support/RegisteredProfileSupport.java
   projects/profileservice/trunk/plugins/src/test/java/org/jboss/test/profileservice/plugins/mgt/test/RegisteredProfileUnitTestCase.java
   projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/action/ProfileModificationRequest.java
   projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/action/engine/ProfileModificationAction.java
Removed:
   projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/management/actions/BasicProfileModificationActions.java
   projects/profileservice/trunk/domain/src/main/java/org/jboss/profileservice/domain/spi/DomainFeatureNode.java
   projects/profileservice/trunk/domain/src/main/java/org/jboss/profileservice/domain/spi/DomainFeatureVisitor.java
   projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/action/ProfileModificationAction.java
   projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/action/ProfileModificationActions.java
Modified:
   projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/bootstrap/AbstractProfileServiceBootstrap.java
   projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/deployment/hotdeploy/HDScanner.java
   projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/management/AbstractActionController.java
   projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/management/TwoPCActionWrapper.java
   projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/profile/bootstrap/BootstrapProfileMetaData.java
   projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/profile/metadata/BasicProfileMetaData.java
   projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/profile/metadata/domain/BasicDomainMetaDataVisitor.java
   projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/profile/metadata/domain/RequiredProfiles.java
   projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/profile/metadata/plugin/ClassPathProfileMetaData.java
   projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/profile/metadata/plugin/PropertyProfileMetaData.java
   projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/artifact/maven/AbstractMavenArtifactRepository.java
   projects/profileservice/trunk/core/src/test/java/org/jboss/test/profileservice/deployment/test/HDScannerUnitTestCase.java
   projects/profileservice/trunk/core/src/test/java/org/jboss/test/profileservice/domain/support/AbstractDomainMetaDataVisitor.java
   projects/profileservice/trunk/core/src/test/java/org/jboss/test/profileservice/test/BasicProfileServiceUnitTestCase.java
   projects/profileservice/trunk/domain/src/main/java/org/jboss/profileservice/domain/AbstractDomainMetaData.java
   projects/profileservice/trunk/domain/src/main/java/org/jboss/profileservice/domain/ServerMetaData.java
   projects/profileservice/trunk/domain/src/main/java/org/jboss/profileservice/domain/spi/DomainMetaData.java
   projects/profileservice/trunk/domain/src/main/java/org/jboss/profileservice/domain/threadpool/BasicThreadPoolMetaData.java
   projects/profileservice/trunk/plugins/src/main/java/org/jboss/profileservice/plugins/deploy/AbstractDeployHandler.java
   projects/profileservice/trunk/plugins/src/main/java/org/jboss/profileservice/plugins/deploy/actions/AbstractDeploymentAddAction.java
   projects/profileservice/trunk/plugins/src/main/java/org/jboss/profileservice/plugins/management/RegisteredProfileViewsWrapper.java
   projects/profileservice/trunk/plugins/src/main/java/org/jboss/profileservice/plugins/management/actions/ProfileViewUpdateAction.java
   projects/profileservice/trunk/plugins/src/main/java/org/jboss/profileservice/plugins/management/actions/UpdateComponentAction.java
   projects/profileservice/trunk/spi/src/main/java/org/jboss/deployers/spi/management/ContextStateMapper.java
   projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/action/TwoPhaseCommitProfileAction.java
   projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/action/engine/ActionController.java
Log:
add basic registered profile view test, rename meta data class

Modified: projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/bootstrap/AbstractProfileServiceBootstrap.java
===================================================================
--- projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/bootstrap/AbstractProfileServiceBootstrap.java	2010-04-01 11:47:52 UTC (rev 103417)
+++ projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/bootstrap/AbstractProfileServiceBootstrap.java	2010-04-01 11:49:30 UTC (rev 103418)
@@ -29,7 +29,7 @@
 import org.jboss.logging.Logger;
 import org.jboss.profileservice.config.ProfileServiceConfig;
 import org.jboss.profileservice.domain.AbstractDomainMetaData;
-import org.jboss.profileservice.domain.spi.DomainFeatureNode;
+import org.jboss.profileservice.domain.spi.DomainMetaDataFragment;
 import org.jboss.profileservice.domain.spi.DomainMetaData;
 import org.jboss.profileservice.profile.metadata.domain.BasicDomainMetaDataVisitor;
 import org.jboss.profileservice.resolver.BasicResolverFactory;
@@ -85,10 +85,10 @@
    {
       ProfileRequirementResolver resolver = createRequirementResolver(domainMetaData);
       BasicDomainMetaDataVisitor visitor = new BasicDomainMetaDataVisitor(resolver, getMetaDataRegistry());
-      Collection<DomainFeatureNode> features = domainMetaData.getFeatures();
+      Collection<DomainMetaDataFragment> features = domainMetaData.getFeatures();
       if(features != null && features.isEmpty() == false)
       {
-         for(DomainFeatureNode node : domainMetaData.getFeatures())
+         for(DomainMetaDataFragment node : domainMetaData.getFeatures())
          {
             visitor.visit(node);
          }

Modified: projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/deployment/hotdeploy/HDScanner.java
===================================================================
--- projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/deployment/hotdeploy/HDScanner.java	2010-04-01 11:47:52 UTC (rev 103417)
+++ projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/deployment/hotdeploy/HDScanner.java	2010-04-01 11:49:30 UTC (rev 103418)
@@ -31,11 +31,11 @@
 import org.jboss.profileservice.spi.MutableProfile;
 import org.jboss.profileservice.spi.ProfileDeployment;
 import org.jboss.profileservice.spi.ProfileKey;
-import org.jboss.profileservice.spi.action.ProfileModificationAction;
 import org.jboss.profileservice.spi.action.ProfileModificationContext;
 import org.jboss.profileservice.spi.action.ProfileModificationType;
 import org.jboss.profileservice.spi.action.engine.ActionController;
 import org.jboss.profileservice.spi.action.engine.ModificationStatus;
+import org.jboss.profileservice.spi.action.engine.ProfileModificationAction;
 import org.jboss.profileservice.spi.deployment.ProfileDeploymentFlag;
 import org.jboss.profileservice.spi.deployment.ProfileDeploymentInfo;
 import org.jboss.profileservice.spi.managed.ManagedProfile;

Modified: projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/management/AbstractActionController.java
===================================================================
--- projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/management/AbstractActionController.java	2010-04-01 11:47:52 UTC (rev 103417)
+++ projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/management/AbstractActionController.java	2010-04-01 11:49:30 UTC (rev 103418)
@@ -28,20 +28,20 @@
 import java.util.concurrent.locks.ReentrantReadWriteLock;
 
 import org.jboss.managed.api.ManagedDeployment;
-import org.jboss.profileservice.management.actions.BasicProfileModificationActions;
+import org.jboss.profileservice.management.actions.BasicProfileModificationRequest;
 import org.jboss.profileservice.management.event.ProfileLifeCycleEvent;
 import org.jboss.profileservice.management.event.ProfileModificationEvent;
 import org.jboss.profileservice.management.event.ProfileLifeCycleEvent.LifeCycleState;
 import org.jboss.profileservice.spi.Profile;
 import org.jboss.profileservice.spi.ProfileDeployment;
 import org.jboss.profileservice.spi.ProfileKey;
-import org.jboss.profileservice.spi.action.ProfileModificationAction;
-import org.jboss.profileservice.spi.action.ProfileModificationActions;
+import org.jboss.profileservice.spi.action.ProfileModificationRequest;
 import org.jboss.profileservice.spi.action.ProfileModificationContext;
 import org.jboss.profileservice.spi.action.ProfileModificationType;
 import org.jboss.profileservice.spi.action.TwoPhaseCommitProfileAction;
 import org.jboss.profileservice.spi.action.engine.ActionController;
 import org.jboss.profileservice.spi.action.engine.ModificationStatus;
+import org.jboss.profileservice.spi.action.engine.ProfileModificationAction;
 import org.jboss.profileservice.spi.managed.ManagedProfile;
 import org.jboss.profileservice.spi.managed.ManagedProfileConfiguration;
 import org.jboss.profileservice.spi.managed.ManagedProfileDeployer;
@@ -124,7 +124,7 @@
     */
    public ModificationStatus perform(ProfileKey key, ProfileModificationType type, List<ProfileModificationAction<ProfileModificationContext>> actions)
    {
-      BasicProfileModificationActions modifications = new BasicProfileModificationActions(type);
+      BasicProfileModificationRequest modifications = new BasicProfileModificationRequest(type);
       for(ProfileModificationAction<ProfileModificationContext> action : actions)
       {
          modifications.addAction(key, action);
@@ -135,7 +135,7 @@
    /**
     * {@inheritDoc}
     */
-   public ModificationStatus perform(ProfileModificationActions actions)
+   public ModificationStatus perform(ProfileModificationRequest actions)
    {
       ProfileModificationType type = actions.getType();
       if(type == ProfileModificationType.GET)
@@ -154,7 +154,7 @@
     * @param actions the read actions
     * @return the status
     */
-   ModificationStatus performRead(ProfileModificationActions actions)
+   ModificationStatus performRead(ProfileModificationRequest actions)
    {
       List<ProfileWrapper> profiles = new ArrayList<ProfileWrapper>();
       try
@@ -189,7 +189,7 @@
     * @param actions the write actions
     * @return the status
     */
-   ModificationStatus performWrite(ProfileModificationActions actions)
+   ModificationStatus performWrite(ProfileModificationRequest actions)
    {
       List<ProfileWrapper> profiles = new ArrayList<ProfileWrapper>();
       try
@@ -225,7 +225,7 @@
     * @param actions the actions
     * @return the status
     */
-   ModificationStatus internalPerfom(ProfileModificationActions actions)
+   ModificationStatus internalPerfom(ProfileModificationRequest actions)
    {
       boolean success = true;
       final List<TwoPhaseCommitProfileAction<?>> prepared = new ArrayList<TwoPhaseCommitProfileAction<?>>();

Modified: projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/management/TwoPCActionWrapper.java
===================================================================
--- projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/management/TwoPCActionWrapper.java	2010-04-01 11:47:52 UTC (rev 103417)
+++ projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/management/TwoPCActionWrapper.java	2010-04-01 11:49:30 UTC (rev 103418)
@@ -22,8 +22,8 @@
 package org.jboss.profileservice.management;
 
 import org.jboss.profileservice.management.actions.AbstractTwoPhaseModificationAction;
-import org.jboss.profileservice.spi.action.ProfileModificationAction;
 import org.jboss.profileservice.spi.action.ProfileModificationContext;
+import org.jboss.profileservice.spi.action.engine.ProfileModificationAction;
 
 /**
  * @author <a href="mailto:emuckenh at redhat.com">Emanuel Muckenhuber</a>

Deleted: projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/management/actions/BasicProfileModificationActions.java
===================================================================
--- projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/management/actions/BasicProfileModificationActions.java	2010-04-01 11:47:52 UTC (rev 103417)
+++ projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/management/actions/BasicProfileModificationActions.java	2010-04-01 11:49:30 UTC (rev 103418)
@@ -1,86 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2010, Red Hat Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.profileservice.management.actions;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.jboss.profileservice.spi.ProfileKey;
-import org.jboss.profileservice.spi.action.ProfileModificationAction;
-import org.jboss.profileservice.spi.action.ProfileModificationActions;
-import org.jboss.profileservice.spi.action.ProfileModificationContext;
-import org.jboss.profileservice.spi.action.ProfileModificationType;
-
-/**
- * The basic modification actions.
- * 
- * @author <a href="mailto:emuckenh at redhat.com">Emanuel Muckenhuber</a>
- * @version $Revision$
- */
-public class BasicProfileModificationActions implements ProfileModificationActions
-{
-   
-   /** The modification type. */
-   private final ProfileModificationType type;
-   
-   /** The profiles. */
-   private List<ProfileKey> profiles = new ArrayList<ProfileKey>();
-   
-   /** The actions by profile. */
-   private Map<ProfileKey, List<ProfileModificationAction<? extends ProfileModificationContext>>> modificationActions = new HashMap<ProfileKey, List<ProfileModificationAction<? extends ProfileModificationContext>>>();
-
-   public BasicProfileModificationActions(ProfileModificationType type)
-   {
-      this.type = type;
-   }
-
-   public ProfileModificationType getType()
-   {
-      return this.type;
-   }
-   
-   public List<ProfileKey> getProfilesKeys()
-   {
-      return this.profiles;
-   }
-
-   public List<ProfileModificationAction<? extends ProfileModificationContext>> getActions(ProfileKey key)
-   {
-      return modificationActions.get(key);
-   }
-   
-   public void addAction(ProfileKey key, ProfileModificationAction<? extends ProfileModificationContext> action)
-   {
-      List<ProfileModificationAction<? extends ProfileModificationContext>> actions = this.modificationActions.get(key);
-      if(actions == null)
-      {
-         actions = new ArrayList<ProfileModificationAction<? extends ProfileModificationContext>>();
-         this.profiles.add(key);
-         this.modificationActions.put(key, actions);
-      }
-      actions.add(action);
-   }
-   
-}
-

Copied: projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/management/actions/BasicProfileModificationRequest.java (from rev 103239, projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/management/actions/BasicProfileModificationActions.java)
===================================================================
--- projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/management/actions/BasicProfileModificationRequest.java	                        (rev 0)
+++ projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/management/actions/BasicProfileModificationRequest.java	2010-04-01 11:49:30 UTC (rev 103418)
@@ -0,0 +1,86 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2010, Red Hat Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.profileservice.management.actions;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.jboss.profileservice.spi.ProfileKey;
+import org.jboss.profileservice.spi.action.ProfileModificationRequest;
+import org.jboss.profileservice.spi.action.ProfileModificationContext;
+import org.jboss.profileservice.spi.action.ProfileModificationType;
+import org.jboss.profileservice.spi.action.engine.ProfileModificationAction;
+
+/**
+ * The basic modification request.
+ * 
+ * @author <a href="mailto:emuckenh at redhat.com">Emanuel Muckenhuber</a>
+ * @version $Revision$
+ */
+public class BasicProfileModificationRequest implements ProfileModificationRequest
+{
+   
+   /** The modification type. */
+   private final ProfileModificationType type;
+   
+   /** The profiles. */
+   private List<ProfileKey> profiles = new ArrayList<ProfileKey>();
+   
+   /** The actions by profile. */
+   private Map<ProfileKey, List<ProfileModificationAction<? extends ProfileModificationContext>>> modificationActions = new HashMap<ProfileKey, List<ProfileModificationAction<? extends ProfileModificationContext>>>();
+
+   public BasicProfileModificationRequest(ProfileModificationType type)
+   {
+      this.type = type;
+   }
+
+   public ProfileModificationType getType()
+   {
+      return this.type;
+   }
+   
+   public List<ProfileKey> getProfilesKeys()
+   {
+      return this.profiles;
+   }
+
+   public List<ProfileModificationAction<? extends ProfileModificationContext>> getActions(ProfileKey key)
+   {
+      return modificationActions.get(key);
+   }
+   
+   public void addAction(ProfileKey key, ProfileModificationAction<? extends ProfileModificationContext> action)
+   {
+      List<ProfileModificationAction<? extends ProfileModificationContext>> actions = this.modificationActions.get(key);
+      if(actions == null)
+      {
+         actions = new ArrayList<ProfileModificationAction<? extends ProfileModificationContext>>();
+         this.profiles.add(key);
+         this.modificationActions.put(key, actions);
+      }
+      actions.add(action);
+   }
+   
+}
+

Modified: projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/profile/bootstrap/BootstrapProfileMetaData.java
===================================================================
--- projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/profile/bootstrap/BootstrapProfileMetaData.java	2010-04-01 11:47:52 UTC (rev 103417)
+++ projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/profile/bootstrap/BootstrapProfileMetaData.java	2010-04-01 11:49:30 UTC (rev 103418)
@@ -30,8 +30,8 @@
 import javax.xml.bind.annotation.XmlRootElement;
 import javax.xml.bind.annotation.XmlType;
 
-import org.jboss.profileservice.domain.spi.DomainFeatureNode;
-import org.jboss.profileservice.domain.spi.DomainFeatureVisitor;
+import org.jboss.profileservice.domain.spi.DomainMetaDataFragment;
+import org.jboss.profileservice.domain.spi.DomainMetaDataFragmentVisitor;
 import org.jboss.profileservice.profile.metadata.BasicProfileDeploymentMetaData;
 import org.jboss.profileservice.profile.metadata.BasicSubProfileMetaData;
 import org.jboss.profileservice.profile.metadata.CommonProfileNameSpaces;
@@ -53,7 +53,7 @@
       replacePropertyRefs=true)
 @XmlRootElement(name = "bootstrap")
 @XmlType(propOrder = { "source", "deployments", "features" })
-public class BootstrapProfileMetaData extends AbstractProfileMetaData implements DomainFeatureNode
+public class BootstrapProfileMetaData extends AbstractProfileMetaData implements DomainMetaDataFragment
 {
    
    /** The profile source. */
@@ -118,7 +118,7 @@
    }
 
    @Override
-   public void visit(DomainFeatureVisitor visitor)
+   public void visit(DomainMetaDataFragmentVisitor visitor)
    {
       visitor.addProfileMetaData(this);
    }

Modified: projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/profile/metadata/BasicProfileMetaData.java
===================================================================
--- projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/profile/metadata/BasicProfileMetaData.java	2010-04-01 11:47:52 UTC (rev 103417)
+++ projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/profile/metadata/BasicProfileMetaData.java	2010-04-01 11:49:30 UTC (rev 103418)
@@ -30,8 +30,8 @@
 import javax.xml.bind.annotation.XmlRootElement;
 import javax.xml.bind.annotation.XmlType;
 
-import org.jboss.profileservice.domain.spi.DomainFeatureNode;
-import org.jboss.profileservice.domain.spi.DomainFeatureVisitor;
+import org.jboss.profileservice.domain.spi.DomainMetaDataFragment;
+import org.jboss.profileservice.domain.spi.DomainMetaDataFragmentVisitor;
 import org.jboss.profileservice.profile.metadata.helpers.AbstractProfileMetaData;
 import org.jboss.profileservice.spi.metadata.ProfileDeploymentMetaData;
 import org.jboss.profileservice.spi.metadata.ProfileMetaData;
@@ -51,7 +51,7 @@
       replacePropertyRefs=false)
 @XmlRootElement(name = "profile")
 @XmlType(name = "profileType", propOrder = {"aliases", "source", "deployments", "features"})
-public class BasicProfileMetaData extends AbstractProfileMetaData implements ProfileMetaData, DomainFeatureNode
+public class BasicProfileMetaData extends AbstractProfileMetaData implements ProfileMetaData, DomainMetaDataFragment
 {
 
    /** Requirement on the bootstrap. */
@@ -171,7 +171,7 @@
    }
    
    @Override
-   public void visit(DomainFeatureVisitor visitor)
+   public void visit(DomainMetaDataFragmentVisitor visitor)
    {
       visitor.addProfileMetaData(this);
    }

Modified: projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/profile/metadata/domain/BasicDomainMetaDataVisitor.java
===================================================================
--- projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/profile/metadata/domain/BasicDomainMetaDataVisitor.java	2010-04-01 11:47:52 UTC (rev 103417)
+++ projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/profile/metadata/domain/BasicDomainMetaDataVisitor.java	2010-04-01 11:49:30 UTC (rev 103418)
@@ -22,8 +22,8 @@
 package org.jboss.profileservice.profile.metadata.domain;
 
 import org.jboss.profileservice.dependency.ProfileMetaDataRegistry;
-import org.jboss.profileservice.domain.spi.DomainFeatureNode;
-import org.jboss.profileservice.domain.spi.DomainFeatureVisitor;
+import org.jboss.profileservice.domain.spi.DomainMetaDataFragment;
+import org.jboss.profileservice.domain.spi.DomainMetaDataFragmentVisitor;
 import org.jboss.profileservice.profile.metadata.domain.RequiredProfiles.ResolveRequirement;
 import org.jboss.profileservice.spi.dependency.ProfileCapability;
 import org.jboss.profileservice.spi.dependency.ProfileRequirement;
@@ -37,7 +37,7 @@
  * @author <a href="mailto:emuckenh at redhat.com">Emanuel Muckenhuber</a>
  * @version $Revision$
  */
-public class BasicDomainMetaDataVisitor implements DomainFeatureVisitor, ProfileMetaDataVisitor
+public class BasicDomainMetaDataVisitor implements DomainMetaDataFragmentVisitor, ProfileMetaDataVisitor
 {
    
    /** The requirement resolver. */
@@ -90,7 +90,7 @@
    }
    
    @Override
-   public void visit(DomainFeatureNode node)
+   public void visit(DomainMetaDataFragment node)
    {
       node.visit(this);
    }

Modified: projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/profile/metadata/domain/RequiredProfiles.java
===================================================================
--- projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/profile/metadata/domain/RequiredProfiles.java	2010-04-01 11:47:52 UTC (rev 103417)
+++ projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/profile/metadata/domain/RequiredProfiles.java	2010-04-01 11:49:30 UTC (rev 103418)
@@ -31,8 +31,8 @@
 import javax.xml.bind.annotation.XmlTransient;
 import javax.xml.bind.annotation.XmlType;
 
-import org.jboss.profileservice.domain.spi.DomainFeatureNode;
-import org.jboss.profileservice.domain.spi.DomainFeatureVisitor;
+import org.jboss.profileservice.domain.spi.DomainMetaDataFragment;
+import org.jboss.profileservice.domain.spi.DomainMetaDataFragmentVisitor;
 import org.jboss.profileservice.profile.metadata.CommonProfileNameSpaces;
 import org.jboss.profileservice.profile.metadata.helpers.AbstractProfileMetaData;
 import org.jboss.profileservice.profile.metadata.helpers.AbstractSubProfileKeyMetaData;
@@ -55,7 +55,7 @@
       replacePropertyRefs=false)
 @XmlRootElement(name = "required-profiles")
 @XmlType(name = "emptyProfileType", propOrder = "features")
-public class RequiredProfiles extends AbstractProfileMetaData implements DomainFeatureNode
+public class RequiredProfiles extends AbstractProfileMetaData implements DomainMetaDataFragment
 {
 
    @Override
@@ -83,7 +83,7 @@
    }
    
    @Override
-   public void visit(DomainFeatureVisitor visitor)
+   public void visit(DomainMetaDataFragmentVisitor visitor)
    {
       visitor.addProfileMetaData(this);
    }

Modified: projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/profile/metadata/plugin/ClassPathProfileMetaData.java
===================================================================
--- projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/profile/metadata/plugin/ClassPathProfileMetaData.java	2010-04-01 11:47:52 UTC (rev 103417)
+++ projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/profile/metadata/plugin/ClassPathProfileMetaData.java	2010-04-01 11:49:30 UTC (rev 103418)
@@ -31,8 +31,8 @@
 import javax.xml.bind.annotation.XmlTransient;
 import javax.xml.bind.annotation.XmlType;
 
-import org.jboss.profileservice.domain.spi.DomainFeatureNode;
-import org.jboss.profileservice.domain.spi.DomainFeatureVisitor;
+import org.jboss.profileservice.domain.spi.DomainMetaDataFragment;
+import org.jboss.profileservice.domain.spi.DomainMetaDataFragmentVisitor;
 import org.jboss.profileservice.profile.metadata.CommonProfileNameSpaces;
 import org.jboss.profileservice.profile.metadata.helpers.AbstractProfileMetaData;
 import org.jboss.profileservice.repository.artifact.file.FileArtifactId;
@@ -56,7 +56,7 @@
       replacePropertyRefs=true)
 @XmlRootElement(name = "classpath")
 @XmlType(name = "classpathProfileType", propOrder = "deployments")
-public class ClassPathProfileMetaData extends AbstractProfileMetaData implements DomainFeatureNode
+public class ClassPathProfileMetaData extends AbstractProfileMetaData implements DomainMetaDataFragment
 {
 
    /** The system classpath items. */
@@ -76,7 +76,7 @@
    }
 
    @Override
-   public void visit(DomainFeatureVisitor visitor)
+   public void visit(DomainMetaDataFragmentVisitor visitor)
    {
       visitor.addProfileMetaData(this);
    }

Modified: projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/profile/metadata/plugin/PropertyProfileMetaData.java
===================================================================
--- projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/profile/metadata/plugin/PropertyProfileMetaData.java	2010-04-01 11:47:52 UTC (rev 103417)
+++ projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/profile/metadata/plugin/PropertyProfileMetaData.java	2010-04-01 11:49:30 UTC (rev 103418)
@@ -31,8 +31,8 @@
 import javax.xml.bind.annotation.XmlTransient;
 import javax.xml.bind.annotation.XmlType;
 
-import org.jboss.profileservice.domain.spi.DomainFeatureNode;
-import org.jboss.profileservice.domain.spi.DomainFeatureVisitor;
+import org.jboss.profileservice.domain.spi.DomainMetaDataFragment;
+import org.jboss.profileservice.domain.spi.DomainMetaDataFragmentVisitor;
 import org.jboss.profileservice.profile.metadata.CommonProfileNameSpaces;
 import org.jboss.profileservice.profile.metadata.helpers.AbstractProfileMetaData;
 import org.jboss.profileservice.spi.metadata.ProfileDeploymentMetaData;
@@ -51,7 +51,7 @@
       replacePropertyRefs=true)
 @XmlRootElement(name = "static-deployment")
 @XmlType(name = "hotDeploymentType", propOrder = { "source" })
-public class PropertyProfileMetaData extends AbstractProfileMetaData implements DomainFeatureNode
+public class PropertyProfileMetaData extends AbstractProfileMetaData implements DomainMetaDataFragment
 {
 
    /** The source. */
@@ -106,7 +106,7 @@
       return false;
    }
    
-   public void visit(DomainFeatureVisitor visitor)
+   public void visit(DomainMetaDataFragmentVisitor visitor)
    {
       visitor.addProfileMetaData(this);
    }

Modified: projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/artifact/maven/AbstractMavenArtifactRepository.java
===================================================================
--- projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/artifact/maven/AbstractMavenArtifactRepository.java	2010-04-01 11:47:52 UTC (rev 103417)
+++ projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/artifact/maven/AbstractMavenArtifactRepository.java	2010-04-01 11:49:30 UTC (rev 103418)
@@ -37,6 +37,9 @@
 public abstract class AbstractMavenArtifactRepository extends AbstractArtifactRepository<MavenArtifactId>
 {
 
+   private static final char GROUP_SEPARATOR = '.';
+   private static final char ARTIFACT_SEPARATOR = '-';
+   
    public AbstractMavenArtifactRepository(ArtifactRepositoryId identifier, URI root) throws IOException
    {
       super(identifier, root);
@@ -71,9 +74,9 @@
       StringBuilder builder = new StringBuilder();
       builder.append(artifact.getArtifactId());
       if(artifact.getClassifier() != null)
-         builder.append("-").append(artifact.getClassifier());
-      builder.append("-").append(artifact.getVersion().toString());
-      builder.append(".").append(artifact.getPackagingType());
+         builder.append(ARTIFACT_SEPARATOR).append(artifact.getClassifier());
+      builder.append(ARTIFACT_SEPARATOR).append(artifact.getVersion().toString());
+      builder.append(GROUP_SEPARATOR).append(artifact.getPackagingType());
       return builder.toString();
    }
 

Modified: projects/profileservice/trunk/core/src/test/java/org/jboss/test/profileservice/deployment/test/HDScannerUnitTestCase.java
===================================================================
--- projects/profileservice/trunk/core/src/test/java/org/jboss/test/profileservice/deployment/test/HDScannerUnitTestCase.java	2010-04-01 11:47:52 UTC (rev 103417)
+++ projects/profileservice/trunk/core/src/test/java/org/jboss/test/profileservice/deployment/test/HDScannerUnitTestCase.java	2010-04-01 11:49:30 UTC (rev 103418)
@@ -141,7 +141,7 @@
       
       assertTrue(scanner1.isScheduled());
       assertFalse(scanner2.isScheduled());
-      assertTrue(scanner1.getScanCount() > 1);
+      assertTrue(scanner1.getScanCount() > 0);
       assertEquals(0, scanner2.getScanCount());
 
       scanner2.start();
@@ -150,8 +150,8 @@
 
       assertTrue(scanner1.isScheduled());
       assertTrue(scanner2.isScheduled());
-      assertTrue(scanner1.getScanCount() > 1);
-      assertTrue(scanner2.getScanCount() > 1);
+      assertTrue(scanner1.getScanCount() > 5);
+      assertTrue(scanner2.getScanCount() > 0);
       
       scannerFactory.disabledScanning();
 

Modified: projects/profileservice/trunk/core/src/test/java/org/jboss/test/profileservice/domain/support/AbstractDomainMetaDataVisitor.java
===================================================================
--- projects/profileservice/trunk/core/src/test/java/org/jboss/test/profileservice/domain/support/AbstractDomainMetaDataVisitor.java	2010-04-01 11:47:52 UTC (rev 103417)
+++ projects/profileservice/trunk/core/src/test/java/org/jboss/test/profileservice/domain/support/AbstractDomainMetaDataVisitor.java	2010-04-01 11:49:30 UTC (rev 103418)
@@ -27,8 +27,8 @@
 import org.jboss.logging.Logger;
 import org.jboss.profileservice.dependency.ProfileDependencyContext;
 import org.jboss.profileservice.dependency.ProfileMetaDataRegistry;
-import org.jboss.profileservice.domain.spi.DomainFeatureNode;
-import org.jboss.profileservice.domain.spi.DomainFeatureVisitor;
+import org.jboss.profileservice.domain.spi.DomainMetaDataFragment;
+import org.jboss.profileservice.domain.spi.DomainMetaDataFragmentVisitor;
 import org.jboss.profileservice.profile.metadata.domain.RequiredProfiles.ResolveRequirement;
 import org.jboss.profileservice.profile.metadata.plugin.EmptyProfileMetaData;
 import org.jboss.profileservice.spi.ProfileKey;
@@ -43,7 +43,7 @@
  * @author <a href="mailto:emuckenh at redhat.com">Emanuel Muckenhuber</a>
  * @version $Revision$
  */
-public class AbstractDomainMetaDataVisitor implements DomainFeatureVisitor, ProfileMetaDataVisitor
+public class AbstractDomainMetaDataVisitor implements DomainMetaDataFragmentVisitor, ProfileMetaDataVisitor
 {
 
    /** The logger. */
@@ -116,7 +116,7 @@
    }
    
    @Override
-   public void visit(DomainFeatureNode node)
+   public void visit(DomainMetaDataFragment node)
    {
       stack.push(node.getNameSpace());
       try

Modified: projects/profileservice/trunk/core/src/test/java/org/jboss/test/profileservice/test/BasicProfileServiceUnitTestCase.java
===================================================================
--- projects/profileservice/trunk/core/src/test/java/org/jboss/test/profileservice/test/BasicProfileServiceUnitTestCase.java	2010-04-01 11:47:52 UTC (rev 103417)
+++ projects/profileservice/trunk/core/src/test/java/org/jboss/test/profileservice/test/BasicProfileServiceUnitTestCase.java	2010-04-01 11:49:30 UTC (rev 103418)
@@ -31,7 +31,7 @@
 import org.jboss.profileservice.dependency.ProfileDependencyContext;
 import org.jboss.profileservice.dependency.ProfileMetaDataRegistry;
 import org.jboss.profileservice.deployment.hotdeploy.HDScannerFactory;
-import org.jboss.profileservice.domain.spi.DomainFeatureNode;
+import org.jboss.profileservice.domain.spi.DomainMetaDataFragment;
 import org.jboss.profileservice.domain.spi.DomainMetaData;
 import org.jboss.profileservice.metadata.ProfilesMetaDataFactory;
 import org.jboss.profileservice.resolver.AbstractRequirementResolver;
@@ -81,7 +81,7 @@
          domain.registerProfileMetaData(md);
       }
       AbstractDomainMetaDataVisitor visitor = new AbstractDomainMetaDataVisitor(domain);
-      for(DomainFeatureNode node : metaData.getFeatures())
+      for(DomainMetaDataFragment node : metaData.getFeatures())
       {
          visitor.visit(node);
       }

Modified: projects/profileservice/trunk/domain/src/main/java/org/jboss/profileservice/domain/AbstractDomainMetaData.java
===================================================================
--- projects/profileservice/trunk/domain/src/main/java/org/jboss/profileservice/domain/AbstractDomainMetaData.java	2010-04-01 11:47:52 UTC (rev 103417)
+++ projects/profileservice/trunk/domain/src/main/java/org/jboss/profileservice/domain/AbstractDomainMetaData.java	2010-04-01 11:49:30 UTC (rev 103418)
@@ -37,7 +37,7 @@
 import org.jboss.profileservice.domain.resources.JmsResource;
 import org.jboss.profileservice.domain.resources.QueueResource;
 import org.jboss.profileservice.domain.resources.TopicResource;
-import org.jboss.profileservice.domain.spi.DomainFeatureNode;
+import org.jboss.profileservice.domain.spi.DomainMetaDataFragment;
 import org.jboss.profileservice.domain.spi.DomainMetaData;
 import org.jboss.profileservice.domain.threadpool.ThreadsMetaData;
 import org.jboss.xb.annotations.JBossXmlNsPrefix;
@@ -74,7 +74,7 @@
    private List<JmsResource> jmsResources;
 
    /** The elements of the domain. */
-   private List<DomainFeatureNode> features;
+   private List<DomainMetaDataFragment> features;
    
    /**
     * Get the management domain information.
@@ -152,12 +152,12 @@
     * @return the elements
     */
    @XmlAnyElement
-   public List<DomainFeatureNode> getFeatures()
+   public List<DomainMetaDataFragment> getFeatures()
    {
       return features;
    }
    
-   public void setFeatures(List<DomainFeatureNode> elements)
+   public void setFeatures(List<DomainMetaDataFragment> elements)
    {
       this.features = elements;
    }

Modified: projects/profileservice/trunk/domain/src/main/java/org/jboss/profileservice/domain/ServerMetaData.java
===================================================================
--- projects/profileservice/trunk/domain/src/main/java/org/jboss/profileservice/domain/ServerMetaData.java	2010-04-01 11:47:52 UTC (rev 103417)
+++ projects/profileservice/trunk/domain/src/main/java/org/jboss/profileservice/domain/ServerMetaData.java	2010-04-01 11:49:30 UTC (rev 103418)
@@ -30,8 +30,8 @@
 import javax.xml.bind.annotation.XmlElementWrapper;
 import javax.xml.bind.annotation.XmlType;
 
-import org.jboss.profileservice.domain.spi.DomainFeatureNode;
-import org.jboss.profileservice.domain.spi.DomainFeatureVisitor;
+import org.jboss.profileservice.domain.spi.DomainMetaDataFragment;
+import org.jboss.profileservice.domain.spi.DomainMetaDataFragmentVisitor;
 import org.jboss.profileservice.domain.spi.DomainMetaData;
 import org.jboss.xb.annotations.JBossXmlSchema;
 
@@ -48,7 +48,7 @@
 @XmlRootElement(name = "server")
 @XmlType(name = "serverType", propOrder = {"properties", "shutdownTimeout"})
 public class ServerMetaData
-   implements DomainFeatureNode
+   implements DomainMetaDataFragment
 {
 
    /** The server name. */
@@ -114,7 +114,7 @@
    }
 
    @Override
-   public void visit(DomainFeatureVisitor visitor)
+   public void visit(DomainMetaDataFragmentVisitor visitor)
    {
       // TODO Auto-generated method stub
       

Deleted: projects/profileservice/trunk/domain/src/main/java/org/jboss/profileservice/domain/spi/DomainFeatureNode.java
===================================================================
--- projects/profileservice/trunk/domain/src/main/java/org/jboss/profileservice/domain/spi/DomainFeatureNode.java	2010-04-01 11:47:52 UTC (rev 103417)
+++ projects/profileservice/trunk/domain/src/main/java/org/jboss/profileservice/domain/spi/DomainFeatureNode.java	2010-04-01 11:49:30 UTC (rev 103418)
@@ -1,48 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2009, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.profileservice.domain.spi;
-
-/**
- * The domain feature node.
- * 
- * @author <a href="mailto:emuckenh at redhat.com">Emanuel Muckenhuber</a>
- * @version $Revision$
- */
-public interface DomainFeatureNode
-{
-
-   /**
-    * Get the management namespace.
-    * 
-    * @return the management namespace
-    */
-   String getNameSpace();
-   
-   /**
-    * Visit a domain element
-    * 
-    * @param visitor the visitor
-    */
-   void visit(DomainFeatureVisitor visitor);
-   
-}
-

Deleted: projects/profileservice/trunk/domain/src/main/java/org/jboss/profileservice/domain/spi/DomainFeatureVisitor.java
===================================================================
--- projects/profileservice/trunk/domain/src/main/java/org/jboss/profileservice/domain/spi/DomainFeatureVisitor.java	2010-04-01 11:47:52 UTC (rev 103417)
+++ projects/profileservice/trunk/domain/src/main/java/org/jboss/profileservice/domain/spi/DomainFeatureVisitor.java	2010-04-01 11:49:30 UTC (rev 103418)
@@ -1,51 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2009, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.profileservice.domain.spi;
-
-import org.jboss.profileservice.spi.metadata.ProfileMetaData;
-
-/**
- * The domain feature visitor.
- * 
- * @author <a href="mailto:emuckenh at redhat.com">Emanuel Muckenhuber</a>
- * @version $Revision$
- */
-public interface DomainFeatureVisitor
-{
-
-   /**
-    * Add the profile meta data. 
-    * 
-    * @param metaData the profile meta data
-    */
-   void addProfileMetaData(ProfileMetaData metaData);
-   
-   
-   /**
-    * Visit a domain element node.
-    * 
-    * @param node the node
-    */
-   void visit(DomainFeatureNode node);
-   
-}
-

Modified: projects/profileservice/trunk/domain/src/main/java/org/jboss/profileservice/domain/spi/DomainMetaData.java
===================================================================
--- projects/profileservice/trunk/domain/src/main/java/org/jboss/profileservice/domain/spi/DomainMetaData.java	2010-04-01 11:47:52 UTC (rev 103417)
+++ projects/profileservice/trunk/domain/src/main/java/org/jboss/profileservice/domain/spi/DomainMetaData.java	2010-04-01 11:49:30 UTC (rev 103418)
@@ -48,7 +48,7 @@
     * 
     * @return the features.
     */
-   List<DomainFeatureNode> getFeatures();
+   List<DomainMetaDataFragment> getFeatures();
    
 }
 

Copied: projects/profileservice/trunk/domain/src/main/java/org/jboss/profileservice/domain/spi/DomainMetaDataFragment.java (from rev 103403, projects/profileservice/trunk/domain/src/main/java/org/jboss/profileservice/domain/spi/DomainFeatureNode.java)
===================================================================
--- projects/profileservice/trunk/domain/src/main/java/org/jboss/profileservice/domain/spi/DomainMetaDataFragment.java	                        (rev 0)
+++ projects/profileservice/trunk/domain/src/main/java/org/jboss/profileservice/domain/spi/DomainMetaDataFragment.java	2010-04-01 11:49:30 UTC (rev 103418)
@@ -0,0 +1,48 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2009, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.profileservice.domain.spi;
+
+/**
+ * The domain meta data fragment.
+ * 
+ * @author <a href="mailto:emuckenh at redhat.com">Emanuel Muckenhuber</a>
+ * @version $Revision$
+ */
+public interface DomainMetaDataFragment
+{
+
+   /**
+    * Get the management namespace.
+    * 
+    * @return the management namespace
+    */
+   String getNameSpace();
+   
+   /**
+    * Visit a domain element
+    * 
+    * @param visitor the visitor
+    */
+   void visit(DomainMetaDataFragmentVisitor visitor);
+   
+}
+

Copied: projects/profileservice/trunk/domain/src/main/java/org/jboss/profileservice/domain/spi/DomainMetaDataFragmentVisitor.java (from rev 103403, projects/profileservice/trunk/domain/src/main/java/org/jboss/profileservice/domain/spi/DomainFeatureVisitor.java)
===================================================================
--- projects/profileservice/trunk/domain/src/main/java/org/jboss/profileservice/domain/spi/DomainMetaDataFragmentVisitor.java	                        (rev 0)
+++ projects/profileservice/trunk/domain/src/main/java/org/jboss/profileservice/domain/spi/DomainMetaDataFragmentVisitor.java	2010-04-01 11:49:30 UTC (rev 103418)
@@ -0,0 +1,51 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2009, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.profileservice.domain.spi;
+
+import org.jboss.profileservice.spi.metadata.ProfileMetaData;
+
+/**
+ * The domain meta data fragment visitor.
+ * 
+ * @author <a href="mailto:emuckenh at redhat.com">Emanuel Muckenhuber</a>
+ * @version $Revision$
+ */
+public interface DomainMetaDataFragmentVisitor
+{
+
+   /**
+    * Add the profile meta data. 
+    * 
+    * @param metaData the profile meta data
+    */
+   void addProfileMetaData(ProfileMetaData metaData);
+   
+   
+   /**
+    * Visit a domain element node.
+    * 
+    * @param node the node
+    */
+   void visit(DomainMetaDataFragment node);
+   
+}
+

Modified: projects/profileservice/trunk/domain/src/main/java/org/jboss/profileservice/domain/threadpool/BasicThreadPoolMetaData.java
===================================================================
--- projects/profileservice/trunk/domain/src/main/java/org/jboss/profileservice/domain/threadpool/BasicThreadPoolMetaData.java	2010-04-01 11:47:52 UTC (rev 103417)
+++ projects/profileservice/trunk/domain/src/main/java/org/jboss/profileservice/domain/threadpool/BasicThreadPoolMetaData.java	2010-04-01 11:49:30 UTC (rev 103418)
@@ -8,8 +8,8 @@
 import javax.xml.bind.annotation.XmlType;
 
 import org.jboss.profileservice.domain.Property;
-import org.jboss.profileservice.domain.spi.DomainFeatureNode;
-import org.jboss.profileservice.domain.spi.DomainFeatureVisitor;
+import org.jboss.profileservice.domain.spi.DomainMetaDataFragment;
+import org.jboss.profileservice.domain.spi.DomainMetaDataFragmentVisitor;
 import org.jboss.profileservice.domain.spi.DomainMetaData;
 import org.jboss.xb.annotations.JBossXmlSchema;
 
@@ -20,7 +20,7 @@
 @XmlRootElement(name = "thread-pool")
 @XmlType(name = "threadPoolType", propOrder={})
 public class BasicThreadPoolMetaData
-   implements DomainFeatureNode, IThreadPool
+   implements DomainMetaDataFragment, IThreadPool
 {
    private String name;
    private Set<Property> properties;
@@ -51,7 +51,7 @@
       return null;
    }
    @Override
-   public void visit(DomainFeatureVisitor visitor)
+   public void visit(DomainMetaDataFragmentVisitor visitor)
    {
       // TODO Auto-generated method stub
       

Modified: projects/profileservice/trunk/plugins/src/main/java/org/jboss/profileservice/plugins/deploy/AbstractDeployHandler.java
===================================================================
--- projects/profileservice/trunk/plugins/src/main/java/org/jboss/profileservice/plugins/deploy/AbstractDeployHandler.java	2010-04-01 11:47:52 UTC (rev 103417)
+++ projects/profileservice/trunk/plugins/src/main/java/org/jboss/profileservice/plugins/deploy/AbstractDeployHandler.java	2010-04-01 11:49:30 UTC (rev 103418)
@@ -30,7 +30,7 @@
 import java.util.Set;
 
 import org.jboss.deployers.spi.management.deploy.DeploymentID;
-import org.jboss.profileservice.management.actions.BasicProfileModificationActions;
+import org.jboss.profileservice.management.actions.BasicProfileModificationRequest;
 import org.jboss.profileservice.plugins.deploy.actions.DeploymentAddAction;
 import org.jboss.profileservice.plugins.deploy.actions.DeploymentDistributeAction;
 import org.jboss.profileservice.plugins.deploy.actions.DeploymentRemoveAction;
@@ -95,7 +95,7 @@
     */
    protected void addDeployment(DeploymentID dtID, InputStream contentIS)
    {
-      BasicProfileModificationActions actions = new BasicProfileModificationActions(ProfileModificationType.ADD);
+      BasicProfileModificationRequest actions = new BasicProfileModificationRequest(ProfileModificationType.ADD);
       if(dtID.isCopyContent())
       {
          ManagedProfile managed = actionController.getManagedProfile(dtID.getProfile());
@@ -138,7 +138,7 @@
    protected void startDeployments(String... deploymentNames) throws Exception
    {
       Map<ProfileKey, Set<String>> mappings = resolveProfiles(deploymentNames, false, true);
-      BasicProfileModificationActions actions = new BasicProfileModificationActions(ProfileModificationType.UPDATE);
+      BasicProfileModificationRequest actions = new BasicProfileModificationRequest(ProfileModificationType.UPDATE);
       for(ProfileKey key : mappings.keySet())
       {
          ManagedProfile managed = actionController.getManagedProfile(key);
@@ -164,7 +164,7 @@
    protected void stopDeployments(String... deploymentNames) throws Exception
    {
       Map<ProfileKey, Set<String>> mappings = resolveProfiles(deploymentNames, false, true);
-      BasicProfileModificationActions actions = new BasicProfileModificationActions(ProfileModificationType.UPDATE);
+      BasicProfileModificationRequest actions = new BasicProfileModificationRequest(ProfileModificationType.UPDATE);
       for(ProfileKey key : mappings.keySet())
       {
          ManagedProfile managed = actionController.getManagedProfile(key);
@@ -190,7 +190,7 @@
    protected void removeDeployments(String... deploymentNames) throws Exception
    {
       Map<ProfileKey, Set<String>> mappings = resolveProfiles(deploymentNames, true, true);
-      BasicProfileModificationActions actions = new BasicProfileModificationActions(ProfileModificationType.DELETE);
+      BasicProfileModificationRequest actions = new BasicProfileModificationRequest(ProfileModificationType.DELETE);
       for(ProfileKey key : mappings.keySet())
       {
          ManagedProfile managed = actionController.getManagedProfile(key);

Modified: projects/profileservice/trunk/plugins/src/main/java/org/jboss/profileservice/plugins/deploy/actions/AbstractDeploymentAddAction.java
===================================================================
--- projects/profileservice/trunk/plugins/src/main/java/org/jboss/profileservice/plugins/deploy/actions/AbstractDeploymentAddAction.java	2010-04-01 11:47:52 UTC (rev 103417)
+++ projects/profileservice/trunk/plugins/src/main/java/org/jboss/profileservice/plugins/deploy/actions/AbstractDeploymentAddAction.java	2010-04-01 11:49:30 UTC (rev 103418)
@@ -25,8 +25,8 @@
 import org.jboss.logging.Logger;
 import org.jboss.profileservice.management.actions.AbstractTwoPhaseModificationAction;
 import org.jboss.profileservice.spi.MutableProfile;
-import org.jboss.profileservice.spi.action.ProfileModificationAction;
 import org.jboss.profileservice.spi.action.deployment.DeploymentActionContext;
+import org.jboss.profileservice.spi.action.engine.ProfileModificationAction;
 
 /**
  * @author <a href="mailto:emuckenh at redhat.com">Emanuel Muckenhuber</a>

Modified: projects/profileservice/trunk/plugins/src/main/java/org/jboss/profileservice/plugins/management/RegisteredProfileViewsWrapper.java
===================================================================
--- projects/profileservice/trunk/plugins/src/main/java/org/jboss/profileservice/plugins/management/RegisteredProfileViewsWrapper.java	2010-04-01 11:47:52 UTC (rev 103417)
+++ projects/profileservice/trunk/plugins/src/main/java/org/jboss/profileservice/plugins/management/RegisteredProfileViewsWrapper.java	2010-04-01 11:49:30 UTC (rev 103418)
@@ -44,12 +44,12 @@
 import org.jboss.profileservice.plugins.spi.ProfileView;
 import org.jboss.profileservice.plugins.spi.ProfileViewWrapper;
 import org.jboss.profileservice.spi.ProfileKey;
-import org.jboss.profileservice.spi.action.ProfileModificationAction;
 import org.jboss.profileservice.spi.action.ProfileModificationContext;
 import org.jboss.profileservice.spi.action.ProfileModificationType;
 import org.jboss.profileservice.spi.action.engine.ActionController;
 import org.jboss.profileservice.spi.action.engine.EventBus;
 import org.jboss.profileservice.spi.action.engine.ModificationEvent;
+import org.jboss.profileservice.spi.action.engine.ProfileModificationAction;
 import org.jboss.profileservice.spi.managed.ManagedProfile;
 import org.jboss.util.collection.ConcurrentSet;
 

Modified: projects/profileservice/trunk/plugins/src/main/java/org/jboss/profileservice/plugins/management/actions/ProfileViewUpdateAction.java
===================================================================
--- projects/profileservice/trunk/plugins/src/main/java/org/jboss/profileservice/plugins/management/actions/ProfileViewUpdateAction.java	2010-04-01 11:47:52 UTC (rev 103417)
+++ projects/profileservice/trunk/plugins/src/main/java/org/jboss/profileservice/plugins/management/actions/ProfileViewUpdateAction.java	2010-04-01 11:49:30 UTC (rev 103418)
@@ -34,8 +34,8 @@
 import org.jboss.profileservice.plugins.spi.ProfileViewProcessingContext;
 import org.jboss.profileservice.spi.Profile;
 import org.jboss.profileservice.spi.ProfileDeployment;
-import org.jboss.profileservice.spi.action.ProfileModificationAction;
 import org.jboss.profileservice.spi.action.ProfileModificationContext;
+import org.jboss.profileservice.spi.action.engine.ProfileModificationAction;
 import org.jboss.profileservice.spi.managed.ManagedProfile;
 
 /**

Modified: projects/profileservice/trunk/plugins/src/main/java/org/jboss/profileservice/plugins/management/actions/UpdateComponentAction.java
===================================================================
--- projects/profileservice/trunk/plugins/src/main/java/org/jboss/profileservice/plugins/management/actions/UpdateComponentAction.java	2010-04-01 11:47:52 UTC (rev 103417)
+++ projects/profileservice/trunk/plugins/src/main/java/org/jboss/profileservice/plugins/management/actions/UpdateComponentAction.java	2010-04-01 11:49:30 UTC (rev 103418)
@@ -164,7 +164,7 @@
       
    }
 
-   public AbstractManagementProxyFactory getProxyFactory()
+   protected AbstractManagementProxyFactory getProxyFactory()
    {
       return proxyFactory;
    }

Added: projects/profileservice/trunk/plugins/src/test/java/org/jboss/test/profileservice/plugins/mgt/support/RegisteredProfileSupport.java
===================================================================
--- projects/profileservice/trunk/plugins/src/test/java/org/jboss/test/profileservice/plugins/mgt/support/RegisteredProfileSupport.java	                        (rev 0)
+++ projects/profileservice/trunk/plugins/src/test/java/org/jboss/test/profileservice/plugins/mgt/support/RegisteredProfileSupport.java	2010-04-01 11:49:30 UTC (rev 103418)
@@ -0,0 +1,91 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2010, Red Hat Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.test.profileservice.plugins.mgt.support;
+
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Set;
+
+import org.jboss.profileservice.repository.ProfileDeploymentFactory;
+import org.jboss.profileservice.spi.NoSuchDeploymentException;
+import org.jboss.profileservice.spi.Profile;
+import org.jboss.profileservice.spi.ProfileDeployment;
+import org.jboss.profileservice.spi.ProfileKey;
+
+/**
+ * @author <a href="mailto:emuckenh at redhat.com">Emanuel Muckenhuber</a>
+ * @version $Revision$
+ */
+public class RegisteredProfileSupport implements Profile
+{
+
+   private static final ProfileDeploymentFactory factory = ProfileDeploymentFactory.getInstance();
+   private ProfileKey key;
+   private Map<String, ProfileDeployment> deployments = new HashMap<String, ProfileDeployment>();
+   
+   public RegisteredProfileSupport(ProfileKey key, String... names)
+   {
+      this.key = key;
+      for(String name : names)
+      {
+         deployments.put(name, factory.createDeployment(name));
+      }
+   }
+   
+   public ProfileDeployment getDeployment(String name) throws NoSuchDeploymentException
+   {
+      return this.deployments.get(name);
+   }
+
+   public Set<String> getDeploymentNames()
+   {
+      return this.deployments.keySet();
+   }
+
+   public Collection<ProfileDeployment> getDeployments()
+   {
+      return this.deployments.values();
+   }
+
+   public ProfileKey getKey()
+   {
+      return this.key;
+   }
+
+   public long getLastModified()
+   {
+      return 0L;
+   }
+
+   public boolean hasDeployment(String name)
+   {
+      return this.deployments.containsKey(name);
+   }
+
+   public boolean isMutable()
+   {
+      return false;
+   }
+
+}
+

Added: projects/profileservice/trunk/plugins/src/test/java/org/jboss/test/profileservice/plugins/mgt/test/RegisteredProfileUnitTestCase.java
===================================================================
--- projects/profileservice/trunk/plugins/src/test/java/org/jboss/test/profileservice/plugins/mgt/test/RegisteredProfileUnitTestCase.java	                        (rev 0)
+++ projects/profileservice/trunk/plugins/src/test/java/org/jboss/test/profileservice/plugins/mgt/test/RegisteredProfileUnitTestCase.java	2010-04-01 11:49:30 UTC (rev 103418)
@@ -0,0 +1,88 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2010, Red Hat Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.test.profileservice.plugins.mgt.test;
+
+import org.jboss.profileservice.management.AbstractActionController;
+import org.jboss.profileservice.plugins.management.RegisteredProfileViewsWrapper;
+import org.jboss.profileservice.spi.Profile;
+import org.jboss.profileservice.spi.ProfileKey;
+import org.jboss.profileservice.spi.managed.ManagedProfile;
+import org.jboss.test.BaseTestCase;
+import org.jboss.test.profileservice.plugins.deploy.support.ManagedProfileSupport;
+import org.jboss.test.profileservice.plugins.deploy.support.ProfileDeployerSupport;
+import org.jboss.test.profileservice.plugins.mgt.support.NoopManagementProxyFactory;
+import org.jboss.test.profileservice.plugins.mgt.support.RegisteredProfileSupport;
+
+/**
+ * @author <a href="mailto:emuckenh at redhat.com">Emanuel Muckenhuber</a>
+ * @version $Revision$
+ */
+public class RegisteredProfileUnitTestCase extends BaseTestCase
+{
+
+   private AbstractActionController actionController;
+   private ProfileDeployerSupport deployer;
+   private RegisteredProfileViewsWrapper views;
+   
+   public RegisteredProfileUnitTestCase(String name)
+   {
+      super(name);
+   }
+
+   protected void setUp() throws Exception
+   {
+      super.setUp();
+      this.actionController = new AbstractActionController();
+      this.views = new RegisteredProfileViewsWrapper(actionController);
+      this.deployer = new ProfileDeployerSupport();
+      this.views.setManagementProxyFactory(new NoopManagementProxyFactory());
+   }
+   
+   public void test() throws Exception
+   {
+      addProfile(new RegisteredProfileSupport(new ProfileKey("test"), "test"));
+      addProfile(new RegisteredProfileSupport(new ProfileKey("test1"), "test123"));
+      views.load();
+      assertNotNull(views.getManagedDeployment("test"));
+      assertNotNull(views.getManagedDeployment("test123"));
+      
+      removeProfile(new ProfileKey("test"));
+      views.load();
+      assertNull(views.getManagedDeployment("test"));
+      assertNotNull(views.getManagedDeployment("test123"));
+      
+   }
+
+   
+   protected void addProfile(Profile profile)
+   {
+      actionController.addProfile(new ManagedProfileSupport(profile, deployer));
+   }
+   
+   protected void removeProfile(ProfileKey key)
+   {
+      ManagedProfile managed = this.actionController.getManagedProfile(key);
+      this.actionController.removeProfile(managed);
+   }
+   
+}
+

Modified: projects/profileservice/trunk/spi/src/main/java/org/jboss/deployers/spi/management/ContextStateMapper.java
===================================================================
--- projects/profileservice/trunk/spi/src/main/java/org/jboss/deployers/spi/management/ContextStateMapper.java	2010-04-01 11:47:52 UTC (rev 103417)
+++ projects/profileservice/trunk/spi/src/main/java/org/jboss/deployers/spi/management/ContextStateMapper.java	2010-04-01 11:49:30 UTC (rev 103418)
@@ -64,6 +64,21 @@
    
    public abstract T map(String currentState, String toState);
    
+   public T getinstallingState()
+   {
+      return installState;
+   }
+   
+   public T getUninstallingState()
+   {
+      return uninstallState;
+   }
+   
+   public T getUnknownState()
+   {
+      return unknown;
+   }
+   
    protected T getMapping(String controllerState)
    {
       T state = unknown;

Deleted: projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/action/ProfileModificationAction.java
===================================================================
--- projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/action/ProfileModificationAction.java	2010-04-01 11:47:52 UTC (rev 103417)
+++ projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/action/ProfileModificationAction.java	2010-04-01 11:49:30 UTC (rev 103418)
@@ -1,63 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2009, JBoss Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.profileservice.spi.action;
-
-/**
- * @author <a href="mailto:emuckenh at redhat.com">Emanuel Muckenhuber</a>
- * @version $Revision$
- */
-public interface ProfileModificationAction<T extends ProfileModificationContext>
-{
-
-   /**
-    * Get the modification context.
-    * 
-    * @return the context.
-    */
-   T getContext();
-   
-   /**
-    * Cancel the action.
-    */
-   void cancel();
-   
-   /**
-    * Execute the action and if successful mark it as complete.
-    */
-   void complete();
-   
-   /**
-    * Gets whether {@link #complete()} has been invoked.
-    * 
-    * @return <code>true</code> if {@link #complete()} has been invoked
-    */
-   boolean isComplete();
-   
-   /**
-    * Gets whether {@link #complete()} has been invoked.
-    * 
-    * @return <code>true</code> if {@link #complete()} has been invoked
-    */
-   boolean isCancelled();
-   
-}
-

Deleted: projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/action/ProfileModificationActions.java
===================================================================
--- projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/action/ProfileModificationActions.java	2010-04-01 11:47:52 UTC (rev 103417)
+++ projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/action/ProfileModificationActions.java	2010-04-01 11:49:30 UTC (rev 103418)
@@ -1,59 +0,0 @@
-/*
-* JBoss, Home of Professional Open Source
-* Copyright 2009, Red Hat Inc., and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-*/
-package org.jboss.profileservice.spi.action;
-
-import java.util.List;
-
-import org.jboss.profileservice.spi.ProfileKey;
-
-/**
- * @author <a href="mailto:emuckenh at redhat.com">Emanuel Muckenhuber</a>
- * @version $Revision$
- */
-public interface ProfileModificationActions
-{
-
-
-   /**
-    * Get the type of the action.
-    * 
-    * @return the modification type
-    */
-   ProfileModificationType getType();
-   
-   /**
-    * List the profiles affected by the modification.
-    * 
-    * @return the profiles
-    */
-   List<ProfileKey> getProfilesKeys();
-   
-   /**
-    * Get the modification actions for a given profile key
-    * 
-    * @param key the profile key
-    * @return the actions
-    */
-   List<ProfileModificationAction<? extends ProfileModificationContext>> getActions(ProfileKey key);
-   
-}
-

Copied: projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/action/ProfileModificationRequest.java (from rev 103239, projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/action/ProfileModificationActions.java)
===================================================================
--- projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/action/ProfileModificationRequest.java	                        (rev 0)
+++ projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/action/ProfileModificationRequest.java	2010-04-01 11:49:30 UTC (rev 103418)
@@ -0,0 +1,60 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2009, Red Hat Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.profileservice.spi.action;
+
+import java.util.List;
+
+import org.jboss.profileservice.spi.ProfileKey;
+import org.jboss.profileservice.spi.action.engine.ProfileModificationAction;
+
+/**
+ * @author <a href="mailto:emuckenh at redhat.com">Emanuel Muckenhuber</a>
+ * @version $Revision$
+ */
+public interface ProfileModificationRequest
+{
+
+
+   /**
+    * Get the type of the action.
+    * 
+    * @return the modification type
+    */
+   ProfileModificationType getType();
+   
+   /**
+    * List the profiles affected by the modification.
+    * 
+    * @return the profiles
+    */
+   List<ProfileKey> getProfilesKeys();
+   
+   /**
+    * Get the modification actions for a given profile key
+    * 
+    * @param key the profile key
+    * @return the actions
+    */
+   List<ProfileModificationAction<? extends ProfileModificationContext>> getActions(ProfileKey key);
+   
+}
+

Modified: projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/action/TwoPhaseCommitProfileAction.java
===================================================================
--- projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/action/TwoPhaseCommitProfileAction.java	2010-04-01 11:47:52 UTC (rev 103417)
+++ projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/action/TwoPhaseCommitProfileAction.java	2010-04-01 11:49:30 UTC (rev 103418)
@@ -21,6 +21,8 @@
 */
 package org.jboss.profileservice.spi.action;
 
+import org.jboss.profileservice.spi.action.engine.ProfileModificationAction;
+
 /**
  * @author <a href="mailto:emuckenh at redhat.com">Emanuel Muckenhuber</a>
  * @version $Revision$

Modified: projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/action/engine/ActionController.java
===================================================================
--- projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/action/engine/ActionController.java	2010-04-01 11:47:52 UTC (rev 103417)
+++ projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/action/engine/ActionController.java	2010-04-01 11:49:30 UTC (rev 103418)
@@ -24,8 +24,7 @@
 import java.util.List;
 
 import org.jboss.profileservice.spi.ProfileKey;
-import org.jboss.profileservice.spi.action.ProfileModificationAction;
-import org.jboss.profileservice.spi.action.ProfileModificationActions;
+import org.jboss.profileservice.spi.action.ProfileModificationRequest;
 import org.jboss.profileservice.spi.action.ProfileModificationContext;
 import org.jboss.profileservice.spi.action.ProfileModificationType;
 import org.jboss.profileservice.spi.managed.ManagedProfile;
@@ -67,7 +66,7 @@
     * @param actions the modification actions
     * @return the modification status
     */
-   ModificationStatus perform(ProfileModificationActions actions);
+   ModificationStatus perform(ProfileModificationRequest actions);
    
 }
 

Copied: projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/action/engine/ProfileModificationAction.java (from rev 103239, projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/action/ProfileModificationAction.java)
===================================================================
--- projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/action/engine/ProfileModificationAction.java	                        (rev 0)
+++ projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/action/engine/ProfileModificationAction.java	2010-04-01 11:49:30 UTC (rev 103418)
@@ -0,0 +1,65 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2009, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.profileservice.spi.action.engine;
+
+import org.jboss.profileservice.spi.action.ProfileModificationContext;
+
+/**
+ * @author <a href="mailto:emuckenh at redhat.com">Emanuel Muckenhuber</a>
+ * @version $Revision$
+ */
+public interface ProfileModificationAction<T extends ProfileModificationContext>
+{
+
+   /**
+    * Get the modification context.
+    * 
+    * @return the context.
+    */
+   T getContext();
+   
+   /**
+    * Cancel the action.
+    */
+   void cancel();
+   
+   /**
+    * Execute the action and if successful mark it as complete.
+    */
+   void complete();
+   
+   /**
+    * Gets whether {@link #complete()} has been invoked.
+    * 
+    * @return <code>true</code> if {@link #complete()} has been invoked
+    */
+   boolean isComplete();
+   
+   /**
+    * Gets whether {@link #complete()} has been invoked.
+    * 
+    * @return <code>true</code> if {@link #complete()} has been invoked
+    */
+   boolean isCancelled();
+   
+}
+




More information about the jboss-cvs-commits mailing list