Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEike Stepper2015-02-22 16:21:40 +0000
committerEike Stepper2015-02-23 05:49:06 +0000
commit9c12b9143fadefb1fe0543d6615a55a5807c0c1a (patch)
tree888a93f6f7e7034124183ace5130e5a5fb2cc8f3 /plugins/org.eclipse.emf.cdo.explorer/src
parentd1925e4c2974aa288f1d8dea7a1d3922fcaecc1c (diff)
downloadcdo-9c12b9143fadefb1fe0543d6615a55a5807c0c1a.tar.gz
cdo-9c12b9143fadefb1fe0543d6615a55a5807c0c1a.tar.xz
cdo-9c12b9143fadefb1fe0543d6615a55a5807c0c1a.zip
[458349] Consolidate UI
Task-Url: https://bugs.eclipse.org/bugs/show_bug.cgi?id=458349
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.explorer/src')
-rw-r--r--plugins/org.eclipse.emf.cdo.explorer/src/org/eclipse/emf/cdo/internal/explorer/AbstractManager.java15
-rw-r--r--plugins/org.eclipse.emf.cdo.explorer/src/org/eclipse/emf/cdo/internal/explorer/checkouts/CDOCheckoutImpl.java45
2 files changed, 41 insertions, 19 deletions
diff --git a/plugins/org.eclipse.emf.cdo.explorer/src/org/eclipse/emf/cdo/internal/explorer/AbstractManager.java b/plugins/org.eclipse.emf.cdo.explorer/src/org/eclipse/emf/cdo/internal/explorer/AbstractManager.java
index 59cbd88ecb..ef1d1a8db2 100644
--- a/plugins/org.eclipse.emf.cdo.explorer/src/org/eclipse/emf/cdo/internal/explorer/AbstractManager.java
+++ b/plugins/org.eclipse.emf.cdo.explorer/src/org/eclipse/emf/cdo/internal/explorer/AbstractManager.java
@@ -12,6 +12,7 @@ package org.eclipse.emf.cdo.internal.explorer;
import org.eclipse.emf.cdo.explorer.CDOExplorerElement;
import org.eclipse.emf.cdo.explorer.CDOExplorerManager;
+import org.eclipse.emf.cdo.explorer.CDOExplorerManager.ElementsChangedEvent.StructuralImpact;
import org.eclipse.emf.cdo.internal.explorer.bundle.OM;
import org.eclipse.net4j.util.AdapterUtil;
@@ -123,17 +124,14 @@ public abstract class AbstractManager<T extends CDOExplorerElement> extends SetC
protected abstract T createElement(String type);
- public void fireElementChangedEvent(
- org.eclipse.emf.cdo.explorer.CDOExplorerManager.ElementsChangedEvent.StructuralImpact structuralImpact,
- Object changedElement)
+ public void fireElementChangedEvent(StructuralImpact structuralImpact, Object changedElement)
{
fireEvent(new ElementsChangedImpl(this, structuralImpact, Collections.singleton(changedElement)));
}
public void fireElementsChangedEvent(Collection<Object> changedElements)
{
- fireEvent(new ElementsChangedImpl(this,
- org.eclipse.emf.cdo.explorer.CDOExplorerManager.ElementsChangedEvent.StructuralImpact.NONE, changedElements));
+ fireEvent(new ElementsChangedImpl(this, StructuralImpact.NONE, changedElements));
}
public static Properties loadProperties(File folder, String fileName)
@@ -172,12 +170,11 @@ public abstract class AbstractManager<T extends CDOExplorerElement> extends SetC
{
private static final long serialVersionUID = 1L;
- private final org.eclipse.emf.cdo.explorer.CDOExplorerManager.ElementsChangedEvent.StructuralImpact structuralImpact;
+ private final StructuralImpact structuralImpact;
private final Collection<Object> changedElements;
- public ElementsChangedImpl(CDOExplorerManager<?> manager,
- org.eclipse.emf.cdo.explorer.CDOExplorerManager.ElementsChangedEvent.StructuralImpact structuralImpact,
+ public ElementsChangedImpl(CDOExplorerManager<?> manager, StructuralImpact structuralImpact,
Collection<Object> changedElements)
{
super(manager);
@@ -191,7 +188,7 @@ public abstract class AbstractManager<T extends CDOExplorerElement> extends SetC
return (CDOExplorerManager<?>)super.getSource();
}
- public org.eclipse.emf.cdo.explorer.CDOExplorerManager.ElementsChangedEvent.StructuralImpact getStructuralImpact()
+ public StructuralImpact getStructuralImpact()
{
return structuralImpact;
}
diff --git a/plugins/org.eclipse.emf.cdo.explorer/src/org/eclipse/emf/cdo/internal/explorer/checkouts/CDOCheckoutImpl.java b/plugins/org.eclipse.emf.cdo.explorer/src/org/eclipse/emf/cdo/internal/explorer/checkouts/CDOCheckoutImpl.java
index 70d901a7e6..e8de601a9f 100644
--- a/plugins/org.eclipse.emf.cdo.explorer/src/org/eclipse/emf/cdo/internal/explorer/checkouts/CDOCheckoutImpl.java
+++ b/plugins/org.eclipse.emf.cdo.explorer/src/org/eclipse/emf/cdo/internal/explorer/checkouts/CDOCheckoutImpl.java
@@ -10,6 +10,7 @@
*/
package org.eclipse.emf.cdo.internal.explorer.checkouts;
+import org.eclipse.emf.cdo.CDOObject;
import org.eclipse.emf.cdo.common.branch.CDOBranch;
import org.eclipse.emf.cdo.common.branch.CDOBranchManager;
import org.eclipse.emf.cdo.common.branch.CDOBranchPoint;
@@ -23,9 +24,10 @@ import org.eclipse.emf.cdo.internal.explorer.bundle.OM;
import org.eclipse.emf.cdo.internal.explorer.repositories.CDORepositoryImpl;
import org.eclipse.emf.cdo.session.CDOSession;
import org.eclipse.emf.cdo.transaction.CDOTransaction;
-import org.eclipse.emf.cdo.transaction.CDOTransactionCommentator;
+import org.eclipse.emf.cdo.util.CDOUtil;
import org.eclipse.emf.cdo.util.ReadOnlyException;
import org.eclipse.emf.cdo.view.CDOView;
+import org.eclipse.emf.cdo.view.CDOViewLocksChangedEvent;
import org.eclipse.net4j.util.ObjectUtil;
import org.eclipse.net4j.util.container.IManagedContainer;
@@ -345,6 +347,7 @@ public abstract class CDOCheckoutImpl extends AbstractElement implements CDOChec
view = openView(session);
view.addListener(viewListener);
+ configureView(view);
rootObject = loadRootObject();
rootObject.eAdapters().add(this);
@@ -458,13 +461,7 @@ public abstract class CDOCheckoutImpl extends AbstractElement implements CDOChec
throw new ReadOnlyException("Checkout '" + getLabel() + "' is read-only");
}
- CDOTransaction transaction = (CDOTransaction)doOpenView(false);
- if (transaction != null)
- {
- new CDOTransactionCommentator(transaction);
- }
-
- return transaction;
+ return (CDOTransaction)doOpenView(false);
}
protected CDOView doOpenView(boolean readOnly)
@@ -479,10 +476,38 @@ public abstract class CDOCheckoutImpl extends AbstractElement implements CDOChec
if (readOnly)
{
- return session.openView(branch);
+ return configureView(session.openView(branch));
}
- return session.openTransaction(branch);
+ return configureView(session.openTransaction(branch));
+ }
+
+ protected CDOView configureView(final CDOView view)
+ {
+ CDOUtil.configureView(view);
+ view.addListener(new IListener()
+ {
+ public void notifyEvent(IEvent event)
+ {
+ if (event instanceof CDOViewLocksChangedEvent)
+ {
+ CDOViewLocksChangedEvent e = (CDOViewLocksChangedEvent)event;
+ List<CDOObject> objects = e.getAffectedObjects(view);
+ if (!objects.isEmpty())
+ {
+ List<Object> elements = new ArrayList<Object>();
+ for (CDOObject object : objects)
+ {
+ elements.add(object);
+ }
+
+ getManager().fireElementsChangedEvent(elements);
+ }
+ }
+ }
+ });
+
+ return view;
}
public String getEditorID(CDOID objectID)

Back to the top