Author: olamy
Date: Sat Dec 29 23:59:23 2012
New Revision: 1426863

URL: http://svn.apache.org/viewvc?rev=1426863&view=rev
Log:
modification of ArchivaRuntimeConfiguration was not saved

Modified:
    
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/main/java/org/apache/archiva/admin/repository/runtime/DefaultArchivaRuntimeConfigurationAdmin.java

Modified: 
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/main/java/org/apache/archiva/admin/repository/runtime/DefaultArchivaRuntimeConfigurationAdmin.java
URL: 
http://svn.apache.org/viewvc/archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/main/java/org/apache/archiva/admin/repository/runtime/DefaultArchivaRuntimeConfigurationAdmin.java?rev=1426863&r1=1426862&r2=1426863&view=diff
==============================================================================
--- 
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/main/java/org/apache/archiva/admin/repository/runtime/DefaultArchivaRuntimeConfigurationAdmin.java
 (original)
+++ 
archiva/trunk/archiva-modules/archiva-base/archiva-repository-admin/archiva-repository-admin-default/src/main/java/org/apache/archiva/admin/repository/runtime/DefaultArchivaRuntimeConfigurationAdmin.java
 Sat Dec 29 23:59:23 2012
@@ -24,7 +24,10 @@ import org.apache.archiva.admin.model.be
 import org.apache.archiva.admin.model.beans.CacheConfiguration;
 import org.apache.archiva.admin.model.runtime.ArchivaRuntimeConfigurationAdmin;
 import org.apache.archiva.configuration.ArchivaConfiguration;
+import org.apache.archiva.configuration.Configuration;
+import org.apache.archiva.configuration.IndeterminateConfigurationException;
 import org.apache.archiva.redback.components.cache.Cache;
+import org.apache.archiva.redback.components.registry.RegistryException;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.PostConstruct;
@@ -35,7 +38,7 @@ import javax.inject.Named;
  * @author Olivier Lamy
  * @since 1.4-M4
  */
-@Service( "archivaRuntimeConfigurationAdmin#default" )
+@Service("archivaRuntimeConfigurationAdmin#default")
 public class DefaultArchivaRuntimeConfigurationAdmin
     implements ArchivaRuntimeConfigurationAdmin
 {
@@ -45,7 +48,7 @@ public class DefaultArchivaRuntimeConfig
 
     @Inject
     @Named( value = "cache#url-failures-cache" )
-    private Cache usersCache;
+    private Cache urlFailureCache;
 
     @PostConstruct
     public void initialize()
@@ -65,39 +68,39 @@ public class DefaultArchivaRuntimeConfig
         if ( 
archivaRuntimeConfiguration.getUrlFailureCacheConfiguration().getTimeToIdleSeconds()
 < 0 )
         {
             
archivaRuntimeConfiguration.getUrlFailureCacheConfiguration().setTimeToIdleSeconds(
-                usersCache.getTimeToIdleSeconds() );
+                urlFailureCache.getTimeToIdleSeconds() );
             save = true;
 
         }
-        usersCache.setTimeToIdleSeconds(
+        urlFailureCache.setTimeToIdleSeconds(
             
archivaRuntimeConfiguration.getUrlFailureCacheConfiguration().getTimeToIdleSeconds()
 );
 
         if ( 
archivaRuntimeConfiguration.getUrlFailureCacheConfiguration().getTimeToLiveSeconds()
 < 0 )
         {
             
archivaRuntimeConfiguration.getUrlFailureCacheConfiguration().setTimeToLiveSeconds(
-                usersCache.getTimeToLiveSeconds() );
+                urlFailureCache.getTimeToLiveSeconds() );
             save = true;
 
         }
-        usersCache.setTimeToLiveSeconds(
+        urlFailureCache.setTimeToLiveSeconds(
             
archivaRuntimeConfiguration.getUrlFailureCacheConfiguration().getTimeToLiveSeconds()
 );
 
         if ( 
archivaRuntimeConfiguration.getUrlFailureCacheConfiguration().getMaxElementsInMemory()
 < 0 )
         {
             
archivaRuntimeConfiguration.getUrlFailureCacheConfiguration().setMaxElementsInMemory(
-                usersCache.getMaxElementsInMemory() );
+                urlFailureCache.getMaxElementsInMemory() );
             save = true;
         }
-        usersCache.setMaxElementsInMemory(
+        urlFailureCache.setMaxElementsInMemory(
             
archivaRuntimeConfiguration.getUrlFailureCacheConfiguration().getMaxElementsInMemory()
 );
 
         if ( 
archivaRuntimeConfiguration.getUrlFailureCacheConfiguration().getMaxElementsOnDisk()
 < 0 )
         {
             
archivaRuntimeConfiguration.getUrlFailureCacheConfiguration().setMaxElementsOnDisk(
-                usersCache.getMaxElementsOnDisk() );
+                urlFailureCache.getMaxElementsOnDisk() );
             save = true;
         }
-        usersCache.setMaxElementsOnDisk(
+        urlFailureCache.setMaxElementsOnDisk(
             
archivaRuntimeConfiguration.getUrlFailureCacheConfiguration().getMaxElementsOnDisk()
 );
 
         if ( save )
@@ -116,7 +119,20 @@ public class DefaultArchivaRuntimeConfig
     public void updateArchivaRuntimeConfiguration( ArchivaRuntimeConfiguration 
archivaRuntimeConfiguration )
         throws RepositoryAdminException
     {
-        //To change body of implemented methods use File | Settings | File 
Templates.
+        Configuration configuration = archivaConfiguration.getConfiguration();
+        configuration.setArchivaRuntimeConfiguration( build( 
archivaRuntimeConfiguration ) );
+        try
+        {
+            archivaConfiguration.save( configuration );
+        }
+        catch ( RegistryException e )
+        {
+            throw new RepositoryAdminException( e.getMessage(), e );
+        }
+        catch ( IndeterminateConfigurationException e )
+        {
+            throw new RepositoryAdminException( e.getMessage(), e );
+        }
     }
 
     protected ArchivaRuntimeConfiguration build(
@@ -141,6 +157,30 @@ public class DefaultArchivaRuntimeConfig
 
         return res;
     }
+
+    protected org.apache.archiva.configuration.ArchivaRuntimeConfiguration 
build(
+        ArchivaRuntimeConfiguration archivaRuntimeConfiguration )
+    {
+        if ( archivaRuntimeConfiguration == null )
+        {
+            return new 
org.apache.archiva.configuration.ArchivaRuntimeConfiguration();
+        }
+
+        org.apache.archiva.configuration.ArchivaRuntimeConfiguration res =
+            new BeanReplicator().replicateBean( archivaRuntimeConfiguration,
+                                                
org.apache.archiva.configuration.ArchivaRuntimeConfiguration.class );
+
+        if ( archivaRuntimeConfiguration.getUrlFailureCacheConfiguration() != 
null )
+        {
+
+            res.setUrlFailureCacheConfiguration(
+                new BeanReplicator().replicateBean( 
archivaRuntimeConfiguration.getUrlFailureCacheConfiguration(),
+                                                    
org.apache.archiva.configuration.CacheConfiguration.class ) );
+
+        }
+
+        return res;
+    }
 }
 
 


Reply via email to