You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@drill.apache.org by vo...@apache.org on 2018/07/02 06:23:38 UTC
[drill] 02/06: DRILL-4580: Support for exporting storage plugin
configurations
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 <ab...@gmail.com>
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>