// Copied from org.eclipse.ocl.examples.test.xtext.PivotDocumentationExamples.java public class MyDiagnostician extends Diagnostician { public MyDiagnostician(EValidator.@NonNull Registry eValidatorRegistry) { super(eValidatorRegistry); } @Override public Map createDefaultContext() { Map context = super.createDefaultContext(); context.put(EValidator.SubstitutionLabelProvider.class, new LabelSubstitutionLabelProvider()); return context; } public BasicDiagnostic createDefaultDiagnostic(Resource resource) { return new BasicDiagnostic(EObjectValidator.DIAGNOSTIC_SOURCE, 0, EMFEditUIPlugin.INSTANCE.getString( "_UI_DiagnosisOfNObjects_message", new String[]{"1"}), new Object[]{resource}); } public Diagnostic validate(Resource resource) { BasicDiagnostic diagnostics = createDefaultDiagnostic(resource); Map context = createDefaultContext(); for (EObject eObject : resource.getContents()) { validate(eObject, diagnostics, context); } return diagnostics; } }