Пример #1
0
  public void testUnresolved() throws ResolutionException {
    Repository repo = ws.getPlugin(Repository.class);

    BndEditModel model = new BndEditModel();
    model.setRunFw("org.apache.felix.framework");

    List<Requirement> requires = new ArrayList<Requirement>();
    CapReqBuilder capReq =
        CapReqBuilder.createBundleRequirement("org.apache.felix.webconsole", "[4,5)");
    requires.add(capReq.buildSyntheticRequirement());

    Map<Requirement, Collection<Capability>> shell = repo.findProviders(requires);
    assertNotNull(shell);
    assertEquals(1, shell.size());

    model.setRunRequires(requires);
    BndrunResolveContext context = new BndrunResolveContext(model, ws, log);

    Resolver resolver = new BndResolver(new org.apache.felix.resolver.Logger(4));

    try {
      Map<Resource, List<Wire>> resolved = resolver.resolve(context);
      fail("Resolve did not fail");
    } catch (ResolutionException e) {
      assertEquals(1, e.getUnresolvedRequirements().size());
      ResolutionException augmented = ResolveProcess.augment(context, e);
      assertEquals(2, augmented.getUnresolvedRequirements().size());
    }
  }
Пример #2
0
  public void testSimpleResolve() {
    Repository repo = ws.getPlugin(Repository.class);

    BndEditModel model = new BndEditModel();
    model.setRunFw("org.apache.felix.framework");

    List<Requirement> requires = new ArrayList<Requirement>();
    CapReqBuilder capReq =
        CapReqBuilder.createBundleRequirement("org.apache.felix.gogo.shell", "[0,1)");
    requires.add(capReq.buildSyntheticRequirement());

    Map<Requirement, Collection<Capability>> shell = repo.findProviders(requires);
    assertNotNull(shell);
    assertEquals(1, shell.size());

    model.setRunRequires(requires);
    BndrunResolveContext context = new BndrunResolveContext(model, ws, log);

    Resolver resolver = new BndResolver(new org.apache.felix.resolver.Logger(4));

    try {
      Map<Resource, List<Wire>> resolved = resolver.resolve(context);
      Set<Resource> resources = resolved.keySet();
      Resource resource = getResource(resources, "org.apache.felix.gogo.runtime", "0.12");
      assertNotNull(resource);
    } catch (ResolutionException e) {
      fail("Resolve failed");
    }
  }