You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by jo...@apache.org on 2007/06/18 02:54:18 UTC

svn commit: r548151 - in /maven/archiva/trunk: archiva-base/archiva-configuration/ archiva-base/archiva-configuration/src/main/java/org/apache/maven/archiva/configuration/ archiva-base/archiva-configuration/src/test/resources/org/apache/maven/archiva/c...

Author: joakime
Date: Sun Jun 17 17:54:16 2007
New Revision: 548151

URL: http://svn.apache.org/viewvc?view=rev&rev=548151
Log:
[MRM-388] Unable to configure archiva if configuration file did not already exist
Correcting DatabaseUpgrade process that was causing the problem.


Modified:
    maven/archiva/trunk/archiva-base/archiva-configuration/pom.xml
    maven/archiva/trunk/archiva-base/archiva-configuration/src/main/java/org/apache/maven/archiva/configuration/ConfigurationUpgrade.java
    maven/archiva/trunk/archiva-base/archiva-configuration/src/main/java/org/apache/maven/archiva/configuration/DefaultArchivaConfiguration.java
    maven/archiva/trunk/archiva-base/archiva-configuration/src/test/resources/org/apache/maven/archiva/configuration/ArchivaConfigurationTest.xml
    maven/archiva/trunk/archiva-base/archiva-consumers/archiva-lucene-consumers/src/main/java/org/apache/maven/archiva/consumers/lucene/IndexArtifactConsumer.java
    maven/archiva/trunk/archiva-base/archiva-repository-layer/src/test/resources/org/apache/maven/archiva/repository/scanner/RepositoryContentConsumerUtilTest.xml
    maven/archiva/trunk/archiva-database/src/test/resources/org/apache/maven/archiva/database/updater/DatabaseConsumersTest.xml
    maven/archiva/trunk/archiva-database/src/test/resources/org/apache/maven/archiva/database/updater/DatabaseUpdaterTest.xml
    maven/archiva/trunk/archiva-scheduled/src/test/resources/org/apache/maven/archiva/scheduled/executors/ArchivaDatabaseUpdateTaskExecutorTest.xml
    maven/archiva/trunk/archiva-scheduled/src/test/resources/org/apache/maven/archiva/scheduled/executors/ArchivaRepositoryScanningTaskExecutorTest.xml

Modified: maven/archiva/trunk/archiva-base/archiva-configuration/pom.xml
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-base/archiva-configuration/pom.xml?view=diff&rev=548151&r1=548150&r2=548151
==============================================================================
--- maven/archiva/trunk/archiva-base/archiva-configuration/pom.xml (original)
+++ maven/archiva/trunk/archiva-base/archiva-configuration/pom.xml Sun Jun 17 17:54:16 2007
@@ -65,15 +65,14 @@
       <artifactId>plexus-registry-api</artifactId>
     </dependency>
     <dependency>
+      <groupId>org.codehaus.plexus.registry</groupId>
+      <artifactId>plexus-registry-commons</artifactId>
+    </dependency>
+    <dependency>
       <groupId>org.codehaus.plexus</groupId>
       <artifactId>plexus-container-default</artifactId>
     </dependency>
     <!-- Test Deps -->
-    <dependency>
-      <groupId>org.codehaus.plexus.registry</groupId>
-      <artifactId>plexus-registry-commons</artifactId>
-      <scope>test</scope>
-    </dependency>
     <dependency>
       <groupId>easymock</groupId>
       <artifactId>easymock</artifactId>

Modified: maven/archiva/trunk/archiva-base/archiva-configuration/src/main/java/org/apache/maven/archiva/configuration/ConfigurationUpgrade.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-base/archiva-configuration/src/main/java/org/apache/maven/archiva/configuration/ConfigurationUpgrade.java?view=diff&rev=548151&r1=548150&r2=548151
==============================================================================
--- maven/archiva/trunk/archiva-base/archiva-configuration/src/main/java/org/apache/maven/archiva/configuration/ConfigurationUpgrade.java (original)
+++ maven/archiva/trunk/archiva-base/archiva-configuration/src/main/java/org/apache/maven/archiva/configuration/ConfigurationUpgrade.java Sun Jun 17 17:54:16 2007
@@ -25,8 +25,7 @@
 import org.apache.commons.lang.math.NumberUtils;
 import org.apache.maven.archiva.xml.XMLException;
 import org.apache.maven.archiva.xml.XMLReader;
-import org.codehaus.plexus.logging.Logger;
-import org.codehaus.plexus.logging.console.ConsoleLogger;
+import org.codehaus.plexus.logging.AbstractLogEnabled;
 
 import java.io.File;
 import java.io.FileOutputStream;
@@ -41,28 +40,30 @@
  *
  * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
  * @version $Id$
+ * 
+ * @plexus.component role="org.apache.maven.archiva.configuration.ConfigurationUpgrade"
  */
 public class ConfigurationUpgrade
+    extends AbstractLogEnabled
 {
     public static final int CURRENT_CONFIG_VERSION = 1;
 
-    private Logger logger;
+    private boolean performed = false;
 
     /**
      * Perform the upgrade (if needed).
      * 
      * NOTE: This component should *NOT USE* the configuration api to do it's upgrade
-     * 
-     * @return true if the upgrade modified the archiva.xml file. false otherwise.
      */
-    public boolean perform()
+    public void performUpgrade()
     {
+        performed = true;
         File userConfigFile = new File( System.getProperty( "user.home" ), ".m2/archiva.xml" );
 
         if ( !userConfigFile.exists() )
         {
             writeDefaultConfigFile( userConfigFile );
-            return true;
+            return;
         }
 
         boolean configOk = false;
@@ -85,7 +86,7 @@
         catch ( XMLException e )
         {
             getLogger().warn( "Unable to read user configuration XML: " + e.getMessage(), e );
-            return false;
+            return;
         }
 
         if ( !configOk )
@@ -94,7 +95,7 @@
             {
                 FileUtils.copyFile( userConfigFile, new File( userConfigFile.getAbsolutePath() + ".bak" ) );
                 writeDefaultConfigFile( userConfigFile );
-                return true;
+                return;
             }
             catch ( IOException e )
             {
@@ -102,7 +103,7 @@
             }
         }
 
-        return false;
+        return;
     }
 
     private void upgradeVersion( File userConfigFile, XMLReader xml )
@@ -148,18 +149,8 @@
         }
     }
 
-    public Logger getLogger()
-    {
-        if ( logger == null )
-        {
-            logger = new ConsoleLogger( ConsoleLogger.LEVEL_INFO, this.getClass().getName() );
-        }
-        return logger;
-    }
-
-    public void setLogger( Logger logger )
+    public boolean hasPerformed()
     {
-        this.logger = logger;
+        return this.performed;
     }
-
 }

Modified: maven/archiva/trunk/archiva-base/archiva-configuration/src/main/java/org/apache/maven/archiva/configuration/DefaultArchivaConfiguration.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-base/archiva-configuration/src/main/java/org/apache/maven/archiva/configuration/DefaultArchivaConfiguration.java?view=diff&rev=548151&r1=548150&r2=548151
==============================================================================
--- maven/archiva/trunk/archiva-base/archiva-configuration/src/main/java/org/apache/maven/archiva/configuration/DefaultArchivaConfiguration.java (original)
+++ maven/archiva/trunk/archiva-base/archiva-configuration/src/main/java/org/apache/maven/archiva/configuration/DefaultArchivaConfiguration.java Sun Jun 17 17:54:16 2007
@@ -27,6 +27,7 @@
 import org.codehaus.plexus.registry.Registry;
 import org.codehaus.plexus.registry.RegistryException;
 import org.codehaus.plexus.registry.RegistryListener;
+import org.codehaus.plexus.registry.commons.CommonsConfigurationRegistry;
 import org.codehaus.plexus.util.StringUtils;
 
 import java.util.Iterator;
@@ -48,6 +49,11 @@
     private Registry registry;
 
     /**
+     * @plexus.requirement
+     */
+    private ConfigurationUpgrade upgrader;
+
+    /**
      * The configuration that has been converted.
      */
     private Configuration configuration;
@@ -65,6 +71,24 @@
 
     private Configuration load()
     {
+        if ( !upgrader.hasPerformed() )
+        {
+            upgrader.performUpgrade();
+            
+            // HACK: This would be so much easier with a registry.reload() method.
+            if ( registry instanceof CommonsConfigurationRegistry )
+            {
+                try
+                {
+                    ( (CommonsConfigurationRegistry) registry ).initialize();
+                }
+                catch ( InitializationException e )
+                {
+                    getLogger().error( "Unable to reinitialize the registry: " + e.getMessage(), e );
+                }
+            }
+        }
+
         // TODO: should this be the same as section? make sure unnamed sections still work (eg, sys properties)
         Configuration config = new ConfigurationRegistryReader().read( registry.getSubset( KEY ) );
 
@@ -110,13 +134,6 @@
         throws InitializationException
     {
         registry.addChangeListener( this );
-
-        ConfigurationUpgrade upgrade = new ConfigurationUpgrade();
-        upgrade.setLogger( getLogger() );
-        if ( upgrade.perform() )
-        {
-            this.configuration = load();
-        }
     }
 
     public void beforeConfigurationChange( Registry registry, String propertyName, Object propertyValue )

Modified: maven/archiva/trunk/archiva-base/archiva-configuration/src/test/resources/org/apache/maven/archiva/configuration/ArchivaConfigurationTest.xml
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-base/archiva-configuration/src/test/resources/org/apache/maven/archiva/configuration/ArchivaConfigurationTest.xml?view=diff&rev=548151&r1=548150&r2=548151
==============================================================================
--- maven/archiva/trunk/archiva-base/archiva-configuration/src/test/resources/org/apache/maven/archiva/configuration/ArchivaConfigurationTest.xml (original)
+++ maven/archiva/trunk/archiva-base/archiva-configuration/src/test/resources/org/apache/maven/archiva/configuration/ArchivaConfigurationTest.xml Sun Jun 17 17:54:16 2007
@@ -29,8 +29,13 @@
           <role>org.codehaus.plexus.registry.Registry</role>
           <role-hint>empty</role-hint>
         </requirement>
+        <requirement>
+          <role>org.apache.maven.archiva.configuration.ConfigurationUpgrade</role>
+          <field-name>upgrader</field-name>
+        </requirement>
       </requirements>
     </component>
+    
     <component>
       <role>org.codehaus.plexus.registry.Registry</role>
       <role-hint>empty</role-hint>
@@ -48,6 +53,10 @@
           <role>org.codehaus.plexus.registry.Registry</role>
           <role-hint>configured</role-hint>
         </requirement>
+        <requirement>
+          <role>org.apache.maven.archiva.configuration.ConfigurationUpgrade</role>
+          <field-name>upgrader</field-name>
+        </requirement>
       </requirements>
     </component>
     <component>
@@ -72,6 +81,10 @@
           <role>org.codehaus.plexus.registry.Registry</role>
           <role-hint>save</role-hint>
         </requirement>
+        <requirement>
+          <role>org.apache.maven.archiva.configuration.ConfigurationUpgrade</role>
+          <field-name>upgrader</field-name>
+        </requirement>
       </requirements>
     </component>
     <component>
@@ -95,6 +108,10 @@
           <role>org.codehaus.plexus.registry.Registry</role>
           <role-hint>save-user</role-hint>
         </requirement>
+        <requirement>
+          <role>org.apache.maven.archiva.configuration.ConfigurationUpgrade</role>
+          <field-name>upgrader</field-name>
+        </requirement>
       </requirements>
     </component>
     <component>
@@ -120,6 +137,10 @@
           <role>org.codehaus.plexus.registry.Registry</role>
           <role-hint>read-saved</role-hint>
         </requirement>
+        <requirement>
+          <role>org.apache.maven.archiva.configuration.ConfigurationUpgrade</role>
+          <field-name>upgrader</field-name>
+        </requirement>
       </requirements>
     </component>
     <component>
@@ -143,6 +164,10 @@
           <role>org.codehaus.plexus.registry.Registry</role>
           <role-hint>read-remove-proxied-repo</role-hint>
         </requirement>
+        <requirement>
+          <role>org.apache.maven.archiva.configuration.ConfigurationUpgrade</role>
+          <field-name>upgrader</field-name>
+        </requirement>
       </requirements>
     </component>
     <component>
@@ -164,6 +189,10 @@
         <requirement>
           <role>org.codehaus.plexus.registry.Registry</role>
           <role-hint>read-back-remove-proxied-repo</role-hint>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.archiva.configuration.ConfigurationUpgrade</role>
+          <field-name>upgrader</field-name>
         </requirement>
       </requirements>
     </component>

Modified: maven/archiva/trunk/archiva-base/archiva-consumers/archiva-lucene-consumers/src/main/java/org/apache/maven/archiva/consumers/lucene/IndexArtifactConsumer.java
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-base/archiva-consumers/archiva-lucene-consumers/src/main/java/org/apache/maven/archiva/consumers/lucene/IndexArtifactConsumer.java?view=diff&rev=548151&r1=548150&r2=548151
==============================================================================
--- maven/archiva/trunk/archiva-base/archiva-consumers/archiva-lucene-consumers/src/main/java/org/apache/maven/archiva/consumers/lucene/IndexArtifactConsumer.java (original)
+++ maven/archiva/trunk/archiva-base/archiva-consumers/archiva-lucene-consumers/src/main/java/org/apache/maven/archiva/consumers/lucene/IndexArtifactConsumer.java Sun Jun 17 17:54:16 2007
@@ -59,7 +59,7 @@
     implements DatabaseUnprocessedArtifactConsumer, RegistryListener, Initializable
 {
     private static final String INDEX_ERROR = "indexing_error";
-    
+
     /**
      * @plexus.configuration default-value="index-artifact"
      */
@@ -69,7 +69,7 @@
      * @plexus.configuration default-value="Index the artifact checksums for Find functionality."
      */
     private String description;
-    
+
     /**
      * @plexus.requirement
      */
@@ -79,12 +79,12 @@
      * @plexus.requirement role="org.apache.maven.archiva.repository.layout.BidirectionalRepositoryLayout"
      */
     private Map bidirectionalLayoutMap;
-    
+
     /**
      * @plexus.requirement role-hint="lucene"
      */
     private RepositoryContentIndexFactory indexFactory;
-    
+
     private Map repositoryMap = new HashMap();
 
     public void beginScan()
@@ -108,11 +108,12 @@
         HashcodesRecord record = new HashcodesRecord();
         record.setRepositoryId( artifact.getModel().getRepositoryId() );
         record.setArtifact( artifact );
-        
+
         IndexedRepositoryDetails pnl = getIndexedRepositoryDetails( artifact );
+
         String artifactPath = pnl.layout.toPath( artifact );
         record.setFilename( artifactPath );
-        
+
         try
         {
             pnl.index.modifyRecord( record );
@@ -195,7 +196,7 @@
 
                 pnl.path = repository.getUrl().getPath();
                 pnl.layout = (BidirectionalRepositoryLayout) this.bidirectionalLayoutMap.get( repoconfig.getLayout() );
-                
+
                 pnl.index = indexFactory.createHashcodeIndex( repository );
 
                 this.repositoryMap.put( repoconfig.getId(), pnl );
@@ -208,7 +209,7 @@
         public String path;
 
         public BidirectionalRepositoryLayout layout;
-        
+
         public RepositoryContentIndex index;
     }
 }

Modified: maven/archiva/trunk/archiva-base/archiva-repository-layer/src/test/resources/org/apache/maven/archiva/repository/scanner/RepositoryContentConsumerUtilTest.xml
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-base/archiva-repository-layer/src/test/resources/org/apache/maven/archiva/repository/scanner/RepositoryContentConsumerUtilTest.xml?view=diff&rev=548151&r1=548150&r2=548151
==============================================================================
--- maven/archiva/trunk/archiva-base/archiva-repository-layer/src/test/resources/org/apache/maven/archiva/repository/scanner/RepositoryContentConsumerUtilTest.xml (original)
+++ maven/archiva/trunk/archiva-base/archiva-repository-layer/src/test/resources/org/apache/maven/archiva/repository/scanner/RepositoryContentConsumerUtilTest.xml Sun Jun 17 17:54:16 2007
@@ -28,6 +28,10 @@
           <role>org.codehaus.plexus.registry.Registry</role>
           <role-hint>configured</role-hint>
         </requirement>
+        <requirement>
+          <role>org.apache.maven.archiva.configuration.ConfigurationUpgrade</role>
+          <field-name>upgrader</field-name>
+        </requirement>
       </requirements>
     </component>
     <component>

Modified: maven/archiva/trunk/archiva-database/src/test/resources/org/apache/maven/archiva/database/updater/DatabaseConsumersTest.xml
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-database/src/test/resources/org/apache/maven/archiva/database/updater/DatabaseConsumersTest.xml?view=diff&rev=548151&r1=548150&r2=548151
==============================================================================
--- maven/archiva/trunk/archiva-database/src/test/resources/org/apache/maven/archiva/database/updater/DatabaseConsumersTest.xml (original)
+++ maven/archiva/trunk/archiva-database/src/test/resources/org/apache/maven/archiva/database/updater/DatabaseConsumersTest.xml Sun Jun 17 17:54:16 2007
@@ -10,6 +10,10 @@
           <role>org.codehaus.plexus.registry.Registry</role>
           <role-hint>configured</role-hint>
         </requirement>
+        <requirement>
+          <role>org.apache.maven.archiva.configuration.ConfigurationUpgrade</role>
+          <field-name>upgrader</field-name>
+        </requirement>
       </requirements>
     </component>
     <component>

Modified: maven/archiva/trunk/archiva-database/src/test/resources/org/apache/maven/archiva/database/updater/DatabaseUpdaterTest.xml
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-database/src/test/resources/org/apache/maven/archiva/database/updater/DatabaseUpdaterTest.xml?view=diff&rev=548151&r1=548150&r2=548151
==============================================================================
--- maven/archiva/trunk/archiva-database/src/test/resources/org/apache/maven/archiva/database/updater/DatabaseUpdaterTest.xml (original)
+++ maven/archiva/trunk/archiva-database/src/test/resources/org/apache/maven/archiva/database/updater/DatabaseUpdaterTest.xml Sun Jun 17 17:54:16 2007
@@ -10,6 +10,10 @@
           <role>org.codehaus.plexus.registry.Registry</role>
           <role-hint>configured</role-hint>
         </requirement>
+        <requirement>
+          <role>org.apache.maven.archiva.configuration.ConfigurationUpgrade</role>
+          <field-name>upgrader</field-name>
+        </requirement>
       </requirements>
     </component>
     <component>

Modified: maven/archiva/trunk/archiva-scheduled/src/test/resources/org/apache/maven/archiva/scheduled/executors/ArchivaDatabaseUpdateTaskExecutorTest.xml
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-scheduled/src/test/resources/org/apache/maven/archiva/scheduled/executors/ArchivaDatabaseUpdateTaskExecutorTest.xml?view=diff&rev=548151&r1=548150&r2=548151
==============================================================================
--- maven/archiva/trunk/archiva-scheduled/src/test/resources/org/apache/maven/archiva/scheduled/executors/ArchivaDatabaseUpdateTaskExecutorTest.xml (original)
+++ maven/archiva/trunk/archiva-scheduled/src/test/resources/org/apache/maven/archiva/scheduled/executors/ArchivaDatabaseUpdateTaskExecutorTest.xml Sun Jun 17 17:54:16 2007
@@ -42,6 +42,10 @@
           <role>org.codehaus.plexus.registry.Registry</role>
           <role-hint>configured</role-hint>
         </requirement>
+        <requirement>
+          <role>org.apache.maven.archiva.configuration.ConfigurationUpgrade</role>
+          <field-name>upgrader</field-name>
+        </requirement>
       </requirements>
     </component>
     

Modified: maven/archiva/trunk/archiva-scheduled/src/test/resources/org/apache/maven/archiva/scheduled/executors/ArchivaRepositoryScanningTaskExecutorTest.xml
URL: http://svn.apache.org/viewvc/maven/archiva/trunk/archiva-scheduled/src/test/resources/org/apache/maven/archiva/scheduled/executors/ArchivaRepositoryScanningTaskExecutorTest.xml?view=diff&rev=548151&r1=548150&r2=548151
==============================================================================
--- maven/archiva/trunk/archiva-scheduled/src/test/resources/org/apache/maven/archiva/scheduled/executors/ArchivaRepositoryScanningTaskExecutorTest.xml (original)
+++ maven/archiva/trunk/archiva-scheduled/src/test/resources/org/apache/maven/archiva/scheduled/executors/ArchivaRepositoryScanningTaskExecutorTest.xml Sun Jun 17 17:54:16 2007
@@ -51,6 +51,10 @@
           <role>org.codehaus.plexus.registry.Registry</role>
           <role-hint>configured</role-hint>
         </requirement>
+        <requirement>
+          <role>org.apache.maven.archiva.configuration.ConfigurationUpgrade</role>
+          <field-name>upgrader</field-name>
+        </requirement>
       </requirements>
     </component>