[LIB-13] Locale resource settings
[chesshog-scanner.git] / src / main / java / org / hedgecode / chess / scanner / portal / LiChessScanner.java
index 55a53e9..eac5047 100644 (file)
@@ -22,12 +22,14 @@ import org.apache.commons.text.StringEscapeUtils;
 
 import org.hedgecode.chess.scanner.Scanner;
 import org.hedgecode.chess.scanner.ScannerException;
+import org.hedgecode.chess.scanner.StringUtils;
 import org.hedgecode.chess.scanner.entity.PGNGame;
 import org.hedgecode.chess.scanner.entity.PGNTournament;
 import org.hedgecode.chess.scanner.format.lichess.Format;
 import org.hedgecode.chess.scanner.format.lichess.GameFormat;
 
 import static org.hedgecode.chess.scanner.ScannerConstants.*;
+import static org.hedgecode.chess.scanner.format.PGNConstants.*;
 
 /**
  * LiChessScanner
@@ -53,7 +55,7 @@ public class LiChessScanner extends AbstractSettingsScanner implements Scanner {
     @Override
     public PGNTournament findTournament(String tournamentName) throws ScannerException {
         throw new ScannerException(
-                "Lichess does not support searching for a tournament by name!"
+                "scanner.portal.search.unavailable,name", DOMAIN_LICHESS
         );
     }
 
@@ -62,9 +64,9 @@ public class LiChessScanner extends AbstractSettingsScanner implements Scanner {
         String pgn = request(
                 assignUrl(gameId)
         );
-        if (!isPgnFormat(pgn)) {
+        if (!StringUtils.isPgn(pgn)) {
             throw new ScannerException(
-                    String.format("Failed to get PGN for requesting game ID: %s", gameId)
+                    "scanner.failed.request.game", gameId
             );
         }
         return new PGNGame(
@@ -80,18 +82,18 @@ public class LiChessScanner extends AbstractSettingsScanner implements Scanner {
     @Override
     public PGNGame scanUrl(String gameUrl) throws ScannerException {
         String gamePage = request(gameUrl);
-        String pgn = regex(
+        String pgn = StringUtils.match(
                 gamePage,
                 getSettings().getGameUrlRegex()
         );
         if (pgn == null) {
-            pgn = regex(
+            pgn = StringUtils.match(
                     gamePage,
                     getSettings().getGameJsonUrlRegex()
             );
             if (pgn == null) {
                 throw new ScannerException(
-                        String.format("Failed to get source data for requesting URL: %s", gameUrl)
+                        "scanner.failed.source.data", gameUrl
                 );
             }
             GameFormat gameFormat = Format.formatGame(pgn);
@@ -101,13 +103,16 @@ public class LiChessScanner extends AbstractSettingsScanner implements Scanner {
             );
         } else {
             pgn = StringEscapeUtils.unescapeHtml4(pgn);
-            if (!isPgnFormat(pgn)) {
+            if (!StringUtils.isPgn(pgn)) {
                 throw new ScannerException(
-                        String.format("Failed to get PGN for requesting URL: %s", gameUrl)
+                        "scanner.failed.request.url", gameUrl
                 );
             }
             return new PGNGame(
-                    regex(pgn, getSettings().getGameIdRegex()),
+                    StringUtils.match(
+                            pgn,
+                            getSettings().getGameIdRegex()
+                    ),
                     pgn
             );
         }
@@ -125,7 +130,7 @@ public class LiChessScanner extends AbstractSettingsScanner implements Scanner {
 
         if (!pgnGames.isEmpty()) {
             tournament.setName(
-                    regex(
+                    StringUtils.match(
                             pgnGames.get(0),
                             getSettings().getTournamentNameRegex()
                     )
@@ -133,7 +138,7 @@ public class LiChessScanner extends AbstractSettingsScanner implements Scanner {
         }
 
         for (String pgn : pgnGames) {
-            String gameId = regex(
+            String gameId = StringUtils.match(
                     pgn,
                     getSettings().getGameIdRegex()
             );