Examples of VectorAccessLimits


Examples of org.geoserver.security.VectorAccessLimits

        UsernamePasswordAuthenticationToken user = new UsernamePasswordAuthenticationToken(
                "area", "area");

        // check we have the geometry filter set
        LayerInfo generic = getCatalog().getLayerByName(getLayerId(MockData.GENERICENTITY));
        VectorAccessLimits vl = (VectorAccessLimits) accessManager.getAccessLimits(user, generic);

        FilterFactory2 ff = CommonFactoryFinder.getFilterFactory2(null);
        Geometry limit = new WKTReader().read("MULTIPOLYGON(((48 62, 48 63, 49 63, 49 62, 48 62)))");
        Filter filter = ff.intersects(ff.property(""), ff.literal(limit));

        assertEquals(filter, vl.getReadFilter());
        assertEquals(filter, vl.getWriteFilter());


    }
View Full Code Here

Examples of org.geoserver.security.VectorAccessLimits

        Catalog catalog = getCatalog();
        FeatureTypeInfo gu = catalog.getFeatureTypeByName("gsml:GeologicUnit");

        // limits for mr readfilter
        Filter f = ff.equal(new AttributeExpressionImpl("gsml:purpose", ns), ff.literal("instance"), false);
        tam.putLimits("cite_readfilter", gu, new VectorAccessLimits(CatalogMode.HIDE, null, f,
                null, null));

        List<PropertyName> readAtts = Arrays.asList(ff.property("gsml:composition"),
                ff.property("gsml:outcropCharacter"));

        tam.putLimits("cite_readatts", gu, new VectorAccessLimits(CatalogMode.HIDE, readAtts, f,
                null, null));

    }
View Full Code Here

Examples of org.geoserver.security.VectorAccessLimits

        FeatureTypeInfo mockFTInfo = createMock(FeatureTypeInfo.class);
        expect(mockFTInfo.getName()).andStubReturn(name);
        expect(mockFTInfo.getStore()).andStubReturn(mockStoreInfo);
        expect(mockStoreInfo.getWorkspace()).andStubReturn(ws);
        replay(mockStoreInfo);
        expect(manager.getAccessLimits(eq(anonymous), eq(mockFTInfo))).andStubReturn(new VectorAccessLimits(mode, null, null, null, null));
        expect(mockFilter.evaluate(mockFTInfo)).andStubReturn(read||mode==CatalogMode.CHALLENGE);
        return mockFTInfo;
    }
View Full Code Here

Examples of org.geoserver.security.VectorAccessLimits

                Filter areaFilter = FF.intersects(FF.property(""), FF.literal(area));
                readFilter = mergeFilter(readFilter, areaFilter);
                writeFilter = mergeFilter(writeFilter, areaFilter);
            }

            return new VectorAccessLimits(catalogMode, readAttributes, readFilter, writeAttributes,
                    writeFilter);
        }
        else if (resource instanceof CoverageInfo)
        {
            MultiPolygon rasterFilter = buildRasterFilter(rule);
View Full Code Here

Examples of org.geoserver.security.VectorAccessLimits

        if(policy.getAccessLevel() == AccessLevel.HIDDEN || policy.getAccessLevel() == AccessLevel.METADATA) {
            return new Query(null, Filter.EXCLUDE);
        } else if(policy.getLimits() == null) {
            return Query.ALL;
        } else if(policy.getLimits() instanceof VectorAccessLimits) {
            VectorAccessLimits val = (VectorAccessLimits) policy.getLimits();
           
            // Ugly hack: during WFS transactions the reads we do are used to count the number of features
            // we are deleting/updating: use the write filter instead of the read filter
            Request request = Dispatcher.REQUEST.get();
            if(request != null && request.getService().equalsIgnoreCase("WFS") && request.getRequest().equalsIgnoreCase("Transaction")) {
                return val.getWriteQuery();
            } else {
                return val.getReadQuery();
            }
           
        } else {
            throw new IllegalArgumentException("SecureFeatureSources has been fed " +
                "with unexpected AccessLimits class " + policy.getLimits().getClass());
View Full Code Here

Examples of org.geoserver.security.VectorAccessLimits

        if(policy.getAccessLevel() == AccessLevel.HIDDEN || policy.getAccessLevel() == AccessLevel.METADATA) {
            return new Query(null, Filter.EXCLUDE);
        } else if(policy.getLimits() == null) {
            return Query.ALL;
        } else if(policy.getLimits() instanceof VectorAccessLimits) {
            VectorAccessLimits val = (VectorAccessLimits) policy.getLimits();
           
            // Ugly hack: during WFS transactions the reads we do are used to count the number of features
            // we are deleting/updating: use the write filter instead of the read filter
            Request request = Dispatcher.REQUEST.get();
            if(request != null && request.getService().equalsIgnoreCase("WFS") && request.getRequest().equalsIgnoreCase("Transaction")) {
                return val.getWriteQuery();
            } else {
                return val.getReadQuery();
            }
           
        } else {
            throw new IllegalArgumentException("SecureFeatureSources has been fed " +
                "with unexpected AccessLimits class " + policy.getLimits().getClass());
View Full Code Here

Examples of org.geoserver.security.VectorAccessLimits

* @author David Winslow, OpenGeo
*/
public class LocalWorkspaceResourceAccessManager extends ResourceAccessManagerWrapper {
    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 {
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.