@SuppressWarnings("rawtypes") public DiagramElement getDiagramElement() { Collection<Reference> incomingReferences = getIncomingReferencesByType(DiagramElement.class); for (Reference<?> reference : incomingReferences) { for (ModelElementInstance sourceElement : reference.findReferenceSourceElements(this)) { String referenceIdentifier = reference.getReferenceIdentifier(sourceElement); if (referenceIdentifier != null && referenceIdentifier.equals(getId())) { return (DiagramElement) sourceElement; } } } return null; }
@SuppressWarnings("rawtypes") public Collection<Reference> getIncomingReferencesByType(Class<? extends ModelElementInstance> referenceSourceTypeClass) { Collection<Reference> references = new ArrayList<Reference>(); // we traverse all incoming references in reverse direction for (Reference<?> reference : idAttribute.getIncomingReferences()) { ModelElementType sourceElementType = reference.getReferenceSourceElementType(); Class<? extends ModelElementInstance> sourceInstanceType = sourceElementType.getInstanceType(); // if the referencing element (source element) is a BPMNDI element, dig deeper if (referenceSourceTypeClass.isAssignableFrom(sourceInstanceType)) { references.add(reference); } } return references; }
public S hasTargetAttribute(Attribute<?> targetAttribute) { isNotNull(); Attribute<String> actualTargetAttribute = actual.getReferenceTargetAttribute(); if (!targetAttribute.equals(actualTargetAttribute)) { failWithMessage("Expected reference <%s> to have target attribute <%s> but was <%s>", actual, targetAttribute, actualTargetAttribute); } return myself; } }
public S hasIdentifier(ModelElementInstance instance, String identifier) { isNotNull(); String actualIdentifier = actual.getReferenceIdentifier(instance); if (!identifier.equals(actualIdentifier)) { failWithMessage("Expected reference <%s> to have identifier <%s> but was <%s>", actual, identifier, actualIdentifier); } return myself; }
public S hasTargetElement(ModelElementInstance instance, ModelElementInstance targetElement) { isNotNull(); ModelElementInstance actualTargetElement = actual.getReferenceTargetElement(instance); if (!targetElement.equals(actualTargetElement)) { failWithMessage("Expected reference <%s> to have target element <%s> but was <%s>", actual, targetElement, actualTargetElement); } return myself; }
public S hasIdentifier(ModelElementInstance instance, String identifier) { isNotNull(); String actualIdentifier = actual.getReferenceIdentifier(instance); if (!identifier.equals(actualIdentifier)) { failWithMessage("Expected reference <%s> to have identifier <%s> but was <%s>", actual, identifier, actualIdentifier); } return myself; }
public S hasNoTargetElement(ModelElementInstance instance) { isNotNull(); ModelElementInstance actualTargetElement = actual.getReferenceTargetElement(instance); if (actualTargetElement != null) { failWithMessage("Expected reference <%s> to have no target element but has <%s>", actualTargetElement, actualTargetElement); } return myself; }
@SuppressWarnings("rawtypes") public void updateAfterReplacement() { super.updateAfterReplacement(); Collection<Reference> incomingReferences = getIncomingReferencesByType(SequenceFlow.class); for (Reference<?> reference : incomingReferences) { for (ModelElementInstance sourceElement : reference.findReferenceSourceElements(this)) { String referenceIdentifier = reference.getReferenceIdentifier(sourceElement); if (referenceIdentifier != null && referenceIdentifier.equals(getId()) && reference instanceof AttributeReference) { String attributeName = ((AttributeReference) reference).getReferenceSourceAttribute().getAttributeName(); if (attributeName.equals(BPMN_ATTRIBUTE_SOURCE_REF)) { getOutgoing().add((SequenceFlow) sourceElement); } else if (attributeName.equals(BPMN_ATTRIBUTE_TARGET_REF)) { getIncoming().add((SequenceFlow) sourceElement); } } } } }
@SuppressWarnings("rawtypes") public Collection<Reference> getIncomingReferencesByType(Class<? extends ModelElementInstance> referenceSourceTypeClass) { Collection<Reference> references = new ArrayList<Reference>(); // we traverse all incoming references in reverse direction for (Reference<?> reference : idAttribute.getIncomingReferences()) { ModelElementType sourceElementType = reference.getReferenceSourceElementType(); Class<? extends ModelElementInstance> sourceInstanceType = sourceElementType.getInstanceType(); // if the referencing element (source element) is a BPMNDI element, dig deeper if (referenceSourceTypeClass.isAssignableFrom(sourceInstanceType)) { references.add(reference); } } return references; }
public S hasTargetElement(ModelElementInstance instance, ModelElementInstance targetElement) { isNotNull(); ModelElementInstance actualTargetElement = actual.getReferenceTargetElement(instance); if (!targetElement.equals(actualTargetElement)) { failWithMessage("Expected reference <%s> to have target element <%s> but was <%s>", actual, targetElement, actualTargetElement); } return myself; }
public S hasTargetAttribute(Attribute<?> targetAttribute) { isNotNull(); Attribute<String> actualTargetAttribute = actual.getReferenceTargetAttribute(); if (!targetAttribute.equals(actualTargetAttribute)) { failWithMessage("Expected reference <%s> to have target attribute <%s> but was <%s>", actual, targetAttribute, actualTargetAttribute); } return myself; } }
@SuppressWarnings("rawtypes") public DiagramElement getDiagramElement() { Collection<Reference> incomingReferences = getIncomingReferencesByType(DiagramElement.class); for (Reference<?> reference : incomingReferences) { for (ModelElementInstance sourceElement : reference.findReferenceSourceElements(this)) { String referenceIdentifier = reference.getReferenceIdentifier(sourceElement); if (referenceIdentifier != null && referenceIdentifier.equals(getId())) { return (DiagramElement) sourceElement; } } } return null; }
@SuppressWarnings("rawtypes") public Collection<Reference> getIncomingReferencesByType(Class<? extends ModelElementInstance> referenceSourceTypeClass) { Collection<Reference> references = new ArrayList<Reference>(); // we traverse all incoming references in reverse direction for (Reference<?> reference : idAttribute.getIncomingReferences()) { ModelElementType sourceElementType = reference.getReferenceSourceElementType(); Class<? extends ModelElementInstance> sourceInstanceType = sourceElementType.getInstanceType(); // if the referencing element (source element) is a BPMNDI element, dig deeper if (referenceSourceTypeClass.isAssignableFrom(sourceInstanceType)) { references.add(reference); } } return references; }
public S hasNoTargetElement(ModelElementInstance instance) { isNotNull(); ModelElementInstance actualTargetElement = actual.getReferenceTargetElement(instance); if (actualTargetElement != null) { failWithMessage("Expected reference <%s> to have no target element but has <%s>", actualTargetElement, actualTargetElement); } return myself; }
@SuppressWarnings("rawtypes") public DiagramElement getDiagramElement() { Collection<Reference> incomingReferences = getIncomingReferencesByType(DiagramElement.class); for (Reference<?> reference : incomingReferences) { for (ModelElementInstance sourceElement : reference.findReferenceSourceElements(this)) { String referenceIdentifier = reference.getReferenceIdentifier(sourceElement); if (referenceIdentifier != null && referenceIdentifier.equals(getId())) { return (DiagramElement) sourceElement; } } } return null; }
@SuppressWarnings("rawtypes") public Collection<Reference> getIncomingReferencesByType( Class<? extends ModelElementInstance> referenceSourceTypeClass) { final Collection<Reference> references = new ArrayList<>(); // we traverse all incoming references in reverse direction for (final Reference<?> reference : idAttribute.getIncomingReferences()) { final ModelElementType sourceElementType = reference.getReferenceSourceElementType(); final Class<? extends ModelElementInstance> sourceInstanceType = sourceElementType.getInstanceType(); // if the referencing element (source element) is a BPMNDI element, dig deeper if (referenceSourceTypeClass.isAssignableFrom(sourceInstanceType)) { references.add(reference); } } return references; } }
@Override @SuppressWarnings("rawtypes") public DiagramElement getDiagramElement() { final Collection<Reference> incomingReferences = getIncomingReferencesByType(DiagramElement.class); for (final Reference<?> reference : incomingReferences) { for (final ModelElementInstance sourceElement : reference.findReferenceSourceElements(this)) { final String referenceIdentifier = reference.getReferenceIdentifier(sourceElement); if (referenceIdentifier != null && referenceIdentifier.equals(getId())) { return (DiagramElement) sourceElement; } } } return null; }
@SuppressWarnings("rawtypes") public Collection<Reference> getIncomingReferencesByType( Class<? extends ModelElementInstance> referenceSourceTypeClass) { final Collection<Reference> references = new ArrayList<>(); // we traverse all incoming references in reverse direction for (final Reference<?> reference : idAttribute.getIncomingReferences()) { final ModelElementType sourceElementType = reference.getReferenceSourceElementType(); final Class<? extends ModelElementInstance> sourceInstanceType = sourceElementType.getInstanceType(); // if the referencing element (source element) is a BPMNDI element, dig deeper if (referenceSourceTypeClass.isAssignableFrom(sourceInstanceType)) { references.add(reference); } } return references; } }
@Override @SuppressWarnings("rawtypes") public DiagramElement getDiagramElement() { final Collection<Reference> incomingReferences = getIncomingReferencesByType(DiagramElement.class); for (final Reference<?> reference : incomingReferences) { for (final ModelElementInstance sourceElement : reference.findReferenceSourceElements(this)) { final String referenceIdentifier = reference.getReferenceIdentifier(sourceElement); if (referenceIdentifier != null && referenceIdentifier.equals(getId())) { return (DiagramElement) sourceElement; } } } return null; }
@SuppressWarnings("rawtypes") public void updateAfterReplacement() { super.updateAfterReplacement(); Collection<Reference> incomingReferences = getIncomingReferencesByType(SequenceFlow.class); for (Reference<?> reference : incomingReferences) { for (ModelElementInstance sourceElement : reference.findReferenceSourceElements(this)) { String referenceIdentifier = reference.getReferenceIdentifier(sourceElement); if (referenceIdentifier != null && referenceIdentifier.equals(getId()) && reference instanceof AttributeReference) { String attributeName = ((AttributeReference) reference).getReferenceSourceAttribute().getAttributeName(); if (attributeName.equals(BPMN_ATTRIBUTE_SOURCE_REF)) { getOutgoing().add((SequenceFlow) sourceElement); } else if (attributeName.equals(BPMN_ATTRIBUTE_TARGET_REF)) { getIncoming().add((SequenceFlow) sourceElement); } } } } }