DRILL-995: Removed inner form (which is not allowed). Fixed NPE and URLs.
Project: http://git-wip-us.apache.org/repos/asf/incubator-drill/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-drill/commit/e2f57b46 Tree: http://git-wip-us.apache.org/repos/asf/incubator-drill/tree/e2f57b46 Diff: http://git-wip-us.apache.org/repos/asf/incubator-drill/diff/e2f57b46 Branch: refs/heads/master Commit: e2f57b46b97b1831c21dbfa07fd831abedf2020e Parents: 219e4fa Author: Sudheesh Katkam <[email protected]> Authored: Mon Jun 16 14:42:02 2014 -0700 Committer: Jacques Nadeau <[email protected]> Committed: Tue Jun 17 16:04:33 2014 -0700 ---------------------------------------------------------------------- .../exec/server/rest/StorageResources.java | 27 ++++++++++---------- .../src/main/resources/rest/storage/list.ftl | 6 ++--- .../src/main/resources/rest/storage/update.ftl | 13 +++------- 3 files changed, 20 insertions(+), 26 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/e2f57b46/exec/java-exec/src/main/java/org/apache/drill/exec/server/rest/StorageResources.java ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/java/org/apache/drill/exec/server/rest/StorageResources.java b/exec/java-exec/src/main/java/org/apache/drill/exec/server/rest/StorageResources.java index aa090cf..17ea72c 100644 --- a/exec/java-exec/src/main/java/org/apache/drill/exec/server/rest/StorageResources.java +++ b/exec/java-exec/src/main/java/org/apache/drill/exec/server/rest/StorageResources.java @@ -86,12 +86,12 @@ public class StorageResources { map.put("config", conf); map.put("name", name); map.put("exists", config != null); - map.put("enabled", config.isEnabled()); + map.put("enabled", config != null && config.isEnabled()); return new Viewable("/rest/storage/update.ftl", map); } @GET - @Path("/{name}/enable/{val}") + @Path("/{name}/config/enable/{val}") @Produces(MediaType.TEXT_HTML) public Response setEnable(@Context UriInfo uriInfo, @PathParam("name") String name, @PathParam("val") Boolean enable) throws ExecutionSetupException { StoragePluginConfig config = findConfig(name); @@ -105,6 +105,14 @@ public class StorageResources { } @GET + @Path("/{name}/config/delete") + @Produces(MediaType.TEXT_HTML) + public Viewable deleteConfig(@PathParam("name") String name) { + storage.deletePlugin(name); + return new Viewable("/rest/status.ftl", "Deleted " + name); + } + + @GET @Produces(MediaType.APPLICATION_JSON) @Path("/{name}/config") public StoragePluginConfig getConfig(@PathParam("name") String name) { @@ -126,22 +134,13 @@ public class StorageResources { @POST @Path("/config/update") - @Produces(MediaType.APPLICATION_JSON) + @Produces(MediaType.TEXT_HTML) @Consumes("application/x-www-form-urlencoded") - public JsonResult createTrackInJSON(@FormParam("name") String name, @FormParam("config") String storagePluginConfig) + public Viewable createTrackInJSON(@FormParam("name") String name, @FormParam("config") String storagePluginConfig) throws ExecutionSetupException, JsonParseException, JsonMappingException, IOException { StoragePluginConfig config = mapper.readValue(new StringReader(storagePluginConfig), StoragePluginConfig.class); storage.createOrUpdate(name, config, true); - return r("success"); - } - - @POST - @Path("/config/delete") - @Produces(MediaType.APPLICATION_JSON) - @Consumes("application/x-www-form-urlencoded") - public JsonResult deleteConfig(@FormParam("name") String name) { - storage.deletePlugin(name); - return r("success"); + return new Viewable("/rest/status.ftl", "Updated " + name); } private JsonResult r(String message) { http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/e2f57b46/exec/java-exec/src/main/resources/rest/storage/list.ftl ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/resources/rest/storage/list.ftl b/exec/java-exec/src/main/resources/rest/storage/list.ftl index 5e50616..3636fbb 100644 --- a/exec/java-exec/src/main/resources/rest/storage/list.ftl +++ b/exec/java-exec/src/main/resources/rest/storage/list.ftl @@ -29,9 +29,9 @@ <td style="border:none;"> <a class="btn btn-primary" href="/storage/${plugin.name}/config/update">Update</a> <#if plugin.enabled> - <a class="btn btn-default" href="/storage/${plugin.name}/enable/false">Disable</a> + <a class="btn btn-default" href="/storage/${plugin.name}/config/enable/false">Disable</a> <#else> - <a class="btn btn-primary" href="/storage/${plugin.name}/enable/true">Enable</a> + <a class="btn btn-primary" href="/storage/${plugin.name}/config/enable/true">Enable</a> </#if> </td> </tr> @@ -49,7 +49,7 @@ function doSubmit() { var name = document.getElementById("storageName"); var form = document.getElementById("newStorage"); - form.action = "/storage/" + name.value + "/config/update?"; + form.action = "/storage/" + name.value + "/config/update"; form.submit(); } </script> http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/e2f57b46/exec/java-exec/src/main/resources/rest/storage/update.ftl ---------------------------------------------------------------------- diff --git a/exec/java-exec/src/main/resources/rest/storage/update.ftl b/exec/java-exec/src/main/resources/rest/storage/update.ftl index ae60852..f4b9e12 100644 --- a/exec/java-exec/src/main/resources/rest/storage/update.ftl +++ b/exec/java-exec/src/main/resources/rest/storage/update.ftl @@ -28,17 +28,12 @@ <#if model.exists >Update<#else>Create</#if> </button> <#if model.enabled> - <a class="btn btn-default" href="/storage/${model.name}/enable/false">Disable</a> + <a class="btn btn-default" href="/storage/${model.name}/config/enable/false">Disable</a> <#else> - <a class="btn btn-primary" href="/storage/${model.name}/enable/true">Enable</a> + <a class="btn btn-primary" href="/storage/${model.name}/config/enable/true">Enable</a> </#if> - <#if model.exists > - <form role="form" action="/storage/config/delete" method="POST"> - <input type="hidden" name="name" value="${model.name}" /> - <button type="submit" class="btn btn-default" onclick="return confirm('Are you sure?')"> - Delete - </button> - </form> + <#if model.exists> + <a class="btn btn-danger" href="/storage/${model.name}/config/delete">Delete</a> </#if> </form> </#macro>
