/** * Checks whether the bundle URI is blacklisted according to configured rules * @param uri * @return */ public boolean isBundleBlacklisted(String uri) { for (LocationPattern pattern : bundleBlacklist) { if (pattern.matches(uri)) { return true; } } return false; }
/** * Checks whether features XML repository URI is blacklisted. * @param uri * @return */ public boolean isRepositoryBlacklisted(String uri) { for (LocationPattern pattern : repositoryBlacklist) { if (pattern.matches(uri)) { return true; } } return false; }
@Override public boolean isRepositoryBlacklisted(String uri) { for (LocationPattern lp : processing.getBlacklistedRepositoryLocationPatterns()) { if (lp.matches(uri)) { return true; } } return false; }
/** * Processes {@link Bundle bundle definition} and (according to override instructions) maybe sets different target * location and {@link BundleInfo#isOverriden()} flag. */ private void staticOverrideBundle(Bundle bundle) { bundle.setOverriden(BundleInfo.BundleOverrideMode.NONE); for (BundleReplacements.OverrideBundle override : this.getInstructions().getBundleReplacements().getOverrideBundles()) { String originalLocation = bundle.getLocation(); if (override.getOriginalUriPattern().matches(originalLocation)) { LOG.debug("Overriding bundle location \"" + originalLocation + "\" with \"" + override.getReplacement() + "\""); bundle.setOriginalLocation(originalLocation); if (override.getMode() == BundleReplacements.BundleOverrideMode.MAVEN) { bundle.setOverriden(BundleInfo.BundleOverrideMode.MAVEN); } else { bundle.setOverriden(BundleInfo.BundleOverrideMode.OSGI); } bundle.setLocation(override.getReplacement()); // TOCHECK: last rule wins - no break!!! //break; } } }
private void processBundles(List<Bundle> bundles, boolean allBlacklisted, Boolean forceDependency) { for (Bundle bundle : bundles) { boolean bundleBlacklisted = allBlacklisted || isBundleBlacklisted(bundle.getLocation()); if (bundleBlacklisted) { // blacklisting has higher priority bundle.setBlacklisted(true); } else { // if not blacklisted, it may be overriden staticOverrideBundle(bundle); // and may have dependency flag altered if (forceDependency != null) { // set at feature level bundle.setDependency(forceDependency); } else { // may have dependency overriden at bundle level for (OverrideBundleDependency.OverrideDependency overrideBundleDependency : getInstructions().getOverrideBundleDependency().getBundles()) { LocationPattern pattern = new LocationPattern(overrideBundleDependency.getUri()); if (pattern.matches(bundle.getLocation())) { bundle.setDependency(overrideBundleDependency.isDependency()); } } } } } }