You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by br...@apache.org on 2007/08/18 15:37:48 UTC

svn commit: r567269 [3/4] - in /maven/archiva/branches/MRM-462: archiva-base/archiva-configuration/src/main/java/org/apache/maven/archiva/configuration/ archiva-base/archiva-configuration/src/main/java/org/apache/maven/archiva/configuration/functors/ a...

Modified: maven/archiva/branches/MRM-462/archiva-base/archiva-proxy/src/test/java/org/apache/maven/archiva/proxy/AbstractProxyTestCase.java
URL: http://svn.apache.org/viewvc/maven/archiva/branches/MRM-462/archiva-base/archiva-proxy/src/test/java/org/apache/maven/archiva/proxy/AbstractProxyTestCase.java?view=diff&rev=567269&r1=567268&r2=567269
==============================================================================
--- maven/archiva/branches/MRM-462/archiva-base/archiva-proxy/src/test/java/org/apache/maven/archiva/proxy/AbstractProxyTestCase.java (original)
+++ maven/archiva/branches/MRM-462/archiva-base/archiva-proxy/src/test/java/org/apache/maven/archiva/proxy/AbstractProxyTestCase.java Sat Aug 18 06:37:43 2007
@@ -22,8 +22,9 @@
 import org.apache.commons.io.FileUtils;
 import org.apache.maven.archiva.common.utils.PathUtil;
 import org.apache.maven.archiva.configuration.ArchivaConfiguration;
+import org.apache.maven.archiva.configuration.ManagedRepositoryConfiguration;
 import org.apache.maven.archiva.configuration.ProxyConnectorConfiguration;
-import org.apache.maven.archiva.configuration.RepositoryConfiguration;
+import org.apache.maven.archiva.configuration.RemoteRepositoryConfiguration;
 import org.apache.maven.archiva.model.ArchivaArtifact;
 import org.apache.maven.archiva.model.ArchivaRepository;
 import org.apache.maven.archiva.model.ArtifactReference;
@@ -48,12 +49,12 @@
 import java.util.Locale;
 
 /**
- * AbstractProxyTestCase 
+ * AbstractProxyTestCase
  *
  * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
  * @version $Id$
  */
-public class AbstractProxyTestCase
+public abstract class AbstractProxyTestCase
     extends PlexusTestCase
 {
     protected static final String ID_LEGACY_PROXIED = "legacy-proxied";
@@ -162,7 +163,7 @@
             return;
         }
 
-        Collection tmpFiles = FileUtils.listFiles( workingDir, new String[] { "tmp" }, false );
+        Collection tmpFiles = FileUtils.listFiles( workingDir, new String[]{"tmp"}, false );
         if ( !tmpFiles.isEmpty() )
         {
             StringBuffer emsg = new StringBuffer();
@@ -221,8 +222,8 @@
                 {
                     if ( !destination.exists() && !destination.mkdirs() )
                     {
-                        throw new IOException( "Could not create destination directory '"
-                            + destination.getAbsolutePath() + "'." );
+                        throw new IOException(
+                            "Could not create destination directory '" + destination.getAbsolutePath() + "'." );
                     }
 
                     copyDirectoryStructure( file, destination );
@@ -269,19 +270,19 @@
                                  "Test Proxied (Legacy) Repository", "legacy" );
     }
 
-    protected RepositoryConfiguration createRepoConfig( ArchivaRepository repo )
+    protected ManagedRepositoryConfiguration createRepoConfig( ArchivaRepository repo )
     {
         return createRepoConfig( repo.getId(), repo.getName(), repo.getUrl().toString(), repo.getLayoutType() );
     }
 
-    protected RepositoryConfiguration createRepoConfig( String id, String name, String path, String layout )
+    protected ManagedRepositoryConfiguration createRepoConfig( String id, String name, String path, String layout )
     {
-        RepositoryConfiguration repoConfig = new RepositoryConfiguration();
+        ManagedRepositoryConfiguration repoConfig = new ManagedRepositoryConfiguration();
 
         repoConfig.setId( id );
         repoConfig.setName( name );
 
-        repoConfig.setUrl( PathUtil.toUrl( path ) );
+        repoConfig.setLocation( path );
         repoConfig.setLayout( layout );
 
         return repoConfig;
@@ -332,8 +333,8 @@
         }
     }
 
-    protected void saveConnector( String sourceRepoId, String targetRepoId, String checksumPolicy,
-                                  String releasePolicy, String snapshotPolicy, String cacheFailuresPolicy )
+    protected void saveConnector( String sourceRepoId, String targetRepoId, String checksumPolicy, String releasePolicy,
+                                  String snapshotPolicy, String cacheFailuresPolicy )
     {
         ProxyConnectorConfiguration connectorConfig = new ProxyConnectorConfiguration();
         connectorConfig.setSourceRepoId( sourceRepoId );
@@ -357,24 +358,33 @@
         config.triggerChange( prefix + ".policies.cache-failures", connectorConfig.getPolicy( "cache-failures", "" ) );
     }
 
-    protected void saveRepositoryConfig( String id, String name, String path, String layout )
+    protected void saveManagedRepositoryConfig( String id, String name, String path, String layout )
     {
-        RepositoryConfiguration repoConfig = new RepositoryConfiguration();
+        ManagedRepositoryConfiguration repoConfig = new ManagedRepositoryConfiguration();
 
         repoConfig.setId( id );
         repoConfig.setName( name );
+        repoConfig.setLayout( layout );
 
-        if ( path.startsWith( "test://" ) )
-        {
-            repoConfig.setUrl( path );
-        }
-        else
-        {
-            repoConfig.setUrl( PathUtil.toUrl( path ) );
-        }
+        repoConfig.setLocation( path );
+
+        config.getConfiguration().addManagedRepository( repoConfig );
+
+        config.triggerChange( "repository", "" );
+    }
+
+    protected void saveRemoteRepositoryConfig( String id, String name, String path, String layout )
+    {
+        RemoteRepositoryConfiguration repoConfig = new RemoteRepositoryConfiguration();
+
+        repoConfig.setId( id );
+        repoConfig.setName( name );
         repoConfig.setLayout( layout );
 
-        config.getConfiguration().addRepository( repoConfig );
+        repoConfig.setUrl( path );
+
+        config.getConfiguration().addRemoteRepository( repoConfig );
+
         config.triggerChange( "repository", "" );
     }
 
@@ -385,7 +395,7 @@
         FileUtils.deleteDirectory( repoLocation );
         copyDirectoryStructure( getTestFile( originalPath ), repoLocation );
 
-        saveRepositoryConfig( id, "Target Repo-" + id, targetPath, layout );
+        saveRemoteRepositoryConfig( id, "Target Repo-" + id, targetPath, layout );
 
         return repoLocation;
     }
@@ -399,7 +409,6 @@
             .getName() );
 
         config = (MockConfiguration) lookup( ArchivaConfiguration.class.getName(), "mock" );
-        RepositoryConfiguration repoConfig;
 
         // Setup source repository (using default layout)
         File repoLocation = getTestFile( REPOPATH_DEFAULT_MANAGED_TARGET );
@@ -412,9 +421,9 @@
 
         managedDefaultDir = new File( managedDefaultRepository.getUrl().getPath() );
 
-        repoConfig = createRepoConfig( managedDefaultRepository );
+        ManagedRepositoryConfiguration repoConfig = createRepoConfig( managedDefaultRepository );
 
-        config.getConfiguration().addRepository( repoConfig );
+        config.getConfiguration().addManagedRepository( repoConfig );
 
         // Setup source repository (using legacy layout)
         repoLocation = getTestFile( REPOPATH_LEGACY_MANAGED_TARGET );
@@ -428,16 +437,19 @@
 
         repoConfig = createRepoConfig( managedLegacyRepository );
 
-        config.getConfiguration().addRepository( repoConfig );
+        config.getConfiguration().addManagedRepository( repoConfig );
 
         // Setup target (proxied to) repository.
-        saveRepositoryConfig( ID_PROXIED1, "Proxied Repository 1", REPOPATH_PROXIED1, "default" );
+        saveRemoteRepositoryConfig( ID_PROXIED1, "Proxied Repository 1",
+                                    new File( REPOPATH_PROXIED1 ).toURL().toExternalForm(), "default" );
 
         // Setup target (proxied to) repository.
-        saveRepositoryConfig( ID_PROXIED2, "Proxied Repository 2", REPOPATH_PROXIED2, "default" );
+        saveRemoteRepositoryConfig( ID_PROXIED2, "Proxied Repository 2",
+                                    new File( REPOPATH_PROXIED2 ).toURL().toExternalForm(), "default" );
 
         // Setup target (proxied to) repository using legacy layout.
-        saveRepositoryConfig( ID_LEGACY_PROXIED, "Proxied Legacy Repository", REPOPATH_PROXIED_LEGACY, "legacy" );
+        saveRemoteRepositoryConfig( ID_LEGACY_PROXIED, "Proxied Legacy Repository",
+                                    new File( REPOPATH_PROXIED_LEGACY ).toURL().toExternalForm(), "legacy" );
 
         // Setup the proxy handler.
         proxyHandler = (RepositoryProxyConnectors) lookup( RepositoryProxyConnectors.class.getName() );

Modified: maven/archiva/branches/MRM-462/archiva-base/archiva-proxy/src/test/java/org/apache/maven/archiva/proxy/AllTests.java
URL: http://svn.apache.org/viewvc/maven/archiva/branches/MRM-462/archiva-base/archiva-proxy/src/test/java/org/apache/maven/archiva/proxy/AllTests.java?view=diff&rev=567269&r1=567268&r2=567269
==============================================================================
--- maven/archiva/branches/MRM-462/archiva-base/archiva-proxy/src/test/java/org/apache/maven/archiva/proxy/AllTests.java (original)
+++ maven/archiva/branches/MRM-462/archiva-base/archiva-proxy/src/test/java/org/apache/maven/archiva/proxy/AllTests.java Sat Aug 18 06:37:43 2007
@@ -23,7 +23,7 @@
 import junit.framework.TestSuite;
 
 /**
- * IDE Provided Utility Class for all tests. 
+ * IDE Provided Utility Class for all tests.
  *
  * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
  * @version $Id$
@@ -36,12 +36,12 @@
         TestSuite suite = new TestSuite( "Test for org.apache.maven.archiva.proxy" );
         //$JUnit-BEGIN$
         suite.addTestSuite( ChecksumTransferTest.class );
-        suite.addTestSuite( MetadataTransferTest.class );
+//        suite.addTestSuite( MetadataTransferTest.class );
         suite.addTestSuite( CacheFailuresTransferTest.class );
         suite.addTestSuite( ManagedDefaultTransferTest.class );
         suite.addTestSuite( SnapshotTransferTest.class );
         suite.addTestSuite( ManagedLegacyTransferTest.class );
-        suite.addTestSuite( RelocateTransferTest.class );
+//        suite.addTestSuite( RelocateTransferTest.class );
         //$JUnit-END$
         return suite;
     }

Modified: maven/archiva/branches/MRM-462/archiva-base/archiva-proxy/src/test/java/org/apache/maven/archiva/proxy/CacheFailuresTransferTest.java
URL: http://svn.apache.org/viewvc/maven/archiva/branches/MRM-462/archiva-base/archiva-proxy/src/test/java/org/apache/maven/archiva/proxy/CacheFailuresTransferTest.java?view=diff&rev=567269&r1=567268&r2=567269
==============================================================================
--- maven/archiva/branches/MRM-462/archiva-base/archiva-proxy/src/test/java/org/apache/maven/archiva/proxy/CacheFailuresTransferTest.java (original)
+++ maven/archiva/branches/MRM-462/archiva-base/archiva-proxy/src/test/java/org/apache/maven/archiva/proxy/CacheFailuresTransferTest.java Sat Aug 18 06:37:43 2007
@@ -31,7 +31,7 @@
 import java.io.File;
 
 /**
- * CacheFailuresTransferTest 
+ * CacheFailuresTransferTest
  *
  * @author Brett Porter
  * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
@@ -51,8 +51,8 @@
         assertFalse( expectedFile.exists() );
 
         // Configure Repository (usually done within archiva.xml configuration)
-        saveRepositoryConfig( "badproxied1", "Bad Proxied 1", "test://bad.machine.com/repo/", "default" );
-        saveRepositoryConfig( "badproxied2", "Bad Proxied 2", "test://bad.machine.com/repo/", "default" );
+        saveRemoteRepositoryConfig( "badproxied1", "Bad Proxied 1", "test://bad.machine.com/repo/", "default" );
+        saveRemoteRepositoryConfig( "badproxied2", "Bad Proxied 2", "test://bad.machine.com/repo/", "default" );
 
         // Configure Connector (usually done within archiva.xml configuration)
         saveConnector( ID_DEFAULT_MANAGED, "badproxied1", ChecksumPolicy.FIX, ReleasesPolicy.IGNORED,
@@ -85,8 +85,8 @@
         assertFalse( expectedFile.exists() );
 
         // Configure Repository (usually done within archiva.xml configuration)
-        saveRepositoryConfig( "badproxied1", "Bad Proxied 1", "test://bad.machine.com/repo/", "default" );
-        saveRepositoryConfig( "badproxied2", "Bad Proxied 2", "test://bad.machine.com/repo/", "default" );
+        saveRemoteRepositoryConfig( "badproxied1", "Bad Proxied 1", "test://bad.machine.com/repo/", "default" );
+        saveRemoteRepositoryConfig( "badproxied2", "Bad Proxied 2", "test://bad.machine.com/repo/", "default" );
 
         // Configure Connector (usually done within archiva.xml configuration)
         saveConnector( ID_DEFAULT_MANAGED, "badproxied1", ChecksumPolicy.FIX, ReleasesPolicy.IGNORED,

Modified: maven/archiva/branches/MRM-462/archiva-base/archiva-proxy/src/test/java/org/apache/maven/archiva/proxy/ChecksumTransferTest.java
URL: http://svn.apache.org/viewvc/maven/archiva/branches/MRM-462/archiva-base/archiva-proxy/src/test/java/org/apache/maven/archiva/proxy/ChecksumTransferTest.java?view=diff&rev=567269&r1=567268&r2=567269
==============================================================================
--- maven/archiva/branches/MRM-462/archiva-base/archiva-proxy/src/test/java/org/apache/maven/archiva/proxy/ChecksumTransferTest.java (original)
+++ maven/archiva/branches/MRM-462/archiva-base/archiva-proxy/src/test/java/org/apache/maven/archiva/proxy/ChecksumTransferTest.java Sat Aug 18 06:37:43 2007
@@ -30,7 +30,7 @@
 import java.io.File;
 
 /**
- * ChecksumTransferTest 
+ * ChecksumTransferTest
  *
  * @author Brett Porter
  * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
@@ -81,7 +81,8 @@
         File proxied1File = new File( REPOPATH_PROXIED1, path );
         assertFileEquals( expectedFile, downloadedFile, proxied1File );
         assertNoTempFiles( expectedFile );
-        assertChecksums( expectedFile, "748a3a013bf5eacf2bbb40a2ac7d37889b728837 *get-checksum-sha1-only-1.0.jar", null );
+        assertChecksums( expectedFile, "748a3a013bf5eacf2bbb40a2ac7d37889b728837 *get-checksum-sha1-only-1.0.jar",
+                         null );
     }
 
     public void testGetChecksumNoSha1CorrectMd5()
@@ -359,7 +360,7 @@
         assertFalse( expectedFile.getParentFile().exists() );
         assertFalse( expectedFile.exists() );
 
-        saveRepositoryConfig( "badproxied", "Bad Proxied", "test://bad.machine.com/repo/", "default" );
+        saveRemoteRepositoryConfig( "badproxied", "Bad Proxied", "test://bad.machine.com/repo/", "default" );
 
         // Configure Connector (usually done within archiva.xml configuration)
         saveConnector( ID_DEFAULT_MANAGED, "badproxied", ChecksumPolicy.IGNORED, ReleasesPolicy.IGNORED,
@@ -387,7 +388,8 @@
         File proxied1File = new File( REPOPATH_PROXIED1, path );
         assertFileEquals( expectedFile, downloadedFile, proxied1File );
         assertNoTempFiles( expectedFile );
-        assertChecksums( expectedFile, "748a3a013bf5eacf2bbb40a2ac7d37889b728837 *get-checksum-sha1-only-1.0.jar", null );
+        assertChecksums( expectedFile, "748a3a013bf5eacf2bbb40a2ac7d37889b728837 *get-checksum-sha1-only-1.0.jar",
+                         null );
     }
 
     public void testGetAlwaysBadChecksumPresentLocallyAbsentRemoteUsingIgnoredSetting()

Modified: maven/archiva/branches/MRM-462/archiva-base/archiva-proxy/src/test/java/org/apache/maven/archiva/proxy/ManagedDefaultTransferTest.java
URL: http://svn.apache.org/viewvc/maven/archiva/branches/MRM-462/archiva-base/archiva-proxy/src/test/java/org/apache/maven/archiva/proxy/ManagedDefaultTransferTest.java?view=diff&rev=567269&r1=567268&r2=567269
==============================================================================
--- maven/archiva/branches/MRM-462/archiva-base/archiva-proxy/src/test/java/org/apache/maven/archiva/proxy/ManagedDefaultTransferTest.java (original)
+++ maven/archiva/branches/MRM-462/archiva-base/archiva-proxy/src/test/java/org/apache/maven/archiva/proxy/ManagedDefaultTransferTest.java Sat Aug 18 06:37:43 2007
@@ -31,7 +31,7 @@
 import java.io.File;
 
 /**
- * ManagedDefaultTransferTest 
+ * ManagedDefaultTransferTest
  *
  * @author Brett Porter
  * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
@@ -65,9 +65,9 @@
 
     /**
      * The attempt here should result in no file being transferred.
-     * 
+     * <p/>
      * The file exists locally, and the policy is ONCE.
-     * 
+     *
      * @throws Exception
      */
     public void testGetDefaultLayoutAlreadyPresentPolicyOnce()
@@ -93,9 +93,9 @@
 
     /**
      * The attempt here should result in file being transferred.
-     * 
+     * <p/>
      * The file exists locally, and the policy is IGNORE.
-     * 
+     *
      * @throws Exception
      */
     public void testGetDefaultLayoutAlreadyPresentPolicyIgnored()
@@ -129,15 +129,15 @@
              * This delta is the amount of milliseconds of 'fudge factor' we allow for
              * the unit test to still be considered 'passed'.
              */
-            int delta = 1100;
+            int delta = 20000;
 
             long hirange = originalModificationTime + ( delta / 2 );
             long lorange = originalModificationTime - ( delta / 2 );
 
             if ( ( downloadedLastModified < lorange ) || ( downloadedLastModified > hirange ) )
             {
-                fail( "Check file timestamp is that of original managed file: expected within range lo:<" + lorange
-                    + "> hi:<" + hirange + "> but was:<" + downloadedLastModified + ">" );
+                fail( "Check file timestamp is that of original managed file: expected within range lo:<" + lorange +
+                    "> hi:<" + hirange + "> but was:<" + downloadedLastModified + ">" );
             }
         }
         assertNoTempFiles( expectedFile );
@@ -145,9 +145,9 @@
 
     /**
      * The attempt here should result in file being transferred.
-     * 
+     * <p/>
      * The file exists locally, is over 6 years old, and the policy is DAILY.
-     * 
+     *
      * @throws Exception
      */
     public void testGetDefaultLayoutRemoteUpdate()
@@ -161,8 +161,8 @@
         expectedFile.setLastModified( getPastDate().getTime() );
 
         // Configure Connector (usually done within archiva.xml configuration)
-        saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, ChecksumPolicy.FIX, ReleasesPolicy.DAILY,
-                       SnapshotsPolicy.DAILY, CachedFailuresPolicy.IGNORED );
+        saveConnector( ID_DEFAULT_MANAGED, ID_PROXIED1, ChecksumPolicy.FIX, ReleasesPolicy.DAILY, SnapshotsPolicy.DAILY,
+                       CachedFailuresPolicy.IGNORED );
 
         // Attempt the proxy fetch.
         File downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact );
@@ -199,8 +199,8 @@
         // TODO: is this check even needed if it passes above? 
         String actualContents = FileUtils.readFileToString( downloadedFile, null );
         String badContents = FileUtils.readFileToString( proxied2File, null );
-        assertFalse( "Downloaded file contents should not be that of proxy 2", StringUtils.equals( actualContents,
-                                                                                                   badContents ) );
+        assertFalse( "Downloaded file contents should not be that of proxy 2",
+                     StringUtils.equals( actualContents, badContents ) );
     }
 
     public void testGetInSecondProxiedRepo()
@@ -247,7 +247,8 @@
         // Attempt the proxy fetch.
         File downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact );
 
-        assertNull( "File returned was: " + downloadedFile + "; should have got a not found exception", downloadedFile );
+        assertNull( "File returned was: " + downloadedFile + "; should have got a not found exception",
+                    downloadedFile );
         assertNoTempFiles( expectedFile );
     }
 
@@ -262,7 +263,7 @@
         assertFalse( expectedFile.exists() );
 
         // Configure Repository (usually done within archiva.xml configuration)
-        saveRepositoryConfig( "badproxied", "Bad Proxied", "test://bad.machine.com/repo/", "default" );
+        saveRemoteRepositoryConfig( "badproxied", "Bad Proxied", "test://bad.machine.com/repo/", "default" );
 
         wagonMock.getIfNewer( path, new File( expectedFile.getAbsolutePath() + ".tmp" ), 0 );
         wagonMockControl.setThrowable( new TransferFailedException( "transfer failed" ) );
@@ -295,8 +296,8 @@
         assertFalse( expectedFile.exists() );
 
         // Configure Repository (usually done within archiva.xml configuration)
-        saveRepositoryConfig( "badproxied1", "Bad Proxied 1", "test://bad.machine.com/repo/", "default" );
-        saveRepositoryConfig( "badproxied2", "Bad Proxied 2", "test://dead.machine.com/repo/", "default" );
+        saveRemoteRepositoryConfig( "badproxied1", "Bad Proxied 1", "test://bad.machine.com/repo/", "default" );
+        saveRemoteRepositoryConfig( "badproxied2", "Bad Proxied 2", "test://dead.machine.com/repo/", "default" );
 
         // Configure Connector (usually done within archiva.xml configuration)
         saveConnector( ID_DEFAULT_MANAGED, "badproxied1", ChecksumPolicy.FIX, ReleasesPolicy.IGNORED,
@@ -338,8 +339,8 @@
 
         File downloadedFile = proxyHandler.fetchFromProxies( managedDefaultRepository, artifact );
 
-        File proxiedFile = new File( REPOPATH_PROXIED_LEGACY,
-                                     "org.apache.maven.test/jars/get-default-layout-present-1.0.jar" );
+        File proxiedFile =
+            new File( REPOPATH_PROXIED_LEGACY, "org.apache.maven.test/jars/get-default-layout-present-1.0.jar" );
         assertFileEquals( expectedFile, downloadedFile, proxiedFile );
         assertNoTempFiles( expectedFile );
     }

Modified: maven/archiva/branches/MRM-462/archiva-base/archiva-proxy/src/test/java/org/apache/maven/archiva/proxy/RelocateTransferTest.java
URL: http://svn.apache.org/viewvc/maven/archiva/branches/MRM-462/archiva-base/archiva-proxy/src/test/java/org/apache/maven/archiva/proxy/RelocateTransferTest.java?view=diff&rev=567269&r1=567268&r2=567269
==============================================================================
--- maven/archiva/branches/MRM-462/archiva-base/archiva-proxy/src/test/java/org/apache/maven/archiva/proxy/RelocateTransferTest.java (original)
+++ maven/archiva/branches/MRM-462/archiva-base/archiva-proxy/src/test/java/org/apache/maven/archiva/proxy/RelocateTransferTest.java Sat Aug 18 06:37:43 2007
@@ -19,31 +19,8 @@
  * under the License.
  */
 
-import org.apache.commons.io.FileUtils;
-import org.apache.commons.lang.StringUtils;
-import org.apache.maven.archiva.common.utils.PathUtil;
-import org.apache.maven.archiva.configuration.ArchivaConfiguration;
-import org.apache.maven.archiva.configuration.RepositoryConfiguration;
-import org.apache.maven.archiva.model.ArchivaRepository;
-import org.apache.maven.archiva.model.ArtifactReference;
-import org.apache.maven.archiva.model.ProjectReference;
-import org.apache.maven.archiva.policies.CachedFailuresPolicy;
-import org.apache.maven.archiva.policies.ChecksumPolicy;
-import org.apache.maven.archiva.policies.ReleasesPolicy;
-import org.apache.maven.archiva.policies.SnapshotsPolicy;
-import org.apache.maven.archiva.policies.urlcache.UrlFailureCache;
-import org.apache.maven.wagon.ResourceDoesNotExistException;
-import org.apache.maven.wagon.TransferFailedException;
-import org.apache.maven.wagon.Wagon;
-import org.easymock.MockControl;
-
-import java.io.File;
-import java.io.IOException;
-import java.text.ParseException;
-import java.util.Arrays;
-
 /**
- * RelocateTransferTest 
+ * RelocateTransferTest
  *
  * @author Brett Porter
  * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>

Modified: maven/archiva/branches/MRM-462/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/ArchivaConfigurationAdaptor.java
URL: http://svn.apache.org/viewvc/maven/archiva/branches/MRM-462/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/ArchivaConfigurationAdaptor.java?view=diff&rev=567269&r1=567268&r2=567269
==============================================================================
--- maven/archiva/branches/MRM-462/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/ArchivaConfigurationAdaptor.java (original)
+++ maven/archiva/branches/MRM-462/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/ArchivaConfigurationAdaptor.java Sat Aug 18 06:37:43 2007
@@ -20,11 +20,12 @@
  */
 
 import org.apache.commons.lang.StringUtils;
-import org.apache.maven.archiva.configuration.RepositoryConfiguration;
+import org.apache.maven.archiva.common.utils.PathUtil;
+import org.apache.maven.archiva.configuration.ManagedRepositoryConfiguration;
 import org.apache.maven.archiva.model.ArchivaRepository;
 
 /**
- * ArchivaConfigurationAdaptor 
+ * ArchivaConfigurationAdaptor
  *
  * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
  * @version $Id$
@@ -32,7 +33,11 @@
  */
 public class ArchivaConfigurationAdaptor
 {
-    public static ArchivaRepository toArchivaRepository( RepositoryConfiguration config )
+    private ArchivaConfigurationAdaptor()
+    {
+    }
+
+    public static ArchivaRepository toArchivaRepository( ManagedRepositoryConfiguration config )
     {
         if ( config == null )
         {
@@ -44,13 +49,14 @@
             throw new IllegalArgumentException( "Unable to repository config with blank ID to archiva repository." );
         }
 
-        if ( StringUtils.isBlank( config.getUrl() ) )
+        if ( StringUtils.isBlank( config.getLocation() ) )
         {
             throw new IllegalArgumentException(
-                                                "Unable to convert repository config with blank URL to archiva repository." );
+                "Unable to convert repository config with blank location to archiva repository." );
         }
 
-        ArchivaRepository repository = new ArchivaRepository( config.getId(), config.getName(), config.getUrl() );
+        ArchivaRepository repository =
+            new ArchivaRepository( config.getId(), config.getName(), PathUtil.toUrl( config.getLocation() ) );
 
         repository.getModel().setLayoutName( config.getLayout() );
         repository.getModel().setReleasePolicy( config.isReleases() );

Modified: maven/archiva/branches/MRM-462/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/layout/BidirectionalRepositoryLayoutFactory.java
URL: http://svn.apache.org/viewvc/maven/archiva/branches/MRM-462/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/layout/BidirectionalRepositoryLayoutFactory.java?view=diff&rev=567269&r1=567268&r2=567269
==============================================================================
--- maven/archiva/branches/MRM-462/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/layout/BidirectionalRepositoryLayoutFactory.java (original)
+++ maven/archiva/branches/MRM-462/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/layout/BidirectionalRepositoryLayoutFactory.java Sat Aug 18 06:37:43 2007
@@ -20,9 +20,9 @@
  */
 
 import org.apache.commons.lang.StringUtils;
+import org.apache.maven.archiva.configuration.AbstractRepositoryConfiguration;
 import org.apache.maven.archiva.configuration.ArchivaConfiguration;
 import org.apache.maven.archiva.configuration.ConfigurationNames;
-import org.apache.maven.archiva.configuration.RepositoryConfiguration;
 import org.apache.maven.archiva.model.ArchivaArtifact;
 import org.codehaus.plexus.logging.AbstractLogEnabled;
 import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable;
@@ -98,13 +98,13 @@
             throw new LayoutException( "Cannot determine layout using artifact with no repository id: " + artifact );
         }
 
-        RepositoryConfiguration repo = (RepositoryConfiguration) this.repositoryMap.get( repoId );
+        AbstractRepositoryConfiguration repo = (AbstractRepositoryConfiguration) this.repositoryMap.get( repoId );
         return getLayout( repo.getLayout() );
     }
 
     public void afterConfigurationChange( Registry registry, String propertyName, Object propertyValue )
     {
-        if ( ConfigurationNames.isRepositories( propertyName ) )
+        if ( ConfigurationNames.isManagedRepositories( propertyName ) )
         {
             initRepositoryMap();
         }
@@ -120,7 +120,7 @@
         synchronized ( this.repositoryMap )
         {
             this.repositoryMap.clear();
-            this.repositoryMap.putAll( configuration.getConfiguration().createRepositoryMap() );
+            this.repositoryMap.putAll( configuration.getConfiguration().getManagedRepositoriesAsMap() );
         }
     }
 

Modified: maven/archiva/branches/MRM-462/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/project/ProjectModelResolverFactory.java
URL: http://svn.apache.org/viewvc/maven/archiva/branches/MRM-462/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/project/ProjectModelResolverFactory.java?view=diff&rev=567269&r1=567268&r2=567269
==============================================================================
--- maven/archiva/branches/MRM-462/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/project/ProjectModelResolverFactory.java (original)
+++ maven/archiva/branches/MRM-462/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/project/ProjectModelResolverFactory.java Sat Aug 18 06:37:43 2007
@@ -19,12 +19,10 @@
  * under the License.
  */
 
-import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang.StringUtils;
 import org.apache.maven.archiva.configuration.ArchivaConfiguration;
 import org.apache.maven.archiva.configuration.ConfigurationNames;
-import org.apache.maven.archiva.configuration.RepositoryConfiguration;
-import org.apache.maven.archiva.configuration.functors.LocalRepositoryPredicate;
+import org.apache.maven.archiva.configuration.ManagedRepositoryConfiguration;
 import org.apache.maven.archiva.model.ArchivaRepository;
 import org.apache.maven.archiva.repository.ArchivaConfigurationAdaptor;
 import org.apache.maven.archiva.repository.RepositoryException;
@@ -40,16 +38,13 @@
 import org.codehaus.plexus.registry.Registry;
 import org.codehaus.plexus.registry.RegistryListener;
 
-import java.util.ArrayList;
-import java.util.Iterator;
 import java.util.List;
 
 /**
- * Factory for ProjectModelResolver objects 
+ * Factory for ProjectModelResolver objects
  *
  * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
  * @version $Id$
- * 
  * @plexus.component role="org.apache.maven.archiva.repository.project.ProjectModelResolverFactory"
  */
 public class ProjectModelResolverFactory
@@ -80,7 +75,7 @@
 
     public void afterConfigurationChange( Registry registry, String propertyName, Object propertyValue )
     {
-        if ( ConfigurationNames.isRepositories( propertyName ) )
+        if ( ConfigurationNames.isManagedRepositories( propertyName ) )
         {
             update();
         }
@@ -106,12 +101,6 @@
     private RepositoryProjectResolver toResolver( ArchivaRepository repo )
         throws RepositoryException
     {
-        if ( !repo.isManaged() )
-        {
-            throw new RepositoryException( "Unable to create RepositoryProjectResolver from non-managed repository: "
-                + repo );
-        }
-
         try
         {
             BidirectionalRepositoryLayout layout = layoutFactory.getLayout( repo.getLayoutType() );
@@ -127,8 +116,8 @@
         }
         catch ( LayoutException e )
         {
-            throw new RepositoryException( "Unable to create RepositoryProjectResolver due to invalid layout spec: "
-                + repo );
+            throw new RepositoryException(
+                "Unable to create RepositoryProjectResolver due to invalid layout spec: " + repo );
         }
     }
 
@@ -138,15 +127,11 @@
         {
             this.currentResolverStack.clearResolvers();
 
-            List configLocalRepos = new ArrayList();
-            CollectionUtils.select( archivaConfiguration.getConfiguration().getRepositories(), LocalRepositoryPredicate
-                .getInstance(), configLocalRepos );
-
-            Iterator it = configLocalRepos.iterator();
-            while ( it.hasNext() )
+            List<ManagedRepositoryConfiguration> list =
+                archivaConfiguration.getConfiguration().getManagedRepositories();
+            for ( ManagedRepositoryConfiguration repositoryConfiguration : list )
             {
-                RepositoryConfiguration repoconfig = (RepositoryConfiguration) it.next();
-                ArchivaRepository repo = ArchivaConfigurationAdaptor.toArchivaRepository( repoconfig );
+                ArchivaRepository repo = ArchivaConfigurationAdaptor.toArchivaRepository( repositoryConfiguration );
                 try
                 {
                     RepositoryProjectResolver resolver = toResolver( repo );

Modified: maven/archiva/branches/MRM-462/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/scanner/DefaultRepositoryScanner.java
URL: http://svn.apache.org/viewvc/maven/archiva/branches/MRM-462/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/scanner/DefaultRepositoryScanner.java?view=diff&rev=567269&r1=567268&r2=567269
==============================================================================
--- maven/archiva/branches/MRM-462/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/scanner/DefaultRepositoryScanner.java (original)
+++ maven/archiva/branches/MRM-462/archiva-base/archiva-repository-layer/src/main/java/org/apache/maven/archiva/repository/scanner/DefaultRepositoryScanner.java Sat Aug 18 06:37:43 2007
@@ -34,11 +34,10 @@
 import java.util.List;
 
 /**
- * DefaultRepositoryScanner 
+ * DefaultRepositoryScanner
  *
  * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
  * @version $Id$
- * 
  * @plexus.component role="org.apache.maven.archiva.repository.scanner.RepositoryScanner"
  */
 public class DefaultRepositoryScanner
@@ -75,7 +74,7 @@
             throw new IllegalArgumentException( "Unable to operate on a null repository." );
         }
 
-        if ( !repository.isManaged() )
+        if ( !"file".equals( repository.getUrl().getProtocol() ) )
         {
             throw new UnsupportedOperationException( "Only filesystem repositories are supported." );
         }
@@ -84,14 +83,14 @@
 
         if ( !repositoryBase.exists() )
         {
-            throw new UnsupportedOperationException( "Unable to scan a repository, directory "
-                + repositoryBase.getAbsolutePath() + " does not exist." );
+            throw new UnsupportedOperationException(
+                "Unable to scan a repository, directory " + repositoryBase.getAbsolutePath() + " does not exist." );
         }
 
         if ( !repositoryBase.isDirectory() )
         {
-            throw new UnsupportedOperationException( "Unable to scan a repository, path "
-                + repositoryBase.getAbsolutePath() + " is not a directory." );
+            throw new UnsupportedOperationException(
+                "Unable to scan a repository, path " + repositoryBase.getAbsolutePath() + " is not a directory." );
         }
 
         // Setup Includes / Excludes.
@@ -116,8 +115,8 @@
         dirWalker.setExcludes( allExcludes );
 
         // Setup the Scan Instance
-        RepositoryScannerInstance scannerInstance = new RepositoryScannerInstance( repository, knownContentConsumers,
-                                                                                   invalidContentConsumers, getLogger() );
+        RepositoryScannerInstance scannerInstance =
+            new RepositoryScannerInstance( repository, knownContentConsumers, invalidContentConsumers, getLogger() );
         scannerInstance.setOnlyModifiedAfterTimestamp( changesSince );
 
         dirWalker.addDirectoryWalkListener( scannerInstance );

Modified: maven/archiva/branches/MRM-462/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/layout/AbstractBidirectionalRepositoryLayoutTestCase.java
URL: http://svn.apache.org/viewvc/maven/archiva/branches/MRM-462/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/layout/AbstractBidirectionalRepositoryLayoutTestCase.java?view=diff&rev=567269&r1=567268&r2=567269
==============================================================================
--- maven/archiva/branches/MRM-462/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/layout/AbstractBidirectionalRepositoryLayoutTestCase.java (original)
+++ maven/archiva/branches/MRM-462/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/layout/AbstractBidirectionalRepositoryLayoutTestCase.java Sat Aug 18 06:37:43 2007
@@ -30,12 +30,12 @@
 import java.io.File;
 
 /**
- * AbstractBidirectionalRepositoryLayoutTestCase 
+ * AbstractBidirectionalRepositoryLayoutTestCase
  *
  * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
  * @version $Id$
  */
-public class AbstractBidirectionalRepositoryLayoutTestCase
+public abstract class AbstractBidirectionalRepositoryLayoutTestCase
     extends PlexusTestCase
 {
     protected ArchivaRepository repository;
@@ -60,9 +60,7 @@
 
         String repoUri = "file://" + StringUtils.replace( testRepo.getAbsolutePath(), "\\", "/" );
 
-        ArchivaRepository repo = new ArchivaRepository( "testRepo", "Test Repository", repoUri );
-
-        return repo;
+        return new ArchivaRepository( "testRepo", "Test Repository", repoUri );
     }
 
     protected ArchivaArtifact createArtifact( String groupId, String artifactId, String version, String classifier,
@@ -99,8 +97,8 @@
     protected void assertArtifactReference( ArtifactReference actualReference, String groupId, String artifactId,
                                             String version, String classifier, String type )
     {
-        String expectedId = "ArtifactReference - " + groupId + ":" + artifactId + ":" + version + ":" + classifier
-            + ":" + type;
+        String expectedId =
+            "ArtifactReference - " + groupId + ":" + artifactId + ":" + version + ":" + classifier + ":" + type;
 
         assertNotNull( expectedId + " - Should not be null.", actualReference );
 

Modified: maven/archiva/branches/MRM-462/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/layout/AllTests.java
URL: http://svn.apache.org/viewvc/maven/archiva/branches/MRM-462/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/layout/AllTests.java?view=diff&rev=567269&r1=567268&r2=567269
==============================================================================
--- maven/archiva/branches/MRM-462/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/layout/AllTests.java (original)
+++ maven/archiva/branches/MRM-462/archiva-base/archiva-repository-layer/src/test/java/org/apache/maven/archiva/repository/layout/AllTests.java Sat Aug 18 06:37:43 2007
@@ -23,19 +23,17 @@
 import junit.framework.TestSuite;
 
 /**
- * AllTests - Useful for developers using IDEs. 
+ * AllTests - Useful for developers using IDEs.
  *
  * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
  * @version $Id$
  */
 public class AllTests
 {
-
     public static Test suite()
     {
         TestSuite suite = new TestSuite( "Test for org.apache.maven.archiva.repository.layout" );
         //$JUnit-BEGIN$
-        suite.addTestSuite( AbstractBidirectionalRepositoryLayoutTestCase.class );
         suite.addTestSuite( BidirectionalRepositoryLayoutFactoryTest.class );
         suite.addTestSuite( LegacyBidirectionalRepositoryLayoutTest.class );
         suite.addTestSuite( DefaultBidirectionalRepositoryLayoutTest.class );

Modified: maven/archiva/branches/MRM-462/archiva-base/archiva-repository-layer/src/test/repositories/default-repository/org/apache/maven/archiva/archiva-parent/1.0-SNAPSHOT/archiva-parent-1.0-SNAPSHOT.pom
URL: http://svn.apache.org/viewvc/maven/archiva/branches/MRM-462/archiva-base/archiva-repository-layer/src/test/repositories/default-repository/org/apache/maven/archiva/archiva-parent/1.0-SNAPSHOT/archiva-parent-1.0-SNAPSHOT.pom?view=diff&rev=567269&r1=567268&r2=567269
==============================================================================
--- maven/archiva/branches/MRM-462/archiva-base/archiva-repository-layer/src/test/repositories/default-repository/org/apache/maven/archiva/archiva-parent/1.0-SNAPSHOT/archiva-parent-1.0-SNAPSHOT.pom (original)
+++ maven/archiva/branches/MRM-462/archiva-base/archiva-repository-layer/src/test/repositories/default-repository/org/apache/maven/archiva/archiva-parent/1.0-SNAPSHOT/archiva-parent-1.0-SNAPSHOT.pom Sat Aug 18 06:37:43 2007
@@ -492,7 +492,6 @@
             <artifactId>cobertura-maven-plugin</artifactId>
             <configuration>
               <check>
-                <!-- TODO! raise to 85/100 -->
                 <totalLineRate>77</totalLineRate>
                 <totalBranchRate>95</totalBranchRate>
               </check>

Modified: maven/archiva/branches/MRM-462/archiva-base/archiva-repository-layer/src/test/repositories/default-repository/org/apache/maven/archiva/archiva-webapp/1.0-SNAPSHOT/archiva-webapp-1.0-SNAPSHOT.pom
URL: http://svn.apache.org/viewvc/maven/archiva/branches/MRM-462/archiva-base/archiva-repository-layer/src/test/repositories/default-repository/org/apache/maven/archiva/archiva-webapp/1.0-SNAPSHOT/archiva-webapp-1.0-SNAPSHOT.pom?view=diff&rev=567269&r1=567268&r2=567269
==============================================================================
--- maven/archiva/branches/MRM-462/archiva-base/archiva-repository-layer/src/test/repositories/default-repository/org/apache/maven/archiva/archiva-webapp/1.0-SNAPSHOT/archiva-webapp-1.0-SNAPSHOT.pom (original)
+++ maven/archiva/branches/MRM-462/archiva-base/archiva-repository-layer/src/test/repositories/default-repository/org/apache/maven/archiva/archiva-webapp/1.0-SNAPSHOT/archiva-webapp-1.0-SNAPSHOT.pom Sat Aug 18 06:37:43 2007
@@ -321,7 +321,6 @@
       <plugin>
         <groupId>org.codehaus.mojo</groupId>
         <artifactId>cobertura-maven-plugin</artifactId>
-        <!-- TODO! add unit tests -->
         <configuration>
           <instrumentation>
             <excludes>

Modified: maven/archiva/branches/MRM-462/archiva-base/archiva-repository-layer/src/test/repositories/default-repository/org/apache/maven/archiva/archiva/1.0-SNAPSHOT/archiva-1.0-20061126.005254-2.pom
URL: http://svn.apache.org/viewvc/maven/archiva/branches/MRM-462/archiva-base/archiva-repository-layer/src/test/repositories/default-repository/org/apache/maven/archiva/archiva/1.0-SNAPSHOT/archiva-1.0-20061126.005254-2.pom?view=diff&rev=567269&r1=567268&r2=567269
==============================================================================
--- maven/archiva/branches/MRM-462/archiva-base/archiva-repository-layer/src/test/repositories/default-repository/org/apache/maven/archiva/archiva/1.0-SNAPSHOT/archiva-1.0-20061126.005254-2.pom (original)
+++ maven/archiva/branches/MRM-462/archiva-base/archiva-repository-layer/src/test/repositories/default-repository/org/apache/maven/archiva/archiva/1.0-SNAPSHOT/archiva-1.0-20061126.005254-2.pom Sat Aug 18 06:37:43 2007
@@ -74,13 +74,13 @@
     </site>
   </distributionManagement>
   <build>
-  <extensions>
-    <extension>
-      <groupId>org.apache.maven.wagon</groupId>
-      <artifactId>wagon-ssh-external</artifactId>
-      <version>1.0-alpha-5</version>
-    </extension>
-  </extensions>
+    <extensions>
+      <extension>
+        <groupId>org.apache.maven.wagon</groupId>
+        <artifactId>wagon-ssh-external</artifactId>
+        <version>1.0-alpha-5</version>
+      </extension>
+    </extensions>
     <plugins>
       <plugin>
         <groupId>org.codehaus.plexus</groupId>
@@ -431,7 +431,6 @@
             <artifactId>cobertura-maven-plugin</artifactId>
             <configuration>
               <check>
-                <!-- TODO! raise to 85/100 -->
                 <totalLineRate>77</totalLineRate>
                 <totalBranchRate>95</totalBranchRate>
               </check>

Modified: maven/archiva/branches/MRM-462/archiva-base/archiva-repository-layer/src/test/repositories/default-repository/org/apache/maven/archiva/archiva/1.0-SNAPSHOT/archiva-1.0-SNAPSHOT.pom
URL: http://svn.apache.org/viewvc/maven/archiva/branches/MRM-462/archiva-base/archiva-repository-layer/src/test/repositories/default-repository/org/apache/maven/archiva/archiva/1.0-SNAPSHOT/archiva-1.0-SNAPSHOT.pom?view=diff&rev=567269&r1=567268&r2=567269
==============================================================================
--- maven/archiva/branches/MRM-462/archiva-base/archiva-repository-layer/src/test/repositories/default-repository/org/apache/maven/archiva/archiva/1.0-SNAPSHOT/archiva-1.0-SNAPSHOT.pom (original)
+++ maven/archiva/branches/MRM-462/archiva-base/archiva-repository-layer/src/test/repositories/default-repository/org/apache/maven/archiva/archiva/1.0-SNAPSHOT/archiva-1.0-SNAPSHOT.pom Sat Aug 18 06:37:43 2007
@@ -483,7 +483,6 @@
             <artifactId>cobertura-maven-plugin</artifactId>
             <configuration>
               <check>
-                <!-- TODO! raise to 85/100 -->
                 <totalLineRate>77</totalLineRate>
                 <totalBranchRate>95</totalBranchRate>
               </check>

Modified: maven/archiva/branches/MRM-462/archiva-database/src/main/java/org/apache/maven/archiva/database/constraints/ArchivaRepositoryByUrlConstraint.java
URL: http://svn.apache.org/viewvc/maven/archiva/branches/MRM-462/archiva-database/src/main/java/org/apache/maven/archiva/database/constraints/ArchivaRepositoryByUrlConstraint.java?view=diff&rev=567269&r1=567268&r2=567269
==============================================================================
--- maven/archiva/branches/MRM-462/archiva-database/src/main/java/org/apache/maven/archiva/database/constraints/ArchivaRepositoryByUrlConstraint.java (original)
+++ maven/archiva/branches/MRM-462/archiva-database/src/main/java/org/apache/maven/archiva/database/constraints/ArchivaRepositoryByUrlConstraint.java Sat Aug 18 06:37:43 2007
@@ -1,9 +1,28 @@
 package org.apache.maven.archiva.database.constraints;
 
+/*
+ * 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.archiva.database.Constraint;
 
 /**
- * ArchivaRepositoryByUrlConstraint 
+ * ArchivaRepositoryByUrlConstraint
  *
  * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
  * @version $Id$

Modified: maven/archiva/branches/MRM-462/archiva-reporting/archiva-artifact-reports/src/main/java/org/apache/maven/archiva/reporting/artifact/LocationArtifactsConsumer.java
URL: http://svn.apache.org/viewvc/maven/archiva/branches/MRM-462/archiva-reporting/archiva-artifact-reports/src/main/java/org/apache/maven/archiva/reporting/artifact/LocationArtifactsConsumer.java?view=diff&rev=567269&r1=567268&r2=567269
==============================================================================
--- maven/archiva/branches/MRM-462/archiva-reporting/archiva-artifact-reports/src/main/java/org/apache/maven/archiva/reporting/artifact/LocationArtifactsConsumer.java (original)
+++ maven/archiva/branches/MRM-462/archiva-reporting/archiva-artifact-reports/src/main/java/org/apache/maven/archiva/reporting/artifact/LocationArtifactsConsumer.java Sat Aug 18 06:37:43 2007
@@ -23,7 +23,7 @@
 import org.apache.maven.archiva.configuration.ArchivaConfiguration;
 import org.apache.maven.archiva.configuration.ConfigurationNames;
 import org.apache.maven.archiva.configuration.FileTypes;
-import org.apache.maven.archiva.configuration.RepositoryConfiguration;
+import org.apache.maven.archiva.configuration.ManagedRepositoryConfiguration;
 import org.apache.maven.archiva.consumers.AbstractMonitoredConsumer;
 import org.apache.maven.archiva.consumers.ArchivaArtifactConsumer;
 import org.apache.maven.archiva.consumers.ConsumerException;
@@ -48,10 +48,8 @@
 import java.util.ArrayList;
 import java.util.Enumeration;
 import java.util.HashMap;
-import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
-import java.util.Map.Entry;
 import java.util.jar.JarEntry;
 import java.util.jar.JarFile;
 
@@ -62,9 +60,8 @@
  *
  * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
  * @version $Id$
- * 
  * @plexus.component role="org.apache.maven.archiva.consumers.ArchivaArtifactConsumer"
- *                   role-hint="validate-artifacts-location"
+ * role-hint="validate-artifacts-location"
  */
 public class LocationArtifactsConsumer
     extends AbstractMonitoredConsumer
@@ -84,7 +81,7 @@
      * @plexus.requirement
      */
     private ArchivaConfiguration configuration;
-    
+
     /**
      * @plexus.requirement
      */
@@ -146,11 +143,6 @@
         throws ConsumerException
     {
         ArchivaRepository repository = findRepository( artifact );
-        if ( !repository.isManaged() )
-        {
-            getLogger().warn( "Artifact Location Validation Cannot operate against a non-managed Repository." );
-            return;
-        }
 
         File artifactFile = new File( repository.getUrl().toString(), toPath( artifact ) );
         ArchivaProjectModel fsModel = readFilesystemModel( artifactFile );
@@ -167,23 +159,23 @@
         {
             if ( !StringUtils.equals( model.getGroupId(), artifact.getGroupId() ) )
             {
-                addProblem( artifact, "The groupId of the " + location
-                    + " project model doesn't match with the artifact, expected <" + artifact.getGroupId()
-                    + ">, but was actually <" + model.getGroupId() + ">" );
+                addProblem( artifact, "The groupId of the " + location +
+                    " project model doesn't match with the artifact, expected <" + artifact.getGroupId() +
+                    ">, but was actually <" + model.getGroupId() + ">" );
             }
-            
+
             if ( !StringUtils.equals( model.getArtifactId(), artifact.getArtifactId() ) )
             {
-                addProblem( artifact, "The artifactId of the " + location
-                    + " project model doesn't match with the artifact, expected <" + artifact.getArtifactId()
-                    + ">, but was actually <" + model.getArtifactId() + ">" );
+                addProblem( artifact, "The artifactId of the " + location +
+                    " project model doesn't match with the artifact, expected <" + artifact.getArtifactId() +
+                    ">, but was actually <" + model.getArtifactId() + ">" );
             }
-            
+
             if ( !StringUtils.equals( model.getVersion(), artifact.getVersion() ) )
             {
-                addProblem( artifact, "The version of the " + location
-                    + " project model doesn't match with the artifact, expected <" + artifact.getVersion()
-                    + ">, but was actually <" + model.getVersion() + ">" );
+                addProblem( artifact, "The version of the " + location +
+                    " project model doesn't match with the artifact, expected <" + artifact.getVersion() +
+                    ">, but was actually <" + model.getVersion() + ">" );
             }
         }
     }
@@ -196,18 +188,18 @@
             JarFile jar = new JarFile( artifactFile );
 
             // Get the entry and its input stream.
-            JarEntry expectedEntry = jar.getJarEntry( "META-INF/maven/" + artifact.getGroupId() + "/"
-                + artifact.getArtifactId() + "/pom.xml" );
+            JarEntry expectedEntry = jar.getJarEntry(
+                "META-INF/maven/" + artifact.getGroupId() + "/" + artifact.getArtifactId() + "/pom.xml" );
 
             if ( expectedEntry != null )
             {
                 // TODO: read and resolve model here.
                 return null;
             }
-            
+
             /* Expected Entry not found, look for alternate that might
-             * indicate that the artifact is, indeed located in the wrong place.
-             */
+            * indicate that the artifact is, indeed located in the wrong place.
+            */
 
             List actualPomXmls = findJarEntryPattern( jar, "META-INF/maven/**/pom.xml" );
             if ( actualPomXmls.isEmpty() )
@@ -215,7 +207,7 @@
                 // No check needed.
 
             }
-            
+
             // TODO: test for invalid actual pom.xml
             // TODO: test
         }
@@ -276,7 +268,7 @@
         File pomFile = createPomFileReference( artifactFile );
 
         // TODO: read and resolve model here.
-        
+
         return null;
     }
 
@@ -316,7 +308,7 @@
 
     public void afterConfigurationChange( Registry registry, String propertyName, Object propertyValue )
     {
-        if ( ConfigurationNames.isRepositories( propertyName ) )
+        if ( ConfigurationNames.isManagedRepositories( propertyName ) )
         {
             initRepositoryMap();
         }
@@ -345,14 +337,12 @@
         {
             this.repositoryMap.clear();
 
-            Iterator it = configuration.getConfiguration().createRepositoryMap().entrySet().iterator();
-            while ( it.hasNext() )
+            Map<String, ManagedRepositoryConfiguration> map =
+                configuration.getConfiguration().getManagedRepositoriesAsMap();
+            for ( Map.Entry<String, ManagedRepositoryConfiguration> entry : map.entrySet() )
             {
-                Map.Entry entry = (Entry) it.next();
-                String key = (String) entry.getKey();
-                RepositoryConfiguration repoConfig = (RepositoryConfiguration) entry.getValue();
-                ArchivaRepository repository = ArchivaConfigurationAdaptor.toArchivaRepository( repoConfig );
-                this.repositoryMap.put( key, repository );
+                ArchivaRepository repository = ArchivaConfigurationAdaptor.toArchivaRepository( entry.getValue() );
+                this.repositoryMap.put( entry.getKey(), repository );
             }
         }
     }

Modified: maven/archiva/branches/MRM-462/archiva-reporting/archiva-artifact-reports/src/test/java/org/apache/maven/archiva/reporting/artifact/DuplicateArtifactReportTest.java
URL: http://svn.apache.org/viewvc/maven/archiva/branches/MRM-462/archiva-reporting/archiva-artifact-reports/src/test/java/org/apache/maven/archiva/reporting/artifact/DuplicateArtifactReportTest.java?view=diff&rev=567269&r1=567268&r2=567269
==============================================================================
--- maven/archiva/branches/MRM-462/archiva-reporting/archiva-artifact-reports/src/test/java/org/apache/maven/archiva/reporting/artifact/DuplicateArtifactReportTest.java (original)
+++ maven/archiva/branches/MRM-462/archiva-reporting/archiva-artifact-reports/src/test/java/org/apache/maven/archiva/reporting/artifact/DuplicateArtifactReportTest.java Sat Aug 18 06:37:43 2007
@@ -20,9 +20,8 @@
  */
 
 import org.apache.commons.io.FileUtils;
-import org.apache.maven.archiva.common.utils.PathUtil;
 import org.apache.maven.archiva.configuration.ArchivaConfiguration;
-import org.apache.maven.archiva.configuration.RepositoryConfiguration;
+import org.apache.maven.archiva.configuration.ManagedRepositoryConfiguration;
 import org.apache.maven.archiva.consumers.ArchivaArtifactConsumer;
 import org.apache.maven.archiva.database.ArtifactDAO;
 import org.apache.maven.archiva.model.ArchivaArtifact;
@@ -35,7 +34,7 @@
 import java.util.List;
 
 /**
- * DuplicateArtifactReportTest 
+ * DuplicateArtifactReportTest
  *
  * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
  * @version $Id$
@@ -62,19 +61,19 @@
 
         ArchivaConfiguration config = (ArchivaConfiguration) lookup( ArchivaConfiguration.class.getName(), "default" );
 
-        RepositoryConfiguration repoConfig = new RepositoryConfiguration();
+        ManagedRepositoryConfiguration repoConfig = new ManagedRepositoryConfiguration();
         repoConfig.setId( TESTABLE_REPO );
         repoConfig.setLayout( "default" );
         File testRepoDir = new File( getBasedir(), "target/test-repository" );
         FileUtils.forceMkdir( testRepoDir );
-        repoConfig.setUrl( PathUtil.toUrl( testRepoDir ) );
-        config.getConfiguration().addRepository( repoConfig );
+        repoConfig.setLocation( testRepoDir.getAbsolutePath() );
+        config.getConfiguration().addManagedRepository( repoConfig );
     }
 
     public ArchivaArtifact createArtifact( String artifactId, String version )
     {
-        ArchivaArtifact artifact = artifactDao.createArtifact( "org.apache.maven.archiva.test", artifactId, version,
-                                                               "", "jar" );
+        ArchivaArtifact artifact =
+            artifactDao.createArtifact( "org.apache.maven.archiva.test", artifactId, version, "", "jar" );
         artifact.getModel().setLastModified( new Date() );
         artifact.getModel().setRepositoryId( TESTABLE_REPO );
         return artifact;
@@ -120,8 +119,8 @@
         List allArtifacts = artifactDao.queryArtifacts( null );
         assertEquals( "Total Artifact Count", 7, allArtifacts.size() );
 
-        DuplicateArtifactReport report = (DuplicateArtifactReport) lookup( DynamicReportSource.class.getName(),
-                                                                           "duplicate-artifacts" );
+        DuplicateArtifactReport report =
+            (DuplicateArtifactReport) lookup( DynamicReportSource.class.getName(), "duplicate-artifacts" );
 
         List results = report.getData();
 
@@ -137,10 +136,9 @@
         int hash1Count = 4;
         int hash2Count = 2;
         int hash3Count = 1;
-        
-        int totals = ( ( hash1Count * hash1Count ) - hash1Count ) +
-                     ( ( hash2Count * hash2Count ) - hash2Count ) +
-                     ( ( hash3Count * hash3Count ) - hash3Count );
+
+        int totals = ( ( hash1Count * hash1Count ) - hash1Count ) + ( ( hash2Count * hash2Count ) - hash2Count ) +
+            ( ( hash3Count * hash3Count ) - hash3Count );
         assertEquals( "Total report hits.", totals, results.size() );
     }
 
@@ -148,8 +146,8 @@
         throws Exception
     {
         List artifacts = dao.getArtifactDAO().queryArtifacts( null );
-        ArchivaArtifactConsumer consumer = (ArchivaArtifactConsumer) lookup( ArchivaArtifactConsumer.class.getName(),
-                                                                             "duplicate-artifacts" );
+        ArchivaArtifactConsumer consumer =
+            (ArchivaArtifactConsumer) lookup( ArchivaArtifactConsumer.class.getName(), "duplicate-artifacts" );
         consumer.beginScan();
         try
         {

Modified: maven/archiva/branches/MRM-462/archiva-scheduled/src/main/java/org/apache/maven/archiva/scheduled/ArchivaTaskScheduler.java
URL: http://svn.apache.org/viewvc/maven/archiva/branches/MRM-462/archiva-scheduled/src/main/java/org/apache/maven/archiva/scheduled/ArchivaTaskScheduler.java?view=diff&rev=567269&r1=567268&r2=567269
==============================================================================
--- maven/archiva/branches/MRM-462/archiva-scheduled/src/main/java/org/apache/maven/archiva/scheduled/ArchivaTaskScheduler.java (original)
+++ maven/archiva/branches/MRM-462/archiva-scheduled/src/main/java/org/apache/maven/archiva/scheduled/ArchivaTaskScheduler.java Sat Aug 18 06:37:43 2007
@@ -52,12 +52,7 @@
     public void queueRepositoryTask( RepositoryTask task )
         throws TaskQueueException;
 
-    public void scheduleAllRepositoryTasks()
-        throws TaskExecutionException;
-    
     public void scheduleDatabaseTasks()
         throws TaskExecutionException;
-    
-    public void scheduleRepositoryTask( String repositoryId )
-        throws TaskExecutionException;
+
 }

Modified: maven/archiva/branches/MRM-462/archiva-scheduled/src/main/java/org/apache/maven/archiva/scheduled/DefaultArchivaTaskScheduler.java
URL: http://svn.apache.org/viewvc/maven/archiva/branches/MRM-462/archiva-scheduled/src/main/java/org/apache/maven/archiva/scheduled/DefaultArchivaTaskScheduler.java?view=diff&rev=567269&r1=567268&r2=567269
==============================================================================
--- maven/archiva/branches/MRM-462/archiva-scheduled/src/main/java/org/apache/maven/archiva/scheduled/DefaultArchivaTaskScheduler.java (original)
+++ maven/archiva/branches/MRM-462/archiva-scheduled/src/main/java/org/apache/maven/archiva/scheduled/DefaultArchivaTaskScheduler.java Sat Aug 18 06:37:43 2007
@@ -22,7 +22,7 @@
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.maven.archiva.common.ArchivaException;
 import org.apache.maven.archiva.configuration.ArchivaConfiguration;
-import org.apache.maven.archiva.configuration.RepositoryConfiguration;
+import org.apache.maven.archiva.configuration.ManagedRepositoryConfiguration;
 import org.apache.maven.archiva.scheduled.tasks.ArchivaTask;
 import org.apache.maven.archiva.scheduled.tasks.DatabaseTask;
 import org.apache.maven.archiva.scheduled.tasks.RepositoryTask;
@@ -48,7 +48,7 @@
 import java.util.List;
 
 /**
- * Default implementation of a scheduling component for archiva..
+ * Default implementation of a scheduling component for archiva.
  *
  * @author <a href="mailto:brett@apache.org">Brett Porter</a>
  * @author <a href="mailto:jmcconnell@apache.org">Jesse McConnell</a>
@@ -97,13 +97,13 @@
     {
         try
         {
-            List repositories = archivaConfiguration.getConfiguration().getRepositories();
+            List repositories = archivaConfiguration.getConfiguration().getManagedRepositories();
 
             for ( Iterator i = repositories.iterator(); i.hasNext(); )
             {
-                RepositoryConfiguration repoConfig = (RepositoryConfiguration) i.next();
+                ManagedRepositoryConfiguration repoConfig = (ManagedRepositoryConfiguration) i.next();
 
-                if ( repoConfig.isManaged() && repoConfig.isIndexed() )
+                if ( repoConfig.isIndexed() )
                 {
                     scheduleRepositoryJobs( repoConfig );
                 }
@@ -117,7 +117,7 @@
         }
     }
 
-    private void scheduleRepositoryJobs( RepositoryConfiguration repoConfig )
+    private void scheduleRepositoryJobs( ManagedRepositoryConfiguration repoConfig )
         throws SchedulerException
     {
         if ( repoConfig.getRefreshCronExpression() == null )
@@ -132,15 +132,14 @@
         CronExpressionValidator cronValidator = new CronExpressionValidator();
         if ( !cronValidator.validate( cronString ) )
         {
-            getLogger().warn(
-                              "Cron expression [" + cronString + "] for repository [" + repoConfig.getId()
-                                  + "] is invalid.  Defaulting to hourly." );
+            getLogger().warn( "Cron expression [" + cronString + "] for repository [" + repoConfig.getId() +
+                "] is invalid.  Defaulting to hourly." );
             cronString = CRON_HOURLY;
         }
 
         // setup the unprocessed artifact job
-        JobDetail repositoryJob = new JobDetail( REPOSITORY_JOB + ":" + repoConfig.getId(), REPOSITORY_SCAN_GROUP,
-                                                 RepositoryTaskJob.class );
+        JobDetail repositoryJob =
+            new JobDetail( REPOSITORY_JOB + ":" + repoConfig.getId(), REPOSITORY_SCAN_GROUP, RepositoryTaskJob.class );
 
         JobDataMap dataMap = new JobDataMap();
         dataMap.put( RepositoryTaskJob.TASK_QUEUE, repositoryScanningQueue );
@@ -150,16 +149,16 @@
 
         try
         {
-            CronTrigger trigger = new CronTrigger( REPOSITORY_JOB_TRIGGER + ":" + repoConfig.getId(),
-                                                   REPOSITORY_SCAN_GROUP, cronString );
+            CronTrigger trigger =
+                new CronTrigger( REPOSITORY_JOB_TRIGGER + ":" + repoConfig.getId(), REPOSITORY_SCAN_GROUP, cronString );
 
             scheduler.scheduleJob( repositoryJob, trigger );
         }
         catch ( ParseException e )
         {
             getLogger().error(
-                               "ParseException in repository scanning cron expression, disabling repository scanning for '"
-                                   + repoConfig.getId() + "': " + e.getMessage() );
+                "ParseException in repository scanning cron expression, disabling repository scanning for '" +
+                    repoConfig.getId() + "': " + e.getMessage() );
         }
 
     }
@@ -180,8 +179,7 @@
         if ( !cronValidator.validate( cronString ) )
         {
             getLogger().warn(
-                              "Cron expression [" + cronString
-                                  + "] for database update is invalid.  Defaulting to hourly." );
+                "Cron expression [" + cronString + "] for database update is invalid.  Defaulting to hourly." );
             cronString = CRON_HOURLY;
         }
 
@@ -194,8 +192,7 @@
         catch ( ParseException e )
         {
             getLogger().error(
-                               "ParseException in database scanning cron expression, disabling database scanning: "
-                                   + e.getMessage() );
+                "ParseException in database scanning cron expression, disabling database scanning: " + e.getMessage() );
         }
 
     }
@@ -219,7 +216,7 @@
     }
 
     /**
-     * 
+     *
      */
     public void afterConfigurationChange( Registry registry, String propertyName, Object propertyValue )
     {
@@ -245,11 +242,11 @@
         // currently we have to reschedule all repo jobs because we don't know where the changed one came from
         if ( "refreshCronExpression".equals( propertyName ) )
         {
-            List repositories = archivaConfiguration.getConfiguration().getRepositories();
+            List repositories = archivaConfiguration.getConfiguration().getManagedRepositories();
 
             for ( Iterator i = repositories.iterator(); i.hasNext(); )
             {
-                RepositoryConfiguration repoConfig = (RepositoryConfiguration) i.next();
+                ManagedRepositoryConfiguration repoConfig = (ManagedRepositoryConfiguration) i.next();
 
                 if ( repoConfig.getRefreshCronExpression() != null )
                 {
@@ -268,27 +265,6 @@
         }
     }
 
-    public void scheduleAllRepositoryTasks()
-        throws TaskExecutionException
-    {
-        try
-        {
-            List repositories = archivaConfiguration.getConfiguration().getRepositories();
-
-            for ( Iterator i = repositories.iterator(); i.hasNext(); )
-            {
-                RepositoryConfiguration repoConfig = (RepositoryConfiguration) i.next();
-
-                scheduleRepositoryJobs( repoConfig );
-            }
-
-        }
-        catch ( SchedulerException e )
-        {
-            throw new TaskExecutionException( "Unable to schedule repository jobs: " + e.getMessage(), e );
-        }
-    }
-
     public void scheduleDatabaseTasks()
         throws TaskExecutionException
     {
@@ -300,22 +276,6 @@
         {
             throw new TaskExecutionException( "Unable to schedule repository jobs: " + e.getMessage(), e );
 
-        }
-    }
-
-    public void scheduleRepositoryTask( String repositoryId )
-        throws TaskExecutionException
-    {
-        try
-        {
-            RepositoryConfiguration repoConfig = archivaConfiguration.getConfiguration()
-                .findRepositoryById( repositoryId );
-
-            scheduleRepositoryJobs( repoConfig );
-        }
-        catch ( SchedulerException e )
-        {
-            throw new TaskExecutionException( "Unable to schedule repository jobs: " + e.getMessage(), e );
         }
     }
 

Modified: maven/archiva/branches/MRM-462/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/ConfigureProxyConnectorAction.java
URL: http://svn.apache.org/viewvc/maven/archiva/branches/MRM-462/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/ConfigureProxyConnectorAction.java?view=diff&rev=567269&r1=567268&r2=567269
==============================================================================
--- maven/archiva/branches/MRM-462/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/ConfigureProxyConnectorAction.java (original)
+++ maven/archiva/branches/MRM-462/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/ConfigureProxyConnectorAction.java Sat Aug 18 06:37:43 2007
@@ -20,19 +20,14 @@
  */
 
 import com.opensymphony.xwork.Preparable;
-import org.apache.commons.collections.Closure;
 import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.collections.functors.IfClosure;
 import org.apache.commons.collections.functors.NotPredicate;
 import org.apache.commons.lang.StringUtils;
 import org.apache.maven.archiva.configuration.ArchivaConfiguration;
 import org.apache.maven.archiva.configuration.Configuration;
 import org.apache.maven.archiva.configuration.IndeterminateConfigurationException;
-import org.apache.maven.archiva.configuration.NetworkProxyConfiguration;
 import org.apache.maven.archiva.configuration.ProxyConnectorConfiguration;
 import org.apache.maven.archiva.configuration.functors.ProxyConnectorSelectionPredicate;
-import org.apache.maven.archiva.configuration.functors.RemoteRepositoryPredicate;
-import org.apache.maven.archiva.configuration.functors.RepositoryIdListClosure;
 import org.apache.maven.archiva.policies.DownloadPolicy;
 import org.apache.maven.archiva.security.ArchivaRoleConstants;
 import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable;
@@ -106,7 +101,7 @@
     /**
      * The list of local repository ids.
      */
-    private List localRepoIdList = new ArrayList();
+    private List managedRepoIdList = new ArrayList();
 
     /**
      * The list of remote repository ids.
@@ -301,9 +296,9 @@
         return connector;
     }
 
-    public List getLocalRepoIdList()
+    public List getManagedRepoIdList()
     {
-        return localRepoIdList;
+        return managedRepoIdList;
     }
 
     public String getMode()
@@ -396,35 +391,13 @@
         Configuration config = archivaConfiguration.getConfiguration();
 
         // Gather Network Proxy Ids.
-
         this.proxyIdOptions = new ArrayList();
         this.proxyIdOptions.add( DIRECT_CONNECTION );
-
-        Closure addProxyIds = new Closure()
-        {
-            public void execute( Object input )
-            {
-                if ( input instanceof NetworkProxyConfiguration )
-                {
-                    NetworkProxyConfiguration netproxy = (NetworkProxyConfiguration) input;
-                    proxyIdOptions.add( netproxy.getId() );
-                }
-            }
-        };
-
-        CollectionUtils.forAllDo( config.getNetworkProxies(), addProxyIds );
+        this.proxyIdOptions.addAll( config.getNetworkProxiesAsMap().keySet() );
 
         // Gather Local & Remote Repo Ids.
-
-        RepositoryIdListClosure remoteRepoIdList = new RepositoryIdListClosure( new ArrayList() );
-        RepositoryIdListClosure localRepoIdList = new RepositoryIdListClosure( new ArrayList() );
-        Closure repoIfClosure =
-            IfClosure.getInstance( RemoteRepositoryPredicate.getInstance(), remoteRepoIdList, localRepoIdList );
-
-        CollectionUtils.forAllDo( config.getRepositories(), repoIfClosure );
-
-        this.remoteRepoIdList = remoteRepoIdList.getList();
-        this.localRepoIdList = localRepoIdList.getList();
+        this.remoteRepoIdList = new ArrayList( config.getRemoteRepositoriesAsMap().keySet() );
+        this.managedRepoIdList = new ArrayList( config.getManagedRepositoriesAsMap().keySet() );
     }
 
     public String save()
@@ -472,9 +445,9 @@
         this.connector = connector;
     }
 
-    public void setLocalRepoIdList( List localRepoIdList )
+    public void setManagedRepoIdList( List managedRepoIdList )
     {
-        this.localRepoIdList = localRepoIdList;
+        this.managedRepoIdList = managedRepoIdList;
     }
 
     public void setMode( String mode )

Modified: maven/archiva/branches/MRM-462/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/ProxyConnectorsAction.java
URL: http://svn.apache.org/viewvc/maven/archiva/branches/MRM-462/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/ProxyConnectorsAction.java?view=diff&rev=567269&r1=567268&r2=567269
==============================================================================
--- maven/archiva/branches/MRM-462/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/ProxyConnectorsAction.java (original)
+++ maven/archiva/branches/MRM-462/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/connectors/proxy/ProxyConnectorsAction.java Sat Aug 18 06:37:43 2007
@@ -20,14 +20,12 @@
  */
 
 import com.opensymphony.xwork.Preparable;
-
 import org.apache.commons.collections.Closure;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.collections.Transformer;
 import org.apache.maven.archiva.configuration.ArchivaConfiguration;
 import org.apache.maven.archiva.configuration.Configuration;
 import org.apache.maven.archiva.configuration.ProxyConnectorConfiguration;
-import org.apache.maven.archiva.configuration.RepositoryConfiguration;
 import org.apache.maven.archiva.security.ArchivaRoleConstants;
 import org.apache.maven.archiva.web.action.admin.repositories.AdminRepositoryConfiguration;
 import org.codehaus.plexus.redback.rbac.Resource;
@@ -42,11 +40,10 @@
 import java.util.Map;
 
 /**
- * ProxyConnectorsAction 
+ * ProxyConnectorsAction
  *
  * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
  * @version $Id$
- * 
  * @plexus.component role="com.opensymphony.xwork.Action" role-hint="proxyConnectorsAction"
  */
 public class ProxyConnectorsAction
@@ -81,16 +78,14 @@
         {
             public void execute( Object input )
             {
-                if ( input instanceof RepositoryConfiguration )
-                {
-                    AdminRepositoryConfiguration arepo = (AdminRepositoryConfiguration) repoConfigToAdmin
-                        .transform( input );
-                    repoMap.put( arepo.getId(), arepo );
-                }
+                AdminRepositoryConfiguration arepo =
+                    (AdminRepositoryConfiguration) repoConfigToAdmin.transform( input );
+                repoMap.put( arepo.getId(), arepo );
             }
         };
 
-        CollectionUtils.forAllDo( config.getRepositories(), addToRepoMap );
+        CollectionUtils.forAllDo( config.getManagedRepositories(), addToRepoMap );
+        CollectionUtils.forAllDo( config.getRemoteRepositories(), addToRepoMap );
 
         proxyConnectorMap = new HashMap();
 
@@ -109,7 +104,7 @@
                         connectors = new ArrayList();
                         proxyConnectorMap.put( key, connectors );
                     }
-                    
+
                     connectors.add( proxyConfig );
                 }
             }

Modified: maven/archiva/branches/MRM-462/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/AdminRepositoryConfiguration.java
URL: http://svn.apache.org/viewvc/maven/archiva/branches/MRM-462/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/AdminRepositoryConfiguration.java?view=diff&rev=567269&r1=567268&r2=567269
==============================================================================
--- maven/archiva/branches/MRM-462/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/AdminRepositoryConfiguration.java (original)
+++ maven/archiva/branches/MRM-462/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/AdminRepositoryConfiguration.java Sat Aug 18 06:37:43 2007
@@ -20,37 +20,35 @@
  */
 
 import org.apache.commons.lang.StringUtils;
-import org.apache.maven.archiva.common.utils.PathUtil;
-import org.apache.maven.archiva.configuration.RepositoryConfiguration;
+import org.apache.maven.archiva.configuration.ManagedRepositoryConfiguration;
 import org.apache.maven.archiva.model.RepositoryContentStatistics;
-import org.apache.maven.archiva.model.RepositoryURL;
 
 import java.io.File;
 
 /**
- * AdminRepositoryConfiguration 
+ * AdminRepositoryConfiguration
  *
  * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
  * @version $Id$
+ * @todo! split from remote repo (which shouldn't need stats, use native class)
  */
 public class AdminRepositoryConfiguration
-    extends RepositoryConfiguration
+    extends ManagedRepositoryConfiguration
 {
     private RepositoryContentStatistics stats;
 
     public AdminRepositoryConfiguration()
     {
-        super();
     }
 
     /**
      * Copy Constructor.
      */
-    public AdminRepositoryConfiguration( RepositoryConfiguration repoconfig )
+    public AdminRepositoryConfiguration( ManagedRepositoryConfiguration repoconfig )
     {
         this.setId( repoconfig.getId() );
         this.setName( repoconfig.getName() );
-        this.setUrl( repoconfig.getUrl() );
+        this.setLocation( repoconfig.getLocation() );
         this.setLayout( repoconfig.getLayout() );
         this.setIndexed( repoconfig.isIndexed() );
         this.setReleases( repoconfig.isReleases() );
@@ -62,44 +60,19 @@
         this.setDaysOlder( repoconfig.getDaysOlder() );
         this.setRetentionCount( repoconfig.getRetentionCount() );
         this.setDeleteReleasedSnapshots( repoconfig.isDeleteReleasedSnapshots() );
-
-        if ( repoconfig.isManaged() )
-        {
-            RepositoryURL url = new RepositoryURL( repoconfig.getUrl() );
-            this.setDirectory( url.getPath() );
-        }
     }
 
+    // TODO: needed? used by repositories.jsp only
     public boolean isDirectoryExists()
     {
-        if ( StringUtils.isBlank( getDirectory() ) )
+        String directory = getLocation();
+        if ( StringUtils.isBlank( directory ) )
         {
             return false;
         }
 
-        File dir = new File( getDirectory() );
-        return ( dir.exists() && dir.isDirectory() );
-    }
-
-    public String getDirectory()
-    {
-        if ( this.isManaged() )
-        {
-            if ( StringUtils.isBlank( this.getUrl() ) )
-            {
-                return null;
-            }
-
-            RepositoryURL url = new RepositoryURL( this.getUrl() );
-            return url.getPath();
-        }
-
-        return null;
-    }
-
-    public void setDirectory( String directory )
-    {
-        this.setUrl( PathUtil.toUrl( directory ) );
+        File dir = new File( directory );
+        return dir.exists() && dir.isDirectory();
     }
 
     public RepositoryContentStatistics getStats()

Modified: maven/archiva/branches/MRM-462/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/ConfigureRepositoryAction.java
URL: http://svn.apache.org/viewvc/maven/archiva/branches/MRM-462/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/ConfigureRepositoryAction.java?view=diff&rev=567269&r1=567268&r2=567269
==============================================================================
--- maven/archiva/branches/MRM-462/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/ConfigureRepositoryAction.java (original)
+++ maven/archiva/branches/MRM-462/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/ConfigureRepositoryAction.java Sat Aug 18 06:37:43 2007
@@ -23,12 +23,11 @@
 import com.opensymphony.xwork.Preparable;
 import org.apache.commons.io.FileUtils;
 import org.apache.commons.lang.StringUtils;
-import org.apache.maven.archiva.common.utils.PathUtil;
 import org.apache.maven.archiva.configuration.ArchivaConfiguration;
 import org.apache.maven.archiva.configuration.Configuration;
 import org.apache.maven.archiva.configuration.IndeterminateConfigurationException;
 import org.apache.maven.archiva.configuration.InvalidConfigurationException;
-import org.apache.maven.archiva.configuration.RepositoryConfiguration;
+import org.apache.maven.archiva.configuration.ManagedRepositoryConfiguration;
 import org.apache.maven.archiva.security.ArchivaRoleConstants;
 import org.codehaus.plexus.redback.authorization.AuthorizationException;
 import org.codehaus.plexus.redback.authorization.AuthorizationResult;
@@ -218,7 +217,9 @@
             this.repository.setIndexed( false );
         }
 
-        RepositoryConfiguration repoconfig = archivaConfiguration.getConfiguration().findRepositoryById( id );
+        // TODO! others?
+        ManagedRepositoryConfiguration repoconfig =
+            archivaConfiguration.getConfiguration().findManagedRepositoryById( id );
         if ( repoconfig != null )
         {
             this.repository = new AdminRepositoryConfiguration( repoconfig );
@@ -292,16 +293,18 @@
             containsError = true;
         }
         //if edit mode, do not validate existence of repoId
-        else if ( config.findRepositoryById( repoId ) != null && !StringUtils.equalsIgnoreCase( mode, "edit" ) )
+        else if ( ( config.getManagedRepositoriesAsMap().containsKey( repoId ) ||
+            config.getRemoteRepositoriesAsMap().containsKey( repoId ) ) &&
+            !StringUtils.equalsIgnoreCase( mode, "edit" ) )
         {
             addFieldError( "repository.id",
                            "Unable to add new repository with id [" + repoId + "], that id already exists." );
             containsError = true;
         }
 
-        if ( StringUtils.isBlank( repository.getUrl() ) )
+        // TODO! split
+        if ( StringUtils.isBlank( repository.getLocation() ) )
         {
-
             addFieldError( "repository.url", "You must enter a directory or url." );
             containsError = true;
         }
@@ -340,6 +343,7 @@
         getLogger().info( ".addRepository(" + repository + ")" );
 
         // Fix the URL entry (could possibly be a filesystem path)
+/* TODO! reinstate
         String rawUrlEntry = repository.getUrl();
         if ( !rawUrlEntry.startsWith( "http://" ) )
         {
@@ -357,8 +361,10 @@
                 // TODO: error handling when this fails, or is not a directory!
             }
         }
+*/
 
-        archivaConfiguration.getConfiguration().addRepository( repository );
+        // TODO! others
+        archivaConfiguration.getConfiguration().addManagedRepository( repository );
 
         // TODO: double check these are configured on start up
         roleManager.createTemplatedRole( "archiva-repository-manager", repository.getId() );
@@ -390,25 +396,24 @@
     private void removeContents( AdminRepositoryConfiguration existingRepository )
         throws IOException
     {
-        if ( existingRepository.isManaged() )
-        {
-            getLogger().info( "Removing " + existingRepository.getDirectory() );
-            FileUtils.deleteDirectory( new File( existingRepository.getDirectory() ) );
-        }
+        getLogger().info( "Removing " + existingRepository.getLocation() );
+        FileUtils.deleteDirectory( new File( existingRepository.getLocation() ) );
     }
 
     private void removeRepository( String repoId )
     {
         getLogger().info( ".removeRepository()" );
 
-        RepositoryConfiguration toremove = archivaConfiguration.getConfiguration().findRepositoryById( repoId );
+        // TODO! what about others?
+        ManagedRepositoryConfiguration toremove =
+            archivaConfiguration.getConfiguration().findManagedRepositoryById( repoId );
         if ( toremove != null )
         {
-            archivaConfiguration.getConfiguration().removeRepository( toremove );
+            archivaConfiguration.getConfiguration().removeManagedRepository( toremove );
         }
     }
 
-    private void removeRepositoryRoles( RepositoryConfiguration existingRepository )
+    private void removeRepositoryRoles( ManagedRepositoryConfiguration existingRepository )
         throws RoleManagerException
     {
         roleManager.removeTemplatedRole( "archiva-repository-manager", existingRepository.getId() );

Modified: maven/archiva/branches/MRM-462/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/RepositoriesAction.java
URL: http://svn.apache.org/viewvc/maven/archiva/branches/MRM-462/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/RepositoriesAction.java?view=diff&rev=567269&r1=567268&r2=567269
==============================================================================
--- maven/archiva/branches/MRM-462/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/RepositoriesAction.java (original)
+++ maven/archiva/branches/MRM-462/archiva-web/archiva-webapp/src/main/java/org/apache/maven/archiva/web/action/admin/repositories/RepositoriesAction.java Sat Aug 18 06:37:43 2007
@@ -21,14 +21,10 @@
 
 import com.opensymphony.webwork.interceptor.ServletRequestAware;
 import com.opensymphony.xwork.Preparable;
-
-import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.collections.Transformer;
 import org.apache.commons.collections.list.TransformedList;
 import org.apache.maven.archiva.configuration.ArchivaConfiguration;
 import org.apache.maven.archiva.configuration.Configuration;
-import org.apache.maven.archiva.configuration.functors.LocalRepositoryPredicate;
-import org.apache.maven.archiva.configuration.functors.RemoteRepositoryPredicate;
 import org.apache.maven.archiva.configuration.functors.RepositoryConfigurationComparator;
 import org.apache.maven.archiva.security.ArchivaRoleConstants;
 import org.apache.maven.archiva.web.util.ContextUtils;
@@ -38,18 +34,15 @@
 import org.codehaus.plexus.redback.xwork.interceptor.SecureActionException;
 import org.codehaus.plexus.xwork.action.PlexusActionSupport;
 
-import java.util.ArrayList;
+import javax.servlet.http.HttpServletRequest;
 import java.util.Collections;
 import java.util.List;
 
-import javax.servlet.http.HttpServletRequest;
-
 /**
- * Shows the Repositories Tab for the administrator. 
+ * Shows the Repositories Tab for the administrator.
  *
  * @author <a href="mailto:joakime@apache.org">Joakim Erdfelt</a>
  * @version $Id$
- * 
  * @plexus.component role="com.opensymphony.xwork.Action" role-hint="repositoriesAction"
  */
 public class RepositoriesAction
@@ -93,11 +86,8 @@
     {
         Configuration config = archivaConfiguration.getConfiguration();
 
-        remoteRepositories = TransformedList.decorate( new ArrayList(), repoConfigToAdmin );
-        managedRepositories = TransformedList.decorate( new ArrayList(), repoConfigToAdmin );
-
-        remoteRepositories.addAll( CollectionUtils.select( config.getRepositories(), RemoteRepositoryPredicate.getInstance() ) );
-        managedRepositories.addAll( CollectionUtils.select( config.getRepositories(), LocalRepositoryPredicate.getInstance() ) );
+        remoteRepositories = TransformedList.decorate( config.getRemoteRepositories(), repoConfigToAdmin );
+        managedRepositories = TransformedList.decorate( config.getManagedRepositories(), repoConfigToAdmin );
 
         Collections.sort( managedRepositories, new RepositoryConfigurationComparator() );
         Collections.sort( remoteRepositories, new RepositoryConfigurationComparator() );