[LIB-13] Locale resource settings
[chesshog-scanner.git] / src / main / java / org / hedgecode / chess / scanner / portal / ChessBombScanner.java
index 6139ed4..96e90e8 100644 (file)
@@ -18,8 +18,8 @@ package org.hedgecode.chess.scanner.portal;
 
 import java.util.Base64;
 
-import org.hedgecode.chess.scanner.ChessHogScannerException;
 import org.hedgecode.chess.scanner.Scanner;
+import org.hedgecode.chess.scanner.ScannerException;
 import org.hedgecode.chess.scanner.entity.PGNGame;
 import org.hedgecode.chess.scanner.entity.PGNTournament;
 import org.hedgecode.chess.scanner.format.chessbomb.ArenaFormat;
@@ -27,6 +27,8 @@ import org.hedgecode.chess.scanner.format.chessbomb.Format;
 import org.hedgecode.chess.scanner.format.chessbomb.GameFormat;
 import org.hedgecode.chess.scanner.format.chessbomb.TournamentFormat;
 
+import static org.hedgecode.chess.scanner.ScannerConstants.*;
+
 /**
  * ChessBombScanner
  *
@@ -42,7 +44,7 @@ public class ChessBombScanner extends AbstractSettingsScanner implements Scanner
     }
 
     @Override
-    public PGNTournament scanTournament(String tournamentId) throws ChessHogScannerException {
+    public PGNTournament scanTournament(String tournamentId) throws ScannerException {
         String decodeTournament = decodeUrlByRegex(
                 assignUrl(tournamentId, null),
                 getSettings().getTournamentJsonUrlRegex()
@@ -64,7 +66,7 @@ public class ChessBombScanner extends AbstractSettingsScanner implements Scanner
     }
 
     @Override
-    public PGNTournament findTournament(String tournamentName) throws ChessHogScannerException {
+    public PGNTournament findTournament(String tournamentName) throws ScannerException {
         String decodeArena = decodeUrlByRegex(
                 assignUrl(tournamentName, false),
                 getSettings().getTournamentQueryUrlRegex()
@@ -80,14 +82,14 @@ public class ChessBombScanner extends AbstractSettingsScanner implements Scanner
     }
 
     @Override
-    public PGNGame scanGame(String gameId) throws ChessHogScannerException {
-        throw new ChessHogScannerException(
-                "ChessBomb does not support searching game without a tournament name!"
+    public PGNGame scanGame(String gameId) throws ScannerException {
+        throw new ScannerException(
+                "scanner.portal.search.without.tournament.name", DOMAIN_CHESSBOMB
         );
     }
 
     @Override
-    public PGNGame scanGame(String gameId, String tournamentId) throws ChessHogScannerException {
+    public PGNGame scanGame(String gameId, String tournamentId) throws ScannerException {
         return scanGameByRegex(
                 assignUrl(gameId, tournamentId, true),
                 getSettings().getGameJsonUrlRegex()
@@ -95,14 +97,14 @@ public class ChessBombScanner extends AbstractSettingsScanner implements Scanner
     }
 
     @Override
-    public PGNGame scanUrl(String gameUrl) throws ChessHogScannerException {
+    public PGNGame scanUrl(String gameUrl) throws ScannerException {
         return scanGameByRegex(
                 gameUrl,
                 getSettings().getGameJsonUrlRegex()
         );
     }
 
-    private PGNGame scanGameByRegex(String gameUrl, String regex) throws ChessHogScannerException {
+    private PGNGame scanGameByRegex(String gameUrl, String regex) throws ScannerException {
         String decodeGame = decodeUrlByRegex(
                 gameUrl,
                 regex
@@ -117,14 +119,14 @@ public class ChessBombScanner extends AbstractSettingsScanner implements Scanner
     }
 
 
-    private String decodeUrlByRegex(String url, String regex) throws ChessHogScannerException {
+    private String decodeUrlByRegex(String url, String regex) throws ScannerException {
         String encodeString = match(
                 url,
                 regex
         );
         if (encodeString == null) {
-            throw new ChessHogScannerException(
-                    String.format("Failed to decode source data for requesting URL: %s", url)
+            throw new ScannerException(
+                    "scanner.failed.decode.url", url
             );
         }
         return new String(