OSDN Git Service

G国新メッセージに対応
authorOlyutorskii <olyutorskii@users.osdn.me>
Mon, 18 Apr 2011 21:01:22 +0000 (06:01 +0900)
committerOlyutorskii <olyutorskii@users.osdn.me>
Mon, 18 Apr 2011 21:01:22 +0000 (06:01 +0900)
src/main/java/jp/sourceforge/jindolf/archiver/EventData.java
src/main/java/jp/sourceforge/jindolf/archiver/Handler.java

index 3fd9b44..7c8f81f 100644 (file)
@@ -43,6 +43,10 @@ public class EventData extends TopicData{
         case WINHAMSTER:   tagName = "winHamster";   break;\r
         case PLAYERLIST:   tagName = "playerList";   break;\r
         case PANIC:        tagName = "panic";        break;\r
+        case EXECUTION:    tagName = "execution";    break;\r
+        case VANISH:       tagName = "vanish";       break;\r
+        case CHECKOUT:     tagName = "checkout";     break;\r
+        case SHORTMEMBER:  tagName = "shortMember";  break;\r
         case ASKENTRY:     tagName = "askEntry";     break;\r
         case ASKCOMMIT:    tagName = "askCommit";    break;\r
         case NOCOMMENT:    tagName = "noComment";    break;\r
@@ -50,6 +54,7 @@ public class EventData extends TopicData{
         case GAMEOVER:     tagName = "gameOver";     break;\r
         case GUARD:        tagName = "guard";        break;\r
         case JUDGE:        tagName = "judge";        break;\r
+        case COUNTING2:    tagName = "counting2";    break;\r
         case ASSAULT:      tagName = "assault";      break;\r
         default: throw new IllegalArgumentException();\r
         }\r
@@ -185,7 +190,21 @@ public class EventData extends TopicData{
     }\r
 \r
     /**\r
-     * COUNTING属性値をXML出力する。\r
+     * avatarId属性値をXML出力する。\r
+     * @param writer 出力先\r
+     * @throws IOException 出力エラー\r
+     */\r
+    public void dumpSingleAvatarAttr(Writer writer) throws IOException{\r
+        AvatarData avatarData = this.avatarList.get(0);\r
+\r
+        writer.append(' ');\r
+        XmlUtils.attrOut(writer, "avatarId", avatarData.getAvatarId());\r
+\r
+        return;\r
+    }\r
+\r
+    /**\r
+     * COUNTINGのvictim属性値をXML出力する。\r
      * @param writer 出力先\r
      * @throws IOException 出力エラー\r
      */\r
@@ -200,16 +219,18 @@ public class EventData extends TopicData{
     }\r
 \r
     /**\r
-     * SUDDENDEATH属性値をXML出力する。\r
+     * EXECUTIONのvictim属性値をXML出力する。\r
      * @param writer 出力先\r
      * @throws IOException 出力エラー\r
      */\r
-    public void dumpSuddendeathAttr(Writer writer) throws IOException{\r
-        AvatarData avatarData = this.avatarList.get(0);\r
-\r
-        writer.append(' ');\r
-        XmlUtils.attrOut(writer, "avatarId", avatarData.getAvatarId());\r
-\r
+    public void dumpExecutionAttr(Writer writer) throws IOException{\r
+        int totalAvatar = this.avatarList.size();\r
+        int totalVotes = this.intList.size();\r
+        if(totalAvatar != totalVotes){\r
+            AvatarData victim = this.avatarList.get(totalAvatar - 1);\r
+            writer.append(' ');\r
+            XmlUtils.attrOut(writer, "victim", victim.getAvatarId());\r
+        }\r
         return;\r
     }\r
 \r
@@ -360,6 +381,26 @@ public class EventData extends TopicData{
     }\r
 \r
     /**\r
+     * execution子要素をXML出力する。\r
+     * @param writer 出力先\r
+     * @throws IOException 出力エラー\r
+     */\r
+    public void dumpExecutionElem(Writer writer) throws IOException{\r
+        int total = this.intList.size();\r
+        for(int index = 0; index < total; index++){\r
+            AvatarData voteTo = this.avatarList.get(index);\r
+            int count = this.intList.get(index);\r
+            writer.append("<nominated");\r
+            writer.append(' ');\r
+            XmlUtils.attrOut(writer, "avatarId", voteTo.getAvatarId());\r
+            writer.append(' ');\r
+            XmlUtils.attrOut(writer, "count", "" + count);\r
+            writer.append(" />\n");\r
+        }\r
+        return;\r
+    }\r
+\r
+    /**\r
      * playerlist子要素をXML出力する。\r
      * @param writer 出力先\r
      * @throws IOException 出力エラー\r
@@ -476,8 +517,13 @@ public class EventData extends TopicData{
         case COUNTING:\r
             dumpCountingAttr(writer);\r
             break;\r
+        case EXECUTION:\r
+            dumpExecutionAttr(writer);\r
+            break;\r
         case SUDDENDEATH:\r
-            dumpSuddendeathAttr(writer);\r
+        case VANISH:\r
+        case CHECKOUT:\r
+            dumpSingleAvatarAttr(writer);\r
             break;\r
         case ASKENTRY:\r
             dumpAskEntryAttr(writer);\r
@@ -516,8 +562,12 @@ public class EventData extends TopicData{
             dumpSurvivorElem(writer);\r
             break;\r
         case COUNTING:\r
+        case COUNTING2:\r
             dumpCountingElem(writer);\r
             break;\r
+        case EXECUTION:\r
+            dumpExecutionElem(writer);\r
+            break;\r
         case PLAYERLIST:\r
             dumpPlayerlistElem(writer);\r
             break;\r
index b4c31f4..685ec54 100644 (file)
@@ -574,6 +574,33 @@ public class Handler extends HtmlAdapter{
     /**\r
      * {@inheritDoc}\r
      * @param content {@inheritDoc}\r
+     * @param voteByRange {@inheritDoc}\r
+     * @param voteToRange {@inheritDoc}\r
+     * @throws HtmlParseException {@inheritDoc}\r
+     */\r
+    @Override\r
+    public void sysEventCounting2(DecodedContent content,\r
+                                    SeqRange voteByRange,\r
+                                    SeqRange voteToRange)\r
+            throws HtmlParseException{\r
+        AvatarData avatar;\r
+\r
+        DecodedContent voteBy =\r
+                this.converter.convert(content, voteByRange);\r
+        avatar = this.villageData.getAvatarData(voteBy);\r
+        this.currentEvent.addAvatarData(avatar);\r
+\r
+        DecodedContent voteTo =\r
+                this.converter.convert(content, voteToRange);\r
+        avatar = this.villageData.getAvatarData(voteTo);\r
+        this.currentEvent.addAvatarData(avatar);\r
+\r
+        return;\r
+    }\r
+\r
+    /**\r
+     * {@inheritDoc}\r
+     * @param content {@inheritDoc}\r
      * @param avatarRange {@inheritDoc}\r
      * @throws HtmlParseException {@inheritDoc}\r
      */\r
@@ -761,6 +788,64 @@ public class Handler extends HtmlAdapter{
 \r
     /**\r
      * {@inheritDoc}\r
+     * @param content {@inheritDoc}\r
+     * @param avatarRange {@inheritDoc}\r
+     * @param votes {@inheritDoc}\r
+     * @throws HtmlParseException {@inheritDoc}\r
+     */\r
+    @Override\r
+    public void sysEventExecution(DecodedContent content,\r
+                                    SeqRange avatarRange,\r
+                                    int votes)\r
+            throws HtmlParseException{\r
+        DecodedContent avatarName;\r
+        avatarName = this.converter.convert(content, avatarRange);\r
+        AvatarData avatar = this.villageData.getAvatarData(avatarName);\r
+        this.currentEvent.addAvatarData(avatar);\r
+\r
+        if(votes > 0){\r
+            this.currentEvent.addInteger(votes);\r
+        }\r
+\r
+        return;\r
+    }\r
+\r
+    /**\r
+     * {@inheritDoc}\r
+     * @param content {@inheritDoc}\r
+     * @param avatarRange {@inheritDoc}\r
+     * @throws HtmlParseException {@inheritDoc}\r
+     */\r
+    @Override\r
+    public void sysEventCheckout(DecodedContent content,\r
+                                   SeqRange avatarRange)\r
+            throws HtmlParseException{\r
+        DecodedContent avatarName;\r
+        avatarName = this.converter.convert(content, avatarRange);\r
+        AvatarData avatar = this.villageData.getAvatarData(avatarName);\r
+        this.currentEvent.addAvatarData(avatar);\r
+        return;\r
+    }\r
+\r
+    /**\r
+     * {@inheritDoc}\r
+     * @param content {@inheritDoc}\r
+     * @param avatarRange {@inheritDoc}\r
+     * @throws HtmlParseException {@inheritDoc}\r
+     */\r
+    @Override\r
+    public void sysEventVanish(DecodedContent content,\r
+                                 SeqRange avatarRange)\r
+            throws HtmlParseException{\r
+        DecodedContent avatarName;\r
+        avatarName = this.converter.convert(content, avatarRange);\r
+        AvatarData avatar = this.villageData.getAvatarData(avatarName);\r
+        this.currentEvent.addAvatarData(avatar);\r
+        return;\r
+    }\r
+\r
+    /**\r
+     * {@inheritDoc}\r
      * @throws HtmlParseException {@inheritDoc}\r
      */\r
     @Override\r