Title: [40573] trunk/hudson/plugins/configurationslicing/src: changing "Set" to "List" everywhere to allow for ordering, in preparation for new feature
Revision
40573
Author
jacob_robertson
Date
2012-05-18 10:46:07 -0400 (Fri, 18 May 2012)

Log Message

changing "Set" to "List" everywhere to allow for ordering, in preparation for new feature

Modified Paths

Diff

Modified: trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/UnorderedStringSlice.java (40572 => 40573)


--- trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/UnorderedStringSlice.java	2012-05-16 21:04:44 UTC (rev 40572)
+++ trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/UnorderedStringSlice.java	2012-05-18 14:46:07 UTC (rev 40573)
@@ -22,14 +22,14 @@
 import configurationslicing.UnorderedStringSlicer.UnorderedStringSlicerSpec;
 
 public class UnorderedStringSlice<I> extends Slice {
-    private Map<String, Set<String>> nameToValues;
+    private Map<String, List<String>> nameToValues;
     private Map<String, Set<String>> valueToNames;
     private UnorderedStringSlicer.UnorderedStringSlicerSpec<I> spec;
     
     // reconstruct our datastructure after the user has made changes
     public UnorderedStringSlice(UnorderedStringSlicerSpec<I> spec, List<String> configurationValues, List<String> itemNames) {
         this(spec);
-        nameToValues = new HashMap<String, Set<String>>();
+        nameToValues = new HashMap<String, List<String>>();
         for (int i = 0; i < configurationValues.size(); i++) {
         	String value = configurationValues.get(i);
         	String namesString = itemNames.get(i);
@@ -50,19 +50,26 @@
     
     public void add(String name, Collection<String> values) {
         for(String value : values) {
-            addLine(valueToNames, value, name);
+        	addLineWithSets(valueToNames, value, name);
         }
     }
 
-    private static void addLine(Map<String, Set<String>> map, String s, String name) {
+    private static void addLineWithSets(Map<String, Set<String>> map, String s, String name) {
         if(!map.containsKey(s)) {
             map.put(s, new HashSet<String>());
         }
         Set<String> list= map.get(s);
         list.add(name);
     }
+    private static void addLine(Map<String, List<String>> map, String s, String name) {
+        if(!map.containsKey(s)) {
+            map.put(s, new ArrayList<String>());
+        }
+        List<String> list= map.get(s);
+        list.add(name);
+    }
 
-    public Set<String> get(String name) {
+    public List<String> get(String name) {
         return nameToValues.get(name);
     }
     

Modified: trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/UnorderedStringSlicer.java (40572 => 40573)


--- trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/UnorderedStringSlicer.java	2012-05-16 21:04:44 UTC (rev 40572)
+++ trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/UnorderedStringSlicer.java	2012-05-18 14:46:07 UTC (rev 40573)
@@ -1,7 +1,6 @@
 package configurationslicing;
 
 import java.util.List;
-import java.util.Set;
 
 public class UnorderedStringSlicer<I> implements Slicer<UnorderedStringSlice<I>, I>{
     public static abstract class UnorderedStringSlicerSpec<I> {
@@ -10,7 +9,7 @@
         public abstract List<I> getWorkDomain();
         public abstract List<String> getValues(I item);
         public abstract String getName(I item);
-        public abstract boolean setValues(I item, Set<String> set);
+        public abstract boolean setValues(I item, List<String> set);
         public abstract String getDefaultValueString();
         /**
          * Useful when there are common configurations we want to always be available.
@@ -41,7 +40,7 @@
     }
 
     public boolean transform(UnorderedStringSlice<I> t, I i) {
-    	Set<String> set = t.get(spec.getName(i));
+    	List<String> set = t.get(spec.getName(i));
     	if (set == null) {
     		return false;
     	} else {

Modified: trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/buildtimeout/BuildTimeoutSlicer.java (40572 => 40573)


--- trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/buildtimeout/BuildTimeoutSlicer.java	2012-05-16 21:04:44 UTC (rev 40572)
+++ trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/buildtimeout/BuildTimeoutSlicer.java	2012-05-18 14:46:07 UTC (rev 40573)
@@ -1,8 +1,8 @@
 package configurationslicing.buildtimeout;
 
 import hudson.Extension;
-import hudson.model.BuildableItemWithBuildWrappers;
 import hudson.model.AbstractProject;
+import hudson.model.BuildableItemWithBuildWrappers;
 import hudson.model.Descriptor;
 import hudson.model.Hudson;
 import hudson.plugins.build_timeout.BuildTimeoutWrapper;
@@ -12,7 +12,6 @@
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
-import java.util.Set;
 
 import org.apache.commons.lang.StringUtils;
 
@@ -73,7 +72,7 @@
 		}
 
 		@Override
-		public boolean setValues(AbstractProject<?, ?> item, Set<String> set) {
+		public boolean setValues(AbstractProject<?, ?> item, List<String> set) {
 			BuildableItemWithBuildWrappers bi = (BuildableItemWithBuildWrappers) item;
 			DescribableList<BuildWrapper,Descriptor<BuildWrapper>> wrappers = bi.getBuildWrappersList();
 			boolean changed = false;

Modified: trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/customworkspace/CustomWorkspaceStringSlicer.java (40572 => 40573)


--- trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/customworkspace/CustomWorkspaceStringSlicer.java	2012-05-16 21:04:44 UTC (rev 40572)
+++ trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/customworkspace/CustomWorkspaceStringSlicer.java	2012-05-18 14:46:07 UTC (rev 40573)
@@ -8,7 +8,6 @@
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
-import java.util.Set;
 
 import org.apache.commons.lang.StringUtils;
 
@@ -63,7 +62,7 @@
             return (List) Hudson.getInstance().getItems(FreeStyleProject.class);
         }
 
-        public boolean setValues(AbstractProject<?, ?> item, Set<String> set) {
+        public boolean setValues(AbstractProject<?, ?> item, List<String> set) {
         	try {
 	        	if (item instanceof FreeStyleProject) {
 	        		FreeStyleProject project = (FreeStyleProject) item;

Modified: trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/email/AbstractEmailSliceSpec.java (40572 => 40573)


--- trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/email/AbstractEmailSliceSpec.java	2012-05-16 21:04:44 UTC (rev 40572)
+++ trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/email/AbstractEmailSliceSpec.java	2012-05-18 14:46:07 UTC (rev 40573)
@@ -8,7 +8,6 @@
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.List;
-import java.util.Set;
 
 import org.apache.commons.lang.StringUtils;
 
@@ -40,7 +39,7 @@
 		values.add(recipients);
 		return values;
 	}
-	public boolean setValues(AbstractProject<?, ?> project, Set<String> set) {
+	public boolean setValues(AbstractProject<?, ?> project, List<String> set) {
 		String newEmail = join(set);
 		
 		// if no email is present, we're going to assume that's the same as disabled

Modified: trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/executeshell/ExecuteShellSlicer.java (40572 => 40573)


--- trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/executeshell/ExecuteShellSlicer.java	2012-05-16 21:04:44 UTC (rev 40572)
+++ trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/executeshell/ExecuteShellSlicer.java	2012-05-18 14:46:07 UTC (rev 40573)
@@ -2,8 +2,8 @@
 
 import hudson.Extension;
 import hudson.matrix.MatrixProject;
-import hudson.model.Descriptor;
 import hudson.model.AbstractProject;
+import hudson.model.Descriptor;
 import hudson.model.Hudson;
 import hudson.model.Project;
 import hudson.tasks.Builder;
@@ -13,7 +13,6 @@
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
-import java.util.Set;
 
 import configurationslicing.UnorderedStringSlicer;
 
@@ -87,7 +86,7 @@
             
         }
 
-        public boolean setValues(AbstractProject<?, ?> item, Set<String> set) {
+        public boolean setValues(AbstractProject<?, ?> item, List<String> set) {
             DescribableList<Builder,Descriptor<Builder>> buildersList = getBuildersList(item);
             String command = set.iterator().next();
             

Modified: trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/jdk/JdkSlicer.java (40572 => 40573)


--- trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/jdk/JdkSlicer.java	2012-05-16 21:04:44 UTC (rev 40572)
+++ trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/jdk/JdkSlicer.java	2012-05-18 14:46:07 UTC (rev 40573)
@@ -8,7 +8,6 @@
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
-import java.util.Set;
 
 import org.apache.commons.lang.ObjectUtils;
 import org.apache.commons.lang.StringUtils;
@@ -53,7 +52,7 @@
             return (List) Hudson.getInstance().getItems(AbstractProject.class);
         }
 
-        public boolean setValues(AbstractProject<?, ?> item, Set<String> set) {
+        public boolean setValues(AbstractProject<?, ?> item, List<String> set) {
             if(set.size() == 0) return false;
             Hudson hudson = Hudson.getInstance();
             JDK jdk=null;

Modified: trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/label/LabelSlicer.java (40572 => 40573)


--- trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/label/LabelSlicer.java	2012-05-16 21:04:44 UTC (rev 40572)
+++ trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/label/LabelSlicer.java	2012-05-18 14:46:07 UTC (rev 40573)
@@ -8,7 +8,6 @@
 import java.io.IOException;
 import java.util.Collections;
 import java.util.List;
-import java.util.Set;
 
 import configurationslicing.UnorderedStringSlicer;
 
@@ -48,7 +47,7 @@
             return (List) Hudson.getInstance().getItems(AbstractProject.class);
         }
 
-        public boolean setValues(AbstractProject<?, ?> item, Set<String> set) {
+        public boolean setValues(AbstractProject<?, ?> item, List<String> set) {
             // can only have one label at a time.  do nothing if a node has zero
             // or multiple labels
             if(set.isEmpty() || set.size() > 1) return false;

Modified: trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/logrotator/LogRotationSlicer.java (40572 => 40573)


--- trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/logrotator/LogRotationSlicer.java	2012-05-16 21:04:44 UTC (rev 40572)
+++ trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/logrotator/LogRotationSlicer.java	2012-05-18 14:46:07 UTC (rev 40573)
@@ -1,14 +1,14 @@
 package configurationslicing.logrotator;
 
+import hudson.Extension;
+import hudson.model.AbstractProject;
+import hudson.model.Hudson;
+import hudson.tasks.LogRotator;
+
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
-import java.util.Set;
 
-import hudson.Extension;
-import hudson.model.AbstractProject;
-import hudson.model.Hudson;
-import hudson.tasks.LogRotator;
 import configurationslicing.UnorderedStringSlicer;
 
 public abstract class LogRotationSlicer extends UnorderedStringSlicer<AbstractProject<?,?>> {
@@ -87,7 +87,7 @@
             return (List) Hudson.getInstance().getItems(AbstractProject.class);
         }
 
-        public boolean setValues(AbstractProject<?, ?> item, Set<String> set) {
+        public boolean setValues(AbstractProject<?, ?> item, List<String> set) {
             if (set.isEmpty()) return false;
 
             LogRotator logrotator = item.getLogRotator();

Modified: trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/maven/MavenGoals.java (40572 => 40573)


--- trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/maven/MavenGoals.java	2012-05-16 21:04:44 UTC (rev 40572)
+++ trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/maven/MavenGoals.java	2012-05-18 14:46:07 UTC (rev 40573)
@@ -7,7 +7,6 @@
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
-import java.util.Set;
 
 import configurationslicing.UnorderedStringSlicer;
 
@@ -49,7 +48,7 @@
             return (List) Hudson.getInstance().getItems(MavenModuleSet.class);
         }
 
-        public boolean setValues(MavenModuleSet item, Set<String> set) {
+        public boolean setValues(MavenModuleSet item, List<String> set) {
             if(set.isEmpty()) return false;
             String value = set.iterator().next();
             if(DEFAULT.equalsIgnoreCase(value)) {

Modified: trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/maven/MavenOptsSlicer.java (40572 => 40573)


--- trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/maven/MavenOptsSlicer.java	2012-05-16 21:04:44 UTC (rev 40572)
+++ trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/maven/MavenOptsSlicer.java	2012-05-18 14:46:07 UTC (rev 40573)
@@ -48,7 +48,7 @@
             return (List) Hudson.getInstance().getItems(MavenModuleSet.class);
         }
 
-        public boolean setValues(MavenModuleSet item, Set<String> set) {
+        public boolean setValues(MavenModuleSet item, List<String> set) {
             if(set.isEmpty()) return false;
             String value = set.iterator().next();
             if(value.equals(MavenModuleSet.DESCRIPTOR.getGlobalMavenOpts())) {

Modified: trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/timer/AbstractTimerSliceSpec.java (40572 => 40573)


--- trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/timer/AbstractTimerSliceSpec.java	2012-05-16 21:04:44 UTC (rev 40572)
+++ trunk/hudson/plugins/configurationslicing/src/main/java/configurationslicing/timer/AbstractTimerSliceSpec.java	2012-05-18 14:46:07 UTC (rev 40573)
@@ -8,7 +8,6 @@
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
-import java.util.Set;
 
 import antlr.ANTLRException;
 import configurationslicing.UnorderedStringSlicer.UnorderedStringSlicerSpec;
@@ -55,7 +54,7 @@
 
 	public abstract Trigger newTrigger(String spec) throws ANTLRException;
 	
-	public boolean setValues(AbstractProject<?, ?> item, Set<String> set) {
+	public boolean setValues(AbstractProject<?, ?> item, List<String> set) {
 		if (set.isEmpty())
 			return false;
 

Modified: trunk/hudson/plugins/configurationslicing/src/test/java/configurationslicing/EmailSlicerTest.java (40572 => 40573)


--- trunk/hudson/plugins/configurationslicing/src/test/java/configurationslicing/EmailSlicerTest.java	2012-05-16 21:04:44 UTC (rev 40572)
+++ trunk/hudson/plugins/configurationslicing/src/test/java/configurationslicing/EmailSlicerTest.java	2012-05-18 14:46:07 UTC (rev 40573)
@@ -3,10 +3,9 @@
 
 import hudson.model.AbstractProject;
 
+import java.util.ArrayList;
 import java.util.Collections;
-import java.util.HashSet;
 import java.util.List;
-import java.util.Set;
 
 import org.jvnet.hudson.test.HudsonTestCase;
 
@@ -61,7 +60,7 @@
 			spec = new ExtEmailSliceSpec();
 		}
 		
-		Set<String> values = new HashSet<String>();
+		List<String> values = new ArrayList<String>();
 		values.add(valuesString);
 		spec.setValues(project, values);
 		

Modified: trunk/hudson/plugins/configurationslicing/src/test/java/configurationslicing/LogRotationSlicerTest.java (40572 => 40573)


--- trunk/hudson/plugins/configurationslicing/src/test/java/configurationslicing/LogRotationSlicerTest.java	2012-05-16 21:04:44 UTC (rev 40572)
+++ trunk/hudson/plugins/configurationslicing/src/test/java/configurationslicing/LogRotationSlicerTest.java	2012-05-18 14:46:07 UTC (rev 40573)
@@ -1,12 +1,13 @@
 package configurationslicing;
 
-import java.util.HashSet;
-import java.util.Set;
+import hudson.model.AbstractProject;
+import hudson.tasks.LogRotator;
 
+import java.util.ArrayList;
+import java.util.List;
+
 import org.jvnet.hudson.test.HudsonTestCase;
 
-import hudson.model.AbstractProject;
-import hudson.tasks.LogRotator;
 import configurationslicing.logrotator.LogRotationSlicer;
 import configurationslicing.logrotator.LogRotationSlicer.LogRotationBuildsSliceSpec;
 import configurationslicing.logrotator.LogRotationSlicer.LogRotationDaysSliceSpec;
@@ -29,7 +30,7 @@
 		assertEquals(item.getLogRotator(), daysToKeep, numToKeep, artifactDaysToKeep, artifactNumToKeep);
 		
 		numToKeep = 12345;
-		Set<String> set = new HashSet<String>();
+		List<String> set = new ArrayList<String>();
 		set.add(String.valueOf(numToKeep));
 		
 		LogRotationBuildsSliceSpec buildsSpec = new LogRotationBuildsSliceSpec();
@@ -38,7 +39,7 @@
 
 		
 		daysToKeep = 54321;
-		set = new HashSet<String>();
+		set = new ArrayList<String>();
 		set.add(String.valueOf(daysToKeep));
 		
 		LogRotationDaysSliceSpec daysSpec = new LogRotationDaysSliceSpec();

Modified: trunk/hudson/plugins/configurationslicing/src/test/java/configurationslicing/TimerSliceStringSlicerTest.java (40572 => 40573)


--- trunk/hudson/plugins/configurationslicing/src/test/java/configurationslicing/TimerSliceStringSlicerTest.java	2012-05-16 21:04:44 UTC (rev 40572)
+++ trunk/hudson/plugins/configurationslicing/src/test/java/configurationslicing/TimerSliceStringSlicerTest.java	2012-05-18 14:46:07 UTC (rev 40573)
@@ -3,9 +3,8 @@
 import hudson.model.AbstractProject;
 import hudson.triggers.Trigger;
 
-import java.util.LinkedHashSet;
+import java.util.ArrayList;
 import java.util.List;
-import java.util.Set;
 
 import org.jvnet.hudson.test.HudsonTestCase;
 
@@ -54,7 +53,7 @@
 		assertEquals(2, getRealValues(slice).size());
 		
 		assertEquals(1, project.getTriggers().size());
-		Set<String> set = new LinkedHashSet<String>(getRealValues(slice));
+		List<String> set = new ArrayList<String>(getRealValues(slice));
 		spec.setValues(project, set);
 		assertEquals(1, project.getTriggers().size());
 		Trigger timer = project.getTrigger(spec.getTriggerClass());

Reply via email to