|
From: <jrb...@us...> - 2009-08-03 16:41:46
|
Revision: 913
http://cishell.svn.sourceforge.net/cishell/?rev=913&view=rev
Author: jrbibers
Date: 2009-08-03 16:41:30 +0000 (Mon, 03 Aug 2009)
Log Message:
-----------
Added DropdownMutator. Use this class in the mutateParameters method of a ParameterMutator when you wish to replace some AttributeDefinition in an ObjectClassDefinition with a dropdown list of options, whose labels and values you supply. For an example usage, see edu.iu.scipolicy.visualization.geomaps.GeoMapsCirclesFactory.mutateParameters(Data[], ObjectClassDefinition).
Modified Paths:
--------------
trunk/core/org.cishell.utilities/META-INF/MANIFEST.MF
trunk/core/org.cishell.utilities/src/org/cishell/utilities/AlgorithmUtilities.java
trunk/core/org.cishell.utilities/src/org/cishell/utilities/DefaultDictionary.java
trunk/core/org.cishell.utilities/src/org/cishell/utilities/FileUtilities.java
trunk/core/org.cishell.utilities/src/org/cishell/utilities/MutateParameterUtilities.java
trunk/core/org.cishell.utilities/src/org/cishell/utilities/mutateParameter/NullDropdownTransformer.java
trunk/core/org.cishell.utilities/src/org/cishell/utilities/mutateParameter/ObjectClassDefinitionTransformer.java
Added Paths:
-----------
trunk/core/org.cishell.utilities/src/org/cishell/utilities/mutateParameter/DropdownMutator.java
Modified: trunk/core/org.cishell.utilities/META-INF/MANIFEST.MF
===================================================================
--- trunk/core/org.cishell.utilities/META-INF/MANIFEST.MF 2009-08-03 16:33:43 UTC (rev 912)
+++ trunk/core/org.cishell.utilities/META-INF/MANIFEST.MF 2009-08-03 16:41:30 UTC (rev 913)
@@ -4,7 +4,9 @@
Bundle-SymbolicName: org.cishell.utilities
Bundle-Version: 1.0.0
Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Import-Package: org.cishell.framework.algorithm;version="1.0.0",
+Import-Package: org.cishell.framework;version="1.0.0",
+ org.cishell.framework.algorithm;version="1.0.0",
+ org.cishell.framework.data,
org.cishell.reference.service.metatype,
org.osgi.framework;version="1.4.0",
org.osgi.service.metatype;version="1.1.0",
Modified: trunk/core/org.cishell.utilities/src/org/cishell/utilities/AlgorithmUtilities.java
===================================================================
--- trunk/core/org.cishell.utilities/src/org/cishell/utilities/AlgorithmUtilities.java 2009-08-03 16:33:43 UTC (rev 912)
+++ trunk/core/org.cishell.utilities/src/org/cishell/utilities/AlgorithmUtilities.java 2009-08-03 16:41:30 UTC (rev 913)
@@ -1,6 +1,8 @@
package org.cishell.utilities;
import org.cishell.framework.algorithm.AlgorithmFactory;
+import org.cishell.framework.data.BasicData;
+import org.cishell.framework.data.Data;
import org.osgi.framework.BundleContext;
import org.osgi.framework.InvalidSyntaxException;
import org.osgi.framework.ServiceReference;
@@ -45,4 +47,10 @@
return getAlgorithmFactoryByFilter(filter, bundleContext);
}
+
+ public static Data[] cloneSingletonData(Data[] data) {
+ return new Data[]{ new BasicData(data[0].getMetadata(),
+ data[0].getData(),
+ data[0].getFormat()) };
+ }
}
\ No newline at end of file
Modified: trunk/core/org.cishell.utilities/src/org/cishell/utilities/DefaultDictionary.java
===================================================================
--- trunk/core/org.cishell.utilities/src/org/cishell/utilities/DefaultDictionary.java 2009-08-03 16:33:43 UTC (rev 912)
+++ trunk/core/org.cishell.utilities/src/org/cishell/utilities/DefaultDictionary.java 2009-08-03 16:41:30 UTC (rev 913)
@@ -8,9 +8,8 @@
Object defaultValue;
Dictionary wrappedDictionary;
- public DefaultDictionary
- (Object defaultValue, Dictionary wrappedDictionary)
- {
+ public DefaultDictionary(
+ Object defaultValue, Dictionary wrappedDictionary) {
this.defaultValue = defaultValue;
this.wrappedDictionary = wrappedDictionary;
}
Modified: trunk/core/org.cishell.utilities/src/org/cishell/utilities/FileUtilities.java
===================================================================
--- trunk/core/org.cishell.utilities/src/org/cishell/utilities/FileUtilities.java 2009-08-03 16:33:43 UTC (rev 912)
+++ trunk/core/org.cishell.utilities/src/org/cishell/utilities/FileUtilities.java 2009-08-03 16:41:30 UTC (rev 913)
@@ -74,8 +74,8 @@
// If the creation of the temporary file failed, throw an exception.
if (temporaryFile == null) {
- throw new IOException
- ("Failed to generate a file in the temporary directory.");
+ throw new IOException(
+ "Failed to generate a file in the temporary directory.");
}
return temporaryFile;
Modified: trunk/core/org.cishell.utilities/src/org/cishell/utilities/MutateParameterUtilities.java
===================================================================
--- trunk/core/org.cishell.utilities/src/org/cishell/utilities/MutateParameterUtilities.java 2009-08-03 16:33:43 UTC (rev 912)
+++ trunk/core/org.cishell.utilities/src/org/cishell/utilities/MutateParameterUtilities.java 2009-08-03 16:41:30 UTC (rev 913)
@@ -1,6 +1,7 @@
package org.cishell.utilities;
import java.io.IOException;
+import java.util.Collection;
import java.util.LinkedHashMap;
import org.cishell.reference.service.metatype.BasicObjectClassDefinition;
@@ -116,6 +117,17 @@
return transformer.transform(oldAD);
}
+ public static BasicObjectClassDefinition mutateToDropdown(
+ ObjectClassDefinition oldOCD,
+ final String parameterID,
+ Collection optionLabels,
+ Collection optionValues) {
+ return mutateToDropdown(oldOCD,
+ parameterID,
+ (String[]) optionLabels.toArray(new String[0]),
+ (String[]) optionValues.toArray(new String[0]));
+ }
+
/* Convenience method for a common mutation:
* Replacing a parameter (identified by its ID) with a dropdown list of
* options.
Added: trunk/core/org.cishell.utilities/src/org/cishell/utilities/mutateParameter/DropdownMutator.java
===================================================================
--- trunk/core/org.cishell.utilities/src/org/cishell/utilities/mutateParameter/DropdownMutator.java (rev 0)
+++ trunk/core/org.cishell.utilities/src/org/cishell/utilities/mutateParameter/DropdownMutator.java 2009-08-03 16:41:30 UTC (rev 913)
@@ -0,0 +1,49 @@
+package org.cishell.utilities.mutateParameter;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+
+import org.osgi.service.metatype.AttributeDefinition;
+import org.osgi.service.metatype.ObjectClassDefinition;
+
+public class DropdownMutator {
+ private List transforms;
+
+ public DropdownMutator() {
+ transforms = new ArrayList();
+ }
+
+ public void add(String id, Collection options) {
+ add(id, options, options);
+ }
+
+ public void add(String id, Collection optionLabels, Collection optionValues) {
+ add(id, (String[]) optionLabels.toArray(new String[0]), (String[]) optionValues.toArray(new String[0]));
+ }
+
+ public void add(String id, String[] options) {
+ add(id, options, options);
+ }
+
+ public void add(final String id, final String[] optionLabels, final String[] optionValues) {
+ transforms.add(
+ new NullDropdownTransformer() {
+ 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 ObjectClassDefinition mutate(ObjectClassDefinition ocd) {
+ return ObjectClassDefinitionTransformer.transform(ocd, transforms);
+ }
+}
Modified: trunk/core/org.cishell.utilities/src/org/cishell/utilities/mutateParameter/NullDropdownTransformer.java
===================================================================
--- trunk/core/org.cishell.utilities/src/org/cishell/utilities/mutateParameter/NullDropdownTransformer.java 2009-08-03 16:33:43 UTC (rev 912)
+++ trunk/core/org.cishell.utilities/src/org/cishell/utilities/mutateParameter/NullDropdownTransformer.java 2009-08-03 16:41:30 UTC (rev 913)
@@ -10,9 +10,7 @@
* transformOptionLabels, and transformOptionValues.
*/
public abstract class NullDropdownTransformer extends DropdownTransformer {
- public boolean shouldTransform(AttributeDefinition ad) {
- return false;
- }
+ public abstract boolean shouldTransform(AttributeDefinition ad);
public String transformID(String oldID) {
return oldID;
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 2009-08-03 16:33:43 UTC (rev 912)
+++ trunk/core/org.cishell.utilities/src/org/cishell/utilities/mutateParameter/ObjectClassDefinitionTransformer.java 2009-08-03 16:41:30 UTC (rev 913)
@@ -36,9 +36,9 @@
/* Convenience method for batching transformations.
* TODO Untested
*/
- public static BasicObjectClassDefinition transform(
- BasicObjectClassDefinition oldOCD, List transformers) {
- BasicObjectClassDefinition newOCD = oldOCD;
+ public static ObjectClassDefinition transform(
+ ObjectClassDefinition ocd, List transformers) {
+ ObjectClassDefinition newOCD = ocd;
for ( Iterator it = transformers.iterator(); it.hasNext(); ) {
AttributeDefinitionTransformer transformer =
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|