Skip to content

Commit 3c4bc88

Browse files
committed
TDD: Write ReportFileRepository test code
1 parent b257552 commit 3c4bc88

File tree

6 files changed

+192
-153
lines changed

6 files changed

+192
-153
lines changed

Core/src/main/java/root/core/repository/constracts/ReportRepository.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,9 @@
44

55
public interface ReportRepository {
66

7-
<T> void writeReportFile(String filePath, String fileName, String fileExtension, List<T> monitoringResult,
8-
Class<T> clazz);
7+
<T> void writeReportFile(String fileName, String fileExtension, List<T> monitoringResult, Class<T> clazz);
98

109
List<String> getReportHeaders(Class<?> monitoringType, String alias);
11-
10+
1211
String getReportContentsInCsv(Class<?> monitoringType, String alias);
1312
}

Core/src/main/java/root/core/usecase/implement/DBCheckUsecaseImpl.java

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -47,10 +47,9 @@ public void printArchiveUsageCheck() {
4747
System.out.println("\t▶ Archive Usage Check : SUCCESS\n");
4848
}
4949
});
50-
50+
5151
try {
52-
TextTable tt = new TextTable(
53-
new CsvTableModel(CsvUtils.toCsvString(result, ArchiveUsage.class)));
52+
TextTable tt = new TextTable(new CsvTableModel(CsvUtils.toCsvString(result, ArchiveUsage.class)));
5453
tt.printTable(System.out, 8);
5554
System.out.println();
5655
} catch (IOException e) {
@@ -63,8 +62,7 @@ public void printTableSpaceCheck() {
6362
List<TableSpaceUsage> result = dbCheckRepository.checkTableSpaceUsage();
6463
System.out.println("\t▶ TableSpace Usage Check");
6564
try {
66-
TextTable tt = new TextTable(
67-
new CsvTableModel(CsvUtils.toCsvString(result, TableSpaceUsage.class)));
65+
TextTable tt = new TextTable(new CsvTableModel(CsvUtils.toCsvString(result, TableSpaceUsage.class)));
6866
tt.printTable(System.out, 8);
6967
System.out.println();
7068
} catch (IOException e) {
@@ -77,8 +75,7 @@ public void printASMDiskCheck() {
7775
List<ASMDiskUsage> result = dbCheckRepository.checkASMDiskUsage();
7876
System.out.println("\t▶ ASM Disk Usage Check");
7977
try {
80-
TextTable tt = new TextTable(
81-
new CsvTableModel(CsvUtils.toCsvString(result, ASMDiskUsage.class)));
78+
TextTable tt = new TextTable(new CsvTableModel(CsvUtils.toCsvString(result, ASMDiskUsage.class)));
8279
tt.printTable(System.out, 8);
8380
System.out.println();
8481
} catch (IOException e) {
@@ -110,13 +107,13 @@ public void writeExcelArchiveUsageCheck() throws Exception {
110107
String fileName = "DB관리대장_종합_" + year + "." + DateUtils.getTwoDigitDate(month);
111108
String extension = ".xlsx";
112109
File file = new File(filePath + fileName + extension);
113-
114-
if(!file.exists()) {
110+
111+
if (!file.exists()) {
115112
file.getParentFile().mkdirs();
116113
DBManageExcel.createMonthlyReportInExcel(year, month);
117114
}
118-
119-
double archiveUsage = result.get(0).getUsedPercent();
115+
116+
double archiveUsage = result.get(0).getUsedPercent();
120117
Workbook workbook = ExcelSheet.getWorkbook(new FileInputStream(file), fileName + extension);
121118
Sheet sheet = workbook.getSheetAt(0);
122119
sheet.getRow(rowIndex).getCell(colIndex).setCellValue(archiveUsage + "%");
@@ -127,19 +124,19 @@ public void writeExcelArchiveUsageCheck() throws Exception {
127124
@Override
128125
public void writeCsvArchiveUsage() {
129126
List<ArchiveUsage> result = dbCheckRepository.checkArchiveUsage();
130-
reportRepository.writeReportFile("ArchiveUsage", dbCheckRepository.getDBName(), ".txt", result, ArchiveUsage.class);
127+
reportRepository.writeReportFile(dbCheckRepository.getDBName(), ".txt", result, ArchiveUsage.class);
131128
}
132129

133130
@Override
134131
public void writeCsvTableSpaceUsage() {
135132
List<TableSpaceUsage> result = dbCheckRepository.checkTableSpaceUsage();
136-
reportRepository.writeReportFile("TableSpaceUsage", dbCheckRepository.getDBName(), ".txt", result, TableSpaceUsage.class);
133+
reportRepository.writeReportFile(dbCheckRepository.getDBName(), ".txt", result, TableSpaceUsage.class);
137134
}
138135

139136
@Override
140137
public void writeCsvASMDiskUsage() {
141138
List<ASMDiskUsage> result = dbCheckRepository.checkASMDiskUsage();
142-
reportRepository.writeReportFile("ASMDiskUsage", dbCheckRepository.getDBName(), ".txt", result, ASMDiskUsage.class);
139+
reportRepository.writeReportFile(dbCheckRepository.getDBName(), ".txt", result, ASMDiskUsage.class);
143140
}
144141

145142
@Override

Core/src/main/java/root/core/usecase/implement/ServerMonitoringUsecaseImpl.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -257,8 +257,7 @@ public void writeCsvOSDiskUsage() throws Exception {
257257
os.setMonitoringDate(monitoringDate);
258258
os.setMonitoringTime(monitoringTime);
259259
}
260-
reportRepository.writeReportFile("OSDiskUsage", serverCheckRepository.getServerName(), ".txt", result,
261-
OSDiskUsage.class);
260+
reportRepository.writeReportFile(serverCheckRepository.getServerName(), ".txt", result, OSDiskUsage.class);
262261
}
263262

264263
@Override

Repository/build.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ dependencies {
1616
// Apache Commons Library
1717
implementation 'commons-io:commons-io:2.8.0'
1818
implementation 'org.apache.commons:commons-configuration2:2.7'
19+
implementation 'org.apache.commons:commons-lang3:3.11'
1920

2021
// Apache POI
2122
implementation 'org.apache.poi:poi:3.17'

Repository/src/main/java/root/repository/implement/ReportFileRepo.java

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
import java.io.BufferedReader;
44
import java.io.BufferedWriter;
55
import java.io.File;
6-
import java.io.FileNotFoundException;
76
import java.io.FileReader;
87
import java.io.FileWriter;
98
import java.io.IOException;
@@ -48,10 +47,13 @@ public static ReportRepository getInstance() {
4847
* 모니터링 결과를 파일에 기록한다.
4948
*/
5049
@Override
51-
public <T> void writeReportFile(String filePath, String fileName, String fileExtension, List<T> monitoringResult,
52-
Class<T> clazz) {
53-
54-
File file = new File(rootDirectory + "/" + filePath + "/" + fileName + fileExtension);
50+
public <T> void writeReportFile(String fileName, String fileExtension, List<T> monitoringResult, Class<T> clazz) {
51+
if (monitoringResult == null || monitoringResult.size() == 0) {
52+
log.info("there is no monitoring result to write report");
53+
return;
54+
}
55+
56+
File file = new File(monitoringFileDirMap.get(clazz) + "/" + fileName + fileExtension);
5557
String content = null;
5658
try {
5759

@@ -70,7 +72,7 @@ public <T> void writeReportFile(String filePath, String fileName, String fileExt
7072
content = StringUtils.joinWith(System.lineSeparator(), content, row);
7173
}
7274
} catch (Exception e) {
73-
e.printStackTrace();
75+
log.error(e.getMessage());
7476
}
7577

7678
if (content == null) {
@@ -83,7 +85,7 @@ public <T> void writeReportFile(String filePath, String fileName, String fileExt
8385
bw.flush();
8486
bw.close();
8587
} catch (IOException e) {
86-
e.printStackTrace();
88+
log.error(e.getMessage());
8789
}
8890
}
8991

@@ -103,11 +105,9 @@ public List<String> getReportHeaders(Class<?> monitoringType, String alias) {
103105
result.add(headerMap.get(i));
104106
}
105107

106-
} catch (FileNotFoundException e) {
107-
e.printStackTrace();
108108
} catch (IOException e) {
109-
e.printStackTrace();
110-
}
109+
log.error(e.getMessage());
110+
}
111111

112112
return result;
113113
}
@@ -125,10 +125,8 @@ public String getReportContentsInCsv(Class<?> monitoringType, String alias) {
125125
result.append(line).append(System.lineSeparator());
126126
}
127127

128-
} catch (FileNotFoundException e) {
129-
e.printStackTrace();
130128
} catch (IOException e) {
131-
e.printStackTrace();
129+
log.error(e.getMessage());
132130
}
133131

134132
return result.toString();

0 commit comments

Comments
 (0)