use of com.sldeditor.common.SLDData in project sldeditor by robward-scisys.
the class MXDParser method importLayer.
/**
* Import layer.
*
* @param layer the layer
* @param outputFormat the output format
* @return the styled layer descriptor
*/
private SLDDataInterface importLayer(JsonObject layer, SLDOutputFormatEnum outputFormat) {
StyledLayerDescriptor sld = null;
String layerName = layer.get("name").getAsString();
double minScale = layer.get("minScale").getAsDouble();
double maxScale = layer.get("maxScale").getAsDouble();
int transparency = layer.get("transparency").getAsInt();
JsonElement renderElement = layer.get("renderer");
sld = getRenderer(layerName, minScale, maxScale, transparency, renderElement);
JsonElement labelRenderArrayElement = layer.get("labelRenderers");
if (labelRenderArrayElement != null) {
processLabelRenderer(sld, labelRenderArrayElement.getAsJsonArray(), transparency);
}
JsonElement fieldArray = layer.get("fields");
List<DataSourceFieldInterface> fieldList = processFields(layerName, fieldArray);
JsonElement dataSourcePropertiesElement = layer.get("dataSource");
DataSourcePropertiesInterface dataSourceProperties = processDataSource(layerName, dataSourcePropertiesElement);
String sldContents = SLDWriterFactory.createWriter(outputFormat).encodeSLD(sld);
StyleWrapper styleWrapper = new StyleWrapper(layerName, layerName);
SLDDataInterface sldData = new SLDData(styleWrapper, sldContents);
sldData.setDataSourceProperties(dataSourceProperties);
sldData.setFieldList(fieldList);
sldData.setReadOnly(true);
return sldData;
}
Aggregations