Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
da38acf
Se soluciona problema al activar resoluciones automaticas y cargar un…
gdtel-cnig-develop May 14, 2026
0c0a6cb
Corregir wftscontrol
gdtel-cnig-develop May 14, 2026
762cc18
Cambio wfstcontrol.jsp
gdtel-cnig-develop May 14, 2026
7a86a8b
Cambio width attributions
gdtel-cnig-develop May 14, 2026
0f3fc7e
Se arreglan las minusculas y mayusculas de help en los plugins
gdtel-cnig-develop May 14, 2026
7ba2de5
Se implementa la funcionalidad de listar los plugins de CommunityPlugins
gdtel-cnig-develop May 14, 2026
02aaf10
Merge pull request #800 from guadaltel/feat_799_resouces_external
aelopy May 18, 2026
0289172
Merge pull request #798 from guadaltel/feat_797_helpplugins
aelopy May 18, 2026
807335c
Merge pull request #796 from guadaltel/feat_795_attributions_width
aelopy May 18, 2026
c624618
Merge pull request #791 from guadaltel/fix_739_wfstcontrol
aelopy May 18, 2026
9746b6d
Merge pull request #790 from guadaltel/feat_789_wmszoom
aelopy May 18, 2026
8bfba29
Arreglo vulnerabilidades log4j y jackson
gdtel-cnig-develop May 18, 2026
35e451e
Corregir listeners en popups
gdtel-cnig-develop May 18, 2026
3222cf5
Merge pull request #802 from guadaltel/feat_792_popup_listeners
aelopy May 18, 2026
3988881
Update CHANGELOG for version 1.1.0
aelopy May 19, 2026
4f982bb
Update CHANGELOG
aelopy May 19, 2026
715787d
Merge pull request #804 from guadaltel/feat_arregloVulnerabilidades
aelopy May 20, 2026
052db01
805: se soluciona problema con rotate en cesium
gdtel-cnig-develop May 20, 2026
13db049
Revise CHANGELOG for version 1.1.0 updates
aelopy May 21, 2026
503d271
Remove unused libraries and update log4j version
aelopy May 21, 2026
593b5c6
Merge pull request #806 from guadaltel/feat_805_rotatecesium
aelopy May 21, 2026
648131e
Update CHANGELOG with recent plugin improvements
aelopy May 21, 2026
3e1efc6
Update CHANGELOG
aelopy May 22, 2026
cac0e61
Arreglo carga de capas base y cambio de capas bases
gdtel-cnig-develop May 25, 2026
5a9a6e2
Merge pull request #808 from guadaltel/feat_8907_comparators_centrado
aelopy May 25, 2026
eb15de0
Se arregla manejo de posicion en wfstcontrol
gdtel-cnig-develop May 26, 2026
2fece68
Merge pull request #811 from guadaltel/feat_739_arreglowfstcontrol
aelopy May 26, 2026
e47e571
Update CHANGELOG
aelopy May 27, 2026
70399c0
Se arregla el centrado de algunas capas WMS
gdtel-cnig-develop May 27, 2026
456bbe8
Merge pull request #812 from guadaltel/feat_807_centrado
borjaCNIG May 27, 2026
41b3c35
fix: Solución issue 717
mayerga May 28, 2026
786af4c
Merge branch 'develop' of https://github.com/sistemascotesa/API-IDEE …
mayerga May 28, 2026
9cedecf
Merge pull request #813 from sistemascotesa/bugfix/717-layerswitcher
aelopy May 28, 2026
999b406
Arreglo comparators y layerswitcher
gdtel-cnig-develop May 28, 2026
6eca806
Se agregan posibilidades de content type en uppercase y lowercase
gdtel-cnig-develop May 28, 2026
77bd621
Reversion de cambios
gdtel-cnig-develop May 28, 2026
bc9921f
Se agregan posibilidades de content type en uppercase y lowercase
gdtel-cnig-develop May 28, 2026
1d5172c
Merge pull request #814 from guadaltel/feat_807_arregladoComparatorsL…
borjaCNIG May 28, 2026
57ebaad
Merge pull request #816 from guadaltel/feat_815_contentType
borjaCNIG May 28, 2026
1837904
Merge branch 'develop' of https://github.com/sistemascotesa/API-IDEE …
alberto740 Jun 1, 2026
d61539a
fix: fixes width of dialog content
alberto740 Jun 1, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 25 additions & 2 deletions CHANGELOG
Original file line number Diff line number Diff line change
Expand Up @@ -87,11 +87,34 @@
- Se soluciona problemas con cambio de proyección.
- Se soluciona problema con el almacenado de altitud en el plugin infocoordinates.
- Se soluciona la visualización de objetos geográficos de tipo "GeometryCollection".
- Se implementa multilenguaje en los plugins mapheader, mapfooter, maxextzoom, magnify y filteredsearch.
- Se implementa multilenguaje en los plugins mapheader, mapfooter, maxextzoom, magnify, filteredsearch y wfstcontrols.
- Se implementa el método getHelp en los plugins filteredsearch, magnify, mapheader, mapfooter, maxextzoom y wfstcontrols.
- Se soluciona problema al usar estilo categórico con un estilo genérico e icono sin tener el proxy activado.
- Se soluciona problema con capas geojson con source GeometryCollection.
- Se genera en legacy el versionado de 1.0.0 y se modifica la versión del proyecto a la 1.1.0.
- Se soluciona problema al activar resoluciones automáticas y cargar capa wms sin zoom.
- Se adaptan los plugins para que muestre el título del índice en minúscula y el del contenido de la ayuda en mayúsculas.
- Se soluciona problema con parámetro listeners en popup.
- Se implementa la funcionalidad de listar los plugins de Community Plugins al llamar al servicio https://componentes.idee.es/api-idee/api/actions/resourcesPlugins.
- Se elimina librería jackson y jersey-json por desuso y se aumenta la versión de log4j.
- Se soluciona problemas con el control rotate en Cesium.
- Se aumenta tamaño disponible para mostrar información en attributions.
- Se resuelve problema con carga de capas WMS con proyección 4230 en el capabilities.
- Se resuelven vulnerabilidades críticas en las librerías en el proyecto.
- Se soluciona problema con estilo categoría y toImage.
- Se soluciona problema con borde blanco del plugin Overviewmap.
- Se soluciona problema con las capas WMS en versión 1.1.0 y el sistema de referencia.
- Se soluciona problema con la actualización del valor de IDEE.useproxy.
- Se incorpora en Cesium el estilo cluster.
- Se implementa la posibilidad de añadir patrones en estilos en implementación Cesium.
- Se mejora rendimiento de compilación.
- Se implementa la posibilidad de añadir iconos con formato GLB/GLTF en Cesium.
- Se soluciona problemas con coropletas y rango de colores.
- Se elimina la librería ticket así como sus dependencias y se adapta el proxy para que no la use.
- Se elimina librería commons-fileupload al no usarse.
- Se actualizan las librerías log4j y postgresql.
- Se fija la versión de la librería jackson-mapper-asl.
- Se eliminan ficheros innecesarios de configuración de log.
- Se pueden importar archivos .tif, .tiff y .gpkg y se implementa mejora a la hora de añadir archivos pesados en el plugin LayerSwitcher.
- Se crean métodos en Utils para la transformación de formato GeoJSON y WKT a WKB, tanto a nivel de feature como de capa.
- La información recibida de un servicio en formato GeoJSON o KML se proyecta en la proyección estándar de estos formatos, EPSG:4326.
Expand All @@ -104,8 +127,8 @@
- Se cambia la estructura del archivo GeoJSON que toma como entrada el parámetro 'precharged' de LayerSwitcher.
- Se reconoce el parámetro 'type' del servicio cargado en LayerSwitcher.
- Permite la creación de grupos anidados de capas en LayerSwitcher.
- Se sube la versión de OpenLayers de la 10.4 a la 10.7.
- Se implementa funcionalidad de resoluciones automáticas y configuración para activar dicha funcionalidad.
- Se sube la versión de OpenLayers de la 10.4 a la 10.7.

01/01/25 - Versión 1.0.0
- Se incluye implementación 3D con Cesium
Expand Down
16 changes: 12 additions & 4 deletions api-idee-database/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@
<filtering>true</filtering>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
Expand Down Expand Up @@ -97,11 +98,18 @@
<artifactId>hibernate-spatial</artifactId>
<version>5.6.1.Final</version>
</dependency>
<!-- log4j -->
<!-- Log4j 2 (SLF4J usado en código enlaza con log4j-slf4j-impl) -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
Expand Down

This file was deleted.

13 changes: 13 additions & 0 deletions api-idee-database/src/main/resources/properties/log4j2.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<Appenders>
<Console name="stdout" target="SYSTEM_OUT">
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n"/>
</Console>
</Appenders>
<Loggers>
<Root level="info">
<AppenderRef ref="stdout"/>
</Root>
</Loggers>
</Configuration>
59 changes: 0 additions & 59 deletions api-idee-database/src/test/resources/log4j.xml

This file was deleted.

14 changes: 14 additions & 0 deletions api-idee-database/src/test/resources/log4j2.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Configuración de tests: consola (equivalente al antiguo log4j.xml de test). -->
<Configuration status="WARN">
<Appenders>
<Console name="console" target="SYSTEM_OUT">
<PatternLayout pattern="%-5p %c{1} - %m%n"/>
</Console>
</Appenders>
<Loggers>
<Root level="info">
<AppenderRef ref="console"/>
</Root>
</Loggers>
</Configuration>

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
text-decoration: none;
margin: 0;
padding: 0;
max-width: 260px;
max-width: 500px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
Expand Down
40 changes: 40 additions & 0 deletions api-idee-js/src/facade/assets/css/controls/rotate.css
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,21 @@
background-color: var(--idee-color-links) !important;
}

.m-areas > div.m-area > div.m-panel.opened.m-rotate {
background-color: transparent !important;
box-shadow: none !important;
border: none !important;
}

.m-rotate-compass {
position: relative;
width: 150px;
height: 150px;
display: flex;
justify-content: center;
align-items: center;
}

.m-rotate-slider {
border-radius: 50%;
cursor: pointer;
Expand Down Expand Up @@ -49,11 +64,36 @@ div.m-control.m-rotate-container {
fill: var(--idee-color-primary);
}

.m-rotate-background-exterior,
.m-rotate-svgPath-svg {
position: absolute;
width: 99px;
height: 99px;
}

.m-rotate-svgPath-svg {
width: 100px;
}

.m-rotate-exterior-svg {
position: absolute;
width: 120px;
height: 120px;
overflow: hidden;
}

.m-rotate-exterior-svg.g-cartografia-exterior-1:before {
color: #fff;
font-size: 100px;
}

.m-rotate-giroscopio-svg {
position: absolute;
width: 40px;
height: 40px;
box-sizing: content-box;
}

.m-rotate-giroscopio-svg.g-cartografia-giroscopio:before {
font-size: 40px;
background-color: white;
Expand Down
4 changes: 4 additions & 0 deletions api-idee-js/src/facade/assets/css/dialog.css
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,10 @@
padding: .5rem;
}

.m-dialog div.m-message > :first-child {
width: 100%;
}

/**************************
BUTTON
/**************************/
Expand Down
1 change: 1 addition & 0 deletions api-idee-js/src/facade/js/Popup.js
Original file line number Diff line number Diff line change
Expand Up @@ -240,6 +240,7 @@ class Popup extends Base {
if (IDEE.config.MOVE_MAP_EXTRACT) {
this.getImpl().setAnimationView();
}
this.update();
this.fire(EventType.POPUP_ADDED, [this]);
map.fire(EventType.POPUP_ADDED, [this]);
}
Expand Down
24 changes: 13 additions & 11 deletions api-idee-js/src/facade/js/control/Rotate.js
Original file line number Diff line number Diff line change
Expand Up @@ -259,17 +259,19 @@ class Rotate extends Control {
});
}

const transform = 'transform';
compTemplate.querySelector('#m-rotate-marker').style.WebkitTransform = 'rotate(45deg)';
compTemplate.querySelector('#m-rotate-marker').style.MozTransform = 'rotate(45deg)';
compTemplate.querySelector('#m-rotate-marker').style[transform] = 'rotate(45deg)';
onMouseDown(this, compTemplate);
onMouseMove(this, compTemplate, map);
onMouseUp(this, compTemplate);
onClick(this, compTemplate, map);
this.on(EventType.ADDED_TO_MAP, () => {
this.getImpl().onChangeView(compTemplate);
});
if (this.map.getImplementation() !== 'cesium') {
const transform = 'transform';
compTemplate.querySelector('#m-rotate-marker').style.WebkitTransform = 'rotate(45deg)';
compTemplate.querySelector('#m-rotate-marker').style.MozTransform = 'rotate(45deg)';
compTemplate.querySelector('#m-rotate-marker').style[transform] = 'rotate(45deg)';
onMouseDown(this, compTemplate);
onMouseMove(this, compTemplate, map);
onMouseUp(this, compTemplate);
onClick(this, compTemplate, map);
this.on(EventType.ADDED_TO_MAP, () => {
this.getImpl().onChangeView(compTemplate);
});
}
return compTemplate;
}

Expand Down
2 changes: 1 addition & 1 deletion api-idee-js/src/facade/js/util/Response.js
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ class Response {
try {
// it uses DOMParser for html responses
// google XML parser in other case
const contentType = proxyResponse.headers['Content-Type'];
const contentType = proxyResponse.headers['Content-Type'] || proxyResponse.headers['CONTENT-TYPE'] || proxyResponse.headers['content-type'];
if ((typeof DOMParser !== 'undefined') && /text\/html/i.test(contentType)) {
this.xml = (new DOMParser()).parseFromString(this.text, 'text/html');
} else if (/xml/i.test(contentType)) { // it avoids responses that aren't xml format
Expand Down
4 changes: 3 additions & 1 deletion api-idee-js/src/impl/cesium/js/util/WMSCapabilities.js
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,9 @@ class GetCapabilities {
}
} else if (isObject(layer)) {
// base case
if (isNullOrEmpty(layerName) || (layer.Name === layerName)) {
if (isNullOrEmpty(layerName) || (layer.Name === layerName)
|| (isString(layer.Name) && isString(layerName)
&& layer.Name.toLowerCase() === layerName.toLowerCase())) {
if (!isNullOrEmpty(layer.BoundingBox)) {
const bboxSameProj = layer.BoundingBox
.find((bbox) => bbox.crs === this.projection_.code);
Expand Down
2 changes: 1 addition & 1 deletion api-idee-js/src/impl/ol/js/Map.js
Original file line number Diff line number Diff line change
Expand Up @@ -3152,7 +3152,7 @@ class Map extends MObject {
// calculates the new resolution
let newResolution;
// eslint-disable-next-line no-underscore-dangle
const facadeUserZoom = this.facadeMap_._userZoom;
const facadeUserZoom = this.facadeMap_._userZoom || IDEE.config.DEFAULT_ZOOM;
const userAskedZoom = !isNullOrEmpty(facadeUserZoom);
const useZoomIndex = isNullOrEmpty(this.userBbox_) || userAskedZoom;
if (!isNullOrEmpty(resolutions) && useZoomIndex) {
Expand Down
19 changes: 6 additions & 13 deletions api-idee-js/src/impl/ol/js/layer/WMTS.js
Original file line number Diff line number Diff line change
Expand Up @@ -257,7 +257,7 @@ class WMTS extends LayerBase {
setVisible(visibility) {
this.visibility = visibility;
// if this layer is base then it hides all base layers
if ((visibility === true) && (this.isBase === true)) {
if ((visibility === true) && (this.isBase !== false) && !this.isVisible()) {
// hides all base layers
this.map.getBaseLayers()
.filter((layer) => !layer.equals(this.facadeLayer_) && layer.isVisible())
Expand All @@ -268,18 +268,11 @@ class WMTS extends LayerBase {
this.olLayer.setVisible(visibility);
}

// updates resolutions and keep the zoom (priorizar bbox guardado en el mapa)
let oldBbox = this.map.getBbox();
// eslint-disable-next-line no-underscore-dangle
if (!isNullOrEmpty(this.map.getImpl().userBbox_)) {
// eslint-disable-next-line no-underscore-dangle
oldBbox = this.map.getImpl().userBbox_;
}
if (!isNullOrEmpty(oldBbox)) {
const extent = isArray(oldBbox)
? oldBbox
: [oldBbox.x.min, oldBbox.y.min, oldBbox.x.max, oldBbox.y.max];
this.map.setBbox(extent, { nearest: true });
// updates resolutions and keep the zoom
const oldZoom = this.map.getZoom();
// this.map.getImpl().updateResolutionsFromBaseLayer();
if (!isNullOrEmpty(oldZoom)) {
this.map.setZoom(oldZoom);
}
} else if (!isNullOrEmpty(this.olLayer)) {
this.olLayer.setVisible(visibility);
Expand Down
Loading