/* * Copyright (C) Yutaka Matsuno 2010-2012 All rights reserved. */ // AUTO_GENERATED:START package net.dependableos.dcase.diagram.providers; import net.dependableos.dcase.Argument; import net.dependableos.dcase.BasicLink; import net.dependableos.dcase.BasicNode; import net.dependableos.dcase.diagram.common.exception.DcaseValidatorException; import net.dependableos.dcase.diagram.common.validator.DcaseValidator; import net.dependableos.dcase.diagram.edit.parts.ArgumentEditPart; import net.dependableos.dcase.diagram.part.DcaseDiagramEditorPlugin; import net.dependableos.dcase.diagram.part.DcaseVisualIDRegistry; import net.dependableos.dcase.diagram.part.ValidateAction; import org.eclipse.core.runtime.IStatus; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.transaction.TransactionalEditingDomain; import org.eclipse.emf.validation.AbstractModelConstraint; import org.eclipse.emf.validation.IValidationContext; import org.eclipse.emf.validation.model.IClientSelector; import org.eclipse.gmf.runtime.emf.core.util.EMFCoreUtil; import org.eclipse.gmf.runtime.notation.View; /** * @generated */ public class DcaseValidationProvider { /** * @generated */ private static boolean constraintsActive = false; /** * @generated */ public static boolean shouldConstraintsBePrivate() { return false; } /** * @generated */ public static void runWithConstraints( TransactionalEditingDomain editingDomain, Runnable operation) { final Runnable op = operation; Runnable task = new Runnable() { public void run() { try { constraintsActive = true; op.run(); } finally { constraintsActive = false; } } }; if (editingDomain != null) { try { editingDomain.runExclusive(task); } catch (Exception e) { DcaseDiagramEditorPlugin.getInstance().logError( "Validation failed", e); //$NON-NLS-1$ } } else { task.run(); } } /** * @generated */ static boolean isInDefaultEditorContext(Object object) { if (shouldConstraintsBePrivate() && !constraintsActive) { return false; } if (object instanceof View) { return constraintsActive && ArgumentEditPart.MODEL_ID.equals(DcaseVisualIDRegistry .getModelID((View) object)); } return true; } /** * @generated */ public static class DefaultCtx implements IClientSelector { /** * @generated */ public boolean selects(Object object) { return isInDefaultEditorContext(object); } } /** * @generated */ public static class Adapter1 extends AbstractModelConstraint { // AUTO_GENERATED:END /** * Validates connections of a node. * * @param ctx the validation context that provides access to the current * constraint evaluation environment. * @return the status of validation of the target object. * @generated NOT */ @Override public IStatus validate(IValidationContext ctx) { BasicNode context = (BasicNode) ctx.getTarget(); if (context instanceof Argument) { return ctx.createSuccessStatus(); } DcaseValidator dcaseValidator = ValidateAction.VALIDATOR_COLLECTION .get(); try { dcaseValidator.validateLink(context); } catch (DcaseValidatorException dve) { return ctx.createFailureStatus(dve.getMessage()); } return ctx.createSuccessStatus(); } // AUTO_GENERATED:START } /** * @generated */ public static class Adapter2 extends AbstractModelConstraint { // AUTO_GENERATED:END /** * Validates connections(cyclic) of a node. * * @param ctx the validation context that provides access to the current * constraint evaluation environment. * @return the status of validation of the target object. * @generated NOT */ public IStatus validate(IValidationContext ctx) { DcaseValidator dcaseValidator = ValidateAction.VALIDATOR_COLLECTION .get(); try { dcaseValidator.validateCyclicStateAll(); } catch (DcaseValidatorException dve) { return ctx.createFailureStatus(dve.getMessage()); } return ctx.createSuccessStatus(); } // AUTO_GENERATED:START } /** * @generated */ public static class Adapter3 extends AbstractModelConstraint { // AUTO_GENERATED:END /** * Validates properties of a node. * * @param ctx the validation context that provides access to the current * constraint evaluation environment. * @return the status of validation of the target object. * @generated NOT */ public IStatus validate(IValidationContext ctx) { BasicNode context = (BasicNode) ctx.getTarget(); DcaseValidator dcaseValidator = ValidateAction.VALIDATOR_COLLECTION .get(); try { dcaseValidator.validateNodeAttribute(context); } catch (DcaseValidatorException dve) { return ctx.createFailureStatus(dve.getMessage()); } return ctx.createSuccessStatus(); } // AUTO_GENERATED:START } /** * @generated */ public static class Adapter4 extends AbstractModelConstraint { // AUTO_GENERATED:END /** * Validates properties of a link. * * @param ctx the validation context that provides access to the current * constraint evaluation environment. * @return the status of validation of the target object. * @generated NOT */ public IStatus validate(IValidationContext ctx) { BasicLink context = (BasicLink) ctx.getTarget(); DcaseValidator dcaseValidator = ValidateAction.VALIDATOR_COLLECTION .get(); try { dcaseValidator.validateLinkAttribute(context); } catch (DcaseValidatorException dve) { return ctx.createFailureStatus(dve.getMessage()); } return ctx.createSuccessStatus(); } // AUTO_GENERATED:START } /** * @generated */ static String formatElement(EObject object) { return EMFCoreUtil.getQualifiedName(object, true); } }