org.embl.ebi.escience.scufl.enactor.WorkflowInstance类的使用及代码示例

x33g5p2x  于2022-02-03 转载在 其他  
字(9.3k)|赞(0)|评价(0)|浏览(104)

本文整理了Java中org.embl.ebi.escience.scufl.enactor.WorkflowInstance类的一些代码示例,展示了WorkflowInstance类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。WorkflowInstance类的具体详情如下:
包路径:org.embl.ebi.escience.scufl.enactor.WorkflowInstance
类名称:WorkflowInstance

WorkflowInstance介绍

暂无

代码示例

代码示例来源:origin: uk.org.mygrid.taverna/taverna-enactor

public String toString() {
    StringBuffer sb = new StringBuffer();
    sb.append("Workflow '" + workflowInstance.getID()
        + "' completed with outputs\n");
    Map outputs = workflowInstance.getOutput();
    for (Iterator i = outputs.keySet().iterator(); i.hasNext();) {
      String outputName = (String) i.next();
      DataThing outputValue = (DataThing) outputs.get(outputName);
      String outputLSID = outputValue
          .getLSID(outputValue.getDataObject());
      sb.append("  " + outputLSID + "->'" + outputName + "'\n");
    }
    return sb.toString();
  }
}

代码示例来源:origin: uk.org.mygrid.taverna.scufl.scufl-ui-components/enactor-invocation

public void onDispose() {
  try {
    workflowEditor.detachFromModel();
    // In case it is still running, we'll stop it
    workflowInstance.cancelExecution();
    // FIXME: Is this the right place to destroy? What about
    // other people attached to the workflow instance?
    // (We must destroy() it somewhere, otherwise it will float
    // around and reference among other things our possibly large
    // input data)
    workflowInstance.destroy();
    // And remove our reference to it
    workflowInstance = null;
    theModel.removeListeners();
    theModel = null;
  } catch (Exception e) {
    logger.error("Could not detach EnactorInvocation", e);
  }
}

代码示例来源:origin: uk.org.mygrid.taverna.scufl.scufl-ui-components/enactor-invocation

/**
 * Get the status text for this invocation
 */
public String getStatusText() {
  return workflowInstance.getProgressReportXMLString();
}

代码示例来源:origin: uk.org.mygrid.taverna.scufl/scufl-workflow

UserContext context = parentInstance.getUserContext();
  WorkflowInstance wfInstance = defaultEnactor.compileWorkflow(
      theNestedModel, inputMap, context);
      wfInstance.destroy();
      throw new IllegalStateException(
          "execute() called while still running nested workflow");
    if (workflowInstance!=null) {
      workflowInstance.destroy();
      .addWorkflowStateListener(new WorkflowFinishedListener(
          taskThread));
  workflowInstance.run();
} catch (Exception e) {
  String msg = "Nested workflow failed in task, error message was: "
    .getState(workflowInstance.getStatus());
  return workflowInstance.getOutput();
} else if (workflowState.equals(WorkflowState.FAILED)) {
  throw new TaskExecutionException(
      "Nested workflow failed in task, error message was : "
          + workflowInstance.getErrorMessage());
} else if (workflowState.equals(WorkflowState.CANCELLED)) {
  return new HashMap();

代码示例来源:origin: uk.org.mygrid.taverna.scufl/scufl-tools

workflowInstance.run();
    synchronized (lock) {
      try {
        .getProgressReportXMLString();
  result = workflowInstance.getOutput();
} finally {			
  WorkflowEventDispatcher.DISPATCHER
      .removeListener(completionListener);
  workflowInstance.destroy();

代码示例来源:origin: uk.org.mygrid.provenance/logbook

workflowInstance, inputs,
    "urn:lsid:www.mygrid.org.uk:operation:660KZBTN7D2");
System.out.println("Workflow Run Id = " + workflowInstance.getID());
processors = model.getProcessors();
Map<String, DataThing> inputsFirstProcessor = new HashMap<String, DataThing>();
outputIterationMap.put("uniprot2GOReturn", outputDataThing);
Map<String, DataThing> workflowOutputMap = workflowInstance.getOutput();
workflowOutputMap.put("GOId", largeDataThing);
WorkflowCompletionEvent workflowCompletionEvent = new WorkflowCompletionEvent(
workflowInstance.destroy();

代码示例来源:origin: uk.org.mygrid.taverna.scufl/scufl-ui

thing = (DataThing)instance.getOutput().get(link.getSink().getName());
Map[] maps = instance.getIntermediateResultsForProcessor(link.getSink()
      .getProcessor().getName());
  Map outputs = maps[0];
Map[] maps = instance.getIntermediateResultsForProcessor(processor.getName());
Map outputs = maps[1];
thing = (DataThing) outputs.get(link.getSource().getName());

代码示例来源:origin: uk.org.mygrid.taverna.scufl.scufl-ui-components/workflow-input-panel

/**
 * Immediately execute workflow. Workflow is submitted to the enactor with the
 * given input values, and invocation is initiated. Switches to the 
 * @link{EnactPerspective}.
 * 
 * @param workflow Workflow to run
 * @param inputs Map of input values to run the workflow with
 * @throws  
 */
public static void executeWorkflow(ScuflModel workflow, Map<String, DataThing> inputs) {
  EnactorProxy enactor = FreefluoEnactorProxy.getInstance();
  WorkflowInstance instance;
  try {
    instance = enactor.compileWorkflow(workflow, inputs, 
        EnactorInvocation.USERCONTEXT);
  } catch (WorkflowSubmissionException e) {
    logger.error("Could not compile workflow " + workflow, e);
    return;
  }
  logger.debug("Compiled workflow " + instance);
  ModelMap.getInstance().setModel(instance.getID(), instance);					
  logger.info("Running the workflow " + instance);
  try {
    instance.run();
  } catch (InvalidInputException e) {
    logger.warn("Could not run workflow " + instance, e);
  }
  
}

代码示例来源:origin: uk.org.mygrid.taverna/taverna-enactor

DISPATCHER.fireEvent(completionEvent);
if (nestedWorkflow != null) {
  nestedWorkflow.destroy();

代码示例来源:origin: uk.org.mygrid.taverna/taverna-enactor

public String toString() {
    return "Workflow '" + workflowInstance.getID()
        + "' failed or cancelled\n";
  }
}

代码示例来源:origin: uk.org.mygrid.taverna/taverna-enactor

/**
 * Override toString()
 */
public String toString() {
  StringBuffer sb = new StringBuffer();
  sb.append("Workflow '" + workflowInstance.getID()
      + "' created with " + inputs.size() + " input"
      + (inputs.size() != 1 ? "s" : "") + "\n");
  for (Iterator i = inputs.keySet().iterator(); i.hasNext();) {
    String inputName = (String) i.next();
    DataThing inputValue = (DataThing) inputs.get(inputName);
    String inputLSID = inputValue.getLSID(inputValue.getDataObject());
    sb.append("  '" + inputName + "'->" + inputLSID + "\n");
  }
  sb.append("Created from workflow definition "
      + model.getDescription().getLSID() + "\n");
  UserContext workflowContext = workflowInstance.getUserContext();
  if (workflowContext == null) {
    sb.append("No user context supplied\n");
  } else {
    sb.append("Workflow context :\n");
    sb.append("  'Person'->" + workflowContext.getPersonLSID() + "\n");
    sb.append("  'ExperimentDesign'->"
        + workflowContext.getExperimentDesignLSID() + "\n");
    sb.append("  'Organization'->"
        + workflowContext.getOrganizationLSID() + "\n");
  }
  return sb.toString();
}

代码示例来源:origin: uk.org.mygrid.taverna.scufl.scufl-ui-components/enactor-invocation

Map<String, DataThing> resultMap = workflowInstance.getOutput();
ResultMapSaveSPI[] savePlugins = ResultMapSaveRegistry.plugins();
for (int i = 0; i < savePlugins.length; i++) {

代码示例来源:origin: uk.org.mygrid.taverna.scufl.scufl-ui-components/enactor-invocation

public void showResultTable() {
  if (MyGridConfiguration.getProperty("taverna.resulttable.enable") == null) {
    return;
  }
  try {
    int sizeLimit = 128000;
    try {
      sizeLimit = Integer.parseInt(MyGridConfiguration
          .getProperty("taverna.resulttable.sizelimit"));
    } catch (NumberFormatException ex) {
      logger.error("Could not set taverna.resulttable.sizelimit", ex);
    }
    if (workflowInstance.getProvenanceXMLString().length() < sizeLimit) {
      tabs.add("Result Table", new JScrollPane(new ResultTablePanel(
          theModel, workflowInstance)));
    }
  } catch (RuntimeException e) {
    // The above can cause a NPE, we need to track this down
    // FIXME
    logger.error("Could not show results", e);
  }
}

代码示例来源:origin: uk.org.mygrid.taverna.scufl.scufl-ui-components/enactor-invocation

/**
 * Ensure that the results have been retrieved. This is code factored out
 * from showResults().
 */
protected void ensureGotResults() {
  try {
    logger.debug("Getting results");
    while (true) {
      if (workflowInstance.getStatus().equalsIgnoreCase("Complete")) {
        break;
      }
      // logger.debug(workflowInstance.getStatus());
      // results = workflowInstance.getOutputXMLString();
      // if (results.equals("") == false) {
      // break;
      Thread.sleep(200);
    }
  } catch (InterruptedException ie) {
    // todo: ugly hack - I didn't want to change the logic just incase
    // but shouldn't the try be close on the sleep()?
    resultsText.setText("No results available : " + ie.toString());
  }
}

代码示例来源:origin: uk.org.mygrid.taverna.scufl.scufl-ui-components/enactor-invocation

try {
  intermediateResultMaps = workflowInstance
      .getIntermediateResultsForProcessor(processorName);
} catch (UnknownProcessorException ex) {
  logger.error("Unknown processor " + processorName, ex);

代码示例来源:origin: uk.org.mygrid.taverna/taverna-enactor

DISPATCHER.fireEvent(event);
if (nestedWorkflow != null) {
  nestedWorkflow.destroy();

代码示例来源:origin: uk.org.mygrid.taverna/taverna-enactor

public String toString() {
  return "Workflow '" + workflowInstance.getID()
      + "' is to be destructed\n";
}

代码示例来源:origin: uk.org.mygrid.taverna.scufl/scufl-ui

provenance = parseProvenance(instance.getProvenanceXMLString());

代码示例来源:origin: uk.org.mygrid.taverna/taverna-enactor

nestedWorkflow));
if (nestedWorkflow != null) {
  nestedWorkflow.destroy();

代码示例来源:origin: uk.org.mygrid.taverna.scufl.scufl-ui-components/enactor-invocation

public void actionPerformed(ActionEvent e) {
  if (runningWorkflows.size()!=0) {
    JOptionPane.showMessageDialog(EnactorInvocation.this, "Sorry, unable to close whilst other workflows are running","Unable to close results",JOptionPane.OK_OPTION);
  }
  else {
    int r=JOptionPane.showConfirmDialog(EnactorInvocation.this, "Are you sure you wish to close this workflow run?","Close workflow run?",JOptionPane.YES_NO_OPTION);
    if (r==JOptionPane.YES_OPTION) {
      ModelMap.getInstance().setModel(workflowInstance.getID(), null);
    }
  }
}

相关文章