OSDN Git Service

パーサパッケージ名変更
[mikutoga/TogaGem.git] / src / test / java / sample / pmd / DummyMain.java
index ed4d624..905fd43 100644 (file)
-/*\r
- * sample parser\r
- *\r
- * License : The MIT License\r
- * Copyright(c) 2010 MikuToga Partners\r
- */\r
-\r
-package sample.pmd;\r
-\r
-import java.io.BufferedInputStream;\r
-import java.io.File;\r
-import java.io.FileInputStream;\r
-import java.io.FileNotFoundException;\r
-import java.io.IOException;\r
-import java.io.InputStream;\r
-import jp.sourceforge.mikutoga.parser.MmdFormatException;\r
-import jp.sourceforge.mikutoga.parser.MmdSource;\r
-import jp.sourceforge.mikutoga.parser.pmd.PmdParser;\r
-\r
-/**\r
- * パーサ利用のサンプルプログラム。\r
- */\r
-public class DummyMain {\r
-\r
-    private static final String PMDFILE;\r
-    private static final int BUF_SZ = 4086;\r
-    private static final DummyHandler handler = new DummyHandler();\r
-\r
-    static{\r
-        PMDFILE = "D:\\Test\\test.pmd";\r
-    }\r
-\r
-    /**\r
-     * 入力ソースを準備する。\r
-     * @param fname ファイル名\r
-     * @return 入力ソース\r
-     */\r
-    private static MmdSource buildSource(String fname){\r
-        File file = new File(fname);\r
-\r
-        InputStream is;\r
-        try{\r
-            is = new FileInputStream(file);\r
-        }catch(FileNotFoundException e){\r
-            System.err.println(e);\r
-            System.exit(1);\r
-            return null;\r
-        }\r
-        is = new BufferedInputStream(is, BUF_SZ);\r
-\r
-        MmdSource source = new MmdSource(is);\r
-\r
-        return source;\r
-    }\r
-\r
-    /**\r
-     * 各種ハンドラをパーサにセットアップする。\r
-     * @param parser パーサ\r
-     */\r
-    private static void setupHandler(PmdParser parser){\r
-        parser.setBasicHandler(handler);\r
-        parser.setShapeHandler(handler);\r
-        parser.setMaterialHandler(handler);\r
-        parser.setBoneHandler(handler);\r
-        parser.setMorphHandler(handler);\r
-        parser.setEngHandler(handler);\r
-        parser.setToonHandler(handler);\r
-        parser.setRigidHandler(handler);\r
-        parser.setJointHandler(handler);\r
-\r
-        return;\r
-    }\r
-\r
-    /**\r
-     * Java実行エントリ\r
-     * @param args 起動引数\r
-     */\r
-    public static void main(String[] args){\r
-        String fname;\r
-        if(args.length == 1) fname = args[0];\r
-        else                 fname = PMDFILE;\r
-\r
-        MmdSource source = buildSource(fname);\r
-\r
-        PmdParser parser = new PmdParser(source);\r
-\r
-        setupHandler(parser);\r
-\r
-        try{\r
-            parser.parsePmd();\r
-        }catch(IOException e){\r
-            System.err.println(e);\r
-            System.exit(1);\r
-        }catch(MmdFormatException e){\r
-            System.err.println(e);\r
-            System.exit(1);\r
-        }\r
-\r
-        System.exit(0);\r
-\r
-        return;\r
-    }\r
-\r
-}\r
+/*
+ * sample parser
+ *
+ * License : The MIT License
+ * Copyright(c) 2010 MikuToga Partners
+ */
+
+package sample.pmd;
+
+import java.io.BufferedInputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.InputStream;
+import jp.sfjp.mikutoga.bin.parser.MmdFormatException;
+import jp.sfjp.mikutoga.pmd.parser.PmdParser;
+
+/**
+ * パーサ利用のサンプルプログラム。
+ * これはユニットテストではない。
+ */
+public class DummyMain {
+
+    private static final String PMDFILE;
+    private static final int BUF_SZ = 4086;
+    private static final DummyHandler handler = new DummyHandler();
+
+    static{
+        PMDFILE =
+                "D:\\Test\\test.pmd";
+    }
+
+    /**
+     * アプリを終了する。
+     * 制御は戻らない。
+     * @param code 終了コード。
+     */
+    private static void exit(int code){
+        System.exit(code);
+        assert false;
+        return;
+    }
+
+    /**
+     * 標準エラー出力にエラー情報を出し改行する。
+     * @param text エラー情報文字列
+     */
+    private static void errprintln(Object text){
+        System.err.println(text);
+        return;
+    }
+
+    /**
+     * 入力ソースを準備する。
+     * @param fname ファイル名
+     * @return 入力ソース
+     */
+    private static InputStream buildSource(String fname){
+        File file = new File(fname);
+
+        InputStream is;
+        try{
+            is = new FileInputStream(file);
+        }catch(FileNotFoundException e){
+            errprintln(e);
+            exit(1);
+            return null;
+        }
+
+        is = new BufferedInputStream(is, BUF_SZ);
+
+        return is;
+    }
+
+    /**
+     * 各種ハンドラをパーサにセットアップする。
+     * @param parser パーサ
+     */
+    private static void setupHandler(PmdParser parser){
+        parser.setBasicHandler(handler);
+        parser.setShapeHandler(handler);
+        parser.setMaterialHandler(handler);
+        parser.setBoneHandler(handler);
+        parser.setMorphHandler(handler);
+        parser.setEngHandler(handler);
+        parser.setToonHandler(handler);
+        parser.setRigidHandler(handler);
+        parser.setJointHandler(handler);
+
+        return;
+    }
+
+    /**
+     * Java実行エントリ
+     * @param args 起動引数
+     */
+    public static void main(String[] args){
+        String fname;
+        if(args.length == 1) fname = args[0];
+        else                 fname = PMDFILE;
+
+        InputStream source = buildSource(fname);
+
+        PmdParser parser = new PmdParser(source);
+
+        setupHandler(parser);
+
+        try{
+            parser.parsePmd();
+        }catch(IOException e){
+            errprintln(e);
+            exit(1);
+        }catch(MmdFormatException e){
+            errprintln(e);
+            exit(1);
+        }
+
+        exit(0);
+
+        return;
+    }
+
+}