From: Brett Porter Date: Fri, 3 Aug 2007 14:48:18 +0000 (+0000) Subject: [MRM-430] revert configuration if it failed to save X-Git-Tag: 1.0-beta-1~15 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=19800f99da50780b6dd4c75d74fbdc6951852308;p=archiva.git [MRM-430] revert configuration if it failed to save git-svn-id: https://svn.apache.org/repos/asf/maven/archiva/trunk@562488 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/archiva-base/archiva-configuration/src/main/java/org/apache/maven/archiva/configuration/DefaultArchivaConfiguration.java b/archiva-base/archiva-configuration/src/main/java/org/apache/maven/archiva/configuration/DefaultArchivaConfiguration.java index 6cf53bd0a..540a86539 100644 --- a/archiva-base/archiva-configuration/src/main/java/org/apache/maven/archiva/configuration/DefaultArchivaConfiguration.java +++ b/archiva-base/archiva-configuration/src/main/java/org/apache/maven/archiva/configuration/DefaultArchivaConfiguration.java @@ -28,7 +28,6 @@ import org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationExce 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.io.File; @@ -148,6 +147,8 @@ public class DefaultArchivaConfiguration } else if ( registry.getSection( KEY + ".base" ) != null ) { + this.configuration = null; + throw new IndeterminateConfigurationException( "Configuration can not be saved when it is loaded from two sources" ); } @@ -174,7 +175,7 @@ public class DefaultArchivaConfiguration try { - ( (CommonsConfigurationRegistry) registry ).initialize(); + ( (Initializable) registry ).initialize(); } catch ( InitializationException e ) { diff --git a/archiva-base/archiva-configuration/src/test/java/org/apache/maven/archiva/configuration/ArchivaConfigurationTest.java b/archiva-base/archiva-configuration/src/test/java/org/apache/maven/archiva/configuration/ArchivaConfigurationTest.java index 6145832bc..7c6dd36c3 100644 --- a/archiva-base/archiva-configuration/src/test/java/org/apache/maven/archiva/configuration/ArchivaConfigurationTest.java +++ b/archiva-base/archiva-configuration/src/test/java/org/apache/maven/archiva/configuration/ArchivaConfigurationTest.java @@ -308,9 +308,9 @@ public class ArchivaConfigurationTest ArchivaConfiguration archivaConfiguration = (ArchivaConfiguration) lookup( ArchivaConfiguration.class.getName(), "test-save-user" ); - Configuration configuration = new Configuration(); - configuration.setWebapp( new WebappConfiguration() ); - configuration.getWebapp().setUi( new UserInterfaceOptions() ); + Configuration configuration = archivaConfiguration.getConfiguration(); + assertTrue( "check value", configuration.getWebapp().getUi().isAppletFindEnabled() ); + configuration.getWebapp().getUi().setAppletFindEnabled( false ); try @@ -320,7 +320,9 @@ public class ArchivaConfigurationTest } catch ( IndeterminateConfigurationException e ) { - assertTrue( true ); + // check it was reverted + configuration = archivaConfiguration.getConfiguration(); + assertTrue( "check value", configuration.getWebapp().getUi().isAppletFindEnabled() ); } }