1d5f515d0620d7c95c86294f2a8ea655387fabdf
[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 © 2019 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 data class DeviceResponse(var status: String? = null,
22                           var errorMessage: String? = null,
23                           var responseMessage: String? = null,
24                           var requestMessage: String? = null) {
25
26     fun isSuccess(): Boolean {
27         return this.status == RpcStatus.SUCCESS && this.errorMessage.isNullOrEmpty()
28     }
29 }
30
31
32 /**
33  * Creates an event of a given type and for the specified subject and the current time.
34  *
35  * @param type event type
36  * @param messagePayload message from the device
37  * @param messageId id of the message related to the event
38  * @param deviceInfo device of event
39  */
40 class NetconfReceivedEvent(val type: Type,
41                            val messagePayload: String = "",
42                            val messageId: String = "",
43                            val deviceInfo: DeviceInfo) {
44
45     enum class Type {
46         DEVICE_REPLY,
47         DEVICE_UNREGISTERED,
48         DEVICE_ERROR,
49         SESSION_CLOSED
50     }
51 }