OSDN Git Service

modify pmd warnings
authorOlyutorskii <olyutorskii@users.osdn.me>
Wed, 21 Mar 2018 04:04:27 +0000 (13:04 +0900)
committerOlyutorskii <olyutorskii@users.osdn.me>
Wed, 21 Mar 2018 04:04:27 +0000 (13:04 +0900)
config/pmd/pmdrules.xml
src/main/java/jp/sourceforge/jindolf/parser/DecodedContent.java
src/main/java/jp/sourceforge/jindolf/parser/HtmlParser.java
src/main/java/jp/sourceforge/jindolf/parser/SysEventParser.java
src/main/java/jp/sourceforge/jindolf/parser/TalkParser.java
src/test/java/jp/sourceforge/jindolf/parser/DecodedContentTest.java

index cfb841b..369f10e 100644 (file)
         <exclude name="LocalVariableCouldBeFinal" />
         <exclude name="MethodArgumentCouldBeFinal" />
         <exclude name="OnlyOneReturn" />
-        <exclude name="ShortVariable" />
         <exclude name="UnnecessaryLocalBeforeReturn" />
         <exclude name="UnnecessaryReturn" />
     </rule>
+    <rule ref="category/java/codestyle.xml/LongVariable" >
+        <properties>
+            <property name="minimum" value="25"/>
+        </properties>
+    </rule>
+    <rule ref="category/java/codestyle.xml/ShortVariable" >
+        <properties>
+            <property name="minimum" value="2"/>
+        </properties>
+    </rule>
 
     <rule ref="category/java/design.xml" >
         <exclude name="LawOfDemeter" />
         <exclude name="LoosePackageCoupling" />
     </rule>
+    <rule ref="category/java/design.xml/NcssCount" >
+        <properties>
+            <property name="methodReportLevel" value="50"/>
+        </properties>
+    </rule>
 
     <rule ref="category/java/documentation.xml" />
     <rule ref="category/java/documentation.xml/CommentRequired" >
index 55604b9..ee5cd55 100644 (file)
@@ -125,14 +125,14 @@ public class DecodedContent
         int roof  = errList.size() - 1;
 
         while(floor <= roof){
-            int midpoint = (floor + roof) / 2;  // 切り捨て
+            int gapHalf = (roof - floor) / 2;  // 切り捨て
+            int midpoint = floor + gapHalf;
             DecodeErrorInfo einfo = errList.get(midpoint);
             int cmp = einfo.getCharPosition() - startPos;
 
-            if(cmp == 0) return midpoint;
-
             if     (cmp < 0) floor = midpoint + 1;
             else if(cmp > 0) roof  = midpoint - 1;
+            else return midpoint;
         }
 
         return floor;
index bbac233..587c92b 100644 (file)
@@ -14,6 +14,10 @@ import jp.sourceforge.jindolf.corelib.VillageState;
 /**
  * 人狼BBS各種XHTML文字列のパースを行いハンドラに通知する。
  */
+@SuppressWarnings({
+    "PMD.FieldDeclarationsShouldBeAtStartOfClass",
+    "PMD.PrematureDeclaration"
+})
 public class HtmlParser extends AbstractParser{
 
     private static final String SP = "\u0020";
index f1cc54a..f8a7df3 100644 (file)
@@ -17,6 +17,10 @@ import jp.sourceforge.jindolf.corelib.Team;
  * 人狼BBSシステムが出力する各種イベント表記のパースを行うパーサ。
  * パース進行に従い{@link SysEventHandler}の各種メソッドが呼び出される。
  */
+@SuppressWarnings({
+    "PMD.FieldDeclarationsShouldBeAtStartOfClass",
+    "PMD.PrematureDeclaration"
+})
 public class SysEventParser extends AbstractParser{
 
     private static final String AVATAR_REGEX =
index e9337d8..18e0b18 100644 (file)
@@ -14,6 +14,7 @@ import jp.sourceforge.jindolf.corelib.TalkType;
  * 人狼BBSシステムが出力する各発言箇所のパーサ。
  * パース進行に従い{@link TalkHandler}の各種メソッドが呼び出される。
  */
+@SuppressWarnings("PMD.FieldDeclarationsShouldBeAtStartOfClass")
 public class TalkParser extends AbstractParser{
 
     private TalkHandler talkHandler;
index b3fe931..d218b69 100644 (file)
@@ -651,6 +651,10 @@ public class DecodedContentTest {
         errList.add(new DecodeErrorInfo(15, (byte)0x00));
         result = DecodedContent.bsearchErrorIndex(errList, 10);
         assertEquals(2, result);
+        result = DecodedContent.bsearchErrorIndex(errList, 9);
+        assertEquals(2, result);
+        result = DecodedContent.bsearchErrorIndex(errList, 11);
+        assertEquals(3, result);
 
         return;
     }