diff options
author | Pascal Rapicault (Ericsson) | 2013-02-27 16:07:23 +0000 |
---|---|---|
committer | Pascal Rapicault | 2013-02-27 16:07:23 +0000 |
commit | 790e216bde5d1d518611396c540216b2fcbac8ec (patch) | |
tree | ec1e68b9367bcbf17fff72536aa16a597337508c /bundles | |
parent | ea7172997438f874cff0116c37648882dfa14616 (diff) | |
download | rt.equinox.p2-790e216bde5d1d518611396c540216b2fcbac8ec.tar.gz rt.equinox.p2-790e216bde5d1d518611396c540216b2fcbac8ec.tar.xz rt.equinox.p2-790e216bde5d1d518611396c540216b2fcbac8ec.zip |
Fix logic to detect previous configuration when matching product id
Diffstat (limited to 'bundles')
5 files changed, 20 insertions, 4 deletions
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/sharedinstall/PreviousConfigurationFinderTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/sharedinstall/PreviousConfigurationFinderTest.java index 67fdc212e..04f06a8e3 100644 --- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/sharedinstall/PreviousConfigurationFinderTest.java +++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/sharedinstall/PreviousConfigurationFinderTest.java @@ -56,6 +56,21 @@ public class PreviousConfigurationFinderTest extends AbstractProvisioningTest { assertEquals(new Identifier(4, 2, 1), match.getVersion()); } + public void testNewBuildInDifferentFolder_sameProductWithSameVersion() throws Exception { + File configFolder = getTestData("sameProduct", "testData/previousConfigurationFinder/testNewBuildInDifferentFolder/sameProductWithSameVersion"); + List<ConfigurationDescriptor> configs = new PreviousConfigurationFinder(configFolder).readPreviousConfigurations(configFolder); + ConfigurationDescriptor match = new PreviousConfigurationFinder(configFolder).findMostRelevantConfigurationFromProductId(configs, referenceConfiguration); + assertEquals("org.eclipse.platform", match.getProductId()); + assertEquals(new Identifier(4, 3, 0), match.getVersion()); + } + + public void testNewBuildInDifferentFolder_noMatch() throws Exception { + File configFolder = getTestData("sameProduct", "testData/previousConfigurationFinder/testNewBuildInDifferentFolder/noMatch"); + List<ConfigurationDescriptor> configs = new PreviousConfigurationFinder(configFolder).readPreviousConfigurations(configFolder); + ConfigurationDescriptor match = new PreviousConfigurationFinder(configFolder).findMostRelevantConfigurationFromProductId(configs, referenceConfiguration); + assertNull(match); + } + public void testNewBuildInDifferentFolder_mixedProducts() throws Exception { File configFolder = getTestData("sameProduct", "testData/previousConfigurationFinder/testNewBuildInDifferentFolder/mixedProducts"); List<ConfigurationDescriptor> configs = new PreviousConfigurationFinder(configFolder).readPreviousConfigurations(configFolder); diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/previousConfigurationFinder/testNewBuildInDifferentFolder/noMatch/otherProduct_1.1.1_11111111_win32_win32_x86_64/empty.txt b/bundles/org.eclipse.equinox.p2.tests/testData/previousConfigurationFinder/testNewBuildInDifferentFolder/noMatch/otherProduct_1.1.1_11111111_win32_win32_x86_64/empty.txt new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/bundles/org.eclipse.equinox.p2.tests/testData/previousConfigurationFinder/testNewBuildInDifferentFolder/noMatch/otherProduct_1.1.1_11111111_win32_win32_x86_64/empty.txt diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/previousConfigurationFinder/testNewBuildInDifferentFolder/sameProductWithSameVersion/org.eclipse.platform_4.2.1_23456789_win32_win32_x86/empty.txt b/bundles/org.eclipse.equinox.p2.tests/testData/previousConfigurationFinder/testNewBuildInDifferentFolder/sameProductWithSameVersion/org.eclipse.platform_4.2.1_23456789_win32_win32_x86/empty.txt new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/bundles/org.eclipse.equinox.p2.tests/testData/previousConfigurationFinder/testNewBuildInDifferentFolder/sameProductWithSameVersion/org.eclipse.platform_4.2.1_23456789_win32_win32_x86/empty.txt diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/previousConfigurationFinder/testNewBuildInDifferentFolder/sameProductWithSameVersion/org.eclipse.platform_4.3.0_01234567_win32_win32_x86/empty.txt b/bundles/org.eclipse.equinox.p2.tests/testData/previousConfigurationFinder/testNewBuildInDifferentFolder/sameProductWithSameVersion/org.eclipse.platform_4.3.0_01234567_win32_win32_x86/empty.txt new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/bundles/org.eclipse.equinox.p2.tests/testData/previousConfigurationFinder/testNewBuildInDifferentFolder/sameProductWithSameVersion/org.eclipse.platform_4.3.0_01234567_win32_win32_x86/empty.txt diff --git a/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/src/org/eclipse/equinox/internal/p2/ui/sdk/scheduler/PreviousConfigurationFinder.java b/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/src/org/eclipse/equinox/internal/p2/ui/sdk/scheduler/PreviousConfigurationFinder.java index 8c6091332..9fd244b91 100644 --- a/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/src/org/eclipse/equinox/internal/p2/ui/sdk/scheduler/PreviousConfigurationFinder.java +++ b/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/src/org/eclipse/equinox/internal/p2/ui/sdk/scheduler/PreviousConfigurationFinder.java @@ -185,10 +185,11 @@ public class PreviousConfigurationFinder { int numberOfcriteriaMet = 0; for (ConfigurationDescriptor candidate : configurations) { int criteriaMet = 0; - criteriaMet++; - if (candidate.getProductId().equals(configToMatch.getProductId()) && // - candidate.getPlatformConfig().equals(configToMatch.getPlatformConfig()) && // - (!candidate.getVersion().isGreaterEqualTo(configToMatch.getVersion()))) { + if (!candidate.getProductId().equals(configToMatch.getProductId())) + continue; + + if (candidate.getPlatformConfig().equals(configToMatch.getPlatformConfig()) && // + (configToMatch.getVersion().isGreaterEqualTo(candidate.getVersion()))) { //We have a match criteriaMet++; } |