Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBob Brodt2016-10-26 15:37:34 +0000
committerBob Brodt2016-10-26 15:37:34 +0000
commit2436bd15ea0081627e968cdbf211e7c70cad87ad (patch)
treed6a32d4e0b7124f42c3e3a930c57ee779b5ed559
parentb0e0e30d45598d12ac57106de9c2986e304d671b (diff)
downloadorg.eclipse.bpmn2-modeler-2436bd15ea0081627e968cdbf211e7c70cad87ad.tar.gz
org.eclipse.bpmn2-modeler-2436bd15ea0081627e968cdbf211e7c70cad87ad.tar.xz
org.eclipse.bpmn2-modeler-2436bd15ea0081627e968cdbf211e7c70cad87ad.zip
https://bugs.eclipse.org/bugs/show_bug.cgi?id=496611
Message Event Definition validation is skipped for non-executable processes.
-rw-r--r--plugins/org.eclipse.bpmn2.modeler.core/src/org/eclipse/bpmn2/modeler/core/validation/validators/EventDefinitionValidator.java113
1 files changed, 57 insertions, 56 deletions
diff --git a/plugins/org.eclipse.bpmn2.modeler.core/src/org/eclipse/bpmn2/modeler/core/validation/validators/EventDefinitionValidator.java b/plugins/org.eclipse.bpmn2.modeler.core/src/org/eclipse/bpmn2/modeler/core/validation/validators/EventDefinitionValidator.java
index c4225c03..d383b530 100644
--- a/plugins/org.eclipse.bpmn2.modeler.core/src/org/eclipse/bpmn2/modeler/core/validation/validators/EventDefinitionValidator.java
+++ b/plugins/org.eclipse.bpmn2.modeler.core/src/org/eclipse/bpmn2/modeler/core/validation/validators/EventDefinitionValidator.java
@@ -72,65 +72,66 @@ public class EventDefinitionValidator extends AbstractBpmn2ElementValidator<Even
@Override
public IStatus validate(EventDefinition ed) {
BaseElement edContainer = (BaseElement) ed.eContainer();
- if (ed instanceof TimerEventDefinition) {
- TimerEventDefinition ted = (TimerEventDefinition) ed;
- if (ted.getTimeDate() == null && ted.getTimeDuration() == null && ted.getTimeCycle() == null) {
- addMissingFeatureStatus(edContainer,Messages.EventDefinitionValidator_Timer, Status.ERROR);
+ if (ProcessValidator.isContainingProcessExecutable(edContainer)) {
+ if (ed instanceof TimerEventDefinition) {
+ TimerEventDefinition ted = (TimerEventDefinition) ed;
+ if (ted.getTimeDate() == null && ted.getTimeDuration() == null && ted.getTimeCycle() == null) {
+ addMissingFeatureStatus(edContainer,Messages.EventDefinitionValidator_Timer, Status.ERROR);
+ }
+ } else if (ed instanceof SignalEventDefinition) {
+ Signal signal = ((SignalEventDefinition) ed).getSignalRef();
+ if (signal==null)
+ addMissingFeatureStatus(edContainer,Messages.EventDefinitionValidator_Signal, Status.ERROR);
+ else
+ new SignalValidator(this).validate(signal);
+ } else if (ed instanceof ErrorEventDefinition) {
+ Error error = ((ErrorEventDefinition) ed).getErrorRef();
+ if (error==null)
+ addMissingFeatureStatus(edContainer,Messages.EventDefinitionValidator_Error, Status.ERROR);
+ else
+ new ErrorValidator(this).validate(error);
+ } else if (ed instanceof ConditionalEventDefinition) {
+ FormalExpression expression = (FormalExpression) ((ConditionalEventDefinition) ed).getCondition();
+ if (expression==null || isEmpty(expression.getBody()))
+ addMissingFeatureStatus(edContainer,Messages.EventDefinitionValidator_Condition, Status.ERROR);
+ else
+ new ExpressionValidator(this).validate(expression);
+ } else if (ed instanceof EscalationEventDefinition) {
+ Escalation escalation = ((EscalationEventDefinition) ed).getEscalationRef();
+ if (escalation==null)
+ addMissingFeatureStatus(edContainer,Messages.EventDefinitionValidator_Escalation, Status.ERROR);
+ else
+ new EscalationValidator(this).validate(escalation);
+ } else if (ed instanceof MessageEventDefinition) {
+ Message message = ((MessageEventDefinition) ed).getMessageRef();
+ if (message==null)
+ addMissingFeatureStatus(edContainer,Messages.EventDefinitionValidator_Message, Status.ERROR);
+ else
+ new MessageValidator(this).validate(message);
+ } else if (ed instanceof CompensateEventDefinition) {
+ Activity activity = ((CompensateEventDefinition) ed).getActivityRef();
+ if (activity==null)
+ addMissingFeatureStatus(edContainer,Messages.EventDefinitionValidator_CalledActivity, Status.ERROR);
+ else
+ new ActivityValidator(this).validate(activity);
}
- } else if (ed instanceof SignalEventDefinition) {
- Signal signal = ((SignalEventDefinition) ed).getSignalRef();
- if (signal==null)
- addMissingFeatureStatus(edContainer,Messages.EventDefinitionValidator_Signal, Status.ERROR);
- else
- new SignalValidator(this).validate(signal);
- } else if (ed instanceof ErrorEventDefinition) {
- Error error = ((ErrorEventDefinition) ed).getErrorRef();
- if (error==null)
- addMissingFeatureStatus(edContainer,Messages.EventDefinitionValidator_Error, Status.ERROR);
- else
- new ErrorValidator(this).validate(error);
- } else if (ed instanceof ConditionalEventDefinition) {
- FormalExpression expression = (FormalExpression) ((ConditionalEventDefinition) ed).getCondition();
- if (expression==null || isEmpty(expression.getBody()))
- addMissingFeatureStatus(edContainer,Messages.EventDefinitionValidator_Condition, Status.ERROR);
- else
- new ExpressionValidator(this).validate(expression);
- } else if (ed instanceof EscalationEventDefinition) {
- Escalation escalation = ((EscalationEventDefinition) ed).getEscalationRef();
- if (escalation==null)
- addMissingFeatureStatus(edContainer,Messages.EventDefinitionValidator_Escalation, Status.ERROR);
- else
- new EscalationValidator(this).validate(escalation);
- } else if (ed instanceof MessageEventDefinition) {
- Message message = ((MessageEventDefinition) ed).getMessageRef();
- if (message==null)
- addMissingFeatureStatus(edContainer,Messages.EventDefinitionValidator_Message, Status.ERROR);
- else
- new MessageValidator(this).validate(message);
- } else if (ed instanceof CompensateEventDefinition) {
- Activity activity = ((CompensateEventDefinition) ed).getActivityRef();
- if (activity==null)
- addMissingFeatureStatus(edContainer,Messages.EventDefinitionValidator_CalledActivity, Status.ERROR);
- else
- new ActivityValidator(this).validate(activity);
- }
- if (edContainer instanceof Event && EventDefinitionsUtil.hasItemDefinition(ed)) {
- // get Data Association and make sure both source and target are defined
- Tuple<ItemAwareElement,DataAssociation> param = EventDefinitionsUtil.getIOParameter((Event)edContainer, ed);
- DataAssociation da = param.getSecond();
- int severity = ProcessValidator.isContainingProcessExecutable(edContainer) ? Status.ERROR : Status.WARNING;
- if (da instanceof DataInputAssociation) {
- if (((DataInputAssociation)da).getSourceRef().size()==0) {
- addStatus(edContainer,severity,Messages.EventDefinitionValidator_No_Source_DataItem,
- ModelUtil.getLabel(ed),
- ModelUtil.getLabel(edContainer));
+ if (edContainer instanceof Event && EventDefinitionsUtil.hasItemDefinition(ed)) {
+ // get Data Association and make sure both source and target are defined
+ Tuple<ItemAwareElement,DataAssociation> param = EventDefinitionsUtil.getIOParameter((Event)edContainer, ed);
+ DataAssociation da = param.getSecond();
+ if (da instanceof DataInputAssociation) {
+ if (((DataInputAssociation)da).getSourceRef().size()==0) {
+ addStatus(edContainer,Status.ERROR,Messages.EventDefinitionValidator_No_Source_DataItem,
+ ModelUtil.getLabel(ed),
+ ModelUtil.getLabel(edContainer));
+ }
}
- }
- else if (da instanceof DataOutputAssociation) {
- if (((DataOutputAssociation)da).getTargetRef()==null) {
- addStatus(edContainer,severity,Messages.EventDefinitionValidator_No_Target_DataItem,
- ModelUtil.getLabel(ed));
+ else if (da instanceof DataOutputAssociation) {
+ if (((DataOutputAssociation)da).getTargetRef()==null) {
+ addStatus(edContainer,Status.ERROR,Messages.EventDefinitionValidator_No_Target_DataItem,
+ ModelUtil.getLabel(ed));
+ }
}
}
}

Back to the top