From 0460fad0a672d94a8bd00b7692d643857a98693b Mon Sep 17 00:00:00 2001 From: Francesco Mangiacrapa Date: Fri, 22 Feb 2019 15:20:06 +0000 Subject: [PATCH] Added temporary console.log and check git-svn-id: http://svn.d4science-ii.research-infrastructures.eu/gcube/trunk/portlets/widgets/ckan-metadata-publisher-widget@177250 82a268e6-3cf1-43bd-a215-b396298e98cf --- .../GeoJsonAreaSelectionDialog.java | 52 ++++++++++++++----- .../ui/metadata/MetaDataFieldSkeleton.java | 6 ++- 2 files changed, 42 insertions(+), 16 deletions(-) diff --git a/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/openlayerwidget/GeoJsonAreaSelectionDialog.java b/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/openlayerwidget/GeoJsonAreaSelectionDialog.java index 591278e..5c91666 100644 --- a/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/openlayerwidget/GeoJsonAreaSelectionDialog.java +++ b/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/openlayerwidget/GeoJsonAreaSelectionDialog.java @@ -8,7 +8,6 @@ import org.gcube.portlets.widgets.openlayerbasicwidgets.client.event.SelectAreaD import org.gcube.portlets.widgets.openlayerbasicwidgets.client.event.SelectAreaDialogEventType; import org.gcube.portlets.widgets.openlayerbasicwidgets.client.widgets.AreaSelectionDialog; -import com.google.gwt.core.client.GWT; import com.google.gwt.core.client.JavaScriptObject; import com.google.gwt.core.client.JsonUtils; import com.google.gwt.json.client.JSONObject; @@ -38,9 +37,16 @@ public class GeoJsonAreaSelectionDialog extends AreaSelectionDialog{ @Override public void onResponse(SelectAreaDialogEvent event) { - GWT.log("SelectAreaDialog Response: "+event); + print("SelectAreaDialog Response: "+event); + + if(event==null) + return; SelectAreaDialogEventType closedType = event.getSelectAreaDialogEventType(); + + if(closedType==null) + return; + wktArea = null; if(closedType.equals(SelectAreaDialogEventType.Completed)){ wktArea = event.getArea(); @@ -72,17 +78,26 @@ public class GeoJsonAreaSelectionDialog extends AreaSelectionDialog{ * @return the string */ private static native String convertWKTToGeoJSON(String wktData) /*-{ - var ol = $wnd.ol; - var geojson_options = {}; - var wkt_format = new ol.format.WKT(); - var testFeature = wkt_format.readFeature(wktData); - var wkt_options = {}; - var geojson_format = new ol.format.GeoJSON(wkt_options); - var out = geojson_format.writeFeature(testFeature); - //window.getELementById("my-id").innerhtml(out); - //alert(out); - //console.log(out) - return out; + try { + var ol = $wnd.ol; + var geojson_options = {}; + var wkt_format = new ol.format.WKT(); + var testFeature = wkt_format.readFeature(wktData); + var wkt_options = {}; + var geojson_format = new ol.format.GeoJSON(wkt_options); + var out = geojson_format.writeFeature(testFeature); + //window.getELementById("my-id").innerhtml(out); + //alert(out); + console.log(out) + return out; + }catch(err) { + console.log(err.message); + return null; + } + }-*/; + + public static native String print(String data) /*-{ + console.log(out) }-*/; @@ -95,7 +110,11 @@ public class GeoJsonAreaSelectionDialog extends AreaSelectionDialog{ public String wktToGeoJSON(String wktTxt){ String geoJSON = convertWKTToGeoJSON(wktTxt); //Window.alert("geoJSON: "+geoJSON); - GWT.log("geoJSON: "+geoJSON); + print("geoJSON: "+geoJSON); + + if(geoJSON==null) + return null; + JavaScriptObject toJSON = JsonUtils.safeEval(geoJSON); JSONObject objJson = new JSONObject(toJSON); return objJson.get("geometry").toString(); @@ -108,6 +127,11 @@ public class GeoJsonAreaSelectionDialog extends AreaSelectionDialog{ */ public String getWKTToGeoJSON(){ + if(wktArea==null){ + print("wktArea is null"); + return null; + } + return wktToGeoJSON(wktArea); } diff --git a/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/metadata/MetaDataFieldSkeleton.java b/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/metadata/MetaDataFieldSkeleton.java index 6bc8903..18c978c 100644 --- a/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/metadata/MetaDataFieldSkeleton.java +++ b/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/metadata/MetaDataFieldSkeleton.java @@ -149,8 +149,10 @@ public class MetaDataFieldSkeleton extends Composite{ Command fillGeoJSONArea = new Command() { public void execute() { - if(dialog.getWKTToGeoJSON()!=null) - textArea.setText(dialog.getWKTToGeoJSON()); + + String geoJsonGeom = dialog.getWKTToGeoJSON(); + if(geoJsonGeom!=null) + textArea.setText(geoJsonGeom); else{ textArea.setText(""); containerGeoJSON.add(new Alert("Error on drawing the Geometry", AlertType.WARNING, true));