diff options
author | Eike Stepper | 2010-02-02 11:39:48 +0000 |
---|---|---|
committer | Eike Stepper | 2010-02-02 11:39:48 +0000 |
commit | dc758eb87d5c2f0e802e49de4ca6173d3d94a2c8 (patch) | |
tree | ee1091aac506313694923c73871275551cbc714d /plugins/org.eclipse.emf.cdo.ui/src/org | |
parent | 09f6a7f80829204abd2c2bf2511ba3b4e65c81c8 (diff) | |
download | cdo-dc758eb87d5c2f0e802e49de4ca6173d3d94a2c8.tar.gz cdo-dc758eb87d5c2f0e802e49de4ca6173d3d94a2c8.tar.xz cdo-dc758eb87d5c2f0e802e49de4ca6173d3d94a2c8.zip |
[270716] Provide support for branching
https://bugs.eclipse.org/bugs/show_bug.cgi?id=270716
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.ui/src/org')
6 files changed, 64 insertions, 54 deletions
diff --git a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/CDOEditorInputImpl.java b/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/CDOEditorInputImpl.java index 53a8905a6d..739d8f8315 100644 --- a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/CDOEditorInputImpl.java +++ b/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/CDOEditorInputImpl.java @@ -14,7 +14,7 @@ package org.eclipse.emf.cdo.internal.ui; import org.eclipse.emf.cdo.internal.ui.messages.Messages; import org.eclipse.emf.cdo.session.CDOSession; import org.eclipse.emf.cdo.ui.CDOEditorInput; -import org.eclipse.emf.cdo.view.CDOAudit; +import org.eclipse.emf.cdo.ui.CDOItemProvider; import org.eclipse.emf.cdo.view.CDOView; import org.eclipse.net4j.util.ObjectUtil; @@ -72,20 +72,7 @@ public class CDOEditorInputImpl extends PlatformObject implements CDOEditorInput public ImageDescriptor getImageDescriptor() { - switch (view.getViewType()) - { - case TRANSACTION: - return SharedIcons.getDescriptor(SharedIcons.OBJ_EDITOR); - - case READONLY: - return SharedIcons.getDescriptor(SharedIcons.OBJ_EDITOR_READONLY); - - case AUDIT: - return SharedIcons.getDescriptor(SharedIcons.OBJ_EDITOR_HISTORICAL); - - default: - return null; - } + return CDOItemProvider.getViewImageDescriptor(view); } public String getName() @@ -126,14 +113,15 @@ public class CDOEditorInputImpl extends PlatformObject implements CDOEditorInput builder.append(view.getViewID()); builder.append("]"); //$NON-NLS-1$ - if (view.getViewType() != CDOView.Type.TRANSACTION) + if (view.isReadOnly()) { builder.append(" readonly"); //$NON-NLS-1$ } - if (view instanceof CDOAudit) + long timeStamp = view.getTimeStamp(); + if (timeStamp != CDOView.UNSPECIFIED_DATE) { - builder.append(MessageFormat.format(" {0,date} {0,time}", ((CDOAudit)view).getTimeStamp())); //$NON-NLS-1$ + builder.append(MessageFormat.format(" {0,date} {0,time,HH:mm:ss:SSS}", timeStamp)); //$NON-NLS-1$ } return builder.toString(); diff --git a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/actions/OpenAuditAction.java b/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/actions/OpenAuditAction.java index 5beb9226e1..2737fc8e8b 100644 --- a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/actions/OpenAuditAction.java +++ b/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/actions/OpenAuditAction.java @@ -4,7 +4,7 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * Eike Stepper - initial API and implementation * Victor Roldan Betancort - maintenance @@ -16,8 +16,6 @@ import org.eclipse.emf.cdo.internal.ui.dialogs.OpenAuditDialog; import org.eclipse.emf.cdo.internal.ui.messages.Messages; import org.eclipse.emf.cdo.session.CDOSession; -import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; - import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.ui.IWorkbenchPage; @@ -54,6 +52,6 @@ public final class OpenAuditAction extends AbstractOpenViewAction @Override protected void doRun(IProgressMonitor progressMonitor) throws Exception { - getSession().openAudit(new ResourceSetImpl(), timeStamp); + getSession().openView(timeStamp); } } diff --git a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/actions/OpenViewAction.java b/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/actions/OpenViewAction.java index 657b0fdb3f..28363c9c69 100644 --- a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/actions/OpenViewAction.java +++ b/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/actions/OpenViewAction.java @@ -4,7 +4,7 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * Eike Stepper - initial API and implementation * Victor Roldan Betancort - maintenance @@ -15,8 +15,6 @@ import org.eclipse.emf.cdo.internal.ui.SharedIcons; import org.eclipse.emf.cdo.internal.ui.messages.Messages; import org.eclipse.emf.cdo.session.CDOSession; -import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; - import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.ui.IWorkbenchPage; @@ -37,6 +35,6 @@ public final class OpenViewAction extends AbstractOpenViewAction @Override protected void doRun(IProgressMonitor progressMonitor) throws Exception { - getSession().openView(new ResourceSetImpl()); + getSession().openView(); } } diff --git a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/views/CDOWatchListView.java b/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/views/CDOWatchListView.java index 60d1cbe29c..5a0ac4b596 100644 --- a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/views/CDOWatchListView.java +++ b/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/internal/ui/views/CDOWatchListView.java @@ -12,7 +12,6 @@ package org.eclipse.emf.cdo.internal.ui.views; import org.eclipse.emf.cdo.CDODeltaNotification; import org.eclipse.emf.cdo.CDOObject; -import org.eclipse.emf.cdo.common.revision.CDORevision; import org.eclipse.emf.cdo.internal.ui.actions.RemoveAllContainerItemAction; import org.eclipse.emf.cdo.internal.ui.actions.RemoveContainerItemAction; import org.eclipse.emf.cdo.internal.ui.dnd.CDOObjectDropAdapter; @@ -84,7 +83,6 @@ import org.eclipse.ui.views.properties.PropertySheetPage; import java.util.ArrayList; import java.util.Collection; -import java.util.Date; import java.util.HashMap; import java.util.HashSet; import java.util.List; @@ -819,15 +817,15 @@ public class CDOWatchListView extends ViewPart implements ISelectionProvider return object.cdoResource().getURI().toString(); case 2: - CDOView view = object.cdoView(); - if (view instanceof CDOTransaction) - { - long time = ((CDOTransaction)view).getLastCommitTime(); - if (time != CDORevision.UNSPECIFIED_DATE) - { - return new Date(time).toString(); - } - } + // XXX CDOView view = object.cdoView(); + // if (view instanceof CDOTransaction) + // { + // long time = ((CDOTransaction)view).getLastCommitTime(); + // if (time != CDORevision.UNSPECIFIED_DATE) + // { + // return new Date(time).toString(); + // } + // } return "?"; //$NON-NLS-1$ diff --git a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/ui/CDOItemProvider.java b/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/ui/CDOItemProvider.java index 3512936591..c0fc85458a 100644 --- a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/ui/CDOItemProvider.java +++ b/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/ui/CDOItemProvider.java @@ -4,7 +4,7 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * Eike Stepper - initial API and implementation * Victor Roldan Betancort - maintenance @@ -35,7 +35,6 @@ import org.eclipse.emf.cdo.internal.ui.actions.RollbackTransactionAction; import org.eclipse.emf.cdo.internal.ui.messages.Messages; import org.eclipse.emf.cdo.session.CDOSession; import org.eclipse.emf.cdo.transaction.CDOTransaction; -import org.eclipse.emf.cdo.view.CDOAudit; import org.eclipse.emf.cdo.view.CDOView; import org.eclipse.net4j.util.container.IContainer; @@ -49,6 +48,7 @@ import org.eclipse.jface.action.IAction; import org.eclipse.jface.action.IMenuManager; import org.eclipse.jface.action.MenuManager; import org.eclipse.jface.action.Separator; +import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.jface.viewers.ITreeSelection; import org.eclipse.swt.graphics.Image; import org.eclipse.ui.IWorkbenchPage; @@ -139,15 +139,7 @@ public class CDOItemProvider extends ContainerItemProvider<IContainer<Object>> if (obj instanceof CDOView) { CDOView view = (CDOView)obj; - switch (view.getViewType()) - { - case TRANSACTION: - return SharedIcons.getImage(SharedIcons.OBJ_EDITOR); - case READONLY: - return SharedIcons.getImage(SharedIcons.OBJ_EDITOR_READONLY); - case AUDIT: - return SharedIcons.getImage(SharedIcons.OBJ_EDITOR_HISTORICAL); - } + return getViewImage(view); } return super.getImage(obj); @@ -159,7 +151,7 @@ public class CDOItemProvider extends ContainerItemProvider<IContainer<Object>> public static String getSessionLabel(CDOSession session) { return MessageFormat.format( - Messages.getString("CDOItemProvider.0"), session.getRepositoryInfo().getName(), session.getSessionID()); //$NON-NLS-1$ + Messages.getString("CDOItemProvider.0"), session.getRepositoryInfo().getName(), session.getSessionID()); //$NON-NLS-1$ } /** @@ -174,10 +166,10 @@ public class CDOItemProvider extends ContainerItemProvider<IContainer<Object>> Messages.getString("CDOItemProvider.3"), transaction.isDirty() ? "*" : "", transaction.getViewID()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ } - if (view instanceof CDOAudit) + long timeStamp = view.getTimeStamp(); + if (timeStamp != CDOView.UNSPECIFIED_DATE) { - CDOAudit audit = (CDOAudit)view; - return MessageFormat.format(Messages.getString("CDOItemProvider.6"), audit.getTimeStamp()); //$NON-NLS-1$ + return MessageFormat.format(Messages.getString("CDOItemProvider.6"), timeStamp); //$NON-NLS-1$ } return MessageFormat.format(Messages.getString("CDOItemProvider.7"), view.getViewID()); //$NON-NLS-1$ @@ -280,7 +272,7 @@ public class CDOItemProvider extends ContainerItemProvider<IContainer<Object>> manager.add(new LoadResourceAction(page, view)); manager.add(new ExportResourceAction(page, view)); manager.add(new Separator()); - if (view.getViewType() == CDOView.Type.TRANSACTION) + if (!view.isReadOnly()) { manager.add(new CreateResourceAction(page, view)); manager.add(new ImportResourceAction(page, view)); @@ -313,4 +305,40 @@ public class CDOItemProvider extends ContainerItemProvider<IContainer<Object>> // CDOView view = (CDOView)element; } } + + /** + * @since 3.0 + */ + public static ImageDescriptor getViewImageDescriptor(CDOView view) + { + if (view.isReadOnly()) + { + if (view.getTimeStamp() != CDOView.UNSPECIFIED_DATE) + { + return SharedIcons.getDescriptor(SharedIcons.OBJ_EDITOR_HISTORICAL); + } + + return SharedIcons.getDescriptor(SharedIcons.OBJ_EDITOR_READONLY); + } + + return SharedIcons.getDescriptor(SharedIcons.OBJ_EDITOR); + } + + /** + * @since 3.0 + */ + public static Image getViewImage(CDOView view) + { + if (view.isReadOnly()) + { + if (view.getTimeStamp() != CDOView.UNSPECIFIED_DATE) + { + return SharedIcons.getImage(SharedIcons.OBJ_EDITOR_HISTORICAL); + } + + return SharedIcons.getImage(SharedIcons.OBJ_EDITOR_READONLY); + } + + return SharedIcons.getImage(SharedIcons.OBJ_EDITOR); + } } diff --git a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/ui/CDOLabelDecorator.java b/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/ui/CDOLabelDecorator.java index d73cd1e28d..63e73aaa05 100644 --- a/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/ui/CDOLabelDecorator.java +++ b/plugins/org.eclipse.emf.cdo.ui/src/org/eclipse/emf/cdo/ui/CDOLabelDecorator.java @@ -106,7 +106,7 @@ public class CDOLabelDecorator implements ILabelDecorator InternalCDOView view = ((InternalCDOObject)element).cdoView(); InternalCDOObject obj = FSMUtil.adapt(element, view); CDORevision rev = obj.cdoRevision(); - long created = rev == null ? CDORevision.UNSPECIFIED_DATE : rev.getCreated(); + long created = rev == null ? CDORevision.UNSPECIFIED_DATE : rev.getTimeStamp(); long revised = rev == null ? CDORevision.UNSPECIFIED_DATE : rev.getRevised(); text = MessageFormat.format(pattern, text, obj.cdoID(), obj.cdoState(), created, revised); } |