Skip to content

Commit 338a5b2

Browse files
committed
fix: properly recognize JsoupSiteParser that is enclosed inside TimedSiteParser.
Correction for cb4cc66 commit. Addressed to #975
1 parent cb4cc66 commit 338a5b2

File tree

2 files changed

+18
-2
lines changed

2 files changed

+18
-2
lines changed

src/main/java/ru/mystamps/web/feature/series/importing/event/DownloadingSucceededEventListener.java

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
import ru.mystamps.web.feature.series.importing.extractor.SiteParser;
3636
import ru.mystamps.web.feature.series.importing.extractor.SiteParserConfiguration;
3737
import ru.mystamps.web.feature.series.importing.extractor.SiteParserService;
38+
import ru.mystamps.web.feature.series.importing.extractor.TimedSiteParser;
3839

3940
/**
4041
* Listener of the {@link DownloadingSucceeded} event.
@@ -115,13 +116,23 @@ public void onApplicationEvent(DownloadingSucceeded event) {
115116
seriesImportService.saveParsedData(requestId, data);
116117
}
117118

119+
@SuppressWarnings({ "PMD.AvoidReassigningParameters", "checkstyle:parameterassignment" })
118120
private void migrateParser(SiteParser parser) {
121+
if (parser instanceof TimedSiteParser) {
122+
parser = ((TimedSiteParser)parser).getOrigin();
123+
}
124+
119125
if (!(parser instanceof JsoupSiteParser)) {
120-
log.warn("Could not migrate unknown (non-Jsoup based) parser: {}", parser);
126+
log.warn(
127+
"Could not migrate unknown (non-Jsoup based) parser: {}",
128+
parser.getClass().getName()
129+
);
121130
return;
122131
}
123132

124-
SiteParserConfiguration cfg = ((JsoupSiteParser)parser).toConfiguration();
133+
JsoupSiteParser jsoupParser = (JsoupSiteParser)parser;
134+
135+
SiteParserConfiguration cfg = jsoupParser.toConfiguration();
125136
String url = cfg.getMatchedUrl();
126137
String name = cfg.getName();
127138
if (siteParserService.findForUrl(url) != null) {

src/main/java/ru/mystamps/web/feature/series/importing/extractor/TimedSiteParser.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,11 @@ public class TimedSiteParser implements SiteParser {
3131
private final Logger log;
3232
private final SiteParser parser;
3333

34+
// TODO: remove after finishing migration of the site parsers
35+
public SiteParser getOrigin() {
36+
return parser;
37+
}
38+
3439
@Override
3540
public boolean setField(String name, String value) {
3641
return parser.setField(name, value);

0 commit comments

Comments
 (0)