001package org.galaxyproject.gxformat2;
002
003import java.util.HashMap;
004import java.util.List;
005import java.util.Map;
006
007public interface WorkflowAdapter {
008  List<NormalizedStep> normalizedSteps();
009
010  class NormalizedStep {
011    Map<String, Object> stepDefinition;
012    List<Input> inputs;
013    String label;
014    String doc;
015  }
016
017  class Input {
018    String sourceOutputName;
019    String sourceStepLabel;
020    String inputName;
021  }
022
023  default void ensurePosition(final Map<String, Object> step, final int orderIndex) {
024    if (!step.containsKey("position")) {
025      Map<String, Integer> position = new HashMap();
026      position.put("left", 10 * orderIndex);
027      position.put("top", 10 * orderIndex);
028      step.put("position", position);
029    }
030  }
031}