Author: olamy
Date: Wed Sep 28 09:06:32 2011
New Revision: 1176791

URL: http://svn.apache.org/viewvc?rev=1176791&view=rev
Log:
[MRM-1393] Commons configuration bug causes build to fail on Windows 7
I have changed a unit which IMHO was wrong as didn't take care about managed 
repo coming from old configuration format: 
ArchivaConfigurationTest#testConfigurationUpgradeFrom09

Modified:
    
archiva/trunk/archiva-modules/archiva-base/archiva-configuration/src/main/java/org/apache/archiva/configuration/DefaultArchivaConfiguration.java
    
archiva/trunk/archiva-modules/archiva-base/archiva-configuration/src/main/mdo/configuration.mdo
    
archiva/trunk/archiva-modules/archiva-base/archiva-configuration/src/test/java/org/apache/archiva/configuration/ArchivaConfigurationTest.java
    archiva/trunk/archiva-modules/archiva-web/archiva-webapp/pom.xml
    archiva/trunk/pom.xml

Modified: 
archiva/trunk/archiva-modules/archiva-base/archiva-configuration/src/main/java/org/apache/archiva/configuration/DefaultArchivaConfiguration.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-configuration/src/main/java/org/apache/archiva/configuration/DefaultArchivaConfiguration.java?rev=1176791&r1=1176790&r2=1176791&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-base/archiva-configuration/src/main/java/org/apache/archiva/configuration/DefaultArchivaConfiguration.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-base/archiva-configuration/src/main/java/org/apache/archiva/configuration/DefaultArchivaConfiguration.java
 Wed Sep 28 09:06:32 2011
@@ -19,11 +19,6 @@ package org.apache.archiva.configuration
  * under the License.
  */
 
-import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.collections.MapUtils;
-import org.apache.commons.configuration.BaseConfiguration;
-import org.apache.commons.io.FileUtils;
-import org.apache.commons.lang.StringUtils;
 import 
org.apache.archiva.configuration.functors.ProxyConnectorConfigurationOrderComparator;
 import 
org.apache.archiva.configuration.io.registry.ConfigurationRegistryReader;
 import 
org.apache.archiva.configuration.io.registry.ConfigurationRegistryWriter;
@@ -33,6 +28,11 @@ import org.apache.archiva.policies.Check
 import org.apache.archiva.policies.Policy;
 import org.apache.archiva.policies.PostDownloadPolicy;
 import org.apache.archiva.policies.PreDownloadPolicy;
+import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.collections.MapUtils;
+import org.apache.commons.configuration.BaseConfiguration;
+import org.apache.commons.io.FileUtils;
+import org.apache.commons.lang.StringUtils;
 import org.codehaus.plexus.evaluator.DefaultExpressionEvaluator;
 import org.codehaus.plexus.evaluator.EvaluatorException;
 import org.codehaus.plexus.evaluator.ExpressionEvaluator;
@@ -197,16 +197,27 @@ public class DefaultArchivaConfiguration
                 V1RepositoryConfiguration r = i.next();
                 r.setScanned( r.isIndexed() );
 
-                if ( r.getUrl().startsWith( "file://" ) )
+                if ( StringUtils.startsWith( r.getUrl(), "file://" ) )
                 {
                     r.setLocation( r.getUrl().substring( 7 ) );
                     config.addManagedRepository( r );
                 }
-                else if ( r.getUrl().startsWith( "file:" ) )
+                else if ( StringUtils.startsWith( r.getUrl(), "file:" ) )
                 {
                     r.setLocation( r.getUrl().substring( 5 ) );
                     config.addManagedRepository( r );
                 }
+                else if ( StringUtils.isEmpty( r.getUrl() ) )
+                {
+                    // in case of empty url we can consider it as a managed one
+                    // check if location is null
+                    //file://${appserver.base}/repositories/${id}
+                    if ( StringUtils.isEmpty( r.getLocation() ) )
+                    {
+                        r.setLocation( 
"file://${appserver.base}/repositories/" + r.getId() );
+                    }
+                    config.addManagedRepository( r );
+                }
                 else
                 {
                     RemoteRepositoryConfiguration repo = new 
RemoteRepositoryConfiguration();

Modified: 
archiva/trunk/archiva-modules/archiva-base/archiva-configuration/src/main/mdo/configuration.mdo
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-configuration/src/main/mdo/configuration.mdo?rev=1176791&r1=1176790&r2=1176791&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-base/archiva-configuration/src/main/mdo/configuration.mdo
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-base/archiva-configuration/src/main/mdo/configuration.mdo
 Wed Sep 28 09:06:32 2011
@@ -528,6 +528,19 @@
           <defaultValue>300</defaultValue>
         </field>
       </fields>
+      <codeSegments>
+        <codeSegment>
+          <version>1.0.0+</version>
+            <code><![CDATA[
+            public String toString()
+            {
+                return "RemoteRepositoryConfiguration id:'" + getId() + 
"',name:'" + getName() +"'";
+            }
+
+
+       ]]></code>
+        </codeSegment>
+      </codeSegments>
     </class>
     <class>
       <name>ManagedRepositoryConfiguration</name>

Modified: 
archiva/trunk/archiva-modules/archiva-base/archiva-configuration/src/test/java/org/apache/archiva/configuration/ArchivaConfigurationTest.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-configuration/src/test/java/org/apache/archiva/configuration/ArchivaConfigurationTest.java?rev=1176791&r1=1176790&r2=1176791&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-base/archiva-configuration/src/test/java/org/apache/archiva/configuration/ArchivaConfigurationTest.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-base/archiva-configuration/src/test/java/org/apache/archiva/configuration/ArchivaConfigurationTest.java
 Wed Sep 28 09:06:32 2011
@@ -20,9 +20,9 @@ package org.apache.archiva.configuration
  */
 
 import junit.framework.TestCase;
+import org.apache.archiva.common.utils.FileUtil;
 import org.apache.commons.io.FileUtils;
 import org.apache.commons.lang.StringUtils;
-import org.apache.archiva.common.utils.FileUtil;
 import org.codehaus.plexus.registry.RegistryException;
 import org.codehaus.redback.components.springutils.ComponentContainer;
 import org.custommonkey.xmlunit.XMLAssert;
@@ -41,7 +41,7 @@ import java.util.Map;
  * Test the configuration store.
  */
 @RunWith( SpringJUnit4ClassRunner.class )
-@ContextConfiguration( locations = 
{"classpath*:/META-INF/spring-context.xml","classpath:/spring-context.xml"} )
+@ContextConfiguration( locations = { 
"classpath*:/META-INF/spring-context.xml", "classpath:/spring-context.xml" } )
 public class ArchivaConfigurationTest
     extends TestCase
 {
@@ -62,12 +62,12 @@ public class ArchivaConfigurationTest
         return "org/apache/maven/archiva/configuration/spring-context.xml";
     }
 
-    protected <T> T lookup(Class<T> clazz, String hint)
+    protected <T> T lookup( Class<T> clazz, String hint )
     {
         return componentContainer.getComponent( clazz, hint );
     }
 
-    protected <T> T lookup(Class<T> clazz)
+    protected <T> T lookup( Class<T> clazz )
     {
         return componentContainer.getComponent( clazz );
     }
@@ -132,14 +132,14 @@ public class ArchivaConfigurationTest
         existingTestDefaultArchivaConfigFile =
             StringUtils.replace( existingTestDefaultArchivaConfigFile, 
"${appserver.base}", FileUtil.getBasedir() );
 
-        File generatedTestDefaultArchivaConfigFile =
-            new File( FileUtil.getBasedir(), 
"target/test-classes/org/apache/archiva/configuration/default-archiva.xml" );
+        File generatedTestDefaultArchivaConfigFile = new File( 
FileUtil.getBasedir(),
+                                                               
"target/test-classes/org/apache/archiva/configuration/default-archiva.xml" );
 
         FileUtils.writeStringToFile( generatedTestDefaultArchivaConfigFile, 
existingTestDefaultArchivaConfigFile,
                                      null );
 
-        ArchivaConfiguration archivaConfiguration = (ArchivaConfiguration) 
lookup( ArchivaConfiguration.class,
-                                                                               
    "test-defaults-default-repo-location-exists" );
+        ArchivaConfiguration archivaConfiguration =
+            (ArchivaConfiguration) lookup( ArchivaConfiguration.class, 
"test-defaults-default-repo-location-exists" );
 
         Configuration configuration = archivaConfiguration.getConfiguration();
         assertConfiguration( configuration );
@@ -152,17 +152,26 @@ public class ArchivaConfigurationTest
         assertFalse( generatedTestDefaultArchivaConfigFile.exists() );
     }
 
+    private void assertConfiguration( Configuration configuration )
+        throws Exception
+    {
+        assertConfiguration( configuration, 2 );
+    }
+
     /**
      * Ensures that the provided configuration matches the details present in 
the archiva-default.xml file.
      */
-    private void assertConfiguration( Configuration configuration )
+    private void assertConfiguration( Configuration configuration, int 
managedExpected )
         throws Exception
     {
-        FileTypes filetypes = (FileTypes) lookup( FileTypes.class );
+        FileTypes filetypes = lookup( FileTypes.class );
 
-        assertEquals( "check repositories", 2, 
configuration.getManagedRepositories().size() );
-        assertEquals( "check repositories", 2, 
configuration.getRemoteRepositories().size() );
-        assertEquals( "check proxy connectors", 2, 
configuration.getProxyConnectors().size() );
+        assertEquals( "check managed repositories: " + 
configuration.getManagedRepositories(), managedExpected,
+                      configuration.getManagedRepositories().size() );
+        assertEquals( "check remote repositories: " + 
configuration.getRemoteRepositories(), 2,
+                      configuration.getRemoteRepositories().size() );
+        assertEquals( "check proxy connectors:" + 
configuration.getProxyConnectors(), 2,
+                      configuration.getProxyConnectors().size() );
 
         RepositoryScanningConfiguration repoScanning = 
configuration.getRepositoryScanning();
         assertNotNull( "check repository scanning", repoScanning );
@@ -277,8 +286,7 @@ public class ArchivaConfigurationTest
         assertFalse( "check value", 
configuration.getWebapp().getUi().isAppletFindEnabled() );
 
         // read it back
-        archivaConfiguration =
-            (DefaultArchivaConfiguration) lookup( ArchivaConfiguration.class, 
"test-read-saved" );
+        archivaConfiguration = (DefaultArchivaConfiguration) lookup( 
ArchivaConfiguration.class, "test-read-saved" );
 
         archivaConfiguration.reload();
         configuration = archivaConfiguration.getConfiguration();
@@ -413,7 +421,6 @@ public class ArchivaConfigurationTest
         assertTrue( "Check file exists", baseFile.exists() );
         assertFalse( "Check file not created", userFile.exists() );
 
-
         // check it
         configuration = archivaConfiguration.getConfiguration();
         assertFalse( "check value", 
configuration.getWebapp().getUi().isAppletFindEnabled() );
@@ -582,16 +589,15 @@ public class ArchivaConfigurationTest
     public void testConfigurationUpgradeFrom09()
         throws Exception
     {
-        ArchivaConfiguration archivaConfiguration =
-            (ArchivaConfiguration) lookup( ArchivaConfiguration.class, 
"test-upgrade-09" );
+        ArchivaConfiguration archivaConfiguration = lookup( 
ArchivaConfiguration.class, "test-upgrade-09" );
 
         // we just use the defaults when upgrading from 0.9 at this point.
         Configuration configuration = archivaConfiguration.getConfiguration();
-        assertConfiguration( configuration );
+        // test-upgrade-09 contains a managed with id: local so it's 3 managed
+        assertConfiguration( configuration, 3 );
         assertEquals( "check network proxies", 0, 
configuration.getNetworkProxies().size() );
 
-        ManagedRepositoryConfiguration repository =
-            (ManagedRepositoryConfiguration) 
configuration.getManagedRepositories().get( 0 );
+        ManagedRepositoryConfiguration repository = 
configuration.getManagedRepositories().get( 0 );
 
         assertEquals( "check managed repositories", 
"${appserver.base}/data/repositories/internal",
                       repository.getLocation() );
@@ -614,8 +620,7 @@ public class ArchivaConfigurationTest
         FileUtils.copyFile( getTestFile( "src/test/conf/autodetect-v1.xml" ), 
userFile );
 
         // Load the original (unconverted) archiva.xml
-        ArchivaConfiguration archivaConfiguration =
-            (ArchivaConfiguration) lookup( ArchivaConfiguration.class, 
"test-autodetect-v1" );
+        ArchivaConfiguration archivaConfiguration = lookup( 
ArchivaConfiguration.class, "test-autodetect-v1" );
 
         archivaConfiguration.reload();
 
@@ -623,8 +628,7 @@ public class ArchivaConfigurationTest
         assertConfiguration( configuration );
         assertEquals( "check network proxies", 1, 
configuration.getNetworkProxies().size() );
 
-        ManagedRepositoryConfiguration repository =
-            (ManagedRepositoryConfiguration) 
configuration.getManagedRepositories().get( 0 );
+        ManagedRepositoryConfiguration repository = 
configuration.getManagedRepositories().get( 0 );
 
         assertEquals( "check managed repositories", 
"${appserver.base}/repositories/internal",
                       repository.getLocation() );
@@ -645,8 +649,7 @@ public class ArchivaConfigurationTest
         //release( archivaConfiguration );
 
         // Reload.
-        archivaConfiguration =
-            (ArchivaConfiguration) lookup( ArchivaConfiguration.class, 
"test-autodetect-v1" );
+        archivaConfiguration = (ArchivaConfiguration) lookup( 
ArchivaConfiguration.class, "test-autodetect-v1" );
         configuration = archivaConfiguration.getConfiguration();
 
         // Test that only 1 set of repositories exist.
@@ -714,8 +717,7 @@ public class ArchivaConfigurationTest
         userFile.getParentFile().mkdirs();
         FileUtils.writeStringToFile( userFile, "<configuration/>", null );
 
-        final ArchivaConfiguration archivaConfiguration =
-            lookup( ArchivaConfiguration.class, "test-cron-expressions" );
+        final ArchivaConfiguration archivaConfiguration = lookup( 
ArchivaConfiguration.class, "test-cron-expressions" );
 
         archivaConfiguration.reload();
 
@@ -726,7 +728,6 @@ public class ArchivaConfigurationTest
 
         assertEquals( "check cron expression", "0 0,30 * * * ?", 
repository.getRefreshCronExpression().trim() );
 
-
         // add a test listener to confirm it doesn't see the escaped format. 
We don't need to test the number of calls,
         // etc. as it's done in other tests
         archivaConfiguration.addListener( new ConfigurationListener()

Modified: archiva/trunk/archiva-modules/archiva-web/archiva-webapp/pom.xml
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-web/archiva-webapp/pom.xml?rev=1176791&r1=1176790&r2=1176791&view=diff
==============================================================================
--- archiva/trunk/archiva-modules/archiva-web/archiva-webapp/pom.xml (original)
+++ archiva/trunk/archiva-modules/archiva-web/archiva-webapp/pom.xml Wed Sep 28 
09:06:32 2011
@@ -176,6 +176,16 @@
       <artifactId>commons-compress</artifactId>
     </dependency>
     <dependency>
+      <groupId>commons-configuration</groupId>
+      <artifactId>commons-configuration</artifactId>
+      <exclusions>
+        <exclusion>
+          <groupId>commons-logging</groupId>
+          <artifactId>commons-logging</artifactId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-bundle-jaxrs</artifactId>
       <exclusions>

Modified: archiva/trunk/pom.xml
URL: 
http://svn.apache.org/viewvc/archiva/trunk/pom.xml?rev=1176791&r1=1176790&r2=1176791&view=diff
==============================================================================
--- archiva/trunk/pom.xml (original)
+++ archiva/trunk/pom.xml Wed Sep 28 09:06:32 2011
@@ -488,7 +488,7 @@
       <dependency>
         <groupId>commons-configuration</groupId>
         <artifactId>commons-configuration</artifactId>
-        <version>1.6</version>
+        <version>1.7</version>
         <exclusions>
           <exclusion>
             <groupId>commons-beanutils</groupId>


Reply via email to