merged with feature/19111

This commit is contained in:
Francesco Mangiacrapa 2020-04-28 10:16:49 +02:00
parent 1f9020831a
commit bc12fbb4ee
11 changed files with 150 additions and 61 deletions

View File

@ -1,16 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" output="target/gis-viewer-app-1.6.0-SNAPSHOT/WEB-INF/classes" path="src/main/java">
<classpathentry kind="src" output="target/gis-viewer-app-1.6.0/WEB-INF/classes" path="src/main/java">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry excluding="**" kind="src" output="target/gis-viewer-app-1.6.0-SNAPSHOT/WEB-INF/classes" path="src/main/resources">
<classpathentry excluding="**" kind="src" output="target/gis-viewer-app-1.6.0/WEB-INF/classes" path="src/main/resources">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="src" path="src/test/resources"/>
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
<attributes>
<attribute name="maven.pomderived" value="true"/>
@ -29,10 +30,10 @@
</classpathentry>
<classpathentry kind="src" output="target/test-classes" path="src/test/java">
<attributes>
<attribute name="test" value="true"/>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
<attribute name="test" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="output" path="target/gis-viewer-app-1.6.0-SNAPSHOT/WEB-INF/classes"/>
<classpathentry kind="output" path="target/gis-viewer-app-1.6.0/WEB-INF/classes"/>
</classpath>

View File

@ -40,11 +40,6 @@
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>com.gwtplugins.gdt.eclipse.core.webAppProjectValidator</name>
<arguments>
@ -55,6 +50,11 @@
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.m2e.core.maven2Nature</nature>

View File

@ -1,5 +1,5 @@
eclipse.preferences.version=1
jarsExcludedFromWebInfLib=
lastWarOutDir=/home/francesco/git/gis-viewer-app/target/gis-viewer-app-1.6.0-SNAPSHOT
lastWarOutDir=/home/francesco/git/gis-viewer-app/target/gis-viewer-app-1.6.0
warSrcDir=src/main/webapp
warSrcDirIsOutput=false

View File

@ -2,6 +2,5 @@ eclipse.preferences.version=1
encoding//src/main/java=UTF-8
encoding//src/main/resources=UTF-8
encoding//src/test/java=UTF-8
encoding//src/test/resources=UTF-8
encoding/<project>=UTF-8
encoding/lib=UTF-8

View File

@ -1,10 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">
<wb-module deploy-name="gis-viewer-app-1.6.0-SNAPSHOT">
<wb-module deploy-name="gis-viewer-app-1.6.0">
<wb-resource deploy-path="/" source-path="/target/m2e-wtp/web-resources"/>
<wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>
<dependent-module archiveName="gis-viewer-4.3.0.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/gis-viewer/gis-viewer">
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/test/resources"/>
<dependent-module archiveName="gis-viewer-4.4.0-SNAPSHOT.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/gis-viewer/gis-viewer">
<dependency-type>uses</dependency-type>
</dependent-module>
<property name="java-output-path" value="/${module}/target/www/WEB-INF/classes"/>

View File

@ -1,40 +1,54 @@
<ReleaseNotes>
<Changeset component="org.gcube.portlets.user.gisvieweapp.1-5-1"
<Changeset
component="org.gcube.portlets.user.gisvieweapp.1-7-0"
date="2020-04-24">
<Change>[Feature #19109] integrated with new Gis-Viewer capabilities</Change>
<Change>[Feature #19111] GisViewer 'zoom' and 'center' to Map readable as HTTP GET parameters</Change>
</Changeset>
<Changeset
component="org.gcube.portlets.user.gisvieweapp.1-5-1"
date="2017-05-17">
<Change>[Task #9104] removed log4j.properies</Change>
</Changeset>
<Changeset component="org.gcube.portlets.user.gisvieweapp.1-5-0"
<Changeset
component="org.gcube.portlets.user.gisvieweapp.1-5-0"
date="2017-05-17">
<Change>Porting to Java8</Change>
<Change>Added layer title as parameter in query string</Change>
<Change>Added meta tag in .html to avoid browser caching</Change>
</Changeset>
<Changeset component="org.gcube.portlets.user.gisvieweapp.1-4-0"
<Changeset
component="org.gcube.portlets.user.gisvieweapp.1-4-0"
date="2016-09-27">
<Change> Upgraded to GWT 2.7</Change>
</Changeset>
<Changeset component="org.gcube.portlets.user.gisvieweapp.1-3-1"
<Changeset
component="org.gcube.portlets.user.gisvieweapp.1-3-1"
date="2016-09-26">
<Change> Porting to GisViewer 4.0.0 </Change>
</Changeset>
<Changeset component="org.gcube.portlets.user.gisvieweapp.1-3-0"
<Changeset
component="org.gcube.portlets.user.gisvieweapp.1-3-0"
date="2016-02-12">
<Change>[Feature #2034] Integrated with geo-utility library</Change>
<Change>[Feature #2250] Updated to support new GisViewer
functionalities
</Change>
</Changeset>
<Changeset component="org.gcube.portlets.user.gisvieweapp.1-2-0"
<Changeset
component="org.gcube.portlets.user.gisvieweapp.1-2-0"
date="2016-01-07">
<Change>fixed z-index on wms balloon</Change>
<Change>changed css</Change>
<Change>Updated according to #1283</Change>
</Changeset>
<Changeset component="org.gcube.portlets.user.gisvieweapp.1-1-0"
<Changeset
component="org.gcube.portlets.user.gisvieweapp.1-1-0"
date="2014-12-07">
<Change>added wms dialog</Change>
</Changeset>
<Changeset component="org.gcube.portlets.user.gisvieweapp.1-0-0"
<Changeset
component="org.gcube.portlets.user.gisvieweapp.1-0-0"
date="2014-09-07">
<Change>first release</Change>
</Changeset>

View File

@ -13,7 +13,7 @@
<groupId>org.gcube.portlets.user</groupId>
<artifactId>gis-viewer-app</artifactId>
<packaging>war</packaging>
<version>1.6.0</version>
<version>1.7.0-SNAPSHOT</version>
<name>Gis Viewer App</name>
<description>
The Gis Viewer App is a web application to interact with Gis Viwewer Widget

View File

@ -7,9 +7,11 @@ import java.util.Date;
import org.gcube.portlets.user.gisviewer.client.Constants;
import org.gcube.portlets.user.gisviewer.client.DataPanelOpenListener;
import org.gcube.portlets.user.gisviewer.client.GisViewerMapLoadedNotification.GisViewerMapLoadedtListener;
import org.gcube.portlets.user.gisviewer.client.GisViewerPanel;
import org.gcube.portlets.user.gisviewer.client.GisViewerParameters;
import org.gcube.portlets.user.gisviewerapp.client.resources.Images;
import org.gwtopenmaps.openlayers.client.LonLat;
import com.extjs.gxt.ui.client.event.ButtonEvent;
import com.extjs.gxt.ui.client.event.ComponentEvent;
@ -58,6 +60,8 @@ public class ApplicationController {
private static final String GCUBE_COOKIE_SHOW_WARNING_FOR_WPS_DATA_POINT_QUERY= "GCUBE-Cookie_GeoWPSQuery_DataPoint_Authorization";
private static final String GCUBE_COOKIE_SHOW_WARNING_FOR_WPS_BOX_QUERY = "GCUBE-Cookie_GeoWPSQuery_Box_Authorization";
public static final long MILLISECS_PER_DAY = 1000L * 60L * 60L * 24L;
private String longLatGetParameter;
private String zoomGetParameter;
/**
* Instantiates a new application controller.
@ -143,48 +147,15 @@ public class ApplicationController {
String wmsRequest = Window.Location.getParameter(ConstantGisViewerApp.GET_WMS_PARAMETER);
String uuid = Window.Location.getParameter(ConstantGisViewerApp.GET_UUID_PARAMETER);
String layerTitle = Window.Location.getParameter(ConstantGisViewerApp.GET_LAYER_TITLE);
longLatGetParameter = Window.Location.getParameter(ConstantGisViewerApp.GET_CENTER_MAP_TO_LONG_LAT);
zoomGetParameter = Window.Location.getParameter(ConstantGisViewerApp.GET_ZOOM);
GWT.log(ConstantGisViewerApp.GET_WMS_PARAMETER+ " = "+wmsRequest);
GWT.log(ConstantGisViewerApp.GET_UUID_PARAMETER+ " = "+uuid);
GWT.log(ConstantGisViewerApp.GET_LAYER_TITLE+ " = "+layerTitle);
boolean displayWarning = readCookieWPSQueryAuthorization(GCUBE_COOKIE_SHOW_WARNING_FOR_WPS_DATA_POINT_QUERY);
GWT.log("Display "+GCUBE_COOKIE_SHOW_WARNING_FOR_WPS_DATA_POINT_QUERY+"? "+displayWarning);
if(displayWarning){
gisViewerPanel.getToolBarPanel().getClickDataToggle().addSelectionListener(new SelectionListener<ButtonEvent>() {
@Override
public void componentSelected(ButtonEvent ce) {
if(!gisViewerPanel.getToolBarPanel().getClickDataToggle().isPressed())
return;
boolean warning = readCookieWPSQueryAuthorization(GCUBE_COOKIE_SHOW_WARNING_FOR_WPS_DATA_POINT_QUERY);
if(warning)
showWarningForWPSService("Warning: gCube authorization required", "You must be authorized to perform the 'Data point query'. Some data could be not available because you are not authorized to contact gCube WPS service", GCUBE_COOKIE_SHOW_WARNING_FOR_WPS_DATA_POINT_QUERY);
}
});
}
displayWarning = readCookieWPSQueryAuthorization(GCUBE_COOKIE_SHOW_WARNING_FOR_WPS_BOX_QUERY);
GWT.log("Display "+GCUBE_COOKIE_SHOW_WARNING_FOR_WPS_BOX_QUERY+"? "+displayWarning);
if(displayWarning){
gisViewerPanel.getToolBarPanel().getBoxDataToggle().addSelectionListener(new SelectionListener<ButtonEvent>() {
@Override
public void componentSelected(ButtonEvent ce) {
if(!gisViewerPanel.getToolBarPanel().getBoxDataToggle().isPressed())
return;
boolean warning = readCookieWPSQueryAuthorization(GCUBE_COOKIE_SHOW_WARNING_FOR_WPS_BOX_QUERY);
if(warning)
showWarningForWPSService("Warning: gCube authorization required", "You must be authorized to perform the 'Data box query'. Some data could be not available because you are not authorized to contact gCube WPS service", GCUBE_COOKIE_SHOW_WARNING_FOR_WPS_BOX_QUERY);
}
});
}
GWT.log(ConstantGisViewerApp.GET_ZOOM+ " = "+zoomGetParameter);
GWT.log(ConstantGisViewerApp.GET_CENTER_MAP_TO_LONG_LAT+ " = "+longLatGetParameter);
addGisViewerHandlers();
if(wmsRequest!=null && !wmsRequest.isEmpty()){
@ -233,6 +204,94 @@ public class ApplicationController {
SetZIndex setZIndex = new SetZIndex();
safeFunctionCallOn(lcWMS,setZIndex);
}
private void addGisViewerHandlers() {
GisViewerMapLoadedtListener listeners = new GisViewerMapLoadedtListener() {
@Override
public void onMapLoaded() {
GWT.log("on Map Loaded fired");
boolean displayWarning = readCookieWPSQueryAuthorization(GCUBE_COOKIE_SHOW_WARNING_FOR_WPS_DATA_POINT_QUERY);
GWT.log("Display "+GCUBE_COOKIE_SHOW_WARNING_FOR_WPS_DATA_POINT_QUERY+"? "+displayWarning);
if (displayWarning) {
gisViewerPanel.getToolBarPanel().getClickDataToggle()
.addSelectionListener(new SelectionListener<ButtonEvent>() {
@Override
public void componentSelected(ButtonEvent ce) {
if (!gisViewerPanel.getToolBarPanel().getClickDataToggle().isPressed())
return;
boolean warning = readCookieWPSQueryAuthorization(
GCUBE_COOKIE_SHOW_WARNING_FOR_WPS_DATA_POINT_QUERY);
if (warning)
showWarningForWPSService("Warning: gCube authorization required",
"You must be authorized to perform the 'Data point query'. Some data could be not available because you are not authorized to contact gCube WPS service",
GCUBE_COOKIE_SHOW_WARNING_FOR_WPS_DATA_POINT_QUERY);
}
});
}
displayWarning = readCookieWPSQueryAuthorization(GCUBE_COOKIE_SHOW_WARNING_FOR_WPS_BOX_QUERY);
GWT.log("Display " + GCUBE_COOKIE_SHOW_WARNING_FOR_WPS_BOX_QUERY + "? " + displayWarning);
if (displayWarning) {
gisViewerPanel.getToolBarPanel().getBoxDataToggle()
.addSelectionListener(new SelectionListener<ButtonEvent>() {
@Override
public void componentSelected(ButtonEvent ce) {
if (!gisViewerPanel.getToolBarPanel().getBoxDataToggle().isPressed())
return;
boolean warning = readCookieWPSQueryAuthorization(
GCUBE_COOKIE_SHOW_WARNING_FOR_WPS_BOX_QUERY);
if (warning)
showWarningForWPSService("Warning: gCube authorization required",
"You must be authorized to perform the 'Data box query'. Some data could be not available because you are not authorized to contact gCube WPS service",
GCUBE_COOKIE_SHOW_WARNING_FOR_WPS_BOX_QUERY);
}
});
}
try {
if(zoomGetParameter!=null) {
int zoomLevel = Integer.parseInt(zoomGetParameter);
gisViewerPanel.getOpenLayersMap().setZoomLevel(zoomLevel);
}
}catch (Exception e) {
GWT.log("BAD value: "+zoomGetParameter+" for parameter: "+ConstantGisViewerApp.GET_ZOOM);
}
try {
if(longLatGetParameter!=null) {
String[] theLongLat = longLatGetParameter.split(",");
LonLat lonlat = new LonLat(Double.parseDouble(theLongLat[0]), Double.parseDouble(theLongLat[1]));
gisViewerPanel.getOpenLayersMap().setCenterAt(lonlat);
}
}catch (Exception e) {
GWT.log("BAD value: "+longLatGetParameter+" for parameter: "+ConstantGisViewerApp.GET_CENTER_MAP_TO_LONG_LAT);
}
}
@Override
public void onFailed(Throwable throwable) {
}
};
gisViewerPanel.addMapLoadedListener(listeners);
}
/**

View File

@ -18,5 +18,7 @@ public class ConstantGisViewerApp {
public static final String GET_UUID_PARAMETER = "uuid";
public static final String WMS_PARAM_SEPARATOR_REPLACEMENT_KEY = "separtor";
public static final String GET_LAYER_TITLE = "layertitle";
public static final String GET_ZOOM = "zoom";
public static final String GET_CENTER_MAP_TO_LONG_LAT = "centermap";
}

View File

@ -30,6 +30,13 @@
<servlet-class>org.gcube.portlets.user.gisviewer.server.DefaultGisViewerServiceImpl</servlet-class>
</servlet>
<!-- Servlets -->
<servlet>
<servlet-name>DownloadWFSFeatures</servlet-name>
<servlet-class>org.gcube.portlets.user.gisviewer.server.DownloadWFSFeaturesServlet</servlet-class>
</servlet>
<!-- GISVIEWER MAP GENERATOR -->
<servlet>
<servlet-name>MapGenerator</servlet-name>
@ -56,6 +63,11 @@
<url-pattern>/GisViewerApp/GisViewerService</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>DownloadWFSFeatures</servlet-name>
<url-pattern>/GisViewerApp/DownloadWFSFeatures</url-pattern>
</servlet-mapping>
<!-- Default page to serve -->
<welcome-file-list>
<welcome-file>GisViewerApp.html</welcome-file>

1
src/test/resources/.gitignore vendored Normal file
View File

@ -0,0 +1 @@
/log4j.properties