package org.eclipse.bpmn2.modeler.core.validation; import org.eclipse.core.runtime.IStatus; import org.eclipse.emf.common.notify.Notification; import org.eclipse.emf.ecore.util.EContentAdapter; import org.eclipse.emf.validation.model.EvaluationMode; import org.eclipse.emf.validation.service.ILiveValidator; import org.eclipse.emf.validation.service.ModelValidationService; public class LiveValidationContentAdapter extends EContentAdapter { private ILiveValidator validator = null; public LiveValidationContentAdapter() { } public void notifyChanged(final Notification notification) { super.notifyChanged(notification); if (validator == null) { validator = (ILiveValidator)ModelValidationService.getInstance().newValidator(EvaluationMode.LIVE); } IStatus status = validator.validate(notification); if (!status.isOK()) { if (status.isMultiStatus()) { status = status.getChildren()[0]; } } } }