Skip to content

Commit 052f2fe

Browse files
author
eugenp
committed
cleanup work
1 parent 6287aa4 commit 052f2fe

File tree

1 file changed

+46
-40
lines changed

1 file changed

+46
-40
lines changed

spring-security-rest-full/src/main/java/org/baeldung/web/metric/MetricService.java

Lines changed: 46 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import java.text.SimpleDateFormat;
44
import java.util.Date;
55
import java.util.HashMap;
6+
import java.util.Map;
67
import java.util.Map.Entry;
78
import java.util.Set;
89

@@ -11,9 +12,9 @@
1112
@Service
1213
public class MetricService {
1314

14-
private HashMap<String, HashMap<Integer, Integer>> metricMap;
15-
private HashMap<Integer, Integer> statusMetric;
16-
private HashMap<String, HashMap<Integer, Integer>> timeMap;
15+
private Map<String, HashMap<Integer, Integer>> metricMap;
16+
private Map<Integer, Integer> statusMetric;
17+
private Map<String, HashMap<Integer, Integer>> timeMap;
1718
private static final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");
1819

1920
public MetricService() {
@@ -23,12 +24,54 @@ public MetricService() {
2324
timeMap = new HashMap<String, HashMap<Integer, Integer>>();
2425
}
2526

27+
// API
28+
2629
public void increaseCount(final String request, final int status) {
2730
increaseMainMetric(request, status);
2831
increaseStatusMetric(status);
2932
updateTimeMap(status);
3033
}
3134

35+
public String getFullMetric() {
36+
return metricMap.entrySet().toString();
37+
}
38+
39+
public String getStatusMetric() {
40+
return statusMetric.entrySet().toString();
41+
}
42+
43+
public Object[][] getGraphData() {
44+
final int colCount = statusMetric.keySet().size() + 1;
45+
final Set<Integer> allStatus = statusMetric.keySet();
46+
final int rowCount = timeMap.keySet().size() + 1;
47+
48+
final Object[][] result = new Object[rowCount][colCount];
49+
result[0][0] = "Time";
50+
51+
int j = 1;
52+
for (final int status : allStatus) {
53+
result[0][j] = status;
54+
j++;
55+
}
56+
int i = 1;
57+
HashMap<Integer, Integer> tempMap;
58+
for (final Entry<String, HashMap<Integer, Integer>> entry : timeMap.entrySet()) {
59+
result[i][0] = entry.getKey();
60+
tempMap = entry.getValue();
61+
for (j = 1; j < colCount; j++) {
62+
result[i][j] = tempMap.get(result[0][j]);
63+
if (result[i][j] == null) {
64+
result[i][j] = 0;
65+
}
66+
}
67+
i++;
68+
}
69+
70+
return result;
71+
}
72+
73+
// NON-API
74+
3275
private void increaseMainMetric(final String request, final int status) {
3376
HashMap<Integer, Integer> statusMap = metricMap.get(request);
3477
if (statusMap == null) {
@@ -71,41 +114,4 @@ private void updateTimeMap(final int status) {
71114
timeMap.put(time, statusMap);
72115
}
73116

74-
public String getFullMetric() {
75-
return metricMap.entrySet().toString();
76-
}
77-
78-
public String getStatusMetric() {
79-
return statusMetric.entrySet().toString();
80-
}
81-
82-
public Object[][] getGraphData(){
83-
final int colCount = statusMetric.keySet().size()+1;
84-
final Set<Integer> allStatus = statusMetric.keySet();
85-
final int rowCount = timeMap.keySet().size()+1;
86-
87-
final Object[][] result = new Object[rowCount][colCount];
88-
result[0][0] = "Time";
89-
90-
int j = 1;
91-
for (final int status : allStatus) {
92-
result[0][j] = status;
93-
j++;
94-
}
95-
int i = 1;
96-
HashMap<Integer, Integer> tempMap;
97-
for (final Entry<String, HashMap<Integer, Integer>> entry : timeMap.entrySet()) {
98-
result[i][0] = entry.getKey();
99-
tempMap = entry.getValue();
100-
for (j = 1; j < colCount; j++) {
101-
result[i][j] = tempMap.get(result[0][j]);
102-
if (result[i][j] == null) {
103-
result[i][j] = 0;
104-
}
105-
}
106-
i++;
107-
}
108-
109-
return result;
110-
}
111117
}

0 commit comments

Comments
 (0)