Skip to content

Commit 95e3b4d

Browse files
committed
Set default monitoring result unit in Setting Menu (file size and rounding digits)
1 parent cce7994 commit 95e3b4d

File tree

11 files changed

+216
-80
lines changed

11 files changed

+216
-80
lines changed

config/common.properties

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
12
# DB Setting Contents
23
db.setting.contents=host,sid,user,password,port,driver,url
34
db.setting.oracle.driver.combo=thin
@@ -10,3 +11,8 @@ db.monitoring.contents=Archive Usage,TableSpace Usage,ASM Disk Usage
1011

1112
# Server monitoring Contents
1213
server.monitoring.contents=OS Disk Usage,Alert Log
14+
15+
unit.filesize=GB
16+
17+
unit.rounding=2
18+

pom.xml

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -80,13 +80,6 @@
8080
<version>30.1.1-jre</version>
8181
</dependency>
8282

83-
<!-- https://mvnrepository.com/artifact/com.opencsv/opencsv -->
84-
<dependency>
85-
<groupId>com.opencsv</groupId>
86-
<artifactId>opencsv</artifactId>
87-
<version>5.4</version>
88-
</dependency>
89-
9083
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
9184
<dependency>
9285
<groupId>org.apache.poi</groupId>

src/main/java/root/applications/Application.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
import root.core.repository.constracts.DBCheckRepository;
1515
import root.core.repository.constracts.ServerCheckRepository;
1616
import root.core.repository.implement.DBCheckRepositoryImpl;
17-
import root.core.repository.implement.ReportRepositoryImpl;
17+
import root.core.repository.implement.ReportFileRepo;
1818
import root.core.repository.implement.ServerCheckRepositoryImpl;
1919
import root.core.usecase.constracts.DBCheckUsecase;
2020
import root.core.usecase.constracts.ServerCheckUsecase;
@@ -36,7 +36,7 @@ public static void main(String[] args) {
3636
PropertiesUtils.loadAppConfiguration(lastUsePropertiesFile, "connInfoConfig");
3737
PropertiesUtils.loadAppConfiguration(propertiesFilePath);
3838
PropertiesUtils.loadCombinedConfiguration();
39-
PropertiesUtils.loadAppConfiguration(".\\config\\connectioninfo\\connection.properties", "connInfoConfig");
39+
PropertiesUtils.loadAppConfiguration(".\\config\\connectioninfo\\test.properties", "connInfoConfig");
4040
}catch(Exception e) {
4141
System.out.println("configuration loading error\n"+e+"\n");
4242
return;
@@ -50,7 +50,7 @@ public static void main(String[] args) {
5050
}
5151

5252
if("on".equals(serverMonitoring)) {
53-
serverMonitoring();
53+
// serverMonitoring();
5454
}
5555

5656
} catch (Exception e) {
@@ -72,7 +72,7 @@ public static void dbMonitoring() {
7272
AbstractDatabase db = new JdbcDatabase(jdbc);
7373
db.init();
7474
DBCheckRepository repo = new DBCheckRepositoryImpl(db);
75-
DBCheckUsecase usecase = new DBCheckUsecaseImpl(repo, ReportRepositoryImpl.getInstance());
75+
DBCheckUsecase usecase = new DBCheckUsecaseImpl(repo, ReportFileRepo.getInstance());
7676
DBCheckBatch dbBatch = new DBCheckBatch(usecase);
7777
dbBatch.startBatchArchiveUsageCheck();
7878
dbBatch.startBatchTableSpaceUsageCheck();

src/main/java/root/core/repository/constracts/PropertyRepository.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,19 @@ public interface PropertyRepository {
1919
void saveDBConnectionInfo(String filePath, Map<String, JdbcConnectionInfo> config);
2020

2121
void saveServerConnectionInfo(String filePath, Map<String, JschConnectionInfo> config);
22+
23+
void saveCommonConfig(Map<String, Object> values);
2224

2325
boolean loadConnectionInfoConfig(String filePath);
2426

2527
boolean loadMonitoringInfoConfig(String filePath);
2628

2729
String[] getConnectionInfoFileNames();
2830

31+
String getCommonResource(String key);
32+
33+
int getIntegerCommonResource(String key);
34+
2935
String[] getCommonResources(String key);
3036

3137
String[] getDBMonitoringContents();

src/main/java/root/core/repository/implement/DBCheckRepositoryImpl.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -148,8 +148,8 @@ public List<ASMDiskUsage> checkASMDiskUsage() {
148148
sb.append(" TYPE \"Type\", ");
149149
sb.append(" TOTAL_MB * 1024 * 1024 \"Tot_RAW(B)\", ");
150150
sb.append(" CASE WHEN TYPE='EXTERN' THEN TOTAL_MB * 1024 * 1024 ");
151-
sb.append(" WHEN TYPE='NORMAL' THEN (TOTAL_MB-REQUIRED_MIRROR_FREE_MB)/2 ");
152-
sb.append(" WHEN TYPE='HIGH' THEN (TOTAL_MB-REQUIRED_MIRROR_FREE_MB)/3 ");
151+
sb.append(" WHEN TYPE='NORMAL' THEN (TOTAL_MB-REQUIRED_MIRROR_FREE_MB)/2 * 1024 * 1024 ");
152+
sb.append(" WHEN TYPE='HIGH' THEN (TOTAL_MB-REQUIRED_MIRROR_FREE_MB)/3 * 1024 * 1024 ");
153153
sb.append(" ELSE 0 END AS \"Tot_Usable(B)\", ");
154154
sb.append(" CASE WHEN TYPE='EXTERN' THEN COLD_USED_MB * 1024 * 1024 ");
155155
sb.append(" WHEN TYPE='NORMAL' THEN COLD_USED_MB/2 * 1024 * 1024 ");

src/main/java/root/core/repository/implement/PropertyRepositoryImpl.java

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -191,6 +191,15 @@ public void saveServerConnectionInfo(String filePath, Map<String, JschConnection
191191
log.error("[" + filePath + "] 파일 저장에 실패했습니다.");
192192
}
193193
}
194+
195+
@Override
196+
public void saveCommonConfig(Map<String, Object> values) {
197+
PropertiesConfiguration config = PropertiesUtils.getConfig("commonConfig");
198+
for (String key : values.keySet()) {
199+
config.setProperty(key, values.get(key));
200+
}
201+
PropertiesUtils.save("./config/common.properties", config);
202+
}
194203

195204
/**
196205
* 접속정보 프로퍼티 파일을 Load한다.
@@ -234,7 +243,23 @@ public String[] getConnectionInfoFileNames() {
234243
}
235244

236245
/**
237-
* DB에 연결하여 모니터링할 내용을 반환한다.
246+
* commons.properties에서 값을 읽어 반환한다.
247+
*/
248+
@Override
249+
public String getCommonResource(String key) {
250+
return PropertiesUtils.combinedConfig.getString(key);
251+
}
252+
253+
/**
254+
* commons.properties에서 값을 읽어 반환한다.
255+
*/
256+
@Override
257+
public int getIntegerCommonResource(String key) {
258+
return PropertiesUtils.combinedConfig.getInt(key);
259+
}
260+
261+
/**
262+
* commons.properties에서 값을 읽어 반환한다.
238263
*/
239264
@Override
240265
public String[] getCommonResources(String key) {

src/main/java/root/javafx/Controller/SettingMenuController.java

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@
5151
import root.javafx.CustomView.ServerConnInfoControl;
5252
import root.utils.AlertUtils;
5353
import root.utils.PropertiesUtils;
54+
import root.utils.UnitUtils.FileSize;
5455

5556
public class SettingMenuController implements Initializable {
5657
private static Logger logger = Logger.getLogger(SettingMenuController.class);
@@ -85,6 +86,12 @@ public class SettingMenuController implements Initializable {
8586

8687
@FXML
8788
JFXComboBox<String> monitoringPresetComboBox; // 모니터링여부 설정 Preset ComboBox
89+
90+
@FXML
91+
JFXComboBox<FileSize> fileSizeCB;
92+
93+
@FXML
94+
JFXComboBox<Integer> roundingDigitsCB;
8895

8996
/* Common Data */
9097
String[] dbMonitorings;
@@ -117,6 +124,26 @@ public void initialize(URL location, ResourceBundle resources) {
117124
setVisible(noConnInfoConfigAP, true);
118125
setVisible(noMonitoringConfigAP, true);
119126
}
127+
128+
this.fileSizeCB.getItems().addAll(FileSize.values());
129+
FileSize fileSize = FileSize.valueOf(propertyRepository.getCommonResource("unit.filesize"));
130+
this.fileSizeCB.getSelectionModel().select(fileSize);
131+
132+
fileSizeCB.getSelectionModel().selectedItemProperty().addListener((options, oldValue, newValue) -> {
133+
Map<String, Object> map = new HashMap<>();
134+
map.put("unit.filesize", newValue);
135+
propertyRepository.saveCommonConfig(map);
136+
});
137+
138+
this.roundingDigitsCB.getItems().addAll(List.of(1, 2, 3, 4, 5));
139+
int roundingDigits = propertyRepository.getIntegerCommonResource("unit.rounding");
140+
this.roundingDigitsCB.getSelectionModel().select(Integer.valueOf(roundingDigits));
141+
142+
roundingDigitsCB.getSelectionModel().selectedItemProperty().addListener((options, oldValue, newValue) -> {
143+
Map<String, Object> map = new HashMap<>();
144+
map.put("unit.rounding", newValue);
145+
propertyRepository.saveCommonConfig(map);
146+
});
120147
}
121148

122149
/**

src/main/java/root/javafx/CustomView/MonitoringAnchorPane.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@
2424
import javafx.scene.layout.AnchorPane;
2525
import root.core.domain.ArchiveUsage;
2626
import root.core.domain.MonitoringResult;
27+
import root.core.repository.constracts.PropertyRepository;
28+
import root.core.repository.implement.PropertyRepositoryImpl;
2729
import root.core.repository.implement.ReportFileRepo;
2830
import root.core.usecase.constracts.ReportUsecase;
2931
import root.core.usecase.implement.ReportUsecaseImpl;
@@ -35,6 +37,8 @@ public class MonitoringAnchorPane<T extends MonitoringResult> extends AnchorPane
3537

3638
private ReportUsecase reportUsecase;
3739

40+
private PropertyRepository propertyRepo = PropertyRepositoryImpl.getInstance();
41+
3842
@FXML
3943
Label label;
4044

@@ -79,10 +83,12 @@ public MonitoringAnchorPane(Class<T> clazz) {
7983
this.inquiryDatePicker.setValue(LocalDate.now().minusDays(1));
8084

8185
this.unitComboBox.getItems().addAll(FileSize.values());
82-
this.unitComboBox.getSelectionModel().select(FileSize.GB);
86+
FileSize defaultFileSizeUnit = FileSize.valueOf(propertyRepo.getCommonResource("unit.filesize"));
87+
this.unitComboBox.getSelectionModel().select(defaultFileSizeUnit);
8388

8489
this.roundComboBox.getItems().addAll(List.of(1, 2, 3, 4, 5));
85-
this.roundComboBox.getSelectionModel().select(Integer.valueOf(2));
90+
int defaultRoundingDigits = propertyRepo.getIntegerCommonResource("unit.rounding");
91+
this.roundComboBox.getSelectionModel().select(Integer.valueOf(defaultRoundingDigits));
8692
} catch (IOException e) {
8793
}
8894
}

src/main/java/root/utils/DBManageExcel.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ public static void createMonthlyReportInExcel(int year, int month) {
2626
OutputStream fos;
2727
try {
2828
String filePath = "./report/";
29-
String fileName = "DB관리대장_종합_"+year+"."+month;
29+
String fileName = "DB관리대장_종합_"+year+"."+DateUtils.getTwoDigitDate(month);
3030
String extension = ".xlsx";
3131
fos = new FileOutputStream(filePath + fileName + extension);
3232

0 commit comments

Comments
 (0)