Package org.geoserver.geofence.services.dto

Examples of org.geoserver.geofence.services.dto.AccessInfo


        public ListenableFuture<AccessInfo> reload(final RuleFilter filter, AccessInfo accessInfo) throws Exception {
            if(LOGGER.isLoggable(Level.FINE))
                LOGGER.log(Level.FINE, "Reloading {0}", filter);

            // this is a sync implementation
            AccessInfo ret = realRuleReaderService.getAccessInfo(filter);
            return Futures.immediateFuture(ret);

            // next there is an asynchronous implementation, but in tests it seems to hang
//            return ListenableFutureTask.create(new Callable<AccessInfo>() {
//                @Override
View Full Code Here


        int hitExp = 0;
        int missExp = 0;
        int evictExp = 0;

        // first loading, obviously a miss
        AccessInfo ai1_1= cachedRuleReader.getAccessInfo(filter1);

        System.out.println(cachedRuleReader.getStats());
        assertEquals(hitExp, cachedRuleReader.getStats().hitCount());
        assertEquals(++missExp, cachedRuleReader.getStats().missCount());
        assertEquals(evictExp, cachedRuleReader.getStats().evictionCount());

        // second loading with the same rule, should be a hit
        ticker.setMillisec(1);
        AccessInfo ai1_2= cachedRuleReader.getAccessInfo(filter1);

        System.out.println(cachedRuleReader.getStats());
        assertEquals(++hitExp, cachedRuleReader.getStats().hitCount());
        assertEquals(missExp, cachedRuleReader.getStats().missCount());
        assertEquals(evictExp, cachedRuleReader.getStats().evictionCount());

        assertEquals(ai1_1, ai1_2);

        // loading a different filter, a miss again
        ticker.setMillisec(2);
        AccessInfo ai2= cachedRuleReader.getAccessInfo(filter2);

        System.out.println(cachedRuleReader.getStats());
        assertEquals(hitExp, cachedRuleReader.getStats().hitCount());
        assertEquals(++missExp, cachedRuleReader.getStats().missCount());
        assertEquals(evictExp, cachedRuleReader.getStats().evictionCount());

        // yet another different filter. we expect a miss, and an eviction
        ticker.setMillisec(3);
        AccessInfo ai3= cachedRuleReader.getAccessInfo(filter3);

        System.out.println(cachedRuleReader.getStats());
        assertEquals(hitExp, cachedRuleReader.getStats().hitCount());
        assertEquals(++missExp, cachedRuleReader.getStats().missCount());
        assertEquals(++evictExp, cachedRuleReader.getStats().evictionCount());
View Full Code Here

        int hitExp = 0;
        int missExp = 0;
        int evictExp = 0;

        // first loading
        AccessInfo ai1_1= cachedRuleReader.getAccessInfo(filter1);

        System.out.println(cachedRuleReader.getStats());
        assertEquals(hitExp, cachedRuleReader.getStats().hitCount());
        assertEquals(++missExp, cachedRuleReader.getStats().missCount());
        assertEquals(evictExp, cachedRuleReader.getStats().evictionCount());

        // second loading with the same rule, should be a hit
        ticker.setMillisec(1);
        AccessInfo ai1_2= cachedRuleReader.getAccessInfo(filter1);

        System.out.println(cachedRuleReader.getStats());
        assertEquals(++hitExp, cachedRuleReader.getStats().hitCount());
        assertEquals(missExp, cachedRuleReader.getStats().missCount());
        assertEquals(evictExp, cachedRuleReader.getStats().evictionCount());
        assertEquals(1, cachedRuleReader.getStats().loadSuccessCount());

        assertEquals(ai1_1, ai1_2);

        // loading the same filter, after the refresh time
        ticker.setMillisec(600);
//        LOGGER.log(Level.INFO, "We expect a reload() now....");
        System.out.println("---> We expect a reload() now....");
        AccessInfo ai1_3= cachedRuleReader.getAccessInfo(filter1);

        System.out.println(cachedRuleReader.getStats());
        assertEquals(++hitExp, cachedRuleReader.getStats().hitCount());
        assertEquals(missExp, cachedRuleReader.getStats().missCount());
        assertEquals(evictExp, cachedRuleReader.getStats().evictionCount());
View Full Code Here

            ruleFilter.setSourceAddress(RuleFilter.SpecialFilterType.DEFAULT);
        }

        LOGGER.log(Level.FINE, "ResourceInfo filter: {0}", ruleFilter);

        AccessInfo rule = rules.getAccessInfo(ruleFilter);

        if (rule == null)
        {
            rule = AccessInfo.DENY_ALL;
        }
View Full Code Here

            ruleFilter.setWorkspace(resource.getStore().getWorkspace().getName());
            ruleFilter.setLayer(resource.getName());

            LOGGER.log(Level.FINE, "Getting access limits for getLegendGraphic", ruleFilter);

            AccessInfo rule = rules.getAccessInfo(ruleFilter);
           
            // get the requested style
            String styleName = (String) gsRequest.getKvp().get("STYLE");
            if (styleName == null) {
                if (rule.getDefaultStyle() != null) {
                    try {
                        StyleInfo si = catalog.getStyleByName(rule.getDefaultStyle());
                        if (si == null) {
                            throw new ServiceException("Could not find default style suggested "
                                    + "by GeoRepository: " + rule.getDefaultStyle());
                        }
                        getLegend.setStyle(si.getStyle());
                    } catch (IOException e) {
                        throw new ServiceException("Unable to load the style suggested by GeoRepository: "
                                + rule.getDefaultStyle(), e);
                    }
                }
            } else {
                checkStyleAllowed(rule, styleName);
            }
View Full Code Here

              ruleFilter.setLayer(RuleFilter.SpecialFilterType.ANY);
            }

            LOGGER.log(Level.FINE, "Getting access limits for getMap", ruleFilter);

            AccessInfo rule = rules.getAccessInfo(ruleFilter);

            // get the requested style name
            String styleName = (styleNameList.size() > 0) ? styleNameList.get(i) : null;

            // if default use geofence default
            if (styleName != null) {
                checkStyleAllowed(rule, styleName);
            } else if((rule.getDefaultStyle() != null)) {
                try
                {
                    StyleInfo si = catalog.getStyleByName(rule.getDefaultStyle());
                    if (si == null)
                    {
                        throw new ServiceException("Could not find default style suggested " +
                            "by Geofence: " + rule.getDefaultStyle());
                    }

                    Style style = si.getStyle();
                    getMap.getStyles().set(i, style);
                }
                catch (IOException e)
                {
                    throw new ServiceException("Unable to load the style suggested by Geofence: " +
                        rule.getDefaultStyle(), e);
                }
            }
        }
    }
View Full Code Here

TOP

Related Classes of org.geoserver.geofence.services.dto.AccessInfo

Copyright © 2018 www.massapicom. 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.