]> source.dussan.org Git - archiva.git/commitdiff
[MRM-1837] DefaultArchivaConfiguration holds references to classes
authorOlivier Lamy <olamy@apache.org>
Thu, 1 May 2014 04:29:28 +0000 (14:29 +1000)
committerOlivier Lamy <olamy@apache.org>
Thu, 1 May 2014 04:29:28 +0000 (14:29 +1000)
archiva-modules/archiva-base/archiva-configuration/src/main/java/org/apache/archiva/configuration/DefaultArchivaConfiguration.java
archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/archiva/consumers/core/AutoRemoveConsumer.java
archiva-modules/archiva-base/archiva-consumers/archiva-core-consumers/src/main/java/org/apache/archiva/consumers/core/repository/RepositoryPurgeConsumer.java
archiva-modules/archiva-base/archiva-consumers/archiva-lucene-consumers/src/main/java/org/apache/archiva/consumers/lucene/NexusIndexerConsumer.java
archiva-modules/archiva-base/archiva-converter/src/main/java/org/apache/archiva/converter/legacy/LegacyConverterArtifactConsumer.java
pom.xml

index 9b403d1d24c35fb6cb844a70b015839149ee7c81..c6cc9530b165586b9598b91ffd513013e8d997e8 100644 (file)
@@ -89,7 +89,7 @@ import java.util.Set;
  * before reading it from the registry.
  * </p>
  */
-@Service ( "archivaConfiguration#default" )
+@Service( "archivaConfiguration#default" )
 public class DefaultArchivaConfiguration
     implements ArchivaConfiguration, RegistryListener
 {
@@ -99,7 +99,7 @@ public class DefaultArchivaConfiguration
      * Plexus registry to read the configuration from.
      */
     @Inject
-    @Named ( value = "commons-configuration" )
+    @Named( value = "commons-configuration" )
     private Registry registry;
 
     @Inject
@@ -183,7 +183,7 @@ public class DefaultArchivaConfiguration
         return configuration;
     }
 
-    @SuppressWarnings ( "unchecked" )
+    @SuppressWarnings( "unchecked" )
     private Configuration load()
     {
         // TODO: should this be the same as section? make sure unnamed sections still work (eg, sys properties)
@@ -204,7 +204,7 @@ public class DefaultArchivaConfiguration
         config.getRepositoryGroupsAsMap();
         if ( !config.getRepositories().isEmpty() )
         {
-            for ( V1RepositoryConfiguration r : config.getRepositories() ) 
+            for ( V1RepositoryConfiguration r : config.getRepositories() )
             {
                 r.setScanned( r.isIndexed() );
 
@@ -269,8 +269,7 @@ public class DefaultArchivaConfiguration
             // Fix Proxy Connector Settings.
 
             // Create a copy of the list to read from (to prevent concurrent modification exceptions)
-            List<ProxyConnectorConfiguration> proxyConnectorList =
-                new ArrayList<>( config.getProxyConnectors() );
+            List<ProxyConnectorConfiguration> proxyConnectorList = new ArrayList<>( config.getProxyConnectors() );
             // Remove the old connector list.
             config.getProxyConnectors().clear();
 
@@ -440,7 +439,7 @@ public class DefaultArchivaConfiguration
         return registry.getSubset( KEY );
     }
 
-    @SuppressWarnings ( "unchecked" )
+    @SuppressWarnings( "unchecked" )
     @Override
     public synchronized void save( Configuration configuration )
         throws IndeterminateConfigurationException, RegistryException
@@ -559,7 +558,8 @@ public class DefaultArchivaConfiguration
                 throw new RegistryException(
                     "Unable to create configuration file in either user [" + userConfigFilename + "] or alternative ["
                         + altConfigFilename
-                        + "] locations on disk, usually happens when not allowed to write to those locations." );
+                        + "] locations on disk, usually happens when not allowed to write to those locations."
+                );
             }
         }
 
@@ -584,7 +584,7 @@ public class DefaultArchivaConfiguration
 
     /**
      * Attempts to write the contents to a file, if an IOException occurs, return false.
-     * <p>
+     * <p/>
      * The file will be created if the directory to the file exists, otherwise this will return false.
      *
      * @param filetype the filetype (freeform text) to use in logging messages when failure to write.
@@ -602,7 +602,7 @@ public class DefaultArchivaConfiguration
             if ( file.getParentFile() != null )
             {
                 // Check that directory exists
-                if ( ! file.getParentFile().isDirectory() )
+                if ( !file.getParentFile().isDirectory() )
                 {
                     // Directory to file must exist for file to be created
                     return false;
@@ -651,7 +651,6 @@ public class DefaultArchivaConfiguration
     }
 
 
-
     @Override
     public void addChangeListener( RegistryListener listener )
     {
@@ -680,6 +679,18 @@ public class DefaultArchivaConfiguration
     {
         boolean removed = registryListeners.remove( listener );
         log.debug( "RegistryListener: '{}' removed {}", listener, removed );
+
+        Registry section = registry.getSection( KEY + ".user" );
+        if ( section != null )
+        {
+            section.removeChangeListener( listener );
+        }
+        section = registry.getSection( KEY + ".base" );
+        if ( section != null )
+        {
+            section.removeChangeListener( listener );
+        }
+
     }
 
     @PostConstruct
@@ -714,7 +725,7 @@ public class DefaultArchivaConfiguration
         catch ( EvaluatorException e )
         {
             throw new RuntimeException(
-                "Unable to evaluate expressions found in " + "userConfigFilename or altConfigFilename.", e);
+                "Unable to evaluate expressions found in " + "userConfigFilename or altConfigFilename.", e );
         }
         registry.addChangeListener( this );
     }
@@ -818,7 +829,8 @@ public class DefaultArchivaConfiguration
     private Configuration unescapeExpressions( Configuration config )
     {
         // TODO: for commons-configuration 1.3 only
-        for ( ManagedRepositoryConfiguration c : config.getManagedRepositories() ) {
+        for ( ManagedRepositoryConfiguration c : config.getManagedRepositories() )
+        {
             c.setLocation( removeExpressions( c.getLocation() ) );
             c.setRefreshCronExpression( unescapeCronExpression( c.getRefreshCronExpression() ) );
         }
index 75654c6cb297f8438417318b1323fe333900ccc6..d6e929779469e73749ca1919cd1b16d01ca8120f 100644 (file)
@@ -167,7 +167,7 @@ public class AutoRemoveConsumer
 
     private void initIncludes()
     {
-        includes = new ArrayList<String>( filetypes.getFileTypePatterns( FileTypes.AUTO_REMOVE ) );
+        includes = new ArrayList<>( filetypes.getFileTypePatterns( FileTypes.AUTO_REMOVE ) );
     }
 
     @PostConstruct
index 5cc20c40486826e70887e7b4b3ceeebda17141e5..5b6be2e8a7c14209620845b1b0a3b5dd57c94ef1 100644 (file)
@@ -238,7 +238,7 @@ public class RepositoryPurgeConsumer
 
     private void initIncludes()
     {
-        includes = new ArrayList<String>( filetypes.getFileTypePatterns( FileTypes.ARTIFACTS ) );
+        includes = new ArrayList<>( filetypes.getFileTypePatterns( FileTypes.ARTIFACTS ) );
     }
 
     @PostConstruct
index 487af9190b5e24b42224df3e782a63a8088109a5..4e6df8cdb847b6b500b7c85b8880201dd5ea2450 100644 (file)
@@ -266,7 +266,7 @@ public class NexusIndexerConsumer
         List<String> indexable = filetypes.getFileTypePatterns( FileTypes.INDEXABLE_CONTENT );
         List<String> artifacts = filetypes.getFileTypePatterns( FileTypes.ARTIFACTS );
 
-        includes = new ArrayList<String>( indexable.size() + artifacts.size() );
+        includes = new ArrayList<>( indexable.size() + artifacts.size() );
 
         includes.addAll( indexable );
 
index b17a74a5b2c5f85e7d5725919eeed0b4ff3eb004..ff15d3b1f8b34d45a5eb9f3809cafc8cc7281b3f 100644 (file)
@@ -58,15 +58,9 @@ public class LegacyConverterArtifactConsumer
 {
     private Logger log = LoggerFactory.getLogger( LegacyConverterArtifactConsumer.class );
 
-    /**
-     *
-     */
     @Inject
     private ArtifactConverter artifactConverter;
 
-    /**
-     *
-     */
     private ArtifactFactory artifactFactory;
 
     private ManagedRepositoryContent managedRepository;
diff --git a/pom.xml b/pom.xml
index f758398c0d0c81627364152b9477200ba9cfb66d..e947718d440a1eff50c1aa59bc72147710afd851 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -67,7 +67,7 @@
     <redback.version>2.2</redback.version>
     <redback.cache.version>2.2</redback.cache.version>
     <redback.quartz.version>2.1</redback.quartz.version>
-    <redback.registry.version>2.2</redback.registry.version>
+    <redback.registry.version>2.3-SNAPSHOT</redback.registry.version>
     <redback.spring-utils.version>2.1</redback.spring-utils.version>
     <redback.taskqueue.version>2.1</redback.taskqueue.version>
     <slf4j.version>1.7.7</slf4j.version>
       <dependency>
         <groupId>commons-configuration</groupId>
         <artifactId>commons-configuration</artifactId>
-        <version>1.9</version>
+        <version>1.10</version>
         <exclusions>
           <exclusion>
             <groupId>commons-beanutils</groupId>