Subversion Repositories bacoAlunos

Compare Revisions

Ignore whitespace Rev 1040 → Rev 1058

/impl/importRoutines.xml
61,7 → 61,9
 
<!-- PONTUAIS -->
<target name="grades">
<java classname="pt.estgp.estgweb.services.sigesimports.ImportGradesService" classpath="${build.dir.classes}" classpathref="pathToToolsLib"/>
<java classname="pt.estgp.estgweb.services.sigesimports.ImportGradesService" classpath="${build.dir.classes}" classpathref="pathToToolsLib">
<arg value="201415"/>
</java>
</target>
 
<target name="setAreas">
/impl/conf/language/MessageResources.properties
474,6 → 474,8
user.role.courseValidateProgramTGI=Comissão de Curso de TGI
user.role.courseValidateProgramRU=Comissão de Curso de RU
 
configuration.grades=Configuração Pautas
configuration=Configurações
 
 
 
508,4 → 510,3
 
 
 
 
/impl/conf/language/MessageResourcesCourseUnits.properties
6,6 → 6,7
module.CourseUnits=Unidades Curriculares
course={0} &gt
courseunit={0}
course.unit=Unidade Curricular
 
course.nav.without.arrow={0}
courseunit.security.not.implemented=N\u00e3o implementado por raz\u00f5es de seguran\u00e7a
/impl/conf/WEB-INF/struts/struts-configuration.xml
New file
0,0 → 1,39
<?xml version="1.0" encoding="UTF-8"?>
 
<!--<!DOCTYPE struts-config PUBLIC-->
<!--"-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"-->
<!--"http://struts.apache.org/dtds/struts-config_1_3.dtd">-->
 
<struts-config>
<form-beans>
<form-bean type="pt.estgp.estgweb.web.form.configuration.ConfigurationGradesForm" name="ConfigurationGradesForm"/>
</form-beans>
 
<global-exceptions>
 
</global-exceptions>
 
<global-forwards>
 
</global-forwards>
<action-mappings>
 
 
 
<action path="/user/configurationGrades" forward="page.configuration.grades"/>
 
<action path="/user/grades"
type="pt.estgp.estgweb.web.controllers.configuration.GradesController"
name="ConfigurationGradesForm"
scope="request"
parameter="dispatch"
validate="false"
input="page.separators.serviceZone">
 
<forward name="save" path="page.separators.serviceZone"/>
<forward name="grades" path="page.configuration.grades"/>
</action>
 
 
</action-mappings>
</struts-config>
Property changes:
Added: svn:executable
+ *
/impl/conf/WEB-INF/struts/tiles-configuration.xml
New file
0,0 → 1,15
<?xml version="1.0" encoding="UTF-8" ?>
 
<!--<!DOCTYPE tiles-definitions PUBLIC-->
<!--"-//Apache Software Foundation//DTD Tiles Configuration 1.1//EN"-->
<!--"http://struts.apache.org/dtds/tiles-config_1_1.dtd">-->
 
<tiles-definitions>
 
<definition name="page.configuration.grades" extends="page.separators.serviceZone">
<put name="title" value="Configuração Notas"/>
<put name="topnav" value="/user/serviceZone/topnavConfigurationGrades.jsp"/>
<put name="body" value="/admin/configuration/grades.jsp"/>
</definition>
</tiles-definitions>
Property changes:
Added: svn:executable
+ *
/impl/conf/WEB-INF/struts/struts-default.xml
210,7 → 210,8
/WEB-INF/struts/tiles-srusource.xml,
/WEB-INF/struts/tiles-survey.xml,
/WEB-INF/struts/tiles-processes.xml,
/WEB-INF/struts/tiles-comunicationfolder.xml"/> <!-- Duarte Santos -->
/WEB-INF/struts/tiles-comunicationfolder.xml,
/WEB-INF/struts/tiles-configuration.xml"/> <!-- Duarte Santos -->
</plug-in>
 
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
/impl/conf/WEB-INF/web.xml
165,7 → 165,8
/WEB-INF/struts/struts-srusource.xml,
/WEB-INF/struts/struts-survey.xml, <!-- Duarte Santos -->
/WEB-INF/struts/struts-comunicationfolder.xml,
/WEB-INF/struts/struts-processes.xml
/WEB-INF/struts/struts-processes.xml,
/WEB-INF/struts/struts-configuration.xml
</param-value>
</init-param>
<init-param>
/impl/conf/app.properties
55,7 → 55,7
email.courseunit.blogpost.subject.pt={0}: {1} (ESTG)
email.courseunit.blogpost.subject.en={0}: {1} (ESTG)
 
email.new.grades=true
email.new.grades=false
email.courseunit.announcements=true
email.courseunit.blogs=true
 
/impl/conf/template/email/GradeUnit.txt
3,4 → 3,4
# 0: Unidade
# 1: Nota
##################################################
{0}:{1};
{0} {1} {2} {3}
/impl/conf/directories/utilsIntranet.xml
10,7 → 10,8
<leaf label="Atas" id="Actas" absolute="false" remoteExtensionRoot="true" style="true" proxy="ionline" layout="true" url="/Actas"/>
</leaf>
<leaf absolute="false" label="Horários" layout="true" proxy="estgp" id="horarios" url="/intranet/escola/horarios.html">
<leaf absolute="false" label="Horários de CET" layout="true" proxy="estgp" id="horariosCet" url="/intranet/escola/horarios_cets.html"/>
<leaf absolute="false" label="Horários de CTeSP" layout="true" proxy="estgp" id="horariosCTeSP" url="/intranet/escola/horarios_ctesp.html"/>
<leaf absolute="false" label="Horários de CET" layout="true" proxy="estgp" id="horariosCet" url="/intranet/escola/horarios_cets.html"/>
<leaf absolute="false" label="Horários de Licenciaturas" layout="true" proxy="estgp" id="horariosLicenciaturas" url="/intranet/escola/horarios_licenciaturas.html"/>
<leaf absolute="false" label="Horários de Mestrados" layout="true" proxy="estgp" id="horariosMestrados" url="/intranet/escola/horarios_mestrados.html"/>
<leaf absolute="false" label="Horários de Docentes" layout="true" proxy="estgp" id="horariosDocentes" url="/intranet/escola/horarios_Docentes.html"/>
/impl/src/java/pt/estgp/estgweb/services/sigesimports/ImportGradesService.java
47,9 → 47,37
DefaultLogMessages logMessages = new DefaultLogMessages();
logMessages.addMessage(new DefaultLogMessage("import.grades", LogMessageTypeEnum.INFO, "instituicao " + DaoFactory.getConfigurationDaoImpl().getSigesInstitutionCode()));
logger.info("starting grades import");
 
try
{
AbstractDao.getCurrentSession().beginTransaction();
logger.info("Loading Epocas de avaliacao");
List<ConfigurationGradesEpocaAvaliacao> epocas = DaoFactory.getConfigurationGradesEpocaAvaliacaoDaoImpl().findAll();
if(epocas == null || epocas.size() == 0)
{
logMessages.addMessage(new DefaultLogMessage("import.grades",LogMessageTypeEnum.WARNING,"Sem Epocas de Avaliacao, por favor adicione as epocas ao sistema"));
logger.warn("Sem Epocas de Avaliacao, por favor adicione as epocas ao sistema");
return logMessages;
}
List<ConfigurationGradesStatusEpoca> statusEpocas = DaoFactory.getConfigurationGradesStatusEpocaDaoImpl().findAll();
if(statusEpocas == null || statusEpocas.size() == 0)
{
logMessages.addMessage(new DefaultLogMessage("import.grades",LogMessageTypeEnum.WARNING,"Sem Status de epocas de avaliacao, por favor adicione as epocas ao sistema"));
logger.warn("Sem Status de epocas de avaliacao, por favor adicione as epocas ao sistema");
return logMessages;
}
HashMap<String,String> mapaEpocasAvaliacao = new HashMap<String, String>();
for(ConfigurationGradesEpocaAvaliacao epoca: epocas)
{
mapaEpocasAvaliacao.put(epoca.getCodigoEpoca() + "-" + epoca.getCodigoMomento(), epoca.getDescricao());
}
 
HashMap<String,String> mapaStatusEpocas = new HashMap<String, String>();
for(ConfigurationGradesStatusEpoca statusEpoca: statusEpocas)
{
mapaStatusEpocas.put(statusEpoca.getStatus(), statusEpoca.getDescricao());
}
 
//AbstractDao.getCurrentSession().beginTransaction();
String WSDL = DaoFactory.getConfigurationDaoImpl().getSigesWebServicesWsdl();
SiGesWEB service;
try
74,6 → 102,16
AbstractDao.getCurrentSession().beginTransaction();
}
 
/**
* n.codigo_aluno = getDecimal("CD_ALUNO",aReader); ----- OK
n.codigo_curso = getDecimal("CD_CURSO", aReader); ----- OK
n.codigo_disciplina = getDecimal("CD_DISCIP", aReader);- OK
n.nota = getDecimal("NR_AVALIA", aReader); ---------- OK
n.data_avaliacao = getDateTime("DT_AVALIA", aReader); - OK
n.status_epoca = getDecimal("CD_STA_EPO", aReader); -- OK
n.cd_duracao = getString("CD_DURACAO",aReader); - ------ OK
*/
 
int codAluno = nota.getCodigoAluno().intValue();
int codUnidade = nota.getCodigoDisciplina().intValue();
int codCurso = nota.getCodigoCurso().intValue();
81,18 → 119,23
int valor = nota.getNota().intValue();
int statusEpoca = nota.getStatusEpoca().intValue();
Date data = nota.getDataAvaliacao().toGregorianCalendar().getTime();
int momento = nota.getMomentoAvaliacao().intValue();
int epoca = nota.getEpocaAvaliacao().intValue();
//boolean eFinal = nota.get
 
String descricaoEpoca = mapaEpocasAvaliacao.get(epoca + "-" + momento);
String descricaoStatusEpoca = mapaStatusEpocas.get(""+statusEpoca) == null ? ""+statusEpoca : mapaStatusEpocas.get(statusEpoca+"");
 
Student s = DaoFactory.getStudentDaoImpl().loadBySigesCode(codAluno);
 
if(s != null)
if(descricaoEpoca!= null && s != null)
{
CourseUnit courseUnit;
try{
courseUnit = DaoFactory.getCourseUnitDaoImpl().loadBySigesCodeUniqueSubscribed("" + codUnidade, year, "" + codCurso,s.getId(),cdDuracao);
if(courseUnit != null)
{
CourseUnitGrade grade = DaoFactory.getCourseUnitGradeDaoImpl().find(courseUnit.getId(),s.getId());
CourseUnitGrade grade = DaoFactory.getCourseUnitGradeDaoImpl().find(courseUnit.getId(),s.getId(),""+momento,""+epoca);
if(grade == null)
{
grade = DomainObjectFactory.createCourseUnitGradeImpl();
100,8 → 143,14
grade.setCourseUnit(courseUnit);
grade.setNormalizedCourseUnitName(courseUnit.getNormalizedName());
grade.setImportYear(year);
grade.setCodigoEpoca("" + epoca);
grade.setCodigoMomento("" + momento);
grade.setDescEpoca(descricaoEpoca);
grade.setStatusEpoca(statusEpoca);
grade.setDescStatusEpoca(descricaoStatusEpoca);
DaoFactory.getCourseUnitGradeDaoImpl().save(grade);
if(grade.getGrade() > 0)
 
if(grade.getGrade() >= 0)
addGrade(grade);
}
if(grade.getGrade() != valor || grade.getStatusEpoca() != statusEpoca || (grade.getPublishDate() != null && grade.getPublishDate().getTime() != data.getTime()))
109,9 → 158,11
grade.setPublishDate(data);
grade.setGrade(valor);
grade.setStatusEpoca(statusEpoca);
if(grade.getGrade() > 0)
grade.setDescStatusEpoca(descricaoStatusEpoca);
if(grade.getGrade() >= 0)
addGrade(grade);
}
 
}
else
{
133,13 → 184,13
}
sendSms(null);
sendEmail(null);
AbstractDao.getCurrentSession().getTransaction().commit();
//AbstractDao.getCurrentSession().getTransaction().commit();
}
catch (Throwable e)
{
logger.error(e, e);
 
AbstractDao.getCurrentSession().getTransaction().rollback();
//AbstractDao.getCurrentSession().getTransaction().rollback();
logMessages.addMessage(new DefaultLogMessage("import.error", e.toString(), "see log for details", LogMessageTypeEnum.ERROR));
throw new ServiceException(e.toString(), e);
}
189,6 → 240,7
 
private void sendEmail(UserSession userSession)
{
 
if(Globals.EMAIL_NEW_GRADES && newGrades.size() > 0)
{
Set<Map.Entry<Long,List<Long>>> set = newGrades.entrySet();
202,7 → 254,7
for(long gradeId: studentGrades)
{
CourseUnitGrade grade = DaoFactory.getCourseUnitGradeDaoImpl().get(gradeId);
String[] gradeArray = new String[] {grade.getNormalizedCourseUnitName(),""+grade.getGrade()};
String[] gradeArray = new String[] {grade.getNormalizedCourseUnitName(),""+grade.getGrade(),grade.getDescEpoca()};
gradesArray.add(gradeArray);
}
EMAILJob emailJob = new EMAILJob(sendEmailService.getNewGradesEmail(gradesArray, LangEnum.PORTUGUESE,s.getEmail(),s.getName()));
222,7 → 274,9
String year = DaoFactory.getConfigurationDaoImpl().getImportsDefaultImportYearCreateTransaction();;
if(args != null && args.length > 0)
year = args[0];
AbstractDao.getCurrentSession().beginTransaction();
new ImportGradesService().run(year);
AbstractDao.getCurrentSession().getTransaction().commit();
}
 
 
/impl/src/java/pt/estgp/estgweb/services/sigesimports/ImportSumaries.java
89,7 → 89,7
//comentario de teste
try
{
arrayOfAulas = service.getSiGesWEBSoap().getAulas(new BigDecimal(DaoFactory.getConfigurationDaoImpl().getSigesInstitutionCode()), year,c.getCode(),DatesUtils.getSemestre());
arrayOfAulas = service.getSiGesWEBSoap().getAulas(new BigDecimal(DaoFactory.getConfigurationDaoImpl().getSigesInstitutionCode()), year,c.getCode(),DatesUtils.getSemestre(),null);
break;
}
catch(Throwable t)
/impl/src/java/pt/estgp/estgweb/services/sigesimports/ImportStudentsService.java
65,6 → 65,8
studentsChangeBI = 0;
unitsAddedToStudents = 0;
 
String activeImportYear = DaoFactory.getConfigurationDaoImpl().getInterfaceImportYear();
 
String msgS = "STARTING STUDENTS IMPORT SERVICE FOR YEAR: " + year;
serviceLogInfo(msgS);
logger.info(msgS);
148,7 → 150,7
DaoFactory.getStudentDaoImpl().save(s);
newUser = true;
}
persist(alunoSiges, s, newUser,year);
persist(alunoSiges, s, newUser,year,activeImportYear);
//Advising CommonsServicesManager before change password
 
if (newUser)
256,6 → 258,7
}
 
 
 
/**
* Nao esta testado
* jm
263,7 → 266,7
* @param alunoSiges Aluno
* @param student Student
*/
private void persist(Aluno alunoSiges, Student student, boolean newUser, String year)
private void persist(Aluno alunoSiges, Student student, boolean newUser, String year, String activeImportYear)
{
if(newUser)
{
311,6 → 314,35
 
}
 
if(alunoSiges.getHistoricos() == null || alunoSiges.getHistoricos().getAlunoHistorico() == null || alunoSiges.getHistoricos().getAlunoHistorico().size() == 0)
{
student.setPropinasEmDia(false);
serviceLogWarn("ATENTION Estudante sem historico de Matriculas para aferir propinas: codigo " + alunoSiges.getCodigo());
logger.warn("ATENTION Estudante sem historico de Matriculas para aferir propinas: codigo " + alunoSiges.getCodigo());
}
else
{
student.setPropinasEmDia(false);
student.setPropinasEmDiaYear(activeImportYear);
 
for(AlunoHistorico hist: alunoSiges.getHistoricos().getAlunoHistorico())
{
if(hist.getCodigoLectivo()!=null && hist.getCodigoLectivo().equals(activeImportYear))
{
if(hist.getPropinaEmDia().equalsIgnoreCase("s"))
{
student.setPropinasEmDia(true);
student.setPropinasEmDiaYear(activeImportYear);
}
break;
}
}
if(!student.isPropinasEmDia())
{
serviceLogWarn("ATENTION Estudante sem propina em dia: codigo " + alunoSiges.getCodigo());
logger.warn("ATENTION Estudante sem propina em dia: codigo " + alunoSiges.getCodigo());
}
}
/*Desta forma as relacoes antigas sao ignoradas cria-se uma lista nova e atribui-se ao Teacher, o Hibernate faz resto e apaga as chaves estrangeiras antigas */
if (alunoSiges.getDisciplinasInscrito() == null || alunoSiges.getDisciplinasInscrito().getDisciplina() == null || alunoSiges.getDisciplinasInscrito().getDisciplina().size() == 0)
{
/impl/src/java/pt/estgp/estgweb/services/sigesimports/LoadSumariesToPDF.java
67,7 → 67,7
}
AbstractDao.getCurrentSession().beginTransaction();
CourseUnit c = DaoFactory.getCourseUnitDaoImpl().get(courseUnitId);
ArrayOfAula arrayOfAulas = service.getSiGesWEBSoap().getAulas(new BigDecimal(DaoFactory.getConfigurationDaoImpl().getSigesInstitutionCode()), c.getImportYear(),c.getCode(),c.getSemestre());
ArrayOfAula arrayOfAulas = service.getSiGesWEBSoap().getAulas(new BigDecimal(DaoFactory.getConfigurationDaoImpl().getSigesInstitutionCode()), c.getImportYear(),c.getCode(),c.getSemestre(),c.getCourse().getCode());
 
if(arrayOfAulas != null && arrayOfAulas.getAula() != null)
{
139,7 → 139,7
//comentario de teste
try
{
arrayOfAulas = service.getSiGesWEBSoap().getAulas(new BigDecimal(DaoFactory.getConfigurationDaoImpl().getSigesInstitutionCode()), year,c.getCode(),DatesUtils.getSemestre());
arrayOfAulas = service.getSiGesWEBSoap().getAulas(new BigDecimal(DaoFactory.getConfigurationDaoImpl().getSigesInstitutionCode()), year,c.getCode(),DatesUtils.getSemestre(),c.getCourse().getCode());
break;
}
catch(Throwable t)
/impl/src/java/pt/estgp/estgweb/services/sigesimports/ImportSumariesJson.java
132,7 → 132,7
//comentario de teste
try
{
arrayOfAulas = service.getSiGesWEBSoap().getAulas(new BigDecimal(DaoFactory.getConfigurationDaoImpl().getSigesInstitutionCode()), year,c.getCode(),semestre);
arrayOfAulas = service.getSiGesWEBSoap().getAulas(new BigDecimal(DaoFactory.getConfigurationDaoImpl().getSigesInstitutionCode()), year,c.getCode(),semestre,c.getCourse().getCode());
break;
}
catch(Throwable t)
/impl/src/java/pt/estgp/estgweb/services/announcements/CreateAnnouncementService.java
91,6 → 91,7
List<User> usersToConsume = new ArrayList<User>();
for(User u: users)
usersToConsume.add(u);
logger.info("Scheduling mail jobs to " + usersToConsume.size() + " recipients");
while(usersToConsume.size() > 0)
{
Iterator<User> iter = usersToConsume.iterator();
/impl/src/java/pt/estgp/estgweb/domain/ConfigurationGradesStatusEpocaImpl.java
New file
0,0 → 1,27
package pt.estgp.estgweb.domain;
 
import java.io.Serializable;
import java.util.Date;
 
/**
* Created by jorgemachado on 02/11/15.
*/
public class ConfigurationGradesStatusEpocaImpl extends ConfigurationGradesStatusEpoca {
 
public ConfigurationGradesStatusEpocaImpl()
{
}
@Override
public Serializable getSerializable() {
return getId();
}
 
public static ConfigurationGradesStatusEpocaImpl create(String status, String descricao)
{
ConfigurationGradesStatusEpocaImpl obj = DomainObjectFactory.createConfigurationGradesStatusEpocaImpl();
obj.setStatus(status);
obj.setDescricao(descricao);
obj.setSaveDate(new Date());
return obj;
}
}
/impl/src/java/pt/estgp/estgweb/domain/views/ConfigurationGradesView.java
New file
0,0 → 1,64
package pt.estgp.estgweb.domain.views;
 
import pt.estgp.estgweb.domain.*;
 
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
 
/**
* Created by jorgemachado on 12/11/15.
*/
public class ConfigurationGradesView extends DomainObjectView {
 
long id;
List<ConfigurationGradesStatusEpoca> statusEpocas;
List<ConfigurationGradesEpocaAvaliacao> epocasAvaliacao;
 
@Override
public Class getReferenceClass() {
return ConfigurationGrades.class;
}
 
@Override
public Serializable getSerializable() {
return id;
}
 
public void init(ConfigurationGrades configurationGrades)
{
this.id = configurationGrades.getId();
statusEpocas = new ArrayList<ConfigurationGradesStatusEpoca>(configurationGrades.getStatusEpoca());
epocasAvaliacao = new ArrayList<ConfigurationGradesEpocaAvaliacao>(configurationGrades.getEpocasAvaliacao());
}
 
 
public long getId() {
return id;
}
 
public void setId(long id) {
this.id = id;
}
 
public List<ConfigurationGradesStatusEpoca> getStatusEpocas() {
return statusEpocas;
}
 
public void setStatusEpocas(List<ConfigurationGradesStatusEpoca> statusEpocas) {
this.statusEpocas = statusEpocas;
}
 
public List<ConfigurationGradesEpocaAvaliacao> getEpocasAvaliacao() {
return epocasAvaliacao;
}
 
public void setEpocasAvaliacao(List<ConfigurationGradesEpocaAvaliacao> epocasAvaliacao) {
this.epocasAvaliacao = epocasAvaliacao;
}
 
public void persist(ConfigurationGrades grades)
{
 
}
}
/impl/src/java/pt/estgp/estgweb/domain/views/CourseUnitGradeView.java
1,15 → 1,12
package pt.estgp.estgweb.domain.views;
 
import pt.estgp.estgweb.domain.*;
import pt.estgp.estgweb.domain.dao.DaoFactory;
import org.apache.log4j.Logger;
import pt.estgp.estgweb.domain.CourseUnitGrade;
import pt.estgp.estgweb.domain.CourseUnitGradeImpl;
import pt.estgp.estgweb.services.courseunits.LoadCourseUnitAnnouncements;
import org.apache.log4j.Logger;
 
import java.util.List;
import java.util.Set;
import java.util.HashSet;
import java.io.Serializable;
import java.util.Date;
import java.io.Serializable;
 
/**
* @author Jorge Machado
31,6 → 28,8
private int statusEpoca;
private UserView student;
private Date publishDate;
private String descEpoca;
private String descStatusEpoca;
 
private CourseUnitGrade courseUnitGrade;
 
57,6 → 56,8
grade = courseUnitGrade.getGrade();
statusEpoca = courseUnitGrade.getStatusEpoca();
publishDate = courseUnitGrade.getPublishDate();
descEpoca = courseUnitGrade.getDescEpoca();
descStatusEpoca = courseUnitGrade.getDescStatusEpoca();
}
 
 
126,4 → 127,20
return df.format(publishDate);
return "";
}
 
public String getDescEpoca() {
return descEpoca;
}
 
public void setDescEpoca(String descEpoca) {
this.descEpoca = descEpoca;
}
 
public String getDescStatusEpoca() {
return descStatusEpoca;
}
 
public void setDescStatusEpoca(String descStatusEpoca) {
this.descStatusEpoca = descStatusEpoca;
}
}
/impl/src/java/pt/estgp/estgweb/domain/views/UserView.java
1,18 → 1,17
package pt.estgp.estgweb.domain.views;
 
import jomm.utils.BytesUtils;
import jomm.utils.DesUtils;
import org.apache.log4j.Logger;
import pt.estgp.estgweb.Globals;
import pt.estgp.estgweb.domain.*;
import pt.estgp.estgweb.domain.dao.DaoFactory;
import pt.estgp.estgweb.domain.enums.RecordEnum;
import pt.estgp.estgweb.domain.dao.DaoFactory;
import pt.estgp.estgweb.utils.RoleManager;
import pt.estgp.estgweb.Globals;
 
import java.io.Serializable;
import java.util.*;
 
import jomm.utils.DesUtils;
import jomm.utils.BytesUtils;
 
/**
* @author Jorge Machado
* @date 2/Mar/2008
73,6 → 72,8
 
private List<CourseUnitView> responsableCourseUnits;
 
private boolean propinasEmDia = false;
 
public UserView()
{}
 
122,6 → 123,7
{
mainArea = ((Student)user).getMainArea();
code = ((Student)user).getSigesCode();
propinasEmDia = ((Student)user).isPropinasEmDia();
}
}
 
718,7 → 720,15
this.deleted = deleted;
}
 
// public List<Course> getCourses()
public boolean isPropinasEmDia() {
return propinasEmDia;
}
 
public void setPropinasEmDia(boolean propinasEmDia) {
this.propinasEmDia = propinasEmDia;
}
 
// public List<Course> getCourses()
// {
// if(courses == null)
// {
/impl/src/java/pt/estgp/estgweb/domain/DomainObjectFactory.java
337,4 → 337,19
{
return new JobServiceTaskSchedulerParameterImpl();
}
 
public static ConfigurationGradesImpl createConfigurationGradesImpl()
{
return new ConfigurationGradesImpl();
}
 
public static ConfigurationGradesStatusEpocaImpl createConfigurationGradesStatusEpocaImpl()
{
return new ConfigurationGradesStatusEpocaImpl();
}
 
public static ConfigurationGradesEpocaAvaliacaoImpl createConfigurationGradesEpocaAvaliacaoImpl()
{
return new ConfigurationGradesEpocaAvaliacaoImpl();
}
}
/impl/src/java/pt/estgp/estgweb/domain/dao/impl/ConfigurationGradesStatusEpocaDaoImpl.java
New file
0,0 → 1,21
package pt.estgp.estgweb.domain.dao.impl;
 
/**
* @author Jorge Machado
* @date 28/Fev/2008
* @time 2:51:06
* @see pt.estgp.estgweb.domain.dao.impl
*/
public class ConfigurationGradesStatusEpocaDaoImpl extends ConfigurationGradesStatusEpocaDao
{
public static ConfigurationGradesStatusEpocaDaoImpl getInstance()
{
if (myInstance == null)
myInstance = new ConfigurationGradesStatusEpocaDaoImpl();
return (ConfigurationGradesStatusEpocaDaoImpl) myInstance;
}
 
 
 
 
}
Property changes:
Added: svn:executable
+ *
/impl/src/java/pt/estgp/estgweb/domain/dao/impl/ConfigurationGradesEpocaAvaliacaoDaoImpl.java
New file
0,0 → 1,23
package pt.estgp.estgweb.domain.dao.impl;
 
/**
* @author Jorge Machado
* @date 28/Fev/2008
* @time 2:51:06
* @see pt.estgp.estgweb.domain.dao.impl
*/
public class ConfigurationGradesEpocaAvaliacaoDaoImpl extends ConfigurationGradesEpocaAvaliacaoDao
{
public static ConfigurationGradesEpocaAvaliacaoDaoImpl getInstance()
{
if (myInstance == null)
myInstance = new ConfigurationGradesEpocaAvaliacaoDaoImpl();
return (ConfigurationGradesEpocaAvaliacaoDaoImpl) myInstance;
}
 
 
 
 
 
 
}
Property changes:
Added: svn:executable
+ *
/impl/src/java/pt/estgp/estgweb/domain/dao/impl/ConfigurationDaoImpl.java
1,7 → 1,7
package pt.estgp.estgweb.domain.dao.impl;
 
import pt.estgp.estgweb.domain.Configuration;
import pt.estgp.estgweb.domain.ConfigurationImpl;
import pt.estgp.estgweb.domain.*;
import pt.estgp.estgweb.domain.dao.DaoFactory;
 
import java.util.Date;
import java.util.List;
27,6 → 27,7
public Configuration load()
{
List<Configuration> configs = createCriteria().list();
Configuration config = null;
if(configs.size() == 0)
{
Configuration configuration = new ConfigurationImpl();
37,9 → 38,24
configuration.setSaveDate(new Date());
configuration.setSigesInstitutionCode(1);
save(configuration);
return configuration;
config = configuration;
}
return configs.get(0);
else
config = configs.get(0);
 
if(config.getConfigurationGrades() == null)
{
//init by default with ESTG values
ConfigurationGradesImpl grades = DomainObjectFactory.createConfigurationGradesImpl();
grades.create();
for(ConfigurationGradesEpocaAvaliacao epoca: grades.getEpocasAvaliacao())
DaoFactory.getConfigurationGradesEpocaAvaliacaoDaoImpl().save(epoca);
for(ConfigurationGradesStatusEpoca status: grades.getStatusEpoca())
DaoFactory.getConfigurationGradesStatusEpocaDaoImpl().save(status);
DaoFactory.getConfigurationGradesDaoImpl().save(grades);
config.setConfigurationGrades(grades);
}
return config;
}
 
public void updateInterfaceImportYearCreateTransaction(String importYear)
/impl/src/java/pt/estgp/estgweb/domain/dao/impl/CourseDaoImpl.java
133,18 → 133,44
{
Criteria c = createCriteria();
 
/* c.setProjection(Projections.projectionList()
.add(Projections.distinct(Projections.id())));*/
c.setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY);
c.createAlias("courseUnits","cu");
if (importYear != null && importYear.length() > 0)
c.add(eq("cu.importYear", importYear));
 
String query = "select distinct c from c in class Course join c.courseUnits cu where ";
String logic = " ";
if (importYear != null && importYear.length() > 0)
{
query += logic + "cu.importYear = :importYear ";
logic = " and ";
}
if (area != null && area.length() > 0)
c.add(eq("area", area));
{
query += logic + "c.area = :area ";
logic = " and ";
}
if (type != null && type.length() > 0)
c.add(eq("degree", type));
return c.addOrder(Order.asc("name"))
.list();
{
query += logic + "c.degree = :degree ";
logic = " and ";
}
query += " order by c.name asc";
 
Query q = getCurrentSession().createQuery(query);
if (importYear != null && importYear.length() > 0)
{
q.setString("importYear",importYear);
}
if (area != null && area.length() > 0)
{
q.setString("area",area);
}
if (type != null && type.length() > 0)
{
q.setString("degree",type);
}
/* c.setProjection(Projections.projectionList()
.add(Projections.distinct(Projections.id())));*/
return q.list();
}
 
 
/impl/src/java/pt/estgp/estgweb/domain/dao/impl/ConfigurationGradesDaoImpl.java
New file
0,0 → 1,21
package pt.estgp.estgweb.domain.dao.impl;
 
/**
* @author Jorge Machado
* @date 28/Fev/2008
* @time 2:51:06
* @see pt.estgp.estgweb.domain.dao.impl
*/
public class ConfigurationGradesDaoImpl extends ConfigurationGradesDao
{
public static ConfigurationGradesDaoImpl getInstance()
{
if (myInstance == null)
myInstance = new ConfigurationGradesDaoImpl();
return (ConfigurationGradesDaoImpl) myInstance;
}
 
 
 
 
}
Property changes:
Added: svn:executable
+ *
/impl/src/java/pt/estgp/estgweb/domain/dao/impl/CourseUnitGradeDaoImpl.java
1,19 → 1,9
package pt.estgp.estgweb.domain.dao.impl;
 
import pt.estgp.estgweb.domain.BlogImpl;
import pt.estgp.estgweb.domain.Blog;
import pt.estgp.estgweb.domain.CourseUnitGrade;
import pt.estgp.estgweb.domain.dao.DaoUtils;
import pt.estgp.estgweb.services.common.SearchTypeEnum;
 
import java.util.List;
import java.util.ArrayList;
import static org.hibernate.criterion.Restrictions.eq;
 
import org.hibernate.Criteria;
import org.hibernate.criterion.Criterion;
import org.hibernate.criterion.Order;
import static org.hibernate.criterion.Restrictions.*;
 
/**
* @author Jorge Machado
* @date 28/Fev/2008
40,5 → 30,14
.uniqueResult();
}
 
public CourseUnitGrade find(long courseUnitId, long studentId, String momento,String epoca)
{
return (CourseUnitGrade) createCriteria().add(eq("student.id",studentId))
.add(eq("courseUnit.id",courseUnitId))
.add(eq("codigoMomento",momento))
.add(eq("codigoEpoca",epoca))
.uniqueResult();
}
 
 
}
/impl/src/java/pt/estgp/estgweb/domain/dao/DaoFactory.java
327,5 → 327,18
return ConfigurationDaoImpl.getInstance();
}
 
public static ConfigurationGradesDaoImpl getConfigurationGradesDaoImpl() {
return ConfigurationGradesDaoImpl.getInstance();
}
 
public static ConfigurationGradesEpocaAvaliacaoDaoImpl getConfigurationGradesEpocaAvaliacaoDaoImpl() {
return ConfigurationGradesEpocaAvaliacaoDaoImpl.getInstance();
}
 
public static ConfigurationGradesStatusEpocaDaoImpl getConfigurationGradesStatusEpocaDaoImpl() {
return ConfigurationGradesStatusEpocaDaoImpl.getInstance();
}
 
 
 
}
/impl/src/java/pt/estgp/estgweb/domain/ConfigurationGradesEpocaAvaliacaoImpl.java
New file
0,0 → 1,29
package pt.estgp.estgweb.domain;
 
import java.io.Serializable;
import java.util.Date;
 
/**
* Created by jorgemachado on 02/11/15.
*/
public class ConfigurationGradesEpocaAvaliacaoImpl extends ConfigurationGradesEpocaAvaliacao {
 
public ConfigurationGradesEpocaAvaliacaoImpl()
{
}
@Override
public Serializable getSerializable() {
return getId();
}
 
public static ConfigurationGradesEpocaAvaliacao create(String epoca, String momento, String descricao)
{
ConfigurationGradesEpocaAvaliacao obj = DomainObjectFactory.createConfigurationGradesEpocaAvaliacaoImpl();
obj.setCodigoMomento(momento);
obj.setCodigoEpoca(epoca);
obj.setDescricao(descricao);
obj.setSaveDate(new Date());
return obj;
}
 
}
/impl/src/java/pt/estgp/estgweb/domain/ConfigurationGradesImpl.java
New file
0,0 → 1,63
package pt.estgp.estgweb.domain;
 
import java.io.Serializable;
import java.util.HashSet;
import java.util.Set;
 
/**
* Created by jorgemachado on 02/11/15.
*/
public class ConfigurationGradesImpl extends ConfigurationGrades {
 
public ConfigurationGradesImpl()
{
}
@Override
public Serializable getSerializable() {
return getId();
}
 
 
 
public void create()
{
Set<ConfigurationGradesEpocaAvaliacao> epocas = new HashSet<ConfigurationGradesEpocaAvaliacao>();
epocas.add(ConfigurationGradesEpocaAvaliacaoImpl.create("7", "99", "Estatutos Especiais/Dirigente Associativo (ESTG)"));
epocas.add(ConfigurationGradesEpocaAvaliacaoImpl.create("12", "99", "Equivalência Vasco da Gama (ESTG)"));
epocas.add(ConfigurationGradesEpocaAvaliacaoImpl.create("13", "99", "Atleta de Alta Competição (ESTG)"));
epocas.add(ConfigurationGradesEpocaAvaliacaoImpl.create("20", "99", "Época Normal (ESTG)"));
epocas.add(ConfigurationGradesEpocaAvaliacaoImpl.create("22", "99", "Equivalência Erasmus (ESTG)"));
epocas.add(ConfigurationGradesEpocaAvaliacaoImpl.create("36", "99", "Época de Recurso (ESTG)"));
epocas.add(ConfigurationGradesEpocaAvaliacaoImpl.create("37", "99", "Época de Melhoria (ESTG)"));
epocas.add(ConfigurationGradesEpocaAvaliacaoImpl.create("38", "99", "Época Especial (ESTG)"));
setEpocasAvaliacao(epocas);
 
Set<ConfigurationGradesStatusEpoca> status = new HashSet<ConfigurationGradesStatusEpoca>();
status.add(ConfigurationGradesStatusEpocaImpl.create("1","Inscrito"));
status.add(ConfigurationGradesStatusEpocaImpl.create("2","Avaliado"));
status.add(ConfigurationGradesStatusEpocaImpl.create("19","A Terminar Posteriormente 6 A pagamento"));
status.add(ConfigurationGradesStatusEpocaImpl.create("5","Anulou"));
status.add(ConfigurationGradesStatusEpocaImpl.create("7","Faltou"));
status.add(ConfigurationGradesStatusEpocaImpl.create("8","Desistiu"));
status.add(ConfigurationGradesStatusEpocaImpl.create("9","Dispensado"));
status.add(ConfigurationGradesStatusEpocaImpl.create("3","Aprovado"));
status.add(ConfigurationGradesStatusEpocaImpl.create("4","Reprovado"));
status.add(ConfigurationGradesStatusEpocaImpl.create("10","Admitido a Exame"));
status.add(ConfigurationGradesStatusEpocaImpl.create("11","Não Admitido"));
status.add(ConfigurationGradesStatusEpocaImpl.create("12","Sem avaliação"));
status.add(ConfigurationGradesStatusEpocaImpl.create("13","Insc. Pendente"));
status.add(ConfigurationGradesStatusEpocaImpl.create("14","Sem elementos de avaliação"));
status.add(ConfigurationGradesStatusEpocaImpl.create("15","Reprovado por faltas"));
status.add(ConfigurationGradesStatusEpocaImpl.create("16","Não atingiu a nota minima"));
status.add(ConfigurationGradesStatusEpocaImpl.create("18","Aguarda Equivalência"));
status.add(ConfigurationGradesStatusEpocaImpl.create("17","Não cumpriu critérios de avaliação"));
status.add(ConfigurationGradesStatusEpocaImpl.create("20","Prova anulada"));
status.add(ConfigurationGradesStatusEpocaImpl.create("21","Não atingiu todas as competências da unidade"));
status.add(ConfigurationGradesStatusEpocaImpl.create("22","Sem Nota Lançada"));
status.add(ConfigurationGradesStatusEpocaImpl.create("23","Frequentou"));
status.add(ConfigurationGradesStatusEpocaImpl.create("24","Melhoria não Atribuida"));
setStatusEpoca(status);
}
 
 
}
/impl/src/java/pt/estgp/estgweb/web/form/configuration/ConfigurationGradesForm.java
New file
0,0 → 1,60
package pt.estgp.estgweb.web.form.configuration;
 
import jomm.utils.AutoFillArrayList;
import pt.estgp.estgweb.domain.ConfigurationGradesEpocaAvaliacaoImpl;
import pt.estgp.estgweb.domain.ConfigurationGradesStatusEpocaImpl;
import pt.estgp.estgweb.domain.views.ConfigurationGradesView;
import pt.estgp.estgweb.web.form.ApplicationForm;
 
import java.util.List;
 
/**
* @author Jorge Machado
* @date 25/Jun/2008
* @see pt.estgp.estgweb.web.form.courses
*/
public class ConfigurationGradesForm extends ApplicationForm
{
 
private String dispatch;
private long id;
private ConfigurationGradesView configurationGrades;
 
 
public ConfigurationGradesForm()
{
 
}
 
public ConfigurationGradesView getConfigurationGrades() {
if(configurationGrades == null)
{
configurationGrades = new ConfigurationGradesView();
List o = new AutoFillArrayList<ConfigurationGradesEpocaAvaliacaoImpl>(ConfigurationGradesEpocaAvaliacaoImpl.class);
List o2 = new AutoFillArrayList<ConfigurationGradesStatusEpocaImpl>(ConfigurationGradesStatusEpocaImpl.class);
configurationGrades.setEpocasAvaliacao(o);
configurationGrades.setStatusEpocas(o2);
}
return configurationGrades;
}
 
public String getOp() {
return dispatch;
}
 
public void setOp(String dispatch) {
this.dispatch = dispatch;
}
 
public void setConfigurationGrades(ConfigurationGradesView configurationGrades) {
this.configurationGrades = configurationGrades;
}
 
public long getId() {
return id;
}
 
public void setId(long id) {
this.id = id;
}
}
/impl/src/java/pt/estgp/estgweb/web/controllers/profile/ProfileController.java
1,33 → 1,38
package pt.estgp.estgweb.web.controllers.profile;
 
import java.io.Serializable;
 
import org.apache.log4j.Logger;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import pt.estgp.estgweb.Globals;
import pt.estgp.estgweb.domain.DomainObjectFactory;
import pt.estgp.estgweb.domain.User;
import pt.estgp.estgweb.domain.UserSessionImpl;
import pt.estgp.estgweb.domain.views.RecordView;
import pt.estgp.estgweb.domain.views.UserView;
import pt.estgp.estgweb.services.expceptions.AlreadyExistsException;
import pt.estgp.estgweb.web.UserSessionProxy;
import pt.estgp.estgweb.web.controllers.AddRolesController;
import pt.estgp.estgweb.web.utils.RequestUtils;
import pt.estgp.estgweb.web.UserSessionProxy;
import pt.estgp.estgweb.web.exceptions.NoCookiesException;
import pt.estgp.estgweb.web.form.AddRolesForm;
import pt.estgp.estgweb.web.form.profile.ProfileForm;
import pt.estgp.estgweb.domain.*;
import pt.estgp.estgweb.domain.views.UserView;
import pt.estgp.estgweb.domain.views.RecordView;
import pt.estgp.estgweb.Globals;
import pt.estgp.estgweb.services.expceptions.AlreadyExistsException;
import pt.estgp.estgweb.web.utils.RequestUtils;
import pt.utl.ist.berserk.logic.filterManager.exceptions.FilterRetrieveException;
import pt.utl.ist.berserk.logic.filterManager.exceptions.IncompatibleFilterException;
import pt.utl.ist.berserk.logic.filterManager.exceptions.InvalidFilterException;
import pt.utl.ist.berserk.logic.filterManager.exceptions.InvalidFilterExpressionException;
import pt.utl.ist.berserk.logic.serviceManager.IServiceManager;
import pt.utl.ist.berserk.logic.serviceManager.ServiceManager;
import pt.utl.ist.berserk.logic.serviceManager.exceptions.FilterChainFailedException;
import pt.utl.ist.berserk.logic.serviceManager.exceptions.ServiceManagerException;
import pt.utl.ist.berserk.logic.filterManager.exceptions.*;
import org.apache.log4j.Logger;
import org.apache.struts.action.*;
 
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.ServletException;
import java.io.Serializable;
import java.util.List;
import java.util.ArrayList;
 
import pt.estgp.estgweb.web.form.AddRolesForm;
 
/**
* @author Jorge Machado
* @date 26/Fev/2008
522,4 → 527,32
}
}
 
public ActionForward addRole(ActionMapping mapping,
ActionForm form ,
HttpServletRequest request,
HttpServletResponse response)
throws Throwable, ServletException
{
ProfileForm profileForm = (ProfileForm) form;
UserView uV = loadUser(profileForm.getUserView().getId(), request, response);
profileForm.getUserView().setPasswordLocal(uV.isPasswordLocal());
profileForm.setUserView(uV);
UserSessionImpl userSession = (UserSessionImpl) UserSessionProxy.loadUserSession(request, response);
return super.addRole(mapping,form,request,response);
}
 
public ActionForward removeRole(ActionMapping mapping,
ActionForm form ,
HttpServletRequest request,
HttpServletResponse response)
throws Throwable, ServletException
{
ProfileForm profileForm = (ProfileForm) form;
UserView uV = loadUser(profileForm.getUserView().getId(), request, response);
profileForm.setUserView(uV);
profileForm.getUserView().setPasswordLocal(uV.isPasswordLocal());
UserSessionImpl userSession = (UserSessionImpl) UserSessionProxy.loadUserSession(request, response);
return super.removeRole(mapping,form,request,response);
}
 
}
/impl/src/java/pt/estgp/estgweb/web/controllers/configuration/GradesController.java
New file
0,0 → 1,103
package pt.estgp.estgweb.web.controllers.configuration;
 
import jomm.dao.impl.AbstractDao;
import org.apache.log4j.Logger;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import pt.estgp.estgweb.domain.ConfigurationGradesEpocaAvaliacao;
import pt.estgp.estgweb.domain.ConfigurationGradesStatusEpoca;
import pt.estgp.estgweb.domain.DomainObjectFactory;
import pt.estgp.estgweb.domain.dao.DaoFactory;
import pt.estgp.estgweb.web.controllers.ApplicationDispatchController;
import pt.estgp.estgweb.web.form.configuration.ConfigurationGradesForm;
 
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
/**
* @author Jorge Machado
* @date 26/Fev/2008
* @time 18:01:54
* @see pt.estgp.estgweb.web
*/
public class GradesController extends ApplicationDispatchController
{
 
private static final Logger logger = Logger.getLogger(GradesController.class);
 
 
 
public ActionForward saveGrades(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws ServletException
{
 
return mapping.findForward("save");
}
 
public ActionForward addEpocaAvaliacao(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws ServletException
{
 
 
AbstractDao.getCurrentSession().beginTransaction();
ConfigurationGradesEpocaAvaliacao epoca = DomainObjectFactory.createConfigurationGradesEpocaAvaliacaoImpl();
DaoFactory.getConfigurationDaoImpl().load().getConfigurationGrades().getEpocasAvaliacao().add(epoca);
DaoFactory.getConfigurationGradesEpocaAvaliacaoDaoImpl().save(epoca);
AbstractDao.getCurrentSession().getTransaction().commit();
return mapping.findForward("grades");
}
 
public ActionForward addSatusEpoca(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws ServletException
{
 
 
AbstractDao.getCurrentSession().beginTransaction();
ConfigurationGradesStatusEpoca status = DomainObjectFactory.createConfigurationGradesStatusEpocaImpl();
DaoFactory.getConfigurationDaoImpl().load().getConfigurationGrades().getStatusEpoca().add(status);
DaoFactory.getConfigurationGradesStatusEpocaDaoImpl().save(status);
AbstractDao.getCurrentSession().getTransaction().commit();
return mapping.findForward("grades");
}
 
public ActionForward deleteEpocaAvaliacao(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws ServletException
{
 
ConfigurationGradesForm f = (ConfigurationGradesForm) form;
AbstractDao.getCurrentSession().beginTransaction();
DaoFactory.getConfigurationGradesEpocaAvaliacaoDaoImpl().delete(f.getId());
AbstractDao.getCurrentSession().getTransaction().commit();
return mapping.findForward("grades");
}
 
public ActionForward deleteStatusEpoca(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws ServletException
{
 
ConfigurationGradesForm f = (ConfigurationGradesForm) form;
 
AbstractDao.getCurrentSession().beginTransaction();
DaoFactory.getConfigurationGradesStatusEpocaDaoImpl().delete(f.getId());
AbstractDao.getCurrentSession().getTransaction().commit();
return mapping.findForward("grades");
}
 
}
Property changes:
Added: svn:executable
+ *
/impl/src/java/pt/estgp/estgweb/web/controllers/announcements/MessagesController.java
1,36 → 1,26
package pt.estgp.estgweb.web.controllers.announcements;
 
import pt.estgp.estgweb.web.controllers.courseunits.CourseUnitsController;
import pt.estgp.estgweb.web.form.courses.CourseForm;
import pt.estgp.estgweb.web.form.announcements.MessagesForm;
import pt.estgp.estgweb.web.exceptions.NoCookiesException;
import pt.estgp.estgweb.web.utils.RequestUtils;
import pt.estgp.estgweb.domain.views.CourseView;
import org.apache.log4j.Logger;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import pt.estgp.estgweb.domain.views.CourseUnitView;
import pt.estgp.estgweb.domain.views.CourseView;
import pt.estgp.estgweb.domain.views.UserView;
import pt.estgp.estgweb.filters.exceptions.NotFoundException;
import pt.estgp.estgweb.services.expceptions.AlreadyExistsException;
import pt.estgp.estgweb.services.courseunits.DirectedCoordinatedUnitsService;
import pt.estgp.estgweb.services.courseunits.DirectedCoordinatedCourses;
import pt.estgp.estgweb.services.announcements.CreateAnnouncementService;
import pt.utl.ist.berserk.logic.filterManager.exceptions.InvalidFilterException;
import pt.utl.ist.berserk.logic.filterManager.exceptions.InvalidFilterExpressionException;
import pt.utl.ist.berserk.logic.filterManager.exceptions.IncompatibleFilterException;
import pt.utl.ist.berserk.logic.filterManager.exceptions.FilterRetrieveException;
import pt.utl.ist.berserk.logic.serviceManager.exceptions.ServiceManagerException;
import pt.utl.ist.berserk.logic.serviceManager.exceptions.FilterChainFailedException;
import pt.estgp.estgweb.web.controllers.courseunits.CourseUnitsController;
import pt.estgp.estgweb.web.form.announcements.MessagesForm;
import pt.estgp.estgweb.web.utils.RequestUtils;
import pt.utl.ist.berserk.logic.serviceManager.IServiceManager;
import pt.utl.ist.berserk.logic.serviceManager.ServiceManager;
import org.apache.log4j.Logger;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionForm;
import pt.utl.ist.berserk.logic.serviceManager.exceptions.FilterChainFailedException;
 
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.ServletException;
import java.util.List;
import java.util.ArrayList;
import java.util.List;
 
/**
* @author Jorge Machado
58,7 → 48,7
MessagesForm mF = (MessagesForm) form;
IServiceManager sm = ServiceManager.getInstance();
String[] names = new String[]{};
Object[] args = new String[]{"",mF.getDepartamento()};
Object[] args = new String[]{mF.getImportYear(),mF.getDepartamento()};
List<CourseView> courseViews = (List<CourseView>) sm.execute(RequestUtils.getRequester(request, response), "LoadCoursesImportYearArea", args, names);
mF.setCourseViews(courseViews);
addMessage(request,"submit.todo.message.courses.loaded");
/impl/src/java/pt/estgp/estgweb/examples/DBInit.java
70,6 → 70,9
announcement3.setPopupwidthpx(0);
announcement3.setPosition(0);
DaoFactory.getAnnouncementDaoImpl().save(announcement3);
 
 
 
AbstractDao.getCurrentSession().getTransaction().commit();
}
}
/impl/src/doc/mysql/ConfigurarMysql.txt
New file
0,0 → 1,11
 
 
my.conf
 
[mysqld]
default-storage-engine = innodb
transaction-isolation = READ-COMMITTED
 
restart mysql
 
restart no mac /usr/local/mysql/support-files/mysql.server restart