Subversion Repositories bacoAlunos

Rev

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

package pt.estgp.estgweb.domain.views;

import org.apache.log4j.Logger;
import pt.estgp.estgweb.domain.*;

import java.io.Serializable;
import java.util.Set;
import java.util.List;
import java.util.ArrayList;
import java.util.HashSet;

/**
 * @author Jorge Machado
 * @date 2/Mar/2008
 * @time 19:34:49
 * @see pt.estgp.estgweb.domain.views
 */

public class CourseUnitView extends DomainObjectView implements ICanManage
{
    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(CourseUnitView.class);

    private long id;
    private 1.5.0/docs/api/java/lang/String.html">String name;
    private 1.5.0/docs/api/java/lang/String.html">String code;
    private 1.5.0/docs/api/java/lang/String.html">String courseCode;
    private 1.5.0/docs/api/java/lang/String.html">String courseName;
    private 1.5.0/docs/api/java/lang/String.html">String semestre;
    private 1.5.0/docs/api/java/lang/String.html">String importYear;
    private BlogView blog;
    private Set<CourseUnitAnnouncement> announcements;
    private CourseUnit courseUnit;
    private Set<UserView> teachers;
    private Set<UserView> students;

    private 1.5.0/docs/api/java/lang/String.html">String objectives;
    private 1.5.0/docs/api/java/lang/String.html">String programStreamId;
    private int programSize;
    private 1.5.0/docs/api/java/lang/String.html">String extension;
    private Set<CourseUnitAssignementView> courseUnitAssignements;

    public 1.5.0/docs/api/java/lang/Class.html">Class getReferenceClass()
    {
        return CourseUnitImpl.class;
    }

    public 1.5.0/docs/api/java/io/Serializable.html">Serializable getSerializable()
    {
        return id;
    }

    public CourseUnitView()
    {
    }
    public CourseUnitView(CourseUnit courseUnit, boolean initTeachers, boolean initStudents )
    {
        super(courseUnit);
        init(courseUnit, initTeachers, initStudents);  
    }

    public CourseUnitView(CourseUnit courseUnit)
    {
        super(courseUnit);
        init(courseUnit, false,false);
    }
    private void init(CourseUnit courseUnit, boolean initTeachers, boolean initStudents)
    {
        this.courseUnit = courseUnit;
        this.courseName = courseUnit.getCourseName();
        this.name = courseUnit.getName();
        this.code = courseUnit.getCode();
        this.importYear = courseUnit.getImportYear();
        this.semestre = courseUnit.getSemestre();
        this.importYear = courseUnit.getImportYear();
        this.courseCode = courseUnit.getCourseCode();
//        if(courseUnit.getBlog() != null)
//            this.blog = new BlogView(courseUnit.getBlog());
        this.id = courseUnit.getId();
        teachers = new HashSet<UserView>();
        students = new HashSet<UserView>();
        if(initTeachers && courseUnit.getTeachers() != null)
        {
            for(TeacherImpl t: courseUnit.getTeachers())
            {
                UserView u = new UserView(t);
                teachers.add(u);
            }
        }
        if(initStudents && courseUnit.getStudents() != null)
        {
            for(StudentImpl s: courseUnit.getStudents())
            {
                UserView u = new UserView(s);
                students.add(u);
            }
        }
    }

    public int getTeachersSize()
    {
        if(teachers != null)
            return teachers.size();
        return 0;
    }

    public int getStudentsSize()
    {
        if(students != null)
            return students.size();
        return 0;
    }
   
    public void setCourseUnitAssignements(Set<CourseUnitAssignementView> courseUnitAssignements)
    {
        this.courseUnitAssignements = courseUnitAssignements;
    }

    public Set<CourseUnitAssignementView> getCourseUnitAssignements()
    {
        return courseUnitAssignements;
    }

    public void setId(long id)
    {
        this.id = id;
    }

    public void setName(1.5.0/docs/api/java/lang/String.html">String name)
    {
        this.name = name;
    }

    public void setCode(1.5.0/docs/api/java/lang/String.html">String code)
    {
        this.code = code;
    }

    public void setCourseCode(1.5.0/docs/api/java/lang/String.html">String courseCode)
    {
        this.courseCode = courseCode;
    }

    public void setCourseName(1.5.0/docs/api/java/lang/String.html">String courseName)
    {
        this.courseName = courseName;
    }

    public void persistViewInObject(CourseUnit c)
    {
        c.setObjectives(objectives);
    }

    public void persistViewAdminInObject(CourseUnit c)
    {
        c.setImportYear(importYear);
        c.setName(name);
        c.setCode(code);
        c.setSemestre(semestre);
    }

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

    public void setObjectives(1.5.0/docs/api/java/lang/String.html">String objectives)
    {
        this.objectives = objectives;
    }

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

    public void setProgramStreamId(1.5.0/docs/api/java/lang/String.html">String programStreamId)
    {
        this.programStreamId = programStreamId;
    }

    public long getId()
    {
        return id;
    }

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

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

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

    public void setSemestre(1.5.0/docs/api/java/lang/String.html">String semestre)
    {
        this.semestre = semestre;
    }

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

    public void setImportYear(1.5.0/docs/api/java/lang/String.html">String importYear)
    {
        this.importYear = importYear;
    }

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

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

    public BlogView getBlog()
    {
        return blog;
    }


    public int getProgramSize()
    {
        return programSize;
    }

    public void setProgramSize(int programSize)
    {
        this.programSize = programSize;
    }


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

    public void setExtension(1.5.0/docs/api/java/lang/String.html">String extension)
    {
        this.extension = extension;
    }

    public Set<CourseUnitAnnouncement> getAnnouncements()
    {
        return announcements;
    }

    public Set<UserView> getTeachers()
    {
        return teachers;
    }

    public Set<UserView> getStudents()
    {
        return students;
    }

    public boolean isOwnedBy(GenericUser u)
    {
        return u != null && u instanceof TeacherImpl && ((TeacherImpl)u).hasCourseUnit(getId());
    }

    /**
     * Not implemented can be variuous teachers
     * @return null
     * use isOwnedBy in this class
     */

    public GenericUser getOwner()
    {
        return null;
    }

    /**
     * Not implemented
     * @return
     */

    public List<String> getOwnerRoles()
    {
        return null;
    }

    /**
     * Not implemented
     * @return
     */

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

    public boolean isInternal()
    {
        return true;
    }

    public boolean isValid()
    {
        return true;
    }



}