3fa023bf71063397b4be18163d9ce54739bcbaaf
[dcaegen2/collectors/hv-ves.git] / hv-collector-client-simulator / src / main / kotlin / org / onap / dcae / collectors / veshv / simulators / xnf / main.kt
1 /*
2  * ============LICENSE_START=======================================================
3  * dcaegen2-collectors-veshv
4  * ================================================================================
5  * Copyright (C) 2018 NOKIA
6  * ================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ============LICENSE_END=========================================================
19  */
20 package org.onap.dcae.collectors.veshv.simulators.xnf
21
22 import org.onap.dcae.collectors.veshv.simulators.xnf.config.ArgBasedClientConfiguration
23 import org.onap.dcae.collectors.veshv.simulators.xnf.impl.MessageFactory
24 import org.onap.dcae.collectors.veshv.simulators.xnf.impl.VesHvClient
25 import org.onap.dcae.collectors.veshv.utils.commandline.WrongArgumentException
26 import org.slf4j.LoggerFactory.getLogger
27
28
29 private val logger = getLogger("Simulator :: main")
30
31 /**
32  * @author Jakub Dudycz <jakub.dudycz@nokia.com>
33  * @since June 2018
34  */
35 fun main(args: Array<String>) {
36     try {
37         val clientConfig = ArgBasedClientConfiguration().parse(args)
38         val messageFactory = MessageFactory()
39         val client = VesHvClient(clientConfig)
40             client.send(messageFactory.createMessageFlux(clientConfig.messagesAmount))
41     } catch (e: WrongArgumentException) {
42         e.printHelp("java org.onap.dcae.collectors.veshv.main.MainKt")
43         System.exit(1)
44     } catch (e: Exception) {
45         logger.error(e.localizedMessage)
46         logger.debug("An error occurred when starting ves client", e)
47         System.exit(2)
48     }
49 }
50