OSDN Git Service

add XML loader mockup.
authorOlyutorskii <olyutorskii@users.osdn.me>
Sun, 8 Mar 2020 07:40:23 +0000 (16:40 +0900)
committerOlyutorskii <olyutorskii@users.osdn.me>
Sun, 8 Mar 2020 07:40:23 +0000 (16:40 +0900)
src/main/java/jp/sfjp/jindolf/Controller.java
src/main/java/jp/sfjp/jindolf/data/xml/VillageLoader.java [new file with mode: 0644]
src/main/java/jp/sfjp/jindolf/data/xml/package-info.java [new file with mode: 0644]

index 7600c03..3a2165a 100644 (file)
@@ -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 (file)
index 0000000..f798909
--- /dev/null
@@ -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 (file)
index 0000000..9d1c510
--- /dev/null
@@ -0,0 +1,15 @@
+/*
+ * package info
+ *
+ * License : The MIT License
+ * Copyright(c) 2020 olyutorskii
+ */
+
+/**
+ * JinArchiverなどでXMLファイルにアーカイブされた人狼BBSの村プレイ記録から、
+ * 各種データモデルを生成するクラス群。
+ */
+
+package jp.sfjp.jindolf.data.xml;
+
+/* EOF */