use of org.nextprot.api.solr.index.EntryIndex.Fields in project nextprot-api by calipho-sib.
the class EntryBaseSolrIndexer method initializeFieldBuilders.
static void initializeFieldBuilders(Map<Fields, FieldBuilder> fieldsBuilderMap) {
Reflections reflections = new Reflections("org.nextprot.api.tasks.solr.indexer.entry.impl");
Set<Class<?>> entryFieldBuilderClasses = reflections.getTypesAnnotatedWith(EntryFieldBuilder.class);
for (Class<?> c : entryFieldBuilderClasses) {
try {
FieldBuilder fb = (FieldBuilder) c.newInstance();
if (fb.getSupportedFields() != null) {
for (Fields f : fb.getSupportedFields()) {
NPreconditions.checkTrue(!(fieldsBuilderMap.containsKey(f)), "The field " + f.getName() + " is supported by several builders: " + fb.getClass() + ", " + fieldsBuilderMap.get(f));
fieldsBuilderMap.put(f, fb);
}
}
} catch (InstantiationException | IllegalAccessException e) {
e.printStackTrace();
}
}
}
Aggregations