Removing Drools-pdp swagger annotations
[policy/drools-pdp.git] / policy-management / src / main / java / org / onap / policy / drools / server / restful / RestManager.java
index dfcfe43..11840a7 100644 (file)
@@ -3,7 +3,7 @@
  * ONAP
  * ================================================================================
  * Copyright (C) 2017-2021 AT&T Intellectual Property. All rights reserved.
- * Modifications Copyright (C) 2021 Nordix Foundation.
+ * Modifications Copyright (C) 2021,2023 Nordix Foundation.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -23,14 +23,10 @@ package org.onap.policy.drools.server.restful;
 
 import ch.qos.logback.classic.LoggerContext;
 import com.google.re2j.Pattern;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiParam;
-import io.swagger.annotations.ApiResponse;
-import io.swagger.annotations.ApiResponses;
-import io.swagger.annotations.Info;
-import io.swagger.annotations.SwaggerDefinition;
-import io.swagger.annotations.Tag;
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
@@ -41,6 +37,7 @@ import java.util.Properties;
 import java.util.UUID;
 import java.util.function.Function;
 import java.util.function.Supplier;
+import java.util.stream.Collectors;
 import javax.ws.rs.Consumes;
 import javax.ws.rs.DELETE;
 import javax.ws.rs.DefaultValue;
@@ -60,15 +57,12 @@ import lombok.Setter;
 import lombok.ToString;
 import org.onap.policy.common.endpoints.event.comm.Topic;
 import org.onap.policy.common.endpoints.event.comm.Topic.CommInfrastructure;
-import org.onap.policy.common.endpoints.event.comm.TopicEndpoint;
 import org.onap.policy.common.endpoints.event.comm.TopicEndpointManager;
 import org.onap.policy.common.endpoints.event.comm.TopicSink;
 import org.onap.policy.common.endpoints.event.comm.TopicSource;
 import org.onap.policy.common.endpoints.http.server.YamlMessageBodyHandler;
 import org.onap.policy.common.utils.logging.LoggerUtils;
 import org.onap.policy.drools.controller.DroolsController;
-import org.onap.policy.drools.features.PolicyControllerFeatureApi;
-import org.onap.policy.drools.features.PolicyEngineFeatureApi;
 import org.onap.policy.drools.properties.DroolsPropertyConstants;
 import org.onap.policy.drools.protocol.coders.EventProtocolCoder.CoderFilters;
 import org.onap.policy.drools.protocol.coders.EventProtocolCoderConstants;
@@ -78,7 +72,6 @@ import org.onap.policy.drools.protocol.configuration.ControllerConfiguration;
 import org.onap.policy.drools.protocol.configuration.PdpdConfiguration;
 import org.onap.policy.drools.system.PolicyController;
 import org.onap.policy.drools.system.PolicyControllerConstants;
-import org.onap.policy.drools.system.PolicyEngine;
 import org.onap.policy.drools.system.PolicyEngineConstants;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -90,14 +83,10 @@ import org.slf4j.LoggerFactory;
 @Path("/policy/pdp")
 @Produces({MediaType.APPLICATION_JSON, YamlMessageBodyHandler.APPLICATION_YAML})
 @Consumes({MediaType.APPLICATION_JSON, YamlMessageBodyHandler.APPLICATION_YAML})
-@Api
-@SwaggerDefinition(info = @Info(description = "PDP-D Telemetry Services", version = "v1.0", title = "PDP-D Telemetry"),
-        consumes = {MediaType.APPLICATION_JSON, YamlMessageBodyHandler.APPLICATION_YAML, MediaType.TEXT_PLAIN},
-        produces = {MediaType.APPLICATION_JSON, YamlMessageBodyHandler.APPLICATION_YAML},
-        schemes = {SwaggerDefinition.Scheme.HTTP},
-        tags = {@Tag(name = "pdp-d-telemetry", description = "Drools PDP Telemetry Operations")})
 @ToString
-public class RestManager {
+public class RestManager implements SwaggerApi, DefaultApi, FeaturesApi, InputsApi,
+        PropertiesApi, EnvironmentApi, SwitchesApi, ControllersApi,
+        TopicsApi, ToolsApi {
 
     private static final String OFFER_FAILED = "{}: cannot offer to topic {} because of {}";
     private static final String CANNOT_PERFORM_OPERATION = "cannot perform operation";
@@ -109,24 +98,26 @@ public class RestManager {
     private static final String FETCH_POLICY_FAILED = "{}: cannot get policy-controller because of {}";
     private static final String FETCH_POLICY_BY_NAME_FAILED = "{}: cannot get policy-controller {} because of {}";
     private static final String FETCH_POLICY_BY_TOPIC_FAILED =
-                    "{}: cannot get policy-controller {} topic {} because of {}";
+        "{}: cannot get policy-controller {} topic {} because of {}";
     private static final String FETCH_DROOLS_FAILED = "{}: cannot get drools-controller {} because of {}";
     private static final String FETCH_DROOLS_BY_ENTITY_FAILED =
-                    "{}: cannot get: drools-controller {}, session {}, query {}, entity {} because of {}";
+        "{}: cannot get: drools-controller {}, session {}, query {}, entity {} because of {}";
     private static final String FETCH_DROOLS_BY_PARAMS_FAILED =
-                    "{}: cannot get: drools-controller {}, session {}, query {}, entity {}, params {} because of {}";
+        "{}: cannot get: drools-controller {}, session {}, query {}, entity {}, params {} because of {}";
     private static final String FETCH_DROOLS_BY_FACTTYPE_FAILED =
-                    "{}: cannot get: drools-controller {}, session {}, factType {}, because of {}";
+        "{}: cannot get: drools-controller {}, session {}, factType {}, because of {}";
     private static final String FETCH_DECODERS_BY_POLICY_FAILED =
-                    "{}: cannot get decoders for policy-controller {} because of {}";
+        "{}: cannot get decoders for policy-controller {} because of {}";
     private static final String FETCH_DECODERS_BY_TOPIC_FAILED =
-                    "{}: cannot get decoders for policy-controller {} topic {} because of {}";
+        "{}: cannot get decoders for policy-controller {} topic {} because of {}";
     private static final String FETCH_DECODER_BY_TYPE_FAILED =
-                    "{}: cannot get decoder filters for policy-controller {} topic {} type {} because of {}";
+        "{}: cannot get decoder filters for policy-controller {} topic {} type {} because of {}";
     private static final String FETCH_DECODER_BY_FILTER_FAILED =
-                    "{}: cannot get decoder filters for policy-controller {} topic {} type {} filters {} because of {}";
+        "{}: cannot get decoder filters for policy-controller {} topic {} type {} filters {} because of {}";
     private static final String FETCH_ENCODER_BY_FILTER_FAILED =
-                    "{}: cannot get encoder filters for policy-controller {} because of {}";
+        "{}: cannot get encoder filters for policy-controller {} because of {}";
+
+    private static final String SWAGGER = "/swagger/swagger.json";
 
     /**
      * Logger.
@@ -148,10 +139,34 @@ public class RestManager {
      *
      * @return response object
      */
+    @Override
+    @GET
+    @Path("engine/swagger")
+    public Response swagger() {
+
+        try (InputStream inputStream = getClass().getResourceAsStream(SWAGGER);
+            BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream))) {
+            String contents = reader.lines()
+                    .collect(Collectors.joining(System.lineSeparator()));
+            return Response.status(Response.Status.OK)
+                        .entity(contents)
+                        .build();
+        } catch (IOException e) {
+            logger.error("Cannot read swagger.json {} because of {}", e.getMessage(), e);
+            return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
+                    .build();
+        }
+
+    }
+
+    /**
+     * GET.
+     *
+     * @return response object
+     */
+    @Override
     @GET
     @Path("engine")
-    @ApiOperation(value = "Retrieves the Engine Operational Status",
-            notes = "Top-level abstraction.  Provides a global view of resources", response = PolicyEngine.class)
     public Response engine() {
         return Response.status(Response.Status.OK).entity(PolicyEngineConstants.getManager()).build();
     }
@@ -161,17 +176,15 @@ public class RestManager {
      *
      * @return response object
      */
+    @Override
     @DELETE
     @Path("engine")
-    @ApiOperation(value = "Shuts down the Engine",
-            notes = "Deleting the engine, the top-level abstraction, equivalenty shuts it down",
-            response = PolicyEngine.class)
     public Response engineShutdown() {
         try {
             PolicyEngineConstants.getManager().shutdown();
         } catch (final IllegalStateException e) {
             logger.error("{}: cannot shutdown {} because of {}", this, PolicyEngineConstants.getManager(),
-                            e.getMessage(), e);
+                e.getMessage(), e);
             return Response.status(Response.Status.BAD_REQUEST).entity(PolicyEngineConstants.getManager()).build();
         }
 
@@ -183,22 +196,19 @@ public class RestManager {
      *
      * @return response object
      */
+    @Override
     @GET
     @Path("engine/features")
-    @ApiOperation(value = "Engine Features",
-            notes = "Provides the list of loaded features using the PolicyEngineFeatureAPI", responseContainer = "List")
     public Response engineFeatures() {
         return Response.status(Response.Status.OK).entity(PolicyEngineConstants.getManager().getFeatures()).build();
     }
 
+    @Override
     @GET
     @Path("engine/features/inventory")
-    @ApiOperation(value = "Engine Detailed Feature Inventory",
-            notes = "Provides detailed list of loaded features using the PolicyEngineFeatureAPI",
-            responseContainer = "List", response = PolicyEngineFeatureApi.class)
     public Response engineFeaturesInventory() {
         return Response.status(Response.Status.OK).entity(PolicyEngineConstants.getManager().getFeatureProviders())
-                        .build();
+            .build();
     }
 
     /**
@@ -206,16 +216,13 @@ public class RestManager {
      *
      * @return response object
      */
+    @Override
     @GET
     @Path("engine/features/{featureName}")
-    @ApiOperation(value = "Engine Feature", notes = "Provides Details for a given feature Engine Provider",
-            response = PolicyEngineFeatureApi.class)
-    @ApiResponses(value = {@ApiResponse(code = 404, message = "The feature cannot be found")})
-    public Response engineFeature(
-            @ApiParam(value = "Feature Name", required = true) @PathParam("featureName") String featureName) {
+    public Response engineFeature(@PathParam("featureName") String featureName) {
         try {
             return Response.status(Response.Status.OK)
-                            .entity(PolicyEngineConstants.getManager().getFeatureProvider(featureName)).build();
+                .entity(PolicyEngineConstants.getManager().getFeatureProvider(featureName)).build();
         } catch (final IllegalArgumentException iae) {
             logger.debug("feature unavailable: {}", featureName, iae);
             return Response.status(Response.Status.NOT_FOUND).entity(new Error(iae.getMessage())).build();
@@ -227,9 +234,9 @@ public class RestManager {
      *
      * @return response object
      */
+    @Override
     @GET
     @Path("engine/inputs")
-    @ApiOperation(value = "Engine Input Ports", notes = "List of input ports", responseContainer = "List")
     public Response engineInputs() {
         return Response.status(Response.Status.OK).entity(INPUTS).build();
     }
@@ -239,13 +246,10 @@ public class RestManager {
      *
      * @return response object
      */
+    @Override
     @POST
     @Path("engine/inputs/configuration")
-    @ApiOperation(value = "Engine Input Configuration Requests",
-            notes = "Feeds a configuration request input into the Engine")
-    @ApiResponses(value = {@ApiResponse(code = 406, message = "The configuration request cannot be honored")})
-    public Response engineUpdate(
-            @ApiParam(value = "Configuration to apply", required = true) PdpdConfiguration configuration) {
+    public Response engineUpdate(PdpdConfiguration configuration) {
         final PolicyController controller = null;
         boolean success;
         try {
@@ -253,12 +257,12 @@ public class RestManager {
         } catch (final Exception e) {
             success = false;
             logger.info("{}: cannot configure {} because of {}", this, PolicyEngineConstants.getManager(),
-                            e.getMessage(), e);
+                e.getMessage(), e);
         }
 
         if (!success) {
             return Response.status(Response.Status.NOT_ACCEPTABLE).entity(new Error(CANNOT_PERFORM_OPERATION))
-                    .build();
+                .build();
         } else {
             return Response.status(Response.Status.OK).entity(controller).build();
         }
@@ -269,10 +273,9 @@ public class RestManager {
      *
      * @return response object
      */
+    @Override
     @GET
     @Path("engine/properties")
-    @ApiOperation(value = "Engine Configuration Properties", notes = "Used for booststrapping the engine",
-            response = Properties.class)
     public Response engineProperties() {
         return Response.status(Response.Status.OK).entity(PolicyEngineConstants.getManager().getProperties()).build();
     }
@@ -282,28 +285,25 @@ public class RestManager {
      *
      * @return response object
      */
+    @Override
     @GET
     @Path("engine/environment")
-    @ApiOperation(value = "Engine Environment Properties",
-            notes = "Installation and OS environment properties used by the engine", response = Properties.class)
     public Response engineEnvironment() {
         return Response.status(Response.Status.OK).entity(PolicyEngineConstants.getManager().getEnvironment()).build();
     }
 
     /**
-    * GET.
-    *
-    * @return response object
-    */
+     * GET.
+     *
+     * @return response object
+     */
+    @Override
     @GET
     @Path("engine/environment/{envProperty}")
     @Consumes(MediaType.TEXT_PLAIN)
-    @ApiOperation(value = "Gets an environment variable", response = String.class)
-    public Response engineEnvironment(
-                    @ApiParam(value = "Environment Property",
-                                    required = true) @PathParam("envProperty") String envProperty) {
+    public Response engineEnvironmentProperty(@PathParam("envProperty") String envProperty) {
         return Response.status(Response.Status.OK)
-                        .entity(PolicyEngineConstants.getManager().getEnvironmentProperty(envProperty)).build();
+            .entity(PolicyEngineConstants.getManager().getEnvironmentProperty(envProperty)).build();
     }
 
     /**
@@ -311,14 +311,12 @@ public class RestManager {
      *
      * @return response object
      */
+    @Override
     @PUT
     @Path("engine/environment/{envProperty}")
     @Consumes(MediaType.TEXT_PLAIN)
     @Produces(MediaType.TEXT_PLAIN)
-    @ApiOperation(value = "Adds a new environment value to the engine", response = String.class)
-    public Response engineEnvironmentAdd(
-            @ApiParam(value = "Environment Property", required = true) @PathParam("envProperty") String envProperty,
-            @ApiParam(value = "Environment Value", required = true) String envValue) {
+    public Response engineEnvironmentAdd(@PathParam("envProperty") String envProperty, String envValue) {
         final String previousValue = PolicyEngineConstants.getManager().setEnvironmentProperty(envProperty, envValue);
         return Response.status(Response.Status.OK).entity(previousValue).build();
     }
@@ -328,10 +326,9 @@ public class RestManager {
      *
      * @return response object
      */
+    @Override
     @GET
     @Path("engine/switches")
-    @ApiOperation(value = "Engine Control Switches", notes = "List of the Engine Control Switches",
-            responseContainer = "List")
     public Response engineSwitches() {
         return Response.status(Response.Status.OK).entity(SWITCHES).build();
     }
@@ -341,12 +338,9 @@ public class RestManager {
      *
      * @return response object
      */
+    @Override
     @PUT
     @Path("engine/switches/activation")
-    @ApiOperation(value = "Switches on the Engine Activation Switch",
-            notes = "Turns on Activation Switch on the Engine. This order entails that the engine "
-                    + "and controllers are unlocked and started",
-            response = PolicyEngine.class)
     public Response engineActivation() {
         var success = true;
         try {
@@ -354,12 +348,12 @@ public class RestManager {
         } catch (final Exception e) {
             success = false;
             logger.info("{}: cannot activate {} because of {}", this, PolicyEngineConstants.getManager(),
-                            e.getMessage(), e);
+                e.getMessage(), e);
         }
 
         if (!success) {
             return Response.status(Response.Status.NOT_ACCEPTABLE).entity(new Error(CANNOT_PERFORM_OPERATION))
-                    .build();
+                .build();
         } else {
             return Response.status(Response.Status.OK).entity(PolicyEngineConstants.getManager()).build();
         }
@@ -370,12 +364,9 @@ public class RestManager {
      *
      * @return response object
      */
+    @Override
     @DELETE
     @Path("engine/switches/activation")
-    @ApiOperation(value = "Switches off Engine Activation Switch",
-            notes = "Turns off the Activation Switch on the Engine. This order entails that the engine "
-                    + "and controllers are locked (with the exception of those resources defined as unmanaged)",
-            response = PolicyEngine.class)
     public Response engineDeactivation() {
         var success = true;
         try {
@@ -383,12 +374,12 @@ public class RestManager {
         } catch (final Exception e) {
             success = false;
             logger.info("{}: cannot deactivate {} because of {}", this, PolicyEngineConstants.getManager(),
-                            e.getMessage(), e);
+                e.getMessage(), e);
         }
 
         if (!success) {
             return Response.status(Response.Status.NOT_ACCEPTABLE).entity(new Error(CANNOT_PERFORM_OPERATION))
-                    .build();
+                .build();
         } else {
             return Response.status(Response.Status.OK).entity(PolicyEngineConstants.getManager()).build();
         }
@@ -399,13 +390,9 @@ public class RestManager {
      *
      * @return response object
      */
+    @Override
     @PUT
     @Path("engine/switches/lock")
-    @ApiOperation(value = "Switches on the Engine Lock Control",
-            notes = "This switch locks all the engine resources as a whole, except those that are defined unmanaged",
-            response = PolicyEngine.class)
-    @ApiResponses(value = {@ApiResponse(code = 406,
-            message = "The system is an administrative state that prevents " + "this request to be fulfilled")})
     public Response engineLock() {
         final boolean success = PolicyEngineConstants.getManager().lock();
         if (success) {
@@ -420,13 +407,9 @@ public class RestManager {
      *
      * @return response object
      */
+    @Override
     @DELETE
     @Path("engine/switches/lock")
-    @ApiOperation(value = "Switches off the Lock control",
-            notes = "This switch locks all the engine resources as a whole, except those that are defined unmanaged",
-            response = PolicyEngine.class)
-    @ApiResponses(value = {@ApiResponse(code = 406,
-            message = "The system is an administrative state that prevents " + "this request to be fulfilled")})
     public Response engineUnlock() {
         final boolean success = PolicyEngineConstants.getManager().unlock();
         if (success) {
@@ -441,13 +424,12 @@ public class RestManager {
      *
      * @return response object
      */
+    @Override
     @GET
     @Path("engine/controllers")
-    @ApiOperation(value = "Lists the Policy Controllers Names", notes = "Unique Policy Controller Identifiers",
-            responseContainer = "List")
     public Response controllers() {
         return Response.status(Response.Status.OK).entity(PolicyEngineConstants.getManager().getPolicyControllerIds())
-                        .build();
+            .build();
     }
 
     /**
@@ -455,43 +437,34 @@ public class RestManager {
      *
      * @return response object
      */
+    @Override
     @GET
     @Path("engine/controllers/inventory")
-    @ApiOperation(value = "Lists the Policy Controllers", notes = "Detailed list of Policy Controllers",
-            responseContainer = "List", response = PolicyController.class)
     public Response controllerInventory() {
         return Response.status(Response.Status.OK).entity(PolicyEngineConstants.getManager().getPolicyControllers())
-                        .build();
+            .build();
     }
 
     /**
-    * POST.
-    *
-    * @return response object
-    */
+     * POST.
+     *
+     * @return response object
+     */
+    @Override
     @POST
     @Path("engine/controllers")
-    @ApiOperation(value = "Creates and starts a new Policy Controller",
-            notes = "Controller creation based on properties", response = PolicyController.class)
-    @ApiResponses(value = {@ApiResponse(code = 400, message = "Invalid configuration information has been provided"),
-        @ApiResponse(code = 304, message = "The controller already exists"),
-        @ApiResponse(code = 406,
-                    message = "The administrative state of the system prevents it " + "from processing this request"),
-        @ApiResponse(code = 206, message = "The controller has been created " + "but cannot be started"),
-        @ApiResponse(code = 201, message = "The controller has been succesfully created and started")})
-    public Response controllerAdd(
-            @ApiParam(value = "Configuration Properties to apply", required = true) Properties config) {
+    public Response controllerAdd(Properties config) {
         if (config == null) {
             return Response.status(Response.Status.BAD_REQUEST).entity(new Error("A configuration must be provided"))
-                    .build();
+                .build();
         }
 
         final String controllerName = config.getProperty(DroolsPropertyConstants.PROPERTY_CONTROLLER_NAME);
         if (controllerName == null || controllerName.isEmpty()) {
             return Response.status(Response.Status.BAD_REQUEST)
-                    .entity(new Error(
-                            "Configuration must have an entry for " + DroolsPropertyConstants.PROPERTY_CONTROLLER_NAME))
-                    .build();
+                .entity(new Error(
+                    "Configuration must have an entry for " + DroolsPropertyConstants.PROPERTY_CONTROLLER_NAME))
+                .build();
         }
 
         PolicyController controller;
@@ -506,12 +479,12 @@ public class RestManager {
         } catch (final IllegalStateException e) {
             logger.info(FETCH_POLICY_FAILED, this, e.getMessage(), e);
             return Response.status(Response.Status.NOT_ACCEPTABLE).entity(new Error(controllerName + NOT_FOUND_MSG))
-                    .build();
+                .build();
         }
 
         try {
             controller = PolicyEngineConstants.getManager().createPolicyController(
-                            config.getProperty(DroolsPropertyConstants.PROPERTY_CONTROLLER_NAME), config);
+                config.getProperty(DroolsPropertyConstants.PROPERTY_CONTROLLER_NAME), config);
         } catch (IllegalArgumentException | IllegalStateException e) {
             logger.warn("{}: cannot create policy-controller because of {}", this, e.getMessage(), e);
             return Response.status(Response.Status.BAD_REQUEST).entity(new Error(e.getMessage())).build();
@@ -522,7 +495,7 @@ public class RestManager {
             if (!success) {
                 logger.info("{}: cannot start {}", this, controller);
                 return Response.status(Response.Status.PARTIAL_CONTENT)
-                        .entity(new Error(controllerName + " can't be started")).build();
+                    .entity(new Error(controllerName + " can't be started")).build();
             }
         } catch (final IllegalStateException e) {
             logger.info("{}: cannot start {} because of {}", this, controller, e.getMessage(), e);
@@ -537,10 +510,9 @@ public class RestManager {
      *
      * @return response object
      */
+    @Override
     @GET
     @Path("engine/controllers/features")
-    @ApiOperation(value = "Lists of Feature Providers Identifiers", notes = "Unique Policy Controller Identifiers",
-            responseContainer = "List")
     public Response controllerFeatures() {
         return Response.status(Response.Status.OK).entity(PolicyEngineConstants.getManager().getFeatures()).build();
     }
@@ -550,14 +522,12 @@ public class RestManager {
      *
      * @return response object
      */
+    @Override
     @GET
     @Path("engine/controllers/features/inventory")
-    @ApiOperation(value = "Detailed Controllers Feature Inventory",
-            notes = "Provides detailed list of loaded features using the PolicyControllerFeatureAPI",
-            responseContainer = "List", response = PolicyControllerFeatureApi.class)
     public Response controllerFeaturesInventory() {
         return Response.status(Response.Status.OK)
-                        .entity(PolicyControllerConstants.getFactory().getFeatureProviders()).build();
+            .entity(PolicyControllerConstants.getFactory().getFeatureProviders()).build();
     }
 
     /**
@@ -565,18 +535,14 @@ public class RestManager {
      *
      * @return response object
      */
+    @Override
     @GET
     @Path("engine/controllers/features/{featureName}")
-    @ApiOperation(value = "Controller Feature",
-            notes = "Provides Details for a given Policy Controller feature provider",
-            response = PolicyControllerFeatureApi.class)
-    @ApiResponses(value = {@ApiResponse(code = 404, message = "The feature cannot be found")})
-    public Response controllerFeature(
-            @ApiParam(value = "Feature Name", required = true) @PathParam("featureName") String featureName) {
+    public Response controllerFeature(@PathParam("featureName") String featureName) {
         try {
             return Response.status(Response.Status.OK)
-                            .entity(PolicyControllerConstants.getFactory().getFeatureProvider(featureName))
-                            .build();
+                .entity(PolicyControllerConstants.getFactory().getFeatureProvider(featureName))
+                .build();
         } catch (final IllegalArgumentException iae) {
             logger.debug("{}: cannot feature {} because of {}", this, featureName, iae.getMessage(), iae);
             return Response.status(Response.Status.NOT_FOUND).entity(new Error(iae.getMessage())).build();
@@ -588,22 +554,14 @@ public class RestManager {
      *
      * @return response object
      */
+    @Override
     @GET
     @Path("engine/controllers/{controller}")
-    @ApiOperation(value = "Retrieves a Policy Controller",
-            notes = "A Policy Controller is a concrete drools application abstraction.  "
-                    + "It aggregates networking, drools, and other resources,"
-                    + "as provides operational controls over drools applications",
-            response = PolicyController.class)
-    @ApiResponses(
-            value = {@ApiResponse(code = 404, message = "The controller cannot be found"), @ApiResponse(code = 406,
-                    message = "The system is an administrative state that prevents " + "this request to be fulfilled")})
-    public Response controller(@ApiParam(value = "Policy Controller Name",
-            required = true) @PathParam("controller") String controllerName) {
+    public Response controller(@PathParam("controller") String controllerName) {
 
         return catchArgStateGenericEx(
             () -> Response.status(Response.Status.OK)
-                            .entity(PolicyControllerConstants.getFactory().get(controllerName)).build(),
+                .entity(PolicyControllerConstants.getFactory().get(controllerName)).build(),
             e -> {
                 logger.debug(FETCH_POLICY_BY_NAME_FAILED, this, controllerName, e.getMessage(), e);
                 return (controllerName);
@@ -615,42 +573,33 @@ public class RestManager {
      *
      * @return response object
      */
+    @Override
     @DELETE
     @Path("engine/controllers/{controller}")
-    @ApiOperation(value = "Deletes a Policy Controller",
-            notes = "A Policy Controller is a concrete drools application abstraction.  "
-                    + "It aggregates networking, drools, and other resources,"
-                    + "as provides operational controls over drools applications",
-            response = PolicyController.class)
-    @ApiResponses(value = {@ApiResponse(code = 404, message = "The controller cannot be found"),
-        @ApiResponse(code = 406,
-                    message = "The system is an administrative state that prevents " + "this request to be fulfilled"),
-        @ApiResponse(code = 500, message = "A problem has occurred while deleting the Policy Controller")})
-    public Response controllerDelete(@ApiParam(value = "Policy Controller Name",
-            required = true) @PathParam("controller") String controllerName) {
+    public Response controllerDelete(@PathParam("controller") String controllerName) {
 
         PolicyController controller;
         try {
             controller = PolicyControllerConstants.getFactory().get(controllerName);
             if (controller == null) {
                 return Response.status(Response.Status.BAD_REQUEST)
-                        .entity(new Error(controllerName + DOES_NOT_EXIST_MSG)).build();
+                    .entity(new Error(controllerName + DOES_NOT_EXIST_MSG)).build();
             }
         } catch (final IllegalArgumentException e) {
             logger.debug(FETCH_POLICY_BY_NAME_FAILED, this, controllerName, e.getMessage(), e);
             return Response.status(Response.Status.BAD_REQUEST)
-                    .entity(new Error(controllerName + NOT_FOUND + e.getMessage())).build();
+                .entity(new Error(controllerName + NOT_FOUND + e.getMessage())).build();
         } catch (final IllegalStateException e) {
             logger.debug(FETCH_POLICY_BY_NAME_FAILED, this, controllerName, e.getMessage(), e);
             return Response.status(Response.Status.NOT_ACCEPTABLE)
-                            .entity(new Error(controllerName + NOT_ACCEPTABLE_MSG)).build();
+                .entity(new Error(controllerName + NOT_ACCEPTABLE_MSG)).build();
         }
 
         try {
             PolicyEngineConstants.getManager().removePolicyController(controllerName);
         } catch (IllegalArgumentException | IllegalStateException e) {
             logger.debug("{}: cannot remove policy-controller {} because of {}", this, controllerName, e.getMessage(),
-                    e);
+                e);
             return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(new Error(e.getMessage())).build();
         }
 
@@ -662,25 +611,20 @@ public class RestManager {
      *
      * @return response object
      */
+    @Override
     @GET
     @Path("engine/controllers/{controller}/properties")
-    @ApiOperation(value = "Retrieves the configuration properties of a Policy Controller",
-            notes = "Configuration resources used by the controller if Properties format",
-            response = PolicyController.class)
-    @ApiResponses(
-            value = {@ApiResponse(code = 404, message = "The controller cannot be found"), @ApiResponse(code = 406,
-                    message = "The system is an administrative state that prevents " + "this request to be fulfilled")})
-    public Response controllerProperties(@ApiParam(value = "Policy Controller Name",
-            required = true) @PathParam("controller") String controllerName) {
+
+    public Response controllerProperties(@PathParam("controller") String controllerName) {
 
         return catchArgStateGenericEx(() -> {
             final PolicyController controller = PolicyControllerConstants.getFactory().get(controllerName);
             return Response.status(Response.Status.OK).entity(controller.getProperties()).build();
 
         }, e -> {
-                logger.debug(FETCH_POLICY_BY_NAME_FAILED, this, controllerName, e.getMessage(), e);
-                return (controllerName);
-            });
+            logger.debug(FETCH_POLICY_BY_NAME_FAILED, this, controllerName, e.getMessage(), e);
+            return (controllerName);
+        });
     }
 
     /**
@@ -688,10 +632,10 @@ public class RestManager {
      *
      * @return response object
      */
+    @Override
     @GET
     @Path("engine/controllers/{controller}/inputs")
-    @ApiOperation(value = "Policy Controller Input Ports", notes = "List of input ports", responseContainer = "List")
-    public Response controllerInputs() {
+    public Response controllerInputs(@PathParam("controller") String controllerName) {
         return Response.status(Response.Status.OK).entity(INPUTS).build();
     }
 
@@ -700,38 +644,33 @@ public class RestManager {
      *
      * @return response object
      */
+    @Override
     @POST
     @Path("engine/controllers/{controller}/inputs/configuration")
-    @ApiOperation(value = "Policy Controller Input Configuration Requests",
-            notes = "Feeds a configuration request input into the given Policy Controller")
-    @ApiResponses(value = {@ApiResponse(code = 400, message = "The configuration request is invalid"),
-        @ApiResponse(code = 406, message = "The configuration request cannot be honored")})
-    public Response controllerUpdate(
-            @ApiParam(value = "Policy Controller Name", required = true) @PathParam("controller") String controllerName,
-            @ApiParam(value = "Configuration to apply",
-                    required = true) ControllerConfiguration controllerConfiguration) {
+    public Response controllerUpdate(ControllerConfiguration controllerConfiguration,
+            @PathParam("controller") String controllerName) {
 
         if (controllerName == null || controllerName.isEmpty() || controllerConfiguration == null
-                || !controllerName.equals(controllerConfiguration.getName())) {
+            || !controllerName.equals(controllerConfiguration.getName())) {
             return Response.status(Response.Status.BAD_REQUEST)
-                    .entity("A valid or matching controller names must be provided").build();
+                .entity("A valid or matching controller names must be provided").build();
         }
 
         return catchArgStateGenericEx(() -> {
             var controller =
-                            PolicyEngineConstants.getManager().updatePolicyController(controllerConfiguration);
+                PolicyEngineConstants.getManager().updatePolicyController(controllerConfiguration);
             if (controller == null) {
                 return Response.status(Response.Status.BAD_REQUEST)
-                                .entity(new Error(controllerName + DOES_NOT_EXIST_MSG)).build();
+                    .entity(new Error(controllerName + DOES_NOT_EXIST_MSG)).build();
             }
 
             return Response.status(Response.Status.OK).entity(controller).build();
 
         }, e -> {
-                logger.info("{}: cannot update policy-controller {} because of {}", this, controllerName,
-                    e.getMessage(), e);
-                return (controllerName);
-            });
+            logger.info("{}: cannot update policy-controller {} because of {}", this, controllerName,
+                e.getMessage(), e);
+            return (controllerName);
+        });
     }
 
     /**
@@ -739,11 +678,10 @@ public class RestManager {
      *
      * @return response object
      */
+    @Override
     @GET
     @Path("engine/controllers/{controller}/switches")
-    @ApiOperation(value = "Policy Controller Switches", notes = "List of the Policy Controller Switches",
-            responseContainer = "List")
-    public Response controllerSwitches() {
+    public Response controllerSwitches(@PathParam("controller") String controllerName) {
         return Response.status(Response.Status.OK).entity(SWITCHES).build();
     }
 
@@ -752,21 +690,17 @@ public class RestManager {
      *
      * @return response object
      */
+    @Override
     @PUT
     @Path("engine/controllers/{controller}/switches/lock")
-    @ApiOperation(value = "Switches on the Policy Controller Lock Control",
-            notes = "This action on the switch locks the Policy Controller", response = PolicyController.class)
-    @ApiResponses(value = {@ApiResponse(code = 406,
-            message = "The system is an administrative state that prevents " + "this request to be fulfilled")})
-    public Response controllerLock(@ApiParam(value = "Policy Controller Name",
-            required = true) @PathParam("controller") String controllerName) {
+    public Response controllerLock(@PathParam("controller") String controllerName) {
         var policyController = PolicyControllerConstants.getFactory().get(controllerName);
         final boolean success = policyController.lock();
         if (success) {
             return Response.status(Status.OK).entity(policyController).build();
         } else {
             return Response.status(Status.NOT_ACCEPTABLE)
-                    .entity(new Error("Controller " + controllerName + " cannot be locked")).build();
+                .entity(new Error("Controller " + controllerName + " cannot be locked")).build();
         }
     }
 
@@ -775,21 +709,17 @@ public class RestManager {
      *
      * @return response object
      */
+    @Override
     @DELETE
     @Path("engine/controllers/{controller}/switches/lock")
-    @ApiOperation(value = "Switches off the Policy Controller Lock Control",
-            notes = "This action on the switch unlocks the Policy Controller", response = PolicyController.class)
-    @ApiResponses(value = {@ApiResponse(code = 406,
-            message = "The system is an administrative state that prevents " + "this request to be fulfilled")})
-    public Response controllerUnlock(@ApiParam(value = "Policy Controller Name",
-            required = true) @PathParam("controller") String controllerName) {
+    public Response controllerUnlock(@PathParam("controller") String controllerName) {
         var policyController = PolicyControllerConstants.getFactory().get(controllerName);
         final boolean success = policyController.unlock();
         if (success) {
             return Response.status(Status.OK).entity(policyController).build();
         } else {
             return Response.status(Status.NOT_ACCEPTABLE)
-                    .entity(new Error("Controller " + controllerName + " cannot be unlocked")).build();
+                .entity(new Error("Controller " + controllerName + " cannot be unlocked")).build();
         }
     }
 
@@ -798,25 +728,19 @@ public class RestManager {
      *
      * @return response object
      */
+    @Override
     @GET
     @Path("engine/controllers/{controller}/drools")
-    @ApiOperation(value = "Retrieves the Drools Controller subcomponent of the Policy Controller",
-            notes = "The Drools Controller provides an abstraction over the Drools subsystem",
-            response = DroolsController.class)
-    @ApiResponses(
-            value = {@ApiResponse(code = 404, message = "The controller cannot be found"), @ApiResponse(code = 406,
-                    message = "The system is an administrative state that prevents " + "this request to be fulfilled")})
-    public Response drools(@ApiParam(value = "Policy Controller Name",
-            required = true) @PathParam("controller") String controllerName) {
+    public Response drools(@PathParam("controller") String controllerName) {
 
         return catchArgStateGenericEx(() -> {
             var drools = this.getDroolsController(controllerName);
             return Response.status(Response.Status.OK).entity(drools).build();
 
         }, e -> {
-                logger.debug(FETCH_DROOLS_FAILED, this, controllerName, e.getMessage(), e);
-                return (controllerName);
-            });
+            logger.debug(FETCH_DROOLS_FAILED, this, controllerName, e.getMessage(), e);
+            return (controllerName);
+        });
     }
 
     /**
@@ -824,16 +748,10 @@ public class RestManager {
      *
      * @return response object
      */
+    @Override
     @GET
     @Path("engine/controllers/{controller}/drools/facts")
-    @ApiOperation(value = "Retrieves Facts Summary information for a given controller",
-            notes = "Provides the session names, and a count of fact object in the drools working memory",
-            responseContainer = "Map")
-    @ApiResponses(
-            value = {@ApiResponse(code = 404, message = "The controller cannot be found"), @ApiResponse(code = 406,
-                    message = "The system is an administrative state that prevents " + "this request to be fulfilled")})
-    public Response droolsFacts(@ApiParam(value = "Policy Controller Name",
-            required = true) @PathParam("controller") String controllerName) {
+    public Response droolsFacts2(@PathParam("controller") String controllerName) {
 
         return catchArgStateGenericEx(() -> {
             final Map<String, Long> sessionCounts = new HashMap<>();
@@ -844,9 +762,9 @@ public class RestManager {
             return sessionCounts;
 
         }, e -> {
-                logger.debug(FETCH_POLICY_BY_NAME_FAILED, this, controllerName, e.getMessage(), e);
-                return controllerName;
-            });
+            logger.debug(FETCH_POLICY_BY_NAME_FAILED, this, controllerName, e.getMessage(), e);
+            return controllerName;
+        });
     }
 
     /**
@@ -854,26 +772,20 @@ public class RestManager {
      *
      * @return response object
      */
+    @Override
     @GET
     @Path("engine/controllers/{controller}/drools/facts/{session}")
-    @ApiOperation(value = "Retrieves Fact Types (classnames) for a given controller and its count",
-            notes = "The fact types are the classnames of the objects inserted in the drools working memory",
-            responseContainer = "Map")
-    @ApiResponses(value = {@ApiResponse(code = 404, message = "The controller or session cannot be found"),
-        @ApiResponse(code = 406,
-                    message = "The system is an administrative state that prevents " + "this request to be fulfilled")})
-    public Response droolsFacts(
-            @ApiParam(value = "Policy Controller Name", required = true) @PathParam("controller") String controllerName,
-            @ApiParam(value = "Drools Session Name", required = true) @PathParam("session") String sessionName) {
+    public Response droolsFacts1(@PathParam("controller") String controllerName,
+        @PathParam("session") String sessionName) {
 
         return catchArgStateGenericEx(() -> {
             var drools = this.getDroolsController(controllerName);
             return drools.factClassNames(sessionName);
 
         }, e -> {
-                logger.debug(FETCH_DROOLS_FAILED, this, controllerName, e.getMessage(), e);
-                return (controllerName + ":" + sessionName);
-            });
+            logger.debug(FETCH_DROOLS_FAILED, this, controllerName, e.getMessage(), e);
+            return (controllerName + ":" + sessionName);
+        });
     }
 
     /**
@@ -881,21 +793,14 @@ public class RestManager {
      *
      * @return response object
      */
+    @Override
     @GET
     @Path("engine/controllers/{controller}/drools/facts/{session}/{factType}")
-    @ApiOperation(
-            value = "Retrieves fact objects of a given type in the drools working memory"
-                    + "for a given controller and session",
-            notes = "The fact types are the classnames of the objects inserted in the drools working memory",
-            responseContainer = "List")
-    @ApiResponses(value = {@ApiResponse(code = 404, message = "The controller, session, or fact type cannot be found"),
-        @ApiResponse(code = 406,
-                    message = "The system is an administrative state that prevents " + "this request to be fulfilled")})
     public Response droolsFacts(
-            @ApiParam(value = "Fact count", required = false) @DefaultValue("false") @QueryParam("count") boolean count,
-            @ApiParam(value = "Policy Controller Name", required = true) @PathParam("controller") String controllerName,
-            @ApiParam(value = "Drools Session Name", required = true) @PathParam("session") String sessionName,
-            @ApiParam(value = "Drools Fact Type", required = true) @PathParam("factType") String factType) {
+        @PathParam("controller") String controllerName,
+        @PathParam("session") String sessionName,
+        @PathParam("factType") String factType,
+        @DefaultValue("false") @QueryParam("count") boolean count) {
 
         return catchArgStateGenericEx(() -> {
             var drools = this.getDroolsController(controllerName);
@@ -903,9 +808,9 @@ public class RestManager {
             return (count ? facts.size() : facts);
 
         }, e -> {
-                logger.debug(FETCH_POLICY_BY_NAME_FAILED, this, controllerName, e.getMessage(), e);
-                return (controllerName + ":" + sessionName + ":" + factType);
-            });
+            logger.debug(FETCH_POLICY_BY_NAME_FAILED, this, controllerName, e.getMessage(), e);
+            return (controllerName + ":" + sessionName + ":" + factType);
+        });
     }
 
     /**
@@ -913,25 +818,15 @@ public class RestManager {
      *
      * @return response object
      */
+    @Override
     @GET
     @Path("engine/controllers/{controller}/drools/facts/{session}/{query}/{queriedEntity}")
-    @ApiOperation(
-            value = "Gets all the fact objects returned by a DRL query with no parameters "
-                    + "from the drools working memory"
-                    + "for a given controller and session",
-            notes = "The DRL query must be defined in the DRL file", responseContainer = "List")
-    @ApiResponses(value = {
-        @ApiResponse(code = 404, message = "The controller, session, or query information, cannot be found"),
-        @ApiResponse(code = 406,
-                    message = "The system is an administrative state that prevents " + "this request to be fulfilled"),
-        @ApiResponse(code = 500, message = "A server error has occurred processing this request")})
-    public Response droolsFacts(
-            @ApiParam(value = "Fact count", required = false) @DefaultValue("false") @QueryParam("count") boolean count,
-            @ApiParam(value = "Policy Controller Name", required = true) @PathParam("controller") String controllerName,
-            @ApiParam(value = "Drools Session Name", required = true) @PathParam("session") String sessionName,
-            @ApiParam(value = "Query Name Present in DRL", required = true) @PathParam("query") String queryName,
-            @ApiParam(value = "Query Identifier Present in the DRL Query",
-                    required = true) @PathParam("queriedEntity") String queriedEntity) {
+    public Response droolsFacts3(
+        @PathParam("controller") String controllerName,
+        @PathParam("session") String sessionName,
+        @PathParam("query") String queryName,
+        @PathParam("queriedEntity") String queriedEntity,
+        @DefaultValue("false") @QueryParam("count") boolean count) {
 
         return catchArgStateGenericEx(() -> {
             var drools = this.getDroolsController(controllerName);
@@ -939,10 +834,10 @@ public class RestManager {
             return (count ? facts.size() : facts);
 
         }, e -> {
-                logger.debug(FETCH_DROOLS_BY_ENTITY_FAILED, this,
-                            controllerName, sessionName, queryName, queriedEntity, e.getMessage(), e);
-                return (controllerName + ":" + sessionName + ":" + queryName + queriedEntity);
-            });
+            logger.debug(FETCH_DROOLS_BY_ENTITY_FAILED, this,
+                controllerName, sessionName, queryName, queriedEntity, e.getMessage(), e);
+            return (controllerName + ":" + sessionName + ":" + queryName + queriedEntity);
+        });
     }
 
     /**
@@ -950,25 +845,15 @@ public class RestManager {
      *
      * @return response object
      */
+    @Override
     @POST
     @Path("engine/controllers/{controller}/drools/facts/{session}/{query}/{queriedEntity}")
-    @ApiOperation(
-            value = "Gets all the fact objects returned by a DRL query with parameters from the drools working memory"
-                    + "for a given controller and session",
-            notes = "The DRL query with parameters must be defined in the DRL file", responseContainer = "List")
-    @ApiResponses(value = {
-        @ApiResponse(code = 404, message = "The controller, session, or query information, cannot be found"),
-        @ApiResponse(code = 406,
-                    message = "The system is an administrative state that prevents " + "this request to be fulfilled"),
-        @ApiResponse(code = 500, message = "A server error has occurred processing this request")})
-    public Response droolsFacts(
-            @ApiParam(value = "Policy Controller Name", required = true) @PathParam("controller") String controllerName,
-            @ApiParam(value = "Drools Session Name", required = true) @PathParam("session") String sessionName,
-            @ApiParam(value = "Query Name Present in DRL", required = true) @PathParam("query") String queryName,
-            @ApiParam(value = "Query Identifier Present in the DRL Query",
-                    required = true) @PathParam("queriedEntity") String queriedEntity,
-            @ApiParam(value = "Query Parameter Values to pass in the DRL Query",
-                    required = false) List<Object> queryParameters) {
+    public Response droolsFacts4(
+        @PathParam("controller") String controllerName,
+        @PathParam("session") String sessionName,
+        @PathParam("query") String queryName,
+        @PathParam("queriedEntity") String queriedEntity,
+        List<Object> queryParameters) {
 
         return catchArgStateGenericEx(() -> {
             var drools = this.getDroolsController(controllerName);
@@ -979,10 +864,10 @@ public class RestManager {
             }
 
         }, e -> {
-                logger.debug(FETCH_DROOLS_BY_PARAMS_FAILED,
-                    this, controllerName, sessionName, queryName, queriedEntity, queryParameters, e.getMessage(), e);
-                return (controllerName + ":" + sessionName + ":" + queryName + queriedEntity);
-            });
+            logger.debug(FETCH_DROOLS_BY_PARAMS_FAILED,
+                this, controllerName, sessionName, queryName, queriedEntity, queryParameters, e.getMessage(), e);
+            return (controllerName + ":" + sessionName + ":" + queryName + queriedEntity);
+        });
     }
 
     /**
@@ -990,32 +875,23 @@ public class RestManager {
      *
      * @return response object
      */
+    @Override
     @DELETE
     @Path("engine/controllers/{controller}/drools/facts/{session}/{factType}")
-    @ApiOperation(
-            value = "Deletes all the fact objects of a given type from the drools working memory"
-                    + "for a given controller and session.   The objects retracted from the working "
-                    + "memory are provided in the response.",
-            notes = "The fact types are the classnames of the objects inserted in the drools working memory",
-            responseContainer = "List")
-    @ApiResponses(value = {@ApiResponse(code = 404, message = "The controller, session, or fact type, cannot be found"),
-        @ApiResponse(code = 406,
-                    message = "The system is an administrative state that prevents " + "this request to be fulfilled"),
-        @ApiResponse(code = 500, message = "A server error has occurred processing this request")})
-    public Response droolsFactsDelete(
-            @ApiParam(value = "Policy Controller Name", required = true) @PathParam("controller") String controllerName,
-            @ApiParam(value = "Drools Session Name", required = true) @PathParam("session") String sessionName,
-            @ApiParam(value = "Drools Fact Type", required = true) @PathParam("factType") String factType) {
+    public Response droolsFactsDelete1(
+        @PathParam("controller") String controllerName,
+        @PathParam("session") String sessionName,
+        @PathParam("factType") String factType) {
 
         return catchArgStateGenericEx(() -> {
             var drools = this.getDroolsController(controllerName);
             return drools.facts(sessionName, factType, true);
 
         }, e -> {
-                logger.debug(FETCH_DROOLS_BY_FACTTYPE_FAILED, this,
-                            controllerName, sessionName, factType, e.getMessage(), e);
-                return (controllerName + ":" + sessionName + ":" + factType);
-            });
+            logger.debug(FETCH_DROOLS_BY_FACTTYPE_FAILED, this,
+                controllerName, sessionName, factType, e.getMessage(), e);
+            return (controllerName + ":" + sessionName + ":" + factType);
+        });
     }
 
     /**
@@ -1023,40 +899,25 @@ public class RestManager {
      *
      * @return response object
      */
+    @Override
     @DELETE
     @Path("engine/controllers/{controller}/drools/facts/{session}/{query}/{queriedEntity}")
-    @ApiOperation(
-            value = "Deletes all the fact objects returned by a DRL query with parameters "
-                    + "from the drools working memory "
-                    + "for a given controller and session",
-            notes = "The DRL query with parameters must be defined in the DRL file", responseContainer = "List")
-    @ApiResponses(value = {
-        @ApiResponse(code = 404, message = "The controller, session, or query information, cannot be found"),
-        @ApiResponse(code = 406,
-                    message = "The system is an administrative state that prevents " + "this request to be fulfilled"),
-        @ApiResponse(code = 500, message = "A server error has occurred processing this request")})
     public Response droolsFactsDelete(
-            @ApiParam(value = "Policy Controller Name", required = true) @PathParam("controller") String controllerName,
-            @ApiParam(value = "Drools Session Name", required = true) @PathParam("session") String sessionName,
-            @ApiParam(value = "Query Name Present in DRL", required = true) @PathParam("query") String queryName,
-            @ApiParam(value = "Query Identifier Present in the DRL Query",
-                    required = true) @PathParam("queriedEntity") String queriedEntity,
-            @ApiParam(value = "Query Parameter Values to pass in the DRL Query",
-                    required = false) List<Object> queryParameters) {
+        @PathParam("controller") String controllerName,
+        @PathParam("session") String sessionName,
+        @PathParam("query") String queryName,
+        @PathParam("queriedEntity") String queriedEntity) {
 
         return catchArgStateGenericEx(() -> {
             var drools = this.getDroolsController(controllerName);
-            if (queryParameters == null || queryParameters.isEmpty()) {
-                return drools.factQuery(sessionName, queryName, queriedEntity, true);
-            } else {
-                return drools.factQuery(sessionName, queryName, queriedEntity, true, queryParameters.toArray());
-            }
+            return drools.factQuery(sessionName, queryName, queriedEntity, true);
+
 
         }, e -> {
-                logger.debug(FETCH_DROOLS_BY_PARAMS_FAILED,
-                    this, controllerName, sessionName, queryName, queriedEntity, queryParameters, e.getMessage(), e);
-                return (controllerName + ":" + sessionName + ":" + queryName + queriedEntity);
-            });
+            logger.debug(FETCH_DROOLS_BY_PARAMS_FAILED,
+                this, controllerName, sessionName, queryName, queriedEntity, e.getMessage(), e);
+            return (controllerName + ":" + sessionName + ":" + queryName + queriedEntity);
+        });
     }
 
     /**
@@ -1064,12 +925,10 @@ public class RestManager {
      *
      * @return response object
      */
+    @Override
     @POST
     @Path("engine/controllers/tools/coders/decoders/filters/rule")
-    @ApiOperation(value = "Produces a Decoder Rule Filter in a format that the Policy Controller can understand",
-            notes = "The result can be used with other APIs to attach a filter to a decoder")
-    public Response rules(
-            @ApiParam(value = "JsonPath expression", required = true) String expression) {
+    public Response rules(String expression) {
         return Response.status(Status.OK).entity(new JsonProtocolFilter(expression)).build();
     }
 
@@ -1078,29 +937,20 @@ public class RestManager {
      *
      * @return response object
      */
+    @Override
     @GET
     @Path("engine/controllers/{controller}/decoders")
-    @ApiOperation(value = "Gets all the decoders used by a controller",
-            notes = "A Policy Controller uses decoders to deserialize incoming network messages from "
-                    + "subscribed network topics into specific (fact) objects. "
-                    + "The deserialized (fact) object will typically be inserted in the drools working "
-                    + " memory of the controlled drools application.",
-            responseContainer = "List", response = ProtocolCoderToolset.class)
-    @ApiResponses(
-            value = {@ApiResponse(code = 404, message = "The controller cannot be found"), @ApiResponse(code = 406,
-                    message = "The system is an administrative state that prevents " + "this request to be fulfilled")})
-    public Response decoders(@ApiParam(value = "Policy Controller Name",
-            required = true) @PathParam("controller") String controllerName) {
+    public Response decoders(@PathParam("controller") String controllerName) {
 
         return catchArgStateGenericEx(() -> {
             var drools = this.getDroolsController(controllerName);
             return EventProtocolCoderConstants.getManager().getDecoders(drools.getGroupId(), drools.getArtifactId());
 
         }, e -> {
-                logger.debug(FETCH_DECODERS_BY_POLICY_FAILED, this, controllerName,
-                            e.getMessage(), e);
-                return (controllerName);
-            });
+            logger.debug(FETCH_DECODERS_BY_POLICY_FAILED, this, controllerName,
+                e.getMessage(), e);
+            return (controllerName);
+        });
     }
 
     /**
@@ -1108,30 +958,20 @@ public class RestManager {
      *
      * @return response object
      */
+    @Override
     @GET
     @Path("engine/controllers/{controller}/decoders/filters")
-    @ApiOperation(value = "Gets all the filters used by a controller",
-            notes = "A Policy Controller uses decoders to deserialize incoming network messages from "
-                    + "subscribed network topics into specific (fact) objects. "
-                    + "The deserialized (fact) object will typically be inserted in the drools working "
-                    + " memory of the controlled drools application."
-                    + "Acceptance filters are used to filter out undesired network messages for the given controller",
-            responseContainer = "List", response = CoderFilters.class)
-    @ApiResponses(
-            value = {@ApiResponse(code = 404, message = "The controller cannot be found"), @ApiResponse(code = 406,
-                    message = "The system is an administrative state that prevents " + "this request to be fulfilled")})
-    public Response decoderFilters(@ApiParam(value = "Policy Controller Name",
-            required = true) @PathParam("controller") String controllerName) {
+    public Response decoderFilters(@PathParam("controller") String controllerName) {
 
         return catchArgStateGenericEx(() -> {
             var drools = this.getDroolsController(controllerName);
             return EventProtocolCoderConstants.getManager()
-                            .getDecoderFilters(drools.getGroupId(), drools.getArtifactId());
+                .getDecoderFilters(drools.getGroupId(), drools.getArtifactId());
 
         }, e -> {
-                logger.debug(FETCH_DECODERS_BY_POLICY_FAILED, this, controllerName, e.getMessage(), e);
-                return (controllerName);
-            });
+            logger.debug(FETCH_DECODERS_BY_POLICY_FAILED, this, controllerName, e.getMessage(), e);
+            return (controllerName);
+        });
     }
 
     /**
@@ -1139,30 +979,22 @@ public class RestManager {
      *
      * @return response object
      */
+    @Override
     @GET
     @Path("engine/controllers/{controller}/decoders/{topic}")
-    @ApiOperation(value = "Gets all the decoders in use by a controller for a networked topic",
-            notes = "A Policy Controller uses decoders to deserialize incoming network messages from "
-                    + "subscribed network topics into specific (fact) objects. "
-                    + "The deserialized (fact) object will typically be inserted in the drools working "
-                    + " memory of the controlled drools application.",
-            responseContainer = "List", response = ProtocolCoderToolset.class)
-    @ApiResponses(value = {@ApiResponse(code = 404, message = "The controller or topic cannot be found"),
-        @ApiResponse(code = 406,
-                    message = "The system is an administrative state that prevents " + "this request to be fulfilled")})
     public Response decoder(
-            @ApiParam(value = "Policy Controller Name", required = true) @PathParam("controller") String controllerName,
-            @ApiParam(value = "Networked Topic Name", required = true) @PathParam("topic") String topic) {
+        @PathParam("controller") String controllerName,
+        @PathParam("topic") String topic) {
 
         return catchArgStateGenericEx(() -> {
             var drools = this.getDroolsController(controllerName);
             return EventProtocolCoderConstants.getManager()
-                            .getDecoders(drools.getGroupId(), drools.getArtifactId(), topic);
+                .getDecoders(drools.getGroupId(), drools.getArtifactId(), topic);
 
         }, e -> {
-                logger.debug(FETCH_DECODERS_BY_TOPIC_FAILED, this, controllerName, topic, e.getMessage(), e);
-                return (controllerName + ":" + topic);
-            });
+            logger.debug(FETCH_DECODERS_BY_TOPIC_FAILED, this, controllerName, topic, e.getMessage(), e);
+            return (controllerName + ":" + topic);
+        });
     }
 
     /**
@@ -1170,37 +1002,28 @@ public class RestManager {
      *
      * @return response object
      */
+    @Override
     @GET
     @Path("engine/controllers/{controller}/decoders/{topic}/filters")
-    @ApiOperation(value = "Gets all filters attached to decoders for a given networked topic in use by a controller",
-            notes = "A Policy Controller uses decoders to deserialize incoming network messages from "
-                    + "subscribed network topics into specific (fact) objects. "
-                    + "The deserialized (fact) object will typically be inserted in the drools working "
-                    + " memory of the controlled drools application."
-                    + "Acceptance filters are used to filter out undesired network messages for the given controller",
-            responseContainer = "List", response = CoderFilters.class)
-    @ApiResponses(value = {@ApiResponse(code = 404, message = "The controller or topic cannot be found"),
-        @ApiResponse(code = 406,
-                    message = "The system is an administrative state that prevents " + "this request to be fulfilled")})
-    public Response decoderFilter(
-            @ApiParam(value = "Policy Controller Name", required = true) @PathParam("controller") String controllerName,
-            @ApiParam(value = "Networked Topic Name", required = true) @PathParam("topic") String topic) {
+    public Response decoderFilter2(
+        @PathParam("controller") String controllerName,
+        @PathParam("topic") String topic) {
 
         return catchArgStateGenericEx(() -> {
             var drools = this.getDroolsController(controllerName);
             final ProtocolCoderToolset decoder = EventProtocolCoderConstants.getManager()
-                            .getDecoders(drools.getGroupId(), drools.getArtifactId(), topic);
+                .getDecoders(drools.getGroupId(), drools.getArtifactId(), topic);
             if (decoder == null) {
                 return Response.status(Response.Status.BAD_REQUEST).entity(new Error(topic + DOES_NOT_EXIST_MSG))
-                        .build();
+                    .build();
             } else {
                 return decoder.getCoders();
             }
 
         }, e -> {
-                logger.debug(FETCH_DECODERS_BY_TOPIC_FAILED, this, controllerName, topic, e.getMessage(), e);
-                return (controllerName + ":" + topic);
-            });
+            logger.debug(FETCH_DECODERS_BY_TOPIC_FAILED, this, controllerName, topic, e.getMessage(), e);
+            return (controllerName + ":" + topic);
+        });
     }
 
     /**
@@ -1208,40 +1031,31 @@ public class RestManager {
      *
      * @return response object
      */
+    @Override
     @GET
     @Path("engine/controllers/{controller}/decoders/{topic}/filters/{factType}")
-    @ApiOperation(
-            value = "Gets all filters attached to decoders for a given subscribed networked topic " + "and fact type",
-            notes = "Decoders are associated with networked topics. A Policy Controller manages "
-                    + "multiple topics and therefore its attached decoders. "
-                    + "A Policy Controller uses filters to further specify the fact mapping.  "
-                    + "Filters are applied on a per fact type (classname).",
-            responseContainer = "List", response = CoderFilters.class)
-    @ApiResponses(value = {@ApiResponse(code = 404, message = "The controller, topic, or fact type cannot be found"),
-        @ApiResponse(code = 406,
-                    message = "The system is an administrative state that prevents " + "this request to be fulfilled")})
-    public Response decoderFilter(
-            @ApiParam(value = "Policy Controller Name", required = true) @PathParam("controller") String controllerName,
-            @ApiParam(value = "Networked Topic Name", required = true) @PathParam("topic") String topic,
-            @ApiParam(value = "Fact Type", required = true) @PathParam("factType") String factClass) {
+    public Response decoderFilter1(
+        @PathParam("controller") String controllerName,
+        @PathParam("topic") String topic,
+        @PathParam("factType") String factClass) {
 
         return catchArgStateGenericEx(() -> {
             var drools = this.getDroolsController(controllerName);
             final ProtocolCoderToolset decoder = EventProtocolCoderConstants.getManager()
-                            .getDecoders(drools.getGroupId(), drools.getArtifactId(), topic);
+                .getDecoders(drools.getGroupId(), drools.getArtifactId(), topic);
             final CoderFilters filters = decoder.getCoder(factClass);
             if (filters == null) {
                 return Response.status(Response.Status.BAD_REQUEST)
-                        .entity(new Error(topic + ":" + factClass + DOES_NOT_EXIST_MSG)).build();
+                    .entity(new Error(topic + ":" + factClass + DOES_NOT_EXIST_MSG)).build();
             } else {
                 return filters;
             }
 
         }, e -> {
-                logger.debug(FETCH_DECODER_BY_TYPE_FAILED, this,
-                            controllerName, topic, factClass, e.getMessage(), e);
-                return (controllerName + ":" + topic + ":" + factClass);
-            });
+            logger.debug(FETCH_DECODER_BY_TYPE_FAILED, this,
+                controllerName, topic, factClass, e.getMessage(), e);
+            return (controllerName + ":" + topic + ":" + factClass);
+        });
     }
 
     /**
@@ -1249,48 +1063,37 @@ public class RestManager {
      *
      * @return response object
      */
+    @Override
     @PUT
     @Path("engine/controllers/{controller}/decoders/{topic}/filters/{factType}")
-    @ApiOperation(value = "Attaches filters to the decoder for a given networked topic " + "and fact type",
-            notes = "Decoders are associated with networked topics. A Policy Controller manages "
-                    + "multiple topics and therefore its attached decoders. "
-                    + "A Policy Controller uses filters to further specify the fact mapping.  "
-                    + "Filters are applied on a per fact type (classname).",
-            responseContainer = "List", response = CoderFilters.class)
-    @ApiResponses(value = {
-        @ApiResponse(code = 404,
-                    message = "The controller, topic, fact type, cannot be found, "
-                            + "or a filter has not been provided"),
-        @ApiResponse(code = 406,
-                    message = "The system is an administrative state that prevents " + "this request to be fulfilled")})
     public Response decoderFilter(
-            @ApiParam(value = "Policy Controller Name", required = true) @PathParam("controller") String controllerName,
-            @ApiParam(value = "Topic Name", required = true) @PathParam("topic") String topic,
-            @ApiParam(value = "Fact Type", required = true) @PathParam("factType") String factClass,
-            @ApiParam(value = "Configuration Filter", required = true) JsonProtocolFilter configFilters) {
+            JsonProtocolFilter configFilters,
+            @PathParam("controller") String controllerName,
+            @PathParam("topic") String topic,
+            @PathParam("factType") String factClass) {
 
         if (configFilters == null) {
             return Response.status(Response.Status.BAD_REQUEST).entity(new Error("Configuration Filters not provided"))
-                    .build();
+                .build();
         }
 
         return catchArgStateGenericEx(() -> {
             var drools = this.getDroolsController(controllerName);
             final ProtocolCoderToolset decoder = EventProtocolCoderConstants.getManager()
-                            .getDecoders(drools.getGroupId(), drools.getArtifactId(), topic);
+                .getDecoders(drools.getGroupId(), drools.getArtifactId(), topic);
             final CoderFilters filters = decoder.getCoder(factClass);
             if (filters == null) {
                 return Response.status(Response.Status.BAD_REQUEST)
-                        .entity(new Error(topic + ":" + factClass + DOES_NOT_EXIST_MSG)).build();
+                    .entity(new Error(topic + ":" + factClass + DOES_NOT_EXIST_MSG)).build();
             }
             filters.setFilter(configFilters);
             return filters;
 
         }, e -> {
-                logger.debug(FETCH_DECODER_BY_FILTER_FAILED,
-                            this, controllerName, topic, factClass, configFilters, e.getMessage(), e);
-                return (controllerName + ":" + topic + ":" + factClass);
-            });
+            logger.debug(FETCH_DECODER_BY_FILTER_FAILED,
+                this, controllerName, topic, factClass, configFilters, e.getMessage(), e);
+            return (controllerName + ":" + topic + ":" + factClass);
+        });
     }
 
     /**
@@ -1298,45 +1101,38 @@ public class RestManager {
      *
      * @return response object
      */
+    @Override
     @GET
     @Path("engine/controllers/{controller}/decoders/{topic}/filters/{factType}/rule")
-    @ApiOperation(value = "Gets the filter rule attached to a topic decoder of a controller",
-            notes = "Decoders are associated with networked topics. A Policy Controller manages "
-                    + "multiple topics and therefore its attached decoders. "
-                    + "A Policy Controller uses filters to further specify the fact mapping.  "
-                    + "Filters are applied on a per fact type using a jsonpath expression rule. ")
-    @ApiResponses(value = {@ApiResponse(code = 404, message = "The controller, topic, or fact type cannot be found"),
-        @ApiResponse(code = 406,
-                    message = "The system is an administrative state that prevents " + "this request to be fulfilled")})
     public Response decoderFilterRules(
-            @ApiParam(value = "Policy Controller Name", required = true) @PathParam("controller") String controllerName,
-            @ApiParam(value = "Topic Name", required = true) @PathParam("topic") String topic,
-            @ApiParam(value = "Fact Type", required = true) @PathParam("factType") String factClass) {
+        @PathParam("controller") String controllerName,
+        @PathParam("topic") String topic,
+        @PathParam("factType") String factClass) {
 
         return catchArgStateGenericEx(() -> {
             var drools = this.getDroolsController(controllerName);
             final ProtocolCoderToolset decoder = EventProtocolCoderConstants.getManager()
-                            .getDecoders(drools.getGroupId(), drools.getArtifactId(), topic);
+                .getDecoders(drools.getGroupId(), drools.getArtifactId(), topic);
 
             final CoderFilters filters = decoder.getCoder(factClass);
             if (filters == null) {
                 return Response.status(Response.Status.BAD_REQUEST)
-                        .entity(new Error(controllerName + ":" + topic + ":" + factClass + DOES_NOT_EXIST_MSG)).build();
+                    .entity(new Error(controllerName + ":" + topic + ":" + factClass + DOES_NOT_EXIST_MSG)).build();
             }
 
             final JsonProtocolFilter filter = filters.getFilter();
             if (filter == null) {
                 return Response.status(Response.Status.BAD_REQUEST)
-                        .entity(new Error(controllerName + ":" + topic + ":" + factClass + NO_FILTERS)).build();
+                    .entity(new Error(controllerName + ":" + topic + ":" + factClass + NO_FILTERS)).build();
             }
 
             return filter.getRule();
 
         }, e -> {
-                logger.debug(FETCH_DECODER_BY_TYPE_FAILED, this,
-                            controllerName, topic, factClass, e.getMessage(), e);
-                return (controllerName + ":" + topic + ":" + factClass);
-            });
+            logger.debug(FETCH_DECODER_BY_TYPE_FAILED, this,
+                controllerName, topic, factClass, e.getMessage(), e);
+            return (controllerName + ":" + topic + ":" + factClass);
+        });
     }
 
     /**
@@ -1344,47 +1140,39 @@ public class RestManager {
      *
      * @return response object
      */
+    @Override
     @DELETE
     @Path("engine/controllers/{controller}/decoders/{topic}/filters/{factType}/rule")
-    @ApiOperation(value = "Deletes the filter rule attached to a topic decoder of a controller",
-            notes = "Decoders are associated with networked topics. A Policy Controller manages "
-                    + "multiple topics and therefore its attached decoders. "
-                    + "A Policy Controller uses filters to further specify the fact mapping.  "
-                    + "Filters are applied on a per fact type using a jsonpath expression rule. ")
-    @ApiResponses(value = {
-        @ApiResponse(code = 404, message = "The controller, topic, or fact type cannot be found"),
-        @ApiResponse(code = 406,
-                    message = "The system is an administrative state that prevents " + "this request to be fulfilled")})
     public Response decoderFilterRuleDelete(
-            @ApiParam(value = "Policy Controller Name", required = true) @PathParam("controller") String controllerName,
-            @ApiParam(value = "Topic Name", required = true) @PathParam("topic") String topic,
-            @ApiParam(value = "Fact Type", required = true) @PathParam("factType") String factClass) {
+        @PathParam("controller") String controllerName,
+        @PathParam("topic") String topic,
+        @PathParam("factType") String factClass) {
 
         return catchArgStateGenericEx(() -> {
             var drools = this.getDroolsController(controllerName);
             final ProtocolCoderToolset decoder = EventProtocolCoderConstants.getManager()
-                            .getDecoders(drools.getGroupId(), drools.getArtifactId(), topic);
+                .getDecoders(drools.getGroupId(), drools.getArtifactId(), topic);
 
             final CoderFilters filters = decoder.getCoder(factClass);
             if (filters == null) {
                 return Response.status(Response.Status.BAD_REQUEST)
-                        .entity(new Error(controllerName + ":" + topic + ":" + factClass + DOES_NOT_EXIST_MSG)).build();
+                    .entity(new Error(controllerName + ":" + topic + ":" + factClass + DOES_NOT_EXIST_MSG)).build();
             }
 
             final JsonProtocolFilter filter = filters.getFilter();
             if (filter == null) {
                 return Response.status(Response.Status.BAD_REQUEST)
-                        .entity(new Error(controllerName + ":" + topic + ":" + factClass + NO_FILTERS)).build();
+                    .entity(new Error(controllerName + ":" + topic + ":" + factClass + NO_FILTERS)).build();
             }
 
             filter.setRule(null);
             return filter.getRule();
 
         }, e -> {
-                logger.debug(FETCH_DECODER_BY_TYPE_FAILED,
-                            this, controllerName, topic, factClass, e.getMessage(), e);
-                return (controllerName + ":" + topic + ":" + factClass);
-            });
+            logger.debug(FETCH_DECODER_BY_TYPE_FAILED,
+                this, controllerName, topic, factClass, e.getMessage(), e);
+            return (controllerName + ":" + topic + ":" + factClass);
+        });
     }
 
     /**
@@ -1392,26 +1180,19 @@ public class RestManager {
      *
      * @return response object
      */
+    @Override
     @PUT
     @Path("engine/controllers/{controller}/decoders/{topic}/filters/{factType}/rule")
-    @ApiOperation(value = "Places a new filter rule in a topic decoder",
-            notes = "Decoders are associated with networked topics. A Policy Controller manages "
-                    + "multiple topics and therefore its attached decoders. "
-                    + "A Policy Controller uses filters to further specify the fact mapping.  "
-                    + "Filters are applied on a per fact type using a jsonpath expression rule. ")
-    @ApiResponses(value = {@ApiResponse(code = 404, message = "The controller, topic, or fact type cannot be found"),
-        @ApiResponse(code = 406,
-                    message = "The system is an administrative state that prevents " + "this request to be fulfilled")})
     public Response decoderFilterRule(
-            @ApiParam(value = "Policy Controller Name", required = true) @PathParam("controller") String controllerName,
-            @ApiParam(value = "Topic Name", required = true) @PathParam("topic") String topic,
-            @ApiParam(value = "Fact Type", required = true) @PathParam("factType") String factClass,
-            @ApiParam(value = "JsonPath filter expression", required = true) String rule) {
+        @PathParam("controller") String controllerName,
+        @PathParam("topic") String topic,
+        @PathParam("factType") String factClass,
+        String rule) {
 
         return catchArgStateGenericEx(() -> decoderFilterRule2(controllerName, topic, factClass, rule), e -> {
             logger.debug("{}: cannot access decoder filter rules for policy-controller {} "
-                                + "topic {} type {} because of {}",
-                                this, controllerName, topic, factClass, e.getMessage(), e);
+                + "topic {} type {} because of {}",
+                this, controllerName, topic, factClass, e.getMessage(), e);
             return (controllerName + ":" + topic + ":" + factClass);
         });
     }
@@ -1419,23 +1200,23 @@ public class RestManager {
     private Object decoderFilterRule2(String controllerName, String topic, String factClass, String rule) {
         var drools = this.getDroolsController(controllerName);
         final ProtocolCoderToolset decoder = EventProtocolCoderConstants.getManager()
-                        .getDecoders(drools.getGroupId(), drools.getArtifactId(), topic);
+            .getDecoders(drools.getGroupId(), drools.getArtifactId(), topic);
 
         final CoderFilters filters = decoder.getCoder(factClass);
         if (filters == null) {
             return Response.status(Response.Status.BAD_REQUEST)
-                    .entity(new Error(controllerName + ":" + topic + ":" + factClass + DOES_NOT_EXIST_MSG)).build();
+                .entity(new Error(controllerName + ":" + topic + ":" + factClass + DOES_NOT_EXIST_MSG)).build();
         }
 
         final JsonProtocolFilter filter = filters.getFilter();
         if (filter == null) {
             return Response.status(Response.Status.BAD_REQUEST)
-                    .entity(new Error(controllerName + ":" + topic + ":" + factClass + NO_FILTERS)).build();
+                .entity(new Error(controllerName + ":" + topic + ":" + factClass + NO_FILTERS)).build();
         }
 
         if (rule == null || rule.isEmpty()) {
             return Response.status(Response.Status.BAD_REQUEST).entity(new Error(controllerName + ":" + topic + ":"
-                    + factClass + " no filter rule provided")).build();
+                + factClass + " no filter rule provided")).build();
         }
 
         filter.setRule(rule);
@@ -1447,27 +1228,23 @@ public class RestManager {
      *
      * @return response object
      */
+    @Override
     @POST
     @Path("engine/controllers/{controller}/decoders/{topic}")
     @Consumes(MediaType.TEXT_PLAIN)
-    @ApiOperation(value = "Decodes a string into a fact object, and encodes it back into a string",
-            notes = "Tests the decode/encode functions of a controller", response = CodingResult.class)
-    @ApiResponses(value = {@ApiResponse(code = 400, message = "Bad input has been provided"),
-        @ApiResponse(code = 404, message = "The controller cannot be found"), @ApiResponse(code = 406,
-                    message = "The system is an administrative state that prevents " + "this request to be fulfilled")})
     public Response decode(
-            @ApiParam(value = "Policy Controller Name", required = true) @PathParam("controller") String controllerName,
-            @ApiParam(value = "Topic Name", required = true) @PathParam("topic") String topic,
-            @ApiParam(value = "JSON String to decode", required = true) String json) {
+        @PathParam("controller") String controllerName,
+        @PathParam("topic") String topic,
+        String json) {
 
         if (!checkValidNameInput(controllerName)) {
             return Response.status(Response.Status.NOT_ACCEPTABLE)
-                           .entity(new Error("controllerName contains whitespaces " + NOT_ACCEPTABLE_MSG)).build();
+                .entity(new Error("controllerName contains whitespaces " + NOT_ACCEPTABLE_MSG)).build();
         }
 
         if (!checkValidNameInput(topic)) {
             return Response.status(Response.Status.NOT_ACCEPTABLE)
-                           .entity(new Error("topic contains whitespaces " + NOT_ACCEPTABLE_MSG)).build();
+                .entity(new Error("topic contains whitespaces " + NOT_ACCEPTABLE_MSG)).build();
         }
 
         PolicyController policyController;
@@ -1475,14 +1252,14 @@ public class RestManager {
             policyController = PolicyControllerConstants.getFactory().get(controllerName);
         } catch (final IllegalArgumentException e) {
             logger.debug(FETCH_DECODERS_BY_TOPIC_FAILED, this,
-                    controllerName, topic, e.getMessage(), e);
+                controllerName, topic, e.getMessage(), e);
             return Response.status(Response.Status.NOT_FOUND)
-                    .entity(new Error(controllerName + ":" + topic + ":" + NOT_FOUND_MSG)).build();
+                .entity(new Error(controllerName + ":" + topic + ":" + NOT_FOUND_MSG)).build();
         } catch (final IllegalStateException e) {
             logger.debug(FETCH_DECODERS_BY_TOPIC_FAILED, this,
-                    controllerName, topic, e.getMessage(), e);
+                controllerName, topic, e.getMessage(), e);
             return Response.status(Response.Status.NOT_ACCEPTABLE)
-                    .entity(new Error(controllerName + ":" + topic + ":" + NOT_ACCEPTABLE_MSG)).build();
+                .entity(new Error(controllerName + ":" + topic + ":" + NOT_ACCEPTABLE_MSG)).build();
         }
 
         var result = new CodingResult();
@@ -1493,11 +1270,11 @@ public class RestManager {
         Object event;
         try {
             event = EventProtocolCoderConstants.getManager().decode(policyController.getDrools().getGroupId(),
-                    policyController.getDrools().getArtifactId(), topic, json);
+                policyController.getDrools().getArtifactId(), topic, json);
             result.setDecoding(true);
         } catch (final Exception e) {
             logger.debug(FETCH_POLICY_BY_TOPIC_FAILED, this, controllerName, topic,
-                    e.getMessage(), e);
+                e.getMessage(), e);
             return Response.status(Response.Status.BAD_REQUEST).entity(new Error(e.getMessage())).build();
         }
 
@@ -1507,7 +1284,7 @@ public class RestManager {
         } catch (final Exception e) {
             // continue so to propagate decoding results ..
             logger.debug("{}: cannot encode for policy-controller {} topic {} because of {}", this, controllerName,
-                    topic, e.getMessage(), e);
+                topic, e.getMessage(), e);
         }
 
         return Response.status(Response.Status.OK).entity(result).build();
@@ -1518,41 +1295,34 @@ public class RestManager {
      *
      * @return response object
      */
+    @Override
     @GET
     @Path("engine/controllers/{controller}/encoders")
-    @ApiOperation(value = "Retrieves the encoder filters of a controller",
-            notes = "The encoders serializes a fact object, typically for network transmission",
-            responseContainer = "List", response = CoderFilters.class)
-    @ApiResponses(value = {@ApiResponse(code = 400, message = "Bad input has been provided"), @ApiResponse(code = 406,
-            message = "The system is an administrative state that prevents " + "this request to be fulfilled")})
-    public Response encoderFilters(@ApiParam(value = "Policy Controller Name",
-            required = true) @PathParam("controller") String controllerName) {
+    public Response encoderFilters(@PathParam("controller") String controllerName) {
 
         return catchArgStateGenericEx(() -> {
             final PolicyController controller = PolicyControllerConstants.getFactory().get(controllerName);
             var drools = controller.getDrools();
             return EventProtocolCoderConstants.getManager()
-                            .getEncoderFilters(drools.getGroupId(), drools.getArtifactId());
+                .getEncoderFilters(drools.getGroupId(), drools.getArtifactId());
 
         }, e -> {
-                logger.debug(FETCH_ENCODER_BY_FILTER_FAILED, this, controllerName,
-                            e.getMessage(), e);
-                return (controllerName);
-            });
+            logger.debug(FETCH_ENCODER_BY_FILTER_FAILED, this, controllerName,
+                e.getMessage(), e);
+            return (controllerName);
+        });
     }
 
+    @Override
     @GET
     @Path("engine/topics")
-    @ApiOperation(value = "Retrieves the managed topics", notes = "Network Topics Aggregation",
-            response = TopicEndpoint.class)
     public Response topics() {
         return Response.status(Response.Status.OK).entity(TopicEndpointManager.getManager()).build();
     }
 
+    @Override
     @GET
     @Path("engine/topics/switches")
-    @ApiOperation(value = "Topics Control Switches", notes = "List of the Topic Control Switches",
-            responseContainer = "List")
     public Response topicSwitches() {
         return Response.status(Response.Status.OK).entity(SWITCHES).build();
     }
@@ -1562,12 +1332,9 @@ public class RestManager {
      *
      * @return response object
      */
+    @Override
     @PUT
     @Path("engine/topics/switches/lock")
-    @ApiOperation(value = "Locks all the managed topics", notes = "The operation affects all managed sources and sinks",
-            response = TopicEndpoint.class)
-    @ApiResponses(value = {@ApiResponse(code = 406,
-            message = "The system is an administrative state that prevents " + "this request to be fulfilled")})
     public Response topicsLock() {
         final boolean success = TopicEndpointManager.getManager().lock();
         if (success) {
@@ -1582,12 +1349,9 @@ public class RestManager {
      *
      * @return response object
      */
+    @Override
     @DELETE
     @Path("engine/topics/switches/lock")
-    @ApiOperation(value = "Unlocks all the managed topics",
-            notes = "The operation affects all managed sources and sinks", response = TopicEndpoint.class)
-    @ApiResponses(value = {@ApiResponse(code = 406,
-            message = "The system is an administrative state that prevents " + "this request to be fulfilled")})
     public Response topicsUnlock() {
         final boolean success = TopicEndpointManager.getManager().unlock();
         if (success) {
@@ -1602,10 +1366,9 @@ public class RestManager {
      *
      * @return response object
      */
+    @Override
     @GET
     @Path("engine/topics/sources")
-    @ApiOperation(value = "Retrieves the managed topic sources", notes = "Network Topic Sources Agregation",
-            responseContainer = "List", response = TopicSource.class)
     public Response sources() {
         return Response.status(Response.Status.OK).entity(TopicEndpointManager.getManager().getTopicSources()).build();
     }
@@ -1615,10 +1378,9 @@ public class RestManager {
      *
      * @return response object
      */
+    @Override
     @GET
     @Path("engine/topics/sinks")
-    @ApiOperation(value = "Retrieves the managed topic sinks", notes = "Network Topic Sinks Agregation",
-            responseContainer = "List", response = TopicSink.class)
     public Response sinks() {
         return Response.status(Response.Status.OK).entity(TopicEndpointManager.getManager().getTopicSinks()).build();
     }
@@ -1626,13 +1388,11 @@ public class RestManager {
     /**
      * GET sources of a communication type.
      */
+    @Override
     @GET
     @Path("engine/topics/sources/{comm: ueb|dmaap|noop}")
-    @ApiOperation(value = "Retrieves managed topic sources", notes = "Sources for a communication infrastructure",
-            responseContainer = "List", response = TopicSource.class)
     public Response commSources(
-        @ApiParam(value = "Communication Mechanism", required = true) @PathParam("comm") String comm
-    ) {
+        @PathParam("comm") String comm) {
         if (!checkValidNameInput(comm)) {
             return Response
                 .status(Response.Status.NOT_ACCEPTABLE)
@@ -1663,13 +1423,11 @@ public class RestManager {
     /**
      * GET sinks of a communication type.
      */
+    @Override
     @GET
     @Path("engine/topics/sinks/{comm: ueb|dmaap|noop}")
-    @ApiOperation(value = "Retrieves managed topic sinks", notes = "Communication Infrastructure Sinks",
-            responseContainer = "List", response = TopicSink.class)
     public Response commSinks(
-        @ApiParam(value = "Communication Mechanism", required = true) @PathParam("comm") String comm
-    ) {
+        @PathParam("comm") String comm) {
         if (!checkValidNameInput(comm)) {
             return Response
                 .status(Response.Status.NOT_ACCEPTABLE)
@@ -1697,18 +1455,15 @@ public class RestManager {
         return Response.status(status).entity(sinks).build();
     }
 
-
     /**
      * GET a source.
      */
+    @Override
     @GET
     @Path("engine/topics/sources/{comm: ueb|dmaap|noop}/{topic}")
-    @ApiOperation(value = "Retrieves a managed topic source",
-            notes = "This is an Network Communication Endpoint source of messages for the Engine",
-            response = TopicSource.class)
     public Response sourceTopic(
-        @ApiParam(value = "Communication Mechanism", required = true) @PathParam("comm") String comm,
-        @ApiParam(value = "Topic Name", required = true) @PathParam("topic") String topic) {
+        @PathParam("comm") String comm,
+        @PathParam("topic") String topic) {
         return Response
             .status(Response.Status.OK)
             .entity(TopicEndpointManager.getManager()
@@ -1719,14 +1474,12 @@ public class RestManager {
     /**
      * GET a sink.
      */
+    @Override
     @GET
     @Path("engine/topics/sinks/{comm: ueb|dmaap|noop}/{topic}")
-    @ApiOperation(value = "Retrieves a managed topic sink",
-            notes = "This is a Network Communicaton Endpoint destination of messages from the Engine",
-            response = TopicSink.class)
     public Response sinkTopic(
-        @ApiParam(value = "Communication Mechanism", required = true) @PathParam("comm") String comm,
-        @ApiParam(value = "Topic Name", required = true) @PathParam("topic") String topic) {
+        @PathParam("comm") String comm,
+        @PathParam("topic") String topic) {
         return Response
             .status(Response.Status.OK)
             .entity(TopicEndpointManager.getManager()
@@ -1737,77 +1490,68 @@ public class RestManager {
     /**
      * GET a source events.
      */
+    @Override
     @GET
     @Path("engine/topics/sources/{comm: ueb|dmaap|noop}/{topic}/events")
-    @ApiOperation(value = "Retrieves the latest events received by an UEB topic",
-            notes = "This is a Network Communicaton Endpoint source of messages for the Engine",
-            responseContainer = "List")
     public Response sourceEvents(
-        @ApiParam(value = "Communication Mechanism", required = true) @PathParam("comm") String comm,
-        @ApiParam(value = "Topic Name", required = true) @PathParam("topic") String topic) {
+        @PathParam("comm") String comm,
+        @PathParam("topic") String topic) {
         return Response.status(Status.OK)
             .entity(Arrays.asList(TopicEndpointManager.getManager()
-                            .getTopicSource(CommInfrastructure.valueOf(comm.toUpperCase()), topic)
-                            .getRecentEvents()))
+                .getTopicSource(CommInfrastructure.valueOf(comm.toUpperCase()), topic)
+                .getRecentEvents()))
             .build();
     }
 
     /**
      * GET a sink events.
      */
+    @Override
     @GET
     @Path("engine/topics/sinks/{comm: ueb|dmaap|noop}/{topic}/events")
-    @ApiOperation(value = "Retrieves the latest events received by an UEB topic",
-        notes = "This is a Network Communicaton Endpoint source of messages for the Engine",
-        responseContainer = "List")
     public Response sinkEvents(
-        @ApiParam(value = "Communication Mechanism", required = true) @PathParam("comm") String comm,
-        @ApiParam(value = "Topic Name", required = true) @PathParam("topic") String topic) {
+        @PathParam("comm") String comm,
+        @PathParam("topic") String topic) {
         return Response.status(Status.OK)
             .entity(Arrays.asList(TopicEndpointManager.getManager()
-                            .getTopicSink(CommInfrastructure.valueOf(comm.toUpperCase()), topic)
-                            .getRecentEvents()))
+                .getTopicSink(CommInfrastructure.valueOf(comm.toUpperCase()), topic)
+                .getRecentEvents()))
             .build();
     }
 
     /**
      * GET source topic switches.
      */
+    @Override
     @GET
     @Path("engine/topics/sources/{comm: ueb|dmaap|noop}/{topic}/switches")
-    @ApiOperation(value = "Topic Control Switches", notes = "List of the Topic Control Switches",
-            responseContainer = "List")
     public Response commSourceTopicSwitches(
-        @ApiParam(value = "Communication Mechanism", required = true) @PathParam("comm") String comm
-    ) {
+        @PathParam("comm") String comm,
+        @PathParam("topic") String topic) {
         return Response.status(Response.Status.OK).entity(SWITCHES).build();
     }
 
     /**
      * GET sink topic switches.
      */
+    @Override
     @GET
     @Path("engine/topics/sinks/{comm: ueb|dmaap|noop}/{topic}/switches")
-    @ApiOperation(value = "Topic Control Switches", notes = "List of the Topic Control Switches",
-        responseContainer = "List")
     public Response commSinkTopicSwitches(
-        @ApiParam(value = "Communication Mechanism", required = true) @PathParam("comm") String comm
-    ) {
+        @PathParam("comm") String comm,
+        @PathParam("topic") String topic) {
         return Response.status(Response.Status.OK).entity(SWITCHES).build();
     }
 
     /**
      * PUTs a lock on a topic.
      */
+    @Override
     @PUT
     @Path("engine/topics/sources/{comm: ueb|dmaap|noop}/{topic}/switches/lock")
-    @ApiOperation(value = "Locks a topic", response = TopicSource.class)
-    @ApiResponses(value = {@ApiResponse(code = 406,
-            message = "The system is an administrative state that prevents " + "this request to be fulfilled")})
     public Response commSourceTopicLock(
-        @ApiParam(value = "Communication Mechanism", required = true) @PathParam("comm") String comm,
-        @ApiParam(value = "Topic Name", required = true) @PathParam("topic") String topic
-    ) {
+        @PathParam("comm") String comm,
+        @PathParam("topic") String topic) {
         var source =
             TopicEndpointManager.getManager().getTopicSource(CommInfrastructure.valueOf(comm.toUpperCase()), topic);
         return getResponse(topic, source.lock(), source);
@@ -1816,15 +1560,12 @@ public class RestManager {
     /**
      * DELETEs the lock on a topic.
      */
+    @Override
     @DELETE
     @Path("engine/topics/sources/{comm: ueb|dmaap|noop}/{topic}/switches/lock")
-    @ApiOperation(value = "Unlocks topic", response = TopicSource.class)
-    @ApiResponses(value = {@ApiResponse(code = 406,
-            message = "The system is an administrative state that prevents " + "this request to be fulfilled")})
     public Response commSourceTopicUnlock(
-        @ApiParam(value = "Communication Mechanism", required = true) @PathParam("comm") String comm,
-        @ApiParam(value = "Topic Name", required = true) @PathParam("topic") String topic
-    ) {
+        @PathParam("comm") String comm,
+        @PathParam("topic") String topic) {
         var source =
             TopicEndpointManager.getManager().getTopicSource(CommInfrastructure.valueOf(comm.toUpperCase()), topic);
         return getResponse(topic, source.unlock(), source);
@@ -1833,15 +1574,12 @@ public class RestManager {
     /**
      * Starts a topic source.
      */
+    @Override
     @PUT
     @Path("engine/topics/sources/{comm: ueb|dmaap|noop}/{topic}/switches/activation")
-    @ApiOperation(value = "Starts a topic", response = TopicSource.class)
-    @ApiResponses(value = {@ApiResponse(code = 406,
-            message = "The system is an administrative state that prevents " + "this request to be fulfilled")})
     public Response commSourceTopicActivation(
-        @ApiParam(value = "Communication Mechanism", required = true) @PathParam("comm") String comm,
-        @ApiParam(value = "Topic Name", required = true) @PathParam("topic") String topic
-    ) {
+        @PathParam("comm") String comm,
+        @PathParam("topic") String topic) {
         var source =
             TopicEndpointManager.getManager().getTopicSource(CommInfrastructure.valueOf(comm.toUpperCase()), topic);
         return getResponse(topic, source.start(), source);
@@ -1850,15 +1588,12 @@ public class RestManager {
     /**
      * Stops a topic source.
      */
+    @Override
     @DELETE
     @Path("engine/topics/sources/{comm: ueb|dmaap|noop}/{topic}/switches/activation")
-    @ApiOperation(value = "Stops a topic", response = TopicSource.class)
-    @ApiResponses(value = {@ApiResponse(code = 406,
-             message = "The system is an administrative state that prevents " + "this request to be fulfilled")})
     public Response commSourceTopicDeactivation(
-        @ApiParam(value = "Communication Mechanism", required = true) @PathParam("comm") String comm,
-        @ApiParam(value = "Topic Name", required = true) @PathParam("topic") String topic
-    ) {
+        @PathParam("comm") String comm,
+        @PathParam("topic") String topic) {
         var source =
             TopicEndpointManager.getManager().getTopicSource(CommInfrastructure.valueOf(comm.toUpperCase()), topic);
         return getResponse(topic, source.stop(), source);
@@ -1867,15 +1602,12 @@ public class RestManager {
     /**
      * PUTs a lock on a topic.
      */
+    @Override
     @PUT
     @Path("engine/topics/sinks/{comm: ueb|dmaap|noop}/{topic}/switches/lock")
-    @ApiOperation(value = "Locks a topic sink", response = TopicSink.class)
-    @ApiResponses(value = {@ApiResponse(code = 406,
-            message = "The system is an administrative state that prevents " + "this request to be fulfilled")})
     public Response commSinkTopicLock(
-        @ApiParam(value = "Communication Mechanism", required = true) @PathParam("comm") String comm,
-        @ApiParam(value = "Topic Name", required = true) @PathParam("topic") String topic
-    ) {
+        @PathParam("comm") String comm,
+        @PathParam("topic") String topic) {
         var sink =
             TopicEndpointManager.getManager().getTopicSink(CommInfrastructure.valueOf(comm.toUpperCase()), topic);
         return getResponse(topic, sink.lock(), sink);
@@ -1884,15 +1616,12 @@ public class RestManager {
     /**
      * DELETEs the lock on a topic.
      */
+    @Override
     @DELETE
     @Path("engine/topics/sinks/{comm: ueb|dmaap|noop}/{topic}/switches/lock")
-    @ApiOperation(value = "Unlocks a topic sink", response = TopicSink.class)
-    @ApiResponses(value = {@ApiResponse(code = 406,
-            message = "The system is an administrative state that prevents " + "this request to be fulfilled")})
     public Response commSinkTopicUnlock(
-        @ApiParam(value = "Communication Mechanism", required = true) @PathParam("comm") String comm,
-        @ApiParam(value = "Topic Name", required = true) @PathParam("topic") String topic
-    ) {
+        @PathParam("comm") String comm,
+        @PathParam("topic") String topic) {
         var sink =
             TopicEndpointManager.getManager().getTopicSink(CommInfrastructure.valueOf(comm.toUpperCase()), topic);
         return getResponse(topic, sink.unlock(), sink);
@@ -1901,15 +1630,12 @@ public class RestManager {
     /**
      * Starts a topic sink.
      */
+    @Override
     @PUT
     @Path("engine/topics/sinks/{comm: ueb|dmaap|noop}/{topic}/switches/activation")
-    @ApiOperation(value = "Starts a topic sink", response = TopicSink.class)
-    @ApiResponses(value = {@ApiResponse(code = 406,
-            message = "The system is an administrative state that prevents " + "this request to be fulfilled")})
     public Response commSinkTopicActivation(
-        @ApiParam(value = "Communication Mechanism", required = true) @PathParam("comm") String comm,
-        @ApiParam(value = "Topic Name", required = true) @PathParam("topic") String topic
-    ) {
+        @PathParam("comm") String comm,
+        @PathParam("topic") String topic) {
         var sink =
             TopicEndpointManager.getManager().getTopicSink(CommInfrastructure.valueOf(comm.toUpperCase()), topic);
         return getResponse(topic, sink.start(), sink);
@@ -1918,15 +1644,12 @@ public class RestManager {
     /**
      * Stops a topic sink.
      */
+    @Override
     @DELETE
     @Path("engine/topics/sinks/{comm: ueb|dmaap|noop}/{topic}/switches/activation")
-    @ApiOperation(value = "Stops a topic", response = TopicSource.class)
-    @ApiResponses(value = {@ApiResponse(code = 406,
-            message = "The system is an administrative state that prevents " + "this request to be fulfilled")})
     public Response commSinkTopicDeactivation(
-        @ApiParam(value = "Communication Mechanism", required = true) @PathParam("comm") String comm,
-        @ApiParam(value = "Topic Name", required = true) @PathParam("topic") String topic
-    ) {
+        @PathParam("comm") String comm,
+        @PathParam("topic") String topic) {
         var sink =
             TopicEndpointManager.getManager().getTopicSink(CommInfrastructure.valueOf(comm.toUpperCase()), topic);
         return getResponse(topic, sink.stop(), sink);
@@ -1949,34 +1672,29 @@ public class RestManager {
      *
      * @return response object
      */
+    @Override
     @PUT
     @Path("engine/topics/sources/{comm: ueb|dmaap|noop}/{topic}/events")
     @Consumes(MediaType.TEXT_PLAIN)
-    @ApiOperation(value = "Offers an event to a topic for internal processing by the engine",
-            notes = "The offered event is treated as it was incoming from the network", responseContainer = "List")
-    @ApiResponses(value = {@ApiResponse(code = 404, message = "The topic information cannot be found"),
-        @ApiResponse(code = 406,
-                    message = "The system is an administrative state that prevents " + "this request to be fulfilled"),
-        @ApiResponse(code = 500, message = "A server error has occurred processing this request")})
     public Response commEventOffer(
-            @ApiParam(value = "Communication Mechanism", required = true) @PathParam("comm") String comm,
-            @ApiParam(value = "Topic Name", required = true) @PathParam("topic") String topic,
-            @ApiParam(value = "Network Message", required = true) String json) {
+        @PathParam("comm") String comm,
+        @PathParam("topic") String topic,
+        String json) {
 
         return catchArgStateGenericEx(() -> {
             var source = TopicEndpointManager.getManager()
-                            .getTopicSource(CommInfrastructure.valueOf(comm.toUpperCase()), topic);
+                .getTopicSource(CommInfrastructure.valueOf(comm.toUpperCase()), topic);
             if (source.offer(json)) {
                 return Arrays.asList(source.getRecentEvents());
             } else {
                 return Response.status(Status.NOT_ACCEPTABLE).entity(new Error("Failure to inject event over " + topic))
-                                .build();
+                    .build();
             }
 
         }, e -> {
-                logger.debug(OFFER_FAILED, this, topic, e.getMessage(), e);
-                return (topic);
-            });
+            logger.debug(OFFER_FAILED, this, topic, e.getMessage(), e);
+            return (topic);
+        });
     }
 
     /**
@@ -1984,23 +1702,22 @@ public class RestManager {
      *
      * @return response object
      */
+    @Override
     @GET
     @Path("engine/tools/uuid")
-    @ApiOperation(value = "Produces an UUID", notes = "UUID generation utility")
     @Produces(MediaType.TEXT_PLAIN)
     public Response uuid() {
         return Response.status(Status.OK).entity(UUID.randomUUID().toString()).build();
     }
 
     /**
-    * GET.
-    *
-    * @return response object
-    */
+     * GET.
+     *
+     * @return response object
+     */
+    @Override
     @GET
     @Path("engine/tools/loggers")
-    @ApiOperation(value = "all active loggers", responseContainer = "List")
-    @ApiResponses(value = {@ApiResponse(code = 500, message = "logging misconfiguration")})
     public Response loggers() {
         final List<String> names = new ArrayList<>();
         if (!(LoggerFactory.getILoggerFactory() instanceof LoggerContext)) {
@@ -2021,14 +1738,11 @@ public class RestManager {
      *
      * @return response object
      */
+    @Override
     @GET
     @Path("engine/tools/loggers/{logger}")
     @Produces(MediaType.TEXT_PLAIN)
-    @ApiOperation(value = "logging level of a logger")
-    @ApiResponses(value = {@ApiResponse(code = 500, message = "logging misconfiguration"),
-        @ApiResponse(code = 404, message = "logger not found")})
-    public Response loggerName(
-            @ApiParam(value = "Logger Name", required = true) @PathParam("logger") String loggerName) {
+    public Response loggerName1(@PathParam("logger") String loggerName) {
         if (!(LoggerFactory.getILoggerFactory() instanceof LoggerContext)) {
             logger.warn("The SLF4J logger factory is not configured for logback");
             return Response.status(Status.INTERNAL_SERVER_ERROR).build();
@@ -2049,27 +1763,24 @@ public class RestManager {
      *
      * @return response object
      */
+    @Override
     @PUT
     @Path("engine/tools/loggers/{logger}/{level}")
     @Produces(MediaType.TEXT_PLAIN)
     @Consumes(MediaType.TEXT_PLAIN)
-    @ApiOperation(value = "sets the logger level", notes = "Please use the SLF4J logger levels")
-    @ApiResponses(value = {@ApiResponse(code = 500, message = "logging misconfiguration"),
-        @ApiResponse(code = 404, message = "logger not found")})
-    public Response loggerName(@ApiParam(value = "Logger Name", required = true) @PathParam("logger") String loggerName,
-            @ApiParam(value = "Logger Level", required = true) @PathParam("level") String loggerLevel) {
+    public Response loggerName(@PathParam("logger") String loggerName, @PathParam("level") String loggerLevel) {
 
         String newLevel;
         try {
             if (!checkValidNameInput(loggerName)) {
                 return Response.status(Response.Status.NOT_ACCEPTABLE)
-                               .entity(new Error("logger name: " + NOT_ACCEPTABLE_MSG))
-                               .build();
+                    .entity(new Error("logger name: " + NOT_ACCEPTABLE_MSG))
+                    .build();
             }
             if (!Pattern.matches("^[a-zA-Z]{3,5}$", loggerLevel)) {
                 return Response.status(Response.Status.NOT_ACCEPTABLE)
-                               .entity(new Error("logger level: " + NOT_ACCEPTABLE_MSG))
-                               .build();
+                    .entity(new Error("logger level: " + NOT_ACCEPTABLE_MSG))
+                    .build();
             }
             newLevel = LoggerUtils.setLevel(loggerName, loggerLevel);
         } catch (final IllegalArgumentException e) {
@@ -2128,11 +1839,11 @@ public class RestManager {
 
         } catch (final IllegalArgumentException e) {
             return Response.status(Response.Status.NOT_FOUND).entity(new Error(errorMsg.apply(e) + NOT_FOUND_MSG))
-                            .build();
+                .build();
 
         } catch (final IllegalStateException e) {
             return Response.status(Response.Status.NOT_ACCEPTABLE)
-                            .entity(new Error(errorMsg.apply(e) + NOT_ACCEPTABLE_MSG)).build();
+                .entity(new Error(errorMsg.apply(e) + NOT_ACCEPTABLE_MSG)).build();
 
         } catch (final RuntimeException e) {
             errorMsg.apply(e);