Search in sources :

Example 1 with CapabilityRefDTO

use of org.osgi.resource.dto.CapabilityRefDTO in project felix by apache.

the class DTOFactory method createBundleWiringNodeDTO.

private static void createBundleWiringNodeDTO(BundleWiring bw, Set<BundleRevisionDTO> resources, Set<NodeDTO> nodes) {
    NodeDTO node = new BundleWiringDTO.NodeDTO();
    node.id = getWiringID(bw);
    addNodeDTO(node, nodes);
    node.current = bw.isCurrent();
    node.inUse = bw.isInUse();
    node.resource = getResourceIDAndAdd(bw.getResource(), resources);
    node.capabilities = new ArrayList<CapabilityRefDTO>();
    for (Capability cap : bw.getCapabilities(null)) {
        CapabilityRefDTO cdto = new CapabilityRefDTO();
        cdto.capability = getCapabilityID(cap);
        cdto.resource = getResourceIDAndAdd(cap.getResource(), resources);
        node.capabilities.add(cdto);
    }
    node.requirements = new ArrayList<RequirementRefDTO>();
    for (Requirement req : bw.getRequirements(null)) {
        RequirementRefDTO rdto = new RequirementRefDTO();
        rdto.requirement = getRequirementID(req);
        rdto.resource = getResourceIDAndAdd(req.getResource(), resources);
        node.requirements.add(rdto);
    }
    node.providedWires = new ArrayList<WireDTO>();
    for (Wire pw : bw.getProvidedWires(null)) {
        node.providedWires.add(createBundleWireDTO(pw, resources, nodes));
    }
    node.requiredWires = new ArrayList<WireDTO>();
    for (Wire rw : bw.getRequiredWires(null)) {
        node.requiredWires.add(createBundleWireDTO(rw, resources, nodes));
    }
}
Also used : Requirement(org.osgi.resource.Requirement) CapabilityRefDTO(org.osgi.resource.dto.CapabilityRefDTO) Capability(org.osgi.resource.Capability) RequirementRefDTO(org.osgi.resource.dto.RequirementRefDTO) BundleWireDTO(org.osgi.framework.wiring.dto.BundleWireDTO) WireDTO(org.osgi.resource.dto.WireDTO) Wire(org.osgi.resource.Wire) BundleWire(org.osgi.framework.wiring.BundleWire) NodeDTO(org.osgi.framework.wiring.dto.BundleWiringDTO.NodeDTO)

Example 2 with CapabilityRefDTO

use of org.osgi.resource.dto.CapabilityRefDTO in project felix by apache.

the class DTOFactory method createBundleWireDTO.

private static BundleWireDTO createBundleWireDTO(Wire wire, Set<BundleRevisionDTO> resources, Set<NodeDTO> nodes) {
    BundleWireDTO wdto = new BundleWireDTO();
    if (wire instanceof BundleWire) {
        BundleWire w = (BundleWire) wire;
        BundleWiring pw = w.getProviderWiring();
        addWiringNodeIfNotPresent(pw, resources, nodes);
        wdto.providerWiring = getWiringID(pw);
        BundleWiring rw = w.getRequirerWiring();
        addWiringNodeIfNotPresent(rw, resources, nodes);
        wdto.requirerWiring = getWiringID(rw);
    }
    wdto.provider = getResourceIDAndAdd(wire.getProvider(), resources);
    wdto.requirer = getResourceIDAndAdd(wire.getRequirer(), resources);
    wdto.capability = new CapabilityRefDTO();
    wdto.capability.capability = getCapabilityID(wire.getCapability());
    wdto.capability.resource = getResourceIDAndAdd(wire.getCapability().getResource(), resources);
    wdto.requirement = new RequirementRefDTO();
    wdto.requirement.requirement = getRequirementID(wire.getRequirement());
    wdto.requirement.resource = getResourceIDAndAdd(wire.getRequirement().getResource(), resources);
    return wdto;
}
Also used : CapabilityRefDTO(org.osgi.resource.dto.CapabilityRefDTO) BundleWiring(org.osgi.framework.wiring.BundleWiring) RequirementRefDTO(org.osgi.resource.dto.RequirementRefDTO) BundleWireDTO(org.osgi.framework.wiring.dto.BundleWireDTO) BundleWire(org.osgi.framework.wiring.BundleWire)

Aggregations

BundleWire (org.osgi.framework.wiring.BundleWire)2 BundleWireDTO (org.osgi.framework.wiring.dto.BundleWireDTO)2 CapabilityRefDTO (org.osgi.resource.dto.CapabilityRefDTO)2 RequirementRefDTO (org.osgi.resource.dto.RequirementRefDTO)2 BundleWiring (org.osgi.framework.wiring.BundleWiring)1 NodeDTO (org.osgi.framework.wiring.dto.BundleWiringDTO.NodeDTO)1 Capability (org.osgi.resource.Capability)1 Requirement (org.osgi.resource.Requirement)1 Wire (org.osgi.resource.Wire)1 WireDTO (org.osgi.resource.dto.WireDTO)1