Ejemplo n.º 1
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");
  }
Ejemplo n.º 2
0
  private void appendNode(StringBuilder sb, GenOperator node, Map<Integer, GenNode> map) {
    sb.append("\t\t");
    sb.append("// ");
    sb.append(node.getDescription());
    sb.append("\n");

    sb.append("\t\t");
    String rtype = node.getReturnTypeName();
    if (rtype != null) {
      sb.append(rtype);
      sb.append(" ");
      sb.append(node.getDefVariableName());
      sb.append(" = ");
    }
    sb.append(getFactoryVariableName(node.getFactoryName(), node.isFlowPart()));
    sb.append(".");
    sb.append(node.getMethodName());
    sb.append("(");
    node.appendArgsTo(sb);
    sb.append(");\n");
  }