[DMAAP-CLIENT] First sonar issues review part2
[dmaap/messagerouter/dmaapclient.git] / src / test / java / org / onap / dmaap / mr / test / clients / SimpleExampleConsumer.java
1 /*******************************************************************************
2  *  ============LICENSE_START=======================================================
3  *  org.onap.dmaap
4  *  ================================================================================
5  *  Copyright © 2017 AT&T Intellectual Property. All rights reserved.
6  *  ================================================================================
7  *  Modifications Copyright © 2021 Orange.
8  *  ================================================================================
9  *  Licensed under the Apache License, Version 2.0 (the "License");
10  *  you may not use this file except in compliance with the License.
11  *  You may obtain a copy of the License at
12  *        http://www.apache.org/licenses/LICENSE-2.0
13  *
14  *  Unless required by applicable law or agreed to in writing, software
15  *  distributed under the License is distributed on an "AS IS" BASIS,
16  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  *  See the License for the specific language governing permissions and
18  *  limitations under the License.
19  *  ============LICENSE_END=========================================================
20  *
21  *  ECOMP is a trademark and service mark of AT&T Intellectual Property.
22  *
23  *******************************************************************************/
24
25 package org.onap.dmaap.mr.test.clients;
26
27 import org.onap.dmaap.mr.client.MRClientFactory;
28 import org.onap.dmaap.mr.client.MRConsumer;
29 import org.slf4j.Logger;
30 import org.slf4j.LoggerFactory;
31
32 import java.io.File;
33 import java.io.FileReader;
34 import java.io.FileWriter;
35 import java.util.Properties;
36
37 public class SimpleExampleConsumer {
38
39     static FileWriter routeWriter = null;
40     static Properties props = null;
41     static FileReader routeReader = null;
42
43     public static void main(String[] args) {
44         final Logger logger = LoggerFactory.getLogger(SimpleExampleConsumer.class);
45
46         long count = 0;
47         long nextReport = 5000;
48
49         final long startMs = System.currentTimeMillis();
50
51         try {
52             String routeFilePath = "/src/main/resources/dme2/preferredRoute.txt";
53
54             File fo = new File(routeFilePath);
55             if (!fo.exists()) {
56                 routeWriter = new FileWriter(new File(routeFilePath));
57             }
58             routeReader = new FileReader(new File(routeFilePath));
59             props = new Properties();
60             final MRConsumer cc = MRClientFactory.createConsumer("/src/main/resources/dme2/consumer.properties");
61             int i = 0;
62             while (i < 10) {
63                 Thread.sleep(2);
64                 i++;
65                 for (String msg : cc.fetch()) {
66
67                     System.out.println(msg);
68                 }
69
70                 if (count > nextReport) {
71                     nextReport += 5000;
72
73                     final long endMs = System.currentTimeMillis();
74                     final long elapsedMs = endMs - startMs;
75                     final double elapsedSec = elapsedMs / 1000.0;
76                     final double eps = count / elapsedSec;
77                     System.out.println("Consumed " + count + " in " + elapsedSec + "; " + eps + " eps");
78                 }
79             }
80         } catch (InterruptedException e) {
81             logger.error("Interrupted!", e);
82             // Restore interrupted state...
83             Thread.currentThread().interrupt();
84         } catch (Exception x) {
85             System.err.println(x.getClass().getName() + ": " + x.getMessage());
86             logger.error("exception: ", x);
87         }
88     }
89 }