Compare commits
1 Commits
master
...
task_25066
Author | SHA1 | Date |
---|---|---|
Francesco Mangiacrapa | 3a7005728f |
|
@ -1,11 +1,16 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<classpath>
|
<classpath>
|
||||||
<classpathentry kind="src" output="target/geoportal-data-viewer-app-3.6.0/WEB-INF/classes" path="src/main/java">
|
<classpathentry kind="src" output="target/geoportal-data-viewer-app-3.5.0-SNAPSHOT/WEB-INF/classes" path="src/main/java">
|
||||||
<attributes>
|
<attributes>
|
||||||
<attribute name="optional" value="true"/>
|
<attribute name="optional" value="true"/>
|
||||||
<attribute name="maven.pomderived" value="true"/>
|
<attribute name="maven.pomderived" value="true"/>
|
||||||
</attributes>
|
</attributes>
|
||||||
</classpathentry>
|
</classpathentry>
|
||||||
|
<classpathentry excluding="**" kind="src" output="target/geoportal-data-viewer-app-3.5.0-SNAPSHOT/WEB-INF/classes" path="src/main/resources">
|
||||||
|
<attributes>
|
||||||
|
<attribute name="maven.pomderived" value="true"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
<classpathentry kind="src" output="target/test-classes" path="src/test/java">
|
<classpathentry kind="src" output="target/test-classes" path="src/test/java">
|
||||||
<attributes>
|
<attributes>
|
||||||
<attribute name="test" value="true"/>
|
<attribute name="test" value="true"/>
|
||||||
|
@ -30,5 +35,5 @@
|
||||||
<attribute name="maven.pomderived" value="true"/>
|
<attribute name="maven.pomderived" value="true"/>
|
||||||
</attributes>
|
</attributes>
|
||||||
</classpathentry>
|
</classpathentry>
|
||||||
<classpathentry kind="output" path="target/geoportal-data-viewer-app-3.6.0/WEB-INF/classes"/>
|
<classpathentry kind="output" path="target/geoportal-data-viewer-app-3.5.0-SNAPSHOT/WEB-INF/classes"/>
|
||||||
</classpath>
|
</classpath>
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
eclipse.preferences.version=1
|
eclipse.preferences.version=1
|
||||||
lastWarOutDir=/home/francescomangiacrapa/git/geoportal-data-viewer-app/target/geoportal-data-viewer-app-3.6.0
|
lastWarOutDir=/home/francescomangiacrapa/git/geoportal-data-viewer-app/target/geoportal-data-viewer-app-3.5.0-SNAPSHOT
|
||||||
warSrcDir=src/main/webapp
|
warSrcDir=src/main/webapp
|
||||||
warSrcDirIsOutput=false
|
warSrcDirIsOutput=false
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">
|
<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -84,40 +84,8 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<wb-module deploy-name="geoportal-data-viewer-app-3.5.0-SNAPSHOT">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<wb-module deploy-name="geoportal-data-viewer-app-3.6.0">
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -203,23 +171,7 @@
|
||||||
|
|
||||||
|
|
||||||
<wb-resource deploy-path="/" source-path="/target/m2e-wtp/web-resources"/>
|
<wb-resource deploy-path="/" source-path="/target/m2e-wtp/web-resources"/>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -305,23 +257,7 @@
|
||||||
|
|
||||||
|
|
||||||
<wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/>
|
<wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -407,23 +343,7 @@
|
||||||
|
|
||||||
|
|
||||||
<wb-resource deploy-path="/WEB-INF/classes" source-path="/target/generated-sources/gwt"/>
|
<wb-resource deploy-path="/WEB-INF/classes" source-path="/target/generated-sources/gwt"/>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -509,29 +429,96 @@
|
||||||
|
|
||||||
|
|
||||||
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
|
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
|
||||||
<dependent-module archiveName="geoportal-data-mapper-1.1.0-SNAPSHOT.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/geoportal-data-mapper/geoportal-data-mapper">
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>
|
||||||
|
<dependent-module archiveName="geoportal-data-common-2.2.0.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/geoportal-data-common/geoportal-data-common">
|
||||||
<dependency-type>uses</dependency-type>
|
<dependency-type>uses</dependency-type>
|
||||||
</dependent-module>
|
</dependent-module>
|
||||||
<dependent-module archiveName="uri-resolver-manager-1.8.0-SNAPSHOT.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/uri-resolver-manager/uri-resolver-manager">
|
|
||||||
<dependency-type>uses</dependency-type>
|
|
||||||
</dependent-module>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -617,23 +604,7 @@
|
||||||
|
|
||||||
|
|
||||||
<property name="java-output-path" value="/geoportal-data-viewer-app/target/geoportal-data-viewer-app-0.0.1-SNAPSHOT/WEB-INF/classes"/>
|
<property name="java-output-path" value="/geoportal-data-viewer-app/target/geoportal-data-viewer-app-0.0.1-SNAPSHOT/WEB-INF/classes"/>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -719,23 +690,7 @@
|
||||||
|
|
||||||
|
|
||||||
<property name="context-root" value="geoportal-data-viewer-app"/>
|
<property name="context-root" value="geoportal-data-viewer-app"/>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -821,23 +776,7 @@
|
||||||
|
|
||||||
|
|
||||||
</wb-module>
|
</wb-module>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -4,13 +4,7 @@
|
||||||
All notable changes to this project will be documented in this file.
|
All notable changes to this project will be documented in this file.
|
||||||
This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||||
|
|
||||||
## [v3.6.0]
|
## [v3.5.0-SNAPSHOT]
|
||||||
|
|
||||||
- GUI optimization [#25461]
|
|
||||||
- Using the latest libraries version: gwt-ol.v8.4.1 (with openlayers.v6.6.1) and gwt.v2.10
|
|
||||||
- Showing basic statistics (i.e. "X project published") via 'countByPhase' method [#25598]
|
|
||||||
|
|
||||||
## [v3.5.0]
|
|
||||||
|
|
||||||
- Supported the cross-filtering [#25074]
|
- Supported the cross-filtering [#25074]
|
||||||
- Supported the grouped custom layers [#25110]
|
- Supported the grouped custom layers [#25110]
|
||||||
|
|
25
README.md
25
README.md
|
@ -1,6 +1,6 @@
|
||||||
# GeoPortal Data Viewer App
|
# GeoPortal Data Viewer App
|
||||||
|
|
||||||
The "Geoportal data-viewer" technology allows users to access and search for spatio-temporal documents through a web GIS which allows them to: (i) navigate and select the projects published in the system by "geographical map" (spatial dimension) , (ii) navigate and select the relationships between projects (evolution of over time) via "timeline" (temporal dimension), (iii) view metadata and resources (images, layers, etc. .) of documents via the "project view detail", (iv) export a view of the map with the layer of interest or add the layers of a project to the main map, (v) manage the order and overlapping of the layers, (vi) execute spatial queries on the layers and view the results, (vii) search through metadata or temporal dimension queries for the projects of interest, (vii) apply spatial filters for cross-layer.
|
The GeoPortal Data Viewer App is an application to access, discovery and navigate the Geoportal projects/documents by a Web-Map Interface
|
||||||
|
|
||||||
## Built With
|
## Built With
|
||||||
|
|
||||||
|
@ -21,33 +21,10 @@ The "Geoportal data-viewer" technology allows users to access and search for spa
|
||||||
|
|
||||||
<img src="https://gcube.wiki.gcube-system.org/images_gcube/8/82/GeoPortalDataViewer_Architecture.png" style="max-width:800px;" alt="GeoPortal Data-Viewer - Architecture" />
|
<img src="https://gcube.wiki.gcube-system.org/images_gcube/8/82/GeoPortalDataViewer_Architecture.png" style="max-width:800px;" alt="GeoPortal Data-Viewer - Architecture" />
|
||||||
|
|
||||||
## Showcase
|
|
||||||
|
|
||||||
##### D4GNA instance of Geoportal D4Science
|
|
||||||
|
|
||||||
see at [Dataset per il Geoportale Nazionale per l’Archeologia (D4GNA)](https://gna.d4science.org/)
|
|
||||||
|
|
||||||
**D4GNA Viewer - OSM**
|
|
||||||
|
|
||||||
<img src="https://gcube.wiki.gcube-system.org/images_gcube/0/06/D4GNA_Viewer_OSM.png" style="max-width:800px;" alt="Data_Viewer_OSM" />
|
|
||||||
|
|
||||||
**D4GNA Viewer - MapBox**
|
|
||||||
|
|
||||||
<img src="https://gcube.wiki.gcube-system.org/images_gcube/9/9c/D4GNA_Viewer_MapBox.png" style="max-width:800px;" alt="Data_Viewer_MapBox" />
|
|
||||||
|
|
||||||
**D4GNA Viewer - Discovering...**
|
|
||||||
|
|
||||||
<img src="https://gcube.wiki.gcube-system.org/images_gcube/8/85/D4GNA_ERCIM_3.png" style="max-width:800px;" alt="D4GNA_ERCIM_3" />
|
|
||||||
<br />
|
|
||||||
<br />
|
|
||||||
<img src="https://gcube.wiki.gcube-system.org/images_gcube/9/9c/D4GNA_ERCIM_2.png" style="max-width:800px;" alt="D4GNA_ERCIM_2" />
|
|
||||||
|
|
||||||
## Documentation
|
## Documentation
|
||||||
|
|
||||||
Geoportal Service Documentation is available at [gCube CMS Suite](https://geoportal.d4science.org/geoportal-service/docs/index.html)
|
Geoportal Service Documentation is available at [gCube CMS Suite](https://geoportal.d4science.org/geoportal-service/docs/index.html)
|
||||||
|
|
||||||
User Guide (DRAFT ITA) is available at [Guida al DataViewer D4GNA (DRAFT-ITA)](https://gcube.wiki.gcube-system.org/images_gcube/b/b3/D4science_Guida_al_DataViewer_D4GNA_bozza.pdf)
|
|
||||||
|
|
||||||
## Change log
|
## Change log
|
||||||
|
|
||||||
See the [Releases](https://code-repo.d4science.org/gCubeSystem/geoportal-data-viewer-app/releases)
|
See the [Releases](https://code-repo.d4science.org/gCubeSystem/geoportal-data-viewer-app/releases)
|
||||||
|
|
7
pom.xml
7
pom.xml
|
@ -14,7 +14,7 @@
|
||||||
<groupId>org.gcube.portlets.user</groupId>
|
<groupId>org.gcube.portlets.user</groupId>
|
||||||
<artifactId>geoportal-data-viewer-app</artifactId>
|
<artifactId>geoportal-data-viewer-app</artifactId>
|
||||||
<packaging>war</packaging>
|
<packaging>war</packaging>
|
||||||
<version>3.6.0</version>
|
<version>3.5.0-SNAPSHOT</version>
|
||||||
<name>GeoPortal Data Viewer App</name>
|
<name>GeoPortal Data Viewer App</name>
|
||||||
<description>The GeoPortal Data Viewer App is an application to access, discovery and navigate the Geoportal projects/documents by a Web-Map Interface</description>
|
<description>The GeoPortal Data Viewer App is an application to access, discovery and navigate the Geoportal projects/documents by a Web-Map Interface</description>
|
||||||
|
|
||||||
|
@ -23,7 +23,6 @@
|
||||||
<gwt.version>2.10.0</gwt.version>
|
<gwt.version>2.10.0</gwt.version>
|
||||||
<gwt.compiler.style>PRETTY</gwt.compiler.style>
|
<gwt.compiler.style>PRETTY</gwt.compiler.style>
|
||||||
<gson.version>2.6.2</gson.version>
|
<gson.version>2.6.2</gson.version>
|
||||||
<gwt.ol.version>8.4.1</gwt.ol.version>
|
|
||||||
<webappDirectory>${project.build.directory}/${project.build.finalName}</webappDirectory>
|
<webappDirectory>${project.build.directory}/${project.build.finalName}</webappDirectory>
|
||||||
<!-- GWT 2.9 support 8, 9 and 11 -->
|
<!-- GWT 2.9 support 8, 9 and 11 -->
|
||||||
<maven.compiler.source>1.8</maven.compiler.source>
|
<maven.compiler.source>1.8</maven.compiler.source>
|
||||||
|
@ -103,7 +102,7 @@
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.github.tdesjardins</groupId>
|
<groupId>com.github.tdesjardins</groupId>
|
||||||
<artifactId>gwt-ol3</artifactId>
|
<artifactId>gwt-ol3</artifactId>
|
||||||
<version>${gwt.ol.version}</version>
|
<version>8.1.0-gwt2_9</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.github.gwtbootstrap</groupId>
|
<groupId>com.github.gwtbootstrap</groupId>
|
||||||
|
@ -147,7 +146,7 @@
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.gcube.application</groupId>
|
<groupId>org.gcube.application</groupId>
|
||||||
<artifactId>geoportal-data-mapper</artifactId>
|
<artifactId>geoportal-data-mapper</artifactId>
|
||||||
<version>[1.0.1-SNAPSHOT, 2.0.0-SNAPSHOT)</version>
|
<version>[1.0.0-SNAPSHOT, 2.0.0-SNAPSHOT)</version>
|
||||||
<scope>compile</scope>
|
<scope>compile</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
|
|
|
@ -111,8 +111,6 @@ import ol.Feature;
|
||||||
public class GeoportalDataViewer implements EntryPoint {
|
public class GeoportalDataViewer implements EntryPoint {
|
||||||
|
|
||||||
public static final String DIV_TIMELINE_DATA = "timeline-data";
|
public static final String DIV_TIMELINE_DATA = "timeline-data";
|
||||||
|
|
||||||
public static final String DIV_LAYER_VIEW = "layer-viewer";
|
|
||||||
|
|
||||||
public static final String APP_NOTIFIER = "app-notifier";
|
public static final String APP_NOTIFIER = "app-notifier";
|
||||||
|
|
||||||
|
@ -416,8 +414,7 @@ public class GeoportalDataViewer implements EntryPoint {
|
||||||
int height = rootHeight;
|
int height = rootHeight;
|
||||||
mainPanel.setPanelsHeight(height);
|
mainPanel.setPanelsHeight(height);
|
||||||
GWT.log("Set height: " + height);
|
GWT.log("Set height: " + height);
|
||||||
|
|
||||||
mainPanel.setPanelsWidth(Window.getClientWidth());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -14,8 +14,6 @@ import com.google.gwt.i18n.client.DateTimeFormat;
|
||||||
* Nov 24, 2020
|
* Nov 24, 2020
|
||||||
*/
|
*/
|
||||||
public class GeoportalDataViewerConstants {
|
public class GeoportalDataViewerConstants {
|
||||||
|
|
||||||
public static final int TABLET_WIDTH = 1601;
|
|
||||||
|
|
||||||
public static final String MAP_DIV = "map";
|
public static final String MAP_DIV = "map";
|
||||||
|
|
||||||
|
@ -27,7 +25,7 @@ public class GeoportalDataViewerConstants {
|
||||||
public static final String GET_MAX_ZOOM_LEVEL = OpenLayersMapParameters.OL_MAP_PARAM.maxzoomlevel.name();
|
public static final String GET_MAX_ZOOM_LEVEL = OpenLayersMapParameters.OL_MAP_PARAM.maxzoomlevel.name();
|
||||||
public static final String GET_ZOOM = OpenLayersMapParameters.OL_MAP_PARAM.zoom.name();
|
public static final String GET_ZOOM = OpenLayersMapParameters.OL_MAP_PARAM.zoom.name();
|
||||||
public static final String GET_CENTER_MAP_TO_LONG_LAT = OpenLayersMapParameters.OL_MAP_PARAM.centermap.name();
|
public static final String GET_CENTER_MAP_TO_LONG_LAT = OpenLayersMapParameters.OL_MAP_PARAM.centermap.name();
|
||||||
|
|
||||||
public static final Double INITIAL_LAYER_OPACITY = 0.8;
|
public static final Double INITIAL_LAYER_OPACITY = 0.8;
|
||||||
public static final int SEARCH_LIMIT_RESULTS_TO_MAXIMUM = 50;
|
public static final int SEARCH_LIMIT_RESULTS_TO_MAXIMUM = 50;
|
||||||
|
|
||||||
|
@ -39,32 +37,6 @@ public class GeoportalDataViewerConstants {
|
||||||
|
|
||||||
public static final String PROJECT_ID_KEY_FEATURE = "projectid";
|
public static final String PROJECT_ID_KEY_FEATURE = "projectid";
|
||||||
|
|
||||||
public static enum GisToolbarFacilities {
|
|
||||||
COLLECTION("Collection", "Open the collections"),
|
|
||||||
MAP("Map", "Select the base Map"),
|
|
||||||
OVERLAY("Overlay", "Add overlay layers"),
|
|
||||||
SEARCH("Search", "Search in the collections"),
|
|
||||||
FILTER("Filter", "Apply spatial filtering"),
|
|
||||||
LAYERS("Layers", "Layers added to Map"),
|
|
||||||
PRESET_LOCATION("Preset Location", "Center the Map to Location");
|
|
||||||
|
|
||||||
String name;
|
|
||||||
String tooltip;
|
|
||||||
|
|
||||||
GisToolbarFacilities(String name, String tooltip) {
|
|
||||||
this.name = name;
|
|
||||||
this.tooltip = tooltip;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getName() {
|
|
||||||
return name;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getTooltip() {
|
|
||||||
return tooltip;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The Enum LayerType.
|
* The Enum LayerType.
|
||||||
*
|
*
|
||||||
|
|
|
@ -227,6 +227,4 @@ public interface GeoportalDataViewerService extends RemoteService {
|
||||||
*/
|
*/
|
||||||
String getHTTPResponseForURL(String url);
|
String getHTTPResponseForURL(String url);
|
||||||
|
|
||||||
Integer getCountFor(String profileID, String phase, String status);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -91,6 +91,4 @@ public interface GeoportalDataViewerServiceAsync {
|
||||||
|
|
||||||
void getHTTPResponseForURL(String url, AsyncCallback<String> callback);
|
void getHTTPResponseForURL(String url, AsyncCallback<String> callback);
|
||||||
|
|
||||||
void getCountFor(String profileID, String phase, String status, AsyncCallback<Integer> callback);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -515,7 +515,7 @@ public class LayerManager {
|
||||||
GWT.log("Parsed WMS Request returned: " + geoInfoWMS);
|
GWT.log("Parsed WMS Request returned: " + geoInfoWMS);
|
||||||
|
|
||||||
LayerItem layerItem = toLayerItem(featureType, layerTitle, geoInfoWMS.getLayerName(),
|
LayerItem layerItem = toLayerItem(featureType, layerTitle, geoInfoWMS.getLayerName(),
|
||||||
geoInfoWMS.getWmsRequest(), geoInfoWMS.getServiceEndPoint(), true, isBase,
|
geoInfoWMS.getWmsRequest(), geoInfoWMS.getBaseWmsServiceHost(), true, isBase,
|
||||||
displayInLayerSwitcher, (ArrayList<String>) geoInfoWMS.getStyles().getGeoStyles(),
|
displayInLayerSwitcher, (ArrayList<String>) geoInfoWMS.getStyles().getGeoStyles(),
|
||||||
geoInfoWMS.getWmsRequest(), false, geoInfoWMS.getMapWMSNoStandard(),
|
geoInfoWMS.getWmsRequest(), false, geoInfoWMS.getMapWMSNoStandard(),
|
||||||
geoInfoWMS.isNcWMS(), UUID, geoInfoWMS.getZAxis(), minResolution, maxResolution);
|
geoInfoWMS.isNcWMS(), UUID, geoInfoWMS.getZAxis(), minResolution, maxResolution);
|
||||||
|
@ -1142,7 +1142,6 @@ public class LayerManager {
|
||||||
FlexTable intFlex = new FlexTable();
|
FlexTable intFlex = new FlexTable();
|
||||||
intFlex.setCellPadding(1);
|
intFlex.setCellPadding(1);
|
||||||
intFlex.setCellSpacing(1);
|
intFlex.setCellSpacing(1);
|
||||||
intFlex.getElement().addClassName("thePopDataTable");
|
|
||||||
if (projectDV.getTheDocument() != null) {
|
if (projectDV.getTheDocument() != null) {
|
||||||
LinkedHashMap<String, Object> map = projectDV.getTheDocument().getDocumentAsMap();
|
LinkedHashMap<String, Object> map = projectDV.getTheDocument().getDocumentAsMap();
|
||||||
// my-html-table
|
// my-html-table
|
||||||
|
|
|
@ -32,15 +32,15 @@ public class ExtentWrapped extends ol.Extent {
|
||||||
super(minX, minY, maxX, maxY);
|
super(minX, minY, maxX, maxY);
|
||||||
}
|
}
|
||||||
|
|
||||||
// /**
|
/**
|
||||||
// * @param coordinate coordinate to check.
|
* @param coordinate coordinate to check.
|
||||||
// * @return true if the passed coordinate is contained or on the edge of the
|
* @return true if the passed coordinate is contained or on the edge of the
|
||||||
// * extent.
|
* extent.
|
||||||
// */
|
*/
|
||||||
// @JsOverlay
|
@JsOverlay
|
||||||
// public final Coordinate getCenter() {
|
public final Coordinate getCenter() {
|
||||||
// return getCenter((ol.Extent) this);
|
return getCenter((ol.Extent) this);
|
||||||
// }
|
}
|
||||||
|
|
||||||
@JsMethod(name = "getCenter", namespace = PACKAGE_EXTENT)
|
@JsMethod(name = "getCenter", namespace = PACKAGE_EXTENT)
|
||||||
private static native Coordinate getCenter(Extent extent);
|
private static native Coordinate getCenter(Extent extent);
|
||||||
|
|
|
@ -439,7 +439,7 @@ public abstract class OpenLayerMap {
|
||||||
imageWMSParams.setLayers(layerItem.getName());
|
imageWMSParams.setLayers(layerItem.getName());
|
||||||
|
|
||||||
ImageWmsOptions imageWMSOptions = OLFactory.createOptions();
|
ImageWmsOptions imageWMSOptions = OLFactory.createOptions();
|
||||||
imageWMSOptions.setUrl(layerItem.getMapServerEndpoint());
|
imageWMSOptions.setUrl(layerItem.getMapServerHost());
|
||||||
|
|
||||||
imageWMSOptions.setParams(imageWMSParams);
|
imageWMSOptions.setParams(imageWMSParams);
|
||||||
// imageWMSOptions.setRatio(1.5f);
|
// imageWMSOptions.setRatio(1.5f);
|
||||||
|
@ -544,7 +544,7 @@ public abstract class OpenLayerMap {
|
||||||
imageWMSParams.setLayers(layerItem.getName());
|
imageWMSParams.setLayers(layerItem.getName());
|
||||||
|
|
||||||
ImageWmsOptions imageWMSOptions = OLFactory.createOptions();
|
ImageWmsOptions imageWMSOptions = OLFactory.createOptions();
|
||||||
imageWMSOptions.setUrl(layerItem.getMapServerEndpoint());
|
imageWMSOptions.setUrl(layerItem.getMapServerHost());
|
||||||
imageWMSOptions.setParams(imageWMSParams);
|
imageWMSOptions.setParams(imageWMSParams);
|
||||||
// imageWMSOptions.setRatio(1.5f);
|
// imageWMSOptions.setRatio(1.5f);
|
||||||
|
|
||||||
|
@ -595,7 +595,7 @@ public abstract class OpenLayerMap {
|
||||||
imageWMSParams.setLayers(layerItem.getName());
|
imageWMSParams.setLayers(layerItem.getName());
|
||||||
|
|
||||||
ImageWmsOptions imageWMSOptions = OLFactory.createOptions();
|
ImageWmsOptions imageWMSOptions = OLFactory.createOptions();
|
||||||
imageWMSOptions.setUrl(layerItem.getMapServerEndpoint());
|
imageWMSOptions.setUrl(layerItem.getMapServerHost());
|
||||||
imageWMSOptions.setParams(imageWMSParams);
|
imageWMSOptions.setParams(imageWMSParams);
|
||||||
// imageWMSOptions.setRatio(1.5f);
|
// imageWMSOptions.setRatio(1.5f);
|
||||||
|
|
||||||
|
|
|
@ -11,20 +11,9 @@
|
||||||
top: 50px;
|
top: 50px;
|
||||||
right: 10px;
|
right: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.to-align-left {
|
|
||||||
position: absolute;
|
|
||||||
top: 5px;
|
|
||||||
color: white !important;
|
|
||||||
text-decoration: none !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.to-align-left :hover {
|
|
||||||
color: #F5F5F5;
|
|
||||||
}
|
|
||||||
</ui:style>
|
</ui:style>
|
||||||
<g:HTMLPanel ui:field="detailsHTMLPanel" visible="false">
|
<g:HTMLPanel ui:field="detailsHTMLPanel" visible="false">
|
||||||
<b:Button ui:field="closeButton" addStyleNames="{style.to-align-left}"></b:Button>
|
<b:Button ui:field="closeButton" addStyleNames="{style.to-align-right}"></b:Button>
|
||||||
<g:HTMLPanel ui:field="datailsContainerPanel"></g:HTMLPanel>
|
<g:HTMLPanel ui:field="datailsContainerPanel"></g:HTMLPanel>
|
||||||
</g:HTMLPanel>
|
</g:HTMLPanel>
|
||||||
</ui:UiBinder>
|
</ui:UiBinder>
|
|
@ -14,9 +14,7 @@ import org.gcube.application.geoportalcommon.shared.geoportal.config.layers.Conf
|
||||||
import org.gcube.application.geoportalcommon.shared.geoportal.config.layers.LayerIDV;
|
import org.gcube.application.geoportalcommon.shared.geoportal.config.layers.LayerIDV;
|
||||||
import org.gcube.application.geoportalcommon.shared.geoportal.ucd.UseCaseDescriptorDV;
|
import org.gcube.application.geoportalcommon.shared.geoportal.ucd.UseCaseDescriptorDV;
|
||||||
import org.gcube.application.geoportalcommon.shared.geoportal.view.ProjectView;
|
import org.gcube.application.geoportalcommon.shared.geoportal.view.ProjectView;
|
||||||
import org.gcube.portlets.user.geoportaldataviewer.client.GeoportalDataViewer;
|
|
||||||
import org.gcube.portlets.user.geoportaldataviewer.client.GeoportalDataViewerConstants;
|
import org.gcube.portlets.user.geoportaldataviewer.client.GeoportalDataViewerConstants;
|
||||||
import org.gcube.portlets.user.geoportaldataviewer.client.GeoportalDataViewerConstants.GisToolbarFacilities;
|
|
||||||
import org.gcube.portlets.user.geoportaldataviewer.client.GeoportalDataViewerConstants.MAP_PROJECTION;
|
import org.gcube.portlets.user.geoportaldataviewer.client.GeoportalDataViewerConstants.MAP_PROJECTION;
|
||||||
import org.gcube.portlets.user.geoportaldataviewer.client.events.ChangeMapLayerEvent;
|
import org.gcube.portlets.user.geoportaldataviewer.client.events.ChangeMapLayerEvent;
|
||||||
import org.gcube.portlets.user.geoportaldataviewer.client.events.MapExtentToEvent;
|
import org.gcube.portlets.user.geoportaldataviewer.client.events.MapExtentToEvent;
|
||||||
|
@ -66,7 +64,6 @@ import com.google.gwt.user.client.ui.Image;
|
||||||
import com.google.gwt.user.client.ui.Label;
|
import com.google.gwt.user.client.ui.Label;
|
||||||
import com.google.gwt.user.client.ui.LayoutPanel;
|
import com.google.gwt.user.client.ui.LayoutPanel;
|
||||||
import com.google.gwt.user.client.ui.RadioButton;
|
import com.google.gwt.user.client.ui.RadioButton;
|
||||||
import com.google.gwt.user.client.ui.RootPanel;
|
|
||||||
import com.google.gwt.user.client.ui.ScrollPanel;
|
import com.google.gwt.user.client.ui.ScrollPanel;
|
||||||
import com.google.gwt.user.client.ui.SimplePanel;
|
import com.google.gwt.user.client.ui.SimplePanel;
|
||||||
import com.google.gwt.user.client.ui.Widget;
|
import com.google.gwt.user.client.ui.Widget;
|
||||||
|
@ -80,8 +77,6 @@ import com.google.gwt.user.client.ui.Widget;
|
||||||
*/
|
*/
|
||||||
public class GeonaDataViewMainPanel extends Composite {
|
public class GeonaDataViewMainPanel extends Composite {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private static final String PLACEHOLDER_SELECT_SEARCH_IN = "Select Collection...";
|
private static final String PLACEHOLDER_SELECT_SEARCH_IN = "Select Collection...";
|
||||||
|
|
||||||
private static GeonaDataViewMainPanelUiBinder uiBinder = GWT.create(GeonaDataViewMainPanelUiBinder.class);
|
private static GeonaDataViewMainPanelUiBinder uiBinder = GWT.create(GeonaDataViewMainPanelUiBinder.class);
|
||||||
|
@ -147,10 +142,8 @@ public class GeonaDataViewMainPanel extends Composite {
|
||||||
@UiField
|
@UiField
|
||||||
ListBox navListSearch;
|
ListBox navListSearch;
|
||||||
|
|
||||||
//@UiField
|
@UiField
|
||||||
//ScrollPanel overlayLayersPanel;
|
ScrollPanel overlayLayersPanel;
|
||||||
|
|
||||||
RootPanel overlayLayersPanel = RootPanel.get(GeoportalDataViewer.DIV_LAYER_VIEW);
|
|
||||||
|
|
||||||
@UiField
|
@UiField
|
||||||
ScrollPanel searchFacilityPanel;
|
ScrollPanel searchFacilityPanel;
|
||||||
|
@ -186,7 +179,6 @@ public class GeonaDataViewMainPanel extends Composite {
|
||||||
mapPanel = new MapPanel(mapHeight + "px");
|
mapPanel = new MapPanel(mapHeight + "px");
|
||||||
detailsPanel.setHeight(mapHeight + "px");
|
detailsPanel.setHeight(mapHeight + "px");
|
||||||
detailsPanel.setApplicationBus(applicationBus);
|
detailsPanel.setApplicationBus(applicationBus);
|
||||||
overlayLayersPanel.setVisible(false);
|
|
||||||
mainContainerPanel.add(mapPanel);
|
mainContainerPanel.add(mapPanel);
|
||||||
bindHandlers();
|
bindHandlers();
|
||||||
dataPointSelection.setIcon(IconType.SCREENSHOT);
|
dataPointSelection.setIcon(IconType.SCREENSHOT);
|
||||||
|
@ -289,17 +281,10 @@ public class GeonaDataViewMainPanel extends Composite {
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
openCollectionDropDown.setTitle(GisToolbarFacilities.COLLECTION.getTooltip());
|
|
||||||
linkCustomOverlayLayers.setTitle(GisToolbarFacilities.OVERLAY.getTooltip());
|
|
||||||
linkCrossFilteringLayers.setTitle(GisToolbarFacilities.FILTER.getTooltip());
|
|
||||||
searchFacilityButton.setTitle(GisToolbarFacilities.SEARCH.getTooltip());
|
|
||||||
linkLayers.setTitle(GisToolbarFacilities.LAYERS.getTooltip());
|
|
||||||
linkMap.setTitle(GisToolbarFacilities.MAP.getTooltip());
|
|
||||||
linkPresetLocation.setTitle(GisToolbarFacilities.PRESET_LOCATION.getTooltip());
|
|
||||||
|
|
||||||
// layersDDB.setToggle(true);
|
// layersDDB.setToggle(true);
|
||||||
bindEvents();
|
bindEvents();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -376,27 +361,6 @@ public class GeonaDataViewMainPanel extends Composite {
|
||||||
setOverlayPanelMaxHeight();
|
setOverlayPanelMaxHeight();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setPanelsWidth(int clientWidth) {
|
|
||||||
if(clientWidth<GeoportalDataViewerConstants.TABLET_WIDTH) {
|
|
||||||
openCollectionDropDown.setText("");
|
|
||||||
linkCustomOverlayLayers.setText("");
|
|
||||||
linkCrossFilteringLayers.setText("");
|
|
||||||
searchFacilityButton.setText("");
|
|
||||||
linkLayers.setText("");
|
|
||||||
linkPresetLocation.setText("");
|
|
||||||
linkMap.setText("");
|
|
||||||
}else {
|
|
||||||
openCollectionDropDown.setText(GisToolbarFacilities.COLLECTION.getName());
|
|
||||||
linkCustomOverlayLayers.setText(GisToolbarFacilities.OVERLAY.getName());
|
|
||||||
linkCrossFilteringLayers.setText(GisToolbarFacilities.FILTER.getName());
|
|
||||||
searchFacilityButton.setText(GisToolbarFacilities.SEARCH.getName());
|
|
||||||
linkLayers.setText(GisToolbarFacilities.LAYERS.getName());
|
|
||||||
linkMap.setText(GisToolbarFacilities.MAP.getName());
|
|
||||||
linkPresetLocation.setText(GisToolbarFacilities.PRESET_LOCATION.getName());
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the overlay panel max height.
|
* Sets the overlay panel max height.
|
||||||
|
@ -781,6 +745,4 @@ public class GeonaDataViewMainPanel extends Composite {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -55,15 +55,18 @@
|
||||||
addStyleNames="open-collection-style">
|
addStyleNames="open-collection-style">
|
||||||
</g:HTMLPanel>
|
</g:HTMLPanel>
|
||||||
</b:DropdownButton>
|
</b:DropdownButton>
|
||||||
<b:DropdownButton type="LINK" text="Map" ui:field="linkMap" icon="GLOBE">
|
<b:DropdownButton type="LINK"
|
||||||
|
title="Select the base Map" text="Map" ui:field="linkMap" icon="GLOBE">
|
||||||
<g:HTMLPanel ui:field="panelBaseLayers">
|
<g:HTMLPanel ui:field="panelBaseLayers">
|
||||||
</g:HTMLPanel>
|
</g:HTMLPanel>
|
||||||
</b:DropdownButton>
|
</b:DropdownButton>
|
||||||
<b:DropdownButton type="LINK" visible="false" text="Overlay" ui:field="linkCustomOverlayLayers" icon="REORDER">
|
<b:DropdownButton type="LINK" visible="false"
|
||||||
|
title="Add overlay layers.." text="Overlay" ui:field="linkCustomOverlayLayers" icon="REORDER">
|
||||||
<g:HTMLPanel ui:field="panelCustomOverlayLayers" addStyleNames="overlay-panel-style">
|
<g:HTMLPanel ui:field="panelCustomOverlayLayers" addStyleNames="overlay-panel-style">
|
||||||
</g:HTMLPanel>
|
</g:HTMLPanel>
|
||||||
</b:DropdownButton>
|
</b:DropdownButton>
|
||||||
<b:DropdownButton type="LINK" visible="false" text="Filter" ui:field="linkCrossFilteringLayers" icon="FILTER">
|
<b:DropdownButton type="LINK" visible="false"
|
||||||
|
title="Apply spatial filtering.." text="Filter" ui:field="linkCrossFilteringLayers" icon="FILTER">
|
||||||
<g:HTMLPanel ui:field="panelCrossFilteringLayers" addStyleNames="filter-panel-style">
|
<g:HTMLPanel ui:field="panelCrossFilteringLayers" addStyleNames="filter-panel-style">
|
||||||
</g:HTMLPanel>
|
</g:HTMLPanel>
|
||||||
</b:DropdownButton>
|
</b:DropdownButton>
|
||||||
|
@ -80,7 +83,8 @@
|
||||||
<g:ScrollPanel ui:field="searchFacilityPanel"
|
<g:ScrollPanel ui:field="searchFacilityPanel"
|
||||||
addStyleNames="search-facility"></g:ScrollPanel>
|
addStyleNames="search-facility"></g:ScrollPanel>
|
||||||
</b:DropdownButton>
|
</b:DropdownButton>
|
||||||
<b:DropdownButton type="LINK" text="Preset Location"
|
<b:DropdownButton type="LINK"
|
||||||
|
title="Center Map to Location" text="Preset Location"
|
||||||
ui:field="linkPresetLocation" addStyleNames="preset-location">
|
ui:field="linkPresetLocation" addStyleNames="preset-location">
|
||||||
<b:Nav>
|
<b:Nav>
|
||||||
<b:Button type="LINK" ui:field="extentToItaly"
|
<b:Button type="LINK" ui:field="extentToItaly"
|
||||||
|
@ -105,8 +109,8 @@
|
||||||
text="Remove Query" visible="false"></b:Button>
|
text="Remove Query" visible="false"></b:Button>
|
||||||
<b:Button type="LINK" text="Layers" ui:field="linkLayers">
|
<b:Button type="LINK" text="Layers" ui:field="linkLayers">
|
||||||
</b:Button>
|
</b:Button>
|
||||||
<!-- <g:ScrollPanel ui:field="overlayLayersPanel"
|
<g:ScrollPanel ui:field="overlayLayersPanel"
|
||||||
addStyleNames="layers-panel" visible="false"></g:ScrollPanel> -->
|
addStyleNames="layers-panel" visible="false"></g:ScrollPanel>
|
||||||
</g:HTMLPanel>
|
</g:HTMLPanel>
|
||||||
</g:HTMLPanel>
|
</g:HTMLPanel>
|
||||||
<c:DetailsPanel ui:field="detailsPanel"
|
<c:DetailsPanel ui:field="detailsPanel"
|
||||||
|
|
|
@ -23,7 +23,6 @@
|
||||||
color: white;
|
color: white;
|
||||||
padding: 10px 10px;
|
padding: 10px 10px;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
padding-left: 40px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.width-100 {
|
.width-100 {
|
||||||
|
|
|
@ -219,7 +219,7 @@ public class OverlayCustomLayerPanel extends Composite {
|
||||||
flow.add(new HTMLPanel("Legend for: " + theLayerName));
|
flow.add(new HTMLPanel("Legend for: " + theLayerName));
|
||||||
final HorizontalPanel hpLegend = new HorizontalPanel();
|
final HorizontalPanel hpLegend = new HorizontalPanel();
|
||||||
|
|
||||||
String url = geoInformation.getServiceEndPoint() + "?service=WMS&" + "version="
|
String url = geoInformation.getBaseWmsServiceHost() + "?service=WMS&" + "version="
|
||||||
+ URLUtil.getValueOfParameter("version", wmsLink) + "&" + "request=GetLegendGraphic&" + "layer="
|
+ URLUtil.getValueOfParameter("version", wmsLink) + "&" + "request=GetLegendGraphic&" + "layer="
|
||||||
+ theLayerName;
|
+ theLayerName;
|
||||||
|
|
||||||
|
|
|
@ -66,9 +66,6 @@ public class LayerCollectionPanel extends Composite {
|
||||||
|
|
||||||
@UiField
|
@UiField
|
||||||
HTMLPanel styleListPanel;
|
HTMLPanel styleListPanel;
|
||||||
|
|
||||||
@UiField
|
|
||||||
HTMLPanel statisticPanel;
|
|
||||||
|
|
||||||
@UiField
|
@UiField
|
||||||
Button buttonLegend;
|
Button buttonLegend;
|
||||||
|
@ -112,7 +109,6 @@ public class LayerCollectionPanel extends Composite {
|
||||||
|
|
||||||
buttonLegend.setType(ButtonType.LINK);
|
buttonLegend.setType(ButtonType.LINK);
|
||||||
legendPanel.setVisible(false);
|
legendPanel.setVisible(false);
|
||||||
statisticPanel.setVisible(false);
|
|
||||||
|
|
||||||
GWT.log("Found available collection " + coll);
|
GWT.log("Found available collection " + coll);
|
||||||
String label = coll.getUcd().getName();
|
String label = coll.getUcd().getName();
|
||||||
|
@ -143,31 +139,6 @@ public class LayerCollectionPanel extends Composite {
|
||||||
});
|
});
|
||||||
|
|
||||||
basePanel.add(checkbox);
|
basePanel.add(checkbox);
|
||||||
|
|
||||||
GeoportalDataViewerServiceAsync.Util.getInstance().getCountFor(collectionID, "Published", "OK", new AsyncCallback<Integer>() {
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onFailure(Throwable caught) {
|
|
||||||
// TODO Auto-generated method stub
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onSuccess(Integer result) {
|
|
||||||
|
|
||||||
if(result!=null) {
|
|
||||||
String resultLabel = result+" project";
|
|
||||||
if(result>1) {
|
|
||||||
resultLabel+="s";
|
|
||||||
}
|
|
||||||
resultLabel+= " published";
|
|
||||||
statisticPanel.setVisible(true);
|
|
||||||
statisticPanel.add(new HTML(resultLabel));
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
ViewerConfiguration theConfig = GeoportalDataViewer.getStatus().getViewerConfig();
|
ViewerConfiguration theConfig = GeoportalDataViewer.getStatus().getViewerConfig();
|
||||||
final GCubeCollection toOpen = theConfig.getAvailableCollections().get(collectionID);
|
final GCubeCollection toOpen = theConfig.getAvailableCollections().get(collectionID);
|
||||||
|
@ -300,7 +271,7 @@ public class LayerCollectionPanel extends Composite {
|
||||||
flow.add(new HTMLPanel("Legend for: " + theLayerName));
|
flow.add(new HTMLPanel("Legend for: " + theLayerName));
|
||||||
final HorizontalPanel hpLegend = new HorizontalPanel();
|
final HorizontalPanel hpLegend = new HorizontalPanel();
|
||||||
|
|
||||||
String url = geoInformation.getServiceEndPoint() + "?service=WMS&" + "version="
|
String url = geoInformation.getBaseWmsServiceHost() + "?service=WMS&" + "version="
|
||||||
+ URLUtil.getValueOfParameter("version", wmsLink) + "&" + "request=GetLegendGraphic&" + "layer="
|
+ URLUtil.getValueOfParameter("version", wmsLink) + "&" + "request=GetLegendGraphic&" + "layer="
|
||||||
+ theLayerName;
|
+ theLayerName;
|
||||||
|
|
||||||
|
|
|
@ -10,8 +10,6 @@
|
||||||
<g:HTMLPanel>
|
<g:HTMLPanel>
|
||||||
<g:HTMLPanel ui:field="basePanel">
|
<g:HTMLPanel ui:field="basePanel">
|
||||||
</g:HTMLPanel>
|
</g:HTMLPanel>
|
||||||
<g:HTMLPanel ui:field="statisticPanel" addStyleNames="statistic-style-panel">
|
|
||||||
</g:HTMLPanel>
|
|
||||||
<g:HTMLPanel ui:field="stylePanel" visible="false" addStyleNames="layer-style-panel">
|
<g:HTMLPanel ui:field="stylePanel" visible="false" addStyleNames="layer-style-panel">
|
||||||
Layer Style
|
Layer Style
|
||||||
<g:HorizontalPanel>
|
<g:HorizontalPanel>
|
||||||
|
|
|
@ -65,7 +65,6 @@ import org.gcube.application.geoportalcommon.shared.geoportal.ucd.HandlerDeclara
|
||||||
import org.gcube.application.geoportalcommon.shared.geoportal.ucd.UseCaseDescriptorDV;
|
import org.gcube.application.geoportalcommon.shared.geoportal.ucd.UseCaseDescriptorDV;
|
||||||
import org.gcube.application.geoportalcommon.shared.geoportal.view.ProjectView;
|
import org.gcube.application.geoportalcommon.shared.geoportal.view.ProjectView;
|
||||||
import org.gcube.application.geoportalcommon.shared.gis.BoundsMap;
|
import org.gcube.application.geoportalcommon.shared.gis.BoundsMap;
|
||||||
import org.gcube.application.geoportalcommon.util.StringUtil;
|
|
||||||
import org.gcube.application.geoportalcommon.util.URLParserUtil;
|
import org.gcube.application.geoportalcommon.util.URLParserUtil;
|
||||||
import org.gcube.application.geoportaldatamapper.GcubeProfilesPerUCDIdCache;
|
import org.gcube.application.geoportaldatamapper.GcubeProfilesPerUCDIdCache;
|
||||||
import org.gcube.application.geoportaldatamapper.Geoportal_JSON_Mapper;
|
import org.gcube.application.geoportaldatamapper.Geoportal_JSON_Mapper;
|
||||||
|
@ -263,7 +262,7 @@ public class GeoportalDataViewerServiceImpl extends RemoteServiceServlet impleme
|
||||||
public GeoInformationForWMSRequest loadGeoInfoForWmsRequest(String wmsLink, String layerName) throws Exception {
|
public GeoInformationForWMSRequest loadGeoInfoForWmsRequest(String wmsLink, String layerName) throws Exception {
|
||||||
try {
|
try {
|
||||||
WMSUrlValidator validator = new WMSUrlValidator(wmsLink, layerName);
|
WMSUrlValidator validator = new WMSUrlValidator(wmsLink, layerName);
|
||||||
String wmsServiceServiceEndpoint = validator.getWmsServiceEndPoint();
|
String wmsServiceHost = validator.getWmsServiceHost();
|
||||||
String validWMSRequest = validator.parseWMSRequest(true, true);
|
String validWMSRequest = validator.parseWMSRequest(true, true);
|
||||||
layerName = validator.getLayerName();
|
layerName = validator.getLayerName();
|
||||||
String versionWms = validator.getValueOfParsedWMSParameter(WmsParameters.VERSION);
|
String versionWms = validator.getValueOfParsedWMSParameter(WmsParameters.VERSION);
|
||||||
|
@ -290,8 +289,8 @@ public class GeoportalDataViewerServiceImpl extends RemoteServiceServlet impleme
|
||||||
? new ZAxis(layerZAxis.getUnits(), layerZAxis.isPositive(), layerZAxis.getValues())
|
? new ZAxis(layerZAxis.getUnits(), layerZAxis.isPositive(), layerZAxis.getValues())
|
||||||
: null;
|
: null;
|
||||||
|
|
||||||
return new GeoInformationForWMSRequest(wmsServiceServiceEndpoint, validWMSRequest, layerName, versionWms,
|
return new GeoInformationForWMSRequest(wmsServiceHost, validWMSRequest, layerName, versionWms, crs,
|
||||||
crs, mapWmsNotStandard, styles, styles.isNcWms(), zAxis);
|
mapWmsNotStandard, styles, styles.isNcWms(), zAxis);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
String msg = "An error occurred during wms request validation for layer: " + layerName;
|
String msg = "An error occurred during wms request validation for layer: " + layerName;
|
||||||
LOG.error(msg, e);
|
LOG.error(msg, e);
|
||||||
|
@ -706,7 +705,7 @@ public class GeoportalDataViewerServiceImpl extends RemoteServiceServlet impleme
|
||||||
GCubeSDILayer indexLayer = index.getLayer();
|
GCubeSDILayer indexLayer = index.getLayer();
|
||||||
HashMap<String, String> ogcLinks = indexLayer.getOgcLinks();
|
HashMap<String, String> ogcLinks = indexLayer.getOgcLinks();
|
||||||
String wmsLink = ogcLinks.get("wms");
|
String wmsLink = ogcLinks.get("wms");
|
||||||
LOG.info("wms link is {}", StringUtil.ellipsize(wmsLink, 150));
|
LOG.info("wms link is {}", wmsLink);
|
||||||
int lastCharOfthePath = wmsLink.indexOf("?");
|
int lastCharOfthePath = wmsLink.indexOf("?");
|
||||||
String wmsPath = wmsLink.substring(0, lastCharOfthePath);
|
String wmsPath = wmsLink.substring(0, lastCharOfthePath);
|
||||||
for (GeoServerPlatformInfoDV geoserver : indexLayer.getPlatformInfos()) {
|
for (GeoServerPlatformInfoDV geoserver : indexLayer.getPlatformInfos()) {
|
||||||
|
@ -716,7 +715,7 @@ public class GeoportalDataViewerServiceImpl extends RemoteServiceServlet impleme
|
||||||
LOG.debug("purged wmsPath from the 'workspace' is {}", wmsPath);
|
LOG.debug("purged wmsPath from the 'workspace' is {}", wmsPath);
|
||||||
wmsLink = wmsPath + wmsLink.substring(lastCharOfthePath, wmsLink.length());
|
wmsLink = wmsPath + wmsLink.substring(lastCharOfthePath, wmsLink.length());
|
||||||
ogcLinks.put("wms", wmsLink);
|
ogcLinks.put("wms", wmsLink);
|
||||||
LOG.info("wms link without {} is {}", geoserver.getWorkspace(), StringUtil.ellipsize(wmsLink, 150));
|
LOG.info("wms link without {} is {}", geoserver.getWorkspace(), wmsLink);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return index;
|
return index;
|
||||||
|
@ -864,7 +863,7 @@ public class GeoportalDataViewerServiceImpl extends RemoteServiceServlet impleme
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
protected void onBeforeRequestDeserialized(String serializedRequest) {
|
protected void onBeforeRequestDeserialized(String serializedRequest) {
|
||||||
LOG.debug("onBeforeRequestDeserialized called");
|
LOG.info("onBeforeRequestDeserialized called");
|
||||||
String scope = "";
|
String scope = "";
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
@ -1863,19 +1862,4 @@ public class GeoportalDataViewerServiceImpl extends RemoteServiceServlet impleme
|
||||||
return HTTPRequestUtil.getResponse(url);
|
return HTTPRequestUtil.getResponse(url);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public Integer getCountFor(String profileID, String phase, String status) {
|
|
||||||
LOG.debug("getCountFor profileID: " + profileID + ", phase: " + phase + ", status: " + status + "called");
|
|
||||||
Integer integer = null;
|
|
||||||
try {
|
|
||||||
new GeoportalServiceIdentityProxy(this.getThreadLocalRequest());
|
|
||||||
integer = GeoportalClientCaller.projects().getCountByPhaseFor(profileID, phase, status);
|
|
||||||
LOG.info("getCountFor profileID: " + profileID + ", phase: " + phase + ", status: " + status
|
|
||||||
+ " returning: " + integer);
|
|
||||||
} catch (Exception e) {
|
|
||||||
LOG.error("Error occurred in getCountFor for profileID: " + profileID, e);
|
|
||||||
}
|
|
||||||
return integer;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -61,8 +61,8 @@ public class GisMakers {
|
||||||
public static String buildWFSFeatureQuery(LayerItem layerItem, String mapSrsName, BoundsMap mapBBOX,
|
public static String buildWFSFeatureQuery(LayerItem layerItem, String mapSrsName, BoundsMap mapBBOX,
|
||||||
int maxFeatures, String outputFormat) {
|
int maxFeatures, String outputFormat) {
|
||||||
|
|
||||||
String link = layerItem.getMapServerEndpoint();
|
String link = layerItem.getMapServerHost();
|
||||||
LOG.debug("Map server endpoint: " + link);
|
LOG.debug("Map server host URL: " + link);
|
||||||
LOG.debug("CQL filter is: " + layerItem.getCqlFilter());
|
LOG.debug("CQL filter is: " + layerItem.getCqlFilter());
|
||||||
LOG.debug("MAX FEATURES: " + maxFeatures);
|
LOG.debug("MAX FEATURES: " + maxFeatures);
|
||||||
LOG.debug("BBOX: " + mapBBOX);
|
LOG.debug("BBOX: " + mapBBOX);
|
||||||
|
|
|
@ -24,7 +24,7 @@ public class WMSUrlValidator {
|
||||||
private static final String OWS = "ows";
|
private static final String OWS = "ows";
|
||||||
private HashMap<String, String> parametersValue = new HashMap<String, String>();
|
private HashMap<String, String> parametersValue = new HashMap<String, String>();
|
||||||
private String wmsRequestURI;
|
private String wmsRequestURI;
|
||||||
private String wmsServiceEndPoint;
|
private String wmsServiceHost;
|
||||||
private String layerName;
|
private String layerName;
|
||||||
|
|
||||||
private String wmsNoStandardParameters = "";
|
private String wmsNoStandardParameters = "";
|
||||||
|
@ -48,29 +48,34 @@ public class WMSUrlValidator {
|
||||||
throw new Exception("WMS request is null or empty");
|
throw new Exception("WMS request is null or empty");
|
||||||
|
|
||||||
this.wmsRequestURI = wmsRequest.trim();
|
this.wmsRequestURI = wmsRequest.trim();
|
||||||
|
boolean isOwsService = GeoWmsServiceUtility.isOWSSerice(this.wmsRequestURI);
|
||||||
|
WebMapServerHost webMapServerHost;
|
||||||
|
|
||||||
|
// IS WMS?
|
||||||
|
if (GeoWmsServiceUtility.isWMSService(wmsRequestURI)) {
|
||||||
|
LOG.trace("found " + GeoWmsServiceUtility.SERVICE_WMS + " in wms request: " + wmsRequestURI);
|
||||||
|
webMapServerHost = getWebMapServerHost(wmsRequestURI);
|
||||||
|
} else
|
||||||
|
throw new Exception("WMS service not found for layer: " + inputLayerName);
|
||||||
|
|
||||||
// VALIDATION WMS
|
// VALIDATION WMS
|
||||||
int endpointLastCharIndex = wmsRequest.lastIndexOf("?");
|
String baseWmsService = webMapServerHost.getHost();
|
||||||
// No '?' char found
|
// IS OWS OR WMS?
|
||||||
if (endpointLastCharIndex == -1) {
|
this.wmsServiceHost = appendWmsServiceToBaseUrl(wmsRequest.substring(0, wmsRequest.indexOf("?")), isOwsService);
|
||||||
LOG.info("Char '?' not found, setting last index the end of the URI");
|
this.layerName = inputLayerName;
|
||||||
endpointLastCharIndex = wmsRequest.length();
|
|
||||||
}
|
|
||||||
String readWMSServiceEndpoint = wmsRequest.substring(0, endpointLastCharIndex);
|
|
||||||
this.wmsServiceEndPoint = readWMSServiceEndpoint;
|
|
||||||
try {
|
try {
|
||||||
// VALIDATE WMS SERVICE FOR WEB MAP SERVER
|
// VALIDATE WMS SERVICE FOR WEB MAP SERVER
|
||||||
if (!HttpRequestUtil.urlExists(this.wmsServiceEndPoint, true)) {
|
if (!HttpRequestUtil.urlExists(this.wmsServiceHost, true)) {
|
||||||
LOG.warn("baseWmsServiceUrl: " + wmsServiceEndPoint + " is not valid URL!!");
|
LOG.info("baseWmsServiceUrl: " + wmsServiceHost
|
||||||
this.wmsServiceEndPoint = readWMSServiceEndpoint;
|
+ " is not a geoserver, setting as input base wms server: " + baseWmsService);
|
||||||
|
this.wmsServiceHost = baseWmsService;
|
||||||
}
|
}
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
LOG.error("Error on validating the endpoint: " + this.wmsServiceEndPoint, e);
|
LOG.error("error on validating geoserver wms service: " + e);
|
||||||
boolean isOwsService = GeoWmsServiceUtility.isOWSSerice(this.wmsRequestURI);
|
LOG.info("setting baseWmsService as input base wms server: " + baseWmsService);
|
||||||
LOG.info("Retrying by appending suffix WMS or WFS...");
|
this.wmsServiceHost = baseWmsService;
|
||||||
this.wmsServiceEndPoint = appendWmsServiceToBaseUrl(readWMSServiceEndpoint, isOwsService);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// VALIDATION FOR THREDDS - FIND LAYER NAME INTO WMS PATH
|
// VALIDATION FOR THREDDS - FIND LAYER NAME INTO WMS PATH
|
||||||
|
@ -81,8 +86,7 @@ public class WMSUrlValidator {
|
||||||
throw new Exception("Layer name is null or empty");
|
throw new Exception("Layer name is null or empty");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
LOG.info("WMSURLValidator found endpoint: " + wmsServiceEndPoint);
|
|
||||||
parametersValue.put(WmsParameters.LAYERS.getParameter(), this.layerName);
|
parametersValue.put(WmsParameters.LAYERS.getParameter(), this.layerName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -226,13 +230,13 @@ public class WMSUrlValidator {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the wms service end point.
|
* Gets the wms service host.
|
||||||
*
|
*
|
||||||
* @return the wms service end point
|
* @return the wms service host
|
||||||
*/
|
*/
|
||||||
public String getWmsServiceEndPoint() {
|
public String getWmsServiceHost() {
|
||||||
|
|
||||||
return wmsServiceEndPoint;
|
return wmsServiceHost;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -36,7 +36,7 @@ public class LayerItem implements Serializable, Cloneable {
|
||||||
private String url;
|
private String url;
|
||||||
|
|
||||||
/** The base map server URL. */
|
/** The base map server URL. */
|
||||||
private String mapServerEndpoint;
|
private String mapServerHost;
|
||||||
|
|
||||||
/** The style. */
|
/** The style. */
|
||||||
private String style;
|
private String style;
|
||||||
|
@ -774,21 +774,21 @@ public class LayerItem implements Serializable, Cloneable {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the map server endpoint.
|
* Gets the map server host.
|
||||||
*
|
*
|
||||||
* @return the map server endpoint
|
* @return the map server host
|
||||||
*/
|
*/
|
||||||
public String getMapServerEndpoint() {
|
public String getMapServerHost() {
|
||||||
return mapServerEndpoint;
|
return mapServerHost;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the map server host.
|
* Sets the map server host.
|
||||||
*
|
*
|
||||||
* @param mapServerEndpoint the new map server host
|
* @param mapServerHost the new map server host
|
||||||
*/
|
*/
|
||||||
public void setMapServerHost(String mapServerEndpoint) {
|
public void setMapServerHost(String mapServerHost) {
|
||||||
this.mapServerEndpoint = mapServerEndpoint;
|
this.mapServerHost = mapServerHost;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -881,11 +881,6 @@ public class LayerItem implements Serializable, Cloneable {
|
||||||
return maxResolution;
|
return maxResolution;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* To string.
|
|
||||||
*
|
|
||||||
* @return the string
|
|
||||||
*/
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
StringBuilder builder = new StringBuilder();
|
StringBuilder builder = new StringBuilder();
|
||||||
|
@ -895,8 +890,8 @@ public class LayerItem implements Serializable, Cloneable {
|
||||||
builder.append(title);
|
builder.append(title);
|
||||||
builder.append(", url=");
|
builder.append(", url=");
|
||||||
builder.append(url);
|
builder.append(url);
|
||||||
builder.append(", mapServerEndpoint=");
|
builder.append(", mapServerHost=");
|
||||||
builder.append(mapServerEndpoint);
|
builder.append(mapServerHost);
|
||||||
builder.append(", style=");
|
builder.append(", style=");
|
||||||
builder.append(style);
|
builder.append(style);
|
||||||
builder.append(", isTrasparent=");
|
builder.append(", isTrasparent=");
|
||||||
|
|
|
@ -8,14 +8,15 @@ import java.util.HashMap;
|
||||||
*
|
*
|
||||||
* @author Francesco Mangiacrapa at ISTI-CNR (francesco.mangiacrapa@isti.cnr.it)
|
* @author Francesco Mangiacrapa at ISTI-CNR (francesco.mangiacrapa@isti.cnr.it)
|
||||||
*
|
*
|
||||||
* Oct 27, 2020
|
* Oct 27, 2020
|
||||||
*/
|
*/
|
||||||
public class GeoInformationForWMSRequest implements Serializable {
|
public class GeoInformationForWMSRequest implements Serializable {
|
||||||
|
|
||||||
/** The Constant serialVersionUID. */
|
/** The Constant serialVersionUID. */
|
||||||
private static final long serialVersionUID = -6846636281073641003L;
|
private static final long serialVersionUID = -6846636281073641003L;
|
||||||
|
|
||||||
private String serviceEndPoint;
|
/** The base wms service host. */
|
||||||
|
private String baseWmsServiceHost;
|
||||||
|
|
||||||
/** The wms request. */
|
/** The wms request. */
|
||||||
private String wmsRequest;
|
private String wmsRequest;
|
||||||
|
@ -52,19 +53,20 @@ public class GeoInformationForWMSRequest implements Serializable {
|
||||||
/**
|
/**
|
||||||
* Instantiates a new geo information for wms request.
|
* Instantiates a new geo information for wms request.
|
||||||
*
|
*
|
||||||
* @param serviceEndPoint the base wms service host
|
* @param baseWmsServiceHost the base wms service host
|
||||||
* @param wmsRequest the wms request
|
* @param wmsRequest the wms request
|
||||||
* @param layerName the layer name
|
* @param layerName the layer name
|
||||||
* @param versionWms the version wms
|
* @param versionWms the version wms
|
||||||
* @param crs the crs
|
* @param crs the crs
|
||||||
* @param mapWmsNoStandard the map wms not standard
|
* @param mapWmsNoStandard the map wms not standard
|
||||||
* @param styles the layer styles
|
* @param styles the layer styles
|
||||||
* @param isNcWMS the is nc WMS
|
* @param isNcWMS the is nc WMS
|
||||||
* @param zAxis the z axis
|
* @param zAxis the z axis
|
||||||
*/
|
*/
|
||||||
public GeoInformationForWMSRequest(String serviceEndPoint, String wmsRequest, String layerName, String versionWms,
|
public GeoInformationForWMSRequest(String baseWmsServiceHost, String wmsRequest, String layerName,
|
||||||
String crs, HashMap<String, String> mapWmsNoStandard, Styles styles, boolean isNcWMS, ZAxis zAxis) {
|
String versionWms, String crs, HashMap<String, String> mapWmsNoStandard, Styles styles, boolean isNcWMS,
|
||||||
this.serviceEndPoint = serviceEndPoint;
|
ZAxis zAxis) {
|
||||||
|
this.baseWmsServiceHost = baseWmsServiceHost;
|
||||||
this.wmsRequest = wmsRequest;
|
this.wmsRequest = wmsRequest;
|
||||||
this.layerName = layerName;
|
this.layerName = layerName;
|
||||||
this.versionWMS = versionWms;
|
this.versionWMS = versionWms;
|
||||||
|
@ -96,21 +98,13 @@ public class GeoInformationForWMSRequest implements Serializable {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the service end point.
|
* Gets the base wms service host.
|
||||||
*
|
*
|
||||||
* @return the service end point
|
* @return the baseWmsServiceHost
|
||||||
*/
|
*/
|
||||||
public String getServiceEndPoint() {
|
public String getBaseWmsServiceHost() {
|
||||||
return serviceEndPoint;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
return baseWmsServiceHost;
|
||||||
* Sets the service end point.
|
|
||||||
*
|
|
||||||
* @param serviceEndPoint the new service end point
|
|
||||||
*/
|
|
||||||
public void setServiceEndPoint(String serviceEndPoint) {
|
|
||||||
this.serviceEndPoint = serviceEndPoint;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -186,11 +180,11 @@ public class GeoInformationForWMSRequest implements Serializable {
|
||||||
/**
|
/**
|
||||||
* Sets the base wms service host.
|
* Sets the base wms service host.
|
||||||
*
|
*
|
||||||
* @param baseWmsServiceHost the new base wms service host
|
* @param baseWmsServiceHost the baseWmsServiceHost to set
|
||||||
*/
|
*/
|
||||||
public void setBaseWmsServiceHost(String baseWmsServiceHost) {
|
public void setBaseWmsServiceHost(String baseWmsServiceHost) {
|
||||||
|
|
||||||
this.serviceEndPoint = baseWmsServiceHost;
|
this.baseWmsServiceHost = baseWmsServiceHost;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -277,8 +271,8 @@ public class GeoInformationForWMSRequest implements Serializable {
|
||||||
public String toString() {
|
public String toString() {
|
||||||
|
|
||||||
StringBuilder builder = new StringBuilder();
|
StringBuilder builder = new StringBuilder();
|
||||||
builder.append("GeoInformationForWMSRequest [serviceEndPoint=");
|
builder.append("GeoInformationForWMSRequest [baseWmsServiceHost=");
|
||||||
builder.append(serviceEndPoint);
|
builder.append(baseWmsServiceHost);
|
||||||
builder.append(", wmsRequest=");
|
builder.append(", wmsRequest=");
|
||||||
builder.append(wmsRequest);
|
builder.append(wmsRequest);
|
||||||
builder.append(", layerName=");
|
builder.append(", layerName=");
|
||||||
|
|
|
@ -200,7 +200,7 @@ body {
|
||||||
/*margin-top: 30px;*/
|
/*margin-top: 30px;*/
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
transition: width 0.5s;
|
transition: width 0.5s;
|
||||||
z-index: 950;
|
z-index: 999;
|
||||||
}
|
}
|
||||||
|
|
||||||
.overlay {
|
.overlay {
|
||||||
|
@ -363,16 +363,12 @@ body {
|
||||||
border-radius: 20px;
|
border-radius: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.layer-panel {
|
.layers-panel {
|
||||||
margin-top: 43px;
|
margin-top: 10px;
|
||||||
background-color: white;
|
background-color: white;
|
||||||
opacity: 90%;
|
opacity: 90%;
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
max-width: 430px;
|
width: 410px;
|
||||||
z-index: 500;
|
|
||||||
overflow-y: auto;
|
|
||||||
position: absolute;
|
|
||||||
left: 52px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.dand-layer {
|
.dand-layer {
|
||||||
|
@ -756,6 +752,62 @@ Table Of Contents (TOC)
|
||||||
padding: 20px;
|
padding: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/******************************
|
||||||
|
RESPONSIVE
|
||||||
|
*******************************/
|
||||||
|
|
||||||
|
@media all and (max-width: 2350px) {
|
||||||
|
#timeline-data {
|
||||||
|
width: 700px;
|
||||||
|
left: 550px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media all and (max-width: 2048px) {
|
||||||
|
#timeline-data {
|
||||||
|
width: 600px;
|
||||||
|
left: 310px;
|
||||||
|
bottom: 50px
|
||||||
|
}
|
||||||
|
|
||||||
|
.details-panel {
|
||||||
|
width: 600px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media all and (max-width: 1024px) {
|
||||||
|
#timeline-data {
|
||||||
|
width: 260px;
|
||||||
|
left: 140px;
|
||||||
|
bottom: 50px
|
||||||
|
}
|
||||||
|
.details-panel {
|
||||||
|
width: 400px;
|
||||||
|
}
|
||||||
|
.search-facility {
|
||||||
|
width: 250px;
|
||||||
|
max-width: 300px;
|
||||||
|
}
|
||||||
|
.inner-toolbar {
|
||||||
|
width: 100px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media all and (max-height: 900px) {
|
||||||
|
.ol-popup{
|
||||||
|
min-width: 150px;
|
||||||
|
max-width: 150px;
|
||||||
|
max-height: 150px;
|
||||||
|
overflow-y: scroll;
|
||||||
|
}
|
||||||
|
.ol-popup img {
|
||||||
|
width: 100%;
|
||||||
|
max-width: 150px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* OPEN COLLECTION UI */
|
/* OPEN COLLECTION UI */
|
||||||
.open-collection-style {
|
.open-collection-style {
|
||||||
padding-left: 10px;
|
padding-left: 10px;
|
||||||
|
@ -776,14 +828,6 @@ Table Of Contents (TOC)
|
||||||
color: gray;
|
color: gray;
|
||||||
}
|
}
|
||||||
|
|
||||||
.statistic-style-panel {
|
|
||||||
margin-left: 25px;
|
|
||||||
font-size: 13px;
|
|
||||||
color: gray;
|
|
||||||
font-weight: bold;
|
|
||||||
margin-top: -3px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.layer-style-panel-table-legend table td {
|
.layer-style-panel-table-legend table td {
|
||||||
padding-left: 5px;
|
padding-left: 5px;
|
||||||
}
|
}
|
||||||
|
@ -853,89 +897,3 @@ Table Of Contents (TOC)
|
||||||
.opacity-09 {
|
.opacity-09 {
|
||||||
opacity: 0.9;
|
opacity: 0.9;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/******************************
|
|
||||||
RESPONSIVE
|
|
||||||
*******************************/
|
|
||||||
|
|
||||||
@media all and (max-width: 2350px) {
|
|
||||||
#timeline-data {
|
|
||||||
width: 700px;
|
|
||||||
left: 550px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@media all and (max-width: 2048px) {
|
|
||||||
#timeline-data {
|
|
||||||
width: 600px;
|
|
||||||
left: 310px;
|
|
||||||
bottom: 50px
|
|
||||||
}
|
|
||||||
|
|
||||||
.details-panel {
|
|
||||||
width: 530px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@media all and (max-width: 1601px) {
|
|
||||||
.layers-panel {
|
|
||||||
width: 350px;
|
|
||||||
}
|
|
||||||
.dand-layer {
|
|
||||||
width: 336px;
|
|
||||||
}
|
|
||||||
.thePopDataTable {
|
|
||||||
|
|
||||||
}
|
|
||||||
.search-facility {
|
|
||||||
max-width: 680px;
|
|
||||||
}
|
|
||||||
.search-field {
|
|
||||||
width: 97%;
|
|
||||||
}
|
|
||||||
.ol-popup {
|
|
||||||
min-width: 220px;
|
|
||||||
width: 220px;
|
|
||||||
}
|
|
||||||
.thePopDataTable tr:last-of-type {
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
.layer-panel {
|
|
||||||
width: 355px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@media all and (max-width: 1024px) {
|
|
||||||
#timeline-data {
|
|
||||||
width: 260px;
|
|
||||||
left: 140px;
|
|
||||||
bottom: 50px
|
|
||||||
}
|
|
||||||
.details-panel {
|
|
||||||
width: 400px;
|
|
||||||
}
|
|
||||||
.search-facility {
|
|
||||||
/*width: 250px;
|
|
||||||
max-width: 300px;*/
|
|
||||||
}
|
|
||||||
.inner-toolbar {
|
|
||||||
/*width: 100px;*/
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@media all and (max-height: 900px) {
|
|
||||||
.ol-popup{
|
|
||||||
min-width: 150px;
|
|
||||||
max-width: 150px;
|
|
||||||
max-height: 150px;
|
|
||||||
overflow-y: scroll;
|
|
||||||
}
|
|
||||||
.ol-popup img {
|
|
||||||
width: 100%;
|
|
||||||
max-width: 150px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/******************************
|
|
||||||
END RESPONSIVE
|
|
||||||
*******************************/
|
|
|
@ -10,10 +10,10 @@
|
||||||
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
|
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
|
||||||
|
|
||||||
<link
|
<link
|
||||||
href="//cdn.jsdelivr.net/gh/openlayers/openlayers.github.io@main/dist/en/v6.6.1/css/ol.css"
|
href="//cdn.jsdelivr.net/gh/openlayers/openlayers.github.io@main/dist/en/v6.4.3/css/ol.css"
|
||||||
rel="stylesheet" type="text/css">
|
rel="stylesheet" type="text/css">
|
||||||
<script
|
<script
|
||||||
src="//cdn.jsdelivr.net/gh/openlayers/openlayers.github.io@main/dist/en/v6.6.1/build/ol.js"
|
src="//cdn.jsdelivr.net/gh/openlayers/openlayers.github.io@main/dist/en/v6.4.3/build/ol.js"
|
||||||
type="text/javascript"></script>
|
type="text/javascript"></script>
|
||||||
|
|
||||||
<link
|
<link
|
||||||
|
@ -138,7 +138,6 @@
|
||||||
application to display correctly.</div>
|
application to display correctly.</div>
|
||||||
</noscript>
|
</noscript>
|
||||||
<div id="app-notifier" class="app-notifier"></div>
|
<div id="app-notifier" class="app-notifier"></div>
|
||||||
<div id="layer-viewer" class="layer-panel"></div>
|
|
||||||
<div id="geoportal-data-viewer"></div>
|
<div id="geoportal-data-viewer"></div>
|
||||||
<div class="timeline-container">
|
<div class="timeline-container">
|
||||||
<div id="timeline-data"></div>
|
<div id="timeline-data"></div>
|
||||||
|
|
|
@ -15,11 +15,11 @@
|
||||||
src='<%=request.getContextPath()%>/GeoportalDataViewer/js/bootstrap.min.js'></script>
|
src='<%=request.getContextPath()%>/GeoportalDataViewer/js/bootstrap.min.js'></script>
|
||||||
|
|
||||||
<link
|
<link
|
||||||
href="//cdn.jsdelivr.net/gh/openlayers/openlayers.github.io@main/dist/en/v6.6.1/css/ol.css"
|
href="//cdn.jsdelivr.net/gh/openlayers/openlayers.github.io@main/dist/en/v6.4.3/css/ol.css"
|
||||||
rel="stylesheet" type="text/css">
|
rel="stylesheet" type="text/css">
|
||||||
|
|
||||||
<script
|
<script
|
||||||
src="//cdn.jsdelivr.net/gh/openlayers/openlayers.github.io@main/dist/en/v6.6.1/build/ol.js"
|
src="//cdn.jsdelivr.net/gh/openlayers/openlayers.github.io@main/dist/en/v6.4.3/build/ol.js"
|
||||||
type="text/javascript"></script>
|
type="text/javascript"></script>
|
||||||
|
|
||||||
<link
|
<link
|
||||||
|
@ -111,7 +111,6 @@
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<div id="app-notifier" class="app-notifier"></div>
|
<div id="app-notifier" class="app-notifier"></div>
|
||||||
<div id="layer-viewer" class="layer-panel"></div>
|
|
||||||
<div id="geoportal-data-viewer"></div>
|
<div id="geoportal-data-viewer"></div>
|
||||||
<div class="timeline-container">
|
<div class="timeline-container">
|
||||||
<div id="timeline-data"></div>
|
<div id="timeline-data"></div>
|
||||||
|
|
Loading…
Reference in New Issue