diff options
Diffstat (limited to 'test/mocks/pnfsimulator/netconfsimulator/src/main/java/org/onap/netconfsimulator/websocket')
4 files changed, 0 insertions, 226 deletions
diff --git a/test/mocks/pnfsimulator/netconfsimulator/src/main/java/org/onap/netconfsimulator/websocket/EndpointConfig.java b/test/mocks/pnfsimulator/netconfsimulator/src/main/java/org/onap/netconfsimulator/websocket/EndpointConfig.java deleted file mode 100644 index 4eaa85010..000000000 --- a/test/mocks/pnfsimulator/netconfsimulator/src/main/java/org/onap/netconfsimulator/websocket/EndpointConfig.java +++ /dev/null @@ -1,46 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * Simulator - * ================================================================================ - * Copyright (C) 2019 Nokia. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.onap.netconfsimulator.websocket; - -import java.util.Collections; -import org.onap.netconfsimulator.websocket.message.NetconfMessageEncoder; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.web.socket.server.standard.ServerEndpointExporter; -import org.springframework.web.socket.server.standard.ServerEndpointRegistration; - -@Configuration -class EndpointConfig { - - @Bean - ServerEndpointRegistration endpointRegistration() { - ServerEndpointRegistration serverEndpointRegistration = new ServerEndpointRegistration("/netconf", - NetconfEndpoint.class); - serverEndpointRegistration.setEncoders(Collections.singletonList(NetconfMessageEncoder.class)); - return serverEndpointRegistration; - } - - @Bean - ServerEndpointExporter endpointExporter() { - return new ServerEndpointExporter(); - } -} - diff --git a/test/mocks/pnfsimulator/netconfsimulator/src/main/java/org/onap/netconfsimulator/websocket/NetconfEndpoint.java b/test/mocks/pnfsimulator/netconfsimulator/src/main/java/org/onap/netconfsimulator/websocket/NetconfEndpoint.java deleted file mode 100644 index 5870ee1e4..000000000 --- a/test/mocks/pnfsimulator/netconfsimulator/src/main/java/org/onap/netconfsimulator/websocket/NetconfEndpoint.java +++ /dev/null @@ -1,95 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * Simulator - * ================================================================================ - * Copyright (C) 2019 Nokia. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.onap.netconfsimulator.websocket; - - -import java.util.Optional; -import javax.websocket.CloseReason; -import javax.websocket.Endpoint; -import javax.websocket.EndpointConfig; -import javax.websocket.RemoteEndpoint; -import javax.websocket.Session; - -import org.onap.netconfsimulator.kafka.listener.KafkaListenerEntry; -import org.onap.netconfsimulator.kafka.listener.KafkaListenerHandler; -import org.onap.netconfsimulator.websocket.message.NetconfMessageListener; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.kafka.listener.AbstractMessageListenerContainer; -import org.springframework.kafka.listener.MessageListener; -import org.springframework.stereotype.Component; - -//instance of this class is created every each websocket request -@Component -class NetconfEndpoint extends Endpoint { - - private static final Logger LOGGER = LoggerFactory.getLogger(NetconfEndpoint.class); - private static final String TOPIC_NAME = "config"; - - private KafkaListenerHandler kafkaListenerHandler; - - public Optional<KafkaListenerEntry> getEntry() { - return entry; - } - - public void setEntry(Optional<KafkaListenerEntry> entry) { - this.entry = entry; - } - - private Optional<KafkaListenerEntry> entry = Optional.empty(); - - - @Autowired - NetconfEndpoint(KafkaListenerHandler listenerHandler) { - this.kafkaListenerHandler = listenerHandler; - } - - @Override - public void onOpen(Session session, EndpointConfig endpointConfig) { - RemoteEndpoint.Basic basicRemote = session.getBasicRemote(); - - addKafkaListener(basicRemote); - entry.ifPresent(x -> LOGGER.info("Session with client: {} established", x.getClientId())); - } - - @Override - public void onError(Session session, Throwable throwable) { - LOGGER.error("Unexpected error occurred", throwable); - } - - @Override - public void onClose(Session session, CloseReason closeReason) { - entry.ifPresent(x -> x.getListenerContainer().stop()); - entry.ifPresent(x -> LOGGER.info("Closing connection for client: {}", x.getClientId())); - } - - - private void addKafkaListener(RemoteEndpoint.Basic remoteEndpoint) { - MessageListener messageListener = new NetconfMessageListener(remoteEndpoint); - - KafkaListenerEntry kafkaListener = kafkaListenerHandler.createKafkaListener(messageListener, TOPIC_NAME); - - AbstractMessageListenerContainer listenerContainer = kafkaListener.getListenerContainer(); - listenerContainer.start(); - entry = Optional.of(kafkaListener); - } -} diff --git a/test/mocks/pnfsimulator/netconfsimulator/src/main/java/org/onap/netconfsimulator/websocket/message/NetconfMessageEncoder.java b/test/mocks/pnfsimulator/netconfsimulator/src/main/java/org/onap/netconfsimulator/websocket/message/NetconfMessageEncoder.java deleted file mode 100644 index 349b7e2d9..000000000 --- a/test/mocks/pnfsimulator/netconfsimulator/src/main/java/org/onap/netconfsimulator/websocket/message/NetconfMessageEncoder.java +++ /dev/null @@ -1,34 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * Simulator - * ================================================================================ - * Copyright (C) 2019 Nokia. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.onap.netconfsimulator.websocket.message; - -import org.onap.netconfsimulator.kafka.model.KafkaMessage; -import org.springframework.web.socket.adapter.standard.ConvertingEncoderDecoderSupport; - -public class NetconfMessageEncoder extends ConvertingEncoderDecoderSupport.TextEncoder<KafkaMessage> { - - private static final String MESSAGE_FORMAT = "%s: %s"; - - @Override - public String encode(KafkaMessage netconfMessage) { - return String.format(MESSAGE_FORMAT, netconfMessage.getTimestamp(), netconfMessage.getConfiguration()); - } -} diff --git a/test/mocks/pnfsimulator/netconfsimulator/src/main/java/org/onap/netconfsimulator/websocket/message/NetconfMessageListener.java b/test/mocks/pnfsimulator/netconfsimulator/src/main/java/org/onap/netconfsimulator/websocket/message/NetconfMessageListener.java deleted file mode 100644 index 61610dea0..000000000 --- a/test/mocks/pnfsimulator/netconfsimulator/src/main/java/org/onap/netconfsimulator/websocket/message/NetconfMessageListener.java +++ /dev/null @@ -1,51 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * Simulator - * ================================================================================ - * Copyright (C) 2019 Nokia. All rights reserved. - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ - -package org.onap.netconfsimulator.websocket.message; - -import java.io.IOException; -import javax.websocket.EncodeException; -import javax.websocket.RemoteEndpoint; -import org.apache.kafka.clients.consumer.ConsumerRecord; -import org.onap.netconfsimulator.kafka.model.KafkaMessage; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.kafka.listener.MessageListener; - -public class NetconfMessageListener implements MessageListener<String, String> { - - private static final Logger LOGGER = LoggerFactory.getLogger(NetconfMessageListener.class); - private RemoteEndpoint.Basic remoteEndpoint; - - public NetconfMessageListener(RemoteEndpoint.Basic remoteEndpoint) { - this.remoteEndpoint = remoteEndpoint; - } - - @Override - public void onMessage(ConsumerRecord<String, String> message) { - LOGGER.debug("Attempting to send message to {}", remoteEndpoint); - try { - remoteEndpoint - .sendObject(new KafkaMessage(message.timestamp(), message.value())); - } catch (IOException | EncodeException exception) { - LOGGER.error("Error during sending message to remote", exception); - } - } -} |