CPD Results

The following document contains the results of PMD's CPD 5.3.5.

Duplications

File Line
edu/columbia/rascal/business/pdfGenerator/irb/IrbClosureDataSheetPDFService.java 298
edu/columbia/rascal/business/pdfGenerator/irb/IrbProtocolHeaderDatasheetPDFService.java 1895
                addNewParagraphToChapter(
                        chapter,
                        "Of the number of subjects enrolled, or the number accrued for interventional studies with a screening process:",
                        INDENT_0, true);
                addNewParagraphToChapter(chapter, "How many remain on the study?", INDENT_1, true);
                addNewParagraphToChapter(chapter, formatNumber(subjects.getEnrolledRemaining()),
                        INDENT_1, false);
                addNewParagraphToChapter(chapter, "How many are off study?", INDENT_1, true);
                addNewParagraphToChapter(chapter, formatNumber(subjects.getEnrolledOffStudy()),
                        INDENT_1, false);
                addNewParagraphToChapter(chapter, "How many completed the study?", INDENT_2, true);
                addNewParagraphToChapter(chapter, formatNumber(subjects.getCompletedStudy()),
                        INDENT_2, false);
                addRadioQuestionAnswer(chapter, "Have any withdrawn of their own initiative?",
                        subjects.getAnyWithdrawn(), INDENT_2);
                if (StringUtils.equalsIgnoreCase(subjects.getAnyWithdrawn(), "Y")) {
                    addNewParagraphToChapter(chapter, "How many?", INDENT_3, true);
                    addNewParagraphToChapter(chapter, formatNumber(subjects.getNumberWithdrawn()),
                            INDENT_3, false);
                    addNewParagraphToChapter(chapter, "Please explain:", INDENT_3, true);
                    addNewParagraphToChapter(chapter, subjects.getExplainWithdrawn(), INDENT_3,
                            false);
                }
                addRadioQuestionAnswer(chapter, "Have any been removed by PI?",
                        subjects.getRemovedByPi(), INDENT_2);
                if (StringUtils.equalsIgnoreCase(subjects.getRemovedByPi(), "Y")) {
                    addNewParagraphToChapter(chapter, "How many?", INDENT_3, true);
                    addNewParagraphToChapter(chapter,
                            formatNumber(subjects.getHowManyRemovedByPi()), INDENT_3, false);
                    addNewParagraphToChapter(chapter, "Please explain:", INDENT_3, true);
                    addNewParagraphToChapter(chapter, subjects.getExplainRemovedByPi(), INDENT_3,
                            false);
                }
                addRadioQuestionAnswer(chapter, "Have any been lost to follow-up?",
                        subjects.getLostToFollowup(), INDENT_2);
                if (StringUtils.equalsIgnoreCase(subjects.getLostToFollowup(), "Y")) {
                    addNewParagraphToChapter(chapter, "How many?", INDENT_3, true);
                    addNewParagraphToChapter(chapter,
                            formatNumber(subjects.getHowManyLostToFollowup()), INDENT_3, false);
                    addNewParagraphToChapter(chapter, "Please explain:", INDENT_3, true);
                    addNewParagraphToChapter(chapter, subjects.getExplainLostToFollowup(),
                            INDENT_3, false);
                }
                addRadioQuestionAnswer(chapter, "Have any died while on study?",
                        subjects.getDiedOnStudy(), INDENT_2);
                if (StringUtils.equalsIgnoreCase(subjects.getDiedOnStudy(), "Y")) {
                    addNewParagraphToChapter(chapter, "How many?", INDENT_3, true);
                    addNewParagraphToChapter(chapter,
                            formatNumber(subjects.getHowManyDiedOnStudy()), INDENT_3, false);
                    addNewParagraphToChapter(chapter, "Please explain:", INDENT_3, true);
                    addNewParagraphToChapter(chapter, subjects.getExplainDiedOnStudy(), INDENT_3,
                            false);
                }
                addRadioQuestionAnswer(chapter, "Have any subject complaints been received?",
                        subjects.getAnySubjectComplaints(), INDENT_0);
                if (StringUtils.equalsIgnoreCase(subjects.getAnySubjectComplaints(), "Y")) {
                    addNewParagraphToChapter(chapter, "How many?", INDENT_1, true);
                    addNewParagraphToChapter(chapter,
                            formatNumber(subjects.getHowManyComplaints()), INDENT_1, false);
                    addNewParagraphToChapter(chapter, "Please explain:", INDENT_1, true);
                    addNewParagraphToChapter(chapter, subjects.getExplainComplaints(), INDENT_1,
                            false);
                }
File Line
edu/columbia/rascal/business/service/TccourseHeaderService.java 261
edu/columbia/rascal/business/service/TccourseHeaderService.java 448
            );
        buff.append(" AND ((a.administratorRid = ");
        buff.append(adminRid);
        buff.append(" OR a.contactRid = ");
        buff.append(adminRid);
        buff.append(')');
        buff.append("OR (ac.tc_courseheader_id= a.oid and ac.rid =");
        buff.append(adminRid);
        buff.append(") OR (a.isReleased = 'Y')) and a.testLocation = ");
        buff.append(aLocation);
        buff.append(" ) ");
        buff.append(" ORDER BY a.sequenceNumber ASC");


        // TCJdbcAccessor acc = new TCJdbcAccessor(null);
        // this is to get the unreleased or released headers by Rid of the User

        try {
            ResultSet res = ServiceLocator.getCURascalJdbcAccessorService().executeQuery(
                    buff.toString()
                    );

            while (res.next()) {
                row = new Vector<Object>(6);
                row.addElement(res.getLong(1));
                row.addElement(res.getString(2));

                if (!useAbbreviated || (res.getString(3) == null) ||
                        res.getString(3).trim().equals("")
                ) {
                    row.addElement(res.getString(4));
                } else {
                    row.addElement(res.getString(3));
                }

                if (res.getInt(5) > 0) {
                    row.addElement(String.valueOf(res.getInt(5)));
                } else {
                    row.addElement(String.valueOf(res.getInt(6)));
                }

                if (res.getDate(7) == null) {
                    row.addElement("");
                } else {
                    row.addElement(res.getDate(7));
                }

                if (res.getString(8) == null) {
                    row.addElement("");
                } else {
                    row.addElement(res.getString(8));
                }

                results.addElement(row);
            } // end while

        } catch (Exception e) {
            log.error("Exception while retrieving safety courses for location/administrator.", e);
File Line
edu/columbia/rascal/business/service/IacucProtocolDataSheetPDFService.java 4448
edu/columbia/rascal/business/service/IrbProtocolDataSheetPDFService.java 162
    }

    private String formatDateWithNull(Date date) {
        if (date == null)
            return "";
        return DATEFORMAT.print(date.getTime());
    }

    /** Inner class to add a header and a footer. */
    static class HeaderFooter extends PdfPageEventHelper {
        /** The header text. */
        String header;
        /** The template with the total number of pages. */
        PdfTemplate total;

        /**
         * Allows us to change the content of the header.
         *
         * @param header
         *            The new header String
         */
        public void setHeader(String header) {
            this.header = header;
        }

        /**
         * Creates the PdfTemplate that will hold the total number of pages.
         *
         * @see com.itextpdf.text.pdf.PdfPageEventHelper#onOpenDocument(com.itextpdf.text.pdf.PdfWriter,
         *      com.itextpdf.text.Document)
         */
        public void onOpenDocument(PdfWriter writer, Document document) {
            total = writer.getDirectContent().createTemplate(30, 16);
        }

        public void onEndPage(PdfWriter writer, Document document) {
            PdfPTable table = new PdfPTable(3);
            try {
                table.setWidths(new int[] { 24, 24, 2 });
                table.setTotalWidth(527);
                table.setLockedWidth(true);
                table.getDefaultCell().setFixedHeight(20);
                table.getDefaultCell().setBorder(Rectangle.TOP);
                table.addCell(header);
                table.getDefaultCell().setHorizontalAlignment(
                        Element.ALIGN_RIGHT);
                table.addCell(String.format("Page %d of",
                        writer.getPageNumber()));
                PdfPCell cell = new PdfPCell(Image.getInstance(total));
                cell.setBorder(Rectangle.TOP);
                table.addCell(cell);
                table.writeSelectedRows(0, -1, 34, 34,
                        writer.getDirectContent());
            } catch (DocumentException de) {
                throw new ExceptionConverter(de);
            }
        }

        /**
         * Fills out the total number of pages before the document is closed.
         *
         * @see com.itextpdf.text.pdf.PdfPageEventHelper#onCloseDocument(com.itextpdf.text.pdf.PdfWriter,
         *      com.itextpdf.text.Document)
         */
        public void onCloseDocument(PdfWriter writer, Document document) {
            ColumnText.showTextAligned(total, Element.ALIGN_LEFT, new Phrase(
                    String.valueOf(writer.getPageNumber() - 1)), 2, 2, 0);
        }
    }

}
File Line
edu/columbia/rascal/business/service/TccourseHeaderService.java 177
edu/columbia/rascal/business/service/TccourseHeaderService.java 363
            );
        buff.append(" AND testLocation = ");
        buff.append(aLocation);
        buff.append(" ) ");
        buff.append(" ORDER BY sequenceNumber ASC");


        try {

            ResultSet res = ServiceLocator.getCURascalJdbcAccessorService().executeQuery(
                    buff.toString()
                    );

            while (res.next()) {
                row = new Vector<Object>(6);
                row.addElement(res.getLong(1));
                row.addElement(res.getString(2));

                if (!useAbbreviated || (res.getString(3) == null) ||
                        res.getString(3).trim().equals("")
                ) {
                    row.addElement(res.getString(4));
                } else {
                    row.addElement(res.getString(3));
                }

                if (res.getInt(5) > 0) {
                    row.addElement(String.valueOf(res.getInt(5)));
                } else {
                    row.addElement(String.valueOf(res.getInt(6)));
                }

                if (res.getDate(7) == null) {
                    row.addElement("");
                } else {
                    row.addElement(res.getDate(7));
                }

                if (res.getString(8) == null) {
                    row.addElement("");
                } else {
                    row.addElement(res.getString(8));
                }

                results.addElement(row);
            } // end while

        } catch (Exception e) {
            log.error("Exception while retrieving safety courses.", e);
File Line
edu/columbia/rascal/business/service/TccourseHeaderService.java 181
edu/columbia/rascal/business/service/TccourseHeaderService.java 272
edu/columbia/rascal/business/service/TccourseHeaderService.java 367
edu/columbia/rascal/business/service/TccourseHeaderService.java 459
        buff.append(" ORDER BY sequenceNumber ASC");


        try {

            ResultSet res = ServiceLocator.getCURascalJdbcAccessorService().executeQuery(
                    buff.toString()
                    );

            while (res.next()) {
                row = new Vector<Object>(6);
                row.addElement(res.getLong(1));
                row.addElement(res.getString(2));

                if (!useAbbreviated || (res.getString(3) == null) ||
                        res.getString(3).trim().equals("")
                ) {
                    row.addElement(res.getString(4));
                } else {
                    row.addElement(res.getString(3));
                }

                if (res.getInt(5) > 0) {
                    row.addElement(String.valueOf(res.getInt(5)));
                } else {
                    row.addElement(String.valueOf(res.getInt(6)));
                }

                if (res.getDate(7) == null) {
                    row.addElement("");
                } else {
                    row.addElement(res.getDate(7));
                }

                if (res.getString(8) == null) {
                    row.addElement("");
                } else {
                    row.addElement(res.getString(8));
                }

                results.addElement(row);
            } // end while

        } catch (Exception e) {
            log.error("Exception while retrieving safety courses.", e);
File Line
edu/columbia/rascal/business/pdfGenerator/irb/IrbClosureDataSheetPDFService.java 124
edu/columbia/rascal/business/pdfGenerator/irb/IrbClosureDataSheetPDFService.java 203
			addNewParagraphToChapter(chapter,
					"Why is this study being closed (check all that apply): "
					+ "\n\n",
			INDENT_1, true);
			addNewParagraphToChapter(chapter, "[" + getCheckboxValue(closure.getDelayedApproval()) + "]"
					+ "  Delayed grant/contract approval ",
					INDENT_1);
			addNewParagraphToChapter(chapter, "[" + getCheckboxValue(closure.getLackOfFunding()) + "]"
					+ "  Lack of funding ",
					INDENT_1);
			addNewParagraphToChapter(chapter, "[" + getCheckboxValue(closure.getPoorEnrollment()) + "]"
					+ "  Poor enrollment ",
					INDENT_1);
			addNewParagraphToChapter(chapter, "[" + getCheckboxValue(closure.getClosedBySponsor()) + "]"
					+ "  Closed by Sponsor  ",
					INDENT_1);
			addNewParagraphToChapter(chapter, "[" + getCheckboxValue(closure.getDelayedIRBApproval()) + "]"
					+ "  Delayed IRB approval  ",
					INDENT_1);
			addNewParagraphToChapter(chapter, "[" + getCheckboxValue(closure.getStudyCompleted()) + "]"
					+ "  Study Completed  ",
					INDENT_1);
			addNewParagraphToChapter(chapter, "[" + getCheckboxValue(closure.getPiLeft()) + "]"
					+ "  PI left university  ",
					INDENT_1);
			addNewParagraphToChapter(chapter, "[" + getCheckboxValue(closure.getResearcherLeft()) + "]"
					+ "  Student research/Student left university ",
					INDENT_1);
			addNewParagraphToChapter(chapter, "[" + getCheckboxValue(closure.getOther()) + "]"
					+ "  Other ",
					INDENT_1);
			if (StringUtils.equalsIgnoreCase(closure.getOther(), "Y")) {
				addNewParagraphToChapter(chapter,"Provide reason for closure:",
						INDENT_2, true);
				addNewParagraphToChapter(chapter,closure.getOtherReason(),
						INDENT_2);
			}
			addNewParagraphToChapter(chapter,
File Line
edu/columbia/rascal/business/service/IrbAdverseEventService.java 127
edu/columbia/rascal/business/service/IrbUnanticipatedProblemService.java 167
                    IrbNameConstants.ADVERSE_EVENT, "Consultant"
                    );
            int size = revs.size();

            for (int i = 0; i < size; i++) {

                if (revs.elementAt(i).equals(aUser.getId())) {
                    return true;
                }
            }
        }

        // if Staff
        IrbProtocolHeader ph = up.getIrbProtocol().getLastProtocolHeader();
        List<IrbStaff> staffs = ph.getIrbStaffs();

        for (IrbStaff staff : staffs) {

            if (staff.getRid().equals(aUser.getId())) {
                return true;
            }
        }

        // if department approvals
        Vector<IrbApproval> depApp = ServiceLocator.getIrbApprovalService().getAllApprovalsByType(
                ph.getId(),
                IrbNameConstants.PROTOCOL_HEADER, "Department"
                );
        int depAppSize = depApp.size();

        for (int i = 0; i < depAppSize; i++) {

            if (depApp.elementAt(i).getWhoRid().equals(aUser.getId())) {
                return true;
            }
        }

        return false;

    }

    /**
     * TODO: DOCUMENT ME!
     *
     * @param   anOid  TODO: DOCUMENT ME!
     * @param   aUser  TODO: DOCUMENT ME!
     *
     * @return  TODO: DOCUMENT ME!
     */

    public IrbAdverseEvent getAdverseEventByOid(String anOid, RascalUser aUser) {
File Line
edu/columbia/rascal/business/service/IrbProtocolHeaderService.java 426
edu/columbia/rascal/business/service/IrbProtocolHeaderService.java 613
                        (CURascalGuardian.hasIrbCancerCenterApproval() || CURascalGuardian.hasIrbCancerCenterViewer())
                ) {
                    return true;
                }

                if (currentApproval.isCTSA() && (CURascalGuardian.hasIrbCTSA() || CURascalGuardian.hasIrbCTSAViewer())) {
                    return true;
                }

                // If this protocol requires psychiatric institute approval and
                // aUser is an authorized psychiatric institute person, grant
                // access.
                if (currentApproval.isPsychiatricInstitute() && 
                        CURascalGuardian.hasIrbPsychInstituteApproval()
                ) {
                    return true;
                }
            }

            // If radiation safety member and protocol involves radiation and
            // protocol is being submitted to Med Center
            if ((CURascalGuardian.hasIrbRadiationSafetyMC() || CURascalGuardian.hasIrbRadiationSafetyMS()) &&
                    (((header.getHazMatRadioIsotopes() != null) &&
                            header.getHazMatRadioIsotopes().equals("Y")) ||
                        ((header.getHazMatXray() != null) && header.getHazMatXray().equals("Y")))
            ) {
                return true;
            }

        }

        IrbProtocolHeader last = header.getIrbProtocol().getLastProtocolHeader();

        // If Staff, grant access.
        List<IrbStaff> staffs = last.getIrbStaffs();

        for (IrbStaff staff : staffs) {

            if (staff.getRid().equals(aUser.getId())) {
                return true;
            }
        }
File Line
edu/columbia/rascal/business/service/IacucProtocolDataSheetPDFService.java 259
edu/columbia/rascal/business/service/IrbProtocolDataSheetPDFService.java 77
        addDataSignature(document, protocol);
        document.close();

        return baos;
    }

    private static void addEmptyLine(final Document document, int number)
            throws DocumentException {
        for (int i = 0; i < number; i++) {
            document.add(new Paragraph(" "));
        }
    }

    private void addSectionName(final Document document, String sectionName)
            throws DocumentException {
        Font FONT_HELVETICA_12_BOLD = FontFactory.getFont(
                Font.FontFamily.HELVETICA.toString(), 12, Font.BOLD);

        addEmptyLine(document, 1);

        PdfPTable tableSection = createPdfTable(1);
        PdfPCell cellTitle = createPdfTableCellWithNull(sectionName,
                FONT_HELVETICA_12_BOLD, Element.ALIGN_CENTER);
        cellTitle.setHorizontalAlignment(Element.ALIGN_CENTER);
        cellTitle.setBorderWidth(1);
        cellTitle.setFixedHeight(20f);

        tableSection.addCell(cellTitle);

        document.add(tableSection);
        addEmptyLine(document, 1);
    }

    private void addDataProtocolHeader1(final Document document,
File Line
edu/columbia/rascal/business/service/IrbUnanticipatedProblemService.java 234
edu/columbia/rascal/business/service/IrbUnanticipatedProblemService.java 270
        Vector row = new Vector(6);

        try {
            java.sql.ResultSet res = ServiceLocator.getCURascalJdbcAccessorService().executeQuery(
                    aQuery
                    );

            while (res.next()) {
                row.addElement(res.getString(1)); // oid
                row.addElement(res.getString(2)); // documentIdentifier
                row.addElement(res.getString(3)); // fileName
                row.addElement(res.getDate(4));   // dateCreated
                row.addElement(res.getString(5)); // archive
                row.addElement(res.getString(6)); // internalFlag

                results.addElement(row.clone());
                row = new Vector(6);
            }
        } catch (Exception e) {
            log.error(e);
        }

        return results;
    }


    /**
     * @see  edu.columbia.rascal.business.service.IrbUnanticipatedProblemService#getAllSortedAttachmentsInternal(edu.columbia.rascal.domain.irb.IrbUnanticipatedProblem)
     */
    public Vector getAllSortedAttachmentsInternal(IrbUnanticipatedProblem up) {
File Line
edu/columbia/rascal/business/service/TccourseHeaderService.java 130
edu/columbia/rascal/business/service/TccourseHeaderService.java 191
edu/columbia/rascal/business/service/TccourseHeaderService.java 284
edu/columbia/rascal/business/service/TccourseHeaderService.java 379
edu/columbia/rascal/business/service/TccourseHeaderService.java 471
            row = new Vector<Object>(6);

            row.addElement(res.getLong(1));
            row.addElement(res.getString(2));

            if (!useAbbreviated || (res.getString(3) == null) || res.getString(3).trim().equals("")
            ) {
                row.addElement(res.getString(4));
            } else {
                row.addElement(res.getString(3));
            }

            if (res.getInt(5) > 0) {
                row.addElement(String.valueOf(res.getInt(5)));
            } else {
                row.addElement(String.valueOf(res.getInt(6)));
            }
File Line
edu/columbia/rascal/business/service/AppendixHService.java 365
edu/columbia/rascal/business/service/AppendixHService.java 428
	    tmpActivities = this.historyService
		    .createHistoricActivityInstanceQuery()
		    .processInstanceId(processInstanceId).finished()
		    .orderByHistoricActivityInstanceEndTime().desc().list();
	    for (final HistoricActivityInstance activity : tmpActivities) {
		// Hide activities without and end time, name, or type. Also
		// hide exclusive gateways
		// and start/end tasks
		if (activity.getEndTime() != null
			&& StringUtils.isNotBlank(activity.getActivityName())
			&& StringUtils.isNotBlank(activity.getActivityType())
			&& !StringUtils.equalsIgnoreCase(
				activity.getActivityType(), "exclusiveGateway")
			&& !StringUtils.equalsIgnoreCase(
				activity.getActivityType(), "endEvent")
			&& !StringUtils.equalsIgnoreCase(
				activity.getActivityType(), "startEvent")) {
		    activities.add(activity);
		}
	    }

	    if (!activities.isEmpty()) {
File Line
edu/columbia/rascal/business/atunes/jaxb/IacucManagementWebServiceSoap_IacucManagementWebServiceSoap12_Client.java 25
edu/columbia/rascal/business/atunes/jaxb/IacucManagementWebServiceSoap_IacucManagementWebServiceSoap_Client.java 25
    private IacucManagementWebServiceSoap_IacucManagementWebServiceSoap12_Client() {
    }

    public static void main(String args[]) throws java.lang.Exception {
        URL wsdlURL = IacucManagementWebService.WSDL_LOCATION;
        if (args.length > 0 && args[0] != null && !"".equals(args[0])) { 
            File wsdlFile = new File(args[0]);
            try {
                if (wsdlFile.exists()) {
                    wsdlURL = wsdlFile.toURI().toURL();
                } else {
                    wsdlURL = new URL(args[0]);
                }
            } catch (MalformedURLException e) {
                e.printStackTrace();
            }
        }
      
        IacucManagementWebService ss = new IacucManagementWebService(wsdlURL, SERVICE_NAME);
        IacucManagementWebServiceSoap port = ss.getIacucManagementWebServiceSoap12();  
File Line
edu/columbia/rascal/business/service/HazMatsDataSheetService.java 600
edu/columbia/rascal/business/service/HazMatsDataSheetService.java 656
		};
        document.add(getBulletList(bulletList));

		addLine(document,
				"Contact the Radiation Safety Office at (212) 305-4095 for additional information.",
				HEADER_FONT,
				Element.ALIGN_LEFT,
				true);

		addLine(document,
				"Appendix H:  " + appendixH.getAppendixNumber(),
				HEADER_FONT,
				Element.ALIGN_LEFT,
				false);

		boolean showSubmittedDate = false;
		Task task = appendixHProcessService.findTaskByGroup(appendixH, AppendixHProcessService.GROUP_PRE_APPROVE);
		if (task != null) {
			showSubmittedDate = true;
		}
		
		addLine(document, "Created:  " + sdf.format(appendixH.getCreateDate()), HEADER_FONT, Element.ALIGN_LEFT, !showSubmittedDate);
		
		// Find all tasks in the APPENDIXH_PRE_APPROVE group which is SUBMITTED record	
		if (showSubmittedDate)
			addLine(document, "Submitted:  " + sdf.format(task.getCreateTime()), HEADER_FONT, Element.ALIGN_LEFT, true);
	}

	private void createJRSCHeader(Document document, AppendixH appendixH) throws DocumentException {
File Line
edu/columbia/rascal/business/service/IacucProtocolDataSheetPDFService.java 2891
edu/columbia/rascal/business/service/IrbProtocolDataSheetPDFService.java 130
        document.add(table);

    }

    private void setPdfTableCellWithBorder(final PdfPTable table,
                                           final Font font, final int alignment, final String cellValue) {

        if (table == null || font == null)
            throw new IllegalArgumentException(
                    "Check parameters. All parameters must not be null");
        PdfPCell cell = new PdfPCell(new Paragraph(((cellValue == null) ? ""
                : cellValue), font));
        cell.setHorizontalAlignment(alignment);
        cell.setBorderWidth(1);
        table.addCell(cell);
    }

    private void setPdfTableRowWithBorder(final PdfPTable table,
                                          final Font font, final String[] rows) {
        if (rows == null || rows.length == 0 || table == null || font == null)
            throw new IllegalArgumentException(
                    "Check parameters. All parameters must not be null");

		for (String row : rows) {
File Line
edu/columbia/rascal/business/service/IacucProtocolHeaderService.java 1056
edu/columbia/rascal/business/service/PtProposalHeaderService.java 1380
    }

    /**
     * TODO: DOCUMENT ME!
     *
     * @param oldTracker    TODO: DOCUMENT ME!
     * @param newTracker    TODO: DOCUMENT ME!
     * @param copyApprovals TODO: DOCUMENT ME!
     */
    private void copyApprovals(AppendixTracking oldTracker,
                               AppendixTracking newTracker, boolean copyApprovals) {
        Set<AppendixApproval> apps = oldTracker.getAppendixApprovals();

        if (apps != null) {

            for (AppendixApproval oldApp : apps) {

                if ((oldApp != null)
                        && !oldApp.getApprovalRole().equals("veterinarian")) {
                    AppendixApproval newApp = new AppendixApproval(newTracker);
                    newApp.setApprovalRole(oldApp.getApprovalRole());

                    if (copyApprovals) {
                        newApp.setApprovalDate(oldApp.getApprovalDate());
                        newApp.setApprovalType(oldApp.getApprovalType());
                        newApp.setApproverRid(oldApp.getApproverRid());
                    }

                    appendixApprovalService.save(newApp);
                }
            }
        }
    }
File Line
edu/columbia/rascal/business/service/IrbAdverseEventService.java 243
edu/columbia/rascal/business/service/IrbClosureService.java 221
        Vector row = new Vector(5);

        try {
            ResultSet res = ServiceLocator.getCURascalJdbcAccessorService().executeQuery(aQuery);

            while (res.next()) {
                row.addElement(res.getString(1)); // oid
                row.addElement(res.getString(2)); // documentIdentifier
                row.addElement(res.getString(3)); // fileName
                row.addElement(res.getDate(4));   // dateCreated
                row.addElement(res.getString(5)); // archive

                results.addElement(row.clone());
                row = new Vector(5);

            }

        } catch (Exception e) {
            log.error(e);
        }

        return results;

    }


    /**
     * TODO: DOCUMENT ME!
     *
     * @param   event  TODO: DOCUMENT ME!
     *
     * @return  TODO: DOCUMENT ME!
     */

    public Vector<IrbAdverseEventAttachment> getAllSortedAttachmentsExternal2(IrbAdverseEvent event) {
File Line
edu/columbia/rascal/business/service/IrbAdverseEventService.java 243
edu/columbia/rascal/business/service/IrbClosureService.java 221
edu/columbia/rascal/business/service/IrbClosureService.java 263
        Vector row = new Vector(5);

        try {
            ResultSet res = ServiceLocator.getCURascalJdbcAccessorService().executeQuery(aQuery);

            while (res.next()) {
                row.addElement(res.getString(1)); // oid
                row.addElement(res.getString(2)); // documentIdentifier
                row.addElement(res.getString(3)); // fileName
                row.addElement(res.getDate(4));   // dateCreated
                row.addElement(res.getString(5)); // archive

                results.addElement(row.clone());
                row = new Vector(5);

            }

        } catch (Exception e) {
            log.error(e);
        }

        return results;

    }


    /**
     * TODO: DOCUMENT ME!
     *
     * @param   event  TODO: DOCUMENT ME!
     *
     * @return  TODO: DOCUMENT ME!
     */

    public Vector<IrbAdverseEventAttachment> getAllSortedAttachmentsExternal2(IrbAdverseEvent event) {
File Line
edu/columbia/rascal/business/pdfGenerator/irb/AbstractIrbDatasheetService.java 262
edu/columbia/rascal/business/pdfGenerator/irb/AbstractIrbDatasheetService.java 275
    protected void renderSubjectPopulation(Chapter chapter, Map<Long, IrbSubjectPopulation> subjectPopulationsSaved, String category, Set<RascalSubjectPopulation> subjectPopulations) {

        addNewParagraphToChapter(chapter, "Population " +category, INDENT_0, true);
        PdfPTable subPopTable = createPdfTable(subjectPopulations.size(), 10f, 10f);
        for (RascalSubjectPopulation population : subjectPopulations) {
            subPopTable.addCell(createPdfTableCell(population.getDescription()));
        }
        for (RascalSubjectPopulation population : subjectPopulations) {
            if (subjectPopulationsSaved.get(population.getId()) != null)
                subPopTable.addCell(createPdfTableCellWithNull(subjectPopulationsSaved.get(population.getId()).getPercentage().toString()+"%"));
        }
        chapter.add(subPopTable);
    }
File Line
edu/columbia/rascal/business/service/IrbProtocolHeaderService.java 390
edu/columbia/rascal/business/service/IrbProtocolHeaderService.java 575
                    comms.contains(currentone.getCommitteeId().toString())
            ) {
                return true;
            }

        }

        // If status is NOT "Creating" or "Returned"...
        if (!(currentStatusName.startsWith(CREATING)) && !(currentStatusName.equals(RETURNED))) { // If consultant and is a reviewer for this protocol, grant access.

            if (CURascalGuardian.hasIrbConsultant()) {
                Vector revs = ServiceLocator.getIrbReviewerService().getAllCurrentReviewerRids(
                        header.getId(), IrbNameConstants.PROTOCOL_HEADER, "Consultant"
                        );
                int size = revs.size();

                for (int n = 0; n < size; n++) {

                    if (revs.elementAt(n).equals(aUser.getId())) {
                        return true;
                    }
                }
            }
File Line
edu/columbia/rascal/business/service/RascalActivityTypeService.java 130
edu/columbia/rascal/business/service/RascalAgencyService.java 131
        return rascalActivityTypeDAO.findAll();
    }

    /**
     * TODO: DOCUMENT ME!
     *
     * @param   aString  TODO: DOCUMENT ME!
     *
     * @return  TODO: DOCUMENT ME!
     */
    public String prepText(String aString) {

        if ((aString != null) && (aString.contains("'"))) {
            StringTokenizer aTokenizer = new StringTokenizer(aString.trim(),
                    "'\r\n"
                    );
            StringBuilder detokenizedString = new StringBuilder("");

            while (aTokenizer.hasMoreTokens()) {
                detokenizedString.append(aTokenizer.nextToken());

                if (aTokenizer.hasMoreTokens()) {
                    detokenizedString.append("''");
                }
            }

            return detokenizedString.toString();
        } else if (aString != null) {
            return aString;
        } else {
            return "";
        }
    }

    /**
     * TODO: DOCUMENT ME!
     *
     * @param  rascalActivityTypeDAO  TODO: DOCUMENT ME!
     */
    public void setRascalActivityTypeDAO(RascalActivityTypeDAO rascalActivityTypeDAO) {
File Line
edu/columbia/rascal/business/service/RascalDepartmentService.java 388
edu/columbia/rascal/business/service/RascalSchoolService.java 197
        return rascalDepartmentDAO.save(entity);
    }

    /**
     * TODO: DOCUMENT ME!
     *
     * @param   aString  TODO: DOCUMENT ME!
     *
     * @return  TODO: DOCUMENT ME!
     */
    private String prepText(String aString) {

        if ((aString != null) && (aString.contains("'"))) {
            StringTokenizer aTokenizer = new StringTokenizer(aString.trim(),
                    "'\r\n"
                    );
            StringBuilder detokenizedString = new StringBuilder("");

            while (aTokenizer.hasMoreTokens()) {
                detokenizedString.append(aTokenizer.nextToken());

                if (aTokenizer.hasMoreTokens()) {
                    detokenizedString.append("''");
                }
            }

            return detokenizedString.toString();
        } else if (aString != null) {
            return aString;
        } else {
            return "";
        }
    }
File Line
edu/columbia/rascal/business/service/AppendixIService.java 220
edu/columbia/rascal/business/service/IrbProtocolHeaderService.java 2343
       String numberString = "000" + Long.toString(id);
       numberString = numberString.substring(numberString.length() - 4, numberString.length());

       char charPart[] = new char[4];
       int letterPart = id / 10000;
       charPart[3] = getLetters()[letterPart % 26];
       charPart[2] = getLetters()[(letterPart / 26) % 26];
       charPart[1] = getLetters()[(letterPart / (26 * 26)) % 26];
       charPart[0] = getLetters()[(letterPart / (26 * 26 * 26)) % 26];
File Line
edu/columbia/rascal/business/service/RascalAgencyService.java 141
edu/columbia/rascal/business/service/RascalDepartmentService.java 398
    public String prepText(String aString) {

        if ((aString != null) && (aString.contains("'"))) {
            StringTokenizer aTokenizer = new StringTokenizer(aString.trim(),
                    "'\r\n"
                    );
            StringBuilder detokenizedString = new StringBuilder("");

            while (aTokenizer.hasMoreTokens()) {
                detokenizedString.append(aTokenizer.nextToken());

                if (aTokenizer.hasMoreTokens()) {
                    detokenizedString.append("''");
                }
            }

            return detokenizedString.toString();
        } else if (aString != null) {
            return aString;
        } else {
            return "";
        }
    }
    
    /**
     *   
     * @param name search term
     * @return List<RascalAgencyDTO> a list of immutable code and name.  
     * It is particularly useful for the front dojo dev, such as, QueryReadStore + dojox.data.ComboBox     
     */
    public List<RascalAgencyDTO> getCodeNameByNameLike(String name) {
File Line
edu/columbia/rascal/business/service/RascalDepartmentService.java 389
edu/columbia/rascal/business/service/RascalReportDistributionService.java 123
    }

    /**
     * TODO: DOCUMENT ME!
     *
     * @param   aString  TODO: DOCUMENT ME!
     *
     * @return  TODO: DOCUMENT ME!
     */
    private String prepText(String aString) {

        if ((aString != null) && (aString.contains("'"))) {
            StringTokenizer aTokenizer = new StringTokenizer(aString.trim(),
                    "'\r\n"
                    );
            StringBuilder detokenizedString = new StringBuilder("");

            while (aTokenizer.hasMoreTokens()) {
                detokenizedString.append(aTokenizer.nextToken());

                if (aTokenizer.hasMoreTokens()) {
                    detokenizedString.append("''");
                }
            }

            return detokenizedString.toString();
        } else if (aString != null) {
            return aString;
        } else {
            return "";
        }
    }
    
    /**
     * @param searchTerm
     * @param cutoff
     * @return
     */
    public List<RascalDepartment> findActiveByNameOrCodeLike(String searchTerm, int cutoff) {
File Line
edu/columbia/rascal/business/service/IacucProcessService.java 828
edu/columbia/rascal/business/service/IacucProcessService.java 885
            Comment comment = taskService.addComment(taskId, task.getProcessInstanceId(), taskDefKey, content);
            iacucTaskForm.setCommentId(comment.getId());
        }

        // attach attribute to this task
        Map<String, String> attribute = iacucTaskForm.getProperties();
        if (attribute != null && !attribute.isEmpty())
            taskService.setVariableLocal(taskId, TASK_FORM_LOOKUP_PREFIX + taskId, attribute);

        // attach correspondence to this task
        IacucCorrespondence corr = iacucTaskForm.getCorrespondence();
        if (corr != null) {
            corr.apply();
            Map<String, String> corrProperties = corr.getProperties();
            if (!corrProperties.isEmpty()) {
                taskService.setVariableLocal(taskId, IACUC_COORESPONDENCE + taskId, corrProperties);
            }
        }
File Line
edu/columbia/rascal/business/service/IrbStatusService.java 665
edu/columbia/rascal/business/service/IrbStatusService.java 736
    				String hostURL = RascalProperties.getProperty("host.name");
    				model.addAttribute("protocolNumber", header.getIrbProtocol().getProtocolNumber());
					model.addAttribute("title", header.getTitle());
					model.addAttribute("role", staff.getProtocolRole());			
					model.addAttribute("coiFileNewAmendUrl", hostURL + "/coi"); 
					model.addAttribute("pi", header.getPI().getNameFirst() + " " + header.getPI().getNameLast());
					model.addAttribute("protocolCoiUrl", hostURL + "/irb/protocol/" + lastApprovedProtocol.getIrbProtocol().getProtocolNumber() + "/" + lastApprovedProtocol.getId() + "/disclosures");
File Line
edu/columbia/rascal/business/service/RascalActivityTypeService.java 140
edu/columbia/rascal/business/service/RascalReportDistributionService.java 132
    public String prepText(String aString) {

        if ((aString != null) && (aString.contains("'"))) {
            StringTokenizer aTokenizer = new StringTokenizer(aString.trim(),
                    "'\r\n"
                    );
            StringBuilder detokenizedString = new StringBuilder("");

            while (aTokenizer.hasMoreTokens()) {
                detokenizedString.append(aTokenizer.nextToken());

                if (aTokenizer.hasMoreTokens()) {
                    detokenizedString.append("''");
                }
            }

            return detokenizedString.toString();
        } else if (aString != null) {
            return aString;
        } else {
            return "";
        }
    }

    /**
     * TODO: DOCUMENT ME!
     *
     * @param  rascalActivityTypeDAO  TODO: DOCUMENT ME!
     */
    public void setRascalActivityTypeDAO(RascalActivityTypeDAO rascalActivityTypeDAO) {
File Line
edu/columbia/rascal/business/service/RascalReportDistributionService.java 123
edu/columbia/rascal/business/service/RascalSchoolService.java 198
        }
    
    /**
     * TODO: DOCUMENT ME!
     *
     * @param   aString  TODO: DOCUMENT ME!
     *
     * @return  TODO: DOCUMENT ME!
     */
    private String prepText(String aString) {

        if ((aString != null) && (aString.contains("'"))) {
            StringTokenizer aTokenizer = new StringTokenizer(aString.trim(),
                    "'\r\n"
                    );
            StringBuilder detokenizedString = new StringBuilder("");

            while (aTokenizer.hasMoreTokens()) {
                detokenizedString.append(aTokenizer.nextToken());

                if (aTokenizer.hasMoreTokens()) {
                    detokenizedString.append("''");
                }
            }

            return detokenizedString.toString();
        } else if (aString != null) {
            return aString;
        } else {
            return "";
        }
    }
File Line
edu/columbia/rascal/business/service/IrbAdverseEventService.java 114
edu/columbia/rascal/business/service/IrbClosureService.java 153
                        ).getStatusName().equals(IrbStatusConstants.CREATING)) &&
                (CURascalGuardian.hasIrbAdmin() || CURascalGuardian.hasIrbCommitteeChair() || CURascalGuardian.hasIrbCancerCenterApproval() ||
                		CURascalGuardian.hasIrbCPDM() || CURascalGuardian.hasIrbCancerCenterViewer() || CURascalGuardian.hasIrbPsychInstituteApproval() ||
                		CURascalGuardian.hasIrbCommitteeMember() || CURascalGuardian.hasIrbCTSA() || CURascalGuardian.hasIrbCTSAViewer() ||
                		CURascalGuardian.hasIrbClinicalTrials())
        ) {
            return true;
        }

        // if consultant
        if (CURascalGuardian.hasIrbConsultant()) {
            Vector revs = ServiceLocator.getIrbReviewerService().getAllCurrentReviewerRids(
                    up.getId(),
                    IrbNameConstants.ADVERSE_EVENT, "Consultant"
File Line
edu/columbia/rascal/business/service/RascalActivityTypeService.java 140
edu/columbia/rascal/business/service/RascalDepartmentService.java 398
    public String prepText(String aString) {

        if ((aString != null) && (aString.contains("'"))) {
            StringTokenizer aTokenizer = new StringTokenizer(aString.trim(),
                    "'\r\n"
                    );
            StringBuilder detokenizedString = new StringBuilder("");

            while (aTokenizer.hasMoreTokens()) {
                detokenizedString.append(aTokenizer.nextToken());

                if (aTokenizer.hasMoreTokens()) {
                    detokenizedString.append("''");
                }
            }

            return detokenizedString.toString();
        } else if (aString != null) {
            return aString;
        } else {
            return "";
        }
    }

    /**
     * TODO: DOCUMENT ME!
     *
     * @param  rascalActivityTypeDAO  TODO: DOCUMENT ME!
     */
    public void setRascalActivityTypeDAO(RascalActivityTypeDAO rascalActivityTypeDAO) {
File Line
edu/columbia/rascal/business/service/RascalAgencyService.java 141
edu/columbia/rascal/business/service/RascalReportDistributionService.java 132
    public String prepText(String aString) {

        if ((aString != null) && (aString.contains("'"))) {
            StringTokenizer aTokenizer = new StringTokenizer(aString.trim(),
                    "'\r\n"
                    );
            StringBuilder detokenizedString = new StringBuilder("");

            while (aTokenizer.hasMoreTokens()) {
                detokenizedString.append(aTokenizer.nextToken());

                if (aTokenizer.hasMoreTokens()) {
                    detokenizedString.append("''");
                }
            }

            return detokenizedString.toString();
        } else if (aString != null) {
            return aString;
        } else {
            return "";
        }
    }
    
    /**
     *   
     * @param name search term
     * @return List<RascalAgencyDTO> a list of immutable code and name.  
     * It is particularly useful for the front dojo dev, such as, QueryReadStore + dojox.data.ComboBox     
     */
    public List<RascalAgencyDTO> getCodeNameByNameLike(String name) {
File Line
edu/columbia/rascal/business/service/RascalActivityTypeService.java 140
edu/columbia/rascal/business/service/RascalAgencyService.java 141
edu/columbia/rascal/business/service/RascalSchoolService.java 207
    public String prepText(String aString) {

        if ((aString != null) && (aString.contains("'"))) {
            StringTokenizer aTokenizer = new StringTokenizer(aString.trim(),
                    "'\r\n"
                    );
            StringBuilder detokenizedString = new StringBuilder("");

            while (aTokenizer.hasMoreTokens()) {
                detokenizedString.append(aTokenizer.nextToken());

                if (aTokenizer.hasMoreTokens()) {
                    detokenizedString.append("''");
                }
            }

            return detokenizedString.toString();
        } else if (aString != null) {
            return aString;
        } else {
            return "";
        }
    }
File Line
edu/columbia/rascal/business/service/IacucProcessService.java 241
edu/columbia/rascal/business/service/IacucProcessService.java 281
        form.setTaskName(hs.getName());
        form.setEndTime(hs.getEndTime());
        form.setAuthor(hs.getAssignee());
        form.setTaskId(hs.getId());
        //
        Map<String, Object> localMap = hs.getTaskLocalVariables();
        @SuppressWarnings("unchecked")
        Map<String, String> taskMap = (Map<String, String>) localMap.get(TASK_FORM_LOOKUP_PREFIX + hs.getId());
        if (taskMap != null) {
            form.setProperties(taskMap);
            form.setComment(getCommentText(form.getCommentId()));
        }
File Line
edu/columbia/rascal/business/service/IrbAdverseEventService.java 413
edu/columbia/rascal/business/service/IrbAdverseEventService.java 485
                                oldOne.getReportedToCode()
                        ).getDescription()
                );
            }

            for (int i = 0; i < oldNameSize; i++) {

                if (!newOnes.contains(oldNames.elementAt(i))) {
                    changed = true;

                    break;
                } else {

                    for (i = 0; i < newOneSize; i++) {

                        if (!oldNames.contains(newOnes.elementAt(i))) {
                            changed = true;

                            break;
                        }

                    }

                }
            }

        } else {
            changed = true;
        }


        if (changed) {

            while (!oldOnes.isEmpty()) {
File Line
edu/columbia/rascal/business/service/CoiBusinessInterestService.java 241
edu/columbia/rascal/business/service/CoiBusinessInterestService.java 259
					subQuestionTypeUnique.add(answer.getSubQuestionType());
					if(findIsIdentifiedInSection(businessInterest, CoiConstants.BUSINESS_INTEREST))
						result.put("research", "*");
					if(disclosureDetail.getCoiDisclosure().getDisclosureType().equals(CoiConstants.RC) && findIsIdentifiedInSection(businessInterest, CoiConstants.CLINICAL_CARE))
						result.put("clinical", "*");
					if(findIsIdentifiedInSection(businessInterest, CoiConstants.PHS_FUNDED_SECTION))
						result.put("phs", "*");
					if(findIsIdentifiedInSection(businessInterest, CoiConstants.ADMIN_SECTION))
						result.put("admin_other", "*");

					results.add(result);
				}
			}
File Line
edu/columbia/rascal/business/service/IrbProtocolHeaderService.java 483
edu/columbia/rascal/business/service/IrbProtocolHeaderService.java 664
            if (app.getWhoRid().equals(aUser.getId())) {
                return true;
            }
        }

        // If safety officer and protocol has been submitted, grant access.
        if (CURascalGuardian.hasHmSafetyApprove() &&
                (currentStatusName.equals(LOGGED_IN) || currentStatusName.equals(DISTRIBUTED) ||
                    currentStatusName.equals(ASSIGNED_TO_MEETING) ||
                    currentStatusName.equals(RETURNED_TO_CHAIR))
        ) {
            return true;
        }

        // If HIPAA logger, admin or member and protocol has been submitted,
        // grant access.
        return (CURascalGuardian.hasHipaaRascal() || CURascalGuardian.hasHipaaLogger() || CURascalGuardian.hasHipaaAdministrator() ||
                CURascalGuardian.hasHipaaPrivacyBoard()) && !currentStatusName.equals(CREATING);

    }

    /**
     * TODO: DOCUMENT ME!
     *
     * @param   aUser   TODO: DOCUMENT ME!
     * @param   header  TODO: DOCUMENT ME!
     *
     * @return  TODO: DOCUMENT ME!
     */

    public boolean getAccessibleByUserForDataSheet(RascalUser aUser, IrbProtocolHeader header) {