Modified the code to fix various pushPolicy issues
[policy/engine.git] / ONAP-PDP-REST / src / main / java / org / onap / policy / pdp / rest / api / services / ListConfigService.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP-PDP-REST
4  * ================================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6  * ================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ============LICENSE_END=========================================================
19  */
20 package org.onap.policy.pdp.rest.api.services;
21
22 import java.util.ArrayList;
23 import java.util.Collection;
24
25 import org.onap.policy.api.ConfigRequestParameters;
26 import org.onap.policy.api.PolicyConfigStatus;
27 import org.onap.policy.common.logging.flexlogger.FlexLogger;
28 import org.onap.policy.common.logging.flexlogger.Logger;
29 import org.onap.policy.pdp.rest.api.models.PolicyConfig;
30 import org.springframework.http.HttpStatus;
31
32 public class ListConfigService {
33     private static Logger LOGGER = FlexLogger.getLogger(ListConfigService.class.getName());
34     
35     private Collection<String> results = null;
36     private HttpStatus status = HttpStatus.BAD_REQUEST;
37
38     public ListConfigService(ConfigRequestParameters configRequestParameters,
39             String requestID) {
40         GetConfigService getConfigService = new GetConfigService(configRequestParameters,requestID);
41         Collection<PolicyConfig> policyConfigs = getConfigService.getResult();
42         LOGGER.info("Transferring Config Results to List. ");
43         if(policyConfigs!=null){
44             results = new ArrayList<String>();
45             status = HttpStatus.OK;
46             for(PolicyConfig policyConfig : policyConfigs){
47                 if(policyConfig.getPolicyConfigMessage()!=null && policyConfig.getPolicyConfigMessage().contains("PE300")
48                                 && policyConfigs.size()<=1 && policyConfig.getPolicyConfigStatus().equals(PolicyConfigStatus.CONFIG_NOT_FOUND)){
49                     results.add(policyConfig.getPolicyConfigMessage());
50                     status = HttpStatus.BAD_REQUEST;
51                 } else {
52                     results.add(policyConfig.getPolicyName());
53                 }
54             }
55         }
56     }
57
58     public Collection<String> getResult() {
59         return results;
60     }
61
62     public HttpStatus getResponseCode() {
63         return status;
64     }
65
66 }