Package LONI.tree.module.format

Examples of LONI.tree.module.format.FileType


    LONI.tree.module.Output runWorkflow = new LONI.tree.module.Output();
    runWorkflow.setEnabled(true);
    runWorkflow.setFormat(new Format());
    runWorkflow.getFormat().setCardinality(1);
    runWorkflow.getFormat().setType("File");
    FileType runFileType = new FileType();
    runFileType.setName(GENERIC_DICT_TYPE);
    runFileType.setDescription("");
    runFileType.setExtension("");
    runWorkflow.getFormat().getFileTypes().addFileType(runFileType);
    runWorkflow.setOrder(0);
    runWorkflow.setPrefix("-workflow");
    runWorkflow.setPrefixSpaced(true);
    runWorkflow.setName("Workflow Data");
    runModule.getOutputs().add(runWorkflow);
   
    //Add the setup and run modules to the setup and run contexts respectively.
    setupContext.getPathContext().addContext("Setup");
    runContext.getPathContext().addContext("Run");
   
    /*
     *VISIT THE STEPS IN THE WORKFLOW
     */
     //used to place run, setup modules
    int totalY=0; // running sum of y values.
    int leftX = -1; //furthest left x position
    int rightX = 0; //furthest right y position
    int spacing = 200; //spacing between modules.
   
    // TODO Auto-generated method stub
    for(Step s : workflow.getSteps()){
      //visit each step in the workflow
      Pair<GraphObject,LoniEnvironment> step = stepVisitor.visit(s, new LoniContext());
      //add the returned environment to the pipeline environment.
      le.addEnvironment(step.getElem2());
      //add the returned graphobject to the pipeline modulegroup
      moduleGroup.getModules().add(step.getElem1());
      //add the step's y value to the running sum of y values.
      totalY += s.getPosition().getFromTop();
      //update furthest left position
      if(leftX < 0 || leftX > s.getPosition().getFromLeft())
        leftX =s.getPosition().getFromLeft();
      //update furthest right position
      if(rightX < s.getPosition().getFromLeft())
        rightX=s.getPosition().getFromLeft();
    }
    //calculate the average y value from the total.
    int avgY = totalY;
    if(workflow.getSteps().size() > 0)
      avgY = totalY / workflow.getSteps().size();
   
    //place the setup module futhest to the left, at the
    //average y value.
    setupModule.setPosX(leftX);
    setupModule.setPosY(avgY + spacing);
    //Place the run module furthest to the right, at the
    //average y value.
    runModule.setPosX(rightX+ spacing);
    runModule.setPosY(avgY);
   
    //add the run, setupmodule
    moduleGroup.getModules().add(setupModule);
    moduleGroup.getModules().add(runModule);
   
    /*
     * Connect module outputs that are not connected to anything to the
     * run module.
     */
    int conncount=1;
   
    /*
     * For each module output
     */
    for(String id : le.getOutputAliases().keySet()){
      boolean isConnected = false;
      //check if any connections link the output of that module
      //to the input of some other module.
      for(Connection c : le.getConnections()){
        if(c.getSource().equals(id))
          isConnected = true;
      }
      //If the output is not connected to any other modules.
      if(isConnected == false){
        Connection runConn; //connection to the run module
       
        //Create a new parameter for the runmodule that is connected
        //to the connectionless output.
        LONI.tree.module.Parameter runInput = new LONI.tree.module.Parameter();
        runInput.setId(runContext.getPathContext().getAbsoluteContext("conn"+conncount));
        runInput.setFileFormat(new Format());
        runInput.getFormat().setCardinality(1);
        runInput.getFormat().setType("File");
        runFileType = new FileType();
        runFileType.setName(GENERIC_DICT_TYPE);
        runFileType.setDescription("");
        runFileType.setExtension("");
        runInput.getFormat().getFileTypes().addFileType(runFileType);
        runInput.setOrder(conncount);
        runInput.setPrefix("-input");
        runInput.setPrefixSpaced(true);
        runInput.setEnabled(true);
View Full Code Here


    dataModule.setDirSource(false);
    dataModule.setDirDump(false);
    dataModule.setUseDirSourceFilters(false);
    dataModule.setRecursive(false);
    dataModule.setMetadata(new Metadata(new Data()));
    dataModule.getFileTypes().addFileType(new FileType(TavernaType,"",""));
    // Figure out whether the data module will have inputs or outputs by going through the
    // DataLinks and figuring out if one of their source or sink names matches the
    // ports name. Then you can generate inputs or outputs for the data module depending
    // on what you need
    Datalinks dl = tavernaContext.getDatalinks();
    List<DataLink> datalinks = dl.getDataLinks();
   
    String inputPortName = port.getName();
    String datalinkPortName = "";
    String sourceLinkType = "";
    String sourcePort = "";
    String sourceProcessor = "";
    String sinkLinkType = "";
    String sinkPort = "";
    String sinkProcessor = "";
    Link source;
    Link sink;
    Parameter parameter = null;
    Output output = null;
    Format format;
    FileTypes fileTypes;
   

    for(DataLink d : datalinks){
      source = d.getSource();
      sourceLinkType = source.getLinkType();
      sourcePort = source.getPort();
      sourceProcessor = source.getProcessor();
     
      sink = d.getSink();
      sinkLinkType = sink.getLinkType();
      sinkPort = sink.getPort();
      sinkProcessor = sink.getProcessor();
     
     
      // Even if the Taverna port is a SOURCE, that will correspond to Output.class in LONI. It's weird, but you have to be careful. In side the Input of LONI, the dataModule actually contains <output>, not <input>!
      if(sinkPort == inputPortName){
        parameter = new Parameter();
        parameter.setId(dataModule.getId() +".Input");
        parameter.setName(inputPortName);
        parameter.setDescription("Input description");
        parameter.setRequired(true);
        parameter.setEnabled(true);
        parameter.setOrder(tavernaContext.getNextOrder());
        parameter.setLink("");
        parameter.setValues(new Values());
        // Create a new Format for parameter
        format = new Format();
        format.setType("File");
        format.setCardinality(1);
        format.setCardinalityBase("");
          format.setTransformationBase("");
         
        // Create and fill in file types for format
        fileTypes = new FileTypes();
        fileTypes.addFileType(new FileType(TavernaType, "", ""));
        format.setFileTypes(fileTypes);
       
        // Give parameter the newly created Format object
        parameter.setFileFormat(format);
       
        dataModule.addInput(parameter);
        break;
      }
      else if(sourcePort == inputPortName){
        output = new Output();
        output.setId(dataModule.getId() +".Output");
        output.setName(inputPortName);
        output.setDescription("Output description");
        output.setRequired(true);
        output.setEnabled(true);
        output.setOrder(tavernaContext.getNextOrder());
        output.setLink("");
        output.setValues(new Values());
        // Create a new Format for output
        output.setFormat(new Format());
        output.getFormat().setType("File");
        output.getFormat().setCardinality(1);
        output.getFormat().setCardinalityBase("");
        output.getFormat().setTransformationBase("");
       
        // Create and fill in file types for format
        output.getFormat().getFileTypes().addFileType(new FileType(TavernaType, "", ""))
       
        output.getValues().addValue(new Value("hi", "there"));
        dataModule.addOutput(output);
        break;
      }
View Full Code Here

    out.setOrder(1);
    out.setPrefixSpaced(false);
    out.setFormat(new Format());
    out.getFormat().setType("File");
    out.getFormat().setCardinality(1);
    FileType ft =new FileType();
    ft.setDescription("");
    ft.setExtension("");
    ft.setName(TavernaType);
    out.getFormat().getFileTypes().addFileType(ft);   
    return out;
  }
View Full Code Here

TOP

Related Classes of LONI.tree.module.format.FileType

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.