changeset 667:d92abc9bcd41

New REST service delivering the server version.
author Raimund Renkert <raimund.renkert@intevation.de>
date Wed, 20 May 2015 10:13:58 +0200
parents dbcb862219a9
children db1c69416eb6
files src/main/java/de/intevation/lada/rest/VersionService.java
diffstat 1 files changed, 68 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/main/java/de/intevation/lada/rest/VersionService.java	Wed May 20 10:13:58 2015 +0200
@@ -0,0 +1,68 @@
+/* Copyright (C) 2013 by Bundesamt fuer Strahlenschutz
+ * Software engineering by Intevation GmbH
+ *
+ * This file is Free Software under the GNU GPL (v>=3)
+ * and comes with ABSOLUTELY NO WARRANTY! Check out
+ * the documentation coming with IMIS-Labordaten-Application for details.
+ */
+package de.intevation.lada.rest;
+
+import javax.enterprise.context.RequestScoped;
+import javax.servlet.http.HttpServletRequest;
+import javax.ws.rs.GET;
+import javax.ws.rs.Path;
+import javax.ws.rs.Produces;
+import javax.ws.rs.core.Context;
+import javax.ws.rs.core.HttpHeaders;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.UriInfo;
+
+import de.intevation.lada.util.rest.Response;
+
+/**
+ * REST service returning the server version.
+ * <p>
+ * The services produce data in the application/json media type.
+ * A typical response holds information about the action performed and the data.
+ * <pre>
+ * <code>
+ * {
+ *  "success": [boolean];
+ *  "message": [string],
+ *  "data":{
+ *      version: [string]
+ *  },
+ *  "errors": [object],
+ *  "warnings": [object],
+ *  "readonly": [boolean],
+ *  "totalCount": [number]
+ * }
+ * </code>
+ * </pre>
+ *
+ * @author <a href="mailto:rrenkert@intevation.de">Raimund Renkert</a>
+ */
+@Path("version")
+@RequestScoped
+public class VersionService {
+
+    private static final String VERSION = "2.0-beta2";
+
+    /**
+     * Get server Version.
+     * <p>
+     * Example: http://example.com/verison
+     *
+     * @return Response object containing all MessStelle objects.
+     */
+    @GET
+    @Path("/")
+    @Produces(MediaType.APPLICATION_JSON)
+    public Response get(
+        @Context HttpHeaders headers,
+        @Context HttpServletRequest request,
+        @Context UriInfo info
+    ) {
+        return new Response(true, 200, VERSION);
+    }
+}
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)