gui_optimization_25461 #16
|
@ -1,16 +1,11 @@
|
||||||
<?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.5.0-SNAPSHOT/WEB-INF/classes" path="src/main/java">
|
<classpathentry kind="src" output="target/geoportal-data-viewer-app-3.6.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"/>
|
||||||
|
@ -35,5 +30,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.5.0-SNAPSHOT/WEB-INF/classes"/>
|
<classpathentry kind="output" path="target/geoportal-data-viewer-app-3.6.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.5.0-SNAPSHOT
|
lastWarOutDir=/home/francescomangiacrapa/git/geoportal-data-viewer-app/target/geoportal-data-viewer-app-3.6.0-SNAPSHOT
|
||||||
warSrcDir=src/main/webapp
|
warSrcDir=src/main/webapp
|
||||||
warSrcDirIsOutput=false
|
warSrcDirIsOutput=false
|
||||||
|
|
|
@ -86,7 +86,15 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<wb-module deploy-name="geoportal-data-viewer-app-3.5.0-SNAPSHOT">
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<wb-module deploy-name="geoportal-data-viewer-app-3.6.0-SNAPSHOT">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -241,6 +249,10 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -329,6 +341,10 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -417,6 +433,10 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -505,93 +525,6 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<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>
|
|
||||||
</dependent-module>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -684,6 +617,10 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -772,6 +709,10 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -860,6 +801,10 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -4,6 +4,11 @@
|
||||||
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-SNAPSHOT]
|
||||||
|
|
||||||
|
- GUI optimization [#25461]
|
||||||
|
- Using the latest libraries version: gwt-ol.v8.4.1 (with openlayers.v6.6.1) and gwt.v2.10
|
||||||
|
|
||||||
## [v3.5.0]
|
## [v3.5.0]
|
||||||
|
|
||||||
- Supported the cross-filtering [#25074]
|
- Supported the cross-filtering [#25074]
|
||||||
|
|
5
pom.xml
5
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.5.0</version>
|
<version>3.6.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,6 +23,7 @@
|
||||||
<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>
|
||||||
|
@ -102,7 +103,7 @@
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.github.tdesjardins</groupId>
|
<groupId>com.github.tdesjardins</groupId>
|
||||||
<artifactId>gwt-ol3</artifactId>
|
<artifactId>gwt-ol3</artifactId>
|
||||||
<version>8.1.0-gwt2_9</version>
|
<version>${gwt.ol.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.github.gwtbootstrap</groupId>
|
<groupId>com.github.gwtbootstrap</groupId>
|
||||||
|
|
|
@ -112,6 +112,8 @@ 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";
|
||||||
|
|
||||||
/** The Constant APP_DIV. */
|
/** The Constant APP_DIV. */
|
||||||
|
@ -415,6 +417,7 @@ public class GeoportalDataViewer implements EntryPoint {
|
||||||
mainPanel.setPanelsHeight(height);
|
mainPanel.setPanelsHeight(height);
|
||||||
GWT.log("Set height: " + height);
|
GWT.log("Set height: " + height);
|
||||||
|
|
||||||
|
mainPanel.setPanelsWidth(Window.getClientWidth());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -15,6 +15,8 @@ import com.google.gwt.i18n.client.DateTimeFormat;
|
||||||
*/
|
*/
|
||||||
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";
|
||||||
|
|
||||||
public static final String GET_WMS_PARAMETER = "wmsrequest";
|
public static final String GET_WMS_PARAMETER = "wmsrequest";
|
||||||
|
@ -37,6 +39,32 @@ 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.
|
||||||
*
|
*
|
||||||
|
|
|
@ -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.getBaseWmsServiceHost(), true, isBase,
|
geoInfoWMS.getWmsRequest(), geoInfoWMS.getServiceEndPoint(), 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,6 +1142,7 @@ 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.getMapServerHost());
|
imageWMSOptions.setUrl(layerItem.getMapServerEndpoint());
|
||||||
|
|
||||||
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.getMapServerHost());
|
imageWMSOptions.setUrl(layerItem.getMapServerEndpoint());
|
||||||
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.getMapServerHost());
|
imageWMSOptions.setUrl(layerItem.getMapServerEndpoint());
|
||||||
imageWMSOptions.setParams(imageWMSParams);
|
imageWMSOptions.setParams(imageWMSParams);
|
||||||
// imageWMSOptions.setRatio(1.5f);
|
// imageWMSOptions.setRatio(1.5f);
|
||||||
|
|
||||||
|
|
|
@ -11,9 +11,20 @@
|
||||||
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-right}"></b:Button>
|
<b:Button ui:field="closeButton" addStyleNames="{style.to-align-left}"></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,7 +14,9 @@ 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;
|
||||||
|
@ -64,6 +66,7 @@ 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;
|
||||||
|
@ -77,6 +80,8 @@ 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);
|
||||||
|
@ -142,8 +147,10 @@ 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;
|
||||||
|
@ -179,6 +186,7 @@ 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);
|
||||||
|
@ -282,9 +290,16 @@ 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();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -362,6 +377,27 @@ public class GeonaDataViewMainPanel extends Composite {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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.
|
||||||
*/
|
*/
|
||||||
|
@ -745,4 +781,6 @@ public class GeonaDataViewMainPanel extends Composite {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -55,18 +55,15 @@
|
||||||
addStyleNames="open-collection-style">
|
addStyleNames="open-collection-style">
|
||||||
</g:HTMLPanel>
|
</g:HTMLPanel>
|
||||||
</b:DropdownButton>
|
</b:DropdownButton>
|
||||||
<b:DropdownButton type="LINK"
|
<b:DropdownButton type="LINK" text="Map" ui:field="linkMap" icon="GLOBE">
|
||||||
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"
|
<b:DropdownButton type="LINK" visible="false" text="Overlay" ui:field="linkCustomOverlayLayers" icon="REORDER">
|
||||||
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"
|
<b:DropdownButton type="LINK" visible="false" text="Filter" ui:field="linkCrossFilteringLayers" icon="FILTER">
|
||||||
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>
|
||||||
|
@ -83,8 +80,7 @@
|
||||||
<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"
|
<b:DropdownButton type="LINK" text="Preset Location"
|
||||||
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"
|
||||||
|
@ -109,8 +105,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,6 +23,7 @@
|
||||||
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.getBaseWmsServiceHost() + "?service=WMS&" + "version="
|
String url = geoInformation.getServiceEndPoint() + "?service=WMS&" + "version="
|
||||||
+ URLUtil.getValueOfParameter("version", wmsLink) + "&" + "request=GetLegendGraphic&" + "layer="
|
+ URLUtil.getValueOfParameter("version", wmsLink) + "&" + "request=GetLegendGraphic&" + "layer="
|
||||||
+ theLayerName;
|
+ theLayerName;
|
||||||
|
|
||||||
|
|
|
@ -271,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.getBaseWmsServiceHost() + "?service=WMS&" + "version="
|
String url = geoInformation.getServiceEndPoint() + "?service=WMS&" + "version="
|
||||||
+ URLUtil.getValueOfParameter("version", wmsLink) + "&" + "request=GetLegendGraphic&" + "layer="
|
+ URLUtil.getValueOfParameter("version", wmsLink) + "&" + "request=GetLegendGraphic&" + "layer="
|
||||||
+ theLayerName;
|
+ theLayerName;
|
||||||
|
|
||||||
|
|
|
@ -65,6 +65,7 @@ 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;
|
||||||
|
@ -262,7 +263,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 wmsServiceHost = validator.getWmsServiceHost();
|
String wmsServiceServiceEndpoint = validator.getWmsServiceEndPoint();
|
||||||
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);
|
||||||
|
@ -289,7 +290,7 @@ 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(wmsServiceHost, validWMSRequest, layerName, versionWms, crs,
|
return new GeoInformationForWMSRequest(wmsServiceServiceEndpoint, validWMSRequest, layerName, versionWms, 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;
|
||||||
|
@ -705,7 +706,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 {}", wmsLink);
|
LOG.info("wms link is {}", StringUtil.ellipsize(wmsLink, 150));
|
||||||
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()) {
|
||||||
|
@ -715,7 +716,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(), wmsLink);
|
LOG.info("wms link without {} is {}", geoserver.getWorkspace(), StringUtil.ellipsize(wmsLink, 150));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return index;
|
return index;
|
||||||
|
@ -863,7 +864,7 @@ public class GeoportalDataViewerServiceImpl extends RemoteServiceServlet impleme
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
protected void onBeforeRequestDeserialized(String serializedRequest) {
|
protected void onBeforeRequestDeserialized(String serializedRequest) {
|
||||||
LOG.info("onBeforeRequestDeserialized called");
|
LOG.debug("onBeforeRequestDeserialized called");
|
||||||
String scope = "";
|
String scope = "";
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|
|
@ -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.getMapServerHost();
|
String link = layerItem.getMapServerEndpoint();
|
||||||
LOG.debug("Map server host URL: " + link);
|
LOG.debug("Map server endpoint: " + 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 wmsServiceHost;
|
private String wmsServiceEndPoint;
|
||||||
private String layerName;
|
private String layerName;
|
||||||
|
|
||||||
private String wmsNoStandardParameters = "";
|
private String wmsNoStandardParameters = "";
|
||||||
|
@ -48,34 +48,29 @@ 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
|
||||||
String baseWmsService = webMapServerHost.getHost();
|
int endpointLastCharIndex = wmsRequest.lastIndexOf("?");
|
||||||
// IS OWS OR WMS?
|
// No '?' char found
|
||||||
this.wmsServiceHost = appendWmsServiceToBaseUrl(wmsRequest.substring(0, wmsRequest.indexOf("?")), isOwsService);
|
if (endpointLastCharIndex == -1) {
|
||||||
this.layerName = inputLayerName;
|
LOG.info("Char '?' not found, setting last index the end of the URI");
|
||||||
|
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.wmsServiceHost, true)) {
|
if (!HttpRequestUtil.urlExists(this.wmsServiceEndPoint, true)) {
|
||||||
LOG.info("baseWmsServiceUrl: " + wmsServiceHost
|
LOG.warn("baseWmsServiceUrl: " + wmsServiceEndPoint + " is not valid URL!!");
|
||||||
+ " is not a geoserver, setting as input base wms server: " + baseWmsService);
|
this.wmsServiceEndPoint = readWMSServiceEndpoint;
|
||||||
this.wmsServiceHost = baseWmsService;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
LOG.error("error on validating geoserver wms service: " + e);
|
LOG.error("Error on validating the endpoint: " + this.wmsServiceEndPoint, e);
|
||||||
LOG.info("setting baseWmsService as input base wms server: " + baseWmsService);
|
boolean isOwsService = GeoWmsServiceUtility.isOWSSerice(this.wmsRequestURI);
|
||||||
this.wmsServiceHost = baseWmsService;
|
LOG.info("Retrying by appending suffix WMS or WFS...");
|
||||||
|
this.wmsServiceEndPoint = appendWmsServiceToBaseUrl(readWMSServiceEndpoint, isOwsService);
|
||||||
}
|
}
|
||||||
|
|
||||||
// VALIDATION FOR THREDDS - FIND LAYER NAME INTO WMS PATH
|
// VALIDATION FOR THREDDS - FIND LAYER NAME INTO WMS PATH
|
||||||
|
@ -87,6 +82,7 @@ public class WMSUrlValidator {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
LOG.info("WMSURLValidator found endpoint: " + wmsServiceEndPoint);
|
||||||
parametersValue.put(WmsParameters.LAYERS.getParameter(), this.layerName);
|
parametersValue.put(WmsParameters.LAYERS.getParameter(), this.layerName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -230,13 +226,13 @@ public class WMSUrlValidator {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the wms service host.
|
* Gets the wms service end point.
|
||||||
*
|
*
|
||||||
* @return the wms service host
|
* @return the wms service end point
|
||||||
*/
|
*/
|
||||||
public String getWmsServiceHost() {
|
public String getWmsServiceEndPoint() {
|
||||||
|
|
||||||
return wmsServiceHost;
|
return wmsServiceEndPoint;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -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 mapServerHost;
|
private String mapServerEndpoint;
|
||||||
|
|
||||||
/** The style. */
|
/** The style. */
|
||||||
private String style;
|
private String style;
|
||||||
|
@ -774,21 +774,21 @@ public class LayerItem implements Serializable, Cloneable {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the map server host.
|
* Gets the map server endpoint.
|
||||||
*
|
*
|
||||||
* @return the map server host
|
* @return the map server endpoint
|
||||||
*/
|
*/
|
||||||
public String getMapServerHost() {
|
public String getMapServerEndpoint() {
|
||||||
return mapServerHost;
|
return mapServerEndpoint;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the map server host.
|
* Sets the map server host.
|
||||||
*
|
*
|
||||||
* @param mapServerHost the new map server host
|
* @param mapServerEndpoint the new map server host
|
||||||
*/
|
*/
|
||||||
public void setMapServerHost(String mapServerHost) {
|
public void setMapServerHost(String mapServerEndpoint) {
|
||||||
this.mapServerHost = mapServerHost;
|
this.mapServerEndpoint = mapServerEndpoint;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -881,6 +881,11 @@ 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();
|
||||||
|
@ -890,8 +895,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(", mapServerHost=");
|
builder.append(", mapServerEndpoint=");
|
||||||
builder.append(mapServerHost);
|
builder.append(mapServerEndpoint);
|
||||||
builder.append(", style=");
|
builder.append(", style=");
|
||||||
builder.append(style);
|
builder.append(style);
|
||||||
builder.append(", isTrasparent=");
|
builder.append(", isTrasparent=");
|
||||||
|
|
|
@ -15,8 +15,7 @@ public class GeoInformationForWMSRequest implements Serializable {
|
||||||
/** The Constant serialVersionUID. */
|
/** The Constant serialVersionUID. */
|
||||||
private static final long serialVersionUID = -6846636281073641003L;
|
private static final long serialVersionUID = -6846636281073641003L;
|
||||||
|
|
||||||
/** The base wms service host. */
|
private String serviceEndPoint;
|
||||||
private String baseWmsServiceHost;
|
|
||||||
|
|
||||||
/** The wms request. */
|
/** The wms request. */
|
||||||
private String wmsRequest;
|
private String wmsRequest;
|
||||||
|
@ -53,7 +52,7 @@ public class GeoInformationForWMSRequest implements Serializable {
|
||||||
/**
|
/**
|
||||||
* Instantiates a new geo information for wms request.
|
* Instantiates a new geo information for wms request.
|
||||||
*
|
*
|
||||||
* @param baseWmsServiceHost the base wms service host
|
* @param serviceEndPoint 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
|
||||||
|
@ -63,10 +62,9 @@ public class GeoInformationForWMSRequest implements Serializable {
|
||||||
* @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 baseWmsServiceHost, String wmsRequest, String layerName,
|
public GeoInformationForWMSRequest(String serviceEndPoint, String wmsRequest, String layerName, String versionWms,
|
||||||
String versionWms, String crs, HashMap<String, String> mapWmsNoStandard, Styles styles, boolean isNcWMS,
|
String crs, HashMap<String, String> mapWmsNoStandard, Styles styles, boolean isNcWMS, ZAxis zAxis) {
|
||||||
ZAxis zAxis) {
|
this.serviceEndPoint = serviceEndPoint;
|
||||||
this.baseWmsServiceHost = baseWmsServiceHost;
|
|
||||||
this.wmsRequest = wmsRequest;
|
this.wmsRequest = wmsRequest;
|
||||||
this.layerName = layerName;
|
this.layerName = layerName;
|
||||||
this.versionWMS = versionWms;
|
this.versionWMS = versionWms;
|
||||||
|
@ -98,13 +96,21 @@ public class GeoInformationForWMSRequest implements Serializable {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the base wms service host.
|
* Gets the service end point.
|
||||||
*
|
*
|
||||||
* @return the baseWmsServiceHost
|
* @return the service end point
|
||||||
*/
|
*/
|
||||||
public String getBaseWmsServiceHost() {
|
public String getServiceEndPoint() {
|
||||||
|
return serviceEndPoint;
|
||||||
|
}
|
||||||
|
|
||||||
return baseWmsServiceHost;
|
/**
|
||||||
|
* Sets the service end point.
|
||||||
|
*
|
||||||
|
* @param serviceEndPoint the new service end point
|
||||||
|
*/
|
||||||
|
public void setServiceEndPoint(String serviceEndPoint) {
|
||||||
|
this.serviceEndPoint = serviceEndPoint;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -180,11 +186,11 @@ public class GeoInformationForWMSRequest implements Serializable {
|
||||||
/**
|
/**
|
||||||
* Sets the base wms service host.
|
* Sets the base wms service host.
|
||||||
*
|
*
|
||||||
* @param baseWmsServiceHost the baseWmsServiceHost to set
|
* @param baseWmsServiceHost the new base wms service host
|
||||||
*/
|
*/
|
||||||
public void setBaseWmsServiceHost(String baseWmsServiceHost) {
|
public void setBaseWmsServiceHost(String baseWmsServiceHost) {
|
||||||
|
|
||||||
this.baseWmsServiceHost = baseWmsServiceHost;
|
this.serviceEndPoint = baseWmsServiceHost;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -271,8 +277,8 @@ public class GeoInformationForWMSRequest implements Serializable {
|
||||||
public String toString() {
|
public String toString() {
|
||||||
|
|
||||||
StringBuilder builder = new StringBuilder();
|
StringBuilder builder = new StringBuilder();
|
||||||
builder.append("GeoInformationForWMSRequest [baseWmsServiceHost=");
|
builder.append("GeoInformationForWMSRequest [serviceEndPoint=");
|
||||||
builder.append(baseWmsServiceHost);
|
builder.append(serviceEndPoint);
|
||||||
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: 999;
|
z-index: 950;
|
||||||
}
|
}
|
||||||
|
|
||||||
.overlay {
|
.overlay {
|
||||||
|
@ -363,12 +363,16 @@ body {
|
||||||
border-radius: 20px;
|
border-radius: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.layers-panel {
|
.layer-panel {
|
||||||
margin-top: 10px;
|
margin-top: 43px;
|
||||||
background-color: white;
|
background-color: white;
|
||||||
opacity: 90%;
|
opacity: 90%;
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
width: 410px;
|
width: 410px;
|
||||||
|
z-index: 500;
|
||||||
|
overflow-y: scroll;
|
||||||
|
position: absolute;
|
||||||
|
left: 52px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.dand-layer {
|
.dand-layer {
|
||||||
|
@ -752,62 +756,6 @@ 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;
|
||||||
|
@ -897,3 +845,89 @@ RESPONSIVE
|
||||||
.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.4.3/css/ol.css"
|
href="//cdn.jsdelivr.net/gh/openlayers/openlayers.github.io@main/dist/en/v6.6.1/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.4.3/build/ol.js"
|
src="//cdn.jsdelivr.net/gh/openlayers/openlayers.github.io@main/dist/en/v6.6.1/build/ol.js"
|
||||||
type="text/javascript"></script>
|
type="text/javascript"></script>
|
||||||
|
|
||||||
<link
|
<link
|
||||||
|
@ -138,6 +138,7 @@
|
||||||
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.4.3/css/ol.css"
|
href="//cdn.jsdelivr.net/gh/openlayers/openlayers.github.io@main/dist/en/v6.6.1/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.4.3/build/ol.js"
|
src="//cdn.jsdelivr.net/gh/openlayers/openlayers.github.io@main/dist/en/v6.6.1/build/ol.js"
|
||||||
type="text/javascript"></script>
|
type="text/javascript"></script>
|
||||||
|
|
||||||
<link
|
<link
|
||||||
|
@ -111,6 +111,7 @@
|
||||||
</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