package org.nextprot.api.core.utils.dbxref.conv; import org.nextprot.api.commons.constants.IdentifierOffset; import org.nextprot.api.core.domain.CvDatabasePreferredLink; import org.nextprot.api.core.domain.DbXref; import org.nextprot.api.core.utils.dbxref.resolver.XRefDatabase; import java.util.ArrayList; import java.util.Collections; import java.util.List; class RefSeqDbXrefConverter implements DbXrefPropertyToXrefConverter { @Override public List<DbXref> convert(DbXref xref) { for (DbXref.DbXrefProperty property : xref.getProperties()) { if ("nucleotide sequence ID".equals(property.getName())) { return Collections.singletonList(createRefSeqNucleotideDbXrefFromDbXrefProperty(xref, property)); } } return new ArrayList<>(); } private DbXref createRefSeqNucleotideDbXrefFromDbXrefProperty(DbXref xref, DbXref.DbXrefProperty property) { DbXref dbXRef = new DbXref(); dbXRef.setProteinAccessionReferer("GIVE A REFERER NAME!!!!"); dbXRef.setDbXrefId(IdentifierOffset.XREF_PROPERTY_OFFSET +property.getPropertyId()); dbXRef.setAccession(property.getValue()); dbXRef.setDatabaseCategory("Sequence databases"); dbXRef.setDatabaseName(XRefDatabase.REF_SEQ.getName()); dbXRef.setUrl(xref.getUrl()); dbXRef.setLinkUrl(CvDatabasePreferredLink.REFSEQ_NUCLEOTIDE.getLink()); dbXRef.setProperties(new ArrayList<>()); return dbXRef; } }