Fix OSGi wiring issues
[ccsdk/features.git] / blueprints-processor / adaptors / data-adaptor-provider / src / main / java / org / onap / ccsdk / config / data / adaptor / service / ConfigResourceNode.java
1 /*\r
2  * Copyright © 2017-2018 AT&T Intellectual Property.\r
3  * Modifications Copyright © 2018 IBM.\r
4  * \r
5  * Licensed under the Apache License, Version 2.0 (the "License");\r
6  * you may not use this file except in compliance with the License.\r
7  * You may obtain a copy of the License at\r
8  * \r
9  * http://www.apache.org/licenses/LICENSE-2.0\r
10  * \r
11  * Unless required by applicable law or agreed to in writing, software\r
12  * distributed under the License is distributed on an "AS IS" BASIS,\r
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
14  * See the License for the specific language governing permissions and\r
15  * limitations under the License.\r
16  */\r
17 \r
18 package org.onap.ccsdk.config.data.adaptor.service;\r
19 \r
20 import java.util.Map;\r
21 import org.apache.commons.lang3.StringUtils;\r
22 import org.onap.ccsdk.config.data.adaptor.DataAdaptorConstants;\r
23 import org.onap.ccsdk.config.data.adaptor.domain.TransactionLog;\r
24 import org.onap.ccsdk.sli.core.sli.SvcLogicContext;\r
25 import org.onap.ccsdk.sli.core.sli.SvcLogicException;\r
26 import org.onap.ccsdk.sli.core.sli.SvcLogicJavaPlugin;\r
27 \r
28 public class ConfigResourceNode implements SvcLogicJavaPlugin {\r
29 \r
30     private ConfigResourceService configResourceService;\r
31 \r
32     public ConfigResourceNode(ConfigResourceService configResourceService) {\r
33         this.configResourceService = configResourceService;\r
34     }\r
35 \r
36     public void saveConfigTransactionLog(Map<String, String> inParams, SvcLogicContext ctx) throws SvcLogicException {\r
37         String responsePrefix = inParams.get(DataAdaptorConstants.INPUT_PARAM_RESPONSE_PRIFIX);\r
38         try {\r
39             responsePrefix = StringUtils.isNotBlank(responsePrefix) ? (responsePrefix + ".") : "";\r
40 \r
41             String messageType = inParams.get(DataAdaptorConstants.INPUT_PARAM_MESSAGE_TYPE);\r
42             String message = inParams.get(DataAdaptorConstants.INPUT_PARAM_MESSAGE);\r
43             String requestId = ctx.getAttribute("request-id");\r
44 \r
45             TransactionLog transactionLog = new TransactionLog();\r
46 \r
47             transactionLog.setMessage(message);\r
48             transactionLog.setMessageType(messageType);\r
49             transactionLog.setRequestId(requestId);\r
50 \r
51             configResourceService.save(transactionLog);\r
52 \r
53         } catch (Exception e) {\r
54             ctx.setAttribute(responsePrefix + DataAdaptorConstants.OUTPUT_PARAM_STATUS,\r
55                     DataAdaptorConstants.OUTPUT_STATUS_FAILURE);\r
56             ctx.setAttribute(responsePrefix + DataAdaptorConstants.OUTPUT_PARAM_ERROR_MESSAGE, e.getMessage());\r
57             throw new SvcLogicException("Failed in saveConfigTransactionLog :" + e.getMessage());\r
58         }\r
59     }\r
60 \r
61 }\r