@Override public boolean equals(Object obj) { if (this == obj) return true; if (!super.equals(obj)) return false; if (getClass() != obj.getClass()) return false; WMTSAccessLimits other = (WMTSAccessLimits) obj; if (rasterFilter == null) { if (other.rasterFilter != null) return false; } else if (!rasterFilter.equals(other.rasterFilter)) return false; return true; } }
@Override public int hashCode() { final int prime = 31; int result = super.hashCode(); result = prime * result + ((readAttributes == null) ? 0 : readAttributes.hashCode()); result = prime * result + ((writeAttributes == null) ? 0 : writeAttributes.hashCode()); result = prime * result + ((writeFilter == null) ? 0 : writeFilter.hashCode()); return result; }
private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException { in.defaultReadObject(); readFilter = readFilter(in); }
canRead = dl.getReadFilter() != Filter.EXCLUDE; if (dl instanceof VectorAccessLimits) { canWrite = ((VectorAccessLimits) dl).getWriteFilter() != 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); } }
private void writeObject(ObjectOutputStream out) throws IOException { out.defaultWriteObject(); writeFilter(readFilter, out); }
private boolean canAccess(AccessMode mode, DataAccessLimits limits) { if (limits == null) { return true; } else if (mode == AccessMode.READ) { return limits.getReadFilter() != Filter.EXCLUDE; } else if (mode == AccessMode.WRITE) { if (limits instanceof VectorAccessLimits) { return ((VectorAccessLimits) limits).getWriteFilter() != Filter.EXCLUDE; } else { return false; } } else { throw new RuntimeException("Unknown access mode " + mode); } }
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); } }
new ReferencedEnvelope(ReferencedEnvelope.EVERYTHING, dataCrs); Filter filter = ((DataAccessLimits) limits).getReadFilter(); if (filter != null) {
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); } }
@Override public boolean equals(Object obj) { if (this == obj) return true; if (!super.equals(obj)) return false; if (getClass() != obj.getClass()) return false; WMSAccessLimits other = (WMSAccessLimits) obj; if (allowFeatureInfo != other.allowFeatureInfo) return false; if (rasterFilter == null) { if (other.rasterFilter != null) return false; } else if (!rasterFilter.equals(other.rasterFilter)) return false; return true; } }
@Override public int hashCode() { final int prime = 31; int result = super.hashCode(); result = prime * result + (allowFeatureInfo ? 1231 : 1237); result = prime * result + ((rasterFilter == null) ? 0 : rasterFilter.hashCode()); return result; }
public void testSerializeDataAccessLimits() throws Exception { DataAccessLimits limits = new DataAccessLimits(CatalogMode.CHALLENGE, filter); testObjectSerialization(limits); }
@Override public boolean equals(Object obj) { if (this == obj) return true; if (!super.equals(obj)) return false; if (getClass() != obj.getClass()) return false; VectorAccessLimits other = (VectorAccessLimits) obj; if (readAttributes == null) { if (other.readAttributes != null) return false; } else if (!readAttributes.equals(other.readAttributes)) return false; if (writeAttributes == null) { if (other.writeAttributes != null) return false; } else if (!writeAttributes.equals(other.writeAttributes)) return false; if (writeFilter == null) { if (other.writeFilter != null) return false; } else if (!writeFilter.equals(other.writeFilter)) return false; return true; } }
@Override public int hashCode() { final int prime = 31; int result = super.hashCode(); result = prime * result + Arrays.hashCode(params); result = prime * result + ((rasterFilter == null) ? 0 : rasterFilter.hashCode()); return result; }
@Override public boolean equals(Object obj) { if (this == obj) return true; if (!super.equals(obj)) return false; if (getClass() != obj.getClass()) return false; CoverageAccessLimits other = (CoverageAccessLimits) obj; if (!Arrays.equals(params, other.params)) return false; if (rasterFilter == null) { if (other.rasterFilter != null) return false; } else if (!rasterFilter.equals(other.rasterFilter)) return false; return true; } }
@Override public int hashCode() { final int prime = 31; int result = super.hashCode(); result = prime * result + ((rasterFilter == null) ? 0 : rasterFilter.hashCode()); return result; }