Subversion Repositories bacoAlunos

Rev

Rev 1701 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

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

import org.apache.log4j.Logger;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.upload.FormFile;
import org.apache.struts.upload.MultipartRequestHandler;
import pt.estgp.estgweb.Globals;
import pt.estgp.estgweb.domain.views.CourseUnitAssignementView;
import pt.estgp.estgweb.domain.views.CourseUnitDeliverableView;
import pt.estgp.estgweb.domain.views.CourseUnitView;
import pt.estgp.estgweb.services.common.SearchTypeEnum;
import pt.estgp.estgweb.utils.DatesUtils;
import pt.estgp.estgweb.web.form.commons.TeachersForm;

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

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

public class CourseUnitsForm extends TeachersForm
{
    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(CourseUnitsForm.class);

    CourseUnitView courseUnitView = new CourseUnitView();

    //aux
    long courseId;
    long id;
    long teacherId;
    int studentCode;
    boolean showNewWorkForm = false;
    FormFile uploadFile;

    1.5.0/docs/api/java/lang/String.html">String choosedTurma;
    1.5.0/docs/api/java/lang/String.html">String newChoosedTurma;


    //courseunit
    FormFile programFile;
    CourseUnitAssignementView courseUnitAssignementView = new CourseUnitAssignementView();
    //search
    1.5.0/docs/api/java/lang/String.html">String textToSearch;
    1.5.0/docs/api/java/lang/String.html">String searchType = SearchTypeEnum.AllWords.getMessageKey();
    int page;


    public CourseUnitsForm(boolean initDeliverables)
    {
        if(initDeliverables)
            initDeliverables();
    }
    public CourseUnitsForm()
    {
        initDeliverables();
    }

    public void initDeliverables()
    {
        courseUnitAssignementView.setDeliverables(new ArrayList<CourseUnitDeliverableView>());
        for(int i = 0; i < 200; i++)
        {
            courseUnitAssignementView.getDeliverables().add(new CourseUnitDeliverableView());
        }
    }

    public CourseUnitView getCourseUnitView()
    {
        return courseUnitView;
    }

    public void setCourseUnitView(CourseUnitView courseUnitView)
    {
        this.courseUnitView = courseUnitView;
    }

    public FormFile getProgramFile()
    {
        return programFile;
    }

    public void setProgramFile(FormFile programFile)
    {
        this.programFile = programFile;
    }

    public List<String> getImportYears()
    {
        return DatesUtils.getImportYears(15);
    }


    public boolean isShowNewWorkForm()
    {
        return showNewWorkForm;
    }

    public void setShowNewWorkForm(boolean showNewWorkForm)
    {
        this.showNewWorkForm = showNewWorkForm;
    }

    public CourseUnitAssignementView getCourseUnitAssignementView()
    {
        return courseUnitAssignementView;
    }

    public void setCourseUnitAssignementView(CourseUnitAssignementView courseUnitAssignementView)
    {
        this.courseUnitAssignementView = courseUnitAssignementView;
    }


    public long getId()
    {
        return id;
    }

    public void setId(long id)
    {
        this.id = id;
    }

    public long getTeacherId()
    {
        return teacherId;
    }

    public void setTeacherId(long teacherId)
    {
        this.teacherId = teacherId;
    }


    public int getStudentCode()
    {
        return studentCode;
    }

    public void setStudentCode(int studentCode)
    {
        this.studentCode = studentCode;
    }

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

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


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

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

    public SearchTypeEnum getSearchTypeEnum()
    {
        return SearchTypeEnum.parse(searchType);
    }

    public void setSearchTypeEnum(SearchTypeEnum searchTypeEnum)
    {
        searchType = searchTypeEnum.getMessageKey();
    }


    public int getPage()
    {
        return page;
    }

    public void setPage(int page)
    {
        this.page = page;
    }




    public FormFile getUploadFile()
    {
        return uploadFile;
    }

    public void setUploadFile(FormFile uploadFile)
    {
        this.uploadFile = uploadFile;
    }

    public ActionErrors validate(org.apache.struts.action.ActionMapping actionMapping, javax.servlet.http.HttpServletRequest httpServletRequest)
    {
        ActionErrors errors = new ActionErrors();

        return errors;
    }

    public ActionErrors validateCreateAssignement(org.apache.struts.action.ActionMapping actionMapping, javax.servlet.http.HttpServletRequest httpServletRequest)
    {
        ActionErrors errors = new ActionErrors();
        1.5.0/docs/api/java/lang/Boolean.html">Boolean maxLengthExceeded =
                (1.5.0/docs/api/java/lang/Boolean.html">Boolean) httpServletRequest.getAttribute(MultipartRequestHandler.ATTRIBUTE_MAX_LENGTH_EXCEEDED);
        if(maxLengthExceeded != null)
        {
            logger.error("MAX FILE UPLOAD EXCEEDED");
            addMessage(errors, httpServletRequest, "errors.file.too.long", "20MB");
            return errors;
        }

        //if(getUploadFile() == null || getUploadFile().getFileSize() == 0)
        //{
        //    addMessageAsString(errors,"Um Ficheiro esta Vazio");
        //    return errors;
        //}

        //tod verificar
        if(getUploadFile() != null)
        {
            try{
                double fileSize = getUploadFile().getFileSize();
                fileSize = fileSize / 1024.0 / 1024.0;
                if(fileSize > Globals.MAX_FILE_UPOLOAD_SIZE_MBYTES)
                {
                    addMessage(errors, httpServletRequest, "errors.file.too.long",  Globals.MAX_FILE_UPOLOAD_SIZE_MBYTES + "MB");
                    return errors;
                }
            }catch(1.5.0/docs/api/java/lang/Throwable.html">Throwable e)
            {
                //muito pequeno se dividir por 0 nao faz mal
            }
        }

        if(courseUnitAssignementView.getDeliverDate() == null || courseUnitAssignementView.getDeliverDate().length() == 0)
        {
            addMessageWithKeys(errors,httpServletRequest,"errors.required","courseunit.assignement.deliver.date");
        }
        if(courseUnitAssignementView.getTitle() == null || courseUnitAssignementView.getTitle().trim().length() == 0)
        {
            addMessageWithKeys(errors,httpServletRequest,"errors.required","courseunit.title");
        }
//        if(uploadFile != null && uploadFile.getFileSize() > 0 && !uploadFile.getFileName().endsWith(".zip"))
//        {
//            addMessage(errors,httpServletRequest,"errors.courseunit.assignement.file.type");
//        }
        return errors;
    }

    public ActionErrors validateDeliverWork(org.apache.struts.action.ActionMapping actionMapping, javax.servlet.http.HttpServletRequest httpServletRequest)
    {
        ActionErrors errors = new ActionErrors();
        if(uploadFile == null || uploadFile.getFileSize() == 0)
        {
            addMessage(errors,httpServletRequest,"errors.courseunit.assignement.deliver.file");
        }

        //tod verificar
        try{
            double fileSize = uploadFile.getFileSize();
            fileSize = fileSize / 1024.0 / 1024.0;
            if(fileSize > Globals.MAX_FILE_UPOLOAD_SIZE_MBYTES)
            {
                addMessage(errors, httpServletRequest, "errors.file.too.long",  Globals.MAX_FILE_UPOLOAD_SIZE_MBYTES + "MB");
                return errors;
            }
        }catch(1.5.0/docs/api/java/lang/Throwable.html">Throwable e)
        {
            //muito pequeno se dividir por 0 nao faz mal
        }
//        if(uploadFile != null && uploadFile.getFileName() !=null && !uploadFile.getFileName().endsWith(".zip"))
//        {
//            addMessage(errors,httpServletRequest,"errors.courseunit.assignement.deliver.zip");
//        }
        return errors;
    }

    public void validateUpdateDeliverables()
    {
        Iterator<CourseUnitDeliverableView> iter = courseUnitAssignementView.getDeliverables().iterator();
        while (iter.hasNext())
        {
            CourseUnitDeliverableView courseUnitDeliverableView = iter.next();
            if(courseUnitDeliverableView.getId() <= 0)
            {
                iter.remove();
            }
        }
    }

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

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

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

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