private boolean requiresCDIExtender()

in cdi-extender/src/main/java/org/apache/aries/cdi/container/internal/Activator.java [261:288]


	private boolean requiresCDIExtender(Bundle bundle) {
		BundleWiring bundleWiring = bundle.adapt(BundleWiring.class);
		List<BundleWire> requiredBundleWires = bundleWiring.getRequiredWires(EXTENDER_NAMESPACE);

		for (BundleWire bundleWire : requiredBundleWires) {
			Map<String, Object> attributes = bundleWire.getCapability().getAttributes();

			if (attributes.containsKey(EXTENDER_NAMESPACE) &&
				attributes.get(EXTENDER_NAMESPACE).equals(CDI_CAPABILITY_NAME)) {

				Bundle providerWiringBundle = bundleWire.getProviderWiring().getBundle();

				if (providerWiringBundle.equals(_bundleContext.getBundle())) {
					BundleRequirement requirement = bundleWire.getRequirement();
					Map<String, Object> requirementAttributes = requirement.getAttributes();

					@SuppressWarnings("unchecked")
					List<String> beans = (List<String>)requirementAttributes.get(REQUIREMENT_BEANS_ATTRIBUTE);

					if (beans != null && !beans.isEmpty()) {
						return true;
					}
				}
			}
		}

		return false;
	}