Subversion Repositories bacoAlunos

Rev

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

package pt.estgp.estgweb.domain.views;

import pt.estgp.estgweb.domain.*;
import pt.estgp.estgweb.web.utils.DatesUtils;
import pt.estgp.estgweb.web.UserSessionProxy;
import pt.estgp.estgweb.Globals;

import javax.servlet.http.HttpServletRequest;
import java.io.Serializable;
import java.util.List;
import java.util.Date;

import jomm.utils.StringsUtils;

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

public class CourseUnitAssignementView extends DomainObjectView
{

    private long id;
    private long courseUnitId;
    private 1.5.0/docs/api/java/lang/String.html">String title;
    private 1.5.0/docs/api/java/lang/String.html">String description;
    private long delivers;
    private boolean status = true;
    private 1.5.0/docs/api/java/lang/String.html">String deliverType;
    private boolean lateDelivers;
    private 1.5.0/docs/api/java/lang/String.html">String deliverDate;
    private 5+0%2Fdocs%2Fapi+Date">Date deliverDateDate;
    private 1.5.0/docs/api/java/lang/String.html">String workFile;
    private CourseUnitDeliverableView courseUnitDeliverableView;
    private List<CourseUnitDeliverableView> deliverables;
    private CourseUnitView courseUnitView;
    private RepositoryFileImpl repositoryFile;

    private CourseUnitAssignement courseUnitAssignement;

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

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

    public CourseUnitAssignementView()
    {
    }

 

    public CourseUnitAssignementView(CourseUnitAssignement courseUnitAssignement, long delivers)
    {
        super(courseUnitAssignement);
        this.courseUnitAssignement = courseUnitAssignement;
        this.courseUnitId = courseUnitAssignement.getCourseUnit().getId();
        this.id = courseUnitAssignement.getId();
        this.title = courseUnitAssignement.getTitle();
        this.description = courseUnitAssignement.getDescription();
        this.status = courseUnitAssignement.isStatus();
        this.delivers = delivers;
        this.deliverType = courseUnitAssignement.getDeliverType();
        this.deliverDate = DatesUtils.getStringFromDate(courseUnitAssignement.getDeliverDate());
        this.deliverDateDate = courseUnitAssignement.getDeliverDate();
        this.lateDelivers = courseUnitAssignement.isLateDelivers();
        this.workFile = courseUnitAssignement.getRepositoryStream();
    }

    public void persistViewInObject(CourseUnitAssignement c)
    {
        c.setTitle(title);
        c.setDescription(description);
        c.setStatus(status);
        c.setLateDelivers(lateDelivers);
        c.setDeliverDate(DatesUtils.getDateFromString(deliverDate));
        c.setDeliverType(deliverType);
    }

    public RepositoryFileImpl getRepositoryFile()
    {
        return repositoryFile;
    }

    public void setRepositoryFile(RepositoryFileImpl repositoryFile)
    {
        this.repositoryFile = repositoryFile;
    }

    public 5+0%2Fdocs%2Fapi+Date">Date getDeliverDateDate()
    {
        return deliverDateDate;
    }

    public void setDeliverDateDate(5+0%2Fdocs%2Fapi+Date">Date deliverDateDate)
    {
        this.deliverDateDate = deliverDateDate;
    }

    public long getId()
    {
        return id;
    }

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

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

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

    public CourseUnitView getCourseUnitView()
    {
        return courseUnitView;
    }

    public void setCourseUnitView(CourseUnitView courseUnitView)
    {
        this.courseUnitView = courseUnitView;
    }

    public CourseUnitAssignement getCourseUnitAssignement()
    {
        return courseUnitAssignement;
    }

    public void setCourseUnitAssignement(CourseUnitAssignement courseUnitAssignement)
    {
        this.courseUnitAssignement = courseUnitAssignement;
    }

    public boolean isStatus()
    {
        return status;
    }

    public void setStatus(boolean status)
    {
        this.status = status;
    }

    public long getDelivers()
    {
        return delivers;
    }

    public void setDelivers(int delivers)
    {
        this.delivers = delivers;
    }

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

    public 1.5.0/docs/api/java/lang/String.html">String getFormatedDescription()
    {
        return StringsUtils.getFormatedText(description);
    }

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

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

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


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

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

    public boolean isLateDelivers()
    {
        return lateDelivers;
    }

    public void setLateDelivers(boolean lateDelivers)
    {
        this.lateDelivers = lateDelivers;
    }

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

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


    public CourseUnitDeliverableView getCourseUnitDeliverableView()
    {
        return courseUnitDeliverableView;
    }

    public void setCourseUnitDeliverableView(CourseUnitDeliverableView courseUnitDeliverableView)
    {
        this.courseUnitDeliverableView = courseUnitDeliverableView;
    }

    public boolean isActive()
    {
        return courseUnitAssignement.getDeliverDate() != null && courseUnitAssignement.getDeliverDate().getTime() >= 1.5.0/docs/api/java/lang/System.html">System.currentTimeMillis();
    }


    public long getCourseUnitId()
    {
        return courseUnitId;
    }

    public void setCourseUnitId(long courseUnitId)
    {
        this.courseUnitId = courseUnitId;
    }


    public List<CourseUnitDeliverableView> getDeliverables()
    {
        return deliverables;
    }

    public void setDeliverables(List<CourseUnitDeliverableView> deliverables)
    {
        this.deliverables = deliverables;
    }

    public boolean canDeliver(HttpServletRequest request)
    {
        UserSession userSession = UserSessionProxy.loadUserSessionFromRequest(request);
        return
                userSession.getUser() != null &&
                ((UserImpl) userSession.getUser()).isInCourseUnit(courseUnitId) &&
                !deliverType.equals(Globals.COURSEUNIT_ASSIGNEMENT_TYPE_NO_FILE) &&
                (lateDelivers || courseUnitAssignement.getDeliverDate().getTime() >= 1.5.0/docs/api/java/lang/System.html">System.currentTimeMillis());
    }

    public boolean isLateDeliver()
    {
        return courseUnitDeliverableView != null && courseUnitDeliverableView.isLateDeliver();
    }
}