diff options
| author | Laurent Fasani | 2017-05-11 13:12:27 +0000 |
|---|---|---|
| committer | Laurent Fasani | 2017-07-07 15:55:28 +0000 |
| commit | 5d116f886358def2c6ed6db700bb908788e1acf9 (patch) | |
| tree | d96dbda698248bd4487991d164a22d0f2eb8ab6a | |
| parent | 3a2a27d2c694c97829c96a075b32fb6c58f00c64 (diff) | |
| download | org.eclipse.sirius-5d116f886358def2c6ed6db700bb908788e1acf9.tar.gz org.eclipse.sirius-5d116f886358def2c6ed6db700bb908788e1acf9.tar.xz org.eclipse.sirius-5d116f886358def2c6ed6db700bb908788e1acf9.zip | |
[516669] Fix pbs to have a functional opened session with no Rep loaded
* Fix representation display under "representation per RepDescription"
node in model explorer.
* Fix action enabling.
Bug: 516669
Change-Id: Icad3482e820c574b12a170f585868444799c05fe
Signed-off-by: Laurent Fasani <laurent.fasani@obeo.fr>
3 files changed, 18 insertions, 22 deletions
diff --git a/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/tools/internal/views/common/action/DeleteRepresentationAction.java b/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/tools/internal/views/common/action/DeleteRepresentationAction.java index ca33368b91..bc76fcf125 100644 --- a/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/tools/internal/views/common/action/DeleteRepresentationAction.java +++ b/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/tools/internal/views/common/action/DeleteRepresentationAction.java @@ -178,9 +178,8 @@ public class DeleteRepresentationAction extends Action { } /** - * Overridden to ask to the {@link IPermissionAuthority} if we can delete - * all selected {@link DRepresentation}s, if we can't delete one then the - * action is disabled. + * Overridden to ask to the {@link IPermissionAuthority} if we can delete all selected {@link DRepresentation}s, if + * we can't delete one then the action is disabled. * * {@inheritDoc} */ @@ -188,9 +187,9 @@ public class DeleteRepresentationAction extends Action { public boolean isEnabled() { boolean isEnabled = super.isEnabled(); if (isEnabled) { - for (DRepresentationDescriptor dRepDescription : selectedRepDescriptors) { - IPermissionAuthority permissionAuthority = PermissionAuthorityRegistry.getDefault().getPermissionAuthority(dRepDescription); - if (!permissionAuthority.canDeleteInstance(dRepDescription.getRepresentation())) { + for (DRepresentationDescriptor dRepDescriptor : selectedRepDescriptors) { + IPermissionAuthority permissionAuthority = PermissionAuthorityRegistry.getDefault().getPermissionAuthority(dRepDescriptor); + if (!permissionAuthority.canDeleteInstance(dRepDescriptor)) { isEnabled = false; break; } diff --git a/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/tools/internal/views/common/action/RenameRepresentationAction.java b/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/tools/internal/views/common/action/RenameRepresentationAction.java index 4730b73cbd..5668fd567e 100644 --- a/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/tools/internal/views/common/action/RenameRepresentationAction.java +++ b/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/tools/internal/views/common/action/RenameRepresentationAction.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2012, 2016 THALES GLOBAL SERVICES and others. + * Copyright (c) 2012, 2017 THALES GLOBAL SERVICES and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -21,7 +21,6 @@ import org.eclipse.sirius.common.tools.api.util.StringUtil; import org.eclipse.sirius.common.ui.tools.api.dialog.RenameDialog; import org.eclipse.sirius.ecore.extender.business.api.permission.IPermissionAuthority; import org.eclipse.sirius.ecore.extender.business.api.permission.PermissionAuthorityRegistry; -import org.eclipse.sirius.viewpoint.DRepresentation; import org.eclipse.sirius.viewpoint.DRepresentationDescriptor; import org.eclipse.sirius.viewpoint.ViewpointPackage; import org.eclipse.sirius.viewpoint.provider.Messages; @@ -34,22 +33,22 @@ import org.eclipse.swt.widgets.Display; */ public class RenameRepresentationAction extends Action { - private Collection<DRepresentationDescriptor> selectedRepDescriptions; + private Collection<DRepresentationDescriptor> selectedRepDescriptors; /** * Create a new instance. * - * @param selectedRepDescriptions + * @param selectedRepDescriptors * the representations to delete */ - public RenameRepresentationAction(Collection<DRepresentationDescriptor> selectedRepDescriptions) { + public RenameRepresentationAction(Collection<DRepresentationDescriptor> selectedRepDescriptors) { super(Messages.RenameRepresentationAction_name); - this.selectedRepDescriptions = selectedRepDescriptions; + this.selectedRepDescriptors = selectedRepDescriptors; } @Override public void run() { - for (final DRepresentationDescriptor repDesc : selectedRepDescriptions) { + for (final DRepresentationDescriptor repDesc : selectedRepDescriptors) { renameRepresentation(repDesc); } } @@ -74,9 +73,8 @@ public class RenameRepresentationAction extends Action { } /** - * Overridden to ask to the {@link IPermissionAuthority} if we can rename - * all selected {@link DRepresentationDescriptor}s. If we can't rename one - * then the action is disabled. + * Overridden to ask to the {@link IPermissionAuthority} if we can rename all selected + * {@link DRepresentationDescriptor}s. If we can't rename one then the action is disabled. * * {@inheritDoc} */ @@ -84,10 +82,9 @@ public class RenameRepresentationAction extends Action { public boolean isEnabled() { boolean isEnabled = super.isEnabled(); if (isEnabled) { - for (DRepresentationDescriptor dRepDescription : selectedRepDescriptions) { - DRepresentation dRepresentation = dRepDescription.getRepresentation(); - IPermissionAuthority permissionAuthority = PermissionAuthorityRegistry.getDefault().getPermissionAuthority(dRepresentation); - if (!permissionAuthority.canEditFeature(dRepresentation, ViewpointPackage.eINSTANCE.getDRepresentation_Name().getName())) { + for (DRepresentationDescriptor dRepDescriptor : selectedRepDescriptors) { + IPermissionAuthority permissionAuthority = PermissionAuthorityRegistry.getDefault().getPermissionAuthority(dRepDescriptor); + if (!permissionAuthority.canEditFeature(dRepDescriptor, ViewpointPackage.eINSTANCE.getDRepresentationDescriptor_Name().getName())) { isEnabled = false; break; } diff --git a/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/tools/internal/views/common/item/RepresentationDescriptionItemImpl.java b/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/tools/internal/views/common/item/RepresentationDescriptionItemImpl.java index 8be514af0c..ef55961c1d 100644 --- a/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/tools/internal/views/common/item/RepresentationDescriptionItemImpl.java +++ b/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/tools/internal/views/common/item/RepresentationDescriptionItemImpl.java @@ -173,10 +173,10 @@ public class RepresentationDescriptionItemImpl implements org.eclipse.sirius.ui. @Override public Collection<?> getChildren() { - final List<DRepresentationDescriptor> repDescriptorsCandidates = Lists.newArrayList(DialectManager.INSTANCE.getRepresentationDescriptors(representationDescription, session)); + // get all DRepresentationDescriptor of the Session + Collection<DRepresentationDescriptor> repDescriptorsCandidates = DialectManager.INSTANCE.getRepresentationDescriptors(representationDescription, session); List<RepresentationItemImpl> representations = Lists.newArrayList(); - if (filterForResource) { for (final DRepresentationDescriptor repDescriptor : repDescriptorsCandidates) { Resource representationResource = repDescriptor.eResource(); |
