From 651c0d5e83361989f42dee9a108981a2782ce93b Mon Sep 17 00:00:00 2001 From: Olyutorskii Date: Sun, 8 Mar 2020 16:40:23 +0900 Subject: [PATCH] add XML loader mockup. --- src/main/java/jp/sfjp/jindolf/Controller.java | 26 +++++++++++++++++ .../jp/sfjp/jindolf/data/xml/VillageLoader.java | 33 ++++++++++++++++++++++ .../jp/sfjp/jindolf/data/xml/package-info.java | 15 ++++++++++ 3 files changed, 74 insertions(+) create mode 100644 src/main/java/jp/sfjp/jindolf/data/xml/VillageLoader.java create mode 100644 src/main/java/jp/sfjp/jindolf/data/xml/package-info.java diff --git a/src/main/java/jp/sfjp/jindolf/Controller.java b/src/main/java/jp/sfjp/jindolf/Controller.java index 7600c03..3a2165a 100644 --- a/src/main/java/jp/sfjp/jindolf/Controller.java +++ b/src/main/java/jp/sfjp/jindolf/Controller.java @@ -28,6 +28,7 @@ import java.util.logging.Logger; import java.util.regex.Pattern; import javax.swing.JButton; import javax.swing.JDialog; +import javax.swing.JFileChooser; import javax.swing.JOptionPane; import javax.swing.JToolBar; import javax.swing.JTree; @@ -39,6 +40,8 @@ import javax.swing.event.TreeExpansionEvent; import javax.swing.event.TreeSelectionEvent; import javax.swing.event.TreeSelectionListener; import javax.swing.event.TreeWillExpandListener; +import javax.swing.filechooser.FileFilter; +import javax.swing.filechooser.FileNameExtensionFilter; import javax.swing.tree.TreePath; import jp.sfjp.jindolf.config.AppSetting; import jp.sfjp.jindolf.config.ConfigStore; @@ -1198,6 +1201,26 @@ public class Controller } /** + * ローカルなXMLファイルを読み込む。 + */ + private void actionOpenXml(){ + JFileChooser chooser = new JFileChooser(); + chooser.setFileSelectionMode(JFileChooser.FILES_ONLY); + + FileFilter filter; + filter = new FileNameExtensionFilter("XML files (*.xml)", "xml", "XML"); + chooser.setFileFilter(filter); + + int result = chooser.showOpenDialog(getTopFrame()); + if(result != JFileChooser.APPROVE_OPTION) return; + File selected = chooser.getSelectedFile(); + + //System.out.println(selected); + + return; + } + + /** * 指定した国の村一覧を読み込むジョブを投下。 * @param land 国 */ @@ -1419,6 +1442,9 @@ public class Controller case ActionManager.CMD_ACCOUNT: actionShowAccount(); break; + case ActionManager.CMD_OPENXML: + actionOpenXml(); + break; case ActionManager.CMD_EXIT: actionExit(); break; diff --git a/src/main/java/jp/sfjp/jindolf/data/xml/VillageLoader.java b/src/main/java/jp/sfjp/jindolf/data/xml/VillageLoader.java new file mode 100644 index 0000000..f798909 --- /dev/null +++ b/src/main/java/jp/sfjp/jindolf/data/xml/VillageLoader.java @@ -0,0 +1,33 @@ +/* + * village loader + * + * License : The MIT License + * Copyright(c) 2020 olyutorskii + */ + +package jp.sfjp.jindolf.data.xml; + +import java.io.File; +import jp.sfjp.jindolf.data.Village; + +/** + * JinArchiverなどでXMLファイルにアーカイブされた人狼BBSの村プレイ記録を + * 読み取る。 + */ +public class VillageLoader { + + /** + * constructor. + */ + private VillageLoader(){ + assert false; + return; + } + + + public static Village parseVillage(File xmlFile){ + Village result = null; + return result; + } + +} diff --git a/src/main/java/jp/sfjp/jindolf/data/xml/package-info.java b/src/main/java/jp/sfjp/jindolf/data/xml/package-info.java new file mode 100644 index 0000000..9d1c510 --- /dev/null +++ b/src/main/java/jp/sfjp/jindolf/data/xml/package-info.java @@ -0,0 +1,15 @@ +/* + * package info + * + * License : The MIT License + * Copyright(c) 2020 olyutorskii + */ + +/** + * JinArchiverなどでXMLファイルにアーカイブされた人狼BBSの村プレイ記録から、 + * 各種データモデルを生成するクラス群。 + */ + +package jp.sfjp.jindolf.data.xml; + +/* EOF */ -- 2.11.0