Package uk.co.brunella.osgi.bdt.repository.model

Examples of uk.co.brunella.osgi.bdt.repository.model.AttributeElement


  private AttributeElement[] parseAttribute(String value) {
    if (value == null) {
      return null;
    }
    List<AttributeElement> elements = new ArrayList<AttributeElement>();
    AttributeElement element = null;
    Tokenizer tokenizer = new Tokenizer(value);
    int type = tokenizer.next();
    while (type != Tokenizer.EOF && type != Tokenizer.ERROR) {
      if (type == Tokenizer.VALUE) {
        if (element == null) {
          element = new AttributeElement();
          elements.add(element);
        }
        element.addValue(tokenizer.getValue());
      } else if (type == Tokenizer.ATTRIBUTE) {
        element.addAttribute(tokenizer.getName(), tokenizer.getValue());
      } else if (type == Tokenizer.DIRECTIVE) {
        element.addDirective(tokenizer.getName(), tokenizer.getValue());
      } else if (type == Tokenizer.SEPARATOR) {
        element = null;
      }
      type = tokenizer.next();
    }
View Full Code Here


    if (elements == null) {
      requireBundles = new RequireBundle[0];
    } else {
      requireBundles = new RequireBundle[elements.length];
      for (int i = 0; i < elements.length; i++) {
        AttributeElement element = elements[i];
        String name = element.getValues().get(0);
        VersionRange versionRange;
        String[] versionString = element.getAttributes().get(BUNDLE_VERSION_ATTRIBUTE);
        if (versionString == null || versionString.length != 1) {
          versionRange = VersionRange.parseVersionRange("");
        } else {
          versionRange = VersionRange.parseVersionRange(versionString[0]);
        }
        String[] visibility = element.getDirectiveValues(VISIBILITY_DIRECTIVE);
        boolean reexport = true;
        if (visibility != null && visibility.length == 1) {
          reexport = VISIBILITY_REEXPORT.equals(visibility[0]);
        }
        String[] resolution = element.getDirectiveValues(RESOLUTION_DIRECTIVE);
        boolean mandatory = true;
        if (resolution != null && resolution.length == 1) {
          mandatory = RESOLUTION_MANDATORY.equals(resolution[0]);
        }
        requireBundles[i] = new RequireBundle(this, name, versionRange, reexport, mandatory);
View Full Code Here

    if (elements == null) {
      exportPackages = new ExportPackage[0];
    } else {
      exportPackages = new ExportPackage[elements.length];
      for (int i = 0; i < elements.length; i++) {
        AttributeElement element = elements[i];
        String packageName = element.getValues().get(0);
        Version version;
        String[] versionString = element.getAttributes().get(VERSION_ATTRIBUTE);
        if (versionString == null || versionString.length != 1) {
          versionString = element.getAttributes().get(PACKAGE_SPECIFICATION_VERSION);
        }
       
        if (versionString == null || versionString.length != 1) {
          version = Version.parseVersion("");
        } else {
          version = Version.parseVersion(versionString[0]);
        }
        ExportPackage exportPackage = new ExportPackage(this, packageName, version);
        exportPackage.addDirective(Constants.INCLUDE_DIRECTIVE, element.getDirectiveValues(Constants.INCLUDE_DIRECTIVE));
        exportPackage.addDirective(Constants.EXCLUDE_DIRECTIVE, element.getDirectiveValues(Constants.EXCLUDE_DIRECTIVE));
        exportPackages[i] = exportPackage;
      }
    }
  }
View Full Code Here

    if (elements == null) {
      importPackages = new ImportPackage[0];
    } else {
      importPackages = new ImportPackage[elements.length];
      for (int i = 0; i < elements.length; i++) {
        AttributeElement element = elements[i];
        String packageName = element.getValues().get(0);
        VersionRange versionRange;
        String[] versionString = element.getAttributes().get(VERSION_ATTRIBUTE);
       
        if (versionString == null || versionString.length != 1) {
          versionRange = VersionRange.parseVersionRange("");
        } else {
          versionRange = VersionRange.parseVersionRange(versionString[0]);
        }
        String[] resolution = element.getDirectiveValues(RESOLUTION_DIRECTIVE);
        boolean mandatory = true;
        if (resolution != null && resolution.length == 1) {
          mandatory = RESOLUTION_MANDATORY.equals(resolution[0]);
        }
        importPackages[i] = new ImportPackage(this, packageName, versionRange, mandatory);
View Full Code Here

    }
  }

  private void setBundleSymbolicName(Map<String, AttributeElement[]> attributes) throws RuntimeException {
    try {
      AttributeElement element = getMandatory(BUNDLE_SYMBOLICNAME, attributes, false)[0];
      bundleSymbolicName = element.getValues().get(0);
    } catch (RuntimeException e) {
      // workaround for Knopflerfish system bundle
      AttributeElement[] elements = getOptional(BUNDLE_NAME, attributes, false);
      if (elements != null && KnopflerfishFrameworkStarter.KNOPFLERFISH_SYSTEM_BUNDLE_NAME.equals(elements[0].getValues().get(0))) {
        bundleSymbolicName = KnopflerfishFrameworkStarter.KNOPFLERFISH_SYSTEM_BUNDLE_SYMBOLIC_NAME;
View Full Code Here

TOP

Related Classes of uk.co.brunella.osgi.bdt.repository.model.AttributeElement

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.