From: <pat...@us...> - 2010-07-06 20:09:03
|
Revision: 1080 http://cishell.svn.sourceforge.net/cishell/?rev=1080&view=rev Author: pataphil Date: 2010-07-06 20:08:57 +0000 (Tue, 06 Jul 2010) Log Message: ----------- * Partially made Java 1.5. Modified Paths: -------------- trunk/core/org.cishell.utilities/src/org/cishell/utilities/ArrayListUtilities.java trunk/core/org.cishell.utilities/src/org/cishell/utilities/MapUtilities.java trunk/core/org.cishell.utilities/src/org/cishell/utilities/MutateParameterUtilities.java trunk/core/org.cishell.utilities/src/org/cishell/utilities/SetUtilities.java trunk/core/org.cishell.utilities/src/org/cishell/utilities/mutateParameter/ObjectClassDefinitionTransformer.java trunk/core/org.cishell.utilities/src/org/cishell/utilities/mutateParameter/dropdown/DropdownMutator.java Modified: trunk/core/org.cishell.utilities/src/org/cishell/utilities/ArrayListUtilities.java =================================================================== --- trunk/core/org.cishell.utilities/src/org/cishell/utilities/ArrayListUtilities.java 2010-07-01 20:13:22 UTC (rev 1079) +++ trunk/core/org.cishell.utilities/src/org/cishell/utilities/ArrayListUtilities.java 2010-07-06 20:08:57 UTC (rev 1080) @@ -1,40 +1,34 @@ package org.cishell.utilities; import java.util.ArrayList; -import java.util.Arrays; +import java.util.Collection; +import java.util.HashSet; import java.util.List; public class ArrayListUtilities { - public static ArrayList unionArrayLists(ArrayList arrayList1, - ArrayList arrayList2, - String[] keysToSkip, - String[] keysToAdd) { - ArrayList union = new ArrayList(); - - for (int ii = 0; ii < arrayList1.size(); ii++) { - Object element = arrayList1.get(ii); - - if (!union.contains(element) && - Arrays.binarySearch(keysToSkip, element) < 0) { + // TODO: Move this to CollectionUtilities. + public static<T> Collection<T> unionCollections( + Collection<T> items1, + Collection<T> items2, + Collection<T> keysToSkip) { + Collection<T> union = new HashSet<T>(); + + if (keysToSkip == null) { + keysToSkip = new HashSet<T>(); + } + + for (T element : items1) { + if (!union.contains(element) && !keysToSkip.contains(element)) { union.add(element); } } - - for (int ii = 0; ii < arrayList2.size(); ii++) { - Object element = arrayList2.get(ii); - - if (!union.contains(element)) { + + for (T element : items2) { + if (!union.contains(element) && !keysToSkip.contains(element)) { union.add(element); } } - for (int ii = 0; ii < keysToAdd.length; ii++) { - String keyToAdd = keysToAdd[ii]; - if (!union.contains(keyToAdd)) { - union.add(keyToAdd); - } - } - return union; } Modified: trunk/core/org.cishell.utilities/src/org/cishell/utilities/MapUtilities.java =================================================================== --- trunk/core/org.cishell.utilities/src/org/cishell/utilities/MapUtilities.java 2010-07-01 20:13:22 UTC (rev 1079) +++ trunk/core/org.cishell.utilities/src/org/cishell/utilities/MapUtilities.java 2010-07-06 20:08:57 UTC (rev 1080) @@ -1,24 +1,23 @@ package org.cishell.utilities; import java.util.ArrayList; +import java.util.Collection; import java.util.Map; -import java.util.Set; public class MapUtilities { - public static String[] getValidKeysOfTypesInMap( - Map map, String[] types, String[] keysToSkip, String[] keysToAdd) + public static<K, V> Collection<K> getValidKeysOfTypesInMap( + Map<K, V> map, Collection<V> types, Collection<K> keysToSkip) throws ColumnNotFoundException { - ArrayList workingKeys = new ArrayList(); - Set entrySet = map.entrySet(); - - for (int ii = 0; ii < types.length; ii++) { - String type = types[ii]; - ArrayList keysForType = + Collection<K> workingKeys = new ArrayList<K>(); + Collection<Map.Entry<K, V>> entrySet = map.entrySet(); + + for (V type : types) { + Collection<K> keysForType = SetUtilities.getKeysOfMapEntrySetWithValue(entrySet, type); - workingKeys = ArrayListUtilities.unionArrayLists( - workingKeys, keysForType, keysToSkip, keysToAdd); + workingKeys = + ArrayListUtilities.unionCollections(workingKeys, keysForType, keysToSkip); } - return (String[])workingKeys.toArray(new String[0]); + return workingKeys; } } \ No newline at end of file Modified: trunk/core/org.cishell.utilities/src/org/cishell/utilities/MutateParameterUtilities.java =================================================================== --- trunk/core/org.cishell.utilities/src/org/cishell/utilities/MutateParameterUtilities.java 2010-07-01 20:13:22 UTC (rev 1079) +++ trunk/core/org.cishell.utilities/src/org/cishell/utilities/MutateParameterUtilities.java 2010-07-06 20:08:57 UTC (rev 1080) @@ -2,6 +2,7 @@ import java.io.IOException; import java.util.ArrayList; +import java.util.Arrays; import java.util.Collection; import java.util.Map; @@ -23,8 +24,8 @@ public static AttributeDefinition formLabelAttributeDefinition( AttributeDefinition oldAttributeDefinition, Table table) throws ColumnNotFoundException { - String[] validStringColumnsInTable = - TableUtilities.getValidStringColumnNamesInTable(table); + Collection<String> validStringColumnsInTable = + Arrays.asList(TableUtilities.getValidStringColumnNamesInTable(table)); AttributeDefinition labelAttributeDefinition = cloneToDropdownAttributeDefinition( oldAttributeDefinition, validStringColumnsInTable, validStringColumnsInTable); @@ -35,7 +36,8 @@ public static AttributeDefinition formDateAttributeDefinition( AttributeDefinition oldAttributeDefinition, Table table) throws ColumnNotFoundException { - String[] validDateColumnsInTable = TableUtilities.getValidDateColumnNamesInTable(table); + Collection<String> validDateColumnsInTable = + Arrays.asList(TableUtilities.getValidDateColumnNamesInTable(table)); AttributeDefinition dateAttributeDefinition = cloneToDropdownAttributeDefinition( oldAttributeDefinition, validDateColumnsInTable, validDateColumnsInTable); @@ -46,8 +48,8 @@ public static AttributeDefinition formIntegerAttributeDefinition( AttributeDefinition oldAttributeDefinition, Table table) throws ColumnNotFoundException { - String[] validIntegerColumnsInTable = - TableUtilities.getValidIntegerColumnNamesInTable(table); + Collection<String> validIntegerColumnsInTable = + Arrays.asList(TableUtilities.getValidIntegerColumnNamesInTable(table)); AttributeDefinition integerAttributeDefinition = cloneToDropdownAttributeDefinition( oldAttributeDefinition, validIntegerColumnsInTable, validIntegerColumnsInTable); @@ -58,8 +60,8 @@ public static AttributeDefinition formNumberAttributeDefinition( AttributeDefinition oldAttributeDefinition, Table table) throws ColumnNotFoundException { - String[] validNumberColumnsInTable = - TableUtilities.getValidNumberColumnNamesInTable(table); + Collection<String> validNumberColumnsInTable = + Arrays.asList(TableUtilities.getValidNumberColumnNamesInTable(table)); AttributeDefinition numberAttributeDefinition = cloneToDropdownAttributeDefinition( oldAttributeDefinition, validNumberColumnsInTable, validNumberColumnsInTable); @@ -69,12 +71,12 @@ public static AttributeDefinition formAttributeDefinitionFromMap( AttributeDefinition oldAttributeDefinition, - Map<String, String> map, - String[] types, - String[] keysToSkip, + Map<String, String> attributes, + Collection<String> types, + Collection<String> keysToSkip, String[] keysToAdd) { - String[] validNumberKeysInMap = MapUtilities.getValidKeysOfTypesInMap( - map, types, keysToSkip, keysToAdd); + Collection<String> validNumberKeysInMap = + MapUtilities.getValidKeysOfTypesInMap(attributes, types, keysToSkip); AttributeDefinition numberAttributeDefinition = cloneToDropdownAttributeDefinition( oldAttributeDefinition, validNumberKeysInMap, validNumberKeysInMap); @@ -83,18 +85,20 @@ } public static AttributeDefinition cloneToDropdownAttributeDefinition( - AttributeDefinition oldAD, final String[] optionLabels, final String[] optionValues) { + AttributeDefinition oldAD, + final Collection<String> optionLabels, + final Collection<String> optionValues) { AttributeDefinitionTransformer transformer = new DefaultDropdownTransformer() { public boolean shouldTransform(AttributeDefinition ad) { return true; } public String[] transformOptionLabels(String[] oldOptionLabels) { - return optionLabels; + return optionLabels.toArray(new String[0]); } public String[] transformOptionValues(String[] oldOptionValues) { - return optionValues; + return optionValues.toArray(new String[0]); } }; Modified: trunk/core/org.cishell.utilities/src/org/cishell/utilities/SetUtilities.java =================================================================== --- trunk/core/org.cishell.utilities/src/org/cishell/utilities/SetUtilities.java 2010-07-01 20:13:22 UTC (rev 1079) +++ trunk/core/org.cishell.utilities/src/org/cishell/utilities/SetUtilities.java 2010-07-06 20:08:57 UTC (rev 1080) @@ -1,18 +1,18 @@ package org.cishell.utilities; -import java.util.ArrayList; +import java.util.Collection; +import java.util.HashSet; import java.util.Iterator; import java.util.Map; -import java.util.Set; public class SetUtilities { - public static ArrayList getKeysOfMapEntrySetWithValue(Set mapEntrySet, - Object value) { - ArrayList keysOfMapEntrySetWithValue = new ArrayList(); - Iterator mapEntrySetIterator = mapEntrySet.iterator(); - + public static<K, V> Collection<K> getKeysOfMapEntrySetWithValue( + Collection<Map.Entry<K, V>> mapEntries, V value) { + Collection<K> keysOfMapEntrySetWithValue = new HashSet<K>(); + Iterator<Map.Entry<K, V>> mapEntrySetIterator = mapEntries.iterator(); + while (mapEntrySetIterator.hasNext()) { - Map.Entry entry = (Map.Entry)mapEntrySetIterator.next(); + Map.Entry<K, V> entry = mapEntrySetIterator.next(); if (entry.getValue().equals(value)) { keysOfMapEntrySetWithValue.add(entry.getKey()); Modified: trunk/core/org.cishell.utilities/src/org/cishell/utilities/mutateParameter/ObjectClassDefinitionTransformer.java =================================================================== --- trunk/core/org.cishell.utilities/src/org/cishell/utilities/mutateParameter/ObjectClassDefinitionTransformer.java 2010-07-01 20:13:22 UTC (rev 1079) +++ trunk/core/org.cishell.utilities/src/org/cishell/utilities/mutateParameter/ObjectClassDefinitionTransformer.java 2010-07-06 20:08:57 UTC (rev 1080) @@ -1,13 +1,13 @@ package org.cishell.utilities.mutateParameter; -import java.util.ArrayList; +import java.util.Arrays; import java.util.Collection; import java.util.Collections; import java.util.Iterator; -import java.util.List; import org.cishell.reference.service.metatype.BasicObjectClassDefinition; import org.cishell.utilities.MutateParameterUtilities; +import org.cishell.utilities.mutateParameter.dropdown.DropdownTransformer; import org.osgi.service.metatype.AttributeDefinition; import org.osgi.service.metatype.ObjectClassDefinition; @@ -18,37 +18,40 @@ * @see ObjectClassDefinition#REQUIRED * @see ObjectClassDefinition#OPTIONAL */ - public static final List ATOMIC_ATTRIBUTE_DEFINITION_FILTERS; - static { - List l = new ArrayList(); - l.add(new Integer(ObjectClassDefinition.REQUIRED)); - l.add(new Integer(ObjectClassDefinition.OPTIONAL)); - ATOMIC_ATTRIBUTE_DEFINITION_FILTERS = Collections.unmodifiableList(l); - } + public static final Collection<Integer> ATOMIC_ATTRIBUTE_DEFINITION_FILTERS = + Collections.unmodifiableList(Arrays.asList( + new Integer(ObjectClassDefinition.REQUIRED), + new Integer(ObjectClassDefinition.OPTIONAL))); +// static { +// List l = new ArrayList(); +// l.add(new Integer(ObjectClassDefinition.REQUIRED)); +// l.add(new Integer(ObjectClassDefinition.OPTIONAL)); +// ATOMIC_ATTRIBUTE_DEFINITION_FILTERS = Collections.unmodifiableList(l); +// } /* Create newOCD from oldOCD by applying transformer * to each AttributeDefinition. */ public static BasicObjectClassDefinition apply( AttributeDefinitionTransformer transformer, - ObjectClassDefinition oldOCD, + ObjectClassDefinition oldObjectClassDefinition, Collection<String> attributesToIgnore) { BasicObjectClassDefinition newOCD = - MutateParameterUtilities.createNewParameters(oldOCD); + MutateParameterUtilities.createNewParameters(oldObjectClassDefinition); // For each kind of AttributeDefinition filter .. - for (Iterator filterIt = ATOMIC_ATTRIBUTE_DEFINITION_FILTERS.iterator(); + for (Iterator<Integer> filterIt = ATOMIC_ATTRIBUTE_DEFINITION_FILTERS.iterator(); filterIt.hasNext();) { - int filter = ((Integer) filterIt.next()).intValue(); + int filter = filterIt.next().intValue(); // Grab all matching AttributeDefinitions and transform them. - AttributeDefinition[] oldADs = - oldOCD.getAttributeDefinitions(filter); - - for (int ii = 0; ii < oldADs.length; ii++) { - if (!attributesToIgnore.contains(oldADs[ii].getID())) { + AttributeDefinition[] oldAttributeDefintions = + oldObjectClassDefinition.getAttributeDefinitions(filter); + + for (AttributeDefinition attributeDefinition : oldAttributeDefintions) { + if (!attributesToIgnore.contains(attributeDefinition.getID())) { newOCD.addAttributeDefinition( - filter, transformer.transform(oldADs[ii])); + filter, transformer.transform(attributeDefinition)); } } } @@ -58,16 +61,17 @@ // Convenience method for batching transformations. public static ObjectClassDefinition transform( - ObjectClassDefinition ocd, List transformers, Collection<String> attributesToIgnore) { - ObjectClassDefinition newOCD = ocd; + ObjectClassDefinition objectClassDefinition, + Collection<DropdownTransformer> transformers, + Collection<String> attributesToIgnore) { + ObjectClassDefinition newObjectClassDefinition = objectClassDefinition; - for (Iterator it = transformers.iterator(); it.hasNext();) { - AttributeDefinitionTransformer transformer = - (AttributeDefinitionTransformer) it.next(); - - newOCD = apply(transformer, newOCD, attributesToIgnore); + for (Iterator<DropdownTransformer> it = transformers.iterator(); it.hasNext();) { + DropdownTransformer transformer = it.next(); + newObjectClassDefinition = + apply(transformer, newObjectClassDefinition, attributesToIgnore); } - return newOCD; + return newObjectClassDefinition; } } \ No newline at end of file Modified: trunk/core/org.cishell.utilities/src/org/cishell/utilities/mutateParameter/dropdown/DropdownMutator.java =================================================================== --- trunk/core/org.cishell.utilities/src/org/cishell/utilities/mutateParameter/dropdown/DropdownMutator.java 2010-07-01 20:13:22 UTC (rev 1079) +++ trunk/core/org.cishell.utilities/src/org/cishell/utilities/mutateParameter/dropdown/DropdownMutator.java 2010-07-06 20:08:57 UTC (rev 1080) @@ -2,8 +2,8 @@ import java.util.ArrayList; import java.util.Arrays; +import java.util.Collection; import java.util.HashSet; -import java.util.List; import java.util.Set; import org.cishell.utilities.ArrayUtilities; @@ -19,31 +19,31 @@ * and mutate(ObjectClassDefinition) */ public class DropdownMutator { - private List transforms; + private Collection<DropdownTransformer> transforms; private Set<String> attributesToIgnore = new HashSet<String>(); public DropdownMutator() { - transforms = new ArrayList(); + this.transforms = new ArrayList<DropdownTransformer>(); } - public ObjectClassDefinition mutate(ObjectClassDefinition ocd) { + public ObjectClassDefinition mutate(ObjectClassDefinition objectClassDefinition) { return ObjectClassDefinitionTransformer.transform( - ocd, transforms, this.attributesToIgnore); + objectClassDefinition, this.transforms, this.attributesToIgnore); } - public void add(String id, List options, String defaultOption) { + public void add(String id, Collection<String> options, String defaultOption) { add(id, swapToFront(options, defaultOption)); } - public void add(String id, List options) { + public void add(String id, Collection<String> options) { add(id, options, options); } public void add( String id, - List optionLabels, + Collection<String> optionLabels, String defaultOptionLabel, - List optionValues, + Collection<String> optionValues, String defaultOptionValue) { add( id, @@ -51,7 +51,7 @@ swapToFront(optionValues, defaultOptionValue)); } - public void add(String id, List optionLabels, List optionValues) { + public void add(String id, Collection<String> optionLabels, Collection<String> optionValues) { add( id, (String[]) optionLabels.toArray(new String[0]), @@ -81,9 +81,7 @@ } public void add( - final String id, - final String[] optionLabels, - final String[] optionValues) { + final String id, final String[] optionLabels, final String[] optionValues) { if (!shouldIgnore(id)) { transforms.add( new DefaultDropdownTransformer() { @@ -110,8 +108,8 @@ return this.attributesToIgnore.contains(id); } - private static List swapToFront(List list, String target) { - String[] temp = (String[]) list.toArray(new String[]{}); + private static Collection<String> swapToFront(Collection<String> items, String target) { + String[] temp = (String[]) items.toArray(new String[]{}); return Arrays.asList(swapToFront(temp, target)); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |