Subversion Repositories bacoAlunos

Rev

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

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

import pt.estgp.estgweb.domain.views.BlogView;
import pt.estgp.estgweb.domain.views.BlogPostView;
import pt.estgp.estgweb.domain.UserSessionImpl;
import pt.estgp.estgweb.web.form.AddRolesForm;
import pt.estgp.estgweb.web.UserSessionProxy;
import pt.estgp.estgweb.web.utils.DatesUtils;
import pt.estgp.estgweb.Globals;

import org.apache.struts.upload.FormFile;
import org.apache.struts.action.ActionErrors;
import org.apache.log4j.Logger;

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

/**
 * @author Jorge Machado
 * @date 21/Abr/2008
 * @time 14:28:59
 * @see pt.estgp.estgweb.web.form.blogs
 */

public class BlogForm extends AddRolesForm
{
    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(BlogForm.class);
   
    private BlogView blogView = new BlogView();

    private BlogPostView blogPostView = new BlogPostView();

    private FormFile image;

    public BlogView getBlogView() {
        return blogView;
    }

    public void setBlogView(BlogView blogView) {
        this.blogView = blogView;
    }

    public FormFile getImage() {
        return image;
    }

    public void setImage(FormFile image) {
        this.image = image;
    }
   
    public BlogPostView getBlogPostView()
    {
        return blogPostView;
    }

    public void setBlogPostView(BlogPostView blogPostView)
    {
        this.blogPostView = blogPostView;
    }

    public ActionErrors validate(org.apache.struts.action.ActionMapping actionMapping, javax.servlet.http.HttpServletRequest httpServletRequest)
    {
        if(httpServletRequest.getParameter("dispatch").equals("save"))
        {
            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);
                }
                blogView.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(image.getFileSize() != 0 && image.getFileSize()>(Globals.MAX_BIGMAGE_FILE_SIZE_BYTES))
            addMessage(errors,httpServletRequest,"blog.exceed.image.max.size");
        if(blogView.getTitle() == null || blogView.getTitle().trim().length() == 0)
            addMessageWithKeys(errors,httpServletRequest,"errors.required","blog.title");
        if(blogView.getDescription() == null || blogView.getDescription().trim().length() == 0)
            addMessageWithKeys(errors,httpServletRequest,"errors.required","blog.description");

        return errors;
    }

    public ActionErrors validatePost(org.apache.struts.action.ActionMapping actionMapping, javax.servlet.http.HttpServletRequest httpServletRequest)
    {
        ActionErrors errors = new ActionErrors();
        if(image!=null && image.getFileSize() != 0 && image.getFileSize()>(Globals.MAX_BIGMAGE_FILE_SIZE_BYTES))
            addMessage(errors,httpServletRequest,"blog.exceed.image.max.size");
        if(blogPostView.getTitle() == null || blogPostView.getTitle().trim().length() == 0)
            addMessageWithKeys(errors,httpServletRequest,"errors.required","blogpost.title");
        if(blogPostView.getText() == null || blogPostView.getText().trim().length() == 0)
            addMessageWithKeys(errors,httpServletRequest,"errors.required","blogpost.text");

        return errors;
    }
}