/** * @param gridSubsetsStr comma separated list of epsg codes (usually just {@code * EPSG:900913,EPSG:4326} * @return the list of parsed grid subsets from the argument JSON array * @throws IllegalArgumentException if {@code str} can't be parsed to a JSONArray */ private static Set<XMLGridSubset> unmarshalGridSubsets(String gridSubsetsStr) throws IllegalArgumentException { Set<XMLGridSubset> gridSubsets = new HashSet<XMLGridSubset>(); // backwards compatibility check for when str comes in as "EPSG:XXX,EPSG:YYY" String[] epsgCodes = gridSubsetsStr.split(","); for (String code : epsgCodes) { if (code.trim().length() == 0) { continue; } try { XMLGridSubset xmlGridSubset = new XMLGridSubset(); xmlGridSubset.setGridSetName(code); gridSubsets.add(xmlGridSubset); } catch (Exception e) { LOGGER.log(Level.WARNING, "Invalid GridSubset list: " + gridSubsetsStr); } } gridSubsets.remove(null); return gridSubsets; }
/** Copy constructor */ public XMLGridSubset(XMLGridSubset sset) { setGridSetName(sset.getGridSetName()); setExtent(sset.getExtent() == null ? null : new BoundingBox(sset.getExtent())); setZoomStart(sset.getZoomStart()); setZoomStop(sset.getZoomStop()); setMinCachedLevel(sset.getMinCachedLevel()); setMaxCachedLevel(sset.getMaxCachedLevel()); }
public GridSubset getGridSubSet(GridSetBroker gridSetBroker) { GridSet gridSet = gridSetBroker.get(getGridSetName()); if (gridSet == null) { log.error("Unable to find GridSet for \"" + getGridSetName() + "\""); return null; } return GridSubsetFactory.createGridSubSet( gridSet, getExtent(), getZoomStart(), getZoomStop(), minCachedLevel, maxCachedLevel); }
@Override public void addGridSubset(GridSubset gridSubset) { XMLGridSubset gridSubsetInfo = new XMLGridSubset(gridSubset); if (gridSubset instanceof DynamicGridSubset) { gridSubsetInfo.setExtent(null); } Set<XMLGridSubset> gridSubsets = new HashSet<XMLGridSubset>(info.getGridSubsets()); gridSubsets.add(gridSubsetInfo); info.setGridSubsets(gridSubsets); this.subSets = null; }
static class CustomLayerImplementation { private String name; private String title; private boolean isAuthorized; private List<String> formats; public CustomLayerImplementation( String name, String title, boolean isAuthorized, List<String> formats) { this.name = name; this.title = title; this.isAuthorized = isAuthorized; this.formats = formats; } }
final String gridSetId = gridSubset.getGridSetName(); final GridSet gridSet = gridSetBroker.get(gridSetId); if (gridSet == null) { continue; BoundingBox extent = gridSubset.getExtent(); if (null == extent) { try { gridSubset.setExtent(extent); GridSubset gridSubSet = gridSubset.getGridSubSet(gridSetBroker);
public void testMarshallingGridSubsets() { List<XMLGridSubset> subsets = new ArrayList<XMLGridSubset>(); XMLGridSubset subset; subset = new XMLGridSubset(); subset.setGridSetName("EPSG:4326"); subset.setZoomStart(1); subset.setZoomStop(10); subset.setExtent(new BoundingBox(0, 0, 180, 90)); subsets.add(subset); subset = new XMLGridSubset(); subset.setGridSetName("EPSG:900913"); subsets.add(subset); subset = new XMLGridSubset(); subset.setGridSetName("GlobalCRS84Scale"); subset.setZoomStart(4); subset.setExtent(new BoundingBox(-100, -40, 100, 40)); subsets.add(subset); info.getGridSubsets().add(subsets.get(0)); testMarshaling(info); info.getGridSubsets().clear(); info.getGridSubsets().add(subsets.get(1)); testMarshaling(info); info.getGridSubsets().clear(); info.getGridSubsets().add(subsets.get(2)); testMarshaling(info); info.getGridSubsets().addAll(subsets); testMarshaling(info); }
/** Builds an XMLGridSubset out of a {@link GridSubset} */ public XMLGridSubset(GridSubset sset) { setGridSetName(sset.getName()); setExtent( sset.getOriginalExtent() == null ? null : new BoundingBox(sset.getOriginalExtent())); setZoomStart(sset.getZoomStart()); setZoomStop(sset.getZoomStop()); setMinCachedLevel(sset.getMinCachedZoom()); setMaxCachedLevel(sset.getMaxCachedZoom()); }
GridSubset gridSubset = xmlGridSubset.getGridSubSet(gridSetBroker); xmlGridSubset.getGridSetName() + " is not known by the GridSetBroker, skipping for layer " + name); subSets.put(converted.getSRS().toString(), converted); gridSubsets.add(new XMLGridSubset(converted));
@Override public XMLGridSubset clone() { return new XMLGridSubset(this); }
private Set<String> gridsetNames(Set<XMLGridSubset> gridSubsets) { Set<String> names = new HashSet<String>(); for (XMLGridSubset gridSubset : gridSubsets) { names.add(gridSubset.getGridSetName()); } return names; }
public void testGridSubsetBoundsClippedToTargetCrsAreaOfValidity() throws Exception { CoordinateReferenceSystem nativeCrs = CRS.decode("EPSG:4326", true); ReferencedEnvelope nativeBounds = new ReferencedEnvelope(-180, 180, -90, 90, nativeCrs); layerGroup.setBounds(nativeBounds); defaults.getDefaultCachingGridSetIds().clear(); defaults.getDefaultCachingGridSetIds().add("EPSG:900913"); layerGroupInfoTileLayer = new GeoServerTileLayer(layerGroup, defaults, gridSetBroker); // force building and setting the bounds to the saved representation layerGroupInfoTileLayer.getGridSubsets(); XMLGridSubset savedSubset = layerGroupInfoTileLayer.getInfo().getGridSubsets().iterator() .next(); BoundingBox gridSubsetExtent = savedSubset.getExtent(); BoundingBox expected = gridSetBroker.WORLD_EPSG3857.getOriginalExtent(); // don't use equals(), it uses an equality threshold we want to avoid here double threshold = 1E-16; assertTrue("Expected " + expected + ", got " + gridSubsetExtent, expected.equals(gridSubsetExtent, threshold)); }
/** * @see java.lang.Object#clone() */ @Override public GeoServerTileLayerInfoImpl clone() { GeoServerTileLayerInfoImpl clone; try { clone = (GeoServerTileLayerInfoImpl) super.clone(); } catch (CloneNotSupportedException e) { throw propagate(e); } clone.metaWidthHeight = metaWidthHeight.clone(); clone.gridSubsets = nonNull(null); for (XMLGridSubset gs : gridSubsets) { clone.gridSubsets.add(gs.clone()); } clone.mimeFormats = nonNull(null); clone.mimeFormats.addAll(mimeFormats); clone.parameterFilters = nonNull(null); for (ParameterFilter pf : parameterFilters) { clone.parameterFilters.add(pf.clone()); } return clone; }
XMLGridSubset xmlGridSubset = new XMLGridSubset(); String gridSetName = gridSet.getName(); xmlGridSubset.setGridSetName(gridSetName); GridSubset gridSubSet = xmlGridSubset.getGridSubSet(broker); subsets.put(gsetName, gridSubSet); bySrs.put(gridSet.getSrs(), gridSubSet);
final String gridSetId = xmlGridSubset.getGridSetName(); final GridSet gridSet = gridSetBroker.get(gridSetId); if (gridSet == null) { continue; BoundingBox extent = xmlGridSubset.getExtent(); boolean dynamic = Objects.isNull(extent); if (dynamic) { xmlGridSubset.setExtent(extent); GridSubset gridSubSet = xmlGridSubset.getGridSubSet(gridSetBroker); if (dynamic) { gridSubSet = new DynamicGridSubset(gridSubSet);
public enum HttpRequestMode { Get, FormPost; }
private Set<String> gridsetNames(Set<XMLGridSubset> gridSubsets) { Set<String> names = new HashSet<String>(); for (XMLGridSubset gridSubset : gridSubsets) { names.add(gridSubset.getGridSetName()); } return names; }
/** @see java.lang.Object#clone() */ @Override public GeoServerTileLayerInfoImpl clone() { GeoServerTileLayerInfoImpl clone; try { clone = (GeoServerTileLayerInfoImpl) super.clone(); } catch (CloneNotSupportedException e) { throw propagate(e); } clone.metaWidthHeight = metaWidthHeight.clone(); clone.gridSubsets = nonNull((Set<XMLGridSubset>) null); for (XMLGridSubset gs : gridSubsets) { clone.gridSubsets.add(gs.clone()); } clone.mimeFormats = nonNull((Set<String>) null); clone.mimeFormats.addAll(mimeFormats); clone.parameterFiltersMap = nonNull((Map<String, ParameterFilter>) null); for (ParameterFilter pf : parameterFiltersMap.values()) { clone.addParameterFilter(pf.clone()); } return clone; }
XMLGridSubset xmlGridSubset = new XMLGridSubset(); String gridSetName = gridSet.getName(); xmlGridSubset.setGridSetName(gridSetName); GridSubset gridSubSet = xmlGridSubset.getGridSubSet(broker); subsets.put(gsetName, gridSubSet);
/** * @param gridSubsetsStr * comma separated list of epsg codes (usually just {@code EPSG:900913,EPSG:4326} * @return the list of parsed grid subsets from the argument JSON array * @throws IllegalArgumentException * if {@code str} can't be parsed to a JSONArray */ private static Set<XMLGridSubset> unmarshalGridSubsets(String gridSubsetsStr) throws IllegalArgumentException { Set<XMLGridSubset> gridSubsets = new HashSet<XMLGridSubset>(); // backwards compatibility check for when str comes in as "EPSG:XXX,EPSG:YYY" String[] epsgCodes = gridSubsetsStr.split(","); for (String code : epsgCodes) { if (code.trim().length() == 0) { continue; } try { XMLGridSubset xmlGridSubset = new XMLGridSubset(); xmlGridSubset.setGridSetName(code); gridSubsets.add(xmlGridSubset); } catch (Exception e) { LOGGER.log(Level.WARNING, "Invalid GridSubset list: " + gridSubsetsStr); } } gridSubsets.remove(null); return gridSubsets; }