Skip to content

Commit 0df2813

Browse files
committed
Save monitoringYN configuration using changed key format
1 parent bb32259 commit 0df2813

File tree

4 files changed

+53
-12
lines changed

4 files changed

+53
-12
lines changed

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

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -101,15 +101,14 @@ public List<MonitoringYN> getServerMonitoringYnList(String presetConfigFileName)
101101
}
102102

103103
private List<MonitoringYN> getMonitoringYNList(List<String> aliasList, List<MonitoringType> monitoringTypeList) {
104-
System.out.println(aliasList);
105-
System.out.println(monitoringTypeList);
106104

107105
List<MonitoringYN> result = new ArrayList<>();
108106
for (String serverAlias : aliasList) {
109107
MonitoringYN monitoringYn = new MonitoringYN(serverAlias);
110108
List<MonitoringTypeAndYN> list = new ArrayList<>();
111109
for (MonitoringType monitoringType : monitoringTypeList) {
112-
String yn = propRepo.getMonitoringConfigResource(serverAlias + "." + monitoringType.getName());
110+
String yn = propRepo
111+
.getMonitoringConfigResource(monitoringType.getName().replace(" ", "_") + "." + serverAlias);
113112
if (!StringUtils.isEmpty(yn)) {
114113
list.add(new MonitoringTypeAndYN(monitoringType, yn.equals("Y") ? true : false));
115114
} else {

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

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
import org.apache.log4j.Logger;
1414

1515
import com.jfoenix.controls.JFXComboBox;
16-
import com.jfoenix.controls.JFXToggleButton;
1716

1817
import de.jensd.fx.glyphs.fontawesome.FontAwesomeIcon;
1918
import de.jensd.fx.glyphs.fontawesome.FontAwesomeIconView;
@@ -103,6 +102,8 @@ public class SettingMenuController implements Initializable {
103102

104103
Map<String, String> monitoringPresetMap = new HashMap<>();
105104

105+
MonitoringYNVBox monitoringYNVBox = new MonitoringYNVBox();
106+
106107
@Override
107108
public void initialize(URL location, ResourceBundle resources) {
108109

@@ -354,14 +355,20 @@ public void saveConnInfoSettings(ActionEvent e) {
354355
*/
355356
public void saveMonitoringSettings(ActionEvent e) {
356357
// TODO move this logic to PropertyService
357-
PropertiesConfiguration config = propRepo.getConfiguration("monitoringConfig");
358+
PropertiesConfiguration config = new PropertiesConfiguration();
358359
String presetName = monitoringPresetComboBox.getSelectionModel().getSelectedItem();
359360
String monitoringFilePath = monitoringPresetMap.get(presetName);
360361

361362
if (!monitoringFilePath.isEmpty()) {
362-
for (Node n : monitoringElementsVBox.lookupAll("JFXToggleButton")) {
363-
JFXToggleButton thisToggle = (JFXToggleButton) n;
364-
config.setProperty(thisToggle.getId(), thisToggle.isSelected());
363+
364+
Map<MonitoringType, Map<String, Boolean>> selection = monitoringYNVBox.getToggleSelection();
365+
366+
for (MonitoringType type : selection.keySet()) {
367+
Map<String, Boolean> aliasMap = selection.get(type);
368+
for (String alias : aliasMap.keySet()) {
369+
String key = StringUtils.join(type.getName().replace(" ", "_"), ".", alias);
370+
config.setProperty(key, aliasMap.get(alias) ? "Y" : "N");
371+
}
365372
}
366373
propRepo.save(monitoringFilePath, config);
367374

@@ -381,8 +388,8 @@ public void saveMonitoringSettings(ActionEvent e) {
381388
* @param serverYnList
382389
*/
383390
private void createMonitoringElements(VBox rootVBox, List<MonitoringYN> dbYnList, List<MonitoringYN> serverYnList) {
391+
monitoringYNVBox = new MonitoringYNVBox();
384392

385-
MonitoringYNVBox monitoringYNVBox = new MonitoringYNVBox();
386393
for (MonitoringYN dbYn : dbYnList) {
387394
for (MonitoringTypeAndYN typeAndYn : dbYn.getMonitoringTypeList()) {
388395
MonitoringType type = typeAndYn.getMonitoringType();

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

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ public void addParentToggle(MonitoringType type, String text) {
3737
if (!toggleGroupVBoxs.containsKey(type)) {
3838
ToggleGroupVBox toggleGroupVBox = new ToggleGroupVBox();
3939
toggleGroupVBox.setParentToggle(text);
40-
40+
4141
toggleGroupVBoxs.put(type, toggleGroupVBox);
4242
getChildren().add(toggleGroupVBox);
4343
}
@@ -86,4 +86,15 @@ public void initSelection(List<MonitoringYN> list) {
8686
}
8787
}
8888
}
89+
90+
public Map<MonitoringType, Map<String, Boolean>> getToggleSelection() {
91+
Map<MonitoringType, Map<String, Boolean>> result = new HashMap<>();
92+
93+
for (MonitoringType type : toggleGroupVBoxs.keySet()) {
94+
ToggleGroupVBox toggleGroup = toggleGroupVBoxs.get(type);
95+
result.put(type, toggleGroup.getChildSelection());
96+
}
97+
98+
return result;
99+
}
89100
}

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

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
package root.javafx.CustomView;
22

33
import java.util.ArrayList;
4+
import java.util.HashMap;
45
import java.util.List;
6+
import java.util.Map;
57

68
import javafx.event.ActionEvent;
79
import javafx.event.EventHandler;
@@ -27,12 +29,12 @@ public class ToggleGroupVBox extends VBox {
2729
public ToggleGroupVBox() {
2830

2931
parentToggleHBox.setToggleAction(new EventHandler<ActionEvent>() {
30-
32+
3133
@Override
3234
public void handle(ActionEvent event) {
3335
for (ToggleHBox t : childToggleList) {
3436
t.setToggleSelected(parentToggleHBox.isToggleSelected());
35-
}
37+
}
3638
}
3739
});
3840

@@ -101,4 +103,26 @@ private boolean isAllNotSelected() {
101103
}
102104
return isAllNotSelected;
103105
}
106+
107+
/**
108+
* Group의 부모 토글 버튼의 우측 라벨 텍스트를 반환한다.
109+
*
110+
* @return
111+
*/
112+
public String getParentLabelText() {
113+
return parentToggleHBox.getLabelText();
114+
}
115+
116+
/**
117+
* Group의 자식 토글 버튼의 선택여부를 반환한다.
118+
*
119+
* @return
120+
*/
121+
public Map<String, Boolean> getChildSelection() {
122+
Map<String, Boolean> result = new HashMap<>();
123+
for (ToggleHBox child : childToggleList) {
124+
result.put(child.getLabelText(), child.isToggleSelected());
125+
}
126+
return result;
127+
}
104128
}

0 commit comments

Comments
 (0)