Valid OCL constraint - Validation Error in Editor [message #1775694] |
Fri, 03 November 2017 10:14  |
Eclipse User |
|
|
|
Briefly my Model is defined as follows:
Model - Area - ComponentA - ComponentB
i want to check with an OCL constraint if ComponentA and Component B were definded in the same Area. ComponentB is defined in ComponentA as "target".
I wrote the following OCL constraint in my ecore-Model:
Quote:invariant checkAreas: oclAsType(ecore::EObject).eContainer().toString() = target.oclAsType(ecore::EObject).eContainer().eContainer().toString();
Now i opened the editor to my created Model and created an example model instance. If i check my constraint in the OCL console, it delivers the expected result for my modeled components.
If i validate my model though, i get a problem caused by the diagnosis of my model:
org.eclipse.ocl.pivot.internal.delegate.OCLDelegateException: The 'Component::checkAreas' constraint result is invalid for 'MyModel::Area::Component'
- Incompatible source type: 'my::Component' for oclAsType(ecore::EObject)
at org.eclipse.ocl.pivot.internal.delegate.OCLValidationDelegate$CheckingConstraintEvaluator.handleInvalidResult(OCLValidationDelegate.java:116)
at org.eclipse.ocl.pivot.internal.delegate.OCLValidationDelegate$CheckingConstraintEvaluator.handleInvalidResult(OCLValidationDelegate.java:1)
at org.eclipse.ocl.pivot.evaluation.AbstractConstraintEvaluator.evaluate(AbstractConstraintEvaluator.java:89)
at org.eclipse.ocl.pivot.internal.delegate.OCLValidationDelegate$CheckingConstraintEvaluator.evaluate(OCLValidationDelegate.java:71)
at org.eclipse.ocl.pivot.internal.delegate.OCLValidationDelegate$CheckingConstraintEvaluator.evaluate(OCLValidationDelegate.java:1)
at org.eclipse.ocl.pivot.internal.delegate.OCLValidationDelegate.validateExpressionInOCL(OCLValidationDelegate.java:296)
at org.eclipse.ocl.pivot.internal.delegate.OCLValidationDelegate.validatePivot(OCLValidationDelegate.java:316)
at org.eclipse.ocl.pivot.internal.delegate.OCLValidationDelegate.validate(OCLValidationDelegate.java:239)
at org.eclipse.ocl.pivot.internal.delegate.OCLValidationDelegateFactory.validate(OCLValidationDelegateFactory.java:77)
at org.eclipse.emf.ecore.util.EObjectValidator.validate(EObjectValidator.java:227)
at my.util.MyValidator.validateComponent_checkAreas(MyValidator.java:196)
at my.util.MyValidator.validateComponent(MyValidator.java:174)
at my.util.MyValidator.validate(MyValidator.java:97)
at org.eclipse.emf.ecore.util.EObjectValidator.validate(EObjectValidator.java:324)
at org.eclipse.emf.ecore.util.Diagnostician.doValidate(Diagnostician.java:171)
at org.eclipse.emf.edit.ui.action.ValidateAction$3.doValidate(ValidateAction.java:309)
at org.eclipse.emf.ecore.util.Diagnostician.validate(Diagnostician.java:158)
at org.eclipse.emf.ecore.util.Diagnostician.validate(Diagnostician.java:137)
at org.eclipse.emf.ecore.util.Diagnostician.doValidateContents(Diagnostician.java:185)
at org.eclipse.emf.ecore.util.Diagnostician.validate(Diagnostician.java:161)
at org.eclipse.emf.ecore.util.Diagnostician.validate(Diagnostician.java:137)
at org.eclipse.emf.ecore.util.Diagnostician.doValidateContents(Diagnostician.java:181)
at org.eclipse.emf.ecore.util.Diagnostician.validate(Diagnostician.java:161)
at org.eclipse.emf.ecore.util.Diagnostician.validate(Diagnostician.java:137)
at org.eclipse.emf.edit.ui.action.ValidateAction.validate(ValidateAction.java:264)
at org.eclipse.emf.edit.ui.action.ValidateAction$1.run(ValidateAction.java:176)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:119)
Caused by: org.eclipse.ocl.pivot.evaluation.EvaluationException: The 'Component::checkAreas' constraint result is invalid for 'MyModel::Area::Component'
- Incompatible source type: 'my::Component' for oclAsType(ecore::EObject)
at org.eclipse.ocl.pivot.internal.delegate.OCLValidationDelegate$CheckingConstraintEvaluator.handleInvalidResult(OCLValidationDelegate.java:114)
... 26 more
Caused by: org.eclipse.ocl.pivot.values.InvalidValueException: Incompatible source type: 'my::Component' for oclAsType(ecore::EObject)
at org.eclipse.ocl.pivot.library.oclany.OclAnyOclAsTypeOperation.evaluate(OclAnyOclAsTypeOperation.java:47)
at org.eclipse.ocl.pivot.library.AbstractUntypedBinaryOperation.evaluate(AbstractUntypedBinaryOperation.java:75)
at org.eclipse.ocl.pivot.internal.evaluation.AbstractExecutor.internalExecuteOperationCallExp(AbstractExecutor.java:407)
at org.eclipse.ocl.pivot.internal.evaluation.BasicEvaluationVisitor.visitOperationCallExp(BasicEvaluationVisitor.java:630)
at org.eclipse.ocl.pivot.internal.OperationCallExpImpl.accept(OperationCallExpImpl.java:532)
at org.eclipse.ocl.pivot.internal.evaluation.BasicEvaluationVisitor.visitOperationCallExp(BasicEvaluationVisitor.java:584)
at org.eclipse.ocl.pivot.internal.OperationCallExpImpl.accept(OperationCallExpImpl.java:532)
at org.eclipse.ocl.pivot.internal.evaluation.BasicEvaluationVisitor.visitOperationCallExp(BasicEvaluationVisitor.java:584)
at org.eclipse.ocl.pivot.internal.OperationCallExpImpl.accept(OperationCallExpImpl.java:532)
at org.eclipse.ocl.pivot.internal.evaluation.BasicEvaluationVisitor.visitOperationCallExp(BasicEvaluationVisitor.java:584)
at org.eclipse.ocl.pivot.internal.OperationCallExpImpl.accept(OperationCallExpImpl.java:532)
at org.eclipse.ocl.pivot.evaluation.AbstractConstraintEvaluator.evaluate(AbstractConstraintEvaluator.java:86)
... 24 more
|
|
|
|
|
|
Powered by
FUDForum. Page generated in 0.08920 seconds