You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by ol...@apache.org on 2011/10/04 23:14:28 UTC

svn commit: r1178954 [1/2] - in /archiva/trunk/archiva-modules/archiva-base/archiva-configuration/src: main/java/org/apache/archiva/configuration/ test/conf/ test/java/org/apache/archiva/configuration/ test/resources/

Author: olamy
Date: Tue Oct  4 21:14:27 2011
New Revision: 1178954

URL: http://svn.apache.org/viewvc?rev=1178954&view=rev
Log:
[MRM-1332] remove database scanning configuration and handle upgrade.
ensure some consumers are here and remove db consumers.

Added:
    archiva/trunk/archiva-modules/archiva-base/archiva-configuration/src/test/conf/archiva-1.3.xml   (with props)
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/test/java/org/apache/archiva/configuration/ArchivaConfigurationTest.java
    archiva/trunk/archiva-modules/archiva-base/archiva-configuration/src/test/resources/spring-context.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=1178954&r1=1178953&r2=1178954&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 Tue Oct  4 21:14:27 2011
@@ -52,6 +52,7 @@ import javax.inject.Named;
 import java.io.File;
 import java.io.IOException;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.HashMap;
@@ -136,12 +137,12 @@ public class DefaultArchivaConfiguration
     /**
      * Configuration Listeners we've registered.
      */
-    private Set<ConfigurationListener> listeners = new HashSet<ConfigurationListener>();
+    private Set<ConfigurationListener> listeners = new HashSet<ConfigurationListener>( );
 
     /**
      * Registry Listeners we've registered.
      */
-    private Set<RegistryListener> registryListeners = new HashSet<RegistryListener>();
+    private Set<RegistryListener> registryListeners = new HashSet<RegistryListener>( );
 
     /**
      * Boolean to help determine if the configuration exists as a result of pulling in
@@ -151,16 +152,16 @@ public class DefaultArchivaConfiguration
 
     private static final String KEY = "org.apache.archiva";
 
-    public Configuration getConfiguration()
+    public Configuration getConfiguration( )
     {
-        return loadConfiguration();
+        return loadConfiguration( );
     }
 
-    private synchronized Configuration loadConfiguration()
+    private synchronized Configuration loadConfiguration( )
     {
         if ( configuration == null )
         {
-            configuration = load();
+            configuration = load( );
             configuration = unescapeExpressions( configuration );
             if ( isConfigurationDefaulted )
             {
@@ -172,113 +173,113 @@ public class DefaultArchivaConfiguration
     }
 
     @SuppressWarnings( "unchecked" )
-    private Configuration load()
+    private Configuration load( )
     {
         // TODO: should this be the same as section? make sure unnamed sections still work (eg, sys properties)
         Registry subset = registry.getSubset( KEY );
         if ( subset.getString( "version" ) == null )
         {
             // a little autodetection of v1, even if version is omitted (this was previously allowed)
-            if ( subset.getSubset( "repositoryScanning" ).isEmpty() )
+            if ( subset.getSubset( "repositoryScanning" ).isEmpty( ) )
             {
                 // only for empty, or v < 1
-                subset = readDefaultConfiguration();
+                subset = readDefaultConfiguration( );
             }
         }
 
-        Configuration config = new ConfigurationRegistryReader().read( subset );
+        Configuration config = new ConfigurationRegistryReader( ).read( subset );
 
-        config.getRepositoryGroups();
-        config.getRepositoryGroupsAsMap();
-        if ( !config.getRepositories().isEmpty() )
+        config.getRepositoryGroups( );
+        config.getRepositoryGroupsAsMap( );
+        if ( !config.getRepositories( ).isEmpty( ) )
         {
-            for ( Iterator<V1RepositoryConfiguration> i = config.getRepositories().iterator(); i.hasNext(); )
+            for ( Iterator<V1RepositoryConfiguration> i = config.getRepositories( ).iterator( ); i.hasNext( ); )
             {
-                V1RepositoryConfiguration r = i.next();
-                r.setScanned( r.isIndexed() );
+                V1RepositoryConfiguration r = i.next( );
+                r.setScanned( r.isIndexed( ) );
 
-                if ( StringUtils.startsWith( r.getUrl(), "file://" ) )
+                if ( StringUtils.startsWith( r.getUrl( ), "file://" ) )
                 {
-                    r.setLocation( r.getUrl().substring( 7 ) );
+                    r.setLocation( r.getUrl( ).substring( 7 ) );
                     config.addManagedRepository( r );
                 }
-                else if ( StringUtils.startsWith( r.getUrl(), "file:" ) )
+                else if ( StringUtils.startsWith( r.getUrl( ), "file:" ) )
                 {
-                    r.setLocation( r.getUrl().substring( 5 ) );
+                    r.setLocation( r.getUrl( ).substring( 5 ) );
                     config.addManagedRepository( r );
                 }
-                else if ( StringUtils.isEmpty( r.getUrl() ) )
+                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() ) )
+                    if ( StringUtils.isEmpty( r.getLocation( ) ) )
                     {
-                        r.setLocation( "file://${appserver.base}/repositories/" + r.getId() );
+                        r.setLocation( "file://${appserver.base}/repositories/" + r.getId( ) );
                     }
                     config.addManagedRepository( r );
                 }
                 else
                 {
-                    RemoteRepositoryConfiguration repo = new RemoteRepositoryConfiguration();
-                    repo.setId( r.getId() );
-                    repo.setLayout( r.getLayout() );
-                    repo.setName( r.getName() );
-                    repo.setUrl( r.getUrl() );
+                    RemoteRepositoryConfiguration repo = new RemoteRepositoryConfiguration( );
+                    repo.setId( r.getId( ) );
+                    repo.setLayout( r.getLayout( ) );
+                    repo.setName( r.getName( ) );
+                    repo.setUrl( r.getUrl( ) );
                     config.addRemoteRepository( repo );
                 }
             }
 
             // Prevent duplicate repositories from showing up.
-            config.getRepositories().clear();
+            config.getRepositories( ).clear( );
 
             registry.removeSubset( KEY + ".repositories" );
         }
 
-        if ( !CollectionUtils.isEmpty( config.getRemoteRepositories() ) )
+        if ( !CollectionUtils.isEmpty( config.getRemoteRepositories( ) ) )
         {
-            List<RemoteRepositoryConfiguration> remoteRepos = config.getRemoteRepositories();
+            List<RemoteRepositoryConfiguration> remoteRepos = config.getRemoteRepositories( );
             for ( RemoteRepositoryConfiguration repo : remoteRepos )
             {
                 // [MRM-582] Remote Repositories with empty <username> and <password> fields shouldn't be created in configuration.
-                if ( StringUtils.isBlank( repo.getUsername() ) )
+                if ( StringUtils.isBlank( repo.getUsername( ) ) )
                 {
                     repo.setUsername( null );
                 }
 
-                if ( StringUtils.isBlank( repo.getPassword() ) )
+                if ( StringUtils.isBlank( repo.getPassword( ) ) )
                 {
                     repo.setPassword( null );
                 }
             }
         }
 
-        if ( !config.getProxyConnectors().isEmpty() )
+        if ( !config.getProxyConnectors( ).isEmpty( ) )
         {
             // Fix Proxy Connector Settings.
 
-            List<ProxyConnectorConfiguration> proxyConnectorList = new ArrayList<ProxyConnectorConfiguration>();
+            List<ProxyConnectorConfiguration> proxyConnectorList = new ArrayList<ProxyConnectorConfiguration>( );
             // Create a copy of the list to read from (to prevent concurrent modification exceptions)
-            proxyConnectorList.addAll( config.getProxyConnectors() );
+            proxyConnectorList.addAll( config.getProxyConnectors( ) );
             // Remove the old connector list.
-            config.getProxyConnectors().clear();
+            config.getProxyConnectors( ).clear( );
 
             for ( ProxyConnectorConfiguration connector : proxyConnectorList )
             {
                 // Fix policies
                 boolean connectorValid = true;
 
-                Map<String, String> policies = new HashMap<String, String>();
+                Map<String, String> policies = new HashMap<String, String>( );
                 // Make copy of policies
-                policies.putAll( connector.getPolicies() );
+                policies.putAll( connector.getPolicies( ) );
                 // Clear out policies
-                connector.getPolicies().clear();
+                connector.getPolicies( ).clear( );
 
                 // Work thru policies. cleaning them up.
-                for ( Entry<String, String> entry : policies.entrySet() )
+                for ( Entry<String, String> entry : policies.entrySet( ) )
                 {
-                    String policyId = entry.getKey();
-                    String setting = entry.getValue();
+                    String policyId = entry.getKey( );
+                    String setting = entry.getValue( );
 
                     // Upgrade old policy settings.
                     if ( "releases".equals( policyId ) || "snapshots".equals( policyId ) )
@@ -316,9 +317,9 @@ public class DefaultArchivaConfiguration
                     {
                         Policy policy = findPolicy( policyId );
                         // Does option exist?
-                        if ( !policy.getOptions().contains( setting ) )
+                        if ( !policy.getOptions( ).contains( setting ) )
                         {
-                            setting = policy.getDefaultOption();
+                            setting = policy.getDefaultOption( );
                         }
                         connector.addPolicy( policyId, setting );
                     }
@@ -337,12 +338,12 @@ public class DefaultArchivaConfiguration
 
             // Normalize the order fields in the proxy connectors.
             Map<String, java.util.List<ProxyConnectorConfiguration>> proxyConnectorMap =
-                config.getProxyConnectorAsMap();
+                config.getProxyConnectorAsMap( );
 
-            for ( List<ProxyConnectorConfiguration> connectors : proxyConnectorMap.values() )
+            for ( List<ProxyConnectorConfiguration> connectors : proxyConnectorMap.values( ) )
             {
                 // Sort connectors by order field.
-                Collections.sort( connectors, ProxyConnectorConfigurationOrderComparator.getInstance() );
+                Collections.sort( connectors, ProxyConnectorConfigurationOrderComparator.getInstance( ) );
 
                 // Normalize the order field values.
                 int order = 1;
@@ -404,7 +405,7 @@ public class DefaultArchivaConfiguration
         return ( prePolicies.containsKey( policyId ) || postPolicies.containsKey( policyId ) );
     }
 
-    private Registry readDefaultConfiguration()
+    private Registry readDefaultConfiguration( )
     {
         // if it contains some old configuration, remove it (Archiva 0.9)
         registry.removeSubset( KEY );
@@ -433,23 +434,23 @@ public class DefaultArchivaConfiguration
             section = baseSection;
             if ( section == null )
             {
-                section = createDefaultConfigurationFile();
+                section = createDefaultConfigurationFile( );
             }
         }
         else if ( baseSection != null )
         {
-            Collection<String> keys = baseSection.getKeys();
+            Collection<String> keys = baseSection.getKeys( );
             boolean foundList = false;
-            for ( Iterator<String> i = keys.iterator(); i.hasNext() && !foundList; )
+            for ( Iterator<String> i = keys.iterator( ); i.hasNext( ) && !foundList; )
             {
-                String key = i.next();
+                String key = i.next( );
 
                 // a little aggressive with the repositoryScanning and databaseScanning - should be no need to split
                 // that configuration
-                if ( key.startsWith( "repositories" ) || key.startsWith( "proxyConnectors" )
-                    || key.startsWith( "networkProxies" ) || key.startsWith( "repositoryScanning" )
-                    || key.startsWith( "databaseScanning" ) || key.startsWith( "remoteRepositories" )
-                    || key.startsWith( "managedRepositories" ) || key.startsWith( "repositoryGroups" ) )
+                if ( key.startsWith( "repositories" ) || key.startsWith( "proxyConnectors" ) || key.startsWith(
+                    "networkProxies" ) || key.startsWith( "repositoryScanning" ) || key.startsWith(
+                    "remoteRepositories" ) || key.startsWith( "managedRepositories" ) || key.startsWith(
+                    "repositoryGroups" ) )
                 {
                     foundList = true;
                 }
@@ -468,45 +469,45 @@ public class DefaultArchivaConfiguration
         escapeCronExpressions( configuration );
 
         // [MRM-661] Due to a bug in the modello registry writer, we need to take these out by hand. They'll be put back by the writer.
-        if ( configuration.getManagedRepositories().isEmpty() && section != null )
+        if ( configuration.getManagedRepositories( ).isEmpty( ) && section != null )
         {
             section.removeSubset( "managedRepositories" );
         }
-        if ( configuration.getRemoteRepositories().isEmpty() && section != null )
+        if ( configuration.getRemoteRepositories( ).isEmpty( ) && section != null )
         {
             section.removeSubset( "remoteRepositories" );
 
         }
-        if ( configuration.getProxyConnectors().isEmpty() && section != null )
+        if ( configuration.getProxyConnectors( ).isEmpty( ) && section != null )
         {
             section.removeSubset( "proxyConnectors" );
         }
-        if ( configuration.getNetworkProxies().isEmpty() && section != null )
+        if ( configuration.getNetworkProxies( ).isEmpty( ) && section != null )
         {
             section.removeSubset( "networkProxies" );
         }
-        if ( configuration.getLegacyArtifactPaths().isEmpty() && section != null )
+        if ( configuration.getLegacyArtifactPaths( ).isEmpty( ) && section != null )
         {
             section.removeSubset( "legacyArtifactPaths" );
         }
-        if ( configuration.getRepositoryGroups().isEmpty() && section != null )
+        if ( configuration.getRepositoryGroups( ).isEmpty( ) && section != null )
         {
             section.removeSubset( "repositoryGroups" );
         }
-        if ( configuration.getRepositoryScanning() != null )
+        if ( configuration.getRepositoryScanning( ) != null )
         {
-            if ( configuration.getRepositoryScanning().getKnownContentConsumers().isEmpty() && section != null )
+            if ( configuration.getRepositoryScanning( ).getKnownContentConsumers( ).isEmpty( ) && section != null )
             {
                 section.removeSubset( "repositoryScanning.knownContentConsumers" );
             }
-            if ( configuration.getRepositoryScanning().getInvalidContentConsumers().isEmpty() && section != null )
+            if ( configuration.getRepositoryScanning( ).getInvalidContentConsumers( ).isEmpty( ) && section != null )
             {
                 section.removeSubset( "repositoryScanning.invalidContentConsumers" );
             }
         }
 
-        new ConfigurationRegistryWriter().write( configuration, section );
-        section.save();
+        new ConfigurationRegistryWriter( ).write( configuration, section );
+        section.save( );
 
         this.configuration = unescapeExpressions( configuration );
 
@@ -515,15 +516,15 @@ public class DefaultArchivaConfiguration
 
     private void escapeCronExpressions( Configuration configuration )
     {
-        for ( ManagedRepositoryConfiguration c : (List<ManagedRepositoryConfiguration>) configuration.getManagedRepositories() )
+        for ( ManagedRepositoryConfiguration c : (List<ManagedRepositoryConfiguration>) configuration.getManagedRepositories( ) )
         {
-            c.setRefreshCronExpression( escapeCronExpression( c.getRefreshCronExpression() ) );
+            c.setRefreshCronExpression( escapeCronExpression( c.getRefreshCronExpression( ) ) );
         }
 
 
     }
 
-    private Registry createDefaultConfigurationFile()
+    private Registry createDefaultConfigurationFile( )
         throws RegistryException
     {
         // TODO: may not be needed under commons-configuration 1.4 - check
@@ -551,7 +552,7 @@ public class DefaultArchivaConfiguration
 
         ( (CommonsConfigurationRegistry) registry ).setProperties( contents );
 
-        registry.initialize();
+        registry.initialize( );
 
         for ( RegistryListener regListener : registryListeners )
         {
@@ -561,7 +562,7 @@ public class DefaultArchivaConfiguration
         triggerEvent( ConfigurationEvent.SAVED );
 
         Registry section = registry.getSection( KEY + ".user" );
-        return section == null ? new CommonsConfigurationRegistry( new BaseConfiguration() ) : section;
+        return section == null ? new CommonsConfigurationRegistry( new BaseConfiguration( ) ) : section;
     }
 
     /**
@@ -581,10 +582,10 @@ public class DefaultArchivaConfiguration
         try
         {
             // Check parent directory (if it is declared)
-            if ( file.getParentFile() != null )
+            if ( file.getParentFile( ) != null )
             {
                 // Check that directory exists
-                if ( ( file.getParentFile().exists() == false ) || ( file.getParentFile().isDirectory() == false ) )
+                if ( ( file.getParentFile( ).exists( ) == false ) || ( file.getParentFile( ).isDirectory( ) == false ) )
                 {
                     // Directory to file must exist for file to be created
                     return false;
@@ -596,7 +597,7 @@ public class DefaultArchivaConfiguration
         }
         catch ( IOException e )
         {
-            log.error( "Unable to create " + filetype + " file: " + e.getMessage(), e );
+            log.error( "Unable to create " + filetype + " file: " + e.getMessage( ), e );
             return false;
         }
     }
@@ -653,7 +654,7 @@ public class DefaultArchivaConfiguration
     }
 
     @PostConstruct
-    public void initialize()
+    public void initialize( )
     {
 
         this.postPolicies = componentContainer.buildMapWithRole( PostDownloadPolicy.class );
@@ -661,8 +662,8 @@ public class DefaultArchivaConfiguration
         // Resolve expressions in the userConfigFilename and altConfigFilename
         try
         {
-            ExpressionEvaluator expressionEvaluator = new DefaultExpressionEvaluator();
-            expressionEvaluator.addExpressionSource( new SystemPropertyExpressionSource() );
+            ExpressionEvaluator expressionEvaluator = new DefaultExpressionEvaluator( );
+            expressionEvaluator.addExpressionSource( new SystemPropertyExpressionSource( ) );
             String userConfigFileNameSysProps = System.getProperty( "archiva.user.configFileName" );
             if ( StringUtils.isNotBlank( userConfigFileNameSysProps ) )
             {
@@ -673,7 +674,16 @@ public class DefaultArchivaConfiguration
                 userConfigFilename = expressionEvaluator.expand( userConfigFilename );
             }
             altConfigFilename = expressionEvaluator.expand( altConfigFilename );
-            loadConfiguration();
+            loadConfiguration( );
+            handleUpgradeConfiguration( );
+        }
+        catch ( IndeterminateConfigurationException e )
+        {
+            throw new RuntimeException( "failed during upgrade from previous version" + e.getMessage( ), e );
+        }
+        catch ( RegistryException e )
+        {
+            throw new RuntimeException( "failed during upgrade from previous version" + e.getMessage( ), e );
         }
         catch ( EvaluatorException e )
         {
@@ -683,18 +693,60 @@ public class DefaultArchivaConfiguration
         registry.addChangeListener( this );
     }
 
-    public void reload()
+    /**
+     * upgrade from 1.3
+     */
+    private void handleUpgradeConfiguration( )
+        throws RegistryException, IndeterminateConfigurationException
+    {
+
+        // remove database consumers
+        List<String> dbConsumers = Arrays.asList( "update-db-artifact", "update-db-repository-metadata" );
+        List<String> knowContentConsumers = new ArrayList<String>( );
+        for ( String knowContentConsumer : configuration.getRepositoryScanning( ).getKnownContentConsumers( ) )
+        {
+            if ( !dbConsumers.contains( knowContentConsumer ) )
+            {
+                knowContentConsumers.add( knowContentConsumer );
+            }
+        }
+
+        configuration.getRepositoryScanning( ).setKnownContentConsumers( knowContentConsumers );
+        save( configuration );
+
+        // ensure create-archiva-metadata is here
+        if ( !configuration.getRepositoryScanning( ).getKnownContentConsumers( ).contains( "create-archiva-metadata" ) )
+        {
+            knowContentConsumers =
+                new ArrayList<String>( configuration.getRepositoryScanning( ).getKnownContentConsumers( ) );
+            knowContentConsumers.add( "create-archiva-metadata" );
+            configuration.getRepositoryScanning( ).setKnownContentConsumers( knowContentConsumers );
+            save( configuration );
+        }
+
+        // ensure duplicate-artifacts is here
+        if ( !configuration.getRepositoryScanning( ).getKnownContentConsumers( ).contains( "duplicate-artifacts" ) )
+        {
+            knowContentConsumers =
+                new ArrayList<String>( configuration.getRepositoryScanning( ).getKnownContentConsumers( ) );
+            knowContentConsumers.add( "duplicate-artifacts" );
+            configuration.getRepositoryScanning( ).setKnownContentConsumers( knowContentConsumers );
+            save( configuration );
+        }
+    }
+
+    public void reload( )
     {
         this.configuration = null;
         try
         {
-            this.registry.initialize();
+            this.registry.initialize( );
         }
         catch ( RegistryException e )
         {
-            throw new ConfigurationRuntimeException( e.getMessage(), e );
+            throw new ConfigurationRuntimeException( e.getMessage( ), e );
         }
-        this.initialize();
+        this.initialize( );
     }
 
     public void beforeConfigurationChange( Registry registry, String propertyName, Object propertyValue )
@@ -729,11 +781,11 @@ public class DefaultArchivaConfiguration
     private Configuration unescapeExpressions( Configuration config )
     {
         // TODO: for commons-configuration 1.3 only
-        for ( Iterator<ManagedRepositoryConfiguration> i = config.getManagedRepositories().iterator(); i.hasNext(); )
+        for ( Iterator<ManagedRepositoryConfiguration> i = config.getManagedRepositories( ).iterator( ); i.hasNext( ); )
         {
-            ManagedRepositoryConfiguration c = i.next();
-            c.setLocation( removeExpressions( c.getLocation() ) );
-            c.setRefreshCronExpression( unescapeCronExpression( c.getRefreshCronExpression() ) );
+            ManagedRepositoryConfiguration c = i.next( );
+            c.setLocation( removeExpressions( c.getLocation( ) ) );
+            c.setRefreshCronExpression( unescapeCronExpression( c.getRefreshCronExpression( ) ) );
         }
 
         return config;
@@ -743,37 +795,37 @@ public class DefaultArchivaConfiguration
     {
         // additional check for [MRM-789], ensure that the location of the default repositories 
         // are not installed in the server installation        
-        for ( ManagedRepositoryConfiguration repo : (List<ManagedRepositoryConfiguration>) config.getManagedRepositories() )
+        for ( ManagedRepositoryConfiguration repo : (List<ManagedRepositoryConfiguration>) config.getManagedRepositories( ) )
         {
-            String repoPath = repo.getLocation();
+            String repoPath = repo.getLocation( );
             File repoLocation = new File( repoPath );
 
-            if ( repoLocation.exists() && repoLocation.isDirectory() && !repoPath.endsWith(
-                "data/repositories/" + repo.getId() ) )
+            if ( repoLocation.exists( ) && repoLocation.isDirectory( ) && !repoPath.endsWith(
+                "data/repositories/" + repo.getId( ) ) )
             {
-                repo.setLocation( repoPath + "/data/repositories/" + repo.getId() );
+                repo.setLocation( repoPath + "/data/repositories/" + repo.getId( ) );
             }
         }
 
         return config;
     }
 
-    public String getUserConfigFilename()
+    public String getUserConfigFilename( )
     {
         return userConfigFilename;
     }
 
-    public String getAltConfigFilename()
+    public String getAltConfigFilename( )
     {
         return altConfigFilename;
     }
 
-    public boolean isDefaulted()
+    public boolean isDefaulted( )
     {
         return this.isConfigurationDefaulted;
     }
 
-    public Registry getRegistry()
+    public Registry getRegistry( )
     {
         return registry;
     }

Added: archiva/trunk/archiva-modules/archiva-base/archiva-configuration/src/test/conf/archiva-1.3.xml
URL: http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-configuration/src/test/conf/archiva-1.3.xml?rev=1178954&view=auto
==============================================================================
--- archiva/trunk/archiva-modules/archiva-base/archiva-configuration/src/test/conf/archiva-1.3.xml (added)
+++ archiva/trunk/archiva-modules/archiva-base/archiva-configuration/src/test/conf/archiva-1.3.xml Tue Oct  4 21:14:27 2011
@@ -0,0 +1,154 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configuration>
+<version>2</version>
+<repositoryScanning>
+<fileTypes>
+<fileType>
+<id>artifacts</id>
+<patterns>
+<pattern>**/*.pom</pattern>
+<pattern>**/*.jar</pattern>
+<pattern>**/*.ear</pattern>
+<pattern>**/*.war</pattern>
+<pattern>**/*.car</pattern>
+<pattern>**/*.sar</pattern>
+<pattern>**/*.mar</pattern>
+<pattern>**/*.rar</pattern>
+<pattern>**/*.dtd</pattern>
+<pattern>**/*.tld</pattern>
+<pattern>**/*.tar.gz</pattern>
+<pattern>**/*.tar.bz2</pattern>
+<pattern>**/*.zip</pattern>
+</patterns>
+</fileType>
+<fileType>
+<id>indexable-content</id>
+<patterns>
+<pattern>**/*.txt</pattern>
+<pattern>**/*.TXT</pattern>
+<pattern>**/*.block</pattern>
+<pattern>**/*.config</pattern>
+<pattern>**/*.pom</pattern>
+<pattern>**/*.xml</pattern>
+<pattern>**/*.xsd</pattern>
+<pattern>**/*.dtd</pattern>
+<pattern>**/*.tld</pattern>
+</patterns>
+</fileType>
+<fileType>
+<id>auto-remove</id>
+<patterns>
+<pattern>**/*.bak</pattern>
+<pattern>**/*~</pattern>
+<pattern>**/*-</pattern>
+</patterns>
+</fileType>
+<fileType>
+<id>ignored</id>
+<patterns>
+<pattern>**/.htaccess</pattern>
+<pattern>**/KEYS</pattern>
+<pattern>**/*.rb</pattern>
+<pattern>**/*.sh</pattern>
+<pattern>**/.svn/**</pattern>
+<pattern>**/.DAV/**</pattern>
+</patterns>
+</fileType>
+</fileTypes>
+<knownContentConsumers>
+<knownContentConsumer>update-db-artifact</knownContentConsumer>
+<knownContentConsumer>create-missing-checksums</knownContentConsumer>
+<knownContentConsumer>update-db-repository-metadata</knownContentConsumer>
+<knownContentConsumer>validate-checksum</knownContentConsumer>
+<knownContentConsumer>validate-signature</knownContentConsumer>
+<knownContentConsumer>index-content</knownContentConsumer>
+<knownContentConsumer>auto-remove</knownContentConsumer>
+<knownContentConsumer>auto-rename</knownContentConsumer>
+<knownContentConsumer>metadata-updater</knownContentConsumer>
+</knownContentConsumers>
+<invalidContentConsumers>
+<invalidContentConsumer>update-db-bad-content</invalidContentConsumer>
+</invalidContentConsumers>
+</repositoryScanning>
+<databaseScanning>
+<cronExpression>0 0 * * * ?</cronExpression>
+<unprocessedConsumers>
+<unprocessedConsumer>update-db-project</unprocessedConsumer>
+</unprocessedConsumers>
+<cleanupConsumers>
+<cleanupConsumer>not-present-remove-db-artifact</cleanupConsumer>
+<cleanupConsumer>not-present-remove-db-project</cleanupConsumer>
+<cleanupConsumer>not-present-remove-indexed</cleanupConsumer>
+</cleanupConsumers>
+</databaseScanning>
+<managedRepositories>
+<managedRepository>
+<location>${appserver.base}/data/repositories/internal</location>
+<blockRedeployments>true</blockRedeployments>
+<daysOlder>30</daysOlder>
+<id>internal</id>
+<name>Archiva Managed Internal Repository</name>
+</managedRepository>
+<managedRepository>
+<location>${appserver.base}/data/repositories/snapshots</location>
+<releases>false</releases>
+<snapshots>true</snapshots>
+<refreshCronExpression>0 0\,30 * * * ?</refreshCronExpression>
+<daysOlder>30</daysOlder>
+<id>snapshots</id>
+<name>Archiva Managed Snapshot Repository</name>
+</managedRepository>
+</managedRepositories>
+<remoteRepositories>
+<remoteRepository>
+<url>http://repo1.maven.org/maven2</url>
+<id>central</id>
+<name>Central Repository</name>
+</remoteRepository>
+<remoteRepository>
+<url>http://download.java.net/maven/2/</url>
+<id>maven2-repository.dev.java.net</id>
+<name>Java.net Repository for Maven 2</name>
+</remoteRepository>
+</remoteRepositories>
+<proxyConnectors>
+<proxyConnector>
+<order>1</order>
+<sourceRepoId>internal</sourceRepoId>
+<targetRepoId>central</targetRepoId>
+<proxyId/>
+<whiteListPatterns>
+<whiteListPattern>**/*</whiteListPattern>
+</whiteListPatterns>
+<policies>
+<releases>once</releases>
+<checksum>fix</checksum>
+<snapshots>never</snapshots>
+<cache-failures>yes</cache-failures>
+</policies>
+</proxyConnector>
+<proxyConnector>
+<order>2</order>
+<sourceRepoId>internal</sourceRepoId>
+<targetRepoId>maven2-repository.dev.java.net</targetRepoId>
+<proxyId/>
+<whiteListPatterns>
+<whiteListPattern>javax/**</whiteListPattern>
+<whiteListPattern>org/jvnet/**</whiteListPattern>
+<whiteListPattern>com/sun/**</whiteListPattern>
+</whiteListPatterns>
+<policies>
+<releases>once</releases>
+<checksum>fix</checksum>
+<snapshots>never</snapshots>
+<cache-failures>yes</cache-failures>
+</policies>
+</proxyConnector>
+</proxyConnectors>
+<legacyArtifactPaths>
+<legacyArtifactPath>
+<path>jaxen/jars/jaxen-1.0-FCS-full.jar</path>
+<artifact>jaxen:jaxen:1.0-FCS:full:jar</artifact>
+</legacyArtifactPath>
+</legacyArtifactPaths>
+</configuration>

Propchange: archiva/trunk/archiva-modules/archiva-base/archiva-configuration/src/test/conf/archiva-1.3.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: archiva/trunk/archiva-modules/archiva-base/archiva-configuration/src/test/conf/archiva-1.3.xml
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision