From 1934d97adaa4d86853851cfd6d7f34da1b737616 Mon Sep 17 00:00:00 2001 From: Vincent Aravantinos <aravantinos@fortiss.org> Date: Fri, 8 Jul 2016 11:54:57 +0000 Subject: [PATCH] makes use of the new service refs 2620 --- .../ui/internal/views/ConstraintMenu.java | 44 ++++++++++++------- 1 file changed, 29 insertions(+), 15 deletions(-) diff --git a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/views/ConstraintMenu.java b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/views/ConstraintMenu.java index 82721b9b5..83b91934d 100644 --- a/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/views/ConstraintMenu.java +++ b/org.fortiss.tooling.kernel.ui/trunk/src/org/fortiss/tooling/kernel/ui/internal/views/ConstraintMenu.java @@ -55,7 +55,7 @@ import org.fortiss.tooling.kernel.ui.service.IModelElementHandlerService; * @author hoelzl * @author $Author$ * @version $Rev$ - * @ConQAT.Rating YELLOW Hash: B2B88D03669D73EC77D1D69F51E62B54 + * @ConQAT.Rating YELLOW Hash: 265A5183E7E403DDC53A61F5B27D8B5A */ public class ConstraintMenu implements IContextMenuContributor { @@ -67,11 +67,22 @@ public class ConstraintMenu implements IContextMenuContributor { return Collections.emptyList(); } return ((IConstrained)selectedObject).getConstraints().stream() - .filter(c -> !(c.getVerificationStatus() instanceof SuccessVerificationStatus)) + .filter(c -> shouldGetMenuEntry(c)) .map(c -> constraintToAction(c, (IConstrained)selectedObject)) .collect(Collectors.toList()); } + /** + * @param c + * @return <code>true</code> iff <code>c</code> should get a menu entry, i.e., if not successful + * and activated. + */ + private boolean shouldGetMenuEntry(IConstraint c) { + IConstraintVerificationStatus status = + IConstraintVerificationUIService.getInstance().getStatus(c); + return !(status == null || status instanceof SuccessVerificationStatus); + } + /** * @param c * @param elt @@ -80,14 +91,18 @@ public class ConstraintMenu implements IContextMenuContributor { * (not hurtful, but useless, since the user is already seeing it). */ private IContributionItem constraintToAction(IConstraint c, IConstrained elt) { - IConstraintVerificationStatus status = c.getVerificationStatus(); + IConstraintVerificationStatus status = + IConstraintVerificationUIService.getInstance().getStatus(c); ConstraintSubMenuBase m; if(status instanceof FailVerificationStatus) { m = new CheckFailingConstraintAction(c, elt); } else if(status instanceof ErrorVerificationStatus) { m = new CheckErrorConstraintAction(c, elt); - } else { + } else if(status instanceof OutdatedVerificationStatus) { m = new CheckOutdatedConstraintAction(c, elt); + } else { + // should not happen + return null; } if(m.getItems().length > 1) { return m; @@ -194,19 +209,20 @@ public class ConstraintMenu implements IContextMenuContributor { /** {@inheritDoc} */ @Override public void run() { - IConstraintVerificationStatus status = c.getVerificationStatus(); - if(c.getVerificationStatus() instanceof OutdatedVerificationStatus && - IConstraintVerificationUIService.getInstance().canOpen(status)) { + IConstraintVerificationStatus status = + IConstraintVerificationUIService.getInstance().getStatus(c); + if(status instanceof OutdatedVerificationStatus && + IConstraintVerificationUIService.getInstance().canOpen(c)) { ICommandStackService.getInstance().runAsCommand(c, new Runnable() { @Override public void run() { - IConstraintVerificationUIService.getInstance().openStatus(status); + IConstraintVerificationUIService.getInstance().openStatus(c); } }); return; } - if(IConstraintVerificationUIService.getInstance().canOpen(status)) { - IConstraintVerificationUIService.getInstance().openStatus(status); + if(IConstraintVerificationUIService.getInstance().canOpen(c)) { + IConstraintVerificationUIService.getInstance().openStatus(c); } else { // In the very rare cases where the status cannot be open (if the defaults are // used, this should not happen), we provide some defaults. @@ -221,8 +237,7 @@ public class ConstraintMenu implements IContextMenuContributor { String msg = "There was an error while verifying "; msg += (name == null ? "the " : "") + fullName + "."; openError(sh, "Error while verifying constraint", msg); - } - if(status instanceof OutdatedVerificationStatus) { + } else if(status instanceof OutdatedVerificationStatus) { String msg = (name == null ? "The " : fullName) + " is outdated."; MessageDialog.openWarning(sh, "Outdated constraint", msg); } @@ -251,8 +266,7 @@ public class ConstraintMenu implements IContextMenuContributor { public CheckUnsuccessfulConstraintAction(IConstraint c, IConstrained selectedElt, String prefix) { super(c, selectedElt, prefix, ESharedImages.ERROR_OVERLAY.getImageDescriptor()); - List<IFix> fixes = - IConstraintVerificationService.getInstance().fixes(c.getVerificationStatus()); + List<IFix> fixes = IConstraintVerificationService.getInstance().fixes(c); if(fixes != null) { for(IFix fix : fixes) { this.add(new ActionContributionItem(new FixAction(fix))); @@ -280,7 +294,7 @@ public class ConstraintMenu implements IContextMenuContributor { @Override public void run() { - fix.runFix(c.getVerificationStatus()); + fix.runFix(IConstraintVerificationUIService.getInstance().getStatus(c)); } }); } -- GitLab