OSDN Git Service

28015ccb25f9d9ced6a82ec32109670c5d634611
[mikutoga/TogaGem.git] / src / test / java / sample / vmd / DummyMain.java
1 /*
2  * sample parser
3  *
4  * License : The MIT License
5  * Copyright(c) 2011 MikuToga Partners
6  */
7
8 package sample.vmd;
9
10 import java.io.BufferedInputStream;
11 import java.io.File;
12 import java.io.FileInputStream;
13 import java.io.FileNotFoundException;
14 import java.io.IOException;
15 import java.io.InputStream;
16 import jp.sourceforge.mikutoga.parser.MmdFormatException;
17 import jp.sourceforge.mikutoga.parser.MmdInputStream;
18 import jp.sourceforge.mikutoga.vmd.parser.VmdParser;
19
20 /**
21  * パーサ利用のサンプルプログラム。
22  * これはユニットテストではない。
23  */
24 public class DummyMain {
25
26     private static final String VMDFILE;
27     private static final int BUF_SZ = 4086;
28     private static final DummyHandler handler = new DummyHandler();
29
30     static{
31 //        VMDFILE = "D:\\Test\\test.vmd";
32         VMDFILE = "D:\\Test\\camera.vmd";
33     }
34
35     private static MmdInputStream buildSource(String fname){
36         File file = new File(fname);
37
38         InputStream is;
39         try{
40             is = new FileInputStream(file);
41         }catch(FileNotFoundException e){
42             System.err.println(e);
43             System.exit(1);
44             return null;
45         }
46         is = new BufferedInputStream(is, BUF_SZ);
47
48         MmdInputStream source = new MmdInputStream(is);
49
50         return source;
51     }
52
53     private static void setupHandler(VmdParser parser){
54         parser.setBasicHandler(handler);
55         parser.setLightingHandler(handler);
56         parser.setCameraHandler(handler);
57
58         return;
59     }
60
61     public static void main(String[] args){
62         String fname;
63         if(args.length == 1) fname = args[0];
64         else                 fname = VMDFILE;
65
66         MmdInputStream source = buildSource(fname);
67
68         VmdParser parser = new VmdParser(source);
69
70         setupHandler(parser);
71         parser.setStrictMode(true);
72
73         try{
74             parser.parseVmd();
75         }catch(IOException e){
76             System.err.println(e);
77             System.exit(1);
78         }catch(MmdFormatException e){
79             System.err.println(e);
80             System.exit(1);
81         }
82
83         System.exit(0);
84
85         return;
86     }
87
88 }