import org.hedgecode.chess.scanner.SettingsBuilder;
import org.hedgecode.chess.scanner.regex.RegexBuilder;
import org.hedgecode.chess.scanner.regex.RegexParams;
-import org.hedgecode.chess.scanner.regex.RegexType;
import org.hedgecode.chess.scanner.spi.ServiceRegistry;
+import static org.hedgecode.chess.scanner.regex.RegexBuilder.Type;
+
/**
* AbstractSettingsScanner
*
}
protected String assignUrl(String tournamentId, String pageId) {
+ String tournamentUrl = assignUrlWithParams(
+ settings.getTournamentUrl(), settings.getTournamentQueryParams()
+ );
return RegexBuilder.build(
- RegexType.TOURNAMENT,
- settings.getTournamentUrl(),
+ Type.TOURNAMENT,
+ tournamentUrl,
new RegexParams(
tournamentId,
settings.isTournamentMultiPage() ? pageId : null
? settings.getGamePgnUrl()
: settings.getGameUrl();
return RegexBuilder.build(
- RegexType.GAME,
- gameUrl,
+ Type.GAME,
+ assignUrlWithParams(gameUrl, settings.getGameQueryParams()),
new RegexParams(gameId)
);
}
+ protected String assignUrl(String gameId, String tournamentId, boolean withTournament) {
+ String gameUrl = settings.getGamePgnUrl() != null
+ ? settings.getGamePgnUrl()
+ : settings.getGameUrl();
+ return RegexBuilder.build(
+ Type.GAME,
+ assignUrlWithParams(gameUrl, settings.getGameQueryParams()),
+ new RegexParams(
+ gameId,
+ tournamentId,
+ withTournament
+ )
+ );
+ }
+
protected String assignUrl(String query, boolean isUrlEncode) {
return RegexBuilder.build(
- RegexType.QUERY,
+ Type.QUERY,
settings.getTournamentQuery(),
- new RegexParams(query, isUrlEncode)
+ new RegexParams(
+ query,
+ isUrlEncode
+ )
);
}
+ private String assignUrlWithParams(String url, String params) {
+ return params != null
+ ? url.concat(params)
+ : url;
+ }
+
}