X.XXX.X (20XX-XX-XX)
- ・
+ ・デフォルトロケールによる出力揺らぎを解消。
1.201.2 (2013-03-17)
・Maven3対応。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
- <version>3.0</version>
+ <version>3.1</version>
<configuration>
<source>1.6</source> <!-- for NetBeans IDE -->
<target>1.6</target>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
- <version>2.13</version>
+ <version>2.14.1</version>
<configuration>
<skipTests>false</skipTests>
<enableAssertions>true</enableAssertions>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
- <version>2.9.1</version>
+ <version>2.10</version>
<!-- config from property value -->
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
- <version>2.7.1</version> <!-- 3.0 is buggy -->
+ <version>3.0.1</version>
<configuration>
<targetJdk>${maven.compiler.target}</targetJdk>
<rulesets>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-report-plugin</artifactId>
- <version>2.13</version>
+ <version>2.14.1</version>
<configuration>
<showSuccess>false</showSuccess>
</configuration>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
- <version>2.9.1</version>
+ <version>2.10</version>
<configuration>
<skip>false</skip>
<!-- config from property value -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
- <version>2.7.1</version> <!-- 3.0 is buggy -->
+ <version>3.0.1</version>
<configuration>
<skip>false</skip>
<targetJdk>${maven.compiler.target}</targetJdk>
<module name="ArrayTrailingComma" />
<module name="AvoidInlineConditionals" />
<module name="CovariantEquals" />
- <module name="DoubleCheckedLocking" />
+<!-- <module name="DoubleCheckedLocking" /> 5.6 obsolete -->
<module name="EmptyStatement" />
<module name="EqualsAvoidNull" />
<module name="EqualsHashCode" />
<!--
PMD用ルールセット定義
- PMD [ http://pmd.sourceforge.net/ ] 4.2.5 以降用に記述されています。
+ PMD [ http://pmd.sourceforge.net/ ] 5.0 以降用に記述されています。
Copyright(c) 2010 olyutorskii
-->
<ruleset
- xmlns="http://pmd.sf.net/ruleset/1.0.0"
+ xmlns="http://pmd.sourceforge.net/ruleset/2.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://pmd.sf.net/ruleset/1.0.0
- http://pmd.sf.net/ruleset_xml_schema.xsd"
- xsi:noNamespaceSchemaLocation="http://pmd.sf.net/ruleset_xml_schema.xsd"
+ xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0
+ http://pmd.sourceforge.net/ruleset_2_0_0.xsd"
name="Custom ruleset"
>
custom rulesets for project
</description>
- <rule ref="rulesets/basic.xml">
- <exclude name="UnnecessaryReturn" />
- </rule>
+<!--
+ <rule ref="rulesets/java/android.xml" />
+-->
+
+ <rule ref="rulesets/java/basic.xml" />
- <rule ref="rulesets/braces.xml">
+ <rule ref="rulesets/java/braces.xml">
<exclude name="IfElseStmtsMustUseBraces" />
<exclude name="IfStmtsMustUseBraces" />
</rule>
- <rule ref="rulesets/codesize.xml">
+ <rule ref="rulesets/java/clone.xml" />
+
+ <rule ref="rulesets/java/codesize.xml">
<exclude name="TooManyMethods" />
</rule>
- <rule ref="rulesets/codesize.xml/TooManyMethods">
+ <rule ref="rulesets/java/codesize.xml/TooManyMethods">
<properties>
<property name="maxmethods" value="25"/>
</properties>
</rule>
- <rule ref="rulesets/clone.xml" />
+ <rule ref="rulesets/java/comments.xml">
+ <exclude name="CommentSize" />
+ </rule>
+ <rule ref="rulesets/java/comments.xml/CommentSize" >
+ <properties>
+ <property name="maxLines" value="25"/>
+ </properties>
+ </rule>
- <rule ref="rulesets/controversial.xml">
+ <rule ref="rulesets/java/controversial.xml">
<exclude name="NullAssignment" />
<exclude name="OnlyOneReturn" />
<exclude name="DefaultPackage" />
<exclude name="DataflowAnomalyAnalysis" />
<exclude name="AvoidUsingShortType" />
+ <exclude name="AvoidLiteralsInIfCondition" />
+ <exclude name="UseConcurrentHashMap" />
</rule>
- <rule ref="rulesets/coupling.xml" />
+ <rule ref="rulesets/java/coupling.xml">
+ <exclude name="LawOfDemeter" />
+ <exclude name="LoosePackageCoupling" /> <!-- 3.0.1 では読めない -->
+ </rule>
- <rule ref="rulesets/design.xml">
+ <rule ref="rulesets/java/design.xml">
<exclude name="ConfusingTernary" />
<exclude name="UnnecessaryLocalBeforeReturn" />
+ <exclude name="FieldDeclarationsShouldBeAtStartOfClass" />
</rule>
- <rule ref="rulesets/finalizers.xml" />
+ <rule ref="rulesets/java/empty.xml" />
+
+ <rule ref="rulesets/java/finalizers.xml" />
- <rule ref="rulesets/imports.xml" />
+ <rule ref="rulesets/java/imports.xml" />
- <rule ref="rulesets/logging-java.xml" />
+<!--
+ <rule ref="rulesets/java/j2ee.xml" />
+ <rule ref="rulesets/java/javabeans.xml" />
+-->
+
+ <rule ref="rulesets/java/junit.xml" />
+
+<!--
+ <rule ref="rulesets/java/logging-jakarta-commons.xml" />
+-->
- <rule ref="rulesets/migrating.xml" />
- <rule ref="rulesets/migrating_to_15.xml" />
+ <rule ref="rulesets/java/logging-java.xml" />
- <rule ref="rulesets/naming.xml">
+ <rule ref="rulesets/java/migrating.xml" />
+<!--
+ <rule ref="rulesets/java/migrating_to_XX.xml" />
+-->
+
+ <rule ref="rulesets/java/naming.xml">
<exclude name="ShortVariable" />
<exclude name="LongVariable" />
<exclude name="AvoidFieldNameMatchingMethodName" />
</rule>
- <rule ref="rulesets/naming.xml/LongVariable">
+ <rule ref="rulesets/java/naming.xml/LongVariable">
<properties>
<property name="minimum" value="25"/>
</properties>
</rule>
- <rule ref="rulesets/optimizations.xml">
+ <rule ref="rulesets/java/optimizations.xml">
<exclude name="LocalVariableCouldBeFinal" />
<exclude name="MethodArgumentCouldBeFinal" />
+ <exclude name="RedundantFieldInitializer" />
</rule>
- <rule ref="rulesets/strictexception.xml">
+ <rule ref="rulesets/java/strictexception.xml">
<exclude name="AvoidThrowingNullPointerException" />
</rule>
- <rule ref="rulesets/strings.xml" />
+ <rule ref="rulesets/java/strings.xml" />
- <rule ref="rulesets/sunsecure.xml" />
+ <rule ref="rulesets/java/sunsecure.xml" />
- <rule ref="rulesets/typeresolution.xml" />
+ <rule ref="rulesets/java/typeresolution.xml" />
+
+ <rule ref="rulesets/java/unnecessary.xml">
+ <exclude name="UnnecessaryReturn" />
+ <exclude name="UselessParentheses" />
+ </rule>
- <rule ref="rulesets/unusedcode.xml" />
+ <rule ref="rulesets/java/unusedcode.xml" />
</ruleset>
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;
+import jp.sfjp.mikutoga.bin.parser.ParseStage;
+import jp.sfjp.mikutoga.math.MkPos3D;
+import jp.sfjp.mikutoga.pmd.BoneType;
+import jp.sfjp.mikutoga.pmd.PmdLimits;
import jp.sfjp.mikutoga.pmd.model.BoneGroup;
import jp.sfjp.mikutoga.pmd.model.BoneInfo;
import jp.sfjp.mikutoga.pmd.model.IKChain;
import jp.sfjp.mikutoga.pmd.model.ListUtil;
import jp.sfjp.mikutoga.pmd.model.PmdModel;
-import jp.sourceforge.mikutoga.math.MkPos3D;
-import jp.sourceforge.mikutoga.parser.ParseStage;
-import jp.sourceforge.mikutoga.pmd.BoneType;
-import jp.sourceforge.mikutoga.pmd.parser.PmdBoneHandler;
-import jp.sourceforge.mikutoga.pmd.parser.PmdLimits;
+import jp.sfjp.mikutoga.pmd.parser.PmdBoneHandler;
/**
* ボーン関係の通知をパーサから受け取る。
import java.util.Iterator;
import java.util.List;
+import jp.sfjp.mikutoga.bin.parser.ParseStage;
+import jp.sfjp.mikutoga.math.MkPos3D;
+import jp.sfjp.mikutoga.pmd.Deg3d;
+import jp.sfjp.mikutoga.pmd.Rad3d;
+import jp.sfjp.mikutoga.pmd.TripletRange;
import jp.sfjp.mikutoga.pmd.model.JointInfo;
import jp.sfjp.mikutoga.pmd.model.ListUtil;
import jp.sfjp.mikutoga.pmd.model.PmdModel;
import jp.sfjp.mikutoga.pmd.model.RigidInfo;
-import jp.sourceforge.mikutoga.math.MkPos3D;
-import jp.sourceforge.mikutoga.parser.ParseStage;
-import jp.sourceforge.mikutoga.pmd.Deg3d;
-import jp.sourceforge.mikutoga.pmd.Rad3d;
-import jp.sourceforge.mikutoga.pmd.TripletRange;
-import jp.sourceforge.mikutoga.pmd.parser.PmdJointHandler;
+import jp.sfjp.mikutoga.pmd.parser.PmdJointHandler;
/**
* ジョイント関係の通知をパーサから受け取る。
import java.awt.Color;
import java.util.Iterator;
import java.util.List;
+import jp.sfjp.mikutoga.bin.parser.ParseStage;
import jp.sfjp.mikutoga.pmd.model.ListUtil;
import jp.sfjp.mikutoga.pmd.model.Material;
import jp.sfjp.mikutoga.pmd.model.PmdModel;
import jp.sfjp.mikutoga.pmd.model.ShadeInfo;
import jp.sfjp.mikutoga.pmd.model.Surface;
import jp.sfjp.mikutoga.pmd.model.ToonMap;
-import jp.sourceforge.mikutoga.parser.ParseStage;
-import jp.sourceforge.mikutoga.pmd.parser.PmdMaterialHandler;
+import jp.sfjp.mikutoga.pmd.parser.PmdMaterialHandler;
/**
* マテリアル素材関連の通知をパーサから受け取る。
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
+import jp.sfjp.mikutoga.bin.parser.ParseStage;
+import jp.sfjp.mikutoga.math.MkPos3D;
+import jp.sfjp.mikutoga.pmd.MorphType;
import jp.sfjp.mikutoga.pmd.model.ListUtil;
import jp.sfjp.mikutoga.pmd.model.MorphPart;
import jp.sfjp.mikutoga.pmd.model.MorphVertex;
import jp.sfjp.mikutoga.pmd.model.PmdModel;
import jp.sfjp.mikutoga.pmd.model.Vertex;
-import jp.sourceforge.mikutoga.math.MkPos3D;
-import jp.sourceforge.mikutoga.parser.ParseStage;
-import jp.sourceforge.mikutoga.pmd.MorphType;
-import jp.sourceforge.mikutoga.pmd.parser.PmdMorphHandler;
+import jp.sfjp.mikutoga.pmd.parser.PmdMorphHandler;
/**
* モーフ関係の通知をパーサから受け取る。
import java.util.List;
import java.util.Map;
import java.util.Set;
+import jp.sfjp.mikutoga.bin.export.BinaryExporter;
+import jp.sfjp.mikutoga.bin.export.IllegalTextExportException;
+import jp.sfjp.mikutoga.math.MkPos2D;
+import jp.sfjp.mikutoga.math.MkPos3D;
+import jp.sfjp.mikutoga.math.MkVec3D;
+import jp.sfjp.mikutoga.pmd.BoneType;
+import jp.sfjp.mikutoga.pmd.IllegalPmdDataException;
+import jp.sfjp.mikutoga.pmd.MorphType;
+import jp.sfjp.mikutoga.pmd.PmdLimits;
import jp.sfjp.mikutoga.pmd.model.BoneGroup;
import jp.sfjp.mikutoga.pmd.model.BoneInfo;
import jp.sfjp.mikutoga.pmd.model.IKChain;
import jp.sfjp.mikutoga.pmd.model.ShadeInfo;
import jp.sfjp.mikutoga.pmd.model.Surface;
import jp.sfjp.mikutoga.pmd.model.Vertex;
-import jp.sourceforge.mikutoga.binio.BinaryExporter;
-import jp.sourceforge.mikutoga.binio.IllegalTextExportException;
-import jp.sourceforge.mikutoga.math.MkPos2D;
-import jp.sourceforge.mikutoga.math.MkPos3D;
-import jp.sourceforge.mikutoga.math.MkVec3D;
-import jp.sourceforge.mikutoga.pmd.BoneType;
-import jp.sourceforge.mikutoga.pmd.IllegalPmdDataException;
-import jp.sourceforge.mikutoga.pmd.MorphType;
-import jp.sourceforge.mikutoga.pmd.parser.PmdLimits;
/**
* PMDファイルのエクスポーター(拡張無し基本フォーマット)。
* @param text 文字列
* @param maxByteLength バイト長指定
* @throws IOException 出力エラー
- * @throws IllegalPmdTextException エンコード結果が
+ * @throws IllegalTextExportException エンコード結果が
* 指定バイト長をはみ出した。
*/
protected void dumpText(String text, int maxByteLength)
* モデル基本情報を出力する。
* @param model モデルデータ
* @throws IOException 出力エラー
- * @throws IllegalPmdTextException モデル名もしくは説明が長すぎる
+ * @throws IllegalTextExportException モデル名もしくは説明が長すぎる
*/
private void dumpBasic(PmdModel model)
throws IOException, IllegalTextExportException{
* マテリアル素材リストを出力する。
* @param model モデルデータ
* @throws IOException 出力エラー
- * @throws IllegalPmdTextException シェーディングファイル情報が長すぎる
+ * @throws IllegalTextExportException シェーディングファイル情報が長すぎる
*/
private void dumpMaterialList(PmdModel model)
throws IOException, IllegalTextExportException{
* ボーンリストを出力する。
* @param model モデルデータ
* @throws IOException 出力エラー
- * @throws IllegalPmdTextException ボーン名が長すぎる
+ * @throws IllegalTextExportException ボーン名が長すぎる
*/
private void dumpBoneList(PmdModel model)
throws IOException, IllegalTextExportException{
* 個別のボーン情報を出力する。
* @param bone ボーン情報
* @throws IOException 出力エラー
- * @throws IllegalPmdTextException ボーン名が長すぎる
+ * @throws IllegalTextExportException ボーン名が長すぎる
*/
private void dumpBone(BoneInfo bone)
throws IOException, IllegalTextExportException{
* モーフリストを出力する。
* @param model モデルデータ
* @throws IOException 出力エラー
- * @throws IllegalPmdTextException モーフ名が長すぎる
+ * @throws IllegalTextExportException モーフ名が長すぎる
*/
private void dumpMorphList(PmdModel model)
throws IOException, IllegalTextExportException{
import java.io.OutputStream;
import java.util.List;
import java.util.Map;
+import jp.sfjp.mikutoga.bin.export.IllegalTextExportException;
+import jp.sfjp.mikutoga.pmd.IllegalPmdDataException;
+import jp.sfjp.mikutoga.pmd.MorphType;
+import jp.sfjp.mikutoga.pmd.PmdLimits;
import jp.sfjp.mikutoga.pmd.model.BoneGroup;
import jp.sfjp.mikutoga.pmd.model.BoneInfo;
import jp.sfjp.mikutoga.pmd.model.MorphPart;
import jp.sfjp.mikutoga.pmd.model.PmdModel;
-import jp.sourceforge.mikutoga.binio.IllegalTextExportException;
-import jp.sourceforge.mikutoga.pmd.IllegalPmdDataException;
-import jp.sourceforge.mikutoga.pmd.MorphType;
-import jp.sourceforge.mikutoga.pmd.parser.PmdLimits;
/**
* PMDファイルのエクスポーター(拡張1:英名対応)。
* 英語名情報を出力する。
* @param model モデルデータ
* @throws IOException 出力エラー
- * @throws IllegalPmdTextException 文字列が長すぎる。
+ * @throws IllegalPmdDataException 文字列が長すぎる。
*/
private void dumpGlobalInfo(PmdModel model)
throws IOException, IllegalPmdDataException{
* モデル基本情報を英語で出力する。
* @param model モデルデータ
* @throws IOException 出力エラー
- * @throws IllegalPmdTextException 文字列が長すぎる。
+ * @throws IllegalTextExportException 文字列が長すぎる。
*/
private void dumpBasicGlobal(PmdModel model)
throws IOException, IllegalTextExportException{
* ボーン英語名情報を出力する。
* @param model モデルデータ
* @throws IOException 出力エラー
- * @throws IllegalPmdTextException 文字列が長すぎる。
+ * @throws IllegalTextExportException 文字列が長すぎる。
*/
private void dumpBoneGlobal(PmdModel model)
throws IOException, IllegalTextExportException{
* モーフ英語名情報を出力する。
* @param model モデルデータ
* @throws IOException 出力エラー
- * @throws IllegalPmdTextException 文字列が長すぎる。
+ * @throws IllegalTextExportException 文字列が長すぎる。
*/
private void dumpMorphGlobal(PmdModel model)
throws IOException, IllegalTextExportException{
* ボーングループ英語名情報を出力する。
* @param model モデルデータ
* @throws IOException 出力エラー
- * @throws IllegalPmdTextException 文字列が長すぎる
+ * @throws IllegalTextExportException 文字列が長すぎる
*/
private void dumpBoneGroupGlobal(PmdModel model)
throws IOException, IllegalTextExportException{
import java.io.IOException;
import java.io.OutputStream;
+import jp.sfjp.mikutoga.bin.export.IllegalTextExportException;
+import jp.sfjp.mikutoga.pmd.IllegalPmdDataException;
+import jp.sfjp.mikutoga.pmd.PmdLimits;
import jp.sfjp.mikutoga.pmd.model.PmdModel;
import jp.sfjp.mikutoga.pmd.model.ToonMap;
-import jp.sourceforge.mikutoga.binio.IllegalTextExportException;
-import jp.sourceforge.mikutoga.pmd.IllegalPmdDataException;
-import jp.sourceforge.mikutoga.pmd.parser.PmdLimits;
/**
* PMDファイルのエクスポーター(拡張2:任意のトゥーンファイル名対応)。
* 独自トゥーンファイルテーブルを出力する。
* @param model モデルデータ
* @throws IOException 出力エラー
- * @throws IllegalPmdTextException トゥーンファイル名が長すぎる
+ * @throws IllegalTextExportException トゥーンファイル名が長すぎる
*/
private void dumpToonMap(PmdModel model)
throws IOException, IllegalTextExportException{
import java.io.IOException;
import java.io.OutputStream;
import java.util.List;
+import jp.sfjp.mikutoga.bin.export.IllegalTextExportException;
+import jp.sfjp.mikutoga.pmd.Deg3d;
+import jp.sfjp.mikutoga.pmd.IllegalPmdDataException;
+import jp.sfjp.mikutoga.pmd.PmdLimits;
+import jp.sfjp.mikutoga.pmd.Rad3d;
+import jp.sfjp.mikutoga.pmd.RigidShapeType;
+import jp.sfjp.mikutoga.pmd.TripletRange;
import jp.sfjp.mikutoga.pmd.model.BoneInfo;
import jp.sfjp.mikutoga.pmd.model.DynamicsInfo;
import jp.sfjp.mikutoga.pmd.model.JointInfo;
import jp.sfjp.mikutoga.pmd.model.RigidGroup;
import jp.sfjp.mikutoga.pmd.model.RigidInfo;
import jp.sfjp.mikutoga.pmd.model.RigidShape;
-import jp.sourceforge.mikutoga.binio.IllegalTextExportException;
-import jp.sourceforge.mikutoga.pmd.Deg3d;
-import jp.sourceforge.mikutoga.pmd.IllegalPmdDataException;
-import jp.sourceforge.mikutoga.pmd.Rad3d;
-import jp.sourceforge.mikutoga.pmd.RigidShapeType;
-import jp.sourceforge.mikutoga.pmd.TripletRange;
-import jp.sourceforge.mikutoga.pmd.parser.PmdLimits;
/**
* PMDファイルのエクスポーター(拡張3:物理演算対応)。
* 剛体リストを出力する。
* @param model モデルデータ
* @throws IOException 出力エラー
- * @throws IllegalPmdTextException 長すぎる剛体名
+ * @throws IllegalTextExportException 長すぎる剛体名
*/
private void dumpRigidList(PmdModel model)
throws IOException, IllegalTextExportException{
* 個別の剛体情報を出力する。
* @param rigid 剛体
* @throws IOException 出力エラー
- * @throws IllegalPmdTextException 長すぎる剛体名
+ * @throws IllegalTextExportException 長すぎる剛体名
*/
private void dumpRigid(RigidInfo rigid)
throws IOException, IllegalTextExportException{
* ジョイントリストを出力する。
* @param model モデルデータ
* @throws IOException 出力エラー
- * @throws IllegalPmdTextException 長すぎるジョイント名
+ * @throws IllegalTextExportException 長すぎるジョイント名
*/
private void dumpJointList(PmdModel model)
throws IOException, IllegalTextExportException{
* 個別のジョイント情報を出力する。
* @param joint ジョイント
* @throws IOException 出力エラー
- * @throws IllegalPmdTextException 長すぎるジョイント名
+ * @throws IllegalTextExportException 長すぎるジョイント名
*/
private void dumpJoint(JointInfo joint)
throws IOException, IllegalTextExportException{
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
+import jp.sfjp.mikutoga.bin.parser.MmdFormatException;
import jp.sfjp.mikutoga.pmd.model.MorphPart;
import jp.sfjp.mikutoga.pmd.model.PmdModel;
-import jp.sourceforge.mikutoga.parser.MmdFormatException;
-import jp.sourceforge.mikutoga.pmd.parser.PmdParser;
+import jp.sfjp.mikutoga.pmd.parser.PmdParser;
/**
* PMDモデルファイルを読み込むためのローダ。
import java.util.Iterator;
import java.util.List;
+import jp.sfjp.mikutoga.bin.parser.ParseStage;
+import jp.sfjp.mikutoga.math.MkPos3D;
+import jp.sfjp.mikutoga.pmd.PmdLimits;
+import jp.sfjp.mikutoga.pmd.Rad3d;
+import jp.sfjp.mikutoga.pmd.RigidBehaviorType;
+import jp.sfjp.mikutoga.pmd.RigidShapeType;
import jp.sfjp.mikutoga.pmd.model.BoneInfo;
import jp.sfjp.mikutoga.pmd.model.DynamicsInfo;
import jp.sfjp.mikutoga.pmd.model.ListUtil;
import jp.sfjp.mikutoga.pmd.model.RigidGroup;
import jp.sfjp.mikutoga.pmd.model.RigidInfo;
import jp.sfjp.mikutoga.pmd.model.RigidShape;
-import jp.sourceforge.mikutoga.math.MkPos3D;
-import jp.sourceforge.mikutoga.parser.ParseStage;
-import jp.sourceforge.mikutoga.pmd.Rad3d;
-import jp.sourceforge.mikutoga.pmd.RigidBehaviorType;
-import jp.sourceforge.mikutoga.pmd.RigidShapeType;
-import jp.sourceforge.mikutoga.pmd.parser.PmdLimits;
-import jp.sourceforge.mikutoga.pmd.parser.PmdRigidHandler;
+import jp.sfjp.mikutoga.pmd.parser.PmdRigidHandler;
/**
* 剛体関係の通知をパーサから受け取る。
import java.util.Iterator;
import java.util.List;
import java.util.RandomAccess;
+import jp.sfjp.mikutoga.bin.parser.ParseStage;
+import jp.sfjp.mikutoga.math.MkPos2D;
+import jp.sfjp.mikutoga.math.MkPos3D;
+import jp.sfjp.mikutoga.math.MkVec3D;
import jp.sfjp.mikutoga.pmd.model.BoneInfo;
import jp.sfjp.mikutoga.pmd.model.ListUtil;
import jp.sfjp.mikutoga.pmd.model.PmdModel;
import jp.sfjp.mikutoga.pmd.model.Surface;
import jp.sfjp.mikutoga.pmd.model.Vertex;
-import jp.sourceforge.mikutoga.math.MkPos2D;
-import jp.sourceforge.mikutoga.math.MkPos3D;
-import jp.sourceforge.mikutoga.math.MkVec3D;
-import jp.sourceforge.mikutoga.parser.ParseStage;
-import jp.sourceforge.mikutoga.pmd.parser.PmdShapeHandler;
+import jp.sfjp.mikutoga.pmd.parser.PmdShapeHandler;
/**
* モデル形状に関する通知をパーサから受け取る。
import java.util.Iterator;
import java.util.List;
+import jp.sfjp.mikutoga.bin.parser.ParseStage;
+import jp.sfjp.mikutoga.corelib.I18nText;
import jp.sfjp.mikutoga.pmd.model.BoneGroup;
import jp.sfjp.mikutoga.pmd.model.BoneInfo;
import jp.sfjp.mikutoga.pmd.model.MorphPart;
import jp.sfjp.mikutoga.pmd.model.PmdModel;
-import jp.sourceforge.mikutoga.corelib.I18nText;
-import jp.sourceforge.mikutoga.parser.ParseStage;
-import jp.sourceforge.mikutoga.pmd.parser.PmdBasicHandler;
-import jp.sourceforge.mikutoga.pmd.parser.PmdEngHandler;
+import jp.sfjp.mikutoga.pmd.parser.PmdBasicHandler;
+import jp.sfjp.mikutoga.pmd.parser.PmdEngHandler;
/**
* テキスト関係の通知をパーサから受け取る。
package jp.sfjp.mikutoga.pmd.binio;
+import jp.sfjp.mikutoga.bin.parser.ParseStage;
+import jp.sfjp.mikutoga.pmd.PmdLimits;
import jp.sfjp.mikutoga.pmd.model.PmdModel;
import jp.sfjp.mikutoga.pmd.model.ToonMap;
-import jp.sourceforge.mikutoga.parser.ParseStage;
-import jp.sourceforge.mikutoga.pmd.parser.PmdLimits;
-import jp.sourceforge.mikutoga.pmd.parser.PmdToonHandler;
+import jp.sfjp.mikutoga.pmd.parser.PmdToonHandler;
/**
* トゥーン関係の通知をパーサから受け取る。
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
-import jp.sourceforge.mikutoga.corelib.I18nText;
+import jp.sfjp.mikutoga.corelib.I18nText;
/**
* ボーングループ。
package jp.sfjp.mikutoga.pmd.model;
-import jp.sourceforge.mikutoga.corelib.I18nText;
-import jp.sourceforge.mikutoga.math.MkPos3D;
-import jp.sourceforge.mikutoga.pmd.BoneType;
+import jp.sfjp.mikutoga.corelib.I18nText;
+import jp.sfjp.mikutoga.math.MkPos3D;
+import jp.sfjp.mikutoga.pmd.BoneType;
/**
* ボーン情報。
package jp.sfjp.mikutoga.pmd.model;
-import jp.sourceforge.mikutoga.corelib.I18nText;
-import jp.sourceforge.mikutoga.math.MkPos3D;
-import jp.sourceforge.mikutoga.pmd.Deg3d;
-import jp.sourceforge.mikutoga.pmd.Rad3d;
-import jp.sourceforge.mikutoga.pmd.TripletRange;
+import jp.sfjp.mikutoga.corelib.I18nText;
+import jp.sfjp.mikutoga.math.MkPos3D;
+import jp.sfjp.mikutoga.pmd.Deg3d;
+import jp.sfjp.mikutoga.pmd.Rad3d;
+import jp.sfjp.mikutoga.pmd.TripletRange;
/**
* 剛体間ジョイント情報。
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
-import jp.sourceforge.mikutoga.corelib.I18nText;
+import jp.sfjp.mikutoga.corelib.I18nText;
/**
* マテリアル素材情報。
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
-import jp.sourceforge.mikutoga.corelib.I18nText;
-import jp.sourceforge.mikutoga.pmd.MorphType;
+import jp.sfjp.mikutoga.corelib.I18nText;
+import jp.sfjp.mikutoga.pmd.MorphType;
/**
* 個別モーフ情報。
package jp.sfjp.mikutoga.pmd.model;
import java.util.Comparator;
-import jp.sourceforge.mikutoga.math.MkPos3D;
+import jp.sfjp.mikutoga.math.MkPos3D;
/**
* モーフアニメーションを構成する個別の頂点移動の情報。
import java.util.Map;
import java.util.RandomAccess;
import java.util.Set;
-import jp.sourceforge.mikutoga.corelib.I18nText;
-import jp.sourceforge.mikutoga.pmd.MorphType;
+import jp.sfjp.mikutoga.corelib.I18nText;
+import jp.sfjp.mikutoga.pmd.MorphType;
/**
* PMDモデルファイル一式に相当するもの。
import java.util.ArrayList;
import java.util.Collection;
-import jp.sourceforge.mikutoga.corelib.I18nText;
-import jp.sourceforge.mikutoga.math.MkPos3D;
-import jp.sourceforge.mikutoga.pmd.Rad3d;
-import jp.sourceforge.mikutoga.pmd.RigidBehaviorType;
+import jp.sfjp.mikutoga.corelib.I18nText;
+import jp.sfjp.mikutoga.math.MkPos3D;
+import jp.sfjp.mikutoga.pmd.Rad3d;
+import jp.sfjp.mikutoga.pmd.RigidBehaviorType;
/**
* 個別の剛体の情報。
package jp.sfjp.mikutoga.pmd.model;
-import jp.sourceforge.mikutoga.pmd.RigidShapeType;
+import jp.sfjp.mikutoga.pmd.RigidShapeType;
/**
* 剛体形状に関する情報。
package jp.sfjp.mikutoga.pmd.model;
-import jp.sourceforge.mikutoga.math.MkPos2D;
-import jp.sourceforge.mikutoga.math.MkPos3D;
-import jp.sourceforge.mikutoga.math.MkVec3D;
+import jp.sfjp.mikutoga.math.MkPos2D;
+import jp.sfjp.mikutoga.math.MkPos3D;
+import jp.sfjp.mikutoga.math.MkVec3D;
/**
* 頂点情報。
+++ /dev/null
-/*
- * XML custom error-handler
- *
- * License : The MIT License
- * Copyright(c) 2010 MikuToga Partners
- */
-
-package jp.sfjp.mikutoga.pmd.xml;
-
-import org.xml.sax.ErrorHandler;
-import org.xml.sax.SAXException;
-import org.xml.sax.SAXParseException;
-
-/**
- * 自製エラーハンドラ。
- * 例外を渡されれば即投げる。
- */
-public final class BotherHandler implements ErrorHandler{
-
- /**
- * 唯一のシングルトン。
- */
- public static final ErrorHandler HANDLER = new BotherHandler();
-
- /**
- * 隠しコンストラクタ。
- */
- private BotherHandler(){
- 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;
- }
-
-}
+++ /dev/null
-/*
- * local xml schema for PMD-XML
- *
- * License : The MIT License
- * Copyright(c) 2013 MikuToga Partners
- */
-
-package jp.sfjp.mikutoga.pmd.xml;
-
-import java.io.BufferedInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.MalformedURLException;
-import java.net.URI;
-import java.net.URL;
-import java.util.LinkedList;
-import java.util.List;
-import javax.xml.XMLConstants;
-import javax.xml.transform.Source;
-import javax.xml.transform.stream.StreamSource;
-import javax.xml.validation.Schema;
-import javax.xml.validation.SchemaFactory;
-import jp.sourceforge.mikutoga.xml.XmlResourceResolver;
-import org.xml.sax.SAXException;
-
-/**
- * XML用各種スキーマのローカル参照解決基盤。
- */
-public abstract class LocalSchema {
-
- /**
- * コンストラクタ。
- */
- protected LocalSchema(){
- super();
- return;
- }
-
-
- /**
- * XML Schema 用のスキーマファクトリを返す。
- * @return スキーマファクトリ
- */
- private static SchemaFactory newSchemaFactory(){
- SchemaFactory schemaFactory =
- SchemaFactory.newInstance(
- XMLConstants.W3C_XML_SCHEMA_NS_URI
- );
-
-// schemaFactory.setFeature(name, value);
-// schemaFactory.setProperty(name, object);
-
- schemaFactory.setErrorHandler(BotherHandler.HANDLER);
-
- return schemaFactory;
- }
-
- /**
- * ローカルスキーマをロードする。
- * <p>任意のリゾルバを指定可能
- * @param resolver リゾルバ
- * @param lscs ローカルスキーマ情報の配列
- * @return スキーマ
- */
- public static Schema newSchema(XmlResourceResolver resolver,
- LocalSchema... lscs ){
- List<Source> sourceList = new LinkedList<Source>();
- for(LocalSchema lsc : lscs){
- if(lsc == null) continue;
- lsc.appendToUriMap(resolver);
-
- Source local = lsc.getLocalSchemaSource();
- if(local == null) continue;
- sourceList.add(local);
- }
-
- SchemaFactory schemaFactory = newSchemaFactory();
- schemaFactory.setResourceResolver(resolver);
-
- Source[] sources = new Source[sourceList.size()];
- sourceList.toArray(sources);
-
- Schema result;
- try{
- if(sources.length <= 0){
- result = schemaFactory.newSchema();
- }else{
- result = schemaFactory.newSchema(sources);
- }
- }catch(SAXException e){ // Build error
- assert false;
- throw new AssertionError(e);
- }
-
- return result;
- }
-
- /**
- * オリジナル版スキーマ定義のURIを返す。
- * <p>nullを返す場合は
- * スキーマの自動判定&ダウンロードが求められていると見なされる。
- * <p>このクラスの実装では常にnullを返す。
- * @return オリジナル版スキーマのURL。
- */
- public abstract URI getOriginalSchema();
-
- /**
- * ローカルリソース版スキーマ定義のURIを返す。
- * <p>nullを返す場合は
- * スキーマの自動判定&ダウンロードが求められていると見なされる。
- * <p>このクラスの実装では常にnullを返す。
- * @return ローカルリソース版スキーマのURL。
- */
- public abstract URI getLocalSchema();
-
- /**
- * スキーマのSourceを返す。
- * <p>ローカルスキーマのSourceを返す。
- * @return Source 見つからなければnull
- */
- public Source getLocalSchemaSource(){
- URI uri;
-
- uri = getLocalSchema();
- if(uri == null) return null;
-
- URL url;
- try{
- url = uri.toURL();
- }catch(MalformedURLException e){ // Build error
- assert false;
- throw new AssertionError(e);
- }
-
- InputStream is;
- try{
- is = url.openStream();
- }catch(IOException e){ // Build error
- assert false;
- throw new AssertionError(e);
- }
- is = new BufferedInputStream(is);
-
- Source result = new StreamSource(is);
-
- return result;
- }
-
- /**
- * ローカルで解決可能なリソース参照をリゾルバに追加登録する。
- * @param resolver リゾルバ
- */
- public void appendToUriMap(XmlResourceResolver resolver){
- URI original = getOriginalSchema();
- URI local = getLocalSchema();
-
- if(original == null) return;
-
- resolver.putRedirected(original, local);
-
- return;
- }
-
-}
import java.net.URI;
import java.net.URISyntaxException;
+import jp.sourceforge.mikutoga.xml.LocalSchema;
/**
* 101009形式XML各種リソースの定義。
import java.net.URI;
import java.net.URISyntaxException;
+import jp.sourceforge.mikutoga.xml.LocalSchema;
/**
* 130128形式XML各種リソースの定義。
import java.io.IOException;
import java.io.OutputStream;
import java.util.List;
+import java.util.Locale;
import java.util.Map;
+import jp.sfjp.mikutoga.corelib.I18nText;
+import jp.sfjp.mikutoga.math.MkPos2D;
+import jp.sfjp.mikutoga.math.MkPos3D;
+import jp.sfjp.mikutoga.math.MkVec3D;
+import jp.sfjp.mikutoga.pmd.BoneType;
+import jp.sfjp.mikutoga.pmd.Deg3d;
+import jp.sfjp.mikutoga.pmd.MorphType;
+import jp.sfjp.mikutoga.pmd.Rad3d;
+import jp.sfjp.mikutoga.pmd.RigidShapeType;
+import jp.sfjp.mikutoga.pmd.TripletRange;
import jp.sfjp.mikutoga.pmd.model.BoneGroup;
import jp.sfjp.mikutoga.pmd.model.BoneInfo;
import jp.sfjp.mikutoga.pmd.model.DynamicsInfo;
import jp.sfjp.mikutoga.pmd.model.Surface;
import jp.sfjp.mikutoga.pmd.model.ToonMap;
import jp.sfjp.mikutoga.pmd.model.Vertex;
-import jp.sourceforge.mikutoga.corelib.I18nText;
-import jp.sourceforge.mikutoga.math.MkPos2D;
-import jp.sourceforge.mikutoga.math.MkPos3D;
-import jp.sourceforge.mikutoga.math.MkVec3D;
-import jp.sourceforge.mikutoga.pmd.BoneType;
-import jp.sourceforge.mikutoga.pmd.Deg3d;
-import jp.sourceforge.mikutoga.pmd.MorphType;
-import jp.sourceforge.mikutoga.pmd.Rad3d;
-import jp.sourceforge.mikutoga.pmd.RigidShapeType;
-import jp.sourceforge.mikutoga.pmd.TripletRange;
import jp.sourceforge.mikutoga.xml.BasicXmlExporter;
import jp.sourceforge.mikutoga.xml.XmlResourceResolver;
+ "[1 : ONLYDYNAMICS : 物理演算 ]\n"
+ "[2 : BONEDDYNAMICS : ボーン位置合わせ ]\n";
+ private static final Locale DEF_LOCALE = Locale.JAPANESE;
+
+
private String generator = null;
private XmlModelFileType xmlType = XmlModelFileType.XML_101009;
boneName = "[NAMELESS]";
}
boneComment.append(boneName);
- String typeName = type.getGuiName();
+ String typeName = type.getGuiName(DEF_LOCALE);
boneComment.append(" [").append(typeName).append(']');
ind().putLineComment(boneComment.toString()).ln();
import java.util.List;
import java.util.Map;
import javax.xml.parsers.DocumentBuilder;
+import jp.sfjp.mikutoga.corelib.I18nText;
+import jp.sfjp.mikutoga.math.MkPos2D;
+import jp.sfjp.mikutoga.math.MkPos3D;
+import jp.sfjp.mikutoga.math.MkVec3D;
+import jp.sfjp.mikutoga.pmd.BoneType;
+import jp.sfjp.mikutoga.pmd.Deg3d;
+import jp.sfjp.mikutoga.pmd.MorphType;
+import jp.sfjp.mikutoga.pmd.Rad3d;
+import jp.sfjp.mikutoga.pmd.RigidBehaviorType;
+import jp.sfjp.mikutoga.pmd.RigidShapeType;
+import jp.sfjp.mikutoga.pmd.TripletRange;
import jp.sfjp.mikutoga.pmd.model.BoneGroup;
import jp.sfjp.mikutoga.pmd.model.BoneInfo;
import jp.sfjp.mikutoga.pmd.model.DynamicsInfo;
import jp.sfjp.mikutoga.pmd.model.Surface;
import jp.sfjp.mikutoga.pmd.model.ToonMap;
import jp.sfjp.mikutoga.pmd.model.Vertex;
-import jp.sourceforge.mikutoga.corelib.I18nText;
-import jp.sourceforge.mikutoga.math.MkPos2D;
-import jp.sourceforge.mikutoga.math.MkPos3D;
-import jp.sourceforge.mikutoga.math.MkVec3D;
-import jp.sourceforge.mikutoga.pmd.BoneType;
-import jp.sourceforge.mikutoga.pmd.Deg3d;
-import jp.sourceforge.mikutoga.pmd.MorphType;
-import jp.sourceforge.mikutoga.pmd.Rad3d;
-import jp.sourceforge.mikutoga.pmd.RigidBehaviorType;
-import jp.sourceforge.mikutoga.pmd.RigidShapeType;
-import jp.sourceforge.mikutoga.pmd.TripletRange;
import jp.sourceforge.mikutoga.xml.DomNsUtils;
import jp.sourceforge.mikutoga.xml.DomUtils;
import jp.sourceforge.mikutoga.xml.TogaXmlException;
import java.io.PrintStream;
import java.nio.channels.FileChannel;
import java.util.Properties;
-import jp.sourceforge.mikutoga.parser.MmdFormatException;
-import jp.sourceforge.mikutoga.pmd.IllegalPmdDataException;
+import jp.sfjp.mikutoga.bin.parser.MmdFormatException;
+import jp.sfjp.mikutoga.pmd.IllegalPmdDataException;
import jp.sourceforge.mikutoga.xml.TogaXmlException;
import org.xml.sax.SAXException;
if( ! file.exists() ) return;
if( ! file.isFile() ) return;
- FileOutputStream foStream = new FileOutputStream(file);
- FileChannel channnel = foStream.getChannel();
- channnel.truncate(0);
+ if(file.length() <= 0L) return;
- channnel.close();
- foStream.close();
+ FileOutputStream foStream = new FileOutputStream(file);
+ try{
+ FileChannel channnel = foStream.getChannel();
+ try{
+ channnel.truncate(0L);
+ }finally{
+ channnel.close();
+ }
+ }finally{
+ foStream.close();
+ }
return;
}
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.validation.Schema;
+import jp.sfjp.mikutoga.bin.parser.MmdFormatException;
+import jp.sfjp.mikutoga.pmd.IllegalPmdDataException;
import jp.sfjp.mikutoga.pmd.binio.PmdExporter;
import jp.sfjp.mikutoga.pmd.binio.PmdLoader;
import jp.sfjp.mikutoga.pmd.model.PmdModel;
-import jp.sfjp.mikutoga.pmd.xml.BotherHandler;
-import jp.sfjp.mikutoga.pmd.xml.LocalSchema;
import jp.sfjp.mikutoga.pmd.xml.Schema101009;
import jp.sfjp.mikutoga.pmd.xml.Schema130128;
import jp.sfjp.mikutoga.pmd.xml.XmlExporter;
import jp.sfjp.mikutoga.pmd.xml.XmlLoader;
import jp.sfjp.mikutoga.pmd.xml.XmlModelFileType;
-import jp.sourceforge.mikutoga.parser.MmdFormatException;
-import jp.sourceforge.mikutoga.pmd.IllegalPmdDataException;
+import jp.sourceforge.mikutoga.xml.BotherHandler;
+import jp.sourceforge.mikutoga.xml.LocalSchema;
import jp.sourceforge.mikutoga.xml.TogaXmlException;
import jp.sourceforge.mikutoga.xml.XmlResourceResolver;
import org.xml.sax.InputSource;