Author: kono
Date: 2012-07-23 12:48:53 -0700 (Mon, 23 Jul 2012)
New Revision: 29961
Modified:
core3/impl/trunk/scripting-impl/src/main/java/org/cytoscape/scripting/internal/ExecuteScriptCommandTask.java
core3/impl/trunk/scripting-impl/src/main/java/org/cytoscape/scripting/internal/ExecuteScriptTask.java
Log:
Script File will be closed in any situations.
Modified:
core3/impl/trunk/scripting-impl/src/main/java/org/cytoscape/scripting/internal/ExecuteScriptCommandTask.java
===================================================================
---
core3/impl/trunk/scripting-impl/src/main/java/org/cytoscape/scripting/internal/ExecuteScriptCommandTask.java
2012-07-23 19:09:22 UTC (rev 29960)
+++
core3/impl/trunk/scripting-impl/src/main/java/org/cytoscape/scripting/internal/ExecuteScriptCommandTask.java
2012-07-23 19:48:53 UTC (rev 29961)
@@ -1,7 +1,9 @@
package org.cytoscape.scripting.internal;
import java.io.File;
+import java.io.FileNotFoundException;
import java.io.FileReader;
+import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
@@ -44,7 +46,18 @@
engine.put("args", argArray);
// Execute
- engine.eval(new FileReader(new File(filename)));
+ FileReader reader = null;
+ try {
+ reader = new FileReader(new File(filename));
+ engine.eval(reader);
+ } catch (FileNotFoundException e) {
+ throw new IOException("Could not open the file.", e);
+ } finally {
+ if(reader != null) {
+ reader.close();
+ reader = null;
+ }
+ }
}
}
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-23 19:09:22 UTC (rev 29960)
+++
core3/impl/trunk/scripting-impl/src/main/java/org/cytoscape/scripting/internal/ExecuteScriptTask.java
2012-07-23 19:48:53 UTC (rev 29961)
@@ -12,36 +12,43 @@
import org.cytoscape.work.Tunable;
import org.cytoscape.work.util.ListSingleSelection;
-
/**
* Use standard Java scripting mechanism to run script.
- *
+ *
*/
public class ExecuteScriptTask extends AbstractExecuteScriptTask {
@Tunable(description = "Select a script file:", params =
"fileCategory=SCRIPT;input=true")
public File file;
-
+
@Tunable(description = "Select Scripting Language:")
public ListSingleSelection<String> engineNames;
-
ExecuteScriptTask(final ScriptEngineManager manager, final CyAppAdapter
cyAppAdapter) {
super(manager, cyAppAdapter);
-
+
engineNames = new ListSingleSelection<String>(engineNameList);
engineNames.setSelectedValue(engineNameList.get(0));
}
@Override
- public void run(TaskMonitor taskMonitor) throws Exception {
+ public void run(TaskMonitor taskMonitor) throws Exception {
final ScriptEngineFactory engineFactory =
name2engineMap.get(engineNames.getSelectedValue());
final ScriptEngine engine = engineFactory.getScriptEngine();
// Provide access to CyAppAdapter.
engine.put("cyAppAdapter", cyAppAdapter);
-
+
// Execute
- engine.eval(new FileReader(file));
+ FileReader reader = null;
+ try {
+ reader = new FileReader(file);
+ engine.eval(reader);
+ } finally {
+ if (reader != null) {
+ reader.close();
+ reader = null;
+ }
+ }
}
}
--
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.