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 pt.estgp.estgweb.web.form.AddRolesForm;
import pt.estgp.estgweb.web.form.ApplicationForm;
import pt.estgp.estgweb.web.form.commons.TeachersForm;
import pt.estgp.estgweb.web.utils.RequestUtils;
import pt.estgp.estgweb.domain.views.CourseUnitView;
import pt.estgp.estgweb.domain.views.CourseUnitAssignementView;
import pt.estgp.estgweb.domain.views.UserView;
import pt.estgp.estgweb.domain.views.CourseUnitDeliverableView;
import pt.estgp.estgweb.domain.TeacherImpl;
import pt.estgp.estgweb.domain.Teacher;
import pt.estgp.estgweb.utils.DatesUtils;
import pt.estgp.estgweb.services.common.SearchTypeEnum;
import pt.utl.ist.berserk.logic.serviceManager.IServiceManager;
import pt.utl.ist.berserk.logic.serviceManager.ServiceManager;
import pt.utl.ist.berserk.logic.serviceManager.exceptions.ServiceManagerException;
import pt.utl.ist.berserk.logic.filterManager.exceptions.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
import java.util.ArrayList;
import java.util.Iterator;
/**
* @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
;
//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(5
);
}
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
();
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");
}
// 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();
}
}
}
}