@SuppressWarnings({"rawtypes", "unchecked"}) private void adjustStyles(LayerDefinition layerDefinition, Map<String, ?> layerObj) { Object styles = layerObj.get("styles"); if (styles == null) { /* no style */ } else if (styles instanceof Map) { /* one style */ Map<String, ?> styledef = (Map<String, ?>) styles; String name = (String) styledef.get("name"); if (name == null) { return; } String title = (String) styledef.get("title"); String legend = (String) styledef.get("legend"); String sld = (String) styledef.get("styledLayerDescriptor"); Style style = new LayerDefinition.Style(); style.setName(name); style.setTitle(title); style.setLegend(legend); style.setSld(sld); style.setStyleMap((Map<String, ?>) styledef.get("styleMap")); layerDefinition.getStyles().put(name, style); } else if (styles instanceof List) { /* * N styles */ List<Map<String, ?>> stylelist = (List) styles; for (Map<String, ?> styledef : stylelist) { String name = (String) styledef.get("name"); if (name == null) { name = (String) styledef.get("identifier"); } String title = (String) styledef.get("title"); String legend = (String) styledef.get("legend"); String sld = (String) styledef.get("styledLayerDescriptor"); Style style = new LayerDefinition.Style(); style.setName(name); style.setTitle(title); style.setLegend(legend); style.setSld(sld); style.setStyleMap((Map<String, ?>) styledef.get("styleMap")); layerDefinition.getStyles().put(name, style); } } }