Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMikaël Barbero2012-08-31 12:46:53 +0000
committerMikaël Barbero2012-08-31 12:46:53 +0000
commitb15eb69a5c3800624b65033c4b56ada36d76a656 (patch)
treee88509b8a3ae7d55eb01240341c1a31bf0c19df8
parent2e684191248d521a659051a030d15a3cb4f098c4 (diff)
downloadorg.eclipse.emf.compare-b15eb69a5c3800624b65033c4b56ada36d76a656.tar.gz
org.eclipse.emf.compare-b15eb69a5c3800624b65033c4b56ada36d76a656.tar.xz
org.eclipse.emf.compare-b15eb69a5c3800624b65033c4b56ada36d76a656.zip
add itemprovider specific implemention for all uml extension
migrate uml2.ide.ui to take into account factorization in rcp.ui
-rw-r--r--plugins/org.eclipse.emf.compare.ide.ui/META-INF/MANIFEST.MF1
-rw-r--r--plugins/org.eclipse.emf.compare.uml2.edit/src-gen/org/eclipse/emf/compare/uml2/provider/AssociationChangeItemProvider.java4
-rw-r--r--plugins/org.eclipse.emf.compare.uml2.edit/src/org/eclipse/emf/compare/uml2/provider/spec/UMLCompareAdapterFactorySpec.java126
-rw-r--r--plugins/org.eclipse.emf.compare.uml2.ide.ui/META-INF/MANIFEST.MF4
-rw-r--r--plugins/org.eclipse.emf.compare.uml2.ide.ui/src/org/eclipse/emf/compare/uml2/ide/ui/internal/provider/UMLDiffNode.java16
5 files changed, 118 insertions, 33 deletions
diff --git a/plugins/org.eclipse.emf.compare.ide.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.compare.ide.ui/META-INF/MANIFEST.MF
index f183a6719..3d406517c 100644
--- a/plugins/org.eclipse.emf.compare.ide.ui/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.emf.compare.ide.ui/META-INF/MANIFEST.MF
@@ -23,6 +23,7 @@ Export-Package: org.eclipse.emf.compare.ide.ui.internal;x-internal:=true,
org.eclipse.emf.compare.ide.ui.internal.actions.filter;x-internal:=true,
org.eclipse.emf.compare.ide.ui.internal.actions.group;x-internal:=true,
org.eclipse.emf.compare.ide.ui.internal.contentmergeviewer,
+ org.eclipse.emf.compare.ide.ui.internal.contentmergeviewer.accessor,
org.eclipse.emf.compare.ide.ui.internal.contentmergeviewer.table;x-internal:=true,
org.eclipse.emf.compare.ide.ui.internal.contentmergeviewer.text;x-internal:=true,
org.eclipse.emf.compare.ide.ui.internal.contentmergeviewer.tree;x-internal:=true,
diff --git a/plugins/org.eclipse.emf.compare.uml2.edit/src-gen/org/eclipse/emf/compare/uml2/provider/AssociationChangeItemProvider.java b/plugins/org.eclipse.emf.compare.uml2.edit/src-gen/org/eclipse/emf/compare/uml2/provider/AssociationChangeItemProvider.java
index 9983b0642..c57ef9ef2 100644
--- a/plugins/org.eclipse.emf.compare.uml2.edit/src-gen/org/eclipse/emf/compare/uml2/provider/AssociationChangeItemProvider.java
+++ b/plugins/org.eclipse.emf.compare.uml2.edit/src-gen/org/eclipse/emf/compare/uml2/provider/AssociationChangeItemProvider.java
@@ -70,14 +70,14 @@ public class AssociationChangeItemProvider
}
/**
- * This returns AssociationChange.gif.
+ * This returns AssociationChangeSpec.gif.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object getImage(Object object) {
- return overlayImage(object, getResourceLocator().getImage("full/obj16/AssociationChange")); //$NON-NLS-1$
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/AssociationChangeSpec")); //$NON-NLS-1$
}
/**
diff --git a/plugins/org.eclipse.emf.compare.uml2.edit/src/org/eclipse/emf/compare/uml2/provider/spec/UMLCompareAdapterFactorySpec.java b/plugins/org.eclipse.emf.compare.uml2.edit/src/org/eclipse/emf/compare/uml2/provider/spec/UMLCompareAdapterFactorySpec.java
index 3f486fdcb..1dd4efdb4 100644
--- a/plugins/org.eclipse.emf.compare.uml2.edit/src/org/eclipse/emf/compare/uml2/provider/spec/UMLCompareAdapterFactorySpec.java
+++ b/plugins/org.eclipse.emf.compare.uml2.edit/src/org/eclipse/emf/compare/uml2/provider/spec/UMLCompareAdapterFactorySpec.java
@@ -19,7 +19,33 @@ import org.eclipse.emf.edit.provider.ItemProviderAdapter;
*/
public class UMLCompareAdapterFactorySpec extends UMLCompareItemProviderAdapterFactory {
- private Adapter fAssociationChangeItemProvider;
+ ForwardingUMLDiffItemProvider fAssociationChangeItemProvider;
+
+ ForwardingUMLDiffItemProvider fDependencyChangeItemProvider;
+
+ ForwardingUMLDiffItemProvider fExecutionSpecificationChangeItemProvider;
+
+ ForwardingUMLDiffItemProvider fExtendChangeItemProvider;
+
+ ForwardingUMLDiffItemProvider fGeneralizationSetChangeItemProvider;
+
+ ForwardingUMLDiffItemProvider fIncludeChangeItemProvider;
+
+ ForwardingUMLDiffItemProvider fInterfaceRealizationChangeItemProvider;
+
+ ForwardingUMLDiffItemProvider fIntervalConstraintChangeItemProvider;
+
+ ForwardingUMLDiffItemProvider fMessageChangeItemProvider;
+
+ ForwardingUMLDiffItemProvider fProfileApplicationChangeItemProvider;
+
+ ForwardingUMLDiffItemProvider fStereotypeApplicationChangeItemProvider;
+
+ ForwardingUMLDiffItemProvider fStereotypePropertyChangeItemProvider;
+
+ ForwardingUMLDiffItemProvider fStereotypeReferenceChangeItemProvider;
+
+ ForwardingUMLDiffItemProvider fSubstitutionChangeItemProvider;
/**
* {@inheritDoc}
@@ -42,8 +68,11 @@ public class UMLCompareAdapterFactorySpec extends UMLCompareItemProviderAdapterF
*/
@Override
public Adapter createDependencyChangeAdapter() {
- // TODO Auto-generated method stub
- return super.createDependencyChangeAdapter();
+ if (fDependencyChangeItemProvider == null) {
+ fDependencyChangeItemProvider = new ForwardingUMLDiffItemProvider((ItemProviderAdapter)super
+ .createDependencyChangeAdapter());
+ }
+ return fDependencyChangeItemProvider;
}
/**
@@ -53,8 +82,11 @@ public class UMLCompareAdapterFactorySpec extends UMLCompareItemProviderAdapterF
*/
@Override
public Adapter createInterfaceRealizationChangeAdapter() {
- // TODO Auto-generated method stub
- return super.createInterfaceRealizationChangeAdapter();
+ if (fInterfaceRealizationChangeItemProvider == null) {
+ fInterfaceRealizationChangeItemProvider = new ForwardingUMLDiffItemProvider(
+ (ItemProviderAdapter)super.createInterfaceRealizationChangeAdapter());
+ }
+ return fInterfaceRealizationChangeItemProvider;
}
/**
@@ -64,8 +96,11 @@ public class UMLCompareAdapterFactorySpec extends UMLCompareItemProviderAdapterF
*/
@Override
public Adapter createSubstitutionChangeAdapter() {
- // TODO Auto-generated method stub
- return super.createSubstitutionChangeAdapter();
+ if (fSubstitutionChangeItemProvider == null) {
+ fSubstitutionChangeItemProvider = new ForwardingUMLDiffItemProvider((ItemProviderAdapter)super
+ .createSubstitutionChangeAdapter());
+ }
+ return fSubstitutionChangeItemProvider;
}
/**
@@ -75,8 +110,11 @@ public class UMLCompareAdapterFactorySpec extends UMLCompareItemProviderAdapterF
*/
@Override
public Adapter createExtendChangeAdapter() {
- // TODO Auto-generated method stub
- return super.createExtendChangeAdapter();
+ if (fExtendChangeItemProvider == null) {
+ fExtendChangeItemProvider = new ForwardingUMLDiffItemProvider((ItemProviderAdapter)super
+ .createExtendChangeAdapter());
+ }
+ return fExtendChangeItemProvider;
}
/**
@@ -86,8 +124,11 @@ public class UMLCompareAdapterFactorySpec extends UMLCompareItemProviderAdapterF
*/
@Override
public Adapter createGeneralizationSetChangeAdapter() {
- // TODO Auto-generated method stub
- return super.createGeneralizationSetChangeAdapter();
+ if (fGeneralizationSetChangeItemProvider == null) {
+ fGeneralizationSetChangeItemProvider = new ForwardingUMLDiffItemProvider(
+ (ItemProviderAdapter)super.createGeneralizationSetChangeAdapter());
+ }
+ return fGeneralizationSetChangeItemProvider;
}
/**
@@ -97,8 +138,11 @@ public class UMLCompareAdapterFactorySpec extends UMLCompareItemProviderAdapterF
*/
@Override
public Adapter createExecutionSpecificationChangeAdapter() {
- // TODO Auto-generated method stub
- return super.createExecutionSpecificationChangeAdapter();
+ if (fExecutionSpecificationChangeItemProvider == null) {
+ fExecutionSpecificationChangeItemProvider = new ForwardingUMLDiffItemProvider(
+ (ItemProviderAdapter)super.createExecutionSpecificationChangeAdapter());
+ }
+ return fExecutionSpecificationChangeItemProvider;
}
/**
@@ -108,8 +152,11 @@ public class UMLCompareAdapterFactorySpec extends UMLCompareItemProviderAdapterF
*/
@Override
public Adapter createIntervalConstraintChangeAdapter() {
- // TODO Auto-generated method stub
- return super.createIntervalConstraintChangeAdapter();
+ if (fIntervalConstraintChangeItemProvider == null) {
+ fIntervalConstraintChangeItemProvider = new ForwardingUMLDiffItemProvider(
+ (ItemProviderAdapter)super.createIntervalConstraintChangeAdapter());
+ }
+ return fIntervalConstraintChangeItemProvider;
}
/**
@@ -119,8 +166,11 @@ public class UMLCompareAdapterFactorySpec extends UMLCompareItemProviderAdapterF
*/
@Override
public Adapter createMessageChangeAdapter() {
- // TODO Auto-generated method stub
- return super.createMessageChangeAdapter();
+ if (fMessageChangeItemProvider == null) {
+ fMessageChangeItemProvider = new ForwardingUMLDiffItemProvider((ItemProviderAdapter)super
+ .createMessageChangeAdapter());
+ }
+ return fMessageChangeItemProvider;
}
/**
@@ -130,8 +180,11 @@ public class UMLCompareAdapterFactorySpec extends UMLCompareItemProviderAdapterF
*/
@Override
public Adapter createStereotypePropertyChangeAdapter() {
- // TODO Auto-generated method stub
- return super.createStereotypePropertyChangeAdapter();
+ if (fStereotypePropertyChangeItemProvider == null) {
+ fStereotypePropertyChangeItemProvider = new ForwardingUMLDiffItemProvider(
+ (ItemProviderAdapter)super.createStereotypePropertyChangeAdapter());
+ }
+ return fStereotypePropertyChangeItemProvider;
}
/**
@@ -141,8 +194,11 @@ public class UMLCompareAdapterFactorySpec extends UMLCompareItemProviderAdapterF
*/
@Override
public Adapter createStereotypeApplicationChangeAdapter() {
- // TODO Auto-generated method stub
- return super.createStereotypeApplicationChangeAdapter();
+ if (fStereotypeApplicationChangeItemProvider == null) {
+ fStereotypeApplicationChangeItemProvider = new ForwardingUMLDiffItemProvider(
+ (ItemProviderAdapter)super.createStereotypeApplicationChangeAdapter());
+ }
+ return fStereotypeApplicationChangeItemProvider;
}
/**
@@ -152,8 +208,11 @@ public class UMLCompareAdapterFactorySpec extends UMLCompareItemProviderAdapterF
*/
@Override
public Adapter createStereotypeReferenceChangeAdapter() {
- // TODO Auto-generated method stub
- return super.createStereotypeReferenceChangeAdapter();
+ if (fStereotypeReferenceChangeItemProvider == null) {
+ fStereotypeReferenceChangeItemProvider = new ForwardingUMLDiffItemProvider(
+ (ItemProviderAdapter)super.createStereotypeReferenceChangeAdapter());
+ }
+ return fStereotypeReferenceChangeItemProvider;
}
/**
@@ -163,8 +222,25 @@ public class UMLCompareAdapterFactorySpec extends UMLCompareItemProviderAdapterF
*/
@Override
public Adapter createProfileApplicationChangeAdapter() {
- // TODO Auto-generated method stub
- return super.createProfileApplicationChangeAdapter();
+ if (fProfileApplicationChangeItemProvider == null) {
+ fProfileApplicationChangeItemProvider = new ForwardingUMLDiffItemProvider(
+ (ItemProviderAdapter)super.createProfileApplicationChangeAdapter());
+ }
+ return fProfileApplicationChangeItemProvider;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.compare.uml2.provider.UMLCompareItemProviderAdapterFactory#createIncludeChangeAdapter()
+ */
+ @Override
+ public Adapter createIncludeChangeAdapter() {
+ if (fIncludeChangeItemProvider == null) {
+ fIncludeChangeItemProvider = new ForwardingUMLDiffItemProvider((ItemProviderAdapter)super
+ .createIncludeChangeAdapter());
+ }
+ return fIncludeChangeItemProvider;
}
}
diff --git a/plugins/org.eclipse.emf.compare.uml2.ide.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.compare.uml2.ide.ui/META-INF/MANIFEST.MF
index b887d6f43..e1727f65b 100644
--- a/plugins/org.eclipse.emf.compare.uml2.ide.ui/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.emf.compare.uml2.ide.ui/META-INF/MANIFEST.MF
@@ -9,5 +9,7 @@ Require-Bundle: org.eclipse.emf.compare.uml2.edit;bundle-version="2.0.0",
org.eclipse.compare;bundle-version="3.5.300",
org.eclipse.emf.compare.ide.ui;bundle-version="2.0.0",
org.eclipse.emf.compare;bundle-version="2.0.0",
- org.eclipse.swt;bundle-version="3.100.0"
+ org.eclipse.swt;bundle-version="3.100.0",
+ org.eclipse.emf.compare.rcp.ui;bundle-version="2.0.0"
Import-Package: com.google.common.collect;version="2.0.0"
+Bundle-ActivationPolicy: lazy
diff --git a/plugins/org.eclipse.emf.compare.uml2.ide.ui/src/org/eclipse/emf/compare/uml2/ide/ui/internal/provider/UMLDiffNode.java b/plugins/org.eclipse.emf.compare.uml2.ide.ui/src/org/eclipse/emf/compare/uml2/ide/ui/internal/provider/UMLDiffNode.java
index 08fc25582..cd8d9297f 100644
--- a/plugins/org.eclipse.emf.compare.uml2.ide.ui/src/org/eclipse/emf/compare/uml2/ide/ui/internal/provider/UMLDiffNode.java
+++ b/plugins/org.eclipse.emf.compare.uml2.ide.ui/src/org/eclipse/emf/compare/uml2/ide/ui/internal/provider/UMLDiffNode.java
@@ -17,11 +17,13 @@ import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.compare.Diff;
import org.eclipse.emf.compare.ReferenceChange;
-import org.eclipse.emf.compare.ide.ui.internal.contentmergeviewer.IMergeViewer.MergeViewerSide;
-import org.eclipse.emf.compare.ide.ui.internal.contentmergeviewer.provider.ReferenceChangeAccessor;
+import org.eclipse.emf.compare.ide.ui.internal.contentmergeviewer.accessor.IDEManyStructuralFeatureAccessorImpl;
+import org.eclipse.emf.compare.ide.ui.internal.contentmergeviewer.accessor.IDESingleStructuralFeatureAccessorImpl;
import org.eclipse.emf.compare.ide.ui.internal.structuremergeviewer.provider.DiffNode;
+import org.eclipse.emf.compare.rcp.ui.mergeviewer.MergeViewer.MergeViewerSide;
import org.eclipse.emf.compare.uml2.UMLDiff;
import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EReference;
/**
* @author <a href="mailto:mikael.barbero@obeo.fr">Mikael Barbero</a>
@@ -80,9 +82,13 @@ public class UMLDiffNode extends DiffNode {
EList<Diff> differences = diff.getMatch().getComparison().getDifferences(discriminant);
for (ReferenceChange referenceChange : filter(differences, ReferenceChange.class)) {
if (referenceChange.getKind() == diff.getKind()) {
- if (referenceChange.getReference() == diff.getEReference()
- && referenceChange.getValue() == discriminant) {
- ret = new ReferenceChangeAccessor(referenceChange, side);
+ EReference reference = referenceChange.getReference();
+ if (reference == diff.getEReference() && referenceChange.getValue() == discriminant) {
+ if (reference.isMany()) {
+ ret = new IDEManyStructuralFeatureAccessorImpl(referenceChange, side);
+ } else {
+ ret = new IDESingleStructuralFeatureAccessorImpl(referenceChange, side);
+ }
break;
}
}

Back to the top