Package org.osgi.service.indexer

Examples of org.osgi.service.indexer.Builder


        filter.insert(0, "(&");
        Util.addVersionFilter(filter, version, VersionKey.BundleVersion);
        filter.append(")");
      }
     
      Builder builder = new Builder()
        .setNamespace(Namespaces.NS_WIRING_BUNDLE)
        .addDirective(Namespaces.DIRECTIVE_FILTER, filter.toString());
     
      reqs.add(builder.buildRequirement());
    }
  }
View Full Code Here


      String versionStr = entry.getValue().get(Constants.BUNDLE_VERSION_ATTRIBUTE);
      VersionRange version = versionStr != null ? new VersionRange(versionStr) : new VersionRange(Version.emptyVersion.toString());
      Util.addVersionFilter(filter, version, VersionKey.BundleVersion);
      filter.append(")");
     
      Builder builder = new Builder()
        .setNamespace(Namespaces.NS_WIRING_HOST)
        .addDirective(Namespaces.DIRECTIVE_FILTER, filter.toString());
     
      reqs.add(builder.buildRequirement());
    }
  }
View Full Code Here

    String exportsStr = resource.getManifest().getMainAttributes().getValue(Constants.EXPORT_SERVICE);
    Map<String, Map<String, String>> exports = OSGiHeader.parseHeader(exportsStr);
   
    for (Entry<String, Map<String, String>> export : exports.entrySet()) {
      String service = OSGiHeader.removeDuplicateMarker(export.getKey());
      Builder builder = new Builder()
          .setNamespace(Namespaces.NS_WIRING_SERVICE)
          .addAttribute(Namespaces.NS_WIRING_SERVICE, service);
      caps.add(builder.buildCapability());
    }
  }
View Full Code Here

    for (Entry<String, Map<String, String>> imp : imports.entrySet()) {
      String service = OSGiHeader.removeDuplicateMarker(imp.getKey());
      StringBuilder filter = new StringBuilder();
      filter.append('(').append(Namespaces.NS_WIRING_SERVICE).append('=').append(service).append(')');
     
      Builder builder = new Builder()
        .setNamespace(Namespaces.NS_WIRING_SERVICE)
        .addDirective(Namespaces.DIRECTIVE_FILTER, filter.toString())
        .addDirective(Namespaces.DIRECTIVE_EFFECTIVE, Namespaces.EFFECTIVE_ACTIVE);
      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

    if (headerStr == null) 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

  }

  public void analyzeResource(Resource resource, List<Capability> caps, List<Requirement> reqs) throws Exception {
    Resource fwkFactorySvc = resource.getChild(SERVICE_FRAMEWORK_FACTORY);
    if (fwkFactorySvc != null) {
      Builder builder = new Builder().setNamespace(Namespaces.NS_CONTRACT).addAttribute(Namespaces.NS_CONTRACT, Namespaces.CONTRACT_OSGI_FRAMEWORK);

      Version specVersion = null;
      StringBuilder uses = new StringBuilder();
      boolean firstPkg = true;
     
      for (Capability cap : caps) {
        if (Namespaces.NS_WIRING_PACKAGE.equals(cap.getNamespace())) {
          // Add to the uses directive
          if (!firstPkg)
            uses.append(',');
          String pkgName = (String) cap.getAttributes().get(Namespaces.NS_WIRING_PACKAGE);
          uses.append(pkgName);
          firstPkg = false;
         
          // If it's org.osgi.framework, get the package version and map to OSGi spec version
          if (FRAMEWORK_PACKAGE.equals(pkgName)) {
            Version frameworkPkgVersion = (Version) cap.getAttributes().get(Namespaces.ATTR_VERSION);
            specVersion = mapFrameworkPackageVersion(frameworkPkgVersion);
          }
        }
      }
     
      if (specVersion != null)
        builder.addAttribute(Namespaces.ATTR_VERSION, specVersion);
     
      builder.addDirective(Namespaces.DIRECTIVE_USES, uses.toString());
      caps.add(builder.buildCapability());
    }
  }
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

        namespace = indicator.substring(IndicatorType.Requirement.getPrefix().length());
      } else {
        throw new IllegalArgumentException(MessageFormat.format("Invalid indicator format in known-bundle parsing for bundle  \"{0}\", expected cap=namespace or req=namespace, found \"{1}\".", bundleRef, indicator));
      }

      Builder builder = new Builder().setNamespace(namespace);
       
      Map<String, String> attribs = entry.getValue();
      Util.copyAttribsToBuilder(builder, attribs);
     
      if (type == IndicatorType.Capability)
        caps.add(builder.buildCapability());
      else if (type == IndicatorType.Requirement)
        reqs.add(builder.buildRequirement());
    }
  }
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

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.