Subversion Repositories bacoAlunos

Compare Revisions

Ignore whitespace Rev 29 → Rev 92

/log.txt
1,5 → 1,5
Estão feitos os templates base para o pedro começar a fazer as paginas á vontade.
Foi criado dois tipos diferentes de templates:
 
*templatePortal-template mais especifico para as páginas que vão ter listas de links para outras páginas
*templatePage-template genérico com o qual o pedro têm vários objectos para poder contruir grande parte dos sites da escola
-Auto validação a funcionar
-Corrigido noticias do lado esquerdo nos portais o tipo que aparecia estava errado
-No index os announcements center e bottom já carregam as imagens da base de dados, carregam o tipo de noticas certo
-Acrescentado links para cantinas e associação de estudantes nos alunos (falta por a redirecionar)
-Atribuição automatica de roles atraves do LDAP feita (fazer alguns testes)
/impl/conf/language/MessageResourcesEvents.properties
3,4 → 3,4
# EVENTS MESSAGE RESOURCES
#
################################################################################
 
module.Events=Eventos
/impl/conf/language/MessageResourcesCommon.properties
New file
0,0 → 1,20
################################################################################
#
# ANNOUNCEMENTS MESSAGE RESOURCES
#
################################################################################
search=Pesquisar
search.form=Formulário de Pesquisa
search.results=Resultados da Pesquisa
search.next=Próxima Página
search.previous=Página Anterior
search.see.more=ver mais
search.type.phrase=Frase Exacta
search.type.any=Algumas Palavras
search.type.all=Todas as Palavras
 
search.no.results=Lamentamos mas não foram encontrados quaisquer resultados para a busca
search.no.results.suggest=Sugestões
search.no.results.suggest.1=Será que está a escolher mal as palavras?
search.no.results.suggest.2=Será que deu um erro ortográfico?
search.no.results.suggest.3=Será que está a usar demasiadas palavras chave?
/impl/conf/language/MessageResourcesAnnouncements.properties
3,6 → 3,7
# ANNOUNCEMENTS MESSAGE RESOURCES
#
################################################################################
module.Announcements=Anúncios
 
announcement.title=Titulo
announcement.text=Texto
11,13 → 12,22
announcement.bigImage=Imagem Grande
announcement.smallImage=Imagem Pequena
announcement.typeAnnouncement=Tipo
announcement.sendAnnouncementLike=Enviar como
announcement.priorityAnnouncement=Prioridade
announcement.linkAnnouncement=Url
announcement.target.roles=Pessoas a quem destina
announcement.created.success=Anúncio criado com sucesso
announcement.edited.success=Anúncio alterado com sucesso
announcement.status=Válido
 
 
announcements.type.news=Notícias
announcements.type.top.flash.news=Destaques
announcements.type.bottom.flash.news=Destaques Secundarios
 
announcement.protocol.error.http=http
announcement.protocol.error.https=https
announcement.protocol.error.ftp=ftp
 
announcements.loading=carregando anúncio...
 
/impl/conf/language/MessageResources.properties
19,6 → 19,7
errors.minlength={0} can not be less than {1} characters.
errors.range={0} is not in the range {1} through {2}.
errors.required=Por favor preencha o {0}.
errors.notrequired=Por favor retire o {0} do {1}.
errors.byte={0} must be an byte.
errors.date={0} is not a date.
errors.double={0} must be an double.
71,11 → 72,15
user.role.worker=Funcionário
user.role.invited=Convidado
user.role.services=Serviços
user.role.administrativeCouncil=Concelho Administrativo
user.role.administrativeCouncil=Concelho Directivo
user.role.representativeCouncil=Concelho de Representantes
user.role.scientificCouncil=Concelho Científico
user.role.erasmusCouncil=Concelho Erasmus
user.role.pedagogicCouncil=Concelho Pedagógico
user.role.courseCoordinator=Coordenador
user.role.futureStudent=Futuros Alunos
user.role.oldStudent=Antigos Alunos
user.role.sudentAssociation=Associação de Estudantes
 
 
#Filter Errors
84,7 → 89,8
fail.timer=Lamentamos o incomodo, mas a acção que tentou efectuar não pode ser executada nesta data.
fail.authenticate=Falhou a autênticação
 
 
#palavras comuns
at=a
#Menus
site.title=Escola Superior de Tecnologia e Gestão
administration=Administração
101,21 → 107,139
staff.header=Informação para funcionários docentes e não docentes
staff=Docentes
 
#Menus Portais
portal.orgaos=Orgãos
portal.conselho.pedagogico=Conselho Pedagógico
portal.conselho.cientifico=Conselho Cientifico
portal.conselho.directivo=Conselho Directivo
portal.assembleia.representantes=Assembleia de Representantes
 
portal.mobilidade=Mobilidade
portal.mobilidade.alunos.estrangeiros=Os alunos estrangeiros na estg
portal.mobilidade.alunos.estg.estrangeiro=Os alunos da estg no estrangeiro
portal.mobilidade.docentes.estrangeiros=Os docentes estrangeiros na estg
portal.mobilidade.docentes.estg.estrangeiro=Os docentes da estg no estrangeiro
portal.mobilidade.protocolos.internacionais=Protocolos internacionais
portal.mobilidade.candidaturas=Candidaturas
portal.mobilidade.programa.erasmus=Programa Erasmus
 
portal.accao.social=Acção social
portal.accao.social.cantinas=Cantinas
portal.accao.social.residencias=Residências
portal.accao.social.ementas=Ementas
portal.accao.social.desporto.cultura=Desporto e cultura
portal.accao.social.apoio.psicopedagogico=Apoio psicopedagógico
portal.accao.social.bolsa.estudo=Bolsa de estudo
portal.accao.social.alimentacao=Alimentação
portal.accao.social.alojamento=Alojamento
portal.accao.social.apoio.medico=Apoio médico
portal.accao.social.gapp=GAPP
portal.accao.social.informacoes=Informações
 
portal.instituto.politecnico=Instituto politécnico
portal.instituto.politecnico.servicos.centrais=Serviços centrais
portal.instituto.politecnico.loja.alunos=Loja do aluno
portal.instituto.politecnico.merchandising=Merchandising
portal.instituto.politecnico.cultura.lazer=Cultura e lazer
 
portal.paginas.alunos=Páginas dos Alunos
portal.paginas.exemplo=Exemplo
portal.paginas.alunos.assessoria=Assessoria de Administração
portal.paginas.nucleo.engenharia=Nucleo de Engenharia
 
portal.servicos.online=Serviços on-line
portal.servicos.online.webmail=Webmail
portal.servicos.online.eduroam=Eduroam
portal.servicos.online.secretaria=Secretaria
portal.servicos.online.in.estg=In-estg
portal.servicos.online.biblioteca.online=Biblioteca online
portal.servicos.online.n.zero=N.zero
portal.servicos.online.academicos.online=Académicos online
portal.servicos.online.portal.assiduidade=Portal de assiduidade
portal.servicos.online.sisgom.ocorrencias=Sisgom ocorrências
portal.servicos.online.siadap=Siadap
portal.servicos.online.portal.academicos.online=Portal académicos online
portal.servicos.online.gabinete.comunicacao=Gabinete de Comunicação
portal.servicos.online.regie=Régie
portal.servicos.online.centro.informatico=Centro informático
portal.servicos.online.reprografia=Reprografia
 
portal.actividades=Actividades
portal.actividades.semana.engenharia=Semada de Engenharia
portal.actividades.jornadas.ciencias.empresariais=Jornadas C. Empresariais
portal.actividades.Seminario.design=Seminário de Design
portal.actividades.outras.actividades=Outras actividades
 
portal.formacao.pos.graduada=Formação Pos-Graduada
 
portal.contactos=Contactos
portal.contactos.gerais.estg=Contactos gerais estg
portal.contactos.areas.cientificas=Áreas ciêntificas
portal.contactos.secretaria=Secretaria
portal.contactos.centro.informatico=Centro informático
portal.contactos.reprografia=Reprografia
portal.contactos.docentes=Docentes
portal.contactos.associacao.estudantes=Associação de Estudantes
portal.contactos.gabinete.comunicacao=Gabinete de Comunicação
portal.contactos.aaaipp=AAAIPP
portal.contactos.conselho.directivo=Conselho Directivo
 
portal.informacao.academica=Informação académica
portal.informacao.academica.calendario.escolar=Calendário escolar
portal.informacao.academica.licenciaturas=Licenciaturas
portal.informacao.academica.mestrados=Mestrados
portal.informacao.academica.pos.graduacoes=Pós-graduações
portal.informacao.academica.cets=Cet´s
portal.informacao.academica.outras.formacoes=Outras Formações
portal.informacao.academica.maiores.23=Maiores de 23
 
portal.estg=A ESTG
portal.estg.mensagem.presidente=Mensagem do presidente
portal.estg.como.chegar.estg=Como chegar à ESTG
portal.estg.numeros=ESTG em números
portal.estg.nosso.passado=O nosso passado
portal.estg.presente=O presente
portal.estg.areas.cientificas=Áreas ciêncificas
portal.estg.cidade=A ESTG na cidade
portal.estg.bolonha=A ESTG em bolonha
portal.estg.edificio=O edifício
 
 
menu.alunos=Alunos
menu.staff=Staff
menu.docentes=Docentes
menu.antigosAlunos=Antigos Alunos
menu.futurosAlunos=Futuros Alunos
 
#Mensagens Status
authentication.ok=Benvindo Fulano
logout.ok=Caro {0}, obrigado por usar o nosso serviço.
authentication.first.time=Olá bem-vindo, é a primeira vez que que se esta a ligar
authenticate.already.authenticated=O seu usuário já está autênticado
username=Nome de Utilizador
password=Password
submit=Entrar
confirm=Confirmar
add=Adicionar
remove=Remover
yes=Sim
no=Não
 
#Login
login.firts.time.name=Nome
login.first.time.address=Morada
login.first.time.zip=Código Postal
login.first.time.country=País
login.first.time.email=E-mail
login.first.time.phone.number=Telefone
 
#Cursos
course.aa=Acessoria e Administração
 
#Nucleos
nucleo.engenharia=Nucleo de Engenharia
 
 
 
module.Proxy=Proxy
 
/impl/conf/language/MessageResourcesBlog.properties
New file
0,0 → 1,16
################################################################################
#
# ANNOUNCEMENTS MESSAGE RESOURCES
#
################################################################################
module.Blogs=Blogs
blog.title=Titulo
blog.description=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
submit.blog=Criar um Blog
blog.owner=Criado por
 
/impl/conf/WEB-INF/struts/struts-blog.xml
New file
0,0 → 1,46
<?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.blogs.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.blogs.BlogsController"
name="BlogForm"
scope="request"
parameter="dispatch"
validate="false"
input="page.submit.blog">
<forward name="success" path="page.load.blog"/>
</action>
<action path="/loadBlog"
type="pt.estgp.estgweb.web.controllers.blogs.BlogsController"
name="BlogForm"
scope="request"
parameter="dispatch"
validate="false"
input="page.welcome">
<forward name="success" path="page.load.blog"/>
<forward name="submit" path="page.submit.blog"/>
</action>
</action-mappings>
</struts-config>
/impl/conf/WEB-INF/struts/struts-courseunits.xml
20,7 → 20,10
 
 
<action-mappings>
<action path="/startTeste2" forward="page.separators.home"/>
 
 
</action-mappings>
</struts-config>
/impl/conf/WEB-INF/struts/struts-default.xml
1,8 → 1,8
<?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">
<!--<!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>
 
41,8 → 41,7
<action path="/Welcome" forward="page.welcome"/>
<action path="/StartAuthentication" forward="page.authentication"/>
<action path="/Logout" forward="/authenticate.do?dispatch=logout"/>
<action path="/StaffPage" forward="page.staff"/>
 
<!-- Errors -->
<action path="/errorNoCookies" forward="page.no.cookies"/>
<action path="/error401" forward="page.error.401"/>
58,6 → 57,44
<forward name="layout2" path="page.layout2.proxy"/>
<forward name="layout3" path="page.layout3.proxy"/>
<forward name="layout4" path="page.layout4.proxy"/>
 
<!--Alunos-->
<forward name="orgaosAlunosPortalMenu" path="page.alunosOrgaosPortalMenu.proxy"/>
<forward name="contactosAlunosPortalMenu" path="page.alunosContactosPortalMenu.proxy"/>
<forward name="institutoPolitecnicoAlunosPortalMenu" path="page.alunosInstitutoPolitecnicoPortalMenu.proxy"/>
<forward name="accaoSocialAlunosPortalMenu" path="page.alunosAccaoSocialPortalMenu.proxy"/>
<forward name="servicosAlunosPortalMenu" path="page.alunosServicosPortalMenu.proxy"/>
<forward name="informacaoAcademicaAlunosPortalMenu" path="page.alunosInformacaoAcademicaPortalMenu.proxy"/>
<forward name="mobilidadeAlunosPortalMenu" path="page.alunosMobilidadePortalMenu.proxy"/>
<!--Futuros Alunos-->
<forward name="estgFuturosAlunosPortalMenu" path="page.futurosAlunosEstgPortalMenu.proxy"/>
<forward name="servicosFuturosAlunosPortalMenu" path="page.futurosAlunosServicosPortalMenu.proxy"/>
<forward name="contactosFuturosAlunosPortalMenu" path="page.futurosAlunosContactosPortalMenu.proxy"/>
<forward name="institutoPolitecnicoFuturosAlunosPortalMenu" path="page.futurosAlunosInstitutoPolitecnicoPortalMenu.proxy"/>
<forward name="informacaoAcademicaFuturosAlunosPortalMenu" path="page.futurosAlunosInformacaoAcademicaPortalMenu.proxy"/>
<forward name="mobilidadeFuturosAlunosPortalMenu" path="page.futurosAlunosMobilidadePortalMenu.proxy"/>
<forward name="accaoSocialFuturosAlunosPortalMenu" path="page.futurosAlunosAccaoSocialPortalMenu.proxy"/>
<forward name="orgaosFuturosAlunosPortalMenu" path="page.futurosAlunosOrgaosPortalMenu.proxy"/>
<!--Antigos Alunos-->
<forward name="estgAntigosAlunosPortalMenu" path="page.antigosAlunosEstgPortalMenu.proxy"/>
<forward name="servicoAntigosAlunosPortalMenu" path="page.antigosAlunosServicoPortalMenu.proxy"/>
<forward name="actividadesAntigosAlunosPortalMenu" path="page.antigosAlunosActividadesPortalMenu.proxy"/>
<forward name="institutoPolitecnicoAntigosAlunosPortalMenu" path="page.antigosAlunosInstitutoPolitecnicoPortalMenu.proxy"/>
<forward name="contactosAntigosAlunosPortalMenu" path="page.antigosAlunosContactosPortalMenu.proxy"/>
<!--Docentes-->
<forward name="servicosDocentesPortalMenu" path="page.docentesServicosPortalMenu.proxy"/>
<forward name="contactosDocentesPortalMenu" path="page.docentesContactosPortalMenu.proxy"/>
<forward name="informacaoAcademicaDocentesPortalMenu" path="page.docentesInformacaoAcademicaPortalMenu.proxy"/>
<forward name="mobilidadeDocentesPortalMenu" path="page.docentesMobilidadePortalMenu.proxy"/>
<forward name="accaoSocialDocentesPortalMenu" path="page.docentesAccaoSocialPortalMenu.proxy"/>
<forward name="orgaosDocentesPortalMenu" path="page.docentesOrgaoPortalMenu.proxy"/>
<forward name="institutoPolitecnicoDocentesPortalMenu" path="page.docentesInstitutoPolitecnicoPortalMenu.proxy"/>
<!--Assessoria Administracao-->
<forward name="layoutAA" path="page.layoutAA.proxy"/>
<!--Nucleo de Engenharia-->
<forward name="layoutNucleoEng" path="page.layoutNucleoENG.proxy"/>
 
 
<forward name="layoutCourses" path="page.layoutCourses.proxy"/>
<forward name="layout1.ftp" path="page.layout1.proxy.ftp"/>
<forward name="layout2.ftp" path="page.layout2.proxy.ftp"/>
66,6 → 103,12
<forward name="layoutCourses.ftp" path="page.layoutCourses.proxy.ftp"/>
</action>
 
<!--Portal Forward-->
<action path="/student" forward="page.portal.student"/>
<action path="/futureStudent" forward="page.portal.futureStudent"/>
<action path="/oldStudent" forward="page.portal.oldStudent"/>
<action path="/teacher" forward="page.portal.teacher"/>
 
<!--Authentication-->
<action path="/authenticate"
type="pt.estgp.estgweb.web.controllers.authenticate.AuthenticateController"
76,6 → 119,7
input="page.authentication">
<forward name="success" path="page.authentication.ok"/>
<forward name="logout" path="page.logout.ok"/>
<forward name="firstTimeAuthenticate" path="page.first.time.authenticate"/>
</action>
 
 
97,7 → 141,9
/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,
/WEB-INF/struts/tiles-commons.xml"/>
</plug-in>
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
/impl/conf/WEB-INF/struts/tiles-processworkflow.xml
10,4 → 10,8
<definition name="page.load.process" extends="base.layout1">
</definition>
 
<definition name="page.teste" extends="base.layout1">
<put name="body" value="/teste.jsp"/>
</definition>
 
</tiles-definitions>
/impl/conf/WEB-INF/struts/tiles-commons.xml
New file
0,0 → 1,31
<?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.search.form" extends="base.layout1">
<put name="title" value="Search Results"/>
<put name="topnav" value="/public/search/topnavSearchForm.jsp"/>
<put name="body" value="/public/search/searchForm.jsp"/>
</definition>
 
<definition name="page.search.results" extends="base.layout1">
<put name="title" value="Search Results"/>
<put name="topnav" value="/public/search/topnavSearchResults.jsp"/>
<put name="body" value="/public/search/searchResults.jsp"/>
</definition>
<definition name="page.search.noresults" extends="base.layout1">
<put name="title" value="0 Results Found"/>
<put name="topnav" value="/public/search/topnavSearchResults.jsp"/>
<put name="body" value="/public/search/noresults.jsp"/>
</definition>
<definition name="page.search.module" extends="base.empty">
<put name="body" value="/public/search/searchResultsModule.jsp"/>
</definition>
 
 
</tiles-definitions>
/impl/conf/WEB-INF/struts/tiles-announcements.xml
4,10 → 4,10
<!--"-//Apache Software Foundation//DTD Tiles Configuration 1.1//EN"-->
<!--"http://struts.apache.org/dtds/tiles-config_1_1.dtd">-->
 
 
<tiles-definitions>
 
 
<definition name="page.submit.announcement" extends="base.layout2">
<put name="title" value="Submit Announcement" />
<put name="topnav" value="/admin/announcements/topnavCreateAnnouncement.jsp"/>
18,5 → 18,4
<put name="body" value="/public/announcements/loadAnnouncement.jsp" />
</definition>
 
 
</tiles-definitions>
/impl/conf/WEB-INF/struts/struts-urlstat.xml
1,8 → 1,8
<?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">
<!--<!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>
 
/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.submit.blog" extends="base.layout1">
<put name="title" value="Create a Blog"/>
<put name="topnav" value="/admin/blogs/topnavCreateBlog.jsp"/>
<put name="body" value="/admin/blogs/submitBlog.jsp"/>
</definition>
 
<definition name="page.load.blog" extends="base.layout1">
<put name="title" value="Create a Blog"/>
<put name="body" value="/public/blogs/blog.jsp"/>
</definition>
 
</tiles-definitions>
/impl/conf/WEB-INF/struts/tiles-courseunits.xml
7,7 → 7,13
<tiles-definitions>
 
<definition name="page.load.courseunits" extends="base.layout1">
<definition name="base.separators" extends="base.definition" path="/layout/layoutintranet.jsp">
<put name="separators" value="/layout/separators.jsp" />
</definition>
<definition name="page.separators.home" extends="base.separators">
<put name="body" value="/user/home.jsp" />
</definition>
 
 
 
</tiles-definitions>
/impl/conf/WEB-INF/struts/tiles-default.xml
4,10 → 4,13
<!--"-//Apache Software Foundation//DTD Tiles Configuration 1.1//EN"-->
<!--"http://struts.apache.org/dtds/tiles-config_1_1.dtd">-->
 
 
<tiles-definitions>
 
<!-- Templates Globais Tiles Definition -->
<definition name="base.empty" path="/layout/emptyLayout.jsp">
</definition>
 
<definition name="base.definition" path="/layout/siteLayout.jsp">
<put name="title" value="x"/>
<put name="announcements" value="/layout/topnavempty.jsp"/>
53,7 → 56,7
<definition name="base.layout3" extends="base.definition" path="/layout/layout3.jsp">
<put name="navigation" value="/layout/navigationRight.jsp" />
</definition>
 
<definition name="base.layout4" extends="base.definition" path="/layout/layout4.jsp">
<put name="navigationLeft" value="/layout/navigationLeft.jsp" />
<put name="navigationRight" value="/layout/navigationRight.jsp" />
63,6 → 66,12
<put name="navigation" value="/layout/navigationCourse.jsp" />
</definition>
 
<definition name="base.layoutPortal" extends="base.definition" path="/layout/layoutPortal.jsp">
<put name="topnav" value="/public/portals/topnavPortal.jsp" />
<put name="navigationLeft" value="/public/announcements/announcementsPortalLeft.jsp" />
<put name="navigationRight" value="/public/announcements/announcementsPortalRight.jsp" />
</definition>
 
<!-- Proxies -->
<definition name="page.layout1.proxy" extends="base.layout1">
<put name="body" value="/WebProxy"/>
79,7 → 88,17
<definition name="page.layoutCourses.proxy" extends="base.layoutCourses">
<put name="body" value="/WebProxy"/>
</definition>
<definition name="page.layoutPortal.proxy" extends="base.layoutPortal">
<put name="body" value="/WebProxy"/>
</definition>
<definition name="page.layoutAssessoria.proxy" extends="base.layoutPortal">
<put name="body" value="/WebProxy"/>
</definition>
<definition name="page.layoutNuleoEngenharia.proxy" extends="base.layoutPortal">
<put name="body" value="/WebProxy"/>
</definition>
 
 
<definition name="page.layout1.proxy.ftp" extends="base.layout1">
<put name="body" value="/user/ftpclient/ftpclient.jsp"/>
</definition>
96,17 → 115,158
<put name="body" value="/user/ftpclient/ftpclient.jsp"/>
</definition>
 
 
 
<!--Portais-->
<definition name="page.portal.student" extends="base.layoutPortal">
<put name="body" value="/public/portals/alunos/student.jsp"/>
</definition>
<definition name="page.portal.oldStudent" extends="base.layoutPortal">
<put name="body" value="/public/portals/antigosAlunos/oldStudent.jsp"/>
</definition>
<definition name="page.portal.futureStudent" extends="base.layoutPortal">
<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/templatePageAssessoria.jsp"/> -->
</definition>
 
<!--Alunos-->
<definition name="page.alunosOrgaosPortalMenu.proxy" extends="page.layoutPortal.proxy">
<put name="topnav" value="/public/portals/alunos/topnavOrgaos.jsp" />
<put name="navigationLeft" value="/public/portals/alunos/orgaos.jsp" />
</definition>
<definition name="page.alunosContactosPortalMenu.proxy" extends="page.layoutPortal.proxy">
<put name="topnav" value="/public/portals/alunos/topnavContactos.jsp" />
<put name="navigationLeft" value="/public/portals/alunos/contactos.jsp" />
</definition>
<definition name="page.alunosInstitutoPolitecnicoPortalMenu.proxy" extends="page.layoutPortal.proxy">
<put name="topnav" value="/public/portals/alunos/topnavInstitutoPolitecnico.jsp" />
<put name="navigationLeft" value="/public/portals/alunos/institutoPolitecnico.jsp" />
</definition>
<definition name="page.alunosAccaoSocialPortalMenu.proxy" extends="page.layoutPortal.proxy">
<put name="topnav" value="/public/portals/alunos/topnavAccaoSocial.jsp" />
<put name="navigationLeft" value="/public/portals/alunos/accaoSocial.jsp" />
</definition>
<definition name="page.alunosServicosPortalMenu.proxy" extends="page.layoutPortal.proxy">
<put name="topnav" value="/public/portals/alunos/topnavServicos.jsp" />
<put name="navigationLeft" value="/public/portals/alunos/servicos.jsp" />
</definition>
<definition name="page.alunosInformacaoAcademicaPortalMenu.proxy" extends="page.layoutPortal.proxy">
<put name="topnav" value="/public/portals/alunos/topnavInformacaoAcademica.jsp" />
<put name="navigationLeft" value="/public/portals/alunos/informacaoAcademica.jsp" />
</definition>
<definition name="page.alunosMobilidadePortalMenu.proxy" extends="page.layoutPortal.proxy">
<put name="topnav" value="/public/portals/alunos/topnavMobilidade.jsp" />
<put name="navigationLeft" value="/public/portals/alunos/mobilidade.jsp" />
</definition>
<!--Futuros Alunos-->
<definition name="page.futurosAlunosEstgPortalMenu.proxy" extends="page.layoutPortal.proxy">
<put name="topnav" value="/public/portals/futurosAlunos/topnavEstg.jsp" />
<put name="navigationLeft" value="/public/portals/futurosAlunos/estg.jsp" />
</definition>
<definition name="page.futurosAlunosServicosPortalMenu.proxy" extends="page.layoutPortal.proxy">
<put name="topnav" value="/public/portals/futurosAlunos/topnavServicos.jsp" />
<put name="navigationLeft" value="/public/portals/futurosAlunos/servicos.jsp" />
</definition>
<definition name="page.futurosAlunosContactosPortalMenu.proxy" extends="page.layoutPortal.proxy">
<put name="topnav" value="/public/portals/futurosAlunos/topnavContactos.jsp" />
<put name="navigationLeft" value="/public/portals/futurosAlunos/contactos.jsp" />
</definition>
<definition name="page.futurosAlunosInstitutoPolitecnicoPortalMenu.proxy" extends="page.layoutPortal.proxy">
<put name="topnav" value="/public/portals/futurosAlunos/topnavInstitutoPolitecnico.jsp" />
<put name="navigationLeft" value="/public/portals/futurosAlunos/institutoPolitecnico.jsp" />
</definition>
<definition name="page.futurosAlunosInformacaoAcademicaPortalMenu.proxy" extends="page.layoutPortal.proxy">
<put name="topnav" value="/public/portals/futurosAlunos/topnavInformacaoAcademica.jsp" />
<put name="navigationLeft" value="/public/portals/futurosAlunos/informacaoAcademica.jsp" />
</definition>
<definition name="page.futurosAlunosAccaoSocialPortalMenu.proxy" extends="page.layoutPortal.proxy">
<put name="topnav" value="/public/portals/futurosAlunos/topnavAccaoSocial.jsp" />
<put name="navigationLeft" value="/public/portals/futurosAlunos/accaoSocial.jsp" />
</definition>
<definition name="page.futurosAlunosMobilidadePortalMenu.proxy" extends="page.layoutPortal.proxy">
<put name="topnav" value="/public/portals/futurosAlunos/topnavMobilidade.jsp" />
<put name="navigationLeft" value="/public/portals/futurosAlunos/mobilidade.jsp" />
</definition>
<definition name="page.futurosAlunosOrgaosPortalMenu.proxy" extends="page.layoutPortal.proxy">
<put name="topnav" value="/public/portals/futurosAlunos/topnavOrgaos.jsp" />
<put name="navigationLeft" value="/public/portals/futurosAlunos/orgaos.jsp" />
</definition>
<!--Antigos Alunos-->
<definition name="page.antigosAlunosEstgPortalMenu.proxy" extends="page.layoutPortal.proxy">
<put name="topnav" value="/public/portals/antigosAlunos/topnavEstg.jsp" />
<put name="navigationLeft" value="/public/portals/antigosAlunos/estg.jsp" />
</definition>
<definition name="page.antigosAlunosServicoPortalMenu.proxy" extends="page.layoutPortal.proxy">
<put name="topnav" value="/public/portals/antigosAlunos/topnavServico.jsp" />
<put name="navigationLeft" value="/public/portals/antigosAlunos/servicos.jsp" />
</definition>
<definition name="page.antigosAlunosActividadesPortalMenu.proxy" extends="page.layoutPortal.proxy">
<put name="topnav" value="/public/portals/antigosAlunos/topnavActividades.jsp" />
<put name="navigationLeft" value="/public/portals/antigosAlunos/actividades.jsp" />
</definition>
<definition name="page.antigosAlunosFormacaoPosGraduadaPortalMenu.proxy" extends="page.layoutPortal.proxy">
<put name="topnav" value="/public/portals/antigosAlunos/topnavFormacaoPosGraduada.jsp" />
<put name="navigationLeft" value="/public/portals/antigosAlunos/formacaoPosGraduada.jsp" />
</definition>
<definition name="page.antigosAlunosInstitutoPolitecnicoPortalMenu.proxy" extends="page.layoutPortal.proxy">
<put name="topnav" value="/public/portals/antigosAlunos/topnavInstitutoPolitecnico.jsp" />
<put name="navigationLeft" value="/public/portals/antigosAlunos/institutoPolitecnico.jsp" />
</definition>
<definition name="page.antigosAlunosContactosPortalMenu.proxy" extends="page.layoutPortal.proxy">
<put name="topnav" value="/public/portals/antigosAlunos/topnavContactos.jsp" />
<put name="navigationLeft" value="/public/portals/antigosAlunos/contactos.jsp" />
</definition>
<!--Docentes-->
<definition name="page.docentesServicosPortalMenu.proxy" extends="page.layoutPortal.proxy">
<put name="topnav" value="/public/portals/Docentes/topnavServicos.jsp" />
<put name="navigationLeft" value="/public/portals/Docentes/servicos.jsp" />
</definition>
<definition name="page.docentesContactosPortalMenu.proxy" extends="page.layoutPortal.proxy">
<put name="topnav" value="/public/portals/Docentes/topnavContactos.jsp" />
<put name="navigationLeft" value="/public/portals/Docentes/contactos.jsp" />
</definition>
<definition name="page.docentesInformacaoAcademicaPortalMenu.proxy" extends="page.layoutPortal.proxy">
<put name="topnav" value="/public/portals/Docentes/topnavInformacaoAcademica.jsp" />
<put name="navigationLeft" value="/public/portals/Docentes/informacaoAcademica.jsp" />
</definition>
<definition name="page.docentesMobilidadePortalMenu.proxy" extends="page.layoutPortal.proxy">
<put name="topnav" value="/public/portals/Docentes/topnavMobilidade.jsp" />
<put name="navigationLeft" value="/public/portals/Docentes/mobilidade.jsp" />
</definition>
<definition name="page.docentesAccaoSocialPortalMenu.proxy" extends="page.layoutPortal.proxy">
<put name="topnav" value="/public/portals/Docentes/topnavAccaoSocial.jsp" />
<put name="navigationLeft" value="/public/portals/Docentes/accaoSocial.jsp" />
</definition>
<definition name="page.docentesOrgaoPortalMenu.proxy" extends="page.layoutPortal.proxy">
<put name="topnav" value="/public/portals/Docentes/topnavOrgaos.jsp" />
<put name="navigationLeft" value="/public/portals/Docentes/orgaos.jsp" />
</definition>
<definition name="page.docentesInstitutoPolitecnicoPortalMenu.proxy" extends="page.layoutPortal.proxy">
<put name="topnav" value="/public/portals/Docentes/topnavInstitutoPolitecnico.jsp" />
<put name="navigationLeft" value="/public/portals/Docentes/institutoPolitecnico.jsp" />
</definition>
<!--Alunos Assessoria-->
<definition name="page.layoutAA.proxy" extends="page.layoutAssessoria.proxy">
<put name="topnav" value="/public/portals/assessoria/topnavAssessoria.jsp" />
<put name="navigationLeft" value="/public/portals/assessoria/assessoria.jsp" />
</definition>
<!--Nucleo de Engenharia-->
<definition name="page.layoutNucleoENG.proxy" extends="page.layoutNuleoEngenharia.proxy">
<put name="topnav" value="/public/portals/nucleoEngenharia/topnavNucleoEngenharia.jsp" />
<put name="navigationLeft" value="/public/portals/nucleoEngenharia/nucleoEngenharia.jsp" />
</definition>
 
 
 
<!--Pagina inicial-->
<definition name="page.welcome" extends="base.layout4">
<put name="title" value="ESTG" />
<put name="title" value="ESTG" />
<put name="body" value="/public/index.jsp" />
</definition>
<definition name="page.staff" extends="base.layout1">
<put name="title" value="ESTG" />
<put name="body" value="/public/staff/index.jsp" />
</definition>
 
 
<!-- Autenticacao -->
<definition name="page.authentication" extends="base.layout1">
<put name="title" value="Authentication" />
120,6 → 280,10
<put name="title" value="Logout Success" />
<put name="body" value="/auth/logoutok.jsp" />
</definition>
<definition name="page.first.time.authenticate" extends="base.layout1">
<put name="title" value="First Time Authenticate" />
<put name="body" value="/auth/firstTimeAuthenticate.jsp" />
</definition>
 
<!-- ERRORS DEFINITIONS -->
<definition name="page.error.500" extends="base.error.definition">
/impl/conf/WEB-INF/struts/struts-processworkflow.xml
7,7 → 7,7
<struts-config>
 
<form-beans>
<form-bean type="pt.estgp.estgweb.web.form.TesteForm" name="TesteForm"/>
</form-beans>
 
<global-exceptions>
20,6 → 20,17
 
 
<action-mappings>
 
<!--Authentication-->
<action path="/testeStart" forward="page.teste"/>
<action path="/teste"
type="pt.estgp.estgweb.web.controllers.TesteController"
name="TesteForm"
scope="request"
parameter="dispatch"
validate="false"
input="page.teste">
<forward name="ok" path="page.teste"/>
</action>
</action-mappings>
</struts-config>
/impl/conf/WEB-INF/struts/struts-commons.xml
New file
0,0 → 1,37
<?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.commons.SearchForm" name="SearchForm"/>
</form-beans>
 
<global-exceptions>
 
</global-exceptions>
 
<global-forwards>
 
</global-forwards>
 
 
<action-mappings>
<action path="/startSearch" name="SearchForm" scope="request" forward="page.search.form"/>
<action path="/search"
type="pt.estgp.estgweb.web.controllers.commons.CommonsController"
name="SearchForm"
scope="request"
parameter="dispatch"
input="page.search.form"
validate="false">
<forward name="searchResults" path="page.search.results"/>
<forward name="searchModule" path="page.search.module"/>
<forward name="noresults" path="page.search.noresults"/>
</action>
</action-mappings>
 
</struts-config>
/impl/conf/WEB-INF/struts/validator-rules.xml
270,7 → 270,29
depends=""
msg="errors.creditcard"/>
 
<validator name="notrequired"
classname="org.apache.struts.validator.FieldChecks"
method="validateNotRequired"
methodParams="java.lang.Object,
org.apache.commons.validator.ValidatorAction,
org.apache.commons.validator.Field,
org.apache.struts.action.ActionMessages,
org.apache.commons.validator.Validator,
javax.servlet.http.HttpServletRequest"
depends=""
msg="errors.notrequired"/>
 
<validator name="notrequiredif"
classname="org.apache.struts.validator.FieldChecks"
method="validateNotRequiredIf"
methodParams="java.lang.Object,
org.apache.commons.validator.ValidatorAction,
org.apache.commons.validator.Field,
org.apache.struts.action.ActionMessages,
org.apache.commons.validator.Validator,
javax.servlet.http.HttpServletRequest"
msg="errors.notrequired"/>
 
<validator name="email"
classname="org.apache.struts.validator.FieldChecks"
method="validateEmail"
/impl/conf/WEB-INF/struts/struts-announcements.xml
40,8 → 40,9
validate="false">
<forward name="success" path="page.welcome"/>
<forward name="load" path="page.load.announcement"/>
<forward name="submit" path="page.submit.announcement"/>
 
</action>
 
</action-mappings>
 
</struts-config>
/impl/conf/WEB-INF/tlds/estgweb.tld
31,8 → 31,8
<tagclass>pt.estgp.estgweb.web.tags.IsAdminTag</tagclass>
</tag>
<tag>
<name>isAdmin</name>
<tagclass>pt.estgp.estgweb.web.tags.IsAdminTag</tagclass>
<name>isNotAdmin</name>
<tagclass>pt.estgp.estgweb.web.tags.IsNotAdminTag</tagclass>
</tag>
<tag>
<name>pageUrlStat</name>
62,6 → 62,21
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
<tag>
<name>ownerImageRole</name>
<tagclass>pt.estgp.estgweb.web.tags.OwnerImageRoleTag</tagclass>
<attribute>
<name>name</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
<attribute>
<name>property</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
 
</tag>
<!--<tag>-->
<!--<name>urlStat</name>-->
<!--<tagclass>pt.estgp.estgweb.web.tags.UrlStatTag</tagclass>-->
/impl/conf/WEB-INF/web.xml
50,11 → 50,11
<filter-name>RelativePathFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!--<filter-mapping>-->
<!--<filter-name>UrlStatFilter</filter-name>-->
<!--<url-pattern>/*</url-pattern>-->
<!--</filter-mapping>-->
<filter-mapping>
<filter-name>UrlStatFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>AdminFilter</filter-name>
<url-pattern>/admin/*</url-pattern>
</filter-mapping>
74,7 → 74,9
/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,
/WEB-INF/struts/struts-commons.xml
</param-value>
</init-param>
<init-param>
111,6 → 113,10
<servlet-name>tmpStream</servlet-name>
<servlet-class>pt.estgp.estgweb.web.TmpStream</servlet-class>
</servlet>
<servlet>
<servlet-name>imageStream</servlet-name>
<servlet-class>pt.estgp.estgweb.web.ImageStream</servlet-class>
</servlet>
 
<!--MAPPINGS-->
<servlet-mapping>
137,6 → 143,10
<servlet-name>tmpStream</servlet-name>
<url-pattern>/tmpStream/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>imageStream</servlet-name>
<url-pattern>/imageStream/*</url-pattern>
</servlet-mapping>
 
<!--START FILES-->
<welcome-file-list>
/impl/conf/app.properties
1,5 → 1,5
tmp.dir=@tmp.dir@
use.ldap=false
use.ldap=@use.ldap@
system.language=pt
#Session Settings
user.session.timeout.minutes=15
17,6 → 17,8
ionline.user=Baco_web
 
server.estgp=http://www.estgp.pt/testes/nova_web
server.estgweb=http://www.estgp.pt/testes/estgweb
estgweb.encoding=UTF-8
estgp.encoding=UTF-8
 
################################################
27,20 → 29,25
user.role.1=admin
user.role.2=student
user.role.3=erasmusStudent
user.role.4=ci
user.role.5=teacher
user.role.6=teacher.eg
user.role.7=teacher.dg
user.role.8=teacher.ce
user.role.9=worker
user.role.10=invited
user.role.11=services
user.role.12=administrativeCouncil
user.role.13=scientificCouncil
user.role.14=pedagogicCouncil
user.role.15=erasmusCouncil
user.role.16=courseCoordinator
user.role.4=oldStudent
user.role.5=futureStudent
user.role.6=ci
user.role.7=teacher
user.role.8=teacher.eg
user.role.9=teacher.dg
user.role.10=teacher.ce
user.role.11=worker
user.role.12=invited
user.role.13=services
user.role.14=administrativeCouncil
user.role.15=scientificCouncil
user.role.16=pedagogicCouncil
user.role.17=erasmusCouncil
user.role.18=courseCoordinator
user.role.19=sudentAssociation
user.role.20=representativeCouncil
 
 
#########################################################################
#
# Modules
50,18 → 57,46
#########################################################################
# Announcements
#
announcements.text.summary.size=250
announcements.text.summary.size.small=100
 
announcements.automatic.validation.role.1=all
announcements.automatic.validation.role.2=admin
announcements.automatic.validation.role.3=ci
announcements.automatic.validation.role.4=administrativeCouncil
 
student.auto.validation.targets=student,oldStudent,futureStudent,erasmusStudent
 
 
student.auto.validation.types=news,top.flash.news
 
 
announcements.max.visible=10
announcements.top.flash.news.timeout.miliseconds=7000
 
announcements.type.0=news
announcements.type.1=top.flash.news
announcements.type.2=bottom.flash.news
 
#role images for announcements
announcement.default.img=/imgs/rolesIcons/nd.gif
role.admin.img=/imgs/rolesIcons/estg.gif
role.sudentAssociation.img=/imgs/rolesIcons/ae.gif
role.administrativeCouncil.img=/imgs/rolesIcons/c_directivo.gif
role.scientificCouncil.img=/imgs/rolesIcons/c_cientifico.gif
role.representativeCouncil.img=/imgs/rolesIcons/ass_repre.gif
role.teacher.eg.img=/imgs/rolesIcons/ne.gif
role.teacher.dg.img=/imgs/rolesIcons/ngm.gif
role.services.img=/imgs/rolesIcons/secretaria.gif
 
 
#########################################################################
# Blogs
#
 
blog.desc.summary.size=250
 
#########################################################################
# Link Analysis
#
url.stat.tmp.dir=/linkchart
77,6 → 112,12
url.stat.ignore.extension.8=.swf
 
url.stat.ignore.prefix.1=/urlstat
url.stat.ignore.prefix.2=/public/
url.stat.ignore.prefix.3=/admin/
url.stat.ignore.prefix.4=/user/
url.stat.ignore.prefix.5=/css/
url.stat.ignore.prefix.6=/js/
url.stat.ignore.prefix.7=/auth/
 
#See java.text.SimpleDateFormat
urlstat.chart.week.days=EEE dd-MMM
89,8 → 130,13
urlstat.chart.year.months=MMM-yy
urlstat.chart.two.years.months=MMM-yy
 
#########################################################################
# Common Services
#
search.max.results=2
search.best.fragments.max.fragment.size=80
search.best.fragments.max.fragments=3
 
 
 
 
 
/impl/conf/berserk/sd.xml
143,5 → 143,85
<chain name="Session"/>
</filterChains>
</service>
<service>
<name>LoadRoleTypeMaxAnnouncements</name>
<implementationClass>pt.estgp.estgweb.services.announcements.LoadRoleTypeMaxAnnouncementsService</implementationClass>
<description>Load an Announcement views to show in list</description>
<isTransactional>true</isTransactional>
<filterChains>
<chain name="Logger"/>
</filterChains>
</service>
<service>
<name>LoadTopFlashNewsIterate</name>
<implementationClass>pt.estgp.estgweb.services.announcements.LoadTopFlashNewsIterateService</implementationClass>
<description>Load an Announcement one flash News</description>
<isTransactional>true</isTransactional>
<filterChains>
<chain name="Logger"/>
<chain name="Session"/>
</filterChains>
</service>
 
 
<!--Teste-->
<service>
<name>TesteSaver</name>
<implementationClass>pt.estgp.estgweb.services.teste.TesteService</implementationClass>
<description>Saves a teste</description>
<isTransactional>true</isTransactional>
<filterChains>
<chain name="Logger"/>
</filterChains>
</service>
 
 
<!--BLOGS-->
<service>
<name>CreateBlog</name>
<implementationClass>pt.estgp.estgweb.services.blogs.CreateBlogService</implementationClass>
<description>Create a Blog</description>
<isTransactional>true</isTransactional>
<filterChains>
<chain name="Logger"/>
<chain name="Session"/>
<chain name="AuthenticatedUsers"/>
</filterChains>
</service>
<service>
<name>LoadBlog</name>
<implementationClass>pt.estgp.estgweb.services.blogs.LoadBlogService</implementationClass>
<description>Load a Blog</description>
<isTransactional>true</isTransactional>
<filterChains>
<chain name="Logger"/>
<chain name="Session"/>
</filterChains>
</service>
 
 
<!--CommonServices-->
<service>
<name>AnnouncementsCommonServices</name>
<implementationClass>pt.estgp.estgweb.services.announcements.AnnouncementsCommonServices</implementationClass>
<description>Common Services For Announcements</description>
<defaultMethod>search</defaultMethod>
<isTransactional>true</isTransactional>
<filterChains>
<chain name="Logger"/>
<chain name="Session"/>
</filterChains>
</service>
<service>
<name>BlogsCommonServices</name>
<implementationClass>pt.estgp.estgweb.services.blogs.BlogsCommonServices</implementationClass>
<description>Common Services For Blogs</description>
<isTransactional>true</isTransactional>
<filterChains>
<chain name="Logger"/>
<chain name="Session"/>
</filterChains>
</service>
 
 
</serviceDefinitions>
/impl/conf/hibernate.cfg.xml
10,7 → 10,7
<property name="connection.password">@database.password@</property>
<property name="connection.autocommit">false</property>
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.show.sql">@hibernate.show.sql@</property>
<property name="show_sql">@hibernate.show.sql@</property>
<property name="transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</property>
<property name="hibernate.c3p0.min_size">5</property>
<property name="hibernate.c3p0.max_size">20</property>
/impl/src/java/jomm/utils/TextToHTMLEnconder.java
New file
0,0 → 1,78
package jomm.utils;
 
/**
* User: Jorge Machado machadofisher@gmail.com
* Date: 8/Mai/2007
* Time: 17:38:50
* To change this template use File | Settings | File Templates.
*/
public class TextToHTMLEnconder
{
public String encodeText(String originalText)
{
if(originalText==null)
return null;
 
return escapeHTML(originalText);
}
 
public static final String escapeHTML(String s)
{
StringBuffer sb = new StringBuffer();
int n = s.length();
for (int i = 0; i < n; i++)
{
char c = s.charAt(i);
switch (c)
{
case '<': sb.append("&lt;"); break;
case '>': sb.append("&gt;"); break;
case '&': sb.append("&amp;"); break;
case '"': sb.append("&quot;"); break;
case 'à': sb.append("&agrave;");break;
case 'À': sb.append("&Agrave;");break;
case 'â': sb.append("&acirc;");break;
case 'Â': sb.append("&Acirc;");break;
case 'ä': sb.append("&auml;");break;
case 'Ä': sb.append("&Auml;");break;
case 'å': sb.append("&aring;");break;
case 'Å': sb.append("&Aring;");break;
case 'æ': sb.append("&aelig;");break;
case 'Æ': sb.append("&AElig;");break;
case 'ç': sb.append("&ccedil;");break;
case 'Ç': sb.append("&Ccedil;");break;
case 'é': sb.append("&eacute;");break;
case 'É': sb.append("&Eacute;");break;
case 'è': sb.append("&egrave;");break;
case 'È': sb.append("&Egrave;");break;
case 'ê': sb.append("&ecirc;");break;
case 'Ê': sb.append("&Ecirc;");break;
case 'ë': sb.append("&euml;");break;
case 'Ë': sb.append("&Euml;");break;
case 'ï': sb.append("&iuml;");break;
case 'Ï': sb.append("&Iuml;");break;
case 'ô': sb.append("&ocirc;");break;
case 'Ô': sb.append("&Ocirc;");break;
case 'ö': sb.append("&ouml;");break;
case 'Ö': sb.append("&Ouml;");break;
case 'ø': sb.append("&oslash;");break;
case 'Ø': sb.append("&Oslash;");break;
case 'ß': sb.append("&szlig;");break;
case 'ù': sb.append("&ugrave;");break;
case 'Ù': sb.append("&Ugrave;");break;
case 'û': sb.append("&ucirc;");break;
case 'Û': sb.append("&Ucirc;");break;
case 'ü': sb.append("&uuml;");break;
case 'Ü': sb.append("&Uuml;");break;
case '®': sb.append("&reg;");break;
case '©': sb.append("&copy;");break;
case '€': sb.append("&euro;"); break;
// be carefull with this one (non-breaking whitee space)
case ' ': sb.append("&nbsp;");break;
 
default: sb.append(c); break;
}
}
return sb.toString();
}
}
/impl/src/java/jomm/dao/utils/HibernateUtils.java
4,6 → 4,7
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.hibernate.classic.Session;
import org.apache.log4j.Logger;
 
import java.sql.SQLException;
 
14,6 → 15,7
public class HibernateUtils implements Runnable{
 
// private static Session session;
private static final Logger logger = Logger.getLogger(HibernateUtils.class);
private static final SessionFactory sessionFactory;
 
static
25,9 → 27,10
sessionFactory = config.buildSessionFactory();
// session = sessionFactory.openSession();
}
catch (Throwable ex)
catch (Throwable e)
{
throw new ExceptionInInitializerError(ex);
logger.fatal(e,e);
throw new ExceptionInInitializerError(e);
}
}
 
/impl/src/java/jomm/dao/impl/AbstractDao.java
15,6 → 15,7
import java.sql.SQLException;
import java.util.Collection;
import java.util.List;
import java.util.Date;
 
 
/**
397,8 → 398,11
* using the current value of the identifier property if the assigned
* generator is used.)
*/
public final Serializable save(CLAZZ obj) {
public Serializable save(CLAZZ obj)
{
try {
DomainObject o = (DomainObject) obj;
o.setSaveDate(new Date());
return (Serializable) getCurrentSession().save(obj);
}
catch (HibernateException e) {
554,11 → 558,10
{
try
{
Session session = getCurrentSession();
 
for (CLAZZ obj: objs)
{
obj = (CLAZZ) session.load(getReferenceClass(),((DomainObject)obj).getSerializable());
session.delete(obj);
evictAndDelete(obj);
}
}
catch (HibernateException e)
568,6 → 571,25
}
 
/**
* Refresh a collection of objects.
*
* @param obj Object to delete
*/
public final void evictAndDelete(CLAZZ obj) {
try
{
Session session = getCurrentSession();
obj = (CLAZZ) session.load(getReferenceClass(), ((DomainObject) obj).getSerializable());
session.delete(obj);
}
catch (HibernateException e)
{
throw new DaoException(e);
}
}
 
 
/**
* Deletes a collection of objects.
*
* @param objs Objects to delete
/impl/src/java/jomm/ir/lucene/DiacriticFilter.java
New file
0,0 → 1,65
package jomm.ir.lucene;
 
import org.apache.lucene.analysis.TokenFilter;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.Token;
 
import java.io.IOException;
 
/**
* @author Jorge Machado
* @date 25/Abr/2008
* @time 14:55:22
* @see jomm.ir
*/
public final class DiacriticFilter extends TokenFilter {
public DiacriticFilter(TokenStream in) {
super(in);
}
 
public final Token next() throws IOException {
Token t = input.next();
 
if (t == null)
return null;
 
String r = "";
 
String value = t.termText();
 
for (int j=0 ; j < value.length() ; j++) {
if ((value.charAt(j) == 'á') ||
(value.charAt(j) == 'â') ||
(value.charAt(j) == 'ã')) {
r= r + "a" ; continue ;
}
if ((value.charAt(j) == 'é') ||
(value.charAt(j) == 'ê')) {
r= r + "e" ; continue ;
}
if (value.charAt(j) == 'í') {
r= r + "i" ; continue ;
}
if ((value.charAt(j) == 'ó') ||
(value.charAt(j) == 'ô') ||
(value.charAt(j) == 'õ')) {
r= r + "o" ; continue ;
}
if ((value.charAt(j) == 'ú') ||
(value.charAt(j) == 'ü')) {
r= r + "u" ; continue ;
}
if (value.charAt(j) == 'ç') {
r= r + "c" ; continue ;
}
if (value.charAt(j) == 'ñ') {
r= r + "n" ; continue ;
}
 
 
r= r+ value.charAt(j) ;
}
t.setTermText(r);
return t;
}
}
/impl/src/java/jomm/ir/lucene/BrazilianExtendedAnalyzer.java
New file
0,0 → 1,157
package jomm.ir.lucene;
 
/**
* @author Jorge Machado
* @date 25/Abr/2008
* @time 14:55:22
* @see jomm.ir
*/
 
import org.apache.log4j.Logger;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.LowerCaseFilter;
import org.apache.lucene.analysis.StopFilter;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.standard.StandardFilter;
import org.apache.lucene.analysis.standard.StandardTokenizer;
 
import java.io.Reader;
import java.util.HashSet;
import java.util.Hashtable;
import java.util.Set;
 
import jomm.ir.lucene.DiacriticFilter;
 
/**
* Analyzer for brazilian language. Supports an external list of stopwords (words that
* will not be indexed at all) and an external list of exclusions (word that will
* not be stemmed, but indexed).
*
* @author Jo�o Kramer
*/
public class BrazilianExtendedAnalyzer extends Analyzer
{
 
private static final Logger logger = Logger.getLogger(BrazilianExtendedAnalyzer.class);
 
/**
* List of typical german stopwords.
*/
public final static String[] BRAZILIAN_STOP_WORDS = {
"a","ainda","alem","ambas","ambos","antes",
"ao","aonde","aos","apos","aquele","aqueles",
"as","assim","com","como","contra","contudo",
"cuja","cujas","cujo","cujos","da","das","de",
"dela","dele","deles","demais","depois","desde",
"desta","deste","dispoe","dispoem","diversa",
"diversas","diversos","do","dos","durante","e",
"ela","elas","ele","eles","em","entao","entre",
"essa","essas","esse","esses","esta","estas",
"este","estes","ha","isso","isto","logo","mais",
"mas","mediante","menos","mesma","mesmas","mesmo",
"mesmos","na","nas","nao","nas","nem","nesse","neste",
"nos","o","os","ou","outra","outras","outro","outros",
"pelas","pelas","pelo","pelos","perante","pois",
"porque","portanto","proprio","propios","quais","qual",
"qualquer","quando","quanto","que","quem","quer","se",
"seja","sem","sendo","seu","seus","sob","sobre","sua",
"suas","tal","tambem","teu","teus","toda","todas","todo",
"todos","tua","tuas","tudo","um","uma","umas","uns"};
 
public static final String[] ENGLISH_STOP_WORDS = {
"I","a","about","and","an","are","as","at","be","but",
"by","com","de","en","for","from","how","if","into","in",
"is","it","la","of","on","or","no","not","that","their","these",
"they","then","there","they","s","such","t","the","this","to",
"was","we","what","when","where","who","will","with","und",
"the","www"
};
 
public static final String[] BRAZILIAN_AND_ENGLISH_STOP_WORDS = {
"a","ainda","alem","ambas","ambos","antes",
"ao","aonde","aos","apos","aquele","aqueles",
"as","assim","com","como","contra","contudo",
"cuja","cujas","cujo","cujos","da","das","de",
"dela","dele","deles","demais","depois","desde",
"desta","deste","dispoe","dispoem","diversa",
"diversas","diversos","do","dos","durante","e",
"ela","elas","ele","eles","em","entao","entre",
"essa","essas","esse","esses","esta","estas",
"este","estes","ha","isso","isto","logo","mais",
"mas","mediante","menos","mesma","mesmas","mesmo",
"mesmos","na","nas","nao","nas","nem","nesse","neste",
"nos","o","os","ou","outra","outras","outro","outros",
"pelas","pelas","pelo","pelos","perante","pois",
"porque","portanto","proprio","propios","quais","qual",
"qualquer","quando","quanto","que","quem","quer","se",
"seja","sem","sendo","seu","seus","sob","sobre","sua",
"suas","tal","tambem","teu","teus","toda","todas","todo",
"todos","tua","tuas","tudo","um","uma","umas","uns",
 
"I","a","about","and","an","are","as","at","be","but",
"by","com","de","en","for","from","how","if","into","in",
"is","it","la","of","on","or","no","not","that","their","these",
"they","then","there","they","s","such","t","the","this","to",
"was","we","what","when","where","who","will","with","und",
"the","www"
};
 
 
/**
* Contains the stopwords used with the StopFilter.
*/
protected Set stoptable = new HashSet();
/**
* Contains words that should be indexed but not stemmed.
*/
 
 
/**
* Builds an analyzer with the default stop words ({@link #BRAZILIAN_STOP_WORDS}).
*/
 
public BrazilianExtendedAnalyzer()
{
stoptable = StopFilter.makeStopSet(BRAZILIAN_AND_ENGLISH_STOP_WORDS);
}
 
/**
* Builds an analyzer with the given stop words.
*/
public BrazilianExtendedAnalyzer( String[] stopwords ) {
stoptable = StopFilter.makeStopSet( stopwords );
}
 
/**
* Builds an analyzer with the given stop words.
*/
public BrazilianExtendedAnalyzer( Hashtable stopwords ) {
stoptable = new HashSet(stopwords.keySet());
}
 
 
 
/**
* Creates a TokenStream which tokenizes all the text in the provided Reader.
*
* @return A TokenStream build from a StandardTokenizer filtered with
* StandardFilter, StopFilter, GermanStemFilter and LowerCaseFilter.
*/
public final TokenStream tokenStream(String fieldName, Reader reader)
{
TokenStream result = new StandardTokenizer( reader );
result = new StandardFilter( result );
result = new LowerCaseFilter( result );
result = new DiacriticFilter(result);
result = new StopFilter( result, stoptable );
return result;
}
 
 
public static void main(String [] args){
 
 
}
 
}
 
/impl/src/java/jomm/ir/lucene/HighlightFormatter.java
New file
0,0 → 1,29
package jomm.ir.lucene;
 
 
/**
* @author Jorge Machado
* @date 25/Abr/2008
* @time 14:55:22
* @see jomm.ir
*/
 
import org.apache.lucene.search.highlight.Formatter;
import org.apache.lucene.search.highlight.TokenGroup;
 
public class HighlightFormatter implements Formatter
{
public String highlightTerm(String originalText, TokenGroup group)
{
if(group.getTotalScore()<=0)
{
return originalText;
}
return highlightTerm(originalText);
}
 
public static String highlightTerm(String originalText) {
 
return "<b><i>" + originalText + "</i></b>";
}
}
/impl/src/java/jomm/ir/lucene/LuceneUtils.java
New file
0,0 → 1,98
package jomm.ir.lucene;
 
import org.apache.log4j.Logger;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.queryParser.ParseException;
import org.apache.lucene.queryParser.QueryParser;
import org.apache.lucene.search.Query;
import org.apache.lucene.search.highlight.Highlighter;
import org.apache.lucene.search.highlight.QueryScorer;
import org.apache.lucene.search.highlight.SimpleFragmenter;
 
import java.io.StringReader;
 
/**
* Created by IntelliJ IDEA.
* User: User
* DateMonthYearArticles: 26/Jan/2005
* Time: 12:08:10
* To change this template use File | Settings | File Templates.
*/
public class LuceneUtils
{
 
 
private static Logger logger = Logger.getLogger(LuceneUtils.class);
 
private static Analyzer analyzer = (Analyzer) new BrazilianExtendedAnalyzer();
 
 
public static Query getQuery(String queryStr, String field, Analyzer analyzer) throws ParseException
{
try
{
QueryParser parser;
if(field == null)
parser = new QueryParser("contents",analyzer);
else
parser = new QueryParser(field,analyzer);
return parser.parse(queryStr);
}
catch(ParseException e)
{
logger.error("Bad query: " + queryStr);
throw e;
}
}
 
 
public static LuceceTextToHTMLEncoder textToHTMLEnconder = new LuceceTextToHTMLEncoder()
{
public String encodeText(String textToEncode)
{
if(textToEncode != null)
{
return super.encodeText(textToEncode).replaceAll("&nbsp;"," ");
}
return null;
}
};
 
public static HighlightFormatter highlightFormatter = new HighlightFormatter();
 
public static String highlight(String text, String queryStr) throws Exception
{
return doStandardHighlights(text,queryStr,10000,1);
}
public static String doStandardHighlights(String text, String queryStr, int fragmentSize, int maxfragments) throws Exception
{
if(text != null)
{
 
Query query = getQuery(queryStr,null,analyzer);
Highlighter highlighter = new Highlighter(highlightFormatter,textToHTMLEnconder,new QueryScorer(query));
highlighter.setTextFragmenter(new SimpleFragmenter(fragmentSize));
 
String fragmentSeparator = " ... ";
TokenStream tokenStream = analyzer.tokenStream(null,new StringReader(text));
 
String result =
highlighter.getBestFragments(
tokenStream,
text,
maxfragments,
fragmentSeparator);
if(result.startsWith(")") || result.startsWith("]") || result.startsWith(",") || result.startsWith(";") || result.startsWith("."))
result = result.substring(1);
return result;
}
return null;
}
 
public static void main(String [] args) throws Exception
{
System.out.println(LuceneUtils.highlight("eu sou o jorge machado e amo muito a leila o amor da minha vida que eu mais amo que tudo\n e tudo o que eu mais amo é ela e mais ninguém amo como ela","ela é o amor da vida ninguém"));
}
}
/impl/src/java/jomm/ir/lucene/LuceceTextToHTMLEncoder.java
New file
0,0 → 1,18
package jomm.ir.lucene;
 
/**
* @author Jorge Machado
* @date 25/Abr/2008
* @time 14:23:27
* @see jomm.ir.lucene
*/
import org.apache.lucene.search.highlight.Encoder;
import jomm.utils.TextToHTMLEnconder;
 
/**
* Just need to extend TextToHtmlEncoder to implement Encoder Interface
*/
public class LuceceTextToHTMLEncoder extends TextToHTMLEnconder implements Encoder
{
 
}
/impl/src/java/jomm/web/utils/NavPlaceServer.java
15,6 → 15,7
private static NavPlaceServer ourInstance = new NavPlaceServer();
 
public static final String NAV_PLACES_KEY = "NAV_PLACES_KEY";
public static final String PORTAL_MENU_PLACES_KEY = "PORTAL_MENU_PLACES_KEY";
 
 
public static NavPlaceServer getInstance()
28,13 → 29,22
 
public TopNav createTopNav(HttpServletRequest request)
{
return new TopNav(request);
return new TopNav(request,NAV_PLACES_KEY);
}
 
public TopNav createPortalMenuPlacesKey(HttpServletRequest request)
{
return new TopNav(request,PORTAL_MENU_PLACES_KEY);
}
 
public static TopNav getTopNav(HttpServletRequest request)
{
return (TopNav) request.getAttribute(NavPlaceServer.NAV_PLACES_KEY);
}
public static TopNav getPortalMenuPlacesKey(HttpServletRequest request)
{
return (TopNav) request.getAttribute(NavPlaceServer.PORTAL_MENU_PLACES_KEY);
}
 
 
}
/impl/src/java/jomm/web/utils/TopNav.java
6,20 → 6,21
 
/**
* @author Jorge Machado
* @date 6/Mar/2008
* @time 17:53:36
* @see jomm.web.utils
*/
* @date 6/Mar/2008
* @time 17:53:36
* @see jomm.web.utils
*/
public class TopNav
{
private String title;
 
List<NavPlace> navPlaces = new ArrayList<NavPlace>();
 
protected TopNav(HttpServletRequest request)
protected TopNav(HttpServletRequest request, String key)
{
request.setAttribute(NavPlaceServer.NAV_PLACES_KEY,this);
request.setAttribute(key,this);
}
 
public List<NavPlace> getNavPlaces()
{
return navPlaces;
27,7 → 28,15
 
public void addNavPlace(String url, String messageKey)
{
NavPlace n = new NavPlace(url,messageKey);
NavPlace n = new NavPlace(url,messageKey,navPlaces.size());
navPlaces.add(n);
}
 
public String getTitle() {
return title;
}
 
public void setTitle(String title) {
this.title = title;
}
}
/impl/src/java/jomm/web/utils/NavPlace.java
7,26 → 7,39
public class NavPlace
{
 
private int pos;
private String url;
private String key;
 
/**
* Creates a new instance of NavPlace
*
*
* @param url to go
* @param key in messages
* */
public NavPlace(String url,String key)
public NavPlace(String url,String key, int pos)
{
this.url = url;
this.key = key;
this.pos = pos;
}
 
public String getUrl() {
return url;
 
public String getUrl()
{
 
if(url != null)
{
if(url.indexOf("?")>=0)
return url + "&pos=" + pos;
else
return url + "?pos=" + pos;
}
return null;
}
 
public void setUrl(String url) {
public void setUrl(String url)
{
this.url = url;
}
 
38,5 → 51,5
this.key = key;
}
 
 
}
/impl/src/java/openldap/Test.java
7,40 → 7,106
import java.util.Set;
import openldap.LdapManagerFactory;
 
public class Test
public class Test
{
public static void main(String[] args) throws Exception
 
public String getName(HashMap text)
{
//System.out.println(LdapManagerFactory.getLdapManager().login("a8824","21286"));
HashMap map = LdapManagerFactory.getLdapManager().getUserInfo("a8822");
Set s = map.entrySet();
Set s = text.entrySet();
Iterator iter = s.iterator();
/* while(iter.hasNext())
int iterCount=0;
String name=null;
 
while(iter.hasNext())
{
Map.Entry e = (Entry) iter.next();
System.out.println(e.getKey() + ":" + e.getValue());
if(iterCount==3)
{
name=e.getValue().toString();
}
iterCount++;
}
map = LdapManagerFactory.getLdapManager().getUserInfo("a8822");
s = map.entrySet();
iter = s.iterator();*/
int iterNumber=0;
String[] messageBrokenDot=null;
String[] spliters={",","="};
return name;
}
 
public String getRoles(HashMap text)
{
Set s = text.entrySet();
Iterator iter = s.iterator();
int iterCount=0;
String roles=null;
 
while(iter.hasNext())
{
Map.Entry e = (Entry) iter.next();
if(iterNumber==3)
if(iterCount==0)
{
messageBrokenDot=e.getValue().toString().split(spliters[0]);
String[] splitText=e.getValue().toString().split(",");
if(splitText[1].contains("CN"))
{
roles="student";
}
else if(splitText[1].contains("OU"))
{
roles="teacher";
}
}
iterNumber++;
//System.out.println(e.getKey() + ":" + e.getValue());
iterCount++;
}
for (int i = 0 ; i < iterNumber ; i++) {
// System.out.println("->" + messageBrokenDot[i].split(spliters[1]));
return roles;
}
 
public static void main(String[] args) throws Exception
{
//System.out.println(LdapManagerFactory.getLdapManager().login("a8824","21286"));
HashMap map = LdapManagerFactory.getLdapManager().getUserInfo("jmachado");
Set s = map.entrySet();
Iterator iter = s.iterator();
/* while(iter.hasNext())
{
Map.Entry e = (Entry) iter.next();
System.out.println(e.getKey() + ":" + e.getValue());
}
map = LdapManagerFactory.getLdapManager().getUserInfo("a8822");
s = map.entrySet();
iter = s.iterator();*/
 
/*while(iter.hasNext())
{
Map.Entry e = (Entry) iter.next();
 
System.out.println(e.getKey() + "-->" + e.getValue());
} */
//Set s = text.entrySet();
//Iterator iter = s.iterator();
int iterCount=0;
String name=null;
String roles=null;
 
while(iter.hasNext())
{
Map.Entry e = (Entry) iter.next();
if(iterCount==0)
{
String[] splitText=e.getValue().toString().split(",");
if(splitText[1].contains("CN"))
{
roles="student";
}
else if(splitText[1].contains("OU"))
{
roles="teacher";
}
}
 
if(iterCount==3)
{
name=e.getValue().toString();
}
iterCount++;
}
System.out.println("nome-->" + name);
System.out.println("nome-->" + roles);
 
}
}
/impl/src/java/pt/estgp/estgweb/Globals.java
10,15 → 10,29
* @time 12:51:32
* @see pt.estgp.estgweb
*/
public class Globals
{
public class Globals {
 
 
public static final int SEARCH_MAX_RESULTS = ConfigProperties.getIntProperty("search.max.results");
public static final int SEARCH_BEST_FRAGMENTS_MAX_FRAGMENT_SIZE = ConfigProperties.getIntProperty("search.best.fragments.max.fragment.size");
public static final int SEARCH_BEST_FRAGMENTS_MAX_FRAGMENTS = ConfigProperties.getIntProperty("search.best.fragments.max.fragments");
 
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");
public static final String USER_SESSION_KEY = "USER_SESSION_KEY";
public static final String USER_SESSION_KEY = "UserSession";
public static final List<String> AUTOMATIC_VALIDATION_ROLES = ConfigProperties.getListValues("announcements.automatic.validation.role");
public static final String TMP_DIR = ConfigProperties.getProperty("tmp.dir");
public static final String EMAIL_SERVER_HOST = ConfigProperties.getProperty("email.server");
public static final String SYSTEM_EMAIL_BOX = ConfigProperties.getProperty("email.from");
public static final String ANNOUNCEMENT_TYPE_NEWS = "news";
public static final String ANNOUNCEMENT_TYPE_TOP_FLASH_NEWS = "top.flash.news";
public static final String ANNOUNCEMENT_TYPE_BOTTOM_FLASH_NEWS = "bottom.flash.news";
public static final int NUMBER_ANNOUNCEMENT_TYPE_NEW_INDEX = 5;
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/users/UpdateUserSessionService.java
37,7 → 37,6
DaoFactory.getUserSessionDaoImpl().reattach(userSession);
if(removeList != null)
{
 
if(userSession.getObjects() != null)
{
Iterator<SessionObject> iter = userSession.getObjects().iterator();
53,6 → 52,11
}
DaoFactory.getSessionObjectDaoImpl().evictAndDelete(removeList);
}
// if(userSession.getObjects() != null)
// for(SessionObject o: userSession.getObjects())
// {
// DaoFactory.getSessionObjectDaoImpl().saveOrUpdate(o);
// }
}
 
 
/impl/src/java/pt/estgp/estgweb/services/teste/TesteService.java
New file
0,0 → 1,34
package pt.estgp.estgweb.services.teste;
 
import pt.utl.ist.berserk.logic.serviceManager.IService;
import pt.estgp.estgweb.services.authenticate.LogoutService;
import pt.estgp.estgweb.services.expceptions.ServiceException;
import pt.estgp.estgweb.domain.UserSession;
import pt.estgp.estgweb.domain.UserSessionImpl;
import pt.estgp.estgweb.domain.Teste;
import pt.estgp.estgweb.domain.dao.DaoFactory;
import org.apache.log4j.Logger;
 
/*
* @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 TesteService implements IService
{
private static final Logger logger = Logger.getLogger(TesteService.class);
 
public void run(Teste t) throws ServiceException
{
DaoFactory.getTesteDaoImpl().save(t);
}
}
/impl/src/java/pt/estgp/estgweb/services/blogs/BlogsCommonServices.java
New file
0,0 → 1,46
package pt.estgp.estgweb.services.blogs;
 
import pt.utl.ist.berserk.logic.serviceManager.IService;
import pt.estgp.estgweb.services.common.IModuleCommonServices;
import pt.estgp.estgweb.services.common.SearchTypeEnum;
import pt.estgp.estgweb.services.common.IToDoCat;
import pt.estgp.estgweb.services.common.ISearchResults;
import pt.estgp.estgweb.services.announcements.AnnouncementsCommonServices;
import pt.estgp.estgweb.domain.UserSession;
import org.apache.log4j.Logger;
 
/*
* @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 BlogsCommonServices implements IService, IModuleCommonServices
{
private static final Logger logger = Logger.getLogger(BlogsCommonServices.class);
 
 
public int countSearch(String search, SearchTypeEnum searchType, UserSession userSession) {
return 0; //To change body of implemented methods use File | Settings | File Templates.
}
 
public ISearchResults search(String search, SearchTypeEnum searchType, int page, int maxResults, UserSession userSession) {
return null; //To change body of implemented methods use File | Settings | File Templates.
}
 
public int countToDo(UserSession userSession) {
return 0; //To change body of implemented methods use File | Settings | File Templates.
}
 
public IToDoCat getToDo(UserSession userSession) {
return null; //To change body of implemented methods use File | Settings | File Templates.
}
}
/impl/src/java/pt/estgp/estgweb/services/blogs/LoadBlogService.java
New file
0,0 → 1,34
package pt.estgp.estgweb.services.blogs;
 
import pt.utl.ist.berserk.logic.serviceManager.IService;
import pt.estgp.estgweb.domain.views.BlogView;
import pt.estgp.estgweb.domain.UserSession;
import pt.estgp.estgweb.domain.dao.DaoFactory;
import pt.estgp.estgweb.services.expceptions.ServiceException;
import org.apache.log4j.Logger;
 
/*
* @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 LoadBlogService implements IService
{
 
private static final Logger logger = Logger.getLogger(LoadBlogService.class);
 
public BlogView run(Long id, UserSession userSession) throws ServiceException
{
DaoFactory.getBlogDaoImpl().get(id);
return new BlogView(DaoFactory.getBlogDaoImpl().get(id));
}
}
/impl/src/java/pt/estgp/estgweb/services/blogs/CreateBlogService.java
New file
0,0 → 1,41
package pt.estgp.estgweb.services.blogs;
 
import pt.utl.ist.berserk.logic.serviceManager.IService;
import pt.estgp.estgweb.services.expceptions.ServiceException;
import pt.estgp.estgweb.domain.UserSession;
import pt.estgp.estgweb.domain.Blog;
import pt.estgp.estgweb.domain.views.BlogView;
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 BlogView 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);
return new BlogView(b);
}
}
/impl/src/java/pt/estgp/estgweb/services/common/ISearchResults.java
New file
0,0 → 1,24
package pt.estgp.estgweb.services.common;
 
import java.util.List;
 
/**
* @author Jorge Machado
* @date 24/Abr/2008
* @time 14:57:52
* @see pt.estgp.estgweb.services.common
*/
public interface ISearchResults
{
public ModuleEnum getModule();
public List<IResult> getResults();
public int getTotalResults();
public int getPage();
public boolean hasNextPage();
public boolean hasPreviousPage();
public int getNextPage();
public int getPreviousPage();
public int getMaxResultsPage();
public String getQuery();
 
}
/impl/src/java/pt/estgp/estgweb/services/common/impl/CommonSearchResults.java
New file
0,0 → 1,45
package pt.estgp.estgweb.services.common.impl;
 
import pt.estgp.estgweb.services.common.ICommonSearchResults;
import pt.estgp.estgweb.services.common.ISearchResults;
 
import java.util.List;
 
/**
* @author Jorge Machado
* @date 24/Abr/2008
* @time 15:51:32
* @see pt.estgp.estgweb.services.common.impl
*/
public class CommonSearchResults implements ICommonSearchResults
{
 
private List<ISearchResults> results;
private int totalResults = 0;
 
public List<ISearchResults> getSearchResults()
{
return results;
}
 
public int getTotalResults()
{
return totalResults;
}
 
public void setResults(List<ISearchResults> results)
{
this.results = results;
}
 
public void setTotalResults(int totalResults)
{
this.totalResults = totalResults;
}
 
public void addMoreResults(int totalResults)
{
this.totalResults += totalResults;
}
}
/impl/src/java/pt/estgp/estgweb/services/common/impl/DefaultToDoCat.java
New file
0,0 → 1,32
package pt.estgp.estgweb.services.common.impl;
 
import pt.estgp.estgweb.services.common.IToDoCat;
 
/**
* @author Jorge Machado
* @date 24/Abr/2008
* @time 16:16:52
* @see pt.estgp.estgweb.services.common.impl
*/
public class DefaultToDoCat implements IToDoCat
{
private String url;
private int totalToDo;
 
 
public String getUrl() {
return url;
}
 
public void setUrl(String url) {
this.url = url;
}
 
public int getTotalToDo() {
return totalToDo;
}
 
public void setTotalToDo(int totalToDo) {
this.totalToDo = totalToDo;
}
}
/impl/src/java/pt/estgp/estgweb/services/common/impl/DefaultResult.java
New file
0,0 → 1,92
package pt.estgp.estgweb.services.common.impl;
 
import pt.estgp.estgweb.services.common.IResult;
 
/**
* @author Jorge Machado
* @date 24/Abr/2008
* @time 16:13:08
* @see pt.estgp.estgweb.services.common.impl
*/
public class DefaultResult implements IResult
{
 
private String title;
private String subTitle;
private String bestFragments;
private String text;
private String url;
private boolean titleKey = false;
private boolean subTitleKey = false;
private boolean textKey = false;
 
 
 
public DefaultResult() {
}
 
public void setTitle(String title) {
this.title = title;
}
 
public void setUrl(String url) {
this.url = url;
}
 
public void setText(String text) {
this.text = text;
}
 
public void setBestFragments(String bestFragments) {
this.bestFragments = bestFragments;
}
 
public String getTitle() {
return title;
}
 
public void setSubTitle(String subTitle) {
this.subTitle = subTitle;
}
 
public String getSubTitle() {
return subTitle;
}
 
public String getBestFragments() {
return bestFragments;
}
 
public String getText() {
return text;
}
 
public String getUrl() {
return url;
}
 
 
public boolean isTitleKey() {
return titleKey;
}
 
public void setTitleKey(boolean titleKey) {
this.titleKey = titleKey;
}
 
public boolean isTextKey() {
return textKey;
}
 
public void setTextKey(boolean textKey) {
this.textKey = textKey;
}
 
public boolean isSubTitleKey() {
return subTitleKey;
}
 
public void setSubTitleKey(boolean subTitleKey) {
this.subTitleKey = subTitleKey;
}
}
/impl/src/java/pt/estgp/estgweb/services/common/impl/DefaultSearchResults.java
New file
0,0 → 1,116
package pt.estgp.estgweb.services.common.impl;
 
import pt.estgp.estgweb.services.common.ISearchResults;
import pt.estgp.estgweb.services.common.ModuleEnum;
import pt.estgp.estgweb.services.common.IResult;
 
import java.util.List;
import java.util.ArrayList;
 
/**
* @author Jorge Machado
* @date 24/Abr/2008
* @time 16:15:32
* @see pt.estgp.estgweb.services.common.impl
*/
public class DefaultSearchResults implements ISearchResults
{
 
private ModuleEnum module;
private List<IResult> results;
private int totalResults;
private int page;
private int maxResultsPage;
private String query;
private String searchType;
 
 
public ModuleEnum getModule() {
return module;
}
 
public void setModule(ModuleEnum module) {
this.module = module;
}
 
public List<IResult> getResults() {
return results;
}
 
public void setResults(List<IResult> results) {
this.results = results;
}
 
public int getTotalResults() {
return totalResults;
}
public void setTotalResults(int totalResults) {
this.totalResults = totalResults;
}
 
 
public int getMaxResultsPage() {
return maxResultsPage;
}
 
public void setMaxResultsPage(int maxResultsPage) {
this.maxResultsPage = maxResultsPage;
}
 
public void addResult(IResult result)
{
if(results == null)
results = new ArrayList<IResult>();
results.add(result);
}
 
 
public int getPage() {
return page;
}
 
public boolean hasNextPage()
{
int size = 0;
if(results != null)
size = results.size();
return page*maxResultsPage + size < totalResults;
}
 
public boolean hasPreviousPage()
{
return page > 0;
}
 
public int getNextPage()
{
return page + 1;
}
 
public int getPreviousPage()
{
return page - 1;
}
 
public void setPage(int page) {
this.page = page;
}
 
 
public String getQuery() {
return query;
}
 
public void setQuery(String query) {
this.query = query;
}
 
public String getSearchType() {
return searchType;
}
 
public void setSearchType(String searchType) {
this.searchType = searchType;
}
}
/impl/src/java/pt/estgp/estgweb/services/common/IToDoCat.java
New file
0,0 → 1,13
package pt.estgp.estgweb.services.common;
 
/**
* @author Jorge Machado
* @date 24/Abr/2008
* @time 15:00:05
* @see pt.estgp.estgweb.services.common
*/
public interface IToDoCat
{
public String getUrl();
public int getTotalToDo();
}
/impl/src/java/pt/estgp/estgweb/services/common/CommonServicesManager.java
New file
0,0 → 1,263
package pt.estgp.estgweb.services.common;
 
import pt.estgp.estgweb.web.utils.RequestUtils;
import pt.estgp.estgweb.web.exceptions.NotAuthorizedException;
import pt.estgp.estgweb.Globals;
import pt.estgp.estgweb.services.common.impl.CommonSearchResults;
import pt.estgp.estgweb.services.common.impl.DefaultSearchResults;
import pt.estgp.estgweb.services.common.impl.DefaultResult;
import pt.utl.ist.berserk.logic.serviceManager.IServiceManager;
import pt.utl.ist.berserk.logic.serviceManager.ServiceManager;
import pt.utl.ist.berserk.logic.filterManager.exceptions.*;
 
import java.util.List;
import java.util.ArrayList;
 
import org.apache.log4j.Logger;
 
import javax.servlet.http.HttpServletRequest;
 
import jomm.ir.lucene.LuceneUtils;
 
/**
* @author Jorge Machado
* @date 24/Abr/2008
* @time 14:55:22
* @see pt.estgp.estgweb.services.common
*/
public class CommonServicesManager {
 
private static final int SEARCH_FRAGMENT_SIZE = Globals.SEARCH_BEST_FRAGMENTS_MAX_FRAGMENT_SIZE;
private static final int SEARCH_MAX_FRAGMENTS = Globals.SEARCH_BEST_FRAGMENTS_MAX_FRAGMENTS;
private static final int SEARCH_MAX_RESULTS = Globals.SEARCH_MAX_RESULTS;
 
private static final Logger logger = Logger.getLogger(CommonServicesManager.class);
 
private static CommonServicesManager ourInstance = new CommonServicesManager();
 
public static CommonServicesManager getInstance() {
return ourInstance;
}
 
private CommonServicesManager() {
}
 
/**
* @param request asking
* @param query to execute
* @param searchType see SearchTypeEnum
* @return Cluster of Results for each Module with total module results, only return modules with results
* @throws Throwable on notAuthorized or internal error
*/
public ICommonSearchResults search(HttpServletRequest request, String query, SearchTypeEnum searchType) throws Throwable {
return search(RequestUtils.getRequester(request), query, searchType);
}
 
/**
* @param requester asking
* @param query to execute
* @param searchType see SearchTypeEnum
* @return Cluster of Results for each Module with total module results, only return modules with results
* @throws Throwable on notAuthorized or internal error
*/
public ICommonSearchResults search(String requester, String query, SearchTypeEnum searchType) throws Throwable {
 
if(searchType == null)
searchType = SearchTypeEnum.AllWords;
CommonSearchResults commonSearchResults = new CommonSearchResults();
List<ISearchResults> results = new ArrayList<ISearchResults>();
 
for (ModuleEnum module : ModuleEnum.values()) {
if (module.getServiceName() != null) {
ISearchResults iSearchResults = search(requester, query, searchType, module, 0);
if (iSearchResults.getTotalResults() > 0) {
results.add(iSearchResults);
commonSearchResults.addMoreResults(iSearchResults.getTotalResults());
}
}
}
commonSearchResults.setResults(results);
return commonSearchResults;
}
 
/**
* The service called inside implements method
* <p/>
* public ISearchResults search(String search, SearchTypeEnum searchType, int page, int maxResults, UserSession userSession);
*
* @param request asking
* @param query to execute
* @param searchType see SearchTypeEnum
* @param moduleKey to search in
* @param page of start result
* @return searchResults
* @throws Throwable on not authorized and internal error
*/
 
public ISearchResults search(HttpServletRequest request, String query, SearchTypeEnum searchType, String moduleKey, int page) throws Throwable {
return search(RequestUtils.getRequester(request), query, searchType, ModuleEnum.parse(moduleKey), page);
}
 
/**
* The service called inside implements method
* <p/>
* public ISearchResults search(String search, SearchTypeEnum searchType, int page, int maxResults, UserSession userSession);
*
* @param requester asking
* @param query to execute
* @param searchType see SearchTypeEnum
* @param moduleKey to search in
* @param page of start result
* @return searchResults
* @throws Throwable on not authorized and internal error
*/
 
public ISearchResults search(String requester, String query, SearchTypeEnum searchType, String moduleKey, int page) throws Throwable {
return search(requester, query, searchType, ModuleEnum.parse(moduleKey), page);
}
 
/**
* The service called inside implements method
* <p/>
* public ISearchResults search(String search, SearchTypeEnum searchType, int page, int maxResults, UserSession userSession);
*
* @param requester asking
* @param query to execute
* @param searchType see SearchTypeEnum
* @param moduleKey to search in
* @param page of start result
* @return searchResults
* @throws Throwable on not authorized and internal error
*/
public ISearchResults search(String requester, String query, SearchTypeEnum searchType, ModuleEnum moduleKey, int page) throws Throwable {
IServiceManager sm;
try {
sm = ServiceManager.getInstance();
String[] names = new String[]{};
Object[] args = new Object[]{query, searchType, page, SEARCH_MAX_RESULTS};
 
DefaultSearchResults searchResults = (DefaultSearchResults) sm.execute(requester, moduleKey.getServiceName(), "search", args, names);
searchResults.setPage(page);
searchResults.setMaxResultsPage(SEARCH_MAX_RESULTS);
searchResults.setQuery(query.replace("'"," "));
searchResults.setSearchType(searchType.getMessageKey());
if(searchResults.getTotalResults() > 0)
{
for(IResult result: searchResults.getResults())
{
DefaultResult defaultResult = (DefaultResult) result;
defaultResult.setBestFragments(LuceneUtils.doStandardHighlights(defaultResult.getText(),query,SEARCH_FRAGMENT_SIZE,SEARCH_MAX_FRAGMENTS));
if(!defaultResult.isTitleKey())
{
String title = defaultResult.getTitle();
defaultResult.setTitle(LuceneUtils.highlight(defaultResult.getTitle(),query));
if(defaultResult.getTitle() == null || defaultResult.getTitle().length() == 0)
defaultResult.setTitle(title);
}
if(!defaultResult.isSubTitleKey())
{
String subTitle = defaultResult.getSubTitle();
defaultResult.setSubTitle(LuceneUtils.highlight(defaultResult.getSubTitle(),query));
if(defaultResult.getSubTitle() == null || defaultResult.getSubTitle().length() == 0)
defaultResult.setSubTitle(subTitle);
}
String text = defaultResult.getText();
defaultResult.setText(LuceneUtils.highlight(defaultResult.getText(),query));
if(defaultResult.getText() == null || defaultResult.getText().length() == 0)
defaultResult.setText(text);
}
}
return searchResults;
}
catch (FilterRetrieveException e) {
logger.error(e, e);
throw new NotAuthorizedException(e.toString());
}
catch (Throwable e) {
logger.error(e, e);
throw e;
}
}
 
public List<IToDoCat> getToDoCats(String requester) throws Throwable {
List<IToDoCat> toDoCats = new ArrayList<IToDoCat>();
 
for (ModuleEnum module : ModuleEnum.values()) {
if (module.getServiceName() != null) {
IToDoCat toDoCat = getToDoCats(requester, module);
if (toDoCat != null) {
toDoCats.add(toDoCat);
 
}
}
}
return toDoCats;
}
 
public IToDoCat getToDoCats(HttpServletRequest request, String moduleKey) throws Throwable {
return getToDoCats(RequestUtils.getRequester(request), ModuleEnum.parse(moduleKey));
}
 
public IToDoCat getToDoCats(HttpServletRequest request, ModuleEnum module) throws Throwable {
return getToDoCats(RequestUtils.getRequester(request), module);
}
 
/**
*
* @param requester asking
* @param module to search
* @return Number of ToDos in given module
* @throws Throwable on Error or NotAuthorized Exception
*/
public IToDoCat getToDoCats(String requester, ModuleEnum module) throws Throwable {
IServiceManager sm;
try {
sm = ServiceManager.getInstance();
String[] names = new String[]{};
Object[] args = new Object[]{};
return (IToDoCat) sm.execute(requester, module.getServiceName(), "getToDo", args, names);
}
catch (FilterRetrieveException e) {
logger.error(e, e);
throw new NotAuthorizedException(e.toString());
}
catch (Throwable e) {
logger.error(e, e);
throw e;
}
}
 
 
public static void main(String[] args) throws Throwable
{
ICommonSearchResults commonSearchResults = new CommonServicesManager().search("18D0D23A7C07FF478CE8DAFEBA58D37A","teste",SearchTypeEnum.AllWords);
for(ISearchResults searchResults: commonSearchResults.getSearchResults())
{
System.out.println("-----------------------------------------------------");
System.out.println("Module" + searchResults.getModule().getMessageKey());
for(IResult result: searchResults.getResults())
{
System.out.println("");
System.out.println("\ttitle:" +result.getTitle());
System.out.println("\tsubTitle:" +result.getSubTitle());
System.out.println("\ttext:" +result.getText());
System.out.println("\turl:" + result.getUrl());
System.out.println("\tbestFragments:" + result.getBestFragments());
 
}
System.out.println("NEXT PAGE TEST>>>>>>>>>>>>>>>>>>>");
ISearchResults searchResults2 = new CommonServicesManager().search("18D0D23A7C07FF478CE8DAFEBA58D37A","teste",SearchTypeEnum.AllWords,searchResults.getModule(),1);
for(IResult result2: searchResults2.getResults())
{
System.out.println("");
System.out.println("\ttitle:" +result2.getTitle());
System.out.println("\tsubTitle:" +result2.getSubTitle());
System.out.println("\ttext:" +result2.getText());
System.out.println("\turl:" + result2.getUrl());
System.out.println("\tbestFragments:" + result2.getBestFragments());
}
 
}
}
 
}
/impl/src/java/pt/estgp/estgweb/services/common/IResult.java
New file
0,0 → 1,19
package pt.estgp.estgweb.services.common;
 
/**
* @author Jorge Machado
* @date 24/Abr/2008
* @time 14:58:03
* @see pt.estgp.estgweb.services.common
*/
public interface IResult
{
public String getTitle();
public boolean isTitleKey();
public String getSubTitle();
public boolean isSubTitleKey();
public String getBestFragments();
public String getText();
public boolean isTextKey();
public String getUrl();
}
/impl/src/java/pt/estgp/estgweb/services/common/ICommonSearchResults.java
New file
0,0 → 1,15
package pt.estgp.estgweb.services.common;
 
import java.util.List;
 
/**
* @author Jorge Machado
* @date 24/Abr/2008
* @time 14:56:54
* @see pt.estgp.estgweb.services.common
*/
public interface ICommonSearchResults
{
public List<ISearchResults> getSearchResults();
public int getTotalResults();
}
/impl/src/java/pt/estgp/estgweb/services/common/ModuleEnum.java
New file
0,0 → 1,46
package pt.estgp.estgweb.services.common;
 
/**
* @author Jorge Machado
* @date 24/Abr/2008
* @time 15:00:27
* @see pt.estgp.estgweb.services.common
*/
public enum ModuleEnum
{
 
Announcements("module.Announcements","AnnouncementsCommonServices"),
Events("module.Events",null),
Blogs("module.Blogs",null),
Proxy("module.Proxy",null);
 
String messageKey;
String serviceName;
 
 
private ModuleEnum(String messageKey, String serviceName)
{
this.messageKey = messageKey;
this.serviceName = serviceName;
}
 
public static ModuleEnum parse(String messageKey)
{
for(ModuleEnum module: values())
{
if(messageKey.equals(module.getMessageKey()))
return module;
}
return null;
}
 
public String getMessageKey()
{
return messageKey;
}
 
public String getServiceName()
{
return serviceName;
}
}
/impl/src/java/pt/estgp/estgweb/services/common/IModuleCommonServices.java
New file
0,0 → 1,20
package pt.estgp.estgweb.services.common;
 
import pt.estgp.estgweb.domain.UserSession;
 
/**
* @author Jorge Machado
* @date 24/Abr/2008
* @time 14:59:16
* @see pt.estgp.estgweb.services.common
*/
public interface IModuleCommonServices
{
public int countSearch(String search, SearchTypeEnum searchType, UserSession userSession);
public ISearchResults search(String search, SearchTypeEnum searchType, int page, int maxResults, UserSession userSession);
 
public int countToDo(UserSession userSession);
public IToDoCat getToDo(UserSession userSession);
 
}
/impl/src/java/pt/estgp/estgweb/services/common/SearchTypeEnum.java
New file
0,0 → 1,37
package pt.estgp.estgweb.services.common;
 
/**
* @author Jorge Machado
* @date 24/Abr/2008
* @time 15:00:50
* @see pt.estgp.estgweb.services.common
*/
public enum SearchTypeEnum
{
ExactPhrase("search.type.phrase"),
AnyWord("search.type.any"),
AllWords("search.type.all");
 
String messageKey;
 
 
private SearchTypeEnum(String messageKey)
{
this.messageKey = messageKey;
}
 
public static SearchTypeEnum parse(String messageKey)
{
for(SearchTypeEnum searchTypeEnum: values())
{
if(messageKey.equals(searchTypeEnum.getMessageKey()))
return searchTypeEnum;
}
return null;
}
 
public String getMessageKey()
{
return messageKey;
}
}
/impl/src/java/pt/estgp/estgweb/services/announcements/CreateAnnouncementService.java
3,16 → 3,25
import pt.utl.ist.berserk.logic.serviceManager.IService;
import pt.estgp.estgweb.domain.Announcement;
import pt.estgp.estgweb.domain.UserSession;
import pt.estgp.estgweb.domain.DomainObjectFactory;
import pt.estgp.estgweb.domain.Image;
import pt.estgp.estgweb.domain.views.AnnouncementView;
import pt.estgp.estgweb.domain.dao.DaoFactory;
import pt.estgp.estgweb.domain.dao.impl.ImageDaoImpl;
import pt.estgp.estgweb.utils.ConfigProperties;
import pt.estgp.estgweb.utils.RoleManager;
import pt.estgp.estgweb.Globals;
import pt.estgp.estgweb.web.form.announcements.AnnouncementsForm;
 
import java.util.Date;
import java.util.List;
import java.io.InputStream;
import java.io.ByteArrayOutputStream;
import java.io.Serializable;
 
import org.apache.log4j.Logger;
import org.apache.struts.upload.FormFile;
import jomm.dao.impl.AbstractDao;
 
/*
* @author Goncalo Luiz gedl [AT] rnl [DOT] ist [DOT] utl [DOT] pt
33,22 → 42,172
 
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)
public AnnouncementView run(AnnouncementView announcementView, Image imageBig, Image imageSmall, UserSession userSession)
{
if(announcement.getTargetRoles() == null || announcement.getTargetRoles().length() == 0)
announcement.setTargetRoles(ALL_ROLE);
announcement.setOwner(userSession.getUser());
announcement.setSaveDate(new Date());
Announcement a = null;
 
//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(false);
if(announcementView.getId() <= 0)
{
a = DomainObjectFactory.createAnnouncementImpl();
announcementView.persistViewInObject(a);
a.setOwner(userSession.getUser());
a.setSaveDate(new Date());
a.setBigImage(imageBig);
a.setSmallImage(imageSmall);
if(a.getTargetRoles() == null || a.getTargetRoles().length() == 0)
a.setTargetRoles(ALL_ROLE);
}
else
{
a= DaoFactory.getAnnouncementDaoImpl().get(announcementView.getSerializable());
 
DaoFactory.getAnnouncementDaoImpl().save(announcement);
logger.info("Creating announcement:" + announcement.getId());
return new AnnouncementView(announcement);
if(imageBig!=null)
{
try
{
DaoFactory.getImageDaoImpl().delete(a.getBigImage().getId());
}
catch(Exception e)
{
logger.info("Announcement:" + announcementView.getId() + "do not have imageBig!");
}
announcementView.setBigImage(imageBig);
}
else
{
try
{
imageBig= new ImageDaoImpl().get(a.getBigImage().getId());
announcementView.setBigImage(imageBig);
}
catch(Exception e)
{
logger.info("ImageBig form announcement:" + announcementView.getId() + "do not exist!");
}
}
 
if(imageSmall!=null)
{
try
{
DaoFactory.getImageDaoImpl().delete(a.getSmallImage().getId());
}
catch(Exception e)
{
logger.info("Announcement:" + announcementView.getId() + "do not have smallBig!");
}
announcementView.setSmallImage(imageSmall);
}
else
{
try
{
imageSmall= new ImageDaoImpl().get(a.getSmallImage().getId());
announcementView.setSmallImage(imageSmall);
}
catch(Exception e)
{
logger.info("ImageSmall form announcement:" + announcementView.getId() + "do not exist!");
}
}
announcementView.persistViewInObject(a);
if(announcementView.getTargetRoles() == null || announcementView.getTargetRoles().size() == 0)
a.setTargetRoles(ALL_ROLE);
}
 
 
 
if(RoleManager.hasRole(userSession.getUser(),Globals.AUTOMATIC_VALIDATION_ROLES))
a.setStatus(true);
else
{
String[] userRoles=a.getChoosedOwnerRole().split(",");
Boolean validation=false;
 
for(String role: userRoles)
{
if(!role.equals("all")&&validation==false)
{
try
{
String validationTargets=role+".auto.validation.targets";
String userAutoValitation=ConfigProperties.getProperty(validationTargets);
String[] userAutoValitationRoles=userAutoValitation.split(",");
int validTargetRoles=0;
if(a.getTargetRoles().contains(","))
{
String[] targetRolesAnnouncementSplited=a.getTargetRoles().split(",");
 
//Percorre os targets todos a quem se destina
for(String target: targetRolesAnnouncementSplited)
{
//Percorre todos os validation targets
for(String userTargetRoles: userAutoValitationRoles)
{
//Se o target a quem se destina constar na lista dos validation targets então incrementa
//o validTargetRoles
if(target.equals(userTargetRoles))
{
validTargetRoles++;
}
}
}
//Se o numero de roles validados for igual ao numero de targets a quem se destina
//Vai verificar se possui validationType para o type announcement
if(validTargetRoles==targetRolesAnnouncementSplited.length)
{
String validationTypes=role +".auto.validation.types";
String userAutoTypes=ConfigProperties.getProperty(validationTypes);
String[] userAutoValitationTypes=userAutoTypes.split(",");
for(String types: userAutoValitationTypes)
{
if(types.equals(a.getType()))
validation=true;
}
}
}
else
{
String targetRolesAnnouncement=a.getTargetRoles();
//Percorre todos os validation targets
for(String userTargetRoles: userAutoValitationRoles)
{
if(targetRolesAnnouncement.equals(userTargetRoles))
{
validTargetRoles++;
}
}
if(validTargetRoles==1)
{
String validationTypes=role +".auto.validation.types";
String userAutoTypes=ConfigProperties.getProperty(validationTypes);
String[] userAutoValitationTypes=userAutoTypes.split(",");
for(String types: userAutoValitationTypes)
{
if(types.equals(a.getType()))
validation=true;
}
}
}
}
catch(Exception e){}
}
}
a.setStatus(validation);
}
 
if(announcementView.getId() <= 0)
{
DaoFactory.getAnnouncementDaoImpl().save(a);
logger.info("Creating announcement:" + a.getId());
return new AnnouncementView(a);
}
else
{
logger.info("Updating announcement:" + a.getId());
return new AnnouncementView(a);
}
}
}
/impl/src/java/pt/estgp/estgweb/services/announcements/LoadRoleTypeMaxAnnouncementsService.java
New file
0,0 → 1,75
package pt.estgp.estgweb.services.announcements;
 
import pt.utl.ist.berserk.logic.serviceManager.IService;
import pt.utl.ist.berserk.logic.serviceManager.IServiceManager;
import pt.utl.ist.berserk.logic.serviceManager.ServiceManager;
import pt.utl.ist.berserk.logic.serviceManager.exceptions.ServiceManagerException;
import org.apache.log4j.Logger;
import pt.estgp.estgweb.domain.Announcement;
import pt.estgp.estgweb.domain.UserSession;
import pt.estgp.estgweb.domain.dao.DaoFactory;
import pt.estgp.estgweb.domain.views.AnnouncementView;
import pt.estgp.estgweb.utils.ConfigProperties;
import pt.estgp.estgweb.Globals;
import pt.estgp.estgweb.web.utils.RequestUtils;
 
import java.util.ArrayList;
import java.util.List;
 
import jomm.dao.impl.AbstractDao;
 
/**
* Created by IntelliJ IDEA.
* User: Fabio
* Date: 28/Mar/2008
* Time: 11:42:28
* To change this template use File | Settings | File Templates.
*/
public class LoadRoleTypeMaxAnnouncementsService implements IService
{
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,String subTarget)
{
List<String> targetRoles = new ArrayList<String>();
if (roles.contains(","))
{
String[] rolesRequestSplited = roles.split(",");
for (String role : rolesRequestSplited)
{
targetRoles.add(role);
}
}
else
{
targetRoles.add(roles);
}
List<Announcement> announcements = DaoFactory.getAnnouncementDaoImpl().findAnnouncements(MAX_ANNOUNCEMENTS,targetRoles,typeNews,subTarget);
if(announcements == null)
return null;
List<AnnouncementView> announcementViews = new ArrayList<AnnouncementView>();
for(Announcement announcement: announcements)
{
AnnouncementView announcementView = new AnnouncementView(announcement);
announcementViews.add(announcementView);
}
logger.info("Loading announcement views");
return announcementViews;
}
 
//tens de ter cuidado com o nome que metes no servico, tavas a meter LoadRoleTypeMaxAnnouncements e no XML estava LoadRoleTypeMaxAnnouncementsService, o nome nao tem de ser igual a classe mas convem, por norma eu tenho tirado a palavra service do nome do servico
//ou seja esta LoadRoleTypeMaxAnnouncements para a classe LoadRoleTypeMaxAnnouncementsService logo no sm.execute tem de estar LoadRoleTypeMaxAnnouncements
//mudei a propriedade log.file build.properties para log.file=${data.dir}/estgweb.log assim ja nao da o erro do log
//adicionei as libs jsp-api.jar da pasta tomcat/common/lib para nao te falhar os imports nas TAGS aqui no Intellij
//adiciona sempre todos os jars da common aqui no Intellij faltava-te o activation.jar do jaxb e era preciso para o MimeTypeGuesser
public static void main(String[] args) throws Throwable {
IServiceManager sm = ServiceManager.getInstance();
String[] names = new String[]{};
Object[] arguments = new Object[]{"student", Globals.ANNOUNCEMENT_TYPE_BOTTOM_FLASH_NEWS};
List<AnnouncementView> announcementViews = (List<AnnouncementView>) sm.execute("testecookie", "LoadRoleTypeMaxAnnouncements",arguments,names);
System.out.println("-->"+announcementViews.size());
 
 
}
}
/impl/src/java/pt/estgp/estgweb/services/announcements/AnnouncementsCommonServices.java
New file
0,0 → 1,94
package pt.estgp.estgweb.services.announcements;
 
import pt.utl.ist.berserk.logic.serviceManager.IService;
import pt.estgp.estgweb.domain.views.AnnouncementView;
import pt.estgp.estgweb.domain.UserSession;
import pt.estgp.estgweb.domain.Announcement;
import pt.estgp.estgweb.domain.UserImpl;
import pt.estgp.estgweb.domain.UserSessionImpl;
import pt.estgp.estgweb.domain.dao.DaoFactory;
import pt.estgp.estgweb.services.common.*;
import pt.estgp.estgweb.services.common.impl.DefaultSearchResults;
import pt.estgp.estgweb.services.common.impl.DefaultResult;
import pt.estgp.estgweb.Globals;
import org.apache.log4j.Logger;
 
import java.io.Serializable;
import java.util.List;
import java.util.ArrayList;
 
import jomm.dao.impl.AbstractDao;
 
/*
* @author Goncalo Luiz gedl [AT] rnl [DOT] ist [DOT] utl [DOT] pt
*
*
* Created at 17/Out/2003 , 23:45:24
*
*/
/**
* @author Jorge Machado
* <p/>
* <p/>
* Created at 17/Out/2003 , 23:45:24
*/
public class AnnouncementsCommonServices implements IService, IModuleCommonServices {
private static final Logger logger = Logger.getLogger(AnnouncementsCommonServices.class);
 
public int countSearch(String search, SearchTypeEnum searchType, UserSession userSession) {
return 0; //To change body of implemented methods use File | Settings | File Templates.
}
 
public ISearchResults search(String search, SearchTypeEnum searchType, int page, int maxResults, UserSession userSession) {
DefaultSearchResults searchResults = new DefaultSearchResults();
searchResults.setModule(ModuleEnum.Announcements);
List<String> roles;
if (userSession == null || userSession.getUser() == null || ((UserImpl) userSession.getUser()).getRolesList() == null || ((UserImpl) userSession.getUser()).getRolesList().size() == 0) {
roles = new ArrayList<String>();
roles.add(Globals.ALL_ROLE);
}
else
roles = ((UserImpl) userSession.getUser()).getRolesList();
 
searchResults.setTotalResults(DaoFactory.getAnnouncementDaoImpl().countAnnouncements(search, searchType, roles, null));
if (searchResults.getTotalResults() > 0) {
List<Announcement> announcements = DaoFactory.getAnnouncementDaoImpl().searchAnnouncements(search, searchType, maxResults, page, roles, null);
if (announcements == null)
return searchResults;
for (Announcement a : announcements) {
DefaultResult defaultResult = new DefaultResult();
defaultResult.setTitle(a.getTitle());
defaultResult.setSubTitle("announcements.type." + a.getType());
defaultResult.setSubTitleKey(true);
defaultResult.setText(a.getText());
defaultResult.setUrl("/loadAnnouncement.do?id=" + a.getId() + "&dispatch=load");
searchResults.addResult(defaultResult);
}
}
return searchResults;
}
 
public int countToDo(UserSession userSession) {
return 0; //To change body of implemented methods use File | Settings | File Templates.
}
 
public IToDoCat getToDo(UserSession userSession) {
return null; //To change body of implemented methods use File | Settings | File Templates.
}
 
public static void main(String[] args) {
AbstractDao.getCurrentSession().beginTransaction();
UserSession sess = new UserSessionImpl();
sess.setUser(new UserImpl());
sess.getUser().setRoles("all");
ISearchResults searchResults = new AnnouncementsCommonServices().search("teste", SearchTypeEnum.AllWords, 0, 10, sess);
for (IResult result : searchResults.getResults()) {
System.out.println("title:" + result.getTitle());
System.out.println("subTitle:" + result.getSubTitle());
System.out.println("text:" + result.getText());
System.out.println("url" + result.getUrl());
System.out.println("bestFragments" + result.getBestFragments());
}
AbstractDao.commit();
}
}
/impl/src/java/pt/estgp/estgweb/services/announcements/LoadTargetMaxAnnouncementsService.java
19,15 → 19,15
*/
public class LoadTargetMaxAnnouncementsService implements IService
{
private static final Logger logger = Logger.getLogger(LoadTargetMaxAnnouncementsService.class);
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
New file
0,0 → 1,70
package pt.estgp.estgweb.services.announcements;
 
import pt.utl.ist.berserk.logic.serviceManager.IService;
import pt.utl.ist.berserk.logic.serviceManager.IServiceManager;
import pt.utl.ist.berserk.logic.serviceManager.ServiceManager;
import pt.estgp.estgweb.utils.ConfigProperties;
import pt.estgp.estgweb.domain.views.AnnouncementView;
import pt.estgp.estgweb.domain.Announcement;
import pt.estgp.estgweb.domain.UserSession;
import pt.estgp.estgweb.domain.UserSessionImpl;
import pt.estgp.estgweb.domain.dao.DaoFactory;
import pt.estgp.estgweb.Globals;
import org.apache.log4j.Logger;
 
import java.util.List;
import java.util.ArrayList;
 
/**
* Created by IntelliJ IDEA.
* User: Fabio
* Date: 28/Mar/2008
* Time: 11:42:28
* To change this template use File | Settings | File Templates.
*/
public class LoadTopFlashNewsIterateService implements IService
{
 
private static final String flashNewsIterator = "flashNewsIterator";
 
private static final Logger logger = Logger.getLogger(LoadTopFlashNewsIterateService.class);
 
 
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,null);
iterator = iterator % size;
List<Announcement> announcements = DaoFactory.getAnnouncementDaoImpl().findAnnouncements(iterator, 1,null,Globals.ANNOUNCEMENT_TYPE_TOP_FLASH_NEWS,subTarget);
iterator++;
((UserSessionImpl)sess).put(flashNewsIterator,iterator);
 
if(announcements == null)
return null;
logger.info("Loading announcement top flash iterator");
if(announcements.size() > 0)
{
AnnouncementView announcementView = new AnnouncementView(announcements.get(0));
return announcementView;
}
return null;
}
 
//tens de ter cuidado com o nome que metes no servico, tavas a meter LoadRoleTypeMaxAnnouncements e no XML estava LoadRoleTypeMaxAnnouncementsService, o nome nao tem de ser igual a classe mas convem, por norma eu tenho tirado a palavra service do nome do servico
//ou seja esta LoadRoleTypeMaxAnnouncements para a classe LoadRoleTypeMaxAnnouncementsService logo no sm.execute tem de estar LoadRoleTypeMaxAnnouncements
//mudei a propriedade log.file build.properties para log.file=${data.dir}/estgweb.log assim ja nao da o erro do log
//adicionei as libs jsp-api.jar da pasta tomcat/common/lib para nao te falhar os imports nas TAGS aqui no Intellij
//adiciona sempre todos os jars da common aqui no Intellij faltava-te o activation.jar do jaxb e era preciso para o MimeTypeGuesser
public static void main(String[] args) throws Throwable {
IServiceManager sm = ServiceManager.getInstance();
String[] names = new String[]{};
Object[] arguments = new Object[]{};
AnnouncementView announcementView = (AnnouncementView) sm.execute("testecookie", "LoadTopFlashNewsIterate",arguments,names);
System.out.println("-->"+announcementView.getTitle());
 
 
}
}
/impl/src/java/pt/estgp/estgweb/services/authenticate/AuthenticateService.java
13,6 → 13,9
import openldap.LdapManagerFactory;
 
import java.util.HashMap;
import java.util.Set;
import java.util.Iterator;
import java.util.Map;
 
 
/*
37,7 → 40,7
 
ILdapManager ldapManager = LdapManagerFactory.getLdapManager();
 
public User run(String username, String password, UserSession userSession) throws ServiceException
public UserSession run(String username, String password, UserSession userSession) throws ServiceException
{
if(userSession.getUser() != null)
throw new AuthenticateException(AuthenticateException.ALREADY_AUTHENTICATED);
73,21 → 76,66
userSession.setUsername(u.getUsername());
userSession.setUser(u);
DaoFactory.getUserSessionDaoImpl().reattach(userSession);
return u;
return userSession;
}
 
//todo completar isto
private User getUserInfo(String username)
{
HashMap map = ldapManager.getUserInfo(username);
UserImpl u = DomainObjectFactory.createUserImpl();
u.setUsername(username);
u.setEmail((String) map.get("email"));
u.setName((String) map.get("name")); //isto esta mal e so para exemplificar depois tem de se ver isto bem
u.setUsername(username);
u.setName(getName(map));
u.setRoles(getRoles(map));
u.setNewUser(true);
DaoFactory.getUserDaoImpl().save(u);
return u;
}
 
private String getName(HashMap text)
{
Set s = text.entrySet();
Iterator iter = s.iterator();
int iterCount=0;
String name=null;
 
while(iter.hasNext())
{
Map.Entry e = (Map.Entry) iter.next();
if(iterCount==3)
{
name=e.getValue().toString();
}
iterCount++;
}
return name;
}
 
public String getRoles(HashMap text)
{
Set s = text.entrySet();
Iterator iter = s.iterator();
int iterCount=0;
String roles=null;
 
while(iter.hasNext())
{
Map.Entry e = (Map.Entry) iter.next();
if(iterCount==0)
{
String[] splitText=e.getValue().toString().split(",");
if(splitText[1].contains("CN"))
{
roles="student";
}
else if(splitText[1].contains("OU"))
{
roles="teacher";
}
}
iterCount++;
}
return roles;
}
}
 
 
/impl/src/java/pt/estgp/estgweb/services/urlstat/UrlStatService.java
39,7 → 39,7
{
String relativePath = entry.getKey();
UrlStatFilter.IntegerContainer ic = entry.getValue();
 
UrlStatImpl urlStat = (UrlStatImpl) DaoFactory.getUrlStatDaoImpl().loadOrNullLockUpgrade(relativePath);
if(urlStat == null)
{
/impl/src/java/pt/estgp/estgweb/services/urlstat/ChartBuilderService.java
105,7 → 105,7
 
private String build(HttpServletRequest request, String messageTitle, List<String> relativePaths, Date startDate, Date endDate,ChartTypeEnum type)
{
String location = linkToFileName(relativePaths,startDate,endDate,type.getScale());
String location = linkToFileNameEncode(relativePaths,startDate,endDate,type.getScale(),true);
File img = new File(Globals.TMP_DIR + location);
if(img.exists() && ((System.currentTimeMillis() - img.lastModified()) < LINK_CHART_EXPIRE_INTERVAL))
{
195,7 → 195,7
String dates = sp.format(startDate) + "_UNTIL_" + sp.format(endDate) + "_" + seriesScaleEnum.getType();
String path;
if(encode)
path = URIUtil.encodeAll(relativePathName.replaceAll("/","_"),"ISO-8859-1");
path = URIUtil.encodePath(relativePathName.replaceAll("/","_"),"ISO-8859-1");
else
path = relativePathName.replaceAll("/","_");
return LINK_CHART_TMP_DIR + "/" + path + "_" + dates + ".png";
219,7 → 219,7
// UrlStatService.main(null);
AbstractDao.getCurrentSession().beginTransaction();
List<String> relativePaths = new ArrayList<String>();
relativePaths.add("/Welcome.do");
relativePaths.add("/public/announcements/getFlashNews.jsp?sid=0.9998549583612295");
// relativePaths.add("/teste2");
System.out.println(new ChartBuilderService().run(new TestHttpServletRequest(),relativePaths, ChartTypeEnum.weekDays));
System.out.println(new ChartBuilderService().run(new TestHttpServletRequest(),relativePaths, ChartTypeEnum.monthDays));
/impl/src/java/pt/estgp/estgweb/domain/UserImpl.java
14,7 → 14,6
*/
public class UserImpl extends User
{
 
private boolean newUser = false;
 
 
24,8 → 23,7
 
public void setNewUser(boolean newUser) {
this.newUser = newUser;
}
 
}
/**
* check if user is in some group
* @param g to check
61,17 → 59,14
*/
public List<String> getOwnerRoles()
{
if(getRoles() == null)
return null;
String[] roles = getRoles().split(",");
List<String> l = new ArrayList<String>();
for(String role: roles)
{
l.add(role);
}
return l;
return getRolesList();
}
 
public List<String> getRolesList()
{
return RoleManager.getRolesFromSerial(getRoles());
}
 
public Serializable getSerializable()
{
return getId();
/impl/src/java/pt/estgp/estgweb/domain/UserSessionImpl.java
11,6 → 11,7
import pt.utl.ist.berserk.logic.serviceManager.IServiceManager;
import pt.utl.ist.berserk.logic.serviceManager.ServiceManager;
import pt.estgp.estgweb.web.utils.RequestUtils;
import pt.estgp.estgweb.domain.dao.DaoFactory;
 
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
27,7 → 28,6
private Set<SessionObject> removeList;
 
/**
*
* @return
*/
public Serializable getSerializable()
41,27 → 41,28
* @param key
* @param obj
*/
public void put(String key,Serializable obj)
public void put(String key, Serializable obj)
{
if(getObjects() == null || getObjects().size() == 0)
if (getObjects() == null || getObjects().size() == 0)
{
setObjects(new HashSet<SessionObject>());
}
SessionObject sessionObject = getSessionObject(key);
if(sessionObject == null)
if (sessionObject == null)
{
sessionObject = DomainObjectFactory.createSessionObjectImpl();
SessionObjectId sessionObjectId = DomainObjectFactory.createSessionObjectIdImpl();
sessionObjectId.setKeyId(key);
sessionObject.setSaveDate(new Date());
sessionObjectId.setUserSession(this);
sessionObject.setId(sessionObjectId);
getObjects().add(sessionObject);
}
ByteArrayOutputStream os = new ByteArrayOutputStream();
XMLEncoder xenc = new XMLEncoder(os);
xenc.writeObject(obj);
xenc.close();
sessionObject.setXmlObject(os.toString());
getObjects().add(sessionObject);
}
 
/**
70,32 → 71,59
*
* @param key
*/
 
public void remove(String key)
{
if(getObjects() == null || getObjects().size() == 0)
if (getObjects() == null || getObjects().size() == 0)
{
setObjects(new HashSet<SessionObject>());
}
SessionObject sessionObject = getAndRemoveSessionObject(key);
if(sessionObject != null)
if (sessionObject != null)
{
if(removeList == null)
if (removeList == null)
removeList = new HashSet<SessionObject>();
removeList.add(sessionObject);
}
}
 
/**
* put an object in cache
* only will be persistent when serialize is called
*
* @param key
*/
 
public void removeWithOpenTransaction(String key)
{
if (getObjects() == null || getObjects().size() == 0)
{
setObjects(new HashSet<SessionObject>());
}
SessionObject sessionObject = getAndRemoveSessionObject(key);
DaoFactory.getSessionObjectDaoImpl().evictAndDelete(sessionObject);
}
 
 
public void clearObjects()
{
if(getObjects() == null || getObjects().size() == 0)
if (getObjects() == null || getObjects().size() == 0)
{
return;
}
removeList = getObjects();
if(removeList != null)
removeList.addAll(getObjects());
else
removeList = getObjects();
setObjects(null);
}
 
public void clearObjectsWithOpenTransaction()
{
clearObjects();
DaoFactory.getSessionObjectDaoImpl().evictAndDelete(removeList);
}
 
 
public void reset()
{
setUser(null);
104,33 → 132,45
clear();
}
 
public void resetWithOpenTransaction()
{
setUser(null);
setUsername(null);
setName(null);
clearWithOpenTransaction();
}
 
public void clear()
{
if(getObjects() == null || getObjects().size() == 0)
{
return;
}
removeList = getObjects();
setObjects(null);
clearObjects();
setUser(null);
setUsername(null);
setName(null);
}
 
public void clearWithOpenTransaction()
{
clearObjectsWithOpenTransaction();
setUser(null);
setUsername(null);
setName(null);
}
 
/**
* Return a seralized object for a given key
*
* @param key
* @return
*/
public Serializable get(String key)
{
if(getObjects() == null)
if (getObjects() == null)
{
return null;
}
for(SessionObject sessionObject: getObjects())
for (SessionObject sessionObject : getObjects())
{
if(sessionObject.getId().getKeyId().equals(key))
if (sessionObject.getId().getKeyId().equals(key))
{
XMLDecoder xmlDecoder = new XMLDecoder(new ByteArrayInputStream(sessionObject.getXmlObject().getBytes()));
return (Serializable) xmlDecoder.readObject();
140,20 → 180,20
}
 
/**
* Return an session object with a given key
*
* Return an session object with a given key
* @param key
* @return
*/
private SessionObject getSessionObject(String key)
{
if(getObjects() == null)
if (getObjects() == null)
{
return null;
}
for(SessionObject sessionObject: getObjects())
for (SessionObject sessionObject : getObjects())
{
if(sessionObject.getId().getKeyId().equals(key))
if (sessionObject.getId().getKeyId().equals(key))
{
return sessionObject;
}
161,22 → 201,23
return null;
}
 
/**
/**
* Return an session object with a given key removing it from list
*
* Return an session object with a given key removing it from list
* @param key
* @return
*/
private SessionObject getAndRemoveSessionObject(String key)
{
if(getObjects() == null)
if (getObjects() == null)
{
return null;
}
Iterator<SessionObject> iter = getObjects().iterator();
while (iter.hasNext()) {
while (iter.hasNext())
{
SessionObject sessionObject = iter.next();
if(sessionObject.getId().getKeyId().equals(key))
if (sessionObject.getId().getKeyId().equals(key))
{
iter.remove();
return sessionObject;
187,7 → 228,7
 
/**
* Serialize Session to Database
*
*
* @param request
* @throws Throwable
*/
206,13 → 247,17
{
try
{
 
IServiceManager sm = ServiceManager.getInstance();
Object[] args = new Object[]{this,removeList};
sm.execute(requester,"UpdateUserSession",args);
Object[] args = new Object[]{this, removeList};
sm.execute(requester, "UpdateUserSession", args);
if(removeList != null)
removeList.clear();
}
catch (Throwable e)
{
throw e;
}
}
 
}
/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/TesteImpl.java
New file
0,0 → 1,10
package pt.estgp.estgweb.domain;
 
/**
* @author Jorge Machado
* @date 9/Abr/2008
* @time 16:57:12
* @see pt.estgp.estgweb.domain
*/
public class TesteImpl extends Teste{
}
/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/AnnouncementView.java
4,6 → 4,7
import pt.estgp.estgweb.domain.Image;
import pt.estgp.estgweb.domain.AnnouncementImpl;
import pt.estgp.estgweb.utils.RoleManager;
import pt.estgp.estgweb.utils.ConfigProperties;
 
import java.util.List;
import java.util.Date;
17,9 → 18,13
*/
public class AnnouncementView extends DomainObjectView
{
public static final int TEXT_SUMMARY_SIZE = ConfigProperties.getIntProperty("announcements.text.summary.size");
public static final int TEXT_SUMMARY_SIZE_SMALL = ConfigProperties.getIntProperty("announcements.text.summary.size.small");
 
private long id;
private String title;
private String text;
private String choosedOwnerRole;
private List<String> targetRoles;
private Image bigImage;
private Image smallImage;
29,13 → 34,15
private Date expireDate;
private Integer counter;
private boolean status;
private long ownerID;
 
public AnnouncementView()
{}
 
public AnnouncementView(Announcement announcement)
{
 
super(announcement);
this.title = announcement.getTitle();
this.text = announcement.getText();
this.bigImage = announcement.getBigImage();
48,6 → 55,8
this.counter =announcement.getCounter();
this.startDate = announcement.getStartDate();
this.expireDate = announcement.getExpireDate();
this.choosedOwnerRole = announcement.getChoosedOwnerRole();
this.ownerID=announcement.getOwner().getId();
}
 
public void persistViewInObject(Announcement announcement)
63,9 → 72,18
announcement.setExpireDate(expireDate);
announcement.setStatus(status);
announcement.setCounter(counter);
announcement.setChoosedOwnerRole(choosedOwnerRole);
}
 
 
public String getChoosedOwnerRole() {
return choosedOwnerRole;
}
 
public void setChoosedOwnerRole(String choosedOwnerRole) {
this.choosedOwnerRole = choosedOwnerRole;
}
 
public Date getExpireDate() {
return expireDate;
}
172,6 → 190,10
}
 
 
public long getOwnerID() {
return ownerID;
}
 
public Integer getCounter() {
return counter;
}
179,4 → 201,30
public void setCounter(Integer counter) {
this.counter = counter;
}
 
public String getTextSummary()
{
if(getText().length() > TEXT_SUMMARY_SIZE)
return getText().substring(0,getText().substring(0,TEXT_SUMMARY_SIZE).lastIndexOf(' ')) + "...";
return getText();
}
 
public String getTextSummarySmall()
{
if(getText().length() > TEXT_SUMMARY_SIZE_SMALL)
return getText().substring(0,getText().substring(0,TEXT_SUMMARY_SIZE_SMALL).lastIndexOf(' ')) + "...";
return getText();
}
 
public Boolean getHaveAllText()
{
if(getType().equals("top.flash.news"))
{
return getText().length() > TEXT_SUMMARY_SIZE;
}
else
{
return getText().length() > TEXT_SUMMARY_SIZE_SMALL;
}
}
}
/impl/src/java/pt/estgp/estgweb/domain/views/DomainObjectView.java
3,6 → 3,9
import pt.estgp.estgweb.domain.DomainObject;
 
import java.io.Serializable;
import java.util.Date;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
 
/**
* @author Jorge Machado
14,4 → 17,29
{
public abstract Class getReferenceClass();
public abstract Serializable getSerializable();
 
private Date saveDate;
DateFormat df= new SimpleDateFormat("yyyy/MM/dd");
 
public String getFragment(int maxSize, String text)
{
if(text.length() > maxSize)
return text.substring(0,text.substring(0, maxSize).lastIndexOf(' ')) + "...";
return text;
}
 
public DomainObjectView()
{}
public DomainObjectView(DomainObject obj)
{
this.saveDate = obj.getSaveDate();
}
 
public String getFormatedSaveDate()
{
if(saveDate == null)
return null;
return df.format(saveDate);
}
}
/impl/src/java/pt/estgp/estgweb/domain/views/BlogView.java
New file
0,0 → 1,139
package pt.estgp.estgweb.domain.views;
 
import pt.estgp.estgweb.domain.Blog;
import pt.estgp.estgweb.domain.Image;
import pt.estgp.estgweb.domain.User;
import pt.estgp.estgweb.domain.GenericUser;
import pt.estgp.estgweb.utils.ConfigProperties;
import pt.estgp.estgweb.utils.RoleManager;
 
import java.io.Serializable;
import java.util.List;
import java.util.Date;
 
/**
* @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 description;
private List<String> targetRoles;
private Image image;
private GenericUser owner;
private boolean status;
 
public BlogView()
{}
 
public BlogView(Blog blog)
{
super(blog);
this.title = blog.getTitle();
this.description = blog.getDescription();
this.image = blog.getImage();
this.targetRoles = RoleManager.getRolesFromSerial(blog.getTargetRoles());
this.status=blog.isStatus();
this.id = blog.getId();
this.owner = blog.getOwner();
}
 
public void persistViewInObject(Blog blog)
{
blog.setTitle(title);
blog.setDescription(description);
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 GenericUser getOwner()
{
return owner;
}
 
public String getTitle() {
return title;
}
 
public void setTitle(String title) {
this.title = title;
}
 
public String getDescription() {
return description;
}
 
public void setDescription(String description) {
this.description = description;
}
 
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 boolean isStatus() {
return status;
}
 
public void setStatus(boolean status) {
this.status = status;
}
 
public String getDescSummary()
{
return getFragment(DESC_SIZE,getDescription());
}
 
public Boolean getHaveAllText()
{
return getDescription().length() > DESC_SIZE;
}
 
public Class getReferenceClass()
{
return Blog.class;
}
 
public Serializable getSerializable()
{
return id;
}
 
public String getOwnerEmail()
{
if(owner instanceof User)
return ((User)owner).getEmail();
else
return null;
}
}
/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
1,6 → 1,10
package pt.estgp.estgweb.domain.dao.impl;
 
import pt.estgp.estgweb.domain.Announcement;
import pt.estgp.estgweb.domain.User;
import pt.estgp.estgweb.domain.GenericUser;
import pt.estgp.estgweb.services.common.ISearchResults;
import pt.estgp.estgweb.services.common.SearchTypeEnum;
 
import java.util.List;
import java.util.ArrayList;
11,6 → 15,7
import org.hibernate.criterion.Order;
import org.hibernate.Criteria;
import jomm.dao.impl.AbstractDao;
import jomm.utils.MyCalendar;
 
 
/**
19,52 → 24,169
* @time 2:51:06
* @see pt.estgp.estgweb.domain.dao.impl
*/
public class AnnouncementDaoImpl extends AnnouncementDao
{
public static AnnouncementDaoImpl getInstance()
{
public class AnnouncementDaoImpl extends AnnouncementDao {
public static AnnouncementDaoImpl getInstance() {
if (myInstance == null)
myInstance = new AnnouncementDaoImpl();
return (AnnouncementDaoImpl) myInstance;
}
 
public List<Announcement> findAnnouncements(int maxAnnouncements,List<String> roles)
{
if(roles == null)
{
public List<Announcement> findAnnouncements(int maxAnnouncements, List<String> roles, String subTarget) {
if (roles == null) {
roles = new ArrayList<String>();
roles.add("all");
}
Criteria criteria = createCriteria();
Criterion co = null;
for(String role: roles)
{
Criterion cor = like("targetRoles","%" + role + "%");
if(co == null)
for (String role : roles) {
Criterion cor = like("targetRoles", "%" + role + "%");
if (co == null)
co = cor;
else
co = or(co,cor);
co = or(co, cor);
}
Date now = new Date();
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();
criteria.add(co)
.add(or(lt("startDate",now),isNull("startDate")))
.add(or(gt("expireDate",now),isNull("expireDate")))
.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 static void main(String[] args)
public List<Announcement> findAnnouncements(int maxAnnouncements, List<String> roles, String type, String subTarget) {
return findAnnouncements(0, maxAnnouncements, roles, type, subTarget);
}
 
public List<Announcement> findAnnouncements(int startPage, int maxAnnouncements, List<String> roles, String type, String subTarget) {
Criteria criteria = createMaxAnnouncementsRolesTypeCriteria(maxAnnouncements, roles, type, subTarget);
return criteria.setFirstResult(maxAnnouncements * startPage).list();
}
 
public int countAnnouncements(int maxAnnouncements, List<String> roles, String type, String subTarget) {
Criteria criteria = createMaxAnnouncementsRolesTypeCriteria(Integer.MAX_VALUE, roles, type, subTarget);
return criteria.list().size();
}
 
private Criteria createMaxAnnouncementsRolesTypeCriteria(int maxAnnouncements, List<String> roles, String type, String subTarget) {
return createMaxAnnouncementsPageRolesTypeCriteria(0, maxAnnouncements, roles, type, subTarget);
}
 
private Criteria createMaxAnnouncementsPageRolesTypeCriteria(int page, int maxAnnouncements, List<String> roles, String type, String subTarget) {
return createRolesTypeCriteria(roles, type, subTarget)
.setFirstResult(page * maxAnnouncements)
.setMaxResults(maxAnnouncements);
}
 
private Criteria createRolesTypeCriteria(List<String> roles, String type, String subTarget) {
if (roles == null) {
roles = new ArrayList<String>();
roles.add("all");
}
Criteria criteria = createCriteria();
Criterion coRole = null;
for (String role : roles) {
Criterion cor = like("targetRoles", "%" + role + "%");
if (coRole == null)
coRole = cor;
else
coRole = or(coRole, cor);
}
Criterion coSubTargets = null;
 
if (subTarget == null) {
coSubTargets = isNull("subTargets");
}
else {
coSubTargets = eq("subTargets", subTarget);
}
if (type != null)
criteria.add(eq("type", type));
MyCalendar cNow = new MyCalendar();
MyCalendar calendarWithOutTime = new MyCalendar(cNow.getYear(), cNow.getMonth(), cNow.getDay());
Date now = calendarWithOutTime.getTime();
criteria.add(coRole)
.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)
.addOrder(Order.desc("saveDate"));
return criteria;
}
 
/* public static void main(String[] args)
{
AbstractDao.getCurrentSession().beginTransaction();
List<String> roles = new ArrayList<String>();
roles.add("admin");
roles.add("all");
List<Announcement> as = new AnnouncementDaoImpl().findAnnouncements(5,roles);
roles.add("student");
roles.add("teacher");
String typeNews="news";
List<Announcement> as = new AnnouncementDaoImpl().findAnnouncements(5,roles,typeNews);
 
for(Announcement a : as)
{
GenericUser us = a.getOwner();
List<String> userRoles=us.getOwnerRoles();
for(String role:userRoles){
System.out.println("--->"+role);
}
System.out.println(a.getSaveDate() + ":" + a.getTitle() + " " + a.getOwner().getName() );
}
AbstractDao.getCurrentSession().beginTransaction().commit();
}*/
 
public List<Announcement> searchAnnouncements(String query, SearchTypeEnum searchTypeEnum, int maxAnnouncements, int page, List<String> roles, String subTarget) {
 
Criterion c = createSearchQuery(query, searchTypeEnum);
Criteria criteria = createMaxAnnouncementsPageRolesTypeCriteria(page, maxAnnouncements, roles, null, null);
criteria.add(c);
return criteria.list();
}
 
public int countAnnouncements(String query, SearchTypeEnum searchTypeEnum, List<String> roles, String subTarget) {
 
Criterion c = createSearchQuery(query, searchTypeEnum);
Criteria criteria = createRolesTypeCriteria(roles, null, null);
criteria.add(c);
return criteria.list().size();
}
 
public Criterion createSearchQuery(String query, SearchTypeEnum searchTypeEnum) {
Criterion c = null;
if (searchTypeEnum == SearchTypeEnum.ExactPhrase)
c = or(like("text", "%" + query + "%"), like("title", "%" + query + "%"));
else if (searchTypeEnum == SearchTypeEnum.AllWords) {
String[] fields = query.split(" ");
for (String field : fields) {
if (c == null)
c = or(like("text", "%" + field + "%"), like("title", "%" + field + "%"));
else
c = and(c, or(like("text", "%" + field + "%"), like("title", "%" + field + "%")));
}
 
}
else {
String[] fields = query.split(" ");
for (String field : fields) {
if (c == null)
c = or(like("text", "%" + field + "%"), like("title", "%" + field + "%"));
else
c = or(c, or(like("text", "%" + field + "%"), like("title", "%" + field + "%")));
}
}
return c;
}
 
}
/impl/src/java/pt/estgp/estgweb/domain/dao/impl/UserDaoImpl.java
8,8 → 8,11
 
 
import java.util.List;
import java.util.Date;
import java.io.Serializable;
 
import pt.estgp.estgweb.domain.User;
import pt.estgp.estgweb.domain.Announcement;
 
/**
* @author Jorge Machado
17,7 → 20,7
* @time 2:51:06
* @see pt.estgp.estgweb.domain.dao.impl
*/
public class UserDaoImpl extends UserDao
public class UserDaoImpl<Announcement> extends UserDao
{
public static UserDaoImpl getInstance()
{
73,6 → 76,27
}
}
 
/**
* Used by the base DAO classes but here for your modification Load object
* matching the given key and return it.
*
* @param ID to load
* @return a user
*/
public final User loadByID(String ID)
{
try
{
return (User) createCriteria()
.add(eq("id",ID))
.uniqueResult();
}
catch (HibernateException e)
{
throw new DaoException(e);
}
}
 
/**
* Used by the base DAO classes but here for your modification Load object
* matching the given key and return it.
96,4 → 120,16
}
}
 
public Serializable save(User obj)
{
try {
obj.setSaveDate(new Date());
return super.save(obj);
}
catch (HibernateException e) {
throw new DaoException(e);
}
 
}
 
}
/impl/src/java/pt/estgp/estgweb/domain/dao/impl/ImageDaoImpl.java
1,5 → 1,14
package pt.estgp.estgweb.domain.dao.impl;
 
import org.hibernate.Criteria;
import org.hibernate.criterion.Criterion;
import static org.hibernate.criterion.Restrictions.*;
import pt.estgp.estgweb.domain.Image;
 
import java.util.List;
 
import jomm.dao.impl.AbstractDao;
 
/**
* @author Jorge Machado
* @date 28/Fev/2008
/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/impl/TesteDaoImpl.java
New file
0,0 → 1,42
package pt.estgp.estgweb.domain.dao.impl;
 
import pt.estgp.estgweb.domain.DomainObjectFactory;
import pt.estgp.estgweb.domain.Teste;
import pt.estgp.estgweb.domain.dao.DaoFactory;
import pt.utl.ist.berserk.logic.serviceManager.IServiceManager;
import pt.utl.ist.berserk.logic.serviceManager.ServiceManager;
import pt.utl.ist.berserk.logic.serviceManager.exceptions.ServiceManagerException;
import pt.utl.ist.berserk.logic.filterManager.exceptions.*;
 
 
/**
* @author Jorge Machado
* @date 28/Fev/2008
* @time 2:51:06
* @see pt.estgp.estgweb.domain.dao.impl
*/
public class TesteDaoImpl extends TesteDao {
public static TesteDaoImpl getInstance() {
if (myInstance == null)
myInstance = new TesteDaoImpl();
return (TesteDaoImpl) myInstance;
}
 
 
public static void main(String[] args) throws ClassNotIFilterException, InvalidFilterException, ServiceManagerException, InvalidFilterExpressionException, IncompatibleFilterException, FilterRetrieveException {
 
Teste t = DomainObjectFactory.createTesteImpl();
t.setMorada("portalegre");
t.setName("jorge");
 
Object[] args2 = {t};
IServiceManager sm = ServiceManager.getInstance();
try {
sm.execute("123", "TesteSaver", args2);
}
catch (Throwable e) {
System.out.println("Already exist fail creation, gone login now");
}
}
 
}
/impl/src/java/pt/estgp/estgweb/domain/dao/DaoFactory.java
64,4 → 64,19
{
return UrlStatDayDaoImpl.getInstance();
}
 
public static TesteDaoImpl getTesteDaoImpl()
{
return TesteDaoImpl.getInstance();
}
 
public static BlogDaoImpl getBlogDaoImpl()
{
return BlogDaoImpl.getInstance();
}
 
public static BlogPostDaoImpl getBlogPostDaoImpl()
{
return BlogPostDaoImpl.getInstance();
}
}
/impl/src/java/pt/estgp/estgweb/domain/IOwned.java
14,5 → 14,6
public boolean isOwnedBy(GenericUser u);
public GenericUser getOwner();
public List<String> getOwnerRoles();
public String getChoosedOwnerRole();
 
}
/impl/src/java/pt/estgp/estgweb/domain/DomainObjectFactory.java
72,4 → 72,20
{
return new UrlStatDayImpl();
}
 
public static TesteImpl createTesteImpl()
{
return new TesteImpl();
}
 
public static BlogImpl createBlogImpl()
{
return new BlogImpl();
}
 
public static BlogPostImpl createBlogPostImpl()
{
return new BlogPostImpl();
}
 
}
/impl/src/java/pt/estgp/estgweb/domain/DomainObject.java
21,6 → 21,12
private static final String ALL_ROLE = ConfigProperties.getProperty("user.super");
 
 
public void setSaveDate(Date d){}
public Date getSaveDate()
{
return null;
}
 
/**
* can be override in proper classes
* @return generic user owner of object
82,7 → 88,12
return false;
}
 
public String getChoosedOwnerRole()
{
return null;
}
 
 
public Date getStartTime()
{
return MIN_DATE;
/impl/src/java/pt/estgp/estgweb/filters/filters/Session.java
7,6 → 7,7
import pt.estgp.estgweb.domain.dao.DaoFactory;
import pt.estgp.estgweb.utils.ConfigProperties;
import pt.estgp.estgweb.Globals;
import pt.estgp.estgweb.services.users.UpdateUserSessionService;
import pt.estgp.estgweb.filters.chains.FlowFilter;
import pt.utl.ist.berserk.ServiceRequest;
import pt.utl.ist.berserk.ServiceResponse;
15,6 → 16,8
 
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import java.util.Set;
 
import org.hibernate.ObjectNotFoundException;
import org.apache.log4j.Logger;
66,6 → 69,9
}
else
{
Set<SessionObject> sessionObjects = userSession.getObjects();
DaoFactory.getSessionObjectDaoImpl().delete(sessionObjects);
userSession.setObjects(null);
userSession.reset();
}
userSession.setSaveDate(new Date());
/impl/src/java/pt/estgp/estgweb/web/LayoutProxy.java
44,7 → 44,7
{
try
{
getServletContext().getRequestDispatcher("/layout.do?server=" + server + "&path=" + path + "&layout=" + layout).forward(request,response);
getServletContext().getRequestDispatcher("/layout.do?server=" + server + "&path=" + path + "&layout=" + layout + "&" + request.getQueryString()).forward(request,response);
}
catch(FileNotFoundException e)
{
/impl/src/java/pt/estgp/estgweb/web/utils/DatesUtils.java
21,6 → 21,8
 
public static String getStringFromDate(Date d)
{
if(d == null)
return null;
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy/MM/dd");
return simpleDateFormat.format(d);
}
/impl/src/java/pt/estgp/estgweb/web/Globals.java
New file
0,0 → 1,34
package pt.estgp.estgweb.web;
 
import javax.servlet.http.HttpServletRequest;
 
/**
* @author Fabio
* @date 31/Mar/2008
* @time 11:19:06
* @see pt.estgp.estgweb.web
*/
public class Globals
{
private static final String PORTAL_MENU_START_LINK_START = "/proxy/";
private static final String PORTAL_MENU_START_LINK_END = "/estgp/public/portal";
private static final String PORTAL_MENU_START_LINK_END_AA = "/estgweb/aa";
private static final String PORTAL_MENU_START_LINK_END_NUCLEO_ENG = "/estgweb/nucleoeng";
public static final String PORTAL_ROLE_VIEW_STUDENT ="?role=student&menu=menu.alunos";
public static final String PORTAL_ROLE_VIEW_FUTURE_STUDENT ="?role=futureStudent&menu=menu.futurosAlunos";
public static final String PORTAL_ROLE_VIEW_OLD_STUDENT ="?role=oldStudent&menu=menu.antigosAlunos";
public static final String PORTAL_ROLE_VIEW_TEACHER ="?role=teacher&menu=menu.docentes";
 
 
public static String getStartLinkPortalMenu(String layout)
{
if(layout.contains("AA"))
return PORTAL_MENU_START_LINK_START + layout + PORTAL_MENU_START_LINK_END_AA;
else if(layout.contains("NucleoEng"))
return PORTAL_MENU_START_LINK_START + layout + PORTAL_MENU_START_LINK_END_NUCLEO_ENG;
else
return PORTAL_MENU_START_LINK_START + layout + PORTAL_MENU_START_LINK_END;
 
}
 
}
/impl/src/java/pt/estgp/estgweb/web/form/AddRolesForm.java
New file
0,0 → 1,57
package pt.estgp.estgweb.web.form;
 
import pt.estgp.estgweb.Globals;
 
import java.util.List;
 
/**
* @author Jorge Machado
* @date 21/Abr/2008
* @time 14:28:59
* @see pt.estgp.estgweb.web.form.blogs
*/
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/blogs/BlogForm.java
New file
0,0 → 1,36
package pt.estgp.estgweb.web.form.blogs;
 
import pt.estgp.estgweb.domain.views.BlogView;
import pt.estgp.estgweb.web.form.AddRolesForm;
 
import org.apache.struts.upload.FormFile;
 
/**
* @author Jorge Machado
* @date 21/Abr/2008
* @time 14:28:59
* @see pt.estgp.estgweb.web.form.blogs
*/
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/TesteForm.java
New file
0,0 → 1,26
package pt.estgp.estgweb.web.form;
 
import org.apache.struts.action.ActionForm;
import pt.estgp.estgweb.domain.Teste;
import pt.estgp.estgweb.domain.DomainObjectFactory;
 
/**
* @author Jorge Machado
* @date 28/Fev/2008
* @time 20:42:25
* @see pt.estgp.estgweb.web.form
*/
public class TesteForm extends ApplicationForm
{
 
Teste teste = DomainObjectFactory.createTesteImpl();
 
 
public Teste getTeste() {
return teste;
}
 
public void setTeste(Teste teste) {
this.teste = teste;
}
}
/impl/src/java/pt/estgp/estgweb/web/form/commons/SearchForm.java
New file
0,0 → 1,35
package pt.estgp.estgweb.web.form.commons;
 
import pt.estgp.estgweb.web.form.AddRolesForm;
import pt.estgp.estgweb.web.form.ApplicationForm;
import pt.estgp.estgweb.domain.views.BlogView;
import pt.estgp.estgweb.services.common.SearchTypeEnum;
import org.apache.struts.upload.FormFile;
 
/**
* @author Jorge Machado
* @date 21/Abr/2008
* @time 14:28:59
* @see pt.estgp.estgweb.web.form.blogs
*/
public class SearchForm extends ApplicationForm {
 
private String query;
private String searchType = SearchTypeEnum.AllWords.getMessageKey();
 
public String getQuery() {
return query;
}
 
public void setQuery(String query) {
this.query = query;
}
 
public String getSearchType() {
return searchType;
}
 
public void setSearchType(String searchType) {
this.searchType = searchType;
}
}
/impl/src/java/pt/estgp/estgweb/web/form/announcements/AnnouncementsForm.java
1,44 → 1,48
package pt.estgp.estgweb.web.form.announcements;
 
import org.apache.struts.action.ActionForm;
import org.apache.log4j.Logger;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionMessages;
import org.apache.struts.action.ActionMessage;
import org.apache.struts.upload.FormFile;
import pt.estgp.estgweb.domain.UserSessionImpl;
import pt.estgp.estgweb.domain.views.AnnouncementView;
import pt.estgp.estgweb.domain.Image;
import pt.estgp.estgweb.domain.DomainObjectFactory;
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;
 
import jomm.utils.MessageResources;
 
/**
* @author Jorge Machado
* @date 28/Fev/2008
* @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 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");
 
52,13 → 56,7
this.announcementView = announcementView;
}
 
public String getRole() {
return role;
}
 
public void setRole(String role) {
this.role = role;
}
 
public AnnouncementView getAnnouncementView()
{
70,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;
107,16 → 88,7
this.expireDate = expireDate;
}
 
public List<String> getTargetRoles()
{
return targetRoles;
}
 
public void setTargetRoles(List<String> roles)
{
 
}
 
public FormFile getBigImage() {
return bigImage;
}
159,6 → 131,22
}
 
 
public String getUrlProtocol() {
return urlProtocol;
}
 
public void setUrlProtocol(String urlProtocol) {
this.urlProtocol = urlProtocol;
}
 
public String getUrl() {
return url;
}
 
public void setUrl(String url) {
this.url = url;
}
 
public Integer getCounter() {
return counter;
}
169,9 → 157,35
 
public ActionErrors validate(org.apache.struts.action.ActionMapping actionMapping, javax.servlet.http.HttpServletRequest httpServletRequest)
{
UserSessionImpl userSession = null;
try
{
userSession = (UserSessionImpl) UserSessionProxy.loadUserSessionFromRequest(httpServletRequest);
List<String> roles = (List<String>) userSession.get(TARGET_ROLES_KEY);
if(roles == null || roles.size() == 0)
{
roles = new ArrayList<String>();
roles.add(targetRolesStr);
 
}
announcementView.setTargetRoles(roles);
}
catch (Throwable throwable)
{
logger.error(throwable,throwable);
}
 
 
 
if(httpServletRequest.getParameter("dispatch").equals("addRole") || httpServletRequest.getParameter("dispatch").equals("removeRole"))
return null;
ActionErrors errors = new ActionErrors();
if(url.contains("http://"))
addMessageWithKeys(errors,httpServletRequest,"errors.notrequired","announcement.protocol.error.http","announcement.linkAnnouncement");
if(url.contains("https://"))
addMessageWithKeys(errors,httpServletRequest,"errors.notrequired","announcement.protocol.error.https","announcement.linkAnnouncement");
if(url.contains("ftp://"))
addMessageWithKeys(errors,httpServletRequest,"errors.notrequired","announcement.protocol.error.ftp","announcement.linkAnnouncement");
if(announcementView.getTitle() == null || announcementView.getTitle().trim().length() == 0)
addMessageWithKeys(errors,httpServletRequest,"errors.required","announcement.title");
if(announcementView.getText() == null || announcementView.getText().trim().length() == 0)
/impl/src/java/pt/estgp/estgweb/web/controllers/AddRolesController.java
New file
0,0 → 1,130
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.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.findForward("submit");
}
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 = (AddRolesForm) 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/blogs/BlogsController.java
New file
0,0 → 1,111
package pt.estgp.estgweb.web.controllers.blogs;
 
import pt.estgp.estgweb.web.controllers.AddRolesController;
import pt.estgp.estgweb.web.utils.RequestUtils;
import pt.estgp.estgweb.web.form.blogs.BlogForm;
import pt.estgp.estgweb.domain.*;
import pt.estgp.estgweb.domain.views.BlogView;
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.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 BlogsController extends AddRolesController {
 
private static final Logger logger = Logger.getLogger(BlogsController.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());
request.setAttribute("BlogView", bV);
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;
}
}
 
public ActionForward load(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Throwable, ServletException {
try
{
IServiceManager sm = ServiceManager.getInstance();
String[] names = new String[]{"serializable"};
Object[] args = new Object[]{Long.parseLong(request.getParameter("id"))};
BlogView bV = (BlogView) sm.execute(RequestUtils.getRequester(request), "LoadBlog", args, names);
request.setAttribute("BlogView", bV);
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/ApplicationController.java
8,6 → 8,10
import pt.estgp.estgweb.web.UserSessionProxy;
import pt.estgp.estgweb.web.utils.RequestUtils;
import pt.estgp.estgweb.domain.UserSessionImpl;
import pt.estgp.estgweb.services.common.ICommonSearchResults;
import pt.estgp.estgweb.services.common.CommonServicesManager;
import pt.estgp.estgweb.services.common.SearchTypeEnum;
import pt.utl.ist.berserk.logic.serviceManager.exceptions.FilterChainFailedException;
 
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
30,6 → 34,14
 
private static final Logger logger = Logger.getLogger(ApplicationController.class);
 
public ActionForward execute(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws ServletException {
logger.fatal("ATENTION YOU ARE USING A CONTROLLER EXTENDING FROM ApplicationController that does not implement execute Method, probably you want to extend from ApplicationDispatchController instead ApplicationController");
return mapping.findForward("error500");
}
public ActionMessages getMessages(HttpServletRequest request)
{
ActionMessages actionMessages = super.getMessages(request);
/impl/src/java/pt/estgp/estgweb/web/controllers/TesteController.java
New file
0,0 → 1,66
package pt.estgp.estgweb.web.controllers;
 
import org.apache.log4j.Logger;
import org.apache.struts.action.*;
import pt.estgp.estgweb.web.controllers.authenticate.AuthenticateController;
import pt.estgp.estgweb.web.utils.RequestUtils;
import pt.estgp.estgweb.web.UserSessionProxy;
import pt.estgp.estgweb.web.form.TesteForm;
import pt.estgp.estgweb.web.exceptions.NoCookiesException;
import pt.estgp.estgweb.services.authenticate.AuthenticateException;
import pt.estgp.estgweb.domain.UserSession;
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.ServiceManagerException;
import pt.utl.ist.berserk.logic.filterManager.exceptions.*;
 
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.ServletException;
import java.io.IOException;
 
/**
* @author Jorge Machado
* @date 26/Fev/2008
* @time 18:01:54
* @see pt.estgp.estgweb.web
*/
public class TesteController extends ApplicationDispatchController
{
 
private static final Logger logger = Logger.getLogger(TesteController.class);
 
public ActionForward save(ActionMapping mapping,
ActionForm form ,
HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException
{
 
 
TesteForm tf = (TesteForm) form;
Object[] args2 = {tf.getTeste()};
IServiceManager sm = null;
try
{
sm = ServiceManager.getInstance();
}
catch (Exception e)
{
logger.error(e);
}
try
{
sm.execute(RequestUtils.getRequester(request), "TesteSaver", args2);
}
catch (Throwable e)
{
System.out.println("Already exist fail creation, gone login now");
}
return mapping.findForward("ok");
 
}
 
 
}
/impl/src/java/pt/estgp/estgweb/web/controllers/commons/CommonsController.java
New file
0,0 → 1,85
package pt.estgp.estgweb.web.controllers.commons;
 
import pt.estgp.estgweb.web.controllers.AddRolesController;
import pt.estgp.estgweb.web.controllers.ApplicationController;
import pt.estgp.estgweb.web.controllers.ApplicationDispatchController;
import pt.estgp.estgweb.web.controllers.blogs.BlogsController;
import pt.estgp.estgweb.web.form.blogs.BlogForm;
import pt.estgp.estgweb.web.utils.RequestUtils;
import pt.estgp.estgweb.domain.Blog;
import pt.estgp.estgweb.domain.DomainObjectFactory;
import pt.estgp.estgweb.domain.Image;
import pt.estgp.estgweb.domain.views.BlogView;
import pt.estgp.estgweb.services.common.CommonServicesManager;
import pt.estgp.estgweb.services.common.SearchTypeEnum;
import pt.estgp.estgweb.services.common.ICommonSearchResults;
import pt.estgp.estgweb.services.common.ISearchResults;
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.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionForm;
import org.apache.struts.upload.FormFile;
 
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.ServletException;
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 CommonsController extends ApplicationDispatchController {
 
private static final Logger logger = Logger.getLogger(CommonsController.class);
 
public ActionForward search(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Throwable, ServletException {
try
{
ICommonSearchResults commonSearchResults = CommonServicesManager.getInstance().search(request,request.getParameter("query"), SearchTypeEnum.parse(request.getParameter("searchType")));
if(commonSearchResults.getTotalResults() == 0)
return mapping.findForward("noresults");
request.setAttribute("ICommonSearchResults",commonSearchResults);
return mapping.findForward("searchResults");
}
catch (FilterChainFailedException e) {
return mapping.findForward("error401");
}
catch (Throwable e) {
logger.error(e, e);
throw e;
}
}
 
 
public ActionForward searchModule(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Throwable, ServletException {
try
{
ISearchResults searchResults = CommonServicesManager.getInstance().search(request,request.getParameter("query"), SearchTypeEnum.parse(request.getParameter("searchType")),request.getParameter("moduleKey"),Integer.parseInt(request.getParameter("page")));
request.setAttribute("ISearchResults",searchResults);
return mapping.findForward("searchModule");
}
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,17 → 4,17
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;
import pt.estgp.estgweb.domain.Announcement;
import pt.estgp.estgweb.domain.DomainObjectFactory;
import pt.estgp.estgweb.domain.Image;
import pt.estgp.estgweb.domain.dao.DaoFactory;
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 → 23,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 → 32,12
* @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 = AddRolesForm.TARGET_ROLES_KEY;
 
public ActionForward save(ActionMapping mapping,
ActionForm form ,
HttpServletRequest request,
48,19 → 46,78
{
try
{
AnnouncementsForm announcementsForm = (AnnouncementsForm) form;
Image i2=null;
Image i=null;
AnnouncementsForm announcementForm = (AnnouncementsForm) form;
AnnouncementView view = announcementForm.getAnnouncementView();
String finalUrl="";
if(!announcementForm.getUrl().equals(""))
{
finalUrl=announcementForm.getUrlProtocol()+announcementForm.getUrl();
view.setUrl(finalUrl);
}
else
{
view.setUrl(null);
}
 
if(announcementForm.getBigImage().getFileSize()!= 0)
{
FormFile bigImage = announcementForm.getBigImage();
InputStream stream = bigImage.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();
i = DomainObjectFactory.createImageImpl();
i.setImage(b.toByteArray());
i.setContentType(bigImage.getContentType());
i.setSize(bigImage.getFileSize());
i.setDescription(view.getTitle());
i.setName(bigImage.getFileName());
i.setSaveDate(new Date());
 
}
 
if(announcementForm.getSmallImage().getFileSize()!= 0)
{
FormFile smallImage = announcementForm.getSmallImage();
InputStream stream2 = smallImage.getInputStream();
ByteArrayOutputStream b2 = new ByteArrayOutputStream();
int readedBytes2;
byte[] buf2 = new byte[1024];
while((readedBytes2 = stream2.read(buf2)) > 0)
{
b2.write(buf2,0,readedBytes2);
}
b2.close();
i2 = DomainObjectFactory.createImageImpl();
i2.setImage(b2.toByteArray());
i2.setDescription(view.getTitle());
i2.setContentType(smallImage.getContentType());
i2.setSize(smallImage.getFileSize());
i2.setName(smallImage.getFileName());
i2.setSaveDate(new Date());
}
 
IServiceManager sm = ServiceManager.getInstance();
String[] names = new String[]{"object"};
Object[] args = new Object[]{view,i, i2};
AnnouncementView aV = (AnnouncementView) sm.execute(RequestUtils.getRequester(request),"CreateAnnouncement",args,names);
addMessage(request,"announcement.edited.success","" + aV.getId());
return mapping.findForward("success");
/*AnnouncementsForm announcementsForm = (AnnouncementsForm) form;
if(announcementsForm.getAnnouncementView().getId() <= 0)
{
Announcement a = DomainObjectFactory.createAnnouncementImpl();
UserSessionImpl userSession = null;
userSession = (UserSessionImpl) request.getAttribute(Globals.USER_SESSION_KEY);
List<String> roles = (List<String>) userSession.get("targetRoles");
announcementsForm.getAnnouncementView().setTargetRoles(roles);
announcementsForm.getAnnouncementView().persistViewInObject(a);
IServiceManager sm = ServiceManager.getInstance();
 
if(announcementsForm.getBigImage()!= null)
if(announcementsForm.getBigImage().getFileSize()!= 0)
{
FormFile bigImage = announcementsForm.getBigImage();
InputStream stream = bigImage.getInputStream();
74,13 → 131,15
b.close();
Image i = DomainObjectFactory.createImageImpl();
i.setImage(b.toByteArray());
i.setContentType(bigImage.getContentType());
i.setSize(bigImage.getFileSize());
i.setDescription(a.getTitle());
i.setName(bigImage.getFileName());
i.setSaveDate(new Date());
a.setBigImage(i);
}
 
if(announcementsForm.getSmallImage()!= null)
if(announcementsForm.getSmallImage().getFileSize()!= 0)
{
FormFile smallImage = announcementsForm.getSmallImage();
InputStream stream2 = smallImage.getInputStream();
95,11 → 154,24
Image i2 = DomainObjectFactory.createImageImpl();
i2.setImage(b2.toByteArray());
i2.setDescription(a.getTitle());
i2.setContentType(smallImage.getContentType());
i2.setSize(smallImage.getFileSize());
i2.setName(smallImage.getFileName());
i2.setSaveDate(new Date());
a.setSmallImage(i2);
}
 
String finalUrl="";
if(!announcementsForm.getUrl().equals(""))
{
finalUrl=announcementsForm.getUrlProtocol()+announcementsForm.getUrl();
a.setUrl(finalUrl);
}
else
{
a.setUrl(finalUrl);
}
 
String[] names = new String[]{"object"};
Object[] args = new Object[]{a};
AnnouncementView aV = (AnnouncementView) sm.execute(RequestUtils.getRequester(request),"CreateAnnouncement",args,names);
108,17 → 180,15
}
else
{
UserSessionImpl userSession = (UserSessionImpl) request.getAttribute(Globals.USER_SESSION_KEY);
List<String> roles = (List<String>) userSession.get("targetRoles");
 
AnnouncementView a = announcementsForm.getAnnouncementView();
a.setTargetRoles(roles);
IServiceManager sm = ServiceManager.getInstance();
String[] names = new String[]{"object"};
Object[] args = new Object[]{a};
AnnouncementView aV = (AnnouncementView) sm.execute(RequestUtils.getRequester(request),"EditAnnouncement",args,names);
AnnouncementView aV = (AnnouncementView) sm.execute(RequestUtils.getRequester(request),"CreateAnnouncement",args,names);
addMessage(request,"announcement.edited.success","" + aV.getId());
return mapping.findForward("success");
}
} */
}
catch(FilterChainFailedException e)
{
131,31 → 201,7
}
}
 
public ActionForward start(ActionMapping mapping,
ActionForm form ,
HttpServletRequest request,
HttpServletResponse response)
throws Throwable, ServletException
{
try
{
UserSessionImpl sess = (UserSessionImpl) UserSessionProxy.loadUserSession(request);
sess.clearObjects();
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 ,
HttpServletRequest request,
165,9 → 211,6
try
{
UserSessionImpl sess = (UserSessionImpl) UserSessionProxy.loadUserSession(request);
sess.clearObjects();
sess.serialize(request);
 
IServiceManager sm = ServiceManager.getInstance();
String[] names = new String[]{"serializable"};
Object[] args = new Object[]{new Long(request.getParameter("id"))};
177,7 → 220,7
announcementsForm.setStartDate(DatesUtils.getStringFromDate(aV.getStartDate()));
announcementsForm.setExpireDate(DatesUtils.getStringFromDate(aV.getExpireDate()));
announcementsForm.setSelectedRoles(aV.getTargetRoles());
sess.put("targetRoles", (Serializable) aV.getTargetRoles());
sess.put(TARGET_ROLES_KEY, (Serializable) aV.getTargetRoles());
sess.serialize(request);
return mapping.getInputForward();
}
193,77 → 236,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("targetRoles");
if(l == null)
l = new ArrayList<String>();
 
if(!isInTargetRoles(announcementsForm.getTargetRolesStr(),l))
{
l.add(announcementsForm.getTargetRolesStr());
sess.put("targetRoles", (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("targetRoles");
 
if(l != null)
{
l.remove(announcementsForm.getRole());
sess.put("targetRoles", (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,
317,8 → 289,4
}
}
 
private boolean isInTargetRoles(String role, List l)
{
return l.contains(role);
}
}
/impl/src/java/pt/estgp/estgweb/web/controllers/authenticate/AuthenticateController.java
12,6 → 12,9
import pt.estgp.estgweb.services.authenticate.AuthenticateException;
import pt.estgp.estgweb.Globals;
import pt.estgp.estgweb.domain.UserSession;
import pt.estgp.estgweb.domain.User;
import pt.estgp.estgweb.domain.UserImpl;
import pt.estgp.estgweb.domain.UserSessionImpl;
import pt.utl.ist.berserk.logic.serviceManager.IServiceManager;
import pt.utl.ist.berserk.logic.serviceManager.ServiceManager;
import pt.utl.ist.berserk.logic.serviceManager.exceptions.ServiceManagerException;
37,12 → 40,12
private static final Logger logger = Logger.getLogger(AuthenticateController.class);
 
public ActionForward login(ActionMapping mapping,
ActionForm form ,
HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException
ActionForm form ,
HttpServletRequest request,
HttpServletResponse response)
throws IOException,ServletException
{
 
String username = request.getParameter("username");
String password = request.getParameter("password");
 
50,9 → 53,13
{
IServiceManager sm = ServiceManager.getInstance();
Object[] args = new Object[]{username,password};
sm.execute(RequestUtils.getRequester(request),"Authenticate",args);
UserSessionProxy.loadUserSession(request);
return mapping.findForward("success");
UserSession userSession = (UserSession) sm.execute(RequestUtils.getRequester(request),"Authenticate",args);
request.setAttribute(Globals.USER_SESSION_KEY,userSession);
if(!((UserImpl)userSession.getUser()).isNewUser())
return mapping.findForward("success");
else
return mapping.findForward("firstTimeAuthenticate");
 
}
catch (AuthenticateException e)
{
71,9 → 78,9
}
 
public ActionForward logout(ActionMapping mapping,
ActionForm form ,
HttpServletRequest request,
HttpServletResponse response)
ActionForm form ,
HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException
{
 
87,7 → 94,11
Object[] args = new Object[]{};
//to send good by message
request.setAttribute("username",userSession.getUser().getUsername());
request.setAttribute("name",userSession.getUser().getName());
if(userSession.getUser().getName()!=null)
request.setAttribute("name",userSession.getUser().getName());
else
request.setAttribute("name",userSession.getUser().getUsername());
 
userSession = (UserSession) sm.execute(RequestUtils.getRequester(request),"Logout",args);
request.setAttribute(Globals.USER_SESSION_KEY,userSession);
return mapping.findForward("logout");
/impl/src/java/pt/estgp/estgweb/web/filters/UserSessionFilter.java
43,7 → 43,9
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException
{
HttpServletRequest hrequest = (HttpServletRequest) request;
 
if(((HttpServletRequest)request).getServletPath().indexOf("errorNoCookies.do")>=0 || !hrequest.isRequestedSessionIdFromCookie())
chain.doFilter(request,response);
try
/impl/src/java/pt/estgp/estgweb/web/ImageStream.java
New file
0,0 → 1,54
package pt.estgp.estgweb.web;
import pt.estgp.estgweb.domain.Image;
import pt.estgp.estgweb.domain.dao.impl.ImageDaoImpl;
 
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import jomm.dao.impl.AbstractDao;
import org.apache.log4j.Logger;
 
/**
* @author Fabio
* @date 4/Abr/2008
* @time 11:03:00
* @see pt.estgp.estgweb.web
*/
public class ImageStream extends HttpServlet
{
 
private static final Logger logger = Logger.getLogger(ImageStream.class);
 
 
public void doGet (HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
String imageRequarired = request.getPathInfo();
imageRequarired=imageRequarired.substring(1);
 
long id=Long.parseLong(imageRequarired.trim());
AbstractDao.getCurrentSession().beginTransaction();
Image image = new ImageDaoImpl().get(id);
try {
response.setContentType(image.getContentType());
byte[] imagemStream = image.getImage();
response.setContentLength(imagemStream.length);
OutputStream out = response.getOutputStream();
if(imagemStream!=null)
out.write(imagemStream);
else
logger.warn("Image "+image.getId()+" has 0 bytes");
out.flush();
out.close();
}
catch (Exception e1)
{
e1.printStackTrace();
}
 
AbstractDao.getCurrentSession().getTransaction().commit();
}
 
}
 
/impl/src/java/pt/estgp/estgweb/web/tags/IsAdminTag.java
21,7 → 21,7
public int doEndTag() throws JspException {
 
UserSessionImpl userSession = (UserSessionImpl) pageContext.getRequest().getAttribute(Globals.USER_SESSION_KEY);
if(userSession!=null && userSession.getUser() !=null && ((UserImpl)userSession.getUser()).hasRole(Globals.ADMIN_ROLE))
if(userSession!=null && userSession.getUser() !=null && (((UserImpl)userSession.getUser()).hasRole(Globals.ADMIN_ROLE) || ((UserImpl)userSession.getUser()).isSuperuser()))
{
String toPage = bodyContent.getString().trim();
JspWriter writer = pageContext.getOut();
/impl/src/java/pt/estgp/estgweb/web/tags/IsNotAdminTag.java
New file
0,0 → 1,44
package pt.estgp.estgweb.web.tags;
 
import org.apache.log4j.Logger;
 
import javax.servlet.jsp.tagext.BodyTagSupport;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
 
import pt.estgp.estgweb.domain.UserSessionImpl;
import pt.estgp.estgweb.domain.UserImpl;
import pt.estgp.estgweb.Globals;
 
public class IsNotAdminTag extends BodyTagSupport {
 
private static final Logger logger = Logger.getLogger(IsNotAdminTag.class);
 
 
public int doStartTag() throws JspException {
return EVAL_BODY_TAG;
}
public int doEndTag() throws JspException {
 
UserSessionImpl userSession = (UserSessionImpl) pageContext.getRequest().getAttribute(Globals.USER_SESSION_KEY);
if(userSession == null || userSession.getUser() == null || !(((UserImpl)userSession.getUser()).hasRole(Globals.ADMIN_ROLE) && !((UserImpl)userSession.getUser()).isSuperuser()))
{
String toPage = bodyContent.getString().trim();
JspWriter writer = pageContext.getOut();
try
{
writer.write(toPage);
}
catch(Exception e)
{
logger.error(e,e);
throw new JspException(e);
}
}
 
// Continue processing this page
return EVAL_PAGE;
}
 
 
}
/impl/src/java/pt/estgp/estgweb/web/tags/OwnerImageRoleTag.java
New file
0,0 → 1,67
package pt.estgp.estgweb.web.tags;
 
import org.apache.log4j.Logger;
import org.apache.struts.util.RequestUtils;
 
import javax.servlet.jsp.tagext.TagSupport;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.http.HttpServletRequest;
 
import jomm.utils.MessageResources;
import pt.estgp.estgweb.domain.IOwned;
import pt.estgp.estgweb.domain.GenericUser;
import pt.estgp.estgweb.utils.ConfigProperties;
 
public class OwnerImageRoleTag extends TagSupport {
 
private static final Logger logger = Logger.getLogger(OwnerImageRoleTag.class);
 
private String name;
private String property;
 
 
public String getName() {
return name;
}
 
public void setName(String name) {
this.name = name;
}
 
public String getProperty() {
return property;
}
 
public void setProperty(String property) {
this.property = property;
}
 
public int doStartTag() throws JspException {
HttpServletRequest hrequest = (HttpServletRequest) pageContext.getRequest();
Object bean = null;
if(name != null)
bean = RequestUtils.lookup(pageContext, name, property, null);
 
IOwned owned = (IOwned) bean;
String role = null;
if(owned != null)
role = owned.getChoosedOwnerRole();
String img = ConfigProperties.getProperty("role." + role + ".img");
if(role == null || role.trim().length() == 0 || img == null || img.equals("role." + role + ".img"))
img = ConfigProperties.getProperty("announcement.default.img");
String imgStr = "<img alt=\"" + MessageResources.getMessage(hrequest,"user.role." + role) + "\" src=\"" + hrequest.getContextPath() + img + "\">";
JspWriter writer = pageContext.getOut();
try
{
writer.write(imgStr);
}
catch(Exception e)
{
logger.error(e,e);
throw new JspException(e);
}
 
return (SKIP_BODY);
}
}
/impl/src/java/pt/estgp/estgweb/examples/TestSession.java
108,5 → 108,6
 
 
AbstractDao.getCurrentSession().getTransaction().commit();
 
}
}
/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;
 
21,9 → 23,43
{
AbstractDao.getCurrentSession().beginTransaction();
UserImpl user = DomainObjectFactory.createUserImpl();
user.setUsername("1");
user.setUsername("super");
user.setName("super user");
user.setRoles("all,admin");
user.setPassword(BytesUtils.getMD5("1"));
DaoFactory.getUserDaoImpl().save(user);
UserImpl userStudent = DomainObjectFactory.createUserImpl();
userStudent.setUsername("student");
userStudent.setRoles("student");
userStudent.setName("student user");
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/java/pt/utl/ist/berserk/storage/hibernate/HibernateTransactionBroker.java
1,17 → 1,14
package pt.utl.ist.berserk.storage.hibernate;
 
import jomm.dao.utils.HibernateUtils;
import org.hibernate.LockMode;
import org.hibernate.Session;
import org.hibernate.Transaction;
import pt.utl.ist.berserk.storage.ITransactionBroker;
import pt.utl.ist.berserk.storage.exceptions.StorageException;
import pt.utl.ist.berserk.storage.empty.TransactionBrokerEmpty;
 
import java.util.List;
 
import jomm.dao.impl.AbstractDao;
import jomm.dao.utils.HibernateUtils;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.LockMode;
 
/**
* Creates an hibernate transaction
*
46,7 → 43,9
}
public void abortTransaction() throws StorageException
{
HibernateUtils.getCurrentSession().getTransaction().rollback();
Session sess = HibernateUtils.getCurrentSession();
Transaction t = sess.getTransaction();
t.rollback();
}
public void lockRead(List list) throws StorageException
{
/impl/src/doc/estgweb.eap
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+ application/octet-stream
/impl/src/doc/processos.xsd
New file
0,0 → 1,144
<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2008 sp1 (http://www.altova.com) by jmachado (casa) -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="process">
<xs:annotation>
<xs:documentation>Process element describing any organization workflow</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element ref="annotation" minOccurs="0"/>
<xs:element name="controlPoints">
<xs:complexType>
<xs:sequence>
<xs:element ref="annotation" minOccurs="0"/>
<xs:element ref="controlPoint" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="joinPoints" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element ref="annotation" minOccurs="0"/>
<xs:element ref="joinPoint" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="forkPoints" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element ref="annotation" minOccurs="0"/>
<xs:element ref="forkPoint" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="tasks">
<xs:complexType>
<xs:sequence>
<xs:element ref="annotation" minOccurs="0"/>
<xs:element ref="task" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="startControlPointId" type="xs:integer"/>
</xs:sequence>
<xs:attribute name="name"/>
<xs:attribute name="unique" type="xs:boolean"/>
</xs:complexType>
</xs:element>
<xs:element name="task">
<xs:complexType>
<xs:sequence>
<xs:element ref="annotation" minOccurs="0"/>
<xs:element ref="arguments" minOccurs="0"/>
<xs:element ref="transition" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="name" type="xs:string"/>
<xs:attribute name="id" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="transition">
<xs:complexType>
<xs:sequence>
<xs:element ref="annotation" minOccurs="0"/>
<xs:element ref="guardConditions" minOccurs="0"/>
<xs:choice>
<xs:element name="forkPointId" type="xs:integer"/>
<xs:element name="joinPointId" type="xs:integer"/>
<xs:element name="controlPointId" type="xs:integer"/>
<xs:element name="taskId" type="xs:integer"/>
</xs:choice>
</xs:sequence>
<xs:attribute name="targetProcessName" type="xs:integer"/>
<xs:attribute name="targetProcessID" type="xs:integer"/>
</xs:complexType>
</xs:element>
<xs:element name="guardConditions">
<xs:complexType>
<xs:sequence>
<xs:element ref="annotation" minOccurs="0"/>
<xs:choice maxOccurs="unbounded">
<xs:element name="user" type="xs:string"/>
<xs:element name="decision" type="xs:string"/>
<xs:element name="role" type="xs:string"/>
<xs:element name="startDate" type="xs:date"/>
<xs:element name="expireDate" type="xs:date"/>
</xs:choice>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="controlPoint">
<xs:complexType>
<xs:sequence>
<xs:element ref="annotation" minOccurs="0"/>
<xs:element ref="transition" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="id" type="xs:string" use="required"/>
<xs:attribute name="unique" type="xs:boolean"/>
</xs:complexType>
</xs:element>
<xs:element name="forkPoint">
<xs:complexType>
<xs:sequence>
<xs:element ref="annotation" minOccurs="0"/>
<xs:element ref="transition" minOccurs="2" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="id" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="joinPoint">
<xs:complexType>
<xs:sequence>
<xs:element ref="annotation" minOccurs="0"/>
<xs:element ref="transition"/>
</xs:sequence>
<xs:attribute name="tokens" type="xs:integer"/>
<xs:attribute name="id" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:element name="arguments">
<xs:complexType>
<xs:sequence>
<xs:element ref="annotation" minOccurs="0"/>
<xs:element name="input" type="argumentType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="output" type="argumentType" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:complexType name="argumentType">
<xs:sequence>
<xs:element ref="annotation" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="name"/>
<xs:attribute name="type"/>
</xs:complexType>
<xs:element name="annotation">
<xs:complexType>
<xs:sequence>
<xs:element name="author" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="appInfo" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="documentation" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
/impl/src/hbm/pt/estgp/estgweb/domain/User.hbm.xml
File deleted
\ No newline at end of file
/impl/src/hbm/pt/estgp/estgweb/domain/GenericUser.hbm.xml
New file
0,0 → 1,47
<?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.GenericUser" table="user" 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="superuser" type="boolean"/>
<property name="name" type="string"/>
<subclass name="pt.estgp.estgweb.domain.Group">
<meta attribute="scope-class">public abstract</meta>
<set name="users" table="group_users">
<key column="group_id"/>
<many-to-many column="user_id" class="pt.estgp.estgweb.domain.User"/>
</set>
<subclass name="pt.estgp.estgweb.domain.GroupImpl" discriminator-value="GroupImpl"/>
</subclass>
<subclass name="pt.estgp.estgweb.domain.User">
<meta attribute="scope-class">public abstract</meta>
<property name="username" type="string" unique="true" length="50"/>
<property name="password" type="string"/>
<property name="roles" type="text"/>
<property name="address" type="text"/>
<property name="zip" type="string"/>
<property name="country" type="string"/>
<property name="email" type="string"/>
<property name="phonenumber" type="string"/>
<set name="groups" table="group_users">
<key column="user_id"/>
<many-to-many column="group_id" class="pt.estgp.estgweb.domain.Group"/>
</set>
<set name="courses" order-by="course.name asc" lazy="true">
<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>
</class>
</hibernate-mapping>
/impl/src/hbm/pt/estgp/estgweb/domain/UrlStat.hbm.xml
17,8 → 17,8
<property name="description" type="text"/>
<property name="totalClicks" type="integer"/>
<property name="status" type="boolean"/>
<set name="years" order-by="year asc" lazy="true" cascade="all">
<key column="relativePathId"/>
<set name="years" order-by="year asc" lazy="true" cascade="all" inverse="true">
<key column="relativePath"/>
<one-to-many class="pt.estgp.estgweb.domain.UrlStatYear"/>
</set>
<subclass name="pt.estgp.estgweb.domain.UrlStatImpl" discriminator-value="UrlStatImpl"/>
/impl/src/hbm/pt/estgp/estgweb/domain/UrlStatYear.hbm.xml
16,7 → 16,7
<timestamp name="updateDate" unsaved-value="null"/>
<property name="saveDate" type="timestamp"/>
<property name="totalClicks" type="integer"/>
<set name="months" order-by="month asc" lazy="true" cascade="all">
<set name="months" order-by="month asc" lazy="true" cascade="all" inverse="true">
<key>
<column name="year"/>
<column name="relativePath"/>
/impl/src/hbm/pt/estgp/estgweb/domain/Image.hbm.xml
14,6 → 14,8
<timestamp name="updateDate" unsaved-value="null"/>
<property name="saveDate" type="timestamp"/>
<property name="name" type="string"/>
<property name="contentType" type="string"/>
<property name="size" type="int"/>
<property name="description" type="text"/>
<property name="image" type="binary" length="4194304"/>
<subclass name="pt.estgp.estgweb.domain.ImageImpl" discriminator-value="ImageImpl"/>
/impl/src/hbm/pt/estgp/estgweb/domain/UserSession.hbm.xml
18,8 → 18,8
<property name="name" type="string"/>
<property name="username" type="string"/>
<many-to-one name="user" class="pt.estgp.estgweb.domain.User" outer-join="true"/>
<set name="objects" cascade="all"><!--lazy="true">-->
<key column="cookieId"/>
<set name="objects" cascade="all" inverse="true"><!--lazy="true">-->
<key column="cookie"/>
<one-to-many class="pt.estgp.estgweb.domain.SessionObject"/>
</set>
<subclass name="pt.estgp.estgweb.domain.UserSessionImpl" discriminator-value="UserSessionImpl"/>
/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="description" 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/Teste.hbm.xml
New file
0,0 → 1,20
<?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.Teste" table="teste" 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="name" type="string"/>
<property name="morada" type="string"/>
<subclass name="pt.estgp.estgweb.domain.TesteImpl" discriminator-value="TesteImpl"/>
</class>
</hibernate-mapping>
/impl/src/hbm/pt/estgp/estgweb/domain/UrlStatMonth.hbm.xml
20,7 → 20,7
<property name="saveDate" type="timestamp"/>
<property name="date" type="date"/>
<property name="totalClicks" type="integer"/>
<set name="days" order-by="day asc" lazy="true" cascade="all">
<set name="days" order-by="day asc" lazy="true" cascade="all" inverse="true">
<key>
<column name="month"/>
<column name="year"/>
/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,15 → 15,17
<property name="saveDate" type="timestamp"/>
<property name="startDate" type="timestamp"/>
<property name="expireDate" type="timestamp"/>
<property name="subTargets" type="string"/>
<property name="title" type="string"/>
<property name="choosedOwnerRole" type="string"/>
<property name="text" type="text"/>
<property name="targetRoles" type="text"/>
<property name="type" type="string" />
<property name="url" type="string"/>
<property name="status" type="boolean" />
<property name="counter" type="integer" />
<many-to-one name="bigImage" class="pt.estgp.estgweb.domain.Image" lazy="no-proxy" outer-join="false" cascade="all"/>
<many-to-one name="smallImage" class="pt.estgp.estgweb.domain.Image" lazy="no-proxy" outer-join="false" cascade="all"/>
<many-to-one name="bigImage" column="bigImage" class="pt.estgp.estgweb.domain.Image" lazy="no-proxy" outer-join="false" cascade="all" />
<many-to-one name="smallImage" column="smallImage" 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.AnnouncementImpl" discriminator-value="AnnouncementImpl"/>
</class>
/impl/src/hbm/pt/estgp/estgweb/domain/SessionObject.hbm.xml
10,7 → 10,9
<composite-id name="id" class="pt.estgp.estgweb.domain.SessionObjectId">
<meta attribute="scope-class">public</meta>
<key-property name="keyId" type="string" column="keyId" length="150"/>
<key-many-to-one name="userSession" class="pt.estgp.estgweb.domain.UserSession"/>
<key-many-to-one name="userSession" class="pt.estgp.estgweb.domain.UserSession">
<column name="cookie"/>
</key-many-to-one>
</composite-id>
<discriminator column="discrimitator"/>
<timestamp name="updateDate" unsaved-value="null"/>
/impl/src/web/imgs/rolesIcons/c_cientifico.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+ application/octet-stream
/impl/src/web/imgs/rolesIcons/nd.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+ application/octet-stream
/impl/src/web/imgs/rolesIcons/ngm.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+ application/octet-stream
/impl/src/web/imgs/rolesIcons/estg.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+ application/octet-stream
/impl/src/web/imgs/rolesIcons/ne.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+ application/octet-stream
/impl/src/web/imgs/rolesIcons/secretaria.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+ application/octet-stream
/impl/src/web/imgs/rolesIcons/ass_repre.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+ application/octet-stream
/impl/src/web/imgs/rolesIcons/c_pedagogico.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+ application/octet-stream
/impl/src/web/imgs/rolesIcons/ae.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+ application/octet-stream
/impl/src/web/imgs/rolesIcons/c_directivo.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+ application/octet-stream
/impl/src/web/imgs/destaque_3_1.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+ application/octet-stream
/impl/src/web/imgs/destaque_3_3.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+ application/octet-stream
/impl/src/web/imgs/destaque_3_4.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+ application/octet-stream
/impl/src/web/imgs/destaque_3_5.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+ application/octet-stream
/impl/src/web/imgs/docente.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+ application/octet-stream
/impl/src/web/imgs/destaque_1.jpg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+ application/octet-stream
/impl/src/web/imgs/destaque_2_1.jpg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+ application/octet-stream
/impl/src/web/imgs/destaque_2_2.jpg
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+ application/octet-stream
/impl/src/web/imgs/grafico.gif
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+ application/octet-stream
/impl/src/web/teste.jsp
New file
0,0 → 1,13
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %>
 
 
<html:form action="/teste">
<input type="hidden" name="dispatch" value="save">
 
Nome <html:text property="teste.name"/><br>
Morada <html:text property="teste.morada"/><br>
<html:submit/>
</html:form>
 
 
/impl/src/web/auth/firstTimeAuthenticate.jsp
New file
0,0 → 1,34
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ 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.phone.number"/></th>
<td>
</td>
</tr>
</table>
/impl/src/web/auth/autenticationok.jsp
8,4 → 8,4
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %>
 
<bean:message key="authentication.ok"/> <bean:write name="USER_SESSION_KEY" property="username"/>
<bean:message key="authentication.ok"/> <bean:write name="UserSession" property="name"/>
/impl/src/web/admin/blogs/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.blogs.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.description"/>
</th>
<td>
<html:textarea property="blogView.description"/>
</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/admin/blogs/topnavCreateBlog.jsp
New file
0,0 → 1,10
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page import="jomm.web.utils.TopNav" %>
<%
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request);
topNav.addNavPlace("/Welcome.do", "Home");
topNav.addNavPlace(null, "submit.blog");
%>
<jsp:include page="/layout/topnav.jsp"/>
/impl/src/web/admin/announcements/submitAnnouncement.jsp
4,117 → 4,174
<%@ 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="AnnouncementsForm" type="pt.estgp.estgweb.web.form.announcements.AnnouncementsForm" scope="request"/>
<jsp:useBean id="UserSession" type="pt.estgp.estgweb.domain.UserSession" scope="request"/>
<html:messages id="messages"/>
<html:errors/>
<html:form action="/submitAnnouncement" enctype="multipart/form-data">
<html:hidden property="role"/>
<html:hidden property="announcementView.id"/>
<input type="hidden" name="dispatch" value="addRole">
<table class="form">
<html:hidden property="role"/>
<html:hidden property="announcementView.id"/>
 
<input type="hidden" name="dispatch" value="addRole">
<input type="hidden" name="dispatch" value="removeRole">
<table class="form">
 
<estgweb:isAdmin>
<tr>
<th>
<bean:message key="announcement.status"/>
</th>
<td>
<html:select property="announcementView.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="announcement.typeAnnouncement"/>
</th>
<td>
<html:select property="announcementView.type">
<logic:present name="AnnouncementsForm" property="announcementTypes">
<logic:iterate id="item" name="AnnouncementsForm" property="announcementTypes">
<jomm:option itemName="item" comparableObjectName="AnnouncementsForm" comparableObjectProperty="announcementView.type">
<bean:message key="announcements.type.${item}"/>
</jomm:option>
</logic:iterate>
</logic:present>
</html:select>
</td>
</tr>
<logic:present name="UserSession" property="user">
<logic:notEmpty name="UserSession" property="user.ownerRoles">
<tr>
<th>
<bean:message key="announcement.title"/>
<bean:message key="announcement.sendAnnouncementLike"/>
</th>
<td>
<html:text property="announcementView.title" maxlength="250"/>
<html:select property="announcementView.choosedOwnerRole">
<logic:iterate id="item" name="UserSession" property="user.ownerRoles">
<jomm:option itemName="item" comparableObjectName="AnnouncementsForm" comparableObjectProperty="announcementView.choosedOwnerRole">
<bean:message key="user.role.${item}"/>
</jomm:option>
</logic:iterate>
</html:select>
</td>
</tr>
<tr>
<th>
<bean:message key="announcement.startDate"/>
</th>
<td>
<html:text styleClass="date" property="startDate" styleId="startDate" readonly="true"/> <a href="#" onClick="cal.select(getObjectById('startDate'),'anchor1','yyyy/MM/dd'); return false;" name="anchor1" id="anchor1">Escolha a Data</A>
</td>
</tr>
<tr>
<th>
<bean:message key="announcement.expireDate"/>
</th>
<td>
<html:text styleClass="date" property="expireDate" styleId="expireDate" readonly="true"/> <a href="#" onClick="cal.select(getObjectById('expireDate'),'anchor2','yyyy/MM/dd'); return false;" name="anchor2" id="anchor2">Escolha a Data</A>
</td>
</tr>
<tr>
<th>
<bean:message key="announcement.bigImage"/>
</th>
<td>
<html:file property="bigImage"/>
</td>
</tr>
<tr>
<th>
<bean:message key="announcement.smallImage"/>
</th>
<td>
<html:file property="smallImage"/>
</td>
</tr>
<tr>
<th>
<bean:message key="announcement.target.roles"/>
</th>
<td>
<select name="targetRolesStr">
<logic:present name="AnnouncementsForm" property="targetRoles">
<logic:iterate id="item" name="AnnouncementsForm" property="targetRoles">
<jomm:option itemName="item" comparableObjectName="AnnouncementsForm" comparableObjectProperty="targetRolesStr">
<jomm:message patternMessage="user.role.{0}" name0="item"/>
</jomm:option>
</logic:iterate>
</logic:present>
</select>
</logic:notEmpty>
</logic:present>
<tr>
<th>
<bean:message key="announcement.target.roles"/>
</th>
<td>
<html:select property="targetRolesStr">
<estgweb:isAdmin>
<logic:present name="AnnouncementsForm" property="targetRoles">
<logic:iterate id="item" name="AnnouncementsForm" property="targetRoles">
<jomm:option itemName="item" comparableObjectName="AnnouncementsForm" 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="AnnouncementsForm" property="selectedRoles">
<logic:notEmpty name="AnnouncementsForm" property="selectedRoles">
<ul>
<logic:iterate id="item" name="AnnouncementsForm" property="selectedRoles">
<li><jomm:message patternMessage="user.role.{0}" name0="item"/> <a href="AnnouncementForm.role.value='${item}';set(AnnouncementsForm,'removeRole');AnnouncementForm.submit();"/></li>
</logic:iterate>
</ul>
</logic:notEmpty>
</logic:present>
</td>
</tr>
<tr>
<th>
<bean:message key="announcement.typeAnnouncement"/>
</th>
<td>
<html:select property="announcementView.type">
<logic:present name="AnnouncementsForm" property="announcementTypes">
<logic:iterate id="item" name="AnnouncementsForm" property="announcementTypes">
<jomm:option itemName="item" comparableObjectName="AnnouncementsForm" comparableObjectProperty="announcementView.type">
<bean:message key="announcements.type.${item}"/>
</jomm:option>
</logic:iterate>
</logic:present>
</html:select>
</td>
</tr>
<tr>
<th>
<bean:message key="announcement.linkAnnouncement"/>
</th>
<td>
<html:text property="announcementView.url" maxlength="250"/>
</td>
</tr>
<tr>
<th>
<bean:message key="announcement.text"/>
</th>
<td>
<html:textarea property="announcementView.text"/>
</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>
 
<logic:present name="AnnouncementsForm" property="selectedRoles">
<logic:notEmpty name="AnnouncementsForm" property="selectedRoles">
<ul>
<logic:iterate id="item" name="AnnouncementsForm" property="selectedRoles">
<li><a href="AnnouncementForm.role.value='${item}';set(AnnouncementsForm,'removeRole');AnnouncementForm.submit();"><jomm:message patternMessage="user.role.{0}" name0="item"/></a></li>
</logic:iterate>
</ul>
</logic:notEmpty>
</logic:present>
</td>
</tr>
 
<tr>
<th>
<bean:message key="announcement.title"/>
</th>
<td>
<html:text property="announcementView.title" maxlength="250"/>
</td>
</tr>
<estgweb:isAdmin>
<tr>
<th>
 
<bean:message key="announcement.startDate"/>
</th>
<td>
<html:text styleClass="date" property="startDate" styleId="startDate" readonly="true"/> <a href="#" onClick="cal.select(getObjectById('startDate'),'anchor1','yyyy/MM/dd'); return false;" name="anchor1" id="anchor1">Escolha a Data</A> <a href="#" onClick=""><bean:message key="remove"/></A>
</td>
</tr>
<tr>
<th>
<bean:message key="announcement.expireDate"/>
</th>
<td>
<html:text styleClass="date" property="expireDate" styleId="expireDate" readonly="true"/> <a href="#" onClick="cal.select(getObjectById('expireDate'),'anchor2','yyyy/MM/dd'); return false;" name="anchor2" id="anchor2">Escolha a Data</A> <a href="#" onClick=""><bean:message key="remove"/></A>
</td>
</tr>
</estgweb:isAdmin>
<tr>
<th>
<bean:message key="announcement.bigImage"/>
</th>
<td>
<html:file property="bigImage"/>
</td>
</tr>
<tr>
<th>
<bean:message key="announcement.smallImage"/>
</th>
<td>
<html:file property="smallImage"/>
</td>
</tr>
 
<tr>
<th>
<bean:message key="announcement.linkAnnouncement"/>
</th>
<td>
<html:select property="urlProtocol">
<html:option value="http://">Http://</html:option>
<html:option value="ftp://">ftp://</html:option>
<html:option value="https://">Https://</html:option>
</html:select>
<html:text property="url" maxlength="250"/>
</td>
</tr>
<tr>
<th>
<bean:message key="announcement.text"/>
</th>
<td>
<html:textarea property="announcementView.text"/>
</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
1,23 → 1,85
<STYLE>
/*********** Site Struture *************/
BODY *
#searchResults li h1 {
 
background-color: lightblue;
border-bottom: blueviolet 1px solid;
margin-bottom: 10px;
}
 
#searchResults
{
FONT-FAMILY: Helvetica;
FONT-SIZE:1em;
border-left: 1px solid #8ec73f ;
padding-left:10px;
}
 
#body
#searchResults li a
{
width:950px;
margin-left: auto;
margin-right: auto;
cursor:pointer;
}
 
#header
#searchresults div.result {
 
margin-left: 20px;
border-bottom: 1px solid #8ec73f;
margin-bottom: 15px;
padding-bottom: 0;
}
 
#searchResults li .module
{
position:absolute;
visibility:hidden;
}
#searchResults li .module .result h2 {
 
 
color: black;
padding-top: 0;
margin-top: 10px;
cursor: pointer;
padding-bottom: 0;
}
 
#searchResults li .module .result p {
margin-top: 5px;
cursor: pointer;
margin-bottom: 0;
padding-bottom: 2px;
padding-top: 0;
}
 
 
 
 
/*********** Site Struture *************/
BODY *, .contentPortal, .contentPortal p, .contentPortal li {
FONT-FAMILY: "bitstream vera sans", Verdana, Arial, Helvetica, sans-serif;
FONT-SIZE: 1em;
}
 
.pFooter {
background-color: #8EC73F;
font-size: 0.7em;
border-top: 1px solid #cccccc;
border-bottom: 1px solid #cccccc;
text-align: right;
clear: both;
 
}
 
.pFooter a {
font-style: italic;
}
 
#body {
width: 950px;
margin-left: auto;
margin-right: auto;
}
 
#pageStructure {
border-collapse: collapse;
LEFT: 0;
WIDTH: 100%;
BACKGROUND-COLOR: white
}
 
/*#page
26,43 → 88,37
WIDTH: 100%
} */
 
TD#leftPage
{
TD#leftPage {
VERTICAL-ALIGN: top;
WIDTH: 160px;
text-align:left;
text-align: left;
}
 
#leftPagePosition
{
#leftPagePosition {
CLEAR: left;
LEFT: 0;
FLOAT: left;
PADDING-BOTTOM: 20px;
PADDING-TOP: 30px;
PADDING-TOP: 43px;
}
 
TD#rightPage{
TD.rightPage, TD.rightPagePortal {
VERTICAL-ALIGN: top;
WIDTH: 160px;
}
 
#rightPagePosition
{
.rightPagePosition {
CLEAR: left;
LEFT: 0;
FLOAT: left;
PADDING-BOTTOM: 20px;
}
 
#footer
{
#footer {
HEIGHT: 50px;
PADDING-TOP: 5px;
}
 
#footerStructure TABLE
{
#footerStructure TABLE {
BORDER-RIGHT: 0;
BORDER-TOP: 0;
RIGHT: 0;
75,673 → 131,602
TOP: 0;
border-spacing: 0
}
#footerStructure TABLE TD
{
 
#footerStructure TABLE TD {
VERTICAL-ALIGN: top
}
 
TABLE .indexPage
{
width:100%;
}
/****************************Text Size*************************************************/
 
h1
{
font-size:14pt;
h1 {
font-size: 1.2em;
}
h2
{
font-size:12pt;
 
h2 {
font-size: 1em;
}
 
/*************************************************************************************/
 
/*****************************Portal Page Template************************************/
.portal
{
.portal {
}
 
.header h1
{
font-size:20px;
color:#FFFFFF;
background-color:#8EC73F;
padding-left:10px;
padding-right:10px;
.portalContent {
padding-left: 10px;
}
 
.portalContent
{
padding-left:10px;
td.column {
vertical-align: top;
}
 
.block P
{
font-weight:bold;
.portalContent {
padding-left: 10px;
padding-right: 10px;
}
 
.block UL
{
LIST-STYLE-TYPE: none;
padding:0;
.navLeftMenu h2 {
font-size: 0.9em;
}
 
.block a:link
{
color:#4d4d4d;
text-decoration:none;
.navLeftMenu {
font-size: 0.7em;
}
 
.block a:visited
{
color:#4d4d4d;
text-decoration:none;
.block P, .navLeftMenu h2 {
background-color: #ededed;
padding-left: 10px;
margin: 0;
 
}
 
.block a:hover
{
color:#8EC73F;
text-decoration:underline;
.block UL {
LIST-STYLE-TYPE: none;
padding-left: 10px;
}
/**********************************************************************************/
 
/****************************** Standard Page Template ***************************/
.page,.pageText
{
font-size :11.5pt;
.block a:link {
color: #4d4d4d;
text-decoration: none;
}
 
.page P
{
.block a:visited {
color: #4d4d4d;
text-decoration: none;
}
 
.page h1,.pageHeader h1
{
font-size:15pt;
.block a:hover, .linkUnderlineGrayToGreen a:hover {
color: #8EC73F;
text-decoration: underline;
}
 
.page h2,.sectionTitle h2
{
font-size:13pt;
font-weight:bold;
.portalLeftAnnouncements table {
table-layout: fixed;
width: 180px;
padding-top: 10px;
font-size: 0.8em;
}
 
.page h3,.sectionTitle h3
{
font-size:10pt;
font-weight:bold;
color:#000000;
.portalRightAnnouncements table {
table-layout: fixed;
width: 250px;
font-size: 0.8em;
}
 
.pageHeader h1
{
color:#FFFFFF;
background-color:#8EC73F;
padding-left:10px;
padding-right:10px;
.portalAnnouncement a:link, .portalAnnouncement a:visited {
margin: 0;
}
 
.portalContent
{
.portalAnnouncementTitle a {
color: #000000;
}
 
.pageBlock a:hover
{
color:#8EC73F;
text-decoration :underline;
.portalAnnouncement a {
text-decoration: none;
}
 
.pageColumnTableSolid
{
border:#000000 solid 1px;
.portalAnnouncementText a:link, .portalAnnouncementText a:visited {
color: #4d4d4d;
}
 
.listClean UL /*Lista sem nada*/
{
LIST-STYLE-TYPE: none;
padding:0;
.navleftMenu {
width: 180px;
padding-left: 10px;
}
 
.listCircleWhite UL/*Lista circulo branco*/
{
LIST-STYLE-TYPE: circle;
#portalMenu li.selected a {
color: #8EC73F;
}
 
.listDecimal UL/*Lista decimal*/
{
LIST-STYLE-TYPE: decimal;
/**********************************************************************************/
 
/****************************** Standard Page Template ***************************/
.contentPortal h1 {
background-color: #8EC73F;
color: #FFFFFF;
font-size: 1.2em;
}
 
.listDisc UL/*Lista circulo preto*/
{
LIST-STYLE-TYPE: disc;
.contentPortal h2 {
font-size: 1em;
}
 
.listSquare UL/*Lista quadrado preto*/
{
LIST-STYLE-TYPE: square;
.contentPortal {
font-size: 0.75em;
}
 
.pageSection
{
.contentPortal p {
margin: 0;
color: #4d4d4d;
}
 
.sectionTitle h2
{
color:#000000;
.section {
margin-bottom: 10px;
}
 
.pageText,.pageBlock a,.pageBlock a:visited
{
color:#4d4d4d;
text-decoration:none;
.contentPortal li a:link, .contentPortal a:visited, .contentPortal li {
color: #4d4d4d;
}
/*********************************************************************************/
 
/*****************************Left Menu Style************************************/
.contentPortal li a:hover {
color: #8EC73F;
}
 
#leftMenuModule LI A:link
.listClean UL /*Lista sem nada*/
{
PADDING-RIGHT: 0;
FONT-SIZE: 14px;
DISPLAY: block;
PADDING-LEFT: 10px;
PADDING-BOTTOM: 0;
PADDING-TOP: 0;
HEIGHT: 1%;
LIST-STYLE-TYPE: none;
padding: 0;
}
 
#leftMenuModule LI A:visited
.listCircleWhite UL /*Lista circulo branco*/
{
PADDING-RIGHT: 0;
DISPLAY: block;
PADDING-LEFT: 10px;
PADDING-BOTTOM: 0;
PADDING-TOP: 0;
HEIGHT: 1%;
FONT-SIZE: 14px;
LIST-STYLE-TYPE: circle;
}
 
#leftMenuModule P
.listDecimal UL /*Lista decimal*/
{
COLOR:#8EC73F;
MARGIN: 0;
PADDING-LEFT: 5px ;
FONT-SIZE: 14px;
LIST-STYLE-TYPE: decimal;
}
 
#leftMenuModule UL
.listDisc UL /*Lista circulo preto*/
{
PADDING-RIGHT: 0;
PADDING-LEFT: 0;
MARGIN: 0;
WIDTH: 155px;
LINE-HEIGHT: 1.5em;
LIST-STYLE-TYPE: disc;
}
 
#leftMenuModule LI
.listSquare UL /*Lista quadrado preto*/
{
COLOR:#8EC73F;
FONT-SIZE: 14px;
LIST-STYLE-TYPE: none;
LIST-STYLE-TYPE: square;
}
/**********************************************************************************/
 
/****************** topnav **********************
.portalLeftAnnouncements img {
height: 133px;
width: 177px;
}
 
#topnav
{
BACKGROUND-COLOR: #FDE1CD;
BORDER-RIGHT-COLOR: #ccc;
FONT: 11px/20px "bitstream vera sans", "Lucida Grande", "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif
/*PASSA PARA AQUI TUDO O QUE SEJA DE BLOCOS E VAMOS LIMPAR TUDO */
 
/*Isto tem de ser generico o H1 jáe um header nao necessita da classe .header para nada*/
/*Block Titles*/
.content h1, #lastnews h1 {
margin-bottom: 1px;
color: #FFFFFF;
background-color: #8EC73F;
padding-left: 10px;
}
 
#topnav LI A:hover
{
COLOR: #000000;
BACKGROUND-COLOR: #ffffcc
/*********************************************************************************/
/******************************* Index Page***************************************/
#flashTopNews * td, #flashCenterNews * td, #flashBottomNews * td {
vertical-align: top;
}
 
#topnav UL
{
PADDING-RIGHT: 0;
PADDING-LEFT: 0;
PADDING-BOTTOM: 10px;
MARGIN: 0;
WIDTH: 155px;
LINE-HEIGHT: 1.5em;
PADDING-TOP: 0;
LIST-STYLE-TYPE: none
/*FlashTopNews*/
#flashTopNews {
padding: 0;
margin: 0;
}
 
#topnav LI
{
PADDING-RIGHT: 0;
DISPLAY: inline;
PADDING-LEFT: 0;
PADDING-BOTTOM: 0;
MARGIN: 0;
PADDING-TOP: 0
#flashTopNews .container {
background-color: #4d4d4d;
height: 100px;
width: 100%;
margin: 0;
}
*****************************************************************************************/
 
/************************************** Content Structure ********************************/
#flashTopNews .container .textContainer {
margin: 0;
text-align: justify;
}
 
#content1,#content2,#content3,#content4
{
LEFT: 0;
RIGHT: 0;
WIDTH: 100%;
BORDER-LEFT-COLOR: #002244;
BORDER-BOTTOM-COLOR: #002244;
BORDER-TOP-COLOR: #002244;
BORDER-RIGHT-COLOR: #002244;
BORDER-RIGHT: 1px solid;
BORDER-TOP: 1px solid;
PADDING-BOTTOM: 10px;
VERTICAL-ALIGN: top;
BORDER-LEFT: 1px solid;
BORDER-BOTTOM: 1px solid
#flashTopNews .container .imageContainer {
margin: 0;
text-align: right;
text-decoration: none;
}
 
#flashTopNews img {
height: 167px;
width: 341px;
}
 
/*****************************************************************************************/
#flashTopNews * td {
vertical-align: top;
}
 
/************************************* Footer Modules ***********************************/
#flashTopNews .container .textContainer h2 {
margin: 0;
margin-top: 1px;
}
 
#license UL
{
COLOR: #4D4D4D;
PADDING-RIGHT: 0;
PADDING-LEFT: 0;
FONT-SIZE: 12px;
TEXT-ALIGN: center;
MARGIN: 0;
LIST-STYLE-TYPE: none;
#flashTopNews .container .textContainer p {
margin: 0;
margin-top: 1px;
}
 
#footer #organizations
{
#flashTopNews h2 a:link, #flashTopNews h2 a:visited {
color: #8EC73F;
font-weight: bold;
text-decoration: none;
}
 
#footer #sponsors
{
#flashTopNews p a:link, #flashTopNews p a:visited {
color: #FFFFFF;
text-decoration: none;
}
 
/**************************************************************************************/
/*FlashCenterNews*/
#flashCenterNews {
margin-top: 2px;
border-top-style: dotted;
border-top-color: gray;
}
 
/******************************** Bar Module Color ************************************/
TD #topBar
{
font-weight:bold;
color:white;
background-color:#8EC73F;
padding-left:10px;
FONT-SIZE: 18px
#flashCenterNews .container {
width: 100%;
margin: 0;
}
/**************************************************************************************/
 
/******************************** Background Color ************************************/
/*Gray background*/
#backOne
{
background-color:#4D4D4D;
#flashCenterNews .textContainer {
padding-top: 10px;
}
/**************************************************************************************/
 
/********************************* Link Types Color************************************/
#flashCenterNews h2 a:link, #flashCenterNews h2 a:visited {
color: #8EC73F;
font-weight: bold;
text-decoration: none;
}
 
/*Gray to green */
#linkTypeOne LI A:link
{
COLOR:#4D4D4D;
TEXT-DECORATION: none;
#flashCenterNews p a:link, #flashCenterNews p a:visited {
color: #4d4d4d;
text-decoration: none;
}
 
#linkTypeOne UL LI A:hover
{
COLOR:#8EC73F;
TEXT-DECORATION: none;
#flashCenterNews img, #flashCenterNews td.imageContainer {
width: 133px;
height: 133px;
}
 
#linkTypeOne LI A:visited
{
COLOR:#4D4D4D;
TEXT-DECORATION: none;
/*FlashBottomNews*/
#flashBottomNews img {
width: 100px;
height: 100px;
}
 
/*Gray to green underline*/
.linkTypeTwo li a:hover
{
text-decoration: underline;
color:#8EC73F;
list-style:none;
#flashBottomNews h2 a:link, #flashBottomNews h2 a:visited {
color: #8EC73F;
font-weight: bold;
}
 
.linkTypeTwo a:link
{
text-decoration: none;
color:#4D4D4D;
list-style:none;
#flashBottomNews p a:link, #flashBottomNews p a:visited {
color: #4d4d4d;
}
 
.linkTypeTwo a:visited
{
text-decoration: none;
color:#4D4D4D;
list-style:none;
/*Last News Block*/
#lastnews {
font-size: 0.8em;
}
 
/*Green to green underline*/
.linkTypeThree a:hover
{
text-decoration: underline;
color:#8EC73F;
list-style:none;
#lastnews ul {
list-style: none;
width: 160px;
LIST-STYLE-TYPE: none;
padding: 0;
margin: 0;
}
 
.linkTypeThree a:link
{
text-decoration: none;
color:#8EC73F;
list-style:none;
#lastnews li {
margin: 0;
padding: 0;
}
 
.linkTypeThree a:visited
{
#lastnews li h2 {
padding: 0;
padding-left: 2px;
margin: 1px;
}
 
#lastnews li h2 a, .linkLeftMenu a {
text-decoration: none;
color:#4D4D4D;
list-style:none;
}
 
/*Gray underline to green underline*/
#linkTypeFour A:link
{
COLOR:#4D4D4D;
list-style:none;
#lastnews li h2 a:link, .linkLeftMenu a:link {
color: #4d4d4d;
}
 
#linkTypeFour A:hover
{
list-style:none;
COLOR:#8EC73F;
#lastnews li h2 a:visited, .linkLeftMenu a:visited {
color: #4d4d4d;
}
 
#linkTypeFour A:visited
{
list-style:none;
COLOR:#4D4D4D;
#lastnews li h2 a:hover, .linkLeftMenu a:hover {
color: #8EC73F;
}
 
/*White to White underline*/
.linkTypeFive a:hover
{
text-decoration: underline;
color:#FFFFFF;
list-style:none;
/**/
 
/*LEFT MENUS*/
#leftMenuModule h2 {
MARGIN: 0;
color: #8EC73F;
}
 
.linkTypeFive a:link
{
text-decoration: none;
color:#FFFFFF;
list-style:none;
#leftMenuModule UL {
MARGIN: 0;
WIDTH: 155px;
}
 
.linkTypeFive a:visited
{
/*********************************************************************************/
 
/****************** topnav **********************/
 
#topnav {
color: #FFFFFF;
text-decoration: none;
color:#FFFFFF;
list-style:none;
BACKGROUND-COLOR: #8EC73F;
FONT: 11px / 20px "bitstream vera sans", "Lucida Grande", "Trebuchet MS", Verdana, Arial, Helvetica, sans-serif
}
 
/*Gray*/
.linkTypeSix a:hover
{
color:#4D4D4D;
list-style:none;
#topnav LI A:hover {
COLOR: #4d4d4d;
BACKGROUND-COLOR: #FFFFFF
}
 
.linkTypeSix a:link
{
#topnav LI A {
color: #FFFFFF;
text-decoration: none;
color:#4D4D4D;
list-style:none;
}
 
.linkTypeSix a:visited
{
text-decoration: none;
color:#4D4D4D;
list-style:none;
#topnav UL {
PADDING-RIGHT: 0;
PADDING-LEFT: 0;
PADDING-BOTTOM: 10px;
MARGIN: 0;
WIDTH: 155px;
LINE-HEIGHT: 1.5em;
PADDING-TOP: 0;
LIST-STYLE-TYPE: none
}
 
/*Green*/
.linkTypeSeven a:hover
{
color:#8EC73F;
list-style:none;
#topnav LI {
PADDING-RIGHT: 0;
DISPLAY: inline;
PADDING-LEFT: 0;
PADDING-BOTTOM: 0;
MARGIN: 0;
PADDING-TOP: 0;
}
 
.linkTypeSeven a:link
{
text-decoration: none;
color:#8EC73F;
list-style:none;
/*****************************************************************************************/
 
/************************************** Content Structure ********************************/
.contentPortal {
padding-left: 10px;
padding-top: 10px;
}
 
.linkTypeSeven a:visited
{
text-decoration: none;
color:#8EC73F;
list-style:none;
.content h2 {
font-size: 1em;
}
 
/*White*/
.linkTypeHeight a:hover
#pageStructure .content
{
color:#FFFFFF;
list-style:none;
border: 0;
}
 
.linkTypeHeight a:link
.content .imageAnnouncement img
{
text-decoration: none;
color:#FFFFFF;
list-style:none;
width:341px;
height:167px;
}
 
.linkTypeHeight a:visited
.content
{
text-decoration: none;
color:#FFFFFF;
list-style:none;
border: 1px solid #8ec73f ;
}
 
/*Gray Underline*/
.linkTypeNine a:hover
{
text-decoration: underline;
color:#4D4D4D;
list-style:none;
 
 
.content {
font-size: 0.8em;
}
 
.linkTypeNine a:link
{
text-decoration: underline;
color:#4D4D4D;
list-style:none;
.content a:link, .content a:visited {
color: #4d4d4d;
}
 
.linkTypeNine a:visited
{
text-decoration: underline;
color:#4D4D4D;
list-style:none;
.content a:hover {
color: #8EC73F
}
 
/*Green Underline*/
.linkTypeTen a:hover
{
text-decoration: underline;
color:#8EC73F;
list-style:none;
.content, .contentPortal {
LEFT: 0;
RIGHT: 0;
WIDTH: 100%;
PADDING-BOTTOM: 10px;
VERTICAL-ALIGN: top;
}
 
.linkTypeTen a:link
{
text-decoration: underline;
color:#8EC73F;
list-style:none;
.contentPortal {
border-left: #8EC73F solid 2px;
border-top: #8EC73F solid 2px;
border-bottom: #8EC73F solid 2px;
}
 
.linkTypeTen a:visited
{
text-decoration: underline;
color:#8EC73F;
list-style:none;
.rightPagePortal {
background-color: #ededed;
border-right: #8EC73F solid 2px;
border-top: #8EC73F solid 2px;
border-bottom: #8EC73F solid 2px;
}
 
/**************************************************************************************/
/*****************************************************************************************/
 
/*************************Staff Links Structure***************************************/
.staffLinks P
{
font-weight :bold;
/************************************* Footer Modules ***********************************/
 
#license UL {
COLOR: #4D4D4D;
PADDING-RIGHT: 0;
PADDING-LEFT: 0;
FONT-SIZE: 12px;
TEXT-ALIGN: center;
MARGIN: 0;
LIST-STYLE-TYPE: none;
}
/*************************************************************************************/
 
/************************Announcements Structure*********************************/
#footer #organizations {
}
 
.lastAnnouncementsModule td
{
padding-top:3px;
padding-right:15px;
text-align: left;
#footer #sponsors {
}
.lastAnnouncementsModule td ul
{
list-style:none;
padding:0;
padding-left:5px;
WIDTH: 155px;
 
#footer a:link, #footer a:visited {
color: #4d4d4d;
}
 
.padLeft10
{
padding-left:10px;
#footer a:hover {
color: #8EC73F;
}
.topSpace
{
padding-Top :10px;
 
/**************************************************************************************/
 
/******************************** Bar Module Color ************************************/
TD #topBar {
font-weight: bold;
color: white;
background-color: #8EC73F;
padding-left: 10px;
FONT-SIZE: 18px
}
/**********************************************************************************/
 
.form , .boxHorizontal
{
margin:0;
padding:3px;
border:1px #793B0D solid ;
background-color:#F5BB91;
/**************************************************************************************/
 
/******************************** Background Color ************************************/
/*Gray background*/
#backOne {
background-color: #4D4D4D;
}
 
.form th, .boxHorizontal th
{
margin:0;
padding-left:10px;
padding-top:3px;
padding-bottom:3px;
padding-right:15px;
color:#793B0D;
background-color: #F5BB91;
border: 1px solid #793B0D;
font-size:0.76em;
font-weight:bold;
font-family:Helvetica,sans-serif;
text-align:left;
/**************************************************************************************/
 
/*************************Staff Links Structure***************************************/
.staffLinks P {
font-weight: bold;
}
 
.form td, .boxHorizontal td
{
margin:0;
padding-left:10px;
padding-top:3px;
padding-bottom:3px;
padding-right:15px;
color:#793B0D;
/*************************************************************************************/
 
form, .boxHorizontal {
margin: 0;
padding: 3px;
border: 0px #793B0D solid;
background-color: #FFFFFF;
border: 1px solid #793B0D;
font-size:0.8em;
font-family:Helvetica,sans-serif;
vertical-align:middle;
}
 
.form .buttons td, .boxHorizontal .buttons td
{
text-align:center;
background-color: #FDE1CD;
.boxHorizontal {
padding-top: 33px;
padding-left: 180px;
}
 
.form textarea, .boxHorizontal textarea
{
width:600px;
height:300px;
.form th, .boxHorizontal th {
margin: 0;
padding-left: 10px;
padding-top: 3px;
padding-bottom: 3px;
padding-right: 15px;
color: #4d4d4d;
background-color: #FFFFFF;
border: 0px solid #793B0D;
font-size: 0.86em;
font-weight: bold;
font-family: Helvetica, sans-serif;
text-align: left;
}
 
.form td, .boxHorizontal td {
margin: 0;
padding-left: 10px;
padding-top: 3px;
padding-bottom: 3px;
padding-right: 15px;
color: #793B0D;
background-color: #FFFFFF;
border: 0 solid #793B0D;
font-size: 0.8em;
font-family: Helvetica, sans-serif;
vertical-align: middle;
}
 
.form input[type="text"], .form input[type="password"]
{
width:600px;
.form .buttons td, .boxHorizontal .buttons td {
text-align: left;
background-color: #FFFFFF;
}
.form input.date
{
width:100px;
 
.form textarea, .boxHorizontal textarea {
width: 600px;
height: 300px;
 
}
 
.form input[type="text"], .form input[type="password"] {
width: 600px;
}
 
.form input.date {
width: 100px;
}
 
 
/* PAGE LAYOUTS */
 
.seccao, .seccao p
{
padding:30px;
font-size:0.95em;
.seccao, .seccao p {
padding: 10px;
font-size: 0.95em;
font-family: Helvetica, sans-serif;
}
.seccao p
{
padding:4px;
 
.seccao p {
padding: 4px;
}
.seccao h1
{
font-size:1.1em;
font-weight:bold;
font-family:Helvetica,sans-serif;
color:red;
 
.seccao h1 {
font-size: 1.1em;
font-weight: bold;
font-family: Helvetica, sans-serif;
color: red;
}
 
.seccao .seccao h1
{
font-size:1em;
font-weight:bold;
font-family: Helvetica,sans-serif;
color:red;
.seccao .seccao h1 {
font-size: 1em;
font-weight: bold;
font-family: Helvetica, sans-serif;
color: red;
}
 
 
/*Butões*/
 
input[type="text"] , input[type="password"]
{
input[type="text"], input[type="password"] {
FONT-SIZE: 0.8em;
FONT-FAMILY:Helvetica;
FONT-FAMILY: Helvetica;
}
 
input[type="button"], input[type="submit"]
{
color: black;
input[type="button"], input[type="submit"] {
color: #4d4d4d;
border-top-width: 1px;
border-right-width: 1px;
border-bottom-width: 1px;
750,19 → 735,18
border-right-style: solid;
border-bottom-style: solid;
border-left-style: solid;
border-top-color: black;
border-right-color: black;
border-bottom-color: black;
border-left-color: black;
border-top-color: #4d4d4d;
border-right-color: #4d4d4d;
border-bottom-color: #4d4d4d;
border-left-color: #4d4d4d;
background-color: transparent;
background-image: none;
background-repeat: repeat;
background-attachment: scroll;
}
 
input[type="button"]:hover, input[type="submit"]:hover
{
background-color: #909090;
input[type="button"]:hover, input[type="submit"]:hover {
background-color: #8EC73F;
background-image: none;
background-repeat: repeat;
background-attachment: scroll;
771,119 → 755,162
}
 
/*Errors and Warnings*/
.statusOK
{
.statusOK {
padding: 2px;
list-style-type: none;
color: green;
background-color: #FFEEDD;
}
 
.statusERROR
{
color:red;
.statusERROR {
color: red;
}
 
.statusWARNING
{
.statusWARNING {
padding: 2px;
list-style-type: none;
color: yellow;
background-color: black;
}
.requiredField{
 
.requiredField {
color: red;
}
 
.statusSearch{
color:lightblue;
.statusSearch {
color: lightblue;
}
 
/********************************************** Navigation Menu ********************************/
ul.menubar{
margin: 0px;
padding: 0px;
background-color: #FFFFFF; /* IE6 Bug */
font-size: 100%;
ul.menubar {
margin: 0px;
padding: 0px;
background-color: #FFFFFF; /* IE6 Bug */
font-size: 100%;
 
}
.submenu
{
font: bold 16px sans;
 
.submenu {
FONT-FAMILY: "Lucida Grande", "Trebuchet MS", "bitstream vera sans", Verdana, Arial, Helvetica, sans-serif;
font-size: 0.8em;
}
 
.menu
{
font: normal 14px sans;
.menu {
FONT-FAMILY: "Lucida Grande", "Trebuchet MS", "bitstream vera sans", Verdana, Arial, Helvetica, sans-serif;
font-size: 0.8em;
}
 
ul.menubar .submenu{
margin: 0px;
padding: 0px;
list-style: none;
background-color: #FFFFFF;
float:left;
ul.menubar .submenu {
margin: 0;
padding: 0;
list-style: none;
background-color: #FFFFFF;
float: left;
}
 
ul.menubar ul.menu{
display: none;
position: absolute;
margin: 0px;
ul.menubar ul.menu {
display: none;
position: absolute;
margin: 0;
}
 
ul.menubar a{
padding: 5px;
display:block;
text-decoration: none;
color: #4D4D4D;
padding: 5px;
ul.menubar a {
 
display: block;
text-decoration: none;
color: #4D4D4D;
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;
ul.menubar a:hover {
display: block;
text-decoration: none;
color: #4D4D4D;
padding-left: 5px;
padding-right: 5px;
padding-top: 2px;
padding-bottom: 2px;
}
 
.menu a:hover{
padding: 5px;
display:block;
/* border-left: none;
 
 
#menuTop
{
width:100%;
}
#menuTop td.searchTab form
{
text-align:right;
}
#menuTop td.searchTab form table td
{
vertical-align:middle;
}
 
#menuTop td.searchTab input[type="text"]
{
width:200px;
}
 
 
#menuTop form td,#menuTop form th
{
font-size: 0.85em;
}
#menuTop td.searchTab
{
float:right;
text-align:left;
}
#menuTop td
{
vertical-align:top;
}
 
 
 
.menu a:hover {
 
display: block;
/* border-left: none;
border-right: none;
border-top: none;
border-bottom: none; */
padding: 5px;
 
}
 
ul.menu, ul.menu ul{
margin: 0;
padding: 2px;
/* border-left: 1px solid #ccc;
border-bottom: 1px solid #ccc;
border-top: 1px solid #ccc;
border-right: 1px solid #ccc; */
background-color: #FFFFFF; /* IE6 Bug */
ul.menu, ul.menu ul {
margin: 0;
padding: 2px;
/* border-left: 1px solid #ccc;
border-bottom: 1px solid #ccc;
border-top: 1px solid #ccc;
border-right: 1px solid #ccc; */
background-color: #FFFFFF; /* IE6 Bug */
}
 
ul.menu li{
position: relative;
list-style: none;
/*border: 0px;*/
background-color: #4D4D4D;
width:250px;
ul.menu li {
position: relative;
list-style: none; /*border: 0px;*/
opacity: 0.9;
background-color: #4D4D4D;
width: 250px;
}
 
ul.menu li a{
display: block;
text-decoration: none;
/* border-bottom: 0px;*/
/*color: #4D4D4D;*/
/* background-color: #FFFFFF; */
color: #4d4d4d;
background-color: #CCCCCC;
padding: 5px 10px 5px 5px;
ul.menu li a {
display: block;
text-decoration: none; /* border-bottom: 0px;*/
/*color: #4D4D4D;*/
/* background-color: #FFFFFF; */
color: #4d4d4d;
background-color: #CCCCCC;
padding-left: 2px;
padding-right: 2px;
padding-top: 2px;
padding-bottom: 2px;
}
 
/*
897,43 → 924,49
padding-right:2px;
}
*/
.shadow UL
{
background :transparent;
width:250px;
.shadow UL {
background: transparent;
width: 250px;
color: inherit;
}
 
ul.menu li sup{
font-weight:bold;
font-size:7px;
color: red;
/*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%;
}
 
/* Fix IE. Hide from IE Mac \*/
* html ul.menu li { float: left; height: 1%; }
* html ul.menu li a { height: 1%; }
* html ul.menu li a {
height: 1%;
}
 
/* End */
 
ul.menu ul{
position: absolute;
display: none;
left: 149px; /* Set 1px less than menu width */
top: 0px;
ul.menu ul {
position: absolute;
display: none;
left: 149px; /* Set 1px less than menu width */
top: 0px;
}
 
ul.menu li.submenu ul
{
ul.menu li.submenu ul {
display: none;
} /* Hide sub-menus initially */
}
 
ul.menu li a:hover
{
/* Hide sub-menus initially */
 
ul.menu li a:hover {
background-color: #8EC73F;
color: #FFFFFF;
text-decoration :underline;
text-decoration: underline;
}
 
/***********************************************************************************************/
 
</STYLE>
 
/impl/src/web/css/intranet.css
New file
0,0 → 1,75
/* --- Main Navigation --- */
 
#body,#page
{
width:950px;
margin-left: auto;
margin-right: auto;
}
 
#testeTop {
border-bottom: 10px solid #ebe6d6;
}
 
#testeTop ul {
margin: 0;
padding: 0;
}
#testeTop ul li {
margin: 0;
padding: 0;
}
#testeTop ul li span {
margin: 0;
padding: 0;
}
#testeTop {
float: left;
width: 100%;
font-size: 11px;
padding-top: 0.5em;
}
#testeTop ul {
margin: 0;
margin-left: 200px;
list-style: none;
}
#testeTop li {
float: left;
padding: 0;
font-family: Tahoma, Verdana, Sans-Serif;
margin: 0;
}
#testeTop ul li {
margin-right: 2px;
}
#testeTop li a {
float: left;
font-size: 100%;
font-weight: normal;
text-decoration: none;
white-space: nowrap;
}
#testeTop li a span {
float: left;
padding: 0.4em 8px;
cursor: pointer; /* IE6 tweak */
}
 
 
 
#testeTop { border-top: 4px solid #31C70F; background: #5fC73F url(../images/0grad01.gif) bottom repeat-x; }
#testeTop li a { display: block; background: #11a71F url(../images/0corner_left_01.gif) top left repeat-x;}
#testeTop li a span { background: url(../images/0corner_right_01.gif) top right no-repeat; }
#testeTop ul li.selected a { background: #ebe6d6 url(../images/0corner_left_span_01.gif) top left no-repeat; }
#testeTop ul li.selected a span { background: url(../images/0corner_right_span_01.gif) top right no-repeat; }
#testeTop ul li.selected a:hover { background: #ebe6d6 url(../images/0corner_left_span_01.gif) top left no-repeat; color: #000; }
#testeTop ul li.selected a:hover span { background: url(../images/0corner_right_span_01.gif) top right no-repeat; color: #000; }
#testeTop li a:hover { background: #23C71F url(../images/0corner_left_light_01.gif) top left repeat-x; }
#testeTop li a:hover span { background: url(../images/0corner_right_light_01.gif) top right no-repeat; }
 
 
#testeTop a, #testeTop a:visited, #testeTop a:hover
{
COLOR:BLACK;
}
/impl/src/web/js/functions.js
30,4 → 30,4
f = fso.GetFile(path);
 
return(new Date(f.DateLastModified).getDate());
}
}
/impl/src/web/js/ajax.js
1,121 → 1,198
var xmlHttp;
var servidorBaseUrl = "@server.base.url@";
/**
*
* AJAX Functions
*
* This code is protected under GNU LGPL License
*
* @author Jorge Machado
* @date April 2008
**/
 
/**
* Starts XMLHTTP Ajax request
*
* @author Jorge Machado
* @date April 2008
*
* params:
* @params HTTP GET Parameters for query string
* @xmlHttpRequest request
* @id target element
* @stateChanged target function
* @innerPhrase to put while waiting for response
* @navjsp requested jsp
*/
function startRequest(xmlHttpRequest,params,id,stateChanged,innerPhrase,navjsp)
{
if(innerPhrase != '')
getObjectById(id).innerHTML = innerPhrase;
if (xmlHttpRequest==null)
{
alert ("Browser does not support HTTP Request");
return;
}
var url= navjsp;
if(params != null && params.length > 0)
{
url=url+"?"+ params;
url=url+"&sid="+Math.random();
}
else
{
url=url+"?sid="+Math.random();
}
xmlHttpRequest.onreadystatechange=stateChanged;
xmlHttpRequest.open("GET",url,true);
xmlHttpRequest.send(null);
}
 
function getObjectById(objectId) {
 
// cross-browser function to get an object's style object given its id
try
/**
* Return an HTML element given ID
*
* @author Jorge Machado
* @date April 2008
*
* params:
* @objectId required object
*/
function getObjectById(objectId)
{
// cross-browser function to get an object's style object given its id
try
{
if(document.getElementById && document.getElementById(objectId))
{
if(document.getElementById && document.getElementById(objectId)) {
// W3C DOM
return document.getElementById(objectId);
} else if (document.all(objectId)) {
return document.getElementById(objectId);
}
else if (document.all(objectId))
{
// MSIE 4 DOM
return document.all(objectId);
} else if (document.layers && document.layers[objectId]) {
return document.all(objectId);
}
else if (document.layers && document.layers[objectId])
{
// NN 4 DOM.. note: this won't find nested layers
return document.layers[objectId];
} else {
return false;
}
return document.layers[objectId];
}
catch(e)
else
{
return false;
}
}
catch(e)
{
return false;
}
}
 
} // getObjectById
 
function GetXmlHttpObject()
function hide(id,showId)
{
var objXMLHttp=null;
if (window.XMLHttpRequest)
{
objXMLHttp=new XMLHttpRequest();
}
else if (window.ActiveXObject)
{
objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
return objXMLHttp;
getObjectById(id).style.visibility='hidden';
getObjectById(id).style.position='absolute';
getObjectById(showId).style.visibility='visible';
getObjectById(showId).style.position='relative';
}
 
function GetXmlHttpObject(handler)
function show(id,hideId)
{
getObjectById(id).style.visibility='visible';
getObjectById(id).style.position='relative';
getObjectById(hideId).style.visibility='hidden';
getObjectById(hideId).style.position='absolute';
 
var objXmlHttp=null;
 
if (navigator.userAgent.indexOf("Opera")>=0)
{
alert("This example doesn't work in Opera") ;
return ;
}
if (navigator.userAgent.indexOf("MSIE")>=0)
{
var strName="Msxml2.XMLHTTP";
if (navigator.appVersion.indexOf("MSIE 5.5")>=0)
{
strName="Microsoft.XMLHTTP";
}
try
{
objXmlHttp=new ActiveXObject(strName);
objXmlHttp.onreadystatechange=handler ;
return objXmlHttp;
}
catch(e)
{
alert("Error. Scripting for ActiveX might be disabled") ;
return ;
}
}
if (navigator.userAgent.indexOf("Mozilla")>=0)
{
objXmlHttp=new XMLHttpRequest();
objXmlHttp.onload=handler;
objXmlHttp.onerror=handler;
return objXmlHttp;
}
}
 
/**
* Creates a new XmlHttpObject
* @author Jorge Machado
* @date April 2008
*
* Application Methods Examples
*
*
* params:
* @handler target xmlHttpObject function
*/
function GetXmlHttpObject(handler)
{
var objXmlHttp = null;
if (navigator.userAgent.indexOf("Opera")>=0)
{
alert("This example doesn't work in Opera") ;
return objXmlHttp;
}
if (navigator.userAgent.indexOf("MSIE")>=0)
{
var strName="Msxml2.XMLHTTP";
if (navigator.appVersion.indexOf("MSIE 5.5")>=0)
{
strName="Microsoft.XMLHTTP";
}
try
{
objXmlHttp=new ActiveXObject(strName);
objXmlHttp.onreadystatechange=handler ;
return objXmlHttp;
}
catch(e)
{
alert("Error. Scripting for ActiveX might be disabled") ;
return objXmlHttp;
}
}
if (navigator.userAgent.indexOf("Mozilla")>=0)
{
objXmlHttp=new XMLHttpRequest();
objXmlHttp.onload=handler;
objXmlHttp.onerror=handler;
return objXmlHttp;
}
}
 
/***************************************************
TopFlashNews
***************************************************/
var xmlHttpTopFlashNews;
var getFlashNewsTimeout;
var getFlashNewsJsp;
 
function getImportState()
function getFlashNews(jsp,timeout)
{
xmlHttp=GetXmlHttpObject(stateChangedGetImportState);
getObjectById("importState").innerHTML = "<div class=\"statusSearch\">Updating import state ....</div>";
if (xmlHttp==null)
{
alert ("Browser does not support HTTP Request");
return;
}
//http://servidor:8080
var url= servidorBaseUrl + "/jsp/import/getImportState.jsp";
url=url+"?sid="+Math.random();
xmlHttp.onreadystatechange=stateChangedGetImportState;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
getFlashNewsJsp = jsp;
getFlashNewsTimeout = timeout;
getFlashNewsTimeoutCall();
}
function getFlashNewsTimeoutCall()
{
xmlHttpTopFlashNews=GetXmlHttpObject(stateChangedGetFlashNews);
startRequest(xmlHttpTopFlashNews,"","flashTopNews",stateChangedGetFlashNews,"",getFlashNewsJsp)
}
function stateChangedGetFlashNews()
{
if (xmlHttpTopFlashNews.readyState==4 || xmlHttpTopFlashNews.readyState=="complete")
{
getObjectById("flashTopNews").innerHTML=xmlHttpTopFlashNews.responseText;
setTimeout(getFlashNewsTimeoutCall,getFlashNewsTimeout);
}
}
 
function stateChangedGetImportState()
 
/***************************************************
Search
***************************************************/
var xmlHttpSearch;
var searchResultsDiv;
 
function searchCall(div,query,searchType,page,module,action)
{
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
{
var html = xmlHttp.responseText;
getObjectById("importState").innerHTML=html;
if(!(getObjectById("importStateStatus") != null && getObjectById("importStateStatus").value == 'STOPPED'))
{
setTimeout(getImportState,5000);
}
}
searchResultsDiv = div;
xmlHttpSearch=GetXmlHttpObject(stateChangedSearchCall);
startRequest(xmlHttpSearch,"dispatch=searchModule&query=" + query + "&searchType=" + searchType + "&page=" + page + "&module=" + module,"",stateChangedSearchCall,"",action);
}
function stateChangedSearchCall()
{
if (xmlHttpSearch.readyState==4 || xmlHttpSearch.readyState=="complete")
{
getObjectById(searchResultsDiv).innerHTML=xmlHttpSearch.responseText;
}
}
 
 
 
/impl/src/web/layout/ajaxLayout.jsp
File deleted
/impl/src/web/layout/EmptyLayout.jsp
New file
0,0 → 1,6
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@ taglib uri="/WEB-INF/tlds/struts-tiles.tld" prefix="tiles" %>
 
<tiles:insert attribute="body" />
 
/impl/src/web/layout/footer.jsp
15,7 → 15,7
</td>
<td align="center" width="33%">
<div id="license">
<ul id="linkTypeFour">
<ul class="copyRightLink">
<li>Copyright © <a href="http://www.estgp.com">ESTG</a> 2008</li>
<!--<li>Contact ESTG Webmaster at (webmaster [AT] estgp [DOT] pt)</li>-->
</ul>
/impl/src/web/layout/layout1.jsp
12,46 → 12,52
<script type="text/javascript">
function horizontal() {
 
var navItems = document.getElementById("menu_dropdown").getElementsByTagName("li");
var navItems = document.getElementById("menu_dropdown").getElementsByTagName("li");
 
for (var i=0; i< navItems.length; i++) {
if(navItems[i].className == "submenu")
{
if(navItems[i].getElementsByTagName('ul')[0] != null)
{
navItems[i].onmouseover=function() {
this.getElementsByTagName('ul')[0].style.display="block";}
navItems[i].onmouseout=function() {this.getElementsByTagName('ul')[0].style.display="none";}
}
}
}
for (var i=0; i< navItems.length; i++) {
if(navItems[i].className == "submenu")
{
if(navItems[i].getElementsByTagName('ul')[0] != null)
{
navItems[i].onmouseover=function() {
this.getElementsByTagName('ul')[0].style.display="block";}
navItems[i].onmouseout=function() {this.getElementsByTagName('ul')[0].style.display="none";}
}
}
}
 
}
</script>
</head>
<body class="small" marginwidth="0" marginheight="0" bgcolor="#ffffff" topmargin="0" leftmargin="0" onload="horizontal();">
<div id="body">
<div id="header">
<tiles:insert attribute="header"/>
</div>
<table >
<tr>
<td colspan="2"><tiles:insert attribute="navigationTop"/></td>
</tr>
<tr>
<td id="leftPage">
<tiles:insert attribute="navigation" />
</td>
<td>
<tiles:insert attribute="topnav"/>
<tiles:insert attribute="body" />
</td>
</tr>
</table>
<div id="footer">
<tiles:insert attribute="footer"/>
</div>
</div>
<table width="100%">
<tr>
<td align="center">
<div id="body">
<div id="header">
<tiles:insert attribute="header"/>
</div>
<table class="pageDefault">
<tr>
<td colspan="2"><tiles:insert attribute="navigationTop"/></td>
</tr>
<tr>
<td id="leftPage">
<tiles:insert attribute="navigation" />
</td>
<td class="content">
<tiles:insert attribute="topnav"/>
<tiles:insert attribute="body" />
</td>
</tr>
</table>
<div id="footer">
<tiles:insert attribute="footer"/>
</div>
</div>
</td>
</tr>
</table>
</body>
</html:html>
 
/impl/src/web/layout/layout2.jsp
12,43 → 12,49
<script type="text/javascript">
function horizontal() {
 
var navItems = document.getElementById("menu_dropdown").getElementsByTagName("li");
var navItems = document.getElementById("menu_dropdown").getElementsByTagName("li");
 
for (var i=0; i< navItems.length; i++) {
if(navItems[i].className == "submenu")
{
if(navItems[i].getElementsByTagName('ul')[0] != null)
{
navItems[i].onmouseover=function() {
this.getElementsByTagName('ul')[0].style.display="block";}
navItems[i].onmouseout=function() {this.getElementsByTagName('ul')[0].style.display="none";}
}
}
}
for (var i=0; i< navItems.length; i++) {
if(navItems[i].className == "submenu")
{
if(navItems[i].getElementsByTagName('ul')[0] != null)
{
navItems[i].onmouseover=function() {
this.getElementsByTagName('ul')[0].style.display="block";}
navItems[i].onmouseout=function() {this.getElementsByTagName('ul')[0].style.display="none";}
}
}
}
 
}
</script>
</head>
<body class="small" marginwidth="0" marginheight="0" bgcolor="#ffffff" topmargin="0" leftmargin="0" onload="horizontal();">
<div id="body">
<div id="header">
<tiles:insert attribute="header"/>
</div>
<table id="page">
<tr>
<td><tiles:insert attribute="navigationTop"/></td>
</tr>
<tr>
<td id="content2">
<tiles:insert attribute="topnav"/>
<tiles:insert attribute="body" />
</td>
</tr>
</table>
<div id="footer">
<tiles:insert attribute="footer"/>
</div>
</div>
<table width="100%">
<tr>
<td align="center">
<div id="body">
<div id="header">
<tiles:insert attribute="header"/>
</div>
<table id="page">
<tr>
<td><tiles:insert attribute="navigationTop"/></td>
</tr>
<tr>
<td class="content">
<tiles:insert attribute="topnav"/>
<tiles:insert attribute="body" />
</td>
</tr>
</table>
<div id="footer">
<tiles:insert attribute="footer"/>
</div>
</div>
</td>
</tr>
</table>
</body>
</html:html>
 
/impl/src/web/layout/layoutPortal.jsp
New file
0,0 → 1,74
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@ 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/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/tlds/struts-tiles.tld" prefix="tiles" %>
<html:html locale="true">
<head>
<title><bean:message key="site.title"/> - <tiles:getAsString name="title"/></title>
<jsp:include page="/layout/scripts.jsp"/>
<script type="text/javascript">
function horizontal() {
 
var navItems = document.getElementById("menu_dropdown").getElementsByTagName("li");
 
for (var i=0; i< navItems.length; i++) {
if(navItems[i].className == "submenu")
{
if(navItems[i].getElementsByTagName('ul')[0] != null)
{
navItems[i].onmouseover=function() {
this.getElementsByTagName('ul')[0].style.display="block";}
navItems[i].onmouseout=function() {this.getElementsByTagName('ul')[0].style.display="none";}
}
}
}
 
}
</script>
</head>
 
 
<body class="small" marginwidth="0" marginheight="0" bgcolor="#ffffff" topmargin="0" leftmargin="0" onload="horizontal();">
<table width="100%">
<tr>
<td align="center">
<div id="body">
<div id="header">
<tiles:insert attribute="header"/>
</div>
<table id="pageStructure">
<tr>
<td colspan="3"><tiles:insert attribute="navigationTop"/></td>
</tr>
<tr>
<td colspan="3">
<tiles:insert attribute="topnav"/>
</td>
</tr>
<tr>
<td id="leftPage">
<tiles:insert attribute="navigationLeft" />
</td>
<td class="contentPortal">
 
<tiles:insert attribute="body" />
</td>
<td class="rightPagePortal">
<tiles:insert attribute="navigationRight"/>
</td>
</tr>
</table>
<div id="footer">
<tiles:insert attribute="footer"/>
</div>
</div>
</td>
</tr>
</table>
</body>
</html:html>
 
 
/impl/src/web/layout/navigationLeftMenu.jsp
1,11 → 1,4
<%--
Created by IntelliJ IDEA.
User: Fabio Velez
Date: 14/Mar/2008
Time: 16:50:15
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ 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-nested.tld" prefix="nested" %>
<%@ taglib uri="/WEB-INF/tlds/struts-logic.tld" prefix="logic" %>
13,26 → 6,22
<%@ taglib uri="/WEB-INF/tlds/struts-tiles.tld" prefix="tiles" %>
 
<div id="leftMenuModule">
<div id="linkTypeOne">
<ul>
<li>
<a href="http://www.estgp.pt/Alunos/HomeAlunos.asp">Alunos</a>
</li>
<li>
<html:link action="/StaffPage"><bean:message key="staff"/></html:link>
</li>
<li>
<a href="http://www.estgp.pt/Alunos/HomeAlunos.asp">Futuros Alunos</a>
</li>
<li>
<a href="http://www.estgp.pt/Alunos/HomeAlunos.asp">Antigos Alunos</a>
</li>
<li>
<a href="http://www.estgp.pt/Alunos/HomeAlunos.asp">Alunos Internacionais</a>
</li>
<li>
<a href="http://www.estgp.pt/Alunos/HomeAlunos.asp">Comunicação Social</a>
</li>
</ul>
<div class="linkLeftMenu">
<div class="listClean">
<ul>
<li>
<a href="<%=request.getContextPath()%>/student.do?role=student&menu=menu.alunos"><bean:message key="menu.alunos"/></a>
</li>
<li>
<a href="<%=request.getContextPath()%>/futureStudent.do?role=futureStudent&menu=menu.futurosAlunos"><bean:message key="menu.futurosAlunos"/></a>
</li>
<li>
<a href="<%=request.getContextPath()%>/oldStudent.do?role=oldStudent&menu=menu.antigosAlunos"><bean:message key="menu.antigosAlunos"/></a>
</li>
<li>
<a href="<%=request.getContextPath()%>/teacher.do?role=teacher&menu=menu.docentes"><bean:message key="menu.docentes"/></a>
</li>
</ul>
</div>
</div>
</div>
/impl/src/web/layout/layout3.jsp
12,46 → 12,52
<script type="text/javascript">
function horizontal() {
 
var navItems = document.getElementById("menu_dropdown").getElementsByTagName("li");
var navItems = document.getElementById("menu_dropdown").getElementsByTagName("li");
 
for (var i=0; i< navItems.length; i++) {
if(navItems[i].className == "submenu")
{
if(navItems[i].getElementsByTagName('ul')[0] != null)
{
navItems[i].onmouseover=function() {
this.getElementsByTagName('ul')[0].style.display="block";}
navItems[i].onmouseout=function() {this.getElementsByTagName('ul')[0].style.display="none";}
}
}
}
for (var i=0; i< navItems.length; i++) {
if(navItems[i].className == "submenu")
{
if(navItems[i].getElementsByTagName('ul')[0] != null)
{
navItems[i].onmouseover=function() {
this.getElementsByTagName('ul')[0].style.display="block";}
navItems[i].onmouseout=function() {this.getElementsByTagName('ul')[0].style.display="none";}
}
}
}
 
}
</script>
</head>
<body class="small" marginwidth="0" marginheight="0" bgcolor="#ffffff" topmargin="0" leftmargin="0" onload="horizontal();">
<div id="body">
<div id="header">
<tiles:insert attribute="header"/>
</div>
<table id="page">
<tr>
<td colspan="2"><tiles:insert attribute="navigationTop"/></td>
</tr>
<tr>
<td id="content3">
<tiles:insert attribute="topnav"/>
<tiles:insert attribute="body" />
</td>
<td id="rightPage">
<tiles:insert attribute="navigation" />
</td>
</tr>
</table>
<div id="footer">
<tiles:insert attribute="footer"/>
</div>
</div>
<table width="100%">
<tr>
<td align="center">
<div id="body">
<div id="header">
<tiles:insert attribute="header"/>
</div>
<table id="page">
<tr>
<td colspan="2"><tiles:insert attribute="navigationTop"/></td>
</tr>
<tr>
<td class="content">
<tiles:insert attribute="topnav"/>
<tiles:insert attribute="body" />
</td>
<td class="rightPage">
<tiles:insert attribute="navigation" />
</td>
</tr>
</table>
<div id="footer">
<tiles:insert attribute="footer"/>
</div>
</div>
</td>
</tr>
</table>
</body>
</html:html>
 
/impl/src/web/layout/layout4.jsp
13,7 → 13,6
function horizontal() {
 
var navItems = document.getElementById("menu_dropdown").getElementsByTagName("li");
 
for (var i=0; i< navItems.length; i++) {
if(navItems[i].className == "submenu")
{
32,11 → 31,14
 
 
<body class="small" marginwidth="0" marginheight="0" bgcolor="#ffffff" topmargin="0" leftmargin="0" onload="horizontal();">
<table width="100%">
<tr>
<td align="center">
<div id="body">
<div id="header">
<tiles:insert attribute="header"/>
</div>
<table id="page">
<table id="pageStructure">
<tr>
<td colspan="3"><tiles:insert attribute="navigationTop"/></td>
</tr>
44,11 → 46,11
<td id="leftPage">
<tiles:insert attribute="navigationLeft" />
</td>
<td id="content4">
<td class="content">
<tiles:insert attribute="topnav"/>
<tiles:insert attribute="body" />
</td>
<td id="rightPage">
<td class="rightPage">
<tiles:insert attribute="navigationRight"/>
</td>
</tr>
57,6 → 59,9
<tiles:insert attribute="footer"/>
</div>
</div>
</td>
</tr>
</table>
</body>
</html:html>
 
/impl/src/web/layout/topnav.jsp
9,8 → 9,8
<%
TopNav topNav = NavPlaceServer.getTopNav(request);
List<NavPlace> navKeys = topNav.getNavPlaces();
for (NavPlace navKey : navKeys) {
NavPlace navPlace = (NavPlace) navKey;
for (NavPlace navPlace : navKeys)
{
if (navPlace.getUrl() != null) {
%>
<li class="navPlace"><a
/impl/src/web/layout/navigationLeft.jsp
13,18 → 13,21
 
<%-- USER MENUS--%>
<div id="leftMenuModule">
<div id="linkTypeOne">
<div class="linkLeftMenu">
<div class="listClean">
<estgweb:isAuthenticated>
 
<%--SERVICES--%>
<ul>
<p><bean:message key="services"/></p>
<h2><bean:message key="services"/></h2>
<li>
<html:link action="/startSubmitAnnouncement"><bean:message key="submit.announcement"/></html:link>
</li>
<li>
<html:link action="/startSubmitBlog"><bean:message key="submit.blog"/></html:link>
</li>
 
<!--OTHER PLACES-->
<p><bean:message key="Others"/></p>
<h2><bean:message key="Others"/></h2>
<li>
<html:link action="/user/startCourses"><bean:message key="courses"/></html:link>
</li>
33,7 → 36,8
</li>
</ul>
</estgweb:isAuthenticated>
</div>
</div>
</div>
</div>
</div>
 
/impl/src/web/layout/navigationTop.jsp
6,73 → 6,118
To change this template use File | Settings | File Templates.
--%>
<%@ 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-nested.tld" prefix="nested" %>
<%@ 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-tiles.tld" prefix="tiles" %>
<%@ taglib uri="/WEB-INF/tlds/estgweb.tld" prefix="estgweb" %>
<%@ 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/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/tlds/struts-tiles.tld" prefix="tiles" %>
<%@ taglib uri="/WEB-INF/tlds/estgweb.tld" prefix="estgweb" %>
 
<div>
<table id="menuTop" cellpadding="0" cellspacing="0">
<tr>
<td>
<ul id="menu_dropdown" class="menubar">
<li class="submenu"><a href="#">Apresentação</a>
<div class="shadow ">
<ul class="menu">
<li><a href="#">Mensagem do Presidente</a></li>
<li><a href="#">A ESTG e a sua missão</a></li>
<li><a href="#">História</a></li>
<li><a href="#">Localização</a></li>
<li><a href="#">Factos e números</a></li>
<li><a href="#">A ESTG em Fotografias</a></li>
</ul>
</div>
</li>
<li class="submenu"><a href="#">Organização</a>
<div class="shadow ">
<ul class="menu">
<li><a href="#">Assembleia de Representantes</a></li>
<li><a href="#">Conselho Directivo</a></li>
<li><a href="#">Conselho Ciêntifico</a></li>
<li><a href="#">Conselho Pedagógico</a></li>
</ul>
</div>
</li>
<li class="submenu"><a href="#">Áreas</a>
<div class="shadow ">
<ul class="menu">
<li><a href="#">Engenharias</a></li>
<li><a href="#">Ciências Empresariais</a></li>
<li><a href="#">Ciências Humanas</a></li>
<li><a href="#">Design</a></li>
</ul>
</div>
</li>
<li class="submenu"><a href="#">Ensino</a>
<div class="shadow ">
<ul class="menu">
<li><a href="#">Cursos</a></li>
<li><a href="#">Mestrados</a></li>
<li><a href="#">Pós Graduações</a></li>
<li><a href="#">Cet´s</a></li>
<li><a href="#">Formação TIC</a></li>
<li><a href="#">Formação CTOC</a></li>
<li><a href="#">Acções de Formação de Curta Duração</a></li>
</ul>
</div>
</li>
<li class="submenu"><a href="#">I&D</a>
<div class="shadow ">
<ul class="menu">
<li><a href="#">OTIC-INOVAA</a></li>
<li><a href="#">POLIEMPRIENDE</a></li>
<li><a href="#">Gab. Empreendedorismo</a></li>
<li><a href="#">SGQ</a></li>
<li><a href="#">Protocolos com o Exterior</a></li>
<li><a href="#">LAQI Lab. Anal. Qui. e Industriais</a></li>
</ul>
</div>
</li>
<li class="submenu"><a href="#">Apresentação</a>
 
<div class="shadow ">
<ul class="menu">
<li><a href="#">Mensagem do Presidente</a></li>
<li><a href="#">A ESTG e a sua missão</a></li>
<li><a href="#">História</a></li>
<li><a href="#">Localização</a></li>
<li><a href="#">Factos e números</a></li>
<li><a href="#">A ESTG em Fotografias</a></li>
</ul>
</div>
</li>
<li class="submenu"><a href="#">Organização</a>
 
<div class="shadow ">
<ul class="menu">
<li><a href="#">Assembleia de Representantes</a></li>
<li><a href="#">Conselho Directivo</a></li>
<li><a href="#">Conselho Ciêntifico</a></li>
<li><a href="#">Conselho Pedagógico</a></li>
</ul>
</div>
</li>
<li class="submenu"><a href="#">Áreas</a>
 
<div class="shadow ">
<ul class="menu">
<li><a href="#">Engenharias</a></li>
<li><a href="#">Ciências Empresariais</a></li>
<li><a href="#">Ciências Humanas</a></li>
<li><a href="#">Design</a></li>
</ul>
</div>
</li>
<li class="submenu"><a href="#">Ensino</a>
 
<div class="shadow ">
<ul class="menu">
<li><a href="#">Cursos</a></li>
<li><a href="#">Mestrados</a></li>
<li><a href="#">Pós Graduações</a></li>
<li><a href="#">Cet´s</a></li>
<li><a href="#">Formação TIC</a></li>
<li><a href="#">Formação CTOC</a></li>
<li><a href="#">Acções de Formação de Curta Duração</a></li>
</ul>
</div>
</li>
<li class="submenu"><a href="#">I&D</a>
 
<div class="shadow ">
<ul class="menu">
<li><a href="#">OTIC-INOVAA</a></li>
<li><a href="#">POLIEMPRIENDE</a></li>
<li><a href="#">Gab. Empreendedorismo</a></li>
<li><a href="#">SGQ</a></li>
<li><a href="#">Protocolos com o Exterior</a></li>
<li><a href="#">LAQI Lab. Anal. Qui. e Industriais</a></li>
</ul>
</div>
</li>
</ul>
<estgweb:pageUrlStat><img src="<%=request.getContextPath()%>/imgs/minichart.gif"></estgweb:pageUrlStat>
<estgweb:pageUrlStat><img src="<%=request.getContextPath()%>/imgs/grafico.gif" style="border:0;">
</estgweb:pageUrlStat>
</td>
<td class="searchTab">
<html:form action="/search">
<input type="hidden" name="dispatch" value="search">
<table>
 
<tr>
<td>
<bean:message key="search"/>
</td>
<td>
<html:text styleClass="small" property="query" value=""/>
</td>
<td>
<input type="button" onclick="set(this.form,'search');this.form.submit()" value="<bean:message key="search"/>">
</td>
 
</tr>
<tr>
<td nowrap="nowrap" colspan="3">
<table>
<tr>
<td><html:radio property="searchType" value="search.type.all"/></td>
<td><bean:message key="search.type.all"/></td>
<td><html:radio property="searchType" value="search.type.any"/></td>
<td><bean:message key="search.type.any"/></td>
<td><html:radio property="searchType" value="search.type.phrase"/></td>
<td><bean:message key="search.type.phrase"/></td>
</tr>
</table>
</td>
</tr>
</table>
</html:form>
</td>
</tr>
</table>
</div>
 
/impl/src/web/layout/layoutintranet.jsp
New file
0,0 → 1,57
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@ 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/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/tlds/struts-tiles.tld" prefix="tiles" %>
<html:html locale="true">
<head>
<title><bean:message key="site.title"/> - <tiles:getAsString name="title"/></title>
<link type="text/css" rel="stylesheet" href="<%=request.getContextPath()%>/css/intranet.css"/>
<jsp:include page="/layout/scripts.jsp"/>
 
<script type="text/javascript">
function horizontal() {
 
var navItems = document.getElementById("menu_dropdown").getElementsByTagName("li");
 
for (var i=0; i< navItems.length; i++) {
if(navItems[i].className == "submenu")
{
if(navItems[i].getElementsByTagName('ul')[0] != null)
{
navItems[i].onmouseover=function() {
this.getElementsByTagName('ul')[0].style.display="block";}
navItems[i].onmouseout=function() {this.getElementsByTagName('ul')[0].style.display="none";}
}
}
}
 
}
</script>
</head>
<body class="small" marginwidth="0" marginheight="0" bgcolor="#ffffff" topmargin="0" leftmargin="0" onload="horizontal();">
<div id="body">
<div id="header">
<tiles:insert attribute="header"/>
</div>
<table id="page">
<tr>
<td><tiles:insert attribute="navigationTop"/></td>
</tr>
<tr>
<td class="content">
<tiles:insert attribute="topnav"/>
<tiles:insert attribute="separators"/>
<tiles:insert attribute="body" />
</td>
</tr>
</table>
<div id="footer">
<tiles:insert attribute="footer"/>
</div>
</div>
</body>
</html:html>
 
/impl/src/web/layout/navigationLeftAdmin.jsp
6,25 → 6,27
<%@ taglib uri="/WEB-INF/tlds/struts-tiles.tld" prefix="tiles" %>
<%@ taglib uri="/WEB-INF/tlds/estgweb.tld" prefix="estgweb" %>
<div id="leftMenuModule">
<div id="linkTypeOne">
<ul>
<li>
<html:link action="/Welcome"><bean:message key="Home"/></html:link>
</li>
 
<estgweb:isNotAuthenticated>
<div class="linkLeftMenu">
<div class="listClean">
<ul>
<li>
<html:link action="/StartAuthentication"><bean:message key="authenticate"/></html:link>
<html:link action="/Welcome"><bean:message key="Home"/></html:link>
</li>
</estgweb:isNotAuthenticated>
 
<estgweb:isNotAuthenticated>
<li>
<html:link action="/StartAuthentication"><bean:message key="authenticate"/></html:link>
</li>
</estgweb:isNotAuthenticated>
 
<estgweb:isAuthenticated>
<li>
<html:link action="/Logout"><bean:message key="logout"/></html:link>
</li>
</estgweb:isAuthenticated>
</ul>
 
<estgweb:isAuthenticated>
<li>
<html:link action="/Logout"><bean:message key="logout"/></html:link>
</li>
</estgweb:isAuthenticated>
</ul>
</div>
</div>
</div>
 
/impl/src/web/layout/separators.jsp
New file
0,0 → 1,46
<%--
Created by IntelliJ IDEA.
User: Susana Monteiro
Date: 23/Abr/2008
Time: 15:05:50
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<div id="testeTop">
<%
int sep = Integer.parseInt(request.getParameter("separator"));
String sep1 = "";
String sep2 = "";
String sep3 = "";
 
String link1 = "href=\"" + request.getContextPath() + "/startTeste2.do?separator=1\"";
String link2 = "href=\"" + request.getContextPath() + "/startTeste2.do?separator=2\"";
String link3 = "href=\"" + request.getContextPath() + "/startTeste2.do?separator=3\"";
 
if(sep == 1)
{
sep1 ="class=\"selected\"";
link1 = "";
}
else if(sep == 2)
{
sep2 ="class=\"selected\"";
link2 = "";
}
else if(sep == 3)
{
link3 = "";
sep3 ="class=\"selected\"";
}
%>
<div id="separators">
<ul>
 
<li <%=sep1%>>
<a <%=link1%>><span> Home </span></a>
</li>
<li <%=sep2%>> <a <%=link2%>> <span>Cadeiras</span> </a></li>
<li <%=sep3%>> <a <%=link3%>><span>Perfil</span> </a></li>
</ul>
</div>
</div>
/impl/src/web/public/index.jsp
1,109 → 1,152
<%@ page import="java.util.Locale" %>
<%@ page import="pt.utl.ist.berserk.logic.serviceManager.IServiceManager" %>
<%@ page import="pt.utl.ist.berserk.logic.serviceManager.ServiceManager" %>
<%@ page import="pt.estgp.estgweb.web.utils.RequestUtils" %>
<%@ page import="pt.estgp.estgweb.domain.views.AnnouncementView" %>
<%@ page import="java.util.List" %>
<%@ page import="pt.estgp.estgweb.web.utils.RequestUtils" %>
<%@ page import="pt.estgp.estgweb.Globals" %>
<%@page language="java" %>
<%@ taglib uri="/WEB-INF/tlds/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/tlds/jomm.tld" prefix="jomm" %>
<%@ 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[]{};
Object[] args = new Object[]{subTarget};
int topAnnouncements=1;
int centerAnnouncements=1;
int bottomAnnouncements=1;
List<AnnouncementView> announcementViews = (List<AnnouncementView>) sm.execute(RequestUtils.getRequester(request), "LoadTargetMaxAnnouncements", args, names);
request.setAttribute("Announcements", announcementViews);
%>
<jomm:messages/>
<html:errors/>
 
<table class="indexPage" style=" border-collapse: collapse;">
<tr>
<td id="topBar" colspan="2">
<bean:message key="mainAnnouncements"/>
</td>
</tr>
<tr>
<td class="topSpace" colspan="2">
<script type="text/javascript">
<!--
getFlashNews('<%=request.getContextPath()%>/public/announcements/getFlashNews.jsp',<%=Globals.ANNOUNCEMENT_TYPE_TOP_FLASH_NEWS_TIMEOUT%>);
-->
</script>
 
</td>
</tr>
<tr id="backOne">
<td style="vertical-align:top; width :100%;">
<div class="padLeft10">
<logic:iterate length="1" id="item" name="Announcements" type="pt.estgp.estgweb.domain.views.AnnouncementView">
<logic:equal value="top.flash.news" name="item" property="type">
<div class="linkTypeSeven" style="font-weight :bold ;">
<html:link action="/loadAnnouncement?id=${item.id}&dispatch=load">${item.title}</html:link>
<div class="indexPage">
 
<h1><bean:message key="mainAnnouncements"/></h1>
 
<div id="flashTopNews">
<table class="container">
<tr>
<td class="textContainer">
<bean:message key="announcements.loading"/>
</td>
<td class="imageContainer">
</td>
</tr>
</table>
</div>
 
<logic:iterate id="item" name="Announcements" type="pt.estgp.estgweb.domain.views.AnnouncementView">
<logic:equal value="bottom.flash.news" name="item" property="type">
 
<%if(centerAnnouncements<=Globals.NUMBER_ANNOUNCEMENT_TYPE_BOTTOM_FLASH_NEWS_INDEX)
{
if(centerAnnouncements==1)
{ %>
<div id="flashCenterNews">
<table class="container">
<tr>
<%}%>
<td class="imageContainer">
<%if(item.getSmallImage() != null){%><img alt="<%=item.getTitle()%>" src="<%=request.getContextPath()%>/imageStream/<%=item.getSmallImage().getId()%>"><%}%>
</td>
<td class="textContainer">
<logic:empty name="item" property="url">
<h2><html:link action="/loadAnnouncement?id=${item.id}&dispatch=load" >${item.title}</html:link></h2>
<p><html:link action="/loadAnnouncement?id=${item.id}&dispatch=load" >${item.textSummarySmall}</html:link></p>
</logic:empty>
<logic:notEmpty name="item" property="url">
<%if(!item.getHaveAllText())
{%>
<h2><html:link href="${item.url}">${item.title}</html:link></h2>
<p><html:link href="${item.url}">${item.textSummarySmall}</html:link></p>
<%}
else
{%>
<h2><html:link action="/loadAnnouncement?id=${item.id}&dispatch=load" >${item.title}</html:link></h2>
<p><html:link action="/loadAnnouncement?id=${item.id}&dispatch=load" >${item.textSummarySmall}</html:link></p>
<%}%>
</logic:notEmpty>
</td>
 
<%if(centerAnnouncements==Globals.NUMBER_ANNOUNCEMENT_TYPE_BOTTOM_FLASH_NEWS_INDEX)
{%>
</tr>
</table>
</div>
<%
}
centerAnnouncements++;
}
else if(bottomAnnouncements<=Globals.NUMBER_ANNOUNCEMENT_TYPE_NEW_INDEX)
{
if(bottomAnnouncements==1)
{
%>
 
<div id="flashBottomNews">
<table class="container">
<tr>
<%}%>
<td>
<div class="imageContainer">
<%if(item.getSmallImage() != null){%><img alt="<%=item.getTitle()%>" src="<%=request.getContextPath()%>/imageStream/<%=item.getSmallImage().getId()%>"><%}%>
</div>
<div class="linkTypeHeight" style="padding-top :10px;">
<html:link action="/loadAnnouncement?id=${item.id}&dispatch=load" >${item.text}</html:link>
<div class="textContainer">
<logic:empty name="item" property="url">
<h2><html:link action="/loadAnnouncement?id=${item.id}&dispatch=load">${item.title}</html:link></h2>
<p><html:link action="/loadAnnouncement?id=${item.id}&dispatch=load" >${item.textSummarySmall}</html:link></p>
</logic:empty>
<logic:notEmpty name="item" property="url">
<%if(!item.getHaveAllText())
{%>
<h2><html:link href="${item.url}">${item.title}</html:link></h2>
<p><html:link href="${item.url}">${item.textSummarySmall}</html:link></p>
<%}
else
{%>
<h2><html:link action="/loadAnnouncement?id=${item.id}&dispatch=load" >${item.title}</html:link></h2>
<p><html:link action="/loadAnnouncement?id=${item.id}&dispatch=load" >${item.textSummarySmall}</html:link></p>
<%}%>
</logic:notEmpty>
</div>
</logic:equal>
</logic:iterate>
</td>
<%if(bottomAnnouncements==Globals.NUMBER_ANNOUNCEMENT_TYPE_NEW_INDEX)
{%>
</tr>
</table>
</div>
</td>
<td style="text-align :right;">
<img src="<%=request.getContextPath()%>/imgs/destaque_1.jpg"/>
</td>
</tr>
<%
}
 
bottomAnnouncements++;
}
%>
</logic:equal>
</logic:iterate>
<%if(bottomAnnouncements>1 && bottomAnnouncements<=Globals.NUMBER_ANNOUNCEMENT_TYPE_NEW_INDEX)
{
%>
</tr>
</table>
 
<div class="topSpace">
<table class="indexPage" style=" border-top-style: dotted; border-top-color:#DEDEDD;">
<tr>
<div class="padLeft10">
<logic:iterate length="2" id="item" name="Announcements" type="pt.estgp.estgweb.domain.views.AnnouncementView">
<logic:equal value="bottom.flash.news" name="item" property="type">
<td>
<img src="<%=request.getContextPath()%>/imgs/destaque_2_1.jpg"/>
</td>
<td style="vertical-align:top; width :200px;">
<div class="linkTypeSeven" style="font-weight :bold;padding-left :5px;">
 
</div>
<div class="linkTypeSix" style="padding-left :5px;">
<html:link action="/loadAnnouncement?id=${item.id}&dispatch=load" >${item.text}</html:link>
</div>
</td>
</logic:equal>
</logic:iterate>
</div>
</tr>
</table>
</div>
 
<div class="topSpace">
<table class="indexPage">
<tr>
<div class="padLeft10">
<logic:iterate length="5" id="item" name="Announcements" type="pt.estgp.estgweb.domain.views.AnnouncementView">
<logic:equal value="news" name="item" property="type">
<td style=" width :200px;">
<img src="<%=request.getContextPath()%>/imgs/destaque_3_3.gif"/>
</td>
</logic:equal>
</logic:iterate>
</div>
</tr>
<tr>
<div class="padLeft10">
<logic:iterate length="5" id="item" name="Announcements" type="pt.estgp.estgweb.domain.views.AnnouncementView">
<logic:equal value="news" name="item" property="type">
<td style="vertical-align:top; width :200px;">
<div class="linkTypeTen" style="font-weight :bold;padding-left :10px; padding-right:5px;">
<html:link action="/loadAnnouncement?id=${item.id}&dispatch=load">${item.title}</html:link>
</div>
<div class="linkTypeNine" style="padding-left :10px; padding-right:5px;">
<html:link action="/loadAnnouncement?id=${item.id}&dispatch=load" >${item.text}</html:link>
</div>
</td>
</logic:equal>
</logic:iterate>
</div>
</tr>
</table>
<%}%>
<%if(centerAnnouncements>1 && centerAnnouncements<=Globals.NUMBER_ANNOUNCEMENT_TYPE_BOTTOM_FLASH_NEWS_INDEX)
{
%>
</tr>
</table>
</div>
<%}%>
</div>
 
/impl/src/web/public/staff/organization.jsp
File deleted
\ No newline at end of file
/impl/src/web/public/staff/school.jsp
File deleted
\ No newline at end of file
/impl/src/web/public/staff/onLineServices.jsp
File deleted
\ No newline at end of file
/impl/src/web/public/staff/socialAction.jsp
File deleted
\ No newline at end of file
/impl/src/web/public/staff/academicInformation.jsp
File deleted
\ No newline at end of file
/impl/src/web/public/staff/internationalRelationships.jsp
File deleted
\ No newline at end of file
/impl/src/web/public/staff/contacts.jsp
File deleted
\ No newline at end of file
/impl/src/web/public/staff/index.jsp
14,14 → 14,7
<jomm:messages/>
<html:errors/>
<div class="portal">
<div class="header">
<h1><bean:message key="staff.header"/></h1>
</div>
 
<div class="portalContent">
<div class="header">
<img src="<%=request.getContextPath()%>/imgs/docente.gif"/>
</div>
<table class="columnTable">
<tbody>
<tr>
/impl/src/web/public/portals/alunos/topnavServicos.jsp
New file
0,0 → 1,14
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@page import="java.util.*"%>
<%@ page import="jomm.web.utils.NavPlace" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request);
topNav.addNavPlace("/Welcome.do", "Home");
topNav.addNavPlace("/student.do" + Globals.PORTAL_ROLE_VIEW_STUDENT, "menu.alunos");
topNav.addNavPlace(null, "portal.servicos.online");
%>
<jsp:include page="/layout/topnav.jsp"/>
/impl/src/web/public/portals/alunos/topnavContactos.jsp
New file
0,0 → 1,14
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@page import="java.util.*"%>
<%@ page import="jomm.web.utils.NavPlace" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request);
topNav.addNavPlace("/Welcome.do", "Home");
topNav.addNavPlace("/student.do" + Globals.PORTAL_ROLE_VIEW_STUDENT, "menu.alunos");
topNav.addNavPlace(null, "portal.contactos");
%>
<jsp:include page="/layout/topnav.jsp"/>
/impl/src/web/public/portals/alunos/informacaoAcademica.jsp
New file
0,0 → 1,7
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
 
<jsp:include page="/public/portals/alunos/informacaoAcademicaLinks.jsp"/>
<jsp:include page="/public/portals/menuPortal.jsp"/>
/impl/src/web/public/portals/alunos/student.jsp
New file
0,0 → 1,36
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%@ page import="jomm.web.utils.NavPlace" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %>
<div class="portal">
<div class="portalContent">
<table class="columnTable" width="100%">
<tbody>
<tr>
<td class="column">
<jsp:include page="servicosLinks.jsp"/>
<jsp:include page="../blocoPortal.jsp"/>
<jsp:include page="contactosLinks.jsp"/>
<jsp:include page="../blocoPortal.jsp"/>
</td>
<td class="column">
<jsp:include page="mobilidadeLinks.jsp"/>
<jsp:include page="../blocoPortal.jsp"/>
<jsp:include page="accaoSocialLinks.jsp"/>
<jsp:include page="../blocoPortal.jsp"/>
<jsp:include page="paginasAlunosLinks.jsp"/>
<jsp:include page="../blocoPortal.jsp"/>
</td>
<td class="column">
<jsp:include page="orgaosLinks.jsp"/>
<jsp:include page="../blocoPortal.jsp"/>
<jsp:include page="institutoPolitecnicoLinks.jsp"/>
<jsp:include page="../blocoPortal.jsp"/>
<jsp:include page="informacaoAcademicaLinks.jsp"/>
<jsp:include page="../blocoPortal.jsp"/>
</td>
</tr>
</tbody>
</table>
</div>
</div>
/impl/src/web/public/portals/alunos/informacaoAcademicaLinks.jsp
New file
0,0 → 1,16
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
TopNav topNav = NavPlaceServer.getInstance().createPortalMenuPlacesKey(request);
topNav.setTitle("portal.informacao.academica");
String startLink = Globals.getStartLinkPortalMenu("informacaoAcademicaAlunosPortalMenu");
topNav.addNavPlace(startLink + "/informacaoAcademicaCalendarioEscolar.html"+Globals.PORTAL_ROLE_VIEW_STUDENT, "portal.informacao.academica.calendario.escolar");
topNav.addNavPlace(startLink + "/informacaoAcademicaLicenciaturas.html"+Globals.PORTAL_ROLE_VIEW_STUDENT, "portal.informacao.academica.licenciaturas");
topNav.addNavPlace(startLink + "/informacaoAcademicaMestrados.html"+Globals.PORTAL_ROLE_VIEW_STUDENT, "portal.informacao.academica.mestrados");
topNav.addNavPlace(startLink + "/informacaoAcademicaPosGraduacoes.html"+Globals.PORTAL_ROLE_VIEW_STUDENT, "portal.informacao.academica.pos.graduacoes");
topNav.addNavPlace(startLink + "/informacaoAcademicaCets.html"+Globals.PORTAL_ROLE_VIEW_STUDENT, "portal.informacao.academica.cets");
topNav.addNavPlace(startLink + "/informacaoAcademicaMaiores23.html"+Globals.PORTAL_ROLE_VIEW_STUDENT, "portal.informacao.academica.maiores.23");
topNav.addNavPlace(startLink + "/informacaoAcademicaOutrasFormacoes.html"+Globals.PORTAL_ROLE_VIEW_STUDENT, "portal.informacao.academica.outras.formacoes");
%>
/impl/src/web/public/portals/alunos/topnavAccaoSocial.jsp
New file
0,0 → 1,14
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@page import="java.util.*"%>
<%@ page import="jomm.web.utils.NavPlace" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request);
topNav.addNavPlace("/Welcome.do", "Home");
topNav.addNavPlace("/student.do" + Globals.PORTAL_ROLE_VIEW_STUDENT, "menu.alunos");
topNav.addNavPlace(null, "portal.accao.social");
%>
<jsp:include page="/layout/topnav.jsp"/>
/impl/src/web/public/portals/alunos/mobilidade.jsp
New file
0,0 → 1,7
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
 
<jsp:include page="/public/portals/alunos/mobilidadeLinks.jsp"/>
<jsp:include page="/public/portals/menuPortal.jsp"/>
/impl/src/web/public/portals/alunos/mobilidadeLinks.jsp
New file
0,0 → 1,14
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
TopNav topNav = NavPlaceServer.getInstance().createPortalMenuPlacesKey(request);
topNav.setTitle("portal.mobilidade");
String startLink = Globals.getStartLinkPortalMenu("mobilidadeAlunosPortalMenu");
topNav.addNavPlace(startLink + "/mobilidadeAlunosEstrangeirosEstg.html"+Globals.PORTAL_ROLE_VIEW_STUDENT, "portal.mobilidade.alunos.estrangeiros");
topNav.addNavPlace(startLink + "/mobilidadeAlunosEstgEstrangeiro.html"+Globals.PORTAL_ROLE_VIEW_STUDENT, "portal.mobilidade.alunos.estg.estrangeiro");
topNav.addNavPlace(startLink + "/mobilidadeProtocolosInternacionais.html"+Globals.PORTAL_ROLE_VIEW_STUDENT, "portal.mobilidade.protocolos.internacionais");
topNav.addNavPlace(startLink + "/mobilidadeCandidaturas.html"+Globals.PORTAL_ROLE_VIEW_STUDENT, "portal.mobilidade.candidaturas");
topNav.addNavPlace(startLink + "/mobilidadeProgramaErasmus.html"+Globals.PORTAL_ROLE_VIEW_STUDENT, "portal.mobilidade.programa.erasmus");
%>
/impl/src/web/public/portals/alunos/orgaos.jsp
New file
0,0 → 1,7
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
 
<jsp:include page="/public/portals/alunos/orgaosLinks.jsp"/>
<jsp:include page="/public/portals/menuPortal.jsp"/>
/impl/src/web/public/portals/alunos/institutoPolitecnico.jsp
New file
0,0 → 1,7
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
 
<jsp:include page="/public/portals/alunos/institutoPolitecnicoLinks.jsp"/>
<jsp:include page="/public/portals/menuPortal.jsp"/>
/impl/src/web/public/portals/alunos/orgaosLinks.jsp
New file
0,0 → 1,13
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
TopNav topNav = NavPlaceServer.getInstance().createPortalMenuPlacesKey(request);
topNav.setTitle("portal.orgaos");
String startLink = Globals.getStartLinkPortalMenu("orgaosAlunosPortalMenu");
topNav.addNavPlace(startLink + "/orgaosConselhoPedagogico.html"+Globals.PORTAL_ROLE_VIEW_STUDENT, "portal.conselho.pedagogico");
topNav.addNavPlace(startLink + "/orgaosConselhoCientifico.html"+Globals.PORTAL_ROLE_VIEW_STUDENT, "portal.conselho.cientifico");
topNav.addNavPlace(startLink + "/orgaosConselhoDirectivo.html"+Globals.PORTAL_ROLE_VIEW_STUDENT, "portal.conselho.directivo");
topNav.addNavPlace(startLink + "/orgaosAssembleiaRepresentantes.html"+Globals.PORTAL_ROLE_VIEW_STUDENT, "portal.assembleia.representantes");
%>
/impl/src/web/public/portals/alunos/institutoPolitecnicoLinks.jsp
New file
0,0 → 1,13
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
TopNav topNav = NavPlaceServer.getInstance().createPortalMenuPlacesKey(request);
topNav.setTitle("portal.instituto.politecnico");
String startLink = Globals.getStartLinkPortalMenu("institutoPolitecnicoAlunosPortalMenu");
topNav.addNavPlace(startLink + "/institutoPolitecnicoServicosCentrais.html"+Globals.PORTAL_ROLE_VIEW_STUDENT, "portal.instituto.politecnico.servicos.centrais");
topNav.addNavPlace(startLink + "/institutoPolitecnicoLojaAluno.html"+Globals.PORTAL_ROLE_VIEW_STUDENT, "portal.instituto.politecnico.loja.alunos");
topNav.addNavPlace(startLink + "/institutoPolitecnicoMerchandising.html"+Globals.PORTAL_ROLE_VIEW_STUDENT, "portal.instituto.politecnico.merchandising");
topNav.addNavPlace(startLink + "/institutoPolitecnicoCulturaLazer.html"+Globals.PORTAL_ROLE_VIEW_STUDENT, "portal.instituto.politecnico.cultura.lazer");
%>
/impl/src/web/public/portals/alunos/contactos.jsp
New file
0,0 → 1,7
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
 
<jsp:include page="/public/portals/alunos/contactosLinks.jsp"/>
<jsp:include page="/public/portals/menuPortal.jsp"/>
/impl/src/web/public/portals/alunos/servicos.jsp
New file
0,0 → 1,7
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
 
<jsp:include page="/public/portals/alunos/servicosLinks.jsp"/>
<jsp:include page="/public/portals/menuPortal.jsp"/>
/impl/src/web/public/portals/alunos/contactosLinks.jsp
New file
0,0 → 1,17
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
TopNav topNav = NavPlaceServer.getInstance().createPortalMenuPlacesKey(request);
topNav.setTitle("portal.contactos");
String startLink = Globals.getStartLinkPortalMenu("contactosAlunosPortalMenu");
topNav.addNavPlace(startLink + "/contactosContactosGeraisEstg.html"+Globals.PORTAL_ROLE_VIEW_STUDENT, "portal.contactos.gerais.estg");
topNav.addNavPlace(startLink + "/contactosAreasCientificas.html"+Globals.PORTAL_ROLE_VIEW_STUDENT, "portal.contactos.areas.cientificas");
topNav.addNavPlace(startLink + "/contactosSecretaria.html"+Globals.PORTAL_ROLE_VIEW_STUDENT, "portal.contactos.secretaria");
topNav.addNavPlace(startLink + "/contactosCentroInformatico.html"+Globals.PORTAL_ROLE_VIEW_STUDENT, "portal.contactos.centro.informatico");
topNav.addNavPlace(startLink + "/contactosGabineteComunicacao.html"+Globals.PORTAL_ROLE_VIEW_STUDENT, "portal.contactos.gabinete.comunicacao");
topNav.addNavPlace(startLink + "/contactosReprografia.html"+Globals.PORTAL_ROLE_VIEW_STUDENT, "portal.contactos.reprografia");
topNav.addNavPlace(startLink + "/contactosDocentesContactos.html"+Globals.PORTAL_ROLE_VIEW_STUDENT, "portal.contactos.docentes");
topNav.addNavPlace("http://www.global.estgp.pt/ae/"+Globals.PORTAL_ROLE_VIEW_STUDENT, "portal.contactos.associacao.estudantes");
%>
/impl/src/web/public/portals/alunos/servicosLinks.jsp
New file
0,0 → 1,19
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
TopNav topNav = NavPlaceServer.getInstance().createPortalMenuPlacesKey(request);
topNav.setTitle("portal.servicos.online");
String startLink = Globals.getStartLinkPortalMenu("servicosAlunosPortalMenu");
topNav.addNavPlace(startLink + "/servicosWebmail.html"+Globals.PORTAL_ROLE_VIEW_STUDENT, "portal.servicos.online.webmail");
topNav.addNavPlace(startLink + "/servicosEduroam.html"+Globals.PORTAL_ROLE_VIEW_STUDENT, "portal.servicos.online.eduroam");
topNav.addNavPlace(startLink + "/servicosSecretaria.html"+Globals.PORTAL_ROLE_VIEW_STUDENT, "portal.servicos.online.secretaria");
topNav.addNavPlace(startLink + "/servicosBiblioteca.html"+Globals.PORTAL_ROLE_VIEW_STUDENT, "portal.servicos.online.biblioteca.online");
topNav.addNavPlace(startLink + "/servicosNZero.html"+Globals.PORTAL_ROLE_VIEW_STUDENT, "portal.servicos.online.n.zero");
topNav.addNavPlace(startLink + "/servicosAcademicosOnline.html"+Globals.PORTAL_ROLE_VIEW_STUDENT, "portal.servicos.online.academicos.online");
topNav.addNavPlace(startLink + "/servicosGabineteComunicacao.html"+Globals.PORTAL_ROLE_VIEW_STUDENT, "portal.servicos.online.gabinete.comunicacao");
topNav.addNavPlace(startLink + "/servicosRegie.html"+Globals.PORTAL_ROLE_VIEW_STUDENT, "portal.servicos.online.regie");
topNav.addNavPlace(startLink + "/servicosCentroInformatico.html"+Globals.PORTAL_ROLE_VIEW_STUDENT, "portal.servicos.online.centro.informatico");
topNav.addNavPlace(startLink + "/servicosReprografia.html"+Globals.PORTAL_ROLE_VIEW_STUDENT, "portal.servicos.online.reprografia");
%>
/impl/src/web/public/portals/alunos/accaoSocial.jsp
New file
0,0 → 1,7
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
 
<jsp:include page="/public/portals/alunos/accaoSocialLinks.jsp"/>
<jsp:include page="/public/portals/menuPortal.jsp"/>
/impl/src/web/public/portals/alunos/accaoSocialLinks.jsp
New file
0,0 → 1,17
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
TopNav topNav = NavPlaceServer.getInstance().createPortalMenuPlacesKey(request);
topNav.setTitle("portal.accao.social");
String startLink = Globals.getStartLinkPortalMenu("accaoSocialAlunosPortalMenu");
topNav.addNavPlace(startLink + "/accaoSocialBolsaEstudo.html"+Globals.PORTAL_ROLE_VIEW_STUDENT, "portal.accao.social.bolsa.estudo");
topNav.addNavPlace(startLink + "/accaoSocialAlimentacao.html"+Globals.PORTAL_ROLE_VIEW_STUDENT, "portal.accao.social.alimentacao");
topNav.addNavPlace(startLink + "/accaoSocialAlojamento.html"+Globals.PORTAL_ROLE_VIEW_STUDENT, "portal.accao.social.alojamento");
topNav.addNavPlace(startLink + "/accaoSocialApoioMedico.html"+Globals.PORTAL_ROLE_VIEW_STUDENT, "portal.accao.social.apoio.medico");
topNav.addNavPlace(startLink + "/accaoSocialDesportoCultura.html"+Globals.PORTAL_ROLE_VIEW_STUDENT, "portal.accao.social.desporto.cultura");
topNav.addNavPlace(startLink + "/accaoSocialGaap.html"+Globals.PORTAL_ROLE_VIEW_STUDENT, "portal.accao.social.gapp");
topNav.addNavPlace(startLink + "/accaoSocialInformacoes.html"+Globals.PORTAL_ROLE_VIEW_STUDENT, "portal.accao.social.informacoes");
topNav.addNavPlace("http://www.ipportalegre.pt/wwwsas/alimentacao_refeitorios.htm"+Globals.PORTAL_ROLE_VIEW_STUDENT, "portal.accao.social.cantinas");
%>
/impl/src/web/public/portals/alunos/paginasAlunosLinks.jsp
New file
0,0 → 1,13
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
TopNav topNav = NavPlaceServer.getInstance().createPortalMenuPlacesKey(request);
topNav.setTitle("portal.paginas.alunos");
String startLinkAA = Globals.getStartLinkPortalMenu("layoutAA");
String startLinkNucleoENG = Globals.getStartLinkPortalMenu("layoutNucleoEng");
topNav.addNavPlace(startLinkAA + "/exemplo.html", "portal.paginas.alunos.assessoria");
topNav.addNavPlace(startLinkNucleoENG + "/exemplo.html", "portal.paginas.nucleo.engenharia");
 
%>
/impl/src/web/public/portals/alunos/topnavInformacaoAcademica.jsp
New file
0,0 → 1,14
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@page import="java.util.*"%>
<%@ page import="jomm.web.utils.NavPlace" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request);
topNav.addNavPlace("/Welcome.do", "Home");
topNav.addNavPlace("/student.do" + Globals.PORTAL_ROLE_VIEW_STUDENT, "menu.alunos");
topNav.addNavPlace(null, "portal.informacao.academica");
%>
<jsp:include page="/layout/topnav.jsp"/>
/impl/src/web/public/portals/alunos/topnavMobilidade.jsp
New file
0,0 → 1,14
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@page import="java.util.*"%>
<%@ page import="jomm.web.utils.NavPlace" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request);
topNav.addNavPlace("/Welcome.do", "Home");
topNav.addNavPlace("/student.do" + Globals.PORTAL_ROLE_VIEW_STUDENT, "menu.alunos");
topNav.addNavPlace(null, "portal.mobilidade");
%>
<jsp:include page="/layout/topnav.jsp"/>
/impl/src/web/public/portals/alunos/topnavOrgaos.jsp
New file
0,0 → 1,14
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@page import="java.util.*"%>
<%@ page import="jomm.web.utils.NavPlace" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request);
topNav.addNavPlace("/Welcome.do", "Home");
topNav.addNavPlace("/student.do" + Globals.PORTAL_ROLE_VIEW_STUDENT , "menu.alunos");
topNav.addNavPlace(null, "portal.orgaos");
%>
<jsp:include page="/layout/topnav.jsp"/>
/impl/src/web/public/portals/alunos/topnavInstitutoPolitecnico.jsp
New file
0,0 → 1,14
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@page import="java.util.*"%>
<%@ page import="jomm.web.utils.NavPlace" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request);
topNav.addNavPlace("/Welcome.do", "Home");
topNav.addNavPlace("/student.do" + Globals.PORTAL_ROLE_VIEW_STUDENT, "menu.alunos");
topNav.addNavPlace(null, "portal.instituto.politecnico");
%>
<jsp:include page="/layout/topnav.jsp"/>
/impl/src/web/public/portals/menuPortal.jsp
New file
0,0 → 1,71
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@page import="java.util.*"%>
<%@ page import="jomm.web.utils.NavPlace" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="jomm.utils.MessageResources" %>
<%
TopNav topNav = NavPlaceServer.getPortalMenuPlacesKey(request);
if(topNav.getTitle() != null)
{
%>
<div class="navLeftMenu">
<h2><%=MessageResources.getMessage(request, topNav.getTitle())%></h2>
<%
}
%>
<div class="linkLeftMenu">
<div class="listClean">
<ul id="portalMenu">
<%
String menuPortalPos = request.getParameter("pos");
int pos = 0;
if(menuPortalPos != null)
try
{
pos = Integer.parseInt(menuPortalPos);
}
catch(NumberFormatException e){}
 
List<NavPlace> navKeys = topNav.getNavPlaces();
int i = 0;
for (NavPlace navKey : navKeys)
{
 
String selectedClass = "";
if(pos == i)
selectedClass = " selected";
i++;
NavPlace navPlace = (NavPlace) navKey;
if (navPlace.getUrl() != null)
{
if(!navPlace.getUrl().contains("http://"))
{
%>
<li class="navPlace<%=selectedClass%>">
<a href="<%=request.getContextPath() + navPlace.getUrl()%>"><%=MessageResources.getMessage(request, navPlace.getKey())%></a>
</li>
<%
}
else
{
%>
<li class="navPlace<%=selectedClass%>">
<a href="<%=navPlace.getUrl()%>"><%=MessageResources.getMessage(request, navPlace.getKey())%></a>
</li>
<%
}
}
else
{
%>
<li class="navPlace,<%=selectedClass%>"><%=MessageResources.getMessage(request, navPlace.getKey())%></li>
<%
}
}
%>
</ul>
</div>
</div>
</div>
/impl/src/web/public/portals/Docentes/topnavServicos.jsp
New file
0,0 → 1,14
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@page import="java.util.*"%>
<%@ page import="jomm.web.utils.NavPlace" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request);
topNav.addNavPlace("/Welcome.do", "Home");
topNav.addNavPlace("/teacher.do" + Globals.PORTAL_ROLE_VIEW_TEACHER, "menu.docentes");
topNav.addNavPlace(null, "portal.servicos.online");
%>
<jsp:include page="/layout/topnav.jsp"/>
/impl/src/web/public/portals/Docentes/topnavContactos.jsp
New file
0,0 → 1,14
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@page import="java.util.*"%>
<%@ page import="jomm.web.utils.NavPlace" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request);
topNav.addNavPlace("/Welcome.do", "Home");
topNav.addNavPlace("/teacher.do" + Globals.PORTAL_ROLE_VIEW_TEACHER, "menu.docentes");
topNav.addNavPlace(null, "portal.contactos");
%>
<jsp:include page="/layout/topnav.jsp"/>
/impl/src/web/public/portals/Docentes/informacaoAcademica.jsp
New file
0,0 → 1,7
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
 
<jsp:include page="/public/portals/Docentes/informacaoAcademicaLinks.jsp"/>
<jsp:include page="/public/portals/menuPortal.jsp"/>
/impl/src/web/public/portals/Docentes/informacaoAcademicaLinks.jsp
New file
0,0 → 1,14
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
TopNav topNav = NavPlaceServer.getInstance().createPortalMenuPlacesKey(request);
topNav.setTitle("portal.informacao.academica");
String startLink = Globals.getStartLinkPortalMenu("informacaoAcademicaDocentesPortalMenu");
topNav.addNavPlace(startLink + "/informacaoAcademicaCalendarioEscolar.html"+Globals.PORTAL_ROLE_VIEW_TEACHER, "portal.informacao.academica.calendario.escolar");
topNav.addNavPlace(startLink + "/informacaoAcademicaLicenciaturas.html"+Globals.PORTAL_ROLE_VIEW_TEACHER, "portal.informacao.academica.licenciaturas");
topNav.addNavPlace(startLink + "/informacaoAcademicaMestrados.html"+Globals.PORTAL_ROLE_VIEW_TEACHER, "portal.informacao.academica.mestrados");
topNav.addNavPlace(startLink + "/informacaoAcademicaPosGraduacoes.html"+Globals.PORTAL_ROLE_VIEW_TEACHER, "portal.informacao.academica.pos.graduacoes");
topNav.addNavPlace(startLink + "/informacaoAcademicaCets.html"+Globals.PORTAL_ROLE_VIEW_TEACHER, "portal.informacao.academica.cets");
%>
/impl/src/web/public/portals/Docentes/mobilidade.jsp
New file
0,0 → 1,7
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
 
<jsp:include page="/public/portals/Docentes/mobilidadeLinks.jsp"/>
<jsp:include page="/public/portals/menuPortal.jsp"/>
/impl/src/web/public/portals/Docentes/topnavAccaoSocial.jsp
New file
0,0 → 1,14
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@page import="java.util.*"%>
<%@ page import="jomm.web.utils.NavPlace" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request);
topNav.addNavPlace("/Welcome.do", "Home");
topNav.addNavPlace("/teacher.do" + Globals.PORTAL_ROLE_VIEW_TEACHER, "menu.docentes");
topNav.addNavPlace(null, "portal.accao.social");
%>
<jsp:include page="/layout/topnav.jsp"/>
/impl/src/web/public/portals/Docentes/mobilidadeLinks.jsp
New file
0,0 → 1,14
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
TopNav topNav = NavPlaceServer.getInstance().createPortalMenuPlacesKey(request);
topNav.setTitle("portal.mobilidade");
String startLink = Globals.getStartLinkPortalMenu("mobilidadeDocentesPortalMenu");
topNav.addNavPlace(startLink + "/mobilidadeDocentesEstrangeirosEstg.html"+Globals.PORTAL_ROLE_VIEW_FUTURE_STUDENT, "portal.mobilidade.docentes.estrangeiros");
topNav.addNavPlace(startLink + "/mobilidadeDocentesEstgEstrangeiro.html"+Globals.PORTAL_ROLE_VIEW_FUTURE_STUDENT, "portal.mobilidade.docentes.estg.estrangeiro");
topNav.addNavPlace(startLink + "/mobilidadeProtocolosInternacionais.html"+Globals.PORTAL_ROLE_VIEW_FUTURE_STUDENT, "portal.mobilidade.protocolos.internacionais");
topNav.addNavPlace(startLink + "/mobilidadeCandidaturas.html"+Globals.PORTAL_ROLE_VIEW_FUTURE_STUDENT, "portal.mobilidade.candidaturas");
topNav.addNavPlace(startLink + "/mobilidadeProgramaErasmus.html"+Globals.PORTAL_ROLE_VIEW_FUTURE_STUDENT, "portal.mobilidade.programa.erasmus");
%>
/impl/src/web/public/portals/Docentes/orgaos.jsp
New file
0,0 → 1,7
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
 
<jsp:include page="/public/portals/Docentes/orgaosLinks.jsp"/>
<jsp:include page="/public/portals/menuPortal.jsp"/>
/impl/src/web/public/portals/Docentes/institutoPolitecnico.jsp
New file
0,0 → 1,7
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
 
<jsp:include page="/public/portals/Docentes/institutoPolitecnicoLinks.jsp"/>
<jsp:include page="/public/portals/menuPortal.jsp"/>
/impl/src/web/public/portals/Docentes/orgaosLinks.jsp
New file
0,0 → 1,13
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
TopNav topNav = NavPlaceServer.getInstance().createPortalMenuPlacesKey(request);
topNav.setTitle("portal.orgaos");
String startLink = Globals.getStartLinkPortalMenu("orgaosDocentesPortalMenu");
topNav.addNavPlace(startLink + "/orgaosConselhoPedagogico.html"+Globals.PORTAL_ROLE_VIEW_TEACHER, "portal.conselho.pedagogico");
topNav.addNavPlace(startLink + "/orgaosConselhoCientifico.html"+Globals.PORTAL_ROLE_VIEW_TEACHER, "portal.conselho.cientifico");
topNav.addNavPlace(startLink + "/orgaosConselhoDirectivo.html"+Globals.PORTAL_ROLE_VIEW_TEACHER, "portal.conselho.directivo");
topNav.addNavPlace(startLink + "/orgaosAssembleiaRepresentantes.html"+Globals.PORTAL_ROLE_VIEW_TEACHER, "portal.assembleia.representantes");
%>
/impl/src/web/public/portals/Docentes/institutoPolitecnicoLinks.jsp
New file
0,0 → 1,13
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
TopNav topNav = NavPlaceServer.getInstance().createPortalMenuPlacesKey(request);
topNav.setTitle("portal.instituto.politecnico");
String startLink = Globals.getStartLinkPortalMenu("institutoPolitecnicoDocentesPortalMenu");
topNav.addNavPlace(startLink + "/institutoPolitecnicoServicosCentrais.html"+Globals.PORTAL_ROLE_VIEW_FUTURE_STUDENT, "portal.instituto.politecnico.servicos.centrais");
topNav.addNavPlace(startLink + "/institutoPolitecnicoLojaAluno.html"+Globals.PORTAL_ROLE_VIEW_FUTURE_STUDENT, "portal.instituto.politecnico.loja.alunos");
topNav.addNavPlace(startLink + "/institutoPolitecnicoMerchandising.html"+Globals.PORTAL_ROLE_VIEW_FUTURE_STUDENT, "portal.instituto.politecnico.merchandising");
topNav.addNavPlace(startLink + "/institutoPolitecnicoCulturaLazer.html"+Globals.PORTAL_ROLE_VIEW_FUTURE_STUDENT, "portal.instituto.politecnico.cultura.lazer");
%>
/impl/src/web/public/portals/Docentes/contactos.jsp
New file
0,0 → 1,7
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
 
<jsp:include page="/public/portals/Docentes/contactosLinks.jsp"/>
<jsp:include page="/public/portals/menuPortal.jsp"/>
/impl/src/web/public/portals/Docentes/servicos.jsp
New file
0,0 → 1,7
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
 
<jsp:include page="/public/portals/Docentes/servicosLinks.jsp"/>
<jsp:include page="/public/portals/menuPortal.jsp"/>
/impl/src/web/public/portals/Docentes/contactosLinks.jsp
New file
0,0 → 1,15
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
TopNav topNav = NavPlaceServer.getInstance().createPortalMenuPlacesKey(request);
topNav.setTitle("portal.contactos");
String startLink = Globals.getStartLinkPortalMenu("contactosDocentesPortalMenu");
topNav.addNavPlace(startLink + "/contactosContactosGeraisEstg.html"+Globals.PORTAL_ROLE_VIEW_TEACHER, "portal.contactos.gerais.estg");
topNav.addNavPlace(startLink + "/contactosAreasCientificas.html"+Globals.PORTAL_ROLE_VIEW_TEACHER, "portal.contactos.areas.cientificas");
topNav.addNavPlace(startLink + "/contactosSecretaria.html"+Globals.PORTAL_ROLE_VIEW_TEACHER, "portal.contactos.secretaria");
topNav.addNavPlace(startLink + "/contactosCentroInformatico.html"+Globals.PORTAL_ROLE_VIEW_TEACHER, "portal.contactos.centro.informatico");
topNav.addNavPlace(startLink + "/contactosReprografia.html"+Globals.PORTAL_ROLE_VIEW_TEACHER, "portal.contactos.reprografia");
topNav.addNavPlace(startLink + "/contactosDocentesContactos.html"+Globals.PORTAL_ROLE_VIEW_TEACHER, "portal.contactos.docentes");
%>
/impl/src/web/public/portals/Docentes/servicosLinks.jsp
New file
0,0 → 1,19
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
TopNav topNav = NavPlaceServer.getInstance().createPortalMenuPlacesKey(request);
topNav.setTitle("portal.servicos.online");
String startLink = Globals.getStartLinkPortalMenu("servicosDocentesPortalMenu");
topNav.addNavPlace(startLink + "/servicosWebmail.html"+Globals.PORTAL_ROLE_VIEW_TEACHER, "portal.servicos.online.webmail");
topNav.addNavPlace(startLink + "/servicosEduroam.html"+Globals.PORTAL_ROLE_VIEW_TEACHER, "portal.servicos.online.eduroam");
topNav.addNavPlace(startLink + "/servicosSecretaria.html"+Globals.PORTAL_ROLE_VIEW_TEACHER, "portal.servicos.online.secretaria");
topNav.addNavPlace(startLink + "/servicosInEstg.html"+Globals.PORTAL_ROLE_VIEW_TEACHER, "portal.servicos.online.in.estg");
topNav.addNavPlace(startLink + "/servicosBiblioteca.html"+Globals.PORTAL_ROLE_VIEW_TEACHER, "portal.servicos.online.biblioteca.online");
topNav.addNavPlace(startLink + "/servicosNZero.html"+Globals.PORTAL_ROLE_VIEW_TEACHER, "portal.servicos.online.n.zero");
topNav.addNavPlace(startLink + "/servicosAcademicosOnline.html"+Globals.PORTAL_ROLE_VIEW_TEACHER, "portal.servicos.online.academicos.online");
topNav.addNavPlace(startLink + "/servicosPortalAssiduidades.html"+Globals.PORTAL_ROLE_VIEW_TEACHER, "portal.servicos.online.portal.assiduidade");
topNav.addNavPlace(startLink + "/servicosSisgomOcorrencias.html"+Globals.PORTAL_ROLE_VIEW_TEACHER, "portal.servicos.online.sisgom.ocorrencias");
topNav.addNavPlace(startLink + "/servicosSiadap.html"+Globals.PORTAL_ROLE_VIEW_TEACHER, "portal.servicos.online.siadap");
%>
/impl/src/web/public/portals/Docentes/accaoSocial.jsp
New file
0,0 → 1,7
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
 
<jsp:include page="/public/portals/Docentes/accaoSocialLinks.jsp"/>
<jsp:include page="/public/portals/menuPortal.jsp"/>
/impl/src/web/public/portals/Docentes/accaoSocialLinks.jsp
New file
0,0 → 1,14
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
TopNav topNav = NavPlaceServer.getInstance().createPortalMenuPlacesKey(request);
topNav.setTitle("portal.accao.social");
String startLink = Globals.getStartLinkPortalMenu("accaoSocialDocentesPortalMenu");
topNav.addNavPlace(startLink + "/accaoSocialCantinas.html"+Globals.PORTAL_ROLE_VIEW_TEACHER, "portal.accao.social.cantinas");
topNav.addNavPlace(startLink + "/accaoSocialResidencias.html"+Globals.PORTAL_ROLE_VIEW_TEACHER, "portal.accao.social.residencias");
topNav.addNavPlace(startLink + "/accaoSocialEmentas.html"+Globals.PORTAL_ROLE_VIEW_TEACHER, "portal.accao.social.ementas");
topNav.addNavPlace(startLink + "/accaoSocialDesportoCultura.html"+Globals.PORTAL_ROLE_VIEW_TEACHER, "portal.accao.social.desporto.cultura");
topNav.addNavPlace(startLink + "/accaoSocialApoioPsicopedagogico.html"+Globals.PORTAL_ROLE_VIEW_TEACHER, "portal.accao.social.apoio.psicopedagogico");
%>
/impl/src/web/public/portals/Docentes/teacher.jsp
New file
0,0 → 1,34
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%@ page import="jomm.web.utils.NavPlace" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %>
<div class="portal">
<div class="portalContent">
<table class="columnTable" width="100%">
<tbody>
<tr>
<td class="column">
<jsp:include page="institutoPolitecnicoLinks.jsp"/>
<jsp:include page="../blocoPortal.jsp"/>
<jsp:include page="informacaoAcademicaLinks.jsp"/>
<jsp:include page="../blocoPortal.jsp"/>
<jsp:include page="contactosLinks.jsp"/>
<jsp:include page="../blocoPortal.jsp"/>
</td>
<td class="column">
<jsp:include page="mobilidadeLinks.jsp"/>
<jsp:include page="../blocoPortal.jsp"/>
<jsp:include page="accaoSocialLinks.jsp"/>
<jsp:include page="../blocoPortal.jsp"/>
<jsp:include page="orgaosLinks.jsp"/>
<jsp:include page="../blocoPortal.jsp"/>
</td>
<td class="column">
<jsp:include page="servicosLinks.jsp"/>
<jsp:include page="../blocoPortal.jsp"/>
</td>
</tr>
</tbody>
</table>
</div>
</div>
/impl/src/web/public/portals/Docentes/topnavInformacaoAcademica.jsp
New file
0,0 → 1,14
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@page import="java.util.*"%>
<%@ page import="jomm.web.utils.NavPlace" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request);
topNav.addNavPlace("/Welcome.do", "Home");
topNav.addNavPlace("/teacher.do" + Globals.PORTAL_ROLE_VIEW_TEACHER, "menu.docentes");
topNav.addNavPlace(null, "portal.informacao.academica");
%>
<jsp:include page="/layout/topnav.jsp"/>
/impl/src/web/public/portals/Docentes/topnavMobilidade.jsp
New file
0,0 → 1,14
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@page import="java.util.*"%>
<%@ page import="jomm.web.utils.NavPlace" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request);
topNav.addNavPlace("/Welcome.do", "Home");
topNav.addNavPlace("/teacher.do" + Globals.PORTAL_ROLE_VIEW_TEACHER, "menu.docentes");
topNav.addNavPlace(null, "portal.mobilidade");
%>
<jsp:include page="/layout/topnav.jsp"/>
/impl/src/web/public/portals/Docentes/topnavOrgaos.jsp
New file
0,0 → 1,14
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@page import="java.util.*"%>
<%@ page import="jomm.web.utils.NavPlace" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request);
topNav.addNavPlace("/Welcome.do", "Home");
topNav.addNavPlace("/teacher.do" + Globals.PORTAL_ROLE_VIEW_TEACHER, "menu.docentes");
topNav.addNavPlace(null, "portal.orgaos");
%>
<jsp:include page="/layout/topnav.jsp"/>
/impl/src/web/public/portals/Docentes/topnavInstitutoPolitecnico.jsp
New file
0,0 → 1,14
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@page import="java.util.*"%>
<%@ page import="jomm.web.utils.NavPlace" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request);
topNav.addNavPlace("/Welcome.do", "Home");
topNav.addNavPlace("/teacher.do" + Globals.PORTAL_ROLE_VIEW_TEACHER, "menu.docentes");
topNav.addNavPlace(null, "portal.instituto.politecnico");
%>
<jsp:include page="/layout/topnav.jsp"/>
/impl/src/web/public/portals/topnavPortal.jsp
New file
0,0 → 1,13
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@page import="java.util.*"%>
<%@ page import="jomm.web.utils.NavPlace" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page import="jomm.web.utils.TopNav" %>
<%
String menu = request.getParameter("menu");
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request);
topNav.addNavPlace("/Welcome.do", "Home");
topNav.addNavPlace(null, menu);
%>
<jsp:include page="/layout/topnav.jsp"/>
/impl/src/web/public/portals/antigosAlunos/oldStudent.jsp
New file
0,0 → 1,32
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%@ page import="jomm.web.utils.NavPlace" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %>
<div class="portal">
<div class="portalContent">
<table class="columnTable" width="100%">
<tbody>
<tr>
<td class="column">
<jsp:include page="estgLinks.jsp"/>
<jsp:include page="../blocoPortal.jsp"/>
<jsp:include page="servicosLinks.jsp"/>
<jsp:include page="../blocoPortal.jsp"/>
</td>
<td class="column">
<jsp:include page="formacaoPosGraduadaLinks.jsp"/>
<jsp:include page="../blocoPortal.jsp"/>
<jsp:include page="institutoPolitecnicoLinks.jsp"/>
<jsp:include page="../blocoPortal.jsp"/>
</td>
<td class="column">
<jsp:include page="actividadesLinks.jsp"/>
<jsp:include page="../blocoPortal.jsp"/>
<jsp:include page="contactosLinks.jsp"/>
<jsp:include page="../blocoPortal.jsp"/>
</td>
</tr>
</tbody>
</table>
</div>
</div>
/impl/src/web/public/portals/antigosAlunos/topnavContactos.jsp
New file
0,0 → 1,14
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@page import="java.util.*"%>
<%@ page import="jomm.web.utils.NavPlace" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request);
topNav.addNavPlace("/Welcome.do", "Home");
topNav.addNavPlace("/oldStudent.do" + Globals.PORTAL_ROLE_VIEW_OLD_STUDENT, "menu.antigosAlunos");
topNav.addNavPlace(null, "portal.contactos");
%>
<jsp:include page="/layout/topnav.jsp"/>
/impl/src/web/public/portals/antigosAlunos/topnavFormacaoPosGraduada.jsp
New file
0,0 → 1,14
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@page import="java.util.*"%>
<%@ page import="jomm.web.utils.NavPlace" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request);
topNav.addNavPlace("/Welcome.do", "Home");
topNav.addNavPlace("/oldStudent.do" + Globals.PORTAL_ROLE_VIEW_OLD_STUDENT, "menu.antigosAlunos");
topNav.addNavPlace(null, "portal.formacao.pos.graduada");
%>
<jsp:include page="/layout/topnav.jsp"/>
/impl/src/web/public/portals/antigosAlunos/topnavEstg.jsp
New file
0,0 → 1,14
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@page import="java.util.*"%>
<%@ page import="jomm.web.utils.NavPlace" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request);
topNav.addNavPlace("/Welcome.do", "Home");
topNav.addNavPlace("/oldStudent.do" + Globals.PORTAL_ROLE_VIEW_OLD_STUDENT, "menu.antigosAlunos");
topNav.addNavPlace(null, "portal.estg");
%>
<jsp:include page="/layout/topnav.jsp"/>
/impl/src/web/public/portals/antigosAlunos/institutoPolitecnico.jsp
New file
0,0 → 1,7
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
 
<jsp:include page="/public/portals/antigosAlunos/institutoPolitecnicoLinks.jsp"/>
<jsp:include page="/public/portals/menuPortal.jsp"/>
/impl/src/web/public/portals/antigosAlunos/institutoPolitecnicoLinks.jsp
New file
0,0 → 1,13
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
TopNav topNav = NavPlaceServer.getInstance().createPortalMenuPlacesKey(request);
topNav.setTitle("portal.instituto.politecnico");
String startLink = Globals.getStartLinkPortalMenu("institutoPolitecnicoAntigosAlunosPortalMenu");
topNav.addNavPlace(startLink + "/institutoPolitecnicoServicosCentrais.html"+Globals.PORTAL_ROLE_VIEW_OLD_STUDENT, "portal.instituto.politecnico.servicos.centrais");
topNav.addNavPlace(startLink + "/institutoPolitecnicoLojaAluno.html"+Globals.PORTAL_ROLE_VIEW_OLD_STUDENT, "portal.instituto.politecnico.loja.alunos");
topNav.addNavPlace(startLink + "/institutoPolitecnicoMerchandising.html"+Globals.PORTAL_ROLE_VIEW_OLD_STUDENT, "portal.instituto.politecnico.merchandising");
topNav.addNavPlace(startLink + "/institutoPolitecnicoCulturaLazer.html"+Globals.PORTAL_ROLE_VIEW_OLD_STUDENT, "portal.instituto.politecnico.cultura.lazer");
%>
/impl/src/web/public/portals/antigosAlunos/contactos.jsp
New file
0,0 → 1,7
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
 
<jsp:include page="/public/portals/antigosAlunos/contactosLinks.jsp"/>
<jsp:include page="/public/portals/menuPortal.jsp"/>
/impl/src/web/public/portals/antigosAlunos/servicos.jsp
New file
0,0 → 1,7
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
 
<jsp:include page="/public/portals/antigosAlunos/servicosLinks.jsp"/>
<jsp:include page="/public/portals/menuPortal.jsp"/>
/impl/src/web/public/portals/antigosAlunos/contactosLinks.jsp
New file
0,0 → 1,14
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
TopNav topNav = NavPlaceServer.getInstance().createPortalMenuPlacesKey(request);
topNav.setTitle("portal.contactos");
String startLink = Globals.getStartLinkPortalMenu("contactosAntigosAlunosPortalMenu");
topNav.addNavPlace(startLink + "/contactosContactosGeraisEstg.html"+Globals.PORTAL_ROLE_VIEW_OLD_STUDENT, "portal.contactos.gerais.estg");
topNav.addNavPlace(startLink + "/contactosConselhoDirectivo.html"+Globals.PORTAL_ROLE_VIEW_OLD_STUDENT, "portal.contactos.conselho.directivo");
topNav.addNavPlace(startLink + "/contactosSecretaria.html"+Globals.PORTAL_ROLE_VIEW_OLD_STUDENT, "portal.contactos.secretaria");
topNav.addNavPlace(startLink + "/contactosDocentesContactos.html"+Globals.PORTAL_ROLE_VIEW_OLD_STUDENT, "portal.contactos.docentes");
topNav.addNavPlace(startLink + "/contactosAaaipp.html"+Globals.PORTAL_ROLE_VIEW_OLD_STUDENT, "portal.contactos.aaaipp");
%>
/impl/src/web/public/portals/antigosAlunos/servicosLinks.jsp
New file
0,0 → 1,14
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
TopNav topNav = NavPlaceServer.getInstance().createPortalMenuPlacesKey(request);
topNav.setTitle("portal.servicos.online");
String startLink = Globals.getStartLinkPortalMenu("servicoAntigosAlunosPortalMenu");
topNav.addNavPlace(startLink + "/servicosWebmail.html"+Globals.PORTAL_ROLE_VIEW_OLD_STUDENT, "portal.servicos.online.webmail");
topNav.addNavPlace(startLink + "/servicosEduroam.html"+Globals.PORTAL_ROLE_VIEW_OLD_STUDENT, "portal.servicos.online.eduroam");
topNav.addNavPlace(startLink + "/servicosSecretaria.html"+Globals.PORTAL_ROLE_VIEW_OLD_STUDENT, "portal.servicos.online.secretaria");
topNav.addNavPlace(startLink + "/servicosBiblioteca.html"+Globals.PORTAL_ROLE_VIEW_OLD_STUDENT, "portal.servicos.online.biblioteca.online");
topNav.addNavPlace(startLink + "/servicosNZero.html"+Globals.PORTAL_ROLE_VIEW_OLD_STUDENT, "portal.servicos.online.n.zero");
%>
/impl/src/web/public/portals/antigosAlunos/topnavServico.jsp
New file
0,0 → 1,14
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@page import="java.util.*"%>
<%@ page import="jomm.web.utils.NavPlace" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request);
topNav.addNavPlace("/Welcome.do", "Home");
topNav.addNavPlace("/oldStudent.do" + Globals.PORTAL_ROLE_VIEW_OLD_STUDENT, "menu.antigosAlunos");
topNav.addNavPlace(null, "portal.servicos.online");
%>
<jsp:include page="/layout/topnav.jsp"/>
/impl/src/web/public/portals/antigosAlunos/estg.jsp
New file
0,0 → 1,7
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
 
<jsp:include page="/public/portals/antigosAlunos/estgLinks.jsp"/>
<jsp:include page="/public/portals/menuPortal.jsp"/>
/impl/src/web/public/portals/antigosAlunos/formacaoPosGraduada.jsp
New file
0,0 → 1,7
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
 
<jsp:include page="/public/portals/antigosAlunos/formacaoPosGraduadaLinks.jsp"/>
<jsp:include page="/public/portals/menuPortal.jsp"/>
/impl/src/web/public/portals/antigosAlunos/estgLinks.jsp
New file
0,0 → 1,18
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
TopNav topNav = NavPlaceServer.getInstance().createPortalMenuPlacesKey(request);
topNav.setTitle("portal.estg");
String startLink = Globals.getStartLinkPortalMenu("estgAntigosAlunosPortalMenu");
topNav.addNavPlace(startLink + "/estgMensagemPresidente.html"+Globals.PORTAL_ROLE_VIEW_OLD_STUDENT, "portal.estg.mensagem.presidente");
topNav.addNavPlace(startLink + "/estgComoChegarEstg.html"+Globals.PORTAL_ROLE_VIEW_OLD_STUDENT, "portal.estg.como.chegar.estg");
topNav.addNavPlace(startLink + "/estgNumeros.html"+Globals.PORTAL_ROLE_VIEW_OLD_STUDENT, "portal.estg.numeros");
topNav.addNavPlace(startLink + "/estgNossoPassado.html"+Globals.PORTAL_ROLE_VIEW_OLD_STUDENT, "portal.estg.nosso.passado");
topNav.addNavPlace(startLink + "/estgPresente.html"+Globals.PORTAL_ROLE_VIEW_OLD_STUDENT, "portal.estg.presente");
topNav.addNavPlace(startLink + "/estgAreasCientificas.html"+Globals.PORTAL_ROLE_VIEW_OLD_STUDENT, "portal.estg.areas.cientificas");
topNav.addNavPlace(startLink + "/estgCidade.html"+Globals.PORTAL_ROLE_VIEW_OLD_STUDENT, "portal.estg.cidade");
topNav.addNavPlace(startLink + "/estgBolonha.html"+Globals.PORTAL_ROLE_VIEW_OLD_STUDENT, "portal.estg.bolonha");
topNav.addNavPlace(startLink + "/estgEdificio.html"+Globals.PORTAL_ROLE_VIEW_OLD_STUDENT, "portal.estg.edificio");
%>
/impl/src/web/public/portals/antigosAlunos/formacaoPosGraduadaLinks.jsp
New file
0,0 → 1,13
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
TopNav topNav = NavPlaceServer.getInstance().createPortalMenuPlacesKey(request);
topNav.setTitle("portal.formacao.pos.graduada");
String startLink = Globals.getStartLinkPortalMenu("formacaoPosGraduadaAntigosAlunosPortalMenu");
topNav.addNavPlace(startLink + "/formacaoPosGraduadaMestrados.html"+Globals.PORTAL_ROLE_VIEW_OLD_STUDENT, "portal.informacao.academica.mestrados");
topNav.addNavPlace(startLink + "/formacaoPosGraduadaPosGraduacoes.html"+Globals.PORTAL_ROLE_VIEW_OLD_STUDENT, "portal.informacao.academica.pos.graduacoes");
topNav.addNavPlace(startLink + "/formacaoPosGraduadaCets.html"+Globals.PORTAL_ROLE_VIEW_OLD_STUDENT, "portal.informacao.academica.cets");
topNav.addNavPlace(startLink + "/formacaoPosGraduadaOutrasFormacoes.html"+Globals.PORTAL_ROLE_VIEW_OLD_STUDENT, "portal.informacao.academica.outras.formacoes");
%>
/impl/src/web/public/portals/antigosAlunos/topnavActividades.jsp
New file
0,0 → 1,14
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@page import="java.util.*"%>
<%@ page import="jomm.web.utils.NavPlace" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request);
topNav.addNavPlace("/Welcome.do", "Home");
topNav.addNavPlace("/oldStudent.do" + Globals.PORTAL_ROLE_VIEW_OLD_STUDENT, "menu.antigosAlunos");
topNav.addNavPlace(null, "portal.actividades");
%>
<jsp:include page="/layout/topnav.jsp"/>
/impl/src/web/public/portals/antigosAlunos/actividades.jsp
New file
0,0 → 1,7
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
 
<jsp:include page="/public/portals/antigosAlunos/actividadesLinks.jsp"/>
<jsp:include page="/public/portals/menuPortal.jsp"/>
/impl/src/web/public/portals/antigosAlunos/actividadesLinks.jsp
New file
0,0 → 1,13
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
TopNav topNav = NavPlaceServer.getInstance().createPortalMenuPlacesKey(request);
topNav.setTitle("portal.actividades");
String startLink = Globals.getStartLinkPortalMenu("actividadesAntigosAlunosPortalMenu");
topNav.addNavPlace(startLink + "/actividadesSemanaEngenharia.html"+Globals.PORTAL_ROLE_VIEW_OLD_STUDENT, "portal.actividades.semana.engenharia");
topNav.addNavPlace(startLink + "/actividadesJornadasCienciasEmpresariais.html"+Globals.PORTAL_ROLE_VIEW_OLD_STUDENT, "portal.actividades.jornadas.ciencias.empresariais");
topNav.addNavPlace(startLink + "/actividadesSeminarioDesign.html"+Globals.PORTAL_ROLE_VIEW_OLD_STUDENT, "portal.actividades.Seminario.design");
topNav.addNavPlace(startLink + "/actividadesOutrasActividades.html"+Globals.PORTAL_ROLE_VIEW_OLD_STUDENT, "portal.actividades.outras.actividades");
%>
/impl/src/web/public/portals/antigosAlunos/topnavInstitutoPolitecnico.jsp
New file
0,0 → 1,14
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@page import="java.util.*"%>
<%@ page import="jomm.web.utils.NavPlace" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request);
topNav.addNavPlace("/Welcome.do", "Home");
topNav.addNavPlace("/oldStudent.do" + Globals.PORTAL_ROLE_VIEW_OLD_STUDENT, "menu.antigosAlunos");
topNav.addNavPlace(null, "portal.instituto.politecnico");
%>
<jsp:include page="/layout/topnav.jsp"/>
/impl/src/web/public/portals/nucleoEngenharia/nucleoEngenharia.jsp
New file
0,0 → 1,7
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
 
<jsp:include page="/public/portals/nucleoEngenharia/nucleoEngenhariaLinks.jsp"/>
<jsp:include page="/public/portals/menuPortal.jsp"/>
/impl/src/web/public/portals/nucleoEngenharia/nucleoEngenhariaLinks.jsp
New file
0,0 → 1,10
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
TopNav topNav = NavPlaceServer.getInstance().createPortalMenuPlacesKey(request);
topNav.setTitle("portal.paginas.nucleo.engenharia");
String startLink = Globals.getStartLinkPortalMenu("layoutNucleoEng");
topNav.addNavPlace(startLink + "/exemplo.html", "portal.paginas.exemplo");
%>
/impl/src/web/public/portals/nucleoEngenharia/topnavNucleoEngenharia.jsp
New file
0,0 → 1,14
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@page import="java.util.*"%>
<%@ page import="jomm.web.utils.NavPlace" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request);
topNav.addNavPlace("/Welcome.do", "Home");
topNav.addNavPlace("/student.do" + Globals.PORTAL_ROLE_VIEW_STUDENT, "menu.alunos");
topNav.addNavPlace(null, "portal.paginas.nucleo.engenharia");
%>
<jsp:include page="/layout/topnav.jsp"/>
/impl/src/web/public/portals/futurosAlunos/topnavServicos.jsp
New file
0,0 → 1,14
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@page import="java.util.*"%>
<%@ page import="jomm.web.utils.NavPlace" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request);
topNav.addNavPlace("/Welcome.do", "Home");
topNav.addNavPlace("/futureStudent.do" + Globals.PORTAL_ROLE_VIEW_FUTURE_STUDENT, "menu.futurosAlunos");
topNav.addNavPlace(null, "portal.servicos.online");
%>
<jsp:include page="/layout/topnav.jsp"/>
/impl/src/web/public/portals/futurosAlunos/topnavContactos.jsp
New file
0,0 → 1,14
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@page import="java.util.*"%>
<%@ page import="jomm.web.utils.NavPlace" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request);
topNav.addNavPlace("/Welcome.do", "Home");
topNav.addNavPlace("/futureStudent.do" + Globals.PORTAL_ROLE_VIEW_FUTURE_STUDENT, "menu.futurosAlunos");
topNav.addNavPlace(null, "portal.contactos");
%>
<jsp:include page="/layout/topnav.jsp"/>
/impl/src/web/public/portals/futurosAlunos/informacaoAcademica.jsp
New file
0,0 → 1,7
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
 
<jsp:include page="/public/portals/futurosAlunos/informacaoAcademicaLinks.jsp"/>
<jsp:include page="/public/portals/menuPortal.jsp"/>
/impl/src/web/public/portals/futurosAlunos/informacaoAcademicaLinks.jsp
New file
0,0 → 1,16
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
TopNav topNav = NavPlaceServer.getInstance().createPortalMenuPlacesKey(request);
topNav.setTitle("portal.informacao.academica");
String startLink = Globals.getStartLinkPortalMenu("informacaoAcademicaFuturosAlunosPortalMenu");
topNav.addNavPlace(startLink + "/informacaoAcademicaCalendarioEscolar.html"+Globals.PORTAL_ROLE_VIEW_FUTURE_STUDENT, "portal.informacao.academica.calendario.escolar");
topNav.addNavPlace(startLink + "/informacaoAcademicaLicenciaturas.html"+Globals.PORTAL_ROLE_VIEW_FUTURE_STUDENT, "portal.informacao.academica.licenciaturas");
topNav.addNavPlace(startLink + "/informacaoAcademicaMestrados.html"+Globals.PORTAL_ROLE_VIEW_FUTURE_STUDENT, "portal.informacao.academica.mestrados");
topNav.addNavPlace(startLink + "/informacaoAcademicaPosGraduacoes.html"+Globals.PORTAL_ROLE_VIEW_FUTURE_STUDENT, "portal.informacao.academica.pos.graduacoes");
topNav.addNavPlace(startLink + "/informacaoAcademicaCets.html"+Globals.PORTAL_ROLE_VIEW_FUTURE_STUDENT, "portal.informacao.academica.cets");
topNav.addNavPlace(startLink + "/informacaoAcademicaMaiores23.html"+Globals.PORTAL_ROLE_VIEW_FUTURE_STUDENT, "portal.informacao.academica.maiores.23");
topNav.addNavPlace(startLink + "/informacaoAcademicaOutrasFormacoes.html"+Globals.PORTAL_ROLE_VIEW_FUTURE_STUDENT, "portal.informacao.academica.outras.formacoes");
%>
/impl/src/web/public/portals/futurosAlunos/topnavAccaoSocial.jsp
New file
0,0 → 1,14
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@page import="java.util.*"%>
<%@ page import="jomm.web.utils.NavPlace" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request);
topNav.addNavPlace("/Welcome.do", "Home");
topNav.addNavPlace("/futureStudent.do" + Globals.PORTAL_ROLE_VIEW_FUTURE_STUDENT, "menu.futurosAlunos");
topNav.addNavPlace(null, "portal.accao.social");
%>
<jsp:include page="/layout/topnav.jsp"/>
/impl/src/web/public/portals/futurosAlunos/mobilidade.jsp
New file
0,0 → 1,7
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
 
<jsp:include page="/public/portals/futurosAlunos/mobilidadeLinks.jsp"/>
<jsp:include page="/public/portals/menuPortal.jsp"/>
/impl/src/web/public/portals/futurosAlunos/topnavEstg.jsp
New file
0,0 → 1,14
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@page import="java.util.*"%>
<%@ page import="jomm.web.utils.NavPlace" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request);
topNav.addNavPlace("/Welcome.do", "Home");
topNav.addNavPlace("/futureStudent.do" + Globals.PORTAL_ROLE_VIEW_FUTURE_STUDENT, "menu.futurosAlunos");
topNav.addNavPlace(null, "portal.estg");
%>
<jsp:include page="/layout/topnav.jsp"/>
/impl/src/web/public/portals/futurosAlunos/mobilidadeLinks.jsp
New file
0,0 → 1,14
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
TopNav topNav = NavPlaceServer.getInstance().createPortalMenuPlacesKey(request);
topNav.setTitle("portal.mobilidade");
String startLink = Globals.getStartLinkPortalMenu("mobilidadeFuturosAlunosPortalMenu");
topNav.addNavPlace(startLink + "/mobilidadeAlunosEstrangeirosEstg.html"+Globals.PORTAL_ROLE_VIEW_FUTURE_STUDENT, "portal.mobilidade.alunos.estrangeiros");
topNav.addNavPlace(startLink + "/mobilidadeAlunosEstgEstrangeiro.html"+Globals.PORTAL_ROLE_VIEW_FUTURE_STUDENT, "portal.mobilidade.alunos.estg.estrangeiro");
topNav.addNavPlace(startLink + "/mobilidadeProtocolosInternacionais.html"+Globals.PORTAL_ROLE_VIEW_FUTURE_STUDENT, "portal.mobilidade.protocolos.internacionais");
topNav.addNavPlace(startLink + "/mobilidadeCandidaturas.html"+Globals.PORTAL_ROLE_VIEW_FUTURE_STUDENT, "portal.mobilidade.candidaturas");
topNav.addNavPlace(startLink + "/mobilidadeProgramaErasmus.html"+Globals.PORTAL_ROLE_VIEW_FUTURE_STUDENT, "portal.mobilidade.programa.erasmus");
%>
/impl/src/web/public/portals/futurosAlunos/orgaos.jsp
New file
0,0 → 1,7
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
 
<jsp:include page="/public/portals/futurosAlunos/orgaosLinks.jsp"/>
<jsp:include page="/public/portals/menuPortal.jsp"/>
/impl/src/web/public/portals/futurosAlunos/institutoPolitecnico.jsp
New file
0,0 → 1,7
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
 
<jsp:include page="/public/portals/futurosAlunos/institutoPolitecnicoLinks.jsp"/>
<jsp:include page="/public/portals/menuPortal.jsp"/>
/impl/src/web/public/portals/futurosAlunos/orgaosLinks.jsp
New file
0,0 → 1,13
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
TopNav topNav = NavPlaceServer.getInstance().createPortalMenuPlacesKey(request);
topNav.setTitle("portal.orgaos");
String startLink = Globals.getStartLinkPortalMenu("orgaosFuturosAlunosPortalMenu");
topNav.addNavPlace(startLink + "/orgaosConselhoPedagogico.html"+Globals.PORTAL_ROLE_VIEW_FUTURE_STUDENT, "portal.conselho.pedagogico");
topNav.addNavPlace(startLink + "/orgaosConselhoCientifico.html"+Globals.PORTAL_ROLE_VIEW_FUTURE_STUDENT, "portal.conselho.cientifico");
topNav.addNavPlace(startLink + "/orgaosConselhoDirectivo.html"+Globals.PORTAL_ROLE_VIEW_FUTURE_STUDENT, "portal.conselho.directivo");
topNav.addNavPlace(startLink + "/orgaosAssembleiaRepresentantes.html"+Globals.PORTAL_ROLE_VIEW_FUTURE_STUDENT, "portal.assembleia.representantes");
%>
/impl/src/web/public/portals/futurosAlunos/institutoPolitecnicoLinks.jsp
New file
0,0 → 1,13
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
TopNav topNav = NavPlaceServer.getInstance().createPortalMenuPlacesKey(request);
topNav.setTitle("portal.instituto.politecnico");
String startLink = Globals.getStartLinkPortalMenu("institutoPolitecnicoFuturosAlunosPortalMenu");
topNav.addNavPlace(startLink + "/institutoPolitecnicoServicosCentrais.html"+Globals.PORTAL_ROLE_VIEW_FUTURE_STUDENT, "portal.instituto.politecnico.servicos.centrais");
topNav.addNavPlace(startLink + "/institutoPolitecnicoLojaAluno.html"+Globals.PORTAL_ROLE_VIEW_FUTURE_STUDENT, "portal.instituto.politecnico.loja.alunos");
topNav.addNavPlace(startLink + "/institutoPolitecnicoMerchandising.html"+Globals.PORTAL_ROLE_VIEW_FUTURE_STUDENT, "portal.instituto.politecnico.merchandising");
topNav.addNavPlace(startLink + "/institutoPolitecnicoCulturaLazer.html"+Globals.PORTAL_ROLE_VIEW_FUTURE_STUDENT, "portal.instituto.politecnico.cultura.lazer");
%>
/impl/src/web/public/portals/futurosAlunos/contactos.jsp
New file
0,0 → 1,7
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
 
<jsp:include page="/public/portals/futurosAlunos/contactosLinks.jsp"/>
<jsp:include page="/public/portals/menuPortal.jsp"/>
/impl/src/web/public/portals/futurosAlunos/servicos.jsp
New file
0,0 → 1,7
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
 
<jsp:include page="/public/portals/futurosAlunos/servicosLinks.jsp"/>
<jsp:include page="/public/portals/menuPortal.jsp"/>
/impl/src/web/public/portals/futurosAlunos/servicosLinks.jsp
New file
0,0 → 1,19
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
TopNav topNav = NavPlaceServer.getInstance().createPortalMenuPlacesKey(request);
topNav.setTitle("portal.servicos.online");
String startLink = Globals.getStartLinkPortalMenu("servicosFuturosAlunosPortalMenu");
topNav.addNavPlace(startLink + "/servicosWebmail.html"+Globals.PORTAL_ROLE_VIEW_FUTURE_STUDENT, "portal.servicos.online.webmail");
topNav.addNavPlace(startLink + "/servicosEduroam.html"+Globals.PORTAL_ROLE_VIEW_FUTURE_STUDENT, "portal.servicos.online.eduroam");
topNav.addNavPlace(startLink + "/servicosSecretaria.html"+Globals.PORTAL_ROLE_VIEW_FUTURE_STUDENT, "portal.servicos.online.secretaria");
topNav.addNavPlace(startLink + "/servicosBiblioteca.html"+Globals.PORTAL_ROLE_VIEW_FUTURE_STUDENT, "portal.servicos.online.biblioteca.online");
topNav.addNavPlace(startLink + "/servicosNZero.html"+Globals.PORTAL_ROLE_VIEW_FUTURE_STUDENT, "portal.servicos.online.n.zero");
topNav.addNavPlace(startLink + "/servicosAcademicosOnline.html"+Globals.PORTAL_ROLE_VIEW_FUTURE_STUDENT, "portal.servicos.online.academicos.online");
topNav.addNavPlace(startLink + "/servicosGabineteComunicacao.html"+Globals.PORTAL_ROLE_VIEW_FUTURE_STUDENT, "portal.servicos.online.gabinete.comunicacao");
topNav.addNavPlace(startLink + "/servicosRegie.html"+Globals.PORTAL_ROLE_VIEW_FUTURE_STUDENT, "portal.servicos.online.regie");
topNav.addNavPlace(startLink + "/servicosCentroInformatico.html"+Globals.PORTAL_ROLE_VIEW_FUTURE_STUDENT, "portal.servicos.online.centro.informatico");
topNav.addNavPlace(startLink + "/servicosReprografia.html"+Globals.PORTAL_ROLE_VIEW_FUTURE_STUDENT, "portal.servicos.online.reprografia");
%>
/impl/src/web/public/portals/futurosAlunos/contactosLinks.jsp
New file
0,0 → 1,16
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
TopNav topNav = NavPlaceServer.getInstance().createPortalMenuPlacesKey(request);
topNav.setTitle("portal.contactos");
String startLink = Globals.getStartLinkPortalMenu("contactosFuturosAlunosPortalMenu");
topNav.addNavPlace(startLink + "/contactosContactosGeraisEstg.html"+Globals.PORTAL_ROLE_VIEW_FUTURE_STUDENT, "portal.contactos.gerais.estg");
topNav.addNavPlace(startLink + "/contactosAreasCientificas.html"+Globals.PORTAL_ROLE_VIEW_FUTURE_STUDENT, "portal.contactos.areas.cientificas");
topNav.addNavPlace(startLink + "/contactosSecretaria.html"+Globals.PORTAL_ROLE_VIEW_FUTURE_STUDENT, "portal.contactos.secretaria");
topNav.addNavPlace(startLink + "/contactosCentroInformatico.html"+Globals.PORTAL_ROLE_VIEW_FUTURE_STUDENT, "portal.contactos.centro.informatico");
topNav.addNavPlace(startLink + "/contactosGabineteComunicacao.html"+Globals.PORTAL_ROLE_VIEW_FUTURE_STUDENT, "portal.contactos.gabinete.comunicacao");
topNav.addNavPlace(startLink + "/contactosReprografia.html"+Globals.PORTAL_ROLE_VIEW_FUTURE_STUDENT, "portal.contactos.reprografia");
topNav.addNavPlace(startLink + "/contactosDocentesContactos.html"+Globals.PORTAL_ROLE_VIEW_FUTURE_STUDENT, "portal.contactos.docentes");
%>
/impl/src/web/public/portals/futurosAlunos/accaoSocial.jsp
New file
0,0 → 1,7
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
 
<jsp:include page="/public/portals/futurosAlunos/accaoSocialLinks.jsp"/>
<jsp:include page="/public/portals/menuPortal.jsp"/>
/impl/src/web/public/portals/futurosAlunos/estg.jsp
New file
0,0 → 1,7
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
 
<jsp:include page="/public/portals/futurosAlunos/estgLinks.jsp"/>
<jsp:include page="/public/portals/menuPortal.jsp"/>
/impl/src/web/public/portals/futurosAlunos/accaoSocialLinks.jsp
New file
0,0 → 1,16
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
TopNav topNav = NavPlaceServer.getInstance().createPortalMenuPlacesKey(request);
topNav.setTitle("portal.accao.social");
String startLink = Globals.getStartLinkPortalMenu("accaoSocialFuturosAlunosPortalMenu");
topNav.addNavPlace(startLink + "/accaoSocialBolsaEstudo.html"+Globals.PORTAL_ROLE_VIEW_FUTURE_STUDENT, "portal.accao.social.bolsa.estudo");
topNav.addNavPlace(startLink + "/accaoSocialAlimentacao.html"+Globals.PORTAL_ROLE_VIEW_FUTURE_STUDENT, "portal.accao.social.alimentacao");
topNav.addNavPlace(startLink + "/accaoSocialAlojamento.html"+Globals.PORTAL_ROLE_VIEW_FUTURE_STUDENT, "portal.accao.social.alojamento");
topNav.addNavPlace(startLink + "/accaoSocialApoioMedico.html"+Globals.PORTAL_ROLE_VIEW_FUTURE_STUDENT, "portal.accao.social.apoio.medico");
topNav.addNavPlace(startLink + "/accaoSocialDesportoCultura.html"+Globals.PORTAL_ROLE_VIEW_FUTURE_STUDENT, "portal.accao.social.desporto.cultura");
topNav.addNavPlace(startLink + "/accaoSocialGaap.html"+Globals.PORTAL_ROLE_VIEW_FUTURE_STUDENT, "portal.accao.social.gapp");
topNav.addNavPlace(startLink + "/accaoSocialInformacoes.html"+Globals.PORTAL_ROLE_VIEW_FUTURE_STUDENT, "portal.accao.social.informacoes");
%>
/impl/src/web/public/portals/futurosAlunos/estgLinks.jsp
New file
0,0 → 1,18
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
TopNav topNav = NavPlaceServer.getInstance().createPortalMenuPlacesKey(request);
topNav.setTitle("portal.estg");
String startLink = Globals.getStartLinkPortalMenu("estgFuturosAlunosPortalMenu");
topNav.addNavPlace(startLink + "/estgMensagemPresidente.html"+Globals.PORTAL_ROLE_VIEW_FUTURE_STUDENT, "portal.estg.mensagem.presidente");
topNav.addNavPlace(startLink + "/estgComoChegarEstg.html"+Globals.PORTAL_ROLE_VIEW_FUTURE_STUDENT, "portal.estg.como.chegar.estg");
topNav.addNavPlace(startLink + "/estgNumeros.html"+Globals.PORTAL_ROLE_VIEW_FUTURE_STUDENT, "portal.estg.numeros");
topNav.addNavPlace(startLink + "/estgNossoPassado.html"+Globals.PORTAL_ROLE_VIEW_FUTURE_STUDENT, "portal.estg.nosso.passado");
topNav.addNavPlace(startLink + "/estgPresente.html"+Globals.PORTAL_ROLE_VIEW_FUTURE_STUDENT, "portal.estg.presente");
topNav.addNavPlace(startLink + "/estgAreasCientificas.html"+Globals.PORTAL_ROLE_VIEW_FUTURE_STUDENT, "portal.estg.areas.cientificas");
topNav.addNavPlace(startLink + "/estgCidade.html"+Globals.PORTAL_ROLE_VIEW_FUTURE_STUDENT, "portal.estg.cidade");
topNav.addNavPlace(startLink + "/estgBolonha.html"+Globals.PORTAL_ROLE_VIEW_FUTURE_STUDENT, "portal.estg.bolonha");
topNav.addNavPlace(startLink + "/estgEdificio.html"+Globals.PORTAL_ROLE_VIEW_FUTURE_STUDENT, "portal.estg.edificio");
%>
/impl/src/web/public/portals/futurosAlunos/topnavInformacaoAcademica.jsp
New file
0,0 → 1,14
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@page import="java.util.*"%>
<%@ page import="jomm.web.utils.NavPlace" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request);
topNav.addNavPlace("/Welcome.do", "Home");
topNav.addNavPlace("/futureStudent.do" + Globals.PORTAL_ROLE_VIEW_FUTURE_STUDENT, "menu.futurosAlunos");
topNav.addNavPlace(null, "portal.informacao.academica");
%>
<jsp:include page="/layout/topnav.jsp"/>
/impl/src/web/public/portals/futurosAlunos/futureStudent.jsp
New file
0,0 → 1,38
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%@ page import="jomm.web.utils.NavPlace" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %>
<div class="portal">
<div class="portalContent">
<table class="columnTable" width="100%">
<tbody>
<tr>
<td class="column">
<jsp:include page="estgLinks.jsp"/>
<jsp:include page="../blocoPortal.jsp"/>
<jsp:include page="informacaoAcademicaLinks.jsp"/>
<jsp:include page="../blocoPortal.jsp"/>
<jsp:include page="contactosLinks.jsp"/>
<jsp:include page="../blocoPortal.jsp"/>
 
</td>
<td class="column">
<jsp:include page="institutoPolitecnicoLinks.jsp"/>
<jsp:include page="../blocoPortal.jsp"/>
<jsp:include page="orgaosLinks.jsp"/>
<jsp:include page="../blocoPortal.jsp"/>
<jsp:include page="accaoSocialLinks.jsp"/>
<jsp:include page="../blocoPortal.jsp"/>
</td>
<td class="column">
<jsp:include page="servicosLinks.jsp"/>
<jsp:include page="../blocoPortal.jsp"/>
<jsp:include page="mobilidadeLinks.jsp"/>
<jsp:include page="../blocoPortal.jsp"/>
</td>
</tr>
</tbody>
</table>
</div>
</div>
/impl/src/web/public/portals/futurosAlunos/topnavMobilidade.jsp
New file
0,0 → 1,14
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@page import="java.util.*"%>
<%@ page import="jomm.web.utils.NavPlace" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request);
topNav.addNavPlace("/Welcome.do", "Home");
topNav.addNavPlace("/futureStudent.do" + Globals.PORTAL_ROLE_VIEW_FUTURE_STUDENT, "menu.futurosAlunos");
topNav.addNavPlace(null, "portal.mobilidade");
%>
<jsp:include page="/layout/topnav.jsp"/>
/impl/src/web/public/portals/futurosAlunos/topnavOrgaos.jsp
New file
0,0 → 1,14
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@page import="java.util.*"%>
<%@ page import="jomm.web.utils.NavPlace" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request);
topNav.addNavPlace("/Welcome.do", "Home");
topNav.addNavPlace("/futureStudent.do" + Globals.PORTAL_ROLE_VIEW_FUTURE_STUDENT, "menu.futurosAlunos");
topNav.addNavPlace(null, "portal.orgaos");
%>
<jsp:include page="/layout/topnav.jsp"/>
/impl/src/web/public/portals/futurosAlunos/topnavInstitutoPolitecnico.jsp
New file
0,0 → 1,14
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@page import="java.util.*"%>
<%@ page import="jomm.web.utils.NavPlace" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request);
topNav.addNavPlace("/Welcome.do", "Home");
topNav.addNavPlace("/futureStudent.do" + Globals.PORTAL_ROLE_VIEW_FUTURE_STUDENT, "menu.futurosAlunos");
topNav.addNavPlace(null, "portal.instituto.politecnico");
%>
<jsp:include page="/layout/topnav.jsp"/>
/impl/src/web/public/portals/blocoPortal.jsp
New file
0,0 → 1,51
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@page import="java.util.*"%>
<%@ page import="jomm.web.utils.NavPlace" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="jomm.utils.MessageResources" %>
<%
TopNav topNav = NavPlaceServer.getPortalMenuPlacesKey(request);
if(topNav.getTitle() != null)
{
%>
<div class="block">
<p><%=MessageResources.getMessage(request, topNav.getTitle())%></p>
<%
}
%>
<ul>
<%
List<NavPlace> navKeys = topNav.getNavPlaces();
for (NavPlace navKey : navKeys)
{
NavPlace navPlace = (NavPlace) navKey;
if (navPlace.getUrl() != null)
{
if(!navPlace.getUrl().contains("http://"))
{
%>
<li>
<a href="<%=request.getContextPath() + navPlace.getUrl()%>"><%=MessageResources.getMessage(request, navPlace.getKey())%></a>
</li>
<%
}
else
{
%>
<li>
<a href="<%=navPlace.getUrl()%>"><%=MessageResources.getMessage(request, navPlace.getKey())%></a>
</li>
<%}
}
else
{
%>
<li><%=MessageResources.getMessage(request, navPlace.getKey())%></li>
<%
}
}
%>
</ul>
</div>
/impl/src/web/public/portals/assessoria/topnavAssessoria.jsp
New file
0,0 → 1,14
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@page import="java.util.*"%>
<%@ page import="jomm.web.utils.NavPlace" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request);
topNav.addNavPlace("/Welcome.do", "Home");
topNav.addNavPlace("/student.do" + Globals.PORTAL_ROLE_VIEW_STUDENT, "menu.alunos");
topNav.addNavPlace(null, "portal.paginas.alunos.assessoria");
%>
<jsp:include page="/layout/topnav.jsp"/>
/impl/src/web/public/portals/assessoria/assessoria.jsp
New file
0,0 → 1,7
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
 
<jsp:include page="/public/portals/assessoria/assessoriaLinks.jsp"/>
<jsp:include page="/public/portals/menuPortal.jsp"/>
/impl/src/web/public/portals/assessoria/assessoriaLinks.jsp
New file
0,0 → 1,10
<%@ page import="jomm.web.utils.TopNav" %>
<%@ page import="pt.estgp.estgweb.web.Globals" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%
TopNav topNav = NavPlaceServer.getInstance().createPortalMenuPlacesKey(request);
topNav.setTitle("portal.paginas.alunos.assessoria");
String startLink = Globals.getStartLinkPortalMenu("layoutAA");
topNav.addNavPlace(startLink + "/exemplo.html", "portal.paginas.exemplo");
%>
/impl/src/web/public/search/searchResults.jsp
New file
0,0 → 1,70
<%@ page import="pt.estgp.estgweb.services.common.*" %>
<%@ 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-nested.tld" prefix="nested" %>
<%@ 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-tiles.tld" prefix="tiles" %>
 
 
<div id="searchResults" class="listClean">
 
<ul>
 
<logic:iterate id="searchResults" name="ICommonSearchResults" property="searchResults"
type="pt.estgp.estgweb.services.common.ISearchResults">
<li>
<h2>
<bean:message key="${searchResults.module.messageKey}"/>
<b>(${searchResults.totalResults})</b> <a id="${searchResults.module.messageKey}SeeMore"
href="javascript:show('${searchResults.module.messageKey}','${searchResults.module.messageKey}SeeMore')">ver
mais</a></h2>
 
<div class="module" id="<%=searchResults.getModule().getMessageKey()%>">
<div id="${searchResults.totalResults}Results">
<logic:iterate id="result" name="searchResults" property="results"
type="pt.estgp.estgweb.services.common.IResult">
<div class="result">
<h2><a href="<%=request.getContextPath()%>${result.url}">${result.title}</a>
<logic:notEmpty name="result" property="subTitle">
(
<logic:equal value="true" name="result" property="subTitleKey">
<bean:message key="${result.subTitle}"/>
</logic:equal>
<logic:notEqual value="true" name="result" property="subTitleKey">
${result.subTitle}
</logic:notEqual>
)
</logic:notEmpty>
</h2>
 
<p>${result.bestFragments} ...</p>
</div>
</logic:iterate>
Pages:
<logic:equal value="true" name="searchResults" property="hasPreviousPage">
<a href="search('${searchResults.query}','${searchResults.previousPage}','${searchResults.module.messageKey}')">
&lt; previous
</a>
</logic:equal>
${searchResults.page}
<logic:equal value="true" name="searchResults" property="hasNextPage">
<a href="javascript:searchCall('${searchResults.totalResults}Results','${searchResults.query}','${searchResults.searchType}','${searchResults.nextPage}','${searchResults.module.messageKey}','<%=request.getContextPath()%>/search.do')">
next &gt;
</a>
</logic:equal>
</div>
<h3>
<a href="javascript:hide('${searchResults.module.messageKey}','${searchResults.module.messageKey}SeeMore')">Fechar</a>
</h3>
</div>
</li>
</logic:iterate>
<li>
<h2>Eventos <b>(4)</b> <a href="javascript:show('${searchResults.module.messageKey}')">ver mais</a></h2>
</li>
<li>
<h2>Pessoas <b>(42)</b> <a href="javascript:show('${searchResults.module.messageKey}')">ver mais</a></h2>
</li>
</ul>
</div>
/impl/src/web/public/search/searchForm.jsp
New file
0,0 → 1,48
<%@ page import="pt.estgp.estgweb.web.form.commons.SearchForm" %>
<%@ 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-nested.tld" prefix="nested" %>
<%@ 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-tiles.tld" prefix="tiles" %>
 
<html:errors/>
<%
String query = request.getParameter("query");
String searchType = request.getParameter("searchType");
SearchForm searchForm = new SearchForm();
searchForm.setQuery(query);
searchForm.setSearchType(searchType);
request.setAttribute("SearchForm", searchForm);
 
%>
<html:form action="/search">
<input type="hidden" name="dispatch" value="search">
<table class="form">
<tr>
<th>
 
</th>
<td nowrap="nowrap">
<html:radio property="searchType" value="search.type.all"/> <bean:message key="search.type.all"/>
<html:radio property="searchType" value="search.type.any"/> <bean:message key="search.type.any"/>
<html:radio property="searchType" value="search.type.phrase"/> <bean:message key="search.type.phrase"/>
</td>
</tr>
<tr>
<th>
<bean:message key="search.form"/>
</th>
<td>
<html:text styleClass="small" property="query" value=""/>
</td>
 
</tr>
<tr class="buttons">
<td></td>
<td>
<input type="button" onclick="set(this.form,'search');this.form.submit()" value="<bean:message key="search"/>"/>
</td>
</tr>
</table>
</html:form>
/impl/src/web/public/search/searchResultsModule.jsp
New file
0,0 → 1,27
<%@ page import="pt.estgp.estgweb.services.common.*" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page import="pt.estgp.estgweb.services.common.*" %>
<%@ 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-nested.tld" prefix="nested" %>
<%@ 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-tiles.tld" prefix="tiles" %>
<logic:iterate id="result" name="searchResults" property="results" type="pt.estgp.estgweb.services.common.IResult">
<div class="result">
<h2><a href="<%=request.getContextPath()%>${result.url}">${result.title}</a>
<logic:notEmpty name="result" property="subTitle">
(
<logic:equal value="true" name="result" property="subTitleKey">
<bean:message key="${result.subTitle}"/>
</logic:equal>
<logic:notEqual value="true" name="result" property="subTitleKey">
${result.subTitle}
</logic:notEqual>
)
</logic:notEmpty>
</h2>
<p>${result.bestFragments} ...</p>
</div>
</logic:iterate>
 
/impl/src/web/public/search/noresults.jsp
New file
0,0 → 1,21
<%@ 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-nested.tld" prefix="nested" %>
<%@ 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-tiles.tld" prefix="tiles" %>
<div class="seccao">
<bean:message key="search.no.results"/>
<b>
<%=request.getParameter("query")%>
</b>
<br/>
<bean:message key="search.no.results.suggest"/>:<br/>
<ul>
<li><bean:message key="search.no.results.suggest.1"/></li>
<li><bean:message key="search.no.results.suggest.2"/></li>
<li><bean:message key="search.no.results.suggest.3"/></li>
</ul>
</div>
 
<jsp:include page="/public/search/searchForm.jsp"/>
/impl/src/web/public/search/topnavSearchResults.jsp
New file
0,0 → 1,11
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@page import="jomm.web.utils.NavPlaceServer"%>
<%@ page import="jomm.web.utils.TopNav" %>
<%
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request);
topNav.addNavPlace("/Welcome.do", "Home");
topNav.addNavPlace("/startSearch.do?query=" + request.getParameter("query") + "&searchType=" +request.getParameter("searchType"), "search.form");
topNav.addNavPlace(null, "search.results");
%>
<jsp:include page="/layout/topnav.jsp"/>
/impl/src/web/public/search/topnavSearchForm.jsp
New file
0,0 → 1,12
<%@page contentType="text/html"%>
<%@page pageEncoding="UTF-8"%>
<%@page import="java.util.*"%>
<%@ page import="jomm.web.utils.NavPlace" %>
<%@ page import="jomm.web.utils.NavPlaceServer" %>
<%@ page import="jomm.web.utils.TopNav" %>
<%
TopNav topNav = NavPlaceServer.getInstance().createTopNav(request);
topNav.addNavPlace("/Welcome.do", "Home");
topNav.addNavPlace(null, "search.form");
%>
<jsp:include page="/layout/topnav.jsp"/>
/impl/src/web/public/blogs/blog.jsp
New file
0,0 → 1,30
<%@ 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="BlogView" type="pt.estgp.estgweb.domain.views.BlogView" scope="request"/>
 
<div class="seccao">
 
<h1><bean:write name="BlogView" property="title"/></h1>
 
<p>
<%
if(BlogView.getImage() != null)
{
%>
<img align="left" alt="<%=BlogView.getTitle()%>" src="<%=request.getContextPath()%>/imageStream/<%=BlogView.getImage().getId()%>">
<%
}
%>
${BlogView.description}
</p>
 
<p class="pFooter">
<bean:message key="blog.owner"/> <a href="mailto:${BlogView.ownerEmail}">${BlogView.owner.name}</a> <bean:message key="at"/> ${BlogView.formatedSaveDate}
</p>
</div>
 
/impl/src/web/public/announcements/announcementsPortalLeft.jsp
New file
0,0 → 1,61
<%--
User: Fabio
Date: 27/Mar/2008
Time: 12:25:30
--%>
<%@ page import="pt.utl.ist.berserk.logic.serviceManager.IServiceManager" %>
<%@ page import="pt.utl.ist.berserk.logic.serviceManager.ServiceManager" %>
<%@ page import="pt.estgp.estgweb.domain.views.AnnouncementView" %>
<%@ page import="java.util.List" %>
<%@page import="pt.estgp.estgweb.Globals" %>
<%@ page import="pt.estgp.estgweb.web.utils.RequestUtils" %>
<%@ page import="java.util.ArrayList" %>
<%@ taglib uri="/WEB-INF/tlds/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/tlds/jomm.tld" prefix="jomm" %>
<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %>
<%@ 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,subTarget};
List<AnnouncementView> announcementViews = (List<AnnouncementView>) sm.execute(RequestUtils.getRequester(request), "LoadRoleTypeMaxAnnouncements", args, names);
request.setAttribute("Announcements", announcementViews);
%>
 
<div class="portalLeftAnnouncements">
<table>
<logic:present name="Announcements">
<logic:iterate id="item" name="Announcements" type="pt.estgp.estgweb.domain.views.AnnouncementView">
<tr>
<td>
<div class="portalAnnouncementTop">
<div class="imageAnnouncementTop">
<%if(item.getBigImage() != null){%><img alt="<%=item.getTitle()%>" src="<%=request.getContextPath()%>/imageStream/<%=item.getSmallImage().getId()%>"><%}%>
</div>
<div class="portalAnnouncement">
<logic:empty name="item" property="url">
<div class="portalAnnouncementTitle"><html:link action="/loadAnnouncement?id=${item.id}&dispatch=load">${item.title}</html:link></div>
<div class="portalAnnouncementText"><html:link action="/loadAnnouncement?id=${item.id}&dispatch=load">${item.textSummarySmall}</html:link></div>
</logic:empty>
<logic:notEmpty name="item" property="url">
<%if(!item.getHaveAllText())
{%>
<div class="portalAnnouncementTitle"><html:link href="${item.url}">${item.title}</html:link></div>
<div class="portalAnnouncementText"><html:link href="${item.url}">${item.textSummarySmall}</html:link></div>
<%}
else
{%>
<div class="portalAnnouncementTitle"><html:link action="/loadAnnouncement?id=${item.id}&dispatch=load">${item.title}</html:link></div>
<div class="portalAnnouncementText"><html:link action="/loadAnnouncement?id=${item.id}&dispatch=load">${item.textSummarySmall}</html:link></div>
<%}%>
</logic:notEmpty>
</div>
</div>
</td>
</tr>
</logic:iterate>
</logic:present>
</table>
</div>
/impl/src/web/public/announcements/getFlashNews.jsp
New file
0,0 → 1,47
<%@ page import="pt.utl.ist.berserk.logic.serviceManager.IServiceManager" %>
<%@ page import="pt.utl.ist.berserk.logic.serviceManager.ServiceManager" %>
<%@ page import="pt.estgp.estgweb.domain.views.AnnouncementView" %>
<%@ page import="java.util.List" %>
<%@page import="pt.estgp.estgweb.Globals" %>
<%@ page import="pt.estgp.estgweb.web.utils.RequestUtils" %>
<%@ page import="java.util.ArrayList" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="/WEB-INF/tlds/estgweb.tld" prefix="estgweb" %>
<%@ taglib uri="/WEB-INF/tlds/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/tlds/jomm.tld" prefix="jomm" %>
<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %>
<%
//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[]{subTarget};
AnnouncementView announcementView = (AnnouncementView) sm.execute(RequestUtils.getRequester(request), "LoadTopFlashNewsIterate", arguments, names);
%>
<table class="container">
<tr>
<td class="textContainer">
<%if(announcementView.getUrl()==null)
{%>
<h2><a href="<%=request.getContextPath()%>/loadAnnouncement.do?id=<%=announcementView.getId()%>&dispatch=load"><%=announcementView.getTitle()%></a></h2>
<p><a href="<%=request.getContextPath()%>/loadAnnouncement.do?id=<%=announcementView.getId()%>&dispatch=load"><%=announcementView.getTextSummary()%></a></p>
<%}
else if(!announcementView.getHaveAllText())
{%>
<h2><a href="<%=announcementView.getUrl()%>"><%=announcementView.getTitle()%></a></h2>
<p><a href="<%=announcementView.getUrl()%>"><%=announcementView.getText()%></a></p>
<%}
else
{%>
<h2><a href="<%=request.getContextPath()%>/loadAnnouncement.do?id=<%=announcementView.getId()%>&dispatch=load"><%=announcementView.getTitle()%></a></h2>
<p><a href="<%=request.getContextPath()%>/loadAnnouncement.do?id=<%=announcementView.getId()%>&dispatch=load"><%=announcementView.getTextSummary()%></a></p>
<%}%>
</td>
<td class="imageContainer">
<%if(announcementView.getBigImage() != null){%><img alt="<%=announcementView.getTitle()%>" src="<%=request.getContextPath()%>/imageStream/<%=announcementView.getBigImage().getId()%>"><%}%>
</td>
</tr>
</table>
/impl/src/web/public/announcements/loadAnnouncement.jsp
7,18 → 7,34
<%@ taglib uri="/WEB-INF/tlds/jomm.tld" prefix="jomm" %>
<jsp:useBean id="Announcement" type="pt.estgp.estgweb.domain.views.AnnouncementView" scope="request"/>
 
<table class="box">
<tr>
<th>
${Announcement.title}
</th>
</tr>
<tr>
<td>
 
<p>
${Announcement.text}
</p>
</td>
</tr>
</table>
<div class="seccao">
<h2>${Announcement.title}</h2>
<p>
<%
if(Announcement.getBigImage() != null)
{
%>
<div class="imageAnnouncement">
<img align="left" alt="<%=Announcement.getTitle()%>" src="<%=request.getContextPath()%>/imageStream/<%=Announcement.getBigImage().getId()%>">
</div>
<%
}
else if(Announcement.getSmallImage() != null)
{
%>
<div class="imageAnnouncement">
<img align="left" alt="<%=Announcement.getTitle()%>" src="<%=request.getContextPath()%>/imageStream/<%=Announcement.getSmallImage().getId()%>">
</div>
<%
}
%>
${Announcement.text}
<%
if(Announcement.getUrl()!=null)
{
%>
<html:link href="${Announcement.url}">Ver +</html:link>
<%
}%>
</p>
</div>
/impl/src/web/public/announcements/announcements.jsp
9,38 → 9,38
<%@ 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);
%>
<table class="lastAnnouncementsModule" style=" border-collapse: collapse;">
<tr>
<td id="topBar">
<bean:message key="announcements"/>
</td>
</tr>
<tr>
<td>
<div class="linkTypeTwo">
 
<div id="lastNews">
<h1><bean:message key="announcements"/></h1>
<div class="linkLeftMenu">
<logic:present name="Announcements">
<ul>
<logic:iterate id="item" name="Announcements" type="pt.estgp.estgweb.domain.views.AnnouncementView">
<li>
<logic:empty name="item" property="url">
<logic:equal value="news" name="item" property="type">
<html:link action="/loadAnnouncement?id=${item.id}&dispatch=load">${item.title}</html:link>
</logic:equal>
</logic:empty>
<logic:notEmpty name="item" property="url">
<logic:equal value="news" name="item" property="type">
<html:link href="${item.url}">${item.title}</html:link>
</logic:equal>
</logic:notEmpty>
</li>
<logic:equal value="news" name="item" property="type">
<li>
<logic:empty name="item" property="url">
<h2><html:link action="/loadAnnouncement?id=${item.id}&dispatch=load">${item.title}</html:link></h2>
</logic:empty>
<logic:notEmpty name="item" property="url">
<%if(!item.getHaveAllText())
{%>
<h2><html:link href="${item.url}">${item.title}</html:link></h2>
<%}
else
{%>
<h2><html:link action="/loadAnnouncement?id=${item.id}&dispatch=load">${item.title}</html:link></h2>
<%}%>
</logic:notEmpty>
</li>
</logic:equal>
</logic:iterate>
</ul>
</div>
</td>
</tr>
 
</table>
</logic:present>
</div>
</div>
/impl/src/web/public/announcements/announcementsPortalRight.jsp
New file
0,0 → 1,68
<%--
Created by IntelliJ IDEA.
User: Fabio
Date: 27/Mar/2008
Time: 12:25:30
To change this template use File | Settings | File Templates.
--%>
<%@ page import="pt.utl.ist.berserk.logic.serviceManager.IServiceManager" %>
<%@ page import="pt.utl.ist.berserk.logic.serviceManager.ServiceManager" %>
<%@ page import="pt.estgp.estgweb.domain.views.AnnouncementView" %>
<%@ page import="java.util.List" %>
<%@page import="pt.estgp.estgweb.Globals" %>
<%@ page import="pt.estgp.estgweb.web.utils.RequestUtils" %>
<%@ page import="java.util.ArrayList" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="/WEB-INF/tlds/estgweb.tld" prefix="estgweb" %>
<%@ taglib uri="/WEB-INF/tlds/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/tlds/jomm.tld" prefix="jomm" %>
<%@ 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,subTarget};
List<AnnouncementView> announcementViews = (List<AnnouncementView>) sm.execute(RequestUtils.getRequester(request), "LoadRoleTypeMaxAnnouncements", args, names);
request.setAttribute("Announcements", announcementViews);
%>
 
<div class="portalRightAnnouncements">
<table>
<logic:present name="Announcements">
<logic:iterate id="item" name="Announcements" type="pt.estgp.estgweb.domain.views.AnnouncementView">
 
<tr>
<td width="25%">
<div class="imageAnnouncementNews">
<estgweb:ownerImageRole name="item"/>
</div>
</td>
<td>
<div class="portalAnnouncementNews">
<div class="portalAnnouncement">
<logic:empty name="item" property="url">
<div class="portalAnnouncementTitle"><html:link action="/loadAnnouncement?id=${item.id}&dispatch=load">${item.title}</html:link></div>
<div class="portalAnnouncementText"><html:link action="/loadAnnouncement?id=${item.id}&dispatch=load">${item.textSummarySmall}</html:link></div>
</logic:empty>
<logic:notEmpty name="item" property="url">
<%if(!item.getHaveAllText())
{%>
<div class="portalAnnouncementTitle"><html:link href="${item.url}">${item.title}</html:link></div>
<div class="portalAnnouncementText"><html:link href="${item.url}">${item.textSummarySmall}</html:link></div>
<%}
else
{%>
<div class="portalAnnouncementTitle"><html:link action="/loadAnnouncement?id=${item.id}&dispatch=load">${item.title}</html:link></div>
<div class="portalAnnouncementText"><html:link action="/loadAnnouncement?id=${item.id}&dispatch=load">${item.textSummarySmall}</html:link></div>
<%}%>
</logic:notEmpty>
</div>
</div>
</td>
 
</tr>
</logic:iterate>
</logic:present>
</table>
</div>
/impl/src/web/templates/templatePage.jsp
File deleted
\ No newline at end of file
/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/src/web/templates/templatePageOriginal.jsp
New file
0,0 → 1,54
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<h1>Titulo Principal a Verde</h1>
 
<div class="section">
<h2>Titulo da Secção</h2>
<p>textotextotextotextotextotextotextotexto</p>
</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/user/index.jsp
New file
0,0 → 1,12
 
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="/WEB-INF/tlds/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/tlds/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/tlds/jomm.tld" prefix="jomm" %>
<%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/tlds/estgweb.tld" prefix="estgweb" %>
<estgweb:hasRole role="teacher">
 
 
</estgweb:hasRole>
/impl/src/web/user/home.jsp
New file
0,0 → 1,8
<%--
Created by IntelliJ IDEA.
User: Susana Monteiro
Date: 23/Abr/2008
Time: 15:10:16
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
/impl/gen/java/pt/estgp/estgweb/domain/Course.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 20/Mar/2008 18:10:33 by Hibernate Tools 3.2.0.b9
// Generated 22/Abr/2008 19:12:49 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 20/Mar/2008 18:10:33 by Hibernate Tools 3.2.0.b9
// Generated 22/Abr/2008 19:12:49 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 20/Mar/2008 18:10:33 by Hibernate Tools 3.2.0.b9
// Generated 22/Abr/2008 19:12:49 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 20/Mar/2008 18:10:33 by Hibernate Tools 3.2.0.b9
// Generated 22/Abr/2008 19:12:49 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 20/Mar/2008 18:10:33 by Hibernate Tools 3.2.0.b9
// Generated 22/Abr/2008 19:12:49 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/impl/gen/java/pt/estgp/estgweb/domain/User.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 20/Mar/2008 18:10:33 by Hibernate Tools 3.2.0.b9
// Generated 22/Abr/2008 19:12:49 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 20/Mar/2008 18:10:33 by Hibernate Tools 3.2.0.b9
// Generated 22/Abr/2008 19:12:49 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 20/Mar/2008 18:10:33 by Hibernate Tools 3.2.0.b9
// Generated 22/Abr/2008 19:12:49 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 20/Mar/2008 18:10:33 by Hibernate Tools 3.2.0.b9
// Generated 22/Abr/2008 19:12:49 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 20/Mar/2008 18:10:33 by Hibernate Tools 3.2.0.b9
// Generated 22/Abr/2008 19:12:49 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
14,15 → 14,19
private Date updateDate;
private Date saveDate;
private String name;
private String contentType;
private int size;
private String description;
private byte[] image;
 
public Image() {
}
 
public Image(Date saveDate, String name, String description, byte[] image) {
public Image(Date saveDate, String name, String contentType, int size, String description, byte[] image) {
this.saveDate = saveDate;
this.name = name;
this.contentType = contentType;
this.size = size;
this.description = description;
this.image = image;
}
55,6 → 59,20
public void setName(String name) {
this.name = name;
}
public String getContentType() {
return this.contentType;
}
public void setContentType(String contentType) {
this.contentType = contentType;
}
public int getSize() {
return this.size;
}
public void setSize(int size) {
this.size = size;
}
public String getDescription() {
return this.description;
}
/impl/gen/java/pt/estgp/estgweb/domain/dao/impl/GenericUserDao.java
1,5 → 1,5
package pt.estgp.estgweb.domain.dao.impl;
// Generated 20/Mar/2008 18:10:37 by Hibernate Tools 3.2.0.b9
// Generated 21/Abr/2008 15:54:30 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 20/Mar/2008 18:10:37 by Hibernate Tools 3.2.0.b9
// Generated 21/Abr/2008 15:54:30 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 20/Mar/2008 18:10:37 by Hibernate Tools 3.2.0.b9
// Generated 21/Abr/2008 15:54:30 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 20/Mar/2008 18:10:37 by Hibernate Tools 3.2.0.b9
// Generated 21/Abr/2008 15:54:30 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 20/Mar/2008 18:10:37 by Hibernate Tools 3.2.0.b9
// Generated 21/Abr/2008 15:54:30 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 20/Mar/2008 18:10:37 by Hibernate Tools 3.2.0.b9
// Generated 21/Abr/2008 15:54:30 by Hibernate Tools 3.2.0.b9
 
 
import org.apache.log4j.Logger;
/impl/gen/java/pt/estgp/estgweb/domain/dao/impl/BlogDao.java
New file
0,0 → 1,39
package pt.estgp.estgweb.domain.dao.impl;
// Generated 21/Abr/2008 15:54:30 by Hibernate Tools 3.2.0.b9
 
 
import org.apache.log4j.Logger;
 
/**
* Home object for domain model class Blog.
* @author Jorge Machado - Hibernate Tools
*/
 
import jomm.dao.IDomainObjectDao;
import jomm.dao.impl.AbstractDao;
import pt.estgp.estgweb.domain.Blog;
 
 
public class BlogDao extends AbstractDao<Blog> {
//public class BlogDao extends AbstractDao implements IDomainObjectDao {
 
private static final Logger log = Logger.getLogger(BlogDao.class);
 
protected static BlogDao myInstance = null;
 
protected BlogDao(){
super();
}
 
public static BlogDao getInstance() {
if (myInstance == null)
myInstance = new BlogDao();
return myInstance;
}
 
protected Class getReferenceClass() {
return Blog.class;
}
}
 
 
/impl/gen/java/pt/estgp/estgweb/domain/dao/impl/TesteDao.java
New file
0,0 → 1,39
package pt.estgp.estgweb.domain.dao.impl;
// Generated 21/Abr/2008 15:54:30 by Hibernate Tools 3.2.0.b9
 
 
import org.apache.log4j.Logger;
 
/**
* Home object for domain model class Teste.
* @author Jorge Machado - Hibernate Tools
*/
 
import jomm.dao.IDomainObjectDao;
import jomm.dao.impl.AbstractDao;
import pt.estgp.estgweb.domain.Teste;
 
 
public class TesteDao extends AbstractDao<Teste> {
//public class TesteDao extends AbstractDao implements IDomainObjectDao {
 
private static final Logger log = Logger.getLogger(TesteDao.class);
 
protected static TesteDao myInstance = null;
 
protected TesteDao(){
super();
}
 
public static TesteDao getInstance() {
if (myInstance == null)
myInstance = new TesteDao();
return myInstance;
}
 
protected Class getReferenceClass() {
return Teste.class;
}
}
 
 
/impl/gen/java/pt/estgp/estgweb/domain/dao/impl/SessionObjectIdDao.java
1,5 → 1,5
package pt.estgp.estgweb.domain.dao.impl;
// Generated 20/Mar/2008 18:10:37 by Hibernate Tools 3.2.0.b9
// Generated 21/Abr/2008 15:54:30 by Hibernate Tools 3.2.0.b9
 
 
import org.apache.log4j.Logger;
/impl/gen/java/pt/estgp/estgweb/domain/dao/impl/BlogPostDao.java
New file
0,0 → 1,39
package pt.estgp.estgweb.domain.dao.impl;
// Generated 21/Abr/2008 15:54:30 by Hibernate Tools 3.2.0.b9
 
 
import org.apache.log4j.Logger;
 
/**
* Home object for domain model class BlogPost.
* @author Jorge Machado - Hibernate Tools
*/
 
import jomm.dao.IDomainObjectDao;
import jomm.dao.impl.AbstractDao;
import pt.estgp.estgweb.domain.BlogPost;
 
 
public class BlogPostDao extends AbstractDao<BlogPost> {
//public class BlogPostDao extends AbstractDao implements IDomainObjectDao {
 
private static final Logger log = Logger.getLogger(BlogPostDao.class);
 
protected static BlogPostDao myInstance = null;
 
protected BlogPostDao(){
super();
}
 
public static BlogPostDao getInstance() {
if (myInstance == null)
myInstance = new BlogPostDao();
return myInstance;
}
 
protected Class getReferenceClass() {
return BlogPost.class;
}
}
 
 
/impl/gen/java/pt/estgp/estgweb/domain/dao/impl/AnnouncementDao.java
1,5 → 1,5
package pt.estgp.estgweb.domain.dao.impl;
// Generated 20/Mar/2008 18:10:37 by Hibernate Tools 3.2.0.b9
// Generated 21/Abr/2008 15:54:30 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 20/Mar/2008 18:10:37 by Hibernate Tools 3.2.0.b9
// Generated 21/Abr/2008 15:54:30 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 20/Mar/2008 18:10:37 by Hibernate Tools 3.2.0.b9
// Generated 21/Abr/2008 15:54:30 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 20/Mar/2008 18:10:37 by Hibernate Tools 3.2.0.b9
// Generated 21/Abr/2008 15:54:30 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 20/Mar/2008 18:10:37 by Hibernate Tools 3.2.0.b9
// Generated 21/Abr/2008 15:54:30 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 20/Mar/2008 18:10:37 by Hibernate Tools 3.2.0.b9
// Generated 21/Abr/2008 15:54:30 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 20/Mar/2008 18:10:37 by Hibernate Tools 3.2.0.b9
// Generated 21/Abr/2008 15:54:30 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 20/Mar/2008 18:10:37 by Hibernate Tools 3.2.0.b9
// Generated 21/Abr/2008 15:54:30 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 20/Mar/2008 18:10:37 by Hibernate Tools 3.2.0.b9
// Generated 21/Abr/2008 15:54:30 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 20/Mar/2008 18:10:37 by Hibernate Tools 3.2.0.b9
// Generated 21/Abr/2008 15:54:30 by Hibernate Tools 3.2.0.b9
 
 
import org.apache.log4j.Logger;
/impl/gen/java/pt/estgp/estgweb/domain/Blog.java
New file
0,0 → 1,105
package pt.estgp.estgweb.domain;
// Generated 22/Abr/2008 19:12:49 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
 
/**
* Blog generated by hbm2java
*/
public abstract class Blog extends pt.estgp.estgweb.domain.DomainObject implements java.io.Serializable {
 
 
private long id;
private Date updateDate;
private Date saveDate;
private String title;
private String description;
private String targetRoles;
private boolean status;
private Image image;
private GenericUser owner;
 
public Blog() {
}
 
public Blog(Date saveDate, String title, String description, String targetRoles, boolean status, Image image, GenericUser owner) {
this.saveDate = saveDate;
this.title = title;
this.description = description;
this.targetRoles = targetRoles;
this.status = status;
this.image = image;
this.owner = owner;
}
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 String getTitle() {
return this.title;
}
public void setTitle(String title) {
this.title = title;
}
public String getDescription() {
return this.description;
}
public void setDescription(String description) {
this.description = description;
}
public String getTargetRoles() {
return this.targetRoles;
}
public void setTargetRoles(String targetRoles) {
this.targetRoles = targetRoles;
}
public boolean isStatus() {
return this.status;
}
public void setStatus(boolean status) {
this.status = status;
}
public Image getImage() {
return this.image;
}
public void setImage(Image image) {
this.image = image;
}
public GenericUser getOwner() {
return this.owner;
}
public void setOwner(GenericUser owner) {
this.owner = owner;
}
 
 
 
 
}
 
 
/impl/gen/java/pt/estgp/estgweb/domain/Teste.java
New file
0,0 → 1,69
package pt.estgp.estgweb.domain;
// Generated 22/Abr/2008 19:12:49 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
 
/**
* Teste generated by hbm2java
*/
public abstract class Teste extends pt.estgp.estgweb.domain.DomainObject implements java.io.Serializable {
 
 
private long id;
private Date updateDate;
private Date saveDate;
private String name;
private String morada;
 
public Teste() {
}
 
public Teste(Date saveDate, String name, String morada) {
this.saveDate = saveDate;
this.name = name;
this.morada = morada;
}
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 String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
public String getMorada() {
return this.morada;
}
public void setMorada(String morada) {
this.morada = morada;
}
 
 
 
 
}
 
 
/impl/gen/java/pt/estgp/estgweb/domain/SessionObjectId.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 20/Mar/2008 18:10:33 by Hibernate Tools 3.2.0.b9
// Generated 22/Abr/2008 19:12:49 by Hibernate Tools 3.2.0.b9
 
 
 
/impl/gen/java/pt/estgp/estgweb/domain/BlogPost.java
New file
0,0 → 1,114
package pt.estgp.estgweb.domain;
// Generated 22/Abr/2008 19:12:49 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
 
/**
* BlogPost generated by hbm2java
*/
public abstract class BlogPost extends pt.estgp.estgweb.domain.DomainObject implements java.io.Serializable {
 
 
private long id;
private Date updateDate;
private Date saveDate;
private Date startDate;
private String title;
private String text;
private boolean status;
private Image image;
private GenericUser owner;
private Blog blog;
 
public BlogPost() {
}
 
public BlogPost(Date saveDate, Date startDate, String title, String text, boolean status, Image image, GenericUser owner, Blog blog) {
this.saveDate = saveDate;
this.startDate = startDate;
this.title = title;
this.text = text;
this.status = status;
this.image = image;
this.owner = owner;
this.blog = blog;
}
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 Date getStartDate() {
return this.startDate;
}
public void setStartDate(Date startDate) {
this.startDate = startDate;
}
public String getTitle() {
return this.title;
}
public void setTitle(String title) {
this.title = title;
}
public String getText() {
return this.text;
}
public void setText(String text) {
this.text = text;
}
public boolean isStatus() {
return this.status;
}
public void setStatus(boolean status) {
this.status = status;
}
public Image getImage() {
return this.image;
}
public void setImage(Image image) {
this.image = image;
}
public GenericUser getOwner() {
return this.owner;
}
public void setOwner(GenericUser owner) {
this.owner = owner;
}
public Blog getBlog() {
return this.blog;
}
public void setBlog(Blog blog) {
this.blog = blog;
}
 
 
 
 
}
 
 
/impl/gen/java/pt/estgp/estgweb/domain/Announcement.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 20/Mar/2008 18:10:33 by Hibernate Tools 3.2.0.b9
// Generated 22/Abr/2008 19:12:49 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
15,7 → 15,9
private Date saveDate;
private Date startDate;
private Date expireDate;
private String subTargets;
private String title;
private String choosedOwnerRole;
private String text;
private String targetRoles;
private String type;
29,11 → 31,13
public Announcement() {
}
 
public Announcement(Date saveDate, Date startDate, Date expireDate, String title, 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;
this.targetRoles = targetRoles;
this.type = type;
80,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;
}
87,6 → 98,13
public void setTitle(String title) {
this.title = title;
}
public String getChoosedOwnerRole() {
return this.choosedOwnerRole;
}
public void setChoosedOwnerRole(String choosedOwnerRole) {
this.choosedOwnerRole = choosedOwnerRole;
}
public String getText() {
return this.text;
}
/impl/gen/java/pt/estgp/estgweb/domain/UrlStatDay.java
1,5 → 1,5
package pt.estgp.estgweb.domain;
// Generated 20/Mar/2008 18:10:33 by Hibernate Tools 3.2.0.b9
// Generated 22/Abr/2008 19:12:49 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 20/Mar/2008 18:10:33 by Hibernate Tools 3.2.0.b9
// Generated 22/Abr/2008 19:12:49 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 20/Mar/2008 18:10:33 by Hibernate Tools 3.2.0.b9
// Generated 22/Abr/2008 19:12:49 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 20/Mar/2008 18:10:33 by Hibernate Tools 3.2.0.b9
// Generated 22/Abr/2008 19:12:49 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 20/Mar/2008 18:10:33 by Hibernate Tools 3.2.0.b9
// Generated 22/Abr/2008 19:12:49 by Hibernate Tools 3.2.0.b9
 
 
import java.util.Date;
/impl/build.properties
12,6 → 12,7
database.connection.url=jdbc:mysql://${database.host}:${database.port}/${database.catalog}?useUnicode=true&amp;characterEncoding=UTF-8
hibernate.show.sql=false
 
use.ldap=true
 
#Paths configuration
tomcat.home=C:/Servidores/tomcat
25,6 → 26,8
tomcat.username=admin
tomcat.password=admin
 
service.url=${tomcat.url}${tomcat.context.path}
 
#IF is ROOT use Nothing
#example for ROOT:
# tomcat.context.path.install=/
83,7 → 86,7
log4j.properties=${conf.dir}/${log4j.properties.filename}
 
#log file confirguration
log.file=/estgweb.log
log.file=${data.dir}/estgweb.log
 
#email templates
email.templates.dir=/template/email
/impl/build.xml
1,4 → 1,4
<?xml version="1.0"?>
<?xml version="1.0" encoding="utf-8"?>
<project name="estgweb" basedir="." default="help">
 
 
27,6 → 27,9
<fileset dir="${tomcat.libs.ant.home}">
<include name="**.jar"/>
</fileset>
<fileset dir="${common.lib.dir}/mail">
<include name="**/*.jar"/>
</fileset>
<fileset dir="${common.lib.dir}/berserk">
<include name="**/*.jar"/>
</fileset>
57,6 → 60,9
<fileset dir="${common.lib.dir}/jfreechart">
<include name="**/*.jar"/>
</fileset>
<fileset dir="${common.lib.dir}/lucene">
<include name="**/*.jar"/>
</fileset>
</path>
 
 
252,6 → 258,9
<fileset dir="${common.lib.dir}/jfreechart">
<include name="**/*.jar"/>
</fileset>
<fileset dir="${common.lib.dir}/lucene">
<include name="**/*.jar"/>
</fileset>
</copy>
<copy file="${dist.dir}/estgweb.jar" todir="${build.dir.war}/WEB-INF/lib"/>
<copy todir="${build.dir.war}/WEB-INF" overwrite="true">
273,6 → 282,9
<include name="**/*"/>
</fileset>
</copy>
<replace file="${build.dir.war}/js/ajax.js">
<replacefilter token="@server.base.url@" value="${service.url}"/>
</replace>
</target>
 
<target name="war" depends="build.war">
336,6 → 348,7
<replacefilter token="@tmp.dir@" value="${tmp.dir}"/>
<replacefilter token="@out.dir@" value="${out.dir}"/>
<replacefilter token="@email.templates.dir@" value="${email.templates.dir}"/>
<replacefilter token="@use.ldap@" value="${use.ldap}"/>
</replace>
<replace file="${build.dir.classes}/${log4j.properties.filename}">
<replacefilter token="@log.file@" value="${log.file}"/>
/common/mysql/mysql-connector-java-3.0.15-ga-bin.jar
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/common/mysql/mysql-connector-java-5.1.6-bin.jar
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
Property changes:
Added: svn:mime-type
+ application/octet-stream