Skip to content

Commit

Permalink
Reduce readAuditFile() complexity
Browse files Browse the repository at this point in the history
  • Loading branch information
mackdk committed Jul 19, 2023
1 parent d91f1b7 commit 5752a99
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 36 deletions.
8 changes: 4 additions & 4 deletions java/code/src/com/redhat/rhn/frontend/dto/AuditDto.java
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@

import java.util.Date;
import java.util.LinkedHashMap;
import java.util.Map;

/**
* AuditDto
Expand All @@ -27,7 +28,7 @@ public class AuditDto extends BaseDto {
private int milli;
private String node;

private LinkedHashMap<String, String> kvmap;
private Map<String, String> kvmap;

private String type;

Expand All @@ -39,8 +40,7 @@ public class AuditDto extends BaseDto {
* @param nodeIn Audit generating node
* @param kvmapIn HashMap of audit data
*/
public AuditDto(int serialIn, Date timeIn, int milliIn, String nodeIn,
LinkedHashMap<String, String> kvmapIn) {
public AuditDto(int serialIn, Date timeIn, int milliIn, String nodeIn, Map<String, String> kvmapIn) {
this.id = (long) serialIn;
this.serial = serialIn;
this.time = timeIn;
Expand Down Expand Up @@ -91,7 +91,7 @@ public String getNode() {
/**
* @return Returns the key-value audit data.
*/
public LinkedHashMap<String, String> getKvmap() {
public Map<String, String> getKvmap() {
return kvmap;
}

Expand Down
60 changes: 28 additions & 32 deletions java/code/src/com/redhat/rhn/manager/audit/AuditManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
import java.io.FileWriter;
import java.io.IOException;
import java.nio.file.Path;
import java.util.Arrays;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
Expand Down Expand Up @@ -391,42 +392,19 @@ public static AuditReviewDto getReviewInfo(String machine, long start, long end)
}
}

private static List readAuditFile(File aufile, String[] types, Long start, Long end) throws IOException {
int milli = 0, serial = -1;
LinkedHashMap<String, String> hmap;
LinkedList<AuditDto> events;
Long time = -1L;
String node = null, str, strtime = null;
private static List<AuditDto> readAuditFile(File aufile, String[] types, Long start, Long end) throws IOException {
List<AuditDto> events = new LinkedList<>();

try (BufferedReader brdr = new BufferedReader(new FileReader(aufile))) {
events = new LinkedList<>();
hmap = new LinkedHashMap<>();
try (BufferedReader reader = new BufferedReader(new FileReader(aufile))) {
Map<String, String> hmap = new LinkedHashMap<>();

for (str = brdr.readLine(); str != null; str = brdr.readLine()) {
for (String str = reader.readLine(); str != null; str = reader.readLine()) {
if (str.equals("")) {
strtime = hmap.remove("seconds");
int serial = getSerial(hmap);
long time = getTime(hmap);

try {
serial = Integer.parseInt(hmap.remove("serial"));
}
catch (NumberFormatException nfex) {
serial = -1;
}

try {
time = Long.parseLong(strtime) * 1000;
}
catch (NumberFormatException nfex) {
time = 0L;
}

if (time >= start && time <= end) {
for (String type : types) {
if (type.equals(hmap.get("type"))) {
events.add(new AuditDto(serial, new Date(time), milli, node, hmap));
break;
}
}
if (time >= start && time <= end && Arrays.asList(types).contains(hmap.get("type"))) {
events.add(new AuditDto(serial, new Date(time), 0, null, hmap));
}

hmap.clear();
Expand All @@ -444,4 +422,22 @@ else if (str.indexOf('=') >= 0) {
return events;
}
}

private static Long getTime(Map<String, String> hmap) {
try {
return Long.parseLong(hmap.remove("seconds")) * 1000;
}
catch (NumberFormatException ex) {
return 0L;
}
}

private static int getSerial(Map<String, String> hmap) {
try {
return Integer.parseInt(hmap.remove("serial"));
}
catch (NumberFormatException nfex) {
return -1;
}
}
}

0 comments on commit 5752a99

Please sign in to comment.