[LIB-13] Override access to static constants
authorgotty <gotty@hedgecode.org>
Wed, 15 Jan 2020 19:45:02 +0000 (22:45 +0300)
committergotty <gotty@hedgecode.org>
Wed, 15 Jan 2020 19:45:02 +0000 (22:45 +0300)
src/main/java/org/hedgecode/chess/scanner/entity/PGNTag.java
src/main/java/org/hedgecode/chess/scanner/entity/PGNTournament.java
src/main/java/org/hedgecode/chess/scanner/json/format/AbstractPGNFormat.java
src/main/java/org/hedgecode/chess/scanner/json/format/JSONGameFormat.java
src/main/java/org/hedgecode/chess/scanner/portal/AbstractRequestScanner.java
src/main/java/org/hedgecode/chess/scanner/proxy/Proxy.java
src/main/java/org/hedgecode/chess/scanner/regex/RegexBuilder.java
src/main/java/org/hedgecode/chess/scanner/regex/type/RegexBlockFinder.java
src/main/java/org/hedgecode/chess/scanner/regex/type/RegexSplitter.java

index 6a6661e..4d2fb29 100644 (file)
@@ -26,6 +26,7 @@ public enum PGNTag {
     EVENT         ( "Event",        true,        PGNTag.QUESTION      ),
     SITE          ( "Site",         true,        PGNTag.QUESTION      ),
     DATE          ( "Date",         true,        PGNTag.QUESTION_DATE ),
+    TIME          ( "Time",         false,       PGNTag.QUESTION_TIME ),
     ROUND         ( "Round",        true,        PGNTag.QUESTION      ),
     WHITE         ( "White",        true,        PGNTag.QUESTION      ),
     BLACK         ( "Black",        true,        PGNTag.QUESTION      ),
@@ -49,7 +50,6 @@ public enum PGNTag {
     SUBVARIATION  ( "SubVariation", false,       PGNTag.EMPTY         ),
     ECO           ( "ECO",          false,       PGNTag.EMPTY         ),
     NIC           ( "NIC",          false,       PGNTag.EMPTY         ),
-    TIME          ( "Time",         false,       PGNTag.QUESTION_TIME ),
     UTC_DATE      ( "UTCDate",      false,       PGNTag.QUESTION_DATE ),
     UTC_TIME      ( "UTCTime",      false,       PGNTag.QUESTION_TIME ),
     TIME_CONTROL  ( "TimeControl",  false,       PGNTag.QUESTION      ),
index dc14145..80603b0 100644 (file)
@@ -20,7 +20,7 @@ import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 
-import org.hedgecode.chess.scanner.ChessHogScannerConstants;
+import static org.hedgecode.chess.scanner.ChessHogScannerConstants.*;
 
 /**
  * PGNTournament
@@ -79,7 +79,7 @@ public class PGNTournament implements PGNEntity {
             sb.append(
                     game.pgn()
             ).append(
-                    ChessHogScannerConstants.CRLF
+                    CRLF
             );
         }
         return sb.toString();
index 97b5ff2..d0a3b84 100644 (file)
@@ -19,10 +19,11 @@ package org.hedgecode.chess.scanner.json.format;
 import java.util.HashMap;
 import java.util.Map;
 
-import org.hedgecode.chess.scanner.ChessHogScannerConstants;
 import org.hedgecode.chess.scanner.entity.PGNEntity;
 import org.hedgecode.chess.scanner.entity.PGNTag;
 
+import static org.hedgecode.chess.scanner.ChessHogScannerConstants.*;
+
 /**
  * AbstractPGNFormat
  *
@@ -69,18 +70,12 @@ public abstract class AbstractPGNFormat extends AbstractBaseFormat implements PG
                                 tag.getName(),
                                 tagValue != null ? tagValue : tag.defaultValue()
                         )
-                ).append(
-                        ChessHogScannerConstants.CRLF
-                );
+                ).append(CRLF);
             }
         }
-        sb.append(
-                ChessHogScannerConstants.CRLF
-        ).append(
+        sb.append(CRLF).append(
                 String.format(MOVES_FORMAT, moves(), result())
-        ).append(
-                ChessHogScannerConstants.CRLF
-        );
+        ).append(CRLF);
         return sb.toString();
     }
 
index d4eb023..2092d01 100644 (file)
@@ -57,15 +57,19 @@ public class JSONGameFormat extends AbstractPGNFormat implements GameFormat {
     protected void assignPGN() {
         addTag(PGNTag.EVENT, gameData.room().name());
         addTag(PGNTag.DATE, dateFormat.format(gameData.game().startAt()));
+        addTag(PGNTag.TIME, timeFormat.format(gameData.game().startAt()));
         addTag(PGNTag.ROUND, gameData.game().roundSlug());
         addTag(PGNTag.WHITE, gameData.game().white().name());
         addTag(PGNTag.BLACK, gameData.game().black().name());
         addTag(PGNTag.WHITE_TITLE, gameData.game().white().title());
         addTag(PGNTag.BLACK_TITLE, gameData.game().black().title());
-        addTag(PGNTag.WHITE_ELO, Integer.toString(gameData.game().white().elo()));
-        addTag(PGNTag.BLACK_ELO, Integer.toString(gameData.game().black().elo()));
-        addTag(PGNTag.TIME, timeFormat.format(gameData.game().startAt()));
+        addTag(PGNTag.WHITE_ELO, Integer.toString(gameData.game().whiteElo()));
+        addTag(PGNTag.BLACK_ELO, Integer.toString(gameData.game().blackElo()));
+        addTag(PGNTag.EVENT_DATE, dateFormat.format(gameData.room().startAt()));
         addTag(PGNTag.RESULT, gameData.game().result());
+        if (gameData.moves().length > 0) {
+            addTag(PGNTag.PLY_COUNT, Integer.toString(gameData.moves().length));
+        }
 
         addMoves(gameData.formatMoves());
     }
index a82422e..0390848 100644 (file)
@@ -27,7 +27,6 @@ import org.apache.http.client.methods.HttpGet;
 import org.apache.http.impl.client.CloseableHttpClient;
 import org.apache.http.impl.client.HttpClients;
 
-import org.hedgecode.chess.scanner.ChessHogScannerConstants;
 import org.hedgecode.chess.scanner.ChessHogScannerException;
 import org.hedgecode.chess.scanner.Scanner;
 import org.hedgecode.chess.scanner.regex.RegexMatcher;
@@ -35,6 +34,8 @@ import org.hedgecode.chess.scanner.regex.RegexResult;
 import org.hedgecode.chess.scanner.regex.RegexType;
 import org.hedgecode.chess.scanner.regex.RegexTypeMatcher;
 
+import static org.hedgecode.chess.scanner.ChessHogScannerConstants.*;
+
 /**
  * AbstractRequestScanner
  *
@@ -43,6 +44,10 @@ import org.hedgecode.chess.scanner.regex.RegexTypeMatcher;
 public abstract class AbstractRequestScanner implements Scanner {
 
     protected String request(String url) throws ChessHogScannerException {
+        return request(url, true);
+    }
+
+    protected String request(String url, boolean withCrlf) throws ChessHogScannerException {
         HttpGet request = new HttpGet(url);
         CloseableHttpResponse response = null;
         StringBuilder sb = new StringBuilder();
@@ -50,17 +55,15 @@ public abstract class AbstractRequestScanner implements Scanner {
             response = getClient().execute(request);
             try (BufferedReader br = new BufferedReader(
                     new InputStreamReader(
-                            response.getEntity().getContent(),
-                            ChessHogScannerConstants.CHARSET
+                            response.getEntity().getContent(), CHARSET
                     )
             )) {
                 String line;
                 while ((line = br.readLine()) != null) {
-                    sb.append(
-                            line
-                    ).append(
-                            ChessHogScannerConstants.CRLF
-                    );
+                    sb.append(line);
+                    if (withCrlf) {
+                        sb.append(CRLF);
+                    }
                 }
             }
         } catch (IOException cause) {
@@ -94,9 +97,7 @@ public abstract class AbstractRequestScanner implements Scanner {
         return matchRequest(url, matcher, false);
     }
 
-    protected String match(String url, String match)
-            throws ChessHogScannerException
-    {
+    protected String match(String url, String match) throws ChessHogScannerException {
         List<String> result = match(url, match, true);
         return result.isEmpty() ? null : result.get(0);
     }
@@ -174,7 +175,7 @@ public abstract class AbstractRequestScanner implements Scanner {
             try (BufferedReader br = new BufferedReader(
                     new InputStreamReader(
                             response.getEntity().getContent(),
-                            ChessHogScannerConstants.CHARSET
+                            CHARSET
                     )
             )) {
                 String line;
index 7d75a72..781d8d4 100644 (file)
 
 package org.hedgecode.chess.scanner.proxy;
 
-import org.hedgecode.chess.scanner.ChessHogScannerConstants;
 import org.hedgecode.chess.scanner.proxy.type.HTTPSetter;
 import org.hedgecode.chess.scanner.proxy.type.SOCKSSetter;
 
+import static org.hedgecode.chess.scanner.ChessHogScannerConstants.*;
+
 /**
  * Setter for proxy settings.
  *
@@ -27,9 +28,9 @@ import org.hedgecode.chess.scanner.proxy.type.SOCKSSetter;
  */
 public enum Proxy {
 
-    UNDEFINED ( ChessHogScannerConstants.PROXY_UNDEFINED, null ),
-    HTTP      ( ChessHogScannerConstants.PROXY_HTTP, new HTTPSetter() ),
-    SOCKS     ( ChessHogScannerConstants.PROXY_SOCKS, new SOCKSSetter() );
+    UNDEFINED ( PROXY_UNDEFINED, null              ),
+    HTTP      ( PROXY_HTTP,      new HTTPSetter()  ),
+    SOCKS     ( PROXY_SOCKS,     new SOCKSSetter() );
 
     private String name;
     private ProxySetter setter;
index 70aa1f9..0b80b09 100644 (file)
@@ -19,7 +19,7 @@ package org.hedgecode.chess.scanner.regex;
 import java.io.UnsupportedEncodingException;
 import java.net.URLEncoder;
 
-import org.hedgecode.chess.scanner.ChessHogScannerConstants;
+import static org.hedgecode.chess.scanner.ChessHogScannerConstants.*;
 
 /**
  * RegexBuilder
@@ -87,11 +87,11 @@ public class RegexBuilder {
             String encodeQuery;
             try {
                 encodeQuery = URLEncoder.encode(
-                        query, ChessHogScannerConstants.CHARSET.name()
+                        query, CHARSET.name()
                 );
             } catch (UnsupportedEncodingException cause) {
                 throw new RuntimeException(
-                        String.format("Unsupported encoding: %s", ChessHogScannerConstants.CHARSET.name()),
+                        String.format("Unsupported encoding: %s", CHARSET.name()),
                         cause
                 );
             }
index a8951d8..2e50b8c 100644 (file)
@@ -19,11 +19,12 @@ package org.hedgecode.chess.scanner.regex.type;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
-import org.hedgecode.chess.scanner.ChessHogScannerConstants;
 import org.hedgecode.chess.scanner.regex.AbstractRegexResult;
 import org.hedgecode.chess.scanner.regex.RegexMatcher;
 import org.hedgecode.chess.scanner.regex.RegexResult;
 
+import static org.hedgecode.chess.scanner.ChessHogScannerConstants.*;
+
 /**
  * RegexBlockFinder
  *
@@ -70,7 +71,7 @@ public class RegexBlockFinder extends AbstractRegexResult implements RegexMatche
         current.append(
                 input
         ).append(
-                ChessHogScannerConstants.CRLF
+                CRLF
         );
     }
 
index fe7b5a5..92ddcbd 100644 (file)
@@ -21,11 +21,12 @@ import java.util.Map;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
-import org.hedgecode.chess.scanner.ChessHogScannerConstants;
 import org.hedgecode.chess.scanner.regex.AbstractRegexResult;
 import org.hedgecode.chess.scanner.regex.RegexMatcher;
 import org.hedgecode.chess.scanner.regex.RegexResult;
 
+import static org.hedgecode.chess.scanner.ChessHogScannerConstants.*;
+
 /**
  * RegexSplitter
  *
@@ -64,7 +65,7 @@ public class RegexSplitter extends AbstractRegexResult implements RegexMatcher {
         current.append(
                 input
         ).append(
-                ChessHogScannerConstants.CRLF
+                CRLF
         );
     }