public boolean isCurrentQuestionnaire(Questionnaire questionnaire) {
   return questionnaire
       .getSequenceNumber()
       .equals(
           getQuestionnaireDao()
               .getCurrentQuestionnaireSequenceNumber(questionnaire.getQuestionnaireSeqId()));
 }
Example #2
0
 /**
  * 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;
 }