Migrate ccsdk/apps to ccsdk/cds
[ccsdk/cds.git] / ms / blueprintsprocessor / functions / netconf-executor / src / main / kotlin / org / onap / ccsdk / cds / blueprintsprocessor / functions / netconf / executor / api / NetconfMessage.kt
1 /*
2  * Copyright © 2017-2019 AT&T, Bell Canada
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *     http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 package org.onap.ccsdk.cds.blueprintsprocessor.functions.netconf.executor.api
18
19 import org.onap.ccsdk.cds.blueprintsprocessor.functions.netconf.executor.utils.RpcStatus
20
21 class DeviceResponse {
22     var status: String? = null
23     var errorMessage: String? = null
24     var responseMessage: String? = null
25     var requestMessage: String? = null
26     private var subDeviceResponse: MutableMap<Any, Any>? = null
27
28     fun addSubDeviceResponse(key: String, subDeviceResponse: DeviceResponse) {
29         if (this.subDeviceResponse == null) {
30             this.subDeviceResponse = hashMapOf()
31         }
32         this.subDeviceResponse!![key] = subDeviceResponse
33     }
34
35     fun isSuccess(): Boolean {
36         if (this.status != RpcStatus.SUCCESS && !this.errorMessage.isNullOrEmpty()) {
37             return false
38         }
39         return true
40     }
41 }
42
43
44 /**
45  * Creates an event of a given type and for the specified subject and the current time.
46  *
47  * @param type event type
48  * @param payload message from the device
49  * @param messageId id of the message related to the event
50  * @param deviceInfo device of event
51  */
52 class NetconfReceivedEvent
53     (private var type: Type, private var payload: String = "", private var messageId: String = "",
54      private var deviceInfo: DeviceInfo) {
55
56     enum class Type {
57         DEVICE_REPLY,
58         DEVICE_UNREGISTERED,
59         DEVICE_ERROR,
60         SESSION_CLOSED
61     }
62
63     fun getType(): Type {
64         return type
65     }
66
67     fun getMessagePayload(): String {
68         return payload
69     }
70
71     fun getMessageID(): String {
72         return messageId
73     }
74 }