public boolean hasAnnotationInArchive(ReadableArchive archive) {
scanArchive(archive);
if (found) {
return found;
}
ArchiveFactory archiveFactory = null;
if (Globals.getDefaultHabitat() != null) {
archiveFactory = Globals.getDefaultHabitat().getService(ArchiveFactory.class);
}
if (archiveFactory != null) {
List<URI> externalLibs = DeploymentUtils.getExternalLibraries(archive);
for (URI externalLib : externalLibs) {
try {
scanArchive(archiveFactory.openArchive(new File(externalLib.getPath())));
} catch(FileNotFoundException fnfe) {
Object args[] = { externalLib.getPath(), archive.getName() };
deplLogger.log(Level.WARNING, ARCHIVE_NOT_FOUND, args);
} catch (Exception e) {
LogRecord lr = new LogRecord(Level.WARNING, EXCEPTION_CAUGHT);