OSDN Git Service

1.102.5-SNAPSHOT開発開始
authorOlyutorskii <olyutorskii@users.osdn.me>
Tue, 17 May 2011 15:34:17 +0000 (00:34 +0900)
committerOlyutorskii <olyutorskii@users.osdn.me>
Tue, 17 May 2011 15:34:17 +0000 (00:34 +0900)
.hgignore
CHANGELOG.txt
LICENSE.txt
README.txt
build.xml
pom.xml
src/main/java/jp/sourceforge/mikutoga/pmd2xml/Pmd2Xml.java
src/main/java/jp/sourceforge/mikutoga/pmd2xml/XmlHandler.java
src/main/java/jp/sourceforge/mikutoga/pmd2xml/package-info.java

index 14f3cd2..7454a09 100644 (file)
--- a/.hgignore
+++ b/.hgignore
@@ -1,3 +1,12 @@
+syntax: regexp\r
+\r
+\.orig$\r
+\.orig\..*$\r
+\.chg\..*$\r
+\.rej$\r
+\.conflict\~$\r
+^maven-build\.properties$\r
+^maven-build\.xml$\r
 ^nb-configuration\.xml$\r
 ^nbactions\.xml$\r
 ^target$\r
index 9a8764c..bf60f49 100644 (file)
@@ -1,14 +1,14 @@
-[UTF-8 Japanese]\r
-\r
-\r
-Pmd2XML 変更履歴\r
-\r
-\r
-1.102.4 (2010-10-09)\r
-    ・TogaGem1.105.2のバグ修正(接続ボーンを持たない剛体の件)に対処。\r
-\r
-1.101.2 (2010-10-08)\r
-    ・初回リリース。\r
-\r
-\r
---- EOF ---\r
+[UTF-8 Japanese]
+
+
+Pmd2XML 変更履歴
+
+
+1.102.4 (2010-10-09)
+    ・TogaGem1.105.2のバグ修正(接続ボーンを持たない剛体の件)に対処。
+
+1.101.2 (2010-10-08)
+    ・初回リリース。
+
+
+--- EOF ---
index 5280b80..8888105 100644 (file)
@@ -1,34 +1,34 @@
-[UTF-8 English & Japanese]\r
-\r
-The MIT License\r
-\r
-\r
-Copyright(c) 2010 olyutorskii\r
-\r
-\r
-Permission is hereby granted, free of charge, to any person obtaining a copy\r
-of this software and associated documentation files (the "Software"), to deal\r
-in the Software without restriction, including without limitation the rights\r
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r
-copies of the Software, and to permit persons to whom the Software is\r
-furnished to do so, subject to the following conditions:\r
-\r
-The above copyright notice and this permission notice shall be included in\r
-all copies or substantial portions of the Software.\r
-\r
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r
-THE SOFTWARE.\r
-\r
-\r
-Pmd2XMLオリジナル制作者自身からのコメント:\r
-\r
-  ※ 少なくともこのソフトウェアの実行、複製、配布、改造は自由です。\r
-  ※ 少なくともこのソフトウェアは無保証です。\r
-\r
-\r
---- EOF ---\r
+[UTF-8 English & Japanese]
+
+The MIT License
+
+
+Copyright(c) 2010 olyutorskii
+
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
+
+
+Pmd2XMLオリジナル制作者自身からのコメント:
+
+  ※ 少なくともこのソフトウェアの実行、複製、配布、改造は自由です。
+  ※ 少なくともこのソフトウェアは無保証です。
+
+
+--- EOF ---
index 8d9f439..3eff83c 100644 (file)
@@ -1,80 +1,80 @@
-[UTF-8 Japanese]\r
-\r
-                               P m d 2 X M L\r
-                                  Readme\r
-\r
-                                              Copyright(c) 2010 olyutorskii\r
-\r
-\r
-=== Pmd2XMLとは ===\r
-\r
-Pmd2XMLは、3D動画制作ツール、MikuMikuDance(MMD)で用いられる\r
-モデルデータファイル(*.pmd)の内容を、XML形式のデータファイルと交換するための\r
-アプリケーションです。\r
-Pmd2XMLは、MikuTogaプロジェクトの派生物として誕生しました。\r
-\r
-MikuTogaプロジェクトは、MMDによる3Dアニメーション制作を支援するプログラムの\r
-整備のために発足した、オープンソースプロジェクトです。\r
-\r
-Pmd2XMLは、同じMikuTogaプロジェクト内のTogaGemライブラリを用いて\r
-開発が進められています。\r
-\r
-※ MMD開発者の樋口M氏は、MikuTogaの開発活動に一切関与していません。\r
-  Pmd2XMLに関する問い合わせをを樋口M氏へ投げかけないように!約束だよ!\r
-\r
-\r
-=== 実行環境 ===\r
-\r
- - Pmd2XMLはJava言語(JLS3)で記述されたプログラムです。\r
- - Pmd2XMLはJRE1.6に準拠したJava実行環境で利用できるように作られています。\r
-   原則として、JRE1.6に準拠した実行系であれば、プラットフォームを選びません。\r
-\r
-\r
-=== アーカイブ管理体制 ===\r
-\r
-  このアーカイブは、UTF-8による開発環境を前提として構成されています。\r
-  このアーカイブの原本となる開発資産は、\r
-      http://hg.sourceforge.jp/view/mikutoga/Pmd2XML\r
-  を上位に持つMercurialリポジトリで管理されています。\r
-  アーカイブの代わりにMercurialを通じての開発資産へのアクセスが可能です。\r
-  # hg clone http://hg.sourceforge.jp/view/mikutoga/Pmd2XML\r
-\r
-\r
-=== 開発プロジェクト運営元 ===\r
-\r
-  http://sourceforge.jp/projects/mikutoga/ まで。\r
-\r
-\r
-=== ディレクトリ内訳構成 ===\r
-\r
-基本的にはMaven2のmaven-archetype-quickstart構成に準じます。\r
-\r
-./README.txt\r
-    あなたが今見てるこれ。\r
-\r
-./CHANGELOG.txt\r
-    変更履歴。\r
-\r
-./LICENSE.txt\r
-    ライセンスに関して。\r
-\r
-./pom.xml\r
-    Maven2用プロジェクト構成定義ファイル。\r
-\r
-./src/main/java/\r
-    Javaのソースコード。\r
-\r
-./src/test/java/\r
-    JUnit 4.* 用のユニットテストコード。\r
-\r
-./src/main/config/\r
-    各種ビルド・構成管理に必要なファイル群。\r
-\r
-./src/main/config/checks.xml\r
-    Checkstyle用configファイル。\r
-\r
-./src/main/config/pmdrules.xml\r
-    PMD用ルール定義ファイル。\r
-\r
-\r
---- EOF ---\r
+[UTF-8 Japanese]
+
+                               P m d 2 X M L
+                                  Readme
+
+                                              Copyright(c) 2010 olyutorskii
+
+
+=== Pmd2XMLとは ===
+
+Pmd2XMLは、3D動画制作ツール、MikuMikuDance(MMD)で用いられる
+モデルデータファイル(*.pmd)の内容を、XML形式のデータファイルと交換するための
+アプリケーションです。
+Pmd2XMLは、MikuTogaプロジェクトの派生物として誕生しました。
+
+MikuTogaプロジェクトは、MMDによる3Dアニメーション制作を支援するプログラムの
+整備のために発足した、オープンソースプロジェクトです。
+
+Pmd2XMLは、同じMikuTogaプロジェクト内のTogaGemライブラリを用いて
+開発が進められています。
+
+※ MMD開発者の樋口M氏は、MikuTogaの開発活動に一切関与していません。
+  Pmd2XMLに関する問い合わせをを樋口M氏へ投げかけないように!約束だよ!
+
+
+=== 実行環境 ===
+
+ - Pmd2XMLはJava言語(JLS3)で記述されたプログラムです。
+ - Pmd2XMLはJRE1.6に準拠したJava実行環境で利用できるように作られています。
+   原則として、JRE1.6に準拠した実行系であれば、プラットフォームを選びません。
+
+
+=== アーカイブ管理体制 ===
+
+  このアーカイブは、UTF-8による開発環境を前提として構成されています。
+  このアーカイブの原本となる開発資産は、
+      http://hg.sourceforge.jp/view/mikutoga/Pmd2XML
+  を上位に持つMercurialリポジトリで管理されています。
+  アーカイブの代わりにMercurialを通じての開発資産へのアクセスが可能です。
+  # hg clone http://hg.sourceforge.jp/view/mikutoga/Pmd2XML
+
+
+=== 開発プロジェクト運営元 ===
+
+  http://sourceforge.jp/projects/mikutoga/ まで。
+
+
+=== ディレクトリ内訳構成 ===
+
+基本的にはMaven2のmaven-archetype-quickstart構成に準じます。
+
+./README.txt
+    あなたが今見てるこれ。
+
+./CHANGELOG.txt
+    変更履歴。
+
+./LICENSE.txt
+    ライセンスに関して。
+
+./pom.xml
+    Maven2用プロジェクト構成定義ファイル。
+
+./src/main/java/
+    Javaのソースコード。
+
+./src/test/java/
+    JUnit 4.* 用のユニットテストコード。
+
+./src/main/config/
+    各種ビルド・構成管理に必要なファイル群。
+
+./src/main/config/checks.xml
+    Checkstyle用configファイル。
+
+./src/main/config/pmdrules.xml
+    PMD用ルール定義ファイル。
+
+
+--- EOF ---
index 15e4563..321ecbd 100644 (file)
--- a/build.xml
+++ b/build.xml
@@ -36,7 +36,7 @@
         />
 
         <fixcrlf
-            srcDir="./src/" includes="**/*.xml,**/*.xsd"
+            srcDir="./src/" includes="**/*.xml,**/*.xsd,**/*.dtd"
             encoding="UTF-8" outputencoding="UTF-8"
             tablength="8" tab="remove"
             eol="lf"
diff --git a/pom.xml b/pom.xml
index 6c843ae..ca6b2f9 100644 (file)
--- a/pom.xml
+++ b/pom.xml
   http://maven.apache.org/maven-v4_0_0.xsd"
 >
     <modelVersion>4.0.0</modelVersion>
+    <!--parent/-->
 
     <groupId>jp.sourceforge.mikutoga</groupId>
     <artifactId>pmd2xml</artifactId>
 
-    <version>1.102.4</version>
+    <version>1.102.5-SNAPSHOT</version>
 
     <packaging>jar</packaging>
     <name>Pmd2XML</name>
@@ -31,7 +32,7 @@
 
     <organization>
         <name>MikuToga Partners</name>
-        <url>http://sourceforge.jp/projects/mikutoga/</url>
+        <url>http://sourceforge.jp/projects/mikutoga/devel/</url>
     </organization>
 
     <licenses>
@@ -59,7 +60,7 @@
     <mailingLists/>
 
     <prerequisites>
-        <maven>2.1</maven>
+        <maven>2.2</maven>
     </prerequisites>
 
     <modules/>
         <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
 
         <project.myrepoconf>${project.basedir}/src/main/config</project.myrepoconf>
+
         <project.transformer>
             org.apache.maven.plugins.shade.resource.ManifestResourceTransformer
         </project.transformer>
         <project.mainentry>jp.sourceforge.mikutoga.pmd2xml.Pmd2Xml</project.mainentry>
+
+        <!-- Walkaround for Maven3&PMD-plugin bug -->
+        <targetJdk>${maven.compiler.source}</targetJdk>
+
+        <!-- Walkaround for Maven3&checkstyle bug -->
+        <checkstyle.config.location>${project.myrepoconf}/checks.xml</checkstyle.config.location>
+
     </properties>
 
     <dependencyManagement/>
         <dependency>
             <groupId>junit</groupId>
             <artifactId>junit</artifactId>
-            <version>[4,)</version>
+            <version>[4.8.2,)</version>
             <scope>test</scope>
         </dependency>
 
 
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-compiler-plugin</artifactId>
-                <configuration>
-                    <source>1.6</source>  <!-- for NetBeans IDE -->
-                    <target>1.6</target>
-                    <showDeprecation>true</showDeprecation>
-                    <showWarnings>true</showWarnings>
-                    <compilerArguments>
-                        <Xlint/>
-                    </compilerArguments>
-                </configuration>
-            </plugin>
-
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-clean-plugin</artifactId>
+                <version>2.4.1</version>
                 <configuration>
                     <filesets>
                         <fileset>
 
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <version>2.3.2</version>
+                <configuration>
+                    <source>1.6</source>  <!-- for NetBeans IDE -->
+                    <target>1.6</target>
+                    <showDeprecation>true</showDeprecation>
+                    <showWarnings>true</showWarnings>
+                    <compilerArguments>
+                        <Xlint/>
+                    </compilerArguments>
+                </configuration>
+            </plugin>
+
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-jar-plugin</artifactId>
+                <version>2.3.1</version>
                 <configuration>
                     <archive>
                         <manifestEntries>
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-assembly-plugin</artifactId>
+                <version>2.2.1</version>
                 <configuration>
                     <descriptors>
                         <descriptor>src/main/assembly/descriptor.xml</descriptor>
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-shade-plugin</artifactId>
+                <version>1.4</version>
                 <executions>
                     <execution>
                         <phase>package</phase>
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-enforcer-plugin</artifactId>
+                <version>1.0</version>
                 <configuration>
                     <rules>
                         <requireMavenVersion>
-                            <version>[2.1,3)</version>
+                            <version>[2.2,3)</version>
                         </requireMavenVersion>
                         <requireJavaVersion>
                             <version>[1.6,)</version>
                 </configuration>
             </plugin>
 
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-source-plugin</artifactId>
+                <version>2.1.2</version>
+                <configuration>
+                    <includePom>true</includePom>
+                    <archive>
+                        <manifestEntries>
+                            <Built-By>${project.organization.name}</Built-By>
+                        </manifestEntries>
+                    </archive>
+                </configuration>
+                <executions>
+                    <execution>
+                        <id>attach-sources</id>
+                        <phase>verify</phase>
+                        <goals>
+                          <goal>jar-no-fork</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+
         </plugins>
 
         <resources>
             <resource>
                 <directory>src/main/resources</directory>
                 <includes>
+                    <include>**/*.css</include>
+                    <include>**/*.html</include>
+                    <include>**/*.png</include>
                     <include>**/*.properties</include>
+                    <include>**/*.txt</include>
+                    <include>**/*.xml</include>
                     <include>**/*.xsd</include>
                     <include>**/*.dtd</include>
                 </includes>
     </build>
 
     <reporting>
+
         <plugins>
 
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-javadoc-plugin</artifactId>
-                <version>2.7</version>
+                <artifactId>maven-site-plugin</artifactId>
+                <version>2.2</version>
                 <configuration>
-                    <show>protected</show>
+                    <locales>ja</locales>
+                    <generateReports>true</generateReports>
+                    <generateSitemap>true</generateSitemap>
+                    <inputEncoding>${project.build.sourceEncoding}</inputEncoding>
+                    <outputEncoding>${project.reporting.outputEncoding}</outputEncoding>
                 </configuration>
             </plugin>
 
             <plugin>
-                <artifactId>maven-site-plugin</artifactId>
-                <version>2.1.1</version>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-javadoc-plugin</artifactId>
+                <version>2.8</version>
                 <configuration>
-                    <locales>ja</locales>
-                    <inputEncoding>${project.build.sourceEncoding}</inputEncoding>
-                    <outputEncoding>${project.reporting.outputEncoding}</outputEncoding>
+                    <show>protected</show>
                 </configuration>
             </plugin>
 
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-checkstyle-plugin</artifactId>
-                <version>2.5</version>
+                <version>2.6</version>
                 <configuration>
-                    <configLocation>${project.myrepoconf}/checks.xml</configLocation>
+                    <configLocation>${checkstyle.config.location}</configLocation>
+                    <encoding>UTF-8</encoding>
                 </configuration>
             </plugin>
 
                 <artifactId>maven-pmd-plugin</artifactId>
                 <version>2.5</version>
                 <configuration>
-                    <sourceEncoding>UTF-8</sourceEncoding>
-                    <targetJdk>1.6</targetJdk>
+                    <targetJdk>${maven.compiler.target}</targetJdk>
                     <rulesets>
                         <ruleset>${project.myrepoconf}/pmdrules.xml</ruleset>
                     </rulesets>
                 </configuration>
+                <reportSets>
+                    <reportSet>
+                        <reports>
+                            <report>pmd</report>
+                            <report>cpd</report>
+                        </reports>
+                    </reportSet>
+                </reportSets>
             </plugin>
 
             <plugin>
                 <groupId>org.codehaus.mojo</groupId>
                 <artifactId>findbugs-maven-plugin</artifactId>
-                <version>2.3.1</version>
+                <version>2.3.2</version>
                 <configuration>
                     <effort>Max</effort>
                     <threshold>Low</threshold>
             </plugin>
 
         </plugins>
+
     </reporting>
 
+    <profiles/>
+
 </project>
 
 <!-- EOF -->
index 75b110f..400a8e9 100644 (file)
-/*\r
- * pmd 2 xml converter main entry\r
- *\r
- * License : The MIT License\r
- * Copyright(c) 2010 MikuToga Partners\r
- */\r
-\r
-package jp.sourceforge.mikutoga.pmd2xml;\r
-\r
-import java.io.BufferedInputStream;\r
-import java.io.BufferedOutputStream;\r
-import java.io.File;\r
-import java.io.FileInputStream;\r
-import java.io.FileOutputStream;\r
-import java.io.IOException;\r
-import java.io.InputStream;\r
-import java.io.OutputStream;\r
-import java.nio.channels.FileChannel;\r
-import java.util.Properties;\r
-import javax.xml.parsers.DocumentBuilder;\r
-import javax.xml.parsers.ParserConfigurationException;\r
-import jp.sourceforge.mikutoga.parser.MmdFormatException;\r
-import jp.sourceforge.mikutoga.parser.MmdSource;\r
-import jp.sourceforge.mikutoga.pmd.PmdModel;\r
-import jp.sourceforge.mikutoga.pmd.pmdexporter.IllegalPmdException;\r
-import jp.sourceforge.mikutoga.pmd.pmdexporter.PmdExporter;\r
-import jp.sourceforge.mikutoga.pmd.pmdloader.PmdLoader;\r
-import jp.sourceforge.mikutoga.pmd.xml.PmdXmlExporter;\r
-import jp.sourceforge.mikutoga.pmd.xml.PmdXmlResources;\r
-import jp.sourceforge.mikutoga.pmd.xml.Xml2PmdLoader;\r
-import jp.sourceforge.mikutoga.xml.TogaXmlException;\r
-import org.xml.sax.InputSource;\r
-import org.xml.sax.SAXException;\r
-\r
-/**\r
- * PMDモデルファイルとXMLとの間で変換を行うアプリケーション。\r
- */\r
-public final class Pmd2Xml {\r
-\r
-    private static final Class THISCLASS;\r
-    private static final String APPNAME;\r
-    private static final String APPVER;\r
-    private static final String APPLICENSE;\r
-\r
-    static{\r
-        THISCLASS = Pmd2Xml.class;\r
-        InputStream ver =\r
-                THISCLASS.getResourceAsStream("resources/version.properties");\r
-        Properties verProps = new Properties();\r
-        try{\r
-            verProps.load(ver);\r
-        }catch(IOException e){\r
-            throw new ExceptionInInitializerError(e);\r
-        }\r
-\r
-        APPNAME    = verProps.getProperty("app.name");\r
-        APPVER     = verProps.getProperty("app.version");\r
-        APPLICENSE = verProps.getProperty("app.license");\r
-\r
-        Object dummy = new Pmd2Xml();\r
-    }\r
-\r
-    /**\r
-     * 隠しコンストラクタ。\r
-     */\r
-    private Pmd2Xml(){\r
-        super();\r
-        assert this.getClass().equals(THISCLASS);\r
-        return;\r
-    }\r
-\r
-    /**\r
-     * Mainエントリ。\r
-     * @param args コマンドパラメータ\r
-     */\r
-    public static void main(String[] args){\r
-        checkJRE();\r
-\r
-        String inputFile = null;\r
-        String outputFile = null;\r
-        boolean pmd2xml = false;\r
-        boolean xml2pmd = false;\r
-        boolean force = false;\r
-        int argsLen = args.length;\r
-        for(int argIdx = 0; argIdx < argsLen; argIdx++){\r
-            String arg = args[argIdx];\r
-\r
-            if(arg.equals("-h")){\r
-                putHelp();\r
-            }else if(arg.equals("-pmd2xml")){\r
-                pmd2xml = true;\r
-                xml2pmd = false;\r
-            }else if(arg.equals("-xml2pmd")){\r
-                pmd2xml = false;\r
-                xml2pmd = true;\r
-            }else if(arg.equals("-i")){\r
-                if(++argIdx >= argsLen){\r
-                    System.err.println("ERROR:");\r
-                    System.err.println("You need -i argument.");\r
-                    System.err.println("(-h for help)");\r
-                    System.exit(5);\r
-                }\r
-                inputFile = args[argIdx];\r
-            }else if(arg.equals("-o")){\r
-                if(++argIdx >= argsLen){\r
-                    System.err.println("ERROR:");\r
-                    System.err.println("You need -o argument.");\r
-                    System.err.println("(-h for help)");\r
-                    System.exit(5);\r
-                }\r
-                outputFile = args[argIdx];\r
-            }else if(arg.equals("-f")){\r
-                force = true;\r
-            }else{\r
-                System.err.println("ERROR:");\r
-                System.err.println("Unknown option:"+arg);\r
-                System.err.println("(-h for help)");\r
-                System.exit(5);\r
-            }\r
-        }\r
-\r
-        if( ( ! pmd2xml) && ( ! xml2pmd) ){\r
-            System.err.println("ERROR:");\r
-            System.err.println("You must specify -pmd2xml or -xml2pmd.");\r
-            System.err.println("(-h for help)");\r
-            System.exit(5);\r
-        }\r
-\r
-        if(inputFile == null){\r
-            System.err.println("ERROR:");\r
-            System.err.println("You must specify input file with -i.");\r
-            System.err.println("(-h for help)");\r
-            System.exit(5);\r
-        }\r
-\r
-        if(outputFile == null){\r
-            System.err.println("ERROR:");\r
-            System.err.println("You must specify output file with -o.");\r
-            System.err.println("(-h for help)");\r
-            System.exit(5);\r
-        }\r
-\r
-        File iFile = new File(inputFile);\r
-        if( (! iFile.exists()) || (! iFile.isFile()) ){\r
-            System.err.println("ERROR:");\r
-            System.err.println("Can't find input file:"\r
-                    + iFile.getAbsolutePath());\r
-            System.err.println("(-h for help)");\r
-            System.exit(1);\r
-        }\r
-\r
-        if( ! force ){\r
-            File oFile = new File(outputFile);\r
-            if(oFile.exists()){\r
-                System.err.println("ERROR:");\r
-                System.err.println(oFile.getAbsolutePath()\r
-                        + " already exists.");\r
-                System.err.println("If you want to overwrite, use -f.");\r
-                System.err.println("(-h for help)");\r
-                System.exit(1);\r
-            }\r
-        }else{\r
-            File oFile = new File(outputFile);\r
-            if(oFile.exists()){\r
-                if( ! oFile.isFile()){\r
-                    System.err.println("ERROR:");\r
-                    System.err.println(oFile.getAbsolutePath()\r
-                            + " is not file.");\r
-                    System.err.println("(-h for help)");\r
-                    System.exit(1);\r
-                }\r
-            }\r
-        }\r
-\r
-        try{\r
-            if(pmd2xml) pmd2xml(inputFile, outputFile);\r
-            else        xml2pmd(inputFile, outputFile);\r
-        }catch(IOException e){\r
-            ioError(e);\r
-        }catch(ParserConfigurationException e){\r
-            internalError(e);\r
-        }catch(IllegalPmdException e){\r
-            internalError(e);\r
-        }catch(MmdFormatException e){\r
-            pmdError(e);\r
-        }catch(TogaXmlException e){\r
-            xmlError(e);\r
-        }catch(SAXException e){\r
-            xmlError(e);\r
-        }\r
-\r
-        System.exit(0);\r
-\r
-        return;\r
-    }\r
-\r
-    /**\r
-     * 入出力エラー処理。\r
-     * 例外を出力してVM終了する。\r
-     * @param ex 例外\r
-     */\r
-    private static void ioError(Throwable ex){\r
-        System.err.println(ex);\r
-        System.exit(1);\r
-    }\r
-\r
-    /**\r
-     * XML構文エラー処理。\r
-     * 例外を出力してVM終了する。\r
-     * @param ex 例外\r
-     */\r
-    private static void xmlError(Throwable ex){\r
-        System.err.println(ex);\r
-        System.exit(2);\r
-    }\r
-\r
-    /**\r
-     * PMDファイルフォーマットエラー処理。\r
-     * 例外を出力してVM終了する。\r
-     * @param ex 例外\r
-     */\r
-    private static void pmdError(Throwable ex){\r
-        System.err.println(ex);\r
-        ex.printStackTrace(System.err);\r
-        System.exit(3);\r
-    }\r
-\r
-    /**\r
-     * 内部エラー処理。\r
-     * 例外を出力してVM終了する。\r
-     * @param ex 例外\r
-     */\r
-    private static void internalError(Throwable ex){\r
-        System.err.println(ex);\r
-        ex.printStackTrace(System.err);\r
-        System.exit(4);\r
-    }\r
-\r
-    /**\r
-     * JREのバージョン判定を行う。\r
-     * 不適切ならVMごと終了。\r
-     */\r
-    private static void checkJRE(){\r
-        Package jrePackage = java.lang.Object.class.getPackage();\r
-        if( ! jrePackage.isCompatibleWith("1.6")){\r
-            System.err.println("You need JRE 1.6 or later.");\r
-            System.exit(4);\r
-        }\r
-        return;\r
-    }\r
-\r
-    /**\r
-     * ヘルプメッセージを出力してVMを終了させる。\r
-     */\r
-    private static void putHelp(){\r
-        System.err.println(APPNAME + ' ' + APPVER );\r
-        System.err.println("  License : " + APPLICENSE);\r
-        System.err.println("  http://mikutoga.sourceforge.jp/");\r
-        System.err.println();\r
-        System.err.println("-h       : put help massage");\r
-        System.err.println("-pmd2xml : convert *.pmd to *.xml");\r
-        System.err.println("-xml2pmd : convert *.xml to *.pmd");\r
-        System.err.println("-i file  : specify input file");\r
-        System.err.println("-o file  : specify output file");\r
-        System.err.println("-f       : force overwriting");\r
-        System.exit(0);\r
-        return;\r
-    }\r
-\r
-    /**\r
-     * PMD->XML変換を行う。\r
-     * @param inputFile 入力ファイル名\r
-     * @param outputFile 出力ファイル名\r
-     * @throws IOException 入出力エラー\r
-     * @throws MmdFormatException 不正なPMDファイル\r
-     * @throws IllegalPmdException 不正なモデルデータ\r
-     */\r
-    private static void pmd2xml(String inputFile, String outputFile)\r
-            throws IOException, MmdFormatException, IllegalPmdException{\r
-        File iFile = new File(inputFile);\r
-        InputStream is = new FileInputStream(iFile);\r
-        is = new BufferedInputStream(is);\r
-        PmdModel model = pmdRead(is);\r
-        is.close();\r
-\r
-        File oFile = new File(outputFile);\r
-        trunc(oFile);\r
-        OutputStream ostream;\r
-        ostream = new FileOutputStream(oFile, false);\r
-        ostream = new BufferedOutputStream(ostream);\r
-        xmlOut(model, ostream);\r
-        ostream.close();\r
-\r
-        return;\r
-    }\r
-\r
-    /**\r
-     * XML->PMD変換を行う。\r
-     * @param inputFile 入力ファイル名\r
-     * @param outputFile 出力ファイル名\r
-     * @throws IOException 入出力エラー\r
-     * @throws ParserConfigurationException XML構成のエラー\r
-     * @throws SAXException 不正なXMLファイル\r
-     * @throws TogaXmlException 不正なXMLファイル\r
-     * @throws IllegalPmdException 不正なPMDモデルデータ\r
-     */\r
-    private static void xml2pmd(String inputFile, String outputFile)\r
-            throws IOException,\r
-                   ParserConfigurationException,\r
-                   SAXException,\r
-                   TogaXmlException,\r
-                   IllegalPmdException {\r
-        File iFile = new File(inputFile);\r
-        InputStream is = new FileInputStream(iFile);\r
-        is = new BufferedInputStream(is);\r
-        InputSource source = new InputSource(is);\r
-        PmdModel model = xmlRead(source);\r
-        is.close();\r
-\r
-        File oFile = new File(outputFile);\r
-        trunc(oFile);\r
-        OutputStream ostream;\r
-        ostream = new FileOutputStream(oFile, false);\r
-        ostream = new BufferedOutputStream(ostream);\r
-        pmdOut(model, ostream);\r
-        ostream.close();\r
-\r
-        return;\r
-    }\r
-\r
-    /**\r
-     * ファイルサイズを0に切り詰める。\r
-     * @param file ファイル\r
-     * @throws IOException 入出力エラー\r
-     */\r
-    private static void trunc(File file) throws IOException{\r
-        if( ! file.exists() ) return;\r
-        if( ! file.isFile() ) return;\r
-\r
-        FileOutputStream foStream = new FileOutputStream(file);\r
-        FileChannel channnel = foStream.getChannel();\r
-        channnel.truncate(0);\r
-\r
-        channnel.close();\r
-        foStream.close();\r
-\r
-        return;\r
-    }\r
-\r
-    /**\r
-     * PMDファイルからモデルデータを読み込む。\r
-     * @param is 入力ストリーム\r
-     * @return モデルデータ\r
-     * @throws IOException 入力エラー\r
-     * @throws MmdFormatException 不正なPMDファイルフォーマット\r
-     */\r
-    private static PmdModel pmdRead(InputStream is)\r
-            throws IOException, MmdFormatException{\r
-        MmdSource source = new MmdSource(is);\r
-        PmdLoader loader = new PmdLoader(source);\r
-\r
-        PmdModel model = loader.load();\r
-\r
-        return model;\r
-    }\r
-\r
-    /**\r
-     * XMLファイルからモデルデータを読み込む。\r
-     * @param source 入力ソース\r
-     * @return モデルデータ\r
-     * @throws IOException 入力エラー\r
-     * @throws ParserConfigurationException XML構成エラー\r
-     * @throws SAXException XML構文エラー\r
-     * @throws TogaXmlException 不正なXMLデータ\r
-     */\r
-    private static PmdModel xmlRead(InputSource source)\r
-            throws IOException,\r
-                   ParserConfigurationException,\r
-                   SAXException,\r
-                   TogaXmlException {\r
-        DocumentBuilder builder =\r
-                PmdXmlResources.newBuilder(XmlHandler.HANDLER);\r
-        Xml2PmdLoader loader = new Xml2PmdLoader(builder);\r
-\r
-        PmdModel model = loader.parse(source);\r
-\r
-        return model;\r
-    }\r
-\r
-    /**\r
-     * モデルデータをPMDファイルに出力する。\r
-     * @param model モデルデータ\r
-     * @param ostream 出力ストリーム\r
-     * @throws IOException 出力エラー\r
-     * @throws IllegalPmdException 不正なモデルデータ\r
-     */\r
-    private static void pmdOut(PmdModel model, OutputStream ostream)\r
-            throws IOException, IllegalPmdException{\r
-        PmdExporter exporter = new PmdExporter(ostream);\r
-        exporter.dumpPmdModel(model);\r
-        ostream.close();\r
-        return;\r
-    }\r
-\r
-    /**\r
-     * モデルデータをXMLファイルに出力する。\r
-     * @param model モデルデータ\r
-     * @param ostream 出力ストリーム\r
-     * @throws IOException 出力エラー\r
-     * @throws IllegalPmdException 不正なモデルデータ\r
-     */\r
-    private static void xmlOut(PmdModel model, OutputStream ostream)\r
-            throws IOException, IllegalPmdException{\r
-        PmdXmlExporter exporter = new PmdXmlExporter(ostream);\r
-        exporter.setNewLine("\r\n");\r
-        exporter.setGenerator(APPNAME + ' ' + APPVER);\r
-        exporter.putPmdModel(model);\r
-        exporter.close();\r
-        return;\r
-    }\r
-\r
-}\r
+/*
+ * pmd 2 xml converter main entry
+ *
+ * License : The MIT License
+ * Copyright(c) 2010 MikuToga Partners
+ */
+
+package jp.sourceforge.mikutoga.pmd2xml;
+
+import java.io.BufferedInputStream;
+import java.io.BufferedOutputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.nio.channels.FileChannel;
+import java.util.Properties;
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.ParserConfigurationException;
+import jp.sourceforge.mikutoga.parser.MmdFormatException;
+import jp.sourceforge.mikutoga.parser.MmdSource;
+import jp.sourceforge.mikutoga.pmd.PmdModel;
+import jp.sourceforge.mikutoga.pmd.pmdexporter.IllegalPmdException;
+import jp.sourceforge.mikutoga.pmd.pmdexporter.PmdExporter;
+import jp.sourceforge.mikutoga.pmd.pmdloader.PmdLoader;
+import jp.sourceforge.mikutoga.pmd.xml.PmdXmlExporter;
+import jp.sourceforge.mikutoga.pmd.xml.PmdXmlResources;
+import jp.sourceforge.mikutoga.pmd.xml.Xml2PmdLoader;
+import jp.sourceforge.mikutoga.xml.TogaXmlException;
+import org.xml.sax.InputSource;
+import org.xml.sax.SAXException;
+
+/**
+ * PMDモデルファイルとXMLとの間で変換を行うアプリケーション。
+ */
+public final class Pmd2Xml {
+
+    private static final Class THISCLASS;
+    private static final String APPNAME;
+    private static final String APPVER;
+    private static final String APPLICENSE;
+
+    static{
+        THISCLASS = Pmd2Xml.class;
+        InputStream ver =
+                THISCLASS.getResourceAsStream("resources/version.properties");
+        Properties verProps = new Properties();
+        try{
+            verProps.load(ver);
+        }catch(IOException e){
+            throw new ExceptionInInitializerError(e);
+        }
+
+        APPNAME    = verProps.getProperty("app.name");
+        APPVER     = verProps.getProperty("app.version");
+        APPLICENSE = verProps.getProperty("app.license");
+
+        Object dummy = new Pmd2Xml();
+    }
+
+    /**
+     * 隠しコンストラクタ。
+     */
+    private Pmd2Xml(){
+        super();
+        assert this.getClass().equals(THISCLASS);
+        return;
+    }
+
+    /**
+     * Mainエントリ。
+     * @param args コマンドパラメータ
+     */
+    public static void main(String[] args){
+        checkJRE();
+
+        String inputFile = null;
+        String outputFile = null;
+        boolean pmd2xml = false;
+        boolean xml2pmd = false;
+        boolean force = false;
+        int argsLen = args.length;
+        for(int argIdx = 0; argIdx < argsLen; argIdx++){
+            String arg = args[argIdx];
+
+            if(arg.equals("-h")){
+                putHelp();
+            }else if(arg.equals("-pmd2xml")){
+                pmd2xml = true;
+                xml2pmd = false;
+            }else if(arg.equals("-xml2pmd")){
+                pmd2xml = false;
+                xml2pmd = true;
+            }else if(arg.equals("-i")){
+                if(++argIdx >= argsLen){
+                    System.err.println("ERROR:");
+                    System.err.println("You need -i argument.");
+                    System.err.println("(-h for help)");
+                    System.exit(5);
+                }
+                inputFile = args[argIdx];
+            }else if(arg.equals("-o")){
+                if(++argIdx >= argsLen){
+                    System.err.println("ERROR:");
+                    System.err.println("You need -o argument.");
+                    System.err.println("(-h for help)");
+                    System.exit(5);
+                }
+                outputFile = args[argIdx];
+            }else if(arg.equals("-f")){
+                force = true;
+            }else{
+                System.err.println("ERROR:");
+                System.err.println("Unknown option:"+arg);
+                System.err.println("(-h for help)");
+                System.exit(5);
+            }
+        }
+
+        if( ( ! pmd2xml) && ( ! xml2pmd) ){
+            System.err.println("ERROR:");
+            System.err.println("You must specify -pmd2xml or -xml2pmd.");
+            System.err.println("(-h for help)");
+            System.exit(5);
+        }
+
+        if(inputFile == null){
+            System.err.println("ERROR:");
+            System.err.println("You must specify input file with -i.");
+            System.err.println("(-h for help)");
+            System.exit(5);
+        }
+
+        if(outputFile == null){
+            System.err.println("ERROR:");
+            System.err.println("You must specify output file with -o.");
+            System.err.println("(-h for help)");
+            System.exit(5);
+        }
+
+        File iFile = new File(inputFile);
+        if( (! iFile.exists()) || (! iFile.isFile()) ){
+            System.err.println("ERROR:");
+            System.err.println("Can't find input file:"
+                    + iFile.getAbsolutePath());
+            System.err.println("(-h for help)");
+            System.exit(1);
+        }
+
+        if( ! force ){
+            File oFile = new File(outputFile);
+            if(oFile.exists()){
+                System.err.println("ERROR:");
+                System.err.println(oFile.getAbsolutePath()
+                        + " already exists.");
+                System.err.println("If you want to overwrite, use -f.");
+                System.err.println("(-h for help)");
+                System.exit(1);
+            }
+        }else{
+            File oFile = new File(outputFile);
+            if(oFile.exists()){
+                if( ! oFile.isFile()){
+                    System.err.println("ERROR:");
+                    System.err.println(oFile.getAbsolutePath()
+                            + " is not file.");
+                    System.err.println("(-h for help)");
+                    System.exit(1);
+                }
+            }
+        }
+
+        try{
+            if(pmd2xml) pmd2xml(inputFile, outputFile);
+            else        xml2pmd(inputFile, outputFile);
+        }catch(IOException e){
+            ioError(e);
+        }catch(ParserConfigurationException e){
+            internalError(e);
+        }catch(IllegalPmdException e){
+            internalError(e);
+        }catch(MmdFormatException e){
+            pmdError(e);
+        }catch(TogaXmlException e){
+            xmlError(e);
+        }catch(SAXException e){
+            xmlError(e);
+        }
+
+        System.exit(0);
+
+        return;
+    }
+
+    /**
+     * 入出力エラー処理。
+     * 例外を出力してVM終了する。
+     * @param ex 例外
+     */
+    private static void ioError(Throwable ex){
+        System.err.println(ex);
+        System.exit(1);
+    }
+
+    /**
+     * XML構文エラー処理。
+     * 例外を出力してVM終了する。
+     * @param ex 例外
+     */
+    private static void xmlError(Throwable ex){
+        System.err.println(ex);
+        System.exit(2);
+    }
+
+    /**
+     * PMDファイルフォーマットエラー処理。
+     * 例外を出力してVM終了する。
+     * @param ex 例外
+     */
+    private static void pmdError(Throwable ex){
+        System.err.println(ex);
+        ex.printStackTrace(System.err);
+        System.exit(3);
+    }
+
+    /**
+     * 内部エラー処理。
+     * 例外を出力してVM終了する。
+     * @param ex 例外
+     */
+    private static void internalError(Throwable ex){
+        System.err.println(ex);
+        ex.printStackTrace(System.err);
+        System.exit(4);
+    }
+
+    /**
+     * JREのバージョン判定を行う。
+     * 不適切ならVMごと終了。
+     */
+    private static void checkJRE(){
+        Package jrePackage = java.lang.Object.class.getPackage();
+        if( ! jrePackage.isCompatibleWith("1.6")){
+            System.err.println("You need JRE 1.6 or later.");
+            System.exit(4);
+        }
+        return;
+    }
+
+    /**
+     * ヘルプメッセージを出力してVMを終了させる。
+     */
+    private static void putHelp(){
+        System.err.println(APPNAME + ' ' + APPVER );
+        System.err.println("  License : " + APPLICENSE);
+        System.err.println("  http://mikutoga.sourceforge.jp/");
+        System.err.println();
+        System.err.println("-h       : put help massage");
+        System.err.println("-pmd2xml : convert *.pmd to *.xml");
+        System.err.println("-xml2pmd : convert *.xml to *.pmd");
+        System.err.println("-i file  : specify input file");
+        System.err.println("-o file  : specify output file");
+        System.err.println("-f       : force overwriting");
+        System.exit(0);
+        return;
+    }
+
+    /**
+     * PMD->XML変換を行う。
+     * @param inputFile 入力ファイル名
+     * @param outputFile 出力ファイル名
+     * @throws IOException 入出力エラー
+     * @throws MmdFormatException 不正なPMDファイル
+     * @throws IllegalPmdException 不正なモデルデータ
+     */
+    private static void pmd2xml(String inputFile, String outputFile)
+            throws IOException, MmdFormatException, IllegalPmdException{
+        File iFile = new File(inputFile);
+        InputStream is = new FileInputStream(iFile);
+        is = new BufferedInputStream(is);
+        PmdModel model = pmdRead(is);
+        is.close();
+
+        File oFile = new File(outputFile);
+        trunc(oFile);
+        OutputStream ostream;
+        ostream = new FileOutputStream(oFile, false);
+        ostream = new BufferedOutputStream(ostream);
+        xmlOut(model, ostream);
+        ostream.close();
+
+        return;
+    }
+
+    /**
+     * XML->PMD変換を行う。
+     * @param inputFile 入力ファイル名
+     * @param outputFile 出力ファイル名
+     * @throws IOException 入出力エラー
+     * @throws ParserConfigurationException XML構成のエラー
+     * @throws SAXException 不正なXMLファイル
+     * @throws TogaXmlException 不正なXMLファイル
+     * @throws IllegalPmdException 不正なPMDモデルデータ
+     */
+    private static void xml2pmd(String inputFile, String outputFile)
+            throws IOException,
+                   ParserConfigurationException,
+                   SAXException,
+                   TogaXmlException,
+                   IllegalPmdException {
+        File iFile = new File(inputFile);
+        InputStream is = new FileInputStream(iFile);
+        is = new BufferedInputStream(is);
+        InputSource source = new InputSource(is);
+        PmdModel model = xmlRead(source);
+        is.close();
+
+        File oFile = new File(outputFile);
+        trunc(oFile);
+        OutputStream ostream;
+        ostream = new FileOutputStream(oFile, false);
+        ostream = new BufferedOutputStream(ostream);
+        pmdOut(model, ostream);
+        ostream.close();
+
+        return;
+    }
+
+    /**
+     * ファイルサイズを0に切り詰める。
+     * @param file ファイル
+     * @throws IOException 入出力エラー
+     */
+    private static void trunc(File file) throws IOException{
+        if( ! file.exists() ) return;
+        if( ! file.isFile() ) return;
+
+        FileOutputStream foStream = new FileOutputStream(file);
+        FileChannel channnel = foStream.getChannel();
+        channnel.truncate(0);
+
+        channnel.close();
+        foStream.close();
+
+        return;
+    }
+
+    /**
+     * PMDファイルからモデルデータを読み込む。
+     * @param is 入力ストリーム
+     * @return モデルデータ
+     * @throws IOException 入力エラー
+     * @throws MmdFormatException 不正なPMDファイルフォーマット
+     */
+    private static PmdModel pmdRead(InputStream is)
+            throws IOException, MmdFormatException{
+        MmdSource source = new MmdSource(is);
+        PmdLoader loader = new PmdLoader(source);
+
+        PmdModel model = loader.load();
+
+        return model;
+    }
+
+    /**
+     * XMLファイルからモデルデータを読み込む。
+     * @param source 入力ソース
+     * @return モデルデータ
+     * @throws IOException 入力エラー
+     * @throws ParserConfigurationException XML構成エラー
+     * @throws SAXException XML構文エラー
+     * @throws TogaXmlException 不正なXMLデータ
+     */
+    private static PmdModel xmlRead(InputSource source)
+            throws IOException,
+                   ParserConfigurationException,
+                   SAXException,
+                   TogaXmlException {
+        DocumentBuilder builder =
+                PmdXmlResources.newBuilder(XmlHandler.HANDLER);
+        Xml2PmdLoader loader = new Xml2PmdLoader(builder);
+
+        PmdModel model = loader.parse(source);
+
+        return model;
+    }
+
+    /**
+     * モデルデータをPMDファイルに出力する。
+     * @param model モデルデータ
+     * @param ostream 出力ストリーム
+     * @throws IOException 出力エラー
+     * @throws IllegalPmdException 不正なモデルデータ
+     */
+    private static void pmdOut(PmdModel model, OutputStream ostream)
+            throws IOException, IllegalPmdException{
+        PmdExporter exporter = new PmdExporter(ostream);
+        exporter.dumpPmdModel(model);
+        ostream.close();
+        return;
+    }
+
+    /**
+     * モデルデータをXMLファイルに出力する。
+     * @param model モデルデータ
+     * @param ostream 出力ストリーム
+     * @throws IOException 出力エラー
+     * @throws IllegalPmdException 不正なモデルデータ
+     */
+    private static void xmlOut(PmdModel model, OutputStream ostream)
+            throws IOException, IllegalPmdException{
+        PmdXmlExporter exporter = new PmdXmlExporter(ostream);
+        exporter.setNewLine("\r\n");
+        exporter.setGenerator(APPNAME + ' ' + APPVER);
+        exporter.putPmdModel(model);
+        exporter.close();
+        return;
+    }
+
+}
index 62efd7a..64198e0 100644 (file)
@@ -1,63 +1,63 @@
-/*\r
- * XML custom error-handler\r
- *\r
- * License : The MIT License\r
- * Copyright(c) 2010 MikuToga Partners\r
- */\r
-\r
-package jp.sourceforge.mikutoga.pmd2xml;\r
-\r
-import org.xml.sax.ErrorHandler;\r
-import org.xml.sax.SAXException;\r
-import org.xml.sax.SAXParseException;\r
-\r
-/**\r
- * 自製エラーハンドラ。\r
- * 例外を渡されれば即投げる。\r
- */\r
-final class XmlHandler implements ErrorHandler{\r
-\r
-    /**\r
-     * 唯一のシングルトン。\r
-     */\r
-    static final ErrorHandler HANDLER = new XmlHandler();\r
-\r
-    /**\r
-     * 隠しコンストラクタ。\r
-     */\r
-    private XmlHandler(){\r
-        super();\r
-        return;\r
-    }\r
-\r
-    /**\r
-     * {@inheritDoc}\r
-     * @param exception {@inheritDoc}\r
-     * @throws SAXException {@inheritDoc}\r
-     */\r
-    @Override\r
-    public void error(SAXParseException exception) throws SAXException{\r
-        throw exception;\r
-    }\r
-\r
-    /**\r
-     * {@inheritDoc}\r
-     * @param exception {@inheritDoc}\r
-     * @throws SAXException {@inheritDoc}\r
-     */\r
-    @Override\r
-    public void fatalError(SAXParseException exception) throws SAXException{\r
-        throw exception;\r
-    }\r
-\r
-    /**\r
-     * {@inheritDoc}\r
-     * @param exception {@inheritDoc}\r
-     * @throws SAXException {@inheritDoc}\r
-     */\r
-    @Override\r
-    public void warning(SAXParseException exception) throws SAXException{\r
-        throw exception;\r
-    }\r
-\r
-}\r
+/*
+ * XML custom error-handler
+ *
+ * License : The MIT License
+ * Copyright(c) 2010 MikuToga Partners
+ */
+
+package jp.sourceforge.mikutoga.pmd2xml;
+
+import org.xml.sax.ErrorHandler;
+import org.xml.sax.SAXException;
+import org.xml.sax.SAXParseException;
+
+/**
+ * 自製エラーハンドラ。
+ * 例外を渡されれば即投げる。
+ */
+final class XmlHandler implements ErrorHandler{
+
+    /**
+     * 唯一のシングルトン。
+     */
+    static final ErrorHandler HANDLER = new XmlHandler();
+
+    /**
+     * 隠しコンストラクタ。
+     */
+    private XmlHandler(){
+        super();
+        return;
+    }
+
+    /**
+     * {@inheritDoc}
+     * @param exception {@inheritDoc}
+     * @throws SAXException {@inheritDoc}
+     */
+    @Override
+    public void error(SAXParseException exception) throws SAXException{
+        throw exception;
+    }
+
+    /**
+     * {@inheritDoc}
+     * @param exception {@inheritDoc}
+     * @throws SAXException {@inheritDoc}
+     */
+    @Override
+    public void fatalError(SAXParseException exception) throws SAXException{
+        throw exception;
+    }
+
+    /**
+     * {@inheritDoc}
+     * @param exception {@inheritDoc}
+     * @throws SAXException {@inheritDoc}
+     */
+    @Override
+    public void warning(SAXParseException exception) throws SAXException{
+        throw exception;
+    }
+
+}
index f4eddd3..72a2c1a 100644 (file)
@@ -1,15 +1,15 @@
-/*\r
- * package information for Javadoc\r
- *\r
- * License : The MIT License\r
- * Copyright(c) 2010 MikuToga Partners\r
- */\r
-\r
-/**\r
- * PMDモデルデータとXML間でのデータ交換を行うアプリケーション。\r
- * Mainエントリは、クラスPmd2Xml。\r
- */\r
-\r
-package jp.sourceforge.mikutoga.pmd2xml;\r
-\r
-/* EOF */\r
+/*
+ * package information for Javadoc
+ *
+ * License : The MIT License
+ * Copyright(c) 2010 MikuToga Partners
+ */
+
+/**
+ * PMDモデルデータとXML間でのデータ交換を行うアプリケーション。
+ * Mainエントリは、クラスPmd2Xml。
+ */
+
+package jp.sourceforge.mikutoga.pmd2xml;
+
+/* EOF */