|
From: <pat...@us...> - 2010-03-22 20:05:04
|
Revision: 1057
http://cishell.svn.sourceforge.net/cishell/?rev=1057&view=rev
Author: pataphil
Date: 2010-03-22 20:04:57 +0000 (Mon, 22 Mar 2010)
Log Message:
-----------
* Mutate Parameter utilities now allow attributes to be explicitly ignored.
* Reviewed by Joseph.
Modified Paths:
--------------
trunk/core/org.cishell.utilities/src/org/cishell/utilities/MutateParameterUtilities.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/MutateParameterUtilities.java
===================================================================
--- trunk/core/org.cishell.utilities/src/org/cishell/utilities/MutateParameterUtilities.java 2010-03-19 22:38:14 UTC (rev 1056)
+++ trunk/core/org.cishell.utilities/src/org/cishell/utilities/MutateParameterUtilities.java 2010-03-22 20:04:57 UTC (rev 1057)
@@ -1,6 +1,7 @@
package org.cishell.utilities;
import java.io.IOException;
+import java.util.ArrayList;
import java.util.Collection;
import java.util.LinkedHashMap;
@@ -154,7 +155,8 @@
}
};
- return ObjectClassDefinitionTransformer.apply(dropdownTransformer, oldOCD);
+ return ObjectClassDefinitionTransformer.apply(
+ dropdownTransformer, oldOCD, new ArrayList<String>());
}
public static BasicObjectClassDefinition mutateDefaultValue(
@@ -172,7 +174,8 @@
}
};
- return ObjectClassDefinitionTransformer.apply(transformer, oldOCD);
+ return ObjectClassDefinitionTransformer.apply(
+ transformer, oldOCD, new ArrayList<String>());
}
public static BasicObjectClassDefinition createNewParameters(
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-03-19 22:38:14 UTC (rev 1056)
+++ trunk/core/org.cishell.utilities/src/org/cishell/utilities/mutateParameter/ObjectClassDefinitionTransformer.java 2010-03-22 20:04:57 UTC (rev 1057)
@@ -1,6 +1,7 @@
package org.cishell.utilities.mutateParameter;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
@@ -30,7 +31,8 @@
*/
public static BasicObjectClassDefinition apply(
AttributeDefinitionTransformer transformer,
- ObjectClassDefinition oldOCD) {
+ ObjectClassDefinition oldOCD,
+ Collection<String> attributesToIgnore) {
BasicObjectClassDefinition newOCD =
MutateParameterUtilities.createNewParameters(oldOCD);
@@ -44,9 +46,10 @@
oldOCD.getAttributeDefinitions(filter);
for (int ii = 0; ii < oldADs.length; ii++) {
- newOCD.addAttributeDefinition(
- filter,
- transformer.transform(oldADs[ii]));
+ if (!attributesToIgnore.contains(oldADs[ii].getID())) {
+ newOCD.addAttributeDefinition(
+ filter, transformer.transform(oldADs[ii]));
+ }
}
}
@@ -55,14 +58,14 @@
// Convenience method for batching transformations.
public static ObjectClassDefinition transform(
- ObjectClassDefinition ocd, List transformers) {
+ ObjectClassDefinition ocd, List transformers, Collection<String> attributesToIgnore) {
ObjectClassDefinition newOCD = ocd;
for (Iterator it = transformers.iterator(); it.hasNext();) {
AttributeDefinitionTransformer transformer =
(AttributeDefinitionTransformer) it.next();
- newOCD = apply(transformer, newOCD);
+ newOCD = apply(transformer, newOCD, attributesToIgnore);
}
return newOCD;
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-03-19 22:38:14 UTC (rev 1056)
+++ trunk/core/org.cishell.utilities/src/org/cishell/utilities/mutateParameter/dropdown/DropdownMutator.java 2010-03-22 20:04:57 UTC (rev 1057)
@@ -2,8 +2,9 @@
import java.util.ArrayList;
import java.util.Arrays;
-import java.util.Iterator;
+import java.util.HashSet;
import java.util.List;
+import java.util.Set;
import org.cishell.utilities.ArrayUtilities;
import org.cishell.utilities.mutateParameter.ObjectClassDefinitionTransformer;
@@ -19,13 +20,15 @@
*/
public class DropdownMutator {
private List transforms;
+ private Set<String> attributesToIgnore = new HashSet<String>();
public DropdownMutator() {
transforms = new ArrayList();
}
public ObjectClassDefinition mutate(ObjectClassDefinition ocd) {
- return ObjectClassDefinitionTransformer.transform(ocd, transforms);
+ return ObjectClassDefinitionTransformer.transform(
+ ocd, transforms, this.attributesToIgnore);
}
public void add(String id, List options, String defaultOption) {
@@ -36,20 +39,23 @@
add(id, options, options);
}
- public void add(String id,
- List optionLabels,
- String defaultOptionLabel,
- List optionValues,
- String defaultOptionValue) {
- add(id,
- swapToFront(optionLabels, defaultOptionLabel),
- swapToFront(optionValues, defaultOptionValue));
+ public void add(
+ String id,
+ List optionLabels,
+ String defaultOptionLabel,
+ List optionValues,
+ String defaultOptionValue) {
+ add(
+ id,
+ swapToFront(optionLabels, defaultOptionLabel),
+ swapToFront(optionValues, defaultOptionValue));
}
public void add(String id, List optionLabels, List optionValues) {
- add(id,
- (String[]) optionLabels.toArray(new String[0]),
- (String[]) optionValues.toArray(new String[0]));
+ add(
+ id,
+ (String[]) optionLabels.toArray(new String[0]),
+ (String[]) optionValues.toArray(new String[0]));
}
public void add(String id, String[] options, String defaultOption) {
@@ -60,34 +66,49 @@
add(id, options, options);
}
- public void add(final String id,
- final String[] optionLabels,
- String defaultOptionLabel,
- final String[] optionValues,
- String defaultOptionValue) {
- add(id,
+ public void add(
+ final String id,
+ final String[] optionLabels,
+ String defaultOptionLabel,
+ final String[] optionValues,
+ String defaultOptionValue) {
+ if (!shouldIgnore(id)) {
+ add(
+ id,
swapToFront(optionLabels, defaultOptionLabel),
swapToFront(optionValues, defaultOptionValue));
+ }
}
- public void add(final String id,
- final String[] optionLabels,
- final String[] optionValues) {
- transforms.add(
- new DefaultDropdownTransformer() {
- public boolean shouldTransform(AttributeDefinition ad) {
- return id.equals(ad.getID());
- }
-
- public String[] transformOptionLabels(String[] oldOptionLabels) {
- return optionLabels;
- }
-
- public String[] transformOptionValues(String[] oldOptionValues) {
- return optionValues;
- }
- });
+ public void add(
+ final String id,
+ final String[] optionLabels,
+ final String[] optionValues) {
+ if (!shouldIgnore(id)) {
+ transforms.add(
+ new DefaultDropdownTransformer() {
+ public boolean shouldTransform(AttributeDefinition ad) {
+ return id.equals(ad.getID());
+ }
+
+ public String[] transformOptionLabels(String[] oldOptionLabels) {
+ return optionLabels;
+ }
+
+ public String[] transformOptionValues(String[] oldOptionValues) {
+ return optionValues;
+ }
+ });
+ }
}
+
+ public void ignore(String id) {
+ this.attributesToIgnore.add(id);
+ }
+
+ public boolean shouldIgnore(String id) {
+ return this.attributesToIgnore.contains(id);
+ }
private static List swapToFront(List list, String target) {
String[] temp = (String[]) list.toArray(new String[]{});
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|