Package org.osgi.service.indexer

Examples of org.osgi.service.indexer.Builder


            }

            // Use an analyzer to add a marker capability to workspace resources
            indexer.addAnalyzer(new ResourceAnalyzer() {
                public void analyzeResource(Resource resource, List<Capability> capabilities, List<Requirement> requirements) throws Exception {
                    Capability cap = new Builder().setNamespace("bndtools.workspace").addAttribute("bndtools.workspace", workspaceRootUri.toString()).addAttribute("project.path", project.getFullPath().toString()).buildCapability();
                    capabilities.add(cap);
                }
            }, null);

            Map<String,String> config = new HashMap<String,String>();
View Full Code Here


            }

            // Use an analyzer to add a marker capability to workspace resources
            indexer.addAnalyzer(new ResourceAnalyzer() {
                public void analyzeResource(Resource resource, List<Capability> capabilities, List<Requirement> requirements) throws Exception {
                    Capability cap = new Builder().setNamespace("bndtools.workspace").addAttribute("bndtools.workspace", workspaceRootUri.toString()).addAttribute("project.path", project.getFullPath().toString()).buildCapability();
                    capabilities.add(cap);
                }
            }, null);

            Map<String,String> config = new HashMap<String,String>();
View Full Code Here

      } catch (Exception e) {
        // not a version
      }
    }

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

    String mimeType = (String) resource.getProperties().get(Resource.MIMETYPE);
    if (mimeType == null) {
      mimeType = MimeType.Unknown.toString();
    }

    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, (String) resource.getProperties().get(Resource.MIMETYPE));

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

import org.osgi.service.indexer.ResourceAnalyzer;

public class WibbleAnalyzer implements ResourceAnalyzer {

  public void analyzeResource(Resource resource, List<Capability> capabilities, List<Requirement> requirements) throws Exception {
    capabilities.add(new Builder().setNamespace("wibble").buildCapability());
  }
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

    return result;
  }

  private void doBundleAndHost(Resource resource, List<? super Capability> caps) throws Exception {
    Builder bundleBuilder = new Builder().setNamespace(Namespaces.NS_WIRING_BUNDLE);
    Builder hostBuilder = new Builder().setNamespace(Namespaces.NS_WIRING_HOST);
    boolean allowFragments = true;

    Attributes attribs = resource.getManifest().getMainAttributes();
    if (attribs.getValue(Constants.FRAGMENT_HOST) != null)
      return;

    SymbolicName bsn = Util.getSymbolicName(resource);
    Version version = Util.getVersion(resource);

    bundleBuilder.addAttribute(Namespaces.NS_WIRING_BUNDLE, bsn.getName()).addAttribute(Constants.BUNDLE_VERSION_ATTRIBUTE, version);
    hostBuilder.addAttribute(Namespaces.NS_WIRING_HOST, bsn.getName()).addAttribute(Constants.BUNDLE_VERSION_ATTRIBUTE, version);

    for (Entry<String, String> attribEntry : bsn.getAttributes().entrySet()) {
      String key = attribEntry.getKey();
      if (key.endsWith(":")) {
        String directiveName = key.substring(0, key.length() - 1);
        if (Constants.FRAGMENT_ATTACHMENT_DIRECTIVE.equalsIgnoreCase(directiveName)) {
          if (Constants.FRAGMENT_ATTACHMENT_NEVER.equalsIgnoreCase(attribEntry.getValue()))
            allowFragments = false;
        } else if (!Constants.SINGLETON_DIRECTIVE.equalsIgnoreCase(directiveName)) {
          bundleBuilder.addDirective(directiveName, attribEntry.getValue());
        }
      } else {
        bundleBuilder.addAttribute(key, attribEntry.getValue());
      }
    }

    caps.add(bundleBuilder.buildCapability());
    if (allowFragments)
      caps.add(hostBuilder.buildCapability());
  }
View Full Code Here

    Manifest manifest = resource.getManifest();

    String exportsStr = manifest.getMainAttributes().getValue(Constants.EXPORT_PACKAGE);
    Map<String, Map<String, String>> exports = OSGiHeader.parseHeader(exportsStr);
    for (Entry<String, Map<String, String>> entry : exports.entrySet()) {
      Builder builder = new Builder().setNamespace(Namespaces.NS_WIRING_PACKAGE);

      String pkgName = OSGiHeader.removeDuplicateMarker(entry.getKey());
      builder.addAttribute(Namespaces.NS_WIRING_PACKAGE, pkgName);

      String versionStr = entry.getValue().get(Constants.VERSION_ATTRIBUTE);
      Version version = (versionStr != null) ? new Version(versionStr) : new Version(0, 0, 0);
      builder.addAttribute(Namespaces.ATTR_VERSION, version);

      for (Entry<String, String> attribEntry : entry.getValue().entrySet()) {
        String key = attribEntry.getKey();
        if (!"specification-version".equalsIgnoreCase(key) && !Constants.VERSION_ATTRIBUTE.equalsIgnoreCase(key)) {
          if (key.endsWith(":"))
            builder.addDirective(key.substring(0, key.length() - 1), attribEntry.getValue());
          else
            builder.addAttribute(key, attribEntry.getValue());
        }
      }

      SymbolicName bsn = Util.getSymbolicName(resource);
      builder.addAttribute(Namespaces.ATTR_BUNDLE_SYMBOLIC_NAME, bsn.getName());
      Version bundleVersion = Util.getVersion(resource);
      builder.addAttribute(Namespaces.ATTR_BUNDLE_VERSION, bundleVersion);

      caps.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.