Update ImportExpansionHandlerTest to use Spring Framework 4.3.9
diff --git a/org.eclipse.virgo.kernel.userregion/src/test/java/org/eclipse/virgo/kernel/userregion/internal/equinox/EquinoxOsgiFrameworkTests.java b/org.eclipse.virgo.kernel.userregion/src/test/java/org/eclipse/virgo/kernel/userregion/internal/equinox/EquinoxOsgiFrameworkTests.java index f052769..454e6f1 100644 --- a/org.eclipse.virgo.kernel.userregion/src/test/java/org/eclipse/virgo/kernel/userregion/internal/equinox/EquinoxOsgiFrameworkTests.java +++ b/org.eclipse.virgo.kernel.userregion/src/test/java/org/eclipse/virgo/kernel/userregion/internal/equinox/EquinoxOsgiFrameworkTests.java
@@ -96,8 +96,14 @@ * @throws BundleException */ private Bundle installSpringCore(EquinoxOsgiFramework osgi) throws BundleException { - osgi.getBundleContext().installBundle("file:///" + new File(System.getProperty("user.home") + "/.gradle/caches/modules-2/files-2.1/org.eclipse.virgo.mirrored/org.apache.commons.logging/1.2.0/16f574f7c054451477d7fc9d1f294e22b70a8eba/org.apache.commons.logging-1.2.0.jar").getAbsolutePath()); - osgi.getBundleContext().installBundle("file:///" + new File(System.getProperty("user.home") + "/.gradle/caches/modules-2/files-2.1/org.eclipse.virgo.mirrored/org.apache.commons.codec/1.10.0/8aff50e99bd7e53f8c4f5fe45c2a63f1d47dd19c/org.apache.commons.codec-1.10.0.jar").getAbsolutePath()); - return osgi.getBundleContext().installBundle("file:///" + new File(System.getProperty("user.home") + "/.gradle/caches/modules-2/files-2.1/org.eclipse.virgo.mirrored/org.springframework.core/4.2.9.RELEASE/1c660c77b174384012745d391694de1d56f2c19a/org.springframework.core-4.2.9.RELEASE.jar").getAbsolutePath()); + osgi.getBundleContext().installBundle("file:///" + new File(System.getProperty("user.home") + + "/.gradle/caches/modules-2/files-2.1/org.eclipse.virgo.mirrored/org.apache.commons.logging/1.2.0/" + + "16f574f7c054451477d7fc9d1f294e22b70a8eba/org.apache.commons.logging-1.2.0.jar").getAbsolutePath()); + osgi.getBundleContext().installBundle("file:///" + new File(System.getProperty("user.home") + + "/.gradle/caches/modules-2/files-2.1/org.eclipse.virgo.mirrored/org.apache.commons.codec/1.10.0/" + + "8aff50e99bd7e53f8c4f5fe45c2a63f1d47dd19c/org.apache.commons.codec-1.10.0.jar").getAbsolutePath()); + return osgi.getBundleContext().installBundle("file:///" + new File(System.getProperty("user.home") + + "/.gradle/caches/modules-2/files-2.1/org.eclipse.virgo.mirrored/org.springframework.core/4.3.9.RELEASE" + + "/ae395b7f91fd4054fe320744fcf0507500124479/org.springframework.core-4.3.9.RELEASE.jar").getAbsolutePath()); } }
diff --git a/org.eclipse.virgo.kernel.userregion/src/test/java/org/eclipse/virgo/kernel/userregion/internal/importexpansion/ImportExpansionHandlerTests.java b/org.eclipse.virgo.kernel.userregion/src/test/java/org/eclipse/virgo/kernel/userregion/internal/importexpansion/ImportExpansionHandlerTests.java index caf45cc..b5f6174 100644 --- a/org.eclipse.virgo.kernel.userregion/src/test/java/org/eclipse/virgo/kernel/userregion/internal/importexpansion/ImportExpansionHandlerTests.java +++ b/org.eclipse.virgo.kernel.userregion/src/test/java/org/eclipse/virgo/kernel/userregion/internal/importexpansion/ImportExpansionHandlerTests.java
@@ -11,6 +11,8 @@ package org.eclipse.virgo.kernel.userregion.internal.importexpansion; +import static java.util.Arrays.asList; +import static java.util.Collections.singletonList; import static org.easymock.EasyMock.createMock; import static org.easymock.EasyMock.expect; import static org.easymock.EasyMock.replay; @@ -23,7 +25,7 @@ import java.io.IOException; import java.io.StringReader; import java.util.ArrayList; -import java.util.Arrays; +import java.util.Collections; import java.util.HashSet; import java.util.List; import java.util.Map; @@ -42,13 +44,13 @@ import org.eclipse.virgo.repository.Query; import org.eclipse.virgo.repository.Repository; import org.eclipse.virgo.repository.RepositoryAwareArtifactDescriptor; -import org.eclipse.virgo.util.osgi.manifest.VersionRange; import org.eclipse.virgo.util.osgi.manifest.BundleManifest; import org.eclipse.virgo.util.osgi.manifest.BundleManifestFactory; import org.eclipse.virgo.util.osgi.manifest.ImportedBundle; import org.eclipse.virgo.util.osgi.manifest.ImportedLibrary; import org.eclipse.virgo.util.osgi.manifest.ImportedPackage; import org.eclipse.virgo.util.osgi.manifest.Resolution; +import org.eclipse.virgo.util.osgi.manifest.VersionRange; import org.junit.Assert; import org.junit.Before; import org.junit.Test; @@ -60,7 +62,7 @@ private StubRepository repository = new StubRepository(); - private static Set<String> packagesExportedBySystemBundle = new HashSet<String>(); + private static Set<String> packagesExportedBySystemBundle = new HashSet<>(); static { packagesExportedBySystemBundle.add("javax.crypto.spec"); @@ -73,8 +75,12 @@ BundleBridge bundleBridge = new BundleBridge(new StubHashGenerator()); LibraryBridge libraryBridge = new LibraryBridge(new StubHashGenerator()); - this.repository.addArtifactDescriptor(bundleBridge.generateArtifactDescriptor(new File(System.getProperty("user.home") + "/.gradle/caches/modules-2/files-2.1/org.eclipse.virgo.mirrored/org.springframework.core/4.2.9.RELEASE/1c660c77b174384012745d391694de1d56f2c19a/org.springframework.core-4.2.9.RELEASE.jar"))); - this.repository.addArtifactDescriptor(bundleBridge.generateArtifactDescriptor(new File(System.getProperty("user.home") + "/.gradle/caches/modules-2/files-2.1/org.eclipse.virgo.mirrored/org.springframework.beans/4.2.9.RELEASE/6895116b764a2820b829cef9dd1b3833b7cdfcaa/org.springframework.beans-4.2.9.RELEASE.jar"))); + this.repository.addArtifactDescriptor(bundleBridge.generateArtifactDescriptor(new File(System.getProperty("user.home") + + "/.gradle/caches/modules-2/files-2.1/org.eclipse.virgo.mirrored/org.springframework.core/4.3.9.RELEASE" + + "/ae395b7f91fd4054fe320744fcf0507500124479/org.springframework.core-4.3.9.RELEASE.jar"))); + this.repository.addArtifactDescriptor(bundleBridge.generateArtifactDescriptor(new File(System.getProperty("user.home") + + "/.gradle/caches/modules-2/files-2.1/org.eclipse.virgo.mirrored/org.springframework.beans/4.3.9.RELEASE" + + "/727f8bf256bb50b02b2a600dc2d1f18889c84236/org.springframework.beans-4.3.9.RELEASE.jar"))); this.repository.addArtifactDescriptor(bundleBridge.generateArtifactDescriptor(new File("src/test/resources/silht/bundles/fragmentOne"))); this.repository.addArtifactDescriptor(bundleBridge.generateArtifactDescriptor(new File("src/test/resources/silht/bundles/fragmentTwo"))); this.repository.addArtifactDescriptor(bundleBridge.generateArtifactDescriptor(new File("src/test/resources/silht/bundles/fragmentThree"))); @@ -90,7 +96,7 @@ @Test public void basicImportBundle() throws UnableToSatisfyDependenciesException { - List<Object> mocks = new ArrayList<Object>(); + List<Object> mocks = new ArrayList<>(); ImportedBundle bundleImport = createAndStoreMock(ImportedBundle.class, mocks); expect(bundleImport.getBundleSymbolicName()).andReturn("org.springframework.core").atLeastOnce(); @@ -104,7 +110,7 @@ BundleManifest bundleManifest = BundleManifestFactory.createBundleManifest(); - handler.expandImports(new ArrayList<ImportedLibrary>(), Arrays.asList(new ImportedBundle[] { bundleImport }), bundleManifest); + handler.expandImports(new ArrayList<ImportedLibrary>(), singletonList(bundleImport), bundleManifest); verifyMocks(mocks); @@ -113,20 +119,20 @@ List<ImportedPackage> packageImports = bundleManifest.getImportPackage().getImportedPackages(); for (ImportedPackage packageImport : packageImports) { Map<String, String> attributes = packageImport.getAttributes(); - assertTrue("org.springframework.core".equals(attributes.get("bundle-symbolic-name"))); - assertEquals(new VersionRange("[4.2.9.RELEASE,4.2.9.RELEASE]"), new VersionRange(attributes.get("bundle-version"))); + assertEquals("org.springframework.core", attributes.get("bundle-symbolic-name")); + assertEquals(new VersionRange("[4.3.9.RELEASE,4.3.9.RELEASE]"), new VersionRange(attributes.get("bundle-version"))); } } @Test public void basicImportLibrary() throws UnableToSatisfyDependenciesException { - List<Object> mocks = new ArrayList<Object>(); + List<Object> mocks = new ArrayList<>(); ImportedLibrary libraryImport = createAndStoreMock(ImportedLibrary.class, mocks); expect(libraryImport.getLibrarySymbolicName()).andReturn("org.springframework").atLeastOnce(); - expect(libraryImport.getVersion()).andReturn(new VersionRange("[4.2,5)")).atLeastOnce(); + expect(libraryImport.getVersion()).andReturn(new VersionRange("[4.3,5)")).atLeastOnce(); expect(libraryImport.getResolution()).andReturn(Resolution.MANDATORY).anyTimes(); ImportExpansionHandler handler = new ImportExpansionHandler(repository, packagesExportedBySystemBundle, new MockEventLogger()); @@ -135,7 +141,7 @@ BundleManifest bundleManifest = BundleManifestFactory.createBundleManifest(); - handler.expandImports(Arrays.asList(new ImportedLibrary[] { libraryImport }), Arrays.asList(new ImportedBundle[0]), bundleManifest); + handler.expandImports(singletonList(libraryImport), asList(new ImportedBundle[0]), bundleManifest); verifyMocks(mocks); @@ -145,18 +151,18 @@ for (ImportedPackage packageImport : packageImports) { Map<String, String> attributes = packageImport.getAttributes(); if (packageImport.getPackageName().startsWith("org.springframework.beans")) { - assertTrue("org.springframework.beans".equals(attributes.get("bundle-symbolic-name"))); + assertEquals("org.springframework.beans", attributes.get("bundle-symbolic-name")); } else { - assertTrue("org.springframework.core".equals(attributes.get("bundle-symbolic-name"))); + assertEquals("org.springframework.core", attributes.get("bundle-symbolic-name")); } - assertEquals(new VersionRange("[4.2.9.RELEASE,4.2.9.RELEASE]"), new VersionRange(attributes.get("bundle-version"))); + assertEquals(new VersionRange("[4.3.9.RELEASE,4.3.9.RELEASE]"), new VersionRange(attributes.get("bundle-version"))); } } @Test public void basicImportFragmentBundle() throws UnableToSatisfyDependenciesException { - List<Object> mocks = new ArrayList<Object>(); + List<Object> mocks = new ArrayList<>(); ImportedBundle bundleImport = createAndStoreMock(ImportedBundle.class, mocks); expect(bundleImport.getBundleSymbolicName()).andReturn("com.foo.fragment.one").atLeastOnce(); @@ -170,7 +176,7 @@ BundleManifest bundleManifest = BundleManifestFactory.createBundleManifest(); - handler.expandImports(Arrays.asList(new ImportedLibrary[0]), Arrays.asList(new ImportedBundle[] { bundleImport }), bundleManifest); + handler.expandImports(asList(new ImportedLibrary[0]), singletonList(bundleImport), bundleManifest); verifyMocks(mocks); @@ -185,7 +191,7 @@ @Test public void basicImportFragmentBundleSpecifyingExactBundleVersionRange() throws UnableToSatisfyDependenciesException { - List<Object> mocks = new ArrayList<Object>(); + List<Object> mocks = new ArrayList<>(); ImportedBundle bundleImport = createAndStoreMock(ImportedBundle.class, mocks); expect(bundleImport.getBundleSymbolicName()).andReturn("com.foo.fragment.two").atLeastOnce(); @@ -199,14 +205,14 @@ BundleManifest bundleManifest = BundleManifestFactory.createBundleManifest(); - handler.expandImports(Arrays.asList(new ImportedLibrary[0]), Arrays.asList(new ImportedBundle[] { bundleImport }), bundleManifest); + handler.expandImports(asList(new ImportedLibrary[0]), singletonList(bundleImport), bundleManifest); verifyMocks(mocks); } @Test public void basicImportFragmentBundleWithNoFragmentHostBundleVersion() throws UnableToSatisfyDependenciesException { - List<Object> mocks = new ArrayList<Object>(); + List<Object> mocks = new ArrayList<>(); ImportedBundle bundleImport = createAndStoreMock(ImportedBundle.class, mocks); expect(bundleImport.getBundleSymbolicName()).andReturn("com.foo.fragment.three").atLeastOnce(); @@ -220,7 +226,7 @@ BundleManifest bundleManifest = BundleManifestFactory.createBundleManifest(); - handler.expandImports(Arrays.asList(new ImportedLibrary[0]), Arrays.asList(new ImportedBundle[] { bundleImport }), bundleManifest); + handler.expandImports(asList(new ImportedLibrary[0]), singletonList(bundleImport), bundleManifest); verifyMocks(mocks); @@ -237,7 +243,7 @@ @Test(expected = UnableToSatisfyBundleDependenciesException.class) public void importLibraryReferringToNonExistentBundle() throws UnableToSatisfyDependenciesException, IOException { - List<Object> mocks = new ArrayList<Object>(); + List<Object> mocks = new ArrayList<>(); ImportedLibrary libraryImport = createAndStoreMock(ImportedLibrary.class, mocks); @@ -250,14 +256,14 @@ replayMocks(mocks); BundleManifest bundleManifest = BundleManifestFactory.createBundleManifest(new StringReader( - "Manifest-Version: 1.0\nBundle-SymbolicName: test.bundle")); + "Manifest-Version: 1.0\nBundle-SymbolicName: test.bundle")); - handler.expandImports(Arrays.asList(new ImportedLibrary[] { libraryImport }), Arrays.asList(new ImportedBundle[0]), bundleManifest); + handler.expandImports(singletonList(libraryImport), asList(new ImportedBundle[0]), bundleManifest); } @Test public void optionalImportBundle() throws UnableToSatisfyDependenciesException { - List<Object> mocks = new ArrayList<Object>(); + List<Object> mocks = new ArrayList<>(); ImportedBundle bundleImport = createAndStoreMock(ImportedBundle.class, mocks); expect(bundleImport.getBundleSymbolicName()).andReturn("org.springframework.dosnt.exist").atLeastOnce(); @@ -271,18 +277,18 @@ BundleManifest bundleManifest = BundleManifestFactory.createBundleManifest(); - handler.expandImports(Arrays.asList(new ImportedLibrary[0]), Arrays.asList(new ImportedBundle[] { bundleImport }), bundleManifest); + handler.expandImports(asList(new ImportedLibrary[0]), singletonList(bundleImport), bundleManifest); verifyMocks(mocks); - assertTrue("" + bundleManifest.getImportPackage().getImportedPackages().size(), - bundleManifest.getImportPackage().getImportedPackages().size() == 0); + assertEquals("" + bundleManifest.getImportPackage().getImportedPackages().size(), 0, + bundleManifest.getImportPackage().getImportedPackages().size()); } @Test public void optionalImportLibrary() throws UnableToSatisfyDependenciesException { - List<Object> mocks = new ArrayList<Object>(); + List<Object> mocks = new ArrayList<>(); ImportedLibrary libraryImport = createAndStoreMock(ImportedLibrary.class, mocks); @@ -296,17 +302,17 @@ BundleManifest bundleManifest = BundleManifestFactory.createBundleManifest(); - handler.expandImports(Arrays.asList(new ImportedLibrary[] { libraryImport }), Arrays.asList(new ImportedBundle[0]), bundleManifest); + handler.expandImports(singletonList(libraryImport), asList(new ImportedBundle[0]), bundleManifest); verifyMocks(mocks); - assertTrue(bundleManifest.getImportPackage().getImportedPackages().size() == 0); + assertEquals(0, bundleManifest.getImportPackage().getImportedPackages().size()); } @Test(expected = UnableToSatisfyDependenciesException.class) public void optionalImportLibraryException() throws UnableToSatisfyDependenciesException { - List<Object> mocks = new ArrayList<Object>(); + List<Object> mocks = new ArrayList<>(); ImportedLibrary libraryImport = createAndStoreMock(ImportedLibrary.class, mocks); @@ -320,19 +326,17 @@ BundleManifest bundleManifest = BundleManifestFactory.createBundleManifest(); - handler.expandImports(Arrays.asList(new ImportedLibrary[] { libraryImport }), Arrays.asList(new ImportedBundle[0]), bundleManifest); + handler.expandImports(singletonList(libraryImport), asList(new ImportedBundle[0]), bundleManifest); } /** * Test the expansion of the following import: * * Import-Library: com.foo;bundle-version="[1.0,2.0)" - * - * @throws UnableToSatisfyDependenciesException */ @Test public void importLibraryWithFragment() throws UnableToSatisfyDependenciesException { - List<Object> mocks = new ArrayList<Object>(); + List<Object> mocks = new ArrayList<>(); ImportedLibrary libraryImport = createAndStoreMock(ImportedLibrary.class, mocks); expect(libraryImport.getLibrarySymbolicName()).andReturn("com.foo").atLeastOnce(); @@ -344,17 +348,17 @@ replayMocks(mocks); BundleManifest bundleManifest = BundleManifestFactory.createBundleManifest(); - handler.expandImports(Arrays.asList(new ImportedLibrary[] { libraryImport }), Arrays.asList(new ImportedBundle[0]), bundleManifest); + handler.expandImports(singletonList(libraryImport), asList(new ImportedBundle[0]), bundleManifest); verifyMocks(mocks); - assertImported(bundleManifest, Arrays.asList(new String[] { "com.foo.host", "com.foo.host.a", "com.foo.host.b", "com.foo.fragment.two" }), - Arrays.asList(new String[] { "1.5.0", "1.0.0", "1.0.0", "1.0.0" })); + assertImported(bundleManifest, asList("com.foo.host", "com.foo.host.a", "com.foo.host.b", "com.foo.fragment.two"), + asList("1.5.0", "1.0.0", "1.0.0", "1.0.0")); } @Test(expected = UnableToSatisfyDependenciesException.class) public void incompatibleBundleVersions() throws UnableToSatisfyDependenciesException { - List<Object> mocks = new ArrayList<Object>(); + List<Object> mocks = new ArrayList<>(); ImportedLibrary libraryImport1 = createAndStoreMock(ImportedLibrary.class, mocks); expect(libraryImport1.getLibrarySymbolicName()).andReturn("org.springframework").atLeastOnce(); @@ -371,17 +375,13 @@ replayMocks(mocks); BundleManifest bundleManifest = BundleManifestFactory.createBundleManifest(); - try { - handler.expandImports(Arrays.asList(new ImportedLibrary[] { libraryImport1, libraryImport2 }), Arrays.asList(new ImportedBundle[0]), + handler.expandImports(asList(libraryImport1, libraryImport2), asList(new ImportedBundle[0]), bundleManifest); - } catch (UnableToSatisfyDependenciesException e) { - throw e; - } } @Test(expected = UnableToSatisfyDependenciesException.class) public void incompatibleIntersection() throws UnableToSatisfyDependenciesException { - List<Object> mocks = new ArrayList<Object>(); + List<Object> mocks = new ArrayList<>(); ImportedLibrary libraryImport1 = createAndStoreMock(ImportedLibrary.class, mocks); expect(libraryImport1.getLibrarySymbolicName()).andReturn("com.intersect.one").atLeastOnce(); @@ -398,16 +398,13 @@ replayMocks(mocks); BundleManifest bundleManifest = BundleManifestFactory.createBundleManifest(); - try { - handler.expandImports(Arrays.asList(new ImportedLibrary[] { libraryImport1, libraryImport2 }), Arrays.asList(new ImportedBundle[0]), + handler.expandImports(asList(libraryImport1, libraryImport2), asList(new ImportedBundle[0]), bundleManifest); - } catch (UnableToSatisfyDependenciesException e) { - throw e; - } } + @Test(expected = UnableToSatisfyBundleDependenciesException.class) public void disjointImportedPackageAndImportedLibraryVersionRanges() throws UnableToSatisfyDependenciesException, IOException { - List<Object> mocks = new ArrayList<Object>(); + List<Object> mocks = new ArrayList<>(); ImportedLibrary libraryImport = createAndStoreMock(ImportedLibrary.class, mocks); expect(libraryImport.getLibrarySymbolicName()).andReturn("org.springframework").atLeastOnce(); @@ -419,12 +416,14 @@ replayMocks(mocks); BundleManifest bundleManifest = BundleManifestFactory.createBundleManifest(new StringReader( - "Bundle-SymbolicName: B\nImport-Package: org.springframework.core;version=\"[1,2]\"")); - handler.expandImports(Arrays.asList(new ImportedLibrary[] { libraryImport }), Arrays.asList(new ImportedBundle[0]), bundleManifest); + "Bundle-SymbolicName: B\nImport-Package: org.springframework.core;version=\"[1,2]\"")); + handler.expandImports(singletonList(libraryImport), asList(new ImportedBundle[0]), bundleManifest); } + @Test(expected = UnableToSatisfyDependenciesException.class) + // TODO review - this test had a missing @Test annotation public void disjointImportedPackageAndImportedBundleVersionRanges() throws UnableToSatisfyDependenciesException, IOException { - List<Object> mocks = new ArrayList<Object>(); + List<Object> mocks = new ArrayList<>(); ImportedBundle bundleImport = createAndStoreMock(ImportedBundle.class, mocks); expect(bundleImport.getBundleSymbolicName()).andReturn("org.springframework.bundle.spring.core").atLeastOnce(); @@ -437,13 +436,13 @@ replayMocks(mocks); BundleManifest bundleManifest = BundleManifestFactory.createBundleManifest(new StringReader( - "Bundle-SymbolicName: B\nImport-Package: org.springframework.core;version=\"[1,2]\"")); - handler.expandImports(Arrays.asList(new ImportedLibrary[0]), Arrays.asList(new ImportedBundle[] { bundleImport }), bundleManifest); + "Bundle-SymbolicName: B\nImport-Package: org.springframework.core;version=\"[1,2]\"")); + handler.expandImports(asList(new ImportedLibrary[0]), singletonList(bundleImport), bundleManifest); } @Test public void packageImportAndImportedBundleVersionRangeIntersection() throws UnableToSatisfyDependenciesException, IOException { - List<Object> mocks = new ArrayList<Object>(); + List<Object> mocks = new ArrayList<>(); ImportedBundle bundleImport = createAndStoreMock(ImportedBundle.class, mocks); expect(bundleImport.getBundleSymbolicName()).andReturn("org.springframework.core").atLeastOnce(); @@ -456,8 +455,8 @@ replayMocks(mocks); BundleManifest bundleManifest = BundleManifestFactory.createBundleManifest(new StringReader( - "Manifest-Version: 1.0, Bundle-SymbolicName: B\nImport-Package: org.springframework.core;version=\"[4.5,4.6)\"")); - handler.expandImports(Arrays.asList(new ImportedLibrary[0]), Arrays.asList(new ImportedBundle[] { bundleImport }), bundleManifest); + "Manifest-Version: 1.0, Bundle-SymbolicName: B\nImport-Package: org.springframework.core;version=\"[4.5,4.6)\"")); + handler.expandImports(asList(new ImportedLibrary[0]), singletonList(bundleImport), bundleManifest); verifyMocks(mocks); @@ -466,19 +465,19 @@ @Test public void packageImportAndImportedLibraryVersionRangeIntersection() throws UnableToSatisfyDependenciesException, IOException { - List<Object> mocks = new ArrayList<Object>(); + List<Object> mocks = new ArrayList<>(); ImportedLibrary libraryImport = createAndStoreMock(ImportedLibrary.class, mocks); expect(libraryImport.getLibrarySymbolicName()).andReturn("org.springframework").atLeastOnce(); - expect(libraryImport.getVersion()).andReturn(new VersionRange("[4.2,5)")).atLeastOnce(); + expect(libraryImport.getVersion()).andReturn(new VersionRange("[4.3,5)")).atLeastOnce(); ImportExpansionHandler handler = new ImportExpansionHandler(repository, packagesExportedBySystemBundle, new MockEventLogger()); replayMocks(mocks); BundleManifest bundleManifest = BundleManifestFactory.createBundleManifest(new StringReader( - "Manifest-Version: 1.0\nBundle-SymbolicName: B\nImport-Package: org.springframework.core;version=\"[4.5,4.6)\"")); - handler.expandImports(Arrays.asList(new ImportedLibrary[] { libraryImport }), Arrays.asList(new ImportedBundle[0]), bundleManifest); + "Manifest-Version: 1.0\nBundle-SymbolicName: B\nImport-Package: org.springframework.core;version=\"[4.5,4.6)\"")); + handler.expandImports(singletonList(libraryImport), asList(new ImportedBundle[0]), bundleManifest); verifyMocks(mocks); @@ -487,7 +486,7 @@ @Test(expected = UnableToSatisfyDependenciesException.class) public void disjointImportedBundleVersionRangeIntersection() throws UnableToSatisfyDependenciesException { - List<Object> mocks = new ArrayList<Object>(); + List<Object> mocks = new ArrayList<>(); ImportedBundle bundleImport1 = createAndStoreMock(ImportedBundle.class, mocks); expect(bundleImport1.getBundleSymbolicName()).andReturn("org.springframework.core").atLeastOnce(); @@ -507,17 +506,13 @@ BundleManifest bundleManifest = BundleManifestFactory.createBundleManifest(); - try { - handler.expandImports(Arrays.asList(new ImportedLibrary[0]), Arrays.asList(new ImportedBundle[] { bundleImport1, bundleImport2 }), + handler.expandImports(asList(new ImportedLibrary[0]), asList(bundleImport1, bundleImport2), bundleManifest); - } catch (UnableToSatisfyDependenciesException utsde) { - throw utsde; - } } @Test public void overlappingBundleAndImportedLibrarys() throws UnableToSatisfyDependenciesException { - List<Object> mocks = new ArrayList<Object>(); + List<Object> mocks = new ArrayList<>(); ImportedBundle bundleImport = createAndStoreMock(ImportedBundle.class, mocks); expect(bundleImport.getBundleSymbolicName()).andReturn("org.springframework.core").atLeastOnce(); @@ -536,13 +531,13 @@ BundleManifest bundleManifest = BundleManifestFactory.createBundleManifest(); - handler.expandImports(Arrays.asList(new ImportedLibrary[] { libraryImport }), Arrays.asList(new ImportedBundle[] { bundleImport }), - bundleManifest); + handler.expandImports(singletonList(libraryImport), singletonList(bundleImport), + bundleManifest); } @Test public void importBundleWithNoExports() throws UnableToSatisfyDependenciesException { - List<Object> mocks = new ArrayList<Object>(); + List<Object> mocks = new ArrayList<>(); ImportedBundle bundleImport = createAndStoreMock(ImportedBundle.class, mocks); expect(bundleImport.getBundleSymbolicName()).andReturn("silht.bundles.noexports").atLeastOnce(); @@ -555,12 +550,12 @@ replayMocks(mocks); BundleManifest bundleManifest = BundleManifestFactory.createBundleManifest(); - handler.expandImports(Arrays.asList(new ImportedLibrary[0]), Arrays.asList(new ImportedBundle[] { bundleImport }), bundleManifest); + handler.expandImports(asList(new ImportedLibrary[0]), singletonList(bundleImport), bundleManifest); } @Test public void importBundleWithFragmentWithNoExports() throws UnableToSatisfyDependenciesException { - List<Object> mocks = new ArrayList<Object>(); + List<Object> mocks = new ArrayList<>(); ImportedBundle hostImportedBundle = createAndStoreMock(ImportedBundle.class, mocks); expect(hostImportedBundle.getBundleSymbolicName()).andReturn("silht.bundles.noexports").atLeastOnce(); @@ -579,36 +574,36 @@ replayMocks(mocks); BundleManifest bundleManifest = BundleManifestFactory.createBundleManifest(); - handler.expandImports(Arrays.asList(new ImportedLibrary[0]), - Arrays.asList(new ImportedBundle[] { hostImportedBundle, fragmentImportedBundle }), bundleManifest); - assertTrue(bundleManifest.getImportPackage().getImportedPackages().size() == 0); + handler.expandImports(asList(new ImportedLibrary[0]), + asList(hostImportedBundle, fragmentImportedBundle), bundleManifest); + assertEquals(0, bundleManifest.getImportPackage().getImportedPackages().size()); } @Test public void importBundleBetweenManifests() throws Exception { - List<BundleManifest> manifests = new ArrayList<BundleManifest>(); + List<BundleManifest> manifests = new ArrayList<>(); BundleManifest manifest = BundleManifestFactory.createBundleManifest(new StringReader("Manifest-Version: 1.0\nImport-Bundle: com.foo")); manifests.add(manifest); manifests.add(BundleManifestFactory.createBundleManifest(new StringReader( - "Manifest-Version: 1.0\nExport-Package: com.foo;version=1.0\nBundle-SymbolicName: com.foo\n"))); + "Manifest-Version: 1.0\nExport-Package: com.foo;version=1.0\nBundle-SymbolicName: com.foo\n"))); ImportExpansionHandler handler = new ImportExpansionHandler(this.repository, packagesExportedBySystemBundle, new MockEventLogger()); handler.expandImports(manifests); - assertImported(manifest, Arrays.asList(new String[] { "com.foo" }), Arrays.asList(new String[] { "1.0.0" })); + assertImported(manifest, singletonList("com.foo"), singletonList("1.0.0")); } @Test public void importBundleExportingPackagesExportedBySystemBundle() throws Exception { - List<BundleManifest> manifests = new ArrayList<BundleManifest>(); + List<BundleManifest> manifests = new ArrayList<>(); BundleManifest manifest = BundleManifestFactory.createBundleManifest(new StringReader("Manifest-Version: 1.0\nImport-Bundle: overlapper")); manifests.add(manifest); MockEventLogger eventLogger = new MockEventLogger(); ImportExpansionHandler handler = new ImportExpansionHandler(this.repository, packagesExportedBySystemBundle, eventLogger); handler.expandImports(manifests); - assertImported(manifest, Arrays.asList(new String[] { "javax.crypto.spec", "javax.imageio", "javax.imageio.event", "overlapper.pkg" }), - Arrays.asList(new String[] { "0.0.0", "0.0.0", "0.0.0", "0.0.0" })); + assertImported(manifest, asList("javax.crypto.spec", "javax.imageio", "javax.imageio.event", "overlapper.pkg"), + asList("0.0.0", "0.0.0", "0.0.0", "0.0.0")); Assert.assertTrue("No events were logged.", eventLogger.getCalled()); Assert.assertTrue("The correct event was not logged.", eventLogger.containsLogged("UR0003W")); @@ -621,16 +616,14 @@ Assert.assertTrue("Insert at index 2 is not a String", overlap instanceof String); String overlapString = (String)overlap; String[] splitOverlap = overlapString.substring(1, overlapString.length()-1).split(", "); - Set<String> overlapSet = new HashSet<String>(); - for (String pkg : splitOverlap) { - overlapSet.add(pkg); - } + Set<String> overlapSet = new HashSet<>(); + Collections.addAll(overlapSet, splitOverlap); Assert.assertEquals("Unexpected overlap with system bundle exports", packagesExportedBySystemBundle, overlapSet); } @Test public void importLibraryThatImportsMissingOptionalBundle() throws Exception { - List<Object> mocks = new ArrayList<Object>(); + List<Object> mocks = new ArrayList<>(); ImportedLibrary libraryImport = createAndStoreMock(ImportedLibrary.class, mocks); @@ -644,7 +637,7 @@ BundleManifest bundleManifest = BundleManifestFactory.createBundleManifest(); - handler.expandImports(Arrays.asList(new ImportedLibrary[] { libraryImport }), Arrays.asList(new ImportedBundle[0]), bundleManifest); + handler.expandImports(singletonList(libraryImport), asList(new ImportedBundle[0]), bundleManifest); verifyMocks(mocks); @@ -653,7 +646,7 @@ @Test public void importBundleThatExportsPackageAtMultipleVersions() throws UnableToSatisfyDependenciesException { - List<Object> mocks = new ArrayList<Object>(); + List<Object> mocks = new ArrayList<>(); ImportedBundle bundleImport = createAndStoreMock(ImportedBundle.class, mocks); expect(bundleImport.getBundleSymbolicName()).andReturn("multi.version.export").atLeastOnce(); @@ -667,11 +660,11 @@ BundleManifest bundleManifest = BundleManifestFactory.createBundleManifest(); - handler.expandImports(Arrays.asList(new ImportedLibrary[0]), Arrays.asList(new ImportedBundle[] { bundleImport }), bundleManifest); + handler.expandImports(asList(new ImportedLibrary[0]), singletonList(bundleImport), bundleManifest); verifyMocks(mocks); - assertImported(bundleManifest, Arrays.asList(new String[] { "a" }), Arrays.asList(new String[] { "1.0.0" })); + assertImported(bundleManifest, singletonList("a"), singletonList("1.0.0")); } private static <T> T createAndStoreMock(Class<T> classToMock, List<Object> mocks) { @@ -681,19 +674,19 @@ } private static void replayMocks(List<Object> mocks) { - Object[] mocksArray = mocks.toArray(new Object[mocks.size()]); + Object[] mocksArray = mocks.toArray(new Object[0]); replay(mocksArray); } private static void verifyMocks(List<Object> mocks) { - Object[] mocksArray = mocks.toArray(new Object[mocks.size()]); + Object[] mocksArray = mocks.toArray(new Object[0]); verify(mocksArray); } private static void assertImported(BundleManifest bundleManifest, List<String> packages, List<String> versions) { List<ImportedPackage> packageImports = bundleManifest.getImportPackage().getImportedPackages(); - List<String> expectedPackages = new ArrayList<String>(packages); - List<String> expectedVersions = new ArrayList<String>(versions); + List<String> expectedPackages = new ArrayList<>(packages); + List<String> expectedVersions = new ArrayList<>(versions); for (ImportedPackage packageImport : packageImports) { String packageName = packageImport.getPackageName(); @@ -711,13 +704,13 @@ if (expectedPackages.size() > 0) { fail("No import(s) were found for package(s) " + expectedPackages + " with version(s) " + expectedVersions + " in manifest: \n" - + bundleManifest); + + bundleManifest); } } private static final class StubRepository implements Repository { - private final List<RepositoryAwareArtifactDescriptor> artifactDescriptors = new ArrayList<RepositoryAwareArtifactDescriptor>(); + private final List<RepositoryAwareArtifactDescriptor> artifactDescriptors = new ArrayList<>(); /** * {@inheritDoc} @@ -771,9 +764,6 @@ private final ArtifactDescriptor delegate; - /** - * @param delegate - */ private StubRepositoryAwareArtifactDescriptor(ArtifactDescriptor delegate) { this.delegate = delegate; }
diff --git a/org.eclipse.virgo.kernel.userregion/src/test/resources/silht/libraries/spring.libd b/org.eclipse.virgo.kernel.userregion/src/test/resources/silht/libraries/spring.libd index 0a8bfd6..c2c261b 100644 --- a/org.eclipse.virgo.kernel.userregion/src/test/resources/silht/libraries/spring.libd +++ b/org.eclipse.virgo.kernel.userregion/src/test/resources/silht/libraries/spring.libd
@@ -1,4 +1,4 @@ Library-SymbolicName: org.springframework -Library-Version: 4.2.9 -Import-Bundle: org.springframework.core;version="[4.2.9.RELEASE,4.2.9.RELEASE]", - org.springframework.beans;version="[4.2.9.RELEASE,4.2.9.RELEASE]" +Library-Version: 4.3.9 +Import-Bundle: org.springframework.core;version="[4.3.9.RELEASE,4.3.9.RELEASE]", + org.springframework.beans;version="[4.3.9.RELEASE,4.3.9.RELEASE]"