package org.nextprot.api.core.utils.dbxref.resolver;
import org.nextprot.api.core.domain.CvDatabasePreferredLink;
import org.nextprot.api.core.domain.DbXref;
import java.util.Optional;
class JcrbXrefURLResolver extends DefaultDbXrefURLResolver {
@Override
protected String getAccessionNumber(DbXref xref) {
return xref.getAccession().toLowerCase();
}
@Override
public String getTemplateURL(DbXref xref) {
Optional<XRefDatabase> db = XRefDatabase.valueOfName(xref.getDatabaseName());
if (db.isPresent()) {
if (db.get() == XRefDatabase.IFO)
return CvDatabasePreferredLink.IFO.getLink();
else if (db.get() == XRefDatabase.JCRB) {
return CvDatabasePreferredLink.JCRB.getLink();
}
throw new UnresolvedXrefURLException("'"+xref.getDatabaseName()+"' is not a JCRB db");
}
throw new UnresolvedXrefURLException("missing db name");
}
}