+/*-
+ * ============LICENSE_START=======================================================
+ * VID
+ * ================================================================================
+ * Copyright (C) 2017 - 2019 AT&T Intellectual Property. All rights reserved.
+ * Modifications Copyright (C) 2018 - 2019 Nokia. All rights reserved.
+ * ================================================================================
+ * 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=========================================================
+ */
package org.onap.vid.services;
-import java.io.IOException;
-import java.util.*;
-import java.util.stream.Collectors;
-
-import org.openecomp.portalsdk.core.logging.logic.EELFLoggerDelegate;
-import org.openecomp.portalsdk.core.service.DataAccessService;
import org.onap.vid.category.AddCategoryOptionResponse;
+import org.onap.vid.category.AddCategoryOptionsRequest;
import org.onap.vid.category.CategoryParameterOptionRep;
+import org.onap.vid.category.CategoryParametersResponse;
import org.onap.vid.model.CategoryParameter;
+import org.onap.vid.model.CategoryParameter.Family;
import org.onap.vid.model.CategoryParameterOption;
-import org.onap.vid.category.AddCategoryOptionsRequest;
-import org.onap.vid.category.CategoryParametersResponse;
+import org.onap.portalsdk.core.logging.logic.EELFLoggerDelegate;
+import org.onap.portalsdk.core.service.DataAccessService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
-import org.onap.vid.model.CategoryParameter.Family;
import javax.ws.rs.ForbiddenException;
+import java.util.*;
+import java.util.stream.Collectors;
@Service
public class CategoryParameterServiceImpl implements CategoryParameterService {
+ public static final String OPTION_ALREADY_EXIST_FOR_CATEGORY = "Option %s already exist for category %s";
@Autowired
private DataAccessService dataAccessService;
}
@Override
- public CategoryParametersResponse getCategoryParameters(Family familyName) throws IOException {
+ public CategoryParametersResponse getCategoryParameters(Family familyName) {
List<CategoryParameter> categoryParameters = dataAccessService.getList(CategoryParameter.class, String.format(" where family = '%s' ",familyName), null, null);
return convertToCategoryParametersResponse(categoryParameters);
}
}
@Override
- public AddCategoryOptionResponse createCategoryParameterOptions(String categoryName, AddCategoryOptionsRequest optionsRequest) throws IOException, UnfoundedCategoryException {
+ public AddCategoryOptionResponse createCategoryParameterOptions(String categoryName, AddCategoryOptionsRequest optionsRequest) {
AddCategoryOptionResponse response = new AddCategoryOptionResponse(new ArrayList<>());
CategoryParameter categoryParameter = getCategoryParameter(categoryName);
Set<String> categoryOptions = categoryParameter.getOptions().stream().map(CategoryParameterOption::getName).collect(Collectors.toSet());
for (String optionName : optionsRequest.options) {
if (categoryOptions.contains(optionName)) {
- response.getErrors().add(String.format("Option %s already exist for category %s", optionName, categoryName));
+ response.getErrors().add(String.format(OPTION_ALREADY_EXIST_FOR_CATEGORY, optionName, categoryName));
continue;
}
String appId = categoryParameter.isIdSupported() ? UUID.randomUUID().toString() : optionName;
}
@Override
- public void deleteCategoryOption(String categoryName, CategoryParameterOption option) throws IOException {
+ public void deleteCategoryOption(String categoryName, CategoryParameterOption option) {
List<CategoryParameter> categoryParameters = dataAccessService.getList(CategoryParameter.class, String.format(" where name = '%s'", categoryName), null, null);
if (categoryParameters.size() != 1) {
String msg = "There is no category parameter with name " + categoryName;