Package org.osgi.resource

Examples of org.osgi.resource.Requirement


            }

            // Copy candidates for fragment requirements to the host.
            for (Requirement r : hostResource.getRequirements(null))
            {
                Requirement origReq = ((WrappedRequirement) r).getDeclaredRequirement();
                List<Capability> cands = m_candidateMap.get(origReq);
                if (cands != null)
                {
                    m_candidateMap.put(r, new ArrayList<Capability>(cands));
                    for (Capability cand : cands)
View Full Code Here


    {
        Map<Capability, Map<String, Map<Version, List<Requirement>>>> hostFragments =
            new HashMap<Capability, Map<String, Map<Version, List<Requirement>>>>();
        for (Entry<Requirement, List<Capability>> entry : m_candidateMap.entrySet())
        {
            Requirement req = entry.getKey();
            List<Capability> caps = entry.getValue();
            for (Capability cap : caps)
            {
                // Record the requirement as dependent on the capability.
                Set<Requirement> dependents = m_dependentMap.get(cap);
                if (dependents == null)
                {
                    dependents = new HashSet<Requirement>();
                    m_dependentMap.put(cap, dependents);
                }
                dependents.add(req);

                // Keep track of hosts and associated fragments.
                if (req.getNamespace().equals(HostNamespace.HOST_NAMESPACE))
                {
                    String resSymName = Util.getSymbolicName(req.getResource());
                    Version resVersion = Util.getVersion(req.getResource());

                    Map<String, Map<Version, List<Requirement>>> fragments = hostFragments.get(cap);
                    if (fragments == null)
                    {
                        fragments = new HashMap<String, Map<Version, List<Requirement>>>();
View Full Code Here

import org.osgi.resource.Namespace;
import org.osgi.resource.Requirement;
public class OsgiRequirementAdapterTest {
  @Test
  public void testGetNameBundle() {
    Requirement req = EasyMock.createNiceMock(Requirement.class);
    EasyMock.expect(req.getNamespace()).andReturn(BundleNamespace.BUNDLE_NAMESPACE);
    EasyMock.replay(req);
    OsgiRequirementAdapter adapter = new OsgiRequirementAdapter(req);
    assertEquals("Wrong name", Capability.BUNDLE, adapter.getName());
  }
View Full Code Here

    assertEquals("Wrong name", Capability.BUNDLE, adapter.getName());
  }
 
  @Test
  public void testGetNamePackage() {
    Requirement req = EasyMock.createNiceMock(Requirement.class);
    EasyMock.expect(req.getNamespace()).andReturn(PackageNamespace.PACKAGE_NAMESPACE);
    EasyMock.replay(req);
    OsgiRequirementAdapter adapter = new OsgiRequirementAdapter(req);
    assertEquals("Wrong name", Capability.PACKAGE, adapter.getName());
  }
View Full Code Here

    assertEquals("Wrong name", Capability.PACKAGE, adapter.getName());
  }
 
  @Test
  public void testGetNameService() {
    Requirement req = EasyMock.createNiceMock(Requirement.class);
    EasyMock.expect(req.getNamespace()).andReturn(ServiceNamespace.SERVICE_NAMESPACE);
    EasyMock.replay(req);
    OsgiRequirementAdapter adapter = new OsgiRequirementAdapter(req);
    assertEquals("Wrong name", Capability.SERVICE, adapter.getName());
  }
View Full Code Here

    assertEquals("Wrong name", Capability.SERVICE, adapter.getName());
  }
 
  @Test
  public void testIsMultipleFalse() {
    Requirement req = EasyMock.createNiceMock(Requirement.class);
    Map<String, String> directives = new HashMap<String, String>();
    directives.put(Namespace.REQUIREMENT_CARDINALITY_DIRECTIVE, Namespace.CARDINALITY_SINGLE);
    EasyMock.expect(req.getDirectives()).andReturn(directives);
    EasyMock.replay(req);
    OsgiRequirementAdapter adapter = new OsgiRequirementAdapter(req);
    assertFalse("Requirement was multiple", adapter.isMultiple());
  }
View Full Code Here

    assertFalse("Requirement was multiple", adapter.isMultiple());
  }
 
  @Test
  public void testIsMultipleTrue() {
    Requirement req = EasyMock.createNiceMock(Requirement.class);
    Map<String, String> directives = new HashMap<String, String>();
    directives.put(Namespace.REQUIREMENT_CARDINALITY_DIRECTIVE, Namespace.CARDINALITY_MULTIPLE);
    EasyMock.expect(req.getDirectives()).andReturn(directives);
    EasyMock.replay(req);
    OsgiRequirementAdapter adapter = new OsgiRequirementAdapter(req);
    assertTrue("Requirement was not multiple", adapter.isMultiple());
  }
View Full Code Here

  private void computeContentResources(SubsystemManifest manifest) throws BundleException, IOException, InvalidSyntaxException, URISyntaxException {
    SubsystemContentHeader contentHeader = manifest.getSubsystemContentHeader();
    if (contentHeader == null)
      return;
    for (SubsystemContentHeader.Clause clause : contentHeader.getClauses()) {
      Requirement requirement = clause.toRequirement(this);
      Resource resource = findContent(requirement);
      if (resource == null) {
        if (clause.isMandatory())
          throw new SubsystemException("Resource does not exist: "+ requirement);
        continue;
View Full Code Here

  public boolean equals(Object o) {
    if (o == this)
      return true;
    if (!(o instanceof Requirement))
      return false;
    Requirement c = (Requirement)o;
    return c.getNamespace().equals(getNamespace())
        && c.getAttributes().equals(getAttributes())
        && c.getDirectives().equals(getDirectives())
        && c.getResource() != null ? c.getResource().equals(
        getResource()) : getResource() == null;
  }
View Full Code Here

        .attribute(PackageNamespace.PACKAGE_NAMESPACE, "com.foo")
        .attribute("a", "b")
        .attribute("b", "c")
        .attribute("c", "d")
        .resource(EasyMock.createNiceMock(Resource.class)).build();
    Requirement req = new BasicRequirement.Builder()
        .namespace(PackageNamespace.PACKAGE_NAMESPACE)
        .directive(PackageNamespace.REQUIREMENT_FILTER_DIRECTIVE,
            "(&(osgi.wiring.package=com.foo)(a=b)(b=c))")
        .resource(EasyMock.createNiceMock(Resource.class)).build();
    assertTrue("Capability should match requirement", ResourceHelper.matches(req, cap));
View Full Code Here

TOP

Related Classes of org.osgi.resource.Requirement

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.