@Override protected void doStart() throws Exception { PackageService packageService = new PackageServiceImpl(bundleContext); register(PackageService.class, packageService); PackagesMBeanImpl mbean = new PackagesMBeanImpl(packageService); registerMBean(mbean, "type=package"); } }
public ImportDetails(String filter) { Expression filterExpr = new FilterParser().parse(filter); if (filterExpr instanceof AndExpression) { AndExpression andExpr = (AndExpression)filterExpr; for (Expression expr : andExpr.expressions) { parseSimpleItem(expr); } } parseSimpleItem(filterExpr); }
PackageRequirement create(BundleRequirement req, Bundle bundle) { Map<String, String> attr = req.getDirectives(); String filter = attr.get("filter"); String resolution = attr.get("resolution"); boolean optional = "optional".equals(resolution); boolean resolveable = checkResolveAble(req); ImportDetails details = new ImportDetails(filter); return new PackageRequirement(filter, optional, bundle, resolveable, details.name, details.minVersion, details.maxVersion); }
@Override public List<String> getImports(long bundleId) { Bundle bundle = bundleContext.getBundle(bundleId); BundleRevision rev = bundle.adapt(BundleRevision.class); List<BundleRequirement> reqs = rev.getDeclaredRequirements(BundleRevision.PACKAGE_NAMESPACE); List<String> imports = new ArrayList<>(); for (BundleRequirement req : reqs) { PackageRequirement packageReq = create(req, bundle); imports.add(packageReq.getPackageName()); } return imports; }
@Override protected void doStart() throws Exception { PackageService packageService = new PackageServiceImpl(bundleContext); register(PackageService.class, packageService); PackagesMBeanImpl mbean = new PackagesMBeanImpl(packageService); registerMBean(mbean, "type=package"); } }
public ImportDetails(String filter) { Expression filterExpr = new FilterParser().parse(filter); if (filterExpr instanceof AndExpression) { AndExpression andExpr = (AndExpression)filterExpr; for (Expression expr : andExpr.expressions) { parseSimpleItem(expr); } } parseSimpleItem(filterExpr); }
PackageRequirement create(BundleRequirement req, Bundle bundle) { Map<String, String> attr = req.getDirectives(); String filter = attr.get("filter"); String resolution = attr.get("resolution"); boolean optional = "optional".equals(resolution); boolean resolveable = checkResolveAble(req); ImportDetails details = new ImportDetails(filter); return new PackageRequirement(filter, optional, bundle, resolveable, details.name, details.minVersion, details.maxVersion); }
@Override public List<String> getImports(long bundleId) { Bundle bundle = bundleContext.getBundle(bundleId); BundleRevision rev = bundle.adapt(BundleRevision.class); List<BundleRequirement> reqs = rev.getDeclaredRequirements(BundleRevision.PACKAGE_NAMESPACE); List<String> imports = new ArrayList<>(); for (BundleRequirement req : reqs) { PackageRequirement packageReq = create(req, bundle); imports.add(packageReq.getPackageName()); } return imports; }
@Override public List<PackageRequirement> getImports() { Bundle[] bundles = bundleContext.getBundles(); SortedMap<String, PackageRequirement> requirements = new TreeMap<>(); for (Bundle bundle : bundles) { BundleRevision rev = bundle.adapt(BundleRevision.class); if (rev != null) { List<BundleRequirement> reqs = rev.getDeclaredRequirements(BundleRevision.PACKAGE_NAMESPACE); for (BundleRequirement req : reqs) { PackageRequirement preq = create(req, bundle); requirements.put(preq.getPackageName() + "|" + preq.getFilter() + "|" + preq.getBundle().getBundleId(), preq); } } } return new ArrayList<>(requirements.values()); }
@Override public List<PackageRequirement> getImports() { Bundle[] bundles = bundleContext.getBundles(); SortedMap<String, PackageRequirement> requirements = new TreeMap<>(); for (Bundle bundle : bundles) { BundleRevision rev = bundle.adapt(BundleRevision.class); if (rev != null) { List<BundleRequirement> reqs = rev.getDeclaredRequirements(BundleRevision.PACKAGE_NAMESPACE); for (BundleRequirement req : reqs) { PackageRequirement preq = create(req, bundle); requirements.put(preq.getPackageName() + "|" + preq.getFilter() + "|" + preq.getBundle().getBundleId(), preq); } } } return new ArrayList<>(requirements.values()); }