Author: mes
Date: 2012-03-13 17:25:21 -0700 (Tue, 13 Mar 2012)
New Revision: 28528
Added:
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/tunables/BooleanTunableHandler.java
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/tunables/BoundedDoubleTunableHandler.java
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/tunables/BoundedFloatTunableHandler.java
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/tunables/BoundedIntTunableHandler.java
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/tunables/BoundedLongTunableHandler.java
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/tunables/DoubleTunableHandler.java
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/tunables/FloatTunableHandler.java
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/tunables/ListMultipleTunableHandler.java
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/tunables/ListSingleTunableHandler.java
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/tunables/LongTunableHandler.java
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/tunables/SimpleStringTunableHandlerFactory.java
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/tunables/StringTunableHandlerFactory.java
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/tunables/URLTunableHandler.java
Removed:
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/tunables/CommandTunableHandlerFactory.java
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/tunables/DummyTunableHandler.java
Modified:
core3/gui-distribution/trunk/features/src/main/resources/features.xml
core3/impl/trunk/command-executor-impl/pom.xml
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/CommandExecutorImpl.java
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/CyActivator.java
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/TFExecutor.java
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/tunables/CommandTunableInterceptorImpl.java
Log:
Updated command executor and added to the distribution
Modified: core3/gui-distribution/trunk/features/src/main/resources/features.xml
===================================================================
--- core3/gui-distribution/trunk/features/src/main/resources/features.xml
2012-03-14 00:12:58 UTC (rev 28527)
+++ core3/gui-distribution/trunk/features/src/main/resources/features.xml
2012-03-14 00:25:21 UTC (rev 28528)
@@ -107,6 +107,7 @@
<bundle
start-level="135">mvn:org.cytoscape/application-impl/${cytoscape.impl.version}</bundle>
<bundle
start-level="140">mvn:org.cytoscape/datasource-biogrid-impl/${cytoscape.impl.version}</bundle>
+ <bundle
start-level="140">mvn:org.cytoscape/command-executor-impl/${cytoscape.impl.version}</bundle>
<bundle
start-level="140">mvn:org.cytoscape/session-impl/${cytoscape.impl.version}</bundle>
<bundle
start-level="140">mvn:org.cytoscape/ding-customgraphics-manager-impl/${cytoscape.impl.version}</bundle>
Modified: core3/impl/trunk/command-executor-impl/pom.xml
===================================================================
--- core3/impl/trunk/command-executor-impl/pom.xml 2012-03-14 00:12:58 UTC
(rev 28527)
+++ core3/impl/trunk/command-executor-impl/pom.xml 2012-03-14 00:25:21 UTC
(rev 28528)
@@ -69,12 +69,6 @@
<dependencies>
<dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-core</artifactId>
- <version>${spring.version}</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
<groupId>org.cytoscape</groupId>
<artifactId>core-task-api</artifactId>
</dependency>
Modified:
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/CommandExecutorImpl.java
===================================================================
---
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/CommandExecutorImpl.java
2012-03-14 00:12:58 UTC (rev 28527)
+++
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/CommandExecutorImpl.java
2012-03-14 00:25:21 UTC (rev 28528)
@@ -21,11 +21,12 @@
private final Map<String, Map<String,Executor>> commandExecutorMap =
new
HashMap<String,Map<String,Executor>>();
- private final CommandTunableInterceptorImpl interceptor = new
CommandTunableInterceptorImpl();
+ private final CommandTunableInterceptorImpl interceptor;
private final CyApplicationManager appMgr;
- public CommandExecutorImpl(CyApplicationManager appMgr) {
+ public CommandExecutorImpl(CyApplicationManager appMgr,
CommandTunableInterceptorImpl interceptor) {
this.appMgr = appMgr;
+ this.interceptor = interceptor;
}
public void addTaskFactory(TaskFactory tf, Map props) {
Modified:
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/CyActivator.java
===================================================================
---
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/CyActivator.java
2012-03-14 00:12:58 UTC (rev 28527)
+++
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/CyActivator.java
2012-03-14 00:25:21 UTC (rev 28528)
@@ -1,18 +1,16 @@
-
-
-
-
package org.cytoscape.command.internal;
import org.cytoscape.application.CyApplicationManager;
import org.cytoscape.command.internal.CommandExecutorImpl;
import org.cytoscape.command.internal.CommandExecutorTaskFactory;
+import org.cytoscape.command.internal.tunables.*;
import org.cytoscape.work.TaskFactory;
import org.cytoscape.task.NetworkTaskFactory;
import org.cytoscape.work.TaskFactory;
+import org.cytoscape.work.util.*;
import org.osgi.framework.BundleContext;
@@ -20,6 +18,8 @@
import java.util.Properties;
+import java.io.File;
+import java.net.URL;
public class CyActivator extends AbstractCyActivator {
@@ -31,20 +31,49 @@
public void start(BundleContext bc) {
CyApplicationManager cyApplicationManagerServiceRef =
getService(bc,CyApplicationManager.class);
+ CommandTunableInterceptorImpl interceptor = new
CommandTunableInterceptorImpl();
- CommandExecutorImpl commandExecutorImpl = new
CommandExecutorImpl(cyApplicationManagerServiceRef);
+ CommandExecutorImpl commandExecutorImpl = new
CommandExecutorImpl(cyApplicationManagerServiceRef,interceptor);
CommandExecutorTaskFactory commandExecutorTaskFactory = new
CommandExecutorTaskFactory(commandExecutorImpl);
Properties commandExecutorTaskFactoryProps = new Properties();
-
commandExecutorTaskFactoryProps.setProperty("preferredMenu","Apps");
- commandExecutorTaskFactoryProps.setProperty("title","Load
Command File");
+
commandExecutorTaskFactoryProps.setProperty("preferredMenu","Tools");
+ commandExecutorTaskFactoryProps.setProperty("title","Run
Commands...");
registerService(bc,commandExecutorTaskFactory,TaskFactory.class,
commandExecutorTaskFactoryProps);
registerServiceListener(bc,commandExecutorImpl,"addTaskFactory","removeTaskFactory",TaskFactory.class);
registerServiceListener(bc,commandExecutorImpl,"addNetworkTaskFactory","removeNetworkTaskFactory",NetworkTaskFactory.class);
+
registerServiceListener(bc,interceptor,"addTunableHandlerFactory","removeTunableHandlerFactory",StringTunableHandlerFactory.class);
+ StringTunableHandlerFactory<FileTunableHandler> fileTHF = new
SimpleStringTunableHandlerFactory<FileTunableHandler>(FileTunableHandler.class,
File.class);
+ StringTunableHandlerFactory<IntTunableHandler> intTHF = new
SimpleStringTunableHandlerFactory<IntTunableHandler>(IntTunableHandler.class,
Integer.class, int.class);
+ StringTunableHandlerFactory<DoubleTunableHandler> doubleTHF =
new
SimpleStringTunableHandlerFactory<DoubleTunableHandler>(DoubleTunableHandler.class,
Double.class, double.class);
+ StringTunableHandlerFactory<FloatTunableHandler> floatTHF = new
SimpleStringTunableHandlerFactory<FloatTunableHandler>(FloatTunableHandler.class,
Float.class, float.class);
+ StringTunableHandlerFactory<LongTunableHandler> longTHF = new
SimpleStringTunableHandlerFactory<LongTunableHandler>(LongTunableHandler.class,
Long.class, long.class);
+ StringTunableHandlerFactory<BooleanTunableHandler> booleanTHF =
new
SimpleStringTunableHandlerFactory<BooleanTunableHandler>(BooleanTunableHandler.class,
Boolean.class, boolean.class);
+ StringTunableHandlerFactory<BoundedIntTunableHandler>
boundedIntTHF = new
SimpleStringTunableHandlerFactory<BoundedIntTunableHandler>(BoundedIntTunableHandler.class,
BoundedInteger.class);
+ StringTunableHandlerFactory<BoundedDoubleTunableHandler>
boundedDoubleTHF = new
SimpleStringTunableHandlerFactory<BoundedDoubleTunableHandler>(BoundedDoubleTunableHandler.class,
BoundedDouble.class);
+ StringTunableHandlerFactory<BoundedFloatTunableHandler>
boundedFloatTHF = new
SimpleStringTunableHandlerFactory<BoundedFloatTunableHandler>(BoundedFloatTunableHandler.class,
BoundedFloat.class);
+ StringTunableHandlerFactory<BoundedLongTunableHandler>
boundedLongTHF = new
SimpleStringTunableHandlerFactory<BoundedLongTunableHandler>(BoundedLongTunableHandler.class,
BoundedLong.class);
+ StringTunableHandlerFactory<URLTunableHandler> urlTHF = new
SimpleStringTunableHandlerFactory<URLTunableHandler>(URLTunableHandler.class,
URL.class);
+ StringTunableHandlerFactory<ListSingleTunableHandler>
listSingleTHF = new
SimpleStringTunableHandlerFactory<ListSingleTunableHandler>(ListSingleTunableHandler.class,
ListSingleSelection.class);
+ StringTunableHandlerFactory<ListMultipleTunableHandler>
listMultipleTHF = new
SimpleStringTunableHandlerFactory<ListMultipleTunableHandler>(ListMultipleTunableHandler.class,
ListMultipleSelection.class);
+
+
registerService(bc,fileTHF,StringTunableHandlerFactory.class,new Properties());
+ registerService(bc,intTHF,StringTunableHandlerFactory.class,new
Properties());
+
registerService(bc,doubleTHF,StringTunableHandlerFactory.class,new
Properties());
+
registerService(bc,floatTHF,StringTunableHandlerFactory.class,new Properties());
+
registerService(bc,longTHF,StringTunableHandlerFactory.class,new Properties());
+
registerService(bc,booleanTHF,StringTunableHandlerFactory.class,new
Properties());
+
registerService(bc,boundedIntTHF,StringTunableHandlerFactory.class,new
Properties());
+
registerService(bc,boundedDoubleTHF,StringTunableHandlerFactory.class,new
Properties());
+
registerService(bc,boundedFloatTHF,StringTunableHandlerFactory.class,new
Properties());
+
registerService(bc,boundedLongTHF,StringTunableHandlerFactory.class,new
Properties());
+ registerService(bc,urlTHF,StringTunableHandlerFactory.class,new
Properties());
+
registerService(bc,listSingleTHF,StringTunableHandlerFactory.class,new
Properties());
+
registerService(bc,listMultipleTHF,StringTunableHandlerFactory.class,new
Properties());
}
}
Modified:
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/TFExecutor.java
===================================================================
---
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/TFExecutor.java
2012-03-14 00:12:58 UTC (rev 28527)
+++
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/TFExecutor.java
2012-03-14 00:25:21 UTC (rev 28528)
@@ -29,9 +29,8 @@
TaskIterator ti = tf.createTaskIterator();
while (ti.hasNext()) {
Task t = ti.next();
- interceptor.setArgString(args);
- //interceptor.loadTunables(t);
- interceptor.execUI(t);
+ interceptor.setConfigurationContext(args);
+ interceptor.validateAndWriteBackTunables(t);
t.run(tm);
}
} catch (Exception e) {
Added:
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/tunables/BooleanTunableHandler.java
===================================================================
---
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/tunables/BooleanTunableHandler.java
(rev 0)
+++
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/tunables/BooleanTunableHandler.java
2012-03-14 00:25:21 UTC (rev 28528)
@@ -0,0 +1,14 @@
+
+package org.cytoscape.command.internal.tunables;
+
+import org.cytoscape.work.Tunable;
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+
+public class BooleanTunableHandler extends AbstractStringTunableHandler {
+ public BooleanTunableHandler(Field f, Object o, Tunable t) { super(f,o,t);
}
+ public BooleanTunableHandler(Method get, Method set, Object o, Tunable t)
{ super(get,set,o,t); }
+ public Object processArg(String arg) throws Exception {
+ return Boolean.parseBoolean(arg);
+ }
+}
Added:
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/tunables/BoundedDoubleTunableHandler.java
===================================================================
---
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/tunables/BoundedDoubleTunableHandler.java
(rev 0)
+++
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/tunables/BoundedDoubleTunableHandler.java
2012-03-14 00:25:21 UTC (rev 28528)
@@ -0,0 +1,18 @@
+
+package org.cytoscape.command.internal.tunables;
+
+import org.cytoscape.work.Tunable;
+import org.cytoscape.work.util.BoundedDouble;
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+
+public class BoundedDoubleTunableHandler extends AbstractStringTunableHandler {
+ public BoundedDoubleTunableHandler(Field f, Object o, Tunable t) {
super(f,o,t); }
+ public BoundedDoubleTunableHandler(Method get, Method set, Object o,
Tunable t) { super(get,set,o,t); }
+ public Object processArg(String arg) throws Exception {
+ double value = Double.parseDouble(arg);
+ BoundedDouble bi = (BoundedDouble)getValue();
+ bi.setValue(value);
+ return bi;
+ }
+}
Added:
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/tunables/BoundedFloatTunableHandler.java
===================================================================
---
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/tunables/BoundedFloatTunableHandler.java
(rev 0)
+++
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/tunables/BoundedFloatTunableHandler.java
2012-03-14 00:25:21 UTC (rev 28528)
@@ -0,0 +1,18 @@
+
+package org.cytoscape.command.internal.tunables;
+
+import org.cytoscape.work.Tunable;
+import org.cytoscape.work.util.BoundedFloat;
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+
+public class BoundedFloatTunableHandler extends AbstractStringTunableHandler {
+ public BoundedFloatTunableHandler(Field f, Object o, Tunable t) {
super(f,o,t); }
+ public BoundedFloatTunableHandler(Method get, Method set, Object o,
Tunable t) { super(get,set,o,t); }
+ public Object processArg(String arg) throws Exception {
+ float value = Float.parseFloat(arg);
+ BoundedFloat bi = (BoundedFloat)getValue();
+ bi.setValue(value);
+ return bi;
+ }
+}
Added:
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/tunables/BoundedIntTunableHandler.java
===================================================================
---
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/tunables/BoundedIntTunableHandler.java
(rev 0)
+++
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/tunables/BoundedIntTunableHandler.java
2012-03-14 00:25:21 UTC (rev 28528)
@@ -0,0 +1,18 @@
+
+package org.cytoscape.command.internal.tunables;
+
+import org.cytoscape.work.Tunable;
+import org.cytoscape.work.util.BoundedInteger;
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+
+public class BoundedIntTunableHandler extends AbstractStringTunableHandler {
+ public BoundedIntTunableHandler(Field f, Object o, Tunable t) {
super(f,o,t); }
+ public BoundedIntTunableHandler(Method get, Method set, Object o, Tunable
t) { super(get,set,o,t); }
+ public Object processArg(String arg) throws Exception {
+ int value = Integer.parseInt(arg);
+ BoundedInteger bi = (BoundedInteger)getValue();
+ bi.setValue(value);
+ return bi;
+ }
+}
Added:
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/tunables/BoundedLongTunableHandler.java
===================================================================
---
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/tunables/BoundedLongTunableHandler.java
(rev 0)
+++
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/tunables/BoundedLongTunableHandler.java
2012-03-14 00:25:21 UTC (rev 28528)
@@ -0,0 +1,18 @@
+
+package org.cytoscape.command.internal.tunables;
+
+import org.cytoscape.work.Tunable;
+import org.cytoscape.work.util.BoundedLong;
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+
+public class BoundedLongTunableHandler extends AbstractStringTunableHandler {
+ public BoundedLongTunableHandler(Field f, Object o, Tunable t) {
super(f,o,t); }
+ public BoundedLongTunableHandler(Method get, Method set, Object o, Tunable
t) { super(get,set,o,t); }
+ public Object processArg(String arg) throws Exception {
+ long value = Long.parseLong(arg);
+ BoundedLong bi = (BoundedLong)getValue();
+ bi.setValue(value);
+ return bi;
+ }
+}
Deleted:
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/tunables/CommandTunableHandlerFactory.java
===================================================================
---
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/tunables/CommandTunableHandlerFactory.java
2012-03-14 00:12:58 UTC (rev 28527)
+++
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/tunables/CommandTunableHandlerFactory.java
2012-03-14 00:25:21 UTC (rev 28528)
@@ -1,97 +0,0 @@
-package org.cytoscape.command.internal.tunables;
-
-
-import java.io.File;
-import java.io.InputStream;
-import java.lang.reflect.Field;
-import java.lang.reflect.Method;
-import java.net.URL;
-
-import org.cytoscape.work.Tunable;
-import org.cytoscape.work.TunableHandlerFactory;
-import org.cytoscape.work.TunableHandler;
-import org.cytoscape.work.util.BoundedDouble;
-import org.cytoscape.work.util.BoundedFloat;
-import org.cytoscape.work.util.BoundedInteger;
-import org.cytoscape.work.util.BoundedLong;
-import org.cytoscape.work.util.ListMultipleSelection;
-import org.cytoscape.work.util.ListSingleSelection;
-
-
-public class CommandTunableHandlerFactory implements
TunableHandlerFactory<StringTunableHandler> {
-
-
- public StringTunableHandler createTunableHandler(final Method getter,
final Method setter, final Object instance, final Tunable tunable) {
- final Class<?> type = getter.getReturnType();
-
- if (type == Boolean.class || type == boolean.class)
- return new DummyTunableHandler(getter, setter,
instance, tunable);
- if (type == String.class)
- return new DummyTunableHandler(getter, setter,
instance, tunable);
- if (type == Integer.class || type == int.class)
- return new IntTunableHandler(getter, setter, instance,
tunable);
- if (type == Double.class || type == double.class)
- return new DummyTunableHandler(getter, setter,
instance, tunable);
- if (type == Float.class || type == float.class)
- return new DummyTunableHandler(getter, setter,
instance, tunable);
- if (type == Long.class || type == long.class)
- return new DummyTunableHandler(getter, setter,
instance, tunable);
- if (type == BoundedInteger.class)
- return new DummyTunableHandler(getter, setter,
instance, tunable);
- if (type == BoundedLong.class)
- return new DummyTunableHandler(getter, setter,
instance, tunable);
- if (type == BoundedFloat.class)
- return new DummyTunableHandler(getter, setter,
instance, tunable);
- if (type == BoundedDouble.class)
- return new DummyTunableHandler(getter, setter,
instance, tunable);
- if (type == ListSingleSelection.class)
- return new DummyTunableHandler(getter, setter,
instance, tunable);
- if (type == ListMultipleSelection.class)
- return new DummyTunableHandler(getter, setter,
instance, tunable);
- if (type == File.class)
- return new FileTunableHandler(getter, setter, instance,
tunable);
- if (type == URL.class)
- return new DummyTunableHandler(getter, setter,
instance, tunable);
- if (type == InputStream.class)
- return new DummyTunableHandler(getter, setter,
instance, tunable);
-
- return null;
- }
-
- public StringTunableHandler createTunableHandler(final Field field,
final Object instance, final Tunable tunable) {
- final Class<?> type = field.getType();
-
- if (type == Boolean.class || type == boolean.class)
- return new DummyTunableHandler(field, instance,
tunable);
- if (type == String.class)
- return new DummyTunableHandler(field, instance,
tunable);
- if (type == Integer.class || type == int.class)
- return new IntTunableHandler(field, instance, tunable);
- if (type == Double.class || type == double.class)
- return new DummyTunableHandler(field, instance,
tunable);
- if (type == Float.class || type == float.class)
- return new DummyTunableHandler(field, instance,
tunable);
- if (type == Long.class || type == long.class)
- return new DummyTunableHandler(field, instance,
tunable);
- if (type == BoundedInteger.class)
- return new DummyTunableHandler(field, instance,
tunable);
- if (type == BoundedLong.class)
- return new DummyTunableHandler(field, instance,
tunable);
- if (type == BoundedFloat.class)
- return new DummyTunableHandler(field, instance,
tunable);
- if (type == BoundedDouble.class)
- return new DummyTunableHandler(field, instance,
tunable);
- if (type == ListSingleSelection.class)
- return new DummyTunableHandler(field, instance,
tunable);
- if (type == ListMultipleSelection.class)
- return new DummyTunableHandler(field, instance,
tunable);
- if (type == File.class)
- return new FileTunableHandler(field, instance, tunable);
- if (type == URL.class)
- return new DummyTunableHandler(field, instance,
tunable);
- if (type == InputStream.class)
- return new DummyTunableHandler(field, instance,
tunable);
-
- return null;
- }
-}
Modified:
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/tunables/CommandTunableInterceptorImpl.java
===================================================================
---
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/tunables/CommandTunableInterceptorImpl.java
2012-03-14 00:12:58 UTC (rev 28527)
+++
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/tunables/CommandTunableInterceptorImpl.java
2012-03-14 00:25:21 UTC (rev 28528)
@@ -10,48 +10,37 @@
public class CommandTunableInterceptorImpl extends
AbstractTunableInterceptor<StringTunableHandler> {
+
private static final Logger logger =
LoggerFactory.getLogger(CommandTunableInterceptorImpl.class);
private String args;
- public boolean execUI(Object... objs) {
- return validateAndWriteBackTunables(objs);
+ public void setConfigurationContext(Object args) {
+ this.args = (String)args;
}
- public void setArgString(String args) {
- this.args = args;
- }
-
- /**
- * This method calls {@link AbstractTunableInterceptor.loadTunables}
with the
- * unwrapped object instead of the Spring proxy object, which is
provided as
- * an argument.
- * @param obj The Spring proxy object from which we'd like the raw
object.
- */
- public void loadTunables(final Object obj) {
- super.loadTunables(obj);
- }
-
- public boolean validateAndWriteBackTunables(Object... objs) {
+ public boolean validateAndWriteBackTunables(Object o) {
try {
- // The objects here are task objects. Generally there
is only one.
- for ( Object o : objs ) {
+ // Get the handlers for the tunables in the Task. The
+ // key is the name of the tunable and the value is the
handler
+ // for that tunable.
+ Map<String,StringTunableHandler> handlers =
getHandlers(o);
+ for ( StringTunableHandler h : handlers.values() ) {
- // Get the handlers for the tunables in the
Task. The
- // key is the name of the tunable and the value
is the handler
- // for that tunable.
- Map<String,StringTunableHandler> handlers =
getHandlers(o);
- for ( StringTunableHandler h :
handlers.values() ) {
-
- // Give the handler the arg string and
let it do its thing,
- // which will hopefully be: set the
tunable value based on
- // information parsed from the arg
string.
- h.processArgString(args);
- }
+ // Give the handler the arg string and let it
do its thing,
+ // which will hopefully be: set the tunable
value based on
+ // information parsed from the arg string.
+ h.processArgString(args);
}
-
} catch (Exception e) {
logger.warn("Exception processing tunables", e);
}
return true;
}
+
+ public void addTunableHandlerFactory(StringTunableHandlerFactory f, Map
p) {
+ super.addTunableHandlerFactory(f,p);
+ }
+ public void removeTunableHandlerFactory(StringTunableHandlerFactory f,
Map p) {
+ super.removeTunableHandlerFactory(f,p);
+ }
}
Added:
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/tunables/DoubleTunableHandler.java
===================================================================
---
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/tunables/DoubleTunableHandler.java
(rev 0)
+++
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/tunables/DoubleTunableHandler.java
2012-03-14 00:25:21 UTC (rev 28528)
@@ -0,0 +1,14 @@
+
+package org.cytoscape.command.internal.tunables;
+
+import org.cytoscape.work.Tunable;
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+
+public class DoubleTunableHandler extends AbstractStringTunableHandler {
+ public DoubleTunableHandler(Field f, Object o, Tunable t) { super(f,o,t); }
+ public DoubleTunableHandler(Method get, Method set, Object o, Tunable t) {
super(get,set,o,t); }
+ public Object processArg(String arg) throws Exception {
+ return Double.parseDouble(arg);
+ }
+}
Deleted:
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/tunables/DummyTunableHandler.java
===================================================================
---
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/tunables/DummyTunableHandler.java
2012-03-14 00:12:58 UTC (rev 28527)
+++
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/tunables/DummyTunableHandler.java
2012-03-14 00:25:21 UTC (rev 28528)
@@ -1,22 +0,0 @@
-
-package org.cytoscape.command.internal.tunables;
-
-
-
-import org.cytoscape.work.TunableHandler;
-import org.cytoscape.work.Tunable;
-import org.cytoscape.work.AbstractTunableHandler;
-
-import java.lang.reflect.Field;
-import java.lang.reflect.Method;
-
-
-public class DummyTunableHandler extends AbstractTunableHandler implements
StringTunableHandler {
-
- public DummyTunableHandler(Field f, Object o, Tunable t) {
super(f,o,t); }
- public DummyTunableHandler(Method get, Method set, Object o, Tunable t)
{ super(get,set,o,t); }
- public void processArgString(String s) {
- System.out.println("Dummy process! " + getName());
- }
- public void handle() {}
-}
Added:
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/tunables/FloatTunableHandler.java
===================================================================
---
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/tunables/FloatTunableHandler.java
(rev 0)
+++
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/tunables/FloatTunableHandler.java
2012-03-14 00:25:21 UTC (rev 28528)
@@ -0,0 +1,14 @@
+
+package org.cytoscape.command.internal.tunables;
+
+import org.cytoscape.work.Tunable;
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+
+public class FloatTunableHandler extends AbstractStringTunableHandler {
+ public FloatTunableHandler(Field f, Object o, Tunable t) { super(f,o,t); }
+ public FloatTunableHandler(Method get, Method set, Object o, Tunable t) {
super(get,set,o,t); }
+ public Object processArg(String arg) throws Exception {
+ return Float.parseFloat(arg);
+ }
+}
Added:
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/tunables/ListMultipleTunableHandler.java
===================================================================
---
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/tunables/ListMultipleTunableHandler.java
(rev 0)
+++
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/tunables/ListMultipleTunableHandler.java
2012-03-14 00:25:21 UTC (rev 28528)
@@ -0,0 +1,18 @@
+
+package org.cytoscape.command.internal.tunables;
+
+import org.cytoscape.work.Tunable;
+import org.cytoscape.work.util.ListMultipleSelection;
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+import java.util.Collections;
+
+public class ListMultipleTunableHandler extends AbstractStringTunableHandler {
+ public ListMultipleTunableHandler(Field f, Object o, Tunable t) {
super(f,o,t); }
+ public ListMultipleTunableHandler(Method get, Method set, Object o,
Tunable t) { super(get,set,o,t); }
+ public Object processArg(String arg) throws Exception {
+ ListMultipleSelection lss = (ListMultipleSelection)getValue();
+ lss.setSelectedValues(Collections.singletonList((Object)arg));
+ return lss;
+ }
+}
Added:
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/tunables/ListSingleTunableHandler.java
===================================================================
---
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/tunables/ListSingleTunableHandler.java
(rev 0)
+++
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/tunables/ListSingleTunableHandler.java
2012-03-14 00:25:21 UTC (rev 28528)
@@ -0,0 +1,17 @@
+
+package org.cytoscape.command.internal.tunables;
+
+import org.cytoscape.work.Tunable;
+import org.cytoscape.work.util.ListSingleSelection;
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+
+public class ListSingleTunableHandler extends AbstractStringTunableHandler {
+ public ListSingleTunableHandler(Field f, Object o, Tunable t) {
super(f,o,t); }
+ public ListSingleTunableHandler(Method get, Method set, Object o, Tunable
t) { super(get,set,o,t); }
+ public Object processArg(String arg) throws Exception {
+ ListSingleSelection lss = (ListSingleSelection)getValue();
+ lss.setSelectedValue((Object)arg);
+ return lss;
+ }
+}
Added:
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/tunables/LongTunableHandler.java
===================================================================
---
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/tunables/LongTunableHandler.java
(rev 0)
+++
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/tunables/LongTunableHandler.java
2012-03-14 00:25:21 UTC (rev 28528)
@@ -0,0 +1,14 @@
+
+package org.cytoscape.command.internal.tunables;
+
+import org.cytoscape.work.Tunable;
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+
+public class LongTunableHandler extends AbstractStringTunableHandler {
+ public LongTunableHandler(Field f, Object o, Tunable t) { super(f,o,t); }
+ public LongTunableHandler(Method get, Method set, Object o, Tunable t) {
super(get,set,o,t); }
+ public Object processArg(String arg) throws Exception {
+ return Long.parseLong(arg);
+ }
+}
Added:
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/tunables/SimpleStringTunableHandlerFactory.java
===================================================================
---
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/tunables/SimpleStringTunableHandlerFactory.java
(rev 0)
+++
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/tunables/SimpleStringTunableHandlerFactory.java
2012-03-14 00:25:21 UTC (rev 28528)
@@ -0,0 +1,20 @@
+package org.cytoscape.command.internal.tunables;
+
+import org.cytoscape.work.BasicTunableHandlerFactory;
+
+
+public class SimpleStringTunableHandlerFactory<T extends StringTunableHandler>
+ extends BasicTunableHandlerFactory<T> implements
StringTunableHandlerFactory<T> {
+
+ /**
+ * Constructs this BasicStringTunableHandlerFactory.
+ * @param specificHandlerType The class of the specific handler to be
constructed
+ * to handle the matching classes. For instance FloatHandler.class might
be specified
+ * to handle values with a Float type.
+ * @param classesToMatch One or more class types that will be handled by
this handler.
+ * For example the FloatHandler might handle both Float.class and
float.class.
+ */
+ public SimpleStringTunableHandlerFactory(Class<T> specificHandlerType,
Class<?>... classesToMatch ) {
+ super(specificHandlerType, classesToMatch);
+ }
+}
Added:
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/tunables/StringTunableHandlerFactory.java
===================================================================
---
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/tunables/StringTunableHandlerFactory.java
(rev 0)
+++
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/tunables/StringTunableHandlerFactory.java
2012-03-14 00:25:21 UTC (rev 28528)
@@ -0,0 +1,9 @@
+
+
+package org.cytoscape.command.internal.tunables;
+
+
+import org.cytoscape.work.TunableHandlerFactory;
+
+public interface StringTunableHandlerFactory<T extends StringTunableHandler>
extends TunableHandlerFactory<T> {
+}
Added:
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/tunables/URLTunableHandler.java
===================================================================
---
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/tunables/URLTunableHandler.java
(rev 0)
+++
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/tunables/URLTunableHandler.java
2012-03-14 00:25:21 UTC (rev 28528)
@@ -0,0 +1,15 @@
+
+package org.cytoscape.command.internal.tunables;
+
+import org.cytoscape.work.Tunable;
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+import java.net.URL;
+
+public class URLTunableHandler extends AbstractStringTunableHandler {
+ public URLTunableHandler(Field f, Object o, Tunable t) { super(f,o,t); }
+ public URLTunableHandler(Method get, Method set, Object o, Tunable t) {
super(get,set,o,t); }
+ public Object processArg(String arg) throws Exception {
+ return new URL(arg);
+ }
+}
--
You received this message because you are subscribed to the Google Groups
"cytoscape-cvs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/cytoscape-cvs?hl=en.