package pt.estgp.estgweb.domain.views;
import jomm.utils.StringsUtils;
import org.apache.log4j.Logger;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import pt.estgp.estgweb.domain.*;
import pt.estgp.estgweb.domain.dao.DaoFactory;
import pt.estgp.estgweb.services.courseunits.LoadCourseUnitAnnouncements;
import java.io.Serializable;
import java.util.*;
/**
* @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);
LoadCourseUnitAnnouncements loadCourseUnitAnnouncements =
new LoadCourseUnitAnnouncements
();
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 long courseId
;
private long coordinatorId
;
private long responsableId
;
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 1.5.0/docs/api/java/lang/String.html">String contentsGrants
;
private BlogView blog
;
private 1.5.0/docs/api/java/lang/String.html">String pathIntranet
;
private 1.5.0/docs/api/java/lang/String.html">String normalizedName
;
private List
<AnnouncementView
> announcements
;
private List
<CourseUnitSummaryView
> summaries
;
private 1.5.0/docs/api/java/lang/String.html">String summariesJson
;
private CourseUnit courseUnit
;
private UserView responsableTeacher
;
private Set
<UserView
> teachers
;
private Set
<UserView
> studentsWithoutTurma
;
private Set
<UserView
> students
;
private List
<UserView
> studentsOrderedByName
;
private List
<UserView
> studentsOrderedByNumber
;
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 1.5.0/docs/api/java/lang/String.html">String evaluationStreamId
;
private boolean validProgram
;
private UserView validatorUser
;
private boolean teacherCompleteEvaluation =
false;
private boolean validEvaluation =
false;
private int programSize
;
private 1.5.0/docs/api/java/lang/String.html">String extension
;
private List
<CourseUnitAssignementView
> courseUnitAssignements
;
private 1.5.0/docs/api/java/lang/String.html">String sumariosPathFileIntranet
;
private 1.5.0/docs/api/java/lang/String.html">String cdTurma
;
private List
<CourseUnitTurmaView
> turmas =
null;
private boolean notFound =
false;
private CourseView courseView
;
private 1.5.0/docs/api/java/lang/String.html">String interfaceImportYear =
null;
private boolean evaluationOpenByAdmin =
false;
private 1.5.0/docs/api/java/lang/String.html">String topologies
;
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,
false,
false);
}
public CourseUnitView
(CourseUnit courseUnit,
boolean initTeachers,
boolean initStudents,
boolean initBlog
)
{
super(courseUnit
);
init
(courseUnit, initTeachers, initStudents, initBlog,
false);
}
public CourseUnitView
(CourseUnit courseUnit,
boolean initTeachers,
boolean initStudents,
boolean initBlog,
boolean validatorPerson
)
{
super(courseUnit
);
init
(courseUnit, initTeachers, initStudents, initBlog, validatorPerson
);
}
public CourseUnitView
(CourseUnit courseUnit
)
{
super(courseUnit
);
init
(courseUnit,
false,
false,
false,
false);
}
public CourseUnitView
(CourseUnit courseUnit, BlogView b
)
{
super(courseUnit
);
this.
blog = b
;
init
(courseUnit,
false,
false,
false,
false);
}
public CourseUnit getCourseUnit
() {
return courseUnit
;
}
private void init
(CourseUnit courseUnit,
boolean initTeachers,
boolean initStudents,
boolean initBlog,
boolean validatorUser
)
{
this.
interfaceImportYear = DaoFactory.
getConfigurationDaoImpl().
getInterfaceImportYear();
this.
topologies = courseUnit.
getTipologias();
this.
pathIntranet = courseUnit.
getPathIntranet();
this.
normalizedName = courseUnit.
getNormalizedName();
this.
courseUnit = courseUnit
;
this.
courseName = courseUnit.
getCourseName();
this.
name = courseUnit.
getName();
this.
code = courseUnit.
getCode();
this.
importYear = courseUnit.
getImportYear();
this.
semestre = courseUnit.
getSemestre();
this.
courseCode = courseUnit.
getCourseCode();
this.
summariesJson = courseUnit.
getSummariesJson();
this.
sumariosPathFileIntranet =
((CourseUnitImpl
)courseUnit
).
getSummariosPathFileIntranet();
this.
evaluationOpenByAdmin = courseUnit.
isEvaluationOpenByAdmin(); //nao tem persistencia propria tem de ser feito num serviço
this.
cdTurma = courseUnit.
getCdTurma();
// this.objectives = courseUnit.getObjectives(); DEPRECATED
if(courseUnit.
getCourseUnitProgram() !=
null && courseUnit.
getCourseUnitProgram().
getCourseUnitProgramPart2() !=
null)
this.
objectives = courseUnit.
getCourseUnitProgram().
getCourseUnitProgramPart2().
getObjectivos();
else
this.
objectives =
null;
this.
contentsGrants = courseUnit.
getContentsGrants();
if(courseUnit.
getProgramStreamId() !=
null)
{
programStreamId = courseUnit.
getProgramStreamId();
validProgram = courseUnit.
isValidProgram();
if(validatorUser
)
{
if(courseUnit.
getValidatorUser() !=
null)
this.
validatorUser =
new UserView
(courseUnit.
getValidatorUser());
}
}
if(courseUnit.
getEvaluationStreamId() !=
null)
{
evaluationStreamId = courseUnit.
getEvaluationStreamId();
validEvaluation = courseUnit.
getCourseUnitEvaluation().
isClosed();
teacherCompleteEvaluation = courseUnit.
getCourseUnitEvaluation().
isTeacherComplete();
}
// if(courseUnit.getBlog() != null)
// this.blog = new BlogView(courseUnit.getBlog());
this.
id = courseUnit.
getId();
teachers =
new HashSet
<UserView
>();
students =
new HashSet
<UserView
>();
studentsWithoutTurma =
new HashSet
<UserView
>();
if(initTeachers
&& courseUnit.
getTeachers() !=
null)
{
responsableTeacher =
new UserView
(courseUnit.
getResponsableTeacher());
for(TeacherImpl t: courseUnit.
getTeachers())
{
UserView u =
new UserView
(t
);
teachers.
add(u
);
}
}
if(initStudents
&& courseUnit.
getStudents() !=
null)
{
turmas =
new ArrayList
<CourseUnitTurmaView
>();
if(courseUnit.
getTurmas() !=
null)
{
for(CourseUnitTurma t: courseUnit.
getTurmas())
{
CourseUnitTurmaView tv =
new CourseUnitTurmaView
();
tv.
setTurma(t.
getTurma());
tv.
setStudents(new ArrayList
<UserView
>());
for(StudentImpl s: t.
getStudents())
{
UserView u =
new UserView
(s
);
u.
setStudentCourseUnitTurmaView(tv
);
students.
add(u
);
tv.
getStudents().
add(u
);
}
turmas.
add(tv
);
}
}
else
logger.
error("Unidade sem turmas: " + courseUnit.
getName() +
" (" + courseUnit.
getCode() +
")");
}
if(students.
size() != courseUnit.
getStudents().
size())
{
for(Student s: courseUnit.
getStudents())
{
boolean found =
false;
for(UserView uv : students
)
{
if(uv.
getId() == s.
getId())
{
found =
true;
break;
}
}
if(!found
)
studentsWithoutTurma.
add(new UserView
(s
));
}
}
if(initBlog
)
{
blog =
new BlogView
(((CourseUnitImpl
)courseUnit
).
getUnitBlog(),
this);
}
if(courseUnit.
getCourse() !=
null)
{
courseId = courseUnit.
getCourse().
getId();
if(courseUnit.
getCourse().
getCoordinator() !=
null)
coordinatorId = courseUnit.
getCourse().
getCoordinator().
getId();
}
if(courseUnit.
getResponsableTeacher() !=
null)
{
responsableId = courseUnit.
getResponsableTeacher().
getId();
}
courseView =
new CourseView
(courseUnit.
getCourse(),
false);
}
public Set
<UserView
> getStudentsWithoutTurma
() {
return studentsWithoutTurma
;
}
public 1.5.0/docs/api/java/lang/String.html">String getEvaluationStreamId
() {
return evaluationStreamId
;
}
public boolean isTeacherCompleteEvaluation
() {
return teacherCompleteEvaluation
;
}
public 1.5.0/docs/api/java/lang/String.html">String getSumariosPathFileIntranet
() {
return sumariosPathFileIntranet
;
}
public boolean isValidEvaluation
() {
return validEvaluation
;
}
public long getCoordinatorId
() {
return coordinatorId
;
}
public void setCoordinatorId
(long coordinatorId
) {
this.
coordinatorId = coordinatorId
;
}
public long getResponsableId
() {
return responsableId
;
}
public 1.5.0/docs/api/java/lang/String.html">String getCdTurma
() {
return cdTurma
;
}
public void setResponsableId
(long responsableId
) {
this.
responsableId = responsableId
;
}
public long getCourseId
()
{
return courseId
;
}
public void setCourseId
(long courseId
)
{
this.
courseId = courseId
;
}
public CourseView getCourseView
()
{
return courseView
;
}
public 1.5.0/docs/api/java/lang/String.html">String getNormalizedName
()
{
return normalizedName
;
}
public void setNormalizedName
(1.5.0/docs/api/java/lang/String.html">String normalizedName
)
{
this.
normalizedName = normalizedName
;
}
public 1.5.0/docs/api/java/lang/String.html">String getPathIntranet
()
{
return pathIntranet
;
}
public void setPathIntranet
(1.5.0/docs/api/java/lang/String.html">String pathIntranet
)
{
this.
pathIntranet = pathIntranet
;
}
public void setCourseView
(CourseView courseView
)
{
this.
courseView = courseView
;
}
public void setNotFound
(boolean notFound
)
{
this.
notFound = notFound
;
}
public boolean isNotFound
()
{
return notFound
;
}
public void setAnnouncements
(List
<AnnouncementView
> announcements
)
{
this.
announcements = announcements
;
}
public int getTeachersSize
()
{
if(teachers
!=
null)
return teachers.
size();
return 0;
}
public int getStudentsSize
()
{
if(students
!=
null)
return students.
size();
return 0;
}
public int getStudentsTurmaSize
(1.5.0/docs/api/java/lang/String.html">String turma
)
{
for(CourseUnitTurmaView turmaView : turmas
)
{
if(turmaView.
getTurma().
equals(turma
))
return turmaView.
getStudents().
size();
}
return 0;
}
public List
<UserView
> getStudentsTurmaOrderedByName
(1.5.0/docs/api/java/lang/String.html">String turma
)
{
ArrayList
<UserView
> studentsOrderedByName =
new ArrayList
<UserView
>();
for(CourseUnitTurmaView turmaView : turmas
)
{
if(turmaView.
getTurma().
equals(turma
))
studentsOrderedByName.
addAll(turmaView.
getStudents());
}
1.5.0/docs/api/java/util/Collections.html">Collections.
sort(studentsOrderedByName,
new Comparator
<UserView
>()
{
public int compare
(UserView o1, UserView o2
)
{
if(o1 ==
null || o1.
getName() ==
null)
return 1;
if(o2 ==
null || o2.
getName() ==
null)
return -
1;
return o1.
getName().
compareTo(o2.
getName());
}
}
);
return studentsOrderedByName
;
}
public List
<UserView
> getStudentsTurmaOrderedByNumber
(1.5.0/docs/api/java/lang/String.html">String turma
)
{
ArrayList
<UserView
> studentsOrderedByName =
new ArrayList
<UserView
>();
for(CourseUnitTurmaView turmaView : turmas
)
{
if(turmaView.
getTurma().
equals(turma
))
studentsOrderedByName.
addAll(turmaView.
getStudents());
}
1.5.0/docs/api/java/util/Collections.html">Collections.
sort(studentsOrderedByName,
new Comparator
<UserView
>()
{
public int compare
(UserView o1, UserView o2
)
{
if(o1 ==
null || o1.
getCode() == 0
)
return 1;
if(o2 ==
null || o2.
getCode() == 0
)
return -
1;
return o1.
getCode() - o2.
getCode();
}
}
);
return studentsOrderedByName
;
}
public void setCourseUnitAssignements
(List
<CourseUnitAssignementView
> courseUnitAssignements
)
{
this.
courseUnitAssignements = courseUnitAssignements
;
}
public List
<CourseUnitAssignementView
> getCourseUnitAssignements
()
{
return courseUnitAssignements
;
}
public 1.5.0/docs/api/java/lang/String.html">String getContentsGrants
() {
return contentsGrants
;
}
public void setContentsGrants
(1.5.0/docs/api/java/lang/String.html">String contentsGrants
) {
this.
contentsGrants = contentsGrants
;
}
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
);
c.
setContentsGrants(contentsGrants
);
}
public void persistViewAdminInObject
(CourseUnit c
)
{
c.
setImportYear(importYear
);
c.
setName(name
);
c.
setCode(code
);
c.
setCdTurma(cdTurma
);
c.
setSemestre(semestre
);
if(courseId
> 0
)
{
c.
setCourse(DaoFactory.
getCourseDaoImpl().
load(courseId
));
c.
setCourseCode(c.
getCourse().
getCode());
c.
setCourseName(c.
getCourse().
getName());
}
if(responsableId
> 0
)
{
c.
setResponsableTeacher(DaoFactory.
getTeacherDaoImpl().
load(responsableId
));
}
}
public 1.5.0/docs/api/java/lang/String.html">String getObjectives
()
{
return objectives
;
}
public 1.5.0/docs/api/java/lang/String.html">String getFormatedObjectives
()
{
return StringsUtils.
getFormatedText(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
()
{
if(courseView
!=
null && courseView.
isSeparatedUnits(importYear
))
return name +
" (" + cdTurma +
")";
else 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
()
{
if(semestre ==
null)
{
logger.
error("Unit" + getId
() +
" " + getName
() +
"" +
" - " + getCourseName
() +
" " + getImportYear
() +
" with no SEMESTRE SET, returning S1");
return "S1";
}
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 List
<AnnouncementView
> getAnnouncements
()
{
return announcements
;
}
public Set
<UserView
> getTeachers
()
{
return teachers
;
}
public Set
<UserView
> getStudents
()
{
return students
;
}
public 1.5.0/docs/api/java/lang/String.html">String getSummariesJson
() {
return summariesJson
;
}
public void setCdTurma
(1.5.0/docs/api/java/lang/String.html">String cdTurma
) {
this.
cdTurma = cdTurma
;
}
List
<CourseUnitSummaryView
> summariesFromJson =
null;
/**
*
* @return sumaries or null if there are no summaries in Json
*/
int lateSummaries =
0;
List
<String
> lateSummariesDates =
new ArrayList
<String
>();
public synchronized List
<CourseUnitSummaryView
> getSummariesFromJson
() {
if(summariesFromJson
!=
null)
return summariesFromJson
;
lateSummaries =
0;
summariesFromJson =
new ArrayList
<CourseUnitSummaryView
>();
if(summariesJson
!=
null && summariesJson.
length() > 0
)
{
try {
JSONObject jsonObject =
new JSONObject
(summariesJson
);
JSONArray summaries = jsonObject.
getJSONArray("summary");
for(int i =
0; i
< summaries.
length();i++
)
{
JSONObject summary = summaries.
getJSONObject(i
);
CourseUnitSummaryImpl sum = DomainObjectFactory.
createCourseUnitSummaryImpl();
if(sum.
updateWithJson(summary
)){
CourseUnitSummaryView view =
new CourseUnitSummaryView
(sum
);
summariesFromJson.
add(view
);
}
else if(importYear.
equals(interfaceImportYear
))
//so verifica atrasados para unidades do ano corrente a titulo informativo
{
CourseUnitSummaryView view =
new CourseUnitSummaryView
(sum
);
if(view.
getNumber() < 0
&& view.
getOriginalDate().
getTime() + 48
*60
*60
*1000
< 1.5.0/docs/api/java/lang/System.html">System.
currentTimeMillis())
{
//System.out.println(view.getNumber() + " " + view.getDate() + " " + view.getOriginalDate());
lateSummaries++
;
lateSummariesDates.
add(view.
getDate());
}
}
}
} catch (JSONException e
) {
logger.
error(e,e
);
}
1.5.0/docs/api/java/util/Collections.html">Collections.
sort(summariesFromJson,
new Comparator
<CourseUnitSummaryView
>() {
@
1.5.0/docs/api/java/lang/Override.html">Override
public int compare
(CourseUnitSummaryView courseUnitSummaryView, CourseUnitSummaryView courseUnitSummaryView2
) {
if(courseUnitSummaryView.
getNumber() > courseUnitSummaryView2.
getNumber())
return -
1;
else if(courseUnitSummaryView.
getNumber() < courseUnitSummaryView2.
getNumber())
return 1;
return 0;
}
});
return summariesFromJson
;
}
return null;
}
public List
<String
> getLateSummariesDates
() {
return lateSummariesDates
;
}
public int getLateSummaries
()
{
getSummariesFromJson
();
return lateSummaries
;
}
public void setSummariesJson
(1.5.0/docs/api/java/lang/String.html">String summariesJson
) {
this.
summariesJson = summariesJson
;
}
public boolean isOwnedBy
(GenericUser u
)
{
return isOwnedBy
(u,
false);
}
public boolean isOwnedBy
(GenericUser u,
boolean transaction
)
{
//return u != null && u instanceof TeacherImpl && ((TeacherImpl)u).hasCourseUnit(getId(), transaction);
//ALTERACOES REUNIAO BACO CODIGO 01062011
//TESTE A COMISSAO DE CURSO NAS CADEIRAS
return u
!=
null && u
instanceof TeacherImpl
&& ((TeacherImpl
)u
).
hasCourseUnit(getId
(), transaction
);
}
/**
* 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;
}
public boolean isValidProgram
()
{
return validProgram
;
}
public void setValidProgram
(boolean validProgram
)
{
this.
validProgram = validProgram
;
}
public UserView getValidatorUser
()
{
return validatorUser
;
}
public void setValidatorUser
(UserView validatorUser
)
{
this.
validatorUser = validatorUser
;
}
public UserView getResponsableTeacher
() {
return responsableTeacher
;
}
public void setResponsableTeacher
(UserView responsableTeacher
) {
this.
responsableTeacher = responsableTeacher
;
}
public void setSummaries
(List
<CourseUnitSummaryView
> summaries
)
{
this.
summaries = summaries
;
}
public List
<CourseUnitSummaryView
> getSummaries
()
{
return summaries
;
}
public boolean isEvaluationOpenByAdmin
() {
return evaluationOpenByAdmin
;
}
public void setEvaluationOpenByAdmin
(boolean evaluationOpenByAdmin
) {
this.
evaluationOpenByAdmin = evaluationOpenByAdmin
;
}
public 1.5.0/docs/api/java/lang/String.html">String getTeachersSnipet
()
{
1.5.0/docs/api/java/lang/String.html">String sep =
"";
1.5.0/docs/api/java/lang/StringBuilder.html">StringBuilder strBuilder =
new 1.5.0/docs/api/java/lang/StringBuilder.html">StringBuilder();
if(teachers
!=
null && teachers.
size() > 0
)
{
for(UserView userView: teachers
)
{
strBuilder
.
append(sep
)
.
append(" ")
.
append(" <a href=\"mailto:")
.
append(userView.
getEmail())
.
append("\">")
.
append(userView.
getName())
.
append("</a>")
;
sep =
",";
}
}
return strBuilder.
toString();
}
public List
<UserView
> getStudentsOrderedByNumber
()
{
if(studentsOrderedByNumber ==
null && students
!=
null)
{
studentsOrderedByNumber =
new 1.5.0/docs/api/java/util/ArrayList.html">ArrayList(students
);
1.5.0/docs/api/java/util/Collections.html">Collections.
sort(studentsOrderedByNumber,
new Comparator
<UserView
>()
{
public int compare
(UserView o1, UserView o2
)
{
if(o1 ==
null)
return 1;
if(o2 ==
null)
return -
1;
if(o1.
getCode() > o2.
getCode())
return 1;
else if(o1.
getCode() < o2.
getCode())
return -
1;
else
return 0;
}
}
);
}
return studentsOrderedByNumber
;
}
public List
<UserView
> getStudentsOrderedByName
()
{
if(studentsOrderedByName ==
null && students
!=
null)
{
studentsOrderedByName =
new 1.5.0/docs/api/java/util/ArrayList.html">ArrayList(students
);
1.5.0/docs/api/java/util/Collections.html">Collections.
sort(studentsOrderedByName,
new Comparator
<UserView
>()
{
public int compare
(UserView o1, UserView o2
)
{
if(o1 ==
null || o1.
getName() ==
null)
return 1;
if(o2 ==
null || o2.
getName() ==
null)
return -
1;
return o1.
getName().
compareTo(o2.
getName());
}
}
);
}
return studentsOrderedByName
;
}
private List
<CourseUnitImpl.
Tipologia> mergedTipologias =
null;
public List
<CourseUnitImpl.
Tipologia> getTipologias
()
{
try {
if(mergedTipologias ==
null)
mergedTipologias =
((CourseUnitImpl
)courseUnit
).
getTipologiasClass().
obtainMergeTipologias();
} catch (1.5.0/docs/api/java/lang/Exception.html">Exception e
) {
logger.
error(e,e
);
}
return mergedTipologias
;
}
public List
<CourseUnitImpl.
Tipologia> loadTopologiasDocente
(1.5.0/docs/api/java/lang/String.html">String codigo
)
{
if(getTipologias
() ==
null)
return null;
List
<CourseUnitImpl.
Tipologia> tipologiasDocente =
new ArrayList
<CourseUnitImpl.
Tipologia>();
try {
for(CourseUnitImpl.
Tipologia t: getTipologias
())
{
if(t.
getCdDocente().
equals(codigo
))
tipologiasDocente.
add(t
);
}
return tipologiasDocente
;
} catch (1.5.0/docs/api/java/lang/Exception.html">Exception e
) {
logger.
error(e,e
);
}
return null;
}
public Map
<String,List
<String
>> getTipologiasTurmas
(1.5.0/docs/api/java/lang/String.html">String codigo
)
{
if(getTipologias
() ==
null)
return null;
List
<CourseUnitImpl.
Tipologia> tipologiasDocente =
new ArrayList
<CourseUnitImpl.
Tipologia>();
try {
Map
<String,List
<String
>> mapa =
new HashMap
<String, List
<String
>>();
for(CourseUnitImpl.
Tipologia t: getTipologias
())
{
if(t.
getCdDocente().
equals(codigo
))
{
List
<String
> turmas = mapa.
get(t.
getDsTipologia());
if(turmas ==
null)
{
turmas =
new ArrayList
<String
>();
mapa.
put(t.
getDsTipologia(),turmas
);
}
turmas.
add(t.
getCdTurma());
}
}
return mapa
;
} catch (1.5.0/docs/api/java/lang/Exception.html">Exception e
) {
logger.
error(e,e
);
}
return null;
}
}