Пример #1
0
 private static Bundle getBundleForPackage(final String packageStr) {
   ExportedPackage pkg = null;
   final String pkgString;
   String versionString = null;
   final String[] tokens = StringUtils.splitString(packageStr, ";");
   pkgString = tokens[0];
   for (int j = 0; j < tokens.length; j++) {
     if (tokens[j].startsWith("version")) {
       versionString = tokens[j].substring("version=".length());
       break;
     }
   }
   if (RemoteOSGiServiceImpl.IS_R4 && versionString != null) {
     final ExportedPackage[] pkgs = pkgAdmin.getExportedPackages(pkgString);
     if (pkgs == null) {
       return null;
     }
     for (int j = 0; j < pkgs.length; j++) {
       final boolean matches = StringUtils.isVersionInRange(pkgs[j].getVersion(), versionString);
       if (matches && (pkg == null || pkgs[j].getVersion().compareTo(pkg.getVersion()) > 0)) {
         pkg = pkgs[j];
       }
     }
   } else {
     pkg = pkgAdmin.getExportedPackage(pkgString);
   }
   return pkg == null ? null : pkg.getExportingBundle();
 }