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]); } } return data; }
protected RequestData data( long id, String path, String start, String end, String status, String owsService, String owsOperation, String... layers) throws ParseException { RequestData data = data(id, path, start, end, status); data.setService(owsService); data.setOperation(owsOperation); data.setResources(Arrays.asList(layers)); return data; }
public static void assertCoveredInOrder(List<RequestData> datas, int... id) { assertEquals(id.length, datas.size()); for (int i = 0; i < id.length; i++) { assertEquals(id[i], datas.get(i).getId()); } } }
protected RequestData data(long id, String path, String start, String end, String status) throws ParseException { RequestData data = new RequestData(); data.setPath(path); data.setStartTime(toDate(start)); data.setEndTime(toDate(end)); data.setStatus(Status.valueOf(status)); return data; }
@Test public void testUpdate() throws Exception { RequestData data = dao.getRequest(1); data.setPath("/one_updated"); dao.update(data); data = dao.getRequest(1); assertEquals("/one_updated", data.getPath()); data.getResources().add("one_layer"); dao.update(data); data = dao.getRequest(1); assertEquals(1, data.getResources().size()); assertEquals("one_layer", data.getResources().get(0)); }
@Test public void testWMSGetMap() throws Exception { GetMapRequest gm = new GetMapRequest(); gm.setLayers(Arrays.asList(createMapLayer("foo", "acme"))); Envelope env = new Envelope(100,110,70,80); CoordinateReferenceSystem crs = CRS.decode("EPSG:4326", true); CoordinateReferenceSystem logCrs = CRS.decode("EPSG:4326"); gm.setBbox(env); gm.setCrs(crs); callback.operationDispatched(new Request(), op("GetMap", "WMS", "1.1.1", gm)); assertEquals("acme:foo", data.getResources().get(0)); BBoxAsserts.assertEqualsBbox(new ReferencedEnvelope(env,crs).toBounds(logCrs), data.getBbox(), 0.1); }
public void testWithBody() throws Exception { chain.setServlet(new HttpServlet() { @Override public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException { req.getInputStream().read(new byte[LONG_BODY_SIZE]); res.getOutputStream().write("hello".getBytes()); } }); HttpServletRequest req = request("POST", "/bar/foo", "78.56.34.12", "baz", null); filter.doFilter(req, response(), chain); RequestData data = dao.getLast(); assertEquals("POST", data.getHttpMethod()); assertEquals("/bar/foo", data.getPath()); assertEquals("78.56.34.12", data.getRemoteAddr()); assertNull(data.getHttpReferer()); assertEquals(new String(data.getBody()), "baz"); assertEquals(3, data.getBodyContentLength()); assertEquals(5, data.getResponseLength()); } public void testWithLongBody() throws Exception {
public void testSimple() throws Exception { HttpServletRequest req = request("GET", "/foo/bar", "12.34.56.78", null, null); filter.doFilter(req, response(), chain); RequestData data = dao.getLast(); assertEquals("GET", data.getHttpMethod()); assertEquals("/foo/bar", data.getPath()); assertEquals("12.34.56.78", data.getRemoteAddr()); assertNull(data.getHttpReferer()); }
RequestData data = new RequestData(); data.setId(12345); data.setPath("/foo"); data.setStartTime(startTime); data.setBody("<foo></foo>".getBytes()); data.setError(throwable);
public void testGetAllCSVQuery() throws Exception { RequestResource.CSVFormat format = new RequestResource.CSVFormat( new String[]{"id", "path", "startTime"}, monitor); ByteArrayOutputStream out = new ByteArrayOutputStream(); format.toRepresentation(new Query()).write(out); BufferedReader in = new BufferedReader(new InputStreamReader( new ByteArrayInputStream(out.toByteArray()))); String line = in.readLine(); assertEquals("id,path,startTime", line); Iterator<RequestData> it = monitor.getDAO().getRequests().iterator(); while((line = in.readLine()) != null) { assertTrue(it.hasNext()); RequestData data = it.next(); String expected = data.getId() + "," + data.getPath() + "," + DateUtil.serializeDateTime(data.getStartTime()); assertEquals(expected, line); } assertFalse(it.hasNext()); }
@Test public void testReferrer() throws Exception { // "Referrer" was misspelled in the HTTP spec, check if it works with the "correct" // spelling. MockHttpServletRequest req = request("POST", "/bar/foo", "78.56.34.12", null, null); ((MockHttpServletRequest) req).addHeader("Referrer", "http://testhost/testpath"); filter.doFilter(req, response(), chain); RequestData data = dao.getLast(); assertEquals("POST", data.getHttpMethod()); assertEquals("/bar/foo", data.getPath()); assertEquals("78.56.34.12", data.getRemoteAddr()); assertEquals("http://testhost/testpath", data.getHttpReferer()); assertNull(data.getCacheResult()); assertNull(data.getMissReason()); }
@Test public void testBasic() throws Exception { callback.operationDispatched(new Request(), op("foo", "bar", "1.2.3", null)); assertEquals("BAR", data.getService()); assertEquals("foo", data.getOperation()); assertEquals("1.2.3", data.getOwsVersion()); }
assertEquals("/foo", datas.get(0).getPath()); assertEquals(4, ((Number)aggs.get(0)).intValue()); assertEquals("foo", r.getService()); assertEquals("x", r.getOperation()); assertEquals(4, ((Number)aggs.get(0)).intValue()); assertEquals("bam", r.getService()); assertEquals("y", r.getOperation()); assertEquals(2, ((Number)aggs.get(1)).intValue());
assertEquals(wanted_body, new String(data.getBody())); // Should be trimmed to the maximum length assertEquals(UNBOUNDED_BODY_SIZE, data.getBodyContentLength()); // Should be the full length, not the trimmed one
@Test public void testGetIterator() throws Exception { Iterator<RequestData> it = dao.getIterator( new Query().filter("path", Arrays.asList("/two", "/seven"), Comparison.IN )); assertTrue(it.hasNext()); RequestData data = it.next(); assertEquals("/two", data.getPath()); assertTrue(it.hasNext()); data = it.next(); assertEquals("/seven", data.getPath()); assertFalse(it.hasNext()); } }
Comparison.IN); for (RequestData data : monitor.getDAO().getRequests(query)) { if (InternalHostname.get().equals(data.getInternalHost())) { data.setStatus(Status.INTERRUPTED); monitor.getDAO().save(data);
public Object doInHibernate(Session session) throws HibernateException, SQLException { Transaction tx = session.beginTransaction(); data.setId((Long) session.save(data)); // mergeLayers(data, session); session.save(data); tx.commit(); return data; } });
boolean isProperty(Object obj) { if (obj instanceof String) { String s = (String) obj; return "resource".equals(s) || OwsUtils.has(new RequestData(), s); } return false; } }
@Test public void testWMSGetMapDifferentCrs() throws Exception { //xMin,yMin 5988504.35,851278.90 : xMax,yMax 7585113.55,1950872.01 //xMin,yMin -95.1193,42.2802 : xMax,yMax -71.295,53.73 GetMapRequest gm = new GetMapRequest(); gm.setLayers(Arrays.asList(createMapLayer("foo", "acme"))); Envelope env = new Envelope(5988504.35, 7585113.55, 851278.90, 1950872.01); CoordinateReferenceSystem crs = CRS.decode("EPSG:3348", true); gm.setBbox(env); gm.setCrs(crs); callback.operationDispatched(new Request(), op("GetMap", "WMS", "1.1.1", gm)); CoordinateReferenceSystem logCrs = CRS.decode("EPSG:4326", false); BoundingBox bbox = new ReferencedEnvelope(42.2802, 53.73, -95.1193, -71.295, logCrs); assertEquals("acme:foo", data.getResources().get(0)); BBoxAsserts.assertEqualsBbox(bbox, data.getBbox(), 0.1); }
@Test public void testWithBody() throws Exception { chain = new MockFilterChain( new HttpServlet() { @Override public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException { req.getInputStream().read(new byte[LONG_BODY_SIZE]); res.getOutputStream().write("hello".getBytes()); } }); HttpServletRequest req = request("POST", "/bar/foo", "78.56.34.12", "baz", null); filter.doFilter(req, response(), chain); RequestData data = dao.getLast(); assertEquals("POST", data.getHttpMethod()); assertEquals("/bar/foo", data.getPath()); assertEquals("78.56.34.12", data.getRemoteAddr()); assertNull(data.getHttpReferer()); assertEquals(new String(data.getBody()), "baz"); assertEquals(3, data.getBodyContentLength()); assertEquals(5, data.getResponseLength()); }