Package com.agiletec.plugins.jpsurvey.aps.internalservlet

Source Code of com.agiletec.plugins.jpsurvey.aps.internalservlet.SurveyFrontEntryPointAction

/*
*
* Copyright 2013 Entando S.r.l. (http://www.entando.com) All rights reserved.
*
* This file is part of Entando software.
* Entando is a free software;
* You can redistribute it and/or modify it
* under the terms of the GNU General Public License (GPL) as published by the Free Software Foundation; version 2.
*
* See the file License for the specific language governing permissions  
* and limitations under the License
*
*
*
* Copyright 2013 Entando S.r.l. (http://www.entando.com) All rights reserved.
*
*/
package com.agiletec.plugins.jpsurvey.aps.internalservlet;

import java.util.Date;

import com.agiletec.aps.system.ApsSystemUtils;
import com.agiletec.plugins.jpsurvey.aps.internalservlet.model.CurrentVotingInfoBean;
import com.agiletec.plugins.jpsurvey.aps.internalservlet.system.AbstractSurveyAction;
import com.agiletec.plugins.jpsurvey.aps.system.services.collect.model.Voter;
import com.agiletec.plugins.jpsurvey.aps.system.services.survey.model.Survey;

/**
* @author E.Santoboni
*/
public class SurveyFrontEntryPointAction extends AbstractSurveyAction implements ISurveyFrontEntryPointAction {
 
  @Override
  public String startSurvey() {
    Survey survey = null;
    try {
      this.getRequest().getSession().removeAttribute(ApsAdminSurveySystemConstants.SURVEY_CURRENT_VOTING_INFO_SESSION_PARAM);
      this.getRequest().getSession().removeAttribute(ApsAdminSurveySystemConstants.SURVEY_CURRENT_QUESTION_INDEX_SESSION_PARAM);
      survey = this.getSurveyManager().loadSurvey(this.getSurveyId());
      Voter voter = this.createVoter();
     
      CurrentVotingInfoBean currentVotingInfoBean = new CurrentVotingInfoBean(survey, voter);
      this.getRequest().getSession().setAttribute(ApsAdminSurveySystemConstants.SURVEY_CURRENT_VOTING_INFO_SESSION_PARAM, currentVotingInfoBean);
      this.getRequest().getSession().setAttribute(ApsAdminSurveySystemConstants.SURVEY_CURRENT_QUESTION_INDEX_SESSION_PARAM, new Integer(-1));
    } catch (Throwable t) {
      ApsSystemUtils.logThrowable(t, this, "startSurvey");
      return FAILURE;
    }
    if (survey.isGatherUserInfo()) {
      return "profileVoterUser";
    }
    return SUCCESS;
  }
 
  protected Voter createVoter() {
    Voter voter = new Voter();
    voter.setDate(new Date());
    voter.setSurveyid(this.getSurveyId());
    voter.setUsername(this.getCurrentUser().getUsername());
    voter.setIpaddress(this.getRequest().getRemoteAddr());
    return voter;
  }
 
  public boolean isVotable(Survey survey) {
    boolean votable = (null != survey && survey.isActive()
        && (survey.getEndDate() == null || survey.getEndDate().after(new Date())));
    return votable;
  }
 
}
TOP

Related Classes of com.agiletec.plugins.jpsurvey.aps.internalservlet.SurveyFrontEntryPointAction

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.