Subversion Repositories bacoAlunos

Rev

Rev 46 | Blame | Compare with Previous | Last modification | View Log | RSS feed

package pt.estgp.estgweb.web.form.announcements;

import org.apache.log4j.Logger;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.upload.FormFile;
import pt.estgp.estgweb.domain.UserSessionImpl;
import pt.estgp.estgweb.domain.views.AnnouncementView;
import pt.estgp.estgweb.utils.ConfigProperties;
import pt.estgp.estgweb.web.UserSessionProxy;
import pt.estgp.estgweb.web.form.ApplicationForm;
import pt.estgp.estgweb.web.utils.DatesUtils;
import pt.estgp.estgweb.Globals;

import java.util.ArrayList;
import java.util.List;

/**
 * @author Jorge Machado
 * @date 28/Fev/2008
 * @time 20:42:25
 * @see pt.estgp.estgweb.web.form
 */

public class AnnouncementsForm extends ApplicationForm
{

    private static final 1.5.0/docs/api/java/util/logging/Logger.html">Logger logger = 1.5.0/docs/api/java/util/logging/Logger.html">Logger.getLogger(AnnouncementsForm.class);
    private static final 1.5.0/docs/api/java/lang/String.html">String TARGET_ROLES_KEY = "targetRoles";

    private AnnouncementView announcementView;

    private 1.5.0/docs/api/java/lang/String.html">String role;
    private 1.5.0/docs/api/java/lang/String.html">String startDate;
    private 1.5.0/docs/api/java/lang/String.html">String expireDate;
    private 1.5.0/docs/api/java/lang/String.html">String urlProtocol;
    private 1.5.0/docs/api/java/lang/String.html">String url;
    private FormFile bigImage;
    private FormFile smallImage;
    private 1.5.0/docs/api/java/lang/String.html">String targetRolesStr;
    private 1.5.0/docs/api/java/lang/String.html">String targetPrioritiesStr;
    private 1.5.0/docs/api/java/lang/Integer.html">Integer counter;
    private List<String> selectedRoles;



    private static List<String> targetRoles = Globals.USER_ROLES;
    private static List<String> announcementTypes = ConfigProperties.getListValues("announcements.type");
    private static List<String> targetPriorities = ConfigProperties.getListValues("announcements.priority");

    public AnnouncementsForm()
    {
        announcementView = new AnnouncementView();
    }

    public AnnouncementsForm(AnnouncementView announcementView)
    {
        this.announcementView = announcementView;
    }

    public 1.5.0/docs/api/java/lang/String.html">String getRole() {
        return role;
    }

    public void setRole(1.5.0/docs/api/java/lang/String.html">String role) {
        this.role = role;
    }

    public AnnouncementView getAnnouncementView()
    {
        return announcementView;
    }

    public void setAnnouncementView(AnnouncementView announcementView)
    {
        this.announcementView = announcementView;
    }


    public List<String> getSelectedRoles() {
        return selectedRoles;
    }

    public void setSelectedRoles(List<String> selectedRoles) {
        this.selectedRoles = selectedRoles;
    }

    public 1.5.0/docs/api/java/lang/String.html">String getTargetRolesStr() {
        return targetRolesStr;
    }

    public void setTargetRolesStr(1.5.0/docs/api/java/lang/String.html">String targetRolesStr) {
        this.targetRolesStr = targetRolesStr;
    }

    public 1.5.0/docs/api/java/lang/String.html">String getStartDate()
    {
        return startDate;
    }

    public void setStartDate(1.5.0/docs/api/java/lang/String.html">String startDate)
    {
        this.startDate = startDate;
    }

    public 1.5.0/docs/api/java/lang/String.html">String getExpireDate()
    {
        return expireDate;
    }

    public void setExpireDate(1.5.0/docs/api/java/lang/String.html">String expireDate)
    {
        this.expireDate = expireDate;
    }

    public List<String> getTargetRoles()
    {
        return targetRoles;
    }

    public void setTargetRoles(List<String> roles)
    {

    }

    public FormFile getBigImage() {
        return bigImage;
    }

    public void setBigImage(FormFile bigImage) {
        this.bigImage = bigImage;
    }

    public FormFile getSmallImage() {
        return smallImage;
    }

    public void setSmallImage(FormFile smallImage) {
        this.smallImage = smallImage;
    }


    public List<String> getAnnouncementTypes() {
        return announcementTypes;
    }

    public void setAnnouncementTypes(List<String> announcementTypes) {
        AnnouncementsForm.announcementTypes = announcementTypes;
    }

    public static List<String> getTargetPriorities() {
        return targetPriorities;
    }

    public static void setTargetPriorities(List<String> targetPriorities) {
        AnnouncementsForm.targetPriorities = targetPriorities;
    }

    public 1.5.0/docs/api/java/lang/String.html">String getTargetPrioritiesStr() {
        return targetPrioritiesStr;
    }

    public void setTargetPrioritiesStr(1.5.0/docs/api/java/lang/String.html">String targetPrioritiesStr) {
        this.targetPrioritiesStr = targetPrioritiesStr;
    }


    public 1.5.0/docs/api/java/lang/String.html">String getUrlProtocol() {
        return urlProtocol;
    }

    public void setUrlProtocol(1.5.0/docs/api/java/lang/String.html">String urlProtocol) {
        this.urlProtocol = urlProtocol;
    }

    public 1.5.0/docs/api/java/lang/String.html">String getUrl() {
        return url;
    }

    public void setUrl(1.5.0/docs/api/java/lang/String.html">String url) {
        this.url = url;
    }

    public 1.5.0/docs/api/java/lang/Integer.html">Integer getCounter() {
        return counter;
    }

    public void setCounter(1.5.0/docs/api/java/lang/Integer.html">Integer counter) {
        this.counter = counter;
    }

    public ActionErrors validate(org.apache.struts.action.ActionMapping actionMapping, javax.servlet.http.HttpServletRequest httpServletRequest)
    {
        UserSessionImpl userSession = null;
        try
        {
            userSession = (UserSessionImpl) UserSessionProxy.loadUserSessionFromRequest(httpServletRequest);
            List<String> roles = (List<String>) userSession.get(TARGET_ROLES_KEY);
            if(roles == null || roles.size() == 0)
            {
                roles = new ArrayList<String>();
                roles.add(targetRolesStr);
                announcementView.setTargetRoles(roles);
            }
        }
        catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable throwable)
        {
            logger.error(throwable,throwable);
        }



        if(httpServletRequest.getParameter("dispatch").equals("addRole") || httpServletRequest.getParameter("dispatch").equals("removeRole"))
            return null;
        ActionErrors errors = new ActionErrors();
        if(url.contains("http://"))
            addMessageWithKeys(errors,httpServletRequest,"errors.notrequired","announcement.protocol.error.http","announcement.linkAnnouncement");
        if(url.contains("https://"))
            addMessageWithKeys(errors,httpServletRequest,"errors.notrequired","announcement.protocol.error.https","announcement.linkAnnouncement");
        if(url.contains("ftp://"))
            addMessageWithKeys(errors,httpServletRequest,"errors.notrequired","announcement.protocol.error.ftp","announcement.linkAnnouncement");
        if(announcementView.getTitle() == null || announcementView.getTitle().trim().length() == 0)
            addMessageWithKeys(errors,httpServletRequest,"errors.required","announcement.title");
        if(announcementView.getText() == null || announcementView.getText().trim().length() == 0)
            addMessageWithKeys(errors,httpServletRequest,"errors.required","announcement.text");
        if(startDate!= null && startDate.length()>0)
            announcementView.setStartDate(DatesUtils.getDateFromString(startDate));
        if(expireDate != null && expireDate.length()>0)
            announcementView.setExpireDate(DatesUtils.getDateFromString(expireDate));
        return errors;
    }
}