Subversion Repositories bacoAlunos

Rev

Rev 1306 | Blame | Compare with Previous | Last modification | View Log | RSS feed

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