changeset 257:2c430aae0242

Refactor request handlers to treat metadata argument as a boolean value Reviewed-by: jerboaa Review-thread: http://icedtea.classpath.org/pipermail/thermostat/2017-September/024952.html
author Chris Lessard <clessard@redhat.com>
date Wed, 13 Sep 2017 11:56:53 -0400
parents 51841a9b5f81
children e73a052c5901
files common/mongodb/src/main/java/com/redhat/thermostat/gateway/common/mongodb/servlet/MongoHttpHandlerHelper.java services/jvm-cpu/src/main/java/com/redhat/thermostat/gateway/service/jvm/cpu/JvmCpuHttpHandler.java services/jvm-gc/src/main/java/com/redhat/thermostat/gateway/service/jvm/gc/http/JvmGcHttpHandler.java services/jvm-io/src/main/java/com/redhat/thermostat/gateway/service/jvm/io/JvmIoHttpHandler.java services/jvm-memory/src/main/java/com/redhat/thermostat/gateway/service/jvm/memory/JvmMemoryHttpHandler.java services/jvms/src/main/java/com/redhat/thermostat/gateway/service/jvms/http/JvmsHttpHandler.java services/system-cpu/src/main/java/com/redhat/thermostat/gateway/service/system/cpu/http/SystemInfoCPUHttpHandler.java services/system-memory/src/main/java/com/redhat/thermostat/gateway/service/system/memory/http/SystemMemoryHttpHandler.java services/system-network/src/main/java/com/redhat/thermostat/gateway/service/system/network/http/SystemNetworkHttpHandler.java services/systems/src/main/java/com/redhat/thermostat/gateway/service/systems/http/SystemsHttpHandler.java
diffstat 10 files changed, 113 insertions(+), 88 deletions(-) [+]
line wrap: on
line diff
--- a/common/mongodb/src/main/java/com/redhat/thermostat/gateway/common/mongodb/servlet/MongoHttpHandlerHelper.java	Wed Sep 13 09:24:54 2017 -0400
+++ b/common/mongodb/src/main/java/com/redhat/thermostat/gateway/common/mongodb/servlet/MongoHttpHandlerHelper.java	Wed Sep 13 11:56:53 2017 -0400
@@ -84,15 +84,22 @@
      *  HTTP GET handling
      */
 
-    public Response handleGetWithSystemID(HttpServletRequest httpServletRequest, ServletContext context, String systemId, int limit, int offset, String sort, String queries, String includes, String excludes, String returnMetadata) {
-        return handleGet(httpServletRequest, context, limit, offset, sort, andSystemIdQuery(queries, systemId), includes, excludes, returnMetadata, queries);
+    public Response handleGetWithSystemID(HttpServletRequest httpServletRequest, ServletContext context,
+                                          String systemId, int limit, int offset, String sort, String queries,
+                                          String includes, String excludes, boolean returnMetadata) {
+        return handleGet(httpServletRequest, context, limit, offset, sort,
+                andSystemIdQuery(queries, systemId), includes, excludes, returnMetadata, queries);
     }
 
-    public Response handleGetWithJvmID(HttpServletRequest httpServletRequest, ServletContext context, String systemId, String jvmId, int limit, int offset, String sort, String queries, String includes, String excludes, String returnMetadata) {
-        return handleGet(httpServletRequest, context, limit, offset, sort, andSystemIdJvmIdQuery(queries, systemId, jvmId), includes, excludes, returnMetadata, queries);
+    public Response handleGetWithJvmID(HttpServletRequest httpServletRequest, ServletContext context, String systemId,
+                                       String jvmId, int limit, int offset, String sort, String queries,
+                                       String includes, String excludes, boolean returnMetadata) {
+        return handleGet(httpServletRequest, context, limit, offset, sort,
+                andSystemIdJvmIdQuery(queries, systemId, jvmId), includes, excludes, returnMetadata, queries);
     }
 
-    public Response handleGet(HttpServletRequest httpServletRequest, ServletContext context, int limit, int offset, String sort, String queries, String includes, String excludes, String returnMetadata) {
+    public Response handleGet(HttpServletRequest httpServletRequest, ServletContext context, int limit, int offset,
+                              String sort, String queries, String includes, String excludes, boolean returnMetadata) {
         return handleGet(httpServletRequest, context, limit, offset, sort, queries, includes, excludes, returnMetadata, "");
     }
 
@@ -100,29 +107,32 @@
      * originalQueries contains only query info from the client's original request argument. queries contains this info,
      * as well as added JVM/SYS ids built by andSystemIdJvmIdQuery(...). 
      */
-    public Response handleGet(HttpServletRequest httpServletRequest, ServletContext context, int limit, int offset, String sort, String queries, String includes, String excludes, String returnMetadata, String originalQueries) {
+    public Response handleGet(HttpServletRequest httpServletRequest, ServletContext context, int limit, int offset,
+                              String sort, String queries, String includes, String excludes, boolean returnMetadata,
+                              String originalQueries) {
         try {
-            boolean metadata = Boolean.valueOf(returnMetadata);
-            RealmAuthorizer realmAuthorizer = (RealmAuthorizer) httpServletRequest.getAttribute(RealmAuthorizer.class.getName());
+            RealmAuthorizer realmAuthorizer = (RealmAuthorizer) httpServletRequest.getAttribute(
+                    RealmAuthorizer.class.getName());
 
             if (realmAuthorizer.readable()) {
-                ThermostatMongoStorage storage = (ThermostatMongoStorage) context.getAttribute(ServletContextConstants.MONGODB_CLIENT_ATTRIBUTE);
+                ThermostatMongoStorage storage = (ThermostatMongoStorage) context.getAttribute(
+                        ServletContextConstants.MONGODB_CLIENT_ATTRIBUTE);
 
                 MongoDataResultContainer execResult = mongoExecutor.execGetRequest(
-                        storage.getDatabase().getCollection(collectionName), limit, offset, sort, queries, includes, excludes, realmAuthorizer.getReadableRealms());
+                        storage.getDatabase().getCollection(collectionName), limit, offset, sort, queries, includes,
+                        excludes, realmAuthorizer.getReadableRealms());
 
                 MongoResponseBuilder.Builder response = new MongoResponseBuilder.Builder();
                 response.addQueryDocuments(execResult.getQueryDataResult());
 
-                if (metadata) {
-
+                if (returnMetadata) {
                     // Test suites expect a consistent order of next and prev links, hence LinkedHashMap
                     LinkedHashMap<String, String> paramArgs = new LinkedHashMap<>();
                     paramArgs.put(RequestParameters.SORT, sort);
                     paramArgs.put(RequestParameters.QUERY, originalQueries);
                     paramArgs.put(RequestParameters.INCLUDE, includes);
                     paramArgs.put(RequestParameters.EXCLUDE, excludes);
-                    paramArgs.put(RequestParameters.METADATA, returnMetadata);
+                    paramArgs.put(RequestParameters.METADATA, Boolean.toString(returnMetadata));
                     paramArgs.put(RequestParameters.LIMIT, String.valueOf(limit));
                     paramArgs.put(RequestParameters.OFFSET, String.valueOf(offset));
 
@@ -150,31 +160,37 @@
      *  HTTP PUT handling
      */
 
-    public Response handlePutWithSystemId(HttpServletRequest httpServletRequest, ServletContext context, String systemId, String queries, String metadata, String body) {
-        return handlePut(httpServletRequest, context, systemId, null, queries, metadata, body);
+    public Response handlePutWithSystemId(HttpServletRequest httpServletRequest, ServletContext context,
+                                          String systemId, String queries, boolean returnMetadata, String body) {
+        return handlePut(httpServletRequest, context, systemId, null, queries, returnMetadata, body);
     }
 
-    public Response handlePutWithJvmId(HttpServletRequest httpServletRequest, ServletContext context, String systemId, String jvmId, String queries, String metadata, String body) {
-        return handlePut(httpServletRequest, context, systemId, jvmId, queries, metadata, body);
+    public Response handlePutWithJvmId(HttpServletRequest httpServletRequest, ServletContext context,
+                                       String systemId, String jvmId, String queries, boolean returnMetadata, String body) {
+        return handlePut(httpServletRequest, context, systemId, jvmId, queries, returnMetadata, body);
     }
 
-    public Response handlePut(HttpServletRequest httpServletRequest, ServletContext context, String queries, String metadata, String body) {
-        return handlePut(httpServletRequest, context, null, null, queries, metadata, body);
+    public Response handlePut(HttpServletRequest httpServletRequest, ServletContext context, String queries,
+                              boolean returnMetadata, String body) {
+        return handlePut(httpServletRequest, context, null, null, queries, returnMetadata, body);
     }
 
-    public Response handlePut(HttpServletRequest httpServletRequest, ServletContext context, String systemId, String jvmId, String queries, String returnMetadata, String body) {
+    public Response handlePut(HttpServletRequest httpServletRequest, ServletContext context, String systemId,
+                              String jvmId, String queries, boolean returnMetadata, String body) {
         try {
-            RealmAuthorizer realmAuthorizer = (RealmAuthorizer) httpServletRequest.getAttribute(RealmAuthorizer.class.getName());
-            boolean metadata = Boolean.valueOf(returnMetadata);
-
+            RealmAuthorizer realmAuthorizer = (RealmAuthorizer) httpServletRequest.getAttribute(
+                    RealmAuthorizer.class.getName());
 
             if (realmAuthorizer.updatable()) {
-                ThermostatMongoStorage storage = (ThermostatMongoStorage) context.getAttribute(ServletContextConstants.MONGODB_CLIENT_ATTRIBUTE);
+                ThermostatMongoStorage storage = (ThermostatMongoStorage) context.getAttribute(
+                        ServletContextConstants.MONGODB_CLIENT_ATTRIBUTE);
 
-                MongoDataResultContainer execResult = mongoExecutor.execPutRequest(storage.getDatabase().getCollection(collectionName), body, queries, realmAuthorizer.getUpdatableRealms(), systemId, jvmId);
+                MongoDataResultContainer execResult = mongoExecutor.execPutRequest(
+                        storage.getDatabase().getCollection(collectionName), body, queries,
+                        realmAuthorizer.getUpdatableRealms(), systemId, jvmId);
 
                 MongoResponseBuilder.Builder response = new MongoResponseBuilder.Builder();
-                if (metadata) {
+                if (returnMetadata) {
                     MongoMetaDataResponseBuilder.MetaBuilder metadataResponse = new MongoMetaDataResponseBuilder.MetaBuilder();
                     metadataResponse.matchCount(execResult.getPutReqMatches());
 
@@ -194,31 +210,37 @@
      *  HTTP POST handling
      */
 
-    public Response handlePostWithSystemID(HttpServletRequest httpServletRequest, ServletContext context, String systemId, String returnMetadata, String body) {
+    public Response handlePostWithSystemID(HttpServletRequest httpServletRequest, ServletContext context,
+                                           String systemId, boolean returnMetadata, String body) {
         return handlePost(httpServletRequest, context, systemId, null, returnMetadata, body);
     }
 
-    public Response handlePostWithJvmID(HttpServletRequest httpServletRequest, ServletContext context, String systemId, String jvmId, String returnMetadata, String body) {
+    public Response handlePostWithJvmID(HttpServletRequest httpServletRequest, ServletContext context,
+                                        String systemId, String jvmId, boolean returnMetadata, String body) {
         return handlePost(httpServletRequest, context, systemId, jvmId, returnMetadata, body);
     }
 
-    public Response handlePost(HttpServletRequest httpServletRequest, ServletContext context, String returnMetadata, String body) {
+    public Response handlePost(HttpServletRequest httpServletRequest, ServletContext context,
+                               boolean returnMetadata, String body) {
         return handlePost(httpServletRequest, context, null, null, returnMetadata, body);
     }
 
-    public Response handlePost(HttpServletRequest httpServletRequest, ServletContext context, String systemId, String jvmId, String returnMetadata, String body) {
+    public Response handlePost(HttpServletRequest httpServletRequest, ServletContext context, String systemId,
+                               String jvmId, boolean returnMetadata, String body) {
         try {
             RealmAuthorizer realmAuthorizer = (RealmAuthorizer) httpServletRequest.getAttribute(RealmAuthorizer.class.getName());
-            boolean metadata = Boolean.valueOf(returnMetadata);
-
 
             if (realmAuthorizer.writable()) {
-                ThermostatMongoStorage storage = (ThermostatMongoStorage) context.getAttribute(ServletContextConstants.MONGODB_CLIENT_ATTRIBUTE);
+                ThermostatMongoStorage storage = (ThermostatMongoStorage) context.getAttribute(
+                        ServletContextConstants.MONGODB_CLIENT_ATTRIBUTE);
 
-                MongoDataResultContainer execResult = mongoExecutor.execPostRequest(storage.getDatabase().getCollection(collectionName, DBObject.class), body, realmAuthorizer.getWritableRealms(), systemId, jvmId);
+                MongoDataResultContainer execResult = mongoExecutor.execPostRequest(
+                        storage.getDatabase().getCollection(collectionName, DBObject.class), body,
+                        realmAuthorizer.getWritableRealms(), systemId, jvmId);
+
                 MongoResponseBuilder.Builder response = new MongoResponseBuilder.Builder();
 
-                if (metadata) {
+                if (returnMetadata) {
                     MongoMetaDataResponseBuilder.MetaBuilder metadataResponse = new MongoMetaDataResponseBuilder.MetaBuilder();
                     metadataResponse.insertCount(execResult.getPostReqInsertions());
 
@@ -238,25 +260,28 @@
      *  HTTP DELETE handling
      */
 
-    public Response handleDeleteWithSystemID(HttpServletRequest httpServletRequest, ServletContext context, String systemId, String queries, String metadata) {
-        return handleDelete(httpServletRequest, context, andSystemIdQuery(queries, systemId), metadata);
+    public Response handleDeleteWithSystemID(HttpServletRequest httpServletRequest, ServletContext context,
+                                             String systemId, String queries, boolean returnMetadata) {
+        return handleDelete(httpServletRequest, context, andSystemIdQuery(queries, systemId), returnMetadata);
     }
 
-    public Response handleDeleteWithJvmID(HttpServletRequest httpServletRequest, ServletContext context, String systemId, String jvmId, String queries, String metadata) {
-        return handleDelete(httpServletRequest, context, andSystemIdJvmIdQuery(queries, systemId, jvmId), metadata);
+    public Response handleDeleteWithJvmID(HttpServletRequest httpServletRequest, ServletContext context,
+                                          String systemId, String jvmId, String queries, boolean returnMetadata) {
+        return handleDelete(httpServletRequest, context, andSystemIdJvmIdQuery(queries, systemId, jvmId), returnMetadata);
     }
 
-    public Response handleDelete(HttpServletRequest httpServletRequest, ServletContext context, String queries, String returnMetadata) {
+    public Response handleDelete(HttpServletRequest httpServletRequest, ServletContext context, String queries, boolean returnMetadata) {
         try {
             RealmAuthorizer realmAuthorizer = (RealmAuthorizer) httpServletRequest.getAttribute(RealmAuthorizer.class.getName());
-            boolean metadata = Boolean.valueOf(returnMetadata);
             if (realmAuthorizer.deletable()) {
-                ThermostatMongoStorage storage = (ThermostatMongoStorage) context.getAttribute(ServletContextConstants.MONGODB_CLIENT_ATTRIBUTE);
+                ThermostatMongoStorage storage = (ThermostatMongoStorage) context.getAttribute(
+                        ServletContextConstants.MONGODB_CLIENT_ATTRIBUTE);
 
-                MongoDataResultContainer execResult = mongoExecutor.execDeleteRequest(storage.getDatabase().getCollection(collectionName), queries, realmAuthorizer.getDeletableRealms());
+                MongoDataResultContainer execResult = mongoExecutor.execDeleteRequest(
+                        storage.getDatabase().getCollection(collectionName), queries, realmAuthorizer.getDeletableRealms());
 
                 MongoResponseBuilder.Builder response = new MongoResponseBuilder.Builder();
-                if (metadata) {
+                if (returnMetadata) {
                     MongoMetaDataResponseBuilder.MetaBuilder metadataResponse = new MongoMetaDataResponseBuilder.MetaBuilder();
                     metadataResponse.matchCount(execResult.getDeleteReqMatches());
 
--- a/services/jvm-cpu/src/main/java/com/redhat/thermostat/gateway/service/jvm/cpu/JvmCpuHttpHandler.java	Wed Sep 13 09:24:54 2017 -0400
+++ b/services/jvm-cpu/src/main/java/com/redhat/thermostat/gateway/service/jvm/cpu/JvmCpuHttpHandler.java	Wed Sep 13 11:56:53 2017 -0400
@@ -70,7 +70,7 @@
                               @QueryParam(RequestParameters.QUERY) String queries,
                               @QueryParam(RequestParameters.INCLUDE) String includes,
                               @QueryParam(RequestParameters.EXCLUDE) String excludes,
-                              @QueryParam(RequestParameters.METADATA) @DefaultValue("false") String metadata,
+                              @QueryParam(RequestParameters.METADATA) @DefaultValue("false") Boolean metadata,
                               @Context HttpServletRequest httpServletRequest,
                               @Context ServletContext context) {
         return serviceHelper.handleGetWithJvmID(httpServletRequest, context, null, jvmId, limit, offset, sort, queries, includes, excludes, metadata);
@@ -88,7 +88,7 @@
                               @QueryParam(RequestParameters.QUERY) String queries,
                               @QueryParam(RequestParameters.INCLUDE) String includes,
                               @QueryParam(RequestParameters.EXCLUDE) String excludes,
-                              @QueryParam(RequestParameters.METADATA) @DefaultValue("false") String metadata,
+                              @QueryParam(RequestParameters.METADATA) @DefaultValue("false") Boolean metadata,
                               @Context HttpServletRequest httpServletRequest,
                               @Context ServletContext context) {
         return serviceHelper.handleGetWithJvmID(httpServletRequest, context, systemId, jvmId, limit, offset, sort, queries, includes, excludes, metadata);
@@ -101,7 +101,7 @@
     public Response postJvmCpu(String body,
                                @PathParam(RequestParameters.SYSTEM_ID) String systemId,
                                @PathParam(RequestParameters.JVM_ID) String jvmId,
-                               @QueryParam(RequestParameters.METADATA) @DefaultValue("false") String metadata,
+                               @QueryParam(RequestParameters.METADATA) @DefaultValue("false") Boolean metadata,
                                @Context ServletContext context,
                                @Context HttpServletRequest httpServletRequest) {
         return serviceHelper.handlePostWithJvmID(httpServletRequest, context, systemId, jvmId, metadata, body);
@@ -114,7 +114,7 @@
     public Response deleteJvmCpu(@PathParam(RequestParameters.SYSTEM_ID) String systemId,
                                  @PathParam(RequestParameters.JVM_ID) String jvmId,
                                  @QueryParam(RequestParameters.QUERY) String queries,
-                                 @QueryParam(RequestParameters.METADATA) @DefaultValue("false") String metadata,
+                                 @QueryParam(RequestParameters.METADATA) @DefaultValue("false") Boolean metadata,
                                  @Context ServletContext context,
                                  @Context HttpServletRequest httpServletRequest) {
         return serviceHelper.handleDeleteWithJvmID(httpServletRequest, context, systemId, jvmId, queries, metadata);
--- a/services/jvm-gc/src/main/java/com/redhat/thermostat/gateway/service/jvm/gc/http/JvmGcHttpHandler.java	Wed Sep 13 09:24:54 2017 -0400
+++ b/services/jvm-gc/src/main/java/com/redhat/thermostat/gateway/service/jvm/gc/http/JvmGcHttpHandler.java	Wed Sep 13 11:56:53 2017 -0400
@@ -77,7 +77,7 @@
                              @QueryParam(RequestParameters.QUERY) String queries,
                              @QueryParam(RequestParameters.INCLUDE) String includes,
                              @QueryParam(RequestParameters.EXCLUDE) String excludes,
-                             @QueryParam(RequestParameters.METADATA) @DefaultValue("false") String metadata,
+                             @QueryParam(RequestParameters.METADATA) @DefaultValue("false") Boolean metadata,
                              @Context HttpServletRequest httpServletRequest,
                              @Context ServletContext context) {
         return serviceHelper.handleGetWithJvmID(httpServletRequest, context, null, jvmId, limit, offset, sort, queries, includes, excludes, metadata);
@@ -96,7 +96,7 @@
                              @QueryParam(RequestParameters.QUERY) String queries,
                              @QueryParam(RequestParameters.INCLUDE) String includes,
                              @QueryParam(RequestParameters.EXCLUDE) String excludes,
-                             @QueryParam(RequestParameters.METADATA) @DefaultValue("false") String metadata,
+                             @QueryParam(RequestParameters.METADATA) @DefaultValue("false") Boolean metadata,
                              @Context HttpServletRequest httpServletRequest,
                              @Context ServletContext context) {
         return serviceHelper.handleGetWithJvmID(httpServletRequest, context, systemId, jvmId, limit, offset, sort, queries, includes, excludes, metadata);
@@ -110,7 +110,7 @@
                              @PathParam(RequestParameters.SYSTEM_ID) String systemId,
                              @PathParam(RequestParameters.JVM_ID) String jvmId,
                              @QueryParam(RequestParameters.QUERY) String queries,
-                             @QueryParam(RequestParameters.METADATA) @DefaultValue("false") String metadata,
+                             @QueryParam(RequestParameters.METADATA) @DefaultValue("false") Boolean metadata,
                              @Context ServletContext context,
                              @Context HttpServletRequest httpServletRequest) {
         return serviceHelper.handlePutWithJvmId(httpServletRequest, context, systemId, jvmId, queries, metadata, body);
@@ -123,7 +123,7 @@
     public Response postJvmGc(String body,
                               @PathParam(RequestParameters.SYSTEM_ID) String systemId,
                               @PathParam(RequestParameters.JVM_ID) String jvmId,
-                              @QueryParam(RequestParameters.METADATA) @DefaultValue("false") String metadata,
+                              @QueryParam(RequestParameters.METADATA) @DefaultValue("false") Boolean metadata,
                               @Context ServletContext context,
                               @Context HttpServletRequest httpServletRequest) {
         return serviceHelper.handlePostWithJvmID(httpServletRequest, context, systemId, jvmId, metadata, body);
@@ -136,7 +136,7 @@
     public Response deleteJvmGc(@PathParam(RequestParameters.SYSTEM_ID) String systemId,
                                 @PathParam(RequestParameters.JVM_ID) String jvmId,
                                 @QueryParam(RequestParameters.QUERY) String queries,
-                                @QueryParam(RequestParameters.METADATA) @DefaultValue("false") String metadata,
+                                @QueryParam(RequestParameters.METADATA) @DefaultValue("false") Boolean metadata,
                                 @Context ServletContext context,
                                 @Context HttpServletRequest httpServletRequest) {
         return serviceHelper.handleDeleteWithJvmID(httpServletRequest, context, systemId, jvmId, queries, metadata);
--- a/services/jvm-io/src/main/java/com/redhat/thermostat/gateway/service/jvm/io/JvmIoHttpHandler.java	Wed Sep 13 09:24:54 2017 -0400
+++ b/services/jvm-io/src/main/java/com/redhat/thermostat/gateway/service/jvm/io/JvmIoHttpHandler.java	Wed Sep 13 11:56:53 2017 -0400
@@ -71,7 +71,7 @@
                                  @QueryParam(RequestParameters.QUERY) String queries,
                                  @QueryParam(RequestParameters.INCLUDE) String includes,
                                  @QueryParam(RequestParameters.EXCLUDE) String excludes,
-                                 @QueryParam(RequestParameters.METADATA) @DefaultValue("false") String metadata,
+                                 @QueryParam(RequestParameters.METADATA) @DefaultValue("false") Boolean metadata,
                                  @Context ServletContext context,
                                  @Context HttpServletRequest httpServletRequest) {
         return serviceHelper.handleGetWithJvmID(httpServletRequest, context, null, jvmId, limit, offsetParam.getValue(), sort, queries, includes, excludes, metadata);
@@ -89,7 +89,7 @@
                                  @QueryParam(RequestParameters.QUERY) String queries,
                                  @QueryParam(RequestParameters.INCLUDE) String includes,
                                  @QueryParam(RequestParameters.EXCLUDE) String excludes,
-                                 @QueryParam(RequestParameters.METADATA) @DefaultValue("false") String metadata,
+                                 @QueryParam(RequestParameters.METADATA) @DefaultValue("false") Boolean metadata,
                                  @Context ServletContext context,
                                  @Context HttpServletRequest httpServletRequest) {
         return serviceHelper.handleGetWithJvmID(httpServletRequest, context, systemId, jvmId, limit, offsetParam.getValue(), sort, queries, includes, excludes, metadata);
@@ -103,7 +103,7 @@
                                  @PathParam(RequestParameters.SYSTEM_ID) String systemId,
                                  @PathParam(RequestParameters.JVM_ID) String jvmId,
                                  @QueryParam(RequestParameters.QUERY) String queries,
-                                 @QueryParam(RequestParameters.METADATA) @DefaultValue("false") String metadata,
+                                 @QueryParam(RequestParameters.METADATA) @DefaultValue("false") Boolean metadata,
                                  @Context ServletContext context,
                                  @Context HttpServletRequest httpServletRequest) {
         return serviceHelper.handlePutWithJvmId(httpServletRequest, context, systemId, jvmId, queries, metadata, body);
@@ -116,7 +116,7 @@
     public Response postJvmIo(String body,
                                   @PathParam(RequestParameters.SYSTEM_ID) String systemId,
                                   @PathParam(RequestParameters.JVM_ID) String jvmId,
-                                  @QueryParam(RequestParameters.METADATA) @DefaultValue("false") String metadata,
+                                  @QueryParam(RequestParameters.METADATA) @DefaultValue("false") Boolean metadata,
                                   @Context ServletContext context,
                                   @Context HttpServletRequest httpServletRequest) {
         return serviceHelper.handlePostWithJvmID(httpServletRequest, context, systemId, jvmId, metadata, body);
@@ -129,7 +129,7 @@
     public Response deleteJvmIo(@PathParam(RequestParameters.SYSTEM_ID) String systemId,
                                     @PathParam(RequestParameters.JVM_ID) String jvmId,
                                     @QueryParam(RequestParameters.QUERY) String queries,
-                                    @QueryParam(RequestParameters.METADATA) @DefaultValue("false") String metadata,
+                                    @QueryParam(RequestParameters.METADATA) @DefaultValue("false") Boolean metadata,
                                     @Context ServletContext context,
                                     @Context HttpServletRequest httpServletRequest) {
         return serviceHelper.handleDeleteWithJvmID(httpServletRequest, context, systemId, jvmId, queries, metadata);
--- a/services/jvm-memory/src/main/java/com/redhat/thermostat/gateway/service/jvm/memory/JvmMemoryHttpHandler.java	Wed Sep 13 09:24:54 2017 -0400
+++ b/services/jvm-memory/src/main/java/com/redhat/thermostat/gateway/service/jvm/memory/JvmMemoryHttpHandler.java	Wed Sep 13 11:56:53 2017 -0400
@@ -71,7 +71,7 @@
                                  @QueryParam(RequestParameters.QUERY) String queries,
                                  @QueryParam(RequestParameters.INCLUDE) String includes,
                                  @QueryParam(RequestParameters.EXCLUDE) String excludes,
-                                 @QueryParam(RequestParameters.METADATA) @DefaultValue("false") String metadata,
+                                 @QueryParam(RequestParameters.METADATA) @DefaultValue("false") Boolean metadata,
                                  @Context ServletContext context,
                                  @Context HttpServletRequest httpServletRequest) {
         return serviceHelper.handleGetWithJvmID(httpServletRequest, context, null, jvmId, limit, offsetParam.getValue(), sort, queries, includes, excludes, metadata);
@@ -89,7 +89,7 @@
                                  @QueryParam(RequestParameters.QUERY) String queries,
                                  @QueryParam(RequestParameters.INCLUDE) String includes,
                                  @QueryParam(RequestParameters.EXCLUDE) String excludes,
-                                 @QueryParam(RequestParameters.METADATA) @DefaultValue("false") String metadata,
+                                 @QueryParam(RequestParameters.METADATA) @DefaultValue("false") Boolean metadata,
                                  @Context ServletContext context,
                                  @Context HttpServletRequest httpServletRequest) {
         return serviceHelper.handleGetWithJvmID(httpServletRequest, context, systemId, jvmId, limit, offsetParam.getValue(), sort, queries, includes, excludes, metadata);
@@ -103,7 +103,7 @@
                                  @PathParam(RequestParameters.SYSTEM_ID) String systemId,
                                  @PathParam(RequestParameters.JVM_ID) String jvmId,
                                  @QueryParam(RequestParameters.QUERY) String queries,
-                                 @QueryParam(RequestParameters.METADATA) @DefaultValue("false") String metadata,
+                                 @QueryParam(RequestParameters.METADATA) @DefaultValue("false") Boolean metadata,
                                  @Context ServletContext context,
                                  @Context HttpServletRequest httpServletRequest) {
         return serviceHelper.handlePutWithJvmId(httpServletRequest, context, systemId, jvmId, queries, metadata, body);
@@ -116,7 +116,7 @@
     public Response postJvmMemory(String body,
                                   @PathParam(RequestParameters.SYSTEM_ID) String systemId,
                                   @PathParam(RequestParameters.JVM_ID) String jvmId,
-                                  @QueryParam(RequestParameters.METADATA) @DefaultValue("false") String metadata,
+                                  @QueryParam(RequestParameters.METADATA) @DefaultValue("false") Boolean metadata,
                                   @Context ServletContext context,
                                   @Context HttpServletRequest httpServletRequest) {
         return serviceHelper.handlePostWithJvmID(httpServletRequest, context, systemId, jvmId, metadata, body);
@@ -129,7 +129,7 @@
     public Response deleteJvmMemory(@PathParam(RequestParameters.SYSTEM_ID) String systemId,
                                     @PathParam(RequestParameters.JVM_ID) String jvmId,
                                     @QueryParam(RequestParameters.QUERY) String queries,
-                                    @QueryParam(RequestParameters.METADATA) @DefaultValue("false") String metadata,
+                                    @QueryParam(RequestParameters.METADATA) @DefaultValue("false") Boolean metadata,
                                     @Context ServletContext context,
                                     @Context HttpServletRequest httpServletRequest) {
         return serviceHelper.handleDeleteWithJvmID(httpServletRequest, context, systemId, jvmId, queries, metadata);
--- a/services/jvms/src/main/java/com/redhat/thermostat/gateway/service/jvms/http/JvmsHttpHandler.java	Wed Sep 13 09:24:54 2017 -0400
+++ b/services/jvms/src/main/java/com/redhat/thermostat/gateway/service/jvms/http/JvmsHttpHandler.java	Wed Sep 13 11:56:53 2017 -0400
@@ -98,7 +98,7 @@
                                 @QueryParam(RequestParameters.QUERY) String queries,
                                 @QueryParam(RequestParameters.INCLUDE) String includes,
                                 @QueryParam(RequestParameters.EXCLUDE) String excludes,
-                                @QueryParam(RequestParameters.METADATA) @DefaultValue("false") String metadata,
+                                @QueryParam(RequestParameters.METADATA) @DefaultValue("false") Boolean metadata,
                                 @Context ServletContext context,
                                 @Context HttpServletRequest httpServletRequest
     ) {
@@ -117,7 +117,7 @@
     @Produces({ "application/json", "text/html; charset=utf-8" })
     public Response postJvmInfos(String body,
                                  @PathParam(RequestParameters.SYSTEM_ID) String systemId,
-                                 @QueryParam(RequestParameters.METADATA) @DefaultValue("false") String metadata,
+                                 @QueryParam(RequestParameters.METADATA) @DefaultValue("false") Boolean metadata,
                                  @Context ServletContext context,
                                  @Context HttpServletRequest httpServletRequest) {
         return serviceHelper.handlePostWithSystemID(httpServletRequest, context, systemId, metadata, body);
@@ -129,7 +129,7 @@
     @Consumes({ "application/json" })
     @Produces({ "application/json", "text/html; charset=utf-8" })
     public Response deleteJvmInfos(@PathParam(RequestParameters.SYSTEM_ID) String systemId,
-                                   @QueryParam(RequestParameters.METADATA) @DefaultValue("false") String metadata,
+                                   @QueryParam(RequestParameters.METADATA) @DefaultValue("false") Boolean metadata,
                                    @Context ServletContext context,
                                    @Context HttpServletRequest httpServletRequest) {
         return serviceHelper.handleDeleteWithSystemID(httpServletRequest, context, systemId, null, metadata);
@@ -143,7 +143,7 @@
                                @PathParam(RequestParameters.JVM_ID) String jvmId,
                                @QueryParam(RequestParameters.INCLUDE) String includes,
                                @QueryParam(RequestParameters.EXCLUDE) String excludes,
-                               @QueryParam(RequestParameters.METADATA) @DefaultValue("false") String metadata,
+                               @QueryParam(RequestParameters.METADATA) @DefaultValue("false") Boolean metadata,
                                @Context ServletContext context,
                                @Context HttpServletRequest httpServletRequest
     ) {
@@ -170,7 +170,7 @@
                                @PathParam(RequestParameters.SYSTEM_ID) String systemId,
                                @PathParam(RequestParameters.JVM_ID) String jvmId,
                                @QueryParam(RequestParameters.QUERY) String queries,
-                               @QueryParam(RequestParameters.METADATA) @DefaultValue("false") String metadata,
+                               @QueryParam(RequestParameters.METADATA) @DefaultValue("false") Boolean metadata,
                                @Context ServletContext context,
                                @Context HttpServletRequest httpServletRequest) {
         return serviceHelper.handlePutWithJvmId(httpServletRequest, context, systemId, jvmId, queries, metadata, body);
@@ -182,7 +182,7 @@
     @Produces({ "application/json", "text/html; charset=utf-8" })
     public Response deleteJvmInfo(@PathParam(RequestParameters.SYSTEM_ID) String systemId,
                                   @PathParam(RequestParameters.JVM_ID) String jvmId,
-                                  @QueryParam(RequestParameters.METADATA) @DefaultValue("false") String metadata,
+                                  @QueryParam(RequestParameters.METADATA) @DefaultValue("false") Boolean metadata,
                                   @Context ServletContext context,
                                   @Context HttpServletRequest httpServletRequest) {
         return serviceHelper.handleDeleteWithJvmID(httpServletRequest, context, systemId, jvmId, null, metadata);
@@ -193,7 +193,7 @@
     public Response putUpdateTimestamp(String body,
                                        @PathParam(RequestParameters.SYSTEM_ID) String systemId,
                                        @PathParam(RequestParameters.TIMESTAMP) Long timeStamp,
-                                       @QueryParam(RequestParameters.METADATA) @DefaultValue("false") String metadata,
+                                       @QueryParam(RequestParameters.METADATA) @DefaultValue("false") Boolean metadata,
                                        @Context ServletContext context,
                                        @Context HttpServletRequest httpServletRequest) {
         try {
@@ -218,7 +218,7 @@
     public Response getJvmInfoTree(@QueryParam(RequestParameters.LIMIT) @DefaultValue("1") Integer limit,
                                    @QueryParam(RequestParameters.OFFSET) @DefaultValue("0") Integer offset,
                                    @QueryParam(RequestParameters.ALIVE_ONLY) @DefaultValue("true") Boolean aliveOnly,
-                                   @QueryParam(RequestParameters.METADATA) @DefaultValue("false") String metadata,
+                                   @QueryParam(RequestParameters.METADATA) @DefaultValue("false") Boolean metadata,
                                    @QueryParam(RequestParameters.INCLUDE) String includes,
                                    @QueryParam(RequestParameters.EXCLUDE) String excludes,
                                    @Context ServletContext context,
--- a/services/system-cpu/src/main/java/com/redhat/thermostat/gateway/service/system/cpu/http/SystemInfoCPUHttpHandler.java	Wed Sep 13 09:24:54 2017 -0400
+++ b/services/system-cpu/src/main/java/com/redhat/thermostat/gateway/service/system/cpu/http/SystemInfoCPUHttpHandler.java	Wed Sep 13 11:56:53 2017 -0400
@@ -70,7 +70,7 @@
                                @QueryParam(RequestParameters.QUERY) String queries,
                                @QueryParam(RequestParameters.INCLUDE) String includes,
                                @QueryParam(RequestParameters.EXCLUDE) String excludes,
-                               @QueryParam(RequestParameters.METADATA) @DefaultValue("false") String metadata,
+                               @QueryParam(RequestParameters.METADATA) @DefaultValue("false") Boolean metadata,
                                @Context ServletContext context,
                                @Context HttpServletRequest httpServletRequest) {
         return serviceHelper.handleGetWithSystemID(httpServletRequest, context, systemId, limit, offset, sort, queries, includes, excludes, metadata);
@@ -83,7 +83,7 @@
     public Response putCPUInfo(String body,
                                @PathParam(RequestParameters.SYSTEM_ID) String systemId,
                                @QueryParam(RequestParameters.QUERY) String queries,
-                               @QueryParam(RequestParameters.METADATA) @DefaultValue("false") String metadata,
+                               @QueryParam(RequestParameters.METADATA) @DefaultValue("false") Boolean metadata,
                                @Context ServletContext context,
                                @Context HttpServletRequest httpServletRequest) {
         return serviceHelper.handlePutWithSystemId(httpServletRequest, context, systemId, queries, metadata, body);
@@ -95,7 +95,7 @@
     @Produces({ "application/json", "text/html; charset=utf-8" })
     public Response postCPUInfo(String body,
                                 @PathParam(RequestParameters.SYSTEM_ID) String systemId,
-                                @QueryParam(RequestParameters.METADATA) @DefaultValue("false") String metadata,
+                                @QueryParam(RequestParameters.METADATA) @DefaultValue("false") Boolean metadata,
                                 @Context ServletContext context,
                                 @Context HttpServletRequest httpServletRequest) {
         return serviceHelper.handlePostWithSystemID(httpServletRequest, context, systemId, metadata, body);
@@ -107,7 +107,7 @@
     @Produces({ "application/json", "text/html; charset=utf-8" })
     public Response deleteCPUInfo(@PathParam(RequestParameters.SYSTEM_ID) String systemId,
                                   @QueryParam(RequestParameters.QUERY) String queries,
-                                  @QueryParam(RequestParameters.METADATA) @DefaultValue("false") String metadata,
+                                  @QueryParam(RequestParameters.METADATA) @DefaultValue("false") Boolean metadata,
                                   @Context ServletContext context,
                                   @Context HttpServletRequest httpServletRequest) {
         return serviceHelper.handleDeleteWithSystemID(httpServletRequest, context, systemId, queries, metadata);
--- a/services/system-memory/src/main/java/com/redhat/thermostat/gateway/service/system/memory/http/SystemMemoryHttpHandler.java	Wed Sep 13 09:24:54 2017 -0400
+++ b/services/system-memory/src/main/java/com/redhat/thermostat/gateway/service/system/memory/http/SystemMemoryHttpHandler.java	Wed Sep 13 11:56:53 2017 -0400
@@ -70,7 +70,7 @@
                                @QueryParam(RequestParameters.QUERY) String queries,
                                @QueryParam(RequestParameters.INCLUDE) String includes,
                                @QueryParam(RequestParameters.EXCLUDE) String excludes,
-                               @QueryParam(RequestParameters.METADATA) @DefaultValue("false") String metadata,
+                               @QueryParam(RequestParameters.METADATA) @DefaultValue("false") Boolean metadata,
                                @Context ServletContext context,
                                @Context HttpServletRequest httpServletRequest) {
         return serviceHelper.handleGetWithSystemID(httpServletRequest, context, systemId, limit, offset, sort, queries, includes, excludes, metadata);
@@ -83,7 +83,7 @@
     public Response putCPUInfo(String body,
                                @PathParam(RequestParameters.SYSTEM_ID) String systemId,
                                @QueryParam(RequestParameters.QUERY) String queries,
-                               @QueryParam(RequestParameters.METADATA) @DefaultValue("false") String metadata,
+                               @QueryParam(RequestParameters.METADATA) @DefaultValue("false") Boolean metadata,
                                @Context ServletContext context,
                                @Context HttpServletRequest httpServletRequest) {
         return serviceHelper.handlePutWithSystemId(httpServletRequest, context, systemId, queries, metadata, body);
@@ -95,7 +95,7 @@
     @Produces({ "application/json", "text/html; charset=utf-8" })
     public Response postCPUInfo(String body,
                                 @PathParam(RequestParameters.SYSTEM_ID) String systemId,
-                                @QueryParam(RequestParameters.METADATA) @DefaultValue("false") String metadata,
+                                @QueryParam(RequestParameters.METADATA) @DefaultValue("false") Boolean metadata,
                                 @Context ServletContext context,
                                 @Context HttpServletRequest httpServletRequest) {
         return serviceHelper.handlePostWithSystemID(httpServletRequest, context, systemId, metadata, body);
@@ -107,7 +107,7 @@
     @Produces({ "application/json", "text/html; charset=utf-8" })
     public Response deleteCPUInfo(@PathParam(RequestParameters.SYSTEM_ID) String systemId,
                                   @QueryParam(RequestParameters.QUERY) String queries,
-                                  @QueryParam(RequestParameters.METADATA) @DefaultValue("false") String metadata,
+                                  @QueryParam(RequestParameters.METADATA) @DefaultValue("false") Boolean metadata,
                                   @Context ServletContext context,
                                   @Context HttpServletRequest httpServletRequest) {
         return serviceHelper.handleDeleteWithSystemID(httpServletRequest, context, systemId, queries, metadata);
--- a/services/system-network/src/main/java/com/redhat/thermostat/gateway/service/system/network/http/SystemNetworkHttpHandler.java	Wed Sep 13 09:24:54 2017 -0400
+++ b/services/system-network/src/main/java/com/redhat/thermostat/gateway/service/system/network/http/SystemNetworkHttpHandler.java	Wed Sep 13 11:56:53 2017 -0400
@@ -70,7 +70,7 @@
                         @QueryParam(RequestParameters.QUERY) String queries,
                         @QueryParam(RequestParameters.INCLUDE) String includes,
                         @QueryParam(RequestParameters.EXCLUDE) String excludes,
-                        @QueryParam(RequestParameters.METADATA) @DefaultValue("false") String metadata,
+                        @QueryParam(RequestParameters.METADATA) @DefaultValue("false") Boolean metadata,
                         @Context ServletContext context,
                         @Context HttpServletRequest httpServletRequest) {
         return serviceHelper.handleGetWithSystemID(httpServletRequest, context, systemId, limit, offset, sort, queries, includes, excludes, metadata);
@@ -83,7 +83,7 @@
     public Response put(String body,
                         @PathParam(RequestParameters.SYSTEM_ID) String systemId,
                         @QueryParam(RequestParameters.QUERY) String queries,
-                        @QueryParam(RequestParameters.METADATA) @DefaultValue("false") String metadata,
+                        @QueryParam(RequestParameters.METADATA) @DefaultValue("false") Boolean metadata,
                         @Context ServletContext context,
                         @Context HttpServletRequest httpServletRequest) {
         return serviceHelper.handlePutWithSystemId(httpServletRequest, context, systemId, queries, metadata, body);
@@ -95,7 +95,7 @@
     @Produces({ "application/json", "text/html; charset=utf-8" })
     public Response post(String body,
                          @PathParam(RequestParameters.SYSTEM_ID) String systemId,
-                         @QueryParam(RequestParameters.METADATA) @DefaultValue("false") String metadata,
+                         @QueryParam(RequestParameters.METADATA) @DefaultValue("false") Boolean metadata,
                          @Context ServletContext context,
                          @Context HttpServletRequest httpServletRequest) {
         return serviceHelper.handlePostWithSystemID(httpServletRequest, context, systemId, metadata, body);
@@ -107,7 +107,7 @@
     @Produces({ "application/json", "text/html; charset=utf-8" })
     public Response delete(@PathParam(RequestParameters.SYSTEM_ID) String systemId,
                            @QueryParam(RequestParameters.QUERY) String queries,
-                           @QueryParam(RequestParameters.METADATA) @DefaultValue("false") String metadata,
+                           @QueryParam(RequestParameters.METADATA) @DefaultValue("false") Boolean metadata,
                            @Context ServletContext context,
                            @Context HttpServletRequest httpServletRequest) {
         return serviceHelper.handleDeleteWithSystemID(httpServletRequest, context, systemId, queries, metadata);
--- a/services/systems/src/main/java/com/redhat/thermostat/gateway/service/systems/http/SystemsHttpHandler.java	Wed Sep 13 09:24:54 2017 -0400
+++ b/services/systems/src/main/java/com/redhat/thermostat/gateway/service/systems/http/SystemsHttpHandler.java	Wed Sep 13 11:56:53 2017 -0400
@@ -68,7 +68,7 @@
                                      @QueryParam(RequestParameters.QUERY) String queries,
                                      @QueryParam(RequestParameters.INCLUDE) String includes,
                                      @QueryParam(RequestParameters.EXCLUDE) String excludes,
-                                     @QueryParam(RequestParameters.METADATA) @DefaultValue("false") String metadata,
+                                     @QueryParam(RequestParameters.METADATA) @DefaultValue("false") Boolean metadata,
                                      @Context ServletContext context,
                                      @Context HttpServletRequest httpServletRequest) {
         return serviceHelper.handleGet(httpServletRequest, context, limit, offset, sort, queries, includes, excludes, metadata);
@@ -85,7 +85,7 @@
                                   @QueryParam(RequestParameters.QUERY) String queries,
                                   @QueryParam(RequestParameters.INCLUDE) String includes,
                                   @QueryParam(RequestParameters.EXCLUDE) String excludes,
-                                  @QueryParam(RequestParameters.METADATA) @DefaultValue("false") String metadata,
+                                  @QueryParam(RequestParameters.METADATA) @DefaultValue("false") Boolean metadata,
                                   @Context ServletContext context,
                                   @Context HttpServletRequest httpServletRequest) {
         return serviceHelper.handleGetWithSystemID(httpServletRequest, context, systemId, limit, offset, sort, queries, includes, excludes, metadata);
@@ -98,7 +98,7 @@
     public Response putSystemInfo(String body,
                                   @PathParam(RequestParameters.SYSTEM_ID) String systemId,
                                   @QueryParam(RequestParameters.QUERY) String queries,
-                                  @QueryParam(RequestParameters.METADATA) @DefaultValue("false") String metadata,
+                                  @QueryParam(RequestParameters.METADATA) @DefaultValue("false") Boolean metadata,
                                   @Context ServletContext context,
                                   @Context HttpServletRequest httpServletRequest) {
         return serviceHelper.handlePutWithSystemId(httpServletRequest, context, systemId, queries, metadata, body);
@@ -110,7 +110,7 @@
     @Produces({ "application/json", "text/html; charset=utf-8" })
     public Response postSystemInfo(String body,
                                    @PathParam(RequestParameters.SYSTEM_ID) String systemId,
-                                   @QueryParam(RequestParameters.METADATA) @DefaultValue("false") String metadata,
+                                   @QueryParam(RequestParameters.METADATA) @DefaultValue("false") Boolean metadata,
                                    @Context ServletContext context,
                                    @Context HttpServletRequest httpServletRequest) {
         return serviceHelper.handlePostWithSystemID(httpServletRequest, context, systemId, metadata, body);
@@ -122,7 +122,7 @@
     @Produces({ "application/json", "text/html; charset=utf-8" })
     public Response deleteSystemInfo(@PathParam(RequestParameters.SYSTEM_ID) String systemId,
                                      @QueryParam(RequestParameters.QUERY) String queries,
-                                     @QueryParam(RequestParameters.METADATA) @DefaultValue("false") String metadata,
+                                     @QueryParam(RequestParameters.METADATA) @DefaultValue("false") Boolean metadata,
                                      @Context ServletContext context,
                                      @Context HttpServletRequest httpServletRequest) {
         return serviceHelper.handleDeleteWithSystemID(httpServletRequest, context, systemId, queries, metadata);