package pt.estgp.estgweb.services.courseunits;
import org.apache.log4j.Logger;
import pt.estgp.estgweb.domain.*;
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.estgp.estgweb.services.common.impl.DefaultToDo;
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 CourseUnitsCommonServices
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(CourseUnitsCommonServices.
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.
CourseUnits);
searchResults.
setTotalResults(DaoFactory.
getCourseUnitDaoImpl().
countCourseUnitsActualYear(search, searchType
));
if (searchResults.
getTotalResults() > 0
)
{
List
<CourseUnit
> courseUnits = DaoFactory.
getCourseUnitDaoImpl().
searchActualYear(search, searchType, maxResults, page
);
if (courseUnits ==
null)
return searchResults
;
for (CourseUnit courseUnit : courseUnits
)
{
DefaultResult defaultResult =
new DefaultResult
();
defaultResult.
setTitle(courseUnit.
getName());
defaultResult.
setSubTitle(courseUnit.
getCourseName());
defaultResult.
setSubTitleKey(false);
defaultResult.
setText(courseUnit.
getObjectives());
defaultResult.
setDate(courseUnit.
getImportYear());
if (from ==
null)
defaultResult.
setUrl("/startLoadCourseUnit.do?id=" + courseUnit.
getId());
else
defaultResult.
setUrl("/user/startLoadCourseUnitFrom" + from +
".do?id=" + courseUnit.
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
)
{
// HashMap<Long,Long> doneProgramCodes = new HashMap<Long,Long>();
/*List<CourseUnit> courseUnits = DaoFactory.getCourseUnitDaoImpl().loadMissingObjectivesOrPrograms(userSession.getUser().getId());
for(CourseUnit c: courseUnits)
{
DefaultToDo defaultToDo = new DefaultToDo(c.getName(),null,c.getCourseName(), "courseunit.program.objectives.todo","/user/startLoadCourseUnitFromHome.do?id=" + c.getId());
todos.add(defaultToDo);
// if(c.getProgramStreamId() == null || c.getProgramStreamId().length() == 0)
// {
//// doneProgramCodes.put(c.getId(),c.getId());
// defaultToDo = new DefaultToDo(c.getName(),null,c.getCourseName(), "courseunit.program.todo","/user/startLoadCourseUnitFromHome.do?id=" + c.getId());
// todos.add(defaultToDo);
// }
}
// courseUnits = DaoFactory.getCourseUnitDaoImpl().loadMissingPrograms(userSession.getUser().getId());
// for(CourseUnit c: courseUnits)
// {
// if(doneProgramCodes.get(c.getId()) == null) //is not in missing objectives units
// {
// doneProgramCodes.put(c.getId(),c.getId());
// DefaultToDo defaultToDo = new DefaultToDo(c.getName(),null,c.getCourseName(), "courseunit.program.todo","/user/startLoadCourseUnitFromHome.do?id=" + c.getId());
// todos.add(defaultToDo);
// }
// }
List<CourseUnitQuestion> courseUnitQuestions = DaoFactory.getCourseUnitQuestionDaoImpl().loadMissingQuestions(userSession.getUser().getId());
for(CourseUnitQuestion c: courseUnitQuestions)
{
DefaultToDo defaultToDo = new DefaultToDo(c.getQuestion(),null,c.getCourseUnit().getName(), "courseunit.question.todo","/user/startLoadCourseUnitFromHome.do?id=" + c.getId());
todos.add(defaultToDo);
}
*/
}
if(userSession.
getUser() !=
null && userSession.
getUser() instanceof Student
)
{
List
<CourseUnitAssignementImpl
> courseUnitAssignements = DaoFactory.
getCourseUnitAssignementDaoImpl().
loadActiveAssignements(userSession.
getUser().
getId());
List
<CourseUnitAssignementImpl
> courseUnitAssignementsDelivered = DaoFactory.
getCourseUnitAssignementDaoImpl().
loadDeliveredAssignements(userSession.
getUser().
getId());
courseUnitAssignements.
removeAll(courseUnitAssignementsDelivered
);
for(CourseUnitAssignementImpl c: courseUnitAssignements
)
{
DefaultToDo defaultToDo =
new DefaultToDo
(c.
getTitle(),
null,c.
getCourseUnit().
getName(),
"courseunit.assignement.todo",
"/user/startLoadCourseUnitWorksFromHome.do?courseUnitView.id=" + c.
getCourseUnit().
getId());
todos.
add(defaultToDo
);
}
}
return todos
;
}/*This method is invoked from object creation*/
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.
}
}