Servei Territorial - Generalitat de Catalunya

Anuncio
Projecte openFrame
Serveis Generals per Aplicacions J2EE basats
en FrameWork J2EE
Generalitat de Catalunya
Departament de Política Territorial
i Obres Públiques
Unitat de Tecnologies de la Informació i Comunicacions
Projecte
Serveis Generals per Aplicacions
J2EE basats en FrameWork J2EE
Aplicació Territorial
Barcelona, 15 / novembre / 2015
420331857.doc
Pàgina 1 de 26 15/11/2015
Generalitat de Catalunya
Departament de Política Territorial
i Obres Públiques
Projecte openFrame
Serveis Generals per Aplicacions J2EE basats
en FrameWork J2EE
Unitat de Tecnologies de la Informació i Comunicacions
Històric de modificacions
Data
Autor
Comentaris
Versió
20/07/2006
Atos Origin, sae
Versió inicial del document
21/06/2007
Sadiel
Rols Amagats
1.0.1
1.0
19/02/2008
Francesc
Quiñones
Gispert (Sadiel)
Afegir com fer servir els popups de municipis i poblacions
1.03
12/12/2008
Angel-Daniel Calderón
Tamayo (Sadiel, S.A.)
Es detalla la manera de fer servir el nou servei de
geocodificació.
1.04
Llegenda de Marcadors
420331857.doc
Pàgina 2 de 26 15/11/2015
Generalitat de Catalunya
Departament de Política Territorial
i Obres Públiques
Projecte openFrame
Serveis Generals per Aplicacions J2EE basats
en FrameWork J2EE
Unitat de Tecnologies de la Informació i Comunicacions
Índex
1.
INTRODUCCIÓ ........................................................................................................................................ 4
1.1.
1.2.
1.3.
1.4.
1.5.
2.
PROPÒSIT ........................................................................................................................................... 4
CONTEXT I ESCENARIS D’ÚS ................................................................................................................ 5
VERSIONS I DEPENDÈNCIES ................................................................................................................. 6
A QUI VA DIRIGIT .................................................................................................................................. 6
DOCUMENTS I FONTS DE REFERÈNCIA.................................................................................................. 7
DESCRIPCIÓ DETALLADA .................................................................................................................... 8
2.1. ARQUITECTURA I COMPONENTS ........................................................................................................... 8
2.1.1.
Interfícies i Components Genèrics .......................................................................................... 11
2.2. CONFIGURACIÓ ................................................................................................................................. 15
2.2.1.
Configuració ............................................................................................................................. 15
2.3. UTILITZACIÓ SERVEIS DE GEOCODIFICACIÓ I DE DADES TERRITORIALS .................................................. 21
2.4. CONFIGURACIÓN EN EL MAP ............................................................................................................. 25
420331857.doc
Pàgina 3 de 26 15/11/2015
Generalitat de Catalunya
Departament de Política Territorial
i Obres Públiques
Projecte openFrame
Serveis Generals per Aplicacions J2EE basats
en FrameWork J2EE
Unitat de Tecnologies de la Informació i Comunicacions
1. Introducció
1.1.
Propòsit
El propósito de la aplicación territorial es la gestión de datos correspondientes a paises, y a provincias,
comunidades autónomas, comarcas, veguerías, municipios y poblaciones de España. En el caso de las
veguerías en particular, la aplicación permite realizar altas, bajas y modificaciones de las mismas. En
todos los casos, la aplicación ofrece los listados de cada entidad, permitiendo hacer búsquedas rápidas
sobre estos listados. También permite la exportación de los listados mencionados a ficheros de
formato PDF y XLS.
Esta aplicación provee a su vez un servicio de acceso a los datos de una determinada población (y de
todas las entidades relacionadas con dicha población), un servicio de acceso a los datos de un
determinado municipio y un servicio de geocodificación. Dado que estos servicios se ofrecerán a otras
aplicaciones, se ha desarrollado dentro de la aplicación territorial un apartado para testear estos
servicios. (Más adelante se detallará el proceso de configuración para acceder a estos servicios).
El servicio de acceso a los datos de una población permite al usuario manipular estos datos. La tarea
mas común es la de completar los datos de un formulario con información territorial. El apartado de
test de este servicio ofrece un formulario vacío de datos de una población, y a través de un popup,
ofrece al usuario un listado de todas las poblaciones (con diversos criterios de búsqueda para
encontrar más fácilmente la población deseada). Seleccionando una población de este listado, el
formulario será completado con los datos de la población seleccionada.
El servicio de geocodificación ofrece al usuario la posibilidad de normalizar una dirección, y también
le permite obtener las coordenadas UTM de dicha dirección. En el apartado de test de este servicio se
presenta un formulario vacío en donde el usuario debe seleccionar una población y debe ingresar una
dirección. El servicio de geocodificación procesará la información ingresada y presentará los
resultados en un popup. Si la dirección no estuviera correctamente escrita, el servicio ofrecerá al
usuario un listado con la o las diversas direcciones encontradas en las bases de datos del ICC que
pudieran coincidir con los datos ingresados. Si los datos ingrsados fueran correctos, el servicio
ofrecerá solo la dirección ingresada. Seleccionando la dirección deseada dentro de las presentadas en
el listado del popup, el formulario origen se completará con los datos correspondientes a dicha
dirección.
420331857.doc
Pàgina 4 de 26 15/11/2015
Projecte openFrame
Serveis Generals per Aplicacions J2EE basats
en FrameWork J2EE
Generalitat de Catalunya
Departament de Política Territorial
i Obres Públiques
Unitat de Tecnologies de la Informació i Comunicacions
1.2.
Context i Escenaris d’Ús
La Aplicación Territorial se encuentra dentro de los módulos funcionales desarrollados para el
DPTOP.
Servei
Tags
Servei
Multiidioma
Servei
Acceso Dades
Servei
Persones
Integració
GECAT
Servei
Pantalles
Servei
Llistats
Servei
Validació
Servei
XML
Servei OLE
(Word,Excel)
Servei
Upload
Servei
Reports PDF
Servei
Acesso HTTP
Servei
Cues
Value
Object
(VO)
Servei
Fitxers
Data Access
Objects
(DAO)
Servei
Plan. Tasques
Business
Objects
(BO)
Web Services
Servei
Connector SAP
Actions
FrontEnd
Administració
Applicacions
Integració
S@RCAT
Servlets
S. BD
Territorial
jsp
Base de
Dades
Capa Presentació
Servei
Mapeig O-R
Servei
Directori
Capa Lògica de Negoci
Prototip Tramitació
d’Expedients
Capa Dades /Integració
Servei
Plantilles Documents
Workflow
Engine
Servei Traces
Servei Excepcions
Servei Seguretat (Autentificació/Autorització)
Funcionalitat
Nov a DPTOP
Servei Correo
Servei de Configuració
Func. Existent
openFr ame
(extret del document: JAB15.211-05 versió def.doc)
420331857.doc
Pàgina 5 de 26 15/11/2015
Projecte openFrame
Serveis Generals per Aplicacions J2EE basats
en FrameWork J2EE
Generalitat de Catalunya
Departament de Política Territorial
i Obres Públiques
Unitat de Tecnologies de la Informació i Comunicacions
1.3.
Versions i Dependències
En el presente apartado se muestra cuales son las versiones y dependencias necesarias para hacer uso
del servicio:
Nom
1.4.
Tipus
Versió
Descripció
openFrame-services- Jar
core-1.0.1.jar
1.0.1
Nucli comú per tots el serveis
openFrame-services- Jar
configuration-1.1SNAPSHOT.jar
1.1-SNAPSHOT
Servei de configuració
openFrame-services- Jar
security-1.1SNAPSHOT.jar
1.1-SNAPSHOT
Servei de seguretat
openFrame-services- Jar
logging
1.0
Servei de traces
openFrame-services- Jar
exceptions
1.0
Servei d’excepcions
openFrame-services- Jar
persistence-1.1SNAPSHOT.jar
1.1-SNAPSHOT
Servei de persistència
openFrame-services- Jar
i18n-1.0.jar
1.0
Servei per a la internacionalització
openFrame-services- Jar
web-1.0.1SNAPSHOT.jar
1.0.1-SNAPSHOT Servei de Tags de Presentació
openFrame-services- Jar
validation-1.0.jar
1.0
Servei de Validació de dades
openFrame-services- Jar
fileupload-1.0.jar
1.0
Servei de pujada de fitxers
dom4j-1.6.1.jar
1.6.1
Api Java, open source, per a la gestió de
documents xml.
Jar
A qui va dirigit
Este documento va dirigido a los siguientes perfiles:


Programador. Para que conozca el uso de la aplicación.
Arquitecte. Para que sepa cuales son los componentes y la configuración de la aplicación.
420331857.doc
Pàgina 6 de 26 15/11/2015
Generalitat de Catalunya
Departament de Política Territorial
i Obres Públiques
Projecte openFrame
Serveis Generals per Aplicacions J2EE basats
en FrameWork J2EE
Unitat de Tecnologies de la Informació i Comunicacions
1.5.
Documents i Fonts de Referència
[1]
ANF-openFrameDPTOP.doc
Document d’anàlisi dels serveis generals funcionals.
[2]
Introducció_open
Frame.doc
Document bàsic per conèixer els fonaments d’openFrame
[3]
www.dom4j.org
Pàgina oficial de l’api dom4j.
420331857.doc
Pàgina 7 de 26 15/11/2015
Generalitat de Catalunya
Departament de Política Territorial
i Obres Públiques
Projecte openFrame
Serveis Generals per Aplicacions J2EE basats
en FrameWork J2EE
Unitat de Tecnologies de la Informació i Comunicacions
2. Descripció Detallada
2.1.
Arquitectura i Components
La Aplicación Territorial forma parte de los Módulos Funcionales desarrollados con OpenFrame para
el DPTOP. Su funcionalidad puede ser divididad en dos partes:
 Por un lado se encuentran los listados de información territorial. Listados que contienen
informacion de paises, y de comunidades autónomas, provincias, comarcas, veguerías,
poblaciones y municipios de España.
 Por el otro lado se encuentran el servicio de información territorial y el servicio de
geocodificación.
Mas adelante se da una explicación más detallada del funcionamiento de cada una de las partes
mencionadas.
A continuación se presenta el esquema de base de datos que necesita esta aplicación para su
funcionamiento:
NOTA: en la tabla poblacio_bdt se almacenan municipios y poblaciones (o también denominados,
llogarets). Un municipio puede albergar varias poblaciones, y todos comparten el mismo
codi_municipi. Cuando un registro de la tabla poblacio_bdt tiene el codi_llogaret=00, esto indica que
ese registro hace referencia a un municipio. Si el codi_llogaret <>00 indica que ese registro hace
referencia a una población.
420331857.doc
Pàgina 8 de 26 15/11/2015
Generalitat de Catalunya
Departament de Política Territorial
i Obres Públiques
Projecte openFrame
Serveis Generals per Aplicacions J2EE basats
en FrameWork J2EE
Unitat de Tecnologies de la Informació i Comunicacions
La definición de cada una de las entidades que aparecen en este modelo es la siguiente:
PAIS
Esta entidad guarda el nombre e idenficiación interna de cada pais. Los campos que definen esta
entidad son:
Codi_pais: Identificador único del país.
Descripcio: Nombre del país.
COMUNIDAD AUTONOMA
Esta entidad define una agrupación de provincias dentro de un país. Como el nombre de la tabla lo
indica, esta agrupación de provincias recibe el nombre de comunidad autónoma. Los campos que
definen esta entidad son:
Codi_comunitat_autonoma: Identificador único de la comunidad autónoma. (Todas las provincias
que tengan el mismo valor de codi_comunitat_autonoma pertenecerán a la misma comunidad.)
Descripcio: Nombre de la comunidad autónoma
Codi_pais: Identificador del país al que pertence la comunidad autónoma.
PROVINCIA_BDT
La entidad provincia_bdt define agrupaciones de veguerias, poblaciones y municipios.
Los campos que definen esta entidad son:
Codi_provincia: Identificador único de una provincia.
Descripcio: Nombre de la provincia
Codi_pais: Identificador del pais al que pertenece la provincia
Codi_comunitat_autonoma: Identificador de la comunidad autónoma a la que pertenece la
provincia.
COMARCA
Una comarca define una agrupación de poblaciones y municipios.
Los campos que definen esta entidad son:
Codi_comarca: Identificador único de la comarca. (Aquellas poblaciones y municipios que
tengan el mismo identificador de comarca pertenecerán a la misma comarca)
Descripcio: Nombre de la comarca
VEGUERIA
Una veguería define una agrupación de municipios. Esto quiere decir que aquellos municipios cuyos
registros en la tabla poblacio_bdt tengan el mismo codi_veguería (y tengan codi_llogaret=00, lo que
indica que son municipios) pertenecerán a la misma veguería.
Los campos que definen esta entidad son:
Codi_vegueria: Identificador único de una veguería. Se genera automáticamente a travez de una
sequencia.
Descripcio_vegueria: Nombre de la veguería.
POBLACIO_BDT
Como se indicó en la nota anterior, en la tabla poblacio_bdt se almacenan municipios
(codi_llogaret=00) y poblaciones (codi_llogaret<>00). Las poblaciones que corresponden a un
determinado municipio tienen el mismo codi_municipi que su correspondiente municipio.
Los campos que definen esta entidad son:
Codi_municipi: Identificador de municipio.
420331857.doc
Pàgina 9 de 26 15/11/2015
Generalitat de Catalunya
Departament de Política Territorial
i Obres Públiques
Projecte openFrame
Serveis Generals per Aplicacions J2EE basats
en FrameWork J2EE
Unitat de Tecnologies de la Informació i Comunicacions
Descripcio: Nombre del municipio/poblacio
Codi_llogaret: Identificador único de un llogaret en un municipio, donde el valor 00 indica que
el registro contiene datos de un municipio.
Codi_ine: Código externo del municipio (valor utilizado por el servicio de geocodificación)
Codi_provincia: Identificador único de la provincia a la que pertenece el municipio/poblacio
Codi_comarca: Identificador único de la comarca a la que pertenece el municipio
Codi_vegueria: Identificador único de laveguería a la que pertenece el municipio. Este campo
tendrá un valor asignado SOLO si el registro corresponde a un municipio (codi_llogaret=00).
420331857.doc
Pàgina 10 de 26 15/11/2015
Projecte openFrame
Serveis Generals per Aplicacions J2EE basats
en FrameWork J2EE
Generalitat de Catalunya
Departament de Política Territorial
i Obres Públiques
Unitat de Tecnologies de la Informació i Comunicacions
2.1.1. Interfícies i Components Genèrics
La parte que gestiona los datos define las siguientes interfaces:
cd action
«interface»
bo::ComunitatAutonomaBO
«interface»
bo::ComarcaBO
+
+
+
+
+
+
+
+
+
+
+
«interface»
dao::ComarcaDAO
get(java.lang.String) : net.gencat.territorial.model.Comarca
load(java.lang.String) : net.gencat.territorial.model.Comarca
findAll() : java.util.List
save(net.gencat.territorial.model.Comarca) : java.lang.String
saveOrUpdate(net.gencat.territorial.model.Comarca) : void
delete(java.lang.String) : void
delete(net.gencat.territorial.model.Comarca) : void
refresh(net.gencat.territorial.model.Comarca) : void
update(net.gencat.territorial.model.Comarca) : void
findFiltered(String, Object) : List
findFiltered(String, Object, Order) : List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
save(net.gencat.territorial.model.Comarca) : java.lang.String
saveOrUpdate(net.gencat.territorial.model.Comarca) : void
update(net.gencat.territorial.model.Comarca) : void
delete(java.lang.String) : void
delete(net.gencat.territorial.model.Comarca) : void
refresh(net.gencat.territorial.model.Comarca) : void
load(java.lang.String) : net.gencat.territorial.model.Comarca
get(java.lang.String) : net.gencat.territorial.model.Comarca
«interface»
dao::ComunitatAutonomaDAO
save(net.gencat.territorial.model.ComunitatAutonoma) : java.lang.String
saveOrUpdate(net.gencat.territorial.model.ComunitatAutonoma) : void
update(net.gencat.territorial.model.ComunitatAutonoma) : void
delete(java.lang.String) : void
delete(net.gencat.territorial.model.ComunitatAutonoma) : void
refresh(net.gencat.territorial.model.ComunitatAutonoma) : void
load(java.lang.String) : net.gencat.territorial.model.ComunitatAutonoma
get(java.lang.String) : net.gencat.territorial.model.ComunitatAutonoma
findAll() : java.util.List
findFiltered(String, Object) : List
findFiltered(String, Object, Order) : List
+
+
+
+
+
+
+
+
save(net.gencat.territorial.model.ComunitatAutonoma) : java.lang.String
saveOrUpdate(net.gencat.territorial.model.ComunitatAutonoma) : void
update(net.gencat.territorial.model.ComunitatAutonoma) : void
delete(java.lang.String) : void
delete(net.gencat.territorial.model.ComunitatAutonoma) : void
refresh(net.gencat.territorial.model.ComunitatAutonoma) : void
load(java.lang.String) : net.gencat.territorial.model.ComunitatAutonoma
get(java.lang.String) : net.gencat.territorial.model.ComunitatAutonoma
~dao
~dao
-bo
-bo
impl::ComunitatAutonomaBOImpl
impl::ComarcaBOImpl
DispatchActionSupport
ComarcaAction
-
bo: ComarcaBO
valueListActionHelper: ValueListActionHelper
+
+
+
+
+
+
+
search(ActionMapping, ActionForm, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) : ActionForward
searchExportPDF(ActionMapping, ActionForm, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) : ActionForward
searchExportExcel(ActionMapping, ActionForm, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) : ActionForward
getValueListActionHelper() : ValueListActionHelper
setValueListActionHelper(ValueListActionHelper) : void
getBo() : ComarcaBO
setBo(ComarcaBO) : void
DispatchActionSupport
~
dao: ComarcaDAO
+
+
+
+
+
+
+
+
+
+
+
+
+
getDao() : ComarcaDAO
setDao(ComarcaDAO) : void
get(String) : Comarca
load(String) : Comarca
findAll() : List
save(Comarca) : String
saveOrUpdate(Comarca) : void
delete(String) : void
delete(Comarca) : void
refresh(Comarca) : void
update(Comarca) : void
findFiltered(String, Object) : List
findFiltered(String, Object, Order) : List
ComunitatAutonomaAction
-
bo: ComunitatAutonomaBO
valueListActionHelper: ValueListActionHelper
+
+
+
+
+
+
+
search(ActionMapping, ActionForm, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) : ActionForward
searchExportPDF(ActionMapping, ActionForm, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) : ActionForward
searchExportExcel(ActionMapping, ActionForm, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) : ActionForward
getBo() : ComunitatAutonomaBO
setBo(ComunitatAutonomaBO) : void
getValueListActionHelper() : ValueListActionHelper
setValueListActionHelper(ValueListActionHelper) : void
~
dao: ComunitatAutonomaDAO
+
+
+
+
+
+
+
+
+
+
+
+
+
getDao() : ComunitatAutonomaDAO
setDao(ComunitatAutonomaDAO) : void
save(ComunitatAutonoma) : String
saveOrUpdate(ComunitatAutonoma) : void
update(ComunitatAutonoma) : void
delete(String) : void
delete(ComunitatAutonoma) : void
refresh(ComunitatAutonoma) : void
load(String) : ComunitatAutonoma
get(String) : ComunitatAutonoma
findAll() : List
findFiltered(String, Object) : List
findFiltered(String, Object, Order) : List
cd action
«interface»
bo::VegueriaBO
«interface»
bo::ProvinciaBdtBO
+
+
+
+
+
+
+
+
+
+
-bo
+
+
+
+
DispatchActionSupport
TestICCAction
-
iccWebServicesObject: ICCWebServices
+
+
+
+
+
getIccWebServicesObject() : ICCWebServices
setIccWebServicesObject(ICCWebServices) : void
init(ActionMapping, ActionForm, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) : ActionForward
geocodificar(ActionMapping, ActionForm, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) : ActionForward
normalizarAdreca(ActionMapping, ActionForm, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) : ActionForward
+
+
+
+
+
+
+
-bo +
+
+
+
save(net.gencat.territorial.model.ProvinciaBdt) : java.lang.String
saveOrUpdate(net.gencat.territorial.model.ProvinciaBdt) : void
update(net.gencat.territorial.model.ProvinciaBdt) : void
delete(java.lang.String) : void
delete(net.gencat.territorial.model.ProvinciaBdt) : void
refresh(net.gencat.territorial.model.ProvinciaBdt) : void
load(java.lang.String) : net.gencat.territorial.model.ProvinciaBdt
get(java.lang.String) : net.gencat.territorial.model.ProvinciaBdt
findAll() : java.util.List
findFiltered(String, Object) : List
findFiltered(String, Object, Order) : List
save(net.gencat.territorial.model.Vegueria) : java.lang.String
saveOrUpdate(net.gencat.territorial.model.Vegueria) : void
update(net.gencat.territorial.model.Vegueria) : void
delete(java.lang.String) : void
delete(net.gencat.territorial.model.Vegueria) : void
refresh(net.gencat.territorial.model.Vegueria) : void
load(java.lang.String) : net.gencat.territorial.model.Vegueria
get(java.lang.String) : net.gencat.territorial.model.Vegueria
findAll() : java.util.List
findFiltered(String, Object) : List
findFiltered(String, Object, Order) : List
deassignPoblacionsFromVegueriaAndDelete(String) : void
updateVegueriaIPoblacions(String, String, String) : void
newVegueria(Vegueria, String) : void
«interface»
«interface»
bo::PoblacioBdtBO
«interface»
dao::ProvinciaBdtDAO
+
+
+
+
+
+
+
+
save(net.gencat.territorial.model.ProvinciaBdt) : java.lang.String
saveOrUpdate(net.gencat.territorial.model.ProvinciaBdt) : void
update(net.gencat.territorial.model.ProvinciaBdt) : void
delete(java.lang.String) : void
delete(net.gencat.territorial.model.ProvinciaBdt) : void
refresh(net.gencat.territorial.model.ProvinciaBdt) : void
load(java.lang.String) : net.gencat.territorial.model.ProvinciaBdt
get(java.lang.String) : net.gencat.territorial.model.ProvinciaBdt
dao::VegueriaDAO
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
save(net.gencat.territorial.model.Vegueria) : java.lang.String
saveOrUpdate(net.gencat.territorial.model.Vegueria) : void
update(net.gencat.territorial.model.Vegueria) : void
delete(java.lang.String) : void
delete(net.gencat.territorial.model.Vegueria) : void
refresh(net.gencat.territorial.model.Vegueria) : void
load(java.lang.String) : net.gencat.territorial.model.Vegueria
get(java.lang.String) : net.gencat.territorial.model.Vegueria
~dao
-dao
save(net.gencat.territorial.model.PoblacioBdt) : net.gencat.territorial.model.PoblacioBdtPK
saveOrUpdate(net.gencat.territorial.model.PoblacioBdt) : void
update(net.gencat.territorial.model.PoblacioBdt) : void
delete(net.gencat.territorial.model.PoblacioBdtPK) : void
delete(net.gencat.territorial.model.PoblacioBdt) : void
refresh(net.gencat.territorial.model.PoblacioBdt) : void
load(net.gencat.territorial.model.PoblacioBdtPK) : net.gencat.territorial.model.PoblacioBdt
get(net.gencat.territorial.model.PoblacioBdtPK) : net.gencat.territorial.model.PoblacioBdt
findAll() : java.util.List
findFiltered(String, Object) : List
findFiltered(String, Object, Order) : List
-poblacioBdtBO
«interface»
dao::PoblacioBdtDAO
+
+
+
+
+
+
+
+
save(net.gencat.territorial.model.PoblacioBdt) : net.gencat.territorial.model.PoblacioBdtPK
saveOrUpdate(net.gencat.territorial.model.PoblacioBdt) : void
update(net.gencat.territorial.model.PoblacioBdt) : void
delete(net.gencat.territorial.model.PoblacioBdtPK) : void
delete(net.gencat.territorial.model.PoblacioBdt) : void
refresh(net.gencat.territorial.model.PoblacioBdt) : void
load(net.gencat.territorial.model.PoblacioBdtPK) : net.gencat.territorial.model.PoblacioBdt
get(net.gencat.territorial.model.PoblacioBdtPK) : net.gencat.territorial.model.PoblacioBdt
~dao
-bo
-bo
impl::VegueriaBOImpl
DispatchActionSupport
impl::Prov inciaBdtBOImpl
VegueriaAction
DispatchActionSupport
Prov inciaAction
-
bo: ProvinciaBdtBO
valueListActionHelper: ValueListActionHelper
+
+
+
+
+
+
+
search(ActionMapping, ActionForm, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) : ActionForward
searchExportPDF(ActionMapping, ActionForm, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) : ActionForward
searchExportExcel(ActionMapping, ActionForm, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) : ActionForward
getValueListActionHelper() : ValueListActionHelper
setValueListActionHelper(ValueListActionHelper) : void
getBo() : ProvinciaBdtBO
setBo(ProvinciaBdtBO) : void
420331857.doc
-
bo: VegueriaBO
valueListActionHelper: ValueListActionHelper
+
+
+
+
+
+
+
+
+
+
+
+
edit(ActionMapping, ActionForm, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) : ActionForward
update(ActionMapping, ActionForm, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) : ActionForward
newVegueria(ActionMapping, ActionForm, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) : ActionForward
addVegueria(ActionMapping, ActionForm, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) : ActionForward
delete(ActionMapping, ActionForm, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) : ActionForward
search(ActionMapping, ActionForm, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) : ActionForward
searchExportPDF(ActionMapping, ActionForm, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) : ActionForward
searchExportExcel(ActionMapping, ActionForm, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) : ActionForward
getBo() : VegueriaBO
setBo(VegueriaBO) : void
getValueListActionHelper() : ValueListActionHelper
setValueListActionHelper(ValueListActionHelper) : void
DispatchActionSupport
VegueriaSearchAction
-
bo: VegueriaBO
valueListActionHelper: ValueListActionHelper
+
+
+
+
+
search(ActionMapping, ActionForm, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) : ActionForward
getBo() : VegueriaBO
setBo(VegueriaBO) : void
getValueListActionHelper() : ValueListActionHelper
setValueListActionHelper(ValueListActionHelper) : void
~
dao: ProvinciaBdtDAO
+
+
+
+
+
+
+
+
+
+
+
+
+
getDao() : ProvinciaBdtDAO
setDao(ProvinciaBdtDAO) : void
save(ProvinciaBdt) : String
saveOrUpdate(ProvinciaBdt) : void
update(ProvinciaBdt) : void
delete(String) : void
delete(ProvinciaBdt) : void
refresh(ProvinciaBdt) : void
load(String) : ProvinciaBdt
get(String) : ProvinciaBdt
findAll() : List
findFiltered(String, Object, Order) : List
findFiltered(String, Object) : List
-
dao: VegueriaDAO
poblacioBdtBO: PoblacioBdtBO
DEFAULT_CODIGO_LLOGARET_: String = "00"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
getDao() : VegueriaDAO
setDao(VegueriaDAO) : void
save(Vegueria) : String
saveOrUpdate(Vegueria) : void
update(Vegueria) : void
delete(String) : void
delete(Vegueria) : void
refresh(Vegueria) : void
load(String) : Vegueria
get(String) : Vegueria
findAll() : List
findFiltered(String, Object, Order) : List
findFiltered(String, Object) : List
getPoblacioBdtBO() : PoblacioBdtBO
setPoblacioBdtBO(PoblacioBdtBO) : void
updateVegueriaIPoblacions(String, String, String) : void
newVegueria(Vegueria, String) : void
deassignPoblacionsFromVegueriaAndDelete(String) : void
Pàgina 11 de 26 15/11/2015
impl::PoblacioBdtBOImpl
DispatchActionSupport
PoblacioBdtAction
-
bo: PoblacioBdtBO
valueListActionHelper: ValueListActionHelper
+
+
+
+
+
+
+
search(ActionMapping, ActionForm, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) : ActionForward
searchExportPDF(ActionMapping, ActionForm, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) : ActionForward
searchExportExcel(ActionMapping, ActionForm, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) : ActionForward
getValueListActionHelper() : ValueListActionHelper
setValueListActionHelper(ValueListActionHelper) : void
getBo() : PoblacioBdtBO
setBo(PoblacioBdtBO) : void
~
dao: PoblacioBdtDAO
+
+
+
+
+
+
+
+
+
+
+
+
+
getDao() : PoblacioBdtDAO
setDao(PoblacioBdtDAO) : void
save(PoblacioBdt) : PoblacioBdtPK
saveOrUpdate(PoblacioBdt) : void
update(PoblacioBdt) : void
delete(PoblacioBdtPK) : void
delete(PoblacioBdt) : void
refresh(PoblacioBdt) : void
load(PoblacioBdtPK) : PoblacioBdt
get(PoblacioBdtPK) : PoblacioBdt
findAll() : List
findFiltered(String, Object) : List
findFiltered(String, Object, Order) : List
Projecte openFrame
Serveis Generals per Aplicacions J2EE basats
en FrameWork J2EE
Generalitat de Catalunya
Departament de Política Territorial
i Obres Públiques
Unitat de Tecnologies de la Informació i Comunicacions
cd action
«interface»
bo::PaisBO
+
+
+
+
+
+
+
+
+
+
+
«interface»
dao::PaisDAO
save(net.gencat.territorial.model.Pais) : java.lang.String
saveOrUpdate(net.gencat.territorial.model.Pais) : void
update(net.gencat.territorial.model.Pais) : void
delete(java.lang.String) : void
delete(net.gencat.territorial.model.Pais) : void
refresh(net.gencat.territorial.model.Pais) : void
load(java.lang.String) : net.gencat.territorial.model.Pais
get(java.lang.String) : net.gencat.territorial.model.Pais
findAll() : java.util.List
findFiltered(String, Object) : List
findFiltered(String, Object, Order) : List
+
+
+
+
+
+
+
+
save(net.gencat.territorial.model.Pais) : java.lang.String
saveOrUpdate(net.gencat.territorial.model.Pais) : void
update(net.gencat.territorial.model.Pais) : void
delete(java.lang.String) : void
delete(net.gencat.territorial.model.Pais) : void
refresh(net.gencat.territorial.model.Pais) : void
load(java.lang.String) : net.gencat.territorial.model.Pais
get(java.lang.String) : net.gencat.territorial.model.Pais
~dao
-bo
impl::PaisBOImpl
DispatchActionSupport
PaisAction
-
bo: PaisBO
valueListActionHelper: ValueListActionHelper
+
+
+
+
+
+
+
search(ActionMapping, ActionForm, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) : ActionForward
searchExportPDF(ActionMapping, ActionForm, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) : ActionForward
searchExportExcel(ActionMapping, ActionForm, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) : ActionForward
getBo() : PaisBO
setBo(PaisBO) : void
getValueListActionHelper() : ValueListActionHelper
setValueListActionHelper(ValueListActionHelper) : void
420331857.doc
~
dao: PaisDAO
+
+
+
+
+
+
+
+
+
+
+
+
+
getDao() : PaisDAO
setDao(PaisDAO) : void
save(Pais) : String
saveOrUpdate(Pais) : void
update(Pais) : void
delete(String) : void
delete(Pais) : void
refresh(Pais) : void
load(String) : Pais
get(String) : Pais
findAll() : List
findFiltered(String, Object, Order) : List
findFiltered(String, Object) : List
Pàgina 12 de 26 15/11/2015
Generalitat de Catalunya
Departament de Política Territorial
i Obres Públiques
Projecte openFrame
Serveis Generals per Aplicacions J2EE basats
en FrameWork J2EE
Unitat de Tecnologies de la Informació i Comunicacions
Component
PaisAction
Package
net.gencat.territorial.struts.action
ComunitatAutonomaAction
net.gencat.territorial.struts.action
ProvinciaAction
net.gencat.territorial.struts.action
ComarcaAction
net.gencat.territorial.struts.action
VegueriaAction
net.gencat.territorial.struts.action
PoblacioBdtAction
net.gencat.territorial.struts.action
PopupAction
net.gencat.territorial.struts.action
TestICCAction
net.gencat.territorial.struts.action
PaisBO
net.gencat.territorial.model.bo
ComunitatAutonomaBO
net.gencat.territorial.model.bo
ProvinciaBO
net.gencat.territorial.model.bo
ComarcaBO
net.gencat.territorial.model.bo
VegueriaBO
net.gencat.territorial.model.bo
PoblacioBdtBO
net.gencat.territorial.model.bo
PaisBOImpl
PaisDAO
net.gencat.territorial.model.bo.im
pl
net.gencat.territorial.model.bo.im
pl
net.gencat.territorial.model.bo.im
pl
net.gencat.territorial.model.bo.im
pl
net.gencat.territorial.model.bo.im
pl
net.gencat.territorial.model.bo.im
pl
net.gencat.territorial.model.dao
ComunitatAutonomaDAO
net.gencat.territorial.model.dao
ComunitatAutonomaBOImpl
ProvinciaBOImpl
ComarcaBOImpl
VegueriaBOImpl
PoblacioBdtBOImpl
420331857.doc
Descripció
Action para gestionar las peticiones
relacionadas con paises
Action para gestionar las peticiones
relacionadas
con
comunidades
autónomas
Action para gestionar las peticiones
relacionadas con provincias
Action para gestionar las peticiones
relacionadas con comarcas
Action para gestionar las peticiones
relacionadas con veguerías
Action para gestionar las peticiones
relacionadas con poblaciones
Action para gestionar las peticiones
relacionadas con con el el test del
servicio de datos territoriales
Action para gestionar las peticiones
relacionadas con el test del servicio de
geocodificación
Interface del BO que se encarga de
realizar todas las tareas del negocio
relacionadas con paises
Interface del BO que se encarga de
realizar todas las tareas del negocio
relacionadas
con
comunidades
autónomas
Interface del BO que se encarga de
realizar todas las tareas del negocio
relacionadas con provincias
Interface del BO que se encarga de
realizar todas las tareas del negocio
relacionadas con comarcas
Interface del BO que se encarga de
realizar todas las tareas del negocio
relacionadas con veguerías
Interface del BO que se encarga de
realizar todas las tareas del negocio
relacionadas con poblaciones
Implementación de su correspondiente
interface
Implementación de su correspondiente
interface
Implementación de su correspondiente
interface
Implementación de su correspondiente
interface
Implementación de su correspondiente
interface
Implementación de su correspondiente
interface
DAO de acceso a los datos de paises
en la BD
DAO de acceso a los datos de
Pàgina 13 de 26 15/11/2015
Generalitat de Catalunya
Departament de Política Territorial
i Obres Públiques
Projecte openFrame
Serveis Generals per Aplicacions J2EE basats
en FrameWork J2EE
Unitat de Tecnologies de la Informació i Comunicacions
ProvinciaDAO
net.gencat.territorial.model.dao
ComarcaDAO
net.gencat.territorial.model.dao
VegueriaDAO
net.gencat.territorial.model.dao
PoblacioBdtDAO
net.gencat.territorial.model.dao
comunidades autónomas en la BD
DAO de acceso a los datos
provincias en la BD
DAO de acceso a los datos
comarcas en la BD
DAO de acceso a los datos
veguerías en la BD
DAO de acceso a los datos
poblaciones en la BD
de
de
de
de
Para la parte del front-end web se utilizan los siguientes ficheros (a los cuales se hace referencia en el
fichero de configuración tiles-definitions.xml.
Nom fitxer:
qsPais.jsp
llistaPaissos.jsp
qsComunitat.jsp
llistaComunitat.jsp
qsProvinciaBdt.jsp
llistaProvinciasBdt.jsp
qsComarca.jsp
llistaComarca.jsp
qsVegueria.jsp
llistaVegueries.jsp
newVegueria.jsp
vegueria.jsp
qsPoblacioBdt.jsp
llistaPoblacioBdt.jsp
testPopupTerritorial.jsp
popupTerritorial.jsp
testICCPopUp.jsp
llistaTestICCPopUp.jsp
420331857.doc
Descripció
JSP para ingresar el criterio de búsqueda de un pais.
JSP para mostrar el listado de paises resultado de una búsqueda.
JSP para ingresar el criterio de búsqueda de una comunidad
autonoma.
JSP para mostrar el listado de comunidaddes autonomas resultado
de una búsqueda.
JSP para ingresar el criterio de búsqueda de una provincia.
JSP para mostrar el listado de provincias resultado de una búsqueda.
JSP para ingresar el criterio de búsqueda de una comarca.
JSP para mostrar el listado de comarcas resultado de una búsqueda.
JSP para ingresar el criterio de búsqueda de una veguería.
JSP para mostrar el listado de veguerias resultado de una búsqueda.
JSP para generar una nueva veguería.
JSP para editar los datos de una veguería.
JSP para ingresar el criterio de búsqueda de una población.
JSP para mostrar el listado de poblaciones resultado de una
búsqueda.
JSP que contiene un formulario de datos territoriales vacío, y un
botón para activar el popup territorial.
JSP correspondiente al popup territorial. Muetra el listado de
poblaciones, y presenta un apartado para ingresar criterios de
búsqueda. Los elementos del listado son seleccionables (seleccionar
una población hará que se copien los datos territoriales al formulario
de la testPopupTerritorial.jsp, y el popup se cerrará
automáticamente).
JSP que contiene un formulario de datos de una dirección, y un botón
para activar el popup del servicio de geocodificación. En este
formulario el usuario deberá ingresar una población y el nombre de
una calle de dicha población.
JSP correspondiente al popup del servicio de geocodificación.
Presenta un listado con una o varias direcciones (de acuerdo a los
datos ingresados en el formulario de la jsp anteriormente detallada).
Cada dirección del listado es seleccionable. Seleccionar una
dirección hará que se completen los datos del formulario, y cerrará el
popup automáticamente.
Pàgina 14 de 26 15/11/2015
Generalitat de Catalunya
Departament de Política Territorial
i Obres Públiques
Projecte openFrame
Serveis Generals per Aplicacions J2EE basats
en FrameWork J2EE
Unitat de Tecnologies de la Informació i Comunicacions
2.2.
2.2.1.
Configuració
Configuració
La configuracion de la Aplicación territorial sigue el paradigma definido para el desarrollo de una aplicación
dentro del framework openFrame. Por lo tanto es recomendable realizar una lectura previa de los
documentos técnicos de configuración del los diferentes servicios del framework. En particular, es de
especial interés la lectura de los documentos siguientes:
-
openFrame-Servei-Presentacio-Cat.doc:
openFrame-Servei-Presentacio-Pantalles-Cat.doc
openFrame-Servei-Persistencia-Cat.doc
openFrame-Servei-configuracio-Cat.doc
Configuració del front-end web
Para la parte de la configuración web, se deben seguir los siguientes pasos:
1. Hacer la configuración para a la presentación con Tiles.
2. Hacer el fichero de configuración de las actions de Struts.
3. Hacer la configuración del mecanismm de IoC para los beans (mapeo de atributos y
referencias).
4. Hacer el fichero de configuración de Hibernate.
Configuració de la presentació amb Tiles
Se debe generar el fichero de configuración tiles-definitions.xml en el directorio
<PROJECT_ROOT>/src/main/resources/tiles/AppJava/admin/tiles-definitions.xml
En este fichero esta definido cómo se presentará la aplicación:
tiles-definitions.xml
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE tiles-definitions PUBLIC
"-//Apache Software Foundation//DTD Tiles Configuration 1.1//EN"
"http://jakarta.apache.org/struts/dtds/tiles-config_1_1.dtd">
<tiles-definitions>
<definition name="pages.admin.init" extends="site.layout.admin">
<put name="title" value="Administració Entitats" direct="true" />
<put name="quickSearch" value="/WEB-INF/jsp/includes/blank.jsp" />
<put name="body" value="/WEB-INF/jsp/includes/blank.jsp" />
</definition>
<definition name="pages.admin.pais" extends="site.layout.admin">
<put name="title" value="Administració Entitats" direct="true" />
<put name="quickSearch" value="/WEB-INF/jsp/pais/qsPais.jsp" />
<put name="body" value="/WEB-INF/jsp/pais/llistaPaissos.jsp" />
</definition>
<definition name="pages.admin.comunitatAutonoma"
extends="site.layout.admin">
<put name="title" value="Administració Entitats" direct="true" />
<put name="quickSearch"
value="/WEB-INF/jsp/comunitatAutonoma/qsComunitat.jsp" />
<put name="body"
value="/WEB-INF/jsp/comunitatAutonoma/llistaComunitats.jsp" />
</definition>
<definition name="pages.admin.provinciaBdt"
420331857.doc
Pàgina 15 de 26 15/11/2015
Generalitat de Catalunya
Departament de Política Territorial
i Obres Públiques
Projecte openFrame
Serveis Generals per Aplicacions J2EE basats
en FrameWork J2EE
Unitat de Tecnologies de la Informació i Comunicacions
extends="site.layout.admin">
<put name="title" value="Administració Entitats" direct="true"/>
<put name="quickSearch"
value="/WEBINF/jsp/provinciaBdt/qsProvinciasBdt.jsp"/>
<put name="body" value="/WEB-INF/jsp/provinciaBdt/llistaProvinciasBdt.jsp"/>
</definition>
<definition name="pages.admin.comarques"
extends="site.layout.admin">
<put name="title" value="Administració Entitats" direct="true" />
<put name="body" value="/WEB-INF/jsp/includes/blank.jsp" />
</definition>
<definition name="pages.admin.vegueries"
extends="site.layout.admin">
<put name="title" value="Administració Entitats" direct="true" />
<put name="quickSearch"
value="/WEB-INF/jsp/vegueria/qsVegueria.jsp" />
<put name="body"
value="/WEB-INF/jsp/vegueria/llistaVegueries.jsp" />
</definition>
<definition name="pages.admin.poblacioBdt"
extends="site.layout.admin">
<put name="title" value="Administració Entitats" direct="true" />
<put name="quickSearch"
value="/WEB-INF/jsp/poblacioBdt/qsPoblacioBdt.jsp" />
<put name="body"
value="/WEB-INF/jsp/poblacioBdt/llistaPoblacioBdt.jsp" />
</definition>
<definition name="pages.admin.newVegueria"
extends="site.layout.admin">
<put name="title" value="Administració Entitats" direct="true" />
<put name="quickSearch" value="/WEB-INF/jsp/includes/blank.jsp" />
<put name="body" value="/WEB-INF/jsp/vegueria/newVegueria.jsp" />
</definition>
<definition name="pages.admin.vegueria"
extends="site.layout.admin">
<put name="title" value="Administració Entitats" direct="true" />
<put name="quickSearch" value="/WEB-INF/jsp/includes/blank.jsp" />
<put name="body" value="/WEB-INF/jsp/vegueria/vegueria.jsp" />
</definition>
<definition name="pages.admin.comarca"
extends="site.layout.admin">
<put name="title" value="Administració Entitats" direct="true" />
<put name="quickSearch"
value="/WEB-INF/jsp/comarca/qsComarca.jsp" />
<put name="body" value="/WEB-INF/jsp/comarca/llistaComarca.jsp" />
</definition>
<definition name="pages.admin.testICC"
extends="site.layout.admin">
<put name="title" value="Test WebServices ICC" direct="true"/>
<put name="quickSearch" value="/WEB-INF/jsp/testICC/testICC.jsp"/>
<put name="body" value="/WEB-INF/jsp/testICC/llistaTest.jsp" />
</definition>
<definition name="pages.admin.testICCPopUp"
extends="site.layout.admin">
<put name="title" value="Test WebServices ICC" direct="true"/>
<put name="quickSearch" value="/WEB-INF/jsp/includes/blank.jsp"/>
<put name="body" value="/WEB-INF/jsp/popup/testICCPopUp.jsp" />
</definition>
<definition name="pages.admin.resultatTestICCPopUp"
extends="site.layout.popup">
<put name="title" value="Test WebServices ICC" direct="true"/>
<put name="body" value="/WEB-INF/jsp/popup/llistaTestICCPopUp.jsp" />
</definition>
420331857.doc
Pàgina 16 de 26 15/11/2015
Projecte openFrame
Serveis Generals per Aplicacions J2EE basats
en FrameWork J2EE
Generalitat de Catalunya
Departament de Política Territorial
i Obres Públiques
Unitat de Tecnologies de la Informació i Comunicacions
<definition name="pages.admin.initPopup"
extends="site.layout.admin">
<put name="title" value="Popup Territorial" direct="true" />
<put name="quickSearch" value="/WEB-INF/jsp/includes/blank.jsp" />
<put name="body" value="/WEB-INF/jsp/popup/testPopupTerritorial.jsp" />
</definition>
<definition name="pages.admin.popupTerritorial"
extends="site.layout.popup">
<put name="title" value="Popup Territorial" direct="true" />
<put name="body"
value="/WEB-INF/jsp/popup/popupTerritorial.jsp" />
</definition>
</tiles-definitions>
Para mas iformación, consultar el documento openFrame-Serveis-Presentacio-Pantalles-Cat.doc.
Configuració de la part de Struts
La configuración de la parte de Struts implica generar un struts-config.xml, e indicarle al fichero de
configuración del servlet de la aplicación la existencia de el mencionado struts-config.xml.
territorial-servlet.xml
...
<bean id="strutsWrappingController"
class="org.springframework.web.servlet.mvc.ServletWrappingController">
<property name="servletClass">
<value>org.apache.struts.action.ActionServlet</value>
</property>
<property name="servletName">
<value>action</value>
</property>
<property name="initParameters">
<props>
…
<prop key="config/AppJava/admin">
/WEB-INF/classes/struts/AppJava/admin/struts-config.xml
</prop>
…
</props>
</property>
</bean>
...
Luego se debe generar el fichero struts-config.xml en el directorio
<PROJECT_ROOT>/src/main/resources/struts/AppJava/admin/struts-config.xml
struts-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN"
"http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd">
<struts-config>
<data-sources />
<form-beans>
<form-bean name="actionForm"
type="net.opentrends.openframe.services.web.struts.SpringBindingActionForm"
/>
</form-beans>
<global-exceptions />
<global-forwards></global-forwards>
<action-mappings>
<!-- Generic Forward Action
420331857.doc
-->
Pàgina 17 de 26 15/11/2015
Generalitat de Catalunya
Departament de Política Territorial
i Obres Públiques
Projecte openFrame
Serveis Generals per Aplicacions J2EE basats
en FrameWork J2EE
Unitat de Tecnologies de la Informació i Comunicacions
<action path="/page*"
type="org.apache.struts.actions.ForwardAction"
parameter="pages.admin.{1}" />
<action path="/init" scope="request" parameter="reqCode">
<forward name="init" path="pages.admin.init" redirect="true" />
<forward name="error" path="pages.admin.init" redirect="true" />
</action>
<action path="/pais" name="actionForm" scope="request" parameter="reqCode">
<forward name="success" path="pages.admin.pais" redirect="true" />
<forward name="error" path="pages.admin.pais" redirect="true" />
</action>
<action path="/paissos" name="actionForm" scope="request" parameter="reqCode">
<forward name="success" path="pages.admin.pais" redirect="true" />
<forward name="error" path="pages.admin.pais" redirect="true" />
</action>
<action path="/comunitatAutonoma" name="actionForm" scope="request"
parameter="reqCode">
<forward name="success" path="pages.admin.comunitatAutonoma" redirect="true"
/>
<forward name="error" path="pages.admin.comunitatAutonoma" redirect="true" />
</action>
<action path="/vegueria" name="actionForm" scope="request" parameter="reqCode">
<forward name="success" path="pages.admin.vegueries" redirect="true" />
<forward name="newVegueria" path="pages.admin.newVegueria" redirect="true" />
<forward name="error" path="pages.admin.vegueries" redirect="true" />
</action>
<action path="/vegueriaSearch" name="actionForm" scope="request"
parameter="reqCode">
<forward name="success" path="pages.admin.vegueries" redirect="true" />
<forward name="error" path="pages.admin.vegueries" redirect="true" />
</action>
<action path="/editVegueria" name="actionForm" scope="request" parameter="reqCode">
<forward name="success" path="pages.admin.vegueria" redirect="true" />
<forward name="successNew" path="/vegueriaSearch.do?reqCode=search"
redirect="true"/>
<forward name="successUpdate" path="/vegueriaSearch.do?reqCode=search"
redirect="true"/>
<forward name="error" path="pages.admin.vegueries" redirect="true" />
</action>
<action path="/deleteVegueria" name="actionForm" scope="request"
parameter="reqCode">
<forward name="success" path="/vegueriaSearch.do?reqCode=search"
redirect="true"/>
<forward name="error" path="pages.admin.vegueries" redirect="true" />
</action>
<action path="/provinciaBdt" name="actionForm" scope="request" parameter="reqCode">
<forward name="success" path="pages.admin.provinciaBdt" redirect="true" />
<forward name="error" path="pages.admin.provinciaBdt" redirect="true" />
</action>
<action path="/provinciasBdt" name="actionForm" scope="request" parameter="reqCode">
<forward name="success" path="pages.admin.provinciaBdt" redirect="true" />
<forward name="error" path="pages.admin.provinciaBdt" redirect="true" />
</action>
<action path="/llogaret" name="actionForm" scope="request" parameter="reqCode">
<forward name="success" path="pages.admin.llogaret" redirect="true" />
<forward name="error" path="pages.admin.llogaret" redirect="true" />
</action>
<action path="/llogarets" name="actionForm" scope="request" parameter="reqCode">
<forward name="success" path="pages.admin.llogaret" redirect="true" />
<forward name="error" path="pages.admin.llogaret" redirect="true" />
</action>
420331857.doc
Pàgina 18 de 26 15/11/2015
Generalitat de Catalunya
Departament de Política Territorial
i Obres Públiques
Projecte openFrame
Serveis Generals per Aplicacions J2EE basats
en FrameWork J2EE
Unitat de Tecnologies de la Informació i Comunicacions
<action path="/poblacioBdt" name="actionForm" scope="request" parameter="reqCode">
<forward name="success" path="pages.admin.poblacioBdt" redirect="true" />
<forward name="error" path="pages.admin.poblacioBdt" redirect="true" />
</action>
<action path="/poblacionsBdt" name="actionForm" scope="request" parameter="reqCode">
<forward name="success" path="pages.admin.poblacioBdt" redirect="true" />
<forward name="error" path="pages.admin.poblacioBdt" redirect="true" />
</action>
<action path="/comarca" name="actionForm" scope="request" parameter="reqCode">
<forward name="success" path="pages.admin.comarca" redirect="true" />
<forward name="error" path="pages.admin.comarca" redirect="true" />
</action>
<action path="/comarcas" name="actionForm" scope="request" parameter="reqCode">
<forward name="success" path="pages.admin.comarca" redirect="true" />
<forward name="error" path="pages.admin.comarca" redirect="true" />
</action>
<action path="/testICC" name="actionForm" scope="request" parameter="reqCode">
<forward name="success" path="pages.admin.testICC" redirect="true" />
<forward name="error" path="pages.admin.testICC" redirect="true" />
</action>
<action path="/testICCPopUp" name="actionForm" scope="request" parameter="reqCode">
<forward name="success" path="pages.admin.testICCPopUp" redirect="true" />
<forward name="popup" path="pages.admin.resultatTestICCPopUp" redirect="true"
/>
<forward name="error" path="pages.admin.resultatTestICCPopUp" redirect="true"
/>
</action>
<action path="/popup" name="actionForm" scope="request" parameter="reqCode">
<forward name="success" path="pages.admin.initPopup" redirect="true" />
<forward name="popup" path="pages.admin.popupTerritorial" redirect="true" />
<forward name="error" path="pages.admin.popupTerritorial" redirect="true" />
</action>
</action-mappings>
<controller>
<set-property property="processorClass"
value="net.opentrends.openframe.services.web.struts.ExtendedDelegatingTilesRequestProcessor"
/>
</controller>
<message-resources parameter="i18n.applicationResources"
null="false" />
<plug-in className="org.apache.struts.tiles.TilesPlugin">
<set-property property="definitions-config"
value="/WEB-INF/classes/tiles/tiles-definitions.xml,/WEBINF/classes/tiles/AppJava/admin/tiles-definitions.xml" />
<set-property property="moduleAware" value="true" />
</plug-in>
</struts-config>
Para mas información, consultar el documento openFrame-Serveis-Presentacio -Cat.doc.
420331857.doc
Pàgina 19 de 26 15/11/2015
Generalitat de Catalunya
Departament de Política Territorial
i Obres Públiques
Projecte openFrame
Serveis Generals per Aplicacions J2EE basats
en FrameWork J2EE
Unitat de Tecnologies de la Informació i Comunicacions
Configuración del mecanismo de IoC para los beans (mapeo de atributos y referencias)
Primero hay que agregar al fichero <PROJECT_ROOT>/src/main/resources/spring/action-servlet.xml, los
ficheros de configuració de las entidades de la aplicación:
struts-config.xml
...
<import
<import
<import
<import
<import
<import
<import
<import
resource="action-servlet-pais.xml"/>
resource="action-servlet-comunitatAutonoma.xml"/>
resource="action-servlet-vegueria.xml"/>
resource="action-servlet-provincia.xml"/>
resource="action-servlet-poblacio.xml"/>
resource="action-servlet-comarca.xml"/>
resource="action-servlet-testICC.xml"/>
resource="action-servlet-popup.xml"/>
...
Todos los ficehros listados anteriormente deben estar ubicados en la carpeta
<PROJECT_ROOT>/src/main/resources/spring
Para mas información sobre el contenido de estos ficheros consultar el documento openFrame-ServeisPresentacio_Cat.doc.
Configuración del servicio de persistencia
La configuración del servicio de persistencia consiste en registrar en el fichero del servicio de persistencia
<PROJECT_ROOT>/src/main/resources/spring/openFrame-services-persistence.xml los ficheros de
mappings de cada una de las entidades de la aplicación:
hibernate.cfg.xml
...<property name="mappingResources">
<list>
<value>hibernate/mappings/UserLogin.hbm.xml</value>
<value>hibernate/mappings/PartyGroup.hbm.xml</value>
<value>hibernate/mappings/Role.hbm.xml</value>
<value>hibernate/mappings/Comarca.hbm.xml</value>
<value>hibernate/mappings/ComunitatAutonoma.hbm.xml</value>
<value>hibernate/mappings/PoblacioBdt.hbm.xml</value>
<value>hibernate/mappings/Pais.hbm.xml</value>
<value>hibernate/mappings/ProvinciaBdt.hbm.xml</value>
<value>hibernate/mappings/Vegueria.hbm.xml</value>
</list>
</property>...
Para mas información sobre esta configuración se puede consultar el documento openFrame-ServeisPersistencia_Cat.doc.
420331857.doc
Pàgina 20 de 26 15/11/2015
Generalitat de Catalunya
Departament de Política Territorial
i Obres Públiques
Projecte openFrame
Serveis Generals per Aplicacions J2EE basats
en FrameWork J2EE
Unitat de Tecnologies de la Informació i Comunicacions
2.3.
Utilització serveis de geocodificació i de dades territorials
Ús del Pop-up de Geocodificació
Per fer ús del servei de geocodificació només s’han de tenir en compte dos punts:
1. S’ha de realitzar la crida al servei de geocodificació en un popup (nova finestra) passant-li les
dades que es volen normalitzar / geocodificar. Les dades es passen per GET, a la mateixa URL de
crida (<URL_TERRITORIAL>/AppJava/consulta/popupGeocodificador.do)
2. La pàgina que fa la crida ha de tenir una funció Javascript de callback per recollir la resposta de la
geocodificació. La signatura d’aquesta funció ha de ser:
popupGeocodificadorHandler(poblacio, tipusVia, articleVia, nomVia, numero, utmX, utmY)
Els paràmetres que s’accepten a la crida són aquests:
 nomPoblacio
Nom (exacte o aproximat) de la població.
 tipusCarrer
Tipus exacte del carrer (“c.”, “ptge.”, etc.)
 articleCarrer
Article exacte del carrer (“de”, “d’ “, etc.)
 nomCarrer
Nom (exacte o aproximat) del carrer.
 numeroCarrer
Número exacte de la portalada.
Les coordenades que es retornen són les de la portalada indicada a la crida i, si no s’ha indicat portalada,
del punt central del mínim rectangle que envolta al carrer.
Les coordenades són UTM (fus 31N, datum ED50).
Un exemple de pàgina que crida podria ser així:
function popupGeocodificar() {
var tipusCarrer = document.forms['actionForm'].tipusCarrer.value;
var articleCarrer = document.forms['actionForm'].articleCarrer.value;
var nomCarrer = document.forms['actionForm'].nomCarrer.value;
var numCarrer = document.forms['actionForm'].numeroCarrer.value;
var nomPoblacio = document.forms['actionForm'].poblacio.value;
window.open('<c:url value="/consulta/popupGeocodificador.do"/>?'+
'tipusCarrer='+tipusCarrer+
'&articleCarrer='+articleCarrer+
'&nomCarrer='+nomCarrer+
'&numeroCarrer='+numCarrer+
'&nomPoblacio='+nomPoblacio,
'popupGeocodificacio',
'width=700,height=400,resizable=yes,scrollbars=1');
}
function popupGeocodificadorHandler(poblacio, tipusVia, articleVia, nomVia,
numero, utmX, utmY) {
document.forms['actionForm'].nomPoblacio.value=poblacio;
document.forms['actionForm'].tipusCarrer.value=tipusVia;
document.forms['actionForm'].articleCarrer.value=articleVia;
document.forms['actionForm'].nomCarrer.value=nomVia;
420331857.doc
Pàgina 21 de 26 15/11/2015
Generalitat de Catalunya
Departament de Política Territorial
i Obres Públiques
Projecte openFrame
Serveis Generals per Aplicacions J2EE basats
en FrameWork J2EE
Unitat de Tecnologies de la Informació i Comunicacions
document.forms['actionForm'].numeroCarrer.value=numero;
document.forms['actionForm'].utmX.value=utmX;
document.forms['actionForm'].utmY.value=utmY;
}
Pup-ups de Territorial
Territorial ofereix dos popups per recuperar dades de poblacions i municipis.
Seguidament s’explicarà com fer-los servir. A mode de comentari ressaltar que tant l’acció d’on es pengen
com el handler, com la cerca és diferent en tots dos casos.
Ús del Pop-up Territorial de Poblacions
L’ús del popup territorial cerca de poblacions és molt simple: la jsp d'origen ha de tenir un
formulari que contingui totes les propietats que desitgin mapejarse des del popup, i ha de tenir el
handler corresponent per a portar a terme el mapeig. El codi js per a realitzar el cridat al popup
territorial és el següent:
function popup(mode, advancedSearch, doSearch, filtreCatalunya) {
//netejaTot();
var myWidth = 720;
var myHeight = 600;
var myLeft = (screen.width - myWidth) / 2;
var myTop = (screen.height - myHeight)/ 2;
var filtres = obteFiltres();
window.open('<c:url
value="/'+mode+'/popup.do?reqCode=searchIni&advancedSearch='+advancedSearch+'&d
oSearch='+doSearch+'&filtreCatalunya='+filtreCatalunya+filtres+'"/>','popupTerr
itorial','width='+myWidth+',height='+myHeight+',top='+myTop+', left='+myLeft+',
center=yes,resizable=yes,scrollbars=1');
}
//Funció que afegeix els filtres a la url.
function obteFiltres(){
var filtres="";
filtres += "&vegueria.id=" + $("codiVegueria").value;
filtres += "&descripcio=" + $("descPoblacio").value;
filtres += "&comarca.id=" + $("codiComarca").value;
filtres += "&provincia.id=" + $("codiProvincia").value;
filtres += "&id.codiMunicipi=" + $("codiMunicipi").value;
return filtres;
}
El popup ofereix les següents funcionalitats:
420331857.doc
Pàgina 22 de 26 15/11/2015
Generalitat de Catalunya
Departament de Política Territorial
i Obres Públiques
Projecte openFrame
Serveis Generals per Aplicacions J2EE basats
en FrameWork J2EE
Unitat de Tecnologies de la Informació i Comunicacions

advancedSearch: el camp advancedSearch indica si la regió de cerca avançada ha
d’aparèixer oberta o no. Els seus valors possibles són ‘opened’ i ‘closed’. En cas que el
paràmetre no vingui informat el sistema per defecte posarà ‘closed’.

doSearch: el camp doSearch indica si el popup ha de fer la cerca inicial o no. Els seus
valors possibles són “true” i “false”. En cas que no vingui informat, el sistema per defecte
posarà “false” i no realitzarà la cerca.

filtreCatalunya: el camp filtreCatalunya indica si el popup ha de cercar Poblacions només
a catalunya o no. Els seus valors possibles són “true” i “false”. En cas que no vingui
informat, el sistema per defecte entendrà “true” i filtrarà per catalunya.

Paràmetres de cerca: S’han afegit paràmetres inicials de cerca:
o
descripcio: Descripcio: nom de la població a cercar. S’informa amb el valor del
camp de la pantalla origen que conté el nom, o part d’aquest, de la població a
filtrar.
o
id.codiMunicipi: Codi Municipi: codi de la població a cercar. S’informa desde
la pantalla de crida del popup. El codi enviat ha de ser el número complet.
o
comarca.id: Codi de la comarca a cercar. S’informa des de la pantalla de crida
del popup. El codi enviat ha de ser el número complet.
o
provincia.id: Codi de la provincia a cercar S’informa des de la pantalla de
crida del popup. El codi enviat ha de ser el número complet
o
vegueria.id: Codi de la vegueria a cercar. S’informa des de la pantalla de crida
del popup. El codi enviat ha de ser el número complet.
Tenir en compte que la cerca filtra per codiLlogaret != “00”, que és l’indicador de que la tupla de
la BD és una població.
Un codi d'exemple del handler per a realitzar el mapeig entre els valors que retorna el popup en
el formulari de la jsp d'origen és el següent:
function popupPoblacionsHandler(codiMunicipi, codiLlogaret, descPoblacio,
codiProvincia, descProvincia, codiComarca, descComarca, codiVegueria,
descVegueria, codiComunitat, descComunitat, codiIne, descMunicipi) {
document.forms['territorial'].codiMunicipi.value=codiMunicipi;
document.forms['territorial'].codiLlogaret.value=codiLlogaret;
document.forms['territorial'].descPoblacio.value=descPoblacio;
document.forms['territorial'].codiProvincia.value=codiProvincia;
document.forms['territorial'].descProvincia.value=descProvincia;
document.forms['territorial'].codiComarca.value=codiComarca;
document.forms['territorial'].descComarca.value=descComarca;
document.forms['territorial'].codiVegueria.value=codiVegueria;
document.forms['territorial'].descVegueria.value=descVegueria;
document.forms['territorial'].codiComunitat.value=codiComunitat;
document.forms['territorial'].descComunitat.value=descComunitat;
document.forms['territorial'].codiIne.value=codiIne;
document.forms['territorial'].descMunicipi.value=descMunicipi;
}
420331857.doc
Pàgina 23 de 26 15/11/2015
Generalitat de Catalunya
Departament de Política Territorial
i Obres Públiques
Projecte openFrame
Serveis Generals per Aplicacions J2EE basats
en FrameWork J2EE
Unitat de Tecnologies de la Informació i Comunicacions
Aquest codi és solament un exemple. De la funció anterior l'essencial és respectar l'encapçalat.
Com és realitzin els mapeigs i quins mapeigs és realitzin és una decisió del programador d'acord
als necessitats de la seva aplicació.
Ús del Pop-up Territorial de Municipis
L’ús del popup territorial de municipis, cerca de municipis, és molt simple: la jsp d'origen ha de
tenir un formulari que contingui totes les propietats que desitgin mapejarse des del popup, i ha de
tenir el handler corresponent per a portar a terme el mapeig. El codi js per a realitzar el cridat al
popup territorial és el següent:
function popupMunicipis(mode, advancedSearch, doSearch, filtreCatalunya) {
//netejaTot();
var myWidth = 720;
var myHeight = 600;
var myLeft = (screen.width - myWidth) / 2;
var myTop = (screen.height - myHeight)/ 2;
var filtres = obteFiltres();
window.open('<c:url
value="/'+mode+'/popupMunicipi.do?reqCode=searchIni&advancedSearch='+advancedSe
arch+'&doSearch='+doSearch+'&filtreCatalunya='+filtreCatalunya+filtres+'"/>','p
opupTerritorialMunicipi','width='+myWidth+',height='+myHeight+',top='+myTop+',
left='+myLeft+', center=yes,resizable=yes,scrollbars=1');
}
//Funció que afegeix els filtres a la url.
function obteFiltres(){
var filtres="";
filtres += "&vegueria.id=" + $("codiVegueria").value;
filtres += "&descripcio=" + $("descPoblacio").value;
filtres += "&comarca.id=" + $("codiComarca").value;
filtres += "&provincia.id=" + $("codiProvincia").value;
filtres += "&id.codiMunicipi=" + $("codiMunicipi").value;
return filtres;
}
Funcionalitats del popup de cerca de Municipis

advancedSearch: el camp advancedSearch indica si la regió de cerca avançada ha
d’aparèixer oberta o no. Els seus valors possibles són ‘opened’ i ‘closed’. En cas que el
paràmetre no vingui informat el sistema per defecte posarà ‘closed’.

doSearch: el camp doSearch indica si el popup ha de fer la cerca inicial o no. Els seus
valors possibles són “true” i “false”. En cas que no vingui informat, el sistema per defecte
posarà “false” i no realitzarà la cerca.

FiltreCatalunya: el camp filtreCatalunya indica si el popup ha de cercar Municipis només a
catalunya o no. Els seus valors possibles són “true” i “false!”. En cas que no vingui
informat, el sistema per defecte entendrà “true” i filtrarà per catalunya.
420331857.doc
Pàgina 24 de 26 15/11/2015
Generalitat de Catalunya
Departament de Política Territorial
i Obres Públiques
Projecte openFrame
Serveis Generals per Aplicacions J2EE basats
en FrameWork J2EE
Unitat de Tecnologies de la Informació i Comunicacions

Paràmetres de cerca: S’han afegit paràmetres inicials de cerca:
o
descripcio: Descripcio: nom de la població a cercar. S’informa amb el valor del
camp de la pantalla origen que conté el nom, o part d’aquest, de la població a
filtrar.
o
id.codiMunicipi: Codi Municipi: codi de la població a cercar. S’informa des de
la pantalla de crida del popup. El codi enviat ha de ser el número complet.
o
comarca.id: Codi de la comarca a cercar. S’informa des de la pantalla de crida
del popup. El codi enviat ha de ser el número complet.
o
provincia.id: Codi de la provincia a cercar S’informa des de la pantalla de
crida del popup. El codi enviat ha de ser el número complet
o
vegueria.id: Codi de la vegueria a cercar. S’informa des de la pantalla de crida
del popup. El codi enviat ha de ser el número complet
Tenir en compte que la cerca filtra per codiLlogaret = “00”, que és l’indicador de que la tupla de la
BD és un municipi.
Un codi d'exemple del handler per a realitzar el mapeig entre els valors que retorna el popup en
el formulari de la jsp d'origen és el següent:
function popupMunicipisHandler(codiMunicipi, descripcioMunicipi, provinciaId,
descripcioProvincia, comarcaId, descripcioComarca, vegueriaId,
descripcioVegueria, comunitatAutonomaId, descripcioComunitatAutonoma,
codiIne) {
//Codi a executar
…
}
Aquest codi és solament un exemple. De la funció anterior l'essencial és respectar l'encapçalat.
Com és realitzin els mapeigs i quins mapeigs és realitzin és una decisió del programador d'acord
als necessitats de la seva aplicació.
2.4.
Configuración en el MAP
Configuración de los roles ocultos
Al dar de alta o posteriormente al configurar la aplicación Territorial en el MAP hay que tener en cuenta
que deben configurarse algunos roles ocultos para evitar que aprezca en la lista de aplicaciones
disponibles en el MAP a usuarios que únicamente deben acceder a ella a través del servicio de Pop Up).
420331857.doc
Pàgina 25 de 26 15/11/2015
Generalitat de Catalunya
Departament de Política Territorial
i Obres Públiques
Projecte openFrame
Serveis Generals per Aplicacions J2EE basats
en FrameWork J2EE
Unitat de Tecnologies de la Informació i Comunicacions
Para ello deberá añadirse el rol de este perfil de usuarios (ROLE_CONSULTA_POPUP) en la lista de roles
escondidos.
420331857.doc
Pàgina 26 de 26 15/11/2015
Descargar