Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMaxime Porhel2015-08-04 10:20:09 +0000
committerMaxime Porhel2015-08-04 10:21:47 +0000
commit7decff7276c865bf5d53401704f4380df9bcfc2b (patch)
tree1200436c077cd19451a7d856a847f41b81171771
parentf42f1c6154a4d682635140fbd5e37c151ea3ad0b (diff)
downloadorg.eclipse.sirius-7decff7276c865bf5d53401704f4380df9bcfc2b.tar.gz
org.eclipse.sirius-7decff7276c865bf5d53401704f4380df9bcfc2b.tar.xz
org.eclipse.sirius-7decff7276c865bf5d53401704f4380df9bcfc2b.zip
[473263] Reinit the permission autorithy lock status listener.
Bug: 473263 Change-Id: I3b2516df1f220308d27f118a75b0daa6d8185c71 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 3dc75548f0..ad4922e400 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.business.internal.refresh.DTableElementSynchronizerSpec;
import org.eclipse.sirius.table.metamodel.table.DTable;
import org.eclipse.sirius.table.metamodel.table.DTableElementSynchronizer;
@@ -466,6 +468,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 a6e590daed..2eb808f65c 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.DTreeElementSynchronizer;
@@ -313,6 +315,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 8af1a87543..13149f86b8 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
@@ -182,7 +182,7 @@ public abstract class AbstractDTreeEditor extends EditorPart implements ISelecti
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