From: gotty Date: Wed, 15 Jan 2020 19:45:02 +0000 (+0300) Subject: [LIB-13] Override access to static constants X-Git-Url: https://git.hedgecode.org/?p=chesshog-scanner.git;a=commitdiff_plain;h=22aac3a325356cfd433a7f9d93e2df49550fb583 [LIB-13] Override access to static constants --- diff --git a/src/main/java/org/hedgecode/chess/scanner/entity/PGNTag.java b/src/main/java/org/hedgecode/chess/scanner/entity/PGNTag.java index 6a6661e..4d2fb29 100644 --- a/src/main/java/org/hedgecode/chess/scanner/entity/PGNTag.java +++ b/src/main/java/org/hedgecode/chess/scanner/entity/PGNTag.java @@ -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 ), diff --git a/src/main/java/org/hedgecode/chess/scanner/entity/PGNTournament.java b/src/main/java/org/hedgecode/chess/scanner/entity/PGNTournament.java index dc14145..80603b0 100644 --- a/src/main/java/org/hedgecode/chess/scanner/entity/PGNTournament.java +++ b/src/main/java/org/hedgecode/chess/scanner/entity/PGNTournament.java @@ -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(); diff --git a/src/main/java/org/hedgecode/chess/scanner/json/format/AbstractPGNFormat.java b/src/main/java/org/hedgecode/chess/scanner/json/format/AbstractPGNFormat.java index 97b5ff2..d0a3b84 100644 --- a/src/main/java/org/hedgecode/chess/scanner/json/format/AbstractPGNFormat.java +++ b/src/main/java/org/hedgecode/chess/scanner/json/format/AbstractPGNFormat.java @@ -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(); } diff --git a/src/main/java/org/hedgecode/chess/scanner/json/format/JSONGameFormat.java b/src/main/java/org/hedgecode/chess/scanner/json/format/JSONGameFormat.java index d4eb023..2092d01 100644 --- a/src/main/java/org/hedgecode/chess/scanner/json/format/JSONGameFormat.java +++ b/src/main/java/org/hedgecode/chess/scanner/json/format/JSONGameFormat.java @@ -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()); } diff --git a/src/main/java/org/hedgecode/chess/scanner/portal/AbstractRequestScanner.java b/src/main/java/org/hedgecode/chess/scanner/portal/AbstractRequestScanner.java index a82422e..0390848 100644 --- a/src/main/java/org/hedgecode/chess/scanner/portal/AbstractRequestScanner.java +++ b/src/main/java/org/hedgecode/chess/scanner/portal/AbstractRequestScanner.java @@ -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 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; diff --git a/src/main/java/org/hedgecode/chess/scanner/proxy/Proxy.java b/src/main/java/org/hedgecode/chess/scanner/proxy/Proxy.java index 7d75a72..781d8d4 100644 --- a/src/main/java/org/hedgecode/chess/scanner/proxy/Proxy.java +++ b/src/main/java/org/hedgecode/chess/scanner/proxy/Proxy.java @@ -16,10 +16,11 @@ 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; diff --git a/src/main/java/org/hedgecode/chess/scanner/regex/RegexBuilder.java b/src/main/java/org/hedgecode/chess/scanner/regex/RegexBuilder.java index 70aa1f9..0b80b09 100644 --- a/src/main/java/org/hedgecode/chess/scanner/regex/RegexBuilder.java +++ b/src/main/java/org/hedgecode/chess/scanner/regex/RegexBuilder.java @@ -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 ); } diff --git a/src/main/java/org/hedgecode/chess/scanner/regex/type/RegexBlockFinder.java b/src/main/java/org/hedgecode/chess/scanner/regex/type/RegexBlockFinder.java index a8951d8..2e50b8c 100644 --- a/src/main/java/org/hedgecode/chess/scanner/regex/type/RegexBlockFinder.java +++ b/src/main/java/org/hedgecode/chess/scanner/regex/type/RegexBlockFinder.java @@ -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 ); } diff --git a/src/main/java/org/hedgecode/chess/scanner/regex/type/RegexSplitter.java b/src/main/java/org/hedgecode/chess/scanner/regex/type/RegexSplitter.java index fe7b5a5..92ddcbd 100644 --- a/src/main/java/org/hedgecode/chess/scanner/regex/type/RegexSplitter.java +++ b/src/main/java/org/hedgecode/chess/scanner/regex/type/RegexSplitter.java @@ -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 ); }