package org.nextprot.api.tasks.solr.indexer.entry.impl; import java.util.Arrays; import java.util.Collection; import java.util.List; import org.nextprot.api.core.domain.Entry; import org.nextprot.api.core.domain.Identifier; import org.nextprot.api.solr.index.EntryIndex.Fields; import org.nextprot.api.tasks.solr.indexer.entry.EntryFieldBuilder; import org.nextprot.api.tasks.solr.indexer.entry.FieldBuilder; @EntryFieldBuilder public class IdentifierFieldBuilder extends FieldBuilder { @Override protected void init(Entry entry) { // Identifiers List <Identifier> identifiers = entry.getIdentifiers(); for (Identifier currident : identifiers) { String idtype = currident.getType(); //if(currident.getDatabase() == null) //System.err.println("type: " + idtype + " " + currident.getName()); if(idtype.equals("Secondary AC")) { addField(Fields.ALTERNATIVE_ACS, currident.getName()); } else if (idtype.equals("IMAGE") || idtype.equals("FLJ") || idtype.equals("MGC") || idtype.equals("DKFZ") || idtype.equals("Others")) { addField(Fields.CLONE_NAME, currident.getName()); } else if (idtype.equals("Illumina") || idtype.equals("Affymetrix")){ addField(Fields.MICROARRAY_PROBE, currident.getName()); } else if (idtype.equals("Entry name")) { addField(Fields.UNIPROT_NAME, currident.getName()); } } } @Override public Collection<Fields> getSupportedFields() { return Arrays.asList(Fields.ALTERNATIVE_ACS, Fields.CLONE_NAME, Fields.MICROARRAY_PROBE, Fields.UNIPROT_NAME); } }