/** Helper method that extracts from a legend url the width, height and format parameters. */ private LegendsRawInfo extractLegendsInfo(List<StyleImpl> styles) { LegendsRawInfo legendsRawInfo = new LegendsRawInfo(); // setting some acceptable default values legendsRawInfo.setDefaultWidth(20); legendsRawInfo.setDefaultHeight(20); legendsRawInfo.setDefaultFormat("image/png"); for (StyleImpl style : styles) { // extracting legend information from each style LegendRawInfo legendRawInfo = new LegendRawInfo(); legendRawInfo.setStyle(style.getName()); List legendUrls = style.getLegendURLs(); if (legendUrls != null && !legendUrls.isEmpty()) { String legendUrl = (String) legendUrls.get(0); // let's see if we can extract width, height and format from the style legend url legendRawInfo.setWidth(extractIntegerParameter(legendUrl, LEGEND_WIDTH_PATTERN)); legendRawInfo.setHeight(extractIntegerParameter(legendUrl, LEGEND_HEIGHT_PATTERN)); legendRawInfo.setFormat(extractParameter(legendUrl, LEGEND_FORMAT_PATTERN)); // setting the complete legend url legendRawInfo.setCompleteUrl(legendUrl); } legendsRawInfo.addLegendRawInfo(legendRawInfo); } return legendsRawInfo; }
@Override public Object unmarshal(HierarchicalStreamReader reader, UnmarshallingContext context) { LegendsRawInfo legendsRawInfo = new LegendsRawInfo(); // setting the defaults based on legends element attributes legendsRawInfo.setDefaultWidth(toInteger(reader.getAttribute("defaultWidth"))); legendsRawInfo.setDefaultHeight(toInteger(reader.getAttribute("defaultHeight"))); legendsRawInfo.setDefaultFormat(reader.getAttribute("defaultFormat")); // parsing all legends information while (reader.hasMoreChildren()) { reader.moveDown(); legendsRawInfo.addLegendRawInfo(parseLegendRawInfo(reader)); reader.moveUp(); } return legendsRawInfo; }
advertisedLayer.setAdvertised(true); LegendsRawInfo legendsRawInfo = new LegendsRawInfo(); legendsRawInfo.setDefaultWidth(50); legendsRawInfo.setDefaultHeight(100);
LegendsRawInfo legendsRawInfo = new LegendsRawInfo(); legendsRawInfo.setDefaultWidth(50); legendsRawInfo.setDefaultHeight(100);
LegendsRawInfo legendsRawInfo = new LegendsRawInfo(); legendsRawInfo.setDefaultWidth(50); legendsRawInfo.setDefaultHeight(100);