/**
* $Id: SurveyManagerImpl.java 3951 2010-11-02 10:13:17Z orangeforjava $
*/
package org.openuap.cms.survey.manager.impl;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
import org.openuap.base.util.QueryInfo;
import org.openuap.base.util.context.PageBuilder;
import org.openuap.cms.survey.dao.QuestionItemRecordDao;
import org.openuap.cms.survey.dao.SurveyDao;
import org.openuap.cms.survey.dao.SurveyRecordDao;
import org.openuap.cms.survey.dao.VoterDao;
import org.openuap.cms.survey.manager.SurveyManager;
import org.openuap.cms.survey.model.Question;
import org.openuap.cms.survey.model.QuestionItem;
import org.openuap.cms.survey.model.QuestionItemRecord;
import org.openuap.cms.survey.model.Survey;
import org.openuap.cms.survey.model.SurveyRecord;
/**
* <p>
* Title:GroupManagerImpl
* </p>
*
* <p>
* Description:
* </p>
*
* <p>
* Copyright: Copyright (c) 2006
* </p>
*
* <p>
* Company: http://www.openuap.org
* </p>
*
* @author Weiping Ju
* @version 1.0
*/
public class SurveyManagerImpl implements SurveyManager {
private SurveyDao surveyDao;
private SurveyRecordDao surveyRecordDao;
private QuestionItemRecordDao questionItemRecordDao;
private VoterDao voterDao;
public SurveyManagerImpl() {
}
public Survey getSurveyByName(String name) {
return surveyDao.getSurveyByName(name);
}
public Survey getSurveyById(Long id) {
return surveyDao.getSurveyById(id);
}
public List getAllSurveys() {
return surveyDao.getAllSurveys();
}
public List getSurveys(QueryInfo qi, PageBuilder pb) {
return surveyDao.getSurveys(qi, pb);
}
public Long addSurvey(Survey survey) {
return surveyDao.addSurvey(survey);
}
public void saveSurvey(Survey survey) {
surveyDao.saveSurvey(survey);
}
public void deleteSurvey(Survey survey) {
surveyDao.deleteSurvey(survey);
}
public void deleteSurveyById(Long id) {
surveyDao.deleteSurveyById(id);
}
public void setSurveyDao(SurveyDao surveyDao) {
this.surveyDao = surveyDao;
}
public void setQuestionItemRecordDao(
QuestionItemRecordDao questionItemRecordDao) {
this.questionItemRecordDao = questionItemRecordDao;
}
public void auditSurvey(Long id) {
surveyDao.auditSurvey(id);
}
public void recycleSurvey(Long id) {
surveyDao.recycleSurvey(id);
}
public void unAuditSurvey(Long id) {
surveyDao.unAuditSurvey(id);
}
public void unRecycleSurvey(Long id) {
surveyDao.unRecycleSurvey(id);
}
// //////////////////////////////////////////////////////////
public Long addSurveyRecord(SurveyRecord surveyRecord) {
return surveyRecordDao.addSurveyRecord(surveyRecord);
}
public void deleteSurveyRecord(SurveyRecord surveyRecord) {
surveyRecordDao.deleteSurveyRecord(surveyRecord);
}
public void deleteSurveyRecordById(Long id) {
surveyRecordDao.deleteSurveyRecordById(id);
}
public SurveyRecord getSurveyRecordById(Long id) {
return surveyRecordDao.getSurveyRecordById(id);
}
public List getSurveyRecords(QueryInfo qi, PageBuilder pb) {
return surveyRecordDao.getSurveyRecords(qi, pb);
}
public void pauseSurveyRecord(Long id) {
surveyRecordDao.pauseSurveyRecord(id);
}
public void resumeSurveyRecord(Long id) {
surveyRecordDao.resumeSurveyRecord(id);
}
public void saveSurveyRecord(SurveyRecord surveyRecord) {
surveyRecordDao.saveSurveyRecord(surveyRecord);
}
public void startSurveyRecord(Long id) {
surveyRecordDao.startSurveyRecord(id);
}
public void stopSurveyRecord(Long id) {
surveyRecordDao.stopSurveyRecord(id);
}
public SurveyRecordDao getSurveyRecordDao() {
return surveyRecordDao;
}
public void setSurveyRecordDao(SurveyRecordDao surveyRecordDao) {
this.surveyRecordDao = surveyRecordDao;
}
public void initQuestionItemRecords(Long surveyRecordId, Long surveyId) {
Survey survey = surveyDao.getSurveyById(surveyId);
if (survey != null) {
Set questions = survey.getQuestions();
if (questions != null) {
Iterator itQuestions = questions.iterator();
while (itQuestions.hasNext()) {
Question question = (Question) itQuestions.next();
Set questionItems = question.getQuestionItems();
if (questionItems != null) {
Iterator itQuestionItems = questionItems.iterator();
while (itQuestionItems.hasNext()) {
QuestionItem item = (QuestionItem) itQuestionItems
.next();
Long itemId = item.getQuestionItemId();
Long questionId = item.getQuestion()
.getQuestionId();
QuestionItemRecord itemRecord = questionItemRecordDao
.getQuestionItemRecord(surveyRecordId,
itemId);
if (itemRecord != null) {
itemRecord.setQuestionId(questionId);
itemRecord.setQuestionItemPolledTimes(0);
itemRecord.setQuestionItemId(itemId);
itemRecord.setSurveyRecordId(surveyRecordId);
questionItemRecordDao
.saveQuestionItemRecord(itemRecord);
} else {
itemRecord = new QuestionItemRecord();
itemRecord.setQuestionId(questionId);
itemRecord.setQuestionItemPolledTimes(0);
itemRecord.setQuestionItemId(itemId);
itemRecord.setSurveyRecordId(surveyRecordId);
questionItemRecordDao
.addQuestionItemRecord(itemRecord);
}
//
}
}
}
}
}
}
public void updateQuestionItems(Long surveyRecordId, String questionItemsId) {
questionItemRecordDao.updateQuestionItems(surveyRecordId,
questionItemsId);
}
public void updateQuestionItems2(Long surveyRecordId, String questionItemsId) {
questionItemRecordDao.updateQuestionItems2(surveyRecordId,
questionItemsId);
}
public int getQuestionItemsTotalCount(Long surveyRecordId, Long questionId) {
return questionItemRecordDao.getQuestionItemsTotalCount(surveyRecordId,
questionId);
}
public QuestionItemRecord getQuestionItemRecord(Long surveyRecordId,
Long itemId) {
return questionItemRecordDao.getQuestionItemRecord(surveyRecordId,
itemId);
}
public int getQuestionAnswerTotalCount(Long surveyRecordId, Long questionId) {
return voterDao.getQuestionAnswerTotalCount(surveyRecordId, questionId);
}
public void setVoterDao(VoterDao voterDao) {
this.voterDao = voterDao;
}
public List<Survey> getSurveys(Long nodeId, QueryInfo qi, PageBuilder pb) {
return surveyDao.getSurveys(nodeId, qi, pb);
}
}