//package org.trianacode.shiwaall.handler; // //import org.apache.commons.logging.Log; //import org.shiwa.desktop.data.description.handler.TransferSignature; //import org.shiwa.desktop.data.description.workflow.Author; //import org.shiwa.desktop.data.transfer.WorkflowEngineHandler; //import org.shiwa.desktop.gui.SHIWADesktop; //import org.trianacode.TrianaInstance; //import org.trianacode.config.TrianaProperties; //import org.trianacode.enactment.logging.Loggers; //import org.trianacode.taskgraph.Task; //import org.trianacode.taskgraph.TaskGraphException; //import org.trianacode.taskgraph.ser.XMLReader; //import org.trianacode.taskgraph.ser.XMLWriter; //import org.trianacode.taskgraph.tool.Tool; // //import javax.swing.*; //import java.io.*; //import java.util.List; //import java.util.Set; // ///** // * Created by IntelliJ IDEA. // * User: Ian Harvey // * Date: 24/02/2011 // * Time: 12:56 // * To change this template use File | Settings | File Templates. // */ //public class TrianaEngineHandler152 implements WorkflowEngineHandler { // // private static Log devLog = Loggers.DEV_LOGGER; // // private Task task; // private InputStream displayImage; //// private TrianaInstance trianaInstance; // // public TrianaEngineHandler152(Task task, InputStream displayImage) { // this.task = task; //// this.trianaInstance = trianaInstance; // this.displayImage = displayImage; // } // // @Override // public String getEngineName(Set<String> engines) { // return "Triana"; // } // // @Override // public String getEngineVersion() { // return (String) task.getProperties().get(TrianaProperties.VERSION); // } // // @Override // public String getWorkflowLanguage(Set<String> languages) { // return "triana-taskgraph"; // } // // @Override // public TransferSignature getSignature() { // TransferSignature signature = new TransferSignature(); // signature.setName(task.getToolName()); // setInputPorts(signature); // setOutputPorts(signature); // // return signature; // } // // private void setOutputPorts(TransferSignature signature) { // for (int i = 0; i < task.getDataOutputNodeCount(); i++) { // String s = task.getDataOutputTypes(i)[0]; // signature.addOutput("OutputPort_" + i, ObjectToSchema.getSchemaURIString(s)); // } // } // // private void setInputPorts(TransferSignature signature) { // for (int i = 0; i < task.getDataInputNodeCount(); i++) { // String s = task.getDataInputTypes(i)[0]; // signature.addInput("InputPort_" + i, s); // } // } // // @Override // public InputStream getWorkflowDefinition() { // try { // File temp = File.createTempFile("publishedTaskgraphTemp", ".xml"); // temp.deleteOnExit(); // XMLWriter writer = new XMLWriter(new BufferedWriter(new FileWriter(temp))); // writer.writeComponent(task); // writer.close(); // devLog.debug("Sending taskgraph to ShiwaDesktop."); // return new FileInputStream(temp); // // } catch (Exception e) { // devLog.debug("Failed to create temp xml for output to shiwa-desktop : "); // e.printStackTrace(); // return null; // } // } // // @Override // public String getWorkflowDefinitionName() { // return task.getQualifiedTaskName(); // } // // @Override // public InputStream getDisplayImage() { // devLog.debug("Sending display image to ShiwaDesktop"); // return displayImage; // } // // @Override // public String getDisplayImageName() { // return task.getQualifiedTaskName() + "-image.jpg"; // } // // @Override // public List<Author> getAuthors() { // return null; // } // // @Override // public String getDescription() { // return null; // } // // @Override // public String getImplementationVersion() { // return null; // } // // public static void main(String[] args) throws IOException, TaskGraphException { // String wf = args[0]; // File f = new File(wf); // // if (!f.exists()) { // devLog.debug("Cannot find workflow file:" + wf); // System.exit(1); // } // // String[] engineArgs = new String[args.length - 1]; // System.arraycopy(args, 1, engineArgs, 0, args.length - 1); // // TrianaInstance engine = new TrianaInstance(engineArgs); // engine.init(); // XMLReader reader = new XMLReader(new FileReader(f)); // Tool tool = reader.readComponent(engine.getProperties()); // //// JPanel jPanel = new SHIWADesktopPanel( //// new TrianaEngineHandler((Task) tool, engine, null), //// SHIWADesktopPanel.ButtonOption.SHOW_TOOLBAR //// ); // SHIWADesktop shiwaDesktop = new SHIWADesktop( // new TrianaEngineHandler152((Task) tool, null), // SHIWADesktop.ButtonOption.SHOW_TOOLBAR // ); // JFrame jFrame = new JFrame(); // jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // jFrame.add(shiwaDesktop.getPanel()); // jFrame.pack(); // jFrame.setVisible(true); // } // // //}