Subversion Repositories bacoAlunos

Compare Revisions

Ignore whitespace Rev 61 → Rev 75

/impl/conf/language/MessageResourcesBlog.properties
New file
0,0 → 1,14
################################################################################
#
# ANNOUNCEMENTS MESSAGE RESOURCES
#
################################################################################
 
blog.title=Titulo
blog.desc=Descrição
blog.image=Imagem
blog.target.roles=Pessoas a quem destina
blog.created.success=Blog criado com sucesso
blog.edited.success=Blog alterado com sucesso
blog.status=Válido
 
/impl/conf/WEB-INF/struts/struts-blog.xml
New file
0,0 → 1,45
<?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.blog.BlogForm" name="BlogForm"/>
</form-beans>
 
<global-exceptions>
 
</global-exceptions>
 
<global-forwards>
 
</global-forwards>
 
 
<action-mappings>
 
<!--Authentication-->
<action path="/startSubmitBlog" forward="/loadBlog.do?dispatch=start"/>
<action path="/submitBlog"
type="pt.estgp.estgweb.web.controllers.blog.BlogController"
name="BlogForm"
scope="request"
parameter="dispatch"
validate="false"
input="page.blog">
<forward name="success" path="page.welcome"/>
</action>
<action path="/loadBlog"
type="pt.estgp.estgweb.web.controllers.blog.BlogController"
name="BlogForm"
scope="request"
parameter="dispatch"
validate="false"
input="page.blog">
<forward name="success" path="page.load.blog"/>
</action>
</action-mappings>
</struts-config>
/impl/conf/WEB-INF/struts/struts-default.xml
141,7 → 141,8
/WEB-INF/struts/tiles-ftpclient.xml,
/WEB-INF/struts/tiles-processworkflow.xml,
/WEB-INF/struts/tiles-searchusers.xml,
/WEB-INF/struts/tiles-urlstat.xml"/>
/WEB-INF/struts/tiles-urlstat.xml,
/WEB-INF/struts/tiles-blog.xml"/>
</plug-in>
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
/impl/conf/WEB-INF/struts/tiles-blog.xml
New file
0,0 → 1,21
<?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.blog" extends="base.layout1">
<put name="title" value="Create a Blog"/>
<put name="body" value="/admin/blog/submitBlog.jsp"/>
</definition>
 
<definition name="page.load.blog" extends="base.layout1">
<put name="title" value="Create a Blog"/>
<put name="body" value="/admin/blog/submitBlog.jsp"/>
</definition>
 
</tiles-definitions>
/impl/conf/WEB-INF/struts/tiles-default.xml
125,8 → 125,8
<put name="body" value="/public/portals/futurosAlunos/futureStudent.jsp"/>
</definition>
<definition name="page.portal.teacher" extends="base.layoutPortal">
<put name="body" value="/public/portals/Docentes/teacher.jsp"/>
<!-- <put name="body" value="/templates/templatePage.jsp"/> -->
<put name="body" value="/public/portals/Docentes/teacher.jsp"/>
<!--<put name="body" value="/templates/templatePageAssessoria.jsp"/> -->
</definition>
 
<!--Alunos-->
/impl/conf/WEB-INF/web.xml
74,7 → 74,8
/WEB-INF/struts/struts-ftpclient.xml,
/WEB-INF/struts/struts-processworkflow.xml,
/WEB-INF/struts/struts-searchusers.xml,
/WEB-INF/struts/struts-urlstat.xml
/WEB-INF/struts/struts-urlstat.xml,
/WEB-INF/struts/struts-blog.xml
</param-value>
</init-param>
<init-param>
/impl/conf/app.properties
90,7 → 90,12
role.services.img=/imgs/rolesIcons/secretaria.gif
 
 
#########################################################################
# Blogs
#
 
blog.desc.summary.size=250
 
#########################################################################
# Link Analysis
#
/impl/conf/berserk/sd.xml
175,4 → 175,18
</filterChains>
</service>
 
 
<!--BLOGS-->
<service>
<name>CreateBlog</name>
<implementationClass>pt.estgp.estgweb.services.blog.CreateBlogService</implementationClass>
<description>Create a Blog</description>
<isTransactional>true</isTransactional>
<filterChains>
<chain name="Logger"/>
<chain name="Session"/>
<chain name="AuthenticatedUsers"/>
</filterChains>
</service>
 
</serviceDefinitions>
/impl/src/java/pt/estgp/estgweb/Globals.java
13,6 → 13,7
public class Globals
{
 
public static final String ALL_ROLE = ConfigProperties.getProperty("user.super");;
public static final String ACTUAL_RELATIVE_PATH = "ACTUAL_RELATIVE_PATH";
public static final String ADMIN_ROLE = ConfigProperties.getProperty("user.admin");
public static final String SUPER_USER_ROLE = ConfigProperties.getProperty("user.super");
28,5 → 29,6
public static final int NUMBER_ANNOUNCEMENT_TYPE_TOP_FLASH_NEWS_INDEX=1;
public static final int NUMBER_ANNOUNCEMENT_TYPE_BOTTOM_FLASH_NEWS_INDEX=2;
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");
 
}
/impl/src/java/pt/estgp/estgweb/services/blog/CreateBlogService.java
New file
0,0 → 1,42
package pt.estgp.estgweb.services.blog;
 
import pt.utl.ist.berserk.logic.serviceManager.IService;
import pt.estgp.estgweb.services.teste.TesteService;
import pt.estgp.estgweb.services.expceptions.ServiceException;
import pt.estgp.estgweb.domain.Teste;
import pt.estgp.estgweb.domain.UserSession;
import pt.estgp.estgweb.domain.Blog;
import pt.estgp.estgweb.domain.DomainObjectFactory;
import pt.estgp.estgweb.domain.dao.DaoFactory;
import pt.estgp.estgweb.Globals;
import org.apache.log4j.Logger;
 
import java.util.Date;
 
/*
* @author Goncalo Luiz gedl [AT] rnl [DOT] ist [DOT] utl [DOT] pt
*
*
* Created at 17/Out/2003 , 23:45:24
*
*/
/**
* @author Jorge Machado
*
*
* Created at 17/Out/2003 , 23:45:24
*
*/
public class CreateBlogService implements IService
{
private static final Logger logger = Logger.getLogger(CreateBlogService.class);
 
public void run(Blog b, UserSession userSession) throws ServiceException
{
if(b.getTargetRoles() == null || b.getTargetRoles().length() == 0)
b.setTargetRoles(Globals.ALL_ROLE);
b.setOwner(userSession.getUser());
b.setSaveDate(new Date());
DaoFactory.getBlogDaoImpl().save(b);
}
}
/impl/src/java/pt/estgp/estgweb/services/announcements/CreateAnnouncementService.java
33,7 → 33,7
 
private static final Logger logger = Logger.getLogger(CreateAnnouncementService.class);
 
private static final String ALL_ROLE = ConfigProperties.getProperty("user.super");
private static final String ALL_ROLE = Globals.ALL_ROLE;
 
public AnnouncementView run(Announcement announcement, UserSession userSession)
{
42,8 → 42,7
announcement.setOwner(userSession.getUser());
announcement.setSaveDate(new Date());
 
//Se for de validacao automatica ha de aparecer a combobox na web page e o user é que escolhe
//se não pomos false
if(RoleManager.hasRole(userSession.getUser(),Globals.AUTOMATIC_VALIDATION_ROLES))
announcement.setStatus(true);
else
/impl/src/java/pt/estgp/estgweb/services/announcements/LoadRoleTypeMaxAnnouncementsService.java
30,7 → 30,7
private static final Logger logger = Logger.getLogger(LoadRoleTypeMaxAnnouncementsService.class);
private static final int MAX_ANNOUNCEMENTS = ConfigProperties.getIntProperty("announcements.max.visible");
 
public List<AnnouncementView> run(String roles,String typeNews)
public List<AnnouncementView> run(String roles,String typeNews,String subTarget)
{
List<String> targetRoles = new ArrayList<String>();
if (roles.contains(","))
45,7 → 45,7
{
targetRoles.add(roles);
}
List<Announcement> announcements = DaoFactory.getAnnouncementDaoImpl().findAnnouncements(MAX_ANNOUNCEMENTS,targetRoles,typeNews);
List<Announcement> announcements = DaoFactory.getAnnouncementDaoImpl().findAnnouncements(MAX_ANNOUNCEMENTS,targetRoles,typeNews,subTarget);
if(announcements == null)
return null;
List<AnnouncementView> announcementViews = new ArrayList<AnnouncementView>();
/impl/src/java/pt/estgp/estgweb/services/announcements/LoadTargetMaxAnnouncementsService.java
22,12 → 22,12
private static final Logger logger = Logger.getLogger(LoadTargetMaxAnnouncementsService.class);
private static final int MAX_ANNOUNCEMENTS = ConfigProperties.getIntProperty("announcements.max.visible");
 
public List<AnnouncementView> run(UserSession userSession)
public List<AnnouncementView> run(String subTarget,UserSession userSession)
{
List<String> targetRoles = null;
if(userSession.getUser() != null)
targetRoles = userSession.getUser().getTargetRolesList();
List<Announcement> announcements = DaoFactory.getAnnouncementDaoImpl().findAnnouncements(MAX_ANNOUNCEMENTS,targetRoles);
List<Announcement> announcements = DaoFactory.getAnnouncementDaoImpl().findAnnouncements(MAX_ANNOUNCEMENTS,targetRoles,subTarget);
if(announcements == null)
return null;
List<AnnouncementView> announcementViews = new ArrayList<AnnouncementView>();
/impl/src/java/pt/estgp/estgweb/services/announcements/LoadTopFlashNewsIterateService.java
30,15 → 30,15
private static final Logger logger = Logger.getLogger(LoadTopFlashNewsIterateService.class);
 
 
public AnnouncementView run(UserSession sess)
public AnnouncementView run(String subTarget, UserSession sess)
{
Integer iterator = (Integer) ((UserSessionImpl)sess).get(flashNewsIterator);
if(iterator == null)
iterator = 0;
 
int size = DaoFactory.getAnnouncementDaoImpl().countAnnouncements(1,null,Globals.ANNOUNCEMENT_TYPE_TOP_FLASH_NEWS);
int size = DaoFactory.getAnnouncementDaoImpl().countAnnouncements(1,null,Globals.ANNOUNCEMENT_TYPE_TOP_FLASH_NEWS,null);
iterator = iterator % size;
List<Announcement> announcements = DaoFactory.getAnnouncementDaoImpl().findAnnouncements(iterator, 1,null,Globals.ANNOUNCEMENT_TYPE_TOP_FLASH_NEWS);
List<Announcement> announcements = DaoFactory.getAnnouncementDaoImpl().findAnnouncements(iterator, 1,null,Globals.ANNOUNCEMENT_TYPE_TOP_FLASH_NEWS,subTarget);
iterator++;
((UserSessionImpl)sess).put(flashNewsIterator,iterator);
 
/impl/src/java/pt/estgp/estgweb/domain/BlogImpl.java
New file
0,0 → 1,11
package pt.estgp.estgweb.domain;
 
/**
* @author Jorge Machado
* @date 21/Abr/2008
* @time 14:37:50
* @see pt.estgp.estgweb.domain
*/
public class BlogImpl extends Blog
{
}
/impl/src/java/pt/estgp/estgweb/domain/BlogPostImpl.java
New file
0,0 → 1,11
package pt.estgp.estgweb.domain;
 
/**
* @author Jorge Machado
* @date 21/Abr/2008
* @time 14:38:08
* @see pt.estgp.estgweb.domain
*/
public class BlogPostImpl extends BlogPost
{
}
/impl/src/java/pt/estgp/estgweb/domain/views/DomainObjectView.java
14,4 → 14,11
{
public abstract Class getReferenceClass();
public abstract Serializable getSerializable();
 
public String getFragment(int maxSize, String text)
{
if(text.length() > maxSize)
return text.substring(0,text.substring(0, maxSize).lastIndexOf(' ')) + "...";
return text;
}
}
/impl/src/java/pt/estgp/estgweb/domain/views/BlogView.java
New file
0,0 → 1,129
package pt.estgp.estgweb.domain.views;
 
import pt.estgp.estgweb.utils.ConfigProperties;
import pt.estgp.estgweb.utils.RoleManager;
import pt.estgp.estgweb.domain.Image;
import pt.estgp.estgweb.domain.Announcement;
import pt.estgp.estgweb.domain.AnnouncementImpl;
import pt.estgp.estgweb.domain.Blog;
 
import java.util.List;
import java.util.Date;
import java.io.Serializable;
 
/**
* @author Jorge Machado
* @date 2/Mar/2008
* @time 19:34:49
* @see pt.estgp.estgweb.domain.views
*/
public class BlogView extends DomainObjectView
{
public static final int DESC_SIZE = ConfigProperties.getIntProperty("blog.desc.summary.size");
 
 
private long id;
private String title;
private String desc;
private List<String> targetRoles;
private Image image;
private long ownerId;
private boolean status;
 
public BlogView()
{}
 
public BlogView(Blog blog)
{
this.title = blog.getTitle();
this.desc = blog.getDesc();
this.image = blog.getImage();
this.targetRoles = RoleManager.getRolesFromSerial(blog.getTargetRoles());
this.status=blog.isStatus();
this.id = blog.getId();
this.ownerId = blog.getOwner().getId();
}
 
public void persistViewInObject(Blog blog)
{
blog.setTitle(title);
blog.setDesc(desc);
blog.setTargetRoles(RoleManager.getSerialRoles(targetRoles));
blog.setImage(image);
blog.setStatus(status);
}
 
 
public long getId() {
return id;
}
 
public void setId(long id) {
this.id = id;
}
 
public String getTitle() {
return title;
}
 
public void setTitle(String title) {
this.title = title;
}
 
public String getDesc() {
return desc;
}
 
public void setDesc(String desc) {
this.desc = desc;
}
 
public List<String> getTargetRoles() {
return targetRoles;
}
 
public void setTargetRoles(List<String> targetRoles) {
this.targetRoles = targetRoles;
}
 
public Image getImage() {
return image;
}
 
public void setImage(Image image) {
this.image = image;
}
 
public long getOwnerId() {
return ownerId;
}
 
public boolean isStatus() {
return status;
}
 
public void setStatus(boolean status) {
this.status = status;
}
 
public String getDescSummary()
{
return getFragment(DESC_SIZE,getDesc());
}
 
public Boolean getHaveAllText()
{
return getDesc().length() > DESC_SIZE;
}
 
public Class getReferenceClass()
{
return Blog.class;
}
 
public Serializable getSerializable()
{
return id;
}
}
/impl/src/java/pt/estgp/estgweb/domain/dao/impl/BlogPostDaoImpl.java
New file
0,0 → 1,20
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 BlogPostDaoImpl extends BlogPostDao
{
public static BlogPostDaoImpl getInstance()
{
if (myInstance == null)
myInstance = new BlogPostDaoImpl();
return (BlogPostDaoImpl) myInstance;
}
 
 
 
}
/impl/src/java/pt/estgp/estgweb/domain/dao/impl/AnnouncementDaoImpl.java
31,7 → 31,7
return (AnnouncementDaoImpl) myInstance;
}
 
public List<Announcement> findAnnouncements(int maxAnnouncements,List<String> roles)
public List<Announcement> findAnnouncements(int maxAnnouncements,List<String> roles,String subTarget)
{
if(roles == null)
{
48,6 → 48,16
else
co = or(co,cor);
}
Criterion coSubTargets=null;
 
if(subTarget==null)
{
coSubTargets=isNull("subTargets");
}
else
{
coSubTargets =eq("subTargets",subTarget);
}
MyCalendar cNow = new MyCalendar();
MyCalendar calendarWithOutTime = new MyCalendar(cNow.getYear(),cNow.getMonth(),cNow.getDay());
Date now = calendarWithOutTime.getTime();
55,28 → 65,29
.add(or(or(lt("startDate",now),eq("startDate",now)),isNull("startDate")))
.add(or(or(gt("expireDate",now),eq("expireDate",now)),isNull("expireDate")))
.add(eq("status",true))
.add(coSubTargets)
.setMaxResults(maxAnnouncements)
.addOrder(Order.desc("saveDate"));
return criteria.list();
}
 
public List<Announcement> findAnnouncements(int maxAnnouncements,List<String> roles,String type)
public List<Announcement> findAnnouncements(int maxAnnouncements,List<String> roles,String type,String subTarget)
{
return findAnnouncements(0,maxAnnouncements,roles, type);
return findAnnouncements(0,maxAnnouncements,roles, type,subTarget);
}
public List<Announcement> findAnnouncements(int startPage, int maxAnnouncements,List<String> roles,String type)
public List<Announcement> findAnnouncements(int startPage, int maxAnnouncements,List<String> roles,String type,String subTarget)
{
Criteria criteria = createMaxAnnouncementsRolesTypeCriteria(maxAnnouncements, roles,type);
Criteria criteria = createMaxAnnouncementsRolesTypeCriteria(maxAnnouncements, roles,type,subTarget);
return criteria.setFirstResult(maxAnnouncements*startPage).list();
}
 
public int countAnnouncements(int maxAnnouncements,List<String> roles,String type)
public int countAnnouncements(int maxAnnouncements,List<String> roles,String type,String subTarget)
{
Criteria criteria = createMaxAnnouncementsRolesTypeCriteria(Integer.MAX_VALUE, roles,type);
Criteria criteria = createMaxAnnouncementsRolesTypeCriteria(Integer.MAX_VALUE, roles,type,subTarget);
return criteria.list().size();
}
 
private Criteria createMaxAnnouncementsRolesTypeCriteria(int maxAnnouncements,List<String> roles,String type)
private Criteria createMaxAnnouncementsRolesTypeCriteria(int maxAnnouncements,List<String> roles,String type,String subTarget)
{
if(roles == null)
{
93,7 → 104,17
else
coRole = or(coRole,cor);
}
Criterion coType=eq("type",type) ;
Criterion coSubTargets=null;
 
if(subTarget==null)
{
coSubTargets=isNull("subTargets");
}
else
{
coSubTargets =eq("subTargets",subTarget);
}
Criterion coType=eq("type",type);
MyCalendar cNow = new MyCalendar();
MyCalendar calendarWithOutTime = new MyCalendar(cNow.getYear(),cNow.getMonth(),cNow.getDay());
Date now = calendarWithOutTime.getTime();
102,13 → 123,14
.add(or(or(lt("startDate",now),eq("startDate",now)),isNull("startDate")))
.add(or(or(gt("expireDate",now),eq("expireDate",now)),isNull("expireDate")))
.add(eq("status",true))
.add(coSubTargets)
.setMaxResults(maxAnnouncements)
.addOrder(Order.desc("saveDate"));
return criteria;
}
 
 
public static void main(String[] args)
/* public static void main(String[] args)
{
AbstractDao.getCurrentSession().beginTransaction();
List<String> roles = new ArrayList<String>();
127,5 → 149,5
System.out.println(a.getSaveDate() + ":" + a.getTitle() + " " + a.getOwner().getName() );
}
AbstractDao.getCurrentSession().beginTransaction().commit();
}
}*/
}
/impl/src/java/pt/estgp/estgweb/domain/dao/impl/BlogDaoImpl.java
New file
0,0 → 1,30
package pt.estgp.estgweb.domain.dao.impl;
 
import pt.estgp.estgweb.domain.User;
 
import java.util.List;
import java.util.Date;
import java.io.Serializable;
 
import org.hibernate.HibernateException;
import org.hibernate.criterion.Restrictions;
import jomm.dao.DaoException;
 
/**
* @author Jorge Machado
* @date 28/Fev/2008
* @time 2:51:06
* @see pt.estgp.estgweb.domain.dao.impl
*/
public class BlogDaoImpl extends BlogDao
{
public static BlogDaoImpl getInstance()
{
if (myInstance == null)
myInstance = new BlogDaoImpl();
return (BlogDaoImpl) myInstance;
}
 
 
 
}
/impl/src/java/pt/estgp/estgweb/domain/dao/DaoFactory.java
69,4 → 69,14
{
return TesteDaoImpl.getInstance();
}
 
public static BlogDaoImpl getBlogDaoImpl()
{
return BlogDaoImpl.getInstance();
}
 
public static BlogPostDaoImpl getBlogPostDaoImpl()
{
return BlogPostDaoImpl.getInstance();
}
}
/impl/src/java/pt/estgp/estgweb/domain/DomainObjectFactory.java
78,4 → 78,14
return new TesteImpl();
}
 
public static BlogImpl createBlogImpl()
{
return new BlogImpl();
}
 
public static BlogPostImpl createBlogPostImpl()
{
return new BlogPostImpl();
}
 
}
/impl/src/java/pt/estgp/estgweb/web/form/AddRolesForm.java
New file
0,0 → 1,59
package pt.estgp.estgweb.web.form;
 
import pt.estgp.estgweb.domain.views.BlogView;
import pt.estgp.estgweb.Globals;
import pt.estgp.estgweb.web.form.blog.BlogForm;
 
import java.util.List;
 
/**
* @author Jorge Machado
* @date 21/Abr/2008
* @time 14:28:59
* @see pt.estgp.estgweb.web.form.blog
*/
public class AddRolesForm extends ApplicationForm
{
 
public static final String TARGET_ROLES_KEY = "targetRoles";
protected String role;
protected static List<String> targetRoles = Globals.USER_ROLES;
protected List<String> selectedRoles;
protected String targetRolesStr;
 
public String getRole() {
return role;
}
 
public void setRole(String role) {
this.role = role;
}
 
 
public List<String> getTargetRoles() {
return targetRoles;
}
 
public void setTargetRoles(List<String> roles)
{
 
}
 
 
public String getTargetRolesStr() {
return targetRolesStr;
}
 
public void setTargetRolesStr(String targetRolesStr) {
this.targetRolesStr = targetRolesStr;
}
 
public List<String> getSelectedRoles() {
return selectedRoles;
}
 
public void setSelectedRoles(List<String> selectedRoles) {
this.selectedRoles = selectedRoles;
}
}
/impl/src/java/pt/estgp/estgweb/web/form/blog/BlogForm.java
New file
0,0 → 1,40
package pt.estgp.estgweb.web.form.blog;
 
import pt.estgp.estgweb.Globals;
import pt.estgp.estgweb.domain.views.BlogView;
import pt.estgp.estgweb.web.form.ApplicationForm;
import pt.estgp.estgweb.web.form.AddRolesForm;
 
import java.util.List;
 
import org.apache.struts.upload.FormFile;
 
/**
* @author Jorge Machado
* @date 21/Abr/2008
* @time 14:28:59
* @see pt.estgp.estgweb.web.form.blog
*/
public class BlogForm extends AddRolesForm
{
private BlogView blogView = new BlogView();
 
private FormFile image;
 
public BlogView getBlogView() {
return blogView;
}
 
public void setBlogView(BlogView blogView) {
this.blogView = blogView;
}
 
public FormFile getImage() {
return image;
}
 
public void setImage(FormFile image) {
this.image = image;
}
}
/impl/src/java/pt/estgp/estgweb/web/form/announcements/AnnouncementsForm.java
8,7 → 8,9
import pt.estgp.estgweb.utils.ConfigProperties;
import pt.estgp.estgweb.web.UserSessionProxy;
import pt.estgp.estgweb.web.form.ApplicationForm;
import pt.estgp.estgweb.web.form.AddRolesForm;
import pt.estgp.estgweb.web.utils.DatesUtils;
import pt.estgp.estgweb.Globals;
 
import java.util.ArrayList;
import java.util.List;
19,29 → 21,28
* @time 20:42:25
* @see pt.estgp.estgweb.web.form
*/
public class AnnouncementsForm extends ApplicationForm
public class AnnouncementsForm extends AddRolesForm
{
 
private static final Logger logger = Logger.getLogger(AnnouncementsForm.class);
private static final String TARGET_ROLES_KEY = "targetRoles";
 
 
private AnnouncementView announcementView;
 
private String role;
 
private String startDate;
private String expireDate;
private String urlProtocol;
private String url;
private FormFile bigImage;
private FormFile smallImage;
private String targetRolesStr;
private String targetPrioritiesStr;
private Integer counter;
private List<String> selectedRoles;
 
 
 
private static List<String> targetRoles = ConfigProperties.getListValues("user.role");
 
 
private static List<String> announcementTypes = ConfigProperties.getListValues("announcements.type");
private static List<String> targetPriorities = ConfigProperties.getListValues("announcements.priority");
 
55,13 → 56,7
this.announcementView = announcementView;
}
 
public String getRole() {
return role;
}
 
public void setRole(String role) {
this.role = role;
}
 
public AnnouncementView getAnnouncementView()
{
73,23 → 68,6
this.announcementView = announcementView;
}
 
 
public List<String> getSelectedRoles() {
return selectedRoles;
}
 
public void setSelectedRoles(List<String> selectedRoles) {
this.selectedRoles = selectedRoles;
}
 
public String getTargetRolesStr() {
return targetRolesStr;
}
 
public void setTargetRolesStr(String targetRolesStr) {
this.targetRolesStr = targetRolesStr;
}
 
public String getStartDate()
{
return startDate;
110,16 → 88,7
this.expireDate = expireDate;
}
 
public List<String> getTargetRoles()
{
return targetRoles;
}
 
public void setTargetRoles(List<String> roles)
{
 
}
 
public FormFile getBigImage() {
return bigImage;
}
/impl/src/java/pt/estgp/estgweb/web/controllers/AddRolesController.java
New file
0,0 → 1,131
package pt.estgp.estgweb.web.controllers;
 
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.estgp.estgweb.web.form.announcements.AnnouncementsForm;
import pt.estgp.estgweb.web.form.AddRolesForm;
import pt.estgp.estgweb.web.UserSessionProxy;
import pt.estgp.estgweb.domain.UserSessionImpl;
import pt.estgp.estgweb.Globals;
import pt.utl.ist.berserk.logic.serviceManager.exceptions.FilterChainFailedException;
 
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;
 
/**
* @author Jorge Machado
* @date 26/Fev/2008
* @time 18:01:54
* @see pt.estgp.estgweb.web
*/
public class AddRolesController extends ApplicationDispatchController
{
 
private static final Logger logger = Logger.getLogger(AddRolesController.class);
 
private static final String TARGET_ROLES_KEY = AddRolesForm.TARGET_ROLES_KEY;
 
public ActionForward start(ActionMapping mapping,
ActionForm form ,
HttpServletRequest request,
HttpServletResponse response)
throws Throwable, ServletException
{
try
{
UserSessionImpl sess = (UserSessionImpl) UserSessionProxy.loadUserSession(request);
sess.remove(TARGET_ROLES_KEY);
sess.serialize(request);
return mapping.getInputForward();
}
catch(FilterChainFailedException e)
{
return mapping.findForward("error401");
}
catch (Throwable e)
{
logger.error(e,e);
throw e;
}
}
public ActionForward addRole(ActionMapping mapping,
ActionForm form ,
HttpServletRequest request,
HttpServletResponse response)
throws Throwable, ServletException
{
try
{
AddRolesForm addRolesForm = (AnnouncementsForm) form;
UserSessionImpl sess = (UserSessionImpl) UserSessionProxy.loadUserSession(request);
List<String> l = (List<String>) sess.get(TARGET_ROLES_KEY);
if(l == null)
l = new ArrayList<String>();
 
if(!isInTargetRoles(addRolesForm.getTargetRolesStr(),l))
{
l.add(addRolesForm.getTargetRolesStr());
sess.put(TARGET_ROLES_KEY, (Serializable) l);
sess.serialize(request);
}
else
{
addErrorWithKeys(request,"forms.object.already.in.list","user.role." + addRolesForm.getTargetRolesStr());
}
addRolesForm.setSelectedRoles(l);
}
catch(FilterChainFailedException e)
{
return mapping.findForward("error401");
}
catch (Throwable e)
{
logger.error(e,e);
throw e;
}
return mapping.getInputForward();
}
 
public ActionForward removeRole(ActionMapping mapping,
ActionForm form ,
HttpServletRequest request,
HttpServletResponse response)
throws Throwable, ServletException
{
try
{
AddRolesForm addRolessForm = (AddRolesForm) form;
UserSessionImpl sess = (UserSessionImpl) request.getAttribute(Globals.USER_SESSION_KEY);
List<String> l = (List<String>) sess.get(TARGET_ROLES_KEY);
 
if(l != null)
{
l.remove(addRolessForm.getRole());
sess.put(TARGET_ROLES_KEY, (Serializable) l);
sess.serialize(request);
}
}
catch(FilterChainFailedException e)
{
return mapping.findForward("error401");
}
catch (Throwable e)
{
logger.error(e,e);
throw e;
}
return mapping.getInputForward();
}
 
private boolean isInTargetRoles(String role, List l)
{
return l.contains(role);
}
}
/impl/src/java/pt/estgp/estgweb/web/controllers/blog/BlogController.java
New file
0,0 → 1,104
package pt.estgp.estgweb.web.controllers.blog;
 
import pt.estgp.estgweb.web.controllers.ApplicationDispatchController;
import pt.estgp.estgweb.web.controllers.AddRolesController;
import pt.estgp.estgweb.web.controllers.authenticate.AuthenticateController;
import pt.estgp.estgweb.web.utils.RequestUtils;
import pt.estgp.estgweb.web.exceptions.NoCookiesException;
import pt.estgp.estgweb.web.UserSessionProxy;
import pt.estgp.estgweb.web.form.announcements.AnnouncementsForm;
import pt.estgp.estgweb.web.form.blog.BlogForm;
import pt.estgp.estgweb.domain.*;
import pt.estgp.estgweb.domain.views.AnnouncementView;
import pt.estgp.estgweb.domain.views.BlogView;
import pt.estgp.estgweb.Globals;
import pt.estgp.estgweb.services.authenticate.AuthenticateException;
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 org.apache.log4j.Logger;
import org.apache.struts.action.*;
import org.apache.struts.upload.FormFile;
 
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.ServletException;
import java.io.IOException;
import java.io.InputStream;
import java.io.ByteArrayOutputStream;
import java.util.Date;
 
/**
* @author Jorge Machado
* @date 26/Fev/2008
* @time 18:01:54
* @see pt.estgp.estgweb.web
*/
public class BlogController extends AddRolesController {
 
private static final Logger logger = Logger.getLogger(BlogController.class);
 
public ActionForward save(ActionMapping mapping,
ActionForm form ,
HttpServletRequest request,
HttpServletResponse response)
throws Throwable, ServletException
{
try
{
BlogForm blogForm = (BlogForm) form;
if(blogForm.getBlogView().getId() <= 0)
{
Blog blog = DomainObjectFactory.createBlogImpl();
blogForm.getBlogView().persistViewInObject(blog);
IServiceManager sm = ServiceManager.getInstance();
 
if(blogForm.getImage().getFileSize()!= 0)
{
FormFile image = blogForm.getImage();
InputStream stream = image.getInputStream();
ByteArrayOutputStream b = new ByteArrayOutputStream();
int readedBytes;
byte[] buf = new byte[1024];
while((readedBytes = stream.read(buf)) > 0)
{
b.write(buf,0,readedBytes);
}
b.close();
Image i = DomainObjectFactory.createImageImpl();
i.setImage(b.toByteArray());
i.setContentType(image.getContentType());
i.setSize(image.getFileSize());
i.setDescription(blog.getTitle());
i.setName(image.getFileName());
i.setSaveDate(new Date());
blog.setImage(i);
}
String[] names = new String[]{"object"};
Object[] args = new Object[]{blog};
BlogView bV = (BlogView) sm.execute(RequestUtils.getRequester(request),"CreateBlog",args,names);
addMessage(request,"blog.created.success","" + bV.getId());
return mapping.findForward("success");
}
else
{
BlogView bV = blogForm.getBlogView();
IServiceManager sm = ServiceManager.getInstance();
String[] names = new String[]{"object"};
Object[] args = new Object[]{bV};
bV = (BlogView) sm.execute(RequestUtils.getRequester(request),"EditBlog",args,names);
addMessage(request,"blog.edited.success","" + bV.getId());
return mapping.findForward("success");
}
}
catch(FilterChainFailedException e)
{
return mapping.findForward("error401");
}
catch (Throwable e)
{
logger.error(e,e);
throw e;
}
}
}
/impl/src/java/pt/estgp/estgweb/web/controllers/announcements/AnnouncementsController.java
4,8 → 4,9
import org.apache.struts.upload.FormFile;
import org.apache.log4j.Logger;
import pt.estgp.estgweb.web.form.announcements.AnnouncementsForm;
import pt.estgp.estgweb.web.form.AddRolesForm;
import pt.estgp.estgweb.web.UserSessionProxy;
import pt.estgp.estgweb.web.controllers.ApplicationDispatchController;
import pt.estgp.estgweb.web.controllers.AddRolesController;
import pt.estgp.estgweb.web.utils.RequestUtils;
import pt.estgp.estgweb.web.utils.DatesUtils;
import pt.estgp.estgweb.domain.UserSessionImpl;
13,8 → 14,6
import pt.estgp.estgweb.domain.DomainObjectFactory;
import pt.estgp.estgweb.domain.Image;
import pt.estgp.estgweb.domain.views.AnnouncementView;
import pt.estgp.estgweb.filters.exceptions.AccessDeniedException;
import pt.estgp.estgweb.Globals;
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;
23,9 → 22,7
import javax.servlet.http.HttpServletResponse;
import javax.servlet.ServletException;
import java.io.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Iterator;
import java.util.Date;
 
/**
34,12 → 31,11
* @time 18:01:54
* @see pt.estgp.estgweb.web
*/
public class AnnouncementsController extends ApplicationDispatchController
{
public class AnnouncementsController extends AddRolesController {
 
private static final Logger logger = Logger.getLogger(AnnouncementsController.class);
private static final String TARGET_ROLES_KEY = "targetRoles";
private static final String TARGET_ROLES_KEY = AddRolesForm.TARGET_ROLES_KEY;
public ActionForward save(ActionMapping mapping,
ActionForm form ,
50,7 → 46,6
try
{
AnnouncementsForm announcementsForm = (AnnouncementsForm) form;
 
if(announcementsForm.getAnnouncementView().getId() <= 0)
{
Announcement a = DomainObjectFactory.createAnnouncementImpl();
140,30 → 135,6
}
}
 
public ActionForward start(ActionMapping mapping,
ActionForm form ,
HttpServletRequest request,
HttpServletResponse response)
throws Throwable, ServletException
{
try
{
UserSessionImpl sess = (UserSessionImpl) UserSessionProxy.loadUserSession(request);
sess.remove(TARGET_ROLES_KEY);
sess.serialize(request);
return mapping.getInputForward();
}
catch(FilterChainFailedException e)
{
return mapping.findForward("error401");
}
catch (Throwable e)
{
logger.error(e,e);
throw e;
}
}
 
//TODO verificar problema com com dispatch=edit
public ActionForward edit(ActionMapping mapping,
ActionForm form ,
201,77 → 172,6
 
}
 
 
public ActionForward addRole(ActionMapping mapping,
ActionForm form ,
HttpServletRequest request,
HttpServletResponse response)
throws Throwable, ServletException
{
try
{
AnnouncementsForm announcementsForm = (AnnouncementsForm) form;
UserSessionImpl sess = (UserSessionImpl) UserSessionProxy.loadUserSession(request);
List<String> l = (List<String>) sess.get(TARGET_ROLES_KEY);
if(l == null)
l = new ArrayList<String>();
 
if(!isInTargetRoles(announcementsForm.getTargetRolesStr(),l))
{
l.add(announcementsForm.getTargetRolesStr());
sess.put(TARGET_ROLES_KEY, (Serializable) l);
sess.serialize(request);
}
else
{
addErrorWithKeys(request,"forms.object.already.in.list","user.role." + announcementsForm.getTargetRolesStr());
}
announcementsForm.setSelectedRoles(l);
}
catch(FilterChainFailedException e)
{
return mapping.findForward("error401");
}
catch (Throwable e)
{
logger.error(e,e);
throw e;
}
return mapping.getInputForward();
}
 
public ActionForward removeRole(ActionMapping mapping,
ActionForm form ,
HttpServletRequest request,
HttpServletResponse response)
throws Throwable, ServletException
{
try
{
AnnouncementsForm announcementsForm = (AnnouncementsForm) form;
UserSessionImpl sess = (UserSessionImpl) request.getAttribute(Globals.USER_SESSION_KEY);
List<String> l = (List<String>) sess.get(TARGET_ROLES_KEY);
 
if(l != null)
{
l.remove(announcementsForm.getRole());
sess.put(TARGET_ROLES_KEY, (Serializable) l);
sess.serialize(request);
}
}
catch(FilterChainFailedException e)
{
return mapping.findForward("error401");
}
catch (Throwable e)
{
logger.error(e,e);
throw e;
}
return mapping.getInputForward();
}
 
 
public ActionForward list(ActionMapping mapping,
ActionForm form ,
HttpServletRequest request,
325,8 → 225,4
}
}
 
private boolean isInTargetRoles(String role, List l)
{
return l.contains(role);
}
}
/impl/src/java/pt/estgp/estgweb/web/controllers/authenticate/AuthenticateController.java
43,7 → 43,7
ActionForm form ,
HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException
throws IOException,ServletException
{
 
String username = request.getParameter("username");
/impl/src/java/pt/estgp/estgweb/examples/DBInit.java
3,6 → 3,8
import pt.estgp.estgweb.domain.dao.DaoFactory;
import pt.estgp.estgweb.domain.UserImpl;
import pt.estgp.estgweb.domain.DomainObjectFactory;
import pt.estgp.estgweb.domain.AnnouncementImpl;
import pt.estgp.estgweb.Globals;
import jomm.dao.impl.AbstractDao;
import jomm.utils.BytesUtils;
 
30,6 → 32,32
userStudent.setRoles("student");
userStudent.setPassword(BytesUtils.getMD5("1"));
DaoFactory.getUserDaoImpl().save(userStudent);
AnnouncementImpl announcement = DomainObjectFactory.createAnnouncementImpl();
announcement.setOwner(user);
announcement.setTitle("Titulo de Teste");
announcement.setText("Anuncio de Teste");
announcement.setStatus(true);
announcement.setType(Globals.ANNOUNCEMENT_TYPE_TOP_FLASH_NEWS);
announcement.setTargetRoles("all");
DaoFactory.getAnnouncementDaoImpl().save(announcement);
 
AnnouncementImpl announcement2 = DomainObjectFactory.createAnnouncementImpl();
announcement2.setOwner(user);
announcement2.setTargetRoles("all");
announcement2.setTitle("Titulo de Teste");
announcement2.setText("Anuncio de Teste");
announcement2.setStatus(true);
announcement2.setType(Globals.ANNOUNCEMENT_TYPE_BOTTOM_FLASH_NEWS);
DaoFactory.getAnnouncementDaoImpl().save(announcement2);
 
AnnouncementImpl announcement3 = DomainObjectFactory.createAnnouncementImpl();
announcement3.setOwner(user);
announcement3.setTitle("Titulo de Teste");
announcement3.setText("Anuncio de Teste");
announcement3.setTargetRoles("all");
announcement3.setType(Globals.ANNOUNCEMENT_TYPE_NEWS);
announcement3.setStatus(true);
DaoFactory.getAnnouncementDaoImpl().save(announcement3);
AbstractDao.getCurrentSession().getTransaction().commit();
}
}
/impl/src/hbm/pt/estgp/estgweb/domain/Blog.hbm.xml
New file
0,0 → 1,24
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping
PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
 
<hibernate-mapping>
<class name="pt.estgp.estgweb.domain.Blog" table="blog" abstract="true">
<meta attribute="extends">pt.estgp.estgweb.domain.DomainObject</meta>
<meta attribute="scope-class">public abstract</meta>
<id name="id" type="long">
<generator class="native"/>
</id>
<discriminator column="discrimitator"/>
<timestamp name="updateDate" unsaved-value="null"/>
<property name="saveDate" type="timestamp"/>
<property name="title" type="string"/>
<property name="desc" type="text"/>
<property name="targetRoles" type="string"/>
<property name="status" type="boolean" />
<many-to-one name="image" column="image" class="pt.estgp.estgweb.domain.Image" lazy="no-proxy" outer-join="false" cascade="all"/>
<many-to-one name="owner" class="pt.estgp.estgweb.domain.GenericUser" lazy="proxy" outer-join="false"/>
<subclass name="pt.estgp.estgweb.domain.BlogImpl" discriminator-value="BlogImpl"/>
</class>
</hibernate-mapping>
/impl/src/hbm/pt/estgp/estgweb/domain/BlogPost.hbm.xml
New file
0,0 → 1,25
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping
PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
 
<hibernate-mapping>
<class name="pt.estgp.estgweb.domain.BlogPost" table="blogpost" abstract="true">
<meta attribute="extends">pt.estgp.estgweb.domain.DomainObject</meta>
<meta attribute="scope-class">public abstract</meta>
<id name="id" type="long">
<generator class="native"/>
</id>
<discriminator column="discrimitator"/>
<timestamp name="updateDate" unsaved-value="null"/>
<property name="saveDate" type="timestamp"/>
<property name="startDate" type="timestamp"/>
<property name="title" type="string"/>
<property name="text" type="text"/>
<property name="status" type="boolean" />
<many-to-one name="image" column="image" class="pt.estgp.estgweb.domain.Image" lazy="no-proxy" outer-join="false" cascade="all" />
<many-to-one name="owner" class="pt.estgp.estgweb.domain.GenericUser" lazy="proxy" outer-join="false"/>
<many-to-one name="blog" class="pt.estgp.estgweb.domain.Blog" lazy="false" outer-join="true"/>
<subclass name="pt.estgp.estgweb.domain.BlogPostImpl" discriminator-value="BlogPostImpl"/>
</class>
</hibernate-mapping>
/impl/src/hbm/pt/estgp/estgweb/domain/Announcement.hbm.xml
15,8 → 15,7
<property name="saveDate" type="timestamp"/>
<property name="startDate" type="timestamp"/>
<property name="expireDate" type="timestamp"/>
<!--<property name="bigImageId" column="bigImage" type="long"/>
<property name="smallImageId" column="smallImage" type="long"/>-->
<property name="subTargets" type="string"/>
<property name="title" type="string"/>
<property name="choosedOwnerRole" type="string"/>
<property name="text" type="text"/>
/impl/src/web/imgs/grafico.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/impl/src/web/auth/firstTimeAuthenticate.jsp
2,38 → 2,33
<%@ 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"/>
 
<table>
<tr>
<th><bean:message key="login.firts.time.name"/></th>
<td>
 
<html:text name="UserSession" property="name" maxlength="250"/>
</td>
</tr>
<tr>
<th><bean:message key="login.first.time.address"/></th>
<td>
 
</td>
</tr>
<tr>
<th><bean:message key="login.first.time.zip"/></th>
<td>
 
</td>
</tr>
<tr>
<th><bean:message key="login.first.time.email"/></th>
<td>
 
</td>
</tr>
<tr>
<th><bean:message key="login.first.time.email"/></th>
<th><bean:message key="login.first.time.phone.number"/></th>
<td>
</td>
</tr>
</table>
/impl/src/web/admin/blog/submitBlog.jsp
New file
0,0 → 1,100
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/tlds/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/tlds/struts-nested.tld" prefix="nested" %>
<%@ taglib uri="/WEB-INF/tlds/jomm.tld" prefix="jomm" %>
<%@ taglib uri="/WEB-INF/tlds/estgweb.tld" prefix="estgweb" %>
<jsp:useBean id="BlogForm" type="pt.estgp.estgweb.web.form.blog.BlogForm" scope="request"/>
<jsp:useBean id="UserSession" type="pt.estgp.estgweb.domain.UserSession" scope="request"/>
<html:messages id="messages"/>
<html:errors/>
<html:form action="/submitBlog" enctype="multipart/form-data">
<html:hidden property="role"/>
<html:hidden property="blogView.id"/>
<input type="hidden" name="dispatch" value="addRole">
<table class="form">
 
<estgweb:isAdmin>
<tr>
<th>
<bean:message key="blog.status"/>
</th>
<td>
<html:select property="blogView.status">
<html:option value="true"><bean:message key="yes"/></html:option>
<html:option value="false"><bean:message key="no"/></html:option>
</html:select>
</td>
</tr>
</estgweb:isAdmin>
<tr>
<th>
<bean:message key="blog.target.roles"/>
</th>
<td>
<html:select property="targetRolesStr">
<estgweb:isAdmin>
<logic:present name="BlogForm" property="targetRoles">
<logic:iterate id="item" name="BlogForm" property="targetRoles">
<jomm:option itemName="item" comparableObjectName="BlogForm" comparableObjectProperty="targetRolesStr">
<jomm:message patternMessage="user.role.{0}" name0="item"/>
</jomm:option>
</logic:iterate>
<input type="button" value="<bean:message key="add"/>" onclick="set(this.form,'addRole');this.form.submit()">
</logic:present>
</estgweb:isAdmin>
<estgweb:isNotAdmin>
<html:option value="all"><bean:message key="user.role.all"/></html:option>
<html:option value="student"><bean:message key="user.role.student"/></html:option>
<html:option value="oldStudent"><bean:message key="user.role.oldStudent"/></html:option>
<html:option value="futureStudent"><bean:message key="user.role.futureStudent"/></html:option>
<html:option value="teacher"><bean:message key="user.role.teacher"/></html:option>
</estgweb:isNotAdmin>
</html:select>
 
 
<logic:present name="BlogForm" property="selectedRoles">
<logic:notEmpty name="BlogForm" property="selectedRoles">
<ul>
<logic:iterate id="item" name="BlogForm" property="selectedRoles">
<li><jomm:message patternMessage="user.role.{0}" name0="item"/> <a href="BlogForm.role.value='${item}';set(BlogForm,'removeRole');BlogForm.submit();"/></li>
</logic:iterate>
</ul>
</logic:notEmpty>
</logic:present>
</td>
</tr>
 
<tr>
<th>
<bean:message key="blog.title"/>
</th>
<td>
<html:text property="blogView.title" maxlength="250"/>
</td>
</tr>
<tr>
<th>
<bean:message key="blog.image"/>
</th>
<td>
<html:file property="image"/>
</td>
</tr>
 
<tr>
<th>
<bean:message key="blog.desc"/>
</th>
<td>
<html:textarea property="blogView.desc"/>
</td>
</tr>
<tr class="buttons">
<td colspan="2">
<input type="button" onclick="set(this.form,'save');this.form.submit()" value="<bean:message key="confirm"/>"/>
</td>
</tr>
</table>
</html:form>
/impl/src/web/css/style.css
112,6 → 112,15
padding-right:10px;
}
 
.navLeftMenu h2
{
font-size:0.9em;
}
.navLeftMenu
{
font-size:0.7em;
}
 
.block P,.navLeftMenu h2
{
background-color:#ededed;
149,17 → 158,18
table-layout:fixed;
width:180px;
padding-top:10px;
font-size:0.8em;
}
 
.portalRightAnnouncements table
{
table-layout:fixed;
width:250px;
font-size:0.8em;
}
 
.portalAnnouncement a:link,.portalAnnouncement a:visited
{
font-size:10pt;
margin:0;
}
 
195,8 → 205,19
{
background-color:#8EC73F;
color:#FFFFFF;
font-size:1.2em;
}
 
.contentPortal h2
{
font-size:1em;
}
 
.contentPortal
{
font-size:0.75em;
}
 
.contentPortal p
{
margin:0;
208,7 → 229,7
margin-bottom:10px;
}
 
.contentPortal li a:link,.contentPortal a:visited
.contentPortal li a:link,.contentPortal a:visited,.contentPortal li
{
color:#4d4d4d;
}
376,6 → 397,11
}
 
/*Last News Block*/
#lastnews
{
font-size:0.8em;
}
 
#lastnews ul
{
list-style: none;
472,7 → 498,32
/*****************************************************************************************/
 
/************************************** Content Structure ********************************/
.contentPortal
{
padding-left:10px;
padding-top:10px;
}
 
.content h2
{
font-size:1em;
}
 
.content
{
font-size:0.8em;
}
 
.content a:link,.content a:visited
{
color:#4d4d4d;
}
 
.content a:hover
{
color:#8EC73F
}
 
.content,.contentPortal
{
LEFT: 0;
733,12 → 784,14
}
.submenu
{
font: bold 16px sans;
FONT-FAMILY: "Lucida Grande","Trebuchet MS","bitstream vera sans",Verdana,Arial,Helvetica,sans-serif;
font-size:0.8em;
}
 
.menu
{
font: normal 14px sans;
FONT-FAMILY: "Lucida Grande","Trebuchet MS","bitstream vera sans",Verdana,Arial,Helvetica,sans-serif;
font-size:0.8em;
}
 
ul.menubar .submenu{
756,19 → 809,24
}
 
ul.menubar a{
padding: 5px;
 
display:block;
text-decoration: none;
color: #4D4D4D;
padding: 5px;
padding-left:5px;
padding-right:5px;
padding-top:2px;
padding-bottom:2px;
}
 
ul.menubar a:hover{
padding: 5px;
display:block;
text-decoration: none;
color: #4D4D4D;
padding: 5px;
padding-left:5px;
padding-right:5px;
padding-top:2px;
padding-bottom:2px;
}
 
.menuTop
777,13 → 835,13
}
 
.menu a:hover{
padding: 5px;
 
display:block;
/* border-left: none;
border-right: none;
border-top: none;
border-bottom: none; */
padding: 5px;
 
}
 
ul.menu, ul.menu ul{
813,7 → 871,10
/* background-color: #FFFFFF; */
color: #4d4d4d;
background-color: #CCCCCC;
padding: 5px 10px 5px 5px;
padding-left:2px;
padding-right:2px;
padding-top:2px;
padding-bottom:2px;
}
 
/*
834,11 → 895,11
color: inherit;
}
 
ul.menu li sup{
/*ul.menu li sup{
font-weight:bold;
font-size:7px;
color: red;
}
} */
 
/* Fix IE. Hide from IE Mac \*/
* html ul.menu li { float: left; height: 1%; }
/impl/src/web/public/index.jsp
12,8 → 12,9
 
<%
IServiceManager sm = ServiceManager.getInstance();
String subTarget=null;
String[] names = new String[]{};
Object[] args = new Object[]{};
Object[] args = new Object[]{subTarget};
int topAnnouncements=1;
int centerAnnouncements=1;
int bottomAnnouncements=1;
/impl/src/web/public/announcements/announcementsPortalLeft.jsp
17,8 → 17,9
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
IServiceManager sm = ServiceManager.getInstance();
String subTarget=null;
String[] names = new String[]{};
Object[] args = new Object[]{request.getParameter("role"), Globals.ANNOUNCEMENT_TYPE_TOP_FLASH_NEWS};
Object[] args = new Object[]{request.getParameter("role"), Globals.ANNOUNCEMENT_TYPE_TOP_FLASH_NEWS,subTarget};
List<AnnouncementView> announcementViews = (List<AnnouncementView>) sm.execute(RequestUtils.getRequester(request), "LoadRoleTypeMaxAnnouncements", args, names);
request.setAttribute("Announcements", announcementViews);
%>
/impl/src/web/public/announcements/getFlashNews.jsp
14,10 → 14,11
<%
//String iterator = request.getParameter("iterator");
IServiceManager sm = ServiceManager.getInstance();
String subTarget=null;
// String[] names = new String[]{"iterator"};
String[] names = new String[]{};
//Object[] arguments = new Object[]{Integer.parseInt(iterator)};
Object[] arguments = new Object[]{};
Object[] arguments = new Object[]{subTarget};
AnnouncementView announcementView = (AnnouncementView) sm.execute(RequestUtils.getRequester(request), "LoadTopFlashNewsIterate", arguments, names);
%>
<table class="container">
/impl/src/web/public/announcements/loadAnnouncement.jsp
27,5 → 27,12
}
%>
${Announcement.text}
<%
if(Announcement.getUrl()!=null)
{
%>
<html:link href="${Announcement.url}">Ver +</html:link>
<%
}%>
</div>
</div>
/impl/src/web/public/announcements/announcements.jsp
9,8 → 9,9
<%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %>
<%
IServiceManager sm = ServiceManager.getInstance();
String subTarget=null;
String[] names = new String[]{};
Object[] args = new Object[]{};
Object[] args = new Object[]{subTarget};
List<AnnouncementView> announcementViews = (List<AnnouncementView>) sm.execute(RequestUtils.getRequester(request), "LoadTargetMaxAnnouncements", args, names);
request.setAttribute("Announcements", announcementViews);
%>
/impl/src/web/public/announcements/announcementsPortalRight.jsp
20,8 → 20,9
<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %>
<%
IServiceManager sm = ServiceManager.getInstance();
String subTarget=null;
String[] names = new String[]{};
Object[] args = new Object[]{request.getParameter("role"), Globals.ANNOUNCEMENT_TYPE_NEWS};
Object[] args = new Object[]{request.getParameter("role"), Globals.ANNOUNCEMENT_TYPE_NEWS,subTarget};
List<AnnouncementView> announcementViews = (List<AnnouncementView>) sm.execute(RequestUtils.getRequester(request), "LoadRoleTypeMaxAnnouncements", args, names);
request.setAttribute("Announcements", announcementViews);
%>
/impl/src/web/templates/templatePage.jsp
File deleted
/impl/src/web/templates/templatePageAssessoria.jsp
New file
0,0 → 1,87
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
 
<h1>Página de Assessoria de Administração</h1>
 
<div class="section">
<h2>O que é a Assessoria de Administração?</h2>
<p> O curso de Assessoria de Administração constitui uma licenciatura bietápica,
que habilita os alunos a integrar o mercado de trabalho, em organismos públicos ou privados,
tecnicamente qualificados para exercerem funções com responsabilidades, no âmbito da Assessoria e
apoio à direcção e administração de empresas e junto dos mais diversos níveis hierárquicos e departamentos.</p>
</div>
 
<p>Para a consecução deste objectivo, a formação ao longo do curso fornece aos alunos um conjunto de
ferramentas multidisciplinares que lhes proporcionam formação superior e altamente qualificada em
áreas tão diversas como as Línguas (Portuguesa e Estrangeiras), Secretariado, Gestão, Contabilidade,
Sociologia, Direito, Informática e Novas Tecnologias.</p>
 
<div class="section">
<h2>Saidas Profissionais</h2>
<p>Os profissionais habilitados com o curso de Assessoria de Administração estão aptos a:</p>
<div class="listDisc">
<ul>
<li>Organismos públicos ou privados para exercer funções no âmbito da Assessoria e apoio à Direcção e Administração de empresas/instituições em diversos departamentos e junto dos mais diversos níveis hierárquicos.</li>
<li>Estão também habilitados a organizar eventos, congressos e seminários, de nível nacional e internacional.</li>
<li>Etc...</li>
</ul>
</div>
</div>
 
<div class="section">
<h2>Outros acessos preferencias:</h2>
<div class="listSquare">
<ul>
<li>R831 Agrupamento 3 / Administração</li>
<li>P540 Assistente de Gestão</li>
<li>T100 Assistente de Gestão</li>
<li>Ets...</li>
</ul>
</div>
</div>
 
<div class="listClean">
<ul>
<li><a href="#">Lista de Elemento Sem Estilo</a></li>
<li><a href="#">Lista de Elemento Sem Estilo</a></li>
<li><a href="#">Lista de Elemento Sem Estilo</a></li>
<li><a href="#">Lista de Elemento Sem Estilo</a></li>
</ul>
</div>
 
<div class="listCircleWhite">
<ul>
<li><a href="#">Lista de Elementos Circulo Branco</a></li>
<li><a href="#">Lista de Elementos Circulo Branco</a></li>
<li><a href="#">Lista de Elementos Circulo Branco</a></li>
<li><a href="#">Lista de Elementos Circulo Branco</a></li>
</ul>
</div>
 
<div class="listDecimal">
<ul>
<li><a href="#">Lista de Elementos Decimal</a></li>
<li><a href="#">Lista de Elementos Decimal</a></li>
<li><a href="#">Lista de Elementos Decimal</a></li>
<li><a href="#">Lista de Elementos Decimal</a></li>
</ul>
</div>
 
<div class="listDisc">
<ul>
<li><a href="#">Lista de Elementos Circulo Preto</a></li>
<li><a href="#">Lista de Elementos Circulo Preto</a></li>
<li><a href="#">Lista de Elementos Circulo Preto</a></li>
<li><a href="#">Lista de Elementos Circulo Preto</a></li>
</ul>
</div>
 
<div class="listSquare">
<ul>
<li><a href="#">Lista de Elementos Quadrado</a></li>
<li><a href="#">Lista de Elementos Quadrado</a></li>
<li><a href="#">Lista de Elementos Quadrado</a></li>
<li><a href="#">Lista de Elementos Quadrado</a></li>
</ul>
</div>
 
<img src=""/>
/impl/src/web/templates/templatePageNucleoEng.jsp
New file
0,0 → 1,99
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
 
<h1>Página do Nucleo de Engenharia</h1>
 
<div class="section">
<h2>O que é a Engenharia?</h2>
<p>Engenharia é a arte, a ciência e a técnica de bem conjugar os conhecimentos especializados
(científicos) de uma dada área do saber com a sua viabilidade técnico-econômica, para produzir
novas utilidades e/ou transformar a natureza, em conformidade com idéias bem planejadas. Já se
disse que "Engenharia é tão-somente aplicação da física aliada ao bom-senso"
[LUZ, Antônio Máximo Ribeiro da, Professor Emérito da UFMG (Belo Horizonte, MG, Brasil]
e — com os mais recentes avanços da ciência e da tecnologia, aqui se o pode aperfeiçoar:
Engenharia é aplicação prática dalgum conhecimento especializado aliado ao bom-senso.</p>
</div>
 
<p>Digno de nota é o fato de tradicionalmente as engenharias terem lidado apenas com objetos concretos,
palpáveis. Modernamente, porém, esse cenário mudou e deu lugar ao trato também de entidades ou objetos
abstratos, não-palpáveis. Tais são, por exemplo, as engenharias de custos, informática, de software, entre
outras. Numa certa medida, não rigorosa, pode-se incluir nesse novo rol, também as engenharias do ambiente e
genética, com as reservas que lhes são próprias. Toda engenharia, contudo, envolve certo grau de abstração.</p>
 
<div class="section">
<h2>Areas da Engenharia</h2>
<p>Várias são as especialidades/ramos de engenharia. Com o progresso das ciências e das tecnologias
que lhes são associadas, mais e mais especialidades continuamente estão a surgir. Eis, a seguir,
uma lista não-exaustiva das especialidades atuais de engenharia:</p>
<div class="listDecimal">
<ul>
<li>Engenharia Acústica</li>
<li>Engenharia Aeroespacial</li>
<li>Engenharia Aeronáutica</li>
<li>Engenharia Aeroviária</li>
<li><a href="http://pt.wikipedia.org/wiki/Engenharia_Agr%C3%ADcola">Engenharia Agrícola</a></li>
<li><a href="http://pt.wikipedia.org/wiki/Engenharia_de_Agrimensura">Engenharia de Agrimensura</a></li>
<li><a href="http://pt.wikipedia.org/w/index.php?title=Engenharia_Agron%C3%B4mica&action=edit&redlink=1">Engenharia Agronômica</a></li>
<li><a href="http://pt.wikipedia.org/wiki/Engenharia_de_Alimentos">Engenharia de Alimentos</a></li>
<li>Etc...</li>
</ul>
</div>
</div>
 
<div class="section">
<h2>Ver Também</h2>
<div class="listSquare">
<ul>
<li><a href="http://pt.wikipedia.org/wiki/Ci%C3%AAncia">Ciência</a></li>
<li><a href="http://pt.wikipedia.org/wiki/Modelos_f%C3%ADsicos">Modelos Fisicos</a></li>
<li><a href="http://pt.wikipedia.org/wiki/Tecnologia">Tecnologia</a></li>
<li><a href="http://pt.wikipedia.org/wiki/Toler%C3%A2ncia_%28engenharia%29">Tolerância</a></li>
</ul>
</div>
</div>
 
<div class="listClean">
<ul>
<li><a href="#">Lista de Elemento Sem Estilo</a></li>
<li><a href="#">Lista de Elemento Sem Estilo</a></li>
<li><a href="#">Lista de Elemento Sem Estilo</a></li>
<li><a href="#">Lista de Elemento Sem Estilo</a></li>
</ul>
</div>
 
<div class="listCircleWhite">
<ul>
<li><a href="#">Lista de Elementos Circulo Branco</a></li>
<li><a href="#">Lista de Elementos Circulo Branco</a></li>
<li><a href="#">Lista de Elementos Circulo Branco</a></li>
<li><a href="#">Lista de Elementos Circulo Branco</a></li>
</ul>
</div>
 
<div class="listDecimal">
<ul>
<li><a href="#">Lista de Elementos Decimal</a></li>
<li><a href="#">Lista de Elementos Decimal</a></li>
<li><a href="#">Lista de Elementos Decimal</a></li>
<li><a href="#">Lista de Elementos Decimal</a></li>
</ul>
</div>
 
<div class="listDisc">
<ul>
<li><a href="#">Lista de Elementos Circulo Preto</a></li>
<li><a href="#">Lista de Elementos Circulo Preto</a></li>
<li><a href="#">Lista de Elementos Circulo Preto</a></li>
<li><a href="#">Lista de Elementos Circulo Preto</a></li>
</ul>
</div>
 
<div class="listSquare">
<ul>
<li><a href="#">Lista de Elementos Quadrado</a></li>
<li><a href="#">Lista de Elementos Quadrado</a></li>
<li><a href="#">Lista de Elementos Quadrado</a></li>
<li><a href="#">Lista de Elementos Quadrado</a></li>
</ul>
</div>
 
<img src=""/>
/impl/gen/java/pt/estgp/estgweb/domain/Course.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/Abr/2008 15:49:07 by Hibernate Tools 3.2.0.b9
// Generated 17/Abr/2008 11:08:14 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 4/Abr/2008 15:49:07 by Hibernate Tools 3.2.0.b9
// Generated 17/Abr/2008 11:08:14 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 4/Abr/2008 15:49:07 by Hibernate Tools 3.2.0.b9
// Generated 17/Abr/2008 11:08:14 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 4/Abr/2008 15:49:07 by Hibernate Tools 3.2.0.b9
// Generated 17/Abr/2008 11:08:14 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 4/Abr/2008 15:49:07 by Hibernate Tools 3.2.0.b9
// Generated 17/Abr/2008 11:08:14 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
10,53 → 10,53
public abstract class GenericUser extends pt.estgp.estgweb.domain.DomainObject implements java.io.Serializable {
 
 
private long id;
private Date updateDate;
private Date saveDate;
private boolean superuser;
private String name;
private long id;
private Date updateDate;
private Date saveDate;
private boolean superuser;
private String name;
 
public GenericUser() {
}
 
public GenericUser(Date saveDate, boolean superuser, String name) {
this.saveDate = saveDate;
this.superuser = superuser;
this.name = name;
this.saveDate = saveDate;
this.superuser = superuser;
this.name = name;
}
 
public long getId() {
return this.id;
}
 
public void setId(long id) {
this.id = id;
}
public Date getUpdateDate() {
return this.updateDate;
}
 
public void setUpdateDate(Date updateDate) {
this.updateDate = updateDate;
}
public Date getSaveDate() {
return this.saveDate;
}
 
public void setSaveDate(Date saveDate) {
this.saveDate = saveDate;
}
public boolean isSuperuser() {
return this.superuser;
}
 
public void setSuperuser(boolean superuser) {
this.superuser = superuser;
}
public String getName() {
return this.name;
}
 
public void setName(String name) {
this.name = name;
}
/impl/gen/java/pt/estgp/estgweb/domain/User.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/Abr/2008 15:49:07 by Hibernate Tools 3.2.0.b9
// Generated 17/Abr/2008 11:08:14 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/impl/gen/java/pt/estgp/estgweb/domain/UrlStatYear.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/Abr/2008 15:49:07 by Hibernate Tools 3.2.0.b9
// Generated 17/Abr/2008 11:08:14 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 4/Abr/2008 15:49:07 by Hibernate Tools 3.2.0.b9
// Generated 17/Abr/2008 11:08:14 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 4/Abr/2008 15:49:07 by Hibernate Tools 3.2.0.b9
// Generated 17/Abr/2008 11:08:14 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 4/Abr/2008 15:49:07 by Hibernate Tools 3.2.0.b9
// Generated 17/Abr/2008 11:08:14 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 28/Mar/2008 12:41:24 by Hibernate Tools 3.2.0.b9
// Generated 17/Abr/2008 11:08:16 by Hibernate Tools 3.2.0.b9
 
 
import org.apache.log4j.Logger;
/impl/gen/java/pt/estgp/estgweb/domain/dao/impl/UserDao.java
1,5 → 1,5
package pt.estgp.estgweb.domain.dao.impl;
// Generated 28/Mar/2008 12:41:24 by Hibernate Tools 3.2.0.b9
// Generated 17/Abr/2008 11:08:16 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 28/Mar/2008 12:41:24 by Hibernate Tools 3.2.0.b9
// Generated 17/Abr/2008 11:08:16 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 28/Mar/2008 12:41:24 by Hibernate Tools 3.2.0.b9
// Generated 17/Abr/2008 11:08:16 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 28/Mar/2008 12:41:24 by Hibernate Tools 3.2.0.b9
// Generated 17/Abr/2008 11:08:16 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 28/Mar/2008 12:41:24 by Hibernate Tools 3.2.0.b9
// Generated 17/Abr/2008 11:08:16 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 9/Abr/2008 17:13:21 by Hibernate Tools 3.2.0.b9
// Generated 17/Abr/2008 11:08:16 by Hibernate Tools 3.2.0.b9
 
 
import org.apache.log4j.Logger;
/impl/gen/java/pt/estgp/estgweb/domain/dao/impl/SessionObjectIdDao.java
1,5 → 1,5
package pt.estgp.estgweb.domain.dao.impl;
// Generated 28/Mar/2008 12:41:24 by Hibernate Tools 3.2.0.b9
// Generated 17/Abr/2008 11:08:16 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 28/Mar/2008 12:41:24 by Hibernate Tools 3.2.0.b9
// Generated 17/Abr/2008 11:08:16 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 28/Mar/2008 12:41:24 by Hibernate Tools 3.2.0.b9
// Generated 17/Abr/2008 11:08:16 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 28/Mar/2008 12:41:24 by Hibernate Tools 3.2.0.b9
// Generated 17/Abr/2008 11:08:16 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 28/Mar/2008 12:41:24 by Hibernate Tools 3.2.0.b9
// Generated 17/Abr/2008 11:08:16 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 28/Mar/2008 12:41:24 by Hibernate Tools 3.2.0.b9
// Generated 17/Abr/2008 11:08:16 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 28/Mar/2008 12:41:24 by Hibernate Tools 3.2.0.b9
// Generated 17/Abr/2008 11:08:16 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 28/Mar/2008 12:41:24 by Hibernate Tools 3.2.0.b9
// Generated 17/Abr/2008 11:08:16 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 28/Mar/2008 12:41:24 by Hibernate Tools 3.2.0.b9
// Generated 17/Abr/2008 11:08:16 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 28/Mar/2008 12:41:24 by Hibernate Tools 3.2.0.b9
// Generated 17/Abr/2008 11:08:16 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 28/Mar/2008 12:41:24 by Hibernate Tools 3.2.0.b9
// Generated 17/Abr/2008 11:08:16 by Hibernate Tools 3.2.0.b9
 
 
import org.apache.log4j.Logger;
/impl/gen/java/pt/estgp/estgweb/domain/Teste.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 9/Abr/2008 17:13:19 by Hibernate Tools 3.2.0.b9
// Generated 17/Abr/2008 11:08:14 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/impl/gen/java/pt/estgp/estgweb/domain/SessionObjectId.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/Abr/2008 15:49:07 by Hibernate Tools 3.2.0.b9
// Generated 17/Abr/2008 11:08:14 by Hibernate Tools 3.2.0.b9
 
 
 
/impl/gen/java/pt/estgp/estgweb/domain/Announcement.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/Abr/2008 15:49:07 by Hibernate Tools 3.2.0.b9
// Generated 17/Abr/2008 11:08:14 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
15,6 → 15,7
private Date saveDate;
private Date startDate;
private Date expireDate;
private String subTargets;
private String title;
private String choosedOwnerRole;
private String text;
30,10 → 31,11
public Announcement() {
}
 
public Announcement(Date saveDate, Date startDate, Date expireDate, String title, String choosedOwnerRole, String text, String targetRoles, String type, String url, boolean status, Integer counter, Image bigImage, Image smallImage, GenericUser owner) {
public Announcement(Date saveDate, Date startDate, Date expireDate, String subTargets, String title, String choosedOwnerRole, String text, String targetRoles, String type, String url, boolean status, Integer counter, Image bigImage, Image smallImage, GenericUser owner) {
this.saveDate = saveDate;
this.startDate = startDate;
this.expireDate = expireDate;
this.subTargets = subTargets;
this.title = title;
this.choosedOwnerRole = choosedOwnerRole;
this.text = text;
82,6 → 84,13
public void setExpireDate(Date expireDate) {
this.expireDate = expireDate;
}
public String getSubTargets() {
return this.subTargets;
}
public void setSubTargets(String subTargets) {
this.subTargets = subTargets;
}
public String getTitle() {
return this.title;
}
/impl/gen/java/pt/estgp/estgweb/domain/UrlStatDay.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/Abr/2008 15:49:07 by Hibernate Tools 3.2.0.b9
// Generated 17/Abr/2008 11:08:14 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 4/Abr/2008 15:49:07 by Hibernate Tools 3.2.0.b9
// Generated 17/Abr/2008 11:08:14 by Hibernate Tools 3.2.0.b9
 
 
 
/impl/gen/java/pt/estgp/estgweb/domain/Group.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/Abr/2008 15:49:07 by Hibernate Tools 3.2.0.b9
// Generated 17/Abr/2008 11:08:14 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 4/Abr/2008 15:49:07 by Hibernate Tools 3.2.0.b9
// Generated 17/Abr/2008 11:08:14 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/impl/gen/java/pt/estgp/estgweb/domain/UrlStat.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 4/Abr/2008 15:49:07 by Hibernate Tools 3.2.0.b9
// Generated 17/Abr/2008 11:08:14 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;