((Map<String, MSequenceEdge>) ((Map) context.getUserContext()).get(SEQUENCE_EDGES)).put(edge.getId(), edge); List annos = edge.getAnnotations(); if(annos!=null) edge.addParameterMapping(propname, exp, iexp); edge.addParameterMapping(propname, exp, iexp); edge.setCondition(cond); else if(edge.getDescription()!=null) StringTokenizer stok = new StringTokenizer(edge.getDescription(), "\r\n"); String lineone = null; String linetwo = null; edge.addParameterMapping(propname, exp, iexp); edge.setName(lineone); edge.setCondition(cond); edge.setCondition(cond);
if (edge.getName() != null && edge.getName().length() > 0) out.print(escapeString(edge.getName())); out.print("\" "); out.print(escapeString(edge.getSource().getId())); out.print("\" targetRef=\""); out.print(escapeString(edge.getTarget().getId())); out.print("\" id=\""); out.print(escapeString(edge.getId())); out.println("\">"); if (edge.getCondition() != null) String cond = edge.getCondition().getValue(); if (cond != null && cond.length() > 0) IndexMap<String, Tuple2<UnparsedExpression, UnparsedExpression>> mappings = edge.getParameterMappings(); if(mappings != null && mappings.size() > 0)
IParsedExpression exp = edge.getParsedCondition(); boolean follow = true; if(exp!=null) if(edge.isDefault()) throw new RuntimeException("Default edge must not have a condition: "+activity+", "+instance+", "+thread+", "+exp); follow = isValid(thread, exp, fetcher);
public void actionPerformed(ActionEvent e) { stopEditing(maptable); String name = createFreeName("name", new BasePropertyPanel.IndexMapContains(getBpmnSequenceEdge().getParameterMappings())); int row = maptable.getRowCount(); getBpmnSequenceEdge().addParameterMapping(name, new UnparsedExpression(name, "java.lang.Object", "", null), null); ((MappingsTableModel) maptable.getModel()).fireTableRowsInserted(row, row); } };
MSequenceEdge edge = new MSequenceEdge(); edge.setId(attrs.get("id")); String edgename = attrs.get("name"); edgename = edgename != null? unescapeString(edgename) : null; edge.setName(edgename); MActivity src = (MActivity) emap.get(attrs.get("sourceRef")); MActivity tgt = (MActivity) emap.get(attrs.get("targetRef")); edge.setSource(src); edge.setTarget(tgt); if (de != null && de.contains(edge.getId())) edge.setDefault(true); if (cond != null) edge.setCondition(parseExp(new UnparsedExpression("", "java.lang.Boolean", cond, null), model.getModelInfo().getAllImports(), cl)); parseExp(iexp, model.getModelInfo().getAllImports(), cl); edge.addParameterMapping(entry.getKey(), exp, iexp); emap.put(edge.getId(), edge);
for (MSequenceEdge edge : edges) if (!acts.contains(edge.getTarget())) if (pact.getEventHandlers() != null && pact.getEventHandlers().contains(edge.getSource())) for (MSequenceEdge edge : edges) if (!acts.contains(edge.getSource())) if (edge.getSource().isEventHandler()) if (pact.getEventHandlers() != null && pact.getEventHandlers().contains(edge.getSource()))
public void run() { // To schedule a step an implicit activity is created. // In order to put the step parameter value it is necessary // to have an edge with a mapping. Otherwise the parameter // value with be deleted in process thread updateParametersBeforeStep(). MActivity act = new MActivity(); act.setName("External Step Activity: "+(cnt++)); act.setClazz(new ClassInfo(ExecuteStepTask.class)); act.addParameter(new MParameter(MParameter.DIRECTION_IN, new ClassInfo(Object[].class), "step", null)); act.setActivityType(MBpmnModel.TASK); MSequenceEdge edge = new MSequenceEdge(); edge.setTarget(act); UnparsedExpression exp = new UnparsedExpression(null, (Class<?>) null, "step", null); SJavaParser.parseExpression(exp, null, null); // edge.addParameterMapping("step", SJavaParser.parseExpression("step", null, null), null); edge.addParameterMapping("step", exp, null); act.addIncomingSequenceEdge(edge); MPool pl = pool!=null? bpmnmodel.getPool(pool): (MPool)bpmnmodel.getPools().get(0); act.setPool(pl); ProcessThread thread = new ProcessThread(""+idcnt++, act, context, BpmnInterpreter.this); thread.setLastEdge(edge); thread.setParameterValue("step", new Object[]{step, ret}); context.addExternalThread(thread); } });
MSequenceEdge edge = (MSequenceEdge)edges.get(edgeid); act.addIncomingSequenceEdge(edge); edge.setTarget(act); MSequenceEdge edge = (MSequenceEdge)edges.get(edgeid); act.addOutgoingSequenceEdge(edge); edge.setSource(act); if (edge.getCondition() != null) SJavaParser.parseExpression(edge.getCondition(), dia.getModelInfo().getAllImports(), context.getClassLoader());
/** * Set the last edge. Also sets the next activity. * @param edge The edge. */ public void setLastEdge(MSequenceEdge edge) { setActivity(edge!=null ? (MActivity)edge.getTarget() : null); this.edge = edge; }
if (!rnodes.contains(vsactivity)) MSequenceEdge medge = new MSequenceEdge(); medge.setId(idgenerator.generateId()); VSequenceEdge seqedge = new VSequenceEdge(graph); seqedge.setBpmnElement(medge);
defaultbox.setSelected(getBpmnSequenceEdge().isDefault()); defaultbox.setAction(new AbstractAction() condarea.setText(getBpmnSequenceEdge().getCondition() != null? (String) getBpmnSequenceEdge().getCondition().getValue() : ""); condarea.getDocument().addDocumentListener(new DocumentAdapter()
/** * Returns the row count. * * @return The row count. */ public int getRowCount() { return getBpmnSequenceEdge().getParameterMappings() != null? getBpmnSequenceEdge().getParameterMappings().size() : 0; }
/** * Add edges to the result map. * @param tmp The list of edges. * @param edges The result map (id -> edge). */ protected void addEdges(List<MSequenceEdge> tmp, Map<String, MSequenceEdge> edges) { if(tmp!=null) { for(int i=0; i<tmp.size(); i++) { MSequenceEdge edge = (MSequenceEdge)tmp.get(i); edges.put(edge.getId(), edge); } } }
/** * Gets the style. */ public String getStyle() { String ret = super.getStyle(); if(((MSequenceEdge) getBpmnElement()).isDefault()) { ret += "_DEFAULT"; } return ret; }
public void update(DocumentEvent e) { getBpmnSequenceEdge().setCondition(new UnparsedExpression("", "java.lang.Boolean", getText(e.getDocument()), null)); modelcontainer.setDirty(true); } });
/** * Sets the source. */ public void setSource(mxICell source) { if (getBpmnElement() != null) { MSequenceEdge medge = (MSequenceEdge) getBpmnElement(); if (getSource() != null) { ((MActivity) ((VActivity) getSource()).getBpmnElement()).removeOutgoingSequenceEdge(medge); medge.setSource(null); } if (source != null) { MActivity msource = (MActivity) ((VActivity) source).getBpmnElement(); msource.addOutgoingSequenceEdge(medge); medge.setSource(msource); } } super.setSource(source); }