X-Git-Url: https://git.hedgecode.org/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Forg%2Fhedgecode%2Fchess%2Fscanner%2Fportal%2FChessBombScanner.java;h=96e90e8320f2f55ebbc418f2edb5c8564f9984b8;hb=d0c369def92e6876e8f37d257e2fe1b38013b005;hp=0a7c2ae0871076584ce718a8dc39fedf1c1953ba;hpb=bade39bb39bc55ef4f5dd0fa6f91d0b1bfe55608;p=chesshog-scanner.git diff --git a/src/main/java/org/hedgecode/chess/scanner/portal/ChessBombScanner.java b/src/main/java/org/hedgecode/chess/scanner/portal/ChessBombScanner.java index 0a7c2ae..96e90e8 100644 --- a/src/main/java/org/hedgecode/chess/scanner/portal/ChessBombScanner.java +++ b/src/main/java/org/hedgecode/chess/scanner/portal/ChessBombScanner.java @@ -18,7 +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; @@ -26,12 +27,14 @@ 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 * * @author Dmitry Samoshin aka gotty */ -public class ChessBombScanner extends AbstractSettingsScanner { +public class ChessBombScanner extends AbstractSettingsScanner implements Scanner { private static final String SETTINGS_FILENAME = "chessbomb.settings"; @@ -41,7 +44,7 @@ public class ChessBombScanner extends AbstractSettingsScanner { } @Override - public PGNTournament scanTournament(String tournamentId) throws ChessHogScannerException { + public PGNTournament scanTournament(String tournamentId) throws ScannerException { String decodeTournament = decodeUrlByRegex( assignUrl(tournamentId, null), getSettings().getTournamentJsonUrlRegex() @@ -63,7 +66,7 @@ public class ChessBombScanner extends AbstractSettingsScanner { } @Override - public PGNTournament findTournament(String tournamentName) throws ChessHogScannerException { + public PGNTournament findTournament(String tournamentName) throws ScannerException { String decodeArena = decodeUrlByRegex( assignUrl(tournamentName, false), getSettings().getTournamentQueryUrlRegex() @@ -79,14 +82,14 @@ public class ChessBombScanner extends AbstractSettingsScanner { } @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() @@ -94,14 +97,14 @@ public class ChessBombScanner extends AbstractSettingsScanner { } @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 @@ -116,14 +119,14 @@ public class ChessBombScanner extends AbstractSettingsScanner { } - 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(