@Override public void initializeWatchedModel(SequenceFlowEditorModel watchedModel, SequenceFlowBean modelToBind) { if(modelToBind.getExpression()!=null) { watchedModel.setConditionnalExpression(modelToBind.getExpression().getContent()); } }
@Override public void visitSFExpression(IExpressionBean exp){ if(exp.getId().equals(this.id) && bean==null){bean = exp;} } @Override
private void setDocumentation(Expression element, IExpressionBean bean){ if(bean!=null && bean.getDocumentation()!=null && !bean.getDocumentation().trim().isEmpty()){ Documentation doc = newInstance(Documentation.class); XmlObjectText content = newInstance(XmlObjectText.class); content.setText(bean.getDocumentation()); doc.addDocumentationContent(content); element.addDocumentation(doc); } adaptAttributeExtensions(element, bean); if(!bean.getObjectExtensions().isEmpty()){ ExtensionElements ee = newInstance(ExtensionElements.class); for(ObjectExtension obj : bean.getObjectExtensions()){ ee.addAnyXmlObject(bindingManager.clientToServer(obj)); } element.setExtensionElements(ee); } }
private void addDefaultAsssignmentExpressions(IDataAssociationBean dab) { if(dab.getAssignements().isEmpty()) return; IAssignmentBean a = dab.getAssignements().get(0); if(a.getFrom()==null || a.getFrom().getContent()==null || a.getFrom().getContent().isEmpty()) { IExpressionBean fromExp = new ExpressionBean(); String fromExpContent = "$"+dab.getSources().get(0).getId(); fromExp.setContent(fromExpContent); a.setFrom(fromExp); } if(a.getTo()==null || a.getTo().getContent()==null || a.getTo().getContent().isEmpty()) { IExpressionBean toExp = new ExpressionBean(); String toExpContent = "$"+dab.getTarget().getId(); toExp.setContent(toExpContent); a.setTo(toExp); } }
private void buildExpression(Assignment a, IAssignmentBean ab){ Expression expFrom = newInstance(Expression.class); setDocumentation(expFrom, ab.getFrom()); expFrom.setId(ab.getFrom().getId()); expFrom.setTextContent(ab.getFrom().getContent()); Expression expTo = newInstance(Expression.class); setDocumentation(expTo, ab.getTo()); expTo.setId(ab.getTo().getId()); expTo.setTextContent(ab.getTo().getContent()); a.setFrom(expFrom); a.setTo(expTo); }
@Override public void bind(SequenceFlowEditorModel watchedModel, SequenceFlowBean modelToBind) { IExpressionBean exp = new ExpressionBean(); exp.setContent(watchedModel.getConditionnalExpression()); modelToBind.setExpression(exp); }
&& sequenceFlowBean.getExpression().getContent()!=null && !sequenceFlowBean.getExpression().getContent().isEmpty()){ Expression exp = newInstance(Expression.class); setDocumentation(exp, sequenceFlowBean.getExpression()); exp.setId(sequenceFlowBean.getExpression().getId()); exp.setTextContent(sequenceFlowBean.getExpression().getContent()); sequenceFlow.setConditionExpression(exp);
@Override public void bind(DataAssociationEditorModel watchedModel, DataAssociationBean modelToBind) { // 1 - binding of 'to' and 'from' fields of the editor model //add an assignment with the 'to' and 'from' expressions modelToBind.getAssignements().clear(); IAssignmentBean a = new AssignmentBean(); modelToBind.addAssignement(a); IExpressionBean from = new ExpressionBean(); from.setContent(watchedModel.getFrom()); a.setFrom(from); IExpressionBean to = new ExpressionBean(); to.setContent(watchedModel.getTo()); a.setTo(to); // 2 - binding of 'itemDef' property of the editor model //set targetItem and sourceItem to the editor model value // the builder will use one of them depending if the data association // is a datainputassociation or a dataoutputassociation modelToBind.setTargetItem(watchedModel.getItemDef()); modelToBind.setSourceItem(watchedModel.getItemDef()); }
@Override public void visitDataInputAssociation(IDataAssociationBean diaBean, WithDataInputAssociationBean owner){ DataInputAssociation dia = newInstance(DataInputAssociation.class); setDocumentationAndExtensions(dia, diaBean); dia.setId(diaBean.getId()); if(diaBean.getTarget()!=null){ dataAssociationTargets.put(dia, diaBean.getTarget()); } if(diaBean.getSources()!=null){ dataAssociationSources.put(dia, diaBean.getSources()); } for(IAssignmentBean assignementBean : diaBean.getAssignements()){ Assignment assignement = newInstance(Assignment.class); setDocumentationAndExtensions(assignement, assignementBean); assignement.setId(assignementBean.getId()); buildExpression(assignement, assignementBean); dia.addAssignment(assignement); } if(diaBean.getTransformation()!=null){ dia.setTransformation(buildExpression(diaBean.getTransformation().getContent(), diaBean.getTransformation().getId())); } currentDataInputAssociationOwner.addDataInputAssociation(dia); }
@Override public void visitSequenceFlow(ISequenceFlowBean sf){ if(sf.getSourceNode()==null){ validationErrors.put(sf.getId(), BPMNValidationErrorMessage.SF_NO_SOURCE.getMessage()); return; } if(sf.getTargetNode()==null){ validationErrors.put(sf.getId(), BPMNValidationErrorMessage.SF_NO_TARGET.getMessage()); return; } if(sf.getSourceNode().equals(sf.getTargetNode())){ validationErrors.put(sf.getId(), BPMNValidationErrorMessage.SF_SAME_SOURCE_TARGET.getMessage()); return; } List<? extends IFlowElementBean> l = currentProcess.getFlowNodes(); if(!l.contains(sf.getSourceNode()) || !l.contains(sf.getTargetNode())){ validationErrors.put(sf.getId(), BPMNValidationErrorMessage.SF_SOURCE_TARGET_WRONG_POOL.getMessage()); } if(sf.getSourceNode() instanceof ExclusiveGatewayBean){ if(sf.getExpression()==null || sf.getExpression().getContent().isEmpty()){ validationErrors.put(sf.getId(), BPMNValidationErrorMessage.SF_COND_MISSING.getMessage()); } } }
@Override public void visitDataOutputAssociation(IDataAssociationBean doaBean, WithDataOutputAssociationBean owner){ DataOutputAssociation doa = newInstance(DataOutputAssociation.class); setDocumentationAndExtensions(doa, doaBean); doa.setId(doaBean.getId()); if(doaBean.getTarget()!=null){ dataAssociationTargets.put(doa, doaBean.getTarget()); } if(doaBean.getSources()!=null){ dataAssociationSources.put(doa, doaBean.getSources()); } for(IAssignmentBean ab : doaBean.getAssignements()){ Assignment a = newInstance(Assignment.class); setDocumentationAndExtensions(a, ab); a.setId(ab.getId()); buildExpression(a, ab); doa.addAssignment(a); } if(doaBean.getTransformation()!=null){ doa.setTransformation(buildExpression(doaBean.getTransformation().getContent(), doaBean.getTransformation().getId())); } currentDataOutputAssociationOwner.addDataOutputAssociation(doa); }
@Override public void initializeWatchedModel(DataAssociationEditorModel watchedModel, DataAssociationBean modelToBind) { // 1 - load assignments if(modelToBind.getAssignements()!=null && !modelToBind.getAssignements().isEmpty()) { IAssignmentBean a = modelToBind.getAssignements().get(0); if(a.getFrom()!=null) { watchedModel.setFrom(a.getFrom().getContent()); } if(a.getTo()!=null) { watchedModel.setTo(a.getTo().getContent()); } } // 2 - load source or target item if(modelToBind.getSourceItem()!=null) { watchedModel.setItemDef(modelToBind.getSourceItem()); } else if (modelToBind.getTargetItem()!=null) { watchedModel.setItemDef(modelToBind.getTargetItem()); } }