geoportal-data-viewer-app/src/main/java/org/gcube/portlets/user/geoportaldataviewer/server/util/DVConversion.java

69 lines
2.3 KiB
Java

package org.gcube.portlets.user.geoportaldataviewer.server.util;
import org.gcube.application.geoportal.client.utils.Serialization;
import org.gcube.application.geoportal.common.model.configuration.Index;
import org.gcube.portlets.user.geoportaldataviewer.server.faults.InvalidObjectException;
import org.gcube.portlets.user.geoportaldataviewer.shared.gis.IndexLayer;
public class DVConversion {
/**
*
* {
"_type": "GIS-CENTROIDS",
"layer": {
"_type": "gcube-sdi-layer",
"_platformInfo": [
{
"_type": "Geoserver",
"workspace": "profiledconcessioni_devvre",
"storeName": "profiledconcessioni_devvre_centroids",
"_host": "geoserver-218.dev.d4science.org"
}
],
"_bbox": {
"_maxX": 180.0,
"_minX": -180.0,
"_maxY": 90.0,
"_minY": -90.0
},
"_ogcLinks": {
"wms": {
"wms": "https://geoserver-218.dev.d4science.org/geoserver/profiledconcessioni_devvre/wms?service=WMS&version=1.1.0&request=GetMap&layers=profiledconcessioni_devvre:null&styles=&bbox=-180.000000,-90.000000,180.000000,90.000000&srs=EPSG:4326&format=application/openlayers&width=400&height=400"
}
}
},
"indexName": "profiledconcessioni_devvre_centroids",
"records": 4,
"crossReferencedLayers": {},
"flag": "public"
}
* @throws InvalidObjectException
*
*/
public static IndexLayer convert(Index toConvert) throws InvalidObjectException {
IndexLayer toReturn = null;
switch(toConvert.getType()) {
case "GIS-CENTROIDS" : {
toReturn = Serialization.convert(toConvert,IndexLayer.class);
// toReturn.setLayer(Serialization.read(toConvert.get("layer"), GCubeSDILayer.class));
// toReturn.setFlag(toConvert.getString("flag"));
// toReturn.setIndexName(toConvert.getString());
break;
}
default:{
throw new InvalidObjectException("Unable to convert Index. Unknown type : "+toConvert.getType());
}
}
return toReturn;
}
}