1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.hadoop.hbase.http.resource;
19
20 import java.io.IOException;
21 import java.util.Map;
22 import java.util.TreeMap;
23
24 import javax.ws.rs.DefaultValue;
25 import javax.ws.rs.GET;
26 import javax.ws.rs.Path;
27 import javax.ws.rs.PathParam;
28 import javax.ws.rs.Produces;
29 import javax.ws.rs.QueryParam;
30 import javax.ws.rs.core.MediaType;
31 import javax.ws.rs.core.Response;
32
33 import org.apache.commons.logging.Log;
34 import org.apache.commons.logging.LogFactory;
35 import org.mortbay.util.ajax.JSON;
36
37
38
39
40
41
42 @Path("")
43 public class JerseyResource {
44 static final Log LOG = LogFactory.getLog(JerseyResource.class);
45
46 public static final String PATH = "path";
47 public static final String OP = "op";
48
49 @GET
50 @Path("{" + PATH + ":.*}")
51 @Produces({MediaType.APPLICATION_JSON})
52 public Response get(
53 @PathParam(PATH) @DefaultValue("UNKNOWN_" + PATH) final String path,
54 @QueryParam(OP) @DefaultValue("UNKNOWN_" + OP) final String op
55 ) throws IOException {
56 LOG.info("get: " + PATH + "=" + path + ", " + OP + "=" + op);
57
58 final Map<String, Object> m = new TreeMap<String, Object>();
59 m.put(PATH, path);
60 m.put(OP, op);
61 final String js = JSON.toString(m);
62 return Response.ok(js).type(MediaType.APPLICATION_JSON).build();
63 }
64 }