「付加行」機能の実装中。
[nucalgen] / nucalgen / src / main / java / jp / satomichan / nucalgen / addition / AdditionUtil.java
diff --git a/nucalgen/src/main/java/jp/satomichan/nucalgen/addition/AdditionUtil.java b/nucalgen/src/main/java/jp/satomichan/nucalgen/addition/AdditionUtil.java
new file mode 100644 (file)
index 0000000..8b03346
--- /dev/null
@@ -0,0 +1,59 @@
+package jp.satomichan.nucalgen.addition;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.parsers.SAXParserFactory;
+
+import org.apache.commons.digester.Digester;
+import org.xml.sax.SAXException;
+
+public class AdditionUtil {
+
+       public static void main(String[] args) {
+               AdditionConfig add = additionFileReader(new File("C:\\Users\\h520s\\Desktop\\pfc-balance.xml"));
+       }
+
+
+       public static AdditionConfig additionFileReader(File reportXmlFile){
+               SAXParserFactory factory = SAXParserFactory.newInstance();
+               javax.xml.parsers.SAXParser parser = null;
+               AdditionConfig addition = null;
+
+               try {
+                       parser = factory.newSAXParser();
+
+                       Digester digester = new Digester(parser);
+
+                       digester.addObjectCreate("addition", AdditionConfig.class);
+                       digester.addObjectCreate("addition/row", AcRow.class);
+
+                       digester.addSetNext("addition/row", "addRow");
+                       digester.addSetProperties("addition/row");
+
+                       digester.addObjectCreate("addition/row/cell", AcCell.class);
+
+                       digester.addSetNext("addition/row/cell", "addCell");
+                       digester.addBeanPropertySetter("addition/row/cell/type");
+                       digester.addBeanPropertySetter("addition/row/cell/value");
+                       digester.addBeanPropertySetter("addition/row/cell/alias");
+
+                       //パースする
+                       InputStream in;
+
+                       in = new FileInputStream(reportXmlFile);
+                       addition = (AdditionConfig)digester.parse(in);
+                       
+                       
+                       
+               } catch (IOException | SAXException | ParserConfigurationException e) {
+                       throw new RuntimeException(e);
+               }
+
+               return addition;
+
+       }
+}