Skip to content

Commit 3030314

Browse files
committed
Execute monitoring with selected settings
1 parent ae17e73 commit 3030314

File tree

1 file changed

+66
-1
lines changed

1 file changed

+66
-1
lines changed

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

Lines changed: 66 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,17 +25,31 @@
2525
import javafx.scene.input.ScrollEvent;
2626
import javafx.scene.layout.AnchorPane;
2727
import javafx.util.StringConverter;
28+
import root.common.database.contracts.AbstractDatabase;
29+
import root.common.database.implement.JdbcDatabase;
30+
import root.common.server.implement.JschServer;
2831
import root.core.domain.ASMDiskUsage;
2932
import root.core.domain.ArchiveUsage;
33+
import root.core.domain.JdbcConnectionInfo;
34+
import root.core.domain.JschConnectionInfo;
3035
import root.core.domain.MonitoringResult;
3136
import root.core.domain.MonitoringYN;
3237
import root.core.domain.OSDiskUsage;
3338
import root.core.domain.TableSpaceUsage;
3439
import root.core.domain.enums.MonitoringType;
3540
import root.core.domain.enums.RoundingDigits;
41+
import root.core.repository.constracts.DBCheckRepository;
42+
import root.core.repository.constracts.ServerCheckRepository;
43+
import root.core.repository.implement.DBCheckRepositoryImpl;
3644
import root.core.repository.implement.PropertyRepositoryImpl;
45+
import root.core.repository.implement.ReportFileRepo;
46+
import root.core.repository.implement.ServerCheckRepositoryImpl;
3747
import root.core.service.contracts.PropertyService;
3848
import root.core.service.implement.FilePropertyService;
49+
import root.core.usecase.constracts.DBCheckUsecase;
50+
import root.core.usecase.constracts.ServerCheckUsecase;
51+
import root.core.usecase.implement.DBCheckUsecaseImpl;
52+
import root.core.usecase.implement.ServerCheckUsecaseImpl;
3953
import root.javafx.CustomView.CustomTreeTableView;
4054
import root.javafx.CustomView.CustomTreeView;
4155
import root.javafx.CustomView.MonitoringTableView;
@@ -216,7 +230,58 @@ private void addMonitoringPresetPreview(List<MonitoringYN> dbYnList, List<Monito
216230
* @param e
217231
*/
218232
public void runMonitoring(ActionEvent e) {
219-
// TODO 선택된 접속정보 설정 파일, 모니터링 여부 설정파일, 기타 설정을 모두 읽어와 모니터링을 실행한다.
233+
String connInfoConfigFilePath = connInfoFileListComboBox.getSelectionModel().getSelectedItem();
234+
String presetName = presetFileListComboBox.getSelectionModel().getSelectedItem();
235+
String presetConfigFilePath = propService.getMonitoringPresetFilePath(presetName);
236+
propService.loadConnectionInfoConfig(connInfoConfigFilePath);
237+
propService.loadMonitoringInfoConfig(presetConfigFilePath);
238+
239+
boolean isSave = resultSaveToggleBtn.isSelected();
240+
241+
List<String> dbNames = propService.getMonitoringDBNameList();
242+
List<JdbcConnectionInfo> jdbcConnectionList = propService.getJdbcConnInfoList(dbNames);
243+
for (JdbcConnectionInfo jdbc : jdbcConnectionList) {
244+
AbstractDatabase db = new JdbcDatabase(jdbc);
245+
db.init();
246+
DBCheckRepository repo = new DBCheckRepositoryImpl(db);
247+
DBCheckUsecase usecase = new DBCheckUsecaseImpl(repo, ReportFileRepo.getInstance());
248+
249+
if (isSave) {
250+
usecase.writeCsvArchiveUsage();
251+
usecase.writeCsvTableSpaceUsage();
252+
usecase.writeCsvASMDiskUsage();
253+
}
254+
255+
List<ArchiveUsage> archiveUsageList = usecase.getCurrentArchiveUsage();
256+
List<TableSpaceUsage> tableSpaceUsageList = usecase.getCurrentTableSpaceUsage();
257+
List<ASMDiskUsage> asmDiskUsageList = usecase.getCurrentASMDiskUsage();
258+
setMonitoringResult(archiveTable, archiveUsageList);
259+
setMonitoringResult(tableSpaceTable, tableSpaceUsageList);
260+
setMonitoringResult(asmDiskTable, asmDiskUsageList);
261+
}
262+
263+
List<String> serverNames = propService.getMonitoringServerNameList();
264+
List<JschConnectionInfo> jschConnectionList = propService.getJschConnInfoList(serverNames);
265+
for (JschConnectionInfo jsch : jschConnectionList) {
266+
JschServer server = new JschServer(jsch);
267+
server.init();
268+
ServerCheckRepository repo = new ServerCheckRepositoryImpl(server);
269+
ServerCheckUsecase usecase = new ServerCheckUsecaseImpl(repo);
270+
271+
if (isSave) {
272+
try {
273+
usecase.writeCsvOSDiskUsage();
274+
} catch (Exception e1) {
275+
e1.printStackTrace();
276+
}
277+
}
278+
279+
List<OSDiskUsage> osDiskUsageList = usecase.getCurrentOSDiskUsage();
280+
setMonitoringResult(osDiskTable, osDiskUsageList);
281+
282+
// AlertLogCommandPeriod alcp = new AlertLogCommandPeriod(jsch.getAlc(),
283+
// DateUtils.addDate(DateUtils.getToday("yyyy-MM-dd"), 0, 0, -1), DateUtils.getToday("yyyy-MM-dd"));
284+
}
220285
}
221286

222287
/**

0 commit comments

Comments
 (0)