public Publication createPublicationById( String identifier ) throws ImexCentralException { Publication p = new Publication(); final Identifier i = new Identifier(); i.setAc( identifier ); i.setNs("pmid"); p.getIdentifier().add(i); p.setImexAccession( "N/A" ); allPublications.add( p ); return p; }
public Publication getPublicationByPubmedId( String identifier ) throws ImexCentralException { for ( Publication p : allPublications ) { for (Identifier i : p.getIdentifier()){ if( "pmid".equalsIgnoreCase(i.getNs()) && identifier.equals( i.getAc() ) ) { return p; } } if (p.getImexAccession() != null && p.getImexAccession().equalsIgnoreCase(identifier)){ return p; } } return null; }
protected static Identifier buildIdentifier( String identifier ) { final Identifier id = new ObjectFactory().createIdentifier(); id.setAc( identifier ); // IMEx identifier if( identifier.startsWith( "IM-" ) ) { // this will enable searching for publication by IMEx id ... not obvious but it works ... id.setNs( "imex" ); } // valid pubmed identifier else if (Pattern.matches(pubmed_regexp.toString(), identifier)) { // fallback namespace id.setNs( "pmid" ); } // unassigned publication = internal identifier else if (identifier.startsWith("unassigned")){ id.setNs( "jint" ); } // doi number else { id.setNs("doi"); } return id; }
public void addPublication( String identifier, String imexAccession, String status, String owner ) { Publication p = new Publication(); final Identifier id = new Identifier(); id.setAc( identifier ); p.getIdentifier().add(id); p.setImexAccession( ( imexAccession == null ? "N/A" : imexAccession ) ); p.setStatus( status ); p.setOwner( owner ); allPublications.add( p ); }
public void createPublication( Publication publication ) throws ImexCentralException { Publication existingP = null; for ( Publication p : allPublications ) { for (Identifier i : p.getIdentifier()){ if( !publication.getIdentifier().isEmpty() && publication.getIdentifier().iterator().next().getAc().equals( i.getAc() ) ) { existingP = p; break; } } } if (existingP == null){ allPublications.add(publication); } else { allPublications.remove(existingP); allPublications.add(publication); } }
protected static Identifier buildIdentifier( String identifier ) { final Identifier id = new ObjectFactory().createIdentifier(); id.setAc( identifier ); // IMEx identifier if( identifier.startsWith( "IM-" ) ) { // this will enable searching for publication by IMEx id ... not obvious but it works ... id.setNs( "imex" ); } // valid pubmed identifier else if (Pattern.matches(pubmed_regexp.toString(), identifier)) { // fallback namespace id.setNs( "pmid" ); } // unassigned publication = internal identifier else if (identifier.startsWith("unassigned")){ id.setNs( "jint" ); } // doi number else { id.setNs("doi"); } return id; } }
public void addPublication( String identifier, String imexAccession, String status, String owner ) { Publication p = new Publication(); final Identifier id = new Identifier(); id.setAc( identifier ); p.getIdentifier().add(id); p.setImexAccession( ( imexAccession == null ? "N/A" : imexAccession ) ); p.setStatus( status ); p.setOwner( owner ); allPublications.add( new ImexPublication(p)); }
public Publication getPublicationById( String identifier ) throws ImexCentralException { for ( Publication p : allPublications ) { for (Identifier i : p.getIdentifier()){ if( identifier.equals( i.getAc() ) ) { return p; } } if (p.getImexAccession() != null && p.getImexAccession().equalsIgnoreCase(identifier)){ return p; } } return null; }
private Identifier buildIdentifier( String identifier, String source ) { final Identifier id = new ObjectFactory().createIdentifier(); id.setAc( identifier ); // IMEx identifier if( source.equals("imex") && identifier.startsWith( "IM-" ) ) { // this will enable searching for publication by IMEx id ... not obvious but it works ... id.setNs( "imex" ); } // valid pubmed identifier else if (source.equals("pubmed") && Pattern.matches(pubmed_regexp.toString(), identifier)) { // fallback namespace id.setNs( "pmid" ); } // unassigned publication = internal identifier or internal identifiers else if (source.equals("pubmed")){ id.setNs( "jint" ); } // doi number else if (source.equals("doi")){ id.setNs("doi"); } else{ id.setNs( "jint" ); } return id; } }
private void copyIdentifiersFromDelegate() { List<Identifier> imexIdentifiers = this.delegate.getIdentifier(); for (Identifier identifier : imexIdentifiers){ if (identifier.getNs() == null || identifier.getAc() == null){ // nothing to do } else if (identifier.getNs().equals("pmid")){ super.getIdentifiers().add(XrefUtils.createPubmedIdentity(identifier.getAc())); } else if (identifier.getNs().equals("imex") && !identifier.getAc().equals("N/A")){ super.getXrefs().add(XrefUtils.createXrefWithQualifier(Xref.IMEX, Xref.IMEX_MI, identifier.getAc(), Xref.IMEX_PRIMARY, Xref.IMEX_PRIMARY_MI)); } else if (identifier.getNs().equals("doi")){ super.getIdentifiers().add(XrefUtils.createDoiIdentity(identifier.getAc())); } else if (identifier.getNs().equals("jint")){ super.getIdentifiers().add(XrefUtils.createIdentityXref("jint", identifier.getAc())); } } if (super.getImexId() == null && this.delegate.getImexAccession() != null && !this.delegate.getImexAccession().equals("N/A")){ super.getXrefs().add(XrefUtils.createXrefWithQualifier(Xref.IMEX, Xref.IMEX_MI, this.delegate.getImexAccession(), Xref.IMEX_PRIMARY, Xref.IMEX_PRIMARY_MI)); } }