Skip to content

Commit a0f7d14

Browse files
committed
Set fileSizeUnit and RoundDigits initial value in Run Menu
1 parent d1aa29f commit a0f7d14

File tree

5 files changed

+102
-33
lines changed

5 files changed

+102
-33
lines changed

src/main/java/root/core/service/contracts/PropertyService.java

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
import root.core.domain.JdbcConnectionInfo;
77
import root.core.domain.JschConnectionInfo;
88
import root.core.domain.MonitoringYN;
9+
import root.core.domain.enums.RoundingDigits;
10+
import root.utils.UnitUtils.FileSize;
911

1012
public interface PropertyService {
1113

@@ -15,7 +17,7 @@ public interface PropertyService {
1517
* @param filePath
1618
*/
1719
void loadConnectionInfoConfig(String filePath);
18-
20+
1921
/**
2022
* 모니터링 접속정보 설정파일의 경로를 반환한다.
2123
*
@@ -36,7 +38,7 @@ public interface PropertyService {
3638
* @param filePath
3739
*/
3840
void loadMonitoringInfoConfig(String filePath);
39-
41+
4042
/**
4143
* 최근 사용된 모니터링 여부 Preset 설정파일의 Preset명을 반환한다.
4244
*
@@ -51,7 +53,7 @@ public interface PropertyService {
5153
* @return
5254
*/
5355
List<MonitoringYN> getDBMonitoringYnList(String presetConfigFileName);
54-
56+
5557
/**
5658
* 모니터링여부 Preset 설정파일을 읽어 Server 모니터링 여부 리스트를 반환한다.
5759
*
@@ -75,4 +77,18 @@ public interface PropertyService {
7577
List<JdbcConnectionInfo> getJdbcConnInfoList(List<String> dbNames);
7678

7779
List<JschConnectionInfo> getJschConnInfoList(List<String> serverNames);
80+
81+
/**
82+
* 기본값으로 설정된 FileSize 단위를 반환한다.
83+
*
84+
* @return
85+
*/
86+
FileSize getDefaultFileSizeUnit();
87+
88+
/**
89+
* 기본값으로 설정된 반올림 자릿수를 반환한다.
90+
*
91+
* @return
92+
*/
93+
RoundingDigits getDefaultRoundingDigits();
7894
}

src/main/java/root/core/service/implement/FilePropertyService.java

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,10 @@
1818
import root.core.domain.MonitoringYN;
1919
import root.core.domain.MonitoringYN.MonitoringTypeAndYN;
2020
import root.core.domain.enums.MonitoringType;
21+
import root.core.domain.enums.RoundingDigits;
2122
import root.core.repository.constracts.PropertyRepository;
2223
import root.core.service.contracts.PropertyService;
24+
import root.utils.UnitUtils.FileSize;
2325

2426
public class FilePropertyService implements PropertyService {
2527

@@ -170,4 +172,19 @@ public List<JschConnectionInfo> getJschConnInfoList(List<String> serverNames) {
170172
Collectors.mapping(serverName -> propRepo.getJschConnectionInfo(serverName), Collectors.toList()));
171173
}
172174

175+
/**
176+
* 기본값으로 설정된 FileSize 단위를 반환한다.
177+
*/
178+
@Override
179+
public FileSize getDefaultFileSizeUnit() {
180+
return FileSize.find(propRepo.getCommonResource("unit.filesize"));
181+
}
182+
183+
/**
184+
* 기본값으로 설정된 반올림 자릿수를 반환한다.
185+
*/
186+
@Override
187+
public RoundingDigits getDefaultRoundingDigits() {
188+
return RoundingDigits.find(propRepo.getCommonResource("unit.rounding"));
189+
}
173190
}

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

Lines changed: 60 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,10 @@
1212
import org.apache.commons.lang3.ArrayUtils;
1313

1414
import com.jfoenix.controls.JFXComboBox;
15+
import com.jfoenix.controls.JFXToggleButton;
1516

1617
import de.jensd.fx.glyphs.fontawesome.FontAwesomeIcon;
18+
import javafx.event.ActionEvent;
1719
import javafx.fxml.FXML;
1820
import javafx.fxml.Initializable;
1921
import javafx.scene.Node;
@@ -22,20 +24,22 @@
2224
import javafx.scene.control.SplitPane;
2325
import javafx.scene.input.ScrollEvent;
2426
import javafx.scene.layout.AnchorPane;
27+
import javafx.util.StringConverter;
2528
import root.core.domain.ASMDiskUsage;
2629
import root.core.domain.ArchiveUsage;
2730
import root.core.domain.MonitoringResult;
2831
import root.core.domain.MonitoringYN;
2932
import root.core.domain.OSDiskUsage;
3033
import root.core.domain.TableSpaceUsage;
31-
import root.core.domain.MonitoringYN.MonitoringTypeAndYN;
3234
import root.core.domain.enums.MonitoringType;
35+
import root.core.domain.enums.RoundingDigits;
3336
import root.core.repository.implement.PropertyRepositoryImpl;
3437
import root.core.service.contracts.PropertyService;
3538
import root.core.service.implement.FilePropertyService;
3639
import root.javafx.CustomView.CustomTreeTableView;
3740
import root.javafx.CustomView.CustomTreeView;
3841
import root.javafx.CustomView.MonitoringTableView;
42+
import root.utils.UnitUtils.FileSize;
3943

4044
public class RunMenuController implements Initializable {
4145

@@ -60,6 +64,15 @@ public class RunMenuController implements Initializable {
6064
@FXML
6165
AnchorPane serverPresetAP;
6266

67+
@FXML
68+
JFXComboBox<FileSize> fileSizeCB;
69+
70+
@FXML
71+
JFXComboBox<RoundingDigits> roundingDigitsCB;
72+
73+
@FXML
74+
JFXToggleButton resultSaveToggleBtn;
75+
6376
@FXML
6477
ScrollPane mainScrollPane;
6578

@@ -117,39 +130,23 @@ public void initialize(URL location, ResourceBundle resources) {
117130
connInfoFileListComboBox.getSelectionModel().select(lastUseConnInfoFile);
118131
}
119132

120-
List<MonitoringYN> list = new ArrayList<>();
121-
List<MonitoringTypeAndYN> childList = new ArrayList<>();
122-
childList.add(new MonitoringTypeAndYN(MonitoringType.ARCHIVE, true));
123-
childList.add(new MonitoringTypeAndYN(MonitoringType.TABLE_SPACE, true));
124-
childList.add(new MonitoringTypeAndYN(MonitoringType.ASM_DISK, true));
125-
list.add(new MonitoringYN("DB1", childList));
126-
127-
List<MonitoringYN> list2 = new ArrayList<>();
128-
List<MonitoringTypeAndYN> childList2 = new ArrayList<>();
129-
childList2.add(new MonitoringTypeAndYN(MonitoringType.OS_DISK, false));
130-
childList2.add(new MonitoringTypeAndYN(MonitoringType.ALERT_LOG, false));
131-
list2.add(new MonitoringYN("SERVER1", childList2));
132-
addMonitoringPresetPreview(list, list2);
133-
134133
/* 2. 모니터링 여부 설정 */
135134
// 2-1. 모니터링 여부 Preset 콤보박스 아이템 설정
136135
String curConnInfoFile = connInfoFileListComboBox.getSelectionModel().getSelectedItem();
137136
propService.loadMonitoringInfoConfig(curConnInfoFile);
138137
List<String> presetFileList = propService.getMonitoringPresetNameList();
139138
if (presetFileList == null || presetFileList.size() == 0) {
140139
// TODO 모니터링 여부 Preset 설정파일이 없는 경우
141-
addMonitoringPresetPreview(list, list2);
140+
addMonitoringPresetPreview(new ArrayList<>(), new ArrayList<>());
142141
} else {
143142
presetFileListComboBox.getItems().addAll(presetFileList);
144-
}
143+
}
145144

146145
// 2-2. 모니터링 여부 Preset 콤보박스 아이템 변경 리스너 설정
147146
presetFileListComboBox.valueProperty().addListener((observable, oldValue, newValue) -> {
148-
System.out.println(newValue);
149-
System.out.println(propService.getMonitoringPresetFilePath(newValue));
150-
// List<DBMonitoringYN> dbPresets = propService.getMonitoringDBNameList();
151-
// List<ServerMonitoringYN> serverPresets = propService.getMonitoringServerNameList();
152-
// addMonitoringPresetPreview(dbPresets, serverPresets);
147+
List<MonitoringYN> dbYnList = propService.getDBMonitoringYnList(newValue);
148+
List<MonitoringYN> serverYnList = propService.getServerMonitoringYnList(newValue);
149+
addMonitoringPresetPreview(dbYnList, serverYnList);
153150
});
154151

155152
// 2-3. 모니터링 여부 Preset 콤보박스 초기값 설정
@@ -161,6 +158,30 @@ public void initialize(URL location, ResourceBundle resources) {
161158
presetFileListComboBox.getSelectionModel().select(lastUsePresetFileName);
162159
}
163160

161+
/* 3. 기타 설정 및 실행 */
162+
// 3-1. 조회결과 단위 콤보박스
163+
// 조회결과 단위 콤보박스 아이템 설정
164+
fileSizeCB.getItems().addAll(FileSize.values());
165+
fileSizeCB.getSelectionModel().select(propService.getDefaultFileSizeUnit());
166+
167+
// 3-2. 반올림 자릿수 콤보박스
168+
roundingDigitsCB.getItems().addAll(RoundingDigits.values());
169+
roundingDigitsCB.getSelectionModel().select(propService.getDefaultRoundingDigits());
170+
roundingDigitsCB.setConverter(new StringConverter<RoundingDigits>() {
171+
@Override
172+
public String toString(RoundingDigits digits) {
173+
return String.valueOf(digits.getDigits());
174+
}
175+
176+
@Override
177+
public RoundingDigits fromString(String digits) {
178+
return RoundingDigits.find(digits);
179+
}
180+
});
181+
182+
// 3-3. 모니터링 결과 저장 여부
183+
resultSaveToggleBtn.selectedProperty().set(true);
184+
164185
// 실행결과 TableView 생성 및 Column 추가
165186
MonitoringTableView<ArchiveUsage> archiveTable = addMonitoringTableView(archiveAP, ArchiveUsage.class);
166187
archiveTable.addColumn("Archive", "archiveName");
@@ -275,4 +296,21 @@ private void addMonitoringPresetPreview(List<MonitoringYN> dbYnList, List<Monito
275296
setAnchorPaneAnchor(serverCtv, 0, 0, 0, 0);
276297
serverPresetAP.getChildren().add(serverCtv);
277298
}
299+
300+
/**
301+
* 모니터링 실행
302+
*
303+
* @param e
304+
*/
305+
public void monitoringRunBtn(ActionEvent e) {
306+
// TODO 선택된 접속정보 설정 파일, 모니터링 여부 설정파일, 기타 설정을 모두 읽어와 모니터링을 실행한다.
307+
308+
}
309+
310+
/**
311+
* 모니터링 결과를 TableView에 렌더링한다.
312+
*/
313+
public void showMonitoringResult() {
314+
// TODO 모니터링 결과를 매개변수로 전달받아 TableView에 렌더링한다.
315+
}
278316
}

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

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -134,8 +134,7 @@ public void initialize(URL location, ResourceBundle resources) {
134134
});
135135

136136
// 초기값 - 설정된 값 없다면 기본값 GB
137-
FileSize fileSize = FileSize.find(propRepo.getCommonResource("unit.filesize"));
138-
fileSizeCB.getSelectionModel().select(fileSize);
137+
fileSizeCB.getSelectionModel().select(propService.getDefaultFileSizeUnit());
139138

140139
/* 실행 설정 탭 - 반올림 자릿수 콤보박스 */
141140
// 반올림 자릿수 콤보박스 아이템 설정
@@ -162,8 +161,7 @@ public RoundingDigits fromString(String digits) {
162161
});
163162

164163
// 초기값 - 설정된 값 없다면 기본값 2
165-
RoundingDigits roundingDigits = RoundingDigits.find(propRepo.getCommonResource("unit.rounding"));
166-
roundingDigitsCB.getSelectionModel().select(roundingDigits);
164+
roundingDigitsCB.getSelectionModel().select(propService.getDefaultRoundingDigits());
167165

168166
/* 실행 설정 탭 - 사용량 표시방법 콤보박스 */
169167
// 사용량 표시방법 콤보박스 아이템 설정

src/main/resources/fxml/RunMenu.fxml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,7 @@
191191
<Font name="Noto Sans Korean Regular" size="12.0" />
192192
</font>
193193
</Label>
194-
<JFXComboBox layoutY="46.0" minHeight="22.0" styleClass="basic-font" stylesheets="@../css/javaFx.css" unFocusColor="#ececec" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="20.0">
194+
<JFXComboBox fx:id="fileSizeCB" layoutY="46.0" minHeight="22.0" styleClass="basic-font" stylesheets="@../css/javaFx.css" unFocusColor="#ececec" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="20.0">
195195
<padding>
196196
<Insets left="5.0" />
197197
</padding></JFXComboBox>
@@ -206,7 +206,7 @@
206206
<Font name="Noto Sans Korean Regular" size="12.0" />
207207
</font>
208208
</Label>
209-
<JFXComboBox minHeight="22.0" minWidth="-Infinity" styleClass="basic-font" stylesheets="@../css/javaFx.css" unFocusColor="#ececec" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="80.0">
209+
<JFXComboBox fx:id="roundingDigitsCB" minHeight="22.0" minWidth="-Infinity" styleClass="basic-font" stylesheets="@../css/javaFx.css" unFocusColor="#ececec" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="80.0">
210210
<padding>
211211
<Insets left="5.0" />
212212
</padding></JFXComboBox>
@@ -221,12 +221,12 @@
221221
<Font name="Noto Sans Korean Regular" size="12.0" />
222222
</font>
223223
</Label>
224-
<JFXToggleButton alignment="CENTER_LEFT" selected="true" size="5.0" style="-fx-background-color: #eaeaea;" text="저장하기" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="140.0">
224+
<JFXToggleButton fx:id="resultSaveToggleBtn" alignment="CENTER_LEFT" selected="true" size="5.0" style="-fx-background-color: #eaeaea;" text="저장하기" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="140.0">
225225
<font>
226226
<Font name="Noto Sans Korean Bold Bold" size="10.0" />
227227
</font>
228228
</JFXToggleButton>
229-
<JFXButton alignment="CENTER" contentDisplay="TOP" graphicTextGap="10.0" layoutX="74.0" layoutY="319.0" ripplerFill="#90cfaa" style="-fx-background-radius: 20px;" text="모니터링 실행" textAlignment="CENTER" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="200.0">
229+
<JFXButton fx:id="monitoringRunBtn" alignment="CENTER" contentDisplay="TOP" graphicTextGap="10.0" layoutX="74.0" layoutY="319.0" onAction="#runMonitoring" ripplerFill="#90cfaa" style="-fx-background-radius: 20px;" text="모니터링 실행" textAlignment="CENTER" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="200.0">
230230
<graphic>
231231
<FontAwesomeIconView fill="#438661" glyphName="PLAY_CIRCLE" size="30">
232232
<font>

0 commit comments

Comments
 (0)