@Override public List<ProtocolOnlineReviewDocumentBase> getProtocolReviewDocumentsForCurrentSubmission( ProtocolBase protocol) { List<ProtocolOnlineReviewDocumentBase> onlineReviewDocuments = new ArrayList<ProtocolOnlineReviewDocumentBase>(); ProtocolSubmissionBase submission = protocol.getProtocolSubmission(); List<ProtocolOnlineReviewBase> reviews = findProtocolOnlineReviews(protocol.getProtocolId(), submission.getSubmissionId()); for (ProtocolOnlineReviewBase review : reviews) { if (review.isActive()) { review.refresh(); try { onlineReviewDocuments.add( (ProtocolOnlineReviewDocumentBase) (documentService.getByDocumentHeaderId( review.getProtocolOnlineReviewDocument().getDocumentNumber()))); } catch (WorkflowException e) { throw new RuntimeException( String.format( "Could not load ProtocolOnlineReviewBase docuemnt %s due to WorkflowException: %s", review.getProtocolOnlineReviewDocument().getDocumentNumber(), e.getMessage()), e); } } } return onlineReviewDocuments; }
@Override public void cancelOnlineReviews(ProtocolSubmissionBase submission, String annotation) { // get the online reviews, loop through them and finalize them if necessary. for (ProtocolOnlineReviewBase review : submission.getProtocolOnlineReviews()) { cancelOnlineReviewDocument(review.getProtocolOnlineReviewDocument(), submission, annotation); } }
@Override public void finalizeOnlineReviews(ProtocolSubmissionBase submission, String annotation) { // get the online reviews, loop through them and finalize them if necessary. for (ProtocolOnlineReviewBase review : submission.getProtocolOnlineReviews()) { // // review.addActionPerformed("Finalize:"+review.getProtocolOnlineReviewDocument().getDocumentHeader().getWorkflowDocument().getStatus().getCode()+":"+review.getProtocolOnlineReviewStatusCode()); finalizeOnlineReviewDocument( review.getProtocolOnlineReviewDocument(), submission, annotation); } }
@Override public ProtocolOnlineReviewDocumentBase getProtocolOnlineReviewDocument( String personId, boolean nonEmployeeFlag, ProtocolSubmissionBase protocolSubmission) { ProtocolOnlineReviewDocumentBase protocolOnlineReviewDocument = null; if (protocolSubmission != null) { for (ProtocolOnlineReviewBase protocolOnlineReview : protocolSubmission.getProtocolOnlineReviews()) { if (protocolOnlineReview .getProtocolReviewer() .isPersonIdProtocolReviewer(personId, nonEmployeeFlag) && protocolOnlineReview.isActive()) { try { protocolOnlineReviewDocument = (ProtocolOnlineReviewDocumentBase) getDocumentService() .getByDocumentHeaderId( protocolOnlineReview .getProtocolOnlineReviewDocument() .getDocumentNumber()); } catch (WorkflowException e) { if (LOG.isDebugEnabled()) { String errorMessage = String.format( "WorkflowException encountered while looking up document number %s for ProtocolOnlineReviewDocumentBase associated with (submissionId=%s,personId=%s,nonEmployeeFlag=%s", protocolOnlineReview.getProtocolOnlineReviewDocument().getDocumentNumber(), protocolSubmission.getSubmissionId(), personId, nonEmployeeFlag); LOG.error(errorMessage, e); throw new RuntimeException(errorMessage, e); } } } } } return protocolOnlineReviewDocument; }