Package org.geoserver.monitor

Examples of org.geoserver.monitor.RequestData


        }
        monitor.update();
    }

    public void dispatched(Request request, Response response, Restlet restlet) {
        RequestData data = monitor.current();
        if (data == null) {
            //will happen in cases where the filter is not active
            return;
        }
       
        if (restlet instanceof Route) {
            restlet = ((Route)restlet).getNext();
        }
       
        if (restlet instanceof BeanDelegatingRestlet) {
            restlet = ((BeanDelegatingRestlet)restlet).getBean();
        }
       
        if (restlet != null) {
            if (restlet.getClass().getPackage().getName().startsWith("org.geoserver.catalog.rest")) {
               data.setService("RESTConfig");
            }
        }
       
        monitor.update();
    }
View Full Code Here


       
        dao.getRequests(new Query().properties("service", "operation")
                .filter("service", null,  Comparison.NEQ).aggregate("count()")
                .group("service", "operation").sort("count()", SortOrder.DESC), v);
       
        RequestData r = datas.get(0);
        assertEquals("foo", r.getService());
        assertEquals("x", r.getOperation());
        assertEquals(4, ((Number)aggs.get(0)).intValue());
       
        r = datas.get(1);
        assertEquals("bam", r.getService());
        assertEquals("y", r.getOperation());
        assertEquals(2, ((Number)aggs.get(1)).intValue());
    }
View Full Code Here

           
            return q;
        }
        else {
            //return the individual
            RequestData data = monitor.getDAO().getRequest(Long.parseLong(req));
            if (data == null) {
                throw new RestletException("No such request" + req, Status.CLIENT_ERROR_NOT_FOUND);
            }
            return data;
        }
View Full Code Here

        monitor = new Monitor(dao);
    }
   
    @Test
    public void test() throws Exception {
        final RequestData data = monitor.start();
        DispatcherCallback callback = new DispatcherCallback() {
           
            public Service serviceDispatched(Request request, Service service) throws ServiceException {
                return null;
            }
           
            public Response responseDispatched(Request request, Operation operation, Object result,
                    Response response) {
                return null;
            }
           
            public Object operationExecuted(Request request, Operation operation, Object result) {
                return null;
            }
           
            public Operation operationDispatched(Request request, Operation operation) {
                assertEquals(Status.WAITING, data.getStatus());
                return operation;
            }
           
            public Request init(Request request) {
                return null;
            }
           
            public void finished(Request request) {
            }
        };
       

        callback = createProxy(callback);
        callback.operationDispatched(new Request(),
            new Operation("foo", new Service("bar", null, null, null), null, null));
       
        assertEquals(Status.RUNNING, data.getStatus());
    }
View Full Code Here

                    // just want to expose the values directly to the visitor
                    int nprops = q.getProperties().size() + q.getAggregates().size();
                    Object[] values = nprops == 1 ? new Object[]{it.next()} :
                        (Object[]) it.next();
                
                    RequestData data = toRequest(values, q);
                   
                    // aggregate properties
                    Object[] aggregates = !q.getAggregates().isEmpty() ?
                        new Object[q.getAggregates().size()] : null;
                    int off = q.getProperties().size();
View Full Code Here

    protected RequestData toRequest(Object obj, Query q) {
        if (obj instanceof RequestData) {
            return (RequestData) obj;
        }
        Object[] values = obj instanceof Object[] ? (Object[]) obj : new Object[]{obj};
        RequestData data = null;
        try {
            data = RequestData.class.newInstance();
        } catch(Exception e ) {};

        //regular properties
        for (int i = 0; i < q.getProperties().size(); i++) {
            String prop = q.getProperties().get(i);
           
            if (prop.equals("resource")) {
                //this means a joined query in which they selected an individual
                // accesses resource from the RequestData.resources collection
                data.getResources().add((String) values[i]);
            }
            else {
                OwsUtils.set(data, prop, values[i]);
            }
        }
View Full Code Here

        }
       
        boolean isProperty(Object obj) {
            if (obj instanceof String) {
                String s = (String) obj;
                return "resource".equals(s) || OwsUtils.has(new RequestData(), s);
            }
            return false;
        }
View Full Code Here

        return bean;
    }
   
    public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
        if ("operationDispatched".equals(method.getName()) && monitor.current() != null) {
            RequestData data = monitor.current();
            if (data == null) {
                // means monitor is configured but inactive
                return method.invoke(target, args);
            }

            data.setStatus(Status.WAITING);
            monitor.update();
           
            Object result = method.invoke(target, args);
            data.setStatus(Status.RUNNING);
            monitor.update();
            return result;
        }
        else {
            return method.invoke(target, args);
View Full Code Here

    public Service serviceDispatched(Request request, Service service) throws ServiceException {
        return null;
    }
   
    public Operation operationDispatched(Request request, Operation operation) {
        RequestData data = monitor.current();
        if (data == null) {
            //will happen in cases where the filter is not active
            return operation;
        }
       
        data.setCategory(Category.OWS);
        data.setService(operation.getService().getId().toUpperCase());
        data.setOperation(normalizedOpId(operation));
        data.setOwsVersion(operation.getService().getVersion().toString());
       
        if (operation.getParameters().length > 0) {
            //TODO: a better check for the request object
            Object reqObj = operation.getParameters()[0];
            for (RequestObjectHandler h : handlers) {
View Full Code Here

        return null;
    }
   
    public void finished(Request request) {
        if (request.getError() != null) {
            RequestData data = monitor.current();
            if (data == null) {
                //will happen in cases where the filter is not active
                return;
            }
           
            data.setStatus(Status.FAILED);
            data.setErrorMessage(request.getError().getLocalizedMessage());
            data.setError(request.getError());
           
            monitor.update();
        }
    }
View Full Code Here

TOP

Related Classes of org.geoserver.monitor.RequestData

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.