Subversion Repositories bacoAlunos

Compare Revisions

Ignore whitespace Rev 1057 → Rev 1068

/impl/conf/language/MessageResources.properties
160,6 → 160,7
fail.authenticate=O nome de utilizador ou a palavra passe estão errados. Por favor tente de novo.
dontexist.authenticate=O utilizador já existe na rede interna mas ainda não está disponivel no sistema BACO, por favor dirija-se ao Centro Informático.
 
top.separators=Separadores Públicos
#palavras comuns
courseunit=Unidade Curricular
grade=Nota
476,12 → 477,29
 
configuration.grades=Configuração Pautas
configuration=Configurações
configuration.directories=Configuração de Directórios
configuration.directory=Directório
directories.leaf.not.found=Nó não encontrado com o id {0}
 
directories.removed.leaf=Nó {0} removido com sucesso. Necessita de gravar as alterações para tornar a operação definitiva.
directories.add.leaf=Nó {0} adicionado com sucesso. Necessita de gravar as alterações para tornar a operação definitiva.
 
directories.remove.ask=Têm a certeza que pretende eliminar este nó -> {0}?
directories.add.right=Direito adicionado com sucesso, por favor atribua as permissões desejadas
directories.remove.right=Direito removido com sucesso ({0},{1},{2})
 
directories.add.group=Grupo Adicionado cm sucesso, atribua um descritivo
directories.remove.group=Grupo removido cm sucesso
directories.refresh=Refrescar Página
 
 
directories.confirm.save=Tem a certeza que deseja SALVAR as alterações?
directories.confirm.cancel=Tem a certeza que deseja CANCELAR as alterações?
 
directories.save=Salvar as Alterações
directories.cancel=Cancelar e reverter
directories.canceled=Operação cancelada
directories.saved=Operação salva com sucesso
 
 
 
510,3 → 528,6
 
 
 
 
 
 
/impl/conf/WEB-INF/struts/struts-configuration.xml
7,6 → 7,7
<struts-config>
<form-beans>
<form-bean type="pt.estgp.estgweb.web.form.configuration.ConfigurationGradesForm" name="ConfigurationGradesForm"/>
<form-bean type="pt.estgp.estgweb.web.form.configuration.DirectoriesForm" name="DirectoriesForm"/>
</form-beans>
 
<global-exceptions>
35,5 → 36,22
</action>
 
 
<action path="/user/configurationDirectories" forward="page.configuration.directories"/>
<action path="/user/configurationDirectory" forward="page.configuration.directory"/>
 
<action path="/user/configurationDir"
type="pt.estgp.estgweb.web.controllers.configuration.DirectoriesController"
name="DirectoriesForm"
scope="request"
parameter="dispatch"
validate="false"
input="page.separators.serviceZone">
 
<forward name="save" path="page.separators.serviceZone"/>
<forward name="directory" path="page.configuration.directory"/>
<forward name="directories" path="page.configuration.directories"/>
</action>
 
 
</action-mappings>
</struts-config>
/impl/conf/WEB-INF/struts/tiles-configuration.xml
11,5 → 11,18
<put name="topnav" value="/user/serviceZone/topnavConfigurationGrades.jsp"/>
<put name="body" value="/admin/configuration/grades.jsp"/>
</definition>
 
 
<definition name="page.configuration.directories" extends="page.separators.serviceZone">
<put name="title" value="Configuração Directorios"/>
<put name="topnav" value="/user/serviceZone/topnavConfigurationDirectories.jsp"/>
<put name="body" value="/admin/configuration/directories.jsp"/>
</definition>
 
<definition name="page.configuration.directory" extends="page.separators.serviceZone">
<put name="title" value="Directório"/>
<put name="topnav" value="/user/serviceZone/topnavConfigurationDirectory.jsp"/>
<put name="body" value="/admin/configuration/directory.jsp"/>
</definition>
</tiles-definitions>
/impl/conf/app.properties
55,7 → 55,7
email.courseunit.blogpost.subject.pt={0}: {1} (ESTG)
email.courseunit.blogpost.subject.en={0}: {1} (ESTG)
 
email.new.grades=true
email.new.grades=false
email.courseunit.announcements=true
email.courseunit.blogs=true
 
/impl/conf/template/email/GradeUnit.txt
3,4 → 3,4
# 0: Unidade
# 1: Nota
##################################################
{0}:{1};
{0} {1} {2} {3}
/impl/conf/directories/futureStudent.xml
1,82 → 1,87
<?xml version="1.0" encoding="UTF-8"?>
<directory label="Futuros Alunos" place="home" layout="layout0" layoutRoot="layoutPortal" targetRole="futureStudent" id="futureStudent" menuKey="menu.futuroAlunos" style="style1.xsl" xmlns="http://www.estgp.pt/baco/directory/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.estgp.pt/baco/directory/directory.xsd">
 
<directory label="Futuros Alunos" place="home" layout="layout0" layoutRoot="layoutPortal" targetRole="futureStudent" id="futureStudent" menuKey="menu.futuroAlunos" style="style1.xsl" xmlns="http://www.estgp.pt/baco/directory/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.estgp.pt/baco/directory/ directory.xsd">
<groupsDeclaration>
<group>1</group>
<group>2</group>
<group>
<name>1</name>
<description>1</description>
</group>
<group>
<name>2</name>
<description>2</description>
</group>
</groupsDeclaration>
<node label="A ESTG" id="ESTG" group="1">
<leaf absolute="false" url="/pagina.php?nome_id=MensagemDirector" proxy="conteudos" id="estgDirector" label="Mensagem do Director"></leaf>
<leaf absolute="false" url="/public/portal/estgComoChegarEstg.html" proxy="estgp" id="estgChegar" label="Como Chegar à ESTG"></leaf>
<leaf absolute="false" url="/public/portal/estgPassado.html" proxy="estgp" id="estgPassado" label="O nosso Passado"></leaf>
<leaf absolute="false" url="/public/portal/estgPresente.html" proxy="estgp" id="estgPresente" label="O Presente"></leaf>
<leaf absolute="false" url="/public/portal/estgEdificio.html" proxy="estgp" id="estgCidade" label="O Edifício"></leaf>
<leaf absolute="false" url="/public/portal/estgMissao.html" proxy="estgp" id="estgMissao" label="Missao"></leaf>
<leaf absolute="false" url="/public/portal/estgFotos.html" proxy="estgp" id="estgFotos" label="Fotografias"></leaf>
</node>
<node label="Serviços on-line" id="servicosOnLine" group="1">
<leaf absolute="true" url="http://mail.estgp.pt/exchange/" proxy="estgp" id="servWebmail" label="Webmail"></leaf>
<leaf absolute="false" url="/public/portal/servicosEduroam.html" proxy="estgp" id="servEduroam" label="Eduroam"></leaf>
<leaf absolute="false" url="/public/portal/servicosSecretaria.html" proxy="estgp" id="servSecretaria" label="Secretaria"></leaf>
<leaf absolute="true" url="http://netpa.ipportalegre.pt/" proxy="estgp" id="servAcademicosOnline" label="Académicos online"></leaf>
<leaf absolute="false" url="/public/portal/servicosGabineteComunicacao.html" proxy="estgp" id="servGabinetedeComunicacao" label="Gabinete de Comunicação"></leaf>
<leaf absolute="false" url="/public/portal/servicosRegie.html" proxy="estgp" id="servRegie" label="Régie"></leaf>
<leaf absolute="false" url="/public/portal/servicosCentroInformatico.html" proxy="estgp" id="servCentroInformatico" label="Centro Informático"></leaf>
</node>
<node label="Contactos" id="contactos" group="2">
<leaf absolute="false" url="/public/portal/contactosGeraisEstg.html" proxy="estgp" id="contGerais" label="Gerais ESTG"></leaf>
<leaf absolute="false" url="/public/portal/contactosDepartamentos.html" proxy="estgp" id="contDep" label="Departamentos"></leaf>
<leaf absolute="false" url="/public/portal/contactosSecretaria.html" proxy="estgp" id="contSecretaria" label="Secretaria"></leaf>
<leaf absolute="false" url="/public/portal/contactosCentroInformatico.html" proxy="estgp" id="contCentroInformatico" label="Centro Informático"></leaf>
<leaf absolute="false" url="/public/portal/contactosGabineteComunicacao.html" proxy="estgp" id="contGabinetedeComunicacao" label="Gabinete de Comunicação"></leaf>
</node>
<node label="Biblioteca" id="biblioteca" group="1">
<leaf absolute="false" url="/public/portal/servicosBibliotecaApresentacao.html" proxy="estgp" id="servBiblioteca" label="Apresentação"></leaf>
<leaf absolute="false" url="/public/portal/servicosBibliotecaServicos.html" proxy="estgp" id="servBibliotecaServ" label="Serviços"></leaf>
<leaf absolute="false" url="/public/portal/servicosBibliotecaColeccoes.html" proxy="estgp" id="servBibliotecaColeccoes" label="Colecções"></leaf>
<leaf absolute="false" url="/public/portal/servicosBibliotecaPublico.html" proxy="estgp" id="servBibliotecaPublico" label="Público"></leaf>
<leaf absolute="false" url="/public/portal/servicosBibliotecaCatalogos.html" proxy="estgp" id="servBibliotecaCatalogos" label="Catálogos"></leaf>
<leaf absolute="false" url="/public/portal/servicosBibliotecaRegulamento.html" proxy="estgp" id="servBiblioteRegulamento" label="Regulamento"></leaf>
<leaf absolute="false" url="/public/portal/servicosBibliotecaContactos.html" proxy="estgp" id="servBibliotecaContactos" label="Contactos e Horários"></leaf>
</node>
<node label="PALV Erasmus" id="PALVErasmus" group="2">
<leaf absolute="false" url="/public/portal/PALVErasmusAlunosEstrangeirosESTG.html" proxy="estgp" id="PALVErasmusAlunosEstrangeiros" label="Os Alunos Estrangeiros na ESTG"></leaf>
<leaf absolute="false" url="/public/portal/PALVErasmusAlunosESTGEstrangeiro.html" proxy="estgp" id="PALVErasmusEstrangeiroAlunos" label="Os Alunos da ESTG no Estrangeiro"></leaf>
<leaf absolute="false" url="/public/portal/PALVErasmusObjectivos.html" proxy="estgp" id="PALVErasmusObjectivos" label="Objectivos"></leaf>
<leaf absolute="false" url="/public/portal/PALVErasmusPaises.html" proxy="estgp" id="PALVErasmusPaises" label="Países Participantes"></leaf>
<leaf absolute="false" url="/public/portal/PALVErasmusProgramaErasmus.html" proxy="estgp" id="PALVErasmusProgramaErasmus" label="Programa Sectorial - Erasmus"></leaf>
<leaf absolute="false" url="/public/portal/PALVErasmusActividadesElegiveis.html" proxy="estgp" id="PALVErasmusActividadesElegiveis" label="Actividades Elegiveis"></leaf>
<leaf absolute="false" url="/public/portal/PALVErasmusMobilidadeEstudantes.html" proxy="estgp" id="PALVErasmusMobilidadeEstudantes" label="Mobilidade Estudantes"></leaf>
<leaf absolute="false" url="/public/portal/PALVErasmusParceirosESTG.html" proxy="estgp" id="PALVErasmusParceiros" label="Parceiros"></leaf>
<leaf absolute="false" url="/public/portal/PALVErasmusFormularioEstudantes.html" proxy="estgp" id="PALVErasmusFomularioEstudantes" label="Formulários Estudantes"></leaf>
<leaf absolute="false" url="/public/portal/PALVErasmusContactos.html" proxy="estgp" id="PALVErasmusContactos" label="Contactos"></leaf>
</node>
<node label="Orgãos de Gestão" id="OrgaosGestao" group="1">
<leaf absolute="false" url="/public/portal/orgaoDirector.html" proxy="estgp" id="orgaosDirector" label="Director"></leaf>
<leaf node="true" label="A ESTG" id="ESTG" group="1">
<leaf node="false" absolute="false" url="/pagina.php?nome_id=MensagemDirector" proxy="conteudos" id="estgDirector" label="Mensagem do Director"></leaf>
<leaf node="false" absolute="false" url="/public/portal/estgComoChegarEstg.html" proxy="estgp" id="estgChegar" label="Como Chegar à ESTG"></leaf>
<leaf node="false" absolute="false" url="/public/portal/estgPassado.html" proxy="estgp" id="estgPassado" label="O nosso Passado"></leaf>
<leaf node="false" absolute="false" url="/public/portal/estgPresente.html" proxy="estgp" id="estgPresente" label="O Presente"></leaf>
<leaf node="false" absolute="false" url="/public/portal/estgEdificio.html" proxy="estgp" id="estgCidade" label="O Edifício"></leaf>
<leaf node="false" absolute="false" url="/public/portal/estgMissao.html" proxy="estgp" id="estgMissao" label="Missao"></leaf>
<leaf node="false" absolute="false" url="/public/portal/estgFotos.html" proxy="estgp" id="estgFotos" label="Fotografias"></leaf>
</leaf>
<leaf node="true" label="Serviços on-line" id="servicosOnLine" group="1">
<leaf node="false" absolute="true" url="http://mail.estgp.pt/exchange/" proxy="estgp" id="servWebmail" label="Webmail"></leaf>
<leaf node="false" absolute="false" url="/public/portal/servicosEduroam.html" proxy="estgp" id="servEduroam" label="Eduroam"></leaf>
<leaf node="false" absolute="false" url="/public/portal/servicosSecretaria.html" proxy="estgp" id="servSecretaria" label="Secretaria"></leaf>
<leaf node="false" absolute="true" url="http://netpa.ipportalegre.pt/" proxy="estgp" id="servAcademicosOnline" label="Académicos online"></leaf>
<leaf node="false" absolute="false" url="/public/portal/servicosGabineteComunicacao.html" proxy="estgp" id="servGabinetedeComunicacao" label="Gabinete de Comunicação"></leaf>
<leaf node="false" absolute="false" url="/public/portal/servicosRegie.html" proxy="estgp" id="servRegie" label="Régie"></leaf>
<leaf node="false" absolute="false" url="/public/portal/servicosCentroInformatico.html" proxy="estgp" id="servCentroInformatico" label="Centro Informático"></leaf>
</leaf>
<leaf node="true" label="Contactos" id="contactos" group="2">
<leaf node="false" absolute="false" url="/public/portal/contactosGeraisEstg.html" proxy="estgp" id="contGerais" label="Gerais ESTG"></leaf>
<leaf node="false" absolute="false" url="/public/portal/contactosDepartamentos.html" proxy="estgp" id="contDep" label="Departamentos"></leaf>
<leaf node="false" absolute="false" url="/public/portal/contactosSecretaria.html" proxy="estgp" id="contSecretaria" label="Secretaria"></leaf>
<leaf node="false" absolute="false" url="/public/portal/contactosCentroInformatico.html" proxy="estgp" id="contCentroInformatico" label="Centro Informático"></leaf>
<leaf node="false" absolute="false" url="/public/portal/contactosGabineteComunicacao.html" proxy="estgp" id="contGabinetedeComunicacao" label="Gabinete de Comunicação"></leaf>
</leaf>
<leaf node="true" label="Biblioteca" id="biblioteca" group="1">
<leaf node="false" absolute="false" url="/public/portal/servicosBibliotecaApresentacao.html" proxy="estgp" id="servBiblioteca" label="Apresentação"></leaf>
<leaf node="false" absolute="false" url="/public/portal/servicosBibliotecaServicos.html" proxy="estgp" id="servBibliotecaServ" label="Serviços"></leaf>
<leaf node="false" absolute="false" url="/public/portal/servicosBibliotecaColeccoes.html" proxy="estgp" id="servBibliotecaColeccoes" label="Colecções"></leaf>
<leaf node="false" absolute="false" url="/public/portal/servicosBibliotecaPublico.html" proxy="estgp" id="servBibliotecaPublico" label="Público"></leaf>
<leaf node="false" absolute="false" url="/public/portal/servicosBibliotecaCatalogos.html" proxy="estgp" id="servBibliotecaCatalogos" label="Catálogos"></leaf>
<leaf node="false" absolute="false" url="/public/portal/servicosBibliotecaRegulamento.html" proxy="estgp" id="servBiblioteRegulamento" label="Regulamento"></leaf>
<leaf node="false" absolute="false" url="/public/portal/servicosBibliotecaContactos.html" proxy="estgp" id="servBibliotecaContactos" label="Contactos e Horários"></leaf>
</leaf>
<leaf node="true" label="PALV Erasmus" id="PALVErasmus" group="2">
<leaf node="false" absolute="false" url="/public/portal/PALVErasmusAlunosEstrangeirosESTG.html" proxy="estgp" id="PALVErasmusAlunosEstrangeiros" label="Os Alunos Estrangeiros na ESTG"></leaf>
<leaf node="false" absolute="false" url="/public/portal/PALVErasmusAlunosESTGEstrangeiro.html" proxy="estgp" id="PALVErasmusEstrangeiroAlunos" label="Os Alunos da ESTG no Estrangeiro"></leaf>
<leaf node="false" absolute="false" url="/public/portal/PALVErasmusObjectivos.html" proxy="estgp" id="PALVErasmusObjectivos" label="Objectivos"></leaf>
<leaf node="false" absolute="false" url="/public/portal/PALVErasmusPaises.html" proxy="estgp" id="PALVErasmusPaises" label="Países Participantes"></leaf>
<leaf node="false" absolute="false" url="/public/portal/PALVErasmusProgramaErasmus.html" proxy="estgp" id="PALVErasmusProgramaErasmus" label="Programa Sectorial - Erasmus"></leaf>
<leaf node="false" absolute="false" url="/public/portal/PALVErasmusActividadesElegiveis.html" proxy="estgp" id="PALVErasmusActividadesElegiveis" label="Actividades Elegiveis"></leaf>
<leaf node="false" absolute="false" url="/public/portal/PALVErasmusMobilidadeEstudantes.html" proxy="estgp" id="PALVErasmusMobilidadeEstudantes" label="Mobilidade Estudantes"></leaf>
<leaf node="false" absolute="false" url="/public/portal/PALVErasmusParceirosESTG.html" proxy="estgp" id="PALVErasmusParceiros" label="Parceiros"></leaf>
<leaf node="false" absolute="false" url="/public/portal/PALVErasmusFormularioEstudantes.html" proxy="estgp" id="PALVErasmusFomularioEstudantes" label="Formulários Estudantes"></leaf>
<leaf node="false" absolute="false" url="/public/portal/PALVErasmusContactos.html" proxy="estgp" id="PALVErasmusContactos" label="Contactos"></leaf>
</leaf>
<leaf node="true" label="Orgãos de Gestão" id="OrgaosGestao" group="1">
<leaf node="false" absolute="false" url="/public/portal/orgaoDirector.html" proxy="estgp" id="orgaosDirector" label="Director"></leaf>
 
<leaf absolute="false" url="/public/portal/orgaosConselhoTecnicoCientifico.html" proxy="estgp" id="orgaosConselhoTecnicoCientifico" label="Conselho Técnico Científico"></leaf>
<leaf absolute="false" url="/Conselho.Tecnico.Cientifico.Externo" proxy="grupos" id="pastaConselhoTecnicoCientificoExterna" label=" -----> Documentação CTC" remoteExtensionRoot="true" style="true" layout="true" />
<leaf absolute="false" url="/public/portal/orgaosConselhoPedagogico.html" proxy="estgp" id="orgaosConselhoPedagogico" label="Conselho Pedagógico"></leaf>
<leaf absolute="false" url="/Conselho.Pedagogico.Externo" proxy="grupos" id="pastaConselhoPegagogicoExterna" label=" -----> Documentação CP" remoteExtensionRoot="true" style="true" layout="true" />
<leaf absolute="false" url="/public/portal/orgaosConselhoRepresentantes.html" proxy="estgp" id="orgaosConselhoRepresentantes" label="Conselho Representantes"></leaf>
<leaf absolute="false" url="/Conselho.Representantes.Externo" proxy="grupos" id="pastaConselhoRepresentantesExterna" label=" -----> Documentação CR" remoteExtensionRoot="true" style="true" layout="true" />
<leaf node="false" absolute="false" url="/public/portal/orgaosConselhoTecnicoCientifico.html" proxy="estgp" id="orgaosConselhoTecnicoCientifico" label="Conselho Técnico Científico"></leaf>
<leaf node="false" absolute="false" url="/Conselho.Tecnico.Cientifico.Externo" proxy="grupos" id="pastaConselhoTecnicoCientificoExterna" label=" -----> Documentação CTC" remoteExtensionRoot="true" style="true" layout="true" />
<leaf node="false" absolute="false" url="/public/portal/orgaosConselhoPedagogico.html" proxy="estgp" id="orgaosConselhoPedagogico" label="Conselho Pedagógico"></leaf>
<leaf node="false" absolute="false" url="/Conselho.Pedagogico.Externo" proxy="grupos" id="pastaConselhoPegagogicoExterna" label=" -----> Documentação CP" remoteExtensionRoot="true" style="true" layout="true" />
<leaf node="false" absolute="false" url="/public/portal/orgaosConselhoRepresentantes.html" proxy="estgp" id="orgaosConselhoRepresentantes" label="Conselho Representantes"></leaf>
<leaf node="false" absolute="false" url="/Conselho.Representantes.Externo" proxy="grupos" id="pastaConselhoRepresentantesExterna" label=" -----> Documentação CR" remoteExtensionRoot="true" style="true" layout="true" />
 
 
<leaf absolute="false" url="/public/portal/orgaosConselhoGestao.html" proxy="estgp" id="orgaosConselhogestao" label="Conselho de Gestão"></leaf>
<leaf absolute="false" url="/public/portal/orgaosConselhoInterdepartamental.html" proxy="estgp" id="orgaosConselhoDepartamental" label="Conselho Departamental"></leaf>
</node>
<node label="Informação Académica" id="infoAcademica" group="2">
<leaf absolute="true" url="http://baco.estgp.pt/dir/student/infoAcademica/infoAcadCalendarioEscolar/public/portal/CL20102011.pdf" proxy="estgp" id="infoAcadCalendarioEscolar" label="Calendário Escolar"></leaf>
<leaf absolute="true" url="http://baco.estgp.pt/courses.do?type=L" proxy="estgp" id="infoAcadLicenciaturas" label="Licenciaturas"></leaf>
<leaf absolute="true" url="http://baco.estgp.pt/courses.do?type=M" proxy="estgp" id="infoAcadMestrados" label="Mestrados"></leaf>
<leaf absolute="true" url="http://baco.estgp.pt/courses.do?type=P" proxy="estgp" id="infoAcadPgraduacoes" label="Pós-Graduações"></leaf>
<leaf absolute="true" url="http://baco.estgp.pt/courses.do?type=E" proxy="estgp" id="infoAcadCET" label="CET"></leaf>
</node>
<node label="O IPP" id="IPP" group="2">
<leaf absolute="true" url="http://www.ipportalegre.pt/" proxy="estgp" id="ippIPP" label="IPP Serviços Centrais"></leaf>
<leaf absolute="true" url="http://www.esep.pt/" proxy="estgp" id="ippESEP" label="Esc. Sup. de Educação"></leaf>
<leaf absolute="true" url="http://www.esaelvas.pt/" proxy="estgp" id="ippESAE" label="Esc. Sup. Agrária"></leaf>
<leaf absolute="true" url="http://www.essp.pt/" proxy="estgp" id="ippESSP" label="Esc. Sup. de Saúde"></leaf>
<leaf absolute="true" url="http://www.ipportalegre.pt/sas/" proxy="estgp" id="ippSAS" label="Serviços de Acção Social"></leaf>
</node>
<leaf node="false" absolute="false" url="/public/portal/orgaosConselhoGestao.html" proxy="estgp" id="orgaosConselhogestao" label="Conselho de Gestão"></leaf>
<leaf node="false" absolute="false" url="/public/portal/orgaosConselhoInterdepartamental.html" proxy="estgp" id="orgaosConselhoDepartamental" label="Conselho Departamental"></leaf>
</leaf>
<leaf node="true" label="Informação Académica" id="infoAcademica" group="2">
<leaf node="false" absolute="true" url="http://baco.estgp.pt/dir/student/infoAcademica/infoAcadCalendarioEscolar/public/portal/CL20102011.pdf" proxy="estgp" id="infoAcadCalendarioEscolar" label="Calendário Escolar"></leaf>
<leaf node="false" absolute="true" url="http://baco.estgp.pt/courses.do?type=L" proxy="estgp" id="infoAcadLicenciaturas" label="Licenciaturas"></leaf>
<leaf node="false" absolute="true" url="http://baco.estgp.pt/courses.do?type=M" proxy="estgp" id="infoAcadMestrados" label="Mestrados"></leaf>
<leaf node="false" absolute="true" url="http://baco.estgp.pt/courses.do?type=P" proxy="estgp" id="infoAcadPgraduacoes" label="Pós-Graduações"></leaf>
<leaf node="false" absolute="true" url="http://baco.estgp.pt/courses.do?type=E" proxy="estgp" id="infoAcadCET" label="CET"></leaf>
</leaf>
<leaf node="true" label="O IPP" id="IPP" group="2">
<leaf node="false" absolute="true" url="http://www.ipportalegre.pt/" proxy="estgp" id="ippIPP" label="IPP Serviços Centrais"></leaf>
<leaf node="false" absolute="true" url="http://www.esep.pt/" proxy="estgp" id="ippESEP" label="Esc. Sup. de Educação"></leaf>
<leaf node="false" absolute="true" url="http://www.esaelvas.pt/" proxy="estgp" id="ippESAE" label="Esc. Sup. Agrária"></leaf>
<leaf node="false" absolute="true" url="http://www.essp.pt/" proxy="estgp" id="ippESSP" label="Esc. Sup. de Saúde"></leaf>
<leaf node="false" absolute="true" url="http://www.ipportalegre.pt/sas/" proxy="estgp" id="ippSAS" label="Serviços de Acção Social"></leaf>
</leaf>
</directory>
/impl/conf/directories/directory.xsd
1,6 → 1,8
<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2008 rel. 2 sp2 (http://www.altova.com) by Jorge Machado (Escola Superior de tecnologia e Gestao, Portalegre) -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.estgp.pt/baco/directory/" targetNamespace="http://www.estgp.pt/baco/directory/" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.estgp.pt/baco/directory/"
xmlns:xsl="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.estgp.pt/baco/directory/"
elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="directory">
<xs:annotation>
<xs:documentation>This schema is to define information structured directories</xs:documentation>
8,14 → 10,13
<xs:complexType>
<xs:sequence>
<xs:element name="groupsDeclaration" type="groupDeclarationT" minOccurs="0"/>
<xs:choice maxOccurs="unbounded">
<xs:element name="node" type="nodeT"/>
<xs:element name="leaf" type="leafT"/>
</xs:choice>
<xs:element name="leaf" type="leafT" maxOccurs="unbounded"/>
<xs:element name="rights" type="rightsT" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="id" type="xs:ID" use="required"/>
<xs:attribute name="label" use="required"/>
<xs:attribute name="label_en" use="optional"/>
<xs:attribute name="label_es" use="optional"/>
<xs:attribute name="place" use="required"/>
<xs:attribute name="style" use="required"/>
<xs:attribute name="layout" use="required"/>
30,13 → 31,12
</xs:annotation>
<xs:sequence>
<xs:element name="groupsDeclaration" type="groupDeclarationT" minOccurs="0"/>
<xs:choice maxOccurs="unbounded">
<xs:element name="node" type="nodeT"/>
<xs:element name="leaf" type="leafT"/>
</xs:choice>
<xs:element name="leaf" type="leafT" maxOccurs="unbounded"/>
<xs:element name="rights" type="rightsT" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="label" use="required"/>
<xs:attribute name="label" use="required"/>
<xs:attribute name="label_en" use="optional"/>
<xs:attribute name="label_es" use="optional"/>
<xs:attribute name="group" use="optional">
<xs:annotation>
<xs:documentation>Grouping purposes in styling</xs:documentation>
65,18 → 65,19
<xs:documentation>A leaf is an URL for an external or internal WEB site</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>A leaf can be a root of some diferent system like FTP server Directory</xs:documentation>
</xs:annotation>
<xs:element name="node" type="nodeT"/>
<xs:element name="leaf" type="leafT"/>
</xs:choice>
<xs:annotation>
<xs:documentation>A leaf can be a root of some diferent system like FTP server Directory</xs:documentation>
</xs:annotation>
<xs:element name="groupsDeclaration" type="groupDeclarationT" minOccurs="0"/>
<xs:element name="leaf" type="leafT" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="rights" type="rightsT" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="url" type="xs:string" use="required"/>
<xs:attribute name="node" type="xs:boolean" use="optional"/>
<xs:attribute name="url" type="xs:string" use="optional"/>
<xs:attribute name="id" type="xs:ID" use="required"/>
<xs:attribute name="label" use="required"/>
<xs:attribute name="label_en" use="optional"/>
<xs:attribute name="label_es" use="optional"/>
<xs:attribute name="xml" type="xs:boolean" use="optional">
<xs:annotation>
<xs:documentation>False by default</xs:documentation>
93,7 → 94,7
When style=false and layout=false external file will be directly writed in TopWindow</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="absolute" type="xs:boolean" use="required">
<xs:attribute name="absolute" type="xs:boolean" use="optional">
<xs:annotation>
<xs:documentation>follow parameter will be evaluated only If this parameter is set to false</xs:documentation>
</xs:annotation>
139,11 → 140,36
</xs:restriction>
</xs:simpleType>
</xs:attribute>
 
<!-- NODE ATTRIBUTES -->
<xs:attribute name="showNav" type="xs:boolean" use="optional">
<xs:annotation>
<xs:documentation>Show link to this node in navigation menus, true by default</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="type" use="optional">
<xs:annotation>
<xs:documentation>Type of node, by default HTTP link</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="ftp"/>
<xs:enumeration value="http"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
<xs:complexType name="groupDeclarationT">
<xs:sequence>
<xs:element name="group" maxOccurs="unbounded"/>
<xs:element name="group" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="name" type="xs:string"/>
<xs:element name="description" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="rightsT">
151,24 → 177,34
<xs:documentation>Rights define who is authorized to enter in a node</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:choice maxOccurs="unbounded">
<xs:element name="role" type="rightT1"/>
<xs:element name="user" type="rightT1"/>
</xs:choice>
 
<xs:element name="right" maxOccurs="unbounded">
<xs:complexType >
<xs:annotation>
<xs:documentation>A right T1 can be to permit or restrict</xs:documentation>
</xs:annotation>
<xs:attribute name="target" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="user"/>
<xs:enumeration value="role"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="type" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="permit"/>
<xs:enumeration value="restrict"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="name" use="required" type="xs:string"/>
</xs:complexType>
</xs:element>
 
<xs:element name="internal" type="xs:boolean" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="rightT1" mixed="true">
<xs:annotation>
<xs:documentation>A right T1 can be to permit or restrict</xs:documentation>
</xs:annotation>
<xs:attribute name="type" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="permit"/>
<xs:enumeration value="restrict"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
 
</xs:schema>
/impl/conf/directories/styleMapaDir.xsl
13,11 → 13,11
<td>ULR</td>
<td width="20%">NOTAS</td>
</tr>
<xsl:for-each select="//d:node">
<xsl:for-each select="//d:leaf[@node='true']">
<tr>
<td colspan="4" style="background-color:#aaaaaa"><xsl:value-of select="@label"/></td>
</tr>
<xsl:for-each select="./d:leaf">
<xsl:for-each select="./d:leaf[@node='false']">
<tr>
<td><xsl:text>-&gt;</xsl:text><xsl:value-of select="@label"/></td>
<td>
/impl/conf/directories/utilsIntranet.xml
1,23 → 1,23
<?xml version="1.0" encoding="UTF-8"?>
<directory place="intranetUtils" label="Utilitários" layout="layoutIntranetUtils" layoutRoot="layoutIntranetUtils" targetRole="student" id="utilsIntranet" menuKey="intranet.separator.utils" style="styleIntranet.xsl" xmlns="http://www.estgp.pt/baco/directory/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.estgp.pt/baco/directory/ directory.xsd">
<leaf absolute="false" label="Home Utilitários" layout="true" proxy="estgp" id="utils" url="/intranet/escola/utils.html"/>
<leaf absolute="false" label="Secretaria" layout="true" proxy="estgp" id="secretaria" url="/intranet/escola/secretaria.html">
<leaf absolute="false" label="Documentos de Apoio" layout="true" proxy="estgp" id="documentosApoio" url="/intranet/escola/secretaria/documentosApoio.html"/>
<leaf absolute="false" label="Formulários [alunos]" layout="true" proxy="estgp" id="Forms.Alunos" url="/intranet/escola/secretaria/formulariosAlunos.html"/>
<leaf absolute="false" label="Legislação" layout="true" proxy="estgp" id="legislacao" url="/intranet/escola/secretaria/legislacao.html"/>
<leaf label="Folhas de Presenças" id="Folhas.Presencas" absolute="false" remoteExtensionRoot="true" style="true" proxy="ionline" layout="true" url="/Intranet/Escola/Secretaria/Folhas.Presencas"/>
<leaf label="Projetos-AA,CA,GE,MKT" id="Projectos.Finais" absolute="false" remoteExtensionRoot="true" style="true" proxy="ionline" layout="true" url="/Intranet/Escola/Secretaria/Projectos.Finais"/>
<leaf label="Atas" id="Actas" absolute="false" remoteExtensionRoot="true" style="true" proxy="ionline" layout="true" url="/Actas"/>
<leaf node="false" absolute="false" label="Home Utilitários" layout="true" proxy="estgp" id="utils" url="/intranet/escola/utils.html"/>
<leaf node="false" absolute="false" label="Secretaria" layout="true" proxy="estgp" id="secretaria" url="/intranet/escola/secretaria.html">
<leaf node="false" absolute="false" label="Documentos de Apoio" layout="true" proxy="estgp" id="documentosApoio" url="/intranet/escola/secretaria/documentosApoio.html"/>
<leaf node="false" absolute="false" label="Formulários [alunos]" layout="true" proxy="estgp" id="Forms.Alunos" url="/intranet/escola/secretaria/formulariosAlunos.html"/>
<leaf node="false" absolute="false" label="Legislação" layout="true" proxy="estgp" id="legislacao" url="/intranet/escola/secretaria/legislacao.html"/>
<leaf node="false" label="Folhas de Presenças" id="Folhas.Presencas" absolute="false" remoteExtensionRoot="true" style="true" proxy="ionline" layout="true" url="/Intranet/Escola/Secretaria/Folhas.Presencas"/>
<leaf node="false" label="Projetos-AA,CA,GE,MKT" id="Projectos.Finais" absolute="false" remoteExtensionRoot="true" style="true" proxy="ionline" layout="true" url="/Intranet/Escola/Secretaria/Projectos.Finais"/>
<leaf node="false" label="Atas" id="Actas" absolute="false" remoteExtensionRoot="true" style="true" proxy="ionline" layout="true" url="/Actas"/>
</leaf>
<leaf absolute="false" label="Horários" layout="true" proxy="estgp" id="horarios" url="/intranet/escola/horarios.html">
<leaf absolute="false" label="Horários de CTeSP" layout="true" proxy="estgp" id="horariosCTeSP" url="/intranet/escola/horarios_ctesp.html"/>
<leaf absolute="false" label="Horários de CET" layout="true" proxy="estgp" id="horariosCet" url="/intranet/escola/horarios_cets.html"/>
<leaf absolute="false" label="Horários de Licenciaturas" layout="true" proxy="estgp" id="horariosLicenciaturas" url="/intranet/escola/horarios_licenciaturas.html"/>
<leaf absolute="false" label="Horários de Mestrados" layout="true" proxy="estgp" id="horariosMestrados" url="/intranet/escola/horarios_mestrados.html"/>
<leaf absolute="false" label="Horários de Docentes" layout="true" proxy="estgp" id="horariosDocentes" url="/intranet/escola/horarios_Docentes.html"/>
<leaf absolute="false" label="Horários de Salas" layout="true" proxy="estgp" id="horariosSalas" url="/intranet/escola/horarios_salas.html"/>
<leaf node="false" absolute="false" label="Horários" layout="true" proxy="estgp" id="horarios" url="/intranet/escola/horarios.html">
<leaf node="false" absolute="false" label="Horários de CTeSP" layout="true" proxy="estgp" id="horariosCTeSP" url="/intranet/escola/horarios_ctesp.html"/>
<leaf node="false" absolute="false" label="Horários de CET" layout="true" proxy="estgp" id="horariosCet" url="/intranet/escola/horarios_cets.html"/>
<leaf node="false" absolute="false" label="Horários de Licenciaturas" layout="true" proxy="estgp" id="horariosLicenciaturas" url="/intranet/escola/horarios_licenciaturas.html"/>
<leaf node="false" absolute="false" label="Horários de Mestrados" layout="true" proxy="estgp" id="horariosMestrados" url="/intranet/escola/horarios_mestrados.html"/>
<leaf node="false" absolute="false" label="Horários de Docentes" layout="true" proxy="estgp" id="horariosDocentes" url="/intranet/escola/horarios_Docentes.html"/>
<leaf node="false" absolute="false" label="Horários de Salas" layout="true" proxy="estgp" id="horariosSalas" url="/intranet/escola/horarios_salas.html"/>
</leaf>
<leaf label="Calendário Escolar" id="calEscolar" absolute="false" url="/public/portal/CL20102011.pdf" layout="false" proxy="estgp"/>
<leaf absolute="false" label="Calendário de Exames" layout="true" proxy="estgp" id="exames" url="/intranet/escola/Exames.html"/>
<leaf absolute="false" label="Centro Informático" layout="true" proxy="estgp" id="ci" url="/intranet/escola/ci.html"/>
<leaf node="false" label="Calendário Escolar" id="calEscolar" absolute="false" url="/public/portal/CL20102011.pdf" layout="false" proxy="estgp"/>
<leaf node="false" absolute="false" label="Calendário de Exames" layout="true" proxy="estgp" id="exames" url="/intranet/escola/Exames.html"/>
<leaf node="false" absolute="false" label="Centro Informático" layout="true" proxy="estgp" id="ci" url="/intranet/escola/ci.html"/>
</directory>
/impl/conf/directories/student.xml
1,77 → 1,93
<?xml version="1.0" encoding="UTF-8"?>
<directory label="Alunos" place="home" layout="layout0" layoutRoot="layoutPortal" targetRole="student" id="student" menuKey="menu.alunos" style="style1.xsl" xmlns="http://www.estgp.pt/baco/directory/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.estgp.pt/baco/directory/ directory.xsd">
<groupsDeclaration>
<group>1</group>
<group>2</group>
</groupsDeclaration>
<node label="Serviços on-line" id="servicosOnLine" group="1">
<leaf absolute="true" url="http://baco.estgp.pt/layout/webmailRedirect.jsp" proxy="estgp" id="servWebmail" label="Webmail"></leaf>
<leaf absolute="false" url="/public/portal/servicosEduroam.html" proxy="estgp" id="servEduroam" label="Eduroam"></leaf>
<leaf absolute="false" url="/public/portal/servicosSecretaria.html" proxy="estgp" id="servSecretaria" label="Secretaria"></leaf>
<leaf absolute="true" url="http://netpa.ipportalegre.pt/" proxy="estgp" id="servAcademicosOnline" label="Académicos online"></leaf>
<leaf absolute="false" url="/public/portal/servicosGabineteComunicacao.html" proxy="estgp" id="servGabinetedeComunicacao" label="Gabinete de Comunicação"></leaf>
<leaf absolute="false" url="/public/portal/servicosRegie.html" proxy="estgp" id="servRegie" label="Régie"></leaf>
<leaf absolute="false" url="/public/portal/servicosCentroInformatico.html" proxy="estgp" id="servCentroInformatico" label="Centro informático"></leaf>
</node>
<node label="Contactos" id="contactos" group="2">
<leaf absolute="false" url="/public/portal/contactosGeraisEstg.html" proxy="estgp" id="contGerais" label="Gerais ESTG"></leaf>
<leaf absolute="false" url="/public/portal/contactosDepartamentos.html" proxy="estgp" id="contDep" label="Departamentos"></leaf>
<leaf absolute="false" url="/public/portal/contactosSecretaria.html" proxy="estgp" id="contSecretaria" label="Secretaria"></leaf>
<leaf absolute="false" url="/public/portal/contactosCentroInformatico.html" proxy="estgp" id="contCentroInformatico" label="Centro Informático"></leaf>
<leaf absolute="false" url="/public/portal/contactosGabineteComunicacao.html" proxy="estgp" id="contGabinetedeComunicacao" label="Gabinete de Comunicação"></leaf>
</node>
<node label="Biblioteca" id="biblioteca" group="1">
<leaf absolute="false" url="/public/portal/servicosBibliotecaApresentacao.html" proxy="estgp" id="servBiblioteca" label="Apresentação"></leaf>
<leaf absolute="false" url="/public/portal/servicosBibliotecaServicos.html" proxy="estgp" id="servBibliotecaServ" label="Serviços"></leaf>
<leaf absolute="false" url="/public/portal/servicosBibliotecaColeccoes.html" proxy="estgp" id="servBibliotecaColeccoes" label="Coleções"></leaf>
<leaf absolute="false" url="/public/portal/servicosBibliotecaPublico.html" proxy="estgp" id="servBibliotecaPublico" label="Público"></leaf>
<leaf absolute="false" url="/public/portal/servicosBibliotecaCatalogos.html" proxy="estgp" id="servBibliotecaCatalogos" label="Catálogos"></leaf>
<leaf absolute="false" url="/public/portal/servicosBibliotecaRegulamento.html" proxy="estgp" id="servBiblioteRegulamento" label="Regulamento"></leaf>
<leaf absolute="false" url="/public/portal/servicosBibliotecaContactos.html" proxy="estgp" id="servBibliotecaContactos" label="Contatos e Horários"></leaf>
</node>
<node label="PALV Erasmus" id="PALVErasmus" group="2">
<leaf absolute="false" url="/public/portal/PALVErasmusAlunosEstrangeirosESTG.html" proxy="estgp" id="PALVErasmusAlunosEstrangeiros" label="Os Alunos Estrangeiros na ESTG"></leaf>
<leaf absolute="false" url="/public/portal/PALVErasmusAlunosESTGEstrangeiro.html" proxy="estgp" id="PALVErasmusEstrangeiroAlunos" label="Os Alunos da ESTG no Estrangeiro"></leaf>
<leaf absolute="false" url="/public/portal/PALVErasmusObjectivos.html" proxy="estgp" id="PALVErasmusObjectivos" label="Objectivos"></leaf>
<leaf absolute="false" url="/public/portal/PALVErasmusPaises.html" proxy="estgp" id="PALVErasmusPaises" label="Países Participantes"></leaf>
<leaf absolute="false" url="/public/portal/PALVErasmusProgramaErasmus.html" proxy="estgp" id="PALVErasmusProgramaErasmus" label="Programa Setorial - Erasmus"></leaf>
<leaf absolute="false" url="/public/portal/PALVErasmusActividadesElegiveis.html" proxy="estgp" id="PALVErasmusActividadesElegiveis" label="Atividades Elegiveis"></leaf>
<leaf absolute="false" url="/public/portal/PALVErasmusMobilidadeEstudantes.html" proxy="estgp" id="PALVErasmusMobilidadeEstudantes" label="Mobilidade Estudantes"></leaf>
<leaf absolute="false" url="/public/portal/PALVErasmusParceirosESTG.html" proxy="estgp" id="PALVErasmusParceiros" label="Parceiros"></leaf>
<leaf absolute="false" url="/public/portal/PALVErasmusFormularioEstudantes.html" proxy="estgp" id="PALVErasmusFomularioEstudantes" label="Formulários Estudantes"></leaf>
<leaf absolute="false" url="/public/portal/PALVErasmusContactos.html" proxy="estgp" id="PALVErasmusContactos" label="Contactos"></leaf>
</node>
<node label="Orgãos de Gestão" id="OrgaosGestao" group="1">
<leaf absolute="false" url="/public/portal/orgaoDirector.html" proxy="estgp" id="orgaosDirector" label="Diretor"></leaf>
<groupsDeclaration>
<group>
<name>1</name>
<description>1</description>
</group>
<group>
<name>2</name>
<description>2</description>
</group>
</groupsDeclaration>
<leaf node="true" label="Serviços on-line" id="servicosOnLine" group="1">
<leaf node="false" absolute="true" url="http://baco.estgp.pt/layout/webmailRedirect.jsp" proxy="estgp" id="servWebmail" label="Webmail"></leaf>
<leaf node="false" absolute="false" url="/public/portal/servicosEduroam.html" proxy="estgp" id="servEduroam" label="Eduroam"></leaf>
<leaf node="false" absolute="false" url="/public/portal/servicosSecretaria.html" proxy="estgp" id="servSecretaria" label="Secretaria"></leaf>
<leaf node="false" absolute="true" url="http://netpa.ipportalegre.pt/" proxy="estgp" id="servAcademicosOnline" label="Académicos online"></leaf>
<leaf node="false" absolute="false" url="/public/portal/servicosGabineteComunicacao.html" proxy="estgp" id="servGabinetedeComunicacao" label="Gabinete de Comunicação"></leaf>
<leaf node="false" absolute="false" url="/public/portal/servicosRegie.html" proxy="estgp" id="servRegie" label="Régie"></leaf>
<leaf node="false" absolute="false" url="/public/portal/servicosCentroInformatico.html" proxy="estgp" id="servCentroInformatico" label="Centro informático"></leaf>
</leaf>
<leaf node="true" label="Contactos" id="contactos" group="2">
<leaf node="false" absolute="false" url="/public/portal/contactosGeraisEstg.html" proxy="estgp" id="contGerais" label="Gerais ESTG"></leaf>
<leaf node="false" absolute="false" url="/public/portal/contactosDepartamentos.html" proxy="estgp" id="contDep" label="Departamentos"></leaf>
<leaf node="false" absolute="false" url="/public/portal/contactosSecretaria.html" proxy="estgp" id="contSecretaria" label="Secretaria"></leaf>
<leaf node="false" absolute="false" url="/public/portal/contactosCentroInformatico.html" proxy="estgp" id="contCentroInformatico" label="Centro Informático"></leaf>
<leaf node="false" absolute="false" url="/public/portal/contactosGabineteComunicacao.html" proxy="estgp" id="contGabinetedeComunicacao" label="Gabinete de Comunicação"></leaf>
</leaf>
<leaf node="true" label="Biblioteca" id="biblioteca" group="1">
<leaf node="false" absolute="false" url="/public/portal/servicosBibliotecaApresentacao.html" proxy="estgp" id="servBiblioteca" label="Apresentação"></leaf>
<leaf node="false" absolute="false" url="/public/portal/servicosBibliotecaServicos.html" proxy="estgp" id="servBibliotecaServ" label="Serviços"></leaf>
<leaf node="false" absolute="false" url="/public/portal/servicosBibliotecaColeccoes.html" proxy="estgp" id="servBibliotecaColeccoes" label="Coleções"></leaf>
<leaf node="false" absolute="false" url="/public/portal/servicosBibliotecaPublico.html" proxy="estgp" id="servBibliotecaPublico" label="Público"></leaf>
<leaf node="false" absolute="false" url="/public/portal/servicosBibliotecaCatalogos.html" proxy="estgp" id="servBibliotecaCatalogos" label="Catálogos"></leaf>
<leaf node="false" absolute="false" url="/public/portal/servicosBibliotecaRegulamento.html" proxy="estgp" id="servBiblioteRegulamento" label="Regulamento"></leaf>
<leaf node="false" absolute="false" url="/public/portal/servicosBibliotecaContactos.html" proxy="estgp" id="servBibliotecaContactos" label="Contatos e Horários"></leaf>
</leaf>
<leaf node="true" label="PALV Erasmus" id="PALVErasmus" group="2">
<leaf node="false" absolute="false" url="/public/portal/PALVErasmusAlunosEstrangeirosESTG.html" proxy="estgp" id="PALVErasmusAlunosEstrangeiros" label="Os Alunos Estrangeiros na ESTG"></leaf>
<leaf node="false" absolute="false" url="/public/portal/PALVErasmusAlunosESTGEstrangeiro.html" proxy="estgp" id="PALVErasmusEstrangeiroAlunos" label="Os Alunos da ESTG no Estrangeiro"></leaf>
<leaf node="false" absolute="false" url="/public/portal/PALVErasmusObjectivos.html" proxy="estgp" id="PALVErasmusObjectivos" label="Objectivos"></leaf>
<leaf node="false" absolute="false" url="/public/portal/PALVErasmusPaises.html" proxy="estgp" id="PALVErasmusPaises" label="Países Participantes"></leaf>
<leaf node="false" absolute="false" url="/public/portal/PALVErasmusProgramaErasmus.html" proxy="estgp" id="PALVErasmusProgramaErasmus" label="Programa Setorial - Erasmus"></leaf>
<leaf node="false" absolute="false" url="/public/portal/PALVErasmusActividadesElegiveis.html" proxy="estgp" id="PALVErasmusActividadesElegiveis" label="Atividades Elegiveis"></leaf>
<leaf node="false" absolute="false" url="/public/portal/PALVErasmusMobilidadeEstudantes.html" proxy="estgp" id="PALVErasmusMobilidadeEstudantes" label="Mobilidade Estudantes"></leaf>
<leaf node="false" absolute="false" url="/public/portal/PALVErasmusParceirosESTG.html" proxy="estgp" id="PALVErasmusParceiros" label="Parceiros"></leaf>
<leaf node="false" absolute="false" url="/public/portal/PALVErasmusFormularioEstudantes.html" proxy="estgp" id="PALVErasmusFomularioEstudantes" label="Formulários Estudantes"></leaf>
<leaf node="false" absolute="false" url="/public/portal/PALVErasmusContactos.html" proxy="estgp" id="PALVErasmusContactos" label="Contactos"></leaf>
</leaf>
<leaf node="true" label="Orgãos de Gestão" id="OrgaosGestao" group="1">
<leaf node="false" absolute="false" url="/public/portal/orgaoDirector.html" proxy="estgp" id="orgaosDirector" label="Diretor"></leaf>
 
<leaf absolute="false" url="/public/portal/orgaosConselhoTecnicoCientifico.html" proxy="estgp" id="orgaosConselhoTecnicoCientifico" label="Conselho Técnico Científico"></leaf>
<leaf absolute="false" url="/Conselho.Tecnico.Cientifico.Externo" proxy="grupos" id="pastaConselhoTecnicoCientificoExterna" label=" -----> Documentação CTC" remoteExtensionRoot="true" style="true" layout="true" />
<leaf absolute="false" url="/public/portal/orgaosConselhoPedagogico.html" proxy="estgp" id="orgaosConselhoPedagogico" label="Conselho Pedagógico"></leaf>
<leaf absolute="false" url="/Conselho.Pedagogico.Externo" proxy="grupos" id="pastaConselhoPegagogicoExterna" label=" -----> Documentação CP" remoteExtensionRoot="true" style="true" layout="true" />
<leaf absolute="false" url="/public/portal/orgaosConselhoRepresentantes.html" proxy="estgp" id="orgaosConselhoRepresentantes" label="Conselho Representantes"></leaf>
<leaf absolute="false" url="/Conselho.Representantes.Externo" proxy="grupos" id="pastaConselhoRepresentantesExterna" label=" -----> Documentação CR" remoteExtensionRoot="true" style="true" layout="true" />
<leaf node="false" absolute="false" url="/public/portal/orgaosConselhoTecnicoCientifico.html" proxy="estgp" id="orgaosConselhoTecnicoCientifico" label="Conselho Técnico Científico"></leaf>
<leaf node="false" absolute="false" url="/Conselho.Tecnico.Cientifico.Externo" proxy="grupos" id="pastaConselhoTecnicoCientificoExterna" label=" -----> Documentação CTC" remoteExtensionRoot="true" style="true" layout="true" />
<leaf node="false" absolute="false" url="/public/portal/orgaosConselhoPedagogico.html" proxy="estgp" id="orgaosConselhoPedagogico" label="Conselho Pedagógico"></leaf>
<leaf node="false" absolute="false" url="/Conselho.Pedagogico.Externo" proxy="grupos" id="pastaConselhoPegagogicoExterna" label=" -----> Documentação CP" remoteExtensionRoot="true" style="true" layout="true" />
<leaf node="false" absolute="false" url="/public/portal/orgaosConselhoRepresentantes.html" proxy="estgp" id="orgaosConselhoRepresentantes" label="Conselho Representantes"></leaf>
<leaf node="false" absolute="false" url="/Conselho.Representantes.Externo" proxy="grupos" id="pastaConselhoRepresentantesExterna" label=" -----> Documentação CR" remoteExtensionRoot="true" style="true" layout="true" />
 
<leaf absolute="false" url="/public/portal/orgaosConselhoGestao.html" proxy="estgp" id="orgaosConselhogestao" label="Conselho de Gestão"></leaf>
<leaf absolute="false" url="/public/portal/orgaosConselhoInterdepartamental.html" proxy="estgp" id="orgaosConselhoDepartamental" label="Conselho Interdepartamental"></leaf>
</node>
<leaf node="false" absolute="false" url="/public/portal/orgaosConselhoGestao.html" proxy="estgp" id="orgaosConselhogestao" label="Conselho de Gestão"></leaf>
<leaf node="false" absolute="false" url="/public/portal/orgaosConselhoInterdepartamental.html" proxy="estgp" id="orgaosConselhoDepartamental" label="Conselho Interdepartamental"></leaf>
<rights>
<right target="role" type="restrict" name="student"/>
<internal>true</internal>
</rights>
</leaf>
<node label="Informação Académica" id="infoAcademica" group="2">
<leaf absolute="false" url="/public/portal/CL20102011.pdf" proxy="estgp" id="infoAcadCalendarioEscolar" label="Calendário Escolar"></leaf>
<leaf absolute="true" url="http://baco.estgp.pt/courses.do?type=L" proxy="estgp" id="infoAcadLicenciaturas" label="Licenciaturas"></leaf>
<leaf absolute="true" url="http://baco.estgp.pt/courses.do?type=M" proxy="estgp" id="infoAcadMestrados" label="Mestrados"></leaf>
<leaf absolute="true" url="http://baco.estgp.pt/courses.do?type=P" proxy="estgp" id="infoAcadPgraduacoes" label="Pós-Graduações"></leaf>
<leaf absolute="true" url="http://baco.estgp.pt/courses.do?type=E" proxy="estgp" id="infoAcadCET" label="CET"></leaf>
</node>
<node label="O IPP" id="IPP" group="1">
<leaf absolute="true" url="http://www.ipportalegre.pt/" proxy="estgp" id="ippIPP" label="IPP Serviços Centrais"></leaf>
<leaf absolute="true" url="http://www.esep.pt/" proxy="estgp" id="ippESEP" label="Esc. Sup. de Educação"></leaf>
<leaf absolute="true" url="http://www.esaelvas.pt/" proxy="estgp" id="ippESAE" label="Esc. Sup. Agrária"></leaf>
<leaf absolute="true" url="http://www.essp.pt/" proxy="estgp" id="ippESSP" label="Esc. Sup. de Saúde"></leaf>
<leaf absolute="true" url="http://www.ipportalegre.pt/sas/" proxy="estgp" id="ippSAS" label="Serviços de Acção Social"></leaf>
</node>
<node label="Departamentos" id="departamentos" group="2">
<leaf absolute="false" url="/public/departamentos/depTD.html" proxy="estgp" id="depTD" label="Departamento de TD"></leaf>
<leaf absolute="false" url="/public/departamentos/depCESH.html" proxy="estgp" id="depCESH" label="Departamento de CESH"></leaf>
</node>
<leaf node="true" label="Informação Académica" id="infoAcademica" group="2">
<leaf node="false" absolute="false" url="/public/portal/CL20102011.pdf" proxy="estgp" id="infoAcadCalendarioEscolar" label="Calendário Escolar"></leaf>
<leaf node="false" absolute="true" url="http://baco.estgp.pt/courses.do?type=L" proxy="estgp" id="infoAcadLicenciaturas" label="Licenciaturas"></leaf>
<leaf node="false" absolute="true" url="http://baco.estgp.pt/courses.do?type=M" proxy="estgp" id="infoAcadMestrados" label="Mestrados"></leaf>
<leaf node="false" absolute="true" url="http://baco.estgp.pt/courses.do?type=P" proxy="estgp" id="infoAcadPgraduacoes" label="Pós-Graduações"></leaf>
<leaf node="false" absolute="true" url="http://baco.estgp.pt/courses.do?type=E" proxy="estgp" id="infoAcadCET" label="CET"></leaf>
<rights>
<right target="user" type="restrict" name="jmachado"/>
</rights>
</leaf>
<leaf node="true" label="O IPP" id="IPP" group="1">
<leaf node="false" absolute="true" url="http://www.ipportalegre.pt/" proxy="estgp" id="ippIPP" label="IPP Serviços Centrais"></leaf>
<leaf node="false" absolute="true" url="http://www.esep.pt/" proxy="estgp" id="ippESEP" label="Esc. Sup. de Educação"></leaf>
<leaf node="false" absolute="true" url="http://www.esaelvas.pt/" proxy="estgp" id="ippESAE" label="Esc. Sup. Agrária"></leaf>
<leaf node="false" absolute="true" url="http://www.essp.pt/" proxy="estgp" id="ippESSP" label="Esc. Sup. de Saúde"></leaf>
<leaf node="false" absolute="true" url="http://www.ipportalegre.pt/sas/" proxy="estgp" id="ippSAS" label="Serviços de Acção Social"></leaf>
</leaf>
<leaf node="true" label="Departamentos" id="departamentos" group="2">
<leaf node="false" absolute="false" url="/public/departamentos/depTD.html" proxy="estgp" id="depTD" label="Departamento de TD"></leaf>
<leaf node="false" absolute="false" url="/public/departamentos/depCESH.html" proxy="estgp" id="depCESH" label="Departamento de CESH"></leaf>
</leaf>
<rights>
<right target="role" type="permit" name="admin"/>
<right target="role" type="restrict" name="student"/>
</rights>
</directory>
/impl/conf/directories/utils.xsl
11,7 → 11,7
</a>
</xsl:template>
<xsl:template match="d:node" mode="link">
<xsl:template match="d:leaf[@node='true']" mode="link">
<a>
<xsl:attribute name="href">
<xsl:choose>
26,7 → 26,7
<xsl:apply-templates select="." mode="label"/>
</a>
</xsl:template>
<xsl:template match="d:leaf" mode="link">
<xsl:template match="d:leaf[@node='false']" mode="link">
<a>
<xsl:attribute name="href">
<xsl:choose>
46,7 → 46,7
<xsl:template match="d:directory" mode="linkParent">/<xsl:value-of select="@id"/></xsl:template>
<xsl:template match="d:node" mode="linkParent">
<xsl:template match="d:leaf[@node='true']" mode="linkParent">
<xsl:choose>
<xsl:when test="@idPrefixSize"><xsl:apply-templates select=".." mode="linkParent"/>/<xsl:value-of select="substring(@id,@idPrefixSize+1)"/></xsl:when>
<xsl:otherwise><xsl:apply-templates select=".." mode="linkParent"/>/<xsl:value-of select="@id"/></xsl:otherwise>
55,11 → 55,11
 
 
<xsl:template match="d:leaf" mode="linkParent">
<xsl:template match="d:leaf[@node='false']" mode="linkParent">
<xsl:apply-templates select=".." mode="linkParent"/>/<xsl:value-of select="@id"/>
</xsl:template>
<xsl:template match="d:leaf" mode="bodyContent">
<xsl:template match="d:leaf[@node='false']" mode="bodyContent">
<xsl:choose>
<xsl:when test="string(@xml) = 'true'">
<xsl:variable name="bodyDoc" select="document($includeXML)"/>
74,10 → 74,10
<xsl:template match="d:directory" mode="label">
<xsl:value-of select="@label"/>
</xsl:template>
<xsl:template match="d:node" mode="label">
<xsl:template match="d:leaf[@node='true']" mode="label">
<xsl:value-of select="@label"/>
</xsl:template>
<xsl:template match="d:leaf" mode="label">
<xsl:template match="d:leaf[@node='false']" mode="label">
<xsl:value-of select="@label"/>
</xsl:template>
/impl/conf/directories/style1.xsl
247,7 → 247,7
<xsl:apply-templates select="." mode="childs"/>
</xsl:template>
 
<xsl:template match="d:node" mode="root">
<xsl:template match="d:leaf[@node='true']" mode="root">
<xsl:apply-templates select="." mode="topNav"/>
<table cellpadding="0" cellspacing="0" width="100%" border="0">
<tr>
267,11 → 267,11
<table class="columnTable">
<tr>
<td class="column">
<xsl:if test="d:leaf">
<xsl:if test="d:leaf[@node='false']">
<div class="block links">
<p><xsl:call-template name="leafsBlockLabel"/></p>
<ul>
<xsl:for-each select="d:leaf">
<xsl:for-each select="d:leaf[@node='false']">
<li>
<xsl:apply-templates select="." mode="link"/>
</li>
280,13 → 280,13
</div>
</xsl:if>
</td>
<xsl:if test="d:node">
<xsl:if test="d:leaf[@node='true']">
<xsl:choose>
<xsl:when test="d:groupsDeclaration">
<xsl:for-each select="d:groupsDeclaration/d:group">
<xsl:when test="d:groupsDeclaration/d:group/d:name">
<xsl:for-each select="d:groupsDeclaration/d:group/d:name">
<tr>
<xsl:variable name="group" select="."/>
<xsl:for-each select="../../d:node[@group=$group]">
<xsl:for-each select="../../../d:leaf[@node='true' and @group=$group]">
<td class="column">
<xsl:apply-templates select="." mode="block"/>
</td>
295,7 → 295,7
</xsl:for-each>
</xsl:when>
<xsl:otherwise>
<xsl:for-each select="d:node">
<xsl:for-each select="d:leaf[@node='true']">
<td class="column">
<xsl:apply-templates select="." mode="block"/>
</td>
307,15 → 307,15
</table>
</xsl:template>
<xsl:template match="d:node" mode="childs">
<xsl:template match="d:leaf[@node='true']" mode="childs">
<table class="columnTable">
<tr>
<td class="column">
<xsl:if test="d:leaf">
<xsl:if test="d:leaf[@node='false']">
<div class="block links">
<p><xsl:call-template name="leafsBlockLabel"/></p>
<ul>
<xsl:for-each select="d:leaf">
<xsl:for-each select="d:leaf[@node='false']">
<li>
<xsl:apply-templates select="." mode="link"/>
</li>
324,13 → 324,13
</div>
</xsl:if>
</td>
<xsl:if test="d:node">
<xsl:if test="d:leaf[@node='true']">
<xsl:choose>
<xsl:when test="d:groupsDeclaration">
<xsl:for-each select="d:groupsDeclaration/d:group">
<xsl:when test="d:groupsDeclaration/d:group/d:name">
<xsl:for-each select="d:groupsDeclaration/d:group/d:name">
<tr>
<xsl:variable name="group" select="."/>
<xsl:for-each select="../../d:node[@group=$group]">
<xsl:for-each select="../../../d:leaf[@node='true' and @group=$group]">
<td class="column">
<xsl:apply-templates select="." mode="block"/>
</td>
339,7 → 339,7
</xsl:for-each>
</xsl:when>
<xsl:otherwise>
<xsl:for-each select="d:node">
<xsl:for-each select="d:leaf[@node='true']">
<td class="column">
<xsl:apply-templates select="." mode="block"/>
</td>
351,16 → 351,16
</table>
</xsl:template>
<xsl:template match="d:node" mode="block">
<xsl:template match="d:leaf[@node='true']" mode="block">
<div class="block">
<p><xsl:apply-templates select="." mode="link"/></p>
<ul>
<xsl:for-each select="d:leaf">
<xsl:for-each select="d:leaf[@node='false']">
<li>
<xsl:apply-templates select="." mode="link"/>
</li>
</xsl:for-each>
<xsl:for-each select="d:node">
<xsl:for-each select="d:leaf[@node='true']">
<li>
<xsl:apply-templates select="." mode="link"/>
</li>
373,7 → 373,7
| Página de Apresentação de uma Folha no Corpo da Página
===========================================================
-->
<xsl:template match="d:leaf" mode="root">
<xsl:template match="d:leaf[@node='false']" mode="root">
<xsl:apply-templates select="." mode="topNav"/>
<table id="bigTable" cellspacing="0" cellpadding="0">
<tr>
417,12 → 417,12
Tamanho
</th>
</tr>
<xsl:apply-templates select="./d:leaf[@ftpDirectory='true']" mode="ftpLine"/>
<xsl:apply-templates select="./d:leaf[@ftpDirectory='false']" mode="ftpLine"/>
<xsl:apply-templates select="./d:leaf[@node='false' and @ftpDirectory='true']" mode="ftpLine"/>
<xsl:apply-templates select="./d:leaf[@node='false' and @ftpDirectory='false']" mode="ftpLine"/>
</table>
</div>
</xsl:template>
<xsl:template match="d:leaf" mode="ftpLine">
<xsl:template match="d:leaf[@node='false']" mode="ftpLine">
<xsl:choose>
<xsl:when test="./@ftpDirectory='true'">
<tr class="dir">
451,7 → 451,7
</xsl:otherwise>
</xsl:choose>
</xsl:template>
<xsl:template match="d:leaf" mode="mime">
<xsl:template match="d:leaf[@node='false']" mode="mime">
<img>
<xsl:attribute name="alt"><xsl:value-of select="."/></xsl:attribute>
<xsl:attribute name="src">
490,7 → 490,7
-->
 
<xsl:template match="d:leaf" mode="topNav">
<xsl:template match="d:leaf[@node='false']" mode="topNav">
<div id="topnav">
<ul>
<xsl:apply-templates select=".." mode="navBack"/>
502,7 → 502,7
</div>
</xsl:template>
 
<xsl:template match="d:node" mode="topNav">
<xsl:template match="d:leaf[@node='true']" mode="topNav">
<div id="topnav">
<ul>
<xsl:apply-templates select=".." mode="navBack"/>
529,7 → 529,7
</div>-->
</xsl:template>
<xsl:template match="d:leaf" mode="topNavRemote">
<xsl:template match="d:leaf[@node='false']" mode="topNavRemote">
<div id="topnav">
<ul>
<li class="navPlace">
538,7 → 538,7
</div>
</xsl:template>
<xsl:template match="d:node" mode="topNavRemote">
<xsl:template match="d:leaf[@node='true']" mode="topNavRemote">
<div id="topnav">
<ul>
<xsl:apply-templates select=".." mode="navBackRemote"/>
561,7 → 561,7
</li>
</xsl:template>
<xsl:template match="d:node" mode="navBack">
<xsl:template match="d:leaf[@node='true']" mode="navBack">
<xsl:apply-templates select=".." mode="navBack"/>
<li class="navPlace">
570,7 → 570,7
</li>
</xsl:template>
<xsl:template match="d:leaf" mode="navBack">
<xsl:template match="d:leaf[@node='false']" mode="navBack">
<xsl:apply-templates select=".." mode="navBack"/>
<li class="navPlace">
579,12 → 579,12
</li>
</xsl:template>
<xsl:template match="d:leaf" mode="navBackRemote">
<xsl:template match="d:leaf[@node='false']" mode="navBackRemote">
<li class="navPlace">
<xsl:apply-templates select="." mode="link"/>
</li>
</xsl:template>
<xsl:template match="d:node" mode="navBackRemote">
<xsl:template match="d:leaf[@node='true']" mode="navBackRemote">
<xsl:apply-templates select=".." mode="navBackRemote"/>
<li class="navPlace">
&gt;
597,15 → 597,15
| Barra de Navegação Lateral Esquerda
===========================================================
-->
<xsl:template match="d:node" mode="latNav">
<xsl:if test="./d:leaf or ./d:node">
<xsl:template match="d:leaf[@node='true']" mode="latNav">
<!--<xsl:if test="./d:leaf or ./d:node">-->
<div class="linkMenuBlock">
<div class="linkMenuBlockTitle"><xsl:apply-templates select="." mode="label"/></div>
<div class="linkLeftMenu">
<div class="listClean">
<ul id="portalMenu">
<xsl:for-each select="./d:node">
<xsl:for-each select="./d:leaf[@node='true']">
<xsl:choose>
<xsl:when test="@id = $ACTUAL">
<li class="navPlace selected">
619,24 → 619,24
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
<xsl:for-each select="./d:leaf">
<xsl:for-each select="./d:leaf[@node='false']">
<li class="navPlace">...<xsl:apply-templates select="." mode="link"/></li>
</xsl:for-each>
</ul>
</div>
</div>
</div>
</xsl:if>
<!--</xsl:if>-->
</xsl:template>
<xsl:template match="d:leaf" mode="latNav">
<xsl:if test="./d:leaf or ./d:node">
<xsl:template match="d:leaf[@node='false']" mode="latNav">
<!--<xsl:if test="./d:leaf or ./d:node">-->
<div class="linkMenuBlock">
<div class="linkMenuBlockTitle"><xsl:apply-templates select="." mode="label"/></div>
<div class="linkLeftMenu">
<div class="listClean">
<ul id="portalMenu">
<xsl:for-each select="./d:node">
<xsl:for-each select="./d:leaf[@node='true']">
<xsl:choose>
<xsl:when test="@id = $ACTUAL">
<li class="navPlace selected">
650,24 → 650,24
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
<xsl:for-each select="./d:leaf">
<xsl:for-each select="./d:leaf[@node='false']">
<li class="navPlace">...<xsl:apply-templates select="." mode="link"/></li>
</xsl:for-each>
</ul>
</div>
</div>
</div>
</xsl:if>
<!--</xsl:if>-->
</xsl:template>
<xsl:template match="d:directory" mode="latNav">
<xsl:if test="./d:leaf or ./d:node">
<!--<xsl:if test="./d:leaf or ./d:node">-->
<div class="linkMenuBlock">
<div class="linkMenuBlockTitle"><xsl:apply-templates select="." mode="label"/></div>
<div class="linkLeftMenu">
<div class="listClean">
<ul id="portalMenu">
<xsl:for-each select="./d:node">
<xsl:for-each select="./d:leaf[@node='true']">
<xsl:choose>
<xsl:when test="@id = $ACTUAL">
<li class="navPlace selected">
681,14 → 681,14
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
<xsl:for-each select="./d:leaf">
<xsl:for-each select="./d:leaf[@node='false']">
<li class="navPlace"><xsl:call-template name="linkPrefix"/><xsl:apply-templates select="." mode="link"/></li>
</xsl:for-each>
</ul>
</div>
</div>
</div>
</xsl:if>
<!--</xsl:if>-->
</xsl:template>
<xsl:template name="linkPrefix">
701,9 → 701,9
-->
<xsl:template name="treeRoot">
<xsl:if test="/d:directory/d:node">
<xsl:if test="/d:directory/d:leaf[@node='true']">
<ul>
<xsl:for-each select="/d:directory/d:node">
<xsl:for-each select="/d:directory/d:leaf[@node='true']">
<li>
<xsl:apply-templates select="." mode="treeLoop"/>
</li>
712,20 → 712,20
</xsl:if>
</xsl:template>
<xsl:template match="d:node" mode="treeLoop">
<xsl:template match="d:leaf[@node='true']" mode="treeLoop">
<div>
<xsl:if test="$ACTUAL=@id">
<xsl:attribute name="style">background-color:yellow</xsl:attribute>
</xsl:if>
<p><xsl:value-of select="@label"/></p>
<xsl:if test="./d:leaf">
<xsl:for-each select="./d:leaf">
<xsl:if test="./d:leaf[@node='false']">
<xsl:for-each select="./d:leaf[@node='false']">
<xsl:apply-templates select="." mode="tree"/>
</xsl:for-each>
</xsl:if>
<xsl:if test="./d:node">
<xsl:if test="./d:leaf[@node='true']">
<ul>
<xsl:for-each select="./d:node">
<xsl:for-each select="./d:leaf[@node='true']">
<li>
<xsl:apply-templates select="." mode="treeLoop"/>
</li>
735,7 → 735,7
</div>
</xsl:template>
<xsl:template match="d:leaf" mode="tree">
<xsl:template match="d:leaf[@node='false']" mode="tree">
<div>
<xsl:if test="$ACTUAL=@id">
<xsl:attribute name="style">background-color:yellow</xsl:attribute>
/impl/conf/directories/styleIntranet.xsl
12,7 → 12,7
</xsl:template>
 
 
<xsl:template match="d:leaf" mode="topNav">
<xsl:template match="d:leaf[@node='false']" mode="topNav">
<xsl:if test="not(local-name(..) = 'directory')">
<div id="topnav">
<ul>
26,7 → 26,7
</xsl:if>
</xsl:template>
 
<xsl:template match="d:node" mode="topNav">
<xsl:template match="d:leaf[@node='true']" mode="topNav">
<xsl:if test="not(local-name(..) = 'directory')">
<div id="topnav">
<ul>
48,7 → 48,7
</xsl:template>
<xsl:template match="d:leaf" mode="topNavRemote">
<xsl:template match="d:leaf[@node='false']" mode="topNavRemote">
<div id="topnav">
<ul>
<li class="navPlace">
57,7 → 57,7
</div>
</xsl:template>
<xsl:template match="d:node" mode="topNavRemote">
<xsl:template match="d:leaf[@node='true']" mode="topNavRemote">
<div id="topnav">
<ul>
<xsl:apply-templates select=".." mode="navBackRemote"/>
80,7 → 80,7
</li>
</xsl:template>
<xsl:template match="d:node" mode="navBack">
<xsl:template match="d:leaf[@node='true']" mode="navBack">
<xsl:if test="not(local-name(..) = 'directory')">
<xsl:apply-templates select=".." mode="navBack"/>
</xsl:if>
94,7 → 94,7
</li>
</xsl:template>
<xsl:template match="d:leaf" mode="navBack">
<xsl:template match="d:leaf[@node='false']" mode="navBack">
<xsl:if test="not(local-name(..) = 'directory')">
<xsl:apply-templates select=".." mode="navBack"/>
</xsl:if>
107,12 → 107,12
</li>
</xsl:template>
<xsl:template match="d:leaf" mode="navBackRemote">
<xsl:template match="d:leaf[@node='false']" mode="navBackRemote">
<li class="navPlace">
<xsl:apply-templates select="." mode="link"/>
</li>
</xsl:template>
<xsl:template match="d:node" mode="navBackRemote">
<xsl:template match="d:leaf[@node='true']" mode="navBackRemote">
<xsl:apply-templates select=".." mode="navBackRemote"/>
<li class="navPlace">
&gt;
125,15 → 125,15
| Barra de Navegação Lateral Esquerda
===========================================================
-->
<xsl:template match="d:node" mode="latNav">
<xsl:if test="./d:leaf or ./d:node">
<xsl:template match="d:leaf[@node='true']" mode="latNav">
<!--<xsl:if test="./d:leaf or ./d:node">-->
<div class="linkMenuBlock">
<div class="linkMenuBlockTitle"><xsl:apply-templates select="." mode="label"/></div>
<div class="linkLeftMenu">
<div class="listClean">
<ul id="portalMenu">
<xsl:for-each select="./d:node">
<xsl:for-each select="./d:leaf[@node='true']">
<xsl:choose>
<xsl:when test="@id = $ACTUAL">
<li class="navPlace selected">
147,24 → 147,24
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
<xsl:for-each select="./d:leaf">
<xsl:for-each select="./d:leaf[@node='false']">
<li class="navPlace">...<xsl:apply-templates select="." mode="link"/></li>
</xsl:for-each>
</ul>
</div>
</div>
</div>
</xsl:if>
<!--</xsl:if>-->
</xsl:template>
<xsl:template match="d:leaf" mode="latNav">
<xsl:if test="./d:leaf or ./d:node">
<xsl:template match="d:leaf[@node='false']" mode="latNav">
<!--<xsl:if test="./d:leaf or ./d:node">-->
<div class="linkMenuBlock">
<div class="linkMenuBlockTitle"><xsl:apply-templates select="." mode="label"/></div>
<div class="linkLeftMenu">
<div class="listClean">
<ul id="portalMenu">
<xsl:for-each select="./d:node">
<xsl:for-each select="./d:leaf[@node='true']">
<xsl:choose>
<xsl:when test="@id = $ACTUAL">
<li class="navPlace selected">
178,14 → 178,14
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
<xsl:for-each select="./d:leaf">
<xsl:for-each select="./d:leaf[@node='false']">
<li class="navPlace"><xsl:apply-templates select="." mode="link"/></li>
</xsl:for-each>
</ul>
</div>
</div>
</div>
</xsl:if>
<!--</xsl:if>-->
</xsl:template>
 
 
/impl/conf/directories/teacher.xml
1,74 → 1,80
<?xml version="1.0" encoding="UTF-8"?>
<directory label="Docentes" place="home" layout="layout0" layoutRoot="layoutPortal" targetRole="teacher" id="teacher" menuKey="menu.docentes" style="style1.xsl" xmlns="http://www.estgp.pt/baco/directory/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.estgp.pt/baco/directory/ directory.xsd">
<groupsDeclaration>
<group>1</group>
<group>2</group>
</groupsDeclaration>
<node label="Serviços on-line" id="servicosOnLine" group="1">
<leaf absolute="true" url="http://baco.estgp.pt/layout/webmailRedirect.jsp" proxy="estgp" id="servWebmail" label="Webmail"></leaf>
<leaf absolute="false" url="/public/portal/servicosEduroam.html" proxy="estgp" id="servEduroam" label="Eduroam"></leaf>
<leaf absolute="false" url="/public/portal/servicosSecretaria.html" proxy="estgp" id="servSecretaria" label="Secretaria"></leaf>
<leaf absolute="true" url="http://netpa.ipportalegre.pt/" proxy="estgp" id="servAcademicosOnline" label="Académicos online"></leaf>
<leaf absolute="false" url="/public/portal/servicosGabineteComunicacao.html" proxy="estgp" id="servGabinetedeComunicacao" label="Gabinete de Comunicação"></leaf>
<leaf absolute="true" url="http://assiduidade.ipportalegre.pt/mymillenium/" proxy="estgp" id="servPortalAssiduidade" label="Portal de Assiduidade"></leaf>
<leaf absolute="true" url="http://sisgor.ipportalegre.pt/" proxy="estgp" id="servSisgom" label="Sisgor Ocorrências"></leaf>
<leaf absolute="true" url="https://www.siadap.gov.pt/" proxy="estgp" id="siadap" label="Siadap"></leaf>
</node>
<node label="Contactos" id="contactos" group="2">
<leaf absolute="false" url="/public/portal/contactosGeraisEstg.html" proxy="estgp" id="contGerais" label="Gerais ESTG"></leaf>
<leaf absolute="false" url="/public/portal/contactosDepartamentos.html" proxy="estgp" id="contDep" label="Departamentos"></leaf>
<leaf absolute="false" url="/public/portal/contactosSecretaria.html" proxy="estgp" id="contSecretaria" label="Secretaria"></leaf>
<leaf absolute="false" url="/public/portal/contactosCentroInformatico.html" proxy="estgp" id="contCentroInformatico" label="Centro Informático"></leaf>
<leaf absolute="false" url="/public/portal/contactosGabineteComunicacao.html" proxy="estgp" id="contGabinetedeComunicacao" label="Gabinete de Comunicação"></leaf>
</node>
<node label="Biblioteca" id="biblioteca" group="1">
<leaf absolute="false" url="/public/portal/servicosBibliotecaApresentacao.html" proxy="estgp" id="servBiblioteca" label="Apresentação"></leaf>
<leaf absolute="false" url="/public/portal/servicosBibliotecaServicos.html" proxy="estgp" id="servBibliotecaServ" label="Serviços"></leaf>
<leaf absolute="false" url="/public/portal/servicosBibliotecaColeccoes.html" proxy="estgp" id="servBibliotecaColeccoes" label="Coleções"></leaf>
<leaf absolute="false" url="/public/portal/servicosBibliotecaPublico.html" proxy="estgp" id="servBibliotecaPublico" label="Público"></leaf>
<leaf absolute="false" url="/public/portal/servicosBibliotecaCatalogos.html" proxy="estgp" id="servBibliotecaCatalogos" label="Catálogos"></leaf>
<leaf absolute="false" url="/public/portal/servicosBibliotecaRegulamento.html" proxy="estgp" id="servBiblioteRegulamento" label="Regulamento"></leaf>
<leaf absolute="false" url="/public/portal/servicosBibliotecaContactos.html" proxy="estgp" id="servBibliotecaContactos" label="Contactos e Horários"></leaf>
</node>
<node label="PALV Erasmus" id="PALVErasmus" group="2">
<leaf absolute="false" url="/public/portal/PALVErasmusDocentesEstrangeirosESTG.html" proxy="estgp" id="PALVErasmusDocentesEstrangeiros" label="Os Docentes Estrangeiros na ESTG"></leaf>
<leaf absolute="false" url="/public/portal/PALVErasmusDocentesESTGEstrangeiro.html" proxy="estgp" id="PALVErasmusEstrangeiroDocentes" label="Os Docentes da ESTG no Estrangeiro"></leaf>
<leaf absolute="false" url="/public/portal/PALVErasmusObjectivos.html" proxy="estgp" id="PALVErasmusObjectivos" label="Objectivos"></leaf>
<leaf absolute="false" url="/public/portal/PALVErasmusPaises.html" proxy="estgp" id="PALVErasmusPaises" label="Países Participantes"></leaf>
<leaf absolute="false" url="/public/portal/PALVErasmusProgramaErasmus.html" proxy="estgp" id="PALVErasmusProgramaErasmus" label="Programa Setorial - Erasmus"></leaf>
<leaf absolute="false" url="/public/portal/PALVErasmusActividadesElegiveis.html" proxy="estgp" id="PALVErasmusActividadesElegiveis" label="Atividades Elegiveis"></leaf>
<leaf absolute="false" url="/public/portal/PALVErasmusMobilidadeEstudantes.html" proxy="estgp" id="PALVErasmusMobilidadeEstudantes" label="Mobilidade Estudantes"></leaf>
<leaf absolute="false" url="/public/portal/PALVErasmusParceirosESTG.html" proxy="estgp" id="PALVErasmusParceiros" label="Parceiros"></leaf>
<leaf absolute="false" url="/public/portal/PALVErasmusFormularioDocentes.html" proxy="estgp" id="PALVErasmusFomularioDocentes" label="Formulários Docentes"></leaf>
<leaf absolute="false" url="/public/portal/PALVErasmusContactos.html" proxy="estgp" id="PALVErasmusContactos" label="Contactos"></leaf>
</node>
<node label="Orgãos de Gestão" id="OrgaosGestao" group="1">
<leaf absolute="false" url="/public/portal/orgaoDirector.html" proxy="estgp" id="orgaosDirector" label="Director"></leaf>
<leaf absolute="false" url="/public/portal/orgaosConselhoTecnicoCientifico.html" proxy="estgp" id="orgaosConselhoTecnicoCientifico" label="Conselho Técnico Científico"></leaf>
<leaf absolute="false" url="/Conselho.Tecnico.Cientifico.Externo" proxy="grupos" id="pastaConselhoTecnicoCientificoExterna" label=" -----> Documentação CTC" remoteExtensionRoot="true" style="true" layout="true" />
<leaf absolute="false" url="/public/portal/orgaosConselhoPedagogico.html" proxy="estgp" id="orgaosConselhoPedagogico" label="Conselho Pedagógico"></leaf>
<leaf absolute="false" url="/Conselho.Pedagogico.Externo" proxy="grupos" id="pastaConselhoPegagogicoExterna" label=" -----> Documentação CP" remoteExtensionRoot="true" style="true" layout="true" />
<leaf absolute="false" url="/public/portal/orgaosConselhoRepresentantes.html" proxy="estgp" id="orgaosConselhoRepresentantes" label="Conselho Representantes"></leaf>
<leaf absolute="false" url="/Conselho.Representantes.Externo" proxy="grupos" id="pastaConselhoRepresentantesExterna" label=" -----> Documentação CR" remoteExtensionRoot="true" style="true" layout="true" />
<leaf absolute="false" url="/public/portal/orgaosConselhoGestao.html" proxy="estgp" id="orgaosConselhogestao" label="Conselho de Gestão"></leaf>
<leaf absolute="false" url="/public/portal/orgaosConselhoInterdepartamental.html" proxy="estgp" id="orgaosConselhoInterdepartamental" label="Conselho Interdepartamental"></leaf>
</node>
<node label="Informação Académica" id="infoAcademica" group="2">
<leaf absolute="true" url="http://baco.estgp.pt/dir/student/infoAcademica/infoAcadCalendarioEscolar/public/portal/CL20102011.pdf" proxy="estgp" id="infoAcadCalendarioEscolar" label="Calendário Escolar"></leaf>
<leaf absolute="true" url="http://baco.estgp.pt/courses.do?type=L" proxy="estgp" id="infoAcadLicenciaturas" label="Licenciaturas"></leaf>
<leaf absolute="true" url="http://baco.estgp.pt/courses.do?type=M" proxy="estgp" id="infoAcadMestrados" label="Mestrados"></leaf>
<leaf absolute="true" url="http://baco.estgp.pt/courses.do?type=P" proxy="estgp" id="infoAcadPgraduacoes" label="Pós-Graduações"></leaf>
<leaf absolute="true" url="http://baco.estgp.pt/courses.do?type=E" proxy="estgp" id="infoAcadCET" label="CET"></leaf>
</node>
<node label="O IPP" id="IPP" group="1">
<leaf absolute="true" url="http://www.ipportalegre.pt/" proxy="estgp" id="ippIPP" label="IPP Serviços Centrais"></leaf>
<leaf absolute="true" url="http://www.esep.pt/" proxy="estgp" id="ippESEP" label="Esc. Sup. de Educação"></leaf>
<leaf absolute="true" url="http://www.esaelvas.pt/" proxy="estgp" id="ippESAE" label="Esc. Sup. Agrária"></leaf>
<leaf absolute="true" url="http://www.essp.pt/" proxy="estgp" id="ippESSP" label="Esc. Sup. de Saúde"></leaf>
<leaf absolute="true" url="http://www.ipportalegre.pt/sas/" proxy="estgp" id="ippSAS" label="Serviços de Ação Social"></leaf>
</node>
<node label="Departamentos" id="departamentos" group="2">
<leaf absolute="false" url="/public/departamentos/depTD.html" proxy="estgp" id="depTD" label="Departamento de TD"></leaf>
<leaf absolute="false" url="/public/departamentos/depCESH.html" proxy="estgp" id="depCESH" label="Departamento de CESH"></leaf>
</node>
<groupsDeclaration>
<group>
<name>1</name>
<description>1</description>
</group>
<group>
<name>2</name>
<description>2</description>
</group>
</groupsDeclaration>
<leaf node="true" label="Serviços on-line" id="servicosOnLine" group="1">
<leaf node="false" absolute="true" url="http://baco.estgp.pt/layout/webmailRedirect.jsp" proxy="estgp" id="servWebmail" label="Webmail"></leaf>
<leaf node="false" absolute="false" url="/public/portal/servicosEduroam.html" proxy="estgp" id="servEduroam" label="Eduroam"></leaf>
<leaf node="false" absolute="false" url="/public/portal/servicosSecretaria.html" proxy="estgp" id="servSecretaria" label="Secretaria"></leaf>
<leaf node="false" absolute="true" url="http://netpa.ipportalegre.pt/" proxy="estgp" id="servAcademicosOnline" label="Académicos online"></leaf>
<leaf node="false" absolute="false" url="/public/portal/servicosGabineteComunicacao.html" proxy="estgp" id="servGabinetedeComunicacao" label="Gabinete de Comunicação"></leaf>
<leaf node="false" absolute="true" url="http://assiduidade.ipportalegre.pt/mymillenium/" proxy="estgp" id="servPortalAssiduidade" label="Portal de Assiduidade"></leaf>
<leaf node="false" absolute="true" url="http://sisgor.ipportalegre.pt/" proxy="estgp" id="servSisgom" label="Sisgor Ocorrências"></leaf>
<leaf node="false" absolute="true" url="https://www.siadap.gov.pt/" proxy="estgp" id="siadap" label="Siadap"></leaf>
</leaf>
<leaf node="true" label="Contactos" id="contactos" group="2">
<leaf node="false" absolute="false" url="/public/portal/contactosGeraisEstg.html" proxy="estgp" id="contGerais" label="Gerais ESTG"></leaf>
<leaf node="false" absolute="false" url="/public/portal/contactosDepartamentos.html" proxy="estgp" id="contDep" label="Departamentos"></leaf>
<leaf node="false" absolute="false" url="/public/portal/contactosSecretaria.html" proxy="estgp" id="contSecretaria" label="Secretaria"></leaf>
<leaf node="false" absolute="false" url="/public/portal/contactosCentroInformatico.html" proxy="estgp" id="contCentroInformatico" label="Centro Informático"></leaf>
<leaf node="false" absolute="false" url="/public/portal/contactosGabineteComunicacao.html" proxy="estgp" id="contGabinetedeComunicacao" label="Gabinete de Comunicação"></leaf>
</leaf>
<leaf node="true" label="Biblioteca" id="biblioteca" group="1">
<leaf node="false" absolute="false" url="/public/portal/servicosBibliotecaApresentacao.html" proxy="estgp" id="servBiblioteca" label="Apresentação"></leaf>
<leaf node="false" absolute="false" url="/public/portal/servicosBibliotecaServicos.html" proxy="estgp" id="servBibliotecaServ" label="Serviços"></leaf>
<leaf node="false" absolute="false" url="/public/portal/servicosBibliotecaColeccoes.html" proxy="estgp" id="servBibliotecaColeccoes" label="Coleções"></leaf>
<leaf node="false" absolute="false" url="/public/portal/servicosBibliotecaPublico.html" proxy="estgp" id="servBibliotecaPublico" label="Público"></leaf>
<leaf node="false" absolute="false" url="/public/portal/servicosBibliotecaCatalogos.html" proxy="estgp" id="servBibliotecaCatalogos" label="Catálogos"></leaf>
<leaf node="false" absolute="false" url="/public/portal/servicosBibliotecaRegulamento.html" proxy="estgp" id="servBiblioteRegulamento" label="Regulamento"></leaf>
<leaf node="false" absolute="false" url="/public/portal/servicosBibliotecaContactos.html" proxy="estgp" id="servBibliotecaContactos" label="Contactos e Horários"></leaf>
</leaf>
<leaf node="true" label="PALV Erasmus" id="PALVErasmus" group="2">
<leaf node="false" absolute="false" url="/public/portal/PALVErasmusDocentesEstrangeirosESTG.html" proxy="estgp" id="PALVErasmusDocentesEstrangeiros" label="Os Docentes Estrangeiros na ESTG"></leaf>
<leaf node="false" absolute="false" url="/public/portal/PALVErasmusDocentesESTGEstrangeiro.html" proxy="estgp" id="PALVErasmusEstrangeiroDocentes" label="Os Docentes da ESTG no Estrangeiro"></leaf>
<leaf node="false" absolute="false" url="/public/portal/PALVErasmusObjectivos.html" proxy="estgp" id="PALVErasmusObjectivos" label="Objectivos"></leaf>
<leaf node="false" absolute="false" url="/public/portal/PALVErasmusPaises.html" proxy="estgp" id="PALVErasmusPaises" label="Países Participantes"></leaf>
<leaf node="false" absolute="false" url="/public/portal/PALVErasmusProgramaErasmus.html" proxy="estgp" id="PALVErasmusProgramaErasmus" label="Programa Setorial - Erasmus"></leaf>
<leaf node="false" absolute="false" url="/public/portal/PALVErasmusActividadesElegiveis.html" proxy="estgp" id="PALVErasmusActividadesElegiveis" label="Atividades Elegiveis"></leaf>
<leaf node="false" absolute="false" url="/public/portal/PALVErasmusMobilidadeEstudantes.html" proxy="estgp" id="PALVErasmusMobilidadeEstudantes" label="Mobilidade Estudantes"></leaf>
<leaf node="false" absolute="false" url="/public/portal/PALVErasmusParceirosESTG.html" proxy="estgp" id="PALVErasmusParceiros" label="Parceiros"></leaf>
<leaf node="false" absolute="false" url="/public/portal/PALVErasmusFormularioDocentes.html" proxy="estgp" id="PALVErasmusFomularioDocentes" label="Formulários Docentes"></leaf>
<leaf node="false" absolute="false" url="/public/portal/PALVErasmusContactos.html" proxy="estgp" id="PALVErasmusContactos" label="Contactos"></leaf>
</leaf>
<leaf node="true" label="Orgãos de Gestão" id="OrgaosGestao" group="1">
<leaf node="false" absolute="false" url="/public/portal/orgaoDirector.html" proxy="estgp" id="orgaosDirector" label="Director"></leaf>
<leaf node="false" absolute="false" url="/public/portal/orgaosConselhoTecnicoCientifico.html" proxy="estgp" id="orgaosConselhoTecnicoCientifico" label="Conselho Técnico Científico"></leaf>
<leaf node="false" absolute="false" url="/Conselho.Tecnico.Cientifico.Externo" proxy="grupos" id="pastaConselhoTecnicoCientificoExterna" label=" -----> Documentação CTC" remoteExtensionRoot="true" style="true" layout="true" />
<leaf node="false" absolute="false" url="/public/portal/orgaosConselhoPedagogico.html" proxy="estgp" id="orgaosConselhoPedagogico" label="Conselho Pedagógico"></leaf>
<leaf node="false" absolute="false" url="/Conselho.Pedagogico.Externo" proxy="grupos" id="pastaConselhoPegagogicoExterna" label=" -----> Documentação CP" remoteExtensionRoot="true" style="true" layout="true" />
<leaf node="false" absolute="false" url="/public/portal/orgaosConselhoRepresentantes.html" proxy="estgp" id="orgaosConselhoRepresentantes" label="Conselho Representantes"></leaf>
<leaf node="false" absolute="false" url="/Conselho.Representantes.Externo" proxy="grupos" id="pastaConselhoRepresentantesExterna" label=" -----> Documentação CR" remoteExtensionRoot="true" style="true" layout="true" />
<leaf node="false" absolute="false" url="/public/portal/orgaosConselhoGestao.html" proxy="estgp" id="orgaosConselhogestao" label="Conselho de Gestão"></leaf>
<leaf node="false" absolute="false" url="/public/portal/orgaosConselhoInterdepartamental.html" proxy="estgp" id="orgaosConselhoInterdepartamental" label="Conselho Interdepartamental"></leaf>
</leaf>
<leaf node="true" label="Informação Académica" id="infoAcademica" group="2">
<leaf node="false" absolute="true" url="http://baco.estgp.pt/dir/student/infoAcademica/infoAcadCalendarioEscolar/public/portal/CL20102011.pdf" proxy="estgp" id="infoAcadCalendarioEscolar" label="Calendário Escolar"></leaf>
<leaf node="false" absolute="true" url="http://baco.estgp.pt/courses.do?type=L" proxy="estgp" id="infoAcadLicenciaturas" label="Licenciaturas"></leaf>
<leaf node="false" absolute="true" url="http://baco.estgp.pt/courses.do?type=M" proxy="estgp" id="infoAcadMestrados" label="Mestrados"></leaf>
<leaf node="false" absolute="true" url="http://baco.estgp.pt/courses.do?type=P" proxy="estgp" id="infoAcadPgraduacoes" label="Pós-Graduações"></leaf>
<leaf node="false" absolute="true" url="http://baco.estgp.pt/courses.do?type=E" proxy="estgp" id="infoAcadCET" label="CET"></leaf>
</leaf>
<leaf node="true" label="O IPP" id="IPP" group="1">
<leaf node="false" absolute="true" url="http://www.ipportalegre.pt/" proxy="estgp" id="ippIPP" label="IPP Serviços Centrais"></leaf>
<leaf node="false" absolute="true" url="http://www.esep.pt/" proxy="estgp" id="ippESEP" label="Esc. Sup. de Educação"></leaf>
<leaf node="false" absolute="true" url="http://www.esaelvas.pt/" proxy="estgp" id="ippESAE" label="Esc. Sup. Agrária"></leaf>
<leaf node="false" absolute="true" url="http://www.essp.pt/" proxy="estgp" id="ippESSP" label="Esc. Sup. de Saúde"></leaf>
<leaf node="false" absolute="true" url="http://www.ipportalegre.pt/sas/" proxy="estgp" id="ippSAS" label="Serviços de Ação Social"></leaf>
</leaf>
<leaf node="true" label="Departamentos" id="departamentos" group="2">
<leaf node="false" absolute="false" url="/public/departamentos/depTD.html" proxy="estgp" id="depTD" label="Departamento de TD"></leaf>
<leaf node="false" absolute="false" url="/public/departamentos/depCESH.html" proxy="estgp" id="depCESH" label="Departamento de CESH"></leaf>
</leaf>
</directory>
/impl/conf/directories/directoryBeforeConfiguration.xsd
New file
0,0 → 1,180
<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2008 rel. 2 sp2 (http://www.altova.com) by Jorge Machado (Escola Superior de tecnologia e Gestao, Portalegre) -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.estgp.pt/baco/directory/" targetNamespace="http://www.estgp.pt/baco/directory/" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="directory">
<xs:annotation>
<xs:documentation>This schema is to define information structured directories</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="groupsDeclaration" type="groupDeclarationT" minOccurs="0"/>
<xs:choice maxOccurs="unbounded">
<xs:element name="node" type="nodeT"/>
<xs:element name="leaf" type="leafT"/>
</xs:choice>
<xs:element name="rights" type="rightsT" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="id" type="xs:ID" use="required"/>
<xs:attribute name="label" use="required"/>
<xs:attribute name="label_en" use="optional"/>
<xs:attribute name="label_es" use="optional"/>
<xs:attribute name="place" use="required"/>
<xs:attribute name="style" use="required"/>
<xs:attribute name="layout" use="required"/>
<xs:attribute name="layoutRoot" use="required"/>
<xs:attribute name="targetRole" use="required"/>
<xs:attribute name="menuKey" use="required"/>
</xs:complexType>
</xs:element>
<xs:complexType name="nodeT">
<xs:annotation>
<xs:documentation>A node is a directory internal object, it has a label and an identifier and can have children nodes and/or leafs</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:element name="groupsDeclaration" type="groupDeclarationT" minOccurs="0"/>
<xs:choice maxOccurs="unbounded">
<xs:element name="node" type="nodeT"/>
<xs:element name="leaf" type="leafT"/>
</xs:choice>
<xs:element name="rights" type="rightsT" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="label" use="required"/>
<xs:attribute name="label_en" use="optional"/>
<xs:attribute name="label_es" use="optional"/>
<xs:attribute name="group" use="optional">
<xs:annotation>
<xs:documentation>Grouping purposes in styling</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="showNav" type="xs:boolean" use="optional">
<xs:annotation>
<xs:documentation>Show link to this node in navigation menus, true by default</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="type" use="optional">
<xs:annotation>
<xs:documentation>Type of node, by default HTTP link</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="ftp"/>
<xs:enumeration value="http"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="id" type="xs:ID" use="required"/>
</xs:complexType>
<xs:complexType name="leafT">
<xs:annotation>
<xs:documentation>A leaf is an URL for an external or internal WEB site</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:annotation>
<xs:documentation>A leaf can be a root of some diferent system like FTP server Directory</xs:documentation>
</xs:annotation>
<xs:element name="node" type="nodeT"/>
<xs:element name="leaf" type="leafT"/>
</xs:choice>
<xs:element name="rights" type="rightsT" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="url" type="xs:string" use="required"/>
<xs:attribute name="id" type="xs:ID" use="required"/>
<xs:attribute name="label" use="required"/>
<xs:attribute name="label_en" use="optional"/>
<xs:attribute name="label_es" use="optional"/>
<xs:attribute name="xml" type="xs:boolean" use="optional">
<xs:annotation>
<xs:documentation>False by default</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="layout" type="xs:boolean">
<xs:annotation>
<xs:documentation>True by default, define if a source is to be included in layout or opened in all window</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="style" type="xs:boolean">
<xs:annotation>
<xs:documentation>True by default, define if a source is to be styled by the XSLT.
When style=false and layout=false external file will be directly writed in TopWindow</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="absolute" type="xs:boolean" use="required">
<xs:annotation>
<xs:documentation>follow parameter will be evaluated only If this parameter is set to false</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="proxy" type="xs:string" use="optional">
<xs:annotation>
<xs:documentation>Only consider a proxy if it is here defined</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="group" use="optional">
<xs:annotation>
<xs:documentation>Grouping purposes in styling</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="remoteExtensionRoot" type="xs:boolean" use="optional"/>
<!--
The next attributes are filled by system BACO when remoteExtensionPoint is reached
-->
<xs:attribute name="ftpDirectory" type="xs:boolean"/>
<xs:attribute name="size" use="optional">
<xs:annotation>
<xs:documentation>Size of content in Kb</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="mimeType" use="optional">
<xs:annotation>
<xs:documentation>Mime Type of content in Kb</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="lastModification" use="optional">
<xs:annotation>
<xs:documentation>Last Modification of content in Kb</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="visualization" use="optional">
<xs:annotation>
<xs:documentation>Type of node, by default HTTP link</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="filesystem"/>
<xs:enumeration value="normal"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
<xs:complexType name="groupDeclarationT">
<xs:sequence>
<xs:element name="group" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="rightsT">
<xs:annotation>
<xs:documentation>Rights define who is authorized to enter in a node</xs:documentation>
</xs:annotation>
<xs:sequence>
<xs:choice maxOccurs="unbounded">
<xs:element name="role" type="rightT1"/>
<xs:element name="user" type="rightT1"/>
</xs:choice>
<xs:element name="internal" type="xs:boolean" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="rightT1" mixed="true">
<xs:annotation>
<xs:documentation>A right T1 can be to permit or restrict</xs:documentation>
</xs:annotation>
<xs:attribute name="type" use="required">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="permit"/>
<xs:enumeration value="restrict"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
</xs:schema>
Property changes:
Added: svn:executable
+ *
/impl/conf/directories/editados/teacher.xml
1,4 → 1,4
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>
<directory label="Docentes" place="home" layout="layout0" layoutRoot="layoutPortal" targetRole="teacher" id="teacher" menuKey="menu.docentes" style="style1.xsl" xmlns="http://www.estgp.pt/baco/directory/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.estgp.pt/baco/directory/ directory.xsd">
<groupsDeclaration>
<group>1</group>
/impl/src/java/pt/estgp/estgweb/services/sigesimports/ImportGradesService.java
6,6 → 6,8
import pt.estgp.estgweb.Globals;
import pt.estgp.estgweb.domain.*;
import pt.estgp.estgweb.domain.dao.DaoFactory;
import pt.estgp.estgweb.domain.enums.LangEnum;
import pt.estgp.estgweb.services.email.EMAILJob;
import pt.estgp.estgweb.services.email.SendEmailService;
import pt.estgp.estgweb.services.expceptions.ServiceException;
import pt.estgp.estgweb.services.jobs.JobScheduleService;
43,8 → 45,8
public ILogMessages run(String year) throws ServiceException
{
DefaultLogMessages logMessages = new DefaultLogMessages();
logMessages.addMessage(new DefaultLogMessage("import.grades", LogMessageTypeEnum.INFO, "instituicao " + DaoFactory.getConfigurationDaoImpl().getSigesInstitutionCode()));
logger.info("starting grades import");
logMessages.addMessage(new DefaultLogMessage("import.grades", LogMessageTypeEnum.INFO, "instituicao " + DaoFactory.getConfigurationDaoImpl().getSigesInstitutionCode() + " ano : " + year));
logger.info("starting grades import " + year);
 
try
{
164,8 → 166,8
}
else
{
logMessages.addMessage(new DefaultLogMessage("import.warning","","CourseUnit: " + codUnidade + ": course: " + codCurso + " does not exist or is not subscribed by student: " + codAluno + " with id:" + s.getId(), LogMessageTypeEnum.WARNING));
logger.warn("CourseUnit: " + codUnidade + ": course: " + codCurso + " does not exist");
logMessages.addMessage(new DefaultLogMessage("import.warning","","CourseUnit: " + codUnidade + " course: " + codCurso + " student: " + s.getSigesCode() + " semestre: " + cdDuracao + " year: " + year + " does not exist", LogMessageTypeEnum.WARNING));
logger.warn("CourseUnit: " + codUnidade + " course: " + codCurso + " student: " + s.getSigesCode() + " semestre: " + cdDuracao + " year: " + year + " does not exist");
}
}catch(Exception e)
{
175,8 → 177,16
}
else
{
logMessages.addMessage(new DefaultLogMessage("import.warning","","Student: " + codAluno + " does not exist", LogMessageTypeEnum.WARNING));
logger.warn("Student: " + codAluno + " does not exist");
if(descricaoEpoca == null)
{
logger.info(epoca + "-" + momento + " nao esta catalogada para atribuicao de nota");
logMessages.addMessage(new DefaultLogMessage("import.warning","",epoca + "-" + momento + " nao esta catalogada para atribuicao de nota", LogMessageTypeEnum.WARNING));
}else
{
logMessages.addMessage(new DefaultLogMessage("import.warning","","Student: " + codAluno + " does not exist", LogMessageTypeEnum.WARNING));
logger.warn("Student: " + codAluno + " does not exist");
}
 
}
 
}
238,7 → 248,7
 
private void sendEmail(UserSession userSession)
{
/*
 
if(Globals.EMAIL_NEW_GRADES && newGrades.size() > 0)
{
Set<Map.Entry<Long,List<Long>>> set = newGrades.entrySet();
252,13 → 262,13
for(long gradeId: studentGrades)
{
CourseUnitGrade grade = DaoFactory.getCourseUnitGradeDaoImpl().get(gradeId);
String[] gradeArray = new String[] {grade.getNormalizedCourseUnitName(),""+grade.getGrade()};
String[] gradeArray = new String[] {grade.getNormalizedCourseUnitName(),""+grade.getGrade(),grade.getDescEpoca()};
gradesArray.add(gradeArray);
}
EMAILJob emailJob = new EMAILJob(sendEmailService.getNewGradesEmail(gradesArray, LangEnum.PORTUGUESE,s.getEmail(),s.getName()));
JobScheduleService.getInstance().scheduleNow(emailJob,"New Grades EMAIL: to" + s.getUsername(),userSession);
}
}*/
}
}
 
/**
/impl/src/java/pt/estgp/estgweb/services/directories/DirectoryService.java
4,8 → 4,12
import org.dom4j.Document;
import org.dom4j.DocumentException;
import pt.estgp.estgweb.domain.DirectoryImpl;
import pt.estgp.estgweb.services.directories.xsd.Directory;
import pt.estgp.estgweb.utils.Dom4jUtil;
 
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Unmarshaller;
import java.io.File;
import java.net.MalformedURLException;
import java.util.ArrayList;
68,4 → 72,24
}
return directories;
}
 
public Directory loadDirectory(String identifier)
{
Directory directory = null;
JAXBContext jc = null;
try {
jc = JAXBContext.newInstance(Directory.class);
 
Unmarshaller unmarshaller = jc.createUnmarshaller();
directory = (Directory) unmarshaller.unmarshal(DirectoryService.class.getResourceAsStream("/pt/estgp/estgweb/directories/" + identifier + ".xml"));
 
// Marshaller marshaller = jc.createMarshaller();
// marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
// marshaller.marshal(directory, System.out);
 
} catch (JAXBException e) {
e.printStackTrace();
}
return directory;
}
}
/impl/src/java/pt/estgp/estgweb/services/directories/xsd/DynamicArrayList.java
New file
0,0 → 1,70
package pt.estgp.estgweb.services.directories.xsd;
 
import java.util.ArrayList;
 
/**
* Created by jorgemachado on 16/11/15.
*/
public class DynamicArrayList<E> extends ArrayList<E>
{
Class referenceClass;
public DynamicArrayList(Class clazz)
{
this.referenceClass = clazz;
}
 
 
@Override
public E get(int i) {
if(i >= size())
{
while(i >= size())
{
try {
super.add((E)referenceClass.newInstance());
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
}
return super.get(i);
}
 
@Override
public void add(int i, E obj) {
if(i >= size())
{
while(i >= size())
{
try {
super.add((E)referenceClass.newInstance());
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
}
super.add(i,obj);
}
 
@Override
public E set(int i, E obj) {
if(i >= size())
{
while(i >= size())
{
try {
super.add((E)referenceClass.newInstance());
} catch (InstantiationException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
}
return super.set(i,obj);
}
}
/impl/src/java/pt/estgp/estgweb/services/directories/xsd/RightImpl.java
New file
0,0 → 1,7
package pt.estgp.estgweb.services.directories.xsd;
 
/**
* Created by jorgemachado on 16/11/15.
*/
public class RightImpl extends RightsT.Right {
}
/impl/src/java/pt/estgp/estgweb/services/directories/xsd/TestDynamicLists.java
New file
0,0 → 1,43
package pt.estgp.estgweb.services.directories.xsd;
 
import junit.framework.TestCase;
 
/**
* Created by jorgemachado on 16/11/15.
*/
public class TestDynamicLists extends TestCase
{
public void testLists()
{
 
Directory d = new DirectoryImpl();
d.getGroupsDeclaration().getGroup().get(0).setName("teste");
d.getGroupsDeclaration().getGroup().get(1).setName("teste");
d.getRights().getRight().get(0).setName("teste");
d.getRights().getRight().get(1).setName("teste");
d.getLeaf().get(0).setAbsolute(true);
d.getLeaf().get(1).setAbsolute(true);
d.getLeaf().get(2).setAbsolute(true);
 
d.getLeaf().get(2).getLeaf().get(3).setAbsolute(true);
d.getLeaf().get(2).getLeaf().get(2).setAbsolute(false);
d.getLeaf().get(2).getLeaf().get(1).setAbsolute(true);
d.getLeaf().get(2).getLeaf().get(0).setAbsolute(false);
 
assertTrue(d.getGroupsDeclaration().getGroup().size() == 2);
assertTrue(d.getRights().getRight().size() == 2);
assertTrue(d.getLeaf().size() == 3);
 
 
 
assertTrue(d.getLeaf().get(2).getLeaf().get(0).getAbsolute() == false);
assertTrue(d.getLeaf().get(2).getLeaf().get(1).getAbsolute() == true);
assertTrue(d.getLeaf().get(2).getLeaf().get(2).getAbsolute() == false);
assertTrue(d.getLeaf().get(2).getLeaf().get(3).getAbsolute() == true);
 
d.getLeaf().get(3).getRights().getRight().get(0).setName("teste55");
 
assertEquals(d.getLeaf().get(3).getRights().getRight().get(0).getName(), "teste55");
 
}
}
/impl/src/java/pt/estgp/estgweb/services/directories/xsd/DirectoryImpl.java
New file
0,0 → 1,30
package pt.estgp.estgweb.services.directories.xsd;
 
/**
* Created by jorgemachado on 16/11/15.
*/
public class DirectoryImpl extends Directory
{
public DirectoryImpl()
{
super();
setRights(new RightsTImpl());
setGroupsDeclaration(new GroupsDeclarationTImpl());
leaf = new DynamicArrayList<LeafT>(LeafTImpl.class);
}
 
public boolean isGroupDeclarationEmpty()
{
return groupsDeclaration == null || groupsDeclaration.getGroup() == null || groupsDeclaration.getGroup().size() == 0;
}
 
public boolean isRightsEmpty()
{
return rights == null || rights.getRight() == null || rights.getRight().size() == 0;
}
 
public boolean isLeafEmpty()
{
return leaf == null || leaf.size() == 0;
}
}
/impl/src/java/pt/estgp/estgweb/services/directories/xsd/RightsTImpl.java
New file
0,0 → 1,20
package pt.estgp.estgweb.services.directories.xsd;
 
/**
* Created by jorgemachado on 16/11/15.
*/
public class RightsTImpl extends RightsT {
 
public RightsTImpl()
{
super();
right = new DynamicArrayList<Right>(RightImpl.class);
 
}
 
 
public boolean isRightEmpty()
{
return right == null || right.size() == 0;
}
}
/impl/src/java/pt/estgp/estgweb/services/directories/xsd/GroupsDeclarationTImpl.java
New file
0,0 → 1,18
package pt.estgp.estgweb.services.directories.xsd;
 
/**
* Created by jorgemachado on 16/11/15.
*/
public class GroupsDeclarationTImpl extends GroupDeclarationT
{
public GroupsDeclarationTImpl()
{
super();
group = new DynamicArrayList<Group>(GroupImpl.class);
}
 
public boolean isGroupEmpty()
{
return group == null || group.size() == 0;
}
}
/impl/src/java/pt/estgp/estgweb/services/directories/xsd/LeafTImpl.java
New file
0,0 → 1,87
package pt.estgp.estgweb.services.directories.xsd;
 
import java.util.Iterator;
import java.util.List;
 
/**
* Created by jorgemachado on 16/11/15.
*/
public class LeafTImpl extends LeafT
{
public LeafTImpl()
{
super();
setRights(new RightsTImpl());
setGroupsDeclaration(new GroupsDeclarationTImpl());
leaf = new DynamicArrayList<LeafT>(LeafTImpl.class);
}
 
public boolean isGroupDeclarationEmpty()
{
return groupsDeclaration == null || groupsDeclaration.getGroup() == null || groupsDeclaration.getGroup().size() == 0;
}
 
public boolean isRightsEmpty()
{
return rights == null || rights.getRight() == null || rights.getRight().size() == 0;
}
 
public boolean isLeafEmpty()
{
return leaf == null || leaf.size() == 0;
}
 
public static LeafT findLeaf(Directory d,String id)
{
return findLeafT(d.getLeaf(),id);
}
 
public static LeafT removeLeaf(Directory d,String id)
{
return removeLeafT(d.getLeaf(), id);
}
 
public static LeafT removeLeaf(LeafT l,String id)
{
return removeLeafT(l.getLeaf(),id);
}
public static LeafT findLeaf(LeafT l,String id)
{
return findLeafT(l.getLeaf(),id);
}
 
private static LeafT findLeafT(List<LeafT> leafs,String id)
{
if(leafs == null || leafs.size() == 0)
return null;
for(LeafT l: leafs)
{
if(l.getId().equals(id))
return l;
LeafT inside = findLeafT(l.getLeaf(),id);
if(inside != null)
return inside;
}
return null;
}
 
private static LeafT removeLeafT(List<LeafT> leafs,String id)
{
if(leafs == null || leafs.size() == 0)
return null;
Iterator<LeafT> iter = leafs.iterator();
while(iter.hasNext())
{
LeafT l = iter.next();
if(l.getId().equals(id))
{
iter.remove();
return l;
}
LeafT inside = removeLeafT(l.getLeaf(),id);
if(inside != null)
return inside;
}
return null;
}
}
/impl/src/java/pt/estgp/estgweb/services/directories/xsd/GroupImpl.java
New file
0,0 → 1,9
package pt.estgp.estgweb.services.directories.xsd;
 
/**
* Created by jorgemachado on 16/11/15.
*/
public class GroupImpl extends GroupDeclarationT.Group
{
 
}
/impl/src/java/pt/estgp/estgweb/domain/ConfigurationGradesImpl.java
22,6 → 22,11
public void create()
{
Set<ConfigurationGradesEpocaAvaliacao> epocas = new HashSet<ConfigurationGradesEpocaAvaliacao>();
epocas.add(ConfigurationGradesEpocaAvaliacaoImpl.create("3", "99", "Época de Recurso"));
epocas.add(ConfigurationGradesEpocaAvaliacaoImpl.create("4", "99", "Exame de Melhoria"));
epocas.add(ConfigurationGradesEpocaAvaliacaoImpl.create("5", "99", "Época Especial"));
epocas.add(ConfigurationGradesEpocaAvaliacaoImpl.create("14", "99", "2ª Oportunidade - Bolonha (ESTG)"));
epocas.add(ConfigurationGradesEpocaAvaliacaoImpl.create("6", "99", "Equivalência"));
epocas.add(ConfigurationGradesEpocaAvaliacaoImpl.create("7", "99", "Estatutos Especiais/Dirigente Associativo (ESTG)"));
epocas.add(ConfigurationGradesEpocaAvaliacaoImpl.create("12", "99", "Equivalência Vasco da Gama (ESTG)"));
epocas.add(ConfigurationGradesEpocaAvaliacaoImpl.create("13", "99", "Atleta de Alta Competição (ESTG)"));
/impl/src/java/pt/estgp/estgweb/web/DirWebProxy.java
251,6 → 251,7
for (IFile iFile : iFiles)
{
Element iFileElem = actualNode.addElement("leaf");
addAttribute(iFileElem, "node", "false");
addAttribute(iFileElem, "id", FTP_FILE_PREFIX + "0_" + iFile.getName());
addAttribute(iFileElem, "idPrefixSize","" + (FTP_FILE_PREFIX + "0_").length());
292,8 → 293,8
String actualId = null;
for (IFile iFile : iFiles)
{
Element iFileElem = actualNode.addElement("node");
 
Element iFileElem = actualNode.addElement("leaf");
addAttribute(iFileElem, "node", "true");
addAttribute(iFileElem, "id", FTP_FILE_PREFIX + "0_" + iFile.getName());
addAttribute(iFileElem, "idPrefixSize","" + (FTP_FILE_PREFIX + "0_").length());
 
342,9 → 343,15
Element iFileElem;
 
if(i == pathFragments.length - 1)
{
iFileElem = goDeepElement.addElement("leaf");
addAttribute(iFileElem, "node","false");
}
else
iFileElem = goDeepElement.addElement("node");
{
iFileElem = goDeepElement.addElement("leaf");
addAttribute(iFileElem, "node","true");
}
 
addAttribute(iFileElem, "id", FTP_FILE_PREFIX + (i+1) + "_" + iFile.getName());
addAttribute(iFileElem, "idPrefixSize","" + (FTP_FILE_PREFIX + (i+1) + "_").length());
/impl/src/java/pt/estgp/estgweb/web/DirLayoutController.java
1,36 → 1,26
package pt.estgp.estgweb.web;
 
import org.apache.struts.action.Action;
import org.apache.log4j.Logger;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionForm;
import org.apache.log4j.Logger;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPFile;
import org.apache.commons.httpclient.util.URIUtil;
import org.dom4j.*;
import pt.estgp.estgweb.domain.UserSession;
import pt.estgp.estgweb.services.directories.DirectoryNodeType;
import pt.estgp.estgweb.utils.ConfigProperties;
import pt.estgp.estgweb.utils.Dom4jUtil;
import pt.estgp.estgweb.web.controllers.ApplicationDispatchController;
import pt.estgp.estgweb.web.exceptions.NotAuthorizedException;
 
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.ServletException;
import java.io.*;
import java.util.List;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.net.URL;
import java.net.MalformedURLException;
 
import pt.estgp.estgweb.utils.ConfigProperties;
import pt.estgp.estgweb.utils.Dom4jUtil;
import pt.estgp.estgweb.domain.UserSession;
import pt.estgp.estgweb.web.exceptions.NotAuthorizedException;
import pt.estgp.estgweb.web.controllers.ApplicationDispatchController;
import pt.estgp.estgweb.services.directories.DirectoryNodeType;
import jomm.web.ftp.IFile;
import jomm.web.ftp.impl.FtpFile;
import jomm.web.utils.NavPlace;
 
/**
* @author Jorge Machado
* @date 26/Fev/2008
133,13 → 123,14
if (r != null)
rights.add(r);
String name = idElem.getQName().getName();
if (name.equals("leaf"))
boolean node = Boolean.parseBoolean(idElem.attributeValue("node"));
if (name.equals("leaf") && !node)
{
directoryNodeType = DirectoryNodeType.leaf;
actualNodeId = id;
actualNode = idElem;
}
else if (name.equals("node"))
else if (name.equals("leaf") && node)
{
directoryNodeType = DirectoryNodeType.node;
actualNodeId = id;
350,8 → 341,8
}
 
public static Namespace dirNamespace = new Namespace("d", "http://www.estgp.pt/baco/directory/");
public static QName nodeDir = new QName("node", dirNamespace);
public static QName leafDir = new QName("leaf", dirNamespace);
//public static QName nodeDir = new QName("node", dirNamespace);
//public static QName leafDir = new QName("leaf", dirNamespace);
 
private boolean pruneDocument(Element startElem, Map namespaces, UserSession userSession)
{
363,8 → 354,12
parentNode.remove(startElem);
return false;
}
List<Element> nodes = startElem.elements(nodeDir);
List<Element> leafs = startElem.elements(leafDir);
XPath leafXpath = startElem.createXPath("./d:leaf[@node='false']");
XPath nodeXpath = startElem.createXPath("./d:leaf[@node='true']");
leafXpath.setNamespaceURIs(namespaces);
nodeXpath.setNamespaceURIs(namespaces);
List<Element> nodes = nodeXpath.selectNodes(startElem);
List<Element> leafs = leafXpath.selectNodes(startElem);
for (Element childNode : nodes)
{
pruneDocument(childNode, namespaces, userSession);
387,11 → 382,11
{
Rights rights = new Rights();
 
XPath userXpath = rightsElem.createXPath("./d:user");
XPath userXpath = rightsElem.createXPath("./d:right[@target='user']");
userXpath.setNamespaceURIs(namespaces);
List<Element> userElems = userXpath.selectNodes(rightsElem);
 
XPath roleXpath = rightsElem.createXPath("./d:role");
XPath roleXpath = rightsElem.createXPath("./d:right[@target='role']");
roleXpath.setNamespaceURIs(namespaces);
List<Element> rolesElems = roleXpath.selectNodes(rightsElem);
 
408,7 → 403,7
{
RightsT rightsT = new RightsT();
rightsT.rightsTClass = RightsT.RightsTClass.user;
rightsT.text = userElem.getText();
rightsT.text = userElem.attribute("name").getText();
String type = userElem.attribute("type").getText();
if (type.equals("permit"))
rightsT.type = RightsT.RightsTType.permit;
424,7 → 419,7
{
RightsT rightsT = new RightsT();
rightsT.rightsTClass = RightsT.RightsTClass.role;
rightsT.text = roleElem.getText();
rightsT.text = roleElem.attribute("name").getText();
String type = roleElem.attribute("type").getText();
if (type.equals("permit"))
rightsT.type = RightsT.RightsTType.permit;
/impl/src/java/pt/estgp/estgweb/web/form/configuration/DirectoriesForm.java
New file
0,0 → 1,71
package pt.estgp.estgweb.web.form.configuration;
 
import pt.estgp.estgweb.services.directories.xsd.Directory;
import pt.estgp.estgweb.services.directories.xsd.DirectoryImpl;
import pt.estgp.estgweb.web.form.ApplicationForm;
 
/**
* @author Jorge Machado
* @date 25/Jun/2008
* @see pt.estgp.estgweb.web.form.courses
*/
public class DirectoriesForm extends ApplicationForm
{
 
private Directory directory;
private String id;
private String rtarget;
private String rtype;
private String rname;
 
 
 
public DirectoriesForm()
{
 
}
 
public Directory getDirectory()
{
if(directory == null)
directory = new DirectoryImpl();
return directory;
}
 
public void setDirectory(Directory directory)
{
this.directory = directory;
}
 
public String getId() {
return id;
}
 
public void setId(String id) {
this.id = id;
}
 
public String getRtarget() {
return rtarget;
}
 
public void setRtarget(String rtarget) {
this.rtarget = rtarget;
}
 
public String getRtype() {
return rtype;
}
 
public void setRtype(String rtype) {
this.rtype = rtype;
}
 
public String getRname() {
return rname;
}
 
public void setRname(String rname) {
this.rname = rname;
}
}
/impl/src/java/pt/estgp/estgweb/web/controllers/configuration/DirectoriesController.java
New file
0,0 → 1,305
package pt.estgp.estgweb.web.controllers.configuration;
 
import org.apache.log4j.Logger;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import pt.estgp.estgweb.services.directories.DirectoryService;
import pt.estgp.estgweb.services.directories.xsd.*;
import pt.estgp.estgweb.web.UserSessionProxy;
import pt.estgp.estgweb.web.controllers.ApplicationDispatchController;
import pt.estgp.estgweb.web.form.configuration.DirectoriesForm;
 
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Iterator;
 
/**
* @author Jorge Machado
* @date 26/Fev/2008
* @time 18:01:54
* @see pt.estgp.estgweb.web
*/
public class DirectoriesController extends ApplicationDispatchController
{
 
private static final Logger logger = Logger.getLogger(DirectoriesController.class);
 
 
public ActionForward load(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws ServletException
{
 
if(!UserSessionProxy.loadUserSessionFromRequest(request).getUser().isAdmin() && !UserSessionProxy.loadUserSessionFromRequest(request).getUser().hasRole("services"))
{
return mapping.findForward("error401");
}
DirectoriesForm df = (DirectoriesForm) form;
String directory = df.getId();
Directory d = new DirectoryService().loadDirectory(directory);
df.setDirectory(d);
return mapping.findForward("directory");
}
public ActionForward addLeaf(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws ServletException
{
 
if(!UserSessionProxy.loadUserSessionFromRequest(request).getUser().isAdmin() && !UserSessionProxy.loadUserSessionFromRequest(request).getUser().hasRole("services"))
{
return mapping.findForward("error401");
}
DirectoriesForm df = (DirectoriesForm) form;
String idParent = df.getId();
 
LeafT leaf = LeafTImpl.findLeaf(df.getDirectory(), idParent);
if(leaf == null)
{
addError(request,"directories.leaf.not.found",idParent);
return mapping.findForward("directories");
}
addMessage(request,"directories.add.leaf",idParent);
leaf.getLeaf().add(new LeafTImpl());
return mapping.findForward("directory");
}
 
 
public ActionForward refresh(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws ServletException
{
 
if(!UserSessionProxy.loadUserSessionFromRequest(request).getUser().isAdmin() && !UserSessionProxy.loadUserSessionFromRequest(request).getUser().hasRole("services"))
{
return mapping.findForward("error401");
}
 
 
addMessage(request, "directories.refresh");
 
return mapping.findForward("directory");
}
 
public ActionForward save(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws ServletException
{
 
if(!UserSessionProxy.loadUserSessionFromRequest(request).getUser().isAdmin() && !UserSessionProxy.loadUserSessionFromRequest(request).getUser().hasRole("services"))
{
return mapping.findForward("error401");
}
 
DirectoriesForm df = (DirectoriesForm) form;
 
addMessage(request, "directories.saved");
 
return mapping.findForward("directories");
}
 
public ActionForward cancel(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws ServletException
{
 
if(!UserSessionProxy.loadUserSessionFromRequest(request).getUser().isAdmin() && !UserSessionProxy.loadUserSessionFromRequest(request).getUser().hasRole("services"))
{
return mapping.findForward("error401");
}
addMessage(request, "directories.canceled");
return mapping.findForward("directories");
}
 
 
public ActionForward removeLeaf(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws ServletException
{
 
if(!UserSessionProxy.loadUserSessionFromRequest(request).getUser().isAdmin() && !UserSessionProxy.loadUserSessionFromRequest(request).getUser().hasRole("services"))
{
return mapping.findForward("error401");
}
DirectoriesForm df = (DirectoriesForm) form;
String idParent = df.getId();
 
LeafT leaf = LeafTImpl.removeLeaf(df.getDirectory(), idParent);
if(leaf == null)
{
addError(request,"directories.leaf.not.found",idParent);
return mapping.findForward("directories");
}
addMessage(request, "directories.removed.leaf", idParent);
leaf.getLeaf().add(new LeafTImpl());
return mapping.findForward("directory");
}
 
 
public ActionForward addRight(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws ServletException
{
 
if(!UserSessionProxy.loadUserSessionFromRequest(request).getUser().isAdmin() && !UserSessionProxy.loadUserSessionFromRequest(request).getUser().hasRole("services"))
{
return mapping.findForward("error401");
}
DirectoriesForm df = (DirectoriesForm) form;
String idParent = df.getId();
 
LeafT leaf = LeafTImpl.findLeaf(df.getDirectory(), idParent);
if(leaf == null)
{
addError(request,"directories.leaf.not.found",idParent);
return mapping.findForward("directories");
}
 
leaf.getRights().getRight().add(new RightImpl());
addMessage(request, "directories.add.right", idParent);
return mapping.findForward("directory");
}
 
public ActionForward removeRight(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws ServletException
{
 
if(!UserSessionProxy.loadUserSessionFromRequest(request).getUser().isAdmin() && !UserSessionProxy.loadUserSessionFromRequest(request).getUser().hasRole("services"))
{
return mapping.findForward("error401");
}
DirectoriesForm df = (DirectoriesForm) form;
String idParent = df.getId();
 
LeafT leaf = LeafTImpl.findLeaf(df.getDirectory(), idParent);
if(leaf == null)
{
addError(request,"directories.leaf.not.found",idParent);
return mapping.findForward("directories");
}
 
 
Iterator<RightsT.Right> iter = leaf.getRights().getRight().iterator();
while(iter.hasNext())
{
RightsT.Right r =iter.next();
if(r.getName().equals(df.getRname()) && r.getTarget().equals(df.getRtarget()) && df.getRtype().equals(r.getType()))
{
iter.remove();
}
}
addMessage(request, "directories.remove.right", df.getRname(),df.getRtarget(),df.getRtype());
return mapping.findForward("directory");
}
 
public ActionForward addDirRight(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws ServletException
{
 
if(!UserSessionProxy.loadUserSessionFromRequest(request).getUser().isAdmin() && !UserSessionProxy.loadUserSessionFromRequest(request).getUser().hasRole("services"))
{
return mapping.findForward("error401");
}
DirectoriesForm df = (DirectoriesForm) form;
String idParent = df.getId();
 
df.getDirectory().getRights().getRight().add(new RightImpl());
addMessage(request, "directories.add.right");
return mapping.findForward("directory");
}
 
public ActionForward removeDirRight(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws ServletException
{
 
if(!UserSessionProxy.loadUserSessionFromRequest(request).getUser().isAdmin() && !UserSessionProxy.loadUserSessionFromRequest(request).getUser().hasRole("services"))
{
return mapping.findForward("error401");
}
DirectoriesForm df = (DirectoriesForm) form;
 
Iterator<RightsT.Right> iter = df.getDirectory().getRights().getRight().iterator();
while(iter.hasNext())
{
RightsT.Right r =iter.next();
if(r.getName().equals(df.getRname()) && r.getTarget().equals(df.getRtarget()) && df.getRtype().equals(r.getType()))
{
iter.remove();
}
}
addMessage(request, "directories.remove.right", df.getRname(),df.getRtarget(),df.getRtype());
return mapping.findForward("directory");
}
 
public ActionForward addDirGroup(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws ServletException
{
 
if(!UserSessionProxy.loadUserSessionFromRequest(request).getUser().isAdmin() && !UserSessionProxy.loadUserSessionFromRequest(request).getUser().hasRole("services"))
{
return mapping.findForward("error401");
}
DirectoriesForm df = (DirectoriesForm) form;
String idParent = df.getId();
 
df.getDirectory().getGroupsDeclaration().getGroup().add(new GroupImpl());
addMessage(request, "directories.add.group");
return mapping.findForward("directory");
}
 
public ActionForward removeDirGroup(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws ServletException
{
 
if(!UserSessionProxy.loadUserSessionFromRequest(request).getUser().isAdmin() && !UserSessionProxy.loadUserSessionFromRequest(request).getUser().hasRole("services"))
{
return mapping.findForward("error401");
}
DirectoriesForm df = (DirectoriesForm) form;
 
Iterator<GroupDeclarationT.Group> iter = df.getDirectory().getGroupsDeclaration().getGroup().iterator();
while(iter.hasNext())
{
GroupDeclarationT.Group g =iter.next();
if(g.getName().equals(df.getRname()))
{
iter.remove();
}
}
addMessage(request, "directories.remove.group");
return mapping.findForward("directory");
}
 
 
 
}
Property changes:
Added: svn:executable
+ *
/impl/src/java/pt/estgp/estgweb/web/controllers/configuration/GradesController.java
9,6 → 9,7
import pt.estgp.estgweb.domain.ConfigurationGradesStatusEpoca;
import pt.estgp.estgweb.domain.DomainObjectFactory;
import pt.estgp.estgweb.domain.dao.DaoFactory;
import pt.estgp.estgweb.web.UserSessionProxy;
import pt.estgp.estgweb.web.controllers.ApplicationDispatchController;
import pt.estgp.estgweb.web.form.configuration.ConfigurationGradesForm;
 
36,7 → 37,38
throws ServletException
{
 
return mapping.findForward("save");
if(!UserSessionProxy.loadUserSessionFromRequest(request).getUser().isAdmin() && !UserSessionProxy.loadUserSessionFromRequest(request).getUser().hasRole("services"))
{
return mapping.findForward("error401");
}
 
ConfigurationGradesForm f = (ConfigurationGradesForm) form;
AbstractDao.getCurrentSession().beginTransaction();
for(ConfigurationGradesEpocaAvaliacao a: f.getConfigurationGrades().getEpocasAvaliacao())
{
if(a.getId() > 0)
{
ConfigurationGradesEpocaAvaliacao persist = DaoFactory.getConfigurationGradesEpocaAvaliacaoDaoImpl().load(a.getId());
persist.setCodigoEpoca(a.getCodigoEpoca());
persist.setCodigoMomento(a.getCodigoMomento());
persist.setObs(a.getObs());
persist.setDescricao(a.getDescricao());
}
}
 
for(ConfigurationGradesStatusEpoca a: f.getConfigurationGrades().getStatusEpocas())
{
if(a.getId() > 0)
{
ConfigurationGradesStatusEpoca persist = DaoFactory.getConfigurationGradesStatusEpocaDaoImpl().load(a.getId());
persist.setStatus(a.getStatus());
persist.setObs(a.getObs());
persist.setDescricao(a.getDescricao());
}
}
AbstractDao.getCurrentSession().getTransaction().commit();
 
return mapping.findForward("grades");
}
 
public ActionForward addEpocaAvaliacao(ActionMapping mapping,
46,8 → 78,12
throws ServletException
{
 
if(!UserSessionProxy.loadUserSessionFromRequest(request).getUser().isAdmin() && !UserSessionProxy.loadUserSessionFromRequest(request).getUser().hasRole("services"))
{
return mapping.findForward("error401");
}
AbstractDao.getCurrentSession().beginTransaction();
 
AbstractDao.getCurrentSession().beginTransaction();
ConfigurationGradesEpocaAvaliacao epoca = DomainObjectFactory.createConfigurationGradesEpocaAvaliacaoImpl();
DaoFactory.getConfigurationDaoImpl().load().getConfigurationGrades().getEpocasAvaliacao().add(epoca);
DaoFactory.getConfigurationGradesEpocaAvaliacaoDaoImpl().save(epoca);
63,6 → 99,10
{
 
 
if(!UserSessionProxy.loadUserSessionFromRequest(request).getUser().isAdmin() && !UserSessionProxy.loadUserSessionFromRequest(request).getUser().hasRole("services"))
{
return mapping.findForward("error401");
}
AbstractDao.getCurrentSession().beginTransaction();
ConfigurationGradesStatusEpoca status = DomainObjectFactory.createConfigurationGradesStatusEpocaImpl();
DaoFactory.getConfigurationDaoImpl().load().getConfigurationGrades().getStatusEpoca().add(status);
78,6 → 118,10
throws ServletException
{
 
if(!UserSessionProxy.loadUserSessionFromRequest(request).getUser().isAdmin() && !UserSessionProxy.loadUserSessionFromRequest(request).getUser().hasRole("services"))
{
return mapping.findForward("error401");
}
ConfigurationGradesForm f = (ConfigurationGradesForm) form;
AbstractDao.getCurrentSession().beginTransaction();
DaoFactory.getConfigurationGradesEpocaAvaliacaoDaoImpl().delete(f.getId());
92,6 → 136,10
throws ServletException
{
 
if(!UserSessionProxy.loadUserSessionFromRequest(request).getUser().isAdmin() && !UserSessionProxy.loadUserSessionFromRequest(request).getUser().hasRole("services"))
{
return mapping.findForward("error401");
}
ConfigurationGradesForm f = (ConfigurationGradesForm) form;
 
AbstractDao.getCurrentSession().beginTransaction();
/impl/src/web/admin/profile/menu.jsp
21,6 → 21,7
request.setAttribute("user", user);
request.setAttribute("fromAction", fromAction);
%>
<jsp:useBean id="ProfileForm" type="pt.estgp.estgweb.web.form.profile.ProfileForm" scope="request"/>
<jsp:useBean id="UserSession" type="pt.estgp.estgweb.domain.UserSession" scope="request"/>
<div class="linkMenuBlock">
<div class="linkMenuBlockTitle">Perfil</div>
39,13 → 40,21
</li>
 
</baco:isModuleOn>
<baco:hasRole role="student">
<baco:isModuleOn module="courseunits">
<baco:isModuleOn module="courseunits">
<%--Se for aluno so ve o link se forem as suas se for Admin mete-se o link do profileId em uso--%>
<baco:hasRole role="student">
<logic:equal value="${ProfileForm.userView.id}" name="UserSession" property="user.id">
<li>
<html:link action="/user/startProfileGrades"><bean:message key="profile.grades"/></html:link>
</li>
</logic:equal>
</baco:hasRole>
<baco:hasRole role="admin,services">
<li>
<html:link action="/user/startProfileGrades"><bean:message key="profile.grades"/></html:link>
<a href="<%=request.getContextPath()%>/user/profile.do?dispatch=grades&userView.id=${ProfileForm.userView.id}"><bean:message key="profile.grades"/></a>
</li>
</baco:isModuleOn>
</baco:hasRole>
</baco:hasRole>
</baco:isModuleOn>
</ul>
</div>
</div>
/impl/src/web/admin/configuration/directory.jsp
New file
0,0 → 1,256
<%@ page import="pt.estgp.estgweb.services.directories.DirectoryService" %>
<%@ page import="pt.estgp.estgweb.services.directories.xsd.Directory" %>
<%@ page import="pt.estgp.estgweb.web.form.configuration.DirectoriesForm" %>
<%@ 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/baco.tld" prefix="baco" %>
<%@ taglib prefix="hmlt" uri="http://jakarta.apache.org/struts/tags-html" %>
<jsp:useBean id="UserSession" type="pt.estgp.estgweb.domain.UserSession" scope="request"/>
<jomm:messages/>
<html:errors/>
 
<link type="text/css" rel="stylesheet" href="<%=request.getContextPath()%>/css/variables.less"/>
<link type="text/css" rel="stylesheet" href="<%=request.getContextPath()%>/css/lavish-bootstrap.css"/>
<link type="text/css" rel="stylesheet" href="<%=request.getContextPath()%>/js/jquerytables/bootstrap/css/bootstrap.css"/>
<link type="text/css" rel="stylesheet" href="<%=request.getContextPath()%>/js/jquerytables/bootstrap/css/bootstrap-theme.css"/>
 
 
<script src="<%=request.getContextPath()%>/js/jquerytables/jquery-2.1.4.min.js"></script>
<script src="<%=request.getContextPath()%>/js/jquerytables/bootstrap/js/bootstrap.min.js"></script>
 
 
 
<script type="text/javascript" language="JavaScript">
$(document).ready(function()
{
$(".multilang").hide();
$(".advanced").hide();
 
if(document.location.href.indexOf("#")>0)
$(".advanced").show();
 
});
function setId(form,value)
{
form.id.value=value;
}
function setName(form,value)
{
form.rname.value=value;
}
function setType(form,value)
{
form.rtype.value=value;
}
function setTarget(form,value)
{
form.rtarget.value=value;
}
</script>
 
<div class="container">
 
<html:form action="/user/configurationDir">
<input type="hidden" name="dispatch" value="">
<input type="hidden" name="id" value="">
<input type="hidden" name="rname" value="">
<input type="hidden" name="rtype" value="">
<input type="hidden" name="rtarget" value="">
<%
DirectoriesForm df = (DirectoriesForm) request.getAttribute("DirectoriesForm");
 
%>
 
<div class="panel panel-default">
<div class="panel-heading">
Directório <nested:text property="directory.id" readonly="true"/>
</div>
 
<div class="panel-body">
<div class="panel panel-default">
<div class="panel-heading">
Configurações de Directorio
</div>
<div class="panel-body">
<table class="dataTable tablesorter" style="width: 100%">
<thead>
<tr>
<th>Label</th>
<th>Label EN</th>
<th>Label ES</th>
<th>Chave Ficheiro Mensagens</th>
</tr>
</thead>
<tbody>
<tr>
<td><nested:text style="width: 100%" property="directory.label"/></td>
<td><nested:text style="width: 100%" property="directory.labelEn"/></td>
<td><nested:text style="width: 100%" property="directory.labelEs"/></td>
<td><nested:text style="width: 100%" property="directory.menuKey"/></td>
</tr>
</tbody>
</table>
<br/>
<table class="dataTable tablesorter" style="width: 100%">
<thead>
<tr>
<th>Layout Elemento Raiz</th>
<th>Layout Seguinte</th>
<th>Papel Alvo</th>
<th>Folha Estilo</th>
</tr>
</thead>
<tbody>
<tr>
<td><nested:text style="width: 100%" property="directory.layoutRoot"/></td>
<td><nested:text style="width: 100%" property="directory.layout"/> <br/></td>
<td>
<nested:select property="directory.targetRole">
<html:option value="all">Todos</html:option>
<html:option value="teacher">Professor</html:option>
<html:option value="student">Estudante</html:option>
</nested:select>
</td>
<td><nested:text style="width: 100%" property="directory.style"/></td>
</tr>
</tbody>
</table>
<br/>
<nested:notEmpty property="directory.groupsDeclaration">
<nested:notEmpty property="directory.groupsDeclaration.group">
<p>Grupos no Directorio (Para directorios com o style1.xsl)</p>
<table class="dataTable tablesorter" style="width: 100%">
<thead>
<tr>
<th>ID Grupo</th>
<th>Descrição</th>
<td><button type="button" onclick="set(form,'addDirGroup');form.submit()" class="btn btn-default btn-sm"><span class="glyphicon glyphicon-plus"></span></button></td>
</tr>
</thead>
<tbody>
<nested:define id="todosGrupos" property="directory.groupsDeclaration.group" toScope="request"/>
<nested:iterate id="grupo" property="directory.groupsDeclaration.group">
<nested:define id="grupo" toScope="request"/>
<%
int nameId=0;
request.setAttribute("nameId","g" + nameId);
%>
<tr>
<td><nested:text style="width: 100%" property="name" styleId="${g}"/></td>
<td><nested:text style="width: 100%" property="description"/></td>
<td><button type="button" class="btn btn-danger btn-sm" onclick="if(confirm('<nested:message key="directories.remove.ask" arg0="${grupo.name}"/>')){set(form,'removeDirGroup');setName(form,'<nested:write property="name"/>');form.submit()}else{return false;}"><span class="glyphicon glyphicon-remove"></span></button></td>
</tr>
<%
nameId++;
%>
</nested:iterate>
</table>
<button type="button" class="btn btn-success" onclick="set(form,'refresh');form.submit();">Refrescar com as Alterações</button>
<br/>
<br/>
</nested:notEmpty>
</nested:notEmpty>
 
<nested:notEmpty property="directory.rights">
<p>Direitos Acesso no Directorio
<nested:select property="directory.rights.internal">
<html:option value="false">Normal</html:option>
<html:option value="true">Interno (Autenticados)</html:option>
</nested:select>
</p>
 
<table class="dataTable tablesorter" style="width: 100%">
<thead>
<tr>
<th>Tipo Alvo</th>
<th>Alvo</th>
<th>Acesso</th>
<td><button type="button" onclick="set(form,'addDirRight');form.submit()" class="btn btn-default btn-sm"><span class="glyphicon glyphicon-plus"></span></button></td>
</tr>
</thead>
<tbody>
<nested:iterate id="r" property="directory.rights.right">
<nested:define id="r" toScope="request"/>
<tr>
<td>
<nested:select property="target">
<html:option value="role">Papel</html:option>
<html:option value="user">Utilizador</html:option>
</nested:select>
</td>
<td><nested:text style="width: 100%" property="name"/></td>
<td>
<nested:select property="type">
<html:option value="permit">Permitir</html:option>
<html:option value="restrict">Restringir</html:option>
</nested:select>
</td>
<td><button type="button" class="btn btn-danger btn-sm" onclick="if(confirm('<nested:message key="directories.remove.ask" arg0="${r.name}"/>')){set(form,'removeDirRight');setName(form,'<nested:write property="name"/>');setTarget(form,'<nested:write property="target"/>');setType(form,'<nested:write property="type"/>');form.submit()}else{return false;}"><span class="glyphicon glyphicon-remove"></span></button></td>
</tr>
</nested:iterate>
</table>
<button type="button" class="btn btn-success" onclick="set(form,'refresh');form.submit();">Refrescar com as Alterações</button>
</nested:notEmpty>
 
</div>
</div>
 
 
 
 
 
<div class="panel panel-default">
<div class="panel-heading">
Configurações de Menus <button type="button" class="btn btn-success" onclick="set(form,'refresh');form.submit();">Refrescar com as Alterações</button> <button type="button" style="float:right" class="btn btn-default" onclick="$('.multilang').toggle();return false;">Abrir Multilinguagem</button> <button style="float:right" type="button" class="btn btn-default" onclick="$('.advanced').toggle();return false;">Abrir Configurações Avançadas</button>
</div>
<div class="panel-body">
<table class="dataTable tablesorter" style="width: 100%">
<thead>
<tr>
<th style="width: 70px">ID</th>
<th>URL</th>
<th>Label</th>
<!--<th>xml</th>-->
<th class="advanced">layout</th>
<th class="advanced">style</th>
<th class="advanced">absolute</th>
<th class="advanced">proxy</th>
<th class="advanced">group</th>
<!--<th>remoteExtensionRoot</th>
<th>ftpDirectory</th>
<th>size</th>
<th>mimeType</th>-->
<th class="advanced"></th>
</tr>
</thead>
<tbody>
<%
request.setAttribute("Contador", 0);
%>
<nested:iterate id="leaf" property="directory.leaf">
<nested:define id="leaf" toScope="request"/>
<jsp:include page="leafNode.jsp"/>
</nested:iterate>
</tbody>
</table>
</div>
</div>
</div>
 
<div class="panel-footer">
<button type="button" class="btn btn-success" onclick="if(confirm('<bean:message key="directories.confirm.save"/>')){set(form,'save');form.submit();}else{return false;}"><bean:message key="directories.save"/></button>
 
<button type="button" class="btn btn-danger" onclick="if(confirm('<bean:message key="directories.confirm.cancel"/>')){set(form,'cancel');form.submit();}else{return false;}"><bean:message key="directories.cancel"/></button>
</div>
</div>
 
</html:form>
 
<%
 
%>
</div>
Property changes:
Added: svn:executable
+ *
/impl/src/web/admin/configuration/grades.jsp
107,6 → 107,7
 
<tr>
<td style="width: 100px">
<nested:hidden property="id"/>
<nested:text property="status"></nested:text>
</td>
<td>
155,6 → 156,7
 
<tr>
<td style="width: 100px">
<nested:hidden property="id"/>
<nested:text property="codigoEpoca"></nested:text>
</td>
<td style="width: 100px">
/impl/src/web/admin/configuration/directories.jsp
New file
0,0 → 1,40
<%@ page import="pt.estgp.estgweb.services.directories.DirectoryService" %>
<%@ page import="pt.estgp.estgweb.services.directories.xsd.Directory" %>
<%@ page import="pt.estgp.estgweb.web.form.configuration.DirectoriesForm" %>
<%@ 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/baco.tld" prefix="baco" %>
<%@ taglib prefix="hmlt" uri="http://jakarta.apache.org/struts/tags-html" %>
<jsp:useBean id="UserSession" type="pt.estgp.estgweb.domain.UserSession" scope="request"/>
<jomm:messages/>
<html:errors/>
 
<link type="text/css" rel="stylesheet" href="<%=request.getContextPath()%>/css/variables.less"/>
<link type="text/css" rel="stylesheet" href="<%=request.getContextPath()%>/css/lavish-bootstrap.css"/>
 
 
 
 
<script src="<%=request.getContextPath()%>/js/jquerytables/jquery-2.1.4.min.js"></script>
<script src="<%=request.getContextPath()%>/js/jquerytables/bootstrap/js/bootstrap.min.js"></script>
 
<div class="container-fluid">
<div class="panel panel-default">
<div class="panel-heading">
Directórios
</div>
<div class="panel-body">
 
<p><a href="<%=request.getContextPath()%>/user/configurationDir.do?dispatch=load&id=student"><bean:message key="user.role.student"/></a></p>
<p><a href="<%=request.getContextPath()%>/user/configurationDir.do?dispatch=load&id=futureStudent"><bean:message key="user.role.futureStudent"/></a></p>
<p><a href="<%=request.getContextPath()%>/user/configurationDir.do?dispatch=load&id=teacher"><bean:message key="user.role.teacher"/></a></p>
<p><a href="<%=request.getContextPath()%>/user/configurationDir.do?dispatch=load&id=utilsIntranet"><bean:message key="intranet.separator.utils"/></a></p>
<p><a href="<%=request.getContextPath()%>/user/configurationDir.do?dispatch=load&id=topMenus"><bean:message key="top.separators"/></a></p>
 
</div>
</div>
</div>
Property changes:
Added: svn:executable
+ *
/impl/src/web/admin/configuration/leafNode.jsp
New file
0,0 → 1,146
<%@ page import="jomm.dao.impl.AbstractDao" %>
<%@ page import="pt.estgp.estgweb.services.directories.DirectoryService" %>
<%@ page import="pt.estgp.estgweb.services.directories.xsd.Directory" %>
<%@ page import="pt.estgp.estgweb.services.directories.xsd.LeafT" %>
<%@ page import="pt.estgp.estgweb.services.directories.xsd.NodeT" %>
<%@ 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/baco.tld" prefix="baco" %>
<%@ taglib prefix="hmlt" uri="http://jakarta.apache.org/struts/tags-html" %>
<jsp:useBean id="UserSession" type="pt.estgp.estgweb.domain.UserSession" scope="request"/>
 
<%
Integer cont = (Integer) request.getAttribute("Contador");
int pad = 30*cont;
int rightsPad = 30*(cont+1);
%>
<nested:root>
 
<%
 
%>
 
<tr>
<td style="<nested:equal value="" property="id">background-color: yellow;</nested:equal> padding-left: <%=pad%>px"><a name="<nested:write property="id"/>"></a><nested:text style="width: 100%" property="id"/></td>
<td style="width: 300px"><nested:text style="width:100%" property="url"/></td>
<td style="width: 200px">
<table cellspadding="0" cellspacing="0" style="width: 100%">
<tr>
<td>PT</td>
<td><nested:text style="width:100%" property="label"/></td>
</tr>
<tr class="multilang">
<td>EN</td>
<td><nested:text style="width:100%" property="labelEn"/></td>
</tr>
<tr class="multilang">
<td>ES</td>
<td><nested:text style="width:100%" property="labelEs"/></td>
</tr>
</table>
</td>
<td class="advanced">
<nested:select property="layout">
<html:option value="true">Sim</html:option>
<html:option value="false">Nao</html:option>
</nested:select>
</td>
<td class="advanced">
<nested:select property="style">
<html:option value="true">Sim</html:option>
<html:option value="false">Nao</html:option>
</nested:select>
</td>
<td class="advanced">
<nested:select property="absolute">
<html:option value="true">Sim</html:option>
<html:option value="false">Nao</html:option>
</nested:select>
</td>
<td class="advanced">
<nested:select property="proxy">
<html:option value="estgp">ESTGP Páginas Estáticas</html:option>
<html:option value="conteudos">Conteudos Páginas Dinâmicas</html:option>
<html:option value="ionline">IOnline Pastas Partilhadas</html:option>
<html:option value="grupos">Grupos Pastas Partilhadas</html:option>
</nested:select>
</td>
<td class="advanced">
<nested:select property="group">
<logic:notEmpty name="todosGrupos">
<html:option value=""></html:option>
<logic:iterate id="g" name="todosGrupos">
<html:option value="${g.name}">${g.name} - ${g.description}</html:option>
</logic:iterate>
</logic:notEmpty>
</nested:select>
</td>
<td class="advanced" style="white-space: nowrap">
<button type="button" class="btn btn-danger btn-sm" onclick="if(confirm('<nested:message key="directories.remove.ask" arg0="${leaf.id}"/>')){set(form,'removeLeaf');setId(form,'<nested:write property="id"/>');form.submit()}else{return false;}"><span class="glyphicon glyphicon-remove"></span></button>
</td>
<!--<td>remoteExtensionRoot</td>
<td>ftpDirectory</td>
<td>size</td>
<td>mimeType</td>-->
</tr>
<tr class="advanced">
<td style="padding-left: <%=rightsPad%>px" colspan="10">
<button type="button" onclick="set(form,'addLeaf');setId(form,'<nested:write property="id"/>');form.action = form.action + '#<nested:write property="id"/>';form.submit()" class="btn btn-default btn-sm"><span class="glyphicon glyphicon-plus"></span></button>
</td>
</tr>
<nested:notEmpty property="rights">
<tr class="advanced">
 
<td style="padding-left: <%=rightsPad%>px">Direitos Acesso (<nested:write property="id"/>)</td>
<td colspan="9">
<table class="dataTable tablesorter" style="width: 100%">
<thead>
<tr>
<th>Tipo Alvo</th>
<th>Alvo</th>
<th>Acesso</th>
<td><button type="button" onclick="set(form,'addRight');setId(form,'<nested:write property="id"/>');form.action = form.action + '#<nested:write property="id"/>';form.submit()" class="btn btn-default btn-sm"><span class="glyphicon glyphicon-plus"></span></button></td>
</tr>
</thead>
<tbody>
<nested:iterate id="r" property="rights.right">
<nested:define id="r" toScope="request"/>
<tr>
<td>
<nested:select property="target">
<html:option value="role">Papel</html:option>
<html:option value="user">Utilizador</html:option>
</nested:select>
</td>
<td><nested:text style="width: 100%" property="name"/></td>
<td>
<nested:select property="type">
<html:option value="permit">Permitir</html:option>
<html:option value="restrict">Restringir</html:option>
</nested:select>
</td>
<td>
<button type="button" class="btn btn-danger btn-sm" onclick="if(confirm('<nested:message key="directories.remove.ask" arg0="${r.name}"/>')){form.action = form.action + '#<nested:write name="leaf" property="id"/>';set(form,'removeRight');setId(form,'<nested:write name="leaf" property="id"/>');setName(form,'<nested:write property="name"/>');setTarget(form,'<nested:write property="target"/>');setType(form,'<nested:write property="type"/>');form.submit()}else{return false;}"><span class="glyphicon glyphicon-remove"></span></button>
</td>
</tr>
</nested:iterate>
</table>
</td>
</tr>
</nested:notEmpty>
<%
 
request.setAttribute("Contador",cont+1);
%>
<nested:iterate id="leaf" property="leaf">
<nested:define id="leaf" toScope="request"/>
<jsp:include page="leafNode.jsp"/>
</nested:iterate>
<%
request.setAttribute("Contador",cont);
%>
</nested:root>
/impl/src/web/public/profile/profileGrades.jsp
1,9 → 1,9
<%@ page import="java.util.List" %>
<%@ page import="pt.estgp.estgweb.domain.Teacher" %>
<%@ page import="jomm.utils.MessageResources" %>
<%@ page import="pt.estgp.estgweb.Globals" %>
<%@ page import="pt.estgp.estgweb.domain.Student" %>
<%@ page import="pt.estgp.estgweb.domain.enums.RecordEnum" %>
<%@ page import="pt.estgp.estgweb.domain.views.CourseUnitGradeView" %>
<%@ page import="java.util.HashMap" %>
<%@ page import="java.util.List" %>
<%@ page import="java.util.Map" %>
<%@ 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" %>
52,13 → 52,18
%>
</h2>
<%
if(UserSession.getUser() != null && UserSession.getUser().getId() != ProfileForm.getUserView().getId())
if(UserSession.getUser() != null && !UserSession.getUser().isAdmin() && !UserSession.getUser().hasRole("services") && UserSession.getUser().getId() != ProfileForm.getUserView().getId())
{
%>
<h2 class="warning">Apenas o aluno tem direito a consultar as suas notas</h2>
<%
}else if(!ProfileForm.getUserView().isPropinasEmDia())
}else if(ProfileForm.getUserView().getGrades() == null || ProfileForm.getUserView().getGrades().size() == 0)
{
%>
<h2 class="warning">Não tem notas para apresentar</h2>
<%
}else if(UserSession.getUser() != null && !UserSession.getUser().isAdmin() && !UserSession.getUser().hasRole("services") && !ProfileForm.getUserView().isPropinasEmDia())
{
%>
<h2 class="warning">Regularize as suas propinas para poder aceder às notas</h2>
<%
75,6 → 80,28
}
);
</script>
<div class="block">
 
<%
Map<Long,Integer> unidadeNota = new HashMap<Long,Integer>();
for(CourseUnitGradeView grade: ProfileForm.getUserView().getGrades())
{
Integer notaUnidade = unidadeNota.get(grade.getCourseUnit().getId());
if(notaUnidade == null || notaUnidade < grade.getGrade())
{
if(grade.getGrade() > 0)
{
unidadeNota.put(grade.getCourseUnit().getId(),grade.getGrade());
}
}
}
float total = 0;
for(Integer nota: unidadeNota.values())
total+=nota;
float media = total/((float)unidadeNota.size());
%>
Média: <%=media%>
</div>
<table id="myTable" class="dataTable tablesorter">
<thead>
<tr>
131,5 → 158,6
<%
}
%>
 
</div>
</div>
/impl/src/web/user/serviceZone/topnavConfigurationDirectory.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("/user/startHome.do", "intranet.separator.home.back");
topNav.addNavPlace("/user/configurationDirectories.do", "configuration.directories");
topNav.addNavPlace(null, "configuration.directory");
%>
<jsp:include page="/layout/topnav.jsp"/>
Property changes:
Added: svn:executable
+ *
/impl/src/web/user/serviceZone/topnavConfigurationDirectories.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("/user/startHome.do", "intranet.separator.home.back");
topNav.addNavPlace(null, "configuration.directories");
%>
<jsp:include page="/layout/topnav.jsp"/>
Property changes:
Added: svn:executable
+ *
/impl/gen/java/pt/estgp/estgweb/services/directories/xsd/Directory.java
New file
0,0 → 1,419
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2015.11.16 at 11:36:01 AM WET
//
 
 
package pt.estgp.estgweb.services.directories.xsd;
 
import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlID;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 
 
/**
* <p>Java class for anonymous complex type.
*
* <p>The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType>
* &lt;complexContent>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* &lt;sequence>
* &lt;element name="groupsDeclaration" type="{http://www.estgp.pt/baco/directory/}groupDeclarationT" minOccurs="0"/>
* &lt;element name="leaf" type="{http://www.estgp.pt/baco/directory/}leafT" maxOccurs="unbounded"/>
* &lt;element name="rights" type="{http://www.estgp.pt/baco/directory/}rightsT" minOccurs="0"/>
* &lt;/sequence>
* &lt;attribute name="id" use="required" type="{http://www.w3.org/2001/XMLSchema}ID" />
* &lt;attribute name="label" use="required" type="{http://www.w3.org/2001/XMLSchema}anySimpleType" />
* &lt;attribute name="label_en" type="{http://www.w3.org/2001/XMLSchema}anySimpleType" />
* &lt;attribute name="label_es" type="{http://www.w3.org/2001/XMLSchema}anySimpleType" />
* &lt;attribute name="place" use="required" type="{http://www.w3.org/2001/XMLSchema}anySimpleType" />
* &lt;attribute name="style" use="required" type="{http://www.w3.org/2001/XMLSchema}anySimpleType" />
* &lt;attribute name="layout" use="required" type="{http://www.w3.org/2001/XMLSchema}anySimpleType" />
* &lt;attribute name="layoutRoot" use="required" type="{http://www.w3.org/2001/XMLSchema}anySimpleType" />
* &lt;attribute name="targetRole" use="required" type="{http://www.w3.org/2001/XMLSchema}anySimpleType" />
* &lt;attribute name="menuKey" use="required" type="{http://www.w3.org/2001/XMLSchema}anySimpleType" />
* &lt;/restriction>
* &lt;/complexContent>
* &lt;/complexType>
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
"groupsDeclaration",
"leaf",
"rights"
})
@XmlRootElement(name = "directory")
public class Directory {
 
protected GroupDeclarationT groupsDeclaration;
@XmlElement(required = true)
protected List<LeafT> leaf;
protected RightsT rights;
@XmlAttribute(required = true)
@XmlJavaTypeAdapter(CollapsedStringAdapter.class)
@XmlID
@XmlSchemaType(name = "ID")
protected String id;
@XmlAttribute(required = true)
@XmlSchemaType(name = "anySimpleType")
protected String label;
@XmlAttribute(name = "label_en")
@XmlSchemaType(name = "anySimpleType")
protected String labelEn;
@XmlAttribute(name = "label_es")
@XmlSchemaType(name = "anySimpleType")
protected String labelEs;
@XmlAttribute(required = true)
@XmlSchemaType(name = "anySimpleType")
protected String place;
@XmlAttribute(required = true)
@XmlSchemaType(name = "anySimpleType")
protected String style;
@XmlAttribute(required = true)
@XmlSchemaType(name = "anySimpleType")
protected String layout;
@XmlAttribute(required = true)
@XmlSchemaType(name = "anySimpleType")
protected String layoutRoot;
@XmlAttribute(required = true)
@XmlSchemaType(name = "anySimpleType")
protected String targetRole;
@XmlAttribute(required = true)
@XmlSchemaType(name = "anySimpleType")
protected String menuKey;
 
/**
* Gets the value of the groupsDeclaration property.
*
* @return
* possible object is
* {@link GroupDeclarationT }
*
*/
public GroupDeclarationT getGroupsDeclaration() {
return groupsDeclaration;
}
 
/**
* Sets the value of the groupsDeclaration property.
*
* @param value
* allowed object is
* {@link GroupDeclarationT }
*
*/
public void setGroupsDeclaration(GroupDeclarationT value) {
this.groupsDeclaration = value;
}
 
/**
* Gets the value of the leaf property.
*
* <p>
* This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
* This is why there is not a <CODE>set</CODE> method for the leaf property.
*
* <p>
* For example, to add a new item, do as follows:
* <pre>
* getLeaf().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link LeafT }
*
*
*/
public List<LeafT> getLeaf() {
if (leaf == null) {
leaf = new ArrayList<LeafT>();
}
return this.leaf;
}
 
/**
* Gets the value of the rights property.
*
* @return
* possible object is
* {@link RightsT }
*
*/
public RightsT getRights() {
return rights;
}
 
/**
* Sets the value of the rights property.
*
* @param value
* allowed object is
* {@link RightsT }
*
*/
public void setRights(RightsT value) {
this.rights = value;
}
 
/**
* Gets the value of the id property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getId() {
return id;
}
 
/**
* Sets the value of the id property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setId(String value) {
this.id = value;
}
 
/**
* Gets the value of the label property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getLabel() {
return label;
}
 
/**
* Sets the value of the label property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setLabel(String value) {
this.label = value;
}
 
/**
* Gets the value of the labelEn property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getLabelEn() {
return labelEn;
}
 
/**
* Sets the value of the labelEn property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setLabelEn(String value) {
this.labelEn = value;
}
 
/**
* Gets the value of the labelEs property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getLabelEs() {
return labelEs;
}
 
/**
* Sets the value of the labelEs property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setLabelEs(String value) {
this.labelEs = value;
}
 
/**
* Gets the value of the place property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getPlace() {
return place;
}
 
/**
* Sets the value of the place property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setPlace(String value) {
this.place = value;
}
 
/**
* Gets the value of the style property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getStyle() {
return style;
}
 
/**
* Sets the value of the style property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setStyle(String value) {
this.style = value;
}
 
/**
* Gets the value of the layout property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getLayout() {
return layout;
}
 
/**
* Sets the value of the layout property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setLayout(String value) {
this.layout = value;
}
 
/**
* Gets the value of the layoutRoot property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getLayoutRoot() {
return layoutRoot;
}
 
/**
* Sets the value of the layoutRoot property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setLayoutRoot(String value) {
this.layoutRoot = value;
}
 
/**
* Gets the value of the targetRole property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getTargetRole() {
return targetRole;
}
 
/**
* Sets the value of the targetRole property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setTargetRole(String value) {
this.targetRole = value;
}
 
/**
* Gets the value of the menuKey property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getMenuKey() {
return menuKey;
}
 
/**
* Sets the value of the menuKey property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setMenuKey(String value) {
this.menuKey = value;
}
 
}
/impl/gen/java/pt/estgp/estgweb/services/directories/xsd/RightsT.java
New file
0,0 → 1,247
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2015.11.16 at 11:36:01 AM WET
//
 
 
package pt.estgp.estgweb.services.directories.xsd;
 
import javax.xml.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
 
 
/**
* Rights define who is authorized to enter in a node
*
* <p>Java class for rightsT complex type.
*
* <p>The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="rightsT">
* &lt;complexContent>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* &lt;sequence>
* &lt;element name="right" maxOccurs="unbounded">
* &lt;complexType>
* &lt;complexContent>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* &lt;attribute name="target" use="required">
* &lt;simpleType>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
* &lt;enumeration value="user"/>
* &lt;enumeration value="role"/>
* &lt;/restriction>
* &lt;/simpleType>
* &lt;/attribute>
* &lt;attribute name="type" use="required">
* &lt;simpleType>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
* &lt;enumeration value="permit"/>
* &lt;enumeration value="restrict"/>
* &lt;/restriction>
* &lt;/simpleType>
* &lt;/attribute>
* &lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;/restriction>
* &lt;/complexContent>
* &lt;/complexType>
* &lt;/element>
* &lt;element name="internal" type="{http://www.w3.org/2001/XMLSchema}boolean" minOccurs="0"/>
* &lt;/sequence>
* &lt;/restriction>
* &lt;/complexContent>
* &lt;/complexType>
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "rightsT", propOrder = {
"right",
"internal"
})
public class RightsT {
 
@XmlElement(required = true)
protected List<RightsT.Right> right;
protected Boolean internal;
 
/**
* Gets the value of the right property.
*
* <p>
* This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
* This is why there is not a <CODE>set</CODE> method for the right property.
*
* <p>
* For example, to add a new item, do as follows:
* <pre>
* getRight().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link RightsT.Right }
*
*
*/
public List<RightsT.Right> getRight() {
if (right == null) {
right = new ArrayList<RightsT.Right>();
}
return this.right;
}
 
/**
* Gets the value of the internal property.
*
* @return
* possible object is
* {@link Boolean }
*
*/
public Boolean getInternal() {
return internal;
}
 
/**
* Sets the value of the internal property.
*
* @param value
* allowed object is
* {@link Boolean }
*
*/
public void setInternal(Boolean value) {
this.internal = value;
}
 
 
/**
* A right T1 can be to permit or restrict
*
* <p>Java class for anonymous complex type.
*
* <p>The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType>
* &lt;complexContent>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* &lt;attribute name="target" use="required">
* &lt;simpleType>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
* &lt;enumeration value="user"/>
* &lt;enumeration value="role"/>
* &lt;/restriction>
* &lt;/simpleType>
* &lt;/attribute>
* &lt;attribute name="type" use="required">
* &lt;simpleType>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
* &lt;enumeration value="permit"/>
* &lt;enumeration value="restrict"/>
* &lt;/restriction>
* &lt;/simpleType>
* &lt;/attribute>
* &lt;attribute name="name" use="required" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;/restriction>
* &lt;/complexContent>
* &lt;/complexType>
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "")
public static class Right {
 
@XmlAttribute(required = true)
protected String target;
@XmlAttribute(required = true)
protected String type;
@XmlAttribute(required = true)
protected String name;
 
/**
* Gets the value of the target property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getTarget() {
return target;
}
 
/**
* Sets the value of the target property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setTarget(String value) {
this.target = value;
}
 
/**
* Gets the value of the type property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getType() {
return type;
}
 
/**
* Sets the value of the type property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setType(String value) {
this.type = value;
}
 
/**
* Gets the value of the name property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getName() {
return name;
}
 
/**
* Sets the value of the name property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setName(String value) {
this.name = value;
}
 
}
 
}
/impl/gen/java/pt/estgp/estgweb/services/directories/xsd/package-info.java
New file
0,0 → 1,9
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2015.11.16 at 11:36:01 AM WET
//
 
@javax.xml.bind.annotation.XmlSchema(namespace = "http://www.estgp.pt/baco/directory/", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
package pt.estgp.estgweb.services.directories.xsd;
/impl/gen/java/pt/estgp/estgweb/services/directories/xsd/GroupDeclarationT.java
New file
0,0 → 1,170
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2015.11.16 at 11:36:01 AM WET
//
 
 
package pt.estgp.estgweb.services.directories.xsd;
 
import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;
 
 
/**
* <p>Java class for groupDeclarationT complex type.
*
* <p>The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="groupDeclarationT">
* &lt;complexContent>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* &lt;sequence>
* &lt;element name="group" maxOccurs="unbounded">
* &lt;complexType>
* &lt;complexContent>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* &lt;sequence>
* &lt;element name="name" type="{http://www.w3.org/2001/XMLSchema}string"/>
* &lt;element name="description" type="{http://www.w3.org/2001/XMLSchema}string"/>
* &lt;/sequence>
* &lt;/restriction>
* &lt;/complexContent>
* &lt;/complexType>
* &lt;/element>
* &lt;/sequence>
* &lt;/restriction>
* &lt;/complexContent>
* &lt;/complexType>
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "groupDeclarationT", propOrder = {
"group"
})
public class GroupDeclarationT {
 
@XmlElement(required = true)
protected List<GroupDeclarationT.Group> group;
 
/**
* Gets the value of the group property.
*
* <p>
* This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
* This is why there is not a <CODE>set</CODE> method for the group property.
*
* <p>
* For example, to add a new item, do as follows:
* <pre>
* getGroup().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link GroupDeclarationT.Group }
*
*
*/
public List<GroupDeclarationT.Group> getGroup() {
if (group == null) {
group = new ArrayList<GroupDeclarationT.Group>();
}
return this.group;
}
 
 
/**
* <p>Java class for anonymous complex type.
*
* <p>The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType>
* &lt;complexContent>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* &lt;sequence>
* &lt;element name="name" type="{http://www.w3.org/2001/XMLSchema}string"/>
* &lt;element name="description" type="{http://www.w3.org/2001/XMLSchema}string"/>
* &lt;/sequence>
* &lt;/restriction>
* &lt;/complexContent>
* &lt;/complexType>
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
"name",
"description"
})
public static class Group {
 
@XmlElement(required = true)
protected String name;
@XmlElement(required = true)
protected String description;
 
/**
* Gets the value of the name property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getName() {
return name;
}
 
/**
* Sets the value of the name property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setName(String value) {
this.name = value;
}
 
/**
* Gets the value of the description property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getDescription() {
return description;
}
 
/**
* Sets the value of the description property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setDescription(String value) {
this.description = value;
}
 
}
 
}
/impl/gen/java/pt/estgp/estgweb/services/directories/xsd/NodeT.java
New file
0,0 → 1,340
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2015.11.16 at 11:36:01 AM WET
//
 
 
package pt.estgp.estgweb.services.directories.xsd;
 
import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlID;
import javax.xml.bind.annotation.XmlSchemaType;
import javax.xml.bind.annotation.XmlType;
import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 
 
/**
* A node is a directory internal object, it has a label and an identifier and can have children nodes and/or leafs
*
* <p>Java class for nodeT complex type.
*
* <p>The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="nodeT">
* &lt;complexContent>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* &lt;sequence>
* &lt;element name="groupsDeclaration" type="{http://www.estgp.pt/baco/directory/}groupDeclarationT" minOccurs="0"/>
* &lt;element name="leaf" type="{http://www.estgp.pt/baco/directory/}leafT" maxOccurs="unbounded"/>
* &lt;element name="rights" type="{http://www.estgp.pt/baco/directory/}rightsT" minOccurs="0"/>
* &lt;/sequence>
* &lt;attribute name="label" use="required" type="{http://www.w3.org/2001/XMLSchema}anySimpleType" />
* &lt;attribute name="label_en" type="{http://www.w3.org/2001/XMLSchema}anySimpleType" />
* &lt;attribute name="label_es" type="{http://www.w3.org/2001/XMLSchema}anySimpleType" />
* &lt;attribute name="group" type="{http://www.w3.org/2001/XMLSchema}anySimpleType" />
* &lt;attribute name="showNav" type="{http://www.w3.org/2001/XMLSchema}boolean" />
* &lt;attribute name="type">
* &lt;simpleType>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
* &lt;enumeration value="ftp"/>
* &lt;enumeration value="http"/>
* &lt;/restriction>
* &lt;/simpleType>
* &lt;/attribute>
* &lt;attribute name="id" use="required" type="{http://www.w3.org/2001/XMLSchema}ID" />
* &lt;/restriction>
* &lt;/complexContent>
* &lt;/complexType>
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "nodeT", propOrder = {
"groupsDeclaration",
"leaf",
"rights"
})
public class NodeT {
 
protected GroupDeclarationT groupsDeclaration;
@XmlElement(required = true)
protected List<LeafT> leaf;
protected RightsT rights;
@XmlAttribute(required = true)
@XmlSchemaType(name = "anySimpleType")
protected String label;
@XmlAttribute(name = "label_en")
@XmlSchemaType(name = "anySimpleType")
protected String labelEn;
@XmlAttribute(name = "label_es")
@XmlSchemaType(name = "anySimpleType")
protected String labelEs;
@XmlAttribute
@XmlSchemaType(name = "anySimpleType")
protected String group;
@XmlAttribute
protected Boolean showNav;
@XmlAttribute
protected String type;
@XmlAttribute(required = true)
@XmlJavaTypeAdapter(CollapsedStringAdapter.class)
@XmlID
@XmlSchemaType(name = "ID")
protected String id;
 
/**
* Gets the value of the groupsDeclaration property.
*
* @return
* possible object is
* {@link GroupDeclarationT }
*
*/
public GroupDeclarationT getGroupsDeclaration() {
return groupsDeclaration;
}
 
/**
* Sets the value of the groupsDeclaration property.
*
* @param value
* allowed object is
* {@link GroupDeclarationT }
*
*/
public void setGroupsDeclaration(GroupDeclarationT value) {
this.groupsDeclaration = value;
}
 
/**
* Gets the value of the leaf property.
*
* <p>
* This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
* This is why there is not a <CODE>set</CODE> method for the leaf property.
*
* <p>
* For example, to add a new item, do as follows:
* <pre>
* getLeaf().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link LeafT }
*
*
*/
public List<LeafT> getLeaf() {
if (leaf == null) {
leaf = new ArrayList<LeafT>();
}
return this.leaf;
}
 
/**
* Gets the value of the rights property.
*
* @return
* possible object is
* {@link RightsT }
*
*/
public RightsT getRights() {
return rights;
}
 
/**
* Sets the value of the rights property.
*
* @param value
* allowed object is
* {@link RightsT }
*
*/
public void setRights(RightsT value) {
this.rights = value;
}
 
/**
* Gets the value of the label property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getLabel() {
return label;
}
 
/**
* Sets the value of the label property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setLabel(String value) {
this.label = value;
}
 
/**
* Gets the value of the labelEn property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getLabelEn() {
return labelEn;
}
 
/**
* Sets the value of the labelEn property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setLabelEn(String value) {
this.labelEn = value;
}
 
/**
* Gets the value of the labelEs property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getLabelEs() {
return labelEs;
}
 
/**
* Sets the value of the labelEs property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setLabelEs(String value) {
this.labelEs = value;
}
 
/**
* Gets the value of the group property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getGroup() {
return group;
}
 
/**
* Sets the value of the group property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setGroup(String value) {
this.group = value;
}
 
/**
* Gets the value of the showNav property.
*
* @return
* possible object is
* {@link Boolean }
*
*/
public Boolean getShowNav() {
return showNav;
}
 
/**
* Sets the value of the showNav property.
*
* @param value
* allowed object is
* {@link Boolean }
*
*/
public void setShowNav(Boolean value) {
this.showNav = value;
}
 
/**
* Gets the value of the type property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getType() {
return type;
}
 
/**
* Sets the value of the type property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setType(String value) {
this.type = value;
}
 
/**
* Gets the value of the id property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getId() {
return id;
}
 
/**
* Sets the value of the id property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setId(String value) {
this.id = value;
}
 
}
/impl/gen/java/pt/estgp/estgweb/services/directories/xsd/LeafT.java
New file
0,0 → 1,694
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2015.11.16 at 11:36:01 AM WET
//
 
 
package pt.estgp.estgweb.services.directories.xsd;
 
import javax.xml.bind.annotation.*;
import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
import java.util.ArrayList;
import java.util.List;
 
 
/**
* A leaf is an URL for an external or internal WEB site
*
* <p>Java class for leafT complex type.
*
* <p>The following schema fragment specifies the expected content contained within this class.
*
* <pre>
* &lt;complexType name="leafT">
* &lt;complexContent>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}anyType">
* &lt;sequence>
* &lt;element name="groupsDeclaration" type="{http://www.estgp.pt/baco/directory/}groupDeclarationT" minOccurs="0"/>
* &lt;element name="leaf" type="{http://www.estgp.pt/baco/directory/}leafT" maxOccurs="unbounded" minOccurs="0"/>
* &lt;element name="rights" type="{http://www.estgp.pt/baco/directory/}rightsT" minOccurs="0"/>
* &lt;/sequence>
* &lt;attribute name="node" type="{http://www.w3.org/2001/XMLSchema}boolean" />
* &lt;attribute name="url" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;attribute name="id" use="required" type="{http://www.w3.org/2001/XMLSchema}ID" />
* &lt;attribute name="label" use="required" type="{http://www.w3.org/2001/XMLSchema}anySimpleType" />
* &lt;attribute name="label_en" type="{http://www.w3.org/2001/XMLSchema}anySimpleType" />
* &lt;attribute name="label_es" type="{http://www.w3.org/2001/XMLSchema}anySimpleType" />
* &lt;attribute name="xml" type="{http://www.w3.org/2001/XMLSchema}boolean" />
* &lt;attribute name="layout" type="{http://www.w3.org/2001/XMLSchema}boolean" />
* &lt;attribute name="style" type="{http://www.w3.org/2001/XMLSchema}boolean" />
* &lt;attribute name="absolute" type="{http://www.w3.org/2001/XMLSchema}boolean" />
* &lt;attribute name="proxy" type="{http://www.w3.org/2001/XMLSchema}string" />
* &lt;attribute name="group" type="{http://www.w3.org/2001/XMLSchema}anySimpleType" />
* &lt;attribute name="remoteExtensionRoot" type="{http://www.w3.org/2001/XMLSchema}boolean" />
* &lt;attribute name="ftpDirectory" type="{http://www.w3.org/2001/XMLSchema}boolean" />
* &lt;attribute name="size" type="{http://www.w3.org/2001/XMLSchema}anySimpleType" />
* &lt;attribute name="mimeType" type="{http://www.w3.org/2001/XMLSchema}anySimpleType" />
* &lt;attribute name="lastModification" type="{http://www.w3.org/2001/XMLSchema}anySimpleType" />
* &lt;attribute name="visualization">
* &lt;simpleType>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
* &lt;enumeration value="filesystem"/>
* &lt;enumeration value="normal"/>
* &lt;/restriction>
* &lt;/simpleType>
* &lt;/attribute>
* &lt;attribute name="showNav" type="{http://www.w3.org/2001/XMLSchema}boolean" />
* &lt;attribute name="type">
* &lt;simpleType>
* &lt;restriction base="{http://www.w3.org/2001/XMLSchema}string">
* &lt;enumeration value="ftp"/>
* &lt;enumeration value="http"/>
* &lt;/restriction>
* &lt;/simpleType>
* &lt;/attribute>
* &lt;/restriction>
* &lt;/complexContent>
* &lt;/complexType>
* </pre>
*
*
*/
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "leafT", propOrder = {
"groupsDeclaration",
"leaf",
"rights"
})
public class LeafT {
 
protected GroupDeclarationT groupsDeclaration;
protected List<LeafT> leaf;
protected RightsT rights;
@XmlAttribute
protected Boolean node;
@XmlAttribute
protected String url;
@XmlAttribute(required = true)
@XmlJavaTypeAdapter(CollapsedStringAdapter.class)
@XmlID
@XmlSchemaType(name = "ID")
protected String id;
@XmlAttribute(required = true)
@XmlSchemaType(name = "anySimpleType")
protected String label;
@XmlAttribute(name = "label_en")
@XmlSchemaType(name = "anySimpleType")
protected String labelEn;
@XmlAttribute(name = "label_es")
@XmlSchemaType(name = "anySimpleType")
protected String labelEs;
@XmlAttribute
protected Boolean xml;
@XmlAttribute
protected Boolean layout;
@XmlAttribute
protected Boolean style;
@XmlAttribute
protected Boolean absolute;
@XmlAttribute
protected String proxy;
@XmlAttribute
@XmlSchemaType(name = "anySimpleType")
protected String group;
@XmlAttribute
protected Boolean remoteExtensionRoot;
@XmlAttribute
protected Boolean ftpDirectory;
@XmlAttribute
@XmlSchemaType(name = "anySimpleType")
protected String size;
@XmlAttribute
@XmlSchemaType(name = "anySimpleType")
protected String mimeType;
@XmlAttribute
@XmlSchemaType(name = "anySimpleType")
protected String lastModification;
@XmlAttribute
protected String visualization;
@XmlAttribute
protected Boolean showNav;
@XmlAttribute
protected String type;
 
/**
* Gets the value of the groupsDeclaration property.
*
* @return
* possible object is
* {@link GroupDeclarationT }
*
*/
public GroupDeclarationT getGroupsDeclaration() {
return groupsDeclaration;
}
 
/**
* Sets the value of the groupsDeclaration property.
*
* @param value
* allowed object is
* {@link GroupDeclarationT }
*
*/
public void setGroupsDeclaration(GroupDeclarationT value) {
this.groupsDeclaration = value;
}
 
/**
* Gets the value of the leaf property.
*
* <p>
* This accessor method returns a reference to the live list,
* not a snapshot. Therefore any modification you make to the
* returned list will be present inside the JAXB object.
* This is why there is not a <CODE>set</CODE> method for the leaf property.
*
* <p>
* For example, to add a new item, do as follows:
* <pre>
* getLeaf().add(newItem);
* </pre>
*
*
* <p>
* Objects of the following type(s) are allowed in the list
* {@link LeafT }
*
*
*/
public List<LeafT> getLeaf() {
if (leaf == null) {
leaf = new ArrayList<LeafT>();
}
return this.leaf;
}
 
/**
* Gets the value of the rights property.
*
* @return
* possible object is
* {@link RightsT }
*
*/
public RightsT getRights() {
return rights;
}
 
/**
* Sets the value of the rights property.
*
* @param value
* allowed object is
* {@link RightsT }
*
*/
public void setRights(RightsT value) {
this.rights = value;
}
 
/**
* Gets the value of the node property.
*
* @return
* possible object is
* {@link Boolean }
*
*/
public Boolean getNode() {
return node;
}
 
/**
* Sets the value of the node property.
*
* @param value
* allowed object is
* {@link Boolean }
*
*/
public void setNode(Boolean value) {
this.node = value;
}
 
/**
* Gets the value of the url property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getUrl() {
return url;
}
 
/**
* Sets the value of the url property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setUrl(String value) {
this.url = value;
}
 
/**
* Gets the value of the id property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getId() {
return id;
}
 
/**
* Sets the value of the id property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setId(String value) {
this.id = value;
}
 
/**
* Gets the value of the label property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getLabel() {
return label;
}
 
/**
* Sets the value of the label property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setLabel(String value) {
this.label = value;
}
 
/**
* Gets the value of the labelEn property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getLabelEn() {
return labelEn;
}
 
/**
* Sets the value of the labelEn property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setLabelEn(String value) {
this.labelEn = value;
}
 
/**
* Gets the value of the labelEs property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getLabelEs() {
return labelEs;
}
 
/**
* Sets the value of the labelEs property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setLabelEs(String value) {
this.labelEs = value;
}
 
/**
* Gets the value of the xml property.
*
* @return
* possible object is
* {@link Boolean }
*
*/
public Boolean getXml() {
return xml;
}
 
/**
* Sets the value of the xml property.
*
* @param value
* allowed object is
* {@link Boolean }
*
*/
public void setXml(Boolean value) {
this.xml = value;
}
 
/**
* Gets the value of the layout property.
*
* @return
* possible object is
* {@link Boolean }
*
*/
public Boolean getLayout() {
return layout;
}
 
/**
* Sets the value of the layout property.
*
* @param value
* allowed object is
* {@link Boolean }
*
*/
public void setLayout(Boolean value) {
this.layout = value;
}
 
/**
* Gets the value of the style property.
*
* @return
* possible object is
* {@link Boolean }
*
*/
public Boolean getStyle() {
return style;
}
 
/**
* Sets the value of the style property.
*
* @param value
* allowed object is
* {@link Boolean }
*
*/
public void setStyle(Boolean value) {
this.style = value;
}
 
/**
* Gets the value of the absolute property.
*
* @return
* possible object is
* {@link Boolean }
*
*/
public Boolean getAbsolute() {
return absolute;
}
 
/**
* Sets the value of the absolute property.
*
* @param value
* allowed object is
* {@link Boolean }
*
*/
public void setAbsolute(Boolean value) {
this.absolute = value;
}
 
/**
* Gets the value of the proxy property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getProxy() {
return proxy;
}
 
/**
* Sets the value of the proxy property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setProxy(String value) {
this.proxy = value;
}
 
/**
* Gets the value of the group property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getGroup() {
return group;
}
 
/**
* Sets the value of the group property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setGroup(String value) {
this.group = value;
}
 
/**
* Gets the value of the remoteExtensionRoot property.
*
* @return
* possible object is
* {@link Boolean }
*
*/
public Boolean getRemoteExtensionRoot() {
return remoteExtensionRoot;
}
 
/**
* Sets the value of the remoteExtensionRoot property.
*
* @param value
* allowed object is
* {@link Boolean }
*
*/
public void setRemoteExtensionRoot(Boolean value) {
this.remoteExtensionRoot = value;
}
 
/**
* Gets the value of the ftpDirectory property.
*
* @return
* possible object is
* {@link Boolean }
*
*/
public Boolean getFtpDirectory() {
return ftpDirectory;
}
 
/**
* Sets the value of the ftpDirectory property.
*
* @param value
* allowed object is
* {@link Boolean }
*
*/
public void setFtpDirectory(Boolean value) {
this.ftpDirectory = value;
}
 
/**
* Gets the value of the size property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getSize() {
return size;
}
 
/**
* Sets the value of the size property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setSize(String value) {
this.size = value;
}
 
/**
* Gets the value of the mimeType property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getMimeType() {
return mimeType;
}
 
/**
* Sets the value of the mimeType property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setMimeType(String value) {
this.mimeType = value;
}
 
/**
* Gets the value of the lastModification property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getLastModification() {
return lastModification;
}
 
/**
* Sets the value of the lastModification property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setLastModification(String value) {
this.lastModification = value;
}
 
/**
* Gets the value of the visualization property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getVisualization() {
return visualization;
}
 
/**
* Sets the value of the visualization property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setVisualization(String value) {
this.visualization = value;
}
 
/**
* Gets the value of the showNav property.
*
* @return
* possible object is
* {@link Boolean }
*
*/
public Boolean getShowNav() {
return showNav;
}
 
/**
* Sets the value of the showNav property.
*
* @param value
* allowed object is
* {@link Boolean }
*
*/
public void setShowNav(Boolean value) {
this.showNav = value;
}
 
/**
* Gets the value of the type property.
*
* @return
* possible object is
* {@link String }
*
*/
public String getType() {
return type;
}
 
/**
* Sets the value of the type property.
*
* @param value
* allowed object is
* {@link String }
*
*/
public void setType(String value) {
this.type = value;
}
 
}
/impl/gen/java/pt/estgp/estgweb/services/directories/xsd/ObjectFactory.java
New file
0,0 → 1,95
//
// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, vhudson-jaxb-ri-2.1-558
// See <a href="http://java.sun.com/xml/jaxb">http://java.sun.com/xml/jaxb</a>
// Any modifications to this file will be lost upon recompilation of the source schema.
// Generated on: 2015.11.16 at 11:36:01 AM WET
//
 
 
package pt.estgp.estgweb.services.directories.xsd;
 
import javax.xml.bind.annotation.XmlRegistry;
 
 
/**
* This object contains factory methods for each
* Java content interface and Java element interface
* generated in the pt.estgp.estgweb.services.directories.xsd package.
* <p>An ObjectFactory allows you to programatically
* construct new instances of the Java representation
* for XML content. The Java representation of XML
* content can consist of schema derived interfaces
* and classes representing the binding of schema
* type definitions, element declarations and model
* groups. Factory methods for each of these are
* provided in this class.
*
*/
@XmlRegistry
public class ObjectFactory {
 
 
/**
* Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: pt.estgp.estgweb.services.directories.xsd
*
*/
public ObjectFactory() {
}
 
/**
* Create an instance of {@link RightsT }
*
*/
public RightsT createRightsT() {
return new RightsT();
}
 
/**
* Create an instance of {@link GroupDeclarationT.Group }
*
*/
public GroupDeclarationT.Group createGroupDeclarationTGroup() {
return new GroupDeclarationT.Group();
}
 
/**
* Create an instance of {@link NodeT }
*
*/
public NodeT createNodeT() {
return new NodeT();
}
 
/**
* Create an instance of {@link LeafT }
*
*/
public LeafT createLeafT() {
return new LeafT();
}
 
/**
* Create an instance of {@link RightsT.Right }
*
*/
public RightsT.Right createRightsTRight() {
return new RightsT.Right();
}
 
/**
* Create an instance of {@link GroupDeclarationT }
*
*/
public GroupDeclarationT createGroupDeclarationT() {
return new GroupDeclarationT();
}
 
/**
* Create an instance of {@link Directory }
*
*/
public Directory createDirectory() {
return new Directory();
}
 
}
/impl/build.xml
604,11 → 604,31
 
<!--
==========================================================================================
DIRECTORIES XSD JAXB
==========================================================================================
-->
 
<taskdef name="xjc" classname="com.sun.tools.xjc.XJCTask" classpathref="pathToToolsLib">
</taskdef>
 
<target name="directories-gen-jaxb" depends="initDirs">
<xjc destdir="${gen.dir.java}" package="pt.estgp.estgweb.services.directories.xsd">
<schema dir="${conf.dir}/directories" includes="directory.xsd"/>
</xjc>
<replace dir="${gen.dir.java}/pt/estgp/estgweb/services/directories/xsd" value="">
<include name="*.java"/>
<replacefilter token="public Boolean is" value="public Boolean get"/>
</replace>
</target>
 
 
 
<!--
==========================================================================================
DEAMONS
==========================================================================================
-->
 
 
<!--<target name="run">-->
<!--<java classname="mitra.oaiharvest.harvest.HarvestEngine" classpath="${build.dir.classes}" classpathref="pathToToolsLib"/>-->
<!--<java classname="mitra.oaiharvest.index.IndexEngine" classpath="${build.dir.classes}" classpathref="pathToToolsLib"/>-->