|
3 | 3 | import java.net.URL; |
4 | 4 | import java.util.ArrayList; |
5 | 5 | import java.util.Arrays; |
6 | | -import java.util.HashMap; |
7 | 6 | import java.util.List; |
8 | | -import java.util.Map; |
9 | 7 | import java.util.ResourceBundle; |
10 | 8 | import java.util.stream.Collectors; |
11 | 9 |
|
@@ -88,7 +86,7 @@ public class RunMenuController implements Initializable { |
88 | 86 |
|
89 | 87 | @FXML |
90 | 88 | JFXComboBox<RoundingDigits> roundingDigitsCB; |
91 | | - |
| 89 | + |
92 | 90 | @FXML |
93 | 91 | JFXComboBox<UsageUIType> usageUITypeCB; |
94 | 92 |
|
@@ -118,13 +116,13 @@ public class RunMenuController implements Initializable { |
118 | 116 |
|
119 | 117 | @FXML |
120 | 118 | AnchorPane osDiskAP; |
121 | | - |
| 119 | + |
122 | 120 | @FXML |
123 | 121 | AnchorPane step4AP; |
124 | 122 |
|
125 | 123 | @FXML |
126 | 124 | Label step4Label; |
127 | | - |
| 125 | + |
128 | 126 | @FXML |
129 | 127 | HBox step3ToStep4Arrow; |
130 | 128 |
|
@@ -180,14 +178,12 @@ private void setAnchorPaneAnchor(Node node, double top, double right, double bot |
180 | 178 | /** |
181 | 179 | * 모니터링 실행 결과 TableView를 부모 AnchorPane에 추가한다. |
182 | 180 | * |
183 | | - * @param <T> 모니터링 타입 |
184 | | - * @param parent 부모 AnchorPane |
185 | | - * @param monitoringType 모니터링 타입 클래스 |
| 181 | + * @param <T> 모니터링 타입 |
| 182 | + * @param parent 부모 AnchorPane |
186 | 183 | * @return 생성된 TableView |
187 | 184 | */ |
188 | | - private <T> MonitoringTableView<T> addMonitoringTableView(AnchorPane parent, |
189 | | - Class<? extends MonitoringResult> monitoringType) { |
190 | | - MonitoringTableView<T> tableView = new MonitoringTableView<>(monitoringType); |
| 185 | + private <T extends MonitoringResult> MonitoringTableView<T> addMonitoringTableView(AnchorPane parent) { |
| 186 | + MonitoringTableView<T> tableView = new MonitoringTableView<>(); |
191 | 187 | setAnchorPaneAnchor(tableView, 20, 0, 0, 0); |
192 | 188 | parent.getChildren().add(tableView); |
193 | 189 | return tableView; |
@@ -252,6 +248,9 @@ public void runMonitoring(ActionEvent e) { |
252 | 248 | propService.loadConnectionInfoConfig(connInfoConfigFilePath); |
253 | 249 | propService.loadMonitoringInfoConfig(presetConfigFilePath); |
254 | 250 |
|
| 251 | + UsageUIType usageUIType = usageUITypeCB.getSelectionModel().getSelectedItem(); |
| 252 | + setUsageColumnUIType(usageUIType); |
| 253 | + |
255 | 254 | boolean isSave = resultSaveToggleBtn.isSelected(); |
256 | 255 |
|
257 | 256 | List<String> dbNames = propService.getMonitoringDBNameList(); |
@@ -303,7 +302,7 @@ public void runMonitoring(ActionEvent e) { |
303 | 302 | /** |
304 | 303 | * 모니터링 결과를 TableView에 렌더링한다. |
305 | 304 | */ |
306 | | - public <T> void setMonitoringResult(MonitoringTableView<T> tableView, List<T> result) { |
| 305 | + public <T extends MonitoringResult> void setMonitoringResult(MonitoringTableView<T> tableView, List<T> result) { |
307 | 306 | tableView.setItems(FXCollections.observableArrayList(result)); |
308 | 307 | } |
309 | 308 |
|
@@ -406,7 +405,7 @@ public RoundingDigits fromString(String digits) { |
406 | 405 | return RoundingDigits.find(digits); |
407 | 406 | } |
408 | 407 | }); |
409 | | - |
| 408 | + |
410 | 409 | // 3-3. 사용량 컬럼 UI 타입 |
411 | 410 | // 사용량 표시방법 콤보박스 아이템 설정 |
412 | 411 | usageUITypeCB.getItems().addAll(UsageUIType.values()); |
@@ -441,22 +440,29 @@ private void initRunStep4() { |
441 | 440 | step3ToStep4Arrow.setPrefWidth(Control.USE_COMPUTED_SIZE); |
442 | 441 |
|
443 | 442 | // 4-1. 실행결과 TableView 생성 및 Column 추가 |
444 | | - archiveTable = addMonitoringTableView(archiveAP, ArchiveUsage.class); |
| 443 | + archiveTable = addMonitoringTableView(archiveAP); |
445 | 444 | archiveTable.addColumn("Archive", "archiveName"); |
446 | 445 | archiveTable.addColumn("사용량(%)", "usedPercent"); |
447 | 446 |
|
448 | | - tableSpaceTable = addMonitoringTableView(tableSpaceAP, TableSpaceUsage.class); |
| 447 | + tableSpaceTable = addMonitoringTableView(tableSpaceAP); |
449 | 448 | tableSpaceTable.addColumn("테이블스페이스", "tableSpaceName"); |
450 | 449 | tableSpaceTable.addColumn("사용량(%)", "usedPercent"); |
451 | 450 |
|
452 | | - asmDiskTable = addMonitoringTableView(asmDiskAP, ASMDiskUsage.class); |
| 451 | + asmDiskTable = addMonitoringTableView(asmDiskAP); |
453 | 452 | asmDiskTable.addColumn("디스크 그룹", "asmDiskGroupName"); |
454 | 453 | asmDiskTable.addColumn("디스크 타입", "asmDiskGroupType"); |
455 | 454 | asmDiskTable.addColumn("사용량(%)", "usedPercent"); |
456 | 455 |
|
457 | | - osDiskTable = addMonitoringTableView(osDiskAP, OSDiskUsage.class); |
| 456 | + osDiskTable = addMonitoringTableView(osDiskAP); |
458 | 457 | osDiskTable.addColumn("파일 시스템", "fileSystem"); |
459 | 458 | osDiskTable.addColumn("마운트 위치", "mountedOn"); |
460 | 459 | osDiskTable.addColumn("사용량(%)", "usedPercent"); |
461 | 460 | } |
| 461 | + |
| 462 | + private void setUsageColumnUIType(UsageUIType usageUIType) { |
| 463 | + archiveTable.setUsageUIType(usageUIType); |
| 464 | + tableSpaceTable.setUsageUIType(usageUIType); |
| 465 | + asmDiskTable.setUsageUIType(usageUIType); |
| 466 | + osDiskTable.setUsageUIType(usageUIType); |
| 467 | + } |
462 | 468 | } |
0 commit comments