public void generateAsslScriptOnlyMain(List<List<Vertice>> listaCaminhos) { UseAsslFileHelper.deleteFiles(); UseAsslFileHelper.getInstance().resetPahtCount(); for (List<Vertice> caminho : listaCaminhos) { UseAsslFileHelper.getInstance().writeLine(generateOnlyMainPerPath(caminho)); UseAsslFileHelper.getInstance().closeFile(); UseAsslFileHelper.getInstance().incremetPathCount(); } }
public void generateAsslScriptsManiAndMethod(List<List<Vertice>> listaCaminhos) { UseAsslFileHelper.deleteFiles(); UseAsslFileHelper.getInstance().resetPahtCount(); for (List<Vertice> caminho : listaCaminhos) { task2AsslFunction(caminho); generateMain(caminho); UseAsslFileHelper.getInstance().closeFile(); UseAsslFileHelper.getInstance().incremetPathCount(); } }
private void task2AsslFunction(List<Vertice> caminho) { for (Vertice vertice : caminho) { if (vertice.getVeriticeElement() instanceof AbstractTaskElement) { UseAsslFileHelper.getInstance().writeLine(vertice.getVeriticeElement().toString()); } } }
private void generateMain(List<Vertice> caminho) { String auxStr = ""; String args = ""; int qtdTab = 0; List<DataObject> listDataObjets = new ArrayList<DataObject>(); for (int i = 0; i < caminho.size(); i++) { Vertice vertice = caminho.get(i); if (vertice.getVeriticeElement() instanceof AbstractTaskElement) { AbstractTaskElement currentTask = ((AbstractTaskElement) vertice.getVeriticeElement()); createdataObjectList(currentTask.getDataInputList(), listDataObjets); createdataObjectList(currentTask.getDataOutputList(), listDataObjets); auxStr += getStrTab(qtdTab) + currentTask.getAsslCall(); } else if (vertice.getVeriticeElement() instanceof ExclusiveGateway && ((AbstractGatewayElement) vertice.getVeriticeElement()).getKindGateway() == MyConstants.GATEWAY_FORK) { List<Edge> arestas = GraphHelper.getInstance() .getAllEdgeLinkedToVertice(vertice, MyConstants.SOURCE_VERTICE); for (Edge edge : arestas) { if (edge.getTargetVertice().equals(caminho.get(i + 1))) { auxStr += getStrTab(qtdTab) + edge.getAsslConditionComand(); auxStr += getStrTab(qtdTab) + "begin"; qtdTab++; } } } else if (vertice.getVeriticeElement() instanceof ExclusiveGateway && ((AbstractGatewayElement) vertice.getVeriticeElement()).getKindGateway() == MyConstants.GATEWAY_JOIN) { qtdTab--; auxStr += getStrTab(qtdTab) + "end;"; } else if (vertice.getVeriticeElement() instanceof EndEvent) { auxStr += getStrTab(qtdTab) + "end;"; } } if (!listDataObjets.isEmpty()) { args = "var "; for (DataObject dataObject : listDataObjets) { args += dataObject.toString() + ", "; } args = args.substring(0, args.length() - 2) + ";"; } UseAsslFileHelper.getInstance().writeLine("procedure Main()" + args + "\nbegin\n" + auxStr); }