Author: kono
Date: 2012-07-23 19:37:44 -0700 (Mon, 23 Jul 2012)
New Revision: 29971
Modified:
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/CyActivator.java
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/CyActivator.java
core3/impl/trunk/scripting-impl/pom.xml
core3/impl/trunk/scripting-impl/src/main/java/org/cytoscape/scripting/internal/AbstractExecuteScriptTask.java
core3/impl/trunk/scripting-impl/src/main/java/org/cytoscape/scripting/internal/CyActivator.java
core3/impl/trunk/scripting-impl/src/main/java/org/cytoscape/scripting/internal/ExecuteScriptTask.java
core3/impl/trunk/scripting-impl/src/main/java/org/cytoscape/scripting/internal/ExecuteScriptTaskFactory.java
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/view/CytoscapeMenus.java
Log:
fixes #1297 CyCommand and Script Menus are integrated into File-->Run...
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-07-24 01:56:50 UTC (rev 29970)
+++
core3/impl/trunk/command-executor-impl/src/main/java/org/cytoscape/command/internal/CyActivator.java
2012-07-24 02:37:44 UTC (rev 29971)
@@ -44,9 +44,7 @@
Properties commandExecutorTaskFactoryProps = new Properties();
-
commandExecutorTaskFactoryProps.setProperty(PREFERRED_MENU,"Tools.Command");
-
commandExecutorTaskFactoryProps.setProperty(MENU_GRAVITY,"10.0f");
- commandExecutorTaskFactoryProps.setProperty(TITLE,"Run Command
File...");
+
commandExecutorTaskFactoryProps.setProperty(ID,"commandExecutorTaskFactory");
registerService(bc,commandExecutorTaskFactory,TaskFactory.class,
commandExecutorTaskFactoryProps);
registerService(bc,commandExecutorTaskFactory,CommandExecutorTaskFactory.class,
commandExecutorTaskFactoryProps);
Modified:
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/CyActivator.java
===================================================================
---
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/CyActivator.java
2012-07-24 01:56:50 UTC (rev 29970)
+++
core3/impl/trunk/core-task-impl/src/main/java/org/cytoscape/task/internal/CyActivator.java
2012-07-24 02:37:44 UTC (rev 29971)
@@ -859,7 +859,7 @@
openSessionTaskFactoryProps.setProperty(PREFERRED_MENU,"File");
openSessionTaskFactoryProps.setProperty(ACCELERATOR,"cmd o");
openSessionTaskFactoryProps.setProperty(LARGE_ICON_URL,getClass().getResource("/images/icons/open_session.png").toString());
- openSessionTaskFactoryProps.setProperty(TITLE,"Open");
+ openSessionTaskFactoryProps.setProperty(TITLE,"Open...");
openSessionTaskFactoryProps.setProperty(TOOL_BAR_GRAVITY,"1.0");
openSessionTaskFactoryProps.setProperty(IN_TOOL_BAR,"true");
openSessionTaskFactoryProps.setProperty(MENU_GRAVITY,"1.0");
@@ -886,7 +886,7 @@
saveSessionAsTaskFactoryProps.setProperty(PREFERRED_MENU,"File");
saveSessionAsTaskFactoryProps.setProperty(ACCELERATOR,"cmd
shift s");
saveSessionAsTaskFactoryProps.setProperty(MENU_GRAVITY,"3.1");
- saveSessionAsTaskFactoryProps.setProperty(TITLE,"Save As");
+ saveSessionAsTaskFactoryProps.setProperty(TITLE,"Save As...");
saveSessionAsTaskFactoryProps.setProperty(COMMAND,"save-session-as");
saveSessionAsTaskFactoryProps.setProperty(COMMAND_NAMESPACE,"cytoscape");
registerService(bc,saveSessionAsTaskFactory,TaskFactory.class,
saveSessionAsTaskFactoryProps);
Modified: core3/impl/trunk/scripting-impl/pom.xml
===================================================================
--- core3/impl/trunk/scripting-impl/pom.xml 2012-07-24 01:56:50 UTC (rev
29970)
+++ core3/impl/trunk/scripting-impl/pom.xml 2012-07-24 02:37:44 UTC (rev
29971)
@@ -77,6 +77,8 @@
<url>http://code.cytoscape.org/nexus/content/repositories/releases/</url>
</repository>
</repositories>
+
+
<dependencies>
<dependency>
<groupId>org.cytoscape</groupId>
@@ -86,6 +88,10 @@
<groupId>org.cytoscape</groupId>
<artifactId>app-api</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.cytoscape</groupId>
+ <artifactId>command-executor-api</artifactId>
+ </dependency>
<dependency>
<groupId>org.apache.karaf.shell</groupId>
Modified:
core3/impl/trunk/scripting-impl/src/main/java/org/cytoscape/scripting/internal/AbstractExecuteScriptTask.java
===================================================================
---
core3/impl/trunk/scripting-impl/src/main/java/org/cytoscape/scripting/internal/AbstractExecuteScriptTask.java
2012-07-24 01:56:50 UTC (rev 29970)
+++
core3/impl/trunk/scripting-impl/src/main/java/org/cytoscape/scripting/internal/AbstractExecuteScriptTask.java
2012-07-24 02:37:44 UTC (rev 29971)
@@ -9,9 +9,9 @@
import javax.script.ScriptEngineManager;
import org.cytoscape.app.CyAppAdapter;
-import org.cytoscape.work.Task;
+import org.cytoscape.work.AbstractTask;
-public abstract class AbstractExecuteScriptTask implements Task {
+public abstract class AbstractExecuteScriptTask extends AbstractTask {
protected final Map<String, ScriptEngineFactory> name2engineMap;
protected final CyAppAdapter cyAppAdapter;
Modified:
core3/impl/trunk/scripting-impl/src/main/java/org/cytoscape/scripting/internal/CyActivator.java
===================================================================
---
core3/impl/trunk/scripting-impl/src/main/java/org/cytoscape/scripting/internal/CyActivator.java
2012-07-24 01:56:50 UTC (rev 29970)
+++
core3/impl/trunk/scripting-impl/src/main/java/org/cytoscape/scripting/internal/CyActivator.java
2012-07-24 02:37:44 UTC (rev 29971)
@@ -1,8 +1,13 @@
package org.cytoscape.scripting.internal;
+import static org.cytoscape.work.ServiceProperties.*;
+import static org.cytoscape.work.ServiceProperties.PREFERRED_MENU;
+import static org.cytoscape.work.ServiceProperties.TITLE;
+
import java.util.Properties;
import org.cytoscape.app.CyAppAdapter;
+import org.cytoscape.command.CommandExecutorTaskFactory;
import org.cytoscape.service.util.AbstractCyActivator;
import org.osgi.framework.BundleContext;
@@ -13,17 +18,19 @@
}
public void start(BundleContext bc) {
+
+ final CommandExecutorTaskFactory
commandExecutorTaskFactoryServiceRef = getService(bc,
CommandExecutorTaskFactory.class);
+
// This object should be injected to all scripts to access
manager objects from scripts.
final CyAppAdapter appAdapter = getService(bc,
CyAppAdapter.class);
- final ExecuteScriptTaskFactory executeScriptTaskFactory = new
ExecuteScriptTaskFactory(appAdapter);
+ final ExecuteScriptTaskFactory executeScriptTaskFactory = new
ExecuteScriptTaskFactory(appAdapter, commandExecutorTaskFactoryServiceRef);
final Properties executeScriptTaskFactoryProps = new
Properties();
- executeScriptTaskFactoryProps.setProperty("id",
"executeScriptTaskFactory");
- executeScriptTaskFactoryProps.setProperty("preferredMenu",
"Tools");
- executeScriptTaskFactoryProps.setProperty("title", "Run
script...");
- executeScriptTaskFactoryProps.setProperty("menuGravity", "2.0");
- executeScriptTaskFactoryProps.setProperty("toolBarGravity",
"3.0");
+ executeScriptTaskFactoryProps.setProperty(ID,
"executeScriptTaskFactory");
+
executeScriptTaskFactoryProps.setProperty(PREFERRED_MENU,"File");
+ executeScriptTaskFactoryProps.setProperty(MENU_GRAVITY,"6.1f");
+ executeScriptTaskFactoryProps.setProperty(TITLE,"Run...");
executeScriptTaskFactoryProps.setProperty("inToolBar", "false");
registerAllServices(bc, executeScriptTaskFactory,
executeScriptTaskFactoryProps);
Modified:
core3/impl/trunk/scripting-impl/src/main/java/org/cytoscape/scripting/internal/ExecuteScriptTask.java
===================================================================
---
core3/impl/trunk/scripting-impl/src/main/java/org/cytoscape/scripting/internal/ExecuteScriptTask.java
2012-07-24 01:56:50 UTC (rev 29970)
+++
core3/impl/trunk/scripting-impl/src/main/java/org/cytoscape/scripting/internal/ExecuteScriptTask.java
2012-07-24 02:37:44 UTC (rev 29971)
@@ -8,6 +8,9 @@
import javax.script.ScriptEngineManager;
import org.cytoscape.app.CyAppAdapter;
+import org.cytoscape.command.CommandExecutorTaskFactory;
+import org.cytoscape.work.ProvidesTitle;
+import org.cytoscape.work.TaskIterator;
import org.cytoscape.work.TaskMonitor;
import org.cytoscape.work.Tunable;
import org.cytoscape.work.util.ListSingleSelection;
@@ -18,21 +21,43 @@
*/
public class ExecuteScriptTask extends AbstractExecuteScriptTask {
- @Tunable(description = "Select a script file:", params =
"fileCategory=SCRIPT;input=true")
+ private static final String CYCOMMAND_TITLE = "Cytoscape Commands";
+
+ @Tunable(description = "Script File Name:", params =
"fileCategory=SCRIPT;input=true")
public File file;
- @Tunable(description = "Select Scripting Language:")
+ @Tunable(description = "Select Script Type:")
public ListSingleSelection<String> engineNames;
+
+ @ProvidesTitle
+ public String getTitle() {
+ return "Run Script File";
+ }
+
+ // For CyCommands
+ final CommandExecutorTaskFactory commandExecutorTaskFactoryService;
- ExecuteScriptTask(final ScriptEngineManager manager, final CyAppAdapter
cyAppAdapter) {
+ ExecuteScriptTask(final ScriptEngineManager manager, final CyAppAdapter
cyAppAdapter,
+ final CommandExecutorTaskFactory
commandExecutorTaskFactoryService) {
super(manager, cyAppAdapter);
+
+ this.commandExecutorTaskFactoryService =
commandExecutorTaskFactoryService;
+ engineNameList.add(CYCOMMAND_TITLE);
engineNames = new ListSingleSelection<String>(engineNameList);
engineNames.setSelectedValue(engineNameList.get(0));
}
@Override
public void run(TaskMonitor taskMonitor) throws Exception {
+ final String selected = engineNames.getSelectedValue();
+
+ // Special case: CyCommand
+ if(selected == CYCOMMAND_TITLE) {
+ executeCyCommandFile();
+ return;
+ }
+
final ScriptEngineFactory engineFactory =
name2engineMap.get(engineNames.getSelectedValue());
final ScriptEngine engine = engineFactory.getScriptEngine();
@@ -51,4 +76,9 @@
}
}
}
+
+ private void executeCyCommandFile() throws Exception {
+ final TaskIterator cyCommandTasks =
commandExecutorTaskFactoryService.createTaskIterator(file);
+ this.insertTasksAfterCurrentTask(cyCommandTasks);
+ }
}
Modified:
core3/impl/trunk/scripting-impl/src/main/java/org/cytoscape/scripting/internal/ExecuteScriptTaskFactory.java
===================================================================
---
core3/impl/trunk/scripting-impl/src/main/java/org/cytoscape/scripting/internal/ExecuteScriptTaskFactory.java
2012-07-24 01:56:50 UTC (rev 29970)
+++
core3/impl/trunk/scripting-impl/src/main/java/org/cytoscape/scripting/internal/ExecuteScriptTaskFactory.java
2012-07-24 02:37:44 UTC (rev 29971)
@@ -3,6 +3,7 @@
import javax.script.ScriptEngineManager;
import org.cytoscape.app.CyAppAdapter;
+import org.cytoscape.command.CommandExecutorTaskFactory;
import org.cytoscape.work.AbstractTaskFactory;
import org.cytoscape.work.TaskIterator;
@@ -10,15 +11,17 @@
private final ScriptEngineManager manager;
private final CyAppAdapter cyAppAdapter;
+ private final CommandExecutorTaskFactory
commandExecutorTaskFactoryService;
- public ExecuteScriptTaskFactory(final CyAppAdapter cyAppAdapter) {
+ public ExecuteScriptTaskFactory(final CyAppAdapter cyAppAdapter, final
CommandExecutorTaskFactory commandExecutorTaskFactoryService) {
this.manager = new ScriptEngineManager();
this.cyAppAdapter = cyAppAdapter;
+ this.commandExecutorTaskFactoryService =
commandExecutorTaskFactoryService;
}
@Override
public TaskIterator createTaskIterator() {
- return new TaskIterator(new ExecuteScriptTask(manager,
cyAppAdapter));
+ return new TaskIterator(new ExecuteScriptTask(manager,
cyAppAdapter, commandExecutorTaskFactoryService));
}
}
Modified:
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/view/CytoscapeMenus.java
===================================================================
---
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/view/CytoscapeMenus.java
2012-07-24 01:56:50 UTC (rev 29970)
+++
core3/impl/trunk/swing-application-impl/src/main/java/org/cytoscape/internal/view/CytoscapeMenus.java
2012-07-24 02:37:44 UTC (rev 29971)
@@ -63,6 +63,7 @@
menuBar.addSeparator("File", 2.0);
menuBar.addSeparator("File", 4.0);
menuBar.addSeparator("File", 6.0);
+ menuBar.addSeparator("File", 7.0);
if (!isMac())
menuBar.addSeparator("File", 8.0);
--
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.