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>