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.

Reply via email to