You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by ma...@apache.org on 2019/12/04 19:36:16 UTC

[archiva-components] branch feature/acc2 created (now 1670b17)

This is an automated email from the ASF dual-hosted git repository.

martin_s pushed a change to branch feature/acc2
in repository https://gitbox.apache.org/repos/asf/archiva-components.git.


      at 1670b17  Migrating to apache commons config 2

This branch includes the following new commits:

     new 1670b17  Migrating to apache commons config 2

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[archiva-components] 01/01: Migrating to apache commons config 2

Posted by ma...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

martin_s pushed a commit to branch feature/acc2
in repository https://gitbox.apache.org/repos/asf/archiva-components.git

commit 1670b17a1ca469cd1c72a99caa838a7c6c2f4796
Author: Martin Stockhammer <ma...@apache.org>
AuthorDate: Wed Dec 4 20:35:59 2019 +0100

    Migrating to apache commons config 2
---
 spring-registry/spring-registry-commons/pom.xml    | 31 +------------
 .../commons/CommonsConfigurationRegistry.java      | 51 ++++++++++++----------
 .../commons/ConfigurationListenerDelegate.java     | 39 +++++++++--------
 3 files changed, 52 insertions(+), 69 deletions(-)

diff --git a/spring-registry/spring-registry-commons/pom.xml b/spring-registry/spring-registry-commons/pom.xml
index 3baf2f9..4993a74 100644
--- a/spring-registry/spring-registry-commons/pom.xml
+++ b/spring-registry/spring-registry-commons/pom.xml
@@ -44,36 +44,9 @@
       <artifactId>archiva-components-spring-registry-api</artifactId>
     </dependency>
     <dependency>
-      <groupId>commons-configuration</groupId>
-      <artifactId>commons-configuration</artifactId>
+      <groupId>org.apache.commons</groupId>
+      <artifactId>commons-configuration2</artifactId>
       <version>${commons.configuration.version}</version>
-      <exclusions>
-        <exclusion>
-          <groupId>commons-beanutils</groupId>
-          <artifactId>commons-beanutils-core</artifactId>
-        </exclusion>
-        <!-- targeting JDK 1.4, xml parser/apis not needed -->
-        <exclusion>
-          <groupId>xerces</groupId>
-          <artifactId>xerces</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>xerces</groupId>
-          <artifactId>xercesImpl</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>xalan</groupId>
-          <artifactId>xalan</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>xml-apis</groupId>
-          <artifactId>xml-apis</artifactId>
-        </exclusion>
-        <exclusion>
-          <groupId>servletapi</groupId>
-          <artifactId>servletapi</artifactId>
-        </exclusion>
-      </exclusions>
     </dependency>
 
     <dependency>
diff --git a/spring-registry/spring-registry-commons/src/main/java/org/apache/archiva/components/registry/commons/CommonsConfigurationRegistry.java b/spring-registry/spring-registry-commons/src/main/java/org/apache/archiva/components/registry/commons/CommonsConfigurationRegistry.java
index 6602f1d..e90b715 100644
--- a/spring-registry/spring-registry-commons/src/main/java/org/apache/archiva/components/registry/commons/CommonsConfigurationRegistry.java
+++ b/spring-registry/spring-registry-commons/src/main/java/org/apache/archiva/components/registry/commons/CommonsConfigurationRegistry.java
@@ -22,16 +22,18 @@ package org.apache.archiva.components.registry.commons;
 import org.apache.archiva.components.registry.Registry;
 import org.apache.archiva.components.registry.RegistryException;
 import org.apache.archiva.components.registry.RegistryListener;
-import org.apache.commons.configuration.CombinedConfiguration;
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.DefaultConfigurationBuilder;
-import org.apache.commons.configuration.FileConfiguration;
-import org.apache.commons.configuration.PropertiesConfiguration;
-import org.apache.commons.configuration.SystemConfiguration;
-import org.apache.commons.configuration.XMLConfiguration;
-import org.apache.commons.configuration.event.EventSource;
-import org.apache.commons.configuration.tree.DefaultExpressionEngine;
+import org.apache.commons.configuration2.CombinedConfiguration;
+import org.apache.commons.configuration2.Configuration;
+import org.apache.commons.configuration2.FileBasedConfiguration;
+import org.apache.commons.configuration2.ImmutableConfiguration;
+import org.apache.commons.configuration2.PropertiesConfiguration;
+import org.apache.commons.configuration2.XMLConfiguration;
+import org.apache.commons.configuration2.builder.ConfigurationBuilder;
+import org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder;
+import org.apache.commons.configuration2.event.Event;
+import org.apache.commons.configuration2.event.EventSource;
+import org.apache.commons.configuration2.event.EventType;
+import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.text.StringSubstitutor;
 import org.apache.commons.text.lookup.StringLookupFactory;
@@ -68,6 +70,7 @@ public class CommonsConfigurationRegistry
      * The combined configuration instance that houses the registry.
      */
     private Configuration configuration;
+    private ConfigurationBuilder<? extends Configuration> configurationBuilder;
 
     private Logger logger = LoggerFactory.getLogger( getClass( ) );
 
@@ -89,14 +92,22 @@ public class CommonsConfigurationRegistry
         this.configuration = new CombinedConfiguration( );
     }
 
-    public CommonsConfigurationRegistry( Configuration configuration )
+    public CommonsConfigurationRegistry( ConfigurationBuilder<? extends Configuration> configurationBuilder )
     {
-        if ( configuration == null )
+        if ( configurationBuilder == null )
         {
             throw new NullPointerException( "configuration can not be null" );
         }
 
-        this.configuration = configuration;
+        this.configurationBuilder = configurationBuilder;
+        try
+        {
+            this.configuration = configurationBuilder.getConfiguration( );
+        }
+        catch ( ConfigurationException e )
+        {
+            logger.error( "Could not retrieve configuration" );
+        }
     }
 
     public String dump( )
@@ -176,12 +187,12 @@ public class CommonsConfigurationRegistry
     public void save( )
         throws RegistryException
     {
-        if ( configuration instanceof FileConfiguration )
+        if ( configurationBuilder instanceof FileBasedConfigurationBuilder )
         {
-            FileConfiguration fileConfiguration = (FileConfiguration) configuration;
+            FileBasedConfigurationBuilder fileConfigurationBuilder = (FileBasedConfigurationBuilder) configurationBuilder;
             try
             {
-                fileConfiguration.save( );
+                fileConfigurationBuilder.save( );
             }
             catch ( ConfigurationException e )
             {
@@ -198,7 +209,7 @@ public class CommonsConfigurationRegistry
     {
         EventSource eventSource = EventSource.class.cast( this.configuration );
 
-        eventSource.addConfigurationListener( new ConfigurationListenerDelegate( listener, this ) );
+        eventSource.addEventListener( Event.ANY, new ConfigurationListenerDelegate( listener, this ) );
     }
 
     @Override
@@ -207,16 +218,12 @@ public class CommonsConfigurationRegistry
         EventSource eventSource = EventSource.class.cast( this.configuration );
 
         boolean removed =
-            eventSource.removeConfigurationListener( new ConfigurationListenerDelegate( listener, this ) );
+            eventSource.removeEventListener( Event.ANY, new ConfigurationListenerDelegate( listener, this ) );
 
         return removed;
     }
 
 
-    public int getChangeListenersSize( )
-    {
-        return EventSource.class.cast( this.configuration ).getConfigurationListeners( ).size( );
-    }
 
     public Collection<String> getKeys( )
     {
diff --git a/spring-registry/spring-registry-commons/src/main/java/org/apache/archiva/components/registry/commons/ConfigurationListenerDelegate.java b/spring-registry/spring-registry-commons/src/main/java/org/apache/archiva/components/registry/commons/ConfigurationListenerDelegate.java
index 4320eab..4352b6c 100644
--- a/spring-registry/spring-registry-commons/src/main/java/org/apache/archiva/components/registry/commons/ConfigurationListenerDelegate.java
+++ b/spring-registry/spring-registry-commons/src/main/java/org/apache/archiva/components/registry/commons/ConfigurationListenerDelegate.java
@@ -21,14 +21,15 @@ package org.apache.archiva.components.registry.commons;
 
 import org.apache.archiva.components.registry.Registry;
 import org.apache.archiva.components.registry.RegistryListener;
-import org.apache.commons.configuration.event.ConfigurationEvent;
-import org.apache.commons.configuration.event.ConfigurationListener;
+import org.apache.commons.configuration2.event.ConfigurationEvent;
+import org.apache.commons.configuration2.event.Event;
+import org.apache.commons.configuration2.event.EventListener;
 
 /**
  * Commons configuration listener that delegates to the given registry listener.
  */
 public class ConfigurationListenerDelegate
-    implements ConfigurationListener
+    implements EventListener
 {
     /**
      * Delegate listener.
@@ -47,21 +48,6 @@ public class ConfigurationListenerDelegate
         this.registry = registry;
     }
 
-    public void configurationChanged( ConfigurationEvent event )
-    {
-        if ( event.getPropertyName( ) != null )
-        {
-            if ( event.isBeforeUpdate( ) )
-            {
-                listener.beforeConfigurationChange( registry, event.getPropertyName( ), event.getPropertyValue( ) );
-            }
-            else
-            {
-                listener.afterConfigurationChange( registry, event.getPropertyName( ), event.getPropertyValue( ) );
-            }
-        }
-    }
-
     // needed to be sure elements are properly removed from the listeners list
     @Override
     public int hashCode( )
@@ -79,4 +65,21 @@ public class ConfigurationListenerDelegate
         }
         return super.equals( obj );
     }
+
+    @Override
+    public void onEvent( Event event ) {
+        // Do nothing
+    }
+
+    public void onEvent( ConfigurationEvent event )
+    {
+        if ( event.isBeforeUpdate())
+        {
+            listener.beforeConfigurationChange( registry, event.getPropertyName( ), event.getPropertyValue( ) );
+        }
+        else
+        {
+            listener.afterConfigurationChange( registry, event.getPropertyName( ), event.getPropertyValue( ) );
+        }
+    }
 }