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.application.geoportal.common.model.document.filesets.sdi.GCubeSDILayer; 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; } }