Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMaxime Porhel2015-08-04 10:20:09 +0000
committerMaxime Porhel2015-08-04 10:25:17 +0000
commitf7cfdc68fe504a604b371bed5e21267dcdccf719 (patch)
tree3ea5c52c1c03b5f146d4750ed7655d51ae8fda7c
parentb55fd604e38ef864d8cb7676ca6b68526382a1fe (diff)
downloadorg.eclipse.sirius-f7cfdc68fe504a604b371bed5e21267dcdccf719.tar.gz
org.eclipse.sirius-f7cfdc68fe504a604b371bed5e21267dcdccf719.tar.xz
org.eclipse.sirius-f7cfdc68fe504a604b371bed5e21267dcdccf719.zip
[473943] Reinit the permission autorithy lock status listener.
Bug: 473943 Change-Id: I4ed112bc942cd5a4c48246c069fc85567859a42f Signed-off-by: Maxime Porhel <maxime.porhel@obeo.fr>
-rw-r--r--plugins/org.eclipse.sirius.table.ui/src/org/eclipse/sirius/table/ui/tools/internal/editor/AbstractDTableEditor.java8
-rw-r--r--plugins/org.eclipse.sirius.tree.ui/src/org/eclipse/sirius/tree/ui/tools/internal/editor/DTreeEditor.java8
-rw-r--r--plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/tools/internal/editor/AbstractDTreeEditor.java2
3 files changed, 17 insertions, 1 deletions
diff --git a/plugins/org.eclipse.sirius.table.ui/src/org/eclipse/sirius/table/ui/tools/internal/editor/AbstractDTableEditor.java b/plugins/org.eclipse.sirius.table.ui/src/org/eclipse/sirius/table/ui/tools/internal/editor/AbstractDTableEditor.java
index 1d6a87a064..ddd922b58d 100644
--- a/plugins/org.eclipse.sirius.table.ui/src/org/eclipse/sirius/table/ui/tools/internal/editor/AbstractDTableEditor.java
+++ b/plugins/org.eclipse.sirius.table.ui/src/org/eclipse/sirius/table/ui/tools/internal/editor/AbstractDTableEditor.java
@@ -52,6 +52,8 @@ import org.eclipse.sirius.business.api.session.SessionManager;
import org.eclipse.sirius.common.tools.DslCommonPlugin;
import org.eclipse.sirius.common.tools.api.interpreter.IInterpreter;
import org.eclipse.sirius.ecore.extender.business.api.accessor.ModelAccessor;
+import org.eclipse.sirius.ecore.extender.business.api.permission.IPermissionAuthority;
+import org.eclipse.sirius.ecore.extender.business.api.permission.PermissionAuthorityRegistry;
import org.eclipse.sirius.table.metamodel.table.DTable;
import org.eclipse.sirius.table.metamodel.table.provider.TableUIPlugin;
import org.eclipse.sirius.table.tools.api.command.ITableCommandFactory;
@@ -452,6 +454,12 @@ public abstract class AbstractDTableEditor extends AbstractDTreeEditor implement
uiSession.detachEditor(this);
uiSession.attachEditor(this);
}
+ // Reinit the lock status listener.
+ if (dRepresentationLockStatusListener != null) {
+ IPermissionAuthority permissionAuthority = PermissionAuthorityRegistry.getDefault().getPermissionAuthority(tableModel);
+ permissionAuthority.removeAuthorityListener(dRepresentationLockStatusListener);
+ initCollaborativeIPermissionAuthority(tableModel);
+ }
}
}
diff --git a/plugins/org.eclipse.sirius.tree.ui/src/org/eclipse/sirius/tree/ui/tools/internal/editor/DTreeEditor.java b/plugins/org.eclipse.sirius.tree.ui/src/org/eclipse/sirius/tree/ui/tools/internal/editor/DTreeEditor.java
index a67e6cbbe2..a63fbdd83f 100644
--- a/plugins/org.eclipse.sirius.tree.ui/src/org/eclipse/sirius/tree/ui/tools/internal/editor/DTreeEditor.java
+++ b/plugins/org.eclipse.sirius.tree.ui/src/org/eclipse/sirius/tree/ui/tools/internal/editor/DTreeEditor.java
@@ -45,6 +45,8 @@ import org.eclipse.sirius.business.api.session.Session;
import org.eclipse.sirius.business.api.session.SessionManager;
import org.eclipse.sirius.common.tools.api.interpreter.IInterpreter;
import org.eclipse.sirius.ecore.extender.business.api.accessor.ModelAccessor;
+import org.eclipse.sirius.ecore.extender.business.api.permission.IPermissionAuthority;
+import org.eclipse.sirius.ecore.extender.business.api.permission.PermissionAuthorityRegistry;
import org.eclipse.sirius.tools.api.interpreter.InterpreterRegistry;
import org.eclipse.sirius.tree.DTree;
import org.eclipse.sirius.tree.business.api.command.ITreeCommandFactory;
@@ -303,6 +305,12 @@ public class DTreeEditor extends AbstractDTreeEditor implements org.eclipse.siri
uiSession.detachEditor(this);
uiSession.attachEditor(this);
}
+ // Reinit the lock status listener.
+ if (dRepresentationLockStatusListener != null) {
+ IPermissionAuthority permissionAuthority = PermissionAuthorityRegistry.getDefault().getPermissionAuthority(treeModel);
+ permissionAuthority.removeAuthorityListener(dRepresentationLockStatusListener);
+ initCollaborativeIPermissionAuthority(treeModel);
+ }
}
}
diff --git a/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/tools/internal/editor/AbstractDTreeEditor.java b/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/tools/internal/editor/AbstractDTreeEditor.java
index 2ae520603d..1f495471c2 100644
--- a/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/tools/internal/editor/AbstractDTreeEditor.java
+++ b/plugins/org.eclipse.sirius.ui/src/org/eclipse/sirius/ui/tools/internal/editor/AbstractDTreeEditor.java
@@ -178,7 +178,7 @@ public abstract class AbstractDTreeEditor extends EditorPart implements DialectE
protected Image frozenRepresentationImage;
/** CDO specific {@link IAuthorityListener}. */
- private IAuthorityListener dRepresentationLockStatusListener;
+ protected IAuthorityListener dRepresentationLockStatusListener;
/** Singleton instance of the Image for the LOCK_BY_ME status */
private Image lockByMeImage;

Back to the top