Search in sources :

Example 6 with Fields

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();
        }
    }
}
Also used : Fields(org.nextprot.api.solr.index.EntryIndex.Fields) FieldBuilder(org.nextprot.api.tasks.solr.indexer.entry.FieldBuilder) EntryFieldBuilder(org.nextprot.api.tasks.solr.indexer.entry.EntryFieldBuilder) Reflections(org.reflections.Reflections)

Aggregations

Fields (org.nextprot.api.solr.index.EntryIndex.Fields)6 FieldBuilder (org.nextprot.api.tasks.solr.indexer.entry.FieldBuilder)3 ChromosomeFieldBuilder (org.nextprot.api.tasks.solr.indexer.entry.impl.ChromosomeFieldBuilder)3 TreeSet (java.util.TreeSet)2 Test (org.junit.Test)2 EntryFieldBuilder (org.nextprot.api.tasks.solr.indexer.entry.EntryFieldBuilder)2 HashMap (java.util.HashMap)1 List (java.util.List)1 SolrInputDocument (org.apache.solr.common.SolrInputDocument)1 AbstractUnitBaseTest (org.nextprot.api.commons.dbunit.AbstractUnitBaseTest)1 Entry (org.nextprot.api.core.domain.Entry)1 SolrBuildIntegrationTest (org.nextprot.api.tasks.solr.indexer.entry.SolrBuildIntegrationTest)1 Reflections (org.reflections.Reflections)1