@Produces
@BundleDataFile("")
public File getDataFile(BundleHolder holder, InjectionPoint p) {
logger.trace("Entering OSGiUtilitiesProducer : getDataFile() "
+ "with parameters {} | {}",
new Object[] {holder,p});
Set<Annotation> qualifiers = p.getQualifiers();
BundleDataFile file = null;
for (Annotation qualifier : qualifiers) {
if (qualifier.annotationType().equals(BundleDataFile.class)) {
file = (BundleDataFile) qualifier;
break;
}
}
if (file.value().equals("")) {
logger.warn("Returning null,"
+ " the BundleDataFile annotation path was empty");
return null;
}
BundleContext context = getBundleContext(holder, p);
if (context == null) {
logger.warn("Returning null, unable to retrieve the BundleContext "
+ "for holder {} and injection point {}", holder, p);
return null;
}
logger.debug("Returning the file {} from bundle context {}",
file.value(),
context);
return context.getDataFile(file.value());
}