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
;
}
}