From e3ea4f1dac6020fe2d9c52ed54e1f9605fb165e0 Mon Sep 17 00:00:00 2001 From: Philip Langer Date: Sun, 11 Aug 2019 10:58:46 +0200 Subject: Fix Build Errors Caused by Papyrus switching to Guava 27 This change also updates the previous release and latest release to avoid having to handle both Guava 21 and Guava 27. One ugly thing is that I needed to copy two methods to avoid having Guava's Predicate loaded in two versions, since EMF Compare still only supports Guava 21. Change-Id: I424b18f8195c5c5d2f14fef1cc6671c642c35cb1 Signed-off-by: Philip Langer --- .../META-INF/MANIFEST.MF | 1 + .../META-INF/MANIFEST.MF | 1 + .../META-INF/MANIFEST.MF | 1 + .../META-INF/MANIFEST.MF | 1 + .../META-INF/MANIFEST.MF | 1 + compare/targetplatforms/compare-nightly.target | 6 +- compare/targetplatforms/compare-nightly.tpd | 4 +- .../compare-previous-release.target | 84 +++++++++++----------- .../targetplatforms/compare-previous-release.tpd | 14 ++-- compare/targetplatforms/compare-release.target | 66 ++++++++--------- compare/targetplatforms/compare-release.tpd | 14 ++-- .../targetplatforms/compare.tests-nightly.target | 10 +-- compare/targetplatforms/compare.tests-nightly.tpd | 8 +-- .../compare.tests-previous-release.target | 75 ++++++++++--------- .../compare.tests-previous-release.tpd | 2 +- .../targetplatforms/compare.tests-release.target | 68 +++++++++--------- compare/targetplatforms/compare.tests-release.tpd | 2 +- .../META-INF/MANIFEST.MF | 1 + .../tests/egit/fixture/MockSystemReader.java | 11 ++- .../META-INF/MANIFEST.MF | 72 ++++++++++++++++++- .../modelextension/ModelExtensionUtilTest.java | 15 ++-- .../tests/saveparameter/SaveParameterHookTest.java | 1 + .../tests/util/PapyrusSaveParameterUtil.java | 11 ++- .../META-INF/MANIFEST.MF | 6 +- .../migration/PapyrusComparePredicates.java | 66 +++++++++++++++++ .../profiles/migration/ProfileMigrationTest.java | 45 ++++++------ 26 files changed, 369 insertions(+), 217 deletions(-) create mode 100644 compare/tests/org.eclipse.papyrus.compare.uml2.tests/src/org/eclipse/papyrus/compare/uml2/tests/profiles/migration/PapyrusComparePredicates.java (limited to 'compare') diff --git a/compare/bundles/org.eclipse.papyrus.compare.diagram.ide.ui/META-INF/MANIFEST.MF b/compare/bundles/org.eclipse.papyrus.compare.diagram.ide.ui/META-INF/MANIFEST.MF index 2cafa754..b36b1407 100644 --- a/compare/bundles/org.eclipse.papyrus.compare.diagram.ide.ui/META-INF/MANIFEST.MF +++ b/compare/bundles/org.eclipse.papyrus.compare.diagram.ide.ui/META-INF/MANIFEST.MF @@ -51,3 +51,4 @@ Export-Package: org.eclipse.papyrus.compare.diagram.ide.ui.comparesource, org.eclipse.papyrus.compare.diagram.ide.ui.internal.structuremergeviewer.filters;x-internal:=true, org.eclipse.papyrus.compare.diagram.ide.ui.internal.structuremergeviewer.groups;x-internal:=true, org.eclipse.papyrus.compare.diagram.ide.ui.util +Automatic-Module-Name: org.eclipse.papyrus.compare.diagram.ide.ui diff --git a/compare/bundles/org.eclipse.papyrus.compare.diagram/META-INF/MANIFEST.MF b/compare/bundles/org.eclipse.papyrus.compare.diagram/META-INF/MANIFEST.MF index f1e12348..f94e8161 100644 --- a/compare/bundles/org.eclipse.papyrus.compare.diagram/META-INF/MANIFEST.MF +++ b/compare/bundles/org.eclipse.papyrus.compare.diagram/META-INF/MANIFEST.MF @@ -19,3 +19,4 @@ Export-Package: org.eclipse.papyrus.compare.diagram, org.eclipse.papyrus.compare.diagram.internal;x-internal:=true, org.eclipse.papyrus.compare.diagram.util Bundle-Localization: plugin +Automatic-Module-Name: org.eclipse.papyrus.compare.diagram diff --git a/compare/bundles/org.eclipse.papyrus.compare.egit.ui/META-INF/MANIFEST.MF b/compare/bundles/org.eclipse.papyrus.compare.egit.ui/META-INF/MANIFEST.MF index 02054020..35343d9d 100644 --- a/compare/bundles/org.eclipse.papyrus.compare.egit.ui/META-INF/MANIFEST.MF +++ b/compare/bundles/org.eclipse.papyrus.compare.egit.ui/META-INF/MANIFEST.MF @@ -20,3 +20,4 @@ Require-Bundle: org.eclipse.emf.compare.egit, org.eclipse.papyrus.infra.onefile, org.eclipse.emf.compare.egit.ui Bundle-Vendor: %providerName +Automatic-Module-Name: org.eclipse.papyrus.compare.egit.ui diff --git a/compare/bundles/org.eclipse.papyrus.compare.uml2.edit/META-INF/MANIFEST.MF b/compare/bundles/org.eclipse.papyrus.compare.uml2.edit/META-INF/MANIFEST.MF index 36ea6238..9e4b3548 100644 --- a/compare/bundles/org.eclipse.papyrus.compare.uml2.edit/META-INF/MANIFEST.MF +++ b/compare/bundles/org.eclipse.papyrus.compare.uml2.edit/META-INF/MANIFEST.MF @@ -27,3 +27,4 @@ Import-Package: com.google.common.base;version="[15.0.0,22.0.0)", Bundle-Localization: plugin Export-Package: org.eclipse.papyrus.compare.uml2.edit, org.eclipse.papyrus.compare.uml2.edit.internal.decorator;x-internal:=true +Automatic-Module-Name: org.eclipse.papyrus.compare.uml2.edit diff --git a/compare/bundles/org.eclipse.papyrus.compare.uml2/META-INF/MANIFEST.MF b/compare/bundles/org.eclipse.papyrus.compare.uml2/META-INF/MANIFEST.MF index 270dc92d..1754ddea 100644 --- a/compare/bundles/org.eclipse.papyrus.compare.uml2/META-INF/MANIFEST.MF +++ b/compare/bundles/org.eclipse.papyrus.compare.uml2/META-INF/MANIFEST.MF @@ -29,3 +29,4 @@ Import-Package: com.google.common.base;version="[15.0.0,22.0.0)", com.google.common.collect;version="[15.0.0,22.0.0)" Bundle-ActivationPolicy: lazy Bundle-Activator: org.eclipse.papyrus.compare.uml2.internal.UMLPapyrusComparePlugin +Automatic-Module-Name: org.eclipse.papyrus.compare.uml2 diff --git a/compare/targetplatforms/compare-nightly.target b/compare/targetplatforms/compare-nightly.target index efc73cca..30345e38 100644 --- a/compare/targetplatforms/compare-nightly.target +++ b/compare/targetplatforms/compare-nightly.target @@ -1,7 +1,7 @@ - + @@ -46,8 +46,8 @@ - - + + diff --git a/compare/targetplatforms/compare-nightly.tpd b/compare/targetplatforms/compare-nightly.tpd index 860db40f..8abffefa 100755 --- a/compare/targetplatforms/compare-nightly.tpd +++ b/compare/targetplatforms/compare-nightly.tpd @@ -51,8 +51,8 @@ location "https://download.eclipse.org/tools/orbit/downloads/drops/R20190602212 org.apache.commons.io lazy org.apache.commons.io.source lazy com.google.inject lazy - com.google.guava [21.0.0,22.0.0) - com.google.guava.source [21.0.0,22.0.0) + com.google.guava [27.0.0,28.0.0) + com.google.guava.source [27.0.0,28.0.0) /* Egit/Jgit */ javaewah lazy org.apache.commons.compress lazy diff --git a/compare/targetplatforms/compare-previous-release.target b/compare/targetplatforms/compare-previous-release.target index 9b7964b3..94bb8090 100644 --- a/compare/targetplatforms/compare-previous-release.target +++ b/compare/targetplatforms/compare-previous-release.target @@ -1,66 +1,66 @@ - + - - - - - - + + + + + + - - - - + + + + - - + + - - - + + + - - - - - - - + + + + + + + - - - - - - - - - + + + + + + + + + - - - - + + + + - + - - - - - + + + + + diff --git a/compare/targetplatforms/compare-previous-release.tpd b/compare/targetplatforms/compare-previous-release.tpd index 573d083e..91efabcb 100755 --- a/compare/targetplatforms/compare-previous-release.tpd +++ b/compare/targetplatforms/compare-previous-release.tpd @@ -1,6 +1,6 @@ target "Compare Target Platform - Previous Release" with source requirements -location "http://download.eclipse.org/releases/2018-09/" eclipse-2018-09 { +location eclipse-2019-03 "http://download.eclipse.org/releases/2019-03/" { org.eclipse.platform.feature.group org.eclipse.sdk.feature.group org.eclipse.rcp.feature.group @@ -20,12 +20,12 @@ location "http://download.eclipse.org/releases/2018-09/" eclipse-2018-09 { org.eclipse.uml2.sdk.feature.group } -location "https://download.eclipse.org/egit/updates-5.1/" egit { +location "https://download.eclipse.org/egit/updates-5.3/" egit { org.eclipse.egit.feature.group org.eclipse.jgit.feature.group } -location "https://download.eclipse.org/modeling/emf/compare/updates/releases/3.3/R201806221350/" emfCompare { +location emfCompare "https://download.eclipse.org/modeling/emf/compare/updates/releases/3.3/R201903050300/" { org.eclipse.emf.compare.source.feature.group [3.3.3,4.0.0) org.eclipse.emf.compare.diagram.gmf.source.feature.group [3.3.3,4.0.0) org.eclipse.emf.compare.uml2.source.feature.group [3.3.3,4.0.0) @@ -35,12 +35,12 @@ location "https://download.eclipse.org/modeling/emf/compare/updates/releases/3.3 } //manualUpdate -location orbit "http://download.eclipse.org/tools/orbit/downloads/drops/R20180606145124/repository/" { +location orbit "http://download.eclipse.org/tools/orbit/downloads/drops/R20190528213420/repository/" { org.apache.commons.io org.apache.commons.io.source com.google.inject - com.google.guava [21.0.0,22.0.0) - com.google.guava.source [21.0.0,22.0.0) + com.google.guava [27.1.0,28.0.0) + com.google.guava.source [27.1.0,28.0.0) /* Egit/Jgit */ javaewah org.apache.commons.compress @@ -54,7 +54,7 @@ location orbit "http://download.eclipse.org/tools/orbit/downloads/drops/R2018060 org.objenesis [1.0.0,2.0.0) } -location papyrus "http://download.eclipse.org/modeling/mdt/papyrus/updates/releases/2018-09" { +location papyrus "http://download.eclipse.org/modeling/mdt/papyrus/updates/releases/2019-03" { org.eclipse.papyrus.sdk.feature.feature.group org.eclipse.papyrus.infra.gmfdiag.feature.feature.group org.eclipse.papyrus.infra.services.feature.feature.group diff --git a/compare/targetplatforms/compare-release.target b/compare/targetplatforms/compare-release.target index ed25392c..9e839916 100644 --- a/compare/targetplatforms/compare-release.target +++ b/compare/targetplatforms/compare-release.target @@ -1,48 +1,48 @@ - + - - - - - - + + + + + + - - - - + + + + - + - + - - - + + + - - - - - - - + + + + + + + - - + + - - + + @@ -53,14 +53,14 @@ - + - - - - - + + + + + diff --git a/compare/targetplatforms/compare-release.tpd b/compare/targetplatforms/compare-release.tpd index 000a1c0c..65138c31 100755 --- a/compare/targetplatforms/compare-release.tpd +++ b/compare/targetplatforms/compare-release.tpd @@ -1,6 +1,6 @@ target "Compare Target Platform - Release" with source requirements -location "http://download.eclipse.org/releases/2018-12/" eclipse-2018-12 { +location "http://download.eclipse.org/releases/2019-06/" eclipse-2019-06 { org.eclipse.platform.feature.group org.eclipse.sdk.feature.group org.eclipse.rcp.feature.group @@ -20,12 +20,12 @@ location "http://download.eclipse.org/releases/2018-12/" eclipse-2018-12 { org.eclipse.uml2.sdk.feature.group } -location "http://download.eclipse.org/egit/updates-5.1" egit { +location "http://download.eclipse.org/egit/updates-5.4" egit { org.eclipse.egit.feature.group org.eclipse.jgit.feature.group } -location "https://download.eclipse.org/modeling/emf/compare/updates/releases/3.3/R201812111422/" emfCompare { +location emfCompare "https://download.eclipse.org/modeling/emf/compare/updates/releases/3.3/R201905300200/" { org.eclipse.emf.compare.source.feature.group [3.3.5,4.0.0) org.eclipse.emf.compare.diagram.gmf.source.feature.group [3.3.5,4.0.0) org.eclipse.emf.compare.uml2.source.feature.group [3.3.5,4.0.0) @@ -35,12 +35,12 @@ location "https://download.eclipse.org/modeling/emf/compare/updates/releases/3.3 } //manualUpdate -location orbit "https://download.eclipse.org/tools/orbit/downloads/drops/R20181128170323/repository/" { +location orbit "https://download.eclipse.org/tools/orbit/downloads/drops/I20190602181010/repository/" { org.apache.commons.io org.apache.commons.io.source com.google.inject - com.google.guava [21.0.0,22.0.0) - com.google.guava.source [21.0.0,22.0.0) + com.google.guava [27.1.0,28.0.0) + com.google.guava.source [27.1.0,28.0.0) /* Egit/Jgit */ javaewah org.apache.commons.compress @@ -54,7 +54,7 @@ location orbit "https://download.eclipse.org/tools/orbit/downloads/drops/R201811 org.objenesis [1.0.0,2.0.0) } -location papyrus "http://download.eclipse.org/modeling/mdt/papyrus/updates/releases/2018-12" { +location papyrus "http://download.eclipse.org/modeling/mdt/papyrus/updates/releases/2019-06" { org.eclipse.papyrus.sdk.feature.feature.group org.eclipse.papyrus.infra.gmfdiag.feature.feature.group org.eclipse.papyrus.infra.services.feature.feature.group diff --git a/compare/targetplatforms/compare.tests-nightly.target b/compare/targetplatforms/compare.tests-nightly.target index 76fd6736..34a5b726 100644 --- a/compare/targetplatforms/compare.tests-nightly.target +++ b/compare/targetplatforms/compare.tests-nightly.target @@ -1,7 +1,7 @@ - + @@ -37,8 +37,8 @@ - - + + @@ -52,8 +52,8 @@ - - + + diff --git a/compare/targetplatforms/compare.tests-nightly.tpd b/compare/targetplatforms/compare.tests-nightly.tpd index 09016158..c2108d6d 100755 --- a/compare/targetplatforms/compare.tests-nightly.tpd +++ b/compare/targetplatforms/compare.tests-nightly.tpd @@ -3,12 +3,8 @@ target "Compare Target Platform - Nightly, Tests" with source requirements include "compare-nightly.tpd" // Required for Compare test ProfileMigrationTest and Architecture Framework support tests -// Required for Compare test ProfileMigrationTest and Architecture Framework support tests -// NOTE that this is a volatile Hudson build archive. It should be replaced by a stable -// milestone or release build ASAP! This is only even remote feasible because it is a -// tests-only dependency. -location sysml "https://hudson.eclipse.org/papyrus/job/papyrus-sysml14-master/lastStableBuild/artifact/releng/org.eclipse.papyrus.sysml14.p2/target/repository/" { - org.eclipse.papyrus.sysml14.feature.feature.group lazy +location sysml "http://download.eclipse.org/modeling/mdt/papyrus/components/sysml14/" { + org.eclipse.papyrus.sysml14.feature.feature.group [1.3.1,2.0.0) } location "https://download.eclipse.org/modeling/emf/compare/updates/nightly/latest" emfCompare { diff --git a/compare/targetplatforms/compare.tests-previous-release.target b/compare/targetplatforms/compare.tests-previous-release.target index d6b8a162..e8e6c0ae 100644 --- a/compare/targetplatforms/compare.tests-previous-release.target +++ b/compare/targetplatforms/compare.tests-previous-release.target @@ -1,50 +1,41 @@ - + - - - - - - + + + + + + - - - - + + + + - - + + - - - + + + - - - - - - - - - - - + + - - + + - + @@ -53,22 +44,28 @@ - + - - - - - + + + + + - + - - + + + + + + + + diff --git a/compare/targetplatforms/compare.tests-previous-release.tpd b/compare/targetplatforms/compare.tests-previous-release.tpd index 59417b67..e6b27c73 100755 --- a/compare/targetplatforms/compare.tests-previous-release.tpd +++ b/compare/targetplatforms/compare.tests-previous-release.tpd @@ -7,6 +7,6 @@ location sysml "http://download.eclipse.org/modeling/mdt/papyrus/components/sysm org.eclipse.papyrus.sysml14.feature.feature.group [1.3.1,2.0.0) } -location "https://download.eclipse.org/modeling/emf/compare/updates/releases/3.3/R201806221350//" { +location emfCompare "https://download.eclipse.org/modeling/emf/compare/updates/releases/3.3/R201903050300/" { org.eclipse.emf.compare.tests.source.feature.group [3.5.1,4.0.0) } diff --git a/compare/targetplatforms/compare.tests-release.target b/compare/targetplatforms/compare.tests-release.target index 7f0a7cc8..412490f5 100644 --- a/compare/targetplatforms/compare.tests-release.target +++ b/compare/targetplatforms/compare.tests-release.target @@ -1,39 +1,39 @@ - + - - - - - - + + + + + + - - - - + + + + - + - + - - - + + + - - + + - - + + @@ -44,28 +44,28 @@ - + - - - - - + + + + + - - - - - - - - + + + + + + + + diff --git a/compare/targetplatforms/compare.tests-release.tpd b/compare/targetplatforms/compare.tests-release.tpd index 5631e370..a9dc00f8 100755 --- a/compare/targetplatforms/compare.tests-release.tpd +++ b/compare/targetplatforms/compare.tests-release.tpd @@ -7,6 +7,6 @@ location sysml "http://download.eclipse.org/modeling/mdt/papyrus/components/sysm org.eclipse.papyrus.sysml14.feature.feature.group [1.3.0,2.0.0) } -location "https://download.eclipse.org/modeling/emf/compare/updates/releases/3.3/R201812111422/" emfCompare { +location emfCompare "https://download.eclipse.org/modeling/emf/compare/updates/releases/3.3/R201905300200/" { org.eclipse.emf.compare.tests.source.feature.group [3.5.1,4.0.0) } diff --git a/compare/tests/org.eclipse.papyrus.compare.diagram.tests.git/META-INF/MANIFEST.MF b/compare/tests/org.eclipse.papyrus.compare.diagram.tests.git/META-INF/MANIFEST.MF index 362bcd70..054d0b66 100644 --- a/compare/tests/org.eclipse.papyrus.compare.diagram.tests.git/META-INF/MANIFEST.MF +++ b/compare/tests/org.eclipse.papyrus.compare.diagram.tests.git/META-INF/MANIFEST.MF @@ -23,3 +23,4 @@ Require-Bundle: org.eclipse.emf.compare.egit;bundle-version="1.1.0", org.eclipse.emf.common;bundle-version="2.11.0", org.eclipse.papyrus.compare.uml2;bundle-version="2.5.1" Import-Package: org.eclipse.emf.compare.ide.ui.tests +Automatic-Module-Name: org.eclipse.papyrus.compare.diagram.tests.git diff --git a/compare/tests/org.eclipse.papyrus.compare.diagram.tests.git/src/org/eclipse/papyrus/compare/diagram/tests/egit/fixture/MockSystemReader.java b/compare/tests/org.eclipse.papyrus.compare.diagram.tests.git/src/org/eclipse/papyrus/compare/diagram/tests/egit/fixture/MockSystemReader.java index ac0ec7a2..fd6014a1 100644 --- a/compare/tests/org.eclipse.papyrus.compare.diagram.tests.git/src/org/eclipse/papyrus/compare/diagram/tests/egit/fixture/MockSystemReader.java +++ b/compare/tests/org.eclipse.papyrus.compare.diagram.tests.git/src/org/eclipse/papyrus/compare/diagram/tests/egit/fixture/MockSystemReader.java @@ -57,6 +57,7 @@ import java.util.TimeZone; import org.eclipse.jgit.errors.ConfigInvalidException; import org.eclipse.jgit.lib.Config; import org.eclipse.jgit.lib.Constants; +import org.eclipse.jgit.lib.StoredConfig; import org.eclipse.jgit.storage.file.FileBasedConfig; import org.eclipse.jgit.util.FS; import org.eclipse.jgit.util.SystemReader; @@ -82,7 +83,7 @@ public class MockSystemReader extends SystemReader { } } - final Map values = new HashMap(); + final Map values = new HashMap<>(); FileBasedConfig userGitConfig; @@ -197,4 +198,12 @@ public class MockSystemReader extends SystemReader { setProperty("path.separator", ":"); setProperty("line.separator", "\n"); } + + public StoredConfig getUserConfig() throws IOException, ConfigInvalidException { + return userGitConfig; + } + + public StoredConfig getSystemConfig() throws IOException, ConfigInvalidException { + return systemGitConfig; + } } diff --git a/compare/tests/org.eclipse.papyrus.compare.diagram.tests/META-INF/MANIFEST.MF b/compare/tests/org.eclipse.papyrus.compare.diagram.tests/META-INF/MANIFEST.MF index fcd00cc4..0c6d37d7 100644 --- a/compare/tests/org.eclipse.papyrus.compare.diagram.tests/META-INF/MANIFEST.MF +++ b/compare/tests/org.eclipse.papyrus.compare.diagram.tests/META-INF/MANIFEST.MF @@ -45,7 +45,8 @@ Require-Bundle: org.eclipse.core.runtime, org.eclipse.papyrus.sysml14.architecture;bundle-version="1.0.0", org.eclipse.papyrus.uml.diagram.component;bundle-version="3.0.0", org.eclipse.papyrus.infra.viewpoints.policy;bundle-version="2.1.0", - org.eclipse.papyrus.infra.architecture.representation;bundle-version="1.0.0" + org.eclipse.papyrus.infra.architecture.representation;bundle-version="1.0.0", + org.eclipse.papyrus.infra.gmfdiag.css Bundle-RequiredExecutionEnvironment: JavaSE-1.7 Bundle-Vendor: %providerName Import-Package: com.google.common.base;version="[15.0.0,22.0.0)", @@ -54,4 +55,71 @@ Import-Package: com.google.common.base;version="[15.0.0,22.0.0)", com.google.common.io;version="[15.0.0,22.0.0)", org.eclipse.papyrus.infra.core.sashwindows.di, org.eclipse.papyrus.infra.core.sashwindows.di.util -Export-Package: org.eclipse.papyrus.compare.diagram.tests +Export-Package: org.eclipse.papyrus.compare.diagram.tests, + org.eclipse.papyrus.compare.diagram.tests.comparison, + org.eclipse.papyrus.compare.diagram.tests.comparison.data, + org.eclipse.papyrus.compare.diagram.tests.context, + org.eclipse.papyrus.compare.diagram.tests.context.data.ecore, + org.eclipse.papyrus.compare.diagram.tests.context.data.papyrus, + org.eclipse.papyrus.compare.diagram.tests.css, + org.eclipse.papyrus.compare.diagram.tests.css.data, + org.eclipse.papyrus.compare.diagram.tests.difile, + org.eclipse.papyrus.compare.diagram.tests.difile.data.left, + org.eclipse.papyrus.compare.diagram.tests.difile.data.origin, + org.eclipse.papyrus.compare.diagram.tests.difile.data.right, + org.eclipse.papyrus.compare.diagram.tests.groups, + org.eclipse.papyrus.compare.diagram.tests.groups.data.a1, + org.eclipse.papyrus.compare.diagram.tests.groups.data.conflictsgroup, + org.eclipse.papyrus.compare.diagram.tests.groups.data.conflictsgroup.bug478539.left, + org.eclipse.papyrus.compare.diagram.tests.groups.data.conflictsgroup.bug478539.origin, + org.eclipse.papyrus.compare.diagram.tests.groups.data.conflictsgroup.bug478539.right, + org.eclipse.papyrus.compare.diagram.tests.merge, + org.eclipse.papyrus.compare.diagram.tests.merge.data, + org.eclipse.papyrus.compare.diagram.tests.merge.data.assocs.conflict.c1, + org.eclipse.papyrus.compare.diagram.tests.merge.data.assocs.conflict.t1, + org.eclipse.papyrus.compare.diagram.tests.merge.data.assocs.threeway.c1, + org.eclipse.papyrus.compare.diagram.tests.merge.data.assocs.threeway.t1, + org.eclipse.papyrus.compare.diagram.tests.merge.data.assocs.twoway.a1, + org.eclipse.papyrus.compare.diagram.tests.merge.data.assocs.twoway.a2, + org.eclipse.papyrus.compare.diagram.tests.merge.data.assocs.twoway.t1, + org.eclipse.papyrus.compare.diagram.tests.merge.data.edges.a1, + org.eclipse.papyrus.compare.diagram.tests.merge.data.edges.a2, + org.eclipse.papyrus.compare.diagram.tests.merge.data.edges.a3, + org.eclipse.papyrus.compare.diagram.tests.merge.data.edges.a4, + org.eclipse.papyrus.compare.diagram.tests.merge.data.edges.a5, + org.eclipse.papyrus.compare.diagram.tests.merge.data.edges.a6, + org.eclipse.papyrus.compare.diagram.tests.merge.data.edges.a7, + org.eclipse.papyrus.compare.diagram.tests.merge.data.nodes.a1, + org.eclipse.papyrus.compare.diagram.tests.merge.data.nodes.a2, + org.eclipse.papyrus.compare.diagram.tests.merge.data.nodes.a3, + org.eclipse.papyrus.compare.diagram.tests.merge.data.nodes.a4, + org.eclipse.papyrus.compare.diagram.tests.merge.data.nodes.a5, + org.eclipse.papyrus.compare.diagram.tests.merge.sysml, + org.eclipse.papyrus.compare.diagram.tests.migration, + org.eclipse.papyrus.compare.diagram.tests.migration.data.a1, + org.eclipse.papyrus.compare.diagram.tests.modelextension, + org.eclipse.papyrus.compare.diagram.tests.modelextension.data.customparametermodel, + org.eclipse.papyrus.compare.diagram.tests.modelextension.data.fileextension, + org.eclipse.papyrus.compare.diagram.tests.modelextension.data.noparametermodel, + org.eclipse.papyrus.compare.diagram.tests.modelextension.data.nulldata, + org.eclipse.papyrus.compare.diagram.tests.modelextension.data.nullmodel, + org.eclipse.papyrus.compare.diagram.tests.modelextension.data.nullparametermodel, + org.eclipse.papyrus.compare.diagram.tests.modelextension.data.runtimeexceptionmodel, + org.eclipse.papyrus.compare.diagram.tests.saveparameter, + org.eclipse.papyrus.compare.diagram.tests.saveparameter.data.a1, + org.eclipse.papyrus.compare.diagram.tests.saveparameter.data.a2, + org.eclipse.papyrus.compare.diagram.tests.structuremergeviewer.actions, + org.eclipse.papyrus.compare.diagram.tests.structuremergeviewer.actions.data.bug487151.classes.left, + org.eclipse.papyrus.compare.diagram.tests.structuremergeviewer.actions.data.bug487151.classes.origin, + org.eclipse.papyrus.compare.diagram.tests.structuremergeviewer.actions.data.bug487151.classes.right, + org.eclipse.papyrus.compare.diagram.tests.structuremergeviewer.actions.data.bug487151.ecore.left, + org.eclipse.papyrus.compare.diagram.tests.structuremergeviewer.actions.data.bug487151.ecore.origin, + org.eclipse.papyrus.compare.diagram.tests.structuremergeviewer.actions.data.bug487151.ecore.right, + org.eclipse.papyrus.compare.diagram.tests.suite, + org.eclipse.papyrus.compare.diagram.tests.uriattachment, + org.eclipse.papyrus.compare.diagram.tests.uriattachment.data, + org.eclipse.papyrus.compare.diagram.tests.uriattachment.data.a1.left, + org.eclipse.papyrus.compare.diagram.tests.uriattachment.data.a1.origin, + org.eclipse.papyrus.compare.diagram.tests.uriattachment.data.a1.right, + org.eclipse.papyrus.compare.diagram.tests.util +Automatic-Module-Name: org.eclipse.papyrus.compare.diagram.tests diff --git a/compare/tests/org.eclipse.papyrus.compare.diagram.tests/src/org/eclipse/papyrus/compare/diagram/tests/modelextension/ModelExtensionUtilTest.java b/compare/tests/org.eclipse.papyrus.compare.diagram.tests/src/org/eclipse/papyrus/compare/diagram/tests/modelextension/ModelExtensionUtilTest.java index 7583e300..c1c24377 100644 --- a/compare/tests/org.eclipse.papyrus.compare.diagram.tests/src/org/eclipse/papyrus/compare/diagram/tests/modelextension/ModelExtensionUtilTest.java +++ b/compare/tests/org.eclipse.papyrus.compare.diagram.tests/src/org/eclipse/papyrus/compare/diagram/tests/modelextension/ModelExtensionUtilTest.java @@ -25,9 +25,9 @@ import org.eclipse.core.internal.registry.ExtensionRegistry; import org.eclipse.core.runtime.ContributorFactoryOSGi; import org.eclipse.core.runtime.IConfigurationElement; import org.eclipse.core.runtime.Platform; -import org.eclipse.papyrus.compare.diagram.ide.ui.util.ModelExtensionUtil; import org.eclipse.papyrus.compare.diagram.tests.modelextension.data.customparametermodel.CustomParameterModel; import org.eclipse.papyrus.compare.diagram.tests.util.PapyrusSaveParameterUtil; +import org.eclipse.papyrus.compare.diagram.util.ModelExtensionUtil; import org.eclipse.papyrus.infra.core.resource.AbstractBaseModel; import org.junit.Test; import org.osgi.framework.Bundle; @@ -37,7 +37,7 @@ import org.osgi.framework.Bundle; * * @author Stefan Dirix */ -@SuppressWarnings("restriction") +@SuppressWarnings({"restriction", "nls" }) public class ModelExtensionUtilTest { /** @@ -212,12 +212,13 @@ public class ModelExtensionUtilTest { * If an exception occurs during reading the custom extension file. */ private boolean register(final String extensionPath) throws IOException { - final InputStream inputStream = getClass().getResource("data/" + extensionPath).openStream(); - final Bundle bundle = Platform.getBundle("org.eclipse.papyrus.compare.diagram.tests"); + try (final InputStream inputStream = getClass().getResource("data/" + extensionPath).openStream()) { + final Bundle bundle = Platform.getBundle("org.eclipse.papyrus.compare.diagram.tests"); - final ExtensionRegistry registry = (ExtensionRegistry)Platform.getExtensionRegistry(); - return registry.addContribution(inputStream, ContributorFactoryOSGi.createContributor(bundle), false, - extensionPath, null, registry.getTemporaryUserToken()); + final ExtensionRegistry registry = (ExtensionRegistry)Platform.getExtensionRegistry(); + return registry.addContribution(inputStream, ContributorFactoryOSGi.createContributor(bundle), + false, extensionPath, null, registry.getTemporaryUserToken()); + } } } diff --git a/compare/tests/org.eclipse.papyrus.compare.diagram.tests/src/org/eclipse/papyrus/compare/diagram/tests/saveparameter/SaveParameterHookTest.java b/compare/tests/org.eclipse.papyrus.compare.diagram.tests/src/org/eclipse/papyrus/compare/diagram/tests/saveparameter/SaveParameterHookTest.java index 2b407ede..32666b41 100644 --- a/compare/tests/org.eclipse.papyrus.compare.diagram.tests/src/org/eclipse/papyrus/compare/diagram/tests/saveparameter/SaveParameterHookTest.java +++ b/compare/tests/org.eclipse.papyrus.compare.diagram.tests/src/org/eclipse/papyrus/compare/diagram/tests/saveparameter/SaveParameterHookTest.java @@ -36,6 +36,7 @@ import org.junit.Test; * * @author Stefan Dirix */ +@SuppressWarnings("nls") public class SaveParameterHookTest { /** diff --git a/compare/tests/org.eclipse.papyrus.compare.diagram.tests/src/org/eclipse/papyrus/compare/diagram/tests/util/PapyrusSaveParameterUtil.java b/compare/tests/org.eclipse.papyrus.compare.diagram.tests/src/org/eclipse/papyrus/compare/diagram/tests/util/PapyrusSaveParameterUtil.java index c020b506..f0e5abdd 100644 --- a/compare/tests/org.eclipse.papyrus.compare.diagram.tests/src/org/eclipse/papyrus/compare/diagram/tests/util/PapyrusSaveParameterUtil.java +++ b/compare/tests/org.eclipse.papyrus.compare.diagram.tests/src/org/eclipse/papyrus/compare/diagram/tests/util/PapyrusSaveParameterUtil.java @@ -16,7 +16,7 @@ import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.xmi.XMLResource; import org.eclipse.papyrus.infra.core.resource.AbstractBaseModel; import org.eclipse.papyrus.infra.core.resource.sasheditor.DiModel; -import org.eclipse.papyrus.infra.gmfdiag.common.model.NotationModel; +import org.eclipse.papyrus.infra.gmfdiag.css.resource.CSSNotationModel; import org.eclipse.papyrus.uml.tools.model.UmlModel; /** @@ -93,9 +93,14 @@ public final class PapyrusSaveParameterUtil { /** * Helper class to retrieve the save parameters of Papyrus notation models. */ - private static class NotationSaveParametersHelper extends NotationModel { + private static class NotationSaveParametersHelper extends CSSNotationModel { public Map getSaveParametersForTest() { - return super.getSaveOptions(); + // after Papyrus 2019-03 they introduced a field modelKind of type ModelKind and + // return the default save options only if modelKind == ModelKind.master + // to remain backwards compatible, we just skip the code in + // AbstractModelWithSharedResource.getSaveOptions() + // instead of setting the modelKind to ModelKind.master + return getDefaultSaveOptions(); } } diff --git a/compare/tests/org.eclipse.papyrus.compare.uml2.tests/META-INF/MANIFEST.MF b/compare/tests/org.eclipse.papyrus.compare.uml2.tests/META-INF/MANIFEST.MF index ff7e9822..7a9ab2e9 100644 --- a/compare/tests/org.eclipse.papyrus.compare.uml2.tests/META-INF/MANIFEST.MF +++ b/compare/tests/org.eclipse.papyrus.compare.uml2.tests/META-INF/MANIFEST.MF @@ -32,7 +32,7 @@ Require-Bundle: org.eclipse.core.runtime, org.eclipse.emf.compare.ide;bundle-version="3.3.0", org.eclipse.papyrus.compare.uml2, org.eclipse.papyrus.infra.core, - org.eclipse.papyrus.uml.modelrepair;bundle-version="2.0.0" + org.eclipse.papyrus.uml.modelrepair;bundle-version="2.0.0", + com.google.guava;bundle-version="[27.0.0,28.0.0)" Bundle-ActivationPolicy: lazy -Import-Package: com.google.common.base;version="[15.0.0,22.0.0)", - com.google.common.collect;version="[15.0.0,22.0.0)" +Automatic-Module-Name: org.eclipse.papyrus.compare.uml2.tests diff --git a/compare/tests/org.eclipse.papyrus.compare.uml2.tests/src/org/eclipse/papyrus/compare/uml2/tests/profiles/migration/PapyrusComparePredicates.java b/compare/tests/org.eclipse.papyrus.compare.uml2.tests/src/org/eclipse/papyrus/compare/uml2/tests/profiles/migration/PapyrusComparePredicates.java new file mode 100644 index 00000000..61118f9d --- /dev/null +++ b/compare/tests/org.eclipse.papyrus.compare.uml2.tests/src/org/eclipse/papyrus/compare/uml2/tests/profiles/migration/PapyrusComparePredicates.java @@ -0,0 +1,66 @@ +/******************************************************************************* + * Copyright (c) 2012, 2016 Obeo and others. + * All rights reserved. This program and the accompanying materials + * 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: + * Obeo - initial API and implementation + * Stefan Dirix - bug 441172 + * Philip Langer - add additional predicates + * Tanja Mayerhofer - bug 501864 + *******************************************************************************/ +package org.eclipse.papyrus.compare.uml2.tests.profiles.migration; + +import com.google.common.base.Predicate; + +import java.util.Arrays; + +import org.eclipse.emf.compare.Conflict; +import org.eclipse.emf.compare.ConflictKind; +import org.eclipse.emf.compare.Diff; +import org.eclipse.emf.compare.DifferenceKind; + +public class PapyrusComparePredicates { + + /** + * This class does not need to be instantiated. + */ + private PapyrusComparePredicates() { + // Hides default constructor + } + + /** + * This predicate can be used to check whether a particular diff is of the given {@code kind}. This is + * mainly used to differentiate additions from deletions. + * + * @param kind + * The kind we expect this diff to have. + * @return The created predicate. + */ + public static Predicate ofKind(final DifferenceKind kind) { + return new Predicate() { + public boolean apply(Diff input) { + return input != null && input.getKind() == kind; + } + }; + } + + /** + * This can be used to check whether a given Conflict is of one of the given kind. + * + * @param kinds + * Type(s) of the conflict(s) we seek. + * @return The created predicate. + */ + public static Predicate containsConflictOfTypes(final ConflictKind... kinds) { + return new Predicate() { + public boolean apply(Conflict input) { + return input != null && input.getKind() != null + && Arrays.asList(kinds).contains(input.getKind()); + } + }; + } + +} diff --git a/compare/tests/org.eclipse.papyrus.compare.uml2.tests/src/org/eclipse/papyrus/compare/uml2/tests/profiles/migration/ProfileMigrationTest.java b/compare/tests/org.eclipse.papyrus.compare.uml2.tests/src/org/eclipse/papyrus/compare/uml2/tests/profiles/migration/ProfileMigrationTest.java index 7bbca8aa..3a8261ff 100644 --- a/compare/tests/org.eclipse.papyrus.compare.uml2.tests/src/org/eclipse/papyrus/compare/uml2/tests/profiles/migration/ProfileMigrationTest.java +++ b/compare/tests/org.eclipse.papyrus.compare.uml2.tests/src/org/eclipse/papyrus/compare/uml2/tests/profiles/migration/ProfileMigrationTest.java @@ -17,6 +17,10 @@ import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; +import com.google.common.base.Predicate; +import com.google.common.base.Predicates; +import com.google.common.collect.Iterables; + import java.util.List; import org.eclipse.emf.common.util.Diagnostic; @@ -38,7 +42,6 @@ import org.eclipse.emf.compare.ide.ui.tests.framework.internal.CompareTestSuppor import org.eclipse.emf.compare.uml2.internal.ProfileApplicationChange; import org.eclipse.emf.compare.uml2.internal.StereotypeApplicationChange; import org.eclipse.emf.compare.uml2.internal.StereotypeAttributeChange; -import org.eclipse.emf.compare.utils.EMFComparePredicates; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.resource.Resource; import org.eclipse.emf.ecore.util.FeatureMap.Entry; @@ -54,10 +57,6 @@ import org.junit.ClassRule; import org.junit.rules.TestRule; import org.junit.runner.RunWith; -import com.google.common.base.Predicate; -import com.google.common.base.Predicates; -import com.google.common.collect.Iterables; - /** *

* Tests whether the {@link ProfileMigrationHook profile migration} correctly migrates the models if their @@ -82,7 +81,8 @@ import com.google.common.collect.Iterables; *

*
    *
  • Block package definition: http://www.eclipse.org/papyrus/compare/test/profile/MyML/Blocks/1
  • - *
  • Viewpoint package definition: http://www.eclipse.org/papyrus/compare/test/profile/MyML/ModelElements/1
  • + *
  • Viewpoint package definition: + * http://www.eclipse.org/papyrus/compare/test/profile/MyML/ModelElements/1
  • *
*

* If the number at the end would not be given, both packages would be assumed to be the same and some @@ -91,17 +91,17 @@ import com.google.common.collect.Iterables; * * @author Martin Fleck */ -@SuppressWarnings({"nls", "restriction"}) +@SuppressWarnings({"nls", "restriction" }) @RunWith(RuntimeTestRunner.class) @DiffEngines({DefaultDiffEngine.class }) public class ProfileMigrationTest { /** Qualified name of the {@code Block} stereotype. */ public static final String BLOCK = "MyML::Blocks::Block"; - + /** Qualified name of the {@code Viewpoint} stereotype. */ public static final String VIEWPOINT = "MyML::ModelElements::Viewpoint"; - + /** * Default value for the purpose feature of the Viewpoint stereotype. */ @@ -125,7 +125,7 @@ public class ProfileMigrationTest { @ClassRule public static final TestRule READ_ONLY_RULE = new TestResourceReadOnlyHandler.Rule(); - + /* * ============================ Helper Methods ============================ */ @@ -297,10 +297,11 @@ public class ProfileMigrationTest { assertEquals(expectedDifferences, viewPointDifferences.size()); assertTrue(Iterables.all(viewPointDifferences, Predicates.instanceOf(AttributeChange.class))); - assertTrue(Iterables.all(viewPointDifferences, EMFComparePredicates.ofKind(DifferenceKind.CHANGE))); + assertTrue( + Iterables.all(viewPointDifferences, PapyrusComparePredicates.ofKind(DifferenceKind.CHANGE))); assertEquals(expectedDifferences, classDifferences.size()); assertTrue(Iterables.all(classDifferences, Predicates.instanceOf(StereotypeAttributeChange.class))); - assertTrue(Iterables.all(classDifferences, EMFComparePredicates.ofKind(DifferenceKind.CHANGE))); + assertTrue(Iterables.all(classDifferences, PapyrusComparePredicates.ofKind(DifferenceKind.CHANGE))); } /** @@ -335,15 +336,16 @@ public class ProfileMigrationTest { final Iterable resourceAttachmentChanges = Iterables.filter(stereotypeDifferences, Predicates.instanceOf(ResourceAttachmentChange.class)); assertEquals(expectedDifferences, Iterables.size(resourceAttachmentChanges)); - assertTrue(Iterables.all(resourceAttachmentChanges, EMFComparePredicates.ofKind(DifferenceKind.ADD))); + assertTrue(Iterables.all(resourceAttachmentChanges, + PapyrusComparePredicates.ofKind(DifferenceKind.ADD))); final Iterable referenceChanges = Iterables.filter(stereotypeDifferences, Predicates.instanceOf(ReferenceChange.class)); assertEquals(expectedDifferences, Iterables.size(referenceChanges)); - assertTrue(Iterables.all(referenceChanges, EMFComparePredicates.ofKind(DifferenceKind.CHANGE))); + assertTrue(Iterables.all(referenceChanges, PapyrusComparePredicates.ofKind(DifferenceKind.CHANGE))); assertEquals(expectedDifferences, classDifferences.size()); assertTrue(Iterables.all(classDifferences, Predicates.instanceOf(StereotypeApplicationChange.class))); - assertTrue(Iterables.all(classDifferences, EMFComparePredicates.ofKind(DifferenceKind.ADD))); + assertTrue(Iterables.all(classDifferences, PapyrusComparePredicates.ofKind(DifferenceKind.ADD))); } /** @@ -369,8 +371,8 @@ public class ProfileMigrationTest { Predicates.instanceOf(ProfileApplicationChange.class)); assertEquals(expectedDifferences, Iterables.size(profileApplicationChanges)); - assertTrue( - Iterables.all(profileApplicationChanges, EMFComparePredicates.ofKind(DifferenceKind.DELETE))); + assertTrue(Iterables.all(profileApplicationChanges, + PapyrusComparePredicates.ofKind(DifferenceKind.DELETE))); } /* @@ -789,7 +791,7 @@ public class ProfileMigrationTest { // 1 PSEUDO conflict: Viewpoint::purpose changed on both sides to equal value assertEquals((conflicts.size() - 1) + " unexpected conflicts", 1, conflicts.size()); assertTrue(Iterables.all(conflicts, - EMFComparePredicates.containsConflictOfTypes(ConflictKind.PSEUDO))); + PapyrusComparePredicates.containsConflictOfTypes(ConflictKind.PSEUDO))); // 2 differences on both sides related to viewPointChange: Attribute change refining a // StereotypeAttributeChange @@ -836,7 +838,7 @@ public class ProfileMigrationTest { // 1 REAL conflict: Viewpoint::purpose changed on both sides to equal value assertEquals((conflicts.size() - 1) + " unexpected conflicts", 1, conflicts.size()); assertTrue(Iterables.all(conflicts, - EMFComparePredicates.containsConflictOfTypes(ConflictKind.REAL))); + PapyrusComparePredicates.containsConflictOfTypes(ConflictKind.REAL))); // 2 differences on both sides related to viewPointChange: Attribute change refining a // StereotypeAttributeChange @@ -1099,7 +1101,8 @@ public class ProfileMigrationTest { * this example we use the following definitions for the origin model: *

    *
  • Block definition: http://www.eclipse.org/papyrus/compare/test/beta/profile/MyML/Blocks
  • - *
  • Viewpoint definition: http://www.eclipse.org/papyrus/compare/test/beta/profile/MyML/ModelElements
  • + *
  • Viewpoint definition: + * http://www.eclipse.org/papyrus/compare/test/beta/profile/MyML/ModelElements
  • *
* As a result, both definitions are assumed to be the same and the we only migrate stereotypes of the * first found package. The remaining stereotypes can not be migrated with this package (as the definition @@ -1161,7 +1164,7 @@ public class ProfileMigrationTest { // 4 PSEUDO conflict: stereotype application (2) assertEquals((conflicts.size() - 2) + " unexpected conflicts", 2, conflicts.size()); assertTrue(Iterables.all(conflicts, - EMFComparePredicates.containsConflictOfTypes(ConflictKind.PSEUDO))); + PapyrusComparePredicates.containsConflictOfTypes(ConflictKind.PSEUDO))); // 2 differences on both sides related to stereotype removal: ResourceAttachmentChange and // ReferenceChange refining a StereotypeApplicationChange -- cgit v1.2.3