This is an automated email from the ASF dual-hosted git repository. volodymyr pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/drill.git
commit 7c22e35ef2a9ecc41cc15c5deefac9b306ea87a1 Author: agirish <[email protected]> AuthorDate: Sun Apr 9 17:42:57 2017 -0700 DRILL-4580: Support for exporting storage plugin configurations closes #1350 --- .../org/apache/drill/exec/server/rest/StorageResources.java | 10 ++++++++++ exec/java-exec/src/main/resources/rest/storage/list.ftl | 1 + exec/java-exec/src/main/resources/rest/storage/update.ftl | 1 + 3 files changed, 12 insertions(+) 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 ca10860..b6f839b 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 @@ -35,6 +35,7 @@ import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; +import javax.ws.rs.core.Response; import javax.ws.rs.core.SecurityContext; import javax.xml.bind.annotation.XmlRootElement; @@ -134,6 +135,15 @@ public class StorageResources { } } + @GET + @Path("/storage/{name}/export") + @Produces(MediaType.APPLICATION_JSON) + public Response exportPlugin(@PathParam("name") String name) { + Response.ResponseBuilder response = Response.ok(getStoragePluginJSON(name)); + response.header("Content-Disposition", String.format("attachment;filename=\"%s.json\"", name)); + return response.build(); + } + @DELETE @Path("/storage/{name}.json") @Produces(MediaType.APPLICATION_JSON) 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 ca20063..7dfcf25 100644 --- a/exec/java-exec/src/main/resources/rest/storage/list.ftl +++ b/exec/java-exec/src/main/resources/rest/storage/list.ftl @@ -38,6 +38,7 @@ <td style="border:none;"> <a class="btn btn-primary" href="/storage/${plugin.getName()}">Update</a> <a class="btn btn-default" onclick="doEnable('${plugin.getName()}', false)">Disable</a> + <a class="btn btn-default" href="/storage/${plugin.getName()}/export"">Export</a> </td> </tr> </#if> 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 a15cc98..a30b65e 100644 --- a/exec/java-exec/src/main/resources/rest/storage/update.ftl +++ b/exec/java-exec/src/main/resources/rest/storage/update.ftl @@ -48,6 +48,7 @@ <#else> <a id="enabled" class="btn btn-primary">Enable</a> </#if> + <a class="btn btn-default" href="/storage/${model.getName()}/export"">Export</a> <a id="del" class="btn btn-danger" onclick="deleteFunction()">Delete</a> </#if> </form>
