aboutsummaryrefslogtreecommitdiffstats
path: root/vid-app-common/src/main/java/org/onap/vid/controllers/MaintenanceController.java
diff options
context:
space:
mode:
Diffstat (limited to 'vid-app-common/src/main/java/org/onap/vid/controllers/MaintenanceController.java')
-rw-r--r--vid-app-common/src/main/java/org/onap/vid/controllers/MaintenanceController.java142
1 files changed, 78 insertions, 64 deletions
diff --git a/vid-app-common/src/main/java/org/onap/vid/controllers/MaintenanceController.java b/vid-app-common/src/main/java/org/onap/vid/controllers/MaintenanceController.java
index 0976f4039..1a3eb42fa 100644
--- a/vid-app-common/src/main/java/org/onap/vid/controllers/MaintenanceController.java
+++ b/vid-app-common/src/main/java/org/onap/vid/controllers/MaintenanceController.java
@@ -1,6 +1,30 @@
package org.onap.vid.controllers;
+/*-
+ * ============LICENSE_START=======================================================
+ * VID
+ * ================================================================================
+ * Copyright © 2018 AT&T Intellectual Property. All rights reserved.
+ * ================================================================================
+ * Modifications Copyright 2018 Nokia
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+import static org.onap.vid.utils.Logging.getMethodCallerName;
+import javax.ws.rs.ForbiddenException;
import org.onap.portalsdk.core.controller.UnRestrictedBaseController;
import org.onap.portalsdk.core.logging.logic.EELFLoggerDelegate;
import org.onap.vid.category.AddCategoryOptionResponse;
@@ -14,124 +38,114 @@ import org.onap.vid.services.CategoryParameterServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
-import org.springframework.web.bind.annotation.*;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.ws.rs.ForbiddenException;
-import java.util.Arrays;
-import java.util.Collections;
-
-import static org.onap.vid.utils.Logging.getMethodCallerName;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
/**
* Controler for APIs that are used only by vid operators
*/
@RestController
-@RequestMapping(MaintenanceController.MAINTENANCE)
+@RequestMapping("maintenance")
public class MaintenanceController extends UnRestrictedBaseController {
- public static final String MAINTENANCE = "maintenance";
+ private static final EELFLoggerDelegate LOGGER = EELFLoggerDelegate.getLogger(MaintenanceController.class);
+ private CategoryParameterService categoryParameterService;
@Autowired
- protected CategoryParameterService categoryParameterService;
- private static final EELFLoggerDelegate LOGGER = EELFLoggerDelegate.getLogger(MaintenanceController.class);
+ public MaintenanceController(CategoryParameterService categoryParameterService) {
+ this.categoryParameterService = categoryParameterService;
+ }
/**
* Add list of options to one category parameter
- * @param request the request
- * @return the new option
- * @throws Exception the exception
*/
@RequestMapping(value = "/category_parameter/{categoryName}", method = RequestMethod.POST)
- public ResponseEntity addCategoryOptions (
- HttpServletRequest request, @PathVariable String categoryName, @RequestBody AddCategoryOptionsRequest option) {
+ public ResponseEntity addCategoryOptions(@PathVariable String categoryName,
+ @RequestBody AddCategoryOptionsRequest option) {
debugStartLog();
try {
- AddCategoryOptionResponse response = categoryParameterService.createCategoryParameterOptions(categoryName, option);
- HttpStatus httpStatus = response.getErrors().size()>0 ? HttpStatus.MULTI_STATUS : HttpStatus.OK;
+ AddCategoryOptionResponse response = categoryParameterService
+ .createCategoryParameterOptions(categoryName, option);
+ HttpStatus httpStatus = response.getErrors().isEmpty() ? HttpStatus.OK : HttpStatus.MULTI_STATUS;
debugEndLog(response);
- return new ResponseEntity<>(response, httpStatus);
- }
- catch (CategoryParameterServiceImpl.UnfoundedCategoryException exception) {
- return new ResponseEntity<>(new AddCategoryOptionResponse(Collections.singletonList(exception.getMessage())), HttpStatus.NOT_FOUND);
- }
- catch (Exception exception) {
+ return createResponseWithBody(httpStatus, response);
+ } catch (CategoryParameterServiceImpl.UnfoundedCategoryException exception) {
+ return createResponseWithBody(HttpStatus.NOT_FOUND, new AddCategoryOptionResponse(exception.getMessage()));
+ } catch (RuntimeException exception) {
LOGGER.error("failed to add option to parameter category " + categoryName, exception);
- return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR);
+ return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).build();
}
}
@RequestMapping(value = "/category_parameter/{categoryName}", method = RequestMethod.PUT)
- public ResponseEntity updateNameForOption (
- HttpServletRequest request, @PathVariable String categoryName, @RequestBody CategoryParameterOptionRep option) {
+ public ResponseEntity updateNameForOption(@PathVariable String categoryName,
+ @RequestBody CategoryParameterOptionRep option) {
debugStartLog();
try {
- AddCategoryOptionResponse response = categoryParameterService.updateCategoryParameterOption(categoryName, option);
- HttpStatus httpStatus = response.getErrors().size()>0 ? HttpStatus.MULTI_STATUS : HttpStatus.OK;
+ AddCategoryOptionResponse response = categoryParameterService
+ .updateCategoryParameterOption(categoryName, option);
+ HttpStatus httpStatus = response.getErrors().isEmpty() ? HttpStatus.OK : HttpStatus.MULTI_STATUS;
debugEndLog(response);
- return new ResponseEntity<>(response, httpStatus);
- }
- catch (ForbiddenException exception) {
- return new ResponseEntity<>(new AddCategoryOptionResponse(Collections.singletonList(exception.getMessage())), HttpStatus.FORBIDDEN);
- }
- catch (CategoryParameterServiceImpl.UnfoundedCategoryException|CategoryParameterServiceImpl.UnfoundedCategoryOptionException exception) {
- return new ResponseEntity<>(new AddCategoryOptionResponse(Collections.singletonList(exception.getMessage())), HttpStatus.NOT_FOUND);
- }
- catch (CategoryParameterServiceImpl.AlreadyExistOptionNameException exception) {
- return new ResponseEntity<>(new AddCategoryOptionResponse(Collections.singletonList(exception.getMessage())), HttpStatus.CONFLICT);
- }
- catch (Exception exception) {
+ return createResponseWithBody(httpStatus, response);
+ } catch (ForbiddenException exception) {
+ return createResponseWithBody(HttpStatus.FORBIDDEN, new AddCategoryOptionResponse(exception.getMessage()));
+ } catch (CategoryParameterServiceImpl.UnfoundedCategoryException | CategoryParameterServiceImpl.UnfoundedCategoryOptionException exception) {
+ return createResponseWithBody(HttpStatus.NOT_FOUND, new AddCategoryOptionResponse(exception.getMessage()));
+
+ } catch (CategoryParameterServiceImpl.AlreadyExistOptionNameException exception) {
+ return createResponseWithBody(HttpStatus.CONFLICT, new AddCategoryOptionResponse(exception.getMessage()));
+
+ } catch (RuntimeException exception) {
LOGGER.error("failed to update option to parameter category " + categoryName, exception);
- return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR);
+ return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).build();
}
}
/**
* Gets the owning entity properties.
- * @param request the request
- * @return the property
- * @throws Exception the exception
*/
@RequestMapping(value = "/category_parameter", method = RequestMethod.GET)
- public ResponseEntity getCategoryParameter(HttpServletRequest request, @RequestParam(value="familyName", required = true) Family familyName) {
+ public ResponseEntity getCategoryParameter(@RequestParam(value = "familyName", required = true) Family familyName) {
debugStartLog();
try {
CategoryParametersResponse response = categoryParameterService.getCategoryParameters(familyName);
debugEndLog(response);
- return new ResponseEntity<>(response, HttpStatus.OK);
- }
- catch (Exception exception) {
+ return ResponseEntity.ok().body(response);
+ } catch (RuntimeException exception) {
LOGGER.error("failed to retrieve category parameter list from DB.", exception);
- return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR);
+ return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).build();
}
}
-
/**
* Delete option of the category.
- * @param request the request
- * @throws Exception the exception
*/
- @RequestMapping(value = "/delete_category_parameter/{categoryName}", method = RequestMethod.POST)
- public ResponseEntity deleteCategoryOption (
- HttpServletRequest request, @PathVariable String categoryName, @RequestBody CategoryParameterOption option) {
+ @RequestMapping(value = "/delete_category_parameter/{categoryName}", method = RequestMethod.DELETE)
+ public ResponseEntity deleteCategoryOption(@PathVariable String categoryName,
+ @RequestBody CategoryParameterOption option) {
debugStartLog();
try {
categoryParameterService.deleteCategoryOption(categoryName, option);
debugEndLog(HttpStatus.OK);
- return new ResponseEntity<>(HttpStatus.OK);
- }
- catch (CategoryParameterServiceImpl.UnfoundedCategoryException exception) {
- return new ResponseEntity<>(new AddCategoryOptionResponse(Arrays.asList(exception.getMessage())), HttpStatus.NOT_FOUND);
- }
- catch (Exception exception) {
+ return ResponseEntity.status(HttpStatus.OK).build();
+ } catch (CategoryParameterServiceImpl.UnfoundedCategoryException exception) {
+ return createResponseWithBody(HttpStatus.NOT_FOUND, new AddCategoryOptionResponse(exception.getMessage()));
+ } catch (RuntimeException exception) {
LOGGER.error("failed to add/update owning entity option", exception);
- return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR);
+ return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR).build();
}
}
+ private ResponseEntity createResponseWithBody(HttpStatus status, AddCategoryOptionResponse response) {
+ return ResponseEntity.status(status).body(response);
+ }
+
private void debugStartLog() {
LOGGER.debug(EELFLoggerDelegate.debugLogger, "start {}({})", getMethodCallerName());
}