Community
Participate
Working Groups
When validating a model, the following exception is thwron: java.lang.ClassCastException: org.eclipse.xtext.validation.CompositeEValidator cannot be cast to org.eclipse.emf.ecore.util.EObjectValidator at org.eclipse.sphinx.emf.validation.diagnostic.ExtendedDiagnostician.validate(ExtendedDiagnostician.java:244) at org.eclipse.emf.ecore.util.Diagnostician.validate(Diagnostician.java:143) at org.eclipse.sphinx.emf.validation.diagnostic.ExtendedDiagnostician.doValidateContents(ExtendedDiagnostician.java:280) at org.eclipse.sphinx.emf.validation.diagnostic.ExtendedDiagnostician.validate(ExtendedDiagnostician.java:265) at org.eclipse.emf.ecore.util.Diagnostician.validate(Diagnostician.java:143) at org.eclipse.sphinx.emf.validation.diagnostic.ExtendedDiagnostician.validate(ExtendedDiagnostician.java:104) at org.eclipse.sphinx.emf.validation.diagnostic.ExtendedDiagnostician.validate(ExtendedDiagnostician.java:206) at org.eclipse.sphinx.emf.validation.diagnostic.ExtendedDiagnostician.validate(ExtendedDiagnostician.java:212) at org.eclipse.sphinx.emf.validation.ui.actions.BasicValidateAction.validateMulti(BasicValidateAction.java:153)
It seems that in ExtendedDiagnostician class, the cast from line 244, to EObjectValidator: result = eValidator instanceof EValidatorAdapter ? ((EValidatorAdapter) eValidator).validate(eClass, eObject, diagnostics, context, filters) : ((EObjectValidator) eValidator).validate(eClass, eObject, diagnostics, context); is not necessary, because the called method is actually from the implemented interface EValidator. Both CompositeEValidator and EObjectValidator implement EValidator.
Closed stale issue before migration