[DMAAP-CLIENT] First sonar issues review part2
[dmaap/messagerouter/dmaapclient.git] / src / test / java / org / onap / dmaap / mr / test / clients / SimpleExampleConsumerWithReturnResponse.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.onap.dmaap.mr.client.response.MRConsumerResponse;
30 import org.slf4j.Logger;
31 import org.slf4j.LoggerFactory;
32
33 import java.io.File;
34 import java.io.FileReader;
35 import java.io.FileWriter;
36 import java.util.Properties;
37
38 public class SimpleExampleConsumerWithReturnResponse {
39
40     private static final Logger logger = LoggerFactory.getLogger(SimpleExampleConsumerWithReturnResponse.class);
41
42     static FileWriter routeWriter = null;
43     static Properties props = null;
44     static FileReader routeReader = null;
45
46     public static void main(String[] args) {
47
48         long count = 0;
49         long nextReport = 5000;
50         // remove while true and limite execution time in seconds
51         int timeMax = 86400; // one day
52         long endDate = System.currentTimeMillis() + timeMax * 1000;
53
54         final long startMs = System.currentTimeMillis();
55
56         try {
57             String routeFilePath = "src/main/resources/dme2/preferredRoute.txt";
58
59
60             File fo = new File(routeFilePath);
61             if (!fo.exists()) {
62                 routeWriter = new FileWriter(new File(routeFilePath));
63             }
64             routeReader = new FileReader(new File(routeFilePath));
65             props = new Properties();
66             final MRConsumer cc = MRClientFactory.createConsumer("src/main/resources/dme2/consumer.properties");
67             while (System.currentTimeMillis() < endDate) {
68                 MRConsumerResponse mrConsumerResponse = cc.fetchWithReturnConsumerResponse();
69                 System.out.println("mrConsumerResponse code :" + mrConsumerResponse.getResponseCode());
70
71                 System.out.println("mrConsumerResponse Message :" + mrConsumerResponse.getResponseMessage());
72
73                 System.out.println("mrConsumerResponse ActualMessage :" + mrConsumerResponse.getActualMessages());
74
75                 if (count > nextReport) {
76                     nextReport += 5000;
77
78                     final long endMs = System.currentTimeMillis();
79                     final long elapsedMs = endMs - startMs;
80                     final double elapsedSec = elapsedMs / 1000.0;
81                     final double eps = count / elapsedSec;
82                     System.out.println("Consumed " + count + " in " + elapsedSec + "; " + eps + " eps");
83                 }
84             }
85         } catch (Exception x) {
86             System.err.println(x.getClass().getName() + ": " + x.getMessage());
87             logger.error("exception: ", x);
88         }
89     }
90
91 }