Subversion Repositories bacoAlunos

Rev

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

package pt.estgp.estgweb.domain;

import pt.estgp.estgweb.Globals;
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 java.util.Set;
import java.util.HashSet;

import org.apache.log4j.Logger;

/**
 * @author Jorge Machado
 * @date 28/Fev/2008
 * @time 12:51:32
 * @see pt.estgp.estgweb
 */

public class TeacherImpl extends Teacher
{

    public static final 1.5.0/docs/api/java/lang/String.html">String TEACHER_ROLE = Globals.TEACHER_ROLE;

    public 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(TeacherImpl.class);

    private Set<CourseUnit> teachedUnitsView = null;

    public 1.5.0/docs/api/java/lang/String.html">String getManagedRole() {
        return TEACHER_ROLE;
    }

    public Set<CourseUnit> getTeachedUnitsView()
    {
        if(teachedUnitsView == null)
        {
            try
            {
                IServiceManager sm = ServiceManager.getInstance();
                1.5.0/docs/api/java/lang/String.html">String[] names = new 1.5.0/docs/api/java/lang/String.html">String[]{"serializable"};
                5+0%2Fdocs%2Fapi+Object">Object[] args = new 5+0%2Fdocs%2Fapi+Object">Object[]{getId()};
                teachedUnitsView = (Set<CourseUnit>) sm.execute(null, "LoadTeachedUnits", args, names);
                if(teachedUnitsView == null)
                    teachedUnitsView = new HashSet<CourseUnit>();
            }
            catch (1.5.0/docs/api/java/lang/Throwable.html">Throwable e)
            {
                logger.error(e,e);
            }
        }
        return teachedUnitsView;
    }

    public boolean hasCourseUnit(CourseUnit courseUnit)
    {
        return hasCourseUnit(courseUnit,false);
    }

    public boolean hasCourseUnit(CourseUnit courseUnit, boolean transaction)
    {
        Set<CourseUnit> cUnits;
        if(transaction)
            cUnits = getTeachedUnits();
        else
            cUnits = getTeachedUnitsView();
        if(cUnits == null)
            return false;
        for(CourseUnit c: cUnits)
        {
            if(c.getId() == courseUnit.getId())
                return true;
        }
        return false;
    }
}