public boolean isCurrentQuestionnaire(Questionnaire questionnaire) { return questionnaire .getSequenceNumber() .equals( getQuestionnaireDao() .getCurrentQuestionnaireSequenceNumber(questionnaire.getQuestionnaireSeqId())); }
/** * This method determines if the questionnaire is the active (most recent version) of the * questionnaire. * * @param questionnaire * @return true if this is the active questionnaire, false otherwise */ @SuppressWarnings("unchecked") protected boolean isActiveQuestionnaire(Questionnaire questionnaire) { Map<String, Object> fieldValues = new HashMap<String, Object>(); fieldValues.put(QUESTIONNAIRE_ID, questionnaire.getQuestionnaireSeqId()); Collection<Questionnaire> questionnaires = businessObjectService.findMatching(Questionnaire.class, fieldValues); if (questionnaires.size() > 0) { Questionnaire maxQuestionnaire = (Questionnaire) Collections.max(questionnaires); if (maxQuestionnaire.getId().equals(questionnaire.getId())) { return true; } } return false; }
@Override @SuppressWarnings("unchecked") public boolean isQuestionnaireNameExist(String questionnaireId, String name) { Map<String, Object> fieldValues = new HashMap<String, Object>(); fieldValues.put(NAME, name); boolean isExist = false; List<Questionnaire> questionnaires = (List<Questionnaire>) businessObjectService.findMatching(Questionnaire.class, fieldValues); for (Questionnaire questionnaire : questionnaires) { if (questionnaireId == null || !questionnaire.getQuestionnaireSeqId().equals(questionnaireId)) { isExist = true; break; } } return isExist; }
protected void copyQuestionnaireLists(Questionnaire src, Questionnaire dest) { dest.setQuestionnaireQuestions(src.getQuestionnaireQuestions()); dest.setQuestionnaireUsages(src.getQuestionnaireUsages()); dest.setQuestionnaireSeqId(null); for (QuestionnaireQuestion question : dest.getQuestionnaireQuestions()) { question.setQuestionnaireId(null); question.setId(null); question.setVersionNumber(new Long(1)); } for (QuestionnaireUsage usage : dest.getQuestionnaireUsages()) { usage.setQuestionnaireId(null); usage.setId(null); usage.setVersionNumber(new Long(1)); } }
@Override public boolean isUniqueUsage(Questionnaire questionnaire, QuestionnaireUsage usage) { Map<String, Object> fieldValues = new HashMap<String, Object>(); fieldValues.put(MODULE_ITEM_CODE, usage.getCoeusModule().getModuleCode()); fieldValues.put(MODULE_SUB_ITEM_CODE, usage.getCoeusSubModule().getSubModuleCode()); List<QuestionnaireUsage> usages = (List<QuestionnaireUsage>) businessObjectService.findMatching(QuestionnaireUsage.class, fieldValues); for (QuestionnaireUsage curUsage : usages) { if (!StringUtils.equals( questionnaire.getQuestionnaireSeqId(), curUsage.getQuestionnaire().getQuestionnaireSeqId()) && curUsage.getQuestionnaire().isActive() && isCurrentQuestionnaire(curUsage.getQuestionnaire())) { return false; } } return true; }