package pt.estgp.estgweb.services.courses;
import org.apache.log4j.Logger;
import pt.estgp.estgweb.domain.Course;
import pt.estgp.estgweb.domain.DomainObject;
import pt.estgp.estgweb.domain.Teacher;
import pt.estgp.estgweb.domain.UserSession;
import pt.estgp.estgweb.domain.dao.DaoFactory;
import pt.estgp.estgweb.services.common.*;
import pt.estgp.estgweb.services.common.impl.DefaultResult;
import pt.estgp.estgweb.services.common.impl.DefaultSearchResults;
import pt.utl.ist.berserk.logic.serviceManager.IService;
import java.util.ArrayList;
import java.util.List;
/*
* @author Goncalo Luiz gedl [AT] rnl [DOT] ist [DOT] utl [DOT] pt
*
*
* Created at 17/Out/2003 , 23:45:24
*
*/
/**
* @author Jorge Machado
* <p/>
* <p/>
* Created at 17/Out/2003 , 23:45:24
*/
public class CoursesCommonServices
extends SingleSearchResults
implements IService, IModuleCommonServices
{
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(CoursesCommonServices.
class);
public int countSearch
(1.5.0/docs/api/java/lang/String.html">String search, SearchTypeEnum searchType, UserSession userSession
)
{
return 0;
}
public ISearchResults search
(1.5.0/docs/api/java/lang/String.html">String search, SearchTypeEnum searchType,
int page,
int maxResults, UserSession userSession
)
{
return search
(null, search, searchType, page, maxResults, userSession
);
}
public ISearchResults search
(1.5.0/docs/api/java/lang/String.html">String from,
1.5.0/docs/api/java/lang/String.html">String search, SearchTypeEnum searchType,
int page,
int maxResults, UserSession userSession
)
{
DefaultSearchResults searchResults =
new DefaultSearchResults
();
searchResults.
setModule(ModuleEnum.
Courses);
searchResults.
setTotalResults(DaoFactory.
getCourseDaoImpl().
countCoursesActualYear(search, searchType
));
if (searchResults.
getTotalResults() > 0
)
{
List
<Course
> courses = DaoFactory.
getCourseDaoImpl().
searchActualYear(search, searchType, maxResults, page
);
if (courses ==
null)
return searchResults
;
for (Course course : courses
)
{
DefaultResult defaultResult =
new DefaultResult
();
defaultResult.
setTitle(course.
getName());
defaultResult.
setText(course.
getDescription());
if (from ==
null)
defaultResult.
setUrl("/startLoadCourseSeparators.do?courseView.id=" + course.
getId());
else
defaultResult.
setUrl("/user/startLoadCourseFrom" + from +
".do?courseView.id=" + course.
getId());
searchResults.
addResult(defaultResult
);
}
}
return searchResults
;
}
public int countToDo
(UserSession userSession
)
{
return 0;
}
public IToDoCat getToDo
(UserSession userSession
)
{
return null;
}
public List
<IToDo
> getAllToDos
(UserSession userSession
)
{
List
<IToDo
> todos =
new ArrayList
<IToDo
>();
if(userSession.
getUser() !=
null
&& userSession.
getUser() instanceof Teacher
)
{
// Teacher teacher = (Teacher) userSession.getUser();
// if(teacher.getCoordinatorCourses() != null && teacher.getCoordinatorCourses().size() > 0 || teacher.getDirectorCourses() != null && teacher.getDirectorCourses().size() > 0)
// {
// Set<Course> coordinatorCourses = teacher.getCoordinatorCourses();
// Set<Course> directorCourses = teacher.getDirectorCourses();
// if(coordinatorCourses == null)
// coordinatorCourses = new HashSet<Course>();
// if(directorCourses == null)
// directorCourses = new HashSet<Course>();
// coordinatorCourses = new HashSet<Course>(coordinatorCourses);
// directorCourses = new HashSet<Course>(directorCourses);
// coordinatorCourses.removeAll(directorCourses);
// directorCourses.addAll(coordinatorCourses);
// for(Course course: directorCourses)
// {
// int missing = DaoFactory.getCourseUnitDaoImpl().countMissingProgramGivenCourse(course.getId());
// if(missing > 0)
// {
// DefaultToDo defaultToDo = new DefaultToDo(course.getName(),null,null, "course.courseunit.program.objectives.todo",""+missing,"/user/startLoadCoursesProgramsFromHome.do?area=" + course.getArea() +"#" + course.getId());
// todos.add(defaultToDo);
// }
// }
// }
}
/*if(userSession.getUser().hasRole(Globals.COURSE_COMMISSION_PROGRAMS_ROLES))
{
List<Course> courses = DaoFactory.getCourseDaoImpl().findAll(DaoFactory.getConfigurationDaoImpl().getInterfaceImportYear());
for(Course course: courses)
{
if(userSession.getUser().hasRole(course.getValidationRole()))
{
int missing = DaoFactory.getCourseUnitDaoImpl().countMissingProgramGivenCourse(course.getId());
if(missing > 0)
{
DefaultToDo defaultToDo = new DefaultToDo(course.getName(),null,null, "course.courseunit.program.objectives.todo",""+missing,"/user/startLoadCoursesProgramsFromHome.do?courseId=" + course.getId() + "#" + course.getId());
todos.add(defaultToDo);
}
int missingValidate = DaoFactory.getCourseUnitDaoImpl().countMissingProgramValidateCourse(course.getId());
if(missingValidate > 0)
{
DefaultToDo defaultToDo = new DefaultToDo(course.getName(),null,null, "course.courseunit.program.validate.todo",""+missingValidate,"/user/startLoadCoursesProgramsFromHome.do?courseId=" + course.getId() + "#" + course.getId());
todos.add(defaultToDo);
}
}
}
}*/
/*
if(userSession.getUser().hasRole(Globals.SERVICES_PROGRAMS_ROLE))
{
List<Course> courses = DaoFactory.getCourseDaoImpl().findAll(DaoFactory.getConfigurationDaoImpl().getInterfaceImportYear());
for(Course course: courses)
{
int missing = DaoFactory.getCourseUnitDaoImpl().countMissingProgramGivenCourse(course.getId());
if(missing > 0)
{
DefaultToDo defaultToDo = new DefaultToDo(course.getName(),null,null, "course.courseunit.program.objectives.todo",""+missing,"/user/startLoadCoursesProgramsFromHome.do?courseId=" + course.getId() + "#" + course.getId());
todos.add(defaultToDo);
}
}
}*//*This method is invoked from object creation*/
return todos
;
}
public void adviseNew
(DomainObject object
)
{
//To change body of implemented methods use File | Settings | File Templates.
}
public void adviseUpdate
(DomainObject object
)
{
//To change body of implemented methods use File | Settings | File Templates.
}
}