import org.hedgecode.chess.scanner.entity.PGNGame;
import org.hedgecode.chess.scanner.portal.Chess24Scanner;
+import org.hedgecode.chess.scanner.portal.Chess2700Scanner;
import org.hedgecode.chess.scanner.portal.ChessBombScanner;
import org.hedgecode.chess.scanner.portal.ChessComScanner;
import org.hedgecode.chess.scanner.portal.ChessGamesScanner;
put( ScannerType.CHESSBOMB, new ChessBombScanner() );
put( ScannerType.CHESS24, new Chess24Scanner() );
put( ScannerType.CHESSCOM, new ChessComScanner() );
+ put( ScannerType.CHESS2700, new Chess2700Scanner() );
}
};
*
* @param url URL string for scan.
* @return PGN game.
- * @throws ChessHogScannerException Incorrect URL or unknown chess portal.
+ * @throws ScannerException Incorrect URL or unknown chess portal.
*/
- public static PGNGame scan(String url) throws ChessHogScannerException {
+ public static PGNGame scan(String url) throws ScannerException {
String hostName;
try {
hostName = new URL(url).getHost();
} catch (MalformedURLException cause) {
- throw new ChessHogScannerException(
- String.format("Incorrect URL: %s", url), cause
+ throw new ScannerException(
+ "scanner.incorrect.url", cause, url
);
}
ScannerType type = ScannerType.byHost(hostName);
if (type == null) {
- throw new ChessHogScannerException(
- String.format("Host %s is not among the known for the scanner", hostName)
+ throw new ScannerException(
+ "scanner.host.unknown", hostName
);
}
return scanner(type).scanUrl(url);
initiableScanner.init();
}
initScanners.add(type);
- } catch (ChessHogScannerException e) {
+ } catch (ScannerException e) {
throw new RuntimeException(e);
}
}
}
private ChessHogScanner() {
- if (!ChessHogScannerProperties.is("scanner.lazy.init")) {
+ if (!ScannerProperties.is("scanner.lazy.init")) {
init();
}
}