[jboss-cvs] JBossAS SVN: r105476 - in projects/profileservice/trunk: core/src/main/java/org/jboss/profileservice/dependency and 30 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Jun 1 09:13:01 EDT 2010


Author: emuckenhuber
Date: 2010-06-01 09:12:55 -0400 (Tue, 01 Jun 2010)
New Revision: 105476

Added:
   projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/ProfileMetaDataRepository.java
   projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/artifact/
   projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/artifact/Artifact.java
   projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/artifact/ArtifactFilter.java
   projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/artifact/ArtifactId.java
   projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/artifact/ArtifactNotFoundHandler.java
   projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/artifact/ArtifactRepository.java
   projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/artifact/ArtifactRepositoryConfiguration.java
   projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/artifact/ArtifactRepositoryFactory.java
   projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/artifact/ArtifactRepositoryId.java
   projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/artifact/ArtifactTransformer.java
   projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/artifact/Identifiable.java
   projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/artifact/MutableArtifactRepository.java
Removed:
   projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/ProfileRepository.java
   projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/Artifact.java
   projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/ArtifactFilter.java
   projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/ArtifactId.java
   projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/ArtifactNotFoundHandler.java
   projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/ArtifactRepository.java
   projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/ArtifactRepositoryConfiguration.java
   projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/ArtifactRepositoryFactory.java
   projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/ArtifactRepositoryId.java
   projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/ArtifactTransformer.java
   projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/Identifiable.java
   projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/MutableArtifactRepository.java
Modified:
   projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/bootstrap/AbstractProfileServiceInitializer.java
   projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/dependency/ProfileActivationService.java
   projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/deployment/NoopVirtualDeploymentMetaData.java
   projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/profile/AbstractScanningProfile.java
   projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/profile/ScanningProfileFactory.java
   projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/profile/bootstrap/BootstrapProfileDeploymentMetaData.java
   projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/profile/metadata/BasicProfileDeploymentMetaData.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/repository/AbstractProfileRepository.java
   projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/ProfileRepositories.java
   projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/artifact/AbstractArtifact.java
   projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/artifact/AbstractArtifactRepository.java
   projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/artifact/AbstractRepositoryId.java
   projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/artifact/ArtifactRepositoryManager.java
   projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/artifact/BasicRepositoryConfiguration.java
   projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/artifact/CopyStreamArtifactTransformer.java
   projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/artifact/DefaultNotFoundHandler.java
   projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/artifact/ExplodedArtifactTransformer.java
   projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/artifact/file/FileArtifact.java
   projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/artifact/file/FileArtifactId.java
   projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/artifact/file/FileArtifactRepositoryFactory.java
   projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/artifact/file/FileRepositoryConfiguration.java
   projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/artifact/file/LocalFileArtifactRepository.java
   projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/artifact/file/MutableFileArtifactRepository.java
   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/LocalMavenArtifactRepository.java
   projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/artifact/maven/MavenArtifactId.java
   projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/legacy/LegacyDeploymentRepository.java
   projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/virtual/AbstractVirtualDeploymentRepository.java
   projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/virtual/AbstractVirtualProfileFactory.java
   projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/virtual/DelegatingDeploymentRepository.java
   projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/resolver/AbstractRequirementResolver.java
   projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/resolver/BasicResolverFactory.java
   projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/virtual/assembly/AbstractVirtualDeploymentAssembly.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/repository/support/TestArtifactFilter.java
   projects/profileservice/trunk/core/src/test/java/org/jboss/test/profileservice/repository/test/ArtifactRepositoryBackupUnitTestCase.java
   projects/profileservice/trunk/core/src/test/java/org/jboss/test/profileservice/repository/test/ArtifactRepositoryUnitTestCase.java
   projects/profileservice/trunk/core/src/test/java/org/jboss/test/profileservice/repository/test/MutableRepositoryUnitTestCase.java
   projects/profileservice/trunk/core/src/test/java/org/jboss/test/profileservice/resolver/test/AbstractResolverTest.java
   projects/profileservice/trunk/core/src/test/java/org/jboss/test/profileservice/support/NoopArtifactRepository.java
   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/virtual/support/TestArtifactRepository.java
   projects/profileservice/trunk/core/src/test/java/org/jboss/test/profileservice/virtual/support/TestVirtualDeploymentRepository.java
   projects/profileservice/trunk/core/src/test/java/org/jboss/test/profileservice/virtual/test/AbstractVirtualAssemblyTestCase.java
   projects/profileservice/trunk/plugins/src/main/java/org/jboss/profileservice/plugins/deploy/TransientDeploymentMetaData.java
   projects/profileservice/trunk/plugins/src/main/java/org/jboss/profileservice/plugins/deploy/actions/DeploymentAddAction.java
   projects/profileservice/trunk/plugins/src/main/java/org/jboss/profileservice/plugins/deploy/actions/DeploymentDistributeAction.java
   projects/profileservice/trunk/plugins/src/main/java/org/jboss/profileservice/plugins/deploy/actions/DeploymentRemoveAction.java
   projects/profileservice/trunk/plugins/src/test/java/org/jboss/test/profileservice/plugins/deploy/support/TestVirtualDeploymentRepository.java
   projects/profileservice/trunk/plugins/src/test/java/org/jboss/test/profileservice/plugins/deploy/test/DeployHandlerUnitTestCase.java
   projects/profileservice/trunk/plugins/src/test/java/org/jboss/test/profileservice/plugins/mgt/support/RegisteredProfileSupport.java
   projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/VirtualDeploymentRepository.java
   projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/virtual/VirtualArtifactMetaData.java
   projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/virtual/VirtualDeploymentMetaData.java
Log:
rename package.

Modified: projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/bootstrap/AbstractProfileServiceInitializer.java
===================================================================
--- projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/bootstrap/AbstractProfileServiceInitializer.java	2010-06-01 13:10:25 UTC (rev 105475)
+++ projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/bootstrap/AbstractProfileServiceInitializer.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -36,7 +36,7 @@
 import org.jboss.profileservice.domain.ManagementDomainMetaData;
 import org.jboss.profileservice.domain.ServerMetaData;
 import org.jboss.profileservice.repository.ProfileRepositories;
-import org.jboss.profileservice.repository.ProfileRepository;
+import org.jboss.profileservice.repository.ProfileMetaDataRepository;
 import org.jboss.profileservice.spi.ProfileService;
 
 /**
@@ -85,7 +85,7 @@
     * 
     * @return the profile repository
     */
-   public ProfileRepository getProfileRepository()
+   public ProfileMetaDataRepository getProfileRepository()
    {
       return profileRepository;
    }

Modified: projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/dependency/ProfileActivationService.java
===================================================================
--- projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/dependency/ProfileActivationService.java	2010-06-01 13:10:25 UTC (rev 105475)
+++ projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/dependency/ProfileActivationService.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -41,7 +41,7 @@
 import org.jboss.profileservice.config.ProfileServiceConfig;
 import org.jboss.profileservice.repository.ProfileMetaDataContext;
 import org.jboss.profileservice.repository.ProfileRepositories;
-import org.jboss.profileservice.repository.ProfileRepository;
+import org.jboss.profileservice.repository.ProfileMetaDataRepository;
 import org.jboss.profileservice.resolver.ProfileResolutionNode;
 import org.jboss.profileservice.spi.NoSuchProfileException;
 import org.jboss.profileservice.spi.Profile;
@@ -83,7 +83,7 @@
     * 
     * @return the profile repository
     */
-   public ProfileRepository getProfileServiceRepository()
+   public ProfileMetaDataRepository getProfileServiceRepository()
    {
       return profileRepository;
    }

Modified: projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/deployment/NoopVirtualDeploymentMetaData.java
===================================================================
--- projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/deployment/NoopVirtualDeploymentMetaData.java	2010-06-01 13:10:25 UTC (rev 105475)
+++ projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/deployment/NoopVirtualDeploymentMetaData.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -24,7 +24,7 @@
 import java.util.Collections;
 import java.util.List;
 
-import org.jboss.profileservice.spi.repository.ArtifactId;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactId;
 import org.jboss.profileservice.spi.virtual.VirtualArtifactMetaData;
 import org.jboss.profileservice.spi.virtual.VirtualDeploymentMetaData;
 

Modified: projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/profile/AbstractScanningProfile.java
===================================================================
--- projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/profile/AbstractScanningProfile.java	2010-06-01 13:10:25 UTC (rev 105475)
+++ projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/profile/AbstractScanningProfile.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -39,10 +39,10 @@
 import org.jboss.profileservice.spi.ProfileDeployment;
 import org.jboss.profileservice.spi.ProfileKey;
 import org.jboss.profileservice.spi.VirtualDeploymentRepository;
-import org.jboss.profileservice.spi.repository.Artifact;
-import org.jboss.profileservice.spi.repository.ArtifactFilter;
-import org.jboss.profileservice.spi.repository.ArtifactId;
-import org.jboss.profileservice.spi.repository.ArtifactRepository;
+import org.jboss.profileservice.spi.repository.artifact.Artifact;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactFilter;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactId;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactRepository;
 import org.jboss.profileservice.spi.virtual.VirtualDeploymentMetaData;
 
 /**

Modified: projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/profile/ScanningProfileFactory.java
===================================================================
--- projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/profile/ScanningProfileFactory.java	2010-06-01 13:10:25 UTC (rev 105475)
+++ projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/profile/ScanningProfileFactory.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -39,11 +39,11 @@
 import org.jboss.profileservice.spi.ProfileFactory;
 import org.jboss.profileservice.spi.ProfileKey;
 import org.jboss.profileservice.spi.VirtualDeploymentRepository;
-import org.jboss.profileservice.spi.repository.ArtifactId;
-import org.jboss.profileservice.spi.repository.ArtifactRepository;
-import org.jboss.profileservice.spi.repository.ArtifactRepositoryConfiguration;
-import org.jboss.profileservice.spi.repository.ArtifactRepositoryId;
-import org.jboss.profileservice.spi.repository.ArtifactRepositoryConfiguration.VFSBackupPolicy;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactId;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactRepository;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactRepositoryConfiguration;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactRepositoryId;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactRepositoryConfiguration.VFSBackupPolicy;
 
 /**
  * The scanning profile factory, creating scanning profiles.

Modified: projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/profile/bootstrap/BootstrapProfileDeploymentMetaData.java
===================================================================
--- projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/profile/bootstrap/BootstrapProfileDeploymentMetaData.java	2010-06-01 13:10:25 UTC (rev 105475)
+++ projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/profile/bootstrap/BootstrapProfileDeploymentMetaData.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -40,7 +40,7 @@
 import org.jboss.profileservice.spi.deployment.MetaDataAttachmentVisitor;
 import org.jboss.profileservice.spi.metadata.ProfileDeploymentMetaData;
 import org.jboss.profileservice.spi.metadata.ProfileMetaDataVisitor;
-import org.jboss.profileservice.spi.repository.ArtifactRepository;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactRepository;
 import org.jboss.profileservice.spi.virtual.VirtualArtifactMetaData;
 import org.jboss.profileservice.spi.virtual.VirtualDeploymentMetaData;
 import org.jboss.profileservice.virtual.deployment.AbstractVirtualFileArtifact;

Modified: projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/profile/metadata/BasicProfileDeploymentMetaData.java
===================================================================
--- projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/profile/metadata/BasicProfileDeploymentMetaData.java	2010-06-01 13:10:25 UTC (rev 105475)
+++ projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/profile/metadata/BasicProfileDeploymentMetaData.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -30,7 +30,7 @@
 import org.jboss.profileservice.repository.artifact.file.FileArtifactId;
 import org.jboss.profileservice.spi.metadata.ProfileDeploymentMetaData;
 import org.jboss.profileservice.spi.metadata.ProfileMetaDataVisitor;
-import org.jboss.profileservice.spi.repository.ArtifactId;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactId;
 import org.jboss.profileservice.spi.virtual.VirtualArtifactMetaData;
 import org.jboss.profileservice.spi.virtual.VirtualDeploymentMetaData;
 

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-06-01 13:10:25 UTC (rev 105475)
+++ projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/profile/metadata/domain/BasicDomainMetaDataVisitor.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -28,7 +28,7 @@
 import org.jboss.profileservice.profile.metadata.BasicSubProfileMetaData;
 import org.jboss.profileservice.profile.metadata.domain.RequiredProfiles.ResolveRequirement;
 import org.jboss.profileservice.repository.ProfileMetaDataContext;
-import org.jboss.profileservice.repository.ProfileRepository;
+import org.jboss.profileservice.repository.ProfileMetaDataRepository;
 import org.jboss.profileservice.spi.dependency.DependencyMode;
 import org.jboss.profileservice.spi.dependency.ProfileCapability;
 import org.jboss.profileservice.spi.dependency.ProfileRequirement;
@@ -49,12 +49,12 @@
    private final ProfileRequirementResolver resolver;
    
    /** The profile repository. */
-   private final ProfileRepository profileRepository;
+   private final ProfileMetaDataRepository profileRepository;
    
    /** Implicit dependencies. */
    private Stack<String> stack = new Stack<String>();
    
-   public BasicDomainMetaDataVisitor(ProfileRequirementResolver resolver, ProfileRepository profileRepository)
+   public BasicDomainMetaDataVisitor(ProfileRequirementResolver resolver, ProfileMetaDataRepository profileRepository)
    {
       this.resolver = resolver;
       this.profileRepository = profileRepository;

Modified: projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/AbstractProfileRepository.java
===================================================================
--- projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/AbstractProfileRepository.java	2010-06-01 13:10:25 UTC (rev 105475)
+++ projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/AbstractProfileRepository.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -35,7 +35,7 @@
 /**
  * @author Emanuel Muckenhuber
  */
-public class AbstractProfileRepository implements ProfileRepository
+public class AbstractProfileRepository implements ProfileMetaDataRepository
 {
 
    /** The repositories. */

Copied: projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/ProfileMetaDataRepository.java (from rev 105333, projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/ProfileRepository.java)
===================================================================
--- projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/ProfileMetaDataRepository.java	                        (rev 0)
+++ projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/ProfileMetaDataRepository.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -0,0 +1,76 @@
+/*
+* 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.repository;
+
+import org.jboss.profileservice.resolver.ProfileRequirementResolutionContext;
+import org.jboss.profileservice.resolver.ProfileResolutionFilter;
+import org.jboss.profileservice.spi.ProfileKey;
+import org.jboss.profileservice.spi.metadata.ProfileMetaData;
+
+/**
+ * @author Emanuel Muckenhuber
+ */
+public interface ProfileMetaDataRepository extends ProfileResolutionFilter
+{
+   
+   /**
+    * Check whether a profile is registered.
+    * 
+    * @param profileName the profile name
+    * @return true if registered, false otherwise
+    */
+   boolean isRegistered(String profileName);
+   
+   /**
+    * Register a profile meta data.
+    * 
+    * @param metaData the profile meta data
+    * @return the processed meta data context
+    */
+   ProfileMetaDataContext registerMetaData(ProfileMetaData metaData);
+   
+   /**
+    * Unregister a given profile.
+    * 
+    * @param profileName the profile name
+    */
+   void unRegisterMetaData(String profileName);
+   
+   /**
+    * Resolve a meta data context.
+    * 
+    * @param profileName the profile name
+    * @return the meta data context, null if not registered
+    */
+   ProfileMetaDataContext resolve(String profileName);
+   
+   /**
+    * Try to resolve a given requirement for a profile. 
+    * 
+    * @param resolutionContext the resolution context
+    * @param filter the profile resolution filter
+    * @return the resolved profile, null if not resolvable 
+    */
+   ProfileKey resolve(ProfileRequirementResolutionContext resolutionContext, ProfileResolutionFilter filter);
+   
+}
+

Modified: projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/ProfileRepositories.java
===================================================================
--- projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/ProfileRepositories.java	2010-06-01 13:10:25 UTC (rev 105475)
+++ projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/ProfileRepositories.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -30,7 +30,7 @@
 /**
  * @author Emanuel Muckenhuber
  */
-public class ProfileRepositories implements ProfileRepository
+public class ProfileRepositories implements ProfileMetaDataRepository
 {
 
    /** The profile service config. */
@@ -38,10 +38,10 @@
    
    /** The domain profile repository. */
    // Rather a runtime profile meta data repository ?
-   private final ProfileRepository domainRepository;
+   private final ProfileMetaDataRepository domainRepository;
    
    /** The local profile repository. */
-   private final ProfileRepository profileRepository;
+   private final ProfileMetaDataRepository profileRepository;
 
    public ProfileRepositories(ProfileServiceConfig configuration)
    {
@@ -55,12 +55,12 @@
       return configuration;
    }
    
-   public ProfileRepository getDomainRepository()
+   public ProfileMetaDataRepository getDomainRepository()
    {
       return domainRepository;
    }
    
-   public ProfileRepository getProfileRepository()
+   public ProfileMetaDataRepository getProfileRepository()
    {
       return profileRepository;
    }

Deleted: projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/ProfileRepository.java
===================================================================
--- projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/ProfileRepository.java	2010-06-01 13:10:25 UTC (rev 105475)
+++ projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/ProfileRepository.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -1,76 +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.repository;
-
-import org.jboss.profileservice.resolver.ProfileRequirementResolutionContext;
-import org.jboss.profileservice.resolver.ProfileResolutionFilter;
-import org.jboss.profileservice.spi.ProfileKey;
-import org.jboss.profileservice.spi.metadata.ProfileMetaData;
-
-/**
- * @author Emanuel Muckenhuber
- */
-public interface ProfileRepository extends ProfileResolutionFilter
-{
-   
-   /**
-    * Check whether a profile is registered.
-    * 
-    * @param profileName the profile name
-    * @return true if registered, false otherwise
-    */
-   boolean isRegistered(String profileName);
-   
-   /**
-    * Register a profile meta data.
-    * 
-    * @param metaData the profile meta data
-    * @return the processed meta data context
-    */
-   ProfileMetaDataContext registerMetaData(ProfileMetaData metaData);
-   
-   /**
-    * Unregister a given profile.
-    * 
-    * @param profileName the profile name
-    */
-   void unRegisterMetaData(String profileName);
-   
-   /**
-    * Resolve a meta data context.
-    * 
-    * @param profileName the profile name
-    * @return the meta data context, null if not registered
-    */
-   ProfileMetaDataContext resolve(String profileName);
-   
-   /**
-    * Try to resolve a given requirement for a profile. 
-    * 
-    * @param resolutionContext the resolution context
-    * @param filter the profile resolution filter
-    * @return the resolved profile, null if not resolvable 
-    */
-   ProfileKey resolve(ProfileRequirementResolutionContext resolutionContext, ProfileResolutionFilter filter);
-   
-}
-

Modified: projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/artifact/AbstractArtifact.java
===================================================================
--- projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/artifact/AbstractArtifact.java	2010-06-01 13:10:25 UTC (rev 105475)
+++ projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/artifact/AbstractArtifact.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -24,10 +24,10 @@
 import java.io.IOException;
 import java.io.InputStream;
 
-import org.jboss.profileservice.spi.repository.Artifact;
-import org.jboss.profileservice.spi.repository.ArtifactId;
-import org.jboss.profileservice.spi.repository.ArtifactRepository;
-import org.jboss.profileservice.spi.repository.ArtifactRepositoryId;
+import org.jboss.profileservice.spi.repository.artifact.Artifact;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactId;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactRepository;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactRepositoryId;
 import org.jboss.vfs.VirtualFile;
 
 /**

Modified: projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/artifact/AbstractArtifactRepository.java
===================================================================
--- projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/artifact/AbstractArtifactRepository.java	2010-06-01 13:10:25 UTC (rev 105475)
+++ projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/artifact/AbstractArtifactRepository.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -25,10 +25,10 @@
 import java.net.URI;
 import java.net.URISyntaxException;
 
-import org.jboss.profileservice.spi.repository.ArtifactId;
-import org.jboss.profileservice.spi.repository.ArtifactRepository;
-import org.jboss.profileservice.spi.repository.ArtifactRepositoryConfiguration;
-import org.jboss.profileservice.spi.repository.ArtifactRepositoryId;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactId;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactRepository;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactRepositoryConfiguration;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactRepositoryId;
 import org.jboss.vfs.VFS;
 import org.jboss.vfs.VirtualFile;
 

Modified: projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/artifact/AbstractRepositoryId.java
===================================================================
--- projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/artifact/AbstractRepositoryId.java	2010-06-01 13:10:25 UTC (rev 105475)
+++ projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/artifact/AbstractRepositoryId.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -21,7 +21,7 @@
 */
 package org.jboss.profileservice.repository.artifact;
 
-import org.jboss.profileservice.spi.repository.ArtifactRepositoryId;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactRepositoryId;
 
 /**
  * The artifact repository identifier.

Modified: projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/artifact/ArtifactRepositoryManager.java
===================================================================
--- projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/artifact/ArtifactRepositoryManager.java	2010-06-01 13:10:25 UTC (rev 105475)
+++ projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/artifact/ArtifactRepositoryManager.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -30,11 +30,11 @@
 import java.util.concurrent.ConcurrentMap;
 import java.util.concurrent.atomic.AtomicInteger;
 
-import org.jboss.profileservice.spi.repository.ArtifactId;
-import org.jboss.profileservice.spi.repository.ArtifactRepository;
-import org.jboss.profileservice.spi.repository.ArtifactRepositoryConfiguration;
-import org.jboss.profileservice.spi.repository.ArtifactRepositoryFactory;
-import org.jboss.profileservice.spi.repository.ArtifactRepositoryId;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactId;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactRepository;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactRepositoryConfiguration;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactRepositoryFactory;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactRepositoryId;
 import org.jboss.vfs.VFSUtils;
 
 /**

Modified: projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/artifact/BasicRepositoryConfiguration.java
===================================================================
--- projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/artifact/BasicRepositoryConfiguration.java	2010-06-01 13:10:25 UTC (rev 105475)
+++ projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/artifact/BasicRepositoryConfiguration.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -21,9 +21,9 @@
 */
 package org.jboss.profileservice.repository.artifact;
 
-import org.jboss.profileservice.spi.repository.ArtifactId;
-import org.jboss.profileservice.spi.repository.ArtifactNotFoundHandler;
-import org.jboss.profileservice.spi.repository.ArtifactRepositoryConfiguration;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactId;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactNotFoundHandler;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactRepositoryConfiguration;
 
 /**
  * The basic repository configuration.

Modified: projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/artifact/CopyStreamArtifactTransformer.java
===================================================================
--- projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/artifact/CopyStreamArtifactTransformer.java	2010-06-01 13:10:25 UTC (rev 105475)
+++ projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/artifact/CopyStreamArtifactTransformer.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -26,8 +26,8 @@
 import java.io.IOException;
 import java.io.InputStream;
 
-import org.jboss.profileservice.spi.repository.ArtifactId;
-import org.jboss.profileservice.spi.repository.ArtifactTransformer;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactId;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactTransformer;
 import org.jboss.vfs.VFSUtils;
 import org.jboss.vfs.VirtualFile;
 

Modified: projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/artifact/DefaultNotFoundHandler.java
===================================================================
--- projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/artifact/DefaultNotFoundHandler.java	2010-06-01 13:10:25 UTC (rev 105475)
+++ projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/artifact/DefaultNotFoundHandler.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -24,10 +24,10 @@
 import java.io.FileNotFoundException;
 import java.io.IOException;
 
-import org.jboss.profileservice.spi.repository.Artifact;
-import org.jboss.profileservice.spi.repository.ArtifactId;
-import org.jboss.profileservice.spi.repository.ArtifactNotFoundHandler;
-import org.jboss.profileservice.spi.repository.ArtifactRepository;
+import org.jboss.profileservice.spi.repository.artifact.Artifact;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactId;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactNotFoundHandler;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactRepository;
 
 /**
  * @author <a href="mailto:emuckenh at redhat.com">Emanuel Muckenhuber</a>

Modified: projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/artifact/ExplodedArtifactTransformer.java
===================================================================
--- projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/artifact/ExplodedArtifactTransformer.java	2010-06-01 13:10:25 UTC (rev 105475)
+++ projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/artifact/ExplodedArtifactTransformer.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -34,8 +34,8 @@
 import java.util.jar.Manifest;
 import java.util.zip.ZipEntry;
 
-import org.jboss.profileservice.spi.repository.ArtifactId;
-import org.jboss.profileservice.spi.repository.ArtifactTransformer;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactId;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactTransformer;
 import org.jboss.util.file.JarUtils;
 import org.jboss.vfs.VFSUtils;
 import org.jboss.vfs.VirtualFile;

Modified: projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/artifact/file/FileArtifact.java
===================================================================
--- projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/artifact/file/FileArtifact.java	2010-06-01 13:10:25 UTC (rev 105475)
+++ projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/artifact/file/FileArtifact.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -24,7 +24,7 @@
 import java.io.IOException;
 
 import org.jboss.profileservice.repository.artifact.AbstractArtifact;
-import org.jboss.profileservice.spi.repository.ArtifactRepository;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactRepository;
 
 /**
  * Basic file artifact.

Modified: projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/artifact/file/FileArtifactId.java
===================================================================
--- projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/artifact/file/FileArtifactId.java	2010-06-01 13:10:25 UTC (rev 105475)
+++ projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/artifact/file/FileArtifactId.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -23,7 +23,7 @@
 
 import javax.xml.bind.annotation.XmlAttribute;
 
-import org.jboss.profileservice.spi.repository.ArtifactId;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactId;
 
 /**
  * The file artifact.

Modified: projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/artifact/file/FileArtifactRepositoryFactory.java
===================================================================
--- projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/artifact/file/FileArtifactRepositoryFactory.java	2010-06-01 13:10:25 UTC (rev 105475)
+++ projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/artifact/file/FileArtifactRepositoryFactory.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -26,10 +26,10 @@
 import java.net.URISyntaxException;
 
 import org.jboss.profileservice.config.ProfileServiceConfig;
-import org.jboss.profileservice.spi.repository.ArtifactRepository;
-import org.jboss.profileservice.spi.repository.ArtifactRepositoryConfiguration;
-import org.jboss.profileservice.spi.repository.ArtifactRepositoryFactory;
-import org.jboss.profileservice.spi.repository.ArtifactRepositoryId;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactRepository;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactRepositoryConfiguration;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactRepositoryFactory;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactRepositoryId;
 import org.jboss.vfs.VFS;
 import org.jboss.vfs.VirtualFile;
 

Modified: projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/artifact/file/FileRepositoryConfiguration.java
===================================================================
--- projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/artifact/file/FileRepositoryConfiguration.java	2010-06-01 13:10:25 UTC (rev 105475)
+++ projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/artifact/file/FileRepositoryConfiguration.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -26,8 +26,8 @@
 import java.util.Map;
 
 import org.jboss.profileservice.repository.artifact.DefaultNotFoundHandler;
-import org.jboss.profileservice.spi.repository.ArtifactNotFoundHandler;
-import org.jboss.profileservice.spi.repository.ArtifactRepositoryConfiguration;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactNotFoundHandler;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactRepositoryConfiguration;
 import org.jboss.vfs.VirtualFileFilter;
 import org.jboss.vfs.util.ExtensibleFilter;
 

Modified: projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/artifact/file/LocalFileArtifactRepository.java
===================================================================
--- projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/artifact/file/LocalFileArtifactRepository.java	2010-06-01 13:10:25 UTC (rev 105475)
+++ projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/artifact/file/LocalFileArtifactRepository.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -29,11 +29,11 @@
 import java.util.List;
 
 import org.jboss.profileservice.Hack;
-import org.jboss.profileservice.spi.repository.Artifact;
-import org.jboss.profileservice.spi.repository.ArtifactFilter;
-import org.jboss.profileservice.spi.repository.ArtifactRepository;
-import org.jboss.profileservice.spi.repository.ArtifactRepositoryId;
-import org.jboss.profileservice.spi.repository.ArtifactRepositoryConfiguration.VFSBackupPolicy;
+import org.jboss.profileservice.spi.repository.artifact.Artifact;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactFilter;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactRepository;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactRepositoryId;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactRepositoryConfiguration.VFSBackupPolicy;
 import org.jboss.vfs.VFS;
 import org.jboss.vfs.VFSUtils;
 import org.jboss.vfs.VirtualFile;

Modified: projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/artifact/file/MutableFileArtifactRepository.java
===================================================================
--- projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/artifact/file/MutableFileArtifactRepository.java	2010-06-01 13:10:25 UTC (rev 105475)
+++ projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/artifact/file/MutableFileArtifactRepository.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -28,12 +28,12 @@
 import java.util.concurrent.locks.ReentrantReadWriteLock;
 
 import org.jboss.logging.Logger;
-import org.jboss.profileservice.spi.repository.Artifact;
-import org.jboss.profileservice.spi.repository.ArtifactFilter;
-import org.jboss.profileservice.spi.repository.ArtifactRepositoryId;
-import org.jboss.profileservice.spi.repository.ArtifactTransformer;
-import org.jboss.profileservice.spi.repository.MutableArtifactRepository;
-import org.jboss.profileservice.spi.repository.ArtifactRepositoryConfiguration.VFSBackupPolicy;
+import org.jboss.profileservice.spi.repository.artifact.Artifact;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactFilter;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactRepositoryId;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactTransformer;
+import org.jboss.profileservice.spi.repository.artifact.MutableArtifactRepository;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactRepositoryConfiguration.VFSBackupPolicy;
 import org.jboss.vfs.VFSUtils;
 import org.jboss.vfs.VirtualFile;
 

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-06-01 13:10:25 UTC (rev 105475)
+++ projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/artifact/maven/AbstractMavenArtifactRepository.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -25,7 +25,7 @@
 import java.net.URI;
 
 import org.jboss.profileservice.repository.artifact.AbstractArtifactRepository;
-import org.jboss.profileservice.spi.repository.ArtifactRepositoryId;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactRepositoryId;
 import org.jboss.vfs.VirtualFile;
 
 /**

Modified: projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/artifact/maven/LocalMavenArtifactRepository.java
===================================================================
--- projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/artifact/maven/LocalMavenArtifactRepository.java	2010-06-01 13:10:25 UTC (rev 105475)
+++ projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/artifact/maven/LocalMavenArtifactRepository.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -28,12 +28,12 @@
 import java.util.List;
 
 import org.jboss.profileservice.repository.artifact.AbstractRepositoryId;
-import org.jboss.profileservice.spi.repository.Artifact;
-import org.jboss.profileservice.spi.repository.ArtifactFilter;
-import org.jboss.profileservice.spi.repository.ArtifactRepository;
-import org.jboss.profileservice.spi.repository.ArtifactRepositoryConfiguration;
-import org.jboss.profileservice.spi.repository.ArtifactRepositoryFactory;
-import org.jboss.profileservice.spi.repository.ArtifactRepositoryId;
+import org.jboss.profileservice.spi.repository.artifact.Artifact;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactFilter;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactRepository;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactRepositoryConfiguration;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactRepositoryFactory;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactRepositoryId;
 import org.jboss.vfs.VirtualFile;
 
 /**

Modified: projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/artifact/maven/MavenArtifactId.java
===================================================================
--- projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/artifact/maven/MavenArtifactId.java	2010-06-01 13:10:25 UTC (rev 105475)
+++ projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/artifact/maven/MavenArtifactId.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -21,7 +21,7 @@
 */
 package org.jboss.profileservice.repository.artifact.maven;
 
-import org.jboss.profileservice.spi.repository.ArtifactId;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactId;
 
 /**
  * A mvn like artifact id. This is just used to talk to a local repository.

Modified: projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/legacy/LegacyDeploymentRepository.java
===================================================================
--- projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/legacy/LegacyDeploymentRepository.java	2010-06-01 13:10:25 UTC (rev 105475)
+++ projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/legacy/LegacyDeploymentRepository.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -43,9 +43,9 @@
 import org.jboss.profileservice.spi.ProfileKey;
 import org.jboss.profileservice.spi.VirtualDeploymentRepository;
 import org.jboss.profileservice.spi.deployment.ProfileDeploymentFlag;
-import org.jboss.profileservice.spi.repository.ArtifactId;
-import org.jboss.profileservice.spi.repository.ArtifactTransformer;
-import org.jboss.profileservice.spi.repository.MutableArtifactRepository;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactId;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactTransformer;
+import org.jboss.profileservice.spi.repository.artifact.MutableArtifactRepository;
 import org.jboss.vfs.VirtualFile;
 
 /**

Modified: projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/virtual/AbstractVirtualDeploymentRepository.java
===================================================================
--- projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/virtual/AbstractVirtualDeploymentRepository.java	2010-06-01 13:10:25 UTC (rev 105475)
+++ projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/virtual/AbstractVirtualDeploymentRepository.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -30,9 +30,9 @@
 import org.jboss.profileservice.spi.deployment.DeploymentAttachments;
 import org.jboss.profileservice.spi.deployment.MetaDataAttachmentHolder;
 import org.jboss.profileservice.spi.deployment.MetaDataAttachmentVisitor;
-import org.jboss.profileservice.spi.repository.ArtifactId;
-import org.jboss.profileservice.spi.repository.ArtifactRepository;
-import org.jboss.profileservice.spi.repository.ArtifactRepositoryId;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactId;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactRepository;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactRepositoryId;
 import org.jboss.profileservice.spi.virtual.VirtualDeploymentMetaData;
 import org.jboss.profileservice.spi.virtual.assembly.VirtualDeploymentAssemblyContext;
 import org.jboss.profileservice.virtual.assembly.AbstractVirtualDeploymentAssembly;

Modified: projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/virtual/AbstractVirtualProfileFactory.java
===================================================================
--- projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/virtual/AbstractVirtualProfileFactory.java	2010-06-01 13:10:25 UTC (rev 105475)
+++ projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/virtual/AbstractVirtualProfileFactory.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -32,10 +32,10 @@
 import org.jboss.profileservice.repository.artifact.file.FileRepositoryConfiguration;
 import org.jboss.profileservice.repository.artifact.maven.LocalMavenArtifactRepository;
 import org.jboss.profileservice.spi.VirtualDeploymentRepository;
-import org.jboss.profileservice.spi.repository.ArtifactId;
-import org.jboss.profileservice.spi.repository.ArtifactRepository;
-import org.jboss.profileservice.spi.repository.ArtifactRepositoryConfiguration;
-import org.jboss.profileservice.spi.repository.ArtifactRepositoryId;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactId;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactRepository;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactRepositoryConfiguration;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactRepositoryId;
 
 
 /**

Modified: projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/virtual/DelegatingDeploymentRepository.java
===================================================================
--- projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/virtual/DelegatingDeploymentRepository.java	2010-06-01 13:10:25 UTC (rev 105475)
+++ projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/repository/virtual/DelegatingDeploymentRepository.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -30,9 +30,9 @@
 import org.jboss.profileservice.config.VirtualAssemblyConfiguration;
 import org.jboss.profileservice.repository.artifact.ArtifactRepositoryManager;
 import org.jboss.profileservice.spi.VirtualDeploymentRepository;
-import org.jboss.profileservice.spi.repository.ArtifactId;
-import org.jboss.profileservice.spi.repository.ArtifactRepository;
-import org.jboss.profileservice.spi.repository.ArtifactRepositoryId;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactId;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactRepository;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactRepositoryId;
 import org.jboss.vfs.VirtualFile;
 
 

Modified: projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/resolver/AbstractRequirementResolver.java
===================================================================
--- projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/resolver/AbstractRequirementResolver.java	2010-06-01 13:10:25 UTC (rev 105475)
+++ projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/resolver/AbstractRequirementResolver.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -32,7 +32,7 @@
 
 import org.jboss.logging.Logger;
 import org.jboss.profileservice.repository.ProfileMetaDataContext;
-import org.jboss.profileservice.repository.ProfileRepository;
+import org.jboss.profileservice.repository.ProfileMetaDataRepository;
 import org.jboss.profileservice.spi.ProfileKey;
 import org.jboss.profileservice.spi.dependency.DependencyMode;
 import org.jboss.profileservice.spi.dependency.ProfileCapability;
@@ -51,7 +51,7 @@
    private static final Logger log = Logger.getLogger(AbstractRequirementResolver.class);
    
    /** The profile meta data registry. */
-   private final ProfileRepository profileRepository;
+   private final ProfileMetaDataRepository profileRepository;
 
    /** The included nodes. */
    private Set<ProfileResolutionNode> included = new HashSet<ProfileResolutionNode>();
@@ -71,7 +71,7 @@
    /** The included root contexts. */
    private List<ProfileMetaDataContext> includedContexts = new ArrayList<ProfileMetaDataContext>();
    
-   public AbstractRequirementResolver(ProfileRepository profileRepository)
+   public AbstractRequirementResolver(ProfileMetaDataRepository profileRepository)
    {
       if(profileRepository == null)
       {

Modified: projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/resolver/BasicResolverFactory.java
===================================================================
--- projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/resolver/BasicResolverFactory.java	2010-06-01 13:10:25 UTC (rev 105475)
+++ projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/resolver/BasicResolverFactory.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -27,7 +27,7 @@
 import org.jboss.profileservice.bootstrap.ProfileActivationCallback;
 import org.jboss.profileservice.profile.metadata.plugin.EmptyProfileMetaData;
 import org.jboss.profileservice.repository.ProfileMetaDataContext;
-import org.jboss.profileservice.repository.ProfileRepository;
+import org.jboss.profileservice.repository.ProfileMetaDataRepository;
 import org.jboss.profileservice.spi.dependency.ProfileRequirement;
 import org.jboss.profileservice.spi.dependency.ProfileRequirementResolver;
 import org.jboss.profileservice.spi.dependency.ProfileRequirementResolverFactory;
@@ -40,10 +40,10 @@
 {
 
    /** The profile meta data registry. */
-   private final ProfileRepository profileRepository;
+   private final ProfileMetaDataRepository profileRepository;
    private final ProfileActivationCallback callback;
    
-   public BasicResolverFactory(ProfileRepository profileRepository, ProfileActivationCallback callback)
+   public BasicResolverFactory(ProfileMetaDataRepository profileRepository, ProfileActivationCallback callback)
    {
       this.profileRepository = profileRepository;
       this.callback = callback;

Modified: projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/virtual/assembly/AbstractVirtualDeploymentAssembly.java
===================================================================
--- projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/virtual/assembly/AbstractVirtualDeploymentAssembly.java	2010-06-01 13:10:25 UTC (rev 105475)
+++ projects/profileservice/trunk/core/src/main/java/org/jboss/profileservice/virtual/assembly/AbstractVirtualDeploymentAssembly.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -24,7 +24,7 @@
 import java.io.Closeable;
 import java.io.IOException;
 
-import org.jboss.profileservice.spi.repository.ArtifactId;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactId;
 import org.jboss.profileservice.spi.virtual.VirtualArtifactMetaData;
 import org.jboss.profileservice.spi.virtual.VirtualDeploymentMetaData;
 import org.jboss.profileservice.spi.virtual.assembly.VirtualDeploymentAssembly;

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-06-01 13:10:25 UTC (rev 105475)
+++ projects/profileservice/trunk/core/src/test/java/org/jboss/test/profileservice/domain/support/AbstractDomainMetaDataVisitor.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -31,7 +31,7 @@
 import org.jboss.profileservice.profile.metadata.domain.RequiredProfiles.ResolveRequirement;
 import org.jboss.profileservice.profile.metadata.plugin.EmptyProfileMetaData;
 import org.jboss.profileservice.repository.ProfileMetaDataContext;
-import org.jboss.profileservice.repository.ProfileRepository;
+import org.jboss.profileservice.repository.ProfileMetaDataRepository;
 import org.jboss.profileservice.spi.dependency.DependencyMode;
 import org.jboss.profileservice.spi.dependency.ProfileCapability;
 import org.jboss.profileservice.spi.dependency.ProfileRequirement;
@@ -52,12 +52,12 @@
    
    private final ProfileMetaDataContext ctx;
    
-   private final ProfileRepository profileRepository;
+   private final ProfileMetaDataRepository profileRepository;
    
    /** Implicit dependencies. */
    private Stack<String> stack = new Stack<String>();
    
-   public AbstractDomainMetaDataVisitor(ProfileRepository profileRepository)
+   public AbstractDomainMetaDataVisitor(ProfileMetaDataRepository profileRepository)
    {
       this.profileRepository = profileRepository;
       this.ctx = profileRepository.registerMetaData(new EmptyProfileMetaData("test"));

Modified: projects/profileservice/trunk/core/src/test/java/org/jboss/test/profileservice/repository/support/TestArtifactFilter.java
===================================================================
--- projects/profileservice/trunk/core/src/test/java/org/jboss/test/profileservice/repository/support/TestArtifactFilter.java	2010-06-01 13:10:25 UTC (rev 105475)
+++ projects/profileservice/trunk/core/src/test/java/org/jboss/test/profileservice/repository/support/TestArtifactFilter.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -25,8 +25,8 @@
 
 import org.jboss.profileservice.repository.artifact.file.FileArtifact;
 import org.jboss.profileservice.repository.artifact.file.FileArtifactId;
-import org.jboss.profileservice.spi.repository.Artifact;
-import org.jboss.profileservice.spi.repository.ArtifactFilter;
+import org.jboss.profileservice.spi.repository.artifact.Artifact;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactFilter;
 
 /**
  * Test filter, simulating the original file scanning.

Modified: projects/profileservice/trunk/core/src/test/java/org/jboss/test/profileservice/repository/test/ArtifactRepositoryBackupUnitTestCase.java
===================================================================
--- projects/profileservice/trunk/core/src/test/java/org/jboss/test/profileservice/repository/test/ArtifactRepositoryBackupUnitTestCase.java	2010-06-01 13:10:25 UTC (rev 105475)
+++ projects/profileservice/trunk/core/src/test/java/org/jboss/test/profileservice/repository/test/ArtifactRepositoryBackupUnitTestCase.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -38,8 +38,8 @@
 import org.jboss.profileservice.repository.artifact.file.FileArtifactId;
 import org.jboss.profileservice.repository.artifact.file.FileRepositoryConfiguration;
 import org.jboss.profileservice.repository.artifact.file.LocalFileArtifactRepository;
-import org.jboss.profileservice.spi.repository.Artifact;
-import org.jboss.profileservice.spi.repository.ArtifactRepositoryConfiguration.VFSBackupPolicy;
+import org.jboss.profileservice.spi.repository.artifact.Artifact;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactRepositoryConfiguration.VFSBackupPolicy;
 import org.jboss.test.profileservice.ProfileServiceTestBase;
 import org.jboss.test.profileservice.repository.support.TestArtifactFilter;
 import org.jboss.vfs.VFS;

Modified: projects/profileservice/trunk/core/src/test/java/org/jboss/test/profileservice/repository/test/ArtifactRepositoryUnitTestCase.java
===================================================================
--- projects/profileservice/trunk/core/src/test/java/org/jboss/test/profileservice/repository/test/ArtifactRepositoryUnitTestCase.java	2010-06-01 13:10:25 UTC (rev 105475)
+++ projects/profileservice/trunk/core/src/test/java/org/jboss/test/profileservice/repository/test/ArtifactRepositoryUnitTestCase.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -35,7 +35,7 @@
 import org.jboss.profileservice.spi.VirtualDeploymentRepository;
 import org.jboss.profileservice.spi.metadata.ProfileDeploymentMetaData;
 import org.jboss.profileservice.spi.metadata.ProfileMetaData;
-import org.jboss.profileservice.spi.repository.ArtifactRepository;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactRepository;
 import org.jboss.profileservice.spi.virtual.assembly.VirtualDeploymentAssemblyContext;
 import org.jboss.profileservice.virtual.deployment.VirtualMavenArtifactMetaData;
 import org.jboss.test.profileservice.ProfileServiceTestBase;

Modified: projects/profileservice/trunk/core/src/test/java/org/jboss/test/profileservice/repository/test/MutableRepositoryUnitTestCase.java
===================================================================
--- projects/profileservice/trunk/core/src/test/java/org/jboss/test/profileservice/repository/test/MutableRepositoryUnitTestCase.java	2010-06-01 13:10:25 UTC (rev 105475)
+++ projects/profileservice/trunk/core/src/test/java/org/jboss/test/profileservice/repository/test/MutableRepositoryUnitTestCase.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -33,9 +33,9 @@
 import org.jboss.profileservice.repository.artifact.file.FileArtifactId;
 import org.jboss.profileservice.repository.artifact.file.FileRepositoryConfiguration;
 import org.jboss.profileservice.repository.artifact.file.MutableFileArtifactRepository;
-import org.jboss.profileservice.spi.repository.ArtifactRepositoryId;
-import org.jboss.profileservice.spi.repository.ArtifactTransformer;
-import org.jboss.profileservice.spi.repository.ArtifactRepositoryConfiguration.VFSBackupPolicy;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactRepositoryId;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactTransformer;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactRepositoryConfiguration.VFSBackupPolicy;
 import org.jboss.test.profileservice.ProfileServiceTestBase;
 import org.jboss.vfs.VFSUtils;
 import org.jboss.vfs.VirtualFile;

Modified: projects/profileservice/trunk/core/src/test/java/org/jboss/test/profileservice/resolver/test/AbstractResolverTest.java
===================================================================
--- projects/profileservice/trunk/core/src/test/java/org/jboss/test/profileservice/resolver/test/AbstractResolverTest.java	2010-06-01 13:10:25 UTC (rev 105475)
+++ projects/profileservice/trunk/core/src/test/java/org/jboss/test/profileservice/resolver/test/AbstractResolverTest.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -32,7 +32,7 @@
 import org.jboss.profileservice.profile.metadata.plugin.EmptyProfileMetaData;
 import org.jboss.profileservice.repository.ProfileMetaDataContext;
 import org.jboss.profileservice.repository.ProfileRepositories;
-import org.jboss.profileservice.repository.ProfileRepository;
+import org.jboss.profileservice.repository.ProfileMetaDataRepository;
 import org.jboss.profileservice.resolver.AbstractRequirementResolver;
 import org.jboss.profileservice.spi.metadata.ProfileMetaData;
 import org.jboss.test.profileservice.ProfileServiceTestBase;
@@ -60,7 +60,7 @@
       return "test-profile";
    }
    
-   public ProfileRepository getRegistry()
+   public ProfileMetaDataRepository getRegistry()
    {
       return registry;
    }

Modified: projects/profileservice/trunk/core/src/test/java/org/jboss/test/profileservice/support/NoopArtifactRepository.java
===================================================================
--- projects/profileservice/trunk/core/src/test/java/org/jboss/test/profileservice/support/NoopArtifactRepository.java	2010-06-01 13:10:25 UTC (rev 105475)
+++ projects/profileservice/trunk/core/src/test/java/org/jboss/test/profileservice/support/NoopArtifactRepository.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -25,12 +25,12 @@
 import java.net.URI;
 import java.util.Collection;
 
-import org.jboss.profileservice.spi.repository.Artifact;
-import org.jboss.profileservice.spi.repository.ArtifactFilter;
-import org.jboss.profileservice.spi.repository.ArtifactId;
-import org.jboss.profileservice.spi.repository.ArtifactRepository;
-import org.jboss.profileservice.spi.repository.ArtifactRepositoryConfiguration;
-import org.jboss.profileservice.spi.repository.ArtifactRepositoryId;
+import org.jboss.profileservice.spi.repository.artifact.Artifact;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactFilter;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactId;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactRepository;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactRepositoryConfiguration;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactRepositoryId;
 import org.jboss.vfs.VirtualFile;
 
 /**

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-06-01 13:10:25 UTC (rev 105475)
+++ projects/profileservice/trunk/core/src/test/java/org/jboss/test/profileservice/test/BasicProfileServiceUnitTestCase.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -33,7 +33,7 @@
 import org.jboss.profileservice.metadata.ProfilesMetaDataFactory;
 import org.jboss.profileservice.profile.metadata.domain.XmlDomainMetaDataRepository;
 import org.jboss.profileservice.repository.ProfileMetaDataContext;
-import org.jboss.profileservice.repository.ProfileRepository;
+import org.jboss.profileservice.repository.ProfileMetaDataRepository;
 import org.jboss.profileservice.resolver.AbstractRequirementResolver;
 import org.jboss.profileservice.spi.ProfileKey;
 import org.jboss.profileservice.spi.ProfileService;
@@ -74,7 +74,7 @@
       assertNotNull(metaData);
 
       ProfileService ps = getBean(ProfileServiceConstants.PROFILESERVICE_NAME, ProfileService.class);
-      ProfileRepository profileRepository = getBean(ProfileServiceConstants.PROFILEREPOSITORY_NAME, ProfileRepository.class);
+      ProfileMetaDataRepository profileRepository = getBean(ProfileServiceConstants.PROFILEREPOSITORY_NAME, ProfileMetaDataRepository.class);
       ProfileServiceBootstrap bootstrap = getBean("ProfileServiceBootstrap", ProfileServiceBootstrap.class);
       assertNotNull(ps);
       assertNotNull(profileRepository);

Modified: projects/profileservice/trunk/core/src/test/java/org/jboss/test/profileservice/virtual/support/TestArtifactRepository.java
===================================================================
--- projects/profileservice/trunk/core/src/test/java/org/jboss/test/profileservice/virtual/support/TestArtifactRepository.java	2010-06-01 13:10:25 UTC (rev 105475)
+++ projects/profileservice/trunk/core/src/test/java/org/jboss/test/profileservice/virtual/support/TestArtifactRepository.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -28,7 +28,7 @@
 import org.jboss.profileservice.repository.artifact.file.FileArtifactId;
 import org.jboss.profileservice.repository.artifact.file.FileRepositoryConfiguration;
 import org.jboss.profileservice.repository.artifact.file.LocalFileArtifactRepository;
-import org.jboss.profileservice.spi.repository.ArtifactRepositoryId;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactRepositoryId;
 import org.jboss.vfs.VirtualFile;
 
 /**

Modified: projects/profileservice/trunk/core/src/test/java/org/jboss/test/profileservice/virtual/support/TestVirtualDeploymentRepository.java
===================================================================
--- projects/profileservice/trunk/core/src/test/java/org/jboss/test/profileservice/virtual/support/TestVirtualDeploymentRepository.java	2010-06-01 13:10:25 UTC (rev 105475)
+++ projects/profileservice/trunk/core/src/test/java/org/jboss/test/profileservice/virtual/support/TestVirtualDeploymentRepository.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -30,9 +30,9 @@
 import org.jboss.profileservice.deployment.ProfileDeploymentFactory;
 import org.jboss.profileservice.spi.ProfileDeployment;
 import org.jboss.profileservice.spi.VirtualDeploymentRepository;
-import org.jboss.profileservice.spi.repository.ArtifactId;
-import org.jboss.profileservice.spi.repository.ArtifactRepository;
-import org.jboss.profileservice.spi.repository.ArtifactRepositoryId;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactId;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactRepository;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactRepositoryId;
 import org.jboss.profileservice.spi.virtual.VirtualDeploymentMetaData;
 import org.jboss.profileservice.spi.virtual.assembly.VirtualDeploymentAssemblyContext;
 import org.jboss.profileservice.virtual.assembly.AbstractVirtualDeploymentAssembly;

Modified: projects/profileservice/trunk/core/src/test/java/org/jboss/test/profileservice/virtual/test/AbstractVirtualAssemblyTestCase.java
===================================================================
--- projects/profileservice/trunk/core/src/test/java/org/jboss/test/profileservice/virtual/test/AbstractVirtualAssemblyTestCase.java	2010-06-01 13:10:25 UTC (rev 105475)
+++ projects/profileservice/trunk/core/src/test/java/org/jboss/test/profileservice/virtual/test/AbstractVirtualAssemblyTestCase.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -25,8 +25,8 @@
 import java.util.Map;
 
 import org.jboss.profileservice.spi.VirtualDeploymentRepository;
-import org.jboss.profileservice.spi.repository.ArtifactId;
-import org.jboss.profileservice.spi.repository.ArtifactRepository;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactId;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactRepository;
 import org.jboss.profileservice.spi.virtual.VirtualDeploymentMetaData;
 import org.jboss.test.profileservice.ProfileServiceTestBase;
 import org.jboss.test.profileservice.metadata.support.VirtualRepositoryMetaData;

Modified: projects/profileservice/trunk/plugins/src/main/java/org/jboss/profileservice/plugins/deploy/TransientDeploymentMetaData.java
===================================================================
--- projects/profileservice/trunk/plugins/src/main/java/org/jboss/profileservice/plugins/deploy/TransientDeploymentMetaData.java	2010-06-01 13:10:25 UTC (rev 105475)
+++ projects/profileservice/trunk/plugins/src/main/java/org/jboss/profileservice/plugins/deploy/TransientDeploymentMetaData.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -24,7 +24,7 @@
 import java.util.Collections;
 import java.util.List;
 
-import org.jboss.profileservice.spi.repository.ArtifactId;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactId;
 import org.jboss.profileservice.spi.virtual.VirtualArtifactMetaData;
 import org.jboss.profileservice.spi.virtual.VirtualDeploymentMetaData;
 

Modified: projects/profileservice/trunk/plugins/src/main/java/org/jboss/profileservice/plugins/deploy/actions/DeploymentAddAction.java
===================================================================
--- projects/profileservice/trunk/plugins/src/main/java/org/jboss/profileservice/plugins/deploy/actions/DeploymentAddAction.java	2010-06-01 13:10:25 UTC (rev 105475)
+++ projects/profileservice/trunk/plugins/src/main/java/org/jboss/profileservice/plugins/deploy/actions/DeploymentAddAction.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -24,10 +24,10 @@
 import java.net.URL;
 
 import org.jboss.deployers.spi.management.deploy.DeploymentID;
+import org.jboss.profileservice.deployment.ProfileDeploymentFactory;
 import org.jboss.profileservice.management.event.ProfileModificationEvent;
 import org.jboss.profileservice.plugins.deploy.TransientDeploymentMetaData;
 import org.jboss.profileservice.plugins.deploy.TransientProfileActivator;
-import org.jboss.profileservice.repository.ProfileDeploymentFactory;
 import org.jboss.profileservice.spi.MutableProfile;
 import org.jboss.profileservice.spi.ProfileDeployment;
 import org.jboss.profileservice.spi.action.ProfileModificationResponse;

Modified: projects/profileservice/trunk/plugins/src/main/java/org/jboss/profileservice/plugins/deploy/actions/DeploymentDistributeAction.java
===================================================================
--- projects/profileservice/trunk/plugins/src/main/java/org/jboss/profileservice/plugins/deploy/actions/DeploymentDistributeAction.java	2010-06-01 13:10:25 UTC (rev 105475)
+++ projects/profileservice/trunk/plugins/src/main/java/org/jboss/profileservice/plugins/deploy/actions/DeploymentDistributeAction.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -41,9 +41,9 @@
 import org.jboss.profileservice.spi.action.deployment.DeploymentAction;
 import org.jboss.profileservice.spi.action.deployment.DeploymentActionContext;
 import org.jboss.profileservice.spi.deployment.ProfileDeploymentFlag;
-import org.jboss.profileservice.spi.repository.ArtifactRepository;
-import org.jboss.profileservice.spi.repository.ArtifactTransformer;
-import org.jboss.profileservice.spi.repository.MutableArtifactRepository;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactRepository;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactTransformer;
+import org.jboss.profileservice.spi.repository.artifact.MutableArtifactRepository;
 
 
 /**

Modified: projects/profileservice/trunk/plugins/src/main/java/org/jboss/profileservice/plugins/deploy/actions/DeploymentRemoveAction.java
===================================================================
--- projects/profileservice/trunk/plugins/src/main/java/org/jboss/profileservice/plugins/deploy/actions/DeploymentRemoveAction.java	2010-06-01 13:10:25 UTC (rev 105475)
+++ projects/profileservice/trunk/plugins/src/main/java/org/jboss/profileservice/plugins/deploy/actions/DeploymentRemoveAction.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -32,9 +32,9 @@
 import org.jboss.profileservice.spi.action.deployment.DeploymentAction;
 import org.jboss.profileservice.spi.action.deployment.DeploymentActionContext;
 import org.jboss.profileservice.spi.managed.ManagedProfile;
-import org.jboss.profileservice.spi.repository.ArtifactId;
-import org.jboss.profileservice.spi.repository.ArtifactRepository;
-import org.jboss.profileservice.spi.repository.MutableArtifactRepository;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactId;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactRepository;
+import org.jboss.profileservice.spi.repository.artifact.MutableArtifactRepository;
 
 /**
  * @author <a href="mailto:emuckenh at redhat.com">Emanuel Muckenhuber</a>

Modified: projects/profileservice/trunk/plugins/src/test/java/org/jboss/test/profileservice/plugins/deploy/support/TestVirtualDeploymentRepository.java
===================================================================
--- projects/profileservice/trunk/plugins/src/test/java/org/jboss/test/profileservice/plugins/deploy/support/TestVirtualDeploymentRepository.java	2010-06-01 13:10:25 UTC (rev 105475)
+++ projects/profileservice/trunk/plugins/src/test/java/org/jboss/test/profileservice/plugins/deploy/support/TestVirtualDeploymentRepository.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -27,12 +27,12 @@
 import java.util.concurrent.ConcurrentHashMap;
 
 import org.jboss.profileservice.config.VirtualAssemblyConfiguration;
-import org.jboss.profileservice.repository.ProfileDeploymentFactory;
+import org.jboss.profileservice.deployment.ProfileDeploymentFactory;
 import org.jboss.profileservice.spi.ProfileDeployment;
 import org.jboss.profileservice.spi.VirtualDeploymentRepository;
-import org.jboss.profileservice.spi.repository.ArtifactId;
-import org.jboss.profileservice.spi.repository.ArtifactRepository;
-import org.jboss.profileservice.spi.repository.ArtifactRepositoryId;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactId;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactRepository;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactRepositoryId;
 import org.jboss.profileservice.spi.virtual.VirtualDeploymentMetaData;
 import org.jboss.profileservice.spi.virtual.assembly.VirtualDeploymentAssemblyContext;
 import org.jboss.profileservice.virtual.assembly.AbstractVirtualDeploymentAssembly;

Modified: projects/profileservice/trunk/plugins/src/test/java/org/jboss/test/profileservice/plugins/deploy/test/DeployHandlerUnitTestCase.java
===================================================================
--- projects/profileservice/trunk/plugins/src/test/java/org/jboss/test/profileservice/plugins/deploy/test/DeployHandlerUnitTestCase.java	2010-06-01 13:10:25 UTC (rev 105475)
+++ projects/profileservice/trunk/plugins/src/test/java/org/jboss/test/profileservice/plugins/deploy/test/DeployHandlerUnitTestCase.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -46,9 +46,9 @@
 import org.jboss.profileservice.spi.action.ProfileModificationAction;
 import org.jboss.profileservice.spi.action.ProfileModificationType;
 import org.jboss.profileservice.spi.deployment.ProfileDeploymentFlag;
-import org.jboss.profileservice.spi.repository.ArtifactRepositoryId;
-import org.jboss.profileservice.spi.repository.MutableArtifactRepository;
-import org.jboss.profileservice.spi.repository.ArtifactRepositoryConfiguration.VFSBackupPolicy;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactRepositoryId;
+import org.jboss.profileservice.spi.repository.artifact.MutableArtifactRepository;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactRepositoryConfiguration.VFSBackupPolicy;
 import org.jboss.test.profileservice.plugins.deploy.support.DeploymentIDSupport;
 import org.jboss.test.profileservice.plugins.deploy.support.ManagedProfileSupport;
 import org.jboss.test.profileservice.plugins.deploy.support.TestVirtualDeploymentRepository;

Modified: 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	2010-06-01 13:10:25 UTC (rev 105475)
+++ projects/profileservice/trunk/plugins/src/test/java/org/jboss/test/profileservice/plugins/mgt/support/RegisteredProfileSupport.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -26,7 +26,7 @@
 import java.util.Map;
 import java.util.Set;
 
-import org.jboss.profileservice.repository.ProfileDeploymentFactory;
+import org.jboss.profileservice.deployment.ProfileDeploymentFactory;
 import org.jboss.profileservice.spi.NoSuchDeploymentException;
 import org.jboss.profileservice.spi.Profile;
 import org.jboss.profileservice.spi.ProfileDeployment;

Modified: projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/VirtualDeploymentRepository.java
===================================================================
--- projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/VirtualDeploymentRepository.java	2010-06-01 13:10:25 UTC (rev 105475)
+++ projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/VirtualDeploymentRepository.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -24,9 +24,9 @@
 import java.io.IOException;
 import java.util.Collection;
 
-import org.jboss.profileservice.spi.repository.ArtifactId;
-import org.jboss.profileservice.spi.repository.ArtifactRepository;
-import org.jboss.profileservice.spi.repository.ArtifactRepositoryId;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactId;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactRepository;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactRepositoryId;
 import org.jboss.profileservice.spi.virtual.VirtualDeploymentMetaData;
 
 /**

Deleted: projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/Artifact.java
===================================================================
--- projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/Artifact.java	2010-06-01 13:10:25 UTC (rev 105475)
+++ projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/Artifact.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -1,55 +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.repository;
-
-/**
- * The artifact.
- * 
- * @author <a href="mailto:emuckenh at redhat.com">Emanuel Muckenhuber</a>
- * @version $Revision$
- */
-public interface Artifact<T extends ArtifactId> extends Identifiable<T> 
-{
-   
-   /**
-    * Get the repository id.
-    * 
-    * @return the repository id.
-    */
-   ArtifactRepositoryId getRepository();
-   
-   /**
-    * Get the relative path to the repository.
-    * 
-    * @return the relative path to the repository
-    */
-   String getRelativePath();
-   
-   /**
-    * Get the last modified.
-    * 
-    * @return last modified
-    */
-   long getLastModified();
-   
-}
-

Deleted: projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/ArtifactFilter.java
===================================================================
--- projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/ArtifactFilter.java	2010-06-01 13:10:25 UTC (rev 105475)
+++ projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/ArtifactFilter.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -1,53 +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.spi.repository;
-
-/**
- * The artifact filter.
- * 
- * @author <a href="mailto:emuckenh at redhat.com">Emanuel Muckenhuber</a>
- * @version $Revision$
- */
-public interface ArtifactFilter<T extends ArtifactId>
-{
-
-   /**
-    * Accepts an artifact.
-    * 
-    * @param artifact the artifact
-    * @return 
-    */
-   boolean accepts(Artifact<T> artifact);
-
-   /**
-    * Determine whether to recurse into a artifact 
-    * e.g. for file artifacts if it's a directory. 
-    * 
-    * TODO does this make sense?
-    * 
-    * @param artifact the artifact
-    * @return 
-    */
-   boolean recurse(Artifact<T> artifact);
-   
-}
-

Deleted: projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/ArtifactId.java
===================================================================
--- projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/ArtifactId.java	2010-06-01 13:10:25 UTC (rev 105475)
+++ projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/ArtifactId.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -1,43 +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.repository;
-
-import java.io.Serializable;
-
-/**
- * The artifact identifier.
- * 
- * @author <a href="mailto:emuckenh at redhat.com">Emanuel Muckenhuber</a>
- * @version $Revision$
- */
-public interface ArtifactId extends Serializable
-{
-
-   /**
-    * Get the artifact type.
-    * 
-    * @return the artifact type
-    */
-   String getType();
-
-}
-

Deleted: projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/ArtifactNotFoundHandler.java
===================================================================
--- projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/ArtifactNotFoundHandler.java	2010-06-01 13:10:25 UTC (rev 105475)
+++ projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/ArtifactNotFoundHandler.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -1,48 +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.repository;
-
-import java.io.IOException;
-
-/**
- * A handler which is getting called, when a artifact cannot be found.
- * 
- * @author <a href="mailto:emuckenh at redhat.com">Emanuel Muckenhuber</a>
- * @version $Revision$
- */
-public interface ArtifactNotFoundHandler<T extends ArtifactId>
-{
-
-   /**
-    * Handle if an artifact cannot be found. The default would be to throw an exception.
-    * Other implementations might want to check other locations for this artifact and
-    * provide it.
-    * 
-    * @param repsoitory the repository
-    * @param artifactId the artifact id
-    * @return artifact the resolved artifact
-    * @throws IOException for any error
-    */
-   Artifact<T> handleArtifactNotFound(ArtifactRepository<T> repsoitory, T artifactId) throws IOException;
-   
-}
-

Deleted: projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/ArtifactRepository.java
===================================================================
--- projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/ArtifactRepository.java	2010-06-01 13:10:25 UTC (rev 105475)
+++ projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/ArtifactRepository.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -1,106 +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.repository;
-
-import java.io.IOException;
-import java.net.URI;
-import java.util.Collection;
-
-import org.jboss.vfs.VirtualFile;
-
-/**
- * The artifact repository.
- * 
- * @author <a href="mailto:emuckenh at redhat.com">Emanuel Muckenhuber</a>
- * @version $Revision$
- */
-// TODO move this out of the ProfileService SPI
-public interface ArtifactRepository<T extends ArtifactId> extends Identifiable<ArtifactRepositoryId>
-{
-   
-   /**
-    * Get the artifact repository location.
-    * 
-    * @return the repository location
-    */
-   URI getRepositoryURI();
-   
-   /**
-    * Get the repository configuration.
-    * 
-    * @return the configuration
-    */
-    ArtifactRepositoryConfiguration<T> getConfiguration(); 
-
-   /**
-    * Checks whether this repository provides the specified
-    * artifact.
-    * 
-    * @param artifact the artifact to resolve
-    * @return true if the artifact exists, false otherwise
-    */
-   boolean containsArtifact(T artifact);
-   
-   /**
-    * Get the artifact meta data.
-    * 
-    * @param artifactId the artifact id
-    * @return the artifact
-    */
-   Artifact<T> getArtifact(T artifactId);
-   
-   /**
-    * Get the available artifacts.
-    * 
-    * @return the artifacts
-    */
-   Collection<Artifact<T>> getArtifacts();
-   
-   /**
-    * Get the filtered artifacts.
-    * 
-    * @param filter the artifact filter.
-    * @return the artifacts.
-    */
-   Collection<Artifact<T>> getArtifacts(ArtifactFilter<T> filter);
-   
-   /**
-    * Get the artifact file from the repository. 
-    * 
-    * @param artifact the artifact
-    * @return the virtual file
-    * @throws IOException
-    */
-   VirtualFile getArtifactFile(T artifact) throws IOException;
-   
-   /**
-    * Get the original file of the artifact.
-    * {@see ArtifactRepositoryConfiguration.VFSBackupPolicy}.
-    * 
-    * @param artifact the artifact
-    * @return the original virtual file
-    * @throws IOException
-    */
-   VirtualFile getOriginalFile(T artifact) throws IOException;
-
-}
-

Deleted: projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/ArtifactRepositoryConfiguration.java
===================================================================
--- projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/ArtifactRepositoryConfiguration.java	2010-06-01 13:10:25 UTC (rev 105475)
+++ projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/ArtifactRepositoryConfiguration.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -1,80 +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.repository;
-
-
-/**
- * The artifact repository configuration.
- * 
- * @author <a href="mailto:emuckenh at redhat.com">Emanuel Muckenhuber</a>
- * @version $Revision$
- */
-public interface ArtifactRepositoryConfiguration<T extends ArtifactId>
-{
-   
-   /**
-    * Returns <code>true</code> if this repository can be modified.
-    * 
-    * @return whether this repository is mutable or not
-    */
-   boolean isMutable();
-
-   /**
-    * Get the vfs backup policy.
-    * 
-    * @return the backup policy
-    */
-   VFSBackupPolicy getBackupPolicy();
-   
-   /**
-    * Get the not found handler.
-    * 
-    * @return the not found handler.
-    */
-   ArtifactNotFoundHandler<T> getNotFoundHandler();
-
-   /**
-    * The repository backup policy. This is needed for any hot-deployment
-    * profile using a artifact repository preserving the original view on
-    * the file system.
-    * 
-    * For BACKUP the semantics are that all artifacts reference
-    * the backup location, therefore the location of the {@code VirtualFile}
-    * will be different from it's original root.
-    * The original can be reconstructed using the {@code ArtifactRepository#getRepositoryURI()}
-    * and the {@code Artifact#getRelativePath()}.
-    *
-    * USE_ORIGINAL will return the real location, where the actual view on the virtual file
-    * system can change during the deployment process.
-    * 
-    */
-   public enum VFSBackupPolicy
-   {
-      // return a backup artifact
-      BACKUP,
-      
-      // return the original file
-      ORIGINAL,
-   }
-   
-}
-

Deleted: projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/ArtifactRepositoryFactory.java
===================================================================
--- projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/ArtifactRepositoryFactory.java	2010-06-01 13:10:25 UTC (rev 105475)
+++ projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/ArtifactRepositoryFactory.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -1,55 +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.repository;
-
-import java.io.IOException;
-
-/**
- * The artifact repository factory.
- * 
- * @author <a href="mailto:emuckenh at redhat.com">Emanuel Muckenhuber</a>
- * @version $Revision$
- */
-public interface ArtifactRepositoryFactory<T extends ArtifactId>
-{
-
-   /**
-    * Get the repository type.
-    * {@link ArtifactRepositoryId#getType()}
-    * 
-    * @return the repository type.
-    */
-   String getRepositoryType();
-   
-   /**
-    * Create a artifact repository.
-    * 
-    * @param repositoryId the repository id
-    * @param configuration the repository configuration
-    * @return the artifact repository
-    * @throws IOException
-    */
-   ArtifactRepository<T> createArtifactRepository(ArtifactRepositoryId repositoryId,
-         ArtifactRepositoryConfiguration<T> configuration) throws IOException;
-   
-}
-

Deleted: projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/ArtifactRepositoryId.java
===================================================================
--- projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/ArtifactRepositoryId.java	2010-06-01 13:10:25 UTC (rev 105475)
+++ projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/ArtifactRepositoryId.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -1,52 +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.repository;
-
-import java.io.Serializable;
-
-/**
- * The artifact repository id.
- * 
- * @author <a href="mailto:emuckenh at redhat.com">Emanuel Muckenhuber</a>
- * @version $Revision$
- */
-public interface ArtifactRepositoryId extends Serializable
-{
-
-   /**
-    * Get the repository type.
-    * 
-    * {@link ArtifactId#getType()}
-    * 
-    * @return the repository type
-    */
-   String getType();
-   
-   /**
-    * Get the name.
-    * 
-    * @return the name
-    */
-   String getName();
-
-}
-

Deleted: projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/ArtifactTransformer.java
===================================================================
--- projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/ArtifactTransformer.java	2010-06-01 13:10:25 UTC (rev 105475)
+++ projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/ArtifactTransformer.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -1,49 +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.spi.repository;
-
-import java.io.IOException;
-import java.io.InputStream;
-
-import org.jboss.vfs.VirtualFile;
-
-/**
- * The artifact transformer.
- * 
- * @author <a href="mailto:emuckenh at redhat.com">Emanuel Muckenhuber</a>
- * @version $Revision$
- */
-public interface ArtifactTransformer<T extends ArtifactId>
-{
-
-   /**
-    * Transform.
-    * 
-    * @param artifactId the artifact id
-    * @param is the input stream
-    * @param target the target virtual file
-    * @throws IOException for any error
-    */
-   void transform(T artifactId, InputStream is, VirtualFile target) throws IOException;
-   
-}
-

Deleted: projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/Identifiable.java
===================================================================
--- projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/Identifiable.java	2010-06-01 13:10:25 UTC (rev 105475)
+++ projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/Identifiable.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -1,41 +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.repository;
-
-import java.io.Serializable;
-
-/**
- * @author <a href="mailto:emuckenh at redhat.com">Emanuel Muckenhuber</a>
- * @version $Revision$
- */
-public interface Identifiable<T extends Serializable>
-{
-   
-   /**
-    * Get the identifier
-    * 
-    * @return the identifier
-    */
-   T getIdentifier();
-
-}
-

Deleted: projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/MutableArtifactRepository.java
===================================================================
--- projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/MutableArtifactRepository.java	2010-06-01 13:10:25 UTC (rev 105475)
+++ projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/MutableArtifactRepository.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -1,56 +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.repository;
-
-import java.io.IOException;
-import java.io.InputStream;
-
-/**
- * The mutable artifact repository.
- * 
- * @author <a href="mailto:emuckenh at redhat.com">Emanuel Muckenhuber</a>
- * @version $Revision$
- */
-public interface MutableArtifactRepository<T extends ArtifactId> extends ArtifactRepository<T>
-{
-
-   /**
-    * Add a artifact to the repository.
-    * 
-    * NOTE closing the <code>InputStream</code> has to be handled by the caller.
-    * 
-    * @param artifactId the artifact to add
-    * @param is the input stream
-    * @param transformer the artifact transformer
-    * @throws IOException for any error
-    */
-   void addArtifact(T artifactId, InputStream is, ArtifactTransformer<T> transformer) throws IOException;
-   
-   /**
-    * Remove a artifact from the repository.
-    * 
-    * @param artifactId the artifact id
-    */
-   void removeArtifact(T artifactId) throws IOException;
-   
-}
-

Copied: projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/artifact/Artifact.java (from rev 105218, projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/Artifact.java)
===================================================================
--- projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/artifact/Artifact.java	                        (rev 0)
+++ projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/artifact/Artifact.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -0,0 +1,55 @@
+/*
+* 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.repository.artifact;
+
+/**
+ * The artifact.
+ * 
+ * @author <a href="mailto:emuckenh at redhat.com">Emanuel Muckenhuber</a>
+ * @version $Revision$
+ */
+public interface Artifact<T extends ArtifactId> extends Identifiable<T> 
+{
+   
+   /**
+    * Get the repository id.
+    * 
+    * @return the repository id.
+    */
+   ArtifactRepositoryId getRepository();
+   
+   /**
+    * Get the relative path to the repository.
+    * 
+    * @return the relative path to the repository
+    */
+   String getRelativePath();
+   
+   /**
+    * Get the last modified.
+    * 
+    * @return last modified
+    */
+   long getLastModified();
+   
+}
+

Copied: projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/artifact/ArtifactFilter.java (from rev 105218, projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/ArtifactFilter.java)
===================================================================
--- projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/artifact/ArtifactFilter.java	                        (rev 0)
+++ projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/artifact/ArtifactFilter.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -0,0 +1,53 @@
+/*
+* 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.spi.repository.artifact;
+
+/**
+ * The artifact filter.
+ * 
+ * @author <a href="mailto:emuckenh at redhat.com">Emanuel Muckenhuber</a>
+ * @version $Revision$
+ */
+public interface ArtifactFilter<T extends ArtifactId>
+{
+
+   /**
+    * Accepts an artifact.
+    * 
+    * @param artifact the artifact
+    * @return 
+    */
+   boolean accepts(Artifact<T> artifact);
+
+   /**
+    * Determine whether to recurse into a artifact 
+    * e.g. for file artifacts if it's a directory. 
+    * 
+    * TODO does this make sense?
+    * 
+    * @param artifact the artifact
+    * @return 
+    */
+   boolean recurse(Artifact<T> artifact);
+   
+}
+

Copied: projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/artifact/ArtifactId.java (from rev 105218, projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/ArtifactId.java)
===================================================================
--- projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/artifact/ArtifactId.java	                        (rev 0)
+++ projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/artifact/ArtifactId.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -0,0 +1,43 @@
+/*
+* 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.repository.artifact;
+
+import java.io.Serializable;
+
+/**
+ * The artifact identifier.
+ * 
+ * @author <a href="mailto:emuckenh at redhat.com">Emanuel Muckenhuber</a>
+ * @version $Revision$
+ */
+public interface ArtifactId extends Serializable
+{
+
+   /**
+    * Get the artifact type.
+    * 
+    * @return the artifact type
+    */
+   String getType();
+
+}
+

Copied: projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/artifact/ArtifactNotFoundHandler.java (from rev 105218, projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/ArtifactNotFoundHandler.java)
===================================================================
--- projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/artifact/ArtifactNotFoundHandler.java	                        (rev 0)
+++ projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/artifact/ArtifactNotFoundHandler.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -0,0 +1,48 @@
+/*
+* 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.repository.artifact;
+
+import java.io.IOException;
+
+/**
+ * A handler which is getting called, when a artifact cannot be found.
+ * 
+ * @author <a href="mailto:emuckenh at redhat.com">Emanuel Muckenhuber</a>
+ * @version $Revision$
+ */
+public interface ArtifactNotFoundHandler<T extends ArtifactId>
+{
+
+   /**
+    * Handle if an artifact cannot be found. The default would be to throw an exception.
+    * Other implementations might want to check other locations for this artifact and
+    * provide it.
+    * 
+    * @param repsoitory the repository
+    * @param artifactId the artifact id
+    * @return artifact the resolved artifact
+    * @throws IOException for any error
+    */
+   Artifact<T> handleArtifactNotFound(ArtifactRepository<T> repsoitory, T artifactId) throws IOException;
+   
+}
+

Copied: projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/artifact/ArtifactRepository.java (from rev 105218, projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/ArtifactRepository.java)
===================================================================
--- projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/artifact/ArtifactRepository.java	                        (rev 0)
+++ projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/artifact/ArtifactRepository.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -0,0 +1,106 @@
+/*
+* 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.repository.artifact;
+
+import java.io.IOException;
+import java.net.URI;
+import java.util.Collection;
+
+import org.jboss.vfs.VirtualFile;
+
+/**
+ * The artifact repository.
+ * 
+ * @author <a href="mailto:emuckenh at redhat.com">Emanuel Muckenhuber</a>
+ * @version $Revision$
+ */
+// TODO move this out of the ProfileService SPI
+public interface ArtifactRepository<T extends ArtifactId> extends Identifiable<ArtifactRepositoryId>
+{
+   
+   /**
+    * Get the artifact repository location.
+    * 
+    * @return the repository location
+    */
+   URI getRepositoryURI();
+   
+   /**
+    * Get the repository configuration.
+    * 
+    * @return the configuration
+    */
+    ArtifactRepositoryConfiguration<T> getConfiguration(); 
+
+   /**
+    * Checks whether this repository provides the specified
+    * artifact.
+    * 
+    * @param artifact the artifact to resolve
+    * @return true if the artifact exists, false otherwise
+    */
+   boolean containsArtifact(T artifact);
+   
+   /**
+    * Get the artifact meta data.
+    * 
+    * @param artifactId the artifact id
+    * @return the artifact
+    */
+   Artifact<T> getArtifact(T artifactId);
+   
+   /**
+    * Get the available artifacts.
+    * 
+    * @return the artifacts
+    */
+   Collection<Artifact<T>> getArtifacts();
+   
+   /**
+    * Get the filtered artifacts.
+    * 
+    * @param filter the artifact filter.
+    * @return the artifacts.
+    */
+   Collection<Artifact<T>> getArtifacts(ArtifactFilter<T> filter);
+   
+   /**
+    * Get the artifact file from the repository. 
+    * 
+    * @param artifact the artifact
+    * @return the virtual file
+    * @throws IOException
+    */
+   VirtualFile getArtifactFile(T artifact) throws IOException;
+   
+   /**
+    * Get the original file of the artifact.
+    * {@see ArtifactRepositoryConfiguration.VFSBackupPolicy}.
+    * 
+    * @param artifact the artifact
+    * @return the original virtual file
+    * @throws IOException
+    */
+   VirtualFile getOriginalFile(T artifact) throws IOException;
+
+}
+

Copied: projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/artifact/ArtifactRepositoryConfiguration.java (from rev 105218, projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/ArtifactRepositoryConfiguration.java)
===================================================================
--- projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/artifact/ArtifactRepositoryConfiguration.java	                        (rev 0)
+++ projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/artifact/ArtifactRepositoryConfiguration.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -0,0 +1,80 @@
+/*
+* 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.repository.artifact;
+
+
+/**
+ * The artifact repository configuration.
+ * 
+ * @author <a href="mailto:emuckenh at redhat.com">Emanuel Muckenhuber</a>
+ * @version $Revision$
+ */
+public interface ArtifactRepositoryConfiguration<T extends ArtifactId>
+{
+   
+   /**
+    * Returns <code>true</code> if this repository can be modified.
+    * 
+    * @return whether this repository is mutable or not
+    */
+   boolean isMutable();
+
+   /**
+    * Get the vfs backup policy.
+    * 
+    * @return the backup policy
+    */
+   VFSBackupPolicy getBackupPolicy();
+   
+   /**
+    * Get the not found handler.
+    * 
+    * @return the not found handler.
+    */
+   ArtifactNotFoundHandler<T> getNotFoundHandler();
+
+   /**
+    * The repository backup policy. This is needed for any hot-deployment
+    * profile using a artifact repository preserving the original view on
+    * the file system.
+    * 
+    * For BACKUP the semantics are that all artifacts reference
+    * the backup location, therefore the location of the {@code VirtualFile}
+    * will be different from it's original root.
+    * The original can be reconstructed using the {@code ArtifactRepository#getRepositoryURI()}
+    * and the {@code Artifact#getRelativePath()}.
+    *
+    * USE_ORIGINAL will return the real location, where the actual view on the virtual file
+    * system can change during the deployment process.
+    * 
+    */
+   public enum VFSBackupPolicy
+   {
+      // return a backup artifact
+      BACKUP,
+      
+      // return the original file
+      ORIGINAL,
+   }
+   
+}
+

Copied: projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/artifact/ArtifactRepositoryFactory.java (from rev 105218, projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/ArtifactRepositoryFactory.java)
===================================================================
--- projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/artifact/ArtifactRepositoryFactory.java	                        (rev 0)
+++ projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/artifact/ArtifactRepositoryFactory.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -0,0 +1,55 @@
+/*
+* 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.repository.artifact;
+
+import java.io.IOException;
+
+/**
+ * The artifact repository factory.
+ * 
+ * @author <a href="mailto:emuckenh at redhat.com">Emanuel Muckenhuber</a>
+ * @version $Revision$
+ */
+public interface ArtifactRepositoryFactory<T extends ArtifactId>
+{
+
+   /**
+    * Get the repository type.
+    * {@link ArtifactRepositoryId#getType()}
+    * 
+    * @return the repository type.
+    */
+   String getRepositoryType();
+   
+   /**
+    * Create a artifact repository.
+    * 
+    * @param repositoryId the repository id
+    * @param configuration the repository configuration
+    * @return the artifact repository
+    * @throws IOException
+    */
+   ArtifactRepository<T> createArtifactRepository(ArtifactRepositoryId repositoryId,
+         ArtifactRepositoryConfiguration<T> configuration) throws IOException;
+   
+}
+

Copied: projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/artifact/ArtifactRepositoryId.java (from rev 105218, projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/ArtifactRepositoryId.java)
===================================================================
--- projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/artifact/ArtifactRepositoryId.java	                        (rev 0)
+++ projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/artifact/ArtifactRepositoryId.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -0,0 +1,52 @@
+/*
+* 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.repository.artifact;
+
+import java.io.Serializable;
+
+/**
+ * The artifact repository id.
+ * 
+ * @author <a href="mailto:emuckenh at redhat.com">Emanuel Muckenhuber</a>
+ * @version $Revision$
+ */
+public interface ArtifactRepositoryId extends Serializable
+{
+
+   /**
+    * Get the repository type.
+    * 
+    * {@link ArtifactId#getType()}
+    * 
+    * @return the repository type
+    */
+   String getType();
+   
+   /**
+    * Get the name.
+    * 
+    * @return the name
+    */
+   String getName();
+
+}
+

Copied: projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/artifact/ArtifactTransformer.java (from rev 105218, projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/ArtifactTransformer.java)
===================================================================
--- projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/artifact/ArtifactTransformer.java	                        (rev 0)
+++ projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/artifact/ArtifactTransformer.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -0,0 +1,49 @@
+/*
+* 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.spi.repository.artifact;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+import org.jboss.vfs.VirtualFile;
+
+/**
+ * The artifact transformer.
+ * 
+ * @author <a href="mailto:emuckenh at redhat.com">Emanuel Muckenhuber</a>
+ * @version $Revision$
+ */
+public interface ArtifactTransformer<T extends ArtifactId>
+{
+
+   /**
+    * Transform.
+    * 
+    * @param artifactId the artifact id
+    * @param is the input stream
+    * @param target the target virtual file
+    * @throws IOException for any error
+    */
+   void transform(T artifactId, InputStream is, VirtualFile target) throws IOException;
+   
+}
+

Copied: projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/artifact/Identifiable.java (from rev 105218, projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/Identifiable.java)
===================================================================
--- projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/artifact/Identifiable.java	                        (rev 0)
+++ projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/artifact/Identifiable.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -0,0 +1,41 @@
+/*
+* 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.repository.artifact;
+
+import java.io.Serializable;
+
+/**
+ * @author <a href="mailto:emuckenh at redhat.com">Emanuel Muckenhuber</a>
+ * @version $Revision$
+ */
+public interface Identifiable<T extends Serializable>
+{
+   
+   /**
+    * Get the identifier
+    * 
+    * @return the identifier
+    */
+   T getIdentifier();
+
+}
+

Copied: projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/artifact/MutableArtifactRepository.java (from rev 105218, projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/MutableArtifactRepository.java)
===================================================================
--- projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/artifact/MutableArtifactRepository.java	                        (rev 0)
+++ projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/repository/artifact/MutableArtifactRepository.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -0,0 +1,56 @@
+/*
+* 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.repository.artifact;
+
+import java.io.IOException;
+import java.io.InputStream;
+
+/**
+ * The mutable artifact repository.
+ * 
+ * @author <a href="mailto:emuckenh at redhat.com">Emanuel Muckenhuber</a>
+ * @version $Revision$
+ */
+public interface MutableArtifactRepository<T extends ArtifactId> extends ArtifactRepository<T>
+{
+
+   /**
+    * Add a artifact to the repository.
+    * 
+    * NOTE closing the <code>InputStream</code> has to be handled by the caller.
+    * 
+    * @param artifactId the artifact to add
+    * @param is the input stream
+    * @param transformer the artifact transformer
+    * @throws IOException for any error
+    */
+   void addArtifact(T artifactId, InputStream is, ArtifactTransformer<T> transformer) throws IOException;
+   
+   /**
+    * Remove a artifact from the repository.
+    * 
+    * @param artifactId the artifact id
+    */
+   void removeArtifact(T artifactId) throws IOException;
+   
+}
+

Modified: projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/virtual/VirtualArtifactMetaData.java
===================================================================
--- projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/virtual/VirtualArtifactMetaData.java	2010-06-01 13:10:25 UTC (rev 105475)
+++ projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/virtual/VirtualArtifactMetaData.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -23,7 +23,7 @@
 
 import java.util.List;
 
-import org.jboss.profileservice.spi.repository.ArtifactId;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactId;
 
 /**
  * The virtual path meta data. 

Modified: projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/virtual/VirtualDeploymentMetaData.java
===================================================================
--- projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/virtual/VirtualDeploymentMetaData.java	2010-06-01 13:10:25 UTC (rev 105475)
+++ projects/profileservice/trunk/spi/src/main/java/org/jboss/profileservice/spi/virtual/VirtualDeploymentMetaData.java	2010-06-01 13:12:55 UTC (rev 105476)
@@ -23,7 +23,7 @@
 
 import java.util.List;
 
-import org.jboss.profileservice.spi.repository.ArtifactId;
+import org.jboss.profileservice.spi.repository.artifact.ArtifactId;
 
 /**
  * The virtual deployment meta data.




More information about the jboss-cvs-commits mailing list