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();
}
}