Merged with branch version updated by Fabio

Updated pom version at 3.8.1

git-svn-id: http://svn.research-infrastructures.eu/public/d4science/gcube/trunk/portlets/user/speciesdiscovery@133170 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
Francesco Mangiacrapa 2016-10-13 13:31:34 +00:00
parent 7931e76c3b
commit 2514c1836e
7 changed files with 171 additions and 80 deletions

View File

@ -1,4 +1,7 @@
<ReleaseNotes>
<Changeset component="org.gcube.portlets-user.species-discovery.3-8-1" date="15-09-2016">
<Change>Removed Gis -viewer dependency</Change>
</Changeset>
<Changeset component="org.gcube.portlets-user.species-discovery.3-8-0"
date="15-05-2015">
<Change>Upgraded to gwt 2.6.1

59
pom.xml
View File

@ -19,7 +19,7 @@
<groupId>org.gcube.portlets.user</groupId>
<artifactId>species-discovery</artifactId>
<packaging>war</packaging>
<version>3.8.0-SNAPSHOT</version>
<version>3.8.1-SNAPSHOT</version>
<name>gCube Species Discovery</name>
<description>
gCube Species Discovery Portlet lets the users discovery species information from the Species Service.
@ -55,8 +55,8 @@
</dependencyManagement>
<dependencies>
<dependency>
<dependency>
<groupId>com.google.gwt</groupId>
<artifactId>gwt-user</artifactId>
<version>${gwtVersion}</version>
@ -106,6 +106,8 @@
<scope>provided</scope>
</dependency>
<!-- Eclipselink dependencies -->
<dependency>
<groupId>org.eclipse.persistence</groupId>
@ -135,12 +137,12 @@
</dependency>
<!-- WSLT dependencies -->
<!-- <dependency> -->
<!-- <groupId>org.gcube.portlets.widgets</groupId> -->
<!-- <artifactId>workspace-light-tree</artifactId> -->
<!-- <version>[2.13.0-SNAPSHOT, 3.0.0-SNAPSHOT)</version> -->
<!-- <scope>compile</scope> -->
<!-- </dependency> -->
<!-- <dependency> -->
<!-- <groupId>org.gcube.portlets.widgets</groupId> -->
<!-- <artifactId>workspace-light-tree</artifactId> -->
<!-- <version>[2.13.0-SNAPSHOT, 3.0.0-SNAPSHOT)</version> -->
<!-- <scope>compile</scope> -->
<!-- </dependency> -->
<dependency>
<groupId>org.gcube.portlets.widgets</groupId>
@ -156,42 +158,17 @@
</dependency>
<!-- GisViewer dependecies -->
<dependency>
<groupId>org.gcube.portlets.user</groupId>
<artifactId>gis-viewer</artifactId>
<version>[3.0.0-SNAPSHOT, 4.0.0-SNAPSHOT)</version>
<scope>compile</scope>
<exclusions>
<exclusion>
<artifactId>servlet-api</artifactId>
<groupId>javax.servlet</groupId>
</exclusion>
<exclusion>
<artifactId>gxt</artifactId>
<groupId>com.sencha.gxt</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.gcube.portlets.user</groupId>
<artifactId>gcube-gis-viewer</artifactId>
<version>[2.0.0-SNAPSHOT, 3.0.0-SNAPSHOT)</version>
<scope>compile</scope>
<exclusions>
<exclusion>
<artifactId>gxt</artifactId>
<groupId>com.sencha.gxt</groupId>
</exclusion>
</exclusions>
<artifactId>uri-resolver-manager</artifactId>
<version>[1.0.0-SNAPSHOT,2.0.0-SNAPSHOT)</version>
</dependency>
<dependency>
<groupId>org.gcube.spatial.data</groupId>
<artifactId>geonetwork</artifactId>
<version>[3.0.0-SNAPSHOT,4.0.0-SNAPSHOT)</version>
</dependency>
<!-- <dependency> -->
<!-- <groupId>org.gwtopenmaps.openlayers</groupId> -->
<!-- <artifactId>gwt-openlayers-client</artifactId> -->
<!-- <version>0.6</version> -->
<!-- <scope>compile</scope> -->
<!-- </dependency> -->
<!-- GWT-LOG -->
<dependency>

View File

@ -9,10 +9,6 @@ import java.util.HashSet;
import java.util.List;
import java.util.Set;
import org.gcube.portlets.user.gcubegisviewer.client.GCubeGisViewer;
import org.gcube.portlets.user.gcubegisviewer.client.event.SaveEvent;
import org.gcube.portlets.user.gcubegisviewer.client.event.SaveHandler;
import org.gcube.portlets.user.gisviewer.client.GisViewerParameters;
import org.gcube.portlets.user.speciesdiscovery.client.advancedsearch.AdvancedSearchPanelManager;
import org.gcube.portlets.user.speciesdiscovery.client.event.ActiveButtonCheckAllRowEvent;
import org.gcube.portlets.user.speciesdiscovery.client.event.ActiveButtonCheckAllRowEventHandler;
@ -1370,49 +1366,65 @@ public class SearchController {
});
}
public void showMap(String layerName)
public void showMap(final String layerName)
{
Log.trace("show Map layer name returned: "+layerName);
Log.trace("Obtaining public link for layer : "+layerName);
GisViewerParameters gisViewerParameters = new GisViewerParameters();
List<String> layers = new ArrayList<String>();
// layers.add(ConstantsSpeciesDiscovery.ENVIRONMENTS);
//// layers.add(ConstantsSpeciesDiscovery.WORLD_BORDERS);
// layers.add(ConstantsSpeciesDiscovery.SST_AN_MEAN);
// layers.add(ConstantsSpeciesDiscovery.PRIM_PROD_MEAN);
// layers.add(ConstantsSpeciesDiscovery.SALINITY_MEAN);
// layers.add(ConstantsSpeciesDiscovery.EEZALL);
// layers.add(ConstantsSpeciesDiscovery.FAOAREA);
// layers.add(ConstantsSpeciesDiscovery.LME);
// layers.add(ConstantsSpeciesDiscovery.DEPTH_MEAN_ANNUAL);
layers.add(layerName);
gisViewerParameters.setOpeningLayers(layers);
GCubeGisViewer gisViewer = new GCubeGisViewer(gisViewerParameters);
gisViewer.addSaveHandler(new SaveHandler() {
SpeciesDiscovery.gisInfoService.getGisLinkByLayerName(layerName, new AsyncCallback<String>() {
@Override
public void onSaveSuccess(SaveEvent event) {
Log.trace("onSaveSuccess "+event);
public void onFailure(Throwable caught) {
Info.display("Error showing the map", "An error occurred while opening the map. Please retry");
Log.error("Error on opening map", "An error occurred while getting gis info for layer : "+layerName+"."+caught.getMessage());
}
@Override
public void onSaveFailure(SaveEvent event) {
Log.trace("onSaveFailure "+event);
}
@Override
public void onSave(SaveEvent event) {
Log.trace("onSave "+event);
public void onSuccess(String result) {
com.google.gwt.user.client.Window.open(result,"Occurrence Map","");
}
});
gisViewer.setMaskOnSaveEvents();
gisViewer.show();
// GisViewerParameters gisViewerParameters = new GisViewerParameters();
// List<String> layers = new ArrayList<String>();
//
//// layers.add(ConstantsSpeciesDiscovery.ENVIRONMENTS);
////// layers.add(ConstantsSpeciesDiscovery.WORLD_BORDERS);
//// layers.add(ConstantsSpeciesDiscovery.SST_AN_MEAN);
//// layers.add(ConstantsSpeciesDiscovery.PRIM_PROD_MEAN);
//// layers.add(ConstantsSpeciesDiscovery.SALINITY_MEAN);
//// layers.add(ConstantsSpeciesDiscovery.EEZALL);
//// layers.add(ConstantsSpeciesDiscovery.FAOAREA);
//// layers.add(ConstantsSpeciesDiscovery.LME);
//// layers.add(ConstantsSpeciesDiscovery.DEPTH_MEAN_ANNUAL);
// layers.add(layerName);
//
// gisViewerParameters.setOpeningLayers(layers);
// GCubeGisViewer gisViewer = new GCubeGisViewer(gisViewerParameters);
//
// gisViewer.addSaveHandler(new SaveHandler() {
//
// @Override
// public void onSaveSuccess(SaveEvent event) {
// Log.trace("onSaveSuccess "+event);
// }
//
// @Override
// public void onSaveFailure(SaveEvent event) {
// Log.trace("onSaveFailure "+event);
// }
//
// @Override
// public void onSave(SaveEvent event) {
// Log.trace("onSave "+event);
// }
// });
//
// gisViewer.setMaskOnSaveEvents();
//
// gisViewer.show();
}

View File

@ -1,5 +1,7 @@
package org.gcube.portlets.user.speciesdiscovery.client;
import org.gcube.portlets.user.speciesdiscovery.client.rpc.GISInfoServiceAsync;
import org.gcube.portlets.user.speciesdiscovery.client.rpc.GISInfoService;
import org.gcube.portlets.user.speciesdiscovery.client.rpc.TaxonomySearchService;
import org.gcube.portlets.user.speciesdiscovery.client.rpc.TaxonomySearchServiceAsync;
@ -26,6 +28,8 @@ public class SpeciesDiscovery implements EntryPoint {
public static TaxonomySearchServiceAsync taxonomySearchService = GWT.create(TaxonomySearchService.class);
public static GISInfoServiceAsync gisInfoService=GWT.create(GISInfoService.class);
protected ContentPanel mainPanel;
/**

View File

@ -0,0 +1,12 @@
package org.gcube.portlets.user.speciesdiscovery.client.rpc;
import com.google.gwt.user.client.rpc.RemoteService;
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;
@RemoteServiceRelativePath("gisinfo")
public interface GISInfoService extends RemoteService {
public String getGisLinkByLayerName(String layername) throws Exception;
}

View File

@ -0,0 +1,9 @@
package org.gcube.portlets.user.speciesdiscovery.client.rpc;
import com.google.gwt.user.client.rpc.AsyncCallback;
public interface GISInfoServiceAsync {
public void getGisLinkByLayerName(String layername, AsyncCallback<String> callback);
}

View File

@ -0,0 +1,74 @@
package org.gcube.portlets.user.speciesdiscovery.server;
import java.util.HashMap;
import java.util.Map;
import org.apache.log4j.Logger;
import org.gcube.common.scope.api.ScopeProvider;
import org.gcube.portlets.user.speciesdiscovery.client.rpc.GISInfoService;
import org.gcube.portlets.user.speciesdiscovery.server.asl.SessionUtil;
import org.gcube.portlets.user.uriresolvermanager.UriResolverManager;
import org.gcube.portlets.user.uriresolvermanager.exception.IllegalArgumentException;
import org.gcube.portlets.user.uriresolvermanager.exception.UriResolverMapException;
import org.gcube.spatial.data.geonetwork.GeoNetwork;
import org.gcube.spatial.data.geonetwork.GeoNetworkReader;
import org.gcube.spatial.data.geonetwork.LoginLevel;
import com.google.gwt.user.server.rpc.RemoteServiceServlet;
import it.geosolutions.geonetwork.util.GNSearchRequest;
import it.geosolutions.geonetwork.util.GNSearchResponse;
import it.geosolutions.geonetwork.util.GNSearchRequest.Config;
import it.geosolutions.geonetwork.util.GNSearchRequest.Param;
public class GisInfoServiceImpl extends RemoteServiceServlet implements GISInfoService{
/**
*
*/
private static final long serialVersionUID = -1137730151475571288L;
protected static Logger logger = Logger.getLogger(GisInfoServiceImpl.class);
@Override
public String getGisLinkByLayerName(String layername) throws Exception {
try{
logger.debug("Received get gis ilnk for layer name : "+layername);
SessionUtil.getAslSession(this.getThreadLocalRequest().getSession());
logger.debug("Loaded ASL, looking for layer thorugh geonetwork..");
String uuid=getUUIDbyGSId(layername);
logger.debug("UUID is "+uuid);
String publicLink=getPublicLink(uuid);
logger.debug("public link is "+publicLink);
return publicLink;
}catch (Exception e){
throw e;
}
}
private static String getPublicLink(String uuid) throws UriResolverMapException, IllegalArgumentException{
UriResolverManager resolver = new UriResolverManager("GIS");
Map<String, String> params = new HashMap<String, String>();
params.put("gis-UUID", uuid);
params.put("scope", ScopeProvider.instance.get());
return resolver.getLink(params, true);
}
private static String getUUIDbyGSId(String gsID) throws Exception{
GeoNetworkReader reader=GeoNetwork.get();
reader.login(LoginLevel.ADMIN);
GNSearchRequest req=new GNSearchRequest();
req.addParam(Param.any, gsID);
req.addConfig(Config.similarity, "1");
GNSearchResponse resp=reader.query(req);
return resp.getMetadata(0).getUUID();
}
}