Subversion Repositories bacoAlunos

Compare Revisions

Ignore whitespace Rev 113 → Rev 117

/impl/conf/app.properties
25,6 → 25,9
## Kinds of roles
user.admin=admin
user.super=all
user.student=student
user.teacher=teacher
 
user.role.0=all
user.role.1=admin
user.role.2=student
138,5 → 141,11
search.best.fragments.max.fragments=3
 
 
#########################################################################
# Imports SIGoES
#
siges.institution.code=1
 
 
 
 
/impl/conf/berserk/sd.xml
223,6 → 223,38
</filterChains>
</service>
 
<!--Import Services-->
<service>
<name>ImportCourseServices</name>
<implementationClass>pt.estgp.estgweb.services.sigesimports.ImportCourseService</implementationClass>
<description>Service to call SiGesWEB Service and import Courses and Course Units</description>
<isTransactional>true</isTransactional>
<filterChains>
<chain name="Logger"/>
<chain name="Supers"/>
</filterChains>
</service>
<service>
<name>ImportStudentServices</name>
<implementationClass>pt.estgp.estgweb.services.sigesimports.ImportStudentService</implementationClass>
<description>Service to call SiGesWEB Service and import Students and Course Units</description>
<isTransactional>true</isTransactional>
<filterChains>
<chain name="Logger"/>
<chain name="Supers"/>
</filterChains>
</service>
<service>
<name>ImportTeacherServices</name>
<implementationClass>pt.estgp.estgweb.services.sigesimports.ImportTeachersService</implementationClass>
<description>Service to call SiGesWEB Service and import Teachers and Course Units</description>
<isTransactional>true</isTransactional>
<filterChains>
<chain name="Logger"/>
<chain name="Supers"/>
</filterChains>
</service>
<!--ProfileServices-->
<service>
<name>LoadUserById</name>
/impl/conf/berserk/fcd.xml
27,6 → 27,13
<invocationTiming>1</invocationTiming>
<filterClass>pt.estgp.estgweb.filters.chains.AdminControlFilter</filterClass>
</filterChain>
<filterChain>
<name>Supers</name>
<expression>AuthenticatedUsers &amp;&amp; RoleUsers("super")</expression>
<description>Super Users Control Chain</description>
<invocationTiming>1</invocationTiming>
<filterClass>pt.estgp.estgweb.filters.chains.AdminControlFilter</filterClass>
</filterChain>
 
<!--Generic Owners: need object in service paramenters-->
<filterChain>
/impl/src/java/pt/estgp/estgweb/utils/RoleManager.java
21,6 → 21,7
{
 
private static String ROLE_MESSAGE_RESOURCES_PREFIX = "role.";
public static String ROLE_SEPARATOR = ",";
 
private static List<String> roles = null;
 
42,7 → 43,7
if(u.getRoles() == null || u.getRoles().length() == 0)
return false;
 
String[] roles = u.getRoles().split(",");
String[] roles = u.getRoles().split(ROLE_SEPARATOR);
for(String role: roles)
{
if(role.equals(requiredRole))
75,7 → 76,7
if(roles == null)
roles = role;
else
roles += "," + role;
roles += ROLE_SEPARATOR + role;
}
return roles;
}
84,7 → 85,7
{
if(rolesStr == null)
return null;
String[] roles = rolesStr.split(",");
String[] roles = rolesStr.split(ROLE_SEPARATOR);
List<String> l = new ArrayList<String>();
for(String role: roles)
{
92,4 → 93,12
}
return l;
}
 
public static String catRole(String old, String newRole)
{
if(old == null || old.length() == 0)
return newRole;
else
return old + ROLE_SEPARATOR + newRole;
}
}
/impl/src/java/pt/estgp/estgweb/Globals.java
3,6 → 3,7
import pt.estgp.estgweb.utils.ConfigProperties;
 
import java.util.List;
import java.math.BigDecimal;
 
/**
* @author Jorge Machado
35,4 → 36,8
public static final int ANNOUNCEMENT_TYPE_TOP_FLASH_NEWS_TIMEOUT = ConfigProperties.getIntProperty("announcements.top.flash.news.timeout.miliseconds");
public static List<String> USER_ROLES = ConfigProperties.getListValues("user.role");
 
public static final String STUDENT_ROLE = ConfigProperties.getProperty("role.student");
public static final String TEACHER_ROLE = ConfigProperties.getProperty("role.teacher");
public static final BigDecimal SIGES_INSTITUTION_CODE = new BigDecimal(ConfigProperties.getIntProperty("siges.institution.code"));
 
}
/impl/src/java/pt/estgp/estgweb/services/sigesimports/ImportStudentService.java
New file
0,0 → 1,26
package pt.estgp.estgweb.services.sigesimports;
 
import org.apache.log4j.Logger;
import pt.estgp.estgweb.services.expceptions.ServiceException;
import pt.utl.ist.berserk.logic.serviceManager.IService;
 
/**
* @author Jorge Machado
* @date 11/May/2008
* @time 12:51:32
* @see pt.estgp.estgweb
*/
public class ImportStudentService implements IService
{
 
private static final Logger logger = Logger.getLogger(ImportStudentService.class);
 
public void run() throws ServiceException {
 
 
}
 
 
 
 
}
/impl/src/java/pt/estgp/estgweb/services/sigesimports/ImportTeachersService.java
New file
0,0 → 1,97
package pt.estgp.estgweb.services.sigesimports;
 
import pt.utl.ist.berserk.logic.serviceManager.IService;
import pt.estgp.estgweb.services.expceptions.ServiceException;
import pt.estgp.estgweb.Globals;
import pt.estgp.estgweb.domain.dao.DaoFactory;
import pt.estgp.estgweb.domain.Teacher;
import pt.estgp.estgweb.domain.DomainObjectFactory;
import pt.estgp.estgweb.domain.CourseUnit;
import pt.ipportalegre.siges.web.services.*;
import org.apache.log4j.Logger;
 
import java.util.*;
import java.math.BigDecimal;
 
import jomm.dao.impl.AbstractDao;
 
/**
* @author Jorge Machado
* @date 11/May/2008
* @time 12:51:32
* @see pt.estgp.estgweb
*/
public class ImportTeachersService implements IService
{
 
private static final Logger logger = Logger.getLogger(ImportTeachersService.class);
 
public void run() throws ServiceException
{
//todo passar para um utilitario que cria automaticamente o ano lectivo
String year = "200708";
SiGesWEB service = new SiGesWEB();
ArrayOfDecimal codigosDocentes = service.getSiGesWEBSoap().getCodigosDocentesInscritosDaInstituicao(Globals.SIGES_INSTITUTION_CODE,year);
List<BigDecimal> codigos = codigosDocentes.getDecimal();
for(BigDecimal c: codigos)
{
Docente d = service.getSiGesWEBSoap().getDocente(c,Globals.SIGES_INSTITUTION_CODE,year);
Teacher t = DaoFactory.getTeacherDaoImpl().loadBySigesCode(d.getCodigoFuncionario().intValue());
if(t == null)
{
t = DomainObjectFactory.createTeacherImpl();
DaoFactory.getTeacherDaoImpl().save(t);
persist(d,t);
}
}
}
 
/**
* Nao esta testado
* jm
* @param d docente
* @param t teacher
*/
private void persist(Docente d, Teacher t)
{
t.setName(d.getNomeFuncionarioInt());
t.setEmail(d.getEmail());
t.setSigesCode(d.getCodigoFuncionario().intValue());
t.setAddress(d.getMorada());
t.setZip(""+d.getCodigoPostal().intValue());
t.setBi(d.getNumeroBi());
t.setEmployerName(d.getNomeFuncionario());
t.setAcademicName(d.getNomeAcademico());
t.setBirthDate(d.getDataNascimento().toGregorianCalendar().getTime());
//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(d.getDisciplinas() == null || d.getDisciplinas().getDecimal() == null || d.getDisciplinas().getDecimal().size() == 0)
logger.warn("ATENTION TEACHER WITH ZERO UNITS: codigoFuncionario " + d.getCodigoFuncionario());
else
{
Set<CourseUnit> units = new HashSet<CourseUnit>();
for(BigDecimal unitCode: d.getDisciplinas().getDecimal())
{
CourseUnit c = DaoFactory.getCourseUnitDaoImpl().loadBySigesCode("" + unitCode.intValue());
if(c != null)
units.add(c);
else
logger.warn("ATENTION SIGES COURSE UNIT NOT FOUND IN BACO STORAGE: curseUnit " + unitCode.intValue());
}
t.setTeachedUnits(units);
}
}
 
/**
* Testar por aqui poi requer Super Role e assim e' autmatico
* @param args of main
* @throws ServiceException on error
*/
public static void main(String[]args) throws ServiceException
{
AbstractDao.getCurrentSession().beginTransaction();
new ImportTeachersService().run();
AbstractDao.getCurrentSession().getTransaction().commit();
}
 
 
}
/impl/src/java/pt/estgp/estgweb/domain/UserManagedRoleImpl.java
New file
0,0 → 1,40
package pt.estgp.estgweb.domain;
 
import java.util.Date;
import java.util.Set;
 
 
public abstract class UserManagedRoleImpl extends UserImpl
{
 
public UserManagedRoleImpl()
{
 
}
public UserManagedRoleImpl(Date saveDate, boolean superuser, String name, String username, String password, String roles, String address, String zip, String country, String email, String phonenumber, String sex, String bi, Date birthDate, Set<Group> groups, Set<CourseUserAssociation> courses)
{
super(saveDate, superuser, name, username, password, roles, address, zip, country, email, phonenumber, sex, bi, birthDate, groups, courses);
}
 
/**
*
* @return the managed role of implementation object
*/
public abstract String getManagedRole();
 
/**
*
* @return roles of student check first if has student role
*/
public String getRoles()
{
if(super.getRoles() == null)
super.setRoles(getManagedRole());
else if(super.getRoles().indexOf(getManagedRole()) < 0)
{
addRole(getManagedRole());
}
return super.getRoles();
}
}
/impl/src/java/pt/estgp/estgweb/domain/UserImpl.java
2,9 → 2,10
 
import pt.estgp.estgweb.utils.RoleManager;
 
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import java.util.ArrayList;
import java.io.Serializable;
import java.util.Set;
 
/**
* @author Jorge Machado
16,7 → 17,15
{
private boolean newUser = false;
 
public UserImpl()
{}
 
public UserImpl(Date saveDate, boolean superuser, String name, String username, String password, String roles, String address, String zip, String country, String email, String phonenumber, String sex, String bi, Date birthDate, Set<Group> groups, Set<CourseUserAssociation> courses)
{
super(saveDate, superuser, name, username, password, roles, address, zip, country, email, phonenumber, sex, bi, birthDate, groups, courses);
}
 
 
public boolean isNewUser() {
return newUser;
}
41,6 → 50,11
return false;
}
 
public void addRole(String role)
{
setRoles(RoleManager.catRole(getRoles(),"student"));
}
 
public boolean hasRole(String r)
{
if(r == null || getRoles() == null || getRoles().length() == 0)
/impl/src/java/pt/estgp/estgweb/domain/StudentImpl.java
New file
0,0 → 1,21
package pt.estgp.estgweb.domain;
 
import pt.estgp.estgweb.utils.RoleManager;
import pt.estgp.estgweb.Globals;
 
/**
* @author Jorge Machado
* @date 28/Fev/2008
* @time 12:51:32
* @see pt.estgp.estgweb
*/
public class StudentImpl extends Student
{
 
public static final String STUDENT_ROLE = Globals.STUDENT_ROLE;
 
 
public String getManagedRole() {
return STUDENT_ROLE;
}
}
/impl/src/java/pt/estgp/estgweb/domain/dao/impl/CourseUnitDaoImpl.java
1,5 → 1,8
package pt.estgp.estgweb.domain.dao.impl;
 
import pt.estgp.estgweb.domain.CourseUnit;
import static org.hibernate.criterion.Restrictions.*;
 
/**
* @author Jorge Machado
* @date 28/Fev/2008
20,4 → 23,9
return (CourseUnitDaoImpl) myInstance;
}
 
public CourseUnit loadBySigesCode(String sigesCode)
{
return (CourseUnit) createCriteria().add(eq("sigesCode",sigesCode)).uniqueResult();
}
 
}
/impl/src/java/pt/estgp/estgweb/domain/dao/impl/TeacherDaoImpl.java
New file
0,0 → 1,28
package pt.estgp.estgweb.domain.dao.impl;
 
import pt.estgp.estgweb.domain.Teacher;
import static org.hibernate.criterion.Restrictions.*;
/**
* @author Jorge Machado
* @date 28/Fev/2008
* @time 2:51:06
* @see pt.estgp.estgweb.domain.dao.impl
*/
public class TeacherDaoImpl extends TeacherDao
{
private TeacherDaoImpl(){}
 
public static TeacherDaoImpl getInstance()
{
if (myInstance == null)
myInstance = new TeacherDaoImpl();
return (TeacherDaoImpl) myInstance;
}
 
public Teacher loadBySigesCode(int sigesCode)
{
return (Teacher) createCriteria().add(eq("sigesCode",sigesCode)).uniqueResult();
}
 
 
}
/impl/src/java/pt/estgp/estgweb/domain/dao/impl/StudentDaoImpl.java
New file
0,0 → 1,29
package pt.estgp.estgweb.domain.dao.impl;
 
import pt.estgp.estgweb.domain.Student;
import static org.hibernate.criterion.Restrictions.*;
 
/**
* @author Jorge Machado
* @date 28/Fev/2008
* @time 2:51:06
* @see pt.estgp.estgweb.domain.dao.impl
*/
public class StudentDaoImpl extends StudentDao
{
private StudentDaoImpl(){}
 
public static StudentDaoImpl getInstance()
{
if (myInstance == null)
myInstance = new StudentDaoImpl();
return (StudentDaoImpl) myInstance;
}
 
public Student loadBySigesCode(int sigesCode)
{
return (Student) createCriteria().add(eq("sigesCode",sigesCode)).uniqueResult();
}
 
 
}
/impl/src/java/pt/estgp/estgweb/domain/dao/DaoFactory.java
75,12 → 75,23
return BlogDaoImpl.getInstance();
}
 
public static BlogPostDaoImpl getBlogPostDaoImpl()
public static BlogPostDaoImpl getBlogPostDaoImpl()
{
return BlogPostDaoImpl.getInstance();
}
 
public static CourseUnitDaoImpl getCourseUnitDaoImpl()
{
return CourseUnitDaoImpl.getInstance();
}
 
public static TeacherDaoImpl getTeacherDaoImpl()
{
return TeacherDaoImpl.getInstance();
}
 
public static StudentDaoImpl getStudentDaoImpl()
{
return StudentDaoImpl.getInstance();
}
}
/impl/src/java/pt/estgp/estgweb/domain/DomainObjectFactory.java
92,4 → 92,14
{
return new CourseUnitImpl();
}
 
public static TeacherImpl createTeacherImpl()
{
return new TeacherImpl();
}
 
public static StudentImpl createStudentImpl()
{
return new StudentImpl();
}
}
/impl/src/java/pt/estgp/estgweb/domain/TeacherImpl.java
New file
0,0 → 1,20
package pt.estgp.estgweb.domain;
 
import pt.estgp.estgweb.Globals;
 
/**
* @author Jorge Machado
* @date 28/Fev/2008
* @time 12:51:32
* @see pt.estgp.estgweb
*/
public class TeacherImpl extends Teacher
{
 
public static final String TEACHER_ROLE = Globals.TEACHER_ROLE;
 
 
public String getManagedRole() {
return TEACHER_ROLE;
}
}
/impl/src/doc/estgweb.eap
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/impl/src/hbm/pt/estgp/estgweb/domain/GenericUser.hbm.xml
33,6 → 33,9
<property name="country" type="string"/>
<property name="email" type="string"/>
<property name="phonenumber" type="string"/>
<property name="sex" type="string"/>
<property name="bi" type="string"/>
<property name="birthDate" type="date"/>
<set name="groups" table="group_users">
<key column="user_id"/>
<many-to-many column="group_id" class="pt.estgp.estgweb.domain.Group"/>
41,7 → 44,34
<key column="user_id"/>
<one-to-many class="pt.estgp.estgweb.domain.CourseUserAssociation"/>
</set>
<subclass name="pt.estgp.estgweb.domain.UserImpl" discriminator-value="UserImpl"/>
<subclass name="pt.estgp.estgweb.domain.UserImpl" discriminator-value="UserImpl">
<subclass name="pt.estgp.estgweb.domain.UserManagedRoleImpl">
<subclass name="pt.estgp.estgweb.domain.Student">
<meta attribute="extends">pt.estgp.estgweb.domain.UserManagedRoleImpl</meta>
<meta attribute="scope-class">public abstract</meta>
<property name="sigesCode" type="int"/>
<property name="userNameNetpa" type="string"/>
<set name="subscribedUnits" lazy="true">
<key column="studentId"/>
<many-to-many class="pt.estgp.estgweb.domain.CourseUnit" column="courseUnitId"/>
</set>
<subclass name="pt.estgp.estgweb.domain.StudentImpl" discriminator-value="StudentImpl"/>
</subclass>
<subclass name="pt.estgp.estgweb.domain.Teacher">
<meta attribute="extends">pt.estgp.estgweb.domain.UserManagedRoleImpl</meta>
<meta attribute="scope-class">public abstract</meta>
<property name="sigesCode" type="int"/>
<property name="userNameNetpa" type="string"/>
<property name="academicName" type="string"/>
<property name="employerName" type="string"/>
<set name="teachedUnits" lazy="true">
<key column="studentId"/>
<many-to-many class="pt.estgp.estgweb.domain.CourseUnit" column="courseUnitId"/>
</set>
<subclass name="pt.estgp.estgweb.domain.TeacherImpl" discriminator-value="TeacherImpl"/>
</subclass>
</subclass>
</subclass>
</subclass>
</class>
</hibernate-mapping>
/impl/src/web/admin/Profile/findUser.jsp
4,6 → 4,7
<%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/tlds/struts-nested.tld" prefix="nested" %>
<%@ taglib uri="/WEB-INF/tlds/jomm.tld" prefix="jomm" %>
<jsp:useBean id="ProfileForm" class="pt.estgp.estgweb.web.form.profile.ProfileForm"/>
 
<jomm:messages/>
<html:form action="/profile">
33,4 → 34,10
</td>
</tr>
</table>
 
<logic:iterate id="userView" name="ProfileForm" property="usersFind" type="pt.estgp.estgweb.domain.views.UserView">
${userView.name}<br/>
 
</logic:iterate>
</html:form>
/impl/src/web/admin/Profile/profile.jsp
2,39 → 2,49
<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/tlds/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %>
<bean:message key="authentication.first.time"/> <bean:write name="UserSession" property="name"/>
<%@ taglib uri="/WEB-INF/tlds/jomm.tld" prefix="jomm" %>
 
<jomm:messages/>
<html:form action="/profile">
<input type="hidden" name="dispatch" value="editUser">
 
<table>
<html:hidden property="userView.id"/>
<html:hidden property="userView.userRoles"/>
<bean:message key="profile.edit"/>
<table class="form">
<tr>
<th><bean:message key="login.firts.time.name"/></th>
<td>
<html:text property="user.name" maxlength="250"/>
<html:text property="userView.name" maxlength="250"/>
</td>
</tr>
<tr>
<th><bean:message key="login.first.time.address"/></th>
<td>
<html:text property="user.address" maxlength="250"/>
<html:text property="userView.address" maxlength="250"/>
</td>
</tr>
<tr>
<th><bean:message key="login.first.time.zip"/></th>
<td>
<html:text property="user.zip" maxlength="250"/>
<html:text property="userView.zip" maxlength="8"/>
</td>
</tr>
<tr>
<th><bean:message key="login.first.time.country"/></th>
<td>
<html:text property="userView.country" maxlength="100"/>
</td>
</tr>
<tr>
<th><bean:message key="login.first.time.email"/></th>
<td>
<html:text property="user.email" maxlength="250"/>
<html:text property="userView.email" maxlength="250"/>
</td>
</tr>
<tr>
<th><bean:message key="login.first.time.phone.number"/></th>
<td>
<html:text property="user.phonenumber" maxlength="250"/>
<html:text property="userView.phonenumber" maxlength="250"/>
</td>
</tr>
<tr class="buttons">
/impl/gen/java/pt/estgp/estgweb/domain/Course.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 7/Mai/2008 20:26:52 by Hibernate Tools 3.2.0.b9
// Generated 11/Mai/2008 17:41:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/impl/gen/java/pt/estgp/estgweb/domain/CourseUnit.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 7/Mai/2008 20:26:52 by Hibernate Tools 3.2.0.b9
// Generated 11/Mai/2008 17:41:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/impl/gen/java/pt/estgp/estgweb/domain/UrlStatMonth.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 7/Mai/2008 20:26:52 by Hibernate Tools 3.2.0.b9
// Generated 11/Mai/2008 17:41:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/impl/gen/java/pt/estgp/estgweb/domain/UrlStatDayId.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 7/Mai/2008 20:26:52 by Hibernate Tools 3.2.0.b9
// Generated 11/Mai/2008 17:41:01 by Hibernate Tools 3.2.0.b9
 
 
 
/impl/gen/java/pt/estgp/estgweb/domain/SessionObject.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 7/Mai/2008 20:26:52 by Hibernate Tools 3.2.0.b9
// Generated 11/Mai/2008 17:41:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/impl/gen/java/pt/estgp/estgweb/domain/GenericUser.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 7/Mai/2008 20:26:52 by Hibernate Tools 3.2.0.b9
// Generated 11/Mai/2008 17:41:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/impl/gen/java/pt/estgp/estgweb/domain/Teacher.java
New file
0,0 → 1,74
package pt.estgp.estgweb.domain;
// Generated 11/Mai/2008 17:41:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
import java.util.HashSet;
import java.util.Set;
 
/**
* Teacher generated by hbm2java
*/
public abstract class Teacher extends pt.estgp.estgweb.domain.UserManagedRoleImpl implements java.io.Serializable {
 
 
private int sigesCode;
private String userNameNetpa;
private String academicName;
private String employerName;
private Set<CourseUnit> teachedUnits = new HashSet<CourseUnit>(0);
 
public Teacher() {
}
 
public Teacher(Date saveDate, boolean superuser, String name, String username, String password, String roles, String address, String zip, String country, String email, String phonenumber, String sex, String bi, Date birthDate, Set<Group> groups, Set<CourseUserAssociation> courses, int sigesCode, String userNameNetpa, String academicName, String employerName, Set<CourseUnit> teachedUnits) {
super(saveDate, superuser, name, username, password, roles, address, zip, country, email, phonenumber, sex, bi, birthDate, groups, courses);
this.sigesCode = sigesCode;
this.userNameNetpa = userNameNetpa;
this.academicName = academicName;
this.employerName = employerName;
this.teachedUnits = teachedUnits;
}
public int getSigesCode() {
return this.sigesCode;
}
public void setSigesCode(int sigesCode) {
this.sigesCode = sigesCode;
}
public String getUserNameNetpa() {
return this.userNameNetpa;
}
public void setUserNameNetpa(String userNameNetpa) {
this.userNameNetpa = userNameNetpa;
}
public String getAcademicName() {
return this.academicName;
}
public void setAcademicName(String academicName) {
this.academicName = academicName;
}
public String getEmployerName() {
return this.employerName;
}
public void setEmployerName(String employerName) {
this.employerName = employerName;
}
public Set<CourseUnit> getTeachedUnits() {
return this.teachedUnits;
}
public void setTeachedUnits(Set<CourseUnit> teachedUnits) {
this.teachedUnits = teachedUnits;
}
 
 
 
 
}
 
 
/impl/gen/java/pt/estgp/estgweb/domain/User.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 7/Mai/2008 20:26:52 by Hibernate Tools 3.2.0.b9
// Generated 11/Mai/2008 17:41:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
20,13 → 20,16
private String country;
private String email;
private String phonenumber;
private String sex;
private String bi;
private Date birthDate;
private Set<Group> groups = new HashSet<Group>(0);
private Set<CourseUserAssociation> courses = new HashSet<CourseUserAssociation>(0);
 
public User() {
}
 
public User(Date saveDate, boolean superuser, String name, String username, String password, String roles, String address, String zip, String country, String email, String phonenumber, Set<Group> groups, Set<CourseUserAssociation> courses) {
public User(Date saveDate, boolean superuser, String name, String username, String password, String roles, String address, String zip, String country, String email, String phonenumber, String sex, String bi, Date birthDate, Set<Group> groups, Set<CourseUserAssociation> courses) {
super(saveDate, superuser, name);
this.username = username;
this.password = password;
36,6 → 39,9
this.country = country;
this.email = email;
this.phonenumber = phonenumber;
this.sex = sex;
this.bi = bi;
this.birthDate = birthDate;
this.groups = groups;
this.courses = courses;
}
96,6 → 102,27
public void setPhonenumber(String phonenumber) {
this.phonenumber = phonenumber;
}
public String getSex() {
return this.sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getBi() {
return this.bi;
}
public void setBi(String bi) {
this.bi = bi;
}
public Date getBirthDate() {
return this.birthDate;
}
public void setBirthDate(Date birthDate) {
this.birthDate = birthDate;
}
public Set<Group> getGroups() {
return this.groups;
}
/impl/gen/java/pt/estgp/estgweb/domain/UrlStatYear.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 7/Mai/2008 20:26:52 by Hibernate Tools 3.2.0.b9
// Generated 11/Mai/2008 17:41:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/impl/gen/java/pt/estgp/estgweb/domain/UrlStatMonthId.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 7/Mai/2008 20:26:52 by Hibernate Tools 3.2.0.b9
// Generated 11/Mai/2008 17:41:01 by Hibernate Tools 3.2.0.b9
 
 
 
/impl/gen/java/pt/estgp/estgweb/domain/UserSession.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 7/Mai/2008 20:26:52 by Hibernate Tools 3.2.0.b9
// Generated 11/Mai/2008 17:41:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/impl/gen/java/pt/estgp/estgweb/domain/Image.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 7/Mai/2008 20:26:52 by Hibernate Tools 3.2.0.b9
// Generated 11/Mai/2008 17:41:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/impl/gen/java/pt/estgp/estgweb/domain/dao/impl/GenericUserDao.java
1,5 → 1,5
package pt.estgp.estgweb.domain.dao.impl;
// Generated 7/Mai/2008 20:26:58 by Hibernate Tools 3.2.0.b9
// Generated 11/Mai/2008 15:29:44 by Hibernate Tools 3.2.0.b9
 
 
import org.apache.log4j.Logger;
/impl/gen/java/pt/estgp/estgweb/domain/dao/impl/TeacherDao.java
New file
0,0 → 1,39
package pt.estgp.estgweb.domain.dao.impl;
// Generated 11/Mai/2008 15:29:44 by Hibernate Tools 3.2.0.b9
 
 
import org.apache.log4j.Logger;
 
/**
* Home object for domain model class Teacher.
* @author Jorge Machado - Hibernate Tools
*/
 
import jomm.dao.IDomainObjectDao;
import jomm.dao.impl.AbstractDao;
import pt.estgp.estgweb.domain.Teacher;
 
 
public class TeacherDao extends AbstractDao<Teacher> {
//public class TeacherDao extends AbstractDao implements IDomainObjectDao {
 
private static final Logger log = Logger.getLogger(TeacherDao.class);
 
protected static TeacherDao myInstance = null;
 
protected TeacherDao(){
super();
}
 
public static TeacherDao getInstance() {
if (myInstance == null)
myInstance = new TeacherDao();
return myInstance;
}
 
protected Class getReferenceClass() {
return Teacher.class;
}
}
 
 
/impl/gen/java/pt/estgp/estgweb/domain/dao/impl/UserDao.java
1,5 → 1,5
package pt.estgp.estgweb.domain.dao.impl;
// Generated 7/Mai/2008 20:26:58 by Hibernate Tools 3.2.0.b9
// Generated 11/Mai/2008 15:29:44 by Hibernate Tools 3.2.0.b9
 
 
import org.apache.log4j.Logger;
/impl/gen/java/pt/estgp/estgweb/domain/dao/impl/UrlStatYearDao.java
1,5 → 1,5
package pt.estgp.estgweb.domain.dao.impl;
// Generated 7/Mai/2008 20:26:58 by Hibernate Tools 3.2.0.b9
// Generated 11/Mai/2008 15:29:44 by Hibernate Tools 3.2.0.b9
 
 
import org.apache.log4j.Logger;
/impl/gen/java/pt/estgp/estgweb/domain/dao/impl/UrlStatMonthIdDao.java
1,5 → 1,5
package pt.estgp.estgweb.domain.dao.impl;
// Generated 7/Mai/2008 20:26:58 by Hibernate Tools 3.2.0.b9
// Generated 11/Mai/2008 15:29:44 by Hibernate Tools 3.2.0.b9
 
 
import org.apache.log4j.Logger;
/impl/gen/java/pt/estgp/estgweb/domain/dao/impl/UserSessionDao.java
1,5 → 1,5
package pt.estgp.estgweb.domain.dao.impl;
// Generated 7/Mai/2008 20:26:58 by Hibernate Tools 3.2.0.b9
// Generated 11/Mai/2008 15:29:44 by Hibernate Tools 3.2.0.b9
 
 
import org.apache.log4j.Logger;
/impl/gen/java/pt/estgp/estgweb/domain/dao/impl/ImageDao.java
1,5 → 1,5
package pt.estgp.estgweb.domain.dao.impl;
// Generated 7/Mai/2008 20:26:58 by Hibernate Tools 3.2.0.b9
// Generated 11/Mai/2008 15:29:44 by Hibernate Tools 3.2.0.b9
 
 
import org.apache.log4j.Logger;
/impl/gen/java/pt/estgp/estgweb/domain/dao/impl/BlogDao.java
1,5 → 1,5
package pt.estgp.estgweb.domain.dao.impl;
// Generated 7/Mai/2008 20:26:58 by Hibernate Tools 3.2.0.b9
// Generated 11/Mai/2008 15:29:44 by Hibernate Tools 3.2.0.b9
 
 
import org.apache.log4j.Logger;
/impl/gen/java/pt/estgp/estgweb/domain/dao/impl/TesteDao.java
1,5 → 1,5
package pt.estgp.estgweb.domain.dao.impl;
// Generated 7/Mai/2008 20:26:58 by Hibernate Tools 3.2.0.b9
// Generated 11/Mai/2008 15:29:44 by Hibernate Tools 3.2.0.b9
 
 
import org.apache.log4j.Logger;
/impl/gen/java/pt/estgp/estgweb/domain/dao/impl/StudentDao.java
New file
0,0 → 1,39
package pt.estgp.estgweb.domain.dao.impl;
// Generated 11/Mai/2008 15:29:44 by Hibernate Tools 3.2.0.b9
 
 
import org.apache.log4j.Logger;
 
/**
* Home object for domain model class Student.
* @author Jorge Machado - Hibernate Tools
*/
 
import jomm.dao.IDomainObjectDao;
import jomm.dao.impl.AbstractDao;
import pt.estgp.estgweb.domain.Student;
 
 
public class StudentDao extends AbstractDao<Student> {
//public class StudentDao extends AbstractDao implements IDomainObjectDao {
 
private static final Logger log = Logger.getLogger(StudentDao.class);
 
protected static StudentDao myInstance = null;
 
protected StudentDao(){
super();
}
 
public static StudentDao getInstance() {
if (myInstance == null)
myInstance = new StudentDao();
return myInstance;
}
 
protected Class getReferenceClass() {
return Student.class;
}
}
 
 
/impl/gen/java/pt/estgp/estgweb/domain/dao/impl/SessionObjectIdDao.java
1,5 → 1,5
package pt.estgp.estgweb.domain.dao.impl;
// Generated 7/Mai/2008 20:26:58 by Hibernate Tools 3.2.0.b9
// Generated 11/Mai/2008 15:29:44 by Hibernate Tools 3.2.0.b9
 
 
import org.apache.log4j.Logger;
/impl/gen/java/pt/estgp/estgweb/domain/dao/impl/BlogPostDao.java
1,5 → 1,5
package pt.estgp.estgweb.domain.dao.impl;
// Generated 7/Mai/2008 20:26:58 by Hibernate Tools 3.2.0.b9
// Generated 11/Mai/2008 15:29:44 by Hibernate Tools 3.2.0.b9
 
 
import org.apache.log4j.Logger;
/impl/gen/java/pt/estgp/estgweb/domain/dao/impl/AnnouncementDao.java
1,5 → 1,5
package pt.estgp.estgweb.domain.dao.impl;
// Generated 7/Mai/2008 20:26:58 by Hibernate Tools 3.2.0.b9
// Generated 11/Mai/2008 15:29:44 by Hibernate Tools 3.2.0.b9
 
 
import org.apache.log4j.Logger;
/impl/gen/java/pt/estgp/estgweb/domain/dao/impl/CourseUserAssociationDao.java
1,5 → 1,5
package pt.estgp.estgweb.domain.dao.impl;
// Generated 7/Mai/2008 20:26:58 by Hibernate Tools 3.2.0.b9
// Generated 11/Mai/2008 15:29:44 by Hibernate Tools 3.2.0.b9
 
 
import org.apache.log4j.Logger;
/impl/gen/java/pt/estgp/estgweb/domain/dao/impl/GroupDao.java
1,5 → 1,5
package pt.estgp.estgweb.domain.dao.impl;
// Generated 7/Mai/2008 20:26:58 by Hibernate Tools 3.2.0.b9
// Generated 11/Mai/2008 15:29:44 by Hibernate Tools 3.2.0.b9
 
 
import org.apache.log4j.Logger;
/impl/gen/java/pt/estgp/estgweb/domain/dao/impl/UrlStatDayDao.java
1,5 → 1,5
package pt.estgp.estgweb.domain.dao.impl;
// Generated 7/Mai/2008 20:26:58 by Hibernate Tools 3.2.0.b9
// Generated 11/Mai/2008 15:29:44 by Hibernate Tools 3.2.0.b9
 
 
import org.apache.log4j.Logger;
/impl/gen/java/pt/estgp/estgweb/domain/dao/impl/UrlStatYearIdDao.java
1,5 → 1,5
package pt.estgp.estgweb.domain.dao.impl;
// Generated 7/Mai/2008 20:26:58 by Hibernate Tools 3.2.0.b9
// Generated 11/Mai/2008 15:29:44 by Hibernate Tools 3.2.0.b9
 
 
import org.apache.log4j.Logger;
/impl/gen/java/pt/estgp/estgweb/domain/dao/impl/UrlStatDao.java
1,5 → 1,5
package pt.estgp.estgweb.domain.dao.impl;
// Generated 7/Mai/2008 20:26:58 by Hibernate Tools 3.2.0.b9
// Generated 11/Mai/2008 15:29:44 by Hibernate Tools 3.2.0.b9
 
 
import org.apache.log4j.Logger;
/impl/gen/java/pt/estgp/estgweb/domain/dao/impl/CourseUnitDao.java
1,5 → 1,5
package pt.estgp.estgweb.domain.dao.impl;
// Generated 7/Mai/2008 20:26:58 by Hibernate Tools 3.2.0.b9
// Generated 11/Mai/2008 15:29:44 by Hibernate Tools 3.2.0.b9
 
 
import org.apache.log4j.Logger;
/impl/gen/java/pt/estgp/estgweb/domain/dao/impl/CourseDao.java
1,5 → 1,5
package pt.estgp.estgweb.domain.dao.impl;
// Generated 7/Mai/2008 20:26:58 by Hibernate Tools 3.2.0.b9
// Generated 11/Mai/2008 15:29:44 by Hibernate Tools 3.2.0.b9
 
 
import org.apache.log4j.Logger;
/impl/gen/java/pt/estgp/estgweb/domain/dao/impl/UrlStatMonthDao.java
1,5 → 1,5
package pt.estgp.estgweb.domain.dao.impl;
// Generated 7/Mai/2008 20:26:58 by Hibernate Tools 3.2.0.b9
// Generated 11/Mai/2008 15:29:44 by Hibernate Tools 3.2.0.b9
 
 
import org.apache.log4j.Logger;
/impl/gen/java/pt/estgp/estgweb/domain/dao/impl/UrlStatDayIdDao.java
1,5 → 1,5
package pt.estgp.estgweb.domain.dao.impl;
// Generated 7/Mai/2008 20:26:58 by Hibernate Tools 3.2.0.b9
// Generated 11/Mai/2008 15:29:44 by Hibernate Tools 3.2.0.b9
 
 
import org.apache.log4j.Logger;
/impl/gen/java/pt/estgp/estgweb/domain/dao/impl/SessionObjectDao.java
1,5 → 1,5
package pt.estgp.estgweb.domain.dao.impl;
// Generated 7/Mai/2008 20:26:58 by Hibernate Tools 3.2.0.b9
// Generated 11/Mai/2008 15:29:44 by Hibernate Tools 3.2.0.b9
 
 
import org.apache.log4j.Logger;
/impl/gen/java/pt/estgp/estgweb/domain/Blog.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 7/Mai/2008 20:26:52 by Hibernate Tools 3.2.0.b9
// Generated 11/Mai/2008 17:41:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/impl/gen/java/pt/estgp/estgweb/domain/Teste.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 7/Mai/2008 20:26:52 by Hibernate Tools 3.2.0.b9
// Generated 11/Mai/2008 17:41:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/impl/gen/java/pt/estgp/estgweb/domain/Student.java
New file
0,0 → 1,56
package pt.estgp.estgweb.domain;
// Generated 11/Mai/2008 17:41:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
import java.util.HashSet;
import java.util.Set;
 
/**
* Student generated by hbm2java
*/
public abstract class Student extends pt.estgp.estgweb.domain.UserManagedRoleImpl implements java.io.Serializable {
 
 
private int sigesCode;
private String userNameNetpa;
private Set<CourseUnit> subscribedUnits = new HashSet<CourseUnit>(0);
 
public Student() {
}
 
public Student(Date saveDate, boolean superuser, String name, String username, String password, String roles, String address, String zip, String country, String email, String phonenumber, String sex, String bi, Date birthDate, Set<Group> groups, Set<CourseUserAssociation> courses, int sigesCode, String userNameNetpa, Set<CourseUnit> subscribedUnits) {
super(saveDate, superuser, name, username, password, roles, address, zip, country, email, phonenumber, sex, bi, birthDate, groups, courses);
this.sigesCode = sigesCode;
this.userNameNetpa = userNameNetpa;
this.subscribedUnits = subscribedUnits;
}
public int getSigesCode() {
return this.sigesCode;
}
public void setSigesCode(int sigesCode) {
this.sigesCode = sigesCode;
}
public String getUserNameNetpa() {
return this.userNameNetpa;
}
public void setUserNameNetpa(String userNameNetpa) {
this.userNameNetpa = userNameNetpa;
}
public Set<CourseUnit> getSubscribedUnits() {
return this.subscribedUnits;
}
public void setSubscribedUnits(Set<CourseUnit> subscribedUnits) {
this.subscribedUnits = subscribedUnits;
}
 
 
 
 
}
 
 
/impl/gen/java/pt/estgp/estgweb/domain/SessionObjectId.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 7/Mai/2008 20:26:52 by Hibernate Tools 3.2.0.b9
// Generated 11/Mai/2008 17:41:01 by Hibernate Tools 3.2.0.b9
 
 
 
/impl/gen/java/pt/estgp/estgweb/domain/BlogPost.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 7/Mai/2008 20:26:52 by Hibernate Tools 3.2.0.b9
// Generated 11/Mai/2008 17:41:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/impl/gen/java/pt/estgp/estgweb/domain/Announcement.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 7/Mai/2008 20:26:52 by Hibernate Tools 3.2.0.b9
// Generated 11/Mai/2008 17:41:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/impl/gen/java/pt/estgp/estgweb/domain/UrlStatDay.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 7/Mai/2008 20:26:52 by Hibernate Tools 3.2.0.b9
// Generated 11/Mai/2008 17:41:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/impl/gen/java/pt/estgp/estgweb/domain/Group.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 7/Mai/2008 20:26:52 by Hibernate Tools 3.2.0.b9
// Generated 11/Mai/2008 17:41:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/impl/gen/java/pt/estgp/estgweb/domain/CourseUserAssociation.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 7/Mai/2008 20:26:52 by Hibernate Tools 3.2.0.b9
// Generated 11/Mai/2008 17:41:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/impl/gen/java/pt/estgp/estgweb/domain/UrlStatYearId.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 7/Mai/2008 20:26:52 by Hibernate Tools 3.2.0.b9
// Generated 11/Mai/2008 17:41:01 by Hibernate Tools 3.2.0.b9
 
 
 
/impl/gen/java/pt/estgp/estgweb/domain/UrlStat.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 7/Mai/2008 20:26:52 by Hibernate Tools 3.2.0.b9
// Generated 11/Mai/2008 17:41:01 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;