DataAccessLimits buildLimits( Class<? extends ResourceInfo> resourceClass, Filter readFilter, Filter writeFilter) { CatalogMode mode = delegate.getMode(); // allow the secure catalog to avoid any kind of wrapping if there are no limits if ((readFilter == null || readFilter == Filter.INCLUDE) && (writeFilter == null || writeFilter == Filter.INCLUDE || WMSLayerInfo.class.isAssignableFrom(resourceClass) || WMTSLayerInfo.class.isAssignableFrom(resourceClass) || CoverageInfo.class.isAssignableFrom(resourceClass))) { return null; } // build the appropriate limit class if (FeatureTypeInfo.class.isAssignableFrom(resourceClass)) { return new VectorAccessLimits(mode, null, readFilter, null, writeFilter); } else if (CoverageInfo.class.isAssignableFrom(resourceClass)) { return new CoverageAccessLimits(mode, readFilter, null, null); } else if (WMSLayerInfo.class.isAssignableFrom(resourceClass)) { return new WMSAccessLimits(mode, readFilter, null, true); } else if (WMTSLayerInfo.class.isAssignableFrom(resourceClass)) { return new WMTSAccessLimits(mode, readFilter, null); } else { LOGGER.log( Level.INFO, "Warning, adapting to generic access limits for unrecognized resource type " + resourceClass); return new DataAccessLimits(mode, readFilter); } }
private DataAccessLimits hide(ResourceInfo info) { if (info instanceof FeatureTypeInfo) { return new VectorAccessLimits( CatalogMode.HIDE, null, Filter.EXCLUDE, null, Filter.EXCLUDE); } else if (info instanceof CoverageInfo) { return new CoverageAccessLimits(CatalogMode.HIDE, Filter.EXCLUDE, null, null); } else if (info instanceof WMSLayerInfo) { return new WMSAccessLimits(CatalogMode.HIDE, Filter.EXCLUDE, null, false); } else { // TODO: Log warning about unknown resource type return new DataAccessLimits(CatalogMode.HIDE, Filter.EXCLUDE); } }
DataAccessLimits buildLimits( Class<? extends ResourceInfo> resourceClass, Filter readFilter, Filter writeFilter) { CatalogMode mode = getMode(); // allow the secure catalog to avoid any kind of wrapping if there are no limits if ((readFilter == null || readFilter == Filter.INCLUDE) && (writeFilter == null || writeFilter == Filter.INCLUDE || WMSLayerInfo.class.isAssignableFrom(resourceClass) || WMTSLayerInfo.class.isAssignableFrom(resourceClass) || CoverageInfo.class.isAssignableFrom(resourceClass))) { return null; } // build the appropriate limit class if (FeatureTypeInfo.class.isAssignableFrom(resourceClass)) { return new VectorAccessLimits(mode, null, readFilter, null, writeFilter); } else if (CoverageInfo.class.isAssignableFrom(resourceClass)) { return new CoverageAccessLimits(mode, readFilter, null, null); } else if (WMSLayerInfo.class.isAssignableFrom(resourceClass)) { return new WMSAccessLimits(mode, readFilter, null, true); } else if (WMTSLayerInfo.class.isAssignableFrom(resourceClass)) { return new WMTSAccessLimits(mode, readFilter, null); } else { LOGGER.log( Level.INFO, "Warning, adapting to generic access limits for unrecognized resource type " + resourceClass); return new DataAccessLimits(mode, readFilter); } }
protected WMSAccessLimits intersection(WMSAccessLimits a, WMSAccessLimits b) { if (a == null) return b; if (b == null) return a; CatalogMode mode = intersection(a.getMode(), b.getMode()); Filter readFilter = intersection(a.getReadFilter(), b.getReadFilter()); MultiPolygon rasterFilter = null; { MultiPolygon aFilter = a.getRasterFilter(), bFilter = b.getRasterFilter(); if (aFilter == null) rasterFilter = bFilter; else if (bFilter == null) rasterFilter = aFilter; else rasterFilter = (MultiPolygon) aFilter.intersection(bFilter); } boolean allowFeatureInfo = a.isAllowFeatureInfo() && b.isAllowFeatureInfo(); return new WMSAccessLimits(mode, readFilter, rasterFilter, allowFeatureInfo); }
public void testWMSAccessLimits() throws Exception { List<PropertyName> properties = new ArrayList<PropertyName>(); properties.add(ff.property("test")); WMSAccessLimits limits = new WMSAccessLimits(CatalogMode.MIXED, filter, g, true); testObjectSerialization(limits); }
MultiPolygon rasterFilter = buildRasterFilter(rule); return new WMSAccessLimits(catalogMode, readFilter, rasterFilter, true); } else { throw new IllegalArgumentException("Don't know how to handle resource " + resource);
MultiPolygon rasterFilter = buildRasterFilter(rule); return new WMSAccessLimits(catalogMode, readFilter, rasterFilter, true); } else { throw new IllegalArgumentException("Don't know how to handle resource " + resource);
"cite_nostates", states, new WMSAccessLimits(CatalogMode.HIDE, Filter.EXCLUDE, null, false)); new WMSAccessLimits(CatalogMode.HIDE, Filter.INCLUDE, null, false)); "cite_texas", states, new WMSAccessLimits(CatalogMode.HIDE, texas, null, true));