public void testMandatoryPackages() throws Exception { RepositoryAdminImpl repoAdmin = createRepositoryAdmin(); repoAdmin.addRepository(getClass().getResource("/repo_for_mandatory.xml")); Resolver resolver = repoAdmin.resolver(); resolver.add(repoAdmin.getHelper().requirement("bundle", "(symbolicname=res2)")); assertFalse(resolver.resolve()); resolver = repoAdmin.resolver(); resolver.add(repoAdmin.getHelper().requirement("bundle", "(symbolicname=res3)")); assertTrue(resolver.resolve()); resolver = repoAdmin.resolver(); resolver.add(repoAdmin.getHelper().requirement("bundle", "(symbolicname=res4)")); assertFalse(resolver.resolve()); }
public void testResolveReq() throws Exception { RepositoryAdminImpl repoAdmin = createRepositoryAdmin(); repoAdmin.addRepository(getClass().getResource("/repo_for_resolvertest.xml")); Resolver resolver = repoAdmin.resolver(); resolver.add( repoAdmin.getHelper().requirement("package", "(package=org.apache.felix.test.osgi)")); assertTrue(resolver.resolve()); }
public void testOptionalResolution() throws Exception { RepositoryAdminImpl repoAdmin = createRepositoryAdmin(); repoAdmin.addRepository(getClass().getResource("/repo_for_optional_resources.xml")); Resolver resolver = repoAdmin.resolver(); resolver.add(repoAdmin.getHelper().requirement("bundle", "(symbolicname=res1)")); assertTrue(resolver.resolve()); assertEquals(1, resolver.getRequiredResources().length); assertEquals(2, resolver.getOptionalResources().length); }
public void testMatchingReq() throws Exception { RepositoryAdminImpl repoAdmin = createRepositoryAdmin(); repoAdmin.addRepository(getClass().getResource("/repo_for_resolvertest.xml")); Resource[] res = repoAdmin.discoverResources( new Requirement[] { repoAdmin.getHelper().requirement("package", "(package=org.apache.felix.test.osgi)") }); assertNotNull(res); assertEquals(1, res.length); }
public void testResolveInterrupt() throws Exception { RepositoryAdminImpl repoAdmin = createRepositoryAdmin(); repoAdmin.addRepository(getClass().getResource("/repo_for_resolvertest.xml")); Resolver resolver = repoAdmin.resolver(); resolver.add( repoAdmin.getHelper().requirement("package", "(package=org.apache.felix.test.osgi)")); Thread.currentThread().interrupt(); try { resolver.resolve(); fail("An excepiton should have been thrown"); } catch (org.apache.felix.bundlerepository.InterruptedResolutionException e) { // ok } }