/** * Checks if a lifecycle event "rejected" exists and the publication status is "curation in progress" * @param publication the publication to check * @return if the publication has been rejected * @since 2.5.0 */ public static boolean isRejected(Publication publication) { if (publication == null) { throw new NullPointerException("You must give a non null publication"); } LifecycleEvent lifecycleEvent = getLastEventOfType(publication, CvLifecycleEventType.REJECTED.identifier()); if (lifecycleEvent != null && CvPublicationStatusType.CURATION_IN_PROGRESS.identifier().equals(publication.getStatus().getIdentifier())) { return true; } return false; }
/** * Gets the pubmed ID for an Experiment - whitout hitting the database * * @param experiment the experiment to get the pubmed id from * @return the pubmed id */ public static String getPubmedId(Experiment experiment) { String pubmedId = null; Publication publication = experiment.getPublication(); if (publication != null) { PublicationXref xref = PublicationUtils.getPubmedPrimaryReferenceXref(publication); if (xref != null){ pubmedId = xref.getPrimaryId(); } } if (pubmedId == null) { ExperimentXref xref = getPubmedPrimaryReferenceXref(experiment); if (xref != null) { pubmedId = xref.getPrimaryId(); } } return pubmedId; }
/** * The publication is ready to go through the release project. * * @param publication the publication * @param comment optional comment */ @LifecycleTransition(fromStatus = CvPublicationStatusType.ACCEPTED_ON_HOLD, toStatus = CvPublicationStatusType.READY_FOR_RELEASE) public void onHoldRemoved(Publication publication, String comment) { if (PublicationUtils.isOnHold(publication)) { throw new IllegalStateException("Cannot mark a publication as ready for release if it is still on-hold: "+ DebugUtil.intactObjectToString(publication, false)); } changeStatus(publication, CvPublicationStatusType.READY_FOR_RELEASE, CvLifecycleEventType.READY_FOR_RELEASE, comment); for ( LifecycleEventListener listener : getListeners() ) { listener.fireReadyForRelease( publication ); } } }
private Publication createUnassignedPublication(Bibref bibRef, Experiment exp) { String pubId = PublicationUtils.nextUnassignedId(IntactContext.getCurrentInstance()); Publication publication = (Publication) ConversionCache.getElement("pub:"+pubId); if (publication != null) { return publication; } publication = new Publication(getInstitution(), pubId); CvDatabase pubmed = CvObjectUtils.createCvObject(getInstitution(), CvDatabase.class, CvDatabase.PUBMED_MI_REF, CvDatabase.PUBMED); CvXrefQualifier primary = CvObjectUtils.createCvObject(getInstitution(), CvXrefQualifier.class, CvXrefQualifier.PRIMARY_REFERENCE_MI_REF, CvXrefQualifier.PRIMARY_REFERENCE); // add unassigned as primary ref publication.addXref(new PublicationXref(getInstitution(), pubmed, pubId, primary)); // add unassigned to exeriment exp.addXref(new ExperimentXref(getInstitution(), pubmed, pubId, primary)); if (bibRef != null){ IntactConverterUtils.populateXref(bibRef.getXref(), publication, this.publicationXrefConverter); IntactConverterUtils.populateAnnotations(bibRef, publication, getInstitution(), this.annotationConverter); } IntactContext.getCurrentInstance().getLifecycleManager().getStartStatus().create(publication, "created by xml import"); ConversionCache.putElement("pub:"+pubId, publication); return publication; }
/** * The publication is ready to go through the release project. * * @param publication the publication * @param comment optional comment */ @LifecycleTransition(fromStatus = CvPublicationStatusType.ACCEPTED_ON_HOLD, toStatus = CvPublicationStatusType.READY_FOR_RELEASE) public void onHoldRemoved(Publication publication, String comment) { if (PublicationUtils.isOnHold(publication)) { throw new IllegalStateException("Cannot mark a publication as ready for release if it is still on-hold: "+ DebugUtil.intactObjectToString(publication, false)); } changeStatus(publication, CvPublicationStatusType.READY_FOR_RELEASE, CvLifecycleEventType.READY_FOR_RELEASE, comment); for ( LifecycleEventListener listener : getListeners() ) { listener.fireReadyForRelease( publication ); } } }
/** * Checks if a lifecycle event "rejected" exists and the publication status is "curation in progress" * @param publication the publication to check * @return if the publication has been rejected * @since 2.5.0 */ public static boolean isRejected(Publication publication) { if (publication == null) { throw new NullPointerException("You must give a non null publication"); } LifecycleEvent lifecycleEvent = getLastEventOfType(publication, CvLifecycleEventType.REJECTED.identifier()); if (lifecycleEvent != null && CvPublicationStatusType.CURATION_IN_PROGRESS.identifier().equals(publication.getStatus().getIdentifier())) { return true; } return false; }
/** * Gets the pubmed ID for an Experiment - whitout hitting the database * * @param experiment the experiment to get the pubmed id from * @return the pubmed id */ public static String getPubmedId(Experiment experiment) { String pubmedId = null; Publication publication = experiment.getPublication(); if (publication != null) { PublicationXref xref = PublicationUtils.getPubmedPrimaryReferenceXref(publication); if (xref != null){ pubmedId = xref.getPrimaryId(); } } if (pubmedId == null) { ExperimentXref xref = getPubmedPrimaryReferenceXref(experiment); if (xref != null) { pubmedId = xref.getPrimaryId(); } } return pubmedId; }
/** * The reviewer accepts the publication. * * @param publication the publication * @param comment optional comment */ @LifecycleTransition(fromStatus = CvPublicationStatusType.READY_FOR_CHECKING, toStatus = {CvPublicationStatusType.ACCEPTED, CvPublicationStatusType.ACCEPTED_ON_HOLD}) public void accept(Publication publication, String comment) { if (PublicationUtils.isOnHold(publication)) { changeStatus(publication, CvPublicationStatusType.ACCEPTED_ON_HOLD, CvLifecycleEventType.ACCEPTED, comment); // Notify listeners for ( LifecycleEventListener listener : getListeners() ) { listener.fireAcceptedOnHold( publication ); } } else { changeStatus(publication, CvPublicationStatusType.ACCEPTED, CvLifecycleEventType.ACCEPTED, comment); // Notify listeners for ( LifecycleEventListener listener : getListeners() ) { listener.fireAccepted( publication ); } } }
/** * The reviewer accepts the publication. * * @param publication the publication * @param comment optional comment */ @LifecycleTransition(fromStatus = CvPublicationStatusType.READY_FOR_CHECKING, toStatus = {CvPublicationStatusType.ACCEPTED, CvPublicationStatusType.ACCEPTED_ON_HOLD}) public void accept(Publication publication, String comment) { if (PublicationUtils.isOnHold(publication)) { changeStatus(publication, CvPublicationStatusType.ACCEPTED_ON_HOLD, CvLifecycleEventType.ACCEPTED, comment); // Notify listeners for ( LifecycleEventListener listener : getListeners() ) { listener.fireAcceptedOnHold( publication ); } } else { changeStatus(publication, CvPublicationStatusType.ACCEPTED, CvLifecycleEventType.ACCEPTED, comment); // Notify listeners for ( LifecycleEventListener listener : getListeners() ) { listener.fireAccepted( publication ); } } }