Commits

Jan Lahoda committed cf0294f

Web API to get information about the index

Comments (0)

Files changed (1)

remoting/server/web/base.web.api/src/org/netbeans/modules/jackpot30/backend/base/api/API.java

 import javax.ws.rs.GET;
 import javax.ws.rs.Path;
 import javax.ws.rs.Produces;
+import javax.ws.rs.QueryParam;
+import javax.ws.rs.core.Response;
+import javax.ws.rs.core.Response.Status;
 import org.netbeans.modules.jackpot30.backend.base.CategoryStorage;
+import org.openide.filesystems.FileObject;
 
 /**
  *
 
     @GET
     @Path("/internal/indexUpdated")
-    @Produces("test/plain")
+    @Produces("text/plain")
     public String indexUpdated() throws IOException {
         //XXX: should allow individual providers to do their own cleanup:
         
         return "Done";
     }
 
+    @GET
+    @Path("/info")
+    @Produces("text/plain")
+    public Response info(@QueryParam("path") String segment) throws IOException {
+        CategoryStorage cat = CategoryStorage.forId(segment);
+
+        if (cat == null) {
+            return Response.status(Status.NOT_FOUND).build();
+        } else {
+            FileObject info = cat.getCacheRoot().getFileObject("info");
+            String content = info != null ? info.asText("UTF-8") : "{}";
+            return Response.ok().entity(content).build();
+        }
+    }
+
 }
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.