You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by br...@apache.org on 2008/07/26 06:21:41 UTC
svn commit: r679950 - in /maven/components/branches/MNG-2477/maven-core/src:
main/java/org/apache/maven/settings/SettingsUtils.java
test/java/org/apache/maven/settings/SettingsUtilsTest.java
Author: brett
Date: Fri Jul 25 21:21:39 2008
New Revision: 679950
URL: http://svn.apache.org/viewvc?rev=679950&view=rev
Log:
merge settings
Modified:
maven/components/branches/MNG-2477/maven-core/src/main/java/org/apache/maven/settings/SettingsUtils.java
maven/components/branches/MNG-2477/maven-core/src/test/java/org/apache/maven/settings/SettingsUtilsTest.java
Modified: maven/components/branches/MNG-2477/maven-core/src/main/java/org/apache/maven/settings/SettingsUtils.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-2477/maven-core/src/main/java/org/apache/maven/settings/SettingsUtils.java?rev=679950&r1=679949&r2=679950&view=diff
==============================================================================
--- maven/components/branches/MNG-2477/maven-core/src/main/java/org/apache/maven/settings/SettingsUtils.java (original)
+++ maven/components/branches/MNG-2477/maven-core/src/main/java/org/apache/maven/settings/SettingsUtils.java Fri Jul 25 21:21:39 2008
@@ -110,6 +110,34 @@
shallowMergeById( dominant.getProxies(), recessive.getProxies(), recessiveSourceLevel );
shallowMergeById( dominant.getProfiles(), recessive.getProfiles(), recessiveSourceLevel );
+ if (recessive.getSecurity() != null )
+ {
+ if ( dominant.getSecurity() == null )
+ {
+ dominant.setSecurity( new Security() );
+ }
+
+ List<String> dominantPublicKeyRings = dominant.getSecurity().getPublicKeyRings();
+
+ List<String> recessivePublicKeyRings = recessive.getSecurity().getPublicKeyRings();
+
+ if ( recessivePublicKeyRings != null )
+ {
+ if ( dominantPublicKeyRings == null )
+ {
+ dominantPublicKeyRings = new ArrayList<String>();
+ dominant.getSecurity().setPublicKeyRings( dominantPublicKeyRings );
+ }
+
+ for ( String publicKeyRing : recessivePublicKeyRings )
+ {
+ if ( !dominantPublicKeyRings.contains( publicKeyRing ) )
+ {
+ dominantPublicKeyRings.add( publicKeyRing );
+ }
+ }
+ }
+ }
}
/**
Modified: maven/components/branches/MNG-2477/maven-core/src/test/java/org/apache/maven/settings/SettingsUtilsTest.java
URL: http://svn.apache.org/viewvc/maven/components/branches/MNG-2477/maven-core/src/test/java/org/apache/maven/settings/SettingsUtilsTest.java?rev=679950&r1=679949&r2=679950&view=diff
==============================================================================
--- maven/components/branches/MNG-2477/maven-core/src/test/java/org/apache/maven/settings/SettingsUtilsTest.java (original)
+++ maven/components/branches/MNG-2477/maven-core/src/test/java/org/apache/maven/settings/SettingsUtilsTest.java Fri Jul 25 21:21:39 2008
@@ -21,12 +21,14 @@
import junit.framework.TestCase;
+import java.util.Arrays;
import java.util.List;
public class SettingsUtilsTest
extends TestCase
{
+ @SuppressWarnings("unchecked")
public void testShouldAppendRecessivePluginGroupIds()
{
Settings dominant = new Settings();
@@ -46,5 +48,63 @@
assertEquals( "org.codehaus.modello", pluginGroups.get( 1 ) );
assertEquals( "org.codehaus.plexus", pluginGroups.get( 2 ) );
}
-
+
+ public void testMergeKeyrings()
+ {
+ Settings dominant = new Settings();
+ Security security = new Security();
+ dominant.setSecurity( security );
+ security.addPublicKeyRing( "key-ring-user" );
+
+ Settings recessive = new Settings();
+ security = new Security();
+ recessive.setSecurity( security );
+ security.addPublicKeyRing( "key-ring-global" );
+
+ SettingsUtils.merge( dominant, recessive, Settings.GLOBAL_LEVEL );
+
+ assertNotNull( dominant.getSecurity() );
+ assertEquals( Arrays.asList( "key-ring-user", "key-ring-global" ), dominant.getSecurity().getPublicKeyRings() );
+ }
+
+ public void testMergeKeyringsUserEmpty()
+ {
+ Settings dominant = new Settings();
+
+ Settings recessive = new Settings();
+ Security security = new Security();
+ recessive.setSecurity( security );
+ security.addPublicKeyRing( "key-ring-global" );
+
+ SettingsUtils.merge( dominant, recessive, Settings.GLOBAL_LEVEL );
+
+ assertNotNull( dominant.getSecurity() );
+ assertEquals( Arrays.asList( "key-ring-global" ), dominant.getSecurity().getPublicKeyRings() );
+ }
+
+ public void testMergeKeyringsGlobalEmpty()
+ {
+ Settings dominant = new Settings();
+ Security security = new Security();
+ dominant.setSecurity( security );
+ security.addPublicKeyRing( "key-ring-user" );
+
+ Settings recessive = new Settings();
+
+ SettingsUtils.merge( dominant, recessive, Settings.GLOBAL_LEVEL );
+
+ assertNotNull( dominant.getSecurity() );
+ assertEquals( Arrays.asList( "key-ring-user" ), dominant.getSecurity().getPublicKeyRings() );
+ }
+
+ public void testMergeKeyringsBothEmpty()
+ {
+ Settings dominant = new Settings();
+
+ Settings recessive = new Settings();
+
+ SettingsUtils.merge( dominant, recessive, Settings.GLOBAL_LEVEL );
+
+ assertNull( dominant.getSecurity() );
+ }
}