예제 #1
0
 protected void appendField(StringBuilder sb) {
   for (JobPort port : frame.getInputPorts()) {
     appendField(sb, port, "In");
   }
   for (JobPort port : frame.getOutputPorts()) {
     appendField(sb, port, "Out");
   }
 }
예제 #2
0
  private void appendDescribe(StringBuilder sb) {
    sb.append("\t@Override\n");
    sb.append("\tpublic void describe() {\n");

    Map<Integer, GenNode> map = new HashMap<Integer, GenNode>();
    for (JobPort port : frame.getInputPorts()) {
      GenImporter gen = new GenImporter(port);
      map.put(port.getId(), gen);
      nodeMap.put(port, gen);
    }

    List<GenOperator> opeList = new ArrayList<GenOperator>();
    for (NodeElement node : diagram.getContents()) {
      if (node instanceof OperatorNode) {
        OperatorNode operator = (OperatorNode) node;
        GenOperator gop = new GenOperator(operator);
        opeList.add(gop);
        getFactoryVariableName(gop.getFactoryName(), gop.isFlowPart());
        nodeMap.put(node, gop);
        for (OpePort port : operator.getPorts()) {
          nodeMap.put(port, new GenPort(port));
        }
      }
    }

    appendDescribeVariable(sb);

    for (int i = 0; ; ) {
      if (opeList.isEmpty()) {
        break;
      }
      if (i >= opeList.size()) {
        i = 0;
      }
      GenOperator node = opeList.get(i);
      if (node.complete(map)) {
        appendNode(sb, node, map);
        map.put(node.getId(), node);
        opeList.remove(node);
      } else {
        i++;
      }
    }

    sb.append("\n");
    for (JobPort port : frame.getOutputPorts()) {
      appendExporter(sb, port);
    }

    sb.append("\t}\n");
  }
예제 #3
0
 protected void appendConstructorArguments(StringBuilder sb, StringBuilder let) {
   boolean first = true;
   for (JobPort port : frame.getInputPorts()) {
     if (first) {
       first = false;
     } else {
       sb.append(",\n");
     }
     appendConstructorArgument(sb, let, port);
   }
   for (JobPort port : frame.getOutputPorts()) {
     if (first) {
       first = false;
     } else {
       sb.append(",\n");
     }
     appendConstructorArgument(sb, let, port);
   }
 }