Package org.osgi.service.indexer

Examples of org.osgi.service.indexer.Builder


        optional = true;

      StringBuilder filter = new StringBuilder();
      filter.append('(').append(Constants.OBJECTCLASS).append('=').append(service).append(')');

      Builder builder = new Builder().setNamespace(Namespaces.NS_SERVICE).addDirective(Namespaces.DIRECTIVE_FILTER, filter.toString())
          .addDirective(Namespaces.DIRECTIVE_EFFECTIVE, Namespaces.EFFECTIVE_ACTIVE);
      if (optional)
        builder.addDirective(Namespaces.DIRECTIVE_RESOLUTION, Constants.RESOLUTION_OPTIONAL);
      reqs.add(builder.buildRequirement());
    }
  }
View Full Code Here


        }
        builder.append(')');
        filter = builder.toString();
      }

      Requirement requirement = new Builder().setNamespace(Namespaces.NS_EE).addDirective(Namespaces.DIRECTIVE_FILTER, filter).buildRequirement();
      reqs.add(requirement);
    }
  }
View Full Code Here

        builder.append(option);
      builder.append(")");
      filter = builder.toString();
    }

    Builder builder = new Builder().setNamespace(Namespaces.NS_NATIVE).addDirective(Namespaces.DIRECTIVE_FILTER, filter);
    if (optional)
      builder.addDirective(Namespaces.DIRECTIVE_RESOLUTION, Namespaces.RESOLUTION_OPTIONAL);
    reqs.add(builder.buildRequirement());
  }
View Full Code Here

      return;
    Map<String, Map<String, String>> header = OSGiHeader.parseHeader(headerStr);

    for (Entry<String, Map<String, String>> entry : header.entrySet()) {
      String namespace = OSGiHeader.removeDuplicateMarker(entry.getKey());
      Builder builder = new Builder().setNamespace(namespace);

      Map<String, String> attribs = entry.getValue();
      Util.copyAttribsToBuilder(builder, attribs);
      output.yield(builder);
    }
View Full Code Here

      return null;
    }
  }

  private static Requirement createRequirement(VersionRange range) {
    Builder builder = new Builder().setNamespace(Namespaces.NS_EXTENDER);

    StringBuilder filter = new StringBuilder();
    filter.append('(').append(Namespaces.NS_EXTENDER).append('=').append(Namespaces.EXTENDER_SCR).append(')');

    filter.insert(0, "(&");
    Util.addVersionFilter(filter, range, VersionKey.PackageVersion);
    filter.append(')');

    builder.addDirective(Namespaces.DIRECTIVE_FILTER, filter.toString()).addDirective(Namespaces.DIRECTIVE_EFFECTIVE, Namespaces.EFFECTIVE_ACTIVE);
    Requirement requirement = builder.buildRequirement();
    return requirement;
  }
View Full Code Here

        currentPropertyText = null;
      }

      if (ELEMENT_COMPONENT.equals(localNameLowerCase)) {
        if (provides != null && !provides.isEmpty()) {
          Builder builder = new Builder().setNamespace(Namespaces.NS_SERVICE);
          builder.addAttribute(Constants.OBJECTCLASS, provides);
          for (Entry<String, Object> entry : properties.entrySet()) {
            builder.addAttribute(entry.getKey(), entry.getValue());
          }

          StringBuilder uses = new StringBuilder();
          boolean first = true;
          for (String objectClass : provides) {
            if (!first)
              uses.append(',');
            first = false;

            int dotindex = objectClass.lastIndexOf('.');
            if (dotindex < 0)
              throw new SAXException("Service interface in default package.");
            String pkgName = objectClass.substring(0, dotindex);
            uses.append(pkgName);
          }
          builder.addDirective(Constants.USES_DIRECTIVE, uses.toString());

          caps.add(builder.buildCapability());
        }

        if (references != null && !references.isEmpty()) {
          reqs.addAll(references);
        }
View Full Code Here

      String interfaceClass = attribs.getValue(ATTRIB_INTERFACE);
      if (interfaceClass == null || interfaceClass.length() == 0) {
        throw new SAXException("Missing required " + ATTRIB_INTERFACE + " attribute");
      }

      Builder builder = new Builder().setNamespace(Namespaces.NS_SERVICE);

      String filter;
      String target = attribs.getValue(ATTRIB_TARGET);
      if (target != null)
        filter = String.format("(&(%s=%s)%s)", Constants.OBJECTCLASS, interfaceClass, target);
      else
        filter = String.format("(%s=%s)", Constants.OBJECTCLASS, interfaceClass);
      builder.addDirective(Namespaces.DIRECTIVE_FILTER, filter);

      String cardinality = attribs.getValue(ATTRIB_CARDINALITY);
      if (cardinality != null) {
        cardinality = cardinality.trim().toLowerCase();
        if (cardinality.length() > 0) {
          if ('0' == cardinality.charAt(0))
            builder.addDirective(Namespaces.DIRECTIVE_RESOLUTION, Namespaces.RESOLUTION_OPTIONAL);
          if ('n' == cardinality.charAt(cardinality.length() - 1))
            builder.addDirective(Namespaces.DIRECTIVE_CARDINALITY, Namespaces.CARDINALITY_MULTIPLE);
        }
      }

      builder.addDirective(Namespaces.DIRECTIVE_EFFECTIVE, Namespaces.EFFECTIVE_ACTIVE);
      return builder.buildRequirement();
    }
View Full Code Here

    SymbolicName bsn = Util.getSymbolicName(resource);
    boolean singleton = Boolean.TRUE.toString().equalsIgnoreCase(bsn.getAttributes().get(Constants.SINGLETON_DIRECTIVE + ":"));

    Version version = Util.getVersion(resource);

    Builder builder = new Builder().setNamespace(Namespaces.NS_IDENTITY).addAttribute(Namespaces.NS_IDENTITY, bsn.getName()).addAttribute(Namespaces.ATTR_IDENTITY_TYPE, type)
        .addAttribute(Namespaces.ATTR_VERSION, version);
    if (singleton)
      builder.addDirective(Namespaces.DIRECTIVE_SINGLETON, Boolean.TRUE.toString());
    caps.add(builder.buildCapability());
  }
View Full Code Here

      } catch (Exception e) {
        version = null;
      }
    }

    Builder builder = new Builder().setNamespace(Namespaces.NS_IDENTITY).addAttribute(Namespaces.NS_IDENTITY, name)
        .addAttribute(Namespaces.ATTR_IDENTITY_TYPE, Namespaces.RESOURCE_TYPE_PLAIN_JAR);
    if (version != null)
      builder.addAttribute(Namespaces.ATTR_VERSION, version);
    caps.add(builder.buildCapability());
  }
View Full Code Here

  private GeneratorState getStateLocal() {
    return state.get();
  }

  private void doContent(Resource resource, MimeType mimeType, List<? super Capability> capabilities) throws Exception {
    Builder builder = new Builder().setNamespace(Namespaces.NS_CONTENT);

    String sha = calculateSHA(resource);
    builder.addAttribute(Namespaces.NS_CONTENT, sha);

    String location = calculateLocation(resource);
    builder.addAttribute(Namespaces.ATTR_CONTENT_URL, location);

    long size = resource.getSize();
    if (size > 0L)
      builder.addAttribute(Namespaces.ATTR_CONTENT_SIZE, size);

    builder.addAttribute(Namespaces.ATTR_CONTENT_MIME, mimeType.toString());

    capabilities.add(builder.buildCapability());
  }
View Full Code Here

TOP

Related Classes of org.osgi.service.indexer.Builder

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.