diff options
Diffstat (limited to 'plugins/org.eclipse.emf.compare.rcp.ui/src/org/eclipse/emf')
6 files changed, 54 insertions, 38 deletions
diff --git a/plugins/org.eclipse.emf.compare.rcp.ui/src/org/eclipse/emf/compare/rcp/ui/EMFCompareRCPUIPlugin.java b/plugins/org.eclipse.emf.compare.rcp.ui/src/org/eclipse/emf/compare/rcp/ui/EMFCompareRCPUIPlugin.java index 384ff77cb..a58bdeabd 100644 --- a/plugins/org.eclipse.emf.compare.rcp.ui/src/org/eclipse/emf/compare/rcp/ui/EMFCompareRCPUIPlugin.java +++ b/plugins/org.eclipse.emf.compare.rcp.ui/src/org/eclipse/emf/compare/rcp/ui/EMFCompareRCPUIPlugin.java @@ -118,6 +118,7 @@ public class EMFCompareRCPUIPlugin extends AbstractUIPlugin { private ConfigurationUIRegistryEventListener matchEngineConfiguratorRegistryListener; + @Deprecated private IEMFCompareConfiguration compareConfiguration; /** @@ -376,21 +377,29 @@ public class EMFCompareRCPUIPlugin extends AbstractUIPlugin { } /** - * @return the compare configuration object. + * The compareConfiguration is not provided by the RCPUI plugin anymore. This plugin provide cross + * comparison elements and the compareConfiguration is configuration dependent. + * + * @return null + * @deprecated * @since 4.1 */ + @Deprecated public IEMFCompareConfiguration getEMFCompareConfiguration() { - return compareConfiguration; + return null; } /** - * Set the compare configuration object. + * The compareConfiguration is not provided by the RCPUI plugin anymore. This plugin provide cross + * comparison elements and the compareConfiguration is configuration dependent. * * @param compareConfiguration * the compare configuration object + * @deprecated * @since 4.1 */ + @Deprecated public void setEMFCompareConfiguration(IEMFCompareConfiguration compareConfiguration) { - this.compareConfiguration = compareConfiguration; + // Do nothing } } diff --git a/plugins/org.eclipse.emf.compare.rcp.ui/src/org/eclipse/emf/compare/rcp/ui/internal/configuration/IEMFCompareConfiguration.java b/plugins/org.eclipse.emf.compare.rcp.ui/src/org/eclipse/emf/compare/rcp/ui/internal/configuration/IEMFCompareConfiguration.java index 38f12acfb..c14d27b6a 100644 --- a/plugins/org.eclipse.emf.compare.rcp.ui/src/org/eclipse/emf/compare/rcp/ui/internal/configuration/IEMFCompareConfiguration.java +++ b/plugins/org.eclipse.emf.compare.rcp.ui/src/org/eclipse/emf/compare/rcp/ui/internal/configuration/IEMFCompareConfiguration.java @@ -13,12 +13,10 @@ package org.eclipse.emf.compare.rcp.ui.internal.configuration; import com.google.common.eventbus.EventBus; import org.eclipse.emf.common.notify.AdapterFactory; -import org.eclipse.emf.common.util.URI; import org.eclipse.emf.compare.Comparison; import org.eclipse.emf.compare.EMFCompare; import org.eclipse.emf.compare.domain.ICompareEditingDomain; import org.eclipse.emf.compare.internal.merge.MergeMode; -import org.eclipse.emf.compare.internal.utils.ReadOnlyGraph; import org.eclipse.emf.compare.rcp.ui.internal.structuremergeviewer.filters.StructureMergeViewerFilter; import org.eclipse.emf.compare.rcp.ui.internal.structuremergeviewer.groups.StructureMergeViewerGrouper; import org.eclipse.emf.compare.scope.IComparisonScope; @@ -61,8 +59,4 @@ public interface IEMFCompareConfiguration { void setMergePreviewMode(MergeMode mergePreviewMode); boolean getBooleanProperty(String key, boolean dflt); - - ReadOnlyGraph<URI> getResourcesGraph(); - - void setResourcesGraph(ReadOnlyGraph<URI> graph); } diff --git a/plugins/org.eclipse.emf.compare.rcp.ui/src/org/eclipse/emf/compare/rcp/ui/internal/mergeviewer/item/impl/MergeViewerItem.java b/plugins/org.eclipse.emf.compare.rcp.ui/src/org/eclipse/emf/compare/rcp/ui/internal/mergeviewer/item/impl/MergeViewerItem.java index 471c98611..096055502 100644 --- a/plugins/org.eclipse.emf.compare.rcp.ui/src/org/eclipse/emf/compare/rcp/ui/internal/mergeviewer/item/impl/MergeViewerItem.java +++ b/plugins/org.eclipse.emf.compare.rcp.ui/src/org/eclipse/emf/compare/rcp/ui/internal/mergeviewer/item/impl/MergeViewerItem.java @@ -51,9 +51,9 @@ import org.eclipse.emf.compare.DifferenceState; import org.eclipse.emf.compare.Match; import org.eclipse.emf.compare.ReferenceChange; import org.eclipse.emf.compare.ResourceAttachmentChange; +import org.eclipse.emf.compare.graph.IGraphView; import org.eclipse.emf.compare.internal.spec.EObjectUtil; import org.eclipse.emf.compare.internal.utils.DiffUtil; -import org.eclipse.emf.compare.internal.utils.ReadOnlyGraph; import org.eclipse.emf.compare.match.impl.NotLoadedFragmentMatch; import org.eclipse.emf.compare.rcp.ui.internal.util.MergeViewerUtil; import org.eclipse.emf.compare.rcp.ui.internal.util.ResourceUIUtil; @@ -731,7 +731,7 @@ public class MergeViewerItem extends AdapterImpl implements IMergeViewerItem { for (Match match : children) { URI uri = ResourceUIUtil.getDataURI(match, getSide()); if (uri != null) { - ReadOnlyGraph<URI> graph = ResourceUIUtil.getResourcesURIGraph(); + IGraphView<URI> graph = ResourceUIUtil.getResourcesURIGraph(); URI parentData = graph.getParentData(uri); ResourceSet rs = ResourceUIUtil.getDataResourceSet(match, getSide()); Resource resourceParent = ResourceUIUtil.getParent(rs, uri); diff --git a/plugins/org.eclipse.emf.compare.rcp.ui/src/org/eclipse/emf/compare/rcp/ui/internal/structuremergeviewer/groups/provider/TreeItemProviderAdapterFactorySpec.java b/plugins/org.eclipse.emf.compare.rcp.ui/src/org/eclipse/emf/compare/rcp/ui/internal/structuremergeviewer/groups/provider/TreeItemProviderAdapterFactorySpec.java index 1d0fe9058..a66d0258c 100644 --- a/plugins/org.eclipse.emf.compare.rcp.ui/src/org/eclipse/emf/compare/rcp/ui/internal/structuremergeviewer/groups/provider/TreeItemProviderAdapterFactorySpec.java +++ b/plugins/org.eclipse.emf.compare.rcp.ui/src/org/eclipse/emf/compare/rcp/ui/internal/structuremergeviewer/groups/provider/TreeItemProviderAdapterFactorySpec.java @@ -14,6 +14,7 @@ import org.eclipse.emf.common.notify.Adapter; import org.eclipse.emf.compare.provider.IItemDescriptionProvider; import org.eclipse.emf.compare.provider.IItemStyledLabelProvider; import org.eclipse.emf.compare.provider.ISemanticObjectLabelProvider; +import org.eclipse.emf.compare.rcp.ui.internal.structuremergeviewer.filters.StructureMergeViewerFilter; import org.eclipse.emf.edit.provider.IItemColorProvider; import org.eclipse.emf.edit.provider.IItemFontProvider; import org.eclipse.emf.edit.tree.provider.TreeItemProviderAdapterFactory; @@ -26,11 +27,18 @@ import org.eclipse.emf.edit.tree.provider.TreeItemProviderAdapterFactory; */ public class TreeItemProviderAdapterFactorySpec extends TreeItemProviderAdapterFactory { + /** An instance of {@code StructureMergeViewerFilter}. */ + private final StructureMergeViewerFilter filter; + /** * Constructor. + * + * @param filter + * The given StructureMergeViewerFilter */ - public TreeItemProviderAdapterFactorySpec() { + public TreeItemProviderAdapterFactorySpec(StructureMergeViewerFilter filter) { super(); + this.filter = filter; supportedTypes.add(IItemFontProvider.class); supportedTypes.add(IItemColorProvider.class); supportedTypes.add(IItemStyledLabelProvider.class); @@ -45,6 +53,6 @@ public class TreeItemProviderAdapterFactorySpec extends TreeItemProviderAdapterF */ @Override public Adapter createTreeNodeAdapter() { - return new TreeNodeItemProviderSpec(this); + return new TreeNodeItemProviderSpec(this, filter); } } diff --git a/plugins/org.eclipse.emf.compare.rcp.ui/src/org/eclipse/emf/compare/rcp/ui/internal/structuremergeviewer/groups/provider/TreeNodeItemProviderSpec.java b/plugins/org.eclipse.emf.compare.rcp.ui/src/org/eclipse/emf/compare/rcp/ui/internal/structuremergeviewer/groups/provider/TreeNodeItemProviderSpec.java index 5d89e97c6..acb55cfe1 100644 --- a/plugins/org.eclipse.emf.compare.rcp.ui/src/org/eclipse/emf/compare/rcp/ui/internal/structuremergeviewer/groups/provider/TreeNodeItemProviderSpec.java +++ b/plugins/org.eclipse.emf.compare.rcp.ui/src/org/eclipse/emf/compare/rcp/ui/internal/structuremergeviewer/groups/provider/TreeNodeItemProviderSpec.java @@ -27,6 +27,7 @@ import com.google.common.collect.UnmodifiableIterator; import java.util.Collection; import java.util.Iterator; +import org.eclipse.core.runtime.Assert; import org.eclipse.emf.common.notify.AdapterFactory; import org.eclipse.emf.compare.Comparison; import org.eclipse.emf.compare.Conflict; @@ -40,7 +41,7 @@ import org.eclipse.emf.compare.provider.IItemStyledLabelProvider; import org.eclipse.emf.compare.provider.utils.ComposedStyledString; import org.eclipse.emf.compare.provider.utils.IStyledString.IComposedStyledString; import org.eclipse.emf.compare.provider.utils.IStyledString.Style; -import org.eclipse.emf.compare.rcp.ui.EMFCompareRCPUIPlugin; +import org.eclipse.emf.compare.rcp.ui.internal.structuremergeviewer.filters.StructureMergeViewerFilter; import org.eclipse.emf.compare.rcp.ui.structuremergeviewer.groups.IDifferenceGroup; import org.eclipse.emf.compare.rcp.ui.structuremergeviewer.groups.IDifferenceGroupProvider; import org.eclipse.emf.ecore.EObject; @@ -61,14 +62,21 @@ public class TreeNodeItemProviderSpec extends TreeNodeItemProvider implements II /** A map of IDifferenceGroupProvider, GroupItemProviderAdapter. */ private Multimap<IDifferenceGroupProvider, GroupItemProviderAdapter> groupItemProviderAdapters; + /** An instance of {@code StructureMergeViewerFilter}. */ + private StructureMergeViewerFilter structureMergeViewerFilter; + /** * This constructs an instance from a factory. * * @param adapterFactory * the given factory + * @param structureMergeViewerFilter + * the given structure merge viewer filter */ - public TreeNodeItemProviderSpec(AdapterFactory adapterFactory) { + public TreeNodeItemProviderSpec(AdapterFactory adapterFactory, + StructureMergeViewerFilter structureMergeViewerFilter) { super(adapterFactory); + this.structureMergeViewerFilter = structureMergeViewerFilter; itemDelegator = new ExtendedAdapterFactoryItemDelegator(getRootAdapterFactory()); } @@ -244,9 +252,9 @@ public class TreeNodeItemProviderSpec extends TreeNodeItemProvider implements II /** * Due to filters (especially UML & Diagram Refined elements filters), refining & refined elements are - * store in the same conflicts. But refining & refined elements will never be display together. It leads - * to have a number of unresolved diffs who is confusing because it counts refining & refined unresolved - * diffs together. So only counts visible unresolved nodes. + * store in the same conflicts. But refining & refined elements will never be displayed together. It leads + * to have a number of unresolved diffs that is confusing because it counts refining & refined unresolved + * diffs together. This method makes sure to only count visible unresolved nodes. * * @param conflict * the conflict for which we want to get the text to display. @@ -255,8 +263,8 @@ public class TreeNodeItemProviderSpec extends TreeNodeItemProvider implements II private IComposedStyledString getTreeNodeText(TreeNode treeNode, Conflict conflict) { final ComposedStyledString ret = new ComposedStyledString(); - final Predicate<? super EObject> unfilteredNode = EMFCompareRCPUIPlugin.getDefault() - .getEMFCompareConfiguration().getStructureMergeViewerFilter().getAggregatedPredicate(); + Assert.isNotNull(structureMergeViewerFilter); + final Predicate<? super EObject> unfilteredNode = structureMergeViewerFilter.getAggregatedPredicate(); final UnmodifiableIterator<EObject> visibleNodes = Iterators.filter(treeNode.eAllContents(), unfilteredNode); diff --git a/plugins/org.eclipse.emf.compare.rcp.ui/src/org/eclipse/emf/compare/rcp/ui/internal/util/ResourceUIUtil.java b/plugins/org.eclipse.emf.compare.rcp.ui/src/org/eclipse/emf/compare/rcp/ui/internal/util/ResourceUIUtil.java index d49e1cac3..518b06c53 100644 --- a/plugins/org.eclipse.emf.compare.rcp.ui/src/org/eclipse/emf/compare/rcp/ui/internal/util/ResourceUIUtil.java +++ b/plugins/org.eclipse.emf.compare.rcp.ui/src/org/eclipse/emf/compare/rcp/ui/internal/util/ResourceUIUtil.java @@ -25,10 +25,9 @@ import org.eclipse.emf.common.notify.AdapterFactory; import org.eclipse.emf.common.util.URI; import org.eclipse.emf.compare.Comparison; import org.eclipse.emf.compare.Match; -import org.eclipse.emf.compare.internal.utils.ReadOnlyGraph; +import org.eclipse.emf.compare.graph.IGraphView; import org.eclipse.emf.compare.match.impl.NotLoadedFragmentMatch; -import org.eclipse.emf.compare.rcp.ui.EMFCompareRCPUIPlugin; -import org.eclipse.emf.compare.rcp.ui.internal.configuration.IEMFCompareConfiguration; +import org.eclipse.emf.compare.rcp.EMFCompareRCPPlugin; import org.eclipse.emf.compare.rcp.ui.internal.mergeviewer.item.impl.MergeViewerItem; import org.eclipse.emf.compare.rcp.ui.mergeviewer.IMergeViewer.MergeViewerSide; import org.eclipse.emf.compare.rcp.ui.mergeviewer.item.IMergeViewerItem; @@ -44,6 +43,9 @@ import org.eclipse.emf.edit.tree.TreeNode; */ public class ResourceUIUtil { + /** ID of the graph of EMF resources used by EMFCompare to compute the logical model. */ + public static final String RESOURCES_GRAPH_ID = "org.eclipse.emf.compare.resources.graph"; //$NON-NLS-1$ + /** * Function that retrieve the data of the given TreeNode. */ @@ -64,13 +66,8 @@ public class ResourceUIUtil { * * @return the graph if it exists, <code>null</code> otherwise. */ - public static ReadOnlyGraph<URI> getResourcesURIGraph() { - final IEMFCompareConfiguration configuration = EMFCompareRCPUIPlugin.getDefault() - .getEMFCompareConfiguration(); - if (configuration != null) { - return configuration.getResourcesGraph(); - } - return null; + public static IGraphView<URI> getResourcesURIGraph() { + return EMFCompareRCPPlugin.getDefault().getGraphView(RESOURCES_GRAPH_ID); } /** @@ -94,7 +91,7 @@ public class ResourceUIUtil { * @return <code>true</code> if the given URI is a fragment of a model, <code>false</code> otherwise. */ public static boolean isFragment(URI uri) { - final ReadOnlyGraph<URI> graph = getResourcesURIGraph(); + final IGraphView<URI> graph = getResourcesURIGraph(); if (uri != null && graph != null) { URI parentData = graph.getParentData(uri); if (parentData != null) { @@ -137,7 +134,7 @@ public class ResourceUIUtil { * @return <code>true</code> if the given URI is a fragment of a model, <code>false</code> otherwise. */ public static boolean isFirstLevelFragment(URI uri) { - final ReadOnlyGraph<URI> graph = getResourcesURIGraph(); + final IGraphView<URI> graph = getResourcesURIGraph(); if (uri != null && graph != null) { URI parentData = graph.getParentData(uri); if (parentData != null) { @@ -162,7 +159,7 @@ public class ResourceUIUtil { */ public static URI getRootResourceURI(URI uri) { final URI uriRoot; - final ReadOnlyGraph<URI> graph = getResourcesURIGraph(); + final IGraphView<URI> graph = getResourcesURIGraph(); if (uri != null && graph != null) { URI parentData = graph.getParentData(uri); if (parentData == null) { @@ -222,7 +219,7 @@ public class ResourceUIUtil { */ public static Resource getParent(ResourceSet rs, URI uri) { final Resource resource; - final ReadOnlyGraph<URI> graph = getResourcesURIGraph(); + final IGraphView<URI> graph = getResourcesURIGraph(); if (uri != null && graph != null) { URI parentData = graph.getParentData(uri); if (parentData != null) { @@ -282,7 +279,7 @@ public class ResourceUIUtil { */ private static Entry<URI, Resource> getResourceParent(ResourceSet rs, URI uri) { Entry<URI, Resource> entry = null; - final ReadOnlyGraph<URI> graph = getResourcesURIGraph(); + final IGraphView<URI> graph = getResourcesURIGraph(); if (uri != null && graph != null) { URI parentData = graph.getParentData(uri); if (parentData != null) { @@ -557,7 +554,7 @@ public class ResourceUIUtil { MergeViewerSide side) { final Collection<Match> childrenMatches = Sets.newLinkedHashSet(); final Collection<Match> matches = comparison.getMatches(); - final ReadOnlyGraph<URI> graph = getResourcesURIGraph(); + final IGraphView<URI> graph = getResourcesURIGraph(); if (graph == null) { return childrenMatches; } @@ -602,7 +599,7 @@ public class ResourceUIUtil { * otherwise. */ public static boolean isChildOf(URI uri, Collection<URI> uris) { - final ReadOnlyGraph<URI> graph = getResourcesURIGraph(); + final IGraphView<URI> graph = getResourcesURIGraph(); URI parentData = graph.getParentData(uri); while (parentData != null) { URI parent = parentData.trimFragment(); |