You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by jv...@apache.org on 2009/07/15 21:24:29 UTC

svn commit: r794373 [2/9] - in /maven/components/branches/MNG-4221: maven-compat/ maven-compat/src/main/java/org/apache/maven/artifact/ maven-compat/src/main/java/org/apache/maven/artifact/deployer/ maven-compat/src/main/java/org/apache/maven/artifact/...

Added: maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/handler/LegacyArtifactHandlerAdapter.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/handler/LegacyArtifactHandlerAdapter.java?rev=794373&view=auto
==============================================================================
--- maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/handler/LegacyArtifactHandlerAdapter.java (added)
+++ maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/handler/LegacyArtifactHandlerAdapter.java Wed Jul 15 19:24:20 2009
@@ -0,0 +1,47 @@
+package org.apache.maven.artifact.handler;
+
+public class LegacyArtifactHandlerAdapter
+    implements ArtifactHandler
+{
+    private org.apache.maven.repository.legacy.handler.ArtifactHandler handler;
+    
+    public LegacyArtifactHandlerAdapter( org.apache.maven.repository.legacy.handler.ArtifactHandler handler )
+    {
+        this.handler = handler;
+    }
+
+    public String getClassifier()
+    {
+        return handler.getClassifier();
+    }
+
+    public String getDirectory()
+    {
+        return handler.getDirectory();
+    }
+
+    public String getExtension()
+    {
+        return handler.getExtension();
+    }
+
+    public String getLanguage()
+    {
+        return handler.getLanguage();
+    }
+
+    public String getPackaging()
+    {
+        return handler.getPackaging();
+    }
+
+    public boolean isAddedToClasspath()
+    {
+        return handler.isAddedToClasspath();
+    }
+
+    public boolean isIncludesDependencies()
+    {
+        return handler.isIncludesDependencies();
+    }
+}

Propchange: maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/handler/LegacyArtifactHandlerAdapter.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/handler/LegacyArtifactHandlerAdapter.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Modified: maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/handler/manager/ArtifactHandlerManager.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/handler/manager/ArtifactHandlerManager.java?rev=794373&r1=794372&r2=794373&view=diff
==============================================================================
--- maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/handler/manager/ArtifactHandlerManager.java (original)
+++ maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/handler/manager/ArtifactHandlerManager.java Wed Jul 15 19:24:20 2009
@@ -1,37 +1,11 @@
 package org.apache.maven.artifact.handler.manager;
 
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.Map;
-
 import org.apache.maven.artifact.handler.ArtifactHandler;
 
-/**
- * @author Jason van Zyl
- * @version $Id$
- */
+@Deprecated
 public interface ArtifactHandlerManager
 {
     String ROLE = ArtifactHandlerManager.class.getName();
 
     ArtifactHandler getArtifactHandler( String type );
-
-    void addHandlers( Map<String,ArtifactHandler> handlers );
-}
\ No newline at end of file
+}

Modified: maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/handler/manager/DefaultArtifactHandlerManager.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/handler/manager/DefaultArtifactHandlerManager.java?rev=794373&r1=794372&r2=794373&view=diff
==============================================================================
--- maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/handler/manager/DefaultArtifactHandlerManager.java (original)
+++ maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/handler/manager/DefaultArtifactHandlerManager.java Wed Jul 15 19:24:20 2009
@@ -1,62 +1,21 @@
 package org.apache.maven.artifact.handler.manager;
 
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.Map;
-import java.util.Set;
-
 import org.apache.maven.artifact.handler.ArtifactHandler;
-import org.apache.maven.artifact.handler.DefaultArtifactHandler;
+import org.apache.maven.artifact.handler.LegacyArtifactHandlerAdapter;
+import org.apache.maven.repository.RepositorySystem;
 import org.codehaus.plexus.component.annotations.Component;
 import org.codehaus.plexus.component.annotations.Requirement;
 
-/**
- * @author Jason van Zyl
- * @version $Id$
- */
-@Component(role=ArtifactHandlerManager.class) 
+@Deprecated
+@Component(role=ArtifactHandlerManager.class)
 public class DefaultArtifactHandlerManager
     implements ArtifactHandlerManager
 {
-    @Requirement(role=ArtifactHandler.class)    
-    private Map<String,ArtifactHandler> artifactHandlers;
-
+    @Requirement
+    private RepositorySystem repositorySystem;
+    
     public ArtifactHandler getArtifactHandler( String type )
     {
-        ArtifactHandler handler = artifactHandlers.get( type );
-
-        if ( handler == null )
-        {
-            handler = new DefaultArtifactHandler( type );
-        }
-
-        return handler;
-    }
-
-    public void addHandlers( Map<String,ArtifactHandler> handlers )
-    {
-        artifactHandlers.putAll( handlers );
-    }
-
-    public Set<String> getHandlerTypes()
-    {
-        return artifactHandlers.keySet();
-    }
+        return new LegacyArtifactHandlerAdapter( repositorySystem.getArtifactHandler( type ) );
+    }    
 }

Modified: maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/installer/ArtifactInstallationException.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/installer/ArtifactInstallationException.java?rev=794373&r1=794372&r2=794373&view=diff
==============================================================================
--- maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/installer/ArtifactInstallationException.java (original)
+++ maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/installer/ArtifactInstallationException.java Wed Jul 15 19:24:20 2009
@@ -1,31 +1,14 @@
 package org.apache.maven.artifact.installer;
 
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * @author <a href="mailto:jason@maven.org">Jason van Zyl</a>
- * @version $Id$
- */
+@Deprecated
 public class ArtifactInstallationException
-    extends Exception
+    extends org.apache.maven.repository.legacy.installer.ArtifactInstallationException
 {
+    public ArtifactInstallationException( String message, Throwable cause )
+    {
+        super( message, cause );
+    }
+
     public ArtifactInstallationException( String message )
     {
         super( message );
@@ -35,10 +18,4 @@
     {
         super( cause );
     }
-
-    public ArtifactInstallationException( String message,
-                                          Throwable cause )
-    {
-        super( message, cause );
-    }
 }

Modified: maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/installer/ArtifactInstaller.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/installer/ArtifactInstaller.java?rev=794373&r1=794372&r2=794373&view=diff
==============================================================================
--- maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/installer/ArtifactInstaller.java (original)
+++ maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/installer/ArtifactInstaller.java Wed Jul 15 19:24:20 2009
@@ -1,57 +1,13 @@
 package org.apache.maven.artifact.installer;
 
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
- * agreements. See the NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the License. You may obtain a
- * copy of the License at
- * 
- * http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing permissions and limitations under
- * the License.
- */
-
 import java.io.File;
 
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.repository.ArtifactRepository;
 
-/**
- * @author <a href="michal@codehaus.org">Michal Maczka</a>
- * @version $Id$
- */
+@Deprecated
 public interface ArtifactInstaller
 {
-    String ROLE = ArtifactInstaller.class.getName();
-
-    /**
-     * Install an artifact from a particular directory. The artifact handler is used to determine
-     * the filename of the source file.
-     * 
-     * @param basedir the directory where the artifact is stored
-     * @param finalName the name of the artifact sans extension
-     * @param artifact the artifact definition
-     * @param localRepository the local repository to install into
-     * @throws ArtifactInstallationException if an error occurred installing the artifact
-     * @deprecated to be removed before 2.0 after the instlal/deploy plugins use the alternate
-     *             method
-     */
-    @Deprecated
-    void install( String basedir, String finalName, Artifact artifact, ArtifactRepository localRepository )
-        throws ArtifactInstallationException;
-
-    /**
-     * Install an artifact from a particular file.
-     * 
-     * @param source the file to install
-     * @param artifact the artifact definition
-     * @param localRepository the local repository to install into
-     * @throws ArtifactInstallationException if an error occurred installing the artifact
-     */
     void install( File source, Artifact artifact, ArtifactRepository localRepository )
         throws ArtifactInstallationException;
 }

Modified: maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/installer/DefaultArtifactInstaller.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/installer/DefaultArtifactInstaller.java?rev=794373&r1=794372&r2=794373&view=diff
==============================================================================
--- maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/installer/DefaultArtifactInstaller.java (original)
+++ maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/installer/DefaultArtifactInstaller.java Wed Jul 15 19:24:20 2009
@@ -1,100 +1,33 @@
 package org.apache.maven.artifact.installer;
 
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
 import java.io.File;
-import java.io.IOException;
 
 import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.metadata.ArtifactMetadata;
+import org.apache.maven.artifact.deployer.ArtifactDeploymentException;
 import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.repository.metadata.RepositoryMetadataInstallationException;
-import org.apache.maven.artifact.repository.metadata.RepositoryMetadataManager;
-import org.apache.maven.repository.legacy.resolver.transform.ArtifactTransformationManager;
+import org.apache.maven.artifact.repository.ArtifactRepositoryAdapter;
+import org.apache.maven.repository.RepositorySystem;
 import org.codehaus.plexus.component.annotations.Component;
 import org.codehaus.plexus.component.annotations.Requirement;
-import org.codehaus.plexus.logging.AbstractLogEnabled;
-import org.codehaus.plexus.util.FileUtils;
 
-/**
- * @author Jason van Zyl
- */
-@Component(role=ArtifactInstaller.class)
+@Deprecated
+@Component(role = ArtifactInstaller.class)
 public class DefaultArtifactInstaller
-    extends AbstractLogEnabled
     implements ArtifactInstaller
 {
     @Requirement
-    private ArtifactTransformationManager transformationManager;
-
-    @Requirement
-    private RepositoryMetadataManager repositoryMetadataManager;
-
-    /** @deprecated we want to use the artifact method only, and ensure artifact.file is set correctly. */
-    @Deprecated
-    public void install( String basedir, String finalName, Artifact artifact, ArtifactRepository localRepository )
-        throws ArtifactInstallationException
-    {
-        String extension = artifact.getArtifactHandler().getExtension();
-        File source = new File( basedir, finalName + "." + extension );
-
-        install( source, artifact, localRepository );
-    }
-
+    private RepositorySystem repositorySystem;
+    
     public void install( File source, Artifact artifact, ArtifactRepository localRepository )
         throws ArtifactInstallationException
     {
         try
         {
-            transformationManager.transformForInstall( artifact, localRepository );
-
-            String localPath = localRepository.pathOf( artifact );
-
-            // TODO: use a file: wagon and the wagon manager?
-            File destination = new File( localRepository.getBasedir(), localPath );
-            if ( !destination.getParentFile().exists() )
-            {
-                destination.getParentFile().mkdirs();
-            }
-
-            getLogger().info( "Installing " + source.getPath() + " to " + destination );
-
-            FileUtils.copyFile( source, destination );
-
-            // must be after the artifact is installed
-            for ( ArtifactMetadata metadata : artifact.getMetadataList() )
-            {
-                repositoryMetadataManager.install( metadata, localRepository );
-            }
-            // TODO: would like to flush this, but the plugin metadata is added in advance, not as an install/deploy
-            // transformation
-            // This would avoid the need to merge and clear out the state during deployment
-            // artifact.getMetadataList().clear();
-        }
-        catch ( IOException e )
-        {
-            throw new ArtifactInstallationException( "Error installing artifact: " + e.getMessage(), e );
+            repositorySystem.install( source, artifact, new ArtifactRepositoryAdapter( localRepository ) );
         }
-        catch ( RepositoryMetadataInstallationException e )
+        catch ( org.apache.maven.repository.legacy.installer.ArtifactInstallationException e )
         {
-            throw new ArtifactInstallationException( "Error installing artifact's metadata: " + e.getMessage(), e );
+            throw new ArtifactInstallationException( e );
         }
     }
-}
\ No newline at end of file
+}

Modified: maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java?rev=794373&r1=794372&r2=794373&view=diff
==============================================================================
--- maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java (original)
+++ maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/manager/DefaultWagonManager.java Wed Jul 15 19:24:20 2009
@@ -1,11 +1,30 @@
 package org.apache.maven.artifact.manager;
 
-import org.apache.maven.artifact.handler.ArtifactHandler;
+import org.apache.maven.repository.RepositorySystem;
+import org.apache.maven.repository.legacy.WagonConfigurationException;
+import org.apache.maven.wagon.UnsupportedProtocolException;
+import org.apache.maven.wagon.Wagon;
+import org.apache.maven.wagon.repository.Repository;
 import org.codehaus.plexus.component.annotations.Component;
+import org.codehaus.plexus.component.annotations.Requirement;
 
+@Deprecated
 @Component(role=WagonManager.class) 
 public class DefaultWagonManager
-    extends org.apache.maven.repository.legacy.DefaultWagonManager
     implements WagonManager
 {
+    @Requirement
+    private RepositorySystem repositorySystem;
+    
+    public Wagon getWagon( String protocol )
+        throws UnsupportedProtocolException
+    {
+        return repositorySystem.getWagon( protocol );
+    }
+
+    public Wagon getWagon( Repository repository )
+        throws UnsupportedProtocolException, WagonConfigurationException
+    {
+        return repositorySystem.getWagon( repository );
+    }   
 }

Modified: maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/manager/WagonManager.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/manager/WagonManager.java?rev=794373&r1=794372&r2=794373&view=diff
==============================================================================
--- maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/manager/WagonManager.java (original)
+++ maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/manager/WagonManager.java Wed Jul 15 19:24:20 2009
@@ -19,25 +19,10 @@
  * under the License.
  */
 
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.metadata.ArtifactMetadata;
-import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.repository.legacy.WagonConfigurationException;
-import org.apache.maven.wagon.ResourceDoesNotExistException;
-import org.apache.maven.wagon.TransferFailedException;
 import org.apache.maven.wagon.UnsupportedProtocolException;
 import org.apache.maven.wagon.Wagon;
-import org.apache.maven.wagon.authentication.AuthenticationInfo;
-import org.apache.maven.wagon.events.TransferListener;
-import org.apache.maven.wagon.proxy.ProxyInfo;
 import org.apache.maven.wagon.repository.Repository;
-import org.apache.maven.wagon.repository.RepositoryPermissions;
-import org.codehaus.plexus.PlexusContainer;
-import org.codehaus.plexus.util.xml.Xpp3Dom;
-
-import java.io.File;
-import java.util.Collection;
-import java.util.List;
 
 /**
  * Manages <a href="http://maven.apache.org/wagon">Wagon</a> related operations in Maven.
@@ -47,6 +32,47 @@
  */
 @Deprecated
 public interface WagonManager
-    extends org.apache.maven.repository.legacy.WagonManager
 {
+    @Deprecated
+    Wagon getWagon( String protocol )
+        throws UnsupportedProtocolException;
+
+    @Deprecated
+    Wagon getWagon( Repository repository )
+        throws UnsupportedProtocolException, WagonConfigurationException;
+
+    /*
+    
+    Will restore as necessary
+    
+    //
+    // Retriever
+    //        
+    void getArtifact( Artifact artifact, ArtifactRepository repository, TransferListener transferListener )
+        throws TransferFailedException, ResourceDoesNotExistException;
+
+    void getArtifact( Artifact artifact, List<ArtifactRepository> remoteRepositories, TransferListener transferListener )
+        throws TransferFailedException, ResourceDoesNotExistException;
+
+    void getRemoteFile( ArtifactRepository repository, File destination, String remotePath, TransferListener downloadMonitor, String checksumPolicy, boolean force )
+        throws TransferFailedException, ResourceDoesNotExistException;
+
+    void getArtifactMetadata( ArtifactMetadata metadata, ArtifactRepository remoteRepository, File destination, String checksumPolicy )
+        throws TransferFailedException, ResourceDoesNotExistException;
+
+    void getArtifactMetadataFromDeploymentRepository( ArtifactMetadata metadata, ArtifactRepository remoteRepository, File file, String checksumPolicyWarn )
+        throws TransferFailedException, ResourceDoesNotExistException;
+
+    //
+    // Deployer
+    //
+    void putArtifact( File source, Artifact artifact, ArtifactRepository deploymentRepository, TransferListener downloadMonitor )
+        throws TransferFailedException;
+
+    void putRemoteFile( ArtifactRepository repository, File source, String remotePath, TransferListener downloadMonitor )
+        throws TransferFailedException;
+
+    void putArtifactMetadata( File source, ArtifactMetadata artifactMetadata, ArtifactRepository repository )
+        throws TransferFailedException;    
+    */
 }

Modified: maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/metadata/ArtifactMetadataSource.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/metadata/ArtifactMetadataSource.java?rev=794373&r1=794372&r2=794373&view=diff
==============================================================================
--- maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/metadata/ArtifactMetadataSource.java (original)
+++ maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/metadata/ArtifactMetadataSource.java Wed Jul 15 19:24:20 2009
@@ -3,8 +3,8 @@
 import java.util.List;
 
 import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.versioning.ArtifactVersion;
+import org.apache.maven.repository.legacy.repository.ArtifactRepository;
+import org.apache.maven.repository.legacy.versioning.ArtifactVersion;
 
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more contributor license

Modified: maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/metadata/ResolutionGroup.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/metadata/ResolutionGroup.java?rev=794373&r1=794372&r2=794373&view=diff
==============================================================================
--- maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/metadata/ResolutionGroup.java (original)
+++ maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/metadata/ResolutionGroup.java Wed Jul 15 19:24:20 2009
@@ -19,7 +19,7 @@
 import java.util.Set;
 
 import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.repository.legacy.repository.ArtifactRepository;
 
 @Deprecated
 public class ResolutionGroup

Modified: maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/repository/ArtifactRepository.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/repository/ArtifactRepository.java?rev=794373&r1=794372&r2=794373&view=diff
==============================================================================
--- maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/repository/ArtifactRepository.java (original)
+++ maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/repository/ArtifactRepository.java Wed Jul 15 19:24:20 2009
@@ -1,24 +1,10 @@
 package org.apache.maven.artifact.repository;
 
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
- * agreements. See the NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the License. You may obtain a
- * copy of the License at
- * 
- * http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing permissions and limitations under
- * the License.
- */
-
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.metadata.ArtifactMetadata;
 import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
 
+@Deprecated
 public interface ArtifactRepository
 {
     String pathOf( Artifact artifact );
@@ -55,5 +41,5 @@
     
     // New interface methods for the repository system. 
     
-    Artifact find( Artifact artifact );
+    Artifact find( Artifact artifact );    
 }

Added: maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/repository/ArtifactRepositoryAdapter.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/repository/ArtifactRepositoryAdapter.java?rev=794373&view=auto
==============================================================================
--- maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/repository/ArtifactRepositoryAdapter.java (added)
+++ maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/repository/ArtifactRepositoryAdapter.java Wed Jul 15 19:24:20 2009
@@ -0,0 +1,104 @@
+package org.apache.maven.artifact.repository;
+
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.metadata.ArtifactMetadata;
+import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayoutAdapter;
+import org.apache.maven.artifact.repository.layout.LegacyArtifactRepositoryLayoutAdapter;
+import org.apache.maven.repository.legacy.repository.ArtifactRepositoryPolicy;
+import org.apache.maven.repository.legacy.repository.layout.ArtifactRepositoryLayout;
+
+public class ArtifactRepositoryAdapter
+    implements org.apache.maven.repository.legacy.repository.ArtifactRepository
+{
+    private ArtifactRepository repository;
+
+    public ArtifactRepositoryAdapter( ArtifactRepository repository )
+    {
+        this.repository = repository;
+    }
+
+    public Artifact find( Artifact artifact )
+    {
+        return repository.find( artifact );
+    }
+
+    public String getBasedir()
+    {
+        return repository.getBasedir();
+    }
+
+    public String getId()
+    {
+        return repository.getId();
+    }
+
+    public String getKey()
+    {
+        return repository.getKey();
+    }
+
+    public ArtifactRepositoryLayout getLayout()
+    {
+        return new ArtifactRepositoryLayoutAdapter( repository.getLayout() );
+    }
+
+    public String getProtocol()
+    {
+        return repository.getProtocol();
+    }
+
+    public ArtifactRepositoryPolicy getReleases()
+    {
+        return new ArtifactRepositoryPolicyAdapter( repository.getReleases() );
+    }
+
+    public ArtifactRepositoryPolicy getSnapshots()
+    {
+        return new ArtifactRepositoryPolicyAdapter( repository.getSnapshots() );
+    }
+
+    public String getUrl()
+    {
+        return repository.getUrl();
+    }
+
+    public String pathOf( Artifact artifact )
+    {
+        return repository.pathOf( artifact );
+    }
+
+    public String pathOfLocalRepositoryMetadata( ArtifactMetadata metadata, org.apache.maven.repository.legacy.repository.ArtifactRepository repository )
+    {
+        return repository.pathOfLocalRepositoryMetadata( metadata, repository );        
+    }
+
+    public String pathOfRemoteRepositoryMetadata( ArtifactMetadata artifactMetadata )
+    {
+        return repository.pathOfRemoteRepositoryMetadata( artifactMetadata );
+    }
+
+    public void setId( String id )
+    {
+        repository.setId( id );
+    }
+
+    public void setLayout( ArtifactRepositoryLayout layout )
+    {
+        repository.setLayout( new LegacyArtifactRepositoryLayoutAdapter( layout ) );
+    }
+
+    public void setReleaseUpdatePolicy( ArtifactRepositoryPolicy policy )
+    {
+        repository.setReleaseUpdatePolicy( new LegacyArtifactRepositoryPolicyAdapter( policy ) );
+    }
+
+    public void setSnapshotUpdatePolicy( ArtifactRepositoryPolicy policy )
+    {
+        repository.setSnapshotUpdatePolicy( new LegacyArtifactRepositoryPolicyAdapter( policy ) );
+    }
+
+    public void setUrl( String url )
+    {
+        repository.setUrl( url );
+    }
+}

Propchange: maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/repository/ArtifactRepositoryAdapter.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/repository/ArtifactRepositoryAdapter.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Modified: maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/repository/ArtifactRepositoryFactory.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/repository/ArtifactRepositoryFactory.java?rev=794373&r1=794372&r2=794373&view=diff
==============================================================================
--- maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/repository/ArtifactRepositoryFactory.java (original)
+++ maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/repository/ArtifactRepositoryFactory.java Wed Jul 15 19:24:20 2009
@@ -1,46 +1,7 @@
 package org.apache.maven.artifact.repository;
 
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
- * agreements. See the NOTICE file distributed with this work for additional information regarding
- * copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance with the License. You may obtain a
- * copy of the License at
- * 
- * http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software distributed under the License
- * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
- * or implied. See the License for the specific language governing permissions and limitations under
- * the License.
- */
-
-import org.apache.maven.artifact.UnknownRepositoryLayoutException;
-import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
-
-/** @author jdcasey */
+@Deprecated
 public interface ArtifactRepositoryFactory
+    extends org.apache.maven.repository.legacy.repository.ArtifactRepositoryFactory
 {
-    String ROLE = ArtifactRepositoryFactory.class.getName();
-
-    String DEFAULT_LAYOUT_ID = "default";
-
-    String LOCAL_REPOSITORY_ID = "local";
-
-    ArtifactRepositoryLayout getLayout( String layoutId )
-        throws UnknownRepositoryLayoutException;
-
-    ArtifactRepository createDeploymentArtifactRepository( String id, String url, String layoutId, boolean uniqueVersion )
-        throws UnknownRepositoryLayoutException;
-
-    ArtifactRepository createDeploymentArtifactRepository( String id, String url, ArtifactRepositoryLayout layout, boolean uniqueVersion );
-
-    ArtifactRepository createArtifactRepository( String id, String url, String layoutId, ArtifactRepositoryPolicy snapshots, ArtifactRepositoryPolicy releases )
-        throws UnknownRepositoryLayoutException;
-
-    ArtifactRepository createArtifactRepository( String id, String url, ArtifactRepositoryLayout repositoryLayout, ArtifactRepositoryPolicy snapshots, ArtifactRepositoryPolicy releases );
-
-    void setGlobalUpdatePolicy( String snapshotPolicy );
-
-    void setGlobalChecksumPolicy( String checksumPolicy );
 }

Modified: maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/repository/ArtifactRepositoryPolicy.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/repository/ArtifactRepositoryPolicy.java?rev=794373&r1=794372&r2=794373&view=diff
==============================================================================
--- maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/repository/ArtifactRepositoryPolicy.java (original)
+++ maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/repository/ArtifactRepositoryPolicy.java Wed Jul 15 19:24:20 2009
@@ -1,22 +1,18 @@
 package org.apache.maven.artifact.repository;
 
 /*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
+ * Licensed to the Apache Software Foundation (ASF) under one or more contributor license
+ * agreements. See the NOTICE file distributed with this work for additional information regarding
+ * copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance with the License. You may obtain a
+ * copy of the License at
+ * 
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
  */
 
 import java.util.Calendar;
@@ -25,10 +21,11 @@
 
 /**
  * Describes a set of policies for a repository to use under certain conditions.
- *
+ * 
  * @author <a href="mailto:brett@apache.org">Brett Porter</a>
  * @version $Id$
  */
+@Deprecated
 public class ArtifactRepositoryPolicy
 {
     public static final String UPDATE_POLICY_NEVER = "never";
@@ -56,9 +53,7 @@
         this( true, null, null );
     }
 
-    public ArtifactRepositoryPolicy( boolean enabled,
-                                     String updatePolicy,
-                                     String checksumPolicy )
+    public ArtifactRepositoryPolicy( boolean enabled, String updatePolicy, String checksumPolicy )
     {
         this.enabled = enabled;
 
@@ -82,16 +77,18 @@
 
     public void setUpdatePolicy( String updatePolicy )
     {
-        if(updatePolicy != null) {
-        	this.updatePolicy = updatePolicy;
+        if ( updatePolicy != null )
+        {
+            this.updatePolicy = updatePolicy;
         }
     }
 
     public void setChecksumPolicy( String checksumPolicy )
     {
-    	if(checksumPolicy != null) {
-    		this.checksumPolicy = checksumPolicy;	
-    	}       
+        if ( checksumPolicy != null )
+        {
+            this.checksumPolicy = checksumPolicy;
+        }
     }
 
     public boolean isEnabled()
@@ -135,7 +132,7 @@
         else if ( updatePolicy.startsWith( UPDATE_POLICY_INTERVAL ) )
         {
             String s = updatePolicy.substring( UPDATE_POLICY_INTERVAL.length() + 1 );
-            int minutes = Integer.valueOf(s);
+            int minutes = Integer.valueOf( s );
             Calendar cal = Calendar.getInstance();
             cal.add( Calendar.MINUTE, -minutes );
             if ( cal.getTime().after( lastModified ) )

Added: maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/repository/ArtifactRepositoryPolicyAdapter.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/repository/ArtifactRepositoryPolicyAdapter.java?rev=794373&view=auto
==============================================================================
--- maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/repository/ArtifactRepositoryPolicyAdapter.java (added)
+++ maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/repository/ArtifactRepositoryPolicyAdapter.java Wed Jul 15 19:24:20 2009
@@ -0,0 +1,12 @@
+package org.apache.maven.artifact.repository;
+
+public class ArtifactRepositoryPolicyAdapter
+    extends org.apache.maven.repository.legacy.repository.ArtifactRepositoryPolicy
+{
+    private ArtifactRepositoryPolicy policy;
+
+    public ArtifactRepositoryPolicyAdapter( ArtifactRepositoryPolicy policy )
+    {
+        this.policy = policy;
+    }        
+}

Propchange: maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/repository/ArtifactRepositoryPolicyAdapter.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/repository/ArtifactRepositoryPolicyAdapter.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Modified: maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepositoryFactory.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepositoryFactory.java?rev=794373&r1=794372&r2=794373&view=diff
==============================================================================
--- maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepositoryFactory.java (original)
+++ maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepositoryFactory.java Wed Jul 15 19:24:20 2009
@@ -1,144 +1,16 @@
 package org.apache.maven.artifact.repository;
 
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import java.util.HashMap;
-import java.util.Map;
-
-import org.apache.maven.artifact.UnknownRepositoryLayoutException;
-import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.metadata.ArtifactMetadata;
+import org.apache.maven.repository.legacy.repository.ArtifactRepository;
+import org.apache.maven.repository.legacy.repository.ArtifactRepositoryPolicy;
+import org.apache.maven.repository.legacy.repository.layout.ArtifactRepositoryLayout;
 import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.component.annotations.Requirement;
 
-/**
- * @author jdcasey
- */
-@Component(role=ArtifactRepositoryFactory.class)
+@Deprecated
+@Component(role = ArtifactRepositoryFactory.class)
 public class DefaultArtifactRepositoryFactory
+    extends org.apache.maven.repository.legacy.repository.DefaultArtifactRepositoryFactory
     implements ArtifactRepositoryFactory
 {
-    // TODO: use settings?
-    private String globalUpdatePolicy;
-
-    private String globalChecksumPolicy;
-
-    // FIXME: This is a non-ThreadLocal cache!!
-    private final Map<String,ArtifactRepository> artifactRepositories = new HashMap<String,ArtifactRepository>();
-
-    @Requirement(role=ArtifactRepositoryLayout.class)
-    private Map<String,ArtifactRepositoryLayout> repositoryLayouts;
-
-    public ArtifactRepositoryLayout getLayout( String layoutId )
-        throws UnknownRepositoryLayoutException
-    {
-        return repositoryLayouts.get( layoutId );
-    }
-
-    public ArtifactRepository createDeploymentArtifactRepository( String id,
-                                                                  String url,
-                                                                  String layoutId,
-                                                                  boolean uniqueVersion )
-        throws UnknownRepositoryLayoutException
-    {
-        ArtifactRepositoryLayout layout = repositoryLayouts.get( layoutId );
-
-        checkLayout( id, layoutId, layout );
-
-        return createDeploymentArtifactRepository( id, url, layout, uniqueVersion );
-    }
-
-    private void checkLayout( String repositoryId,
-                              String layoutId,
-                              ArtifactRepositoryLayout layout )
-        throws UnknownRepositoryLayoutException
-    {
-        if ( layout == null )
-        {
-            throw new UnknownRepositoryLayoutException( repositoryId, layoutId );
-        }
-    }
-
-    public ArtifactRepository createDeploymentArtifactRepository( String id,
-                                                                  String url,
-                                                                  ArtifactRepositoryLayout repositoryLayout,
-                                                                  boolean uniqueVersion )
-    {
-        return createArtifactRepository( id, url, repositoryLayout, null, null );
-    }
-
-    public ArtifactRepository createArtifactRepository( String id,
-                                                        String url,
-                                                        String layoutId,
-                                                        ArtifactRepositoryPolicy snapshots,
-                                                        ArtifactRepositoryPolicy releases )
-        throws UnknownRepositoryLayoutException
-    {
-        ArtifactRepositoryLayout layout = repositoryLayouts.get( layoutId );
-
-        checkLayout( id, layoutId, layout );
-
-        return createArtifactRepository( id, url, layout, snapshots, releases );
-    }
-
-    public ArtifactRepository createArtifactRepository( String id,
-                                                        String url,
-                                                        ArtifactRepositoryLayout repositoryLayout,
-                                                        ArtifactRepositoryPolicy snapshots,
-                                                        ArtifactRepositoryPolicy releases )
-    {
-        if ( snapshots == null )
-        {
-            snapshots = new ArtifactRepositoryPolicy();
-        }
-
-        if ( releases == null )
-        {
-            releases = new ArtifactRepositoryPolicy();
-        }
-
-        if ( globalUpdatePolicy != null )
-        {
-            snapshots.setUpdatePolicy( globalUpdatePolicy );
-            releases.setUpdatePolicy( globalUpdatePolicy );
-        }
-
-        if ( globalChecksumPolicy != null )
-        {
-            snapshots.setChecksumPolicy( globalChecksumPolicy );
-            releases.setChecksumPolicy( globalChecksumPolicy );
-        }
-
-        ArtifactRepository repository = new MavenArtifactRepository( id, url, repositoryLayout, snapshots, releases );
-
-        artifactRepositories.put( id, repository );
-
-        return repository;
-    }
-
-    public void setGlobalUpdatePolicy( String updatePolicy )
-    {
-        globalUpdatePolicy = updatePolicy;
-    }
-
-    public void setGlobalChecksumPolicy( String checksumPolicy )
-    {
-        globalChecksumPolicy = checksumPolicy;
-    }
- }
+}

Added: maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/repository/LegacyArtifactRepositoryAdapter.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/repository/LegacyArtifactRepositoryAdapter.java?rev=794373&view=auto
==============================================================================
--- maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/repository/LegacyArtifactRepositoryAdapter.java (added)
+++ maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/repository/LegacyArtifactRepositoryAdapter.java Wed Jul 15 19:24:20 2009
@@ -0,0 +1,103 @@
+package org.apache.maven.artifact.repository;
+
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.metadata.ArtifactMetadata;
+import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
+import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayoutAdapter;
+import org.apache.maven.artifact.repository.layout.LegacyArtifactRepositoryLayoutAdapter;
+
+public class LegacyArtifactRepositoryAdapter
+    implements ArtifactRepository
+{
+    private org.apache.maven.repository.legacy.repository.ArtifactRepository repository;
+
+    public LegacyArtifactRepositoryAdapter( org.apache.maven.repository.legacy.repository.ArtifactRepository repository )
+    {
+        this.repository = repository;
+    }
+
+    public Artifact find( Artifact artifact )
+    {
+        return repository.find( artifact );
+    }
+
+    public String getBasedir()
+    {
+        return repository.getBasedir();
+    }
+
+    public String getId()
+    {
+        return repository.getId();
+    }
+
+    public String getKey()
+    {
+        return repository.getKey();
+    }
+
+    public ArtifactRepositoryLayout getLayout()
+    {
+        return new LegacyArtifactRepositoryLayoutAdapter( repository.getLayout() );
+    }
+
+    public String getProtocol()
+    {
+        return repository.getProtocol();
+    }
+
+    public ArtifactRepositoryPolicy getReleases()
+    {
+        return new LegacyArtifactRepositoryPolicyAdapter( repository.getReleases() );
+    }
+
+    public ArtifactRepositoryPolicy getSnapshots()
+    {
+        return new LegacyArtifactRepositoryPolicyAdapter( repository.getSnapshots() );
+    }
+
+    public String getUrl()
+    {
+        return repository.getUrl();
+    }
+
+    public String pathOf( Artifact artifact )
+    {
+        return repository.pathOf( artifact );
+    }
+
+    public String pathOfLocalRepositoryMetadata( ArtifactMetadata metadata, ArtifactRepository repository )
+    {
+        return repository.pathOfLocalRepositoryMetadata( metadata, repository );        
+    }
+
+    public String pathOfRemoteRepositoryMetadata( ArtifactMetadata artifactMetadata )
+    {
+        return repository.pathOfRemoteRepositoryMetadata( artifactMetadata );
+    }
+
+    public void setId( String id )
+    {
+        repository.setId( id );
+    }
+
+    public void setLayout( ArtifactRepositoryLayout layout )
+    {
+        repository.setLayout( new ArtifactRepositoryLayoutAdapter( layout ) );
+    }
+
+    public void setReleaseUpdatePolicy( ArtifactRepositoryPolicy policy )
+    {
+        repository.setReleaseUpdatePolicy( new ArtifactRepositoryPolicyAdapter( policy ) );
+    }
+
+    public void setSnapshotUpdatePolicy( ArtifactRepositoryPolicy policy )
+    {
+        repository.setSnapshotUpdatePolicy( new ArtifactRepositoryPolicyAdapter( policy ) );
+    }
+
+    public void setUrl( String url )
+    {
+        repository.setUrl( url );
+    }
+}

Propchange: maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/repository/LegacyArtifactRepositoryAdapter.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/repository/LegacyArtifactRepositoryAdapter.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Added: maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/repository/LegacyArtifactRepositoryPolicyAdapter.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/repository/LegacyArtifactRepositoryPolicyAdapter.java?rev=794373&view=auto
==============================================================================
--- maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/repository/LegacyArtifactRepositoryPolicyAdapter.java (added)
+++ maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/repository/LegacyArtifactRepositoryPolicyAdapter.java Wed Jul 15 19:24:20 2009
@@ -0,0 +1,12 @@
+package org.apache.maven.artifact.repository;
+
+public class LegacyArtifactRepositoryPolicyAdapter
+    extends ArtifactRepositoryPolicy
+{
+    private org.apache.maven.repository.legacy.repository.ArtifactRepositoryPolicy policy;
+
+    public LegacyArtifactRepositoryPolicyAdapter( org.apache.maven.repository.legacy.repository.ArtifactRepositoryPolicy policy )
+    {
+        this.policy = policy;
+    }
+}

Propchange: maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/repository/LegacyArtifactRepositoryPolicyAdapter.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/repository/LegacyArtifactRepositoryPolicyAdapter.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Modified: maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/repository/layout/ArtifactRepositoryLayout.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/repository/layout/ArtifactRepositoryLayout.java?rev=794373&r1=794372&r2=794373&view=diff
==============================================================================
--- maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/repository/layout/ArtifactRepositoryLayout.java (original)
+++ maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/repository/layout/ArtifactRepositoryLayout.java Wed Jul 15 19:24:20 2009
@@ -1,29 +1,10 @@
 package org.apache.maven.artifact.repository.layout;
 
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.metadata.ArtifactMetadata;
 import org.apache.maven.artifact.repository.ArtifactRepository;
 
-/** @author jdcasey */
+@Deprecated
 public interface ArtifactRepositoryLayout
 {
     String ROLE = ArtifactRepositoryLayout.class.getName();
@@ -35,4 +16,5 @@
     String pathOfLocalRepositoryMetadata( ArtifactMetadata metadata, ArtifactRepository repository );
 
     String pathOfRemoteRepositoryMetadata( ArtifactMetadata metadata );
+    
 }

Added: maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/repository/layout/ArtifactRepositoryLayoutAdapter.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/repository/layout/ArtifactRepositoryLayoutAdapter.java?rev=794373&view=auto
==============================================================================
--- maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/repository/layout/ArtifactRepositoryLayoutAdapter.java (added)
+++ maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/repository/layout/ArtifactRepositoryLayoutAdapter.java Wed Jul 15 19:24:20 2009
@@ -0,0 +1,37 @@
+package org.apache.maven.artifact.repository.layout;
+
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.metadata.ArtifactMetadata;
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.artifact.repository.LegacyArtifactRepositoryAdapter;
+
+public class ArtifactRepositoryLayoutAdapter
+    implements org.apache.maven.repository.legacy.repository.layout.ArtifactRepositoryLayout
+{
+    private ArtifactRepositoryLayout layout;
+    
+    public ArtifactRepositoryLayoutAdapter( ArtifactRepositoryLayout layout )
+    {
+        this.layout = layout;
+    }
+
+    public String getId()
+    {
+        return layout.getId();
+    }
+
+    public String pathOf( Artifact artifact )
+    {
+        return layout.pathOf( artifact );
+    }
+
+    public String pathOfRemoteRepositoryMetadata( ArtifactMetadata metadata )
+    {
+        return layout.pathOfRemoteRepositoryMetadata( metadata );        
+    }
+
+    public String pathOfLocalRepositoryMetadata( ArtifactMetadata metadata, org.apache.maven.repository.legacy.repository.ArtifactRepository repository )
+    {
+        return layout.pathOfLocalRepositoryMetadata( metadata, new LegacyArtifactRepositoryAdapter( repository ) );
+    }
+}

Propchange: maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/repository/layout/ArtifactRepositoryLayoutAdapter.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/repository/layout/ArtifactRepositoryLayoutAdapter.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Modified: maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/repository/layout/DefaultRepositoryLayout.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/repository/layout/DefaultRepositoryLayout.java?rev=794373&r1=794372&r2=794373&view=diff
==============================================================================
--- maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/repository/layout/DefaultRepositoryLayout.java (original)
+++ maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/repository/layout/DefaultRepositoryLayout.java Wed Jul 15 19:24:20 2009
@@ -1,106 +1,13 @@
 package org.apache.maven.artifact.repository.layout;
 
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
 import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.handler.ArtifactHandler;
 import org.apache.maven.artifact.metadata.ArtifactMetadata;
 import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.codehaus.plexus.component.annotations.Component;
 
-/**
- * @author jdcasey
- */
-@Component(role=ArtifactRepositoryLayout.class, hint="default")
+@Deprecated
+@Component(role=ArtifactRepositoryLayout.class,hint="default")
 public class DefaultRepositoryLayout
     implements ArtifactRepositoryLayout
 {
-    private static final char PATH_SEPARATOR = '/';
-
-    private static final char GROUP_SEPARATOR = '.';
-
-    private static final char ARTIFACT_SEPARATOR = '-';
-
-    public String getId()
-    {
-        return "default";
-    }
-    
-    public String pathOf( Artifact artifact )
-    {
-        ArtifactHandler artifactHandler = artifact.getArtifactHandler();
-
-        StringBuffer path = new StringBuffer();
-
-        path.append( formatAsDirectory( artifact.getGroupId() ) ).append( PATH_SEPARATOR );
-        path.append( artifact.getArtifactId() ).append( PATH_SEPARATOR );
-        path.append( artifact.getBaseVersion() ).append( PATH_SEPARATOR );
-        path.append( artifact.getArtifactId() ).append( ARTIFACT_SEPARATOR ).append( artifact.getVersion() );
-
-        if ( artifact.hasClassifier() )
-        {
-            path.append( ARTIFACT_SEPARATOR ).append( artifact.getClassifier() );
-        }
-
-        if ( artifactHandler.getExtension() != null && artifactHandler.getExtension().length() > 0 )
-        {
-            path.append( GROUP_SEPARATOR ).append( artifactHandler.getExtension() );
-        }
-
-        return path.toString();
-    }
-
-    public String pathOfLocalRepositoryMetadata( ArtifactMetadata metadata, ArtifactRepository repository )
-    {
-        return pathOfRepositoryMetadata( metadata, metadata.getLocalFilename( repository ) );
-    }
-
-    private String pathOfRepositoryMetadata( ArtifactMetadata metadata,
-                                             String filename )
-    {
-        StringBuffer path = new StringBuffer();
-
-        path.append( formatAsDirectory( metadata.getGroupId() ) ).append( PATH_SEPARATOR );
-        if ( !metadata.storedInGroupDirectory() )
-        {
-            path.append( metadata.getArtifactId() ).append( PATH_SEPARATOR );
-
-            if ( metadata.storedInArtifactVersionDirectory() )
-            {
-                path.append( metadata.getBaseVersion() ).append( PATH_SEPARATOR );
-            }
-        }
-
-        path.append( filename );
-
-        return path.toString();
-    }
-
-    public String pathOfRemoteRepositoryMetadata( ArtifactMetadata metadata )
-    {
-        return pathOfRepositoryMetadata( metadata, metadata.getRemoteFilename() );
-    }
-
-    private String formatAsDirectory( String directory )
-    {
-        return directory.replace( GROUP_SEPARATOR, PATH_SEPARATOR );
-    }
-
 }

Modified: maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/repository/layout/FlatRepositoryLayout.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/repository/layout/FlatRepositoryLayout.java?rev=794373&r1=794372&r2=794373&view=diff
==============================================================================
--- maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/repository/layout/FlatRepositoryLayout.java (original)
+++ maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/repository/layout/FlatRepositoryLayout.java Wed Jul 15 19:24:20 2009
@@ -1,68 +1,11 @@
 package org.apache.maven.artifact.repository.layout;
 
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.handler.ArtifactHandler;
-import org.apache.maven.artifact.metadata.ArtifactMetadata;
-import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.codehaus.plexus.component.annotations.Component;
 
-/**
- * The code in this class is taken from DefaultRepositorylayout, located at:
- * http://svn.apache.org/viewvc/maven/components/trunk/maven-artifact/src/main/java/org/apache/maven/artifact/repository/layout/DefaultRepositoryLayout.java
- *
- * @version $Id$
- */
-@Component(role=ArtifactRepositoryLayout.class, hint="flat")                                                                         
+@Deprecated
+@Component(role=ArtifactRepositoryLayout.class,hint="flat")
 public class FlatRepositoryLayout
+    extends org.apache.maven.repository.legacy.repository.layout.FlatRepositoryLayout
     implements ArtifactRepositoryLayout
 {
-    private static final char ARTIFACT_SEPARATOR = '-';
-
-    private static final char GROUP_SEPARATOR = '.';
-
-    public String getId()
-    {
-        return "flat";
-    }
-    
-    public String pathOf( Artifact artifact )
-    {
-        ArtifactHandler artifactHandler = artifact.getArtifactHandler();
-
-        StringBuffer path = new StringBuffer();
-
-        path.append( artifact.getArtifactId() ).append( ARTIFACT_SEPARATOR ).append( artifact.getVersion() );
-
-        if ( artifact.hasClassifier() )
-        {
-            path.append( ARTIFACT_SEPARATOR ).append( artifact.getClassifier() );
-        }
-
-        if ( artifactHandler.getExtension() != null && artifactHandler.getExtension().length() > 0 )
-        {
-            path.append( GROUP_SEPARATOR ).append( artifactHandler.getExtension() );
-        }
-
-        return path.toString();
-    }
-
-    public String pathOfLocalRepositoryMetadata( ArtifactMetadata metadata,
-                                                 ArtifactRepository repository )
-    {
-        return pathOfRepositoryMetadata( metadata.getLocalFilename( repository ) );
-    }
-
-    private String pathOfRepositoryMetadata( String filename )
-    {
-        StringBuffer path = new StringBuffer();
-
-        path.append( filename );
-
-        return path.toString();
-    }
-
-    public String pathOfRemoteRepositoryMetadata( ArtifactMetadata metadata )
-    {
-        return pathOfRepositoryMetadata( metadata.getRemoteFilename() );
-    }
 }

Added: maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/repository/layout/LegacyArtifactRepositoryLayoutAdapter.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/repository/layout/LegacyArtifactRepositoryLayoutAdapter.java?rev=794373&view=auto
==============================================================================
--- maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/repository/layout/LegacyArtifactRepositoryLayoutAdapter.java (added)
+++ maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/repository/layout/LegacyArtifactRepositoryLayoutAdapter.java Wed Jul 15 19:24:20 2009
@@ -0,0 +1,37 @@
+package org.apache.maven.artifact.repository.layout;
+
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.metadata.ArtifactMetadata;
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.artifact.repository.ArtifactRepositoryAdapter;
+
+public class LegacyArtifactRepositoryLayoutAdapter
+    implements ArtifactRepositoryLayout
+{
+    private org.apache.maven.repository.legacy.repository.layout.ArtifactRepositoryLayout layout;
+    
+    public LegacyArtifactRepositoryLayoutAdapter( org.apache.maven.repository.legacy.repository.layout.ArtifactRepositoryLayout layout )
+    {
+        this.layout = layout;
+    }
+
+    public String getId()
+    {
+        return layout.getId();
+    }
+
+    public String pathOf( Artifact artifact )
+    {
+        return layout.pathOf( artifact );
+    }
+
+    public String pathOfRemoteRepositoryMetadata( ArtifactMetadata metadata )
+    {
+        return layout.pathOfRemoteRepositoryMetadata( metadata );        
+    }
+
+    public String pathOfLocalRepositoryMetadata( ArtifactMetadata metadata, ArtifactRepository repository )
+    {
+        return layout.pathOfLocalRepositoryMetadata( metadata, new ArtifactRepositoryAdapter( repository ) );
+    }
+}

Propchange: maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/repository/layout/LegacyArtifactRepositoryLayoutAdapter.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/repository/layout/LegacyArtifactRepositoryLayoutAdapter.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Modified: maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/repository/layout/LegacyRepositoryLayout.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/repository/layout/LegacyRepositoryLayout.java?rev=794373&r1=794372&r2=794373&view=diff
==============================================================================
--- maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/repository/layout/LegacyRepositoryLayout.java (original)
+++ maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/repository/layout/LegacyRepositoryLayout.java Wed Jul 15 19:24:20 2009
@@ -1,88 +1,11 @@
 package org.apache.maven.artifact.repository.layout;
 
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *  http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.handler.ArtifactHandler;
-import org.apache.maven.artifact.metadata.ArtifactMetadata;
-import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.codehaus.plexus.component.annotations.Component;
 
-/**
- * @author jdcasey
- */
-@Component(role=ArtifactRepositoryLayout.class, hint="legacy")
+@Deprecated
+@Component(role=ArtifactRepositoryLayout.class,hint="legacy")
 public class LegacyRepositoryLayout
+    extends org.apache.maven.repository.legacy.repository.layout.LegacyRepositoryLayout
     implements ArtifactRepositoryLayout
 {
-    private static final String PATH_SEPARATOR = "/";
-
-    public String getId()
-    {
-        return "legacy";
-    }
-    
-    public String pathOf( Artifact artifact )
-    {
-        ArtifactHandler artifactHandler = artifact.getArtifactHandler();
-
-        StringBuffer path = new StringBuffer();
-
-        path.append( artifact.getGroupId() ).append( '/' );
-        path.append( artifactHandler.getDirectory() ).append( '/' );
-        path.append( artifact.getArtifactId() ).append( '-' ).append( artifact.getVersion() );
-
-        if ( artifact.hasClassifier() )
-        {
-            path.append( '-' ).append( artifact.getClassifier() );
-        }
-
-        if ( artifactHandler.getExtension() != null && artifactHandler.getExtension().length() > 0 )
-        {
-            path.append( '.' ).append( artifactHandler.getExtension() );
-        }
-
-        return path.toString();
-    }
-
-    public String pathOfLocalRepositoryMetadata( ArtifactMetadata metadata,
-                                                 ArtifactRepository repository )
-    {
-        return pathOfRepositoryMetadata( metadata, metadata.getLocalFilename( repository ) );
-    }
-
-    private String pathOfRepositoryMetadata( ArtifactMetadata metadata,
-                                             String filename )
-    {
-        StringBuffer path = new StringBuffer();
-
-        path.append( metadata.getGroupId() ).append( PATH_SEPARATOR ).append( "poms" ).append( PATH_SEPARATOR );
-
-        path.append( filename );
-
-        return path.toString();
-    }
-
-    public String pathOfRemoteRepositoryMetadata( ArtifactMetadata metadata )
-    {
-        return pathOfRepositoryMetadata( metadata, metadata.getRemoteFilename() );
-    }
-
 }

Modified: maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactCollector.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactCollector.java?rev=794373&r1=794372&r2=794373&view=diff
==============================================================================
--- maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactCollector.java (original)
+++ maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactCollector.java Wed Jul 15 19:24:20 2009
@@ -1,7 +1,33 @@
 package org.apache.maven.artifact.resolver;
 
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.repository.legacy.metadata.ArtifactMetadataSource;
+import org.apache.maven.repository.legacy.repository.ArtifactRepository;
+import org.apache.maven.repository.legacy.resolver.ResolutionListener;
+import org.apache.maven.repository.legacy.resolver.conflict.ConflictResolver;
+import org.apache.maven.repository.legacy.resolver.filter.ArtifactFilter;
+
 @Deprecated
 public interface ArtifactCollector
-    extends org.apache.maven.repository.legacy.resolver.LegacyArtifactCollector
 {
+    ArtifactResolutionResult collect( Set<Artifact> artifacts,
+                                      Artifact originatingArtifact,
+                                      Map managedVersions,
+                                      ArtifactRepository localRepository,
+                                      List<ArtifactRepository> remoteRepositories,
+                                      ArtifactMetadataSource source,
+                                      ArtifactFilter filter,
+                                      List<ResolutionListener> listeners,
+                                      List<ConflictResolver> conflictResolvers );
+
+    // used by maven-dependency-tree and maven-dependency-plugin
+    @Deprecated
+    ArtifactResolutionResult collect( Set<Artifact> artifacts, Artifact originatingArtifact, Map managedVersions,
+                                      ArtifactRepository localRepository, List<ArtifactRepository> remoteRepositories,
+                                      ArtifactMetadataSource source, ArtifactFilter filter,
+                                      List<ResolutionListener> listeners );    
 }

Copied: maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactNotFoundException.java (from r790177, maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactNotFoundException.java)
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactNotFoundException.java?p2=maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactNotFoundException.java&p1=maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactNotFoundException.java&r1=790177&r2=794373&rev=794373&view=diff
==============================================================================
--- maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactNotFoundException.java (original)
+++ maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactNotFoundException.java Wed Jul 15 19:24:20 2009
@@ -18,7 +18,8 @@
 import java.util.List;
 
 import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.repository.legacy.repository.ArtifactRepository;
+import org.apache.maven.repository.legacy.resolver.AbstractArtifactResolutionException;
 import org.apache.maven.wagon.ResourceDoesNotExistException;
 
 /**
@@ -40,7 +41,7 @@
             .getDependencyTrail() );
     }
 
-    protected ArtifactNotFoundException( String message, Artifact artifact, List<ArtifactRepository> remoteRepositories, ResourceDoesNotExistException cause )
+    public ArtifactNotFoundException( String message, Artifact artifact, List<ArtifactRepository> remoteRepositories, ResourceDoesNotExistException cause )
     {
         this( message, artifact.getGroupId(), artifact.getArtifactId(), artifact.getVersion(), artifact.getType(), artifact.getClassifier(), remoteRepositories, artifact.getDownloadUrl(), artifact
             .getDependencyTrail(), cause );

Propchange: maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactNotFoundException.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactNotFoundException.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Propchange: maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactNotFoundException.java
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Wed Jul 15 19:24:20 2009
@@ -0,0 +1,7 @@
+/maven/components/branches/MNG-3932-1/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactNotFoundException.java:746145-746157
+/maven/components/branches/maven-2.0.10-RC/maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/ArtifactNotFoundException.java:680477
+/maven/components/branches/maven-2.0.x/maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/ArtifactNotFoundException.java:679206
+/maven/components/branches/maven-2.0.x/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/ArtifactNotFoundException.java:679206
+/maven/components/branches/sisbell-plugin-manager/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactNotFoundException.java:738973-739966
+/maven/components/sisbell-plugin-manager/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactNotFoundException.java:738757-738972
+/maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactNotFoundException.java:751453-767358,767708-768832

Copied: maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionException.java (from r790177, maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionException.java)
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionException.java?p2=maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionException.java&p1=maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionException.java&r1=790177&r2=794373&rev=794373&view=diff
==============================================================================
--- maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionException.java (original)
+++ maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionException.java Wed Jul 15 19:24:20 2009
@@ -19,9 +19,10 @@
 import java.util.List;
 
 import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.repository.metadata.RepositoryMetadataResolutionException;
 import org.apache.maven.repository.legacy.metadata.ArtifactMetadataRetrievalException;
+import org.apache.maven.repository.legacy.repository.ArtifactRepository;
+import org.apache.maven.repository.legacy.repository.metadata.RepositoryMetadataResolutionException;
+import org.apache.maven.repository.legacy.resolver.AbstractArtifactResolutionException;
 import org.apache.maven.wagon.TransferFailedException;
 
 /**
@@ -69,7 +70,7 @@
     }
 
     @Deprecated
-    protected ArtifactResolutionException( String message, Artifact artifact, List<ArtifactRepository> remoteRepositories, Throwable cause )
+    public ArtifactResolutionException( String message, Artifact artifact, List<ArtifactRepository> remoteRepositories, Throwable cause )
     {
         super( message, artifact, remoteRepositories, cause );
     }

Propchange: maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionException.java
------------------------------------------------------------------------------
    cvs2svn:cvs-rev = 1.2

Propchange: maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionException.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionException.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Propchange: maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionException.java
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Wed Jul 15 19:24:20 2009
@@ -0,0 +1,7 @@
+/maven/components/branches/MNG-3932-1/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionException.java:746145-746157
+/maven/components/branches/maven-2.0.10-RC/maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionException.java:680477
+/maven/components/branches/maven-2.0.x/maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionException.java:679206
+/maven/components/branches/maven-2.0.x/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionException.java:679206
+/maven/components/branches/sisbell-plugin-manager/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionException.java:738973-739966
+/maven/components/sisbell-plugin-manager/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionException.java:738757-738972
+/maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionException.java:751453-767358,767708-768832

Copied: maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionRequest.java (from r790177, maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionRequest.java)
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionRequest.java?p2=maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionRequest.java&p1=maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionRequest.java&r1=790177&r2=794373&rev=794373&view=diff
==============================================================================
--- maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionRequest.java (original)
+++ maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionRequest.java Wed Jul 15 19:24:20 2009
@@ -6,8 +6,9 @@
 import java.util.Set;
 
 import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
+import org.apache.maven.repository.legacy.repository.ArtifactRepository;
+import org.apache.maven.repository.legacy.resolver.ResolutionListener;
+import org.apache.maven.repository.legacy.resolver.filter.ArtifactFilter;
 import org.apache.maven.wagon.events.TransferListener;
 
 /**

Propchange: maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionRequest.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionRequest.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Propchange: maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionRequest.java
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Wed Jul 15 19:24:20 2009
@@ -0,0 +1,7 @@
+/maven/components/branches/MNG-3932-1/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionRequest.java:746145-746157
+/maven/components/branches/maven-2.0.10-RC/maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionRequest.java:680477
+/maven/components/branches/maven-2.0.x/maven-artifact-manager/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionRequest.java:679206
+/maven/components/branches/maven-2.0.x/maven-artifact/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionRequest.java:679206
+/maven/components/branches/sisbell-plugin-manager/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionRequest.java:738973-739966
+/maven/components/sisbell-plugin-manager/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionRequest.java:738757-738972
+/maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionRequest.java:751453-767358,767708-768832

Copied: maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionResult.java (from r790177, maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionResult.java)
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionResult.java?p2=maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionResult.java&p1=maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionResult.java&r1=790177&r2=794373&rev=794373&view=diff
==============================================================================
--- maven/components/trunk/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionResult.java (original)
+++ maven/components/branches/MNG-4221/maven-compat/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionResult.java Wed Jul 15 19:24:20 2009
@@ -22,9 +22,9 @@
 import java.util.Set;
 
 import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.apache.maven.artifact.versioning.OverConstrainedVersionException;
-import org.apache.maven.repository.legacy.resolver.DefaultLegacyArtifactCollector;
+import org.apache.maven.repository.legacy.repository.ArtifactRepository;
+import org.apache.maven.repository.legacy.resolver.CyclicDependencyException;
+import org.apache.maven.repository.legacy.versioning.OverConstrainedVersionException;
 
 /**
  * Specific problems during resolution that we want to account for:
@@ -33,9 +33,6 @@
  * - network/transfer errors - file system errors: permissions
  * 
  * @author Jason van Zyl
- * @TODO carlos: all these possible has*Exceptions and get*Exceptions methods make the clients too
- *       complex requiring a long list of checks, need to create a parent/interfact/encapsulation
- *       for the types of exceptions
  */
 public class ArtifactResolutionResult
 {