Formatting Code base with ktlint
[ccsdk/cds.git] / ms / blueprintsprocessor / functions / netconf-executor / src / main / kotlin / org / onap / ccsdk / cds / blueprintsprocessor / functions / netconf / executor / core / NetconfSessionListenerImpl.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.core
18
19 import org.onap.ccsdk.cds.blueprintsprocessor.functions.netconf.executor.api.NetconfReceivedEvent
20 import org.onap.ccsdk.cds.blueprintsprocessor.functions.netconf.executor.api.NetconfSessionListener
21
22 /**
23  * Implementation of the NetconfSessionListener
24  * Encapsulates logic for type of message received and action that NetconfSessionImpl should take.
25  * TODO: Is there a better way to extract this out of NetconfSession, I'd like to use the NetconfSession as param,
26  * rather than NetconfSessionImpl, but at the same time, addDeviceReply/ErrorReply should not be part of the public
27  * interface....
28  */
29
30 internal class NetconfSessionListenerImpl(private val session: NetconfSessionImpl) : NetconfSessionListener {
31
32     override fun accept(event: NetconfReceivedEvent) {
33         when (event.type) {
34             NetconfReceivedEvent.Type.DEVICE_UNREGISTERED -> session.disconnect()
35             NetconfReceivedEvent.Type.SESSION_CLOSED -> session.disconnect()
36             NetconfReceivedEvent.Type.DEVICE_ERROR -> session.addDeviceErrorReply(event.messagePayload)
37             NetconfReceivedEvent.Type.DEVICE_REPLY -> session.addDeviceReply(event.messageId, event.messagePayload)
38         }
39     }
40 }