From 82f9a226e914a6b57ed77fe691b409ef3cd7990f Mon Sep 17 00:00:00 2001 From: Oliver Kopp Date: Mon, 8 Feb 2021 00:07:54 +0100 Subject: [PATCH 01/20] Fix CCSB and DOAJ --- ...fComputerScienceBibliographiesFetcher.java | 6 +-- .../logic/importer/fetcher/DOAJFetcher.java | 4 +- .../AbstractQueryTransformer.java | 15 +++++- ...ScienceBibliographiesQueryTransformer.java | 44 +++++++++++++++++ .../DefaultLuceneQueryTransformer.java | 47 +++++++++++++++++++ .../DefaultQueryTransformer.java | 5 -- .../SpringerQueryTransformer.java | 12 ----- 7 files changed, 109 insertions(+), 24 deletions(-) create mode 100644 src/main/java/org/jabref/logic/importer/fetcher/transformators/CollectionOfComputerScienceBibliographiesQueryTransformer.java create mode 100644 src/main/java/org/jabref/logic/importer/fetcher/transformators/DefaultLuceneQueryTransformer.java diff --git a/src/main/java/org/jabref/logic/importer/fetcher/CollectionOfComputerScienceBibliographiesFetcher.java b/src/main/java/org/jabref/logic/importer/fetcher/CollectionOfComputerScienceBibliographiesFetcher.java index b6556e0930f..9cf596c25e9 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/CollectionOfComputerScienceBibliographiesFetcher.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/CollectionOfComputerScienceBibliographiesFetcher.java @@ -14,8 +14,8 @@ import org.jabref.logic.importer.ImportFormatPreferences; import org.jabref.logic.importer.Parser; import org.jabref.logic.importer.SearchBasedParserFetcher; -import org.jabref.logic.importer.fetcher.transformators.DefaultQueryTransformer; -import org.jabref.model.entry.BibEntry; +import org.jabref.logic.importer.fetcher.transformators.CollectionOfComputerScienceBibliographiesQueryTransformer; + import org.jabref.model.entry.BibEntry; import org.jabref.model.entry.field.Field; import org.jabref.model.entry.field.FieldFactory; import org.jabref.model.entry.field.StandardField; @@ -37,7 +37,7 @@ public CollectionOfComputerScienceBibliographiesFetcher(ImportFormatPreferences @Override public URL getURLForQuery(QueryNode luceneQuery) throws URISyntaxException, MalformedURLException, FetcherException { return new URIBuilder(BASIC_SEARCH_URL) - .addParameter("query", new DefaultQueryTransformer().transformLuceneQuery(luceneQuery).orElse("")) + .addParameter("query", new CollectionOfComputerScienceBibliographiesQueryTransformer().transformLuceneQuery(luceneQuery).orElse("")) .addParameter("sort", "score") .build() .toURL(); diff --git a/src/main/java/org/jabref/logic/importer/fetcher/DOAJFetcher.java b/src/main/java/org/jabref/logic/importer/fetcher/DOAJFetcher.java index 5f62756cdf7..47434ec14f8 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/DOAJFetcher.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/DOAJFetcher.java @@ -16,7 +16,7 @@ import org.jabref.logic.importer.ImportFormatPreferences; import org.jabref.logic.importer.Parser; import org.jabref.logic.importer.SearchBasedParserFetcher; -import org.jabref.logic.importer.fetcher.transformators.DefaultQueryTransformer; +import org.jabref.logic.importer.fetcher.transformators.DefaultLuceneQueryTransformer; import org.jabref.logic.util.OS; import org.jabref.model.entry.BibEntry; import org.jabref.model.entry.field.Field; @@ -192,7 +192,7 @@ public Optional getHelpPage() { @Override public URL getURLForQuery(QueryNode luceneQuery) throws URISyntaxException, MalformedURLException, FetcherException { URIBuilder uriBuilder = new URIBuilder(SEARCH_URL); - DOAJFetcher.addPath(uriBuilder, new DefaultQueryTransformer().transformLuceneQuery(luceneQuery).orElse("")); + DOAJFetcher.addPath(uriBuilder, new DefaultLuceneQueryTransformer().transformLuceneQuery(luceneQuery).orElse("")); // Number of results uriBuilder.addParameter("pageSize", "30"); // Page (not needed so far) diff --git a/src/main/java/org/jabref/logic/importer/fetcher/transformators/AbstractQueryTransformer.java b/src/main/java/org/jabref/logic/importer/fetcher/transformators/AbstractQueryTransformer.java index 32c7a6b8d18..cd3699ec5fa 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/transformators/AbstractQueryTransformer.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/transformators/AbstractQueryTransformer.java @@ -1,6 +1,7 @@ package org.jabref.logic.importer.fetcher.transformators; import java.util.Optional; +import java.util.StringJoiner; import java.util.stream.Collectors; import org.apache.lucene.queryparser.flexible.core.nodes.BooleanQueryNode; @@ -13,7 +14,7 @@ import org.slf4j.LoggerFactory; /** - * In case the transformator contains state for a query transformation (such as the {@link IEEEQueryTransformer}), it has to be noted at the JavaDoc. + * In case the transformer contains state for a query transformation (such as the {@link IEEEQueryTransformer}), it has to be noted at the JavaDoc. * Otherwise, a single instance QueryTransformer can be used. */ public abstract class AbstractQueryTransformer { @@ -142,7 +143,17 @@ private Optional transform(ModifierQueryNode query) { * * Example: 2015-2021 */ - protected abstract String handleYearRange(String yearRange); + protected String handleYearRange(String yearRange) { + String[] split = yearRange.split("-"); + if (split.length != 2) { + return yearRange; + } + StringJoiner resultBuilder = new StringJoiner(getLogicalOrOperator()); + for (int i = Integer.parseInt(split[0]); i <= Integer.parseInt(split[1]); i++) { + resultBuilder.add(handleYear(String.valueOf(i))); + } + return resultBuilder.toString(); + } /** * Return a string representation of the un-fielded (default fielded) term diff --git a/src/main/java/org/jabref/logic/importer/fetcher/transformators/CollectionOfComputerScienceBibliographiesQueryTransformer.java b/src/main/java/org/jabref/logic/importer/fetcher/transformators/CollectionOfComputerScienceBibliographiesQueryTransformer.java new file mode 100644 index 00000000000..bf11a7eff57 --- /dev/null +++ b/src/main/java/org/jabref/logic/importer/fetcher/transformators/CollectionOfComputerScienceBibliographiesQueryTransformer.java @@ -0,0 +1,44 @@ +package org.jabref.logic.importer.fetcher.transformators; + +public class CollectionOfComputerScienceBibliographiesQueryTransformer extends AbstractQueryTransformer { + + @Override + protected String getLogicalAndOperator() { + return " AND "; + } + + @Override + protected String getLogicalOrOperator() { + return " OR "; + } + + @Override + protected String getLogicalNotOperator() { + return "-"; + } + + @Override + protected String handleAuthor(String author) { + return String.format("au:\"%s\"", author); + } + + @Override + protected String handleTitle(String title) { + return String.format("ti:\"%s\"", title); + } + + @Override + protected String handleJournal(String journalTitle) { + return journalTitle; + } + + @Override + protected String handleYear(String year) { + return String.format("year:\"%s\"", year); + } + + @Override + protected String handleUnFieldedTerm(String term) { + return term; + } +} diff --git a/src/main/java/org/jabref/logic/importer/fetcher/transformators/DefaultLuceneQueryTransformer.java b/src/main/java/org/jabref/logic/importer/fetcher/transformators/DefaultLuceneQueryTransformer.java new file mode 100644 index 00000000000..f874b94d7e2 --- /dev/null +++ b/src/main/java/org/jabref/logic/importer/fetcher/transformators/DefaultLuceneQueryTransformer.java @@ -0,0 +1,47 @@ +package org.jabref.logic.importer.fetcher.transformators; + +/** + * Transforms the query to a lucene query string + */ +public class DefaultLuceneQueryTransformer extends AbstractQueryTransformer { + + @Override + protected String getLogicalAndOperator() { + return " AND "; + } + + @Override + protected String getLogicalOrOperator() { + return " OR "; + } + + @Override + protected String getLogicalNotOperator() { + return "-"; + } + + @Override + protected String handleAuthor(String author) { + return handleOtherField("author", author).get(); + } + + @Override + protected String handleTitle(String title) { + return handleOtherField("title", title).get(); + } + + @Override + protected String handleJournal(String journalTitle) { + return handleOtherField("journal", journalTitle).get(); + } + + @Override + protected String handleYear(String year) { + return handleOtherField("year", year).get(); + } + + @Override + protected String handleUnFieldedTerm(String term) { + return term; + } +} diff --git a/src/main/java/org/jabref/logic/importer/fetcher/transformators/DefaultQueryTransformer.java b/src/main/java/org/jabref/logic/importer/fetcher/transformators/DefaultQueryTransformer.java index b99e327269c..ebdcd573bec 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/transformators/DefaultQueryTransformer.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/transformators/DefaultQueryTransformer.java @@ -37,11 +37,6 @@ protected String handleYear(String year) { return year; } - @Override - protected String handleYearRange(String yearRange) { - return yearRange; - } - @Override protected String handleUnFieldedTerm(String term) { return term; diff --git a/src/main/java/org/jabref/logic/importer/fetcher/transformators/SpringerQueryTransformer.java b/src/main/java/org/jabref/logic/importer/fetcher/transformators/SpringerQueryTransformer.java index 3907caef708..87297e35dae 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/transformators/SpringerQueryTransformer.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/transformators/SpringerQueryTransformer.java @@ -1,7 +1,5 @@ package org.jabref.logic.importer.fetcher.transformators; -import java.util.StringJoiner; - /** * This class converts a query string written in lucene syntax into a complex query. * @@ -45,16 +43,6 @@ protected String handleYear(String year) { return String.format("date:%s*", year); } - @Override - protected String handleYearRange(String yearRange) { - String[] split = yearRange.split("-"); - StringJoiner resultBuilder = new StringJoiner("*" + getLogicalOrOperator() + "date:", "(date:", "*)"); - for (int i = Integer.parseInt(split[0]); i <= Integer.parseInt(split[1]); i++) { - resultBuilder.add(String.valueOf(i)); - } - return resultBuilder.toString(); - } - @Override protected String handleUnFieldedTerm(String term) { return "\"" + term + "\""; From e76b831f1f0d1ea74cd07e5dadfb14faf2924908 Mon Sep 17 00:00:00 2001 From: Oliver Kopp Date: Mon, 8 Feb 2021 06:26:12 +0100 Subject: [PATCH 02/20] Fix INSPIRE, GVK, use "NOT " instead of " -" as default in Lucene --- .../org/jabref/logic/importer/fetcher/INSPIREFetcher.java | 4 ++-- .../transformators/DefaultLuceneQueryTransformer.java | 2 +- .../fetcher/transformators/GVKQueryTransformer.java | 8 ++++---- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/main/java/org/jabref/logic/importer/fetcher/INSPIREFetcher.java b/src/main/java/org/jabref/logic/importer/fetcher/INSPIREFetcher.java index c594ebb5efc..85d5862e67d 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/INSPIREFetcher.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/INSPIREFetcher.java @@ -13,7 +13,7 @@ import org.jabref.logic.importer.ImportFormatPreferences; import org.jabref.logic.importer.Parser; import org.jabref.logic.importer.SearchBasedParserFetcher; -import org.jabref.logic.importer.fetcher.transformators.DefaultQueryTransformer; +import org.jabref.logic.importer.fetcher.transformators.DefaultLuceneQueryTransformer; import org.jabref.logic.importer.fileformat.BibtexParser; import org.jabref.logic.importer.util.MediaTypes; import org.jabref.logic.layout.format.LatexToUnicodeFormatter; @@ -52,7 +52,7 @@ public Optional getHelpPage() { @Override public URL getURLForQuery(QueryNode luceneQuery) throws URISyntaxException, MalformedURLException, FetcherException { URIBuilder uriBuilder = new URIBuilder(INSPIRE_HOST); - uriBuilder.addParameter("q", new DefaultQueryTransformer().transformLuceneQuery(luceneQuery).orElse("")); // Query + uriBuilder.addParameter("q", new DefaultLuceneQueryTransformer().transformLuceneQuery(luceneQuery).orElse("")); return uriBuilder.build().toURL(); } diff --git a/src/main/java/org/jabref/logic/importer/fetcher/transformators/DefaultLuceneQueryTransformer.java b/src/main/java/org/jabref/logic/importer/fetcher/transformators/DefaultLuceneQueryTransformer.java index f874b94d7e2..9a66c84acd4 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/transformators/DefaultLuceneQueryTransformer.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/transformators/DefaultLuceneQueryTransformer.java @@ -17,7 +17,7 @@ protected String getLogicalOrOperator() { @Override protected String getLogicalNotOperator() { - return "-"; + return "NOT "; } @Override diff --git a/src/main/java/org/jabref/logic/importer/fetcher/transformators/GVKQueryTransformer.java b/src/main/java/org/jabref/logic/importer/fetcher/transformators/GVKQueryTransformer.java index 402e68b09c0..c877547f747 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/transformators/GVKQueryTransformer.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/transformators/GVKQueryTransformer.java @@ -16,13 +16,13 @@ protected String getLogicalAndOperator() { @Override protected String getLogicalOrOperator() { LOGGER.warn("GVK does not support Boolean OR operator"); - return ""; + return " "; } @Override protected String getLogicalNotOperator() { LOGGER.warn("GVK does not support Boolean NOT operator"); - return ""; + return " "; } @Override @@ -43,8 +43,8 @@ protected String handleJournal(String journalTitle) { @Override protected String handleYear(String year) { - // ver means Veröffentlichungsangaben - return "pica.ver=" + year; + // "erj" means "Erscheinungsjahr" + return "pica.erj=" + year; } @Override From 41d1bff75ba1b52a85df8ec453216b723ef0246d Mon Sep 17 00:00:00 2001 From: Oliver Kopp Date: Mon, 8 Feb 2021 06:51:15 +0100 Subject: [PATCH 03/20] Fix Jstor query transformation --- .../java/org/jabref/logic/importer/fetcher/JstorFetcher.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/jabref/logic/importer/fetcher/JstorFetcher.java b/src/main/java/org/jabref/logic/importer/fetcher/JstorFetcher.java index 4c2f49a16d5..b488e03afa7 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/JstorFetcher.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/JstorFetcher.java @@ -19,7 +19,7 @@ import org.jabref.logic.importer.ParseException; import org.jabref.logic.importer.Parser; import org.jabref.logic.importer.SearchBasedParserFetcher; -import org.jabref.logic.importer.fetcher.transformators.DefaultQueryTransformer; +import org.jabref.logic.importer.fetcher.transformators.JstorQueryTransformer; import org.jabref.logic.importer.fileformat.BibtexParser; import org.jabref.logic.net.URLDownload; import org.jabref.model.entry.BibEntry; @@ -51,7 +51,7 @@ public JstorFetcher(ImportFormatPreferences importFormatPreferences) { @Override public URL getURLForQuery(QueryNode luceneQuery) throws URISyntaxException, MalformedURLException, FetcherException { URIBuilder uriBuilder = new URIBuilder(SEARCH_HOST); - uriBuilder.addParameter("Query", new DefaultQueryTransformer().transformLuceneQuery(luceneQuery).orElse("")); + uriBuilder.addParameter("Query", new JstorQueryTransformer().transformLuceneQuery(luceneQuery).orElse("")); return uriBuilder.build().toURL(); } From 642785dfc7a5ed2d8f7d1346ac4ab8f8f5b73bd7 Mon Sep 17 00:00:00 2001 From: Carl Christian Snethlage <50491877+calixtus@users.noreply.github.com> Date: Mon, 15 Feb 2021 21:10:19 +0100 Subject: [PATCH 04/20] Fix ollys rage --- .../CollectionOfComputerScienceBibliographiesFetcher.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/jabref/logic/importer/fetcher/CollectionOfComputerScienceBibliographiesFetcher.java b/src/main/java/org/jabref/logic/importer/fetcher/CollectionOfComputerScienceBibliographiesFetcher.java index 9cf596c25e9..5c4d83f4b3b 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/CollectionOfComputerScienceBibliographiesFetcher.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/CollectionOfComputerScienceBibliographiesFetcher.java @@ -15,7 +15,7 @@ import org.jabref.logic.importer.Parser; import org.jabref.logic.importer.SearchBasedParserFetcher; import org.jabref.logic.importer.fetcher.transformators.CollectionOfComputerScienceBibliographiesQueryTransformer; - import org.jabref.model.entry.BibEntry; +import org.jabref.model.entry.BibEntry; import org.jabref.model.entry.field.Field; import org.jabref.model.entry.field.FieldFactory; import org.jabref.model.entry.field.StandardField; From 6a9f835c51179e16c59fe6b566de94f7ca01b9a0 Mon Sep 17 00:00:00 2001 From: Oliver Kopp Date: Thu, 11 Mar 2021 23:03:13 +0100 Subject: [PATCH 05/20] Fix method name --- .../ArXivQueryTransformerTest.java | 6 ++--- .../DBLPQueryTransformerTest.java | 6 ++--- .../GVKQueryTransformerTest.java | 4 ++-- .../IEEEQueryTransformerTest.java | 8 +++---- .../transformators/InfixTransformerTest.java | 22 +++++++++---------- .../JstorQueryTransformerTest.java | 2 +- .../ScholarQueryTransformerTest.java | 6 ++--- .../SpringerQueryTransformerTest.java | 6 ++--- .../ZbMathQueryTransformerTest.java | 6 ++--- 9 files changed, 33 insertions(+), 33 deletions(-) diff --git a/src/test/java/org/jabref/logic/importer/fetcher/transformators/ArXivQueryTransformerTest.java b/src/test/java/org/jabref/logic/importer/fetcher/transformators/ArXivQueryTransformerTest.java index ac5933ae7bb..6f2636f8ea1 100644 --- a/src/test/java/org/jabref/logic/importer/fetcher/transformators/ArXivQueryTransformerTest.java +++ b/src/test/java/org/jabref/logic/importer/fetcher/transformators/ArXivQueryTransformerTest.java @@ -10,7 +10,7 @@ class ArXivQueryTransformerTest implements InfixTransformerTest { @Override - public AbstractQueryTransformer getTransformator() { + public AbstractQueryTransformer getTransformer() { return new ArXivQueryTransformer(); } @@ -36,7 +36,7 @@ public String getTitlePrefix() { @Override public void convertYearField() throws Exception { - ArXivQueryTransformer transformer = ((ArXivQueryTransformer) getTransformator()); + ArXivQueryTransformer transformer = ((ArXivQueryTransformer) getTransformer()); String queryString = "2018"; QueryNode luceneQuery = new StandardSyntaxParser().parse(queryString, AbstractQueryTransformer.NO_EXPLICIT_FIELD); Optional query = transformer.transformLuceneQuery(luceneQuery); @@ -48,7 +48,7 @@ public void convertYearField() throws Exception { @Override public void convertYearRangeField() throws Exception { - ArXivQueryTransformer transformer = ((ArXivQueryTransformer) getTransformator()); + ArXivQueryTransformer transformer = ((ArXivQueryTransformer) getTransformer()); String queryString = "year-range:2018-2021"; QueryNode luceneQuery = new StandardSyntaxParser().parse(queryString, AbstractQueryTransformer.NO_EXPLICIT_FIELD); diff --git a/src/test/java/org/jabref/logic/importer/fetcher/transformators/DBLPQueryTransformerTest.java b/src/test/java/org/jabref/logic/importer/fetcher/transformators/DBLPQueryTransformerTest.java index d531f19da9d..206e9f370a5 100644 --- a/src/test/java/org/jabref/logic/importer/fetcher/transformators/DBLPQueryTransformerTest.java +++ b/src/test/java/org/jabref/logic/importer/fetcher/transformators/DBLPQueryTransformerTest.java @@ -10,7 +10,7 @@ class DBLPQueryTransformerTest implements InfixTransformerTest { @Override - public AbstractQueryTransformer getTransformator() { + public AbstractQueryTransformer getTransformer() { return new DBLPQueryTransformer(); } @@ -38,7 +38,7 @@ public String getTitlePrefix() { public void convertYearField() throws Exception { String queryString = "year:2015"; QueryNode luceneQuery = new StandardSyntaxParser().parse(queryString, AbstractQueryTransformer.NO_EXPLICIT_FIELD); - Optional searchQuery = getTransformator().transformLuceneQuery(luceneQuery); + Optional searchQuery = getTransformer().transformLuceneQuery(luceneQuery); Optional expected = Optional.of("2015"); assertEquals(expected, searchQuery); } @@ -47,7 +47,7 @@ public void convertYearField() throws Exception { public void convertYearRangeField() throws Exception { String queryString = "year-range:2012-2015"; QueryNode luceneQuery = new StandardSyntaxParser().parse(queryString, AbstractQueryTransformer.NO_EXPLICIT_FIELD); - Optional searchQuery = getTransformator().transformLuceneQuery(luceneQuery); + Optional searchQuery = getTransformer().transformLuceneQuery(luceneQuery); Optional expected = Optional.of("2012|2013|2014|2015"); assertEquals(expected, searchQuery); } diff --git a/src/test/java/org/jabref/logic/importer/fetcher/transformators/GVKQueryTransformerTest.java b/src/test/java/org/jabref/logic/importer/fetcher/transformators/GVKQueryTransformerTest.java index 9dab863dc10..6f69652d194 100644 --- a/src/test/java/org/jabref/logic/importer/fetcher/transformators/GVKQueryTransformerTest.java +++ b/src/test/java/org/jabref/logic/importer/fetcher/transformators/GVKQueryTransformerTest.java @@ -11,7 +11,7 @@ class GVKQueryTransformerTest implements InfixTransformerTest { @Override - public AbstractQueryTransformer getTransformator() { + public AbstractQueryTransformer getTransformer() { return new GVKQueryTransformer(); } @@ -40,7 +40,7 @@ public void convertYearField() throws Exception { String queryString = "year:2018"; QueryNode luceneQuery = new StandardSyntaxParser().parse(queryString, AbstractQueryTransformer.NO_EXPLICIT_FIELD); - Optional query = getTransformator().transformLuceneQuery(luceneQuery); + Optional query = getTransformer().transformLuceneQuery(luceneQuery); Optional expected = Optional.of("ver:2018"); assertEquals(expected, query); diff --git a/src/test/java/org/jabref/logic/importer/fetcher/transformators/IEEEQueryTransformerTest.java b/src/test/java/org/jabref/logic/importer/fetcher/transformators/IEEEQueryTransformerTest.java index 7d2042a34e3..61f8211ddcc 100644 --- a/src/test/java/org/jabref/logic/importer/fetcher/transformators/IEEEQueryTransformerTest.java +++ b/src/test/java/org/jabref/logic/importer/fetcher/transformators/IEEEQueryTransformerTest.java @@ -8,7 +8,7 @@ class IEEEQueryTransformerTest implements InfixTransformerTest { @Override - public AbstractQueryTransformer getTransformator() { + public AbstractQueryTransformer getTransformer() { return new IEEEQueryTransformer(); } @@ -34,7 +34,7 @@ public String getTitlePrefix() { @Override public void convertJournalField() throws Exception { - IEEEQueryTransformer transformer = ((IEEEQueryTransformer) getTransformator()); + IEEEQueryTransformer transformer = ((IEEEQueryTransformer) getTransformer()); String queryString = "journal:Nature"; QueryNode luceneQuery = new StandardSyntaxParser().parse(queryString, AbstractQueryTransformer.NO_EXPLICIT_FIELD); @@ -45,7 +45,7 @@ public void convertJournalField() throws Exception { @Override public void convertYearField() throws Exception { - IEEEQueryTransformer transformer = ((IEEEQueryTransformer) getTransformator()); + IEEEQueryTransformer transformer = ((IEEEQueryTransformer) getTransformer()); String queryString = "year:2021"; QueryNode luceneQuery = new StandardSyntaxParser().parse(queryString, AbstractQueryTransformer.NO_EXPLICIT_FIELD); @@ -58,7 +58,7 @@ public void convertYearField() throws Exception { @Override public void convertYearRangeField() throws Exception { - IEEEQueryTransformer transformer = ((IEEEQueryTransformer) getTransformator()); + IEEEQueryTransformer transformer = ((IEEEQueryTransformer) getTransformer()); String queryString = "year-range:2018-2021"; QueryNode luceneQuery = new StandardSyntaxParser().parse(queryString, AbstractQueryTransformer.NO_EXPLICIT_FIELD); diff --git a/src/test/java/org/jabref/logic/importer/fetcher/transformators/InfixTransformerTest.java b/src/test/java/org/jabref/logic/importer/fetcher/transformators/InfixTransformerTest.java index f986a04c7e0..b455ac907db 100644 --- a/src/test/java/org/jabref/logic/importer/fetcher/transformators/InfixTransformerTest.java +++ b/src/test/java/org/jabref/logic/importer/fetcher/transformators/InfixTransformerTest.java @@ -13,7 +13,7 @@ */ public interface InfixTransformerTest { - AbstractQueryTransformer getTransformator(); + AbstractQueryTransformer getTransformer(); /* All prefixes have to include the used separator * Example in the case of ':': "author:" @@ -30,7 +30,7 @@ public interface InfixTransformerTest { default void convertAuthorField() throws Exception { String queryString = "author:\"Igor Steinmacher\""; QueryNode luceneQuery = new StandardSyntaxParser().parse(queryString, AbstractQueryTransformer.NO_EXPLICIT_FIELD); - Optional searchQuery = getTransformator().transformLuceneQuery(luceneQuery); + Optional searchQuery = getTransformer().transformLuceneQuery(luceneQuery); Optional expected = Optional.of(getAuthorPrefix() + "\"Igor Steinmacher\""); assertEquals(expected, searchQuery); } @@ -39,7 +39,7 @@ default void convertAuthorField() throws Exception { default void convertUnFieldedTerm() throws Exception { String queryString = "\"default value\""; QueryNode luceneQuery = new StandardSyntaxParser().parse(queryString, AbstractQueryTransformer.NO_EXPLICIT_FIELD); - Optional searchQuery = getTransformator().transformLuceneQuery(luceneQuery); + Optional searchQuery = getTransformer().transformLuceneQuery(luceneQuery); Optional expected = Optional.of(getUnFieldedPrefix() + queryString); assertEquals(expected, searchQuery); } @@ -48,7 +48,7 @@ default void convertUnFieldedTerm() throws Exception { default void convertExplicitUnFieldedTerm() throws Exception { String queryString = "default:\"default value\""; QueryNode luceneQuery = new StandardSyntaxParser().parse(queryString, AbstractQueryTransformer.NO_EXPLICIT_FIELD); - Optional searchQuery = getTransformator().transformLuceneQuery(luceneQuery); + Optional searchQuery = getTransformer().transformLuceneQuery(luceneQuery); Optional expected = Optional.of(getUnFieldedPrefix() + "\"default value\""); assertEquals(expected, searchQuery); } @@ -57,7 +57,7 @@ default void convertExplicitUnFieldedTerm() throws Exception { default void convertJournalField() throws Exception { String queryString = "journal:Nature"; QueryNode luceneQuery = new StandardSyntaxParser().parse(queryString, AbstractQueryTransformer.NO_EXPLICIT_FIELD); - Optional searchQuery = getTransformator().transformLuceneQuery(luceneQuery); + Optional searchQuery = getTransformer().transformLuceneQuery(luceneQuery); Optional expected = Optional.of(getJournalPrefix() + "\"Nature\""); assertEquals(expected, searchQuery); } @@ -72,8 +72,8 @@ default void convertJournalField() throws Exception { default void convertMultipleValuesWithTheSameField() throws Exception { String queryString = "author:\"Igor Steinmacher\" author:\"Christoph Treude\""; QueryNode luceneQuery = new StandardSyntaxParser().parse(queryString, AbstractQueryTransformer.NO_EXPLICIT_FIELD); - Optional searchQuery = getTransformator().transformLuceneQuery(luceneQuery); - Optional expected = Optional.of(getAuthorPrefix() + "\"Igor Steinmacher\"" + getTransformator().getLogicalAndOperator() + getAuthorPrefix() + "\"Christoph Treude\""); + Optional searchQuery = getTransformer().transformLuceneQuery(luceneQuery); + Optional expected = Optional.of(getAuthorPrefix() + "\"Igor Steinmacher\"" + getTransformer().getLogicalAndOperator() + getAuthorPrefix() + "\"Christoph Treude\""); assertEquals(expected, searchQuery); } @@ -81,8 +81,8 @@ default void convertMultipleValuesWithTheSameField() throws Exception { default void groupedOperations() throws Exception { String queryString = "(author:\"Igor Steinmacher\" OR author:\"Christoph Treude\" AND author:\"Christoph Freunde\") AND title:test"; QueryNode luceneQuery = new StandardSyntaxParser().parse(queryString, AbstractQueryTransformer.NO_EXPLICIT_FIELD); - Optional searchQuery = getTransformator().transformLuceneQuery(luceneQuery); - Optional expected = Optional.of("(" + getAuthorPrefix() + "\"Igor Steinmacher\"" + getTransformator().getLogicalOrOperator() + "(" + getAuthorPrefix() + "\"Christoph Treude\"" + getTransformator().getLogicalAndOperator() + getAuthorPrefix() + "\"Christoph Freunde\"))" + getTransformator().getLogicalAndOperator() + getTitlePrefix() + "\"test\""); + Optional searchQuery = getTransformer().transformLuceneQuery(luceneQuery); + Optional expected = Optional.of("(" + getAuthorPrefix() + "\"Igor Steinmacher\"" + getTransformer().getLogicalOrOperator() + "(" + getAuthorPrefix() + "\"Christoph Treude\"" + getTransformer().getLogicalAndOperator() + getAuthorPrefix() + "\"Christoph Freunde\"))" + getTransformer().getLogicalAndOperator() + getTitlePrefix() + "\"test\""); assertEquals(expected, searchQuery); } @@ -90,8 +90,8 @@ default void groupedOperations() throws Exception { default void notOperator() throws Exception { String queryString = "!(author:\"Igor Steinmacher\" OR author:\"Christoph Treude\")"; QueryNode luceneQuery = new StandardSyntaxParser().parse(queryString, AbstractQueryTransformer.NO_EXPLICIT_FIELD); - Optional searchQuery = getTransformator().transformLuceneQuery(luceneQuery); - Optional expected = Optional.of(getTransformator().getLogicalNotOperator() + "(" + getAuthorPrefix() + "\"Igor Steinmacher\"" + getTransformator().getLogicalOrOperator() + getAuthorPrefix() + "\"Christoph Treude\")"); + Optional searchQuery = getTransformer().transformLuceneQuery(luceneQuery); + Optional expected = Optional.of(getTransformer().getLogicalNotOperator() + "(" + getAuthorPrefix() + "\"Igor Steinmacher\"" + getTransformer().getLogicalOrOperator() + getAuthorPrefix() + "\"Christoph Treude\")"); assertEquals(expected, searchQuery); } } diff --git a/src/test/java/org/jabref/logic/importer/fetcher/transformators/JstorQueryTransformerTest.java b/src/test/java/org/jabref/logic/importer/fetcher/transformators/JstorQueryTransformerTest.java index e8a5a6014b9..d23df6aebf3 100644 --- a/src/test/java/org/jabref/logic/importer/fetcher/transformators/JstorQueryTransformerTest.java +++ b/src/test/java/org/jabref/logic/importer/fetcher/transformators/JstorQueryTransformerTest.java @@ -3,7 +3,7 @@ class JstorQueryTransformerTest implements InfixTransformerTest { @Override - public AbstractQueryTransformer getTransformator() { + public AbstractQueryTransformer getTransformer() { return new JstorQueryTransformer(); } diff --git a/src/test/java/org/jabref/logic/importer/fetcher/transformators/ScholarQueryTransformerTest.java b/src/test/java/org/jabref/logic/importer/fetcher/transformators/ScholarQueryTransformerTest.java index e83329b893a..5d0d8b3bfef 100644 --- a/src/test/java/org/jabref/logic/importer/fetcher/transformators/ScholarQueryTransformerTest.java +++ b/src/test/java/org/jabref/logic/importer/fetcher/transformators/ScholarQueryTransformerTest.java @@ -8,7 +8,7 @@ class ScholarQueryTransformerTest implements InfixTransformerTest { @Override - public AbstractQueryTransformer getTransformator() { + public AbstractQueryTransformer getTransformer() { return new ScholarQueryTransformer(); } @@ -34,7 +34,7 @@ public String getTitlePrefix() { @Override public void convertYearField() throws Exception { - ScholarQueryTransformer transformer = ((ScholarQueryTransformer) getTransformator()); + ScholarQueryTransformer transformer = ((ScholarQueryTransformer) getTransformer()); String queryString = "year:2021"; QueryNode luceneQuery = new StandardSyntaxParser().parse(queryString, AbstractQueryTransformer.NO_EXPLICIT_FIELD); @@ -47,7 +47,7 @@ public void convertYearField() throws Exception { @Override public void convertYearRangeField() throws Exception { - ScholarQueryTransformer transformer = ((ScholarQueryTransformer) getTransformator()); + ScholarQueryTransformer transformer = ((ScholarQueryTransformer) getTransformer()); String queryString = "year-range:2018-2021"; QueryNode luceneQuery = new StandardSyntaxParser().parse(queryString, AbstractQueryTransformer.NO_EXPLICIT_FIELD); diff --git a/src/test/java/org/jabref/logic/importer/fetcher/transformators/SpringerQueryTransformerTest.java b/src/test/java/org/jabref/logic/importer/fetcher/transformators/SpringerQueryTransformerTest.java index c0fbd484251..6173b86fbb5 100644 --- a/src/test/java/org/jabref/logic/importer/fetcher/transformators/SpringerQueryTransformerTest.java +++ b/src/test/java/org/jabref/logic/importer/fetcher/transformators/SpringerQueryTransformerTest.java @@ -15,7 +15,7 @@ public String getAuthorPrefix() { } @Override - public AbstractQueryTransformer getTransformator() { + public AbstractQueryTransformer getTransformer() { return new SpringerQueryTransformer(); } @@ -38,7 +38,7 @@ public String getTitlePrefix() { public void convertYearField() throws Exception { String queryString = "year:2015"; QueryNode luceneQuery = new StandardSyntaxParser().parse(queryString, AbstractQueryTransformer.NO_EXPLICIT_FIELD); - Optional searchQuery = getTransformator().transformLuceneQuery(luceneQuery); + Optional searchQuery = getTransformer().transformLuceneQuery(luceneQuery); Optional expected = Optional.of("date:2015*"); assertEquals(expected, searchQuery); @@ -48,7 +48,7 @@ public void convertYearField() throws Exception { public void convertYearRangeField() throws Exception { String queryString = "year-range:2012-2015"; QueryNode luceneQuery = new StandardSyntaxParser().parse(queryString, AbstractQueryTransformer.NO_EXPLICIT_FIELD); - Optional searchQuery = getTransformator().transformLuceneQuery(luceneQuery); + Optional searchQuery = getTransformer().transformLuceneQuery(luceneQuery); Optional expected = Optional.of("date:2012* OR date:2013* OR date:2014* OR date:2015*"); assertEquals(expected, searchQuery); diff --git a/src/test/java/org/jabref/logic/importer/fetcher/transformators/ZbMathQueryTransformerTest.java b/src/test/java/org/jabref/logic/importer/fetcher/transformators/ZbMathQueryTransformerTest.java index 73737455534..51f5dd64337 100644 --- a/src/test/java/org/jabref/logic/importer/fetcher/transformators/ZbMathQueryTransformerTest.java +++ b/src/test/java/org/jabref/logic/importer/fetcher/transformators/ZbMathQueryTransformerTest.java @@ -10,7 +10,7 @@ class ZbMathQueryTransformerTest implements InfixTransformerTest { @Override - public AbstractQueryTransformer getTransformator() { + public AbstractQueryTransformer getTransformer() { return new ZbMathQueryTransformer(); } @@ -38,7 +38,7 @@ public String getTitlePrefix() { public void convertYearField() throws Exception { String queryString = "year:2015"; QueryNode luceneQuery = new StandardSyntaxParser().parse(queryString, AbstractQueryTransformer.NO_EXPLICIT_FIELD); - Optional searchQuery = getTransformator().transformLuceneQuery(luceneQuery); + Optional searchQuery = getTransformer().transformLuceneQuery(luceneQuery); Optional expected = Optional.of("py:2015"); assertEquals(expected, searchQuery); } @@ -47,7 +47,7 @@ public void convertYearField() throws Exception { public void convertYearRangeField() throws Exception { String queryString = "year-range:2012-2015"; QueryNode luceneQuery = new StandardSyntaxParser().parse(queryString, AbstractQueryTransformer.NO_EXPLICIT_FIELD); - Optional searchQuery = getTransformator().transformLuceneQuery(luceneQuery); + Optional searchQuery = getTransformer().transformLuceneQuery(luceneQuery); Optional expected = Optional.of("py:2012-2015"); assertEquals(expected, searchQuery); } From 40ff864d3e0544010f05214a4a3268108ef272c0 Mon Sep 17 00:00:00 2001 From: Oliver Kopp Date: Thu, 11 Mar 2021 23:22:25 +0100 Subject: [PATCH 06/20] Add miissing tests --- ...ScienceBibliographiesQueryTransformer.java | 4 +- .../DefaultLuceneQueryTransformer.java | 2 +- .../transformators/JstorQueryTransformer.java | 3 + ...nceBibliographiesQueryTransformerTest.java | 61 +++++++++++++++++++ .../DefaultLuceneQueryTransformerTest.java | 61 +++++++++++++++++++ .../GVKQueryTransformerTest.java | 1 - .../JstorQueryTransformerTest.java | 23 ++++++- 7 files changed, 150 insertions(+), 5 deletions(-) create mode 100644 src/test/java/org/jabref/logic/importer/fetcher/transformators/CollectionOfComputerScienceBibliographiesQueryTransformerTest.java create mode 100644 src/test/java/org/jabref/logic/importer/fetcher/transformators/DefaultLuceneQueryTransformerTest.java diff --git a/src/main/java/org/jabref/logic/importer/fetcher/transformators/CollectionOfComputerScienceBibliographiesQueryTransformer.java b/src/main/java/org/jabref/logic/importer/fetcher/transformators/CollectionOfComputerScienceBibliographiesQueryTransformer.java index bf11a7eff57..740ddfc9a3d 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/transformators/CollectionOfComputerScienceBibliographiesQueryTransformer.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/transformators/CollectionOfComputerScienceBibliographiesQueryTransformer.java @@ -29,7 +29,7 @@ protected String handleTitle(String title) { @Override protected String handleJournal(String journalTitle) { - return journalTitle; + return String.format("\"%s\"", journalTitle); } @Override @@ -39,6 +39,6 @@ protected String handleYear(String year) { @Override protected String handleUnFieldedTerm(String term) { - return term; + return String.format("\"%s\"", term); } } diff --git a/src/main/java/org/jabref/logic/importer/fetcher/transformators/DefaultLuceneQueryTransformer.java b/src/main/java/org/jabref/logic/importer/fetcher/transformators/DefaultLuceneQueryTransformer.java index 9a66c84acd4..b34b2c4fa7a 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/transformators/DefaultLuceneQueryTransformer.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/transformators/DefaultLuceneQueryTransformer.java @@ -42,6 +42,6 @@ protected String handleYear(String year) { @Override protected String handleUnFieldedTerm(String term) { - return term; + return "\"" + term + "\""; } } diff --git a/src/main/java/org/jabref/logic/importer/fetcher/transformators/JstorQueryTransformer.java b/src/main/java/org/jabref/logic/importer/fetcher/transformators/JstorQueryTransformer.java index 1c7be5db728..e0193d995b4 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/transformators/JstorQueryTransformer.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/transformators/JstorQueryTransformer.java @@ -39,6 +39,9 @@ protected String handleYear(String year) { @Override protected String handleYearRange(String yearRange) { String[] split = yearRange.split("-"); + if (split.length != 2) { + return yearRange; + } return "sd:" + split[0] + getLogicalAndOperator() + "ed:" + split[1]; } diff --git a/src/test/java/org/jabref/logic/importer/fetcher/transformators/CollectionOfComputerScienceBibliographiesQueryTransformerTest.java b/src/test/java/org/jabref/logic/importer/fetcher/transformators/CollectionOfComputerScienceBibliographiesQueryTransformerTest.java new file mode 100644 index 00000000000..ddf4095d241 --- /dev/null +++ b/src/test/java/org/jabref/logic/importer/fetcher/transformators/CollectionOfComputerScienceBibliographiesQueryTransformerTest.java @@ -0,0 +1,61 @@ +package org.jabref.logic.importer.fetcher.transformators; + +import java.util.Optional; + +import org.apache.lucene.queryparser.flexible.core.nodes.QueryNode; +import org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParser; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +class CollectionOfComputerScienceBibliographiesQueryTransformerTest implements InfixTransformerTest { + + @Override + public AbstractQueryTransformer getTransformer() { + return new CollectionOfComputerScienceBibliographiesQueryTransformer(); + } + + @Override + public String getAuthorPrefix() { + return "au:"; + } + + @Override + public String getUnFieldedPrefix() { + return ""; + } + + @Override + public String getJournalPrefix() { + return ""; + } + + @Override + public String getTitlePrefix() { + return "ti:"; + } + + @Override + public void convertYearField() throws Exception { + ArXivQueryTransformer transformer = ((ArXivQueryTransformer) getTransformer()); + String queryString = "2018"; + QueryNode luceneQuery = new StandardSyntaxParser().parse(queryString, AbstractQueryTransformer.NO_EXPLICIT_FIELD); + Optional query = transformer.transformLuceneQuery(luceneQuery); + Optional expected = Optional.of(queryString); + assertEquals(expected, query); + assertEquals(2018, transformer.getStartYear()); + assertEquals(2018, transformer.getEndYear()); + } + + @Override + public void convertYearRangeField() throws Exception { + ArXivQueryTransformer transformer = ((ArXivQueryTransformer) getTransformer()); + + String queryString = "year-range:2018-2021"; + QueryNode luceneQuery = new StandardSyntaxParser().parse(queryString, AbstractQueryTransformer.NO_EXPLICIT_FIELD); + transformer.transformLuceneQuery(luceneQuery); + + assertEquals(2018, transformer.getStartYear()); + assertEquals(2021, transformer.getEndYear()); + } + +} diff --git a/src/test/java/org/jabref/logic/importer/fetcher/transformators/DefaultLuceneQueryTransformerTest.java b/src/test/java/org/jabref/logic/importer/fetcher/transformators/DefaultLuceneQueryTransformerTest.java new file mode 100644 index 00000000000..877f23bff78 --- /dev/null +++ b/src/test/java/org/jabref/logic/importer/fetcher/transformators/DefaultLuceneQueryTransformerTest.java @@ -0,0 +1,61 @@ +package org.jabref.logic.importer.fetcher.transformators; + +import java.util.Optional; + +import org.apache.lucene.queryparser.flexible.core.nodes.QueryNode; +import org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParser; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +class DefaultLuceneQueryTransformerTest implements InfixTransformerTest { + + @Override + public AbstractQueryTransformer getTransformer() { + return new DefaultLuceneQueryTransformer(); + } + + @Override + public String getAuthorPrefix() { + return "author:"; + } + + @Override + public String getUnFieldedPrefix() { + return ""; + } + + @Override + public String getJournalPrefix() { + return "journal:"; + } + + @Override + public String getTitlePrefix() { + return "title:"; + } + + @Override + public void convertYearField() throws Exception { + ArXivQueryTransformer transformer = ((ArXivQueryTransformer) getTransformer()); + String queryString = "2018"; + QueryNode luceneQuery = new StandardSyntaxParser().parse(queryString, AbstractQueryTransformer.NO_EXPLICIT_FIELD); + Optional query = transformer.transformLuceneQuery(luceneQuery); + Optional expected = Optional.of(queryString); + assertEquals(expected, query); + assertEquals(2018, transformer.getStartYear()); + assertEquals(2018, transformer.getEndYear()); + } + + @Override + public void convertYearRangeField() throws Exception { + ArXivQueryTransformer transformer = ((ArXivQueryTransformer) getTransformer()); + + String queryString = "year-range:2018-2021"; + QueryNode luceneQuery = new StandardSyntaxParser().parse(queryString, AbstractQueryTransformer.NO_EXPLICIT_FIELD); + transformer.transformLuceneQuery(luceneQuery); + + assertEquals(2018, transformer.getStartYear()); + assertEquals(2021, transformer.getEndYear()); + } + +} diff --git a/src/test/java/org/jabref/logic/importer/fetcher/transformators/GVKQueryTransformerTest.java b/src/test/java/org/jabref/logic/importer/fetcher/transformators/GVKQueryTransformerTest.java index 6f69652d194..0e1e201c835 100644 --- a/src/test/java/org/jabref/logic/importer/fetcher/transformators/GVKQueryTransformerTest.java +++ b/src/test/java/org/jabref/logic/importer/fetcher/transformators/GVKQueryTransformerTest.java @@ -37,7 +37,6 @@ public String getTitlePrefix() { @Override public void convertYearField() throws Exception { - String queryString = "year:2018"; QueryNode luceneQuery = new StandardSyntaxParser().parse(queryString, AbstractQueryTransformer.NO_EXPLICIT_FIELD); Optional query = getTransformer().transformLuceneQuery(luceneQuery); diff --git a/src/test/java/org/jabref/logic/importer/fetcher/transformators/JstorQueryTransformerTest.java b/src/test/java/org/jabref/logic/importer/fetcher/transformators/JstorQueryTransformerTest.java index d23df6aebf3..79a82632d56 100644 --- a/src/test/java/org/jabref/logic/importer/fetcher/transformators/JstorQueryTransformerTest.java +++ b/src/test/java/org/jabref/logic/importer/fetcher/transformators/JstorQueryTransformerTest.java @@ -1,5 +1,12 @@ package org.jabref.logic.importer.fetcher.transformators; +import java.util.Optional; + +import org.apache.lucene.queryparser.flexible.core.nodes.QueryNode; +import org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParser; + +import static org.junit.jupiter.api.Assertions.assertEquals; + class JstorQueryTransformerTest implements InfixTransformerTest { @Override @@ -29,11 +36,25 @@ public String getTitlePrefix() { @Override public void convertYearField() throws Exception { - + ArXivQueryTransformer transformer = ((ArXivQueryTransformer) getTransformer()); + String queryString = "2018"; + QueryNode luceneQuery = new StandardSyntaxParser().parse(queryString, AbstractQueryTransformer.NO_EXPLICIT_FIELD); + Optional query = transformer.transformLuceneQuery(luceneQuery); + Optional expected = Optional.of(queryString); + assertEquals(expected, query); + assertEquals(2018, transformer.getStartYear()); + assertEquals(2018, transformer.getEndYear()); } @Override public void convertYearRangeField() throws Exception { + ArXivQueryTransformer transformer = ((ArXivQueryTransformer) getTransformer()); + + String queryString = "year-range:2018-2021"; + QueryNode luceneQuery = new StandardSyntaxParser().parse(queryString, AbstractQueryTransformer.NO_EXPLICIT_FIELD); + transformer.transformLuceneQuery(luceneQuery); + assertEquals(2018, transformer.getStartYear()); + assertEquals(2021, transformer.getEndYear()); } } From 1c85bc8edb1818e2778e163d24b8ac80fe25ff8b Mon Sep 17 00:00:00 2001 From: Oliver Kopp Date: Thu, 11 Mar 2021 23:32:09 +0100 Subject: [PATCH 07/20] Fix CCSB --- ...onOfComputerScienceBibliographiesQueryTransformer.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/jabref/logic/importer/fetcher/transformators/CollectionOfComputerScienceBibliographiesQueryTransformer.java b/src/main/java/org/jabref/logic/importer/fetcher/transformators/CollectionOfComputerScienceBibliographiesQueryTransformer.java index 740ddfc9a3d..ba29f3b2931 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/transformators/CollectionOfComputerScienceBibliographiesQueryTransformer.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/transformators/CollectionOfComputerScienceBibliographiesQueryTransformer.java @@ -4,7 +4,7 @@ public class CollectionOfComputerScienceBibliographiesQueryTransformer extends A @Override protected String getLogicalAndOperator() { - return " AND "; + return " "; } @Override @@ -39,6 +39,10 @@ protected String handleYear(String year) { @Override protected String handleUnFieldedTerm(String term) { - return String.format("\"%s\"", term); + if (term.contains(" ")) { + return String.format("\"%s\"", term); + } else { + return term; + } } } From 36d94fa94d7797639c4d769cbbf004ae9dc3f1da Mon Sep 17 00:00:00 2001 From: Oliver Kopp Date: Sun, 28 Mar 2021 23:41:15 +0200 Subject: [PATCH 08/20] Fix JstoryQueryTransformerTest --- .../transformators/ArXivQueryTransformer.java | 8 +++----- .../ArXivQueryTransformerTest.java | 10 +++++++++- .../transformators/GVKQueryTransformerTest.java | 1 - .../IEEEQueryTransformerTest.java | 1 - .../transformators/InfixTransformerTest.java | 1 + .../JstorQueryTransformerTest.java | 17 ++++++----------- 6 files changed, 19 insertions(+), 19 deletions(-) diff --git a/src/main/java/org/jabref/logic/importer/fetcher/transformators/ArXivQueryTransformer.java b/src/main/java/org/jabref/logic/importer/fetcher/transformators/ArXivQueryTransformer.java index dd94eab746b..7528782644b 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/transformators/ArXivQueryTransformer.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/transformators/ArXivQueryTransformer.java @@ -17,10 +17,6 @@ protected String getLogicalOrOperator() { return " OR "; } - /** - * Check whether this works as an unary operator - * @return - */ @Override protected String getLogicalNotOperator() { return " ANDNOT "; @@ -52,7 +48,9 @@ protected String handleYear(String year) { } /** - * Currently not supported + * The arXiv API does not support querying for a year range. + * Nevertheless, we store the start year and end year, + * because we filter it after fetching all results */ @Override protected String handleYearRange(String yearRange) { diff --git a/src/test/java/org/jabref/logic/importer/fetcher/transformators/ArXivQueryTransformerTest.java b/src/test/java/org/jabref/logic/importer/fetcher/transformators/ArXivQueryTransformerTest.java index 6f2636f8ea1..57c8fc59ecb 100644 --- a/src/test/java/org/jabref/logic/importer/fetcher/transformators/ArXivQueryTransformerTest.java +++ b/src/test/java/org/jabref/logic/importer/fetcher/transformators/ArXivQueryTransformerTest.java @@ -4,6 +4,7 @@ import org.apache.lucene.queryparser.flexible.core.nodes.QueryNode; import org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParser; +import org.junit.jupiter.api.Disabled; import static org.junit.jupiter.api.Assertions.assertEquals; @@ -52,8 +53,15 @@ public void convertYearRangeField() throws Exception { String queryString = "year-range:2018-2021"; QueryNode luceneQuery = new StandardSyntaxParser().parse(queryString, AbstractQueryTransformer.NO_EXPLICIT_FIELD); - transformer.transformLuceneQuery(luceneQuery); + Optional result = transformer.transformLuceneQuery(luceneQuery); + // The API does not support querying for a year range + // The implementation of the fetcher filters the results manually + + // The implementations returns an empty query + assertEquals(Optional.of(""), result); + + // The implementation sets the start year and end year values according to the query assertEquals(2018, transformer.getStartYear()); assertEquals(2021, transformer.getEndYear()); } diff --git a/src/test/java/org/jabref/logic/importer/fetcher/transformators/GVKQueryTransformerTest.java b/src/test/java/org/jabref/logic/importer/fetcher/transformators/GVKQueryTransformerTest.java index 0e1e201c835..6ba2317b568 100644 --- a/src/test/java/org/jabref/logic/importer/fetcher/transformators/GVKQueryTransformerTest.java +++ b/src/test/java/org/jabref/logic/importer/fetcher/transformators/GVKQueryTransformerTest.java @@ -48,6 +48,5 @@ public void convertYearField() throws Exception { @Disabled("Not supported by GVK") @Override public void convertYearRangeField() throws Exception { - } } diff --git a/src/test/java/org/jabref/logic/importer/fetcher/transformators/IEEEQueryTransformerTest.java b/src/test/java/org/jabref/logic/importer/fetcher/transformators/IEEEQueryTransformerTest.java index 61f8211ddcc..ba11fe2f759 100644 --- a/src/test/java/org/jabref/logic/importer/fetcher/transformators/IEEEQueryTransformerTest.java +++ b/src/test/java/org/jabref/logic/importer/fetcher/transformators/IEEEQueryTransformerTest.java @@ -57,7 +57,6 @@ public void convertYearField() throws Exception { @Override public void convertYearRangeField() throws Exception { - IEEEQueryTransformer transformer = ((IEEEQueryTransformer) getTransformer()); String queryString = "year-range:2018-2021"; diff --git a/src/test/java/org/jabref/logic/importer/fetcher/transformators/InfixTransformerTest.java b/src/test/java/org/jabref/logic/importer/fetcher/transformators/InfixTransformerTest.java index b455ac907db..db354783cf8 100644 --- a/src/test/java/org/jabref/logic/importer/fetcher/transformators/InfixTransformerTest.java +++ b/src/test/java/org/jabref/logic/importer/fetcher/transformators/InfixTransformerTest.java @@ -18,6 +18,7 @@ public interface InfixTransformerTest { /* All prefixes have to include the used separator * Example in the case of ':': "author:" */ + String getAuthorPrefix(); String getUnFieldedPrefix(); diff --git a/src/test/java/org/jabref/logic/importer/fetcher/transformators/JstorQueryTransformerTest.java b/src/test/java/org/jabref/logic/importer/fetcher/transformators/JstorQueryTransformerTest.java index 79a82632d56..c3e4b1f5f8e 100644 --- a/src/test/java/org/jabref/logic/importer/fetcher/transformators/JstorQueryTransformerTest.java +++ b/src/test/java/org/jabref/logic/importer/fetcher/transformators/JstorQueryTransformerTest.java @@ -36,25 +36,20 @@ public String getTitlePrefix() { @Override public void convertYearField() throws Exception { - ArXivQueryTransformer transformer = ((ArXivQueryTransformer) getTransformer()); - String queryString = "2018"; + JstorQueryTransformer transformer = (JstorQueryTransformer) getTransformer(); + String queryString = "year:2018"; QueryNode luceneQuery = new StandardSyntaxParser().parse(queryString, AbstractQueryTransformer.NO_EXPLICIT_FIELD); Optional query = transformer.transformLuceneQuery(luceneQuery); - Optional expected = Optional.of(queryString); - assertEquals(expected, query); - assertEquals(2018, transformer.getStartYear()); - assertEquals(2018, transformer.getEndYear()); + assertEquals(Optional.of("sd:2018 AND ed:2018"), query); } @Override public void convertYearRangeField() throws Exception { - ArXivQueryTransformer transformer = ((ArXivQueryTransformer) getTransformer()); + JstorQueryTransformer transformer = ((JstorQueryTransformer) getTransformer()); String queryString = "year-range:2018-2021"; QueryNode luceneQuery = new StandardSyntaxParser().parse(queryString, AbstractQueryTransformer.NO_EXPLICIT_FIELD); - transformer.transformLuceneQuery(luceneQuery); - - assertEquals(2018, transformer.getStartYear()); - assertEquals(2021, transformer.getEndYear()); + Optional query = transformer.transformLuceneQuery(luceneQuery); + assertEquals(Optional.of("sd:2018 AND ed:2021"), query); } } From 4dc132529125b2de5e9820fe1143f9a52134ffe8 Mon Sep 17 00:00:00 2001 From: Oliver Kopp Date: Tue, 30 Mar 2021 18:48:57 +0200 Subject: [PATCH 09/20] Change to generics --- .../AbstractQueryTransformer.java | 6 +++- .../transformators/ArXivQueryTransformer.java | 28 +-------------- ...ScienceBibliographiesQueryTransformer.java | 2 +- .../DefaultQueryTransformer.java | 3 ++ .../transformators/IEEEQueryTransformer.java | 18 +--------- .../ScholarQueryTransformer.java | 27 ++------------- ...dYearRangeByFilteringQueryTransformer.java | 12 +++++++ .../YearRangeByFilteringQueryTransformer.java | 34 +++++++++++++++++++ .../ArXivQueryTransformerTest.java | 28 +++------------ ...nceBibliographiesQueryTransformerTest.java | 20 ++++------- .../DBLPQueryTransformerTest.java | 4 +-- .../IEEEQueryTransformerTest.java | 11 ++++-- .../transformators/InfixTransformerTest.java | 30 ++++++++-------- .../ScholarQueryTransformerTest.java | 31 ++--------------- ...rRangeByFilteringQueryTransformerTest.java | 21 ++++++++++++ ...rRangeByFilteringQueryTransformerTest.java | 31 +++++++++++++++++ 16 files changed, 148 insertions(+), 158 deletions(-) create mode 100644 src/main/java/org/jabref/logic/importer/fetcher/transformators/YearAndYearRangeByFilteringQueryTransformer.java create mode 100644 src/main/java/org/jabref/logic/importer/fetcher/transformators/YearRangeByFilteringQueryTransformer.java create mode 100644 src/test/java/org/jabref/logic/importer/fetcher/transformators/YearAndYearRangeByFilteringQueryTransformerTest.java create mode 100644 src/test/java/org/jabref/logic/importer/fetcher/transformators/YearRangeByFilteringQueryTransformerTest.java diff --git a/src/main/java/org/jabref/logic/importer/fetcher/transformators/AbstractQueryTransformer.java b/src/main/java/org/jabref/logic/importer/fetcher/transformators/AbstractQueryTransformer.java index cd3699ec5fa..96f8441d883 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/transformators/AbstractQueryTransformer.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/transformators/AbstractQueryTransformer.java @@ -165,7 +165,11 @@ protected String handleYearRange(String yearRange) { * If it is not supported return an empty optional. */ protected Optional handleOtherField(String fieldAsString, String term) { - return Optional.of(String.format("%s:\"%s\"", fieldAsString, term)); + if (term.contains(" ")) { + return Optional.of(String.format("%s:\"%s\"", fieldAsString, term)); + } else { + return Optional.of(String.format("%s:%s", fieldAsString, term)); + } } private Optional transform(QueryNode query) { diff --git a/src/main/java/org/jabref/logic/importer/fetcher/transformators/ArXivQueryTransformer.java b/src/main/java/org/jabref/logic/importer/fetcher/transformators/ArXivQueryTransformer.java index 7528782644b..28438290eaf 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/transformators/ArXivQueryTransformer.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/transformators/ArXivQueryTransformer.java @@ -1,12 +1,6 @@ package org.jabref.logic.importer.fetcher.transformators; -import java.util.Optional; - -public class ArXivQueryTransformer extends AbstractQueryTransformer { - // These can be used for filtering in post processing - private int startYear = Integer.MAX_VALUE; - private int endYear = Integer.MIN_VALUE; - +public class ArXivQueryTransformer extends YearRangeByFilteringQueryTransformer { @Override protected String getLogicalAndOperator() { return " AND "; @@ -47,29 +41,9 @@ protected String handleYear(String year) { return year; } - /** - * The arXiv API does not support querying for a year range. - * Nevertheless, we store the start year and end year, - * because we filter it after fetching all results - */ - @Override - protected String handleYearRange(String yearRange) { - String[] split = yearRange.split("-"); - startYear = Math.min(startYear, Integer.parseInt(split[0])); - endYear = Math.max(endYear, Integer.parseInt(split[1])); - return ""; - } - @Override protected String handleUnFieldedTerm(String term) { return String.format("all:\"%s\"", term); } - public Optional getStartYear() { - return startYear == Integer.MAX_VALUE ? Optional.empty() : Optional.of(startYear); - } - - public Optional getEndYear() { - return endYear == Integer.MIN_VALUE ? Optional.empty() : Optional.of(endYear); - } } diff --git a/src/main/java/org/jabref/logic/importer/fetcher/transformators/CollectionOfComputerScienceBibliographiesQueryTransformer.java b/src/main/java/org/jabref/logic/importer/fetcher/transformators/CollectionOfComputerScienceBibliographiesQueryTransformer.java index ba29f3b2931..953e6d19721 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/transformators/CollectionOfComputerScienceBibliographiesQueryTransformer.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/transformators/CollectionOfComputerScienceBibliographiesQueryTransformer.java @@ -34,7 +34,7 @@ protected String handleJournal(String journalTitle) { @Override protected String handleYear(String year) { - return String.format("year:\"%s\"", year); + return String.format("year:%s", year); } @Override diff --git a/src/main/java/org/jabref/logic/importer/fetcher/transformators/DefaultQueryTransformer.java b/src/main/java/org/jabref/logic/importer/fetcher/transformators/DefaultQueryTransformer.java index ebdcd573bec..5ebc57c1420 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/transformators/DefaultQueryTransformer.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/transformators/DefaultQueryTransformer.java @@ -1,5 +1,8 @@ package org.jabref.logic.importer.fetcher.transformators; +/** + * Default query transformer without any boolean operators + */ public class DefaultQueryTransformer extends AbstractQueryTransformer { @Override diff --git a/src/main/java/org/jabref/logic/importer/fetcher/transformators/IEEEQueryTransformer.java b/src/main/java/org/jabref/logic/importer/fetcher/transformators/IEEEQueryTransformer.java index a6bb4cd49c4..1fefd723401 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/transformators/IEEEQueryTransformer.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/transformators/IEEEQueryTransformer.java @@ -6,7 +6,7 @@ /** * Needs to be instantiated for each new query */ -public class IEEEQueryTransformer extends AbstractQueryTransformer { +public class IEEEQueryTransformer extends YearRangeByFilteringQueryTransformer { // These have to be integrated into the IEEE query URL as these are just supported as query parameters // Journal is wrapped in quotes by the transformer private String journal; @@ -52,14 +52,6 @@ protected String handleYear(String year) { return ""; } - @Override - protected String handleYearRange(String yearRange) { - String[] split = yearRange.split("-"); - startYear = Math.min(startYear, Integer.parseInt(split[0])); - endYear = Math.max(endYear, Integer.parseInt(split[1])); - return ""; - } - @Override protected String handleUnFieldedTerm(String term) { return String.format("\"%s\"", term); @@ -78,14 +70,6 @@ private Optional handleArticleNumber(String term) { return Optional.empty(); } - public Optional getStartYear() { - return startYear == Integer.MAX_VALUE ? Optional.empty() : Optional.of(startYear); - } - - public Optional getEndYear() { - return endYear == Integer.MIN_VALUE ? Optional.empty() : Optional.of(endYear); - } - public Optional getJournal() { return Objects.isNull(journal) ? Optional.empty() : Optional.of(journal); } diff --git a/src/main/java/org/jabref/logic/importer/fetcher/transformators/ScholarQueryTransformer.java b/src/main/java/org/jabref/logic/importer/fetcher/transformators/ScholarQueryTransformer.java index a83db9364b1..2d1eb2ff09d 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/transformators/ScholarQueryTransformer.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/transformators/ScholarQueryTransformer.java @@ -1,7 +1,7 @@ package org.jabref.logic.importer.fetcher.transformators; -public class ScholarQueryTransformer extends AbstractQueryTransformer { - // These have to be integrated into the Google Scholar query URL as these are just supported as query parameters +public class ScholarQueryTransformer extends YearAndYearRangeByFilteringQueryTransformer { + // Start year and end year have to be integrated into the query URL itself as these are just supported as query parameters private int startYear = Integer.MAX_VALUE; private int endYear = Integer.MIN_VALUE; @@ -35,31 +35,8 @@ protected String handleJournal(String journalTitle) { return String.format("source:\"%s\"", journalTitle); } - @Override - protected String handleYear(String year) { - startYear = Math.min(startYear, Integer.parseInt(year)); - endYear = Math.max(endYear, Integer.parseInt(year)); - return ""; - } - - @Override - protected String handleYearRange(String yearRange) { - String[] split = yearRange.split("-"); - startYear = Math.min(startYear, Integer.parseInt(split[0])); - endYear = Math.max(endYear, Integer.parseInt(split[1])); - return ""; - } - @Override protected String handleUnFieldedTerm(String term) { return String.format("\"%s\"", term); } - - public int getStartYear() { - return startYear == Integer.MAX_VALUE ? Integer.MIN_VALUE : startYear; - } - - public int getEndYear() { - return endYear == Integer.MIN_VALUE ? Integer.MAX_VALUE : endYear; - } } diff --git a/src/main/java/org/jabref/logic/importer/fetcher/transformators/YearAndYearRangeByFilteringQueryTransformer.java b/src/main/java/org/jabref/logic/importer/fetcher/transformators/YearAndYearRangeByFilteringQueryTransformer.java new file mode 100644 index 00000000000..b0f992c93b6 --- /dev/null +++ b/src/main/java/org/jabref/logic/importer/fetcher/transformators/YearAndYearRangeByFilteringQueryTransformer.java @@ -0,0 +1,12 @@ +package org.jabref.logic.importer.fetcher.transformators; + +public abstract class YearAndYearRangeByFilteringQueryTransformer extends YearRangeByFilteringQueryTransformer { + + @Override + protected String handleYear(String year) { + startYear = Math.min(startYear, Integer.parseInt(year)); + endYear = Math.max(endYear, Integer.parseInt(year)); + return ""; + } + +} diff --git a/src/main/java/org/jabref/logic/importer/fetcher/transformators/YearRangeByFilteringQueryTransformer.java b/src/main/java/org/jabref/logic/importer/fetcher/transformators/YearRangeByFilteringQueryTransformer.java new file mode 100644 index 00000000000..ee5f27e4c32 --- /dev/null +++ b/src/main/java/org/jabref/logic/importer/fetcher/transformators/YearRangeByFilteringQueryTransformer.java @@ -0,0 +1,34 @@ +package org.jabref.logic.importer.fetcher.transformators; + +import java.util.Optional; + +public abstract class YearRangeByFilteringQueryTransformer extends AbstractQueryTransformer { + + // These can be used for filtering in post processing + protected int startYear = Integer.MAX_VALUE; + protected int endYear = Integer.MIN_VALUE; + + public Optional getStartYear() { + return startYear == Integer.MAX_VALUE ? Optional.empty() : Optional.of(startYear); + } + + public Optional getEndYear() { + return endYear == Integer.MIN_VALUE ? Optional.empty() : Optional.of(endYear); + } + + /** + * The API does not support querying for a year range. + * Nevertheless, we store the start year and end year, + * because we filter it after fetching all results + */ + @Override + protected String handleYearRange(String yearRange) { + String[] split = yearRange.split("-"); + startYear = Math.min(startYear, Integer.parseInt(split[0])); + if (split.length >= 1) { + endYear = Math.max(endYear, Integer.parseInt(split[1])); + } + return ""; + } + +} diff --git a/src/test/java/org/jabref/logic/importer/fetcher/transformators/ArXivQueryTransformerTest.java b/src/test/java/org/jabref/logic/importer/fetcher/transformators/ArXivQueryTransformerTest.java index 57c8fc59ecb..ae20116df7f 100644 --- a/src/test/java/org/jabref/logic/importer/fetcher/transformators/ArXivQueryTransformerTest.java +++ b/src/test/java/org/jabref/logic/importer/fetcher/transformators/ArXivQueryTransformerTest.java @@ -4,14 +4,13 @@ import org.apache.lucene.queryparser.flexible.core.nodes.QueryNode; import org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParser; -import org.junit.jupiter.api.Disabled; import static org.junit.jupiter.api.Assertions.assertEquals; -class ArXivQueryTransformerTest implements InfixTransformerTest { +class ArXivQueryTransformerTest extends YearRangeByFilteringQueryTransformerTest { @Override - public AbstractQueryTransformer getTransformer() { + public ArXivQueryTransformer getTransformer() { return new ArXivQueryTransformer(); } @@ -37,32 +36,13 @@ public String getTitlePrefix() { @Override public void convertYearField() throws Exception { - ArXivQueryTransformer transformer = ((ArXivQueryTransformer) getTransformer()); + ArXivQueryTransformer transformer = getTransformer(); String queryString = "2018"; QueryNode luceneQuery = new StandardSyntaxParser().parse(queryString, AbstractQueryTransformer.NO_EXPLICIT_FIELD); Optional query = transformer.transformLuceneQuery(luceneQuery); - Optional expected = Optional.of(queryString); - assertEquals(expected, query); + assertEquals(Optional.of("2018"), query); assertEquals(2018, transformer.getStartYear()); assertEquals(2018, transformer.getEndYear()); } - @Override - public void convertYearRangeField() throws Exception { - ArXivQueryTransformer transformer = ((ArXivQueryTransformer) getTransformer()); - - String queryString = "year-range:2018-2021"; - QueryNode luceneQuery = new StandardSyntaxParser().parse(queryString, AbstractQueryTransformer.NO_EXPLICIT_FIELD); - Optional result = transformer.transformLuceneQuery(luceneQuery); - - // The API does not support querying for a year range - // The implementation of the fetcher filters the results manually - - // The implementations returns an empty query - assertEquals(Optional.of(""), result); - - // The implementation sets the start year and end year values according to the query - assertEquals(2018, transformer.getStartYear()); - assertEquals(2021, transformer.getEndYear()); - } } diff --git a/src/test/java/org/jabref/logic/importer/fetcher/transformators/CollectionOfComputerScienceBibliographiesQueryTransformerTest.java b/src/test/java/org/jabref/logic/importer/fetcher/transformators/CollectionOfComputerScienceBibliographiesQueryTransformerTest.java index ddf4095d241..ecaaee6db7b 100644 --- a/src/test/java/org/jabref/logic/importer/fetcher/transformators/CollectionOfComputerScienceBibliographiesQueryTransformerTest.java +++ b/src/test/java/org/jabref/logic/importer/fetcher/transformators/CollectionOfComputerScienceBibliographiesQueryTransformerTest.java @@ -7,10 +7,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals; -class CollectionOfComputerScienceBibliographiesQueryTransformerTest implements InfixTransformerTest { +class CollectionOfComputerScienceBibliographiesQueryTransformerTest extends InfixTransformerTest { @Override - public AbstractQueryTransformer getTransformer() { + public CollectionOfComputerScienceBibliographiesQueryTransformer getTransformer() { return new CollectionOfComputerScienceBibliographiesQueryTransformer(); } @@ -36,26 +36,18 @@ public String getTitlePrefix() { @Override public void convertYearField() throws Exception { - ArXivQueryTransformer transformer = ((ArXivQueryTransformer) getTransformer()); String queryString = "2018"; QueryNode luceneQuery = new StandardSyntaxParser().parse(queryString, AbstractQueryTransformer.NO_EXPLICIT_FIELD); - Optional query = transformer.transformLuceneQuery(luceneQuery); - Optional expected = Optional.of(queryString); - assertEquals(expected, query); - assertEquals(2018, transformer.getStartYear()); - assertEquals(2018, transformer.getEndYear()); + Optional query = getTransformer().transformLuceneQuery(luceneQuery); + assertEquals(Optional.of("year:2018"), query); } @Override public void convertYearRangeField() throws Exception { - ArXivQueryTransformer transformer = ((ArXivQueryTransformer) getTransformer()); - String queryString = "year-range:2018-2021"; QueryNode luceneQuery = new StandardSyntaxParser().parse(queryString, AbstractQueryTransformer.NO_EXPLICIT_FIELD); - transformer.transformLuceneQuery(luceneQuery); - - assertEquals(2018, transformer.getStartYear()); - assertEquals(2021, transformer.getEndYear()); + Optional query = getTransformer().transformLuceneQuery(luceneQuery); + assertEquals(Optional.of("year:2018 OR year:2019 OR year:2020 OR year:2021"), query); } } diff --git a/src/test/java/org/jabref/logic/importer/fetcher/transformators/DBLPQueryTransformerTest.java b/src/test/java/org/jabref/logic/importer/fetcher/transformators/DBLPQueryTransformerTest.java index 206e9f370a5..6bb5f9e84b9 100644 --- a/src/test/java/org/jabref/logic/importer/fetcher/transformators/DBLPQueryTransformerTest.java +++ b/src/test/java/org/jabref/logic/importer/fetcher/transformators/DBLPQueryTransformerTest.java @@ -7,10 +7,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals; -class DBLPQueryTransformerTest implements InfixTransformerTest { +class DBLPQueryTransformerTest extends InfixTransformerTest { @Override - public AbstractQueryTransformer getTransformer() { + public DBLPQueryTransformer getTransformer() { return new DBLPQueryTransformer(); } diff --git a/src/test/java/org/jabref/logic/importer/fetcher/transformators/IEEEQueryTransformerTest.java b/src/test/java/org/jabref/logic/importer/fetcher/transformators/IEEEQueryTransformerTest.java index ba11fe2f759..66f212b8abd 100644 --- a/src/test/java/org/jabref/logic/importer/fetcher/transformators/IEEEQueryTransformerTest.java +++ b/src/test/java/org/jabref/logic/importer/fetcher/transformators/IEEEQueryTransformerTest.java @@ -1,14 +1,16 @@ package org.jabref.logic.importer.fetcher.transformators; +import java.util.Optional; + import org.apache.lucene.queryparser.flexible.core.nodes.QueryNode; import org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParser; import static org.junit.jupiter.api.Assertions.assertEquals; -class IEEEQueryTransformerTest implements InfixTransformerTest { +class IEEEQueryTransformerTest extends InfixTransformerTest { @Override - public AbstractQueryTransformer getTransformer() { + public IEEEQueryTransformer getTransformer() { return new IEEEQueryTransformer(); } @@ -45,11 +47,14 @@ public void convertJournalField() throws Exception { @Override public void convertYearField() throws Exception { + // IEEE does not support year range + // Thus, a generic test does not work + IEEEQueryTransformer transformer = ((IEEEQueryTransformer) getTransformer()); String queryString = "year:2021"; QueryNode luceneQuery = new StandardSyntaxParser().parse(queryString, AbstractQueryTransformer.NO_EXPLICIT_FIELD); - transformer.transformLuceneQuery(luceneQuery); + Optional result = transformer.transformLuceneQuery(luceneQuery); assertEquals(2021, transformer.getStartYear()); assertEquals(2021, transformer.getEndYear()); diff --git a/src/test/java/org/jabref/logic/importer/fetcher/transformators/InfixTransformerTest.java b/src/test/java/org/jabref/logic/importer/fetcher/transformators/InfixTransformerTest.java index db354783cf8..98aa261b3e9 100644 --- a/src/test/java/org/jabref/logic/importer/fetcher/transformators/InfixTransformerTest.java +++ b/src/test/java/org/jabref/logic/importer/fetcher/transformators/InfixTransformerTest.java @@ -11,24 +11,24 @@ /** * Test Interface for all transformers that use infix notation for their logical binary operators */ -public interface InfixTransformerTest { +public abstract class InfixTransformerTest { - AbstractQueryTransformer getTransformer(); + protected abstract T getTransformer(); /* All prefixes have to include the used separator * Example in the case of ':': "author:" */ - String getAuthorPrefix(); + protected abstract String getAuthorPrefix(); - String getUnFieldedPrefix(); + protected abstract String getUnFieldedPrefix(); - String getJournalPrefix(); + protected abstract String getJournalPrefix(); - String getTitlePrefix(); + protected abstract String getTitlePrefix(); @Test - default void convertAuthorField() throws Exception { + public void convertAuthorField() throws Exception { String queryString = "author:\"Igor Steinmacher\""; QueryNode luceneQuery = new StandardSyntaxParser().parse(queryString, AbstractQueryTransformer.NO_EXPLICIT_FIELD); Optional searchQuery = getTransformer().transformLuceneQuery(luceneQuery); @@ -37,7 +37,7 @@ default void convertAuthorField() throws Exception { } @Test - default void convertUnFieldedTerm() throws Exception { + public void convertUnFieldedTerm() throws Exception { String queryString = "\"default value\""; QueryNode luceneQuery = new StandardSyntaxParser().parse(queryString, AbstractQueryTransformer.NO_EXPLICIT_FIELD); Optional searchQuery = getTransformer().transformLuceneQuery(luceneQuery); @@ -46,7 +46,7 @@ default void convertUnFieldedTerm() throws Exception { } @Test - default void convertExplicitUnFieldedTerm() throws Exception { + public void convertExplicitUnFieldedTerm() throws Exception { String queryString = "default:\"default value\""; QueryNode luceneQuery = new StandardSyntaxParser().parse(queryString, AbstractQueryTransformer.NO_EXPLICIT_FIELD); Optional searchQuery = getTransformer().transformLuceneQuery(luceneQuery); @@ -55,7 +55,7 @@ default void convertExplicitUnFieldedTerm() throws Exception { } @Test - default void convertJournalField() throws Exception { + public void convertJournalField() throws Exception { String queryString = "journal:Nature"; QueryNode luceneQuery = new StandardSyntaxParser().parse(queryString, AbstractQueryTransformer.NO_EXPLICIT_FIELD); Optional searchQuery = getTransformer().transformLuceneQuery(luceneQuery); @@ -64,13 +64,13 @@ default void convertJournalField() throws Exception { } @Test - void convertYearField() throws Exception; + public abstract void convertYearField() throws Exception; @Test - void convertYearRangeField() throws Exception; + public abstract void convertYearRangeField() throws Exception; @Test - default void convertMultipleValuesWithTheSameField() throws Exception { + public void convertMultipleValuesWithTheSameField() throws Exception { String queryString = "author:\"Igor Steinmacher\" author:\"Christoph Treude\""; QueryNode luceneQuery = new StandardSyntaxParser().parse(queryString, AbstractQueryTransformer.NO_EXPLICIT_FIELD); Optional searchQuery = getTransformer().transformLuceneQuery(luceneQuery); @@ -79,7 +79,7 @@ default void convertMultipleValuesWithTheSameField() throws Exception { } @Test - default void groupedOperations() throws Exception { + public void groupedOperations() throws Exception { String queryString = "(author:\"Igor Steinmacher\" OR author:\"Christoph Treude\" AND author:\"Christoph Freunde\") AND title:test"; QueryNode luceneQuery = new StandardSyntaxParser().parse(queryString, AbstractQueryTransformer.NO_EXPLICIT_FIELD); Optional searchQuery = getTransformer().transformLuceneQuery(luceneQuery); @@ -88,7 +88,7 @@ default void groupedOperations() throws Exception { } @Test - default void notOperator() throws Exception { + public void notOperator() throws Exception { String queryString = "!(author:\"Igor Steinmacher\" OR author:\"Christoph Treude\")"; QueryNode luceneQuery = new StandardSyntaxParser().parse(queryString, AbstractQueryTransformer.NO_EXPLICIT_FIELD); Optional searchQuery = getTransformer().transformLuceneQuery(luceneQuery); diff --git a/src/test/java/org/jabref/logic/importer/fetcher/transformators/ScholarQueryTransformerTest.java b/src/test/java/org/jabref/logic/importer/fetcher/transformators/ScholarQueryTransformerTest.java index 5d0d8b3bfef..3aa3213f66b 100644 --- a/src/test/java/org/jabref/logic/importer/fetcher/transformators/ScholarQueryTransformerTest.java +++ b/src/test/java/org/jabref/logic/importer/fetcher/transformators/ScholarQueryTransformerTest.java @@ -1,14 +1,11 @@ package org.jabref.logic.importer.fetcher.transformators; -import org.apache.lucene.queryparser.flexible.core.nodes.QueryNode; -import org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParser; - import static org.junit.jupiter.api.Assertions.assertEquals; -class ScholarQueryTransformerTest implements InfixTransformerTest { +class ScholarQueryTransformerTest extends YearAndYearRangeByFilteringQueryTransformerTest { @Override - public AbstractQueryTransformer getTransformer() { + public ScholarQueryTransformer getTransformer() { return new ScholarQueryTransformer(); } @@ -32,28 +29,4 @@ public String getTitlePrefix() { return "allintitle:"; } - @Override - public void convertYearField() throws Exception { - ScholarQueryTransformer transformer = ((ScholarQueryTransformer) getTransformer()); - - String queryString = "year:2021"; - QueryNode luceneQuery = new StandardSyntaxParser().parse(queryString, AbstractQueryTransformer.NO_EXPLICIT_FIELD); - transformer.transformLuceneQuery(luceneQuery); - - assertEquals(2021, transformer.getStartYear()); - assertEquals(2021, transformer.getEndYear()); - } - - @Override - public void convertYearRangeField() throws Exception { - - ScholarQueryTransformer transformer = ((ScholarQueryTransformer) getTransformer()); - - String queryString = "year-range:2018-2021"; - QueryNode luceneQuery = new StandardSyntaxParser().parse(queryString, AbstractQueryTransformer.NO_EXPLICIT_FIELD); - transformer.transformLuceneQuery(luceneQuery); - - assertEquals(2018, transformer.getStartYear()); - assertEquals(2021, transformer.getEndYear()); - } } diff --git a/src/test/java/org/jabref/logic/importer/fetcher/transformators/YearAndYearRangeByFilteringQueryTransformerTest.java b/src/test/java/org/jabref/logic/importer/fetcher/transformators/YearAndYearRangeByFilteringQueryTransformerTest.java new file mode 100644 index 00000000000..f194e06366c --- /dev/null +++ b/src/test/java/org/jabref/logic/importer/fetcher/transformators/YearAndYearRangeByFilteringQueryTransformerTest.java @@ -0,0 +1,21 @@ +package org.jabref.logic.importer.fetcher.transformators; + +import java.util.Optional; + +import org.apache.lucene.queryparser.flexible.core.nodes.QueryNode; +import org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParser; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +public abstract class YearAndYearRangeByFilteringQueryTransformerTest extends YearRangeByFilteringQueryTransformerTest { + @Override + public void convertYearField() throws Exception { + YearAndYearRangeByFilteringQueryTransformer transformer = getTransformer(); + String queryString = "year:2021"; + QueryNode luceneQuery = new StandardSyntaxParser().parse(queryString, AbstractQueryTransformer.NO_EXPLICIT_FIELD); + Optional query = transformer.transformLuceneQuery(luceneQuery); + assertEquals(Optional.of(""), query); + assertEquals(2021, transformer.getStartYear()); + assertEquals(2021, transformer.getEndYear()); + } +} diff --git a/src/test/java/org/jabref/logic/importer/fetcher/transformators/YearRangeByFilteringQueryTransformerTest.java b/src/test/java/org/jabref/logic/importer/fetcher/transformators/YearRangeByFilteringQueryTransformerTest.java new file mode 100644 index 00000000000..2b2a1527b73 --- /dev/null +++ b/src/test/java/org/jabref/logic/importer/fetcher/transformators/YearRangeByFilteringQueryTransformerTest.java @@ -0,0 +1,31 @@ +package org.jabref.logic.importer.fetcher.transformators; + +import java.util.Optional; + +import org.apache.lucene.queryparser.flexible.core.nodes.QueryNode; +import org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParser; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +public abstract class YearRangeByFilteringQueryTransformerTest extends InfixTransformerTest { + + @Override + public void convertYearRangeField() throws Exception { + YearRangeByFilteringQueryTransformer transformer = getTransformer()); + + String queryString = "year-range:2018-2021"; + QueryNode luceneQuery = new StandardSyntaxParser().parse(queryString, AbstractQueryTransformer.NO_EXPLICIT_FIELD); + Optional result = transformer.transformLuceneQuery(luceneQuery); + + // The API does not support querying for a year range + // The implementation of the fetcher filters the results manually + + // The implementations returns an empty query + assertEquals(Optional.of(""), result); + + // The implementation sets the start year and end year values according to the query + assertEquals(2018, transformer.getStartYear()); + assertEquals(2021, transformer.getEndYear()); + } + +} From af43f0287261cef1b326b83856cfc35cfaf143e4 Mon Sep 17 00:00:00 2001 From: Oliver Kopp Date: Tue, 27 Apr 2021 07:09:43 +0200 Subject: [PATCH 10/20] Compilation fix --- .../YearRangeByFilteringQueryTransformerTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/java/org/jabref/logic/importer/fetcher/transformators/YearRangeByFilteringQueryTransformerTest.java b/src/test/java/org/jabref/logic/importer/fetcher/transformators/YearRangeByFilteringQueryTransformerTest.java index 2b2a1527b73..03cd7d4e0a7 100644 --- a/src/test/java/org/jabref/logic/importer/fetcher/transformators/YearRangeByFilteringQueryTransformerTest.java +++ b/src/test/java/org/jabref/logic/importer/fetcher/transformators/YearRangeByFilteringQueryTransformerTest.java @@ -11,7 +11,7 @@ public abstract class YearRangeByFilteringQueryTransformerTest Date: Tue, 27 Apr 2021 07:11:33 +0200 Subject: [PATCH 11/20] Fix checkstyle --- .../importer/fetcher/transformators/InfixTransformerTest.java | 2 +- .../fetcher/transformators/ScholarQueryTransformerTest.java | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/src/test/java/org/jabref/logic/importer/fetcher/transformators/InfixTransformerTest.java b/src/test/java/org/jabref/logic/importer/fetcher/transformators/InfixTransformerTest.java index 98aa261b3e9..8fd76244ebe 100644 --- a/src/test/java/org/jabref/logic/importer/fetcher/transformators/InfixTransformerTest.java +++ b/src/test/java/org/jabref/logic/importer/fetcher/transformators/InfixTransformerTest.java @@ -67,7 +67,7 @@ public void convertJournalField() throws Exception { public abstract void convertYearField() throws Exception; @Test - public abstract void convertYearRangeField() throws Exception; + public abstract void convertYearRangeField() throws Exception; @Test public void convertMultipleValuesWithTheSameField() throws Exception { diff --git a/src/test/java/org/jabref/logic/importer/fetcher/transformators/ScholarQueryTransformerTest.java b/src/test/java/org/jabref/logic/importer/fetcher/transformators/ScholarQueryTransformerTest.java index 3aa3213f66b..19467a7ef99 100644 --- a/src/test/java/org/jabref/logic/importer/fetcher/transformators/ScholarQueryTransformerTest.java +++ b/src/test/java/org/jabref/logic/importer/fetcher/transformators/ScholarQueryTransformerTest.java @@ -1,7 +1,5 @@ package org.jabref.logic.importer.fetcher.transformators; -import static org.junit.jupiter.api.Assertions.assertEquals; - class ScholarQueryTransformerTest extends YearAndYearRangeByFilteringQueryTransformerTest { @Override From f0092ef82e7950e32384c8d05cd7e068f68a58aa Mon Sep 17 00:00:00 2001 From: Oliver Kopp Date: Tue, 27 Apr 2021 07:28:24 +0200 Subject: [PATCH 12/20] Compilefix --- .../DefaultQueryTransformer.java | 7 +--- .../DefaultLuceneQueryTransformerTest.java | 38 ++----------------- .../GVKQueryTransformerTest.java | 4 +- .../JstorQueryTransformerTest.java | 4 +- .../SpringerQueryTransformerTest.java | 4 +- .../ZbMathQueryTransformerTest.java | 4 +- 6 files changed, 12 insertions(+), 49 deletions(-) diff --git a/src/main/java/org/jabref/logic/importer/fetcher/transformators/DefaultQueryTransformer.java b/src/main/java/org/jabref/logic/importer/fetcher/transformators/DefaultQueryTransformer.java index 5ebc57c1420..8f0ea59096b 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/transformators/DefaultQueryTransformer.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/transformators/DefaultQueryTransformer.java @@ -3,7 +3,7 @@ /** * Default query transformer without any boolean operators */ -public class DefaultQueryTransformer extends AbstractQueryTransformer { +public class DefaultQueryTransformer extends YearAndYearRangeByFilteringQueryTransformer { @Override protected String getLogicalAndOperator() { @@ -35,11 +35,6 @@ protected String handleJournal(String journalTitle) { return journalTitle; } - @Override - protected String handleYear(String year) { - return year; - } - @Override protected String handleUnFieldedTerm(String term) { return term; diff --git a/src/test/java/org/jabref/logic/importer/fetcher/transformators/DefaultLuceneQueryTransformerTest.java b/src/test/java/org/jabref/logic/importer/fetcher/transformators/DefaultLuceneQueryTransformerTest.java index 877f23bff78..5aa976cd7c6 100644 --- a/src/test/java/org/jabref/logic/importer/fetcher/transformators/DefaultLuceneQueryTransformerTest.java +++ b/src/test/java/org/jabref/logic/importer/fetcher/transformators/DefaultLuceneQueryTransformerTest.java @@ -1,17 +1,10 @@ package org.jabref.logic.importer.fetcher.transformators; -import java.util.Optional; - -import org.apache.lucene.queryparser.flexible.core.nodes.QueryNode; -import org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParser; - -import static org.junit.jupiter.api.Assertions.assertEquals; - -class DefaultLuceneQueryTransformerTest implements InfixTransformerTest { +class DefaultLuceneQueryTransformerTest extends YearAndYearRangeByFilteringQueryTransformerTest { @Override - public AbstractQueryTransformer getTransformer() { - return new DefaultLuceneQueryTransformer(); + protected DefaultQueryTransformer getTransformer() { + return new DefaultQueryTransformer(); } @Override @@ -33,29 +26,4 @@ public String getJournalPrefix() { public String getTitlePrefix() { return "title:"; } - - @Override - public void convertYearField() throws Exception { - ArXivQueryTransformer transformer = ((ArXivQueryTransformer) getTransformer()); - String queryString = "2018"; - QueryNode luceneQuery = new StandardSyntaxParser().parse(queryString, AbstractQueryTransformer.NO_EXPLICIT_FIELD); - Optional query = transformer.transformLuceneQuery(luceneQuery); - Optional expected = Optional.of(queryString); - assertEquals(expected, query); - assertEquals(2018, transformer.getStartYear()); - assertEquals(2018, transformer.getEndYear()); - } - - @Override - public void convertYearRangeField() throws Exception { - ArXivQueryTransformer transformer = ((ArXivQueryTransformer) getTransformer()); - - String queryString = "year-range:2018-2021"; - QueryNode luceneQuery = new StandardSyntaxParser().parse(queryString, AbstractQueryTransformer.NO_EXPLICIT_FIELD); - transformer.transformLuceneQuery(luceneQuery); - - assertEquals(2018, transformer.getStartYear()); - assertEquals(2021, transformer.getEndYear()); - } - } diff --git a/src/test/java/org/jabref/logic/importer/fetcher/transformators/GVKQueryTransformerTest.java b/src/test/java/org/jabref/logic/importer/fetcher/transformators/GVKQueryTransformerTest.java index 6ba2317b568..b8189db734e 100644 --- a/src/test/java/org/jabref/logic/importer/fetcher/transformators/GVKQueryTransformerTest.java +++ b/src/test/java/org/jabref/logic/importer/fetcher/transformators/GVKQueryTransformerTest.java @@ -8,10 +8,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals; -class GVKQueryTransformerTest implements InfixTransformerTest { +class GVKQueryTransformerTest extends InfixTransformerTest { @Override - public AbstractQueryTransformer getTransformer() { + public GVKQueryTransformer getTransformer() { return new GVKQueryTransformer(); } diff --git a/src/test/java/org/jabref/logic/importer/fetcher/transformators/JstorQueryTransformerTest.java b/src/test/java/org/jabref/logic/importer/fetcher/transformators/JstorQueryTransformerTest.java index c3e4b1f5f8e..92cb574ec13 100644 --- a/src/test/java/org/jabref/logic/importer/fetcher/transformators/JstorQueryTransformerTest.java +++ b/src/test/java/org/jabref/logic/importer/fetcher/transformators/JstorQueryTransformerTest.java @@ -7,10 +7,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals; -class JstorQueryTransformerTest implements InfixTransformerTest { +class JstorQueryTransformerTest extends InfixTransformerTest { @Override - public AbstractQueryTransformer getTransformer() { + public JstorQueryTransformer getTransformer() { return new JstorQueryTransformer(); } diff --git a/src/test/java/org/jabref/logic/importer/fetcher/transformators/SpringerQueryTransformerTest.java b/src/test/java/org/jabref/logic/importer/fetcher/transformators/SpringerQueryTransformerTest.java index 6173b86fbb5..45f384defd0 100644 --- a/src/test/java/org/jabref/logic/importer/fetcher/transformators/SpringerQueryTransformerTest.java +++ b/src/test/java/org/jabref/logic/importer/fetcher/transformators/SpringerQueryTransformerTest.java @@ -7,7 +7,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals; -class SpringerQueryTransformerTest implements InfixTransformerTest { +class SpringerQueryTransformerTest extends InfixTransformerTest { @Override public String getAuthorPrefix() { @@ -15,7 +15,7 @@ public String getAuthorPrefix() { } @Override - public AbstractQueryTransformer getTransformer() { + public SpringerQueryTransformer getTransformer() { return new SpringerQueryTransformer(); } diff --git a/src/test/java/org/jabref/logic/importer/fetcher/transformators/ZbMathQueryTransformerTest.java b/src/test/java/org/jabref/logic/importer/fetcher/transformators/ZbMathQueryTransformerTest.java index 51f5dd64337..2937f13ce5e 100644 --- a/src/test/java/org/jabref/logic/importer/fetcher/transformators/ZbMathQueryTransformerTest.java +++ b/src/test/java/org/jabref/logic/importer/fetcher/transformators/ZbMathQueryTransformerTest.java @@ -7,10 +7,10 @@ import static org.junit.jupiter.api.Assertions.assertEquals; -class ZbMathQueryTransformerTest implements InfixTransformerTest { +class ZbMathQueryTransformerTest extends InfixTransformerTest { @Override - public AbstractQueryTransformer getTransformer() { + public ZbMathQueryTransformer getTransformer() { return new ZbMathQueryTransformer(); } From 4e90894b084bdedf48cb1c4db057f0c273154cf5 Mon Sep 17 00:00:00 2001 From: Oliver Kopp Date: Sat, 1 May 2021 00:36:01 +0200 Subject: [PATCH 13/20] Fix package name --- src/main/java/org/jabref/logic/importer/SearchBasedFetcher.java | 2 +- .../org/jabref/logic/importer/fetcher/ACMPortalFetcher.java | 2 +- src/main/java/org/jabref/logic/importer/fetcher/ArXiv.java | 2 +- .../jabref/logic/importer/fetcher/AstrophysicsDataSystem.java | 2 +- src/main/java/org/jabref/logic/importer/fetcher/CiteSeer.java | 2 +- .../CollectionOfComputerScienceBibliographiesFetcher.java | 2 +- src/main/java/org/jabref/logic/importer/fetcher/CrossRef.java | 2 +- .../java/org/jabref/logic/importer/fetcher/DBLPFetcher.java | 2 +- .../java/org/jabref/logic/importer/fetcher/DOAJFetcher.java | 2 +- .../java/org/jabref/logic/importer/fetcher/GoogleScholar.java | 2 +- src/main/java/org/jabref/logic/importer/fetcher/GvkFetcher.java | 2 +- src/main/java/org/jabref/logic/importer/fetcher/IEEE.java | 2 +- .../java/org/jabref/logic/importer/fetcher/INSPIREFetcher.java | 2 +- .../java/org/jabref/logic/importer/fetcher/JstorFetcher.java | 2 +- src/main/java/org/jabref/logic/importer/fetcher/MathSciNet.java | 2 +- .../java/org/jabref/logic/importer/fetcher/MedlineFetcher.java | 2 +- .../java/org/jabref/logic/importer/fetcher/SpringerFetcher.java | 2 +- src/main/java/org/jabref/logic/importer/fetcher/ZbMATH.java | 2 +- .../AbstractQueryTransformer.java | 2 +- .../{transformators => transformers}/ArXivQueryTransformer.java | 2 +- ...llectionOfComputerScienceBibliographiesQueryTransformer.java | 2 +- .../{transformators => transformers}/DBLPQueryTransformer.java | 2 +- .../DefaultLuceneQueryTransformer.java | 2 +- .../DefaultQueryTransformer.java | 2 +- .../{transformators => transformers}/GVKQueryTransformer.java | 2 +- .../{transformators => transformers}/IEEEQueryTransformer.java | 2 +- .../{transformators => transformers}/JstorQueryTransformer.java | 2 +- .../ScholarQueryTransformer.java | 2 +- .../SpringerQueryTransformer.java | 2 +- .../YearAndYearRangeByFilteringQueryTransformer.java | 2 +- .../YearRangeByFilteringQueryTransformer.java | 2 +- .../ZbMathQueryTransformer.java | 2 +- .../CollectionOfComputerScienceBibliographiesFetcherTest.java | 2 +- .../java/org/jabref/logic/importer/fetcher/GvkFetcherTest.java | 2 +- .../ArXivQueryTransformerTest.java | 2 +- ...tionOfComputerScienceBibliographiesQueryTransformerTest.java | 2 +- .../DBLPQueryTransformerTest.java | 2 +- .../DefaultLuceneQueryTransformerTest.java | 2 +- .../GVKQueryTransformerTest.java | 2 +- .../IEEEQueryTransformerTest.java | 2 +- .../{transformators => transformers}/InfixTransformerTest.java | 2 +- .../JstorQueryTransformerTest.java | 2 +- .../ScholarQueryTransformerTest.java | 2 +- .../SpringerQueryTransformerTest.java | 2 +- .../YearAndYearRangeByFilteringQueryTransformerTest.java | 2 +- .../YearRangeByFilteringQueryTransformerTest.java | 2 +- .../ZbMathQueryTransformerTest.java | 2 +- 47 files changed, 47 insertions(+), 47 deletions(-) rename src/main/java/org/jabref/logic/importer/fetcher/{transformators => transformers}/AbstractQueryTransformer.java (99%) rename src/main/java/org/jabref/logic/importer/fetcher/{transformators => transformers}/ArXivQueryTransformer.java (95%) rename src/main/java/org/jabref/logic/importer/fetcher/{transformators => transformers}/CollectionOfComputerScienceBibliographiesQueryTransformer.java (94%) rename src/main/java/org/jabref/logic/importer/fetcher/{transformators => transformers}/DBLPQueryTransformer.java (96%) rename src/main/java/org/jabref/logic/importer/fetcher/{transformators => transformers}/DefaultLuceneQueryTransformer.java (94%) rename src/main/java/org/jabref/logic/importer/fetcher/{transformators => transformers}/DefaultQueryTransformer.java (93%) rename src/main/java/org/jabref/logic/importer/fetcher/{transformators => transformers}/GVKQueryTransformer.java (96%) rename src/main/java/org/jabref/logic/importer/fetcher/{transformators => transformers}/IEEEQueryTransformer.java (97%) rename src/main/java/org/jabref/logic/importer/fetcher/{transformators => transformers}/JstorQueryTransformer.java (95%) rename src/main/java/org/jabref/logic/importer/fetcher/{transformators => transformers}/ScholarQueryTransformer.java (94%) rename src/main/java/org/jabref/logic/importer/fetcher/{transformators => transformers}/SpringerQueryTransformer.java (95%) rename src/main/java/org/jabref/logic/importer/fetcher/{transformators => transformers}/YearAndYearRangeByFilteringQueryTransformer.java (85%) rename src/main/java/org/jabref/logic/importer/fetcher/{transformators => transformers}/YearRangeByFilteringQueryTransformer.java (94%) rename src/main/java/org/jabref/logic/importer/fetcher/{transformators => transformers}/ZbMathQueryTransformer.java (94%) rename src/test/java/org/jabref/logic/importer/fetcher/{transformators => transformers}/ArXivQueryTransformerTest.java (95%) rename src/test/java/org/jabref/logic/importer/fetcher/{transformators => transformers}/CollectionOfComputerScienceBibliographiesQueryTransformerTest.java (96%) rename src/test/java/org/jabref/logic/importer/fetcher/{transformators => transformers}/DBLPQueryTransformerTest.java (96%) rename src/test/java/org/jabref/logic/importer/fetcher/{transformators => transformers}/DefaultLuceneQueryTransformerTest.java (90%) rename src/test/java/org/jabref/logic/importer/fetcher/{transformators => transformers}/GVKQueryTransformerTest.java (95%) rename src/test/java/org/jabref/logic/importer/fetcher/{transformators => transformers}/IEEEQueryTransformerTest.java (97%) rename src/test/java/org/jabref/logic/importer/fetcher/{transformators => transformers}/InfixTransformerTest.java (98%) rename src/test/java/org/jabref/logic/importer/fetcher/{transformators => transformers}/JstorQueryTransformerTest.java (96%) rename src/test/java/org/jabref/logic/importer/fetcher/{transformators => transformers}/ScholarQueryTransformerTest.java (90%) rename src/test/java/org/jabref/logic/importer/fetcher/{transformators => transformers}/SpringerQueryTransformerTest.java (96%) rename src/test/java/org/jabref/logic/importer/fetcher/{transformators => transformers}/YearAndYearRangeByFilteringQueryTransformerTest.java (94%) rename src/test/java/org/jabref/logic/importer/fetcher/{transformators => transformers}/YearRangeByFilteringQueryTransformerTest.java (95%) rename src/test/java/org/jabref/logic/importer/fetcher/{transformators => transformers}/ZbMathQueryTransformerTest.java (96%) diff --git a/src/main/java/org/jabref/logic/importer/SearchBasedFetcher.java b/src/main/java/org/jabref/logic/importer/SearchBasedFetcher.java index b96dbac2ad5..3d20115bbf8 100644 --- a/src/main/java/org/jabref/logic/importer/SearchBasedFetcher.java +++ b/src/main/java/org/jabref/logic/importer/SearchBasedFetcher.java @@ -10,7 +10,7 @@ import org.apache.lucene.queryparser.flexible.core.parser.SyntaxParser; import org.apache.lucene.queryparser.flexible.standard.parser.StandardSyntaxParser; -import static org.jabref.logic.importer.fetcher.transformators.AbstractQueryTransformer.NO_EXPLICIT_FIELD; +import static org.jabref.logic.importer.fetcher.transformers.AbstractQueryTransformer.NO_EXPLICIT_FIELD; /** * Searches web resources for bibliographic information based on a free-text query. diff --git a/src/main/java/org/jabref/logic/importer/fetcher/ACMPortalFetcher.java b/src/main/java/org/jabref/logic/importer/fetcher/ACMPortalFetcher.java index d15e555e461..cf703faec02 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/ACMPortalFetcher.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/ACMPortalFetcher.java @@ -11,7 +11,7 @@ import org.jabref.logic.importer.ImportFormatPreferences; import org.jabref.logic.importer.Parser; import org.jabref.logic.importer.SearchBasedParserFetcher; -import org.jabref.logic.importer.fetcher.transformators.DefaultQueryTransformer; +import org.jabref.logic.importer.fetcher.transformers.DefaultQueryTransformer; import org.jabref.logic.importer.fileformat.BibtexParser; import org.jabref.model.util.DummyFileUpdateMonitor; diff --git a/src/main/java/org/jabref/logic/importer/fetcher/ArXiv.java b/src/main/java/org/jabref/logic/importer/fetcher/ArXiv.java index 0ee11216d1c..95c20775a39 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/ArXiv.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/ArXiv.java @@ -25,7 +25,7 @@ import org.jabref.logic.importer.IdFetcher; import org.jabref.logic.importer.ImportFormatPreferences; import org.jabref.logic.importer.PagedSearchBasedFetcher; -import org.jabref.logic.importer.fetcher.transformators.ArXivQueryTransformer; +import org.jabref.logic.importer.fetcher.transformers.ArXivQueryTransformer; import org.jabref.logic.util.io.XMLUtil; import org.jabref.logic.util.strings.StringSimilarity; import org.jabref.model.entry.BibEntry; diff --git a/src/main/java/org/jabref/logic/importer/fetcher/AstrophysicsDataSystem.java b/src/main/java/org/jabref/logic/importer/fetcher/AstrophysicsDataSystem.java index 6da8f0920d3..2fff3084f95 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/AstrophysicsDataSystem.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/AstrophysicsDataSystem.java @@ -27,7 +27,7 @@ import org.jabref.logic.importer.PagedSearchBasedParserFetcher; import org.jabref.logic.importer.ParseException; import org.jabref.logic.importer.Parser; -import org.jabref.logic.importer.fetcher.transformators.DefaultQueryTransformer; +import org.jabref.logic.importer.fetcher.transformers.DefaultQueryTransformer; import org.jabref.logic.importer.fileformat.BibtexParser; import org.jabref.logic.net.URLDownload; import org.jabref.logic.util.BuildInfo; diff --git a/src/main/java/org/jabref/logic/importer/fetcher/CiteSeer.java b/src/main/java/org/jabref/logic/importer/fetcher/CiteSeer.java index c6e4c2b6ba5..4c72717d730 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/CiteSeer.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/CiteSeer.java @@ -20,7 +20,7 @@ import org.jabref.logic.importer.FetcherException; import org.jabref.logic.importer.Parser; import org.jabref.logic.importer.SearchBasedParserFetcher; -import org.jabref.logic.importer.fetcher.transformators.DefaultQueryTransformer; +import org.jabref.logic.importer.fetcher.transformers.DefaultQueryTransformer; import org.jabref.logic.importer.fileformat.CoinsParser; import org.jabref.logic.util.OS; import org.jabref.model.entry.BibEntry; diff --git a/src/main/java/org/jabref/logic/importer/fetcher/CollectionOfComputerScienceBibliographiesFetcher.java b/src/main/java/org/jabref/logic/importer/fetcher/CollectionOfComputerScienceBibliographiesFetcher.java index 5c4d83f4b3b..71bf613c79d 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/CollectionOfComputerScienceBibliographiesFetcher.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/CollectionOfComputerScienceBibliographiesFetcher.java @@ -14,7 +14,7 @@ import org.jabref.logic.importer.ImportFormatPreferences; import org.jabref.logic.importer.Parser; import org.jabref.logic.importer.SearchBasedParserFetcher; -import org.jabref.logic.importer.fetcher.transformators.CollectionOfComputerScienceBibliographiesQueryTransformer; +import org.jabref.logic.importer.fetcher.transformers.CollectionOfComputerScienceBibliographiesQueryTransformer; import org.jabref.model.entry.BibEntry; import org.jabref.model.entry.field.Field; import org.jabref.model.entry.field.FieldFactory; diff --git a/src/main/java/org/jabref/logic/importer/fetcher/CrossRef.java b/src/main/java/org/jabref/logic/importer/fetcher/CrossRef.java index e6627f17f54..9c201e1e7c1 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/CrossRef.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/CrossRef.java @@ -19,7 +19,7 @@ import org.jabref.logic.importer.ParseException; import org.jabref.logic.importer.Parser; import org.jabref.logic.importer.SearchBasedParserFetcher; -import org.jabref.logic.importer.fetcher.transformators.DefaultQueryTransformer; +import org.jabref.logic.importer.fetcher.transformers.DefaultQueryTransformer; import org.jabref.logic.importer.util.JsonReader; import org.jabref.logic.util.strings.StringSimilarity; import org.jabref.model.entry.Author; diff --git a/src/main/java/org/jabref/logic/importer/fetcher/DBLPFetcher.java b/src/main/java/org/jabref/logic/importer/fetcher/DBLPFetcher.java index 2d12d9820f5..d961ce0b3bc 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/DBLPFetcher.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/DBLPFetcher.java @@ -16,7 +16,7 @@ import org.jabref.logic.importer.ImportFormatPreferences; import org.jabref.logic.importer.Parser; import org.jabref.logic.importer.SearchBasedParserFetcher; -import org.jabref.logic.importer.fetcher.transformators.DBLPQueryTransformer; +import org.jabref.logic.importer.fetcher.transformers.DBLPQueryTransformer; import org.jabref.logic.importer.fileformat.BibtexParser; import org.jabref.logic.layout.LayoutFormatterBasedFormatter; import org.jabref.logic.layout.format.RemoveLatexCommandsFormatter; diff --git a/src/main/java/org/jabref/logic/importer/fetcher/DOAJFetcher.java b/src/main/java/org/jabref/logic/importer/fetcher/DOAJFetcher.java index 47434ec14f8..a8656936077 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/DOAJFetcher.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/DOAJFetcher.java @@ -16,7 +16,7 @@ import org.jabref.logic.importer.ImportFormatPreferences; import org.jabref.logic.importer.Parser; import org.jabref.logic.importer.SearchBasedParserFetcher; -import org.jabref.logic.importer.fetcher.transformators.DefaultLuceneQueryTransformer; +import org.jabref.logic.importer.fetcher.transformers.DefaultLuceneQueryTransformer; import org.jabref.logic.util.OS; import org.jabref.model.entry.BibEntry; import org.jabref.model.entry.field.Field; diff --git a/src/main/java/org/jabref/logic/importer/fetcher/GoogleScholar.java b/src/main/java/org/jabref/logic/importer/fetcher/GoogleScholar.java index ffd4f9a55e0..fc72717086f 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/GoogleScholar.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/GoogleScholar.java @@ -19,7 +19,7 @@ import org.jabref.logic.importer.ImportFormatPreferences; import org.jabref.logic.importer.PagedSearchBasedFetcher; import org.jabref.logic.importer.ParserResult; -import org.jabref.logic.importer.fetcher.transformators.ScholarQueryTransformer; +import org.jabref.logic.importer.fetcher.transformers.ScholarQueryTransformer; import org.jabref.logic.importer.fileformat.BibtexParser; import org.jabref.logic.l10n.Localization; import org.jabref.logic.net.URLDownload; diff --git a/src/main/java/org/jabref/logic/importer/fetcher/GvkFetcher.java b/src/main/java/org/jabref/logic/importer/fetcher/GvkFetcher.java index db6afbc6606..23dd4e8080e 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/GvkFetcher.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/GvkFetcher.java @@ -11,7 +11,7 @@ import org.jabref.logic.importer.FetcherException; import org.jabref.logic.importer.Parser; import org.jabref.logic.importer.SearchBasedParserFetcher; -import org.jabref.logic.importer.fetcher.transformators.GVKQueryTransformer; +import org.jabref.logic.importer.fetcher.transformers.GVKQueryTransformer; import org.jabref.logic.importer.fileformat.GvkParser; import org.apache.http.client.utils.URIBuilder; diff --git a/src/main/java/org/jabref/logic/importer/fetcher/IEEE.java b/src/main/java/org/jabref/logic/importer/fetcher/IEEE.java index 9cd5341d357..18d2254e013 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/IEEE.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/IEEE.java @@ -20,7 +20,7 @@ import org.jabref.logic.importer.ImportFormatPreferences; import org.jabref.logic.importer.PagedSearchBasedParserFetcher; import org.jabref.logic.importer.Parser; -import org.jabref.logic.importer.fetcher.transformators.IEEEQueryTransformer; +import org.jabref.logic.importer.fetcher.transformers.IEEEQueryTransformer; import org.jabref.logic.net.URLDownload; import org.jabref.logic.util.BuildInfo; import org.jabref.logic.util.OS; diff --git a/src/main/java/org/jabref/logic/importer/fetcher/INSPIREFetcher.java b/src/main/java/org/jabref/logic/importer/fetcher/INSPIREFetcher.java index 85d5862e67d..553114e46c6 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/INSPIREFetcher.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/INSPIREFetcher.java @@ -13,7 +13,7 @@ import org.jabref.logic.importer.ImportFormatPreferences; import org.jabref.logic.importer.Parser; import org.jabref.logic.importer.SearchBasedParserFetcher; -import org.jabref.logic.importer.fetcher.transformators.DefaultLuceneQueryTransformer; +import org.jabref.logic.importer.fetcher.transformers.DefaultLuceneQueryTransformer; import org.jabref.logic.importer.fileformat.BibtexParser; import org.jabref.logic.importer.util.MediaTypes; import org.jabref.logic.layout.format.LatexToUnicodeFormatter; diff --git a/src/main/java/org/jabref/logic/importer/fetcher/JstorFetcher.java b/src/main/java/org/jabref/logic/importer/fetcher/JstorFetcher.java index b488e03afa7..9e78db86377 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/JstorFetcher.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/JstorFetcher.java @@ -19,7 +19,7 @@ import org.jabref.logic.importer.ParseException; import org.jabref.logic.importer.Parser; import org.jabref.logic.importer.SearchBasedParserFetcher; -import org.jabref.logic.importer.fetcher.transformators.JstorQueryTransformer; +import org.jabref.logic.importer.fetcher.transformers.JstorQueryTransformer; import org.jabref.logic.importer.fileformat.BibtexParser; import org.jabref.logic.net.URLDownload; import org.jabref.model.entry.BibEntry; diff --git a/src/main/java/org/jabref/logic/importer/fetcher/MathSciNet.java b/src/main/java/org/jabref/logic/importer/fetcher/MathSciNet.java index bfc2ca3ab8c..f8282fce74d 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/MathSciNet.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/MathSciNet.java @@ -23,7 +23,7 @@ import org.jabref.logic.importer.ImportFormatPreferences; import org.jabref.logic.importer.Parser; import org.jabref.logic.importer.SearchBasedParserFetcher; -import org.jabref.logic.importer.fetcher.transformators.DefaultQueryTransformer; +import org.jabref.logic.importer.fetcher.transformers.DefaultQueryTransformer; import org.jabref.logic.importer.fileformat.BibtexParser; import org.jabref.logic.util.OS; import org.jabref.model.entry.BibEntry; diff --git a/src/main/java/org/jabref/logic/importer/fetcher/MedlineFetcher.java b/src/main/java/org/jabref/logic/importer/fetcher/MedlineFetcher.java index 304b76da38a..42731cc1ae5 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/MedlineFetcher.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/MedlineFetcher.java @@ -28,7 +28,7 @@ import org.jabref.logic.importer.Parser; import org.jabref.logic.importer.ParserResult; import org.jabref.logic.importer.SearchBasedFetcher; -import org.jabref.logic.importer.fetcher.transformators.DefaultQueryTransformer; +import org.jabref.logic.importer.fetcher.transformers.DefaultQueryTransformer; import org.jabref.logic.importer.fileformat.MedlineImporter; import org.jabref.logic.l10n.Localization; import org.jabref.model.entry.BibEntry; diff --git a/src/main/java/org/jabref/logic/importer/fetcher/SpringerFetcher.java b/src/main/java/org/jabref/logic/importer/fetcher/SpringerFetcher.java index 5c3b34b6d01..efd8f4b325b 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/SpringerFetcher.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/SpringerFetcher.java @@ -14,7 +14,7 @@ import org.jabref.logic.importer.FetcherException; import org.jabref.logic.importer.PagedSearchBasedParserFetcher; import org.jabref.logic.importer.Parser; -import org.jabref.logic.importer.fetcher.transformators.SpringerQueryTransformer; +import org.jabref.logic.importer.fetcher.transformers.SpringerQueryTransformer; import org.jabref.logic.util.BuildInfo; import org.jabref.logic.util.OS; import org.jabref.model.entry.BibEntry; diff --git a/src/main/java/org/jabref/logic/importer/fetcher/ZbMATH.java b/src/main/java/org/jabref/logic/importer/fetcher/ZbMATH.java index 1794c678455..592688412ce 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/ZbMATH.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/ZbMATH.java @@ -16,7 +16,7 @@ import org.jabref.logic.importer.ImportFormatPreferences; import org.jabref.logic.importer.Parser; import org.jabref.logic.importer.SearchBasedParserFetcher; -import org.jabref.logic.importer.fetcher.transformators.ZbMathQueryTransformer; +import org.jabref.logic.importer.fetcher.transformers.ZbMathQueryTransformer; import org.jabref.logic.importer.fileformat.BibtexParser; import org.jabref.logic.net.URLDownload; import org.jabref.model.entry.AuthorList; diff --git a/src/main/java/org/jabref/logic/importer/fetcher/transformators/AbstractQueryTransformer.java b/src/main/java/org/jabref/logic/importer/fetcher/transformers/AbstractQueryTransformer.java similarity index 99% rename from src/main/java/org/jabref/logic/importer/fetcher/transformators/AbstractQueryTransformer.java rename to src/main/java/org/jabref/logic/importer/fetcher/transformers/AbstractQueryTransformer.java index 96f8441d883..851b624300f 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/transformators/AbstractQueryTransformer.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/transformers/AbstractQueryTransformer.java @@ -1,4 +1,4 @@ -package org.jabref.logic.importer.fetcher.transformators; +package org.jabref.logic.importer.fetcher.transformers; import java.util.Optional; import java.util.StringJoiner; diff --git a/src/main/java/org/jabref/logic/importer/fetcher/transformators/ArXivQueryTransformer.java b/src/main/java/org/jabref/logic/importer/fetcher/transformers/ArXivQueryTransformer.java similarity index 95% rename from src/main/java/org/jabref/logic/importer/fetcher/transformators/ArXivQueryTransformer.java rename to src/main/java/org/jabref/logic/importer/fetcher/transformers/ArXivQueryTransformer.java index 28438290eaf..1ad1c5a8239 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/transformators/ArXivQueryTransformer.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/transformers/ArXivQueryTransformer.java @@ -1,4 +1,4 @@ -package org.jabref.logic.importer.fetcher.transformators; +package org.jabref.logic.importer.fetcher.transformers; public class ArXivQueryTransformer extends YearRangeByFilteringQueryTransformer { @Override diff --git a/src/main/java/org/jabref/logic/importer/fetcher/transformators/CollectionOfComputerScienceBibliographiesQueryTransformer.java b/src/main/java/org/jabref/logic/importer/fetcher/transformers/CollectionOfComputerScienceBibliographiesQueryTransformer.java similarity index 94% rename from src/main/java/org/jabref/logic/importer/fetcher/transformators/CollectionOfComputerScienceBibliographiesQueryTransformer.java rename to src/main/java/org/jabref/logic/importer/fetcher/transformers/CollectionOfComputerScienceBibliographiesQueryTransformer.java index 953e6d19721..4b92ff45397 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/transformators/CollectionOfComputerScienceBibliographiesQueryTransformer.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/transformers/CollectionOfComputerScienceBibliographiesQueryTransformer.java @@ -1,4 +1,4 @@ -package org.jabref.logic.importer.fetcher.transformators; +package org.jabref.logic.importer.fetcher.transformers; public class CollectionOfComputerScienceBibliographiesQueryTransformer extends AbstractQueryTransformer { diff --git a/src/main/java/org/jabref/logic/importer/fetcher/transformators/DBLPQueryTransformer.java b/src/main/java/org/jabref/logic/importer/fetcher/transformers/DBLPQueryTransformer.java similarity index 96% rename from src/main/java/org/jabref/logic/importer/fetcher/transformators/DBLPQueryTransformer.java rename to src/main/java/org/jabref/logic/importer/fetcher/transformers/DBLPQueryTransformer.java index df943509320..351171b364c 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/transformators/DBLPQueryTransformer.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/transformers/DBLPQueryTransformer.java @@ -1,4 +1,4 @@ -package org.jabref.logic.importer.fetcher.transformators; +package org.jabref.logic.importer.fetcher.transformers; import java.util.StringJoiner; diff --git a/src/main/java/org/jabref/logic/importer/fetcher/transformators/DefaultLuceneQueryTransformer.java b/src/main/java/org/jabref/logic/importer/fetcher/transformers/DefaultLuceneQueryTransformer.java similarity index 94% rename from src/main/java/org/jabref/logic/importer/fetcher/transformators/DefaultLuceneQueryTransformer.java rename to src/main/java/org/jabref/logic/importer/fetcher/transformers/DefaultLuceneQueryTransformer.java index b34b2c4fa7a..4049bcec966 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/transformators/DefaultLuceneQueryTransformer.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/transformers/DefaultLuceneQueryTransformer.java @@ -1,4 +1,4 @@ -package org.jabref.logic.importer.fetcher.transformators; +package org.jabref.logic.importer.fetcher.transformers; /** * Transforms the query to a lucene query string diff --git a/src/main/java/org/jabref/logic/importer/fetcher/transformators/DefaultQueryTransformer.java b/src/main/java/org/jabref/logic/importer/fetcher/transformers/DefaultQueryTransformer.java similarity index 93% rename from src/main/java/org/jabref/logic/importer/fetcher/transformators/DefaultQueryTransformer.java rename to src/main/java/org/jabref/logic/importer/fetcher/transformers/DefaultQueryTransformer.java index 8f0ea59096b..cf150ef23e6 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/transformators/DefaultQueryTransformer.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/transformers/DefaultQueryTransformer.java @@ -1,4 +1,4 @@ -package org.jabref.logic.importer.fetcher.transformators; +package org.jabref.logic.importer.fetcher.transformers; /** * Default query transformer without any boolean operators diff --git a/src/main/java/org/jabref/logic/importer/fetcher/transformators/GVKQueryTransformer.java b/src/main/java/org/jabref/logic/importer/fetcher/transformers/GVKQueryTransformer.java similarity index 96% rename from src/main/java/org/jabref/logic/importer/fetcher/transformators/GVKQueryTransformer.java rename to src/main/java/org/jabref/logic/importer/fetcher/transformers/GVKQueryTransformer.java index c877547f747..8f104456a22 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/transformators/GVKQueryTransformer.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/transformers/GVKQueryTransformer.java @@ -1,4 +1,4 @@ -package org.jabref.logic.importer.fetcher.transformators; +package org.jabref.logic.importer.fetcher.transformers; import java.util.Optional; diff --git a/src/main/java/org/jabref/logic/importer/fetcher/transformators/IEEEQueryTransformer.java b/src/main/java/org/jabref/logic/importer/fetcher/transformers/IEEEQueryTransformer.java similarity index 97% rename from src/main/java/org/jabref/logic/importer/fetcher/transformators/IEEEQueryTransformer.java rename to src/main/java/org/jabref/logic/importer/fetcher/transformers/IEEEQueryTransformer.java index 1fefd723401..a17a04fd385 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/transformators/IEEEQueryTransformer.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/transformers/IEEEQueryTransformer.java @@ -1,4 +1,4 @@ -package org.jabref.logic.importer.fetcher.transformators; +package org.jabref.logic.importer.fetcher.transformers; import java.util.Objects; import java.util.Optional; diff --git a/src/main/java/org/jabref/logic/importer/fetcher/transformators/JstorQueryTransformer.java b/src/main/java/org/jabref/logic/importer/fetcher/transformers/JstorQueryTransformer.java similarity index 95% rename from src/main/java/org/jabref/logic/importer/fetcher/transformators/JstorQueryTransformer.java rename to src/main/java/org/jabref/logic/importer/fetcher/transformers/JstorQueryTransformer.java index e0193d995b4..99a4d595b3f 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/transformators/JstorQueryTransformer.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/transformers/JstorQueryTransformer.java @@ -1,4 +1,4 @@ -package org.jabref.logic.importer.fetcher.transformators; +package org.jabref.logic.importer.fetcher.transformers; public class JstorQueryTransformer extends AbstractQueryTransformer { @Override diff --git a/src/main/java/org/jabref/logic/importer/fetcher/transformators/ScholarQueryTransformer.java b/src/main/java/org/jabref/logic/importer/fetcher/transformers/ScholarQueryTransformer.java similarity index 94% rename from src/main/java/org/jabref/logic/importer/fetcher/transformators/ScholarQueryTransformer.java rename to src/main/java/org/jabref/logic/importer/fetcher/transformers/ScholarQueryTransformer.java index 2d1eb2ff09d..d42d66828ce 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/transformators/ScholarQueryTransformer.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/transformers/ScholarQueryTransformer.java @@ -1,4 +1,4 @@ -package org.jabref.logic.importer.fetcher.transformators; +package org.jabref.logic.importer.fetcher.transformers; public class ScholarQueryTransformer extends YearAndYearRangeByFilteringQueryTransformer { // Start year and end year have to be integrated into the query URL itself as these are just supported as query parameters diff --git a/src/main/java/org/jabref/logic/importer/fetcher/transformators/SpringerQueryTransformer.java b/src/main/java/org/jabref/logic/importer/fetcher/transformers/SpringerQueryTransformer.java similarity index 95% rename from src/main/java/org/jabref/logic/importer/fetcher/transformators/SpringerQueryTransformer.java rename to src/main/java/org/jabref/logic/importer/fetcher/transformers/SpringerQueryTransformer.java index 87297e35dae..48005d03851 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/transformators/SpringerQueryTransformer.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/transformers/SpringerQueryTransformer.java @@ -1,4 +1,4 @@ -package org.jabref.logic.importer.fetcher.transformators; +package org.jabref.logic.importer.fetcher.transformers; /** * This class converts a query string written in lucene syntax into a complex query. diff --git a/src/main/java/org/jabref/logic/importer/fetcher/transformators/YearAndYearRangeByFilteringQueryTransformer.java b/src/main/java/org/jabref/logic/importer/fetcher/transformers/YearAndYearRangeByFilteringQueryTransformer.java similarity index 85% rename from src/main/java/org/jabref/logic/importer/fetcher/transformators/YearAndYearRangeByFilteringQueryTransformer.java rename to src/main/java/org/jabref/logic/importer/fetcher/transformers/YearAndYearRangeByFilteringQueryTransformer.java index b0f992c93b6..b825455807c 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/transformators/YearAndYearRangeByFilteringQueryTransformer.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/transformers/YearAndYearRangeByFilteringQueryTransformer.java @@ -1,4 +1,4 @@ -package org.jabref.logic.importer.fetcher.transformators; +package org.jabref.logic.importer.fetcher.transformers; public abstract class YearAndYearRangeByFilteringQueryTransformer extends YearRangeByFilteringQueryTransformer { diff --git a/src/main/java/org/jabref/logic/importer/fetcher/transformators/YearRangeByFilteringQueryTransformer.java b/src/main/java/org/jabref/logic/importer/fetcher/transformers/YearRangeByFilteringQueryTransformer.java similarity index 94% rename from src/main/java/org/jabref/logic/importer/fetcher/transformators/YearRangeByFilteringQueryTransformer.java rename to src/main/java/org/jabref/logic/importer/fetcher/transformers/YearRangeByFilteringQueryTransformer.java index ee5f27e4c32..04ad5be5b20 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/transformators/YearRangeByFilteringQueryTransformer.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/transformers/YearRangeByFilteringQueryTransformer.java @@ -1,4 +1,4 @@ -package org.jabref.logic.importer.fetcher.transformators; +package org.jabref.logic.importer.fetcher.transformers; import java.util.Optional; diff --git a/src/main/java/org/jabref/logic/importer/fetcher/transformators/ZbMathQueryTransformer.java b/src/main/java/org/jabref/logic/importer/fetcher/transformers/ZbMathQueryTransformer.java similarity index 94% rename from src/main/java/org/jabref/logic/importer/fetcher/transformators/ZbMathQueryTransformer.java rename to src/main/java/org/jabref/logic/importer/fetcher/transformers/ZbMathQueryTransformer.java index b2a466c20a1..bf0d7fa5cd4 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/transformators/ZbMathQueryTransformer.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/transformers/ZbMathQueryTransformer.java @@ -1,4 +1,4 @@ -package org.jabref.logic.importer.fetcher.transformators; +package org.jabref.logic.importer.fetcher.transformers; public class ZbMathQueryTransformer extends AbstractQueryTransformer { diff --git a/src/test/java/org/jabref/logic/importer/fetcher/CollectionOfComputerScienceBibliographiesFetcherTest.java b/src/test/java/org/jabref/logic/importer/fetcher/CollectionOfComputerScienceBibliographiesFetcherTest.java index 539decbf37c..6da4e04affa 100644 --- a/src/test/java/org/jabref/logic/importer/fetcher/CollectionOfComputerScienceBibliographiesFetcherTest.java +++ b/src/test/java/org/jabref/logic/importer/fetcher/CollectionOfComputerScienceBibliographiesFetcherTest.java @@ -10,7 +10,7 @@ import org.jabref.logic.importer.FetcherException; import org.jabref.logic.importer.ImportFormatPreferences; -import org.jabref.logic.importer.fetcher.transformators.AbstractQueryTransformer; +import org.jabref.logic.importer.fetcher.transformers.AbstractQueryTransformer; import org.jabref.model.entry.BibEntry; import org.jabref.model.entry.field.StandardField; import org.jabref.model.entry.field.UnknownField; diff --git a/src/test/java/org/jabref/logic/importer/fetcher/GvkFetcherTest.java b/src/test/java/org/jabref/logic/importer/fetcher/GvkFetcherTest.java index 88cd4b91ef0..4835c3fd2f8 100644 --- a/src/test/java/org/jabref/logic/importer/fetcher/GvkFetcherTest.java +++ b/src/test/java/org/jabref/logic/importer/fetcher/GvkFetcherTest.java @@ -5,7 +5,7 @@ import java.util.List; import org.jabref.logic.importer.FetcherException; -import org.jabref.logic.importer.fetcher.transformators.AbstractQueryTransformer; +import org.jabref.logic.importer.fetcher.transformers.AbstractQueryTransformer; import org.jabref.model.entry.BibEntry; import org.jabref.model.entry.field.StandardField; import org.jabref.model.entry.field.UnknownField; diff --git a/src/test/java/org/jabref/logic/importer/fetcher/transformators/ArXivQueryTransformerTest.java b/src/test/java/org/jabref/logic/importer/fetcher/transformers/ArXivQueryTransformerTest.java similarity index 95% rename from src/test/java/org/jabref/logic/importer/fetcher/transformators/ArXivQueryTransformerTest.java rename to src/test/java/org/jabref/logic/importer/fetcher/transformers/ArXivQueryTransformerTest.java index ae20116df7f..0eba3b200aa 100644 --- a/src/test/java/org/jabref/logic/importer/fetcher/transformators/ArXivQueryTransformerTest.java +++ b/src/test/java/org/jabref/logic/importer/fetcher/transformers/ArXivQueryTransformerTest.java @@ -1,4 +1,4 @@ -package org.jabref.logic.importer.fetcher.transformators; +package org.jabref.logic.importer.fetcher.transformers; import java.util.Optional; diff --git a/src/test/java/org/jabref/logic/importer/fetcher/transformators/CollectionOfComputerScienceBibliographiesQueryTransformerTest.java b/src/test/java/org/jabref/logic/importer/fetcher/transformers/CollectionOfComputerScienceBibliographiesQueryTransformerTest.java similarity index 96% rename from src/test/java/org/jabref/logic/importer/fetcher/transformators/CollectionOfComputerScienceBibliographiesQueryTransformerTest.java rename to src/test/java/org/jabref/logic/importer/fetcher/transformers/CollectionOfComputerScienceBibliographiesQueryTransformerTest.java index ecaaee6db7b..305421a3db1 100644 --- a/src/test/java/org/jabref/logic/importer/fetcher/transformators/CollectionOfComputerScienceBibliographiesQueryTransformerTest.java +++ b/src/test/java/org/jabref/logic/importer/fetcher/transformers/CollectionOfComputerScienceBibliographiesQueryTransformerTest.java @@ -1,4 +1,4 @@ -package org.jabref.logic.importer.fetcher.transformators; +package org.jabref.logic.importer.fetcher.transformers; import java.util.Optional; diff --git a/src/test/java/org/jabref/logic/importer/fetcher/transformators/DBLPQueryTransformerTest.java b/src/test/java/org/jabref/logic/importer/fetcher/transformers/DBLPQueryTransformerTest.java similarity index 96% rename from src/test/java/org/jabref/logic/importer/fetcher/transformators/DBLPQueryTransformerTest.java rename to src/test/java/org/jabref/logic/importer/fetcher/transformers/DBLPQueryTransformerTest.java index 6bb5f9e84b9..1801576f0b2 100644 --- a/src/test/java/org/jabref/logic/importer/fetcher/transformators/DBLPQueryTransformerTest.java +++ b/src/test/java/org/jabref/logic/importer/fetcher/transformers/DBLPQueryTransformerTest.java @@ -1,4 +1,4 @@ -package org.jabref.logic.importer.fetcher.transformators; +package org.jabref.logic.importer.fetcher.transformers; import java.util.Optional; diff --git a/src/test/java/org/jabref/logic/importer/fetcher/transformators/DefaultLuceneQueryTransformerTest.java b/src/test/java/org/jabref/logic/importer/fetcher/transformers/DefaultLuceneQueryTransformerTest.java similarity index 90% rename from src/test/java/org/jabref/logic/importer/fetcher/transformators/DefaultLuceneQueryTransformerTest.java rename to src/test/java/org/jabref/logic/importer/fetcher/transformers/DefaultLuceneQueryTransformerTest.java index 5aa976cd7c6..a4cf457c741 100644 --- a/src/test/java/org/jabref/logic/importer/fetcher/transformators/DefaultLuceneQueryTransformerTest.java +++ b/src/test/java/org/jabref/logic/importer/fetcher/transformers/DefaultLuceneQueryTransformerTest.java @@ -1,4 +1,4 @@ -package org.jabref.logic.importer.fetcher.transformators; +package org.jabref.logic.importer.fetcher.transformers; class DefaultLuceneQueryTransformerTest extends YearAndYearRangeByFilteringQueryTransformerTest { diff --git a/src/test/java/org/jabref/logic/importer/fetcher/transformators/GVKQueryTransformerTest.java b/src/test/java/org/jabref/logic/importer/fetcher/transformers/GVKQueryTransformerTest.java similarity index 95% rename from src/test/java/org/jabref/logic/importer/fetcher/transformators/GVKQueryTransformerTest.java rename to src/test/java/org/jabref/logic/importer/fetcher/transformers/GVKQueryTransformerTest.java index b8189db734e..0f366ece141 100644 --- a/src/test/java/org/jabref/logic/importer/fetcher/transformators/GVKQueryTransformerTest.java +++ b/src/test/java/org/jabref/logic/importer/fetcher/transformers/GVKQueryTransformerTest.java @@ -1,4 +1,4 @@ -package org.jabref.logic.importer.fetcher.transformators; +package org.jabref.logic.importer.fetcher.transformers; import java.util.Optional; diff --git a/src/test/java/org/jabref/logic/importer/fetcher/transformators/IEEEQueryTransformerTest.java b/src/test/java/org/jabref/logic/importer/fetcher/transformers/IEEEQueryTransformerTest.java similarity index 97% rename from src/test/java/org/jabref/logic/importer/fetcher/transformators/IEEEQueryTransformerTest.java rename to src/test/java/org/jabref/logic/importer/fetcher/transformers/IEEEQueryTransformerTest.java index 66f212b8abd..e1b252e1f12 100644 --- a/src/test/java/org/jabref/logic/importer/fetcher/transformators/IEEEQueryTransformerTest.java +++ b/src/test/java/org/jabref/logic/importer/fetcher/transformers/IEEEQueryTransformerTest.java @@ -1,4 +1,4 @@ -package org.jabref.logic.importer.fetcher.transformators; +package org.jabref.logic.importer.fetcher.transformers; import java.util.Optional; diff --git a/src/test/java/org/jabref/logic/importer/fetcher/transformators/InfixTransformerTest.java b/src/test/java/org/jabref/logic/importer/fetcher/transformers/InfixTransformerTest.java similarity index 98% rename from src/test/java/org/jabref/logic/importer/fetcher/transformators/InfixTransformerTest.java rename to src/test/java/org/jabref/logic/importer/fetcher/transformers/InfixTransformerTest.java index 8fd76244ebe..f30208215cd 100644 --- a/src/test/java/org/jabref/logic/importer/fetcher/transformators/InfixTransformerTest.java +++ b/src/test/java/org/jabref/logic/importer/fetcher/transformers/InfixTransformerTest.java @@ -1,4 +1,4 @@ -package org.jabref.logic.importer.fetcher.transformators; +package org.jabref.logic.importer.fetcher.transformers; import java.util.Optional; diff --git a/src/test/java/org/jabref/logic/importer/fetcher/transformators/JstorQueryTransformerTest.java b/src/test/java/org/jabref/logic/importer/fetcher/transformers/JstorQueryTransformerTest.java similarity index 96% rename from src/test/java/org/jabref/logic/importer/fetcher/transformators/JstorQueryTransformerTest.java rename to src/test/java/org/jabref/logic/importer/fetcher/transformers/JstorQueryTransformerTest.java index 92cb574ec13..c3ae153036d 100644 --- a/src/test/java/org/jabref/logic/importer/fetcher/transformators/JstorQueryTransformerTest.java +++ b/src/test/java/org/jabref/logic/importer/fetcher/transformers/JstorQueryTransformerTest.java @@ -1,4 +1,4 @@ -package org.jabref.logic.importer.fetcher.transformators; +package org.jabref.logic.importer.fetcher.transformers; import java.util.Optional; diff --git a/src/test/java/org/jabref/logic/importer/fetcher/transformators/ScholarQueryTransformerTest.java b/src/test/java/org/jabref/logic/importer/fetcher/transformers/ScholarQueryTransformerTest.java similarity index 90% rename from src/test/java/org/jabref/logic/importer/fetcher/transformators/ScholarQueryTransformerTest.java rename to src/test/java/org/jabref/logic/importer/fetcher/transformers/ScholarQueryTransformerTest.java index 19467a7ef99..f2264ca0735 100644 --- a/src/test/java/org/jabref/logic/importer/fetcher/transformators/ScholarQueryTransformerTest.java +++ b/src/test/java/org/jabref/logic/importer/fetcher/transformers/ScholarQueryTransformerTest.java @@ -1,4 +1,4 @@ -package org.jabref.logic.importer.fetcher.transformators; +package org.jabref.logic.importer.fetcher.transformers; class ScholarQueryTransformerTest extends YearAndYearRangeByFilteringQueryTransformerTest { diff --git a/src/test/java/org/jabref/logic/importer/fetcher/transformators/SpringerQueryTransformerTest.java b/src/test/java/org/jabref/logic/importer/fetcher/transformers/SpringerQueryTransformerTest.java similarity index 96% rename from src/test/java/org/jabref/logic/importer/fetcher/transformators/SpringerQueryTransformerTest.java rename to src/test/java/org/jabref/logic/importer/fetcher/transformers/SpringerQueryTransformerTest.java index 45f384defd0..fb53f80ba37 100644 --- a/src/test/java/org/jabref/logic/importer/fetcher/transformators/SpringerQueryTransformerTest.java +++ b/src/test/java/org/jabref/logic/importer/fetcher/transformers/SpringerQueryTransformerTest.java @@ -1,4 +1,4 @@ -package org.jabref.logic.importer.fetcher.transformators; +package org.jabref.logic.importer.fetcher.transformers; import java.util.Optional; diff --git a/src/test/java/org/jabref/logic/importer/fetcher/transformators/YearAndYearRangeByFilteringQueryTransformerTest.java b/src/test/java/org/jabref/logic/importer/fetcher/transformers/YearAndYearRangeByFilteringQueryTransformerTest.java similarity index 94% rename from src/test/java/org/jabref/logic/importer/fetcher/transformators/YearAndYearRangeByFilteringQueryTransformerTest.java rename to src/test/java/org/jabref/logic/importer/fetcher/transformers/YearAndYearRangeByFilteringQueryTransformerTest.java index f194e06366c..54bd9c12247 100644 --- a/src/test/java/org/jabref/logic/importer/fetcher/transformators/YearAndYearRangeByFilteringQueryTransformerTest.java +++ b/src/test/java/org/jabref/logic/importer/fetcher/transformers/YearAndYearRangeByFilteringQueryTransformerTest.java @@ -1,4 +1,4 @@ -package org.jabref.logic.importer.fetcher.transformators; +package org.jabref.logic.importer.fetcher.transformers; import java.util.Optional; diff --git a/src/test/java/org/jabref/logic/importer/fetcher/transformators/YearRangeByFilteringQueryTransformerTest.java b/src/test/java/org/jabref/logic/importer/fetcher/transformers/YearRangeByFilteringQueryTransformerTest.java similarity index 95% rename from src/test/java/org/jabref/logic/importer/fetcher/transformators/YearRangeByFilteringQueryTransformerTest.java rename to src/test/java/org/jabref/logic/importer/fetcher/transformers/YearRangeByFilteringQueryTransformerTest.java index 03cd7d4e0a7..244f2ed8e4a 100644 --- a/src/test/java/org/jabref/logic/importer/fetcher/transformators/YearRangeByFilteringQueryTransformerTest.java +++ b/src/test/java/org/jabref/logic/importer/fetcher/transformers/YearRangeByFilteringQueryTransformerTest.java @@ -1,4 +1,4 @@ -package org.jabref.logic.importer.fetcher.transformators; +package org.jabref.logic.importer.fetcher.transformers; import java.util.Optional; diff --git a/src/test/java/org/jabref/logic/importer/fetcher/transformators/ZbMathQueryTransformerTest.java b/src/test/java/org/jabref/logic/importer/fetcher/transformers/ZbMathQueryTransformerTest.java similarity index 96% rename from src/test/java/org/jabref/logic/importer/fetcher/transformators/ZbMathQueryTransformerTest.java rename to src/test/java/org/jabref/logic/importer/fetcher/transformers/ZbMathQueryTransformerTest.java index 2937f13ce5e..0b9cd9a88d1 100644 --- a/src/test/java/org/jabref/logic/importer/fetcher/transformators/ZbMathQueryTransformerTest.java +++ b/src/test/java/org/jabref/logic/importer/fetcher/transformers/ZbMathQueryTransformerTest.java @@ -1,4 +1,4 @@ -package org.jabref.logic.importer.fetcher.transformators; +package org.jabref.logic.importer.fetcher.transformers; import java.util.Optional; From 1c169441acb8b9b9f566b894ae3435be12ff2fa7 Mon Sep 17 00:00:00 2001 From: Oliver Kopp Date: Sat, 1 May 2021 01:20:51 +0200 Subject: [PATCH 14/20] Begin to fix quotes --- .../AbstractQueryTransformer.java | 27 +++++++++++++++---- .../transformers/ArXivQueryTransformer.java | 8 +++--- ...ScienceBibliographiesQueryTransformer.java | 12 +++------ .../DefaultLuceneQueryTransformer.java | 10 +++---- .../transformers/DefaultQueryTransformer.java | 8 +++--- .../transformers/GVKQueryTransformer.java | 10 +++---- .../transformers/IEEEQueryTransformer.java | 9 +++---- ....java => DefaultQueryTransformerTest.java} | 8 +++--- .../transformers/InfixTransformerTest.java | 4 +-- 9 files changed, 54 insertions(+), 42 deletions(-) rename src/test/java/org/jabref/logic/importer/fetcher/transformers/{DefaultLuceneQueryTransformerTest.java => DefaultQueryTransformerTest.java} (68%) diff --git a/src/main/java/org/jabref/logic/importer/fetcher/transformers/AbstractQueryTransformer.java b/src/main/java/org/jabref/logic/importer/fetcher/transformers/AbstractQueryTransformer.java index 851b624300f..f6481ee412d 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/transformers/AbstractQueryTransformer.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/transformers/AbstractQueryTransformer.java @@ -160,16 +160,33 @@ protected String handleYearRange(String yearRange) { */ protected abstract String handleUnFieldedTerm(String term); + /** + * Encloses the given string with " if there is a space contained + * + * @return Returns a string + */ + protected String quoteStringIfSpaceIsContained(String string) { + if (string.contains(" ")) { + return "\"" + string + "\""; + } else { + return string; + } + } + + protected String createKeyValuePair(String fieldAsString, String term) { + return createKeyValuePair(fieldAsString, term, ":"); + } + + protected String createKeyValuePair(String fieldAsString, String term, String separator) { + return String.format("%s%s%s", fieldAsString, separator, quoteStringIfSpaceIsContained(term)); + } + /** * Return a string representation of the provided field * If it is not supported return an empty optional. */ protected Optional handleOtherField(String fieldAsString, String term) { - if (term.contains(" ")) { - return Optional.of(String.format("%s:\"%s\"", fieldAsString, term)); - } else { - return Optional.of(String.format("%s:%s", fieldAsString, term)); - } + return Optional.of(createKeyValuePair(fieldAsString, term)); } private Optional transform(QueryNode query) { diff --git a/src/main/java/org/jabref/logic/importer/fetcher/transformers/ArXivQueryTransformer.java b/src/main/java/org/jabref/logic/importer/fetcher/transformers/ArXivQueryTransformer.java index 1ad1c5a8239..51efafba3dd 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/transformers/ArXivQueryTransformer.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/transformers/ArXivQueryTransformer.java @@ -18,17 +18,17 @@ protected String getLogicalNotOperator() { @Override protected String handleAuthor(String author) { - return String.format("au:\"%s\"", author); + return createKeyValuePair("au", author); } @Override protected String handleTitle(String title) { - return String.format("ti:\"%s\"", title); + return createKeyValuePair("ti", title); } @Override protected String handleJournal(String journalTitle) { - return String.format("jr:\"%s\"", journalTitle); + return createKeyValuePair("jr", journalTitle); } /** @@ -43,7 +43,7 @@ protected String handleYear(String year) { @Override protected String handleUnFieldedTerm(String term) { - return String.format("all:\"%s\"", term); + return createKeyValuePair("all", term); } } diff --git a/src/main/java/org/jabref/logic/importer/fetcher/transformers/CollectionOfComputerScienceBibliographiesQueryTransformer.java b/src/main/java/org/jabref/logic/importer/fetcher/transformers/CollectionOfComputerScienceBibliographiesQueryTransformer.java index 4b92ff45397..09a747d977e 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/transformers/CollectionOfComputerScienceBibliographiesQueryTransformer.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/transformers/CollectionOfComputerScienceBibliographiesQueryTransformer.java @@ -19,17 +19,17 @@ protected String getLogicalNotOperator() { @Override protected String handleAuthor(String author) { - return String.format("au:\"%s\"", author); + return createKeyValuePair("au", author); } @Override protected String handleTitle(String title) { - return String.format("ti:\"%s\"", title); + return createKeyValuePair("ti", title); } @Override protected String handleJournal(String journalTitle) { - return String.format("\"%s\"", journalTitle); + return quoteStringIfSpaceIsContained(journalTitle); } @Override @@ -39,10 +39,6 @@ protected String handleYear(String year) { @Override protected String handleUnFieldedTerm(String term) { - if (term.contains(" ")) { - return String.format("\"%s\"", term); - } else { - return term; - } + return quoteStringIfSpaceIsContained(term); } } diff --git a/src/main/java/org/jabref/logic/importer/fetcher/transformers/DefaultLuceneQueryTransformer.java b/src/main/java/org/jabref/logic/importer/fetcher/transformers/DefaultLuceneQueryTransformer.java index 4049bcec966..e4458afcbff 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/transformers/DefaultLuceneQueryTransformer.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/transformers/DefaultLuceneQueryTransformer.java @@ -22,26 +22,26 @@ protected String getLogicalNotOperator() { @Override protected String handleAuthor(String author) { - return handleOtherField("author", author).get(); + return createKeyValuePair("author", author); } @Override protected String handleTitle(String title) { - return handleOtherField("title", title).get(); + return createKeyValuePair("title", title); } @Override protected String handleJournal(String journalTitle) { - return handleOtherField("journal", journalTitle).get(); + return createKeyValuePair("journal", journalTitle); } @Override protected String handleYear(String year) { - return handleOtherField("year", year).get(); + return createKeyValuePair("year", year); } @Override protected String handleUnFieldedTerm(String term) { - return "\"" + term + "\""; + return quoteStringIfSpaceIsContained(term); } } diff --git a/src/main/java/org/jabref/logic/importer/fetcher/transformers/DefaultQueryTransformer.java b/src/main/java/org/jabref/logic/importer/fetcher/transformers/DefaultQueryTransformer.java index cf150ef23e6..d633139ee02 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/transformers/DefaultQueryTransformer.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/transformers/DefaultQueryTransformer.java @@ -22,21 +22,21 @@ protected String getLogicalNotOperator() { @Override protected String handleAuthor(String author) { - return author; + return quoteStringIfSpaceIsContained(author); } @Override protected String handleTitle(String title) { - return title; + return quoteStringIfSpaceIsContained(title); } @Override protected String handleJournal(String journalTitle) { - return journalTitle; + return quoteStringIfSpaceIsContained(journalTitle); } @Override protected String handleUnFieldedTerm(String term) { - return term; + return quoteStringIfSpaceIsContained(term); } } diff --git a/src/main/java/org/jabref/logic/importer/fetcher/transformers/GVKQueryTransformer.java b/src/main/java/org/jabref/logic/importer/fetcher/transformers/GVKQueryTransformer.java index 8f104456a22..a52bfe49aff 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/transformers/GVKQueryTransformer.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/transformers/GVKQueryTransformer.java @@ -27,18 +27,18 @@ protected String getLogicalNotOperator() { @Override protected String handleAuthor(String author) { - return String.format("pica.per=\"%s\"", author); + return createKeyValuePair("pica.per", author, "="); } @Override protected String handleTitle(String title) { - return String.format("pica.tit=\"%s\"", title); + return createKeyValuePair("pica.tit", title, "="); } @Override protected String handleJournal(String journalTitle) { // zti means "Zeitschrift", does not search for conferences (kon:) - return String.format("pica.zti=\"%s\"", journalTitle); + return createKeyValuePair("pica.zti", journalTitle, "="); } @Override @@ -57,11 +57,11 @@ protected String handleYearRange(String yearRange) { protected String handleUnFieldedTerm(String term) { // all does not search in full-text // Other option is txt: but this does not search in meta data - return String.format("pica.all=\"%s\"", term); + return createKeyValuePair("pica.all", term, "="); } @Override protected Optional handleOtherField(String fieldAsString, String term) { - return Optional.of("pica." + fieldAsString + "=\"" + term + "\""); + return Optional.of(createKeyValuePair("pica." + fieldAsString, term, "="); } } diff --git a/src/main/java/org/jabref/logic/importer/fetcher/transformers/IEEEQueryTransformer.java b/src/main/java/org/jabref/logic/importer/fetcher/transformers/IEEEQueryTransformer.java index a17a04fd385..bebad3b987a 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/transformers/IEEEQueryTransformer.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/transformers/IEEEQueryTransformer.java @@ -31,18 +31,17 @@ protected String getLogicalNotOperator() { @Override protected String handleAuthor(String author) { - return String.format("author:\"%s\"", author); + return createKeyValuePair("author", author); } @Override protected String handleTitle(String title) { - return String.format("article_title:\"%s\"", title); + return createKeyValuePair("article_title", title); } @Override protected String handleJournal(String journalTitle) { - journal = String.format("\"%s\"", journalTitle); - return ""; + return handleUnFieldedTerm(journalTitle); } @Override @@ -54,7 +53,7 @@ protected String handleYear(String year) { @Override protected String handleUnFieldedTerm(String term) { - return String.format("\"%s\"", term); + return quoteStringIfSpaceIsContained(term); } @Override diff --git a/src/test/java/org/jabref/logic/importer/fetcher/transformers/DefaultLuceneQueryTransformerTest.java b/src/test/java/org/jabref/logic/importer/fetcher/transformers/DefaultQueryTransformerTest.java similarity index 68% rename from src/test/java/org/jabref/logic/importer/fetcher/transformers/DefaultLuceneQueryTransformerTest.java rename to src/test/java/org/jabref/logic/importer/fetcher/transformers/DefaultQueryTransformerTest.java index a4cf457c741..70b4e4a5bfb 100644 --- a/src/test/java/org/jabref/logic/importer/fetcher/transformers/DefaultLuceneQueryTransformerTest.java +++ b/src/test/java/org/jabref/logic/importer/fetcher/transformers/DefaultQueryTransformerTest.java @@ -1,6 +1,6 @@ package org.jabref.logic.importer.fetcher.transformers; -class DefaultLuceneQueryTransformerTest extends YearAndYearRangeByFilteringQueryTransformerTest { +class DefaultQueryTransformerTest extends YearAndYearRangeByFilteringQueryTransformerTest { @Override protected DefaultQueryTransformer getTransformer() { @@ -9,7 +9,7 @@ protected DefaultQueryTransformer getTransformer() { @Override public String getAuthorPrefix() { - return "author:"; + return ""; } @Override @@ -19,11 +19,11 @@ public String getUnFieldedPrefix() { @Override public String getJournalPrefix() { - return "journal:"; + return ""; } @Override public String getTitlePrefix() { - return "title:"; + return ""; } } diff --git a/src/test/java/org/jabref/logic/importer/fetcher/transformers/InfixTransformerTest.java b/src/test/java/org/jabref/logic/importer/fetcher/transformers/InfixTransformerTest.java index f30208215cd..70088f66604 100644 --- a/src/test/java/org/jabref/logic/importer/fetcher/transformers/InfixTransformerTest.java +++ b/src/test/java/org/jabref/logic/importer/fetcher/transformers/InfixTransformerTest.java @@ -59,7 +59,7 @@ public void convertJournalField() throws Exception { String queryString = "journal:Nature"; QueryNode luceneQuery = new StandardSyntaxParser().parse(queryString, AbstractQueryTransformer.NO_EXPLICIT_FIELD); Optional searchQuery = getTransformer().transformLuceneQuery(luceneQuery); - Optional expected = Optional.of(getJournalPrefix() + "\"Nature\""); + Optional expected = Optional.of(getJournalPrefix() + "Nature"); assertEquals(expected, searchQuery); } @@ -83,7 +83,7 @@ public void groupedOperations() throws Exception { String queryString = "(author:\"Igor Steinmacher\" OR author:\"Christoph Treude\" AND author:\"Christoph Freunde\") AND title:test"; QueryNode luceneQuery = new StandardSyntaxParser().parse(queryString, AbstractQueryTransformer.NO_EXPLICIT_FIELD); Optional searchQuery = getTransformer().transformLuceneQuery(luceneQuery); - Optional expected = Optional.of("(" + getAuthorPrefix() + "\"Igor Steinmacher\"" + getTransformer().getLogicalOrOperator() + "(" + getAuthorPrefix() + "\"Christoph Treude\"" + getTransformer().getLogicalAndOperator() + getAuthorPrefix() + "\"Christoph Freunde\"))" + getTransformer().getLogicalAndOperator() + getTitlePrefix() + "\"test\""); + Optional expected = Optional.of("(" + getAuthorPrefix() + "\"Igor Steinmacher\"" + getTransformer().getLogicalOrOperator() + "(" + getAuthorPrefix() + "\"Christoph Treude\"" + getTransformer().getLogicalAndOperator() + getAuthorPrefix() + "\"Christoph Freunde\"))" + getTransformer().getLogicalAndOperator() + getTitlePrefix() + "test"); assertEquals(expected, searchQuery); } From 5c31fcf1846535c82e76e477d60627851fb37a41 Mon Sep 17 00:00:00 2001 From: Oliver Kopp Date: Sat, 1 May 2021 13:54:42 +0200 Subject: [PATCH 15/20] Generalize YearRange (old-school code, but works) --- .../AbstractQueryTransformer.java | 30 +++++++++++++++++-- .../transformers/DBLPQueryTransformer.java | 11 ------- .../transformers/GVKQueryTransformer.java | 10 ++----- .../transformers/JstorQueryTransformer.java | 12 ++++---- .../YearRangeByFilteringQueryTransformer.java | 12 ++------ .../logic/importer/fileformat/GvkParser.java | 6 ++-- 6 files changed, 42 insertions(+), 39 deletions(-) diff --git a/src/main/java/org/jabref/logic/importer/fetcher/transformers/AbstractQueryTransformer.java b/src/main/java/org/jabref/logic/importer/fetcher/transformers/AbstractQueryTransformer.java index f6481ee412d..73ccac09e0d 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/transformers/AbstractQueryTransformer.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/transformers/AbstractQueryTransformer.java @@ -21,6 +21,10 @@ public abstract class AbstractQueryTransformer { public static final String NO_EXPLICIT_FIELD = "default"; private static final Logger LOGGER = LoggerFactory.getLogger(AbstractQueryTransformer.class); + // These can be used for filtering in post processing + protected int startYear = Integer.MAX_VALUE; + protected int endYear = Integer.MIN_VALUE; + /** * Transforms a and b and c to (a AND b AND c), where * a, b, and c can be complex expressions. @@ -137,6 +141,25 @@ private Optional transform(ModifierQueryNode query) { */ protected abstract String handleYear(String year); + /** + * Parses the year range and fills startYear and endYear. + * Ensures that startYear <= endYear + */ + protected void parseYearRange(String yearRange) { + String[] split = yearRange.split("-"); + int parsedStartYear = Integer.parseInt(split[0]); + startYear = parsedStartYear; + if (split.length >= 1) { + int parsedEndYear = Integer.parseInt(split[1]); + if (parsedEndYear >= parsedStartYear) { + endYear = parsedEndYear; + } else { + startYear = parsedEndYear; + endYear = parsedStartYear; + } + } + } + /** * Return a string representation of the year-range fielded term * Should follow the structure yyyy-yyyy @@ -144,12 +167,13 @@ private Optional transform(ModifierQueryNode query) { * Example: 2015-2021 */ protected String handleYearRange(String yearRange) { - String[] split = yearRange.split("-"); - if (split.length != 2) { + parseYearRange(yearRange); + if (endYear == Integer.MAX_VALUE) { + // invalid year range return yearRange; } StringJoiner resultBuilder = new StringJoiner(getLogicalOrOperator()); - for (int i = Integer.parseInt(split[0]); i <= Integer.parseInt(split[1]); i++) { + for (int i = startYear; i <= endYear; i++) { resultBuilder.add(handleYear(String.valueOf(i))); } return resultBuilder.toString(); diff --git a/src/main/java/org/jabref/logic/importer/fetcher/transformers/DBLPQueryTransformer.java b/src/main/java/org/jabref/logic/importer/fetcher/transformers/DBLPQueryTransformer.java index 351171b364c..2b54900c8b1 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/transformers/DBLPQueryTransformer.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/transformers/DBLPQueryTransformer.java @@ -48,17 +48,6 @@ protected String handleYear(String year) { return year; } - @Override - protected String handleYearRange(String yearRange) { - // DBLP does not support explicit year range search - String[] split = yearRange.split("-"); - StringJoiner resultBuilder = new StringJoiner(getLogicalOrOperator()); - for (int i = Integer.parseInt(split[0]); i <= Integer.parseInt(split[1]); i++) { - resultBuilder.add(String.valueOf(i)); - } - return resultBuilder.toString(); - } - @Override protected String handleUnFieldedTerm(String term) { return String.format("\"%s\"", term); diff --git a/src/main/java/org/jabref/logic/importer/fetcher/transformers/GVKQueryTransformer.java b/src/main/java/org/jabref/logic/importer/fetcher/transformers/GVKQueryTransformer.java index a52bfe49aff..e2da33c57ed 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/transformers/GVKQueryTransformer.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/transformers/GVKQueryTransformer.java @@ -5,7 +5,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class GVKQueryTransformer extends AbstractQueryTransformer { +public class GVKQueryTransformer extends YearRangeByFilteringQueryTransformer { private static final Logger LOGGER = LoggerFactory.getLogger(GVKQueryTransformer.class); @Override @@ -47,12 +47,6 @@ protected String handleYear(String year) { return "pica.erj=" + year; } - @Override - protected String handleYearRange(String yearRange) { - // Returns empty string as otherwise leads to no results - return ""; - } - @Override protected String handleUnFieldedTerm(String term) { // all does not search in full-text @@ -62,6 +56,6 @@ protected String handleUnFieldedTerm(String term) { @Override protected Optional handleOtherField(String fieldAsString, String term) { - return Optional.of(createKeyValuePair("pica." + fieldAsString, term, "="); + return Optional.of(createKeyValuePair("pica." + fieldAsString, term, "=")); } } diff --git a/src/main/java/org/jabref/logic/importer/fetcher/transformers/JstorQueryTransformer.java b/src/main/java/org/jabref/logic/importer/fetcher/transformers/JstorQueryTransformer.java index 99a4d595b3f..2895aee7100 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/transformers/JstorQueryTransformer.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/transformers/JstorQueryTransformer.java @@ -18,17 +18,17 @@ protected String getLogicalNotOperator() { @Override protected String handleAuthor(String author) { - return String.format("au:\"%s\"", author); + return createKeyValuePair("au", author); } @Override protected String handleTitle(String title) { - return String.format("ti:\"%s\"", title); + return createKeyValuePair("ti", title); } @Override protected String handleJournal(String journalTitle) { - return String.format("pt:\"%s\"", journalTitle); + return createKeyValuePair("pt", journalTitle); } @Override @@ -38,11 +38,11 @@ protected String handleYear(String year) { @Override protected String handleYearRange(String yearRange) { - String[] split = yearRange.split("-"); - if (split.length != 2) { + parseYearRange(yearRange); + if (endYear == Integer.MAX_VALUE) { return yearRange; } - return "sd:" + split[0] + getLogicalAndOperator() + "ed:" + split[1]; + return "sd:" + Integer.toString(startYear) + getLogicalAndOperator() + "ed:" + Integer.toString(endYear); } @Override diff --git a/src/main/java/org/jabref/logic/importer/fetcher/transformers/YearRangeByFilteringQueryTransformer.java b/src/main/java/org/jabref/logic/importer/fetcher/transformers/YearRangeByFilteringQueryTransformer.java index 04ad5be5b20..f158b6562de 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/transformers/YearRangeByFilteringQueryTransformer.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/transformers/YearRangeByFilteringQueryTransformer.java @@ -4,10 +4,6 @@ public abstract class YearRangeByFilteringQueryTransformer extends AbstractQueryTransformer { - // These can be used for filtering in post processing - protected int startYear = Integer.MAX_VALUE; - protected int endYear = Integer.MIN_VALUE; - public Optional getStartYear() { return startYear == Integer.MAX_VALUE ? Optional.empty() : Optional.of(startYear); } @@ -20,14 +16,12 @@ public Optional getEndYear() { * The API does not support querying for a year range. * Nevertheless, we store the start year and end year, * because we filter it after fetching all results + * + * @return "", because the provider does not support server-side filtering, but our client filters */ @Override protected String handleYearRange(String yearRange) { - String[] split = yearRange.split("-"); - startYear = Math.min(startYear, Integer.parseInt(split[0])); - if (split.length >= 1) { - endYear = Math.max(endYear, Integer.parseInt(split[1])); - } + parseYearRange(yearRange); return ""; } diff --git a/src/main/java/org/jabref/logic/importer/fileformat/GvkParser.java b/src/main/java/org/jabref/logic/importer/fileformat/GvkParser.java index 9641ccdb0a0..6dc44d0ed67 100644 --- a/src/main/java/org/jabref/logic/importer/fileformat/GvkParser.java +++ b/src/main/java/org/jabref/logic/importer/fileformat/GvkParser.java @@ -48,7 +48,7 @@ private List parseEntries(Document content) { // Namespace srwNamespace = Namespace.getNamespace("srw","http://www.loc.gov/zing/srw/"); - // Schleife ueber allen Teilergebnissen + // Schleife ueber alle Teilergebnisse // Element root = content.getDocumentElement(); Element root = (Element) content.getElementsByTagName("zs:searchRetrieveResponse").item(0); Element srwrecords = getChild("zs:records", root); @@ -62,7 +62,9 @@ private List parseEntries(Document content) { if (e != null) { e = getChild("record", e); if (e != null) { - result.add(parseEntry(e)); + BibEntry bibEntry = parseEntry(e); + // TODO: Add filtering on years (based on org.jabref.logic.importer.fetcher.transformers.YearRangeByFilteringQueryTransformer.getStartYear) + result.add(bibEntry); } } } From c0816fb25cc66bc38c2dec2d7a02d6013c1ce842 Mon Sep 17 00:00:00 2001 From: Oliver Kopp Date: Sat, 1 May 2021 14:00:53 +0200 Subject: [PATCH 16/20] Introduce proper super method --- .../AbstractQueryTransformer.java | 6 ++++- ...ScienceBibliographiesQueryTransformer.java | 5 ---- .../transformers/DBLPQueryTransformer.java | 24 ++++++------------- .../DefaultLuceneQueryTransformer.java | 5 ---- .../transformers/DefaultQueryTransformer.java | 5 ---- .../transformers/IEEEQueryTransformer.java | 5 ---- .../transformers/JstorQueryTransformer.java | 5 ---- .../transformers/ScholarQueryTransformer.java | 5 ---- .../SpringerQueryTransformer.java | 5 ---- .../transformers/ZbMathQueryTransformer.java | 2 +- 10 files changed, 13 insertions(+), 54 deletions(-) diff --git a/src/main/java/org/jabref/logic/importer/fetcher/transformers/AbstractQueryTransformer.java b/src/main/java/org/jabref/logic/importer/fetcher/transformers/AbstractQueryTransformer.java index 73ccac09e0d..22e8c642d80 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/transformers/AbstractQueryTransformer.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/transformers/AbstractQueryTransformer.java @@ -181,8 +181,12 @@ protected String handleYearRange(String yearRange) { /** * Return a string representation of the un-fielded (default fielded) term + * + * Default implementation: just return the term (in quotes if a space is contained) */ - protected abstract String handleUnFieldedTerm(String term); + protected String handleUnFieldedTerm(String term) { + return quoteStringIfSpaceIsContained(term); + } /** * Encloses the given string with " if there is a space contained diff --git a/src/main/java/org/jabref/logic/importer/fetcher/transformers/CollectionOfComputerScienceBibliographiesQueryTransformer.java b/src/main/java/org/jabref/logic/importer/fetcher/transformers/CollectionOfComputerScienceBibliographiesQueryTransformer.java index 09a747d977e..18e43a1f114 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/transformers/CollectionOfComputerScienceBibliographiesQueryTransformer.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/transformers/CollectionOfComputerScienceBibliographiesQueryTransformer.java @@ -36,9 +36,4 @@ protected String handleJournal(String journalTitle) { protected String handleYear(String year) { return String.format("year:%s", year); } - - @Override - protected String handleUnFieldedTerm(String term) { - return quoteStringIfSpaceIsContained(term); - } } diff --git a/src/main/java/org/jabref/logic/importer/fetcher/transformers/DBLPQueryTransformer.java b/src/main/java/org/jabref/logic/importer/fetcher/transformers/DBLPQueryTransformer.java index 2b54900c8b1..97fd186a27e 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/transformers/DBLPQueryTransformer.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/transformers/DBLPQueryTransformer.java @@ -1,11 +1,12 @@ package org.jabref.logic.importer.fetcher.transformers; -import java.util.StringJoiner; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class DBLPQueryTransformer extends AbstractQueryTransformer { +/** + * DBLP does not support explicit year field search, thus we extend YearAndYearRangeByFilteringQueryTransformer + */ +public class DBLPQueryTransformer extends YearAndYearRangeByFilteringQueryTransformer { private static final Logger LOGGER = LoggerFactory.getLogger(DBLPQueryTransformer.class); @Override @@ -27,29 +28,18 @@ protected String getLogicalNotOperator() { @Override protected String handleAuthor(String author) { // DBLP does not support explicit author field search - return String.format("\"%s\"", author); + return quoteStringIfSpaceIsContained(author); } @Override protected String handleTitle(String title) { // DBLP does not support explicit title field search - return String.format("\"%s\"", title); + return quoteStringIfSpaceIsContained(title); } @Override protected String handleJournal(String journalTitle) { // DBLP does not support explicit journal field search - return String.format("\"%s\"", journalTitle); - } - - @Override - protected String handleYear(String year) { - // DBLP does not support explicit year field search - return year; - } - - @Override - protected String handleUnFieldedTerm(String term) { - return String.format("\"%s\"", term); + return quoteStringIfSpaceIsContained(journalTitle); } } diff --git a/src/main/java/org/jabref/logic/importer/fetcher/transformers/DefaultLuceneQueryTransformer.java b/src/main/java/org/jabref/logic/importer/fetcher/transformers/DefaultLuceneQueryTransformer.java index e4458afcbff..b13aba1b1b3 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/transformers/DefaultLuceneQueryTransformer.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/transformers/DefaultLuceneQueryTransformer.java @@ -39,9 +39,4 @@ protected String handleJournal(String journalTitle) { protected String handleYear(String year) { return createKeyValuePair("year", year); } - - @Override - protected String handleUnFieldedTerm(String term) { - return quoteStringIfSpaceIsContained(term); - } } diff --git a/src/main/java/org/jabref/logic/importer/fetcher/transformers/DefaultQueryTransformer.java b/src/main/java/org/jabref/logic/importer/fetcher/transformers/DefaultQueryTransformer.java index d633139ee02..f77c42b99b9 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/transformers/DefaultQueryTransformer.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/transformers/DefaultQueryTransformer.java @@ -34,9 +34,4 @@ protected String handleTitle(String title) { protected String handleJournal(String journalTitle) { return quoteStringIfSpaceIsContained(journalTitle); } - - @Override - protected String handleUnFieldedTerm(String term) { - return quoteStringIfSpaceIsContained(term); - } } diff --git a/src/main/java/org/jabref/logic/importer/fetcher/transformers/IEEEQueryTransformer.java b/src/main/java/org/jabref/logic/importer/fetcher/transformers/IEEEQueryTransformer.java index bebad3b987a..ad18946be53 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/transformers/IEEEQueryTransformer.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/transformers/IEEEQueryTransformer.java @@ -51,11 +51,6 @@ protected String handleYear(String year) { return ""; } - @Override - protected String handleUnFieldedTerm(String term) { - return quoteStringIfSpaceIsContained(term); - } - @Override protected Optional handleOtherField(String fieldAsString, String term) { return switch (fieldAsString) { diff --git a/src/main/java/org/jabref/logic/importer/fetcher/transformers/JstorQueryTransformer.java b/src/main/java/org/jabref/logic/importer/fetcher/transformers/JstorQueryTransformer.java index 2895aee7100..05c4b9b6ff1 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/transformers/JstorQueryTransformer.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/transformers/JstorQueryTransformer.java @@ -44,9 +44,4 @@ protected String handleYearRange(String yearRange) { } return "sd:" + Integer.toString(startYear) + getLogicalAndOperator() + "ed:" + Integer.toString(endYear); } - - @Override - protected String handleUnFieldedTerm(String term) { - return String.format("\"%s\"", term); - } } diff --git a/src/main/java/org/jabref/logic/importer/fetcher/transformers/ScholarQueryTransformer.java b/src/main/java/org/jabref/logic/importer/fetcher/transformers/ScholarQueryTransformer.java index d42d66828ce..fcfa6a9cad3 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/transformers/ScholarQueryTransformer.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/transformers/ScholarQueryTransformer.java @@ -34,9 +34,4 @@ protected String handleTitle(String title) { protected String handleJournal(String journalTitle) { return String.format("source:\"%s\"", journalTitle); } - - @Override - protected String handleUnFieldedTerm(String term) { - return String.format("\"%s\"", term); - } } diff --git a/src/main/java/org/jabref/logic/importer/fetcher/transformers/SpringerQueryTransformer.java b/src/main/java/org/jabref/logic/importer/fetcher/transformers/SpringerQueryTransformer.java index 48005d03851..b37013de1ab 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/transformers/SpringerQueryTransformer.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/transformers/SpringerQueryTransformer.java @@ -42,9 +42,4 @@ protected String handleJournal(String journalTitle) { protected String handleYear(String year) { return String.format("date:%s*", year); } - - @Override - protected String handleUnFieldedTerm(String term) { - return "\"" + term + "\""; - } } diff --git a/src/main/java/org/jabref/logic/importer/fetcher/transformers/ZbMathQueryTransformer.java b/src/main/java/org/jabref/logic/importer/fetcher/transformers/ZbMathQueryTransformer.java index bf0d7fa5cd4..cd46b157925 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/transformers/ZbMathQueryTransformer.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/transformers/ZbMathQueryTransformer.java @@ -44,6 +44,6 @@ protected String handleYearRange(String yearRange) { @Override protected String handleUnFieldedTerm(String term) { - return String.format("any:\"%s\"", term); + return createKeyValuePair("any", term); } } From e0a3b9ccee810d0bb65620999c4ebefcc9f6a1b2 Mon Sep 17 00:00:00 2001 From: Oliver Kopp Date: Sat, 1 May 2021 14:08:57 +0200 Subject: [PATCH 17/20] Fix quotes --- .../fetcher/transformers/ScholarQueryTransformer.java | 6 +++--- .../fetcher/transformers/SpringerQueryTransformer.java | 6 +++--- .../fetcher/transformers/ZbMathQueryTransformer.java | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/main/java/org/jabref/logic/importer/fetcher/transformers/ScholarQueryTransformer.java b/src/main/java/org/jabref/logic/importer/fetcher/transformers/ScholarQueryTransformer.java index fcfa6a9cad3..a1556d5cbac 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/transformers/ScholarQueryTransformer.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/transformers/ScholarQueryTransformer.java @@ -22,16 +22,16 @@ protected String getLogicalNotOperator() { @Override protected String handleAuthor(String author) { - return String.format("author:\"%s\"", author); + return createKeyValuePair("author", author); } @Override protected String handleTitle(String title) { - return String.format("allintitle:\"%s\"", title); + return createKeyValuePair("allintitle", title); } @Override protected String handleJournal(String journalTitle) { - return String.format("source:\"%s\"", journalTitle); + return createKeyValuePair("source", journalTitle); } } diff --git a/src/main/java/org/jabref/logic/importer/fetcher/transformers/SpringerQueryTransformer.java b/src/main/java/org/jabref/logic/importer/fetcher/transformers/SpringerQueryTransformer.java index b37013de1ab..d8aaf31f7a3 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/transformers/SpringerQueryTransformer.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/transformers/SpringerQueryTransformer.java @@ -24,17 +24,17 @@ protected String getLogicalNotOperator() { @Override protected String handleAuthor(String author) { - return String.format("name:\"%s\"", author); + return createKeyValuePair("name", author); } @Override protected String handleTitle(String title) { - return String.format("title:\"%s\"", title); + return createKeyValuePair("title", title); } @Override protected String handleJournal(String journalTitle) { - return String.format("journal:\"%s\"", journalTitle); + return createKeyValuePair("journal", journalTitle); } diff --git a/src/main/java/org/jabref/logic/importer/fetcher/transformers/ZbMathQueryTransformer.java b/src/main/java/org/jabref/logic/importer/fetcher/transformers/ZbMathQueryTransformer.java index cd46b157925..b1e0c42d300 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/transformers/ZbMathQueryTransformer.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/transformers/ZbMathQueryTransformer.java @@ -19,17 +19,17 @@ protected String getLogicalNotOperator() { @Override protected String handleAuthor(String author) { - return String.format("au:\"%s\"", author); + return createKeyValuePair("au", author); } @Override protected String handleTitle(String title) { - return String.format("ti:\"%s\"", title); + return createKeyValuePair("ti", title); } @Override protected String handleJournal(String journalTitle) { - return String.format("so:\"%s\"", journalTitle); + return createKeyValuePair("so", journalTitle); } @Override From de6b4bcc1737dc22b519d1cd177d09a4edfeb93c Mon Sep 17 00:00:00 2001 From: Oliver Kopp Date: Sat, 1 May 2021 16:17:36 +0200 Subject: [PATCH 18/20] Fix GVK test --- .../importer/fetcher/GvkFetcherTest.java | 54 +++++++++---------- 1 file changed, 26 insertions(+), 28 deletions(-) diff --git a/src/test/java/org/jabref/logic/importer/fetcher/GvkFetcherTest.java b/src/test/java/org/jabref/logic/importer/fetcher/GvkFetcherTest.java index 4835c3fd2f8..17e8b2ded4e 100644 --- a/src/test/java/org/jabref/logic/importer/fetcher/GvkFetcherTest.java +++ b/src/test/java/org/jabref/logic/importer/fetcher/GvkFetcherTest.java @@ -31,32 +31,30 @@ public class GvkFetcherTest { public void setUp() { fetcher = new GvkFetcher(); - bibEntryPPN591166003 = new BibEntry(); - bibEntryPPN591166003.setType(StandardEntryType.Book); - bibEntryPPN591166003.setField(StandardField.TITLE, "Effective Java"); - bibEntryPPN591166003.setField(StandardField.PUBLISHER, "Addison-Wesley"); - bibEntryPPN591166003.setField(StandardField.YEAR, "2008"); - bibEntryPPN591166003.setField(StandardField.AUTHOR, "Joshua Bloch"); - bibEntryPPN591166003.setField(StandardField.SERIES, "The @Java series"); - bibEntryPPN591166003.setField(StandardField.ADDRESS, "Upper Saddle River, NJ [u.a.]"); - bibEntryPPN591166003.setField(StandardField.EDITION, "2. ed., 5. print."); - bibEntryPPN591166003.setField(StandardField.NOTE, "Literaturverz. S. 321 - 325"); - bibEntryPPN591166003.setField(StandardField.ISBN, "9780321356680"); - bibEntryPPN591166003.setField(StandardField.PAGETOTAL, "XXI, 346"); - bibEntryPPN591166003.setField(new UnknownField("ppn_gvk"), "591166003"); - bibEntryPPN591166003.setField(StandardField.SUBTITLE, "[revised and updated for JAVA SE 6]"); - - bibEntryPPN66391437X = new BibEntry(); - bibEntryPPN66391437X.setType(StandardEntryType.Book); - bibEntryPPN66391437X.setField(StandardField.TITLE, "Effective unit testing"); - bibEntryPPN66391437X.setField(StandardField.PUBLISHER, "Manning"); - bibEntryPPN66391437X.setField(StandardField.YEAR, "2013"); - bibEntryPPN66391437X.setField(StandardField.AUTHOR, "Lasse Koskela"); - bibEntryPPN66391437X.setField(StandardField.ADDRESS, "Shelter Island, NY"); - bibEntryPPN66391437X.setField(StandardField.ISBN, "9781935182573"); - bibEntryPPN66391437X.setField(StandardField.PAGETOTAL, "XXIV, 223"); - bibEntryPPN66391437X.setField(new UnknownField("ppn_gvk"), "66391437X"); - bibEntryPPN66391437X.setField(StandardField.SUBTITLE, "A guide for Java developers"); + bibEntryPPN591166003 = new BibEntry(StandardEntryType.Book) + .withField(StandardField.TITLE, "Effective Java") + .withField(StandardField.PUBLISHER, "Addison-Wesley") + .withField(StandardField.YEAR, "2008") + .withField(StandardField.AUTHOR, "Joshua Bloch") + .withField(StandardField.SERIES, "The @Java series") + .withField(StandardField.ADDRESS, "Upper Saddle River, NJ [u.a.]") + .withField(StandardField.EDITION, "2. ed., 5. print.") + .withField(StandardField.NOTE, "Literaturverz. S. 321 - 325") + .withField(StandardField.ISBN, "9780321356680") + .withField(StandardField.PAGETOTAL, "XXI, 346") + .withField(new UnknownField("ppn_gvk"), "591166003") + .withField(StandardField.SUBTITLE, "[revised and updated for JAVA SE 6]"); + + bibEntryPPN66391437X = new BibEntry(StandardEntryType.Book) + .withField(StandardField.TITLE, "Effective unit testing") + .withField(StandardField.PUBLISHER, "Manning") + .withField(StandardField.YEAR, "2013") + .withField(StandardField.AUTHOR, "Lasse Koskela") + .withField(StandardField.ADDRESS, "Shelter Island, NY") + .withField(StandardField.ISBN, "9781935182573") + .withField(StandardField.PAGETOTAL, "XXIV, 223") + .withField(new UnknownField("ppn_gvk"), "66391437X") + .withField(StandardField.SUBTITLE, "A guide for Java developers"); } @Test @@ -69,7 +67,7 @@ public void simpleSearchQueryURLCorrect() throws Exception { String query = "java jdk"; QueryNode luceneQuery = new StandardSyntaxParser().parse(query, AbstractQueryTransformer.NO_EXPLICIT_FIELD); URL url = fetcher.getURLForQuery(luceneQuery); - assertEquals("http://sru.gbv.de/gvk?version=1.1&operation=searchRetrieve&query=pica.all%3D%22java%22+and+pica.all%3D%22jdk%22&maximumRecords=50&recordSchema=picaxml&sortKeys=Year%2C%2C1", url.toString()); + assertEquals("http://sru.gbv.de/gvk?version=1.1&operation=searchRetrieve&query=pica.all%3Djava+and+pica.all%3Djdk&maximumRecords=50&recordSchema=picaxml&sortKeys=Year%2C%2C1", url.toString()); } @Test @@ -77,7 +75,7 @@ public void complexSearchQueryURLCorrect() throws Exception { String query = "kon:java tit:jdk"; QueryNode luceneQuery = new StandardSyntaxParser().parse(query, AbstractQueryTransformer.NO_EXPLICIT_FIELD); URL url = fetcher.getURLForQuery(luceneQuery); - assertEquals("http://sru.gbv.de/gvk?version=1.1&operation=searchRetrieve&query=pica.kon%3D%22java%22+and+pica.tit%3D%22jdk%22&maximumRecords=50&recordSchema=picaxml&sortKeys=Year%2C%2C1", url.toString()); + assertEquals("http://sru.gbv.de/gvk?version=1.1&operation=searchRetrieve&query=pica.kon%3Djava+and+pica.tit%3Djdk&maximumRecords=50&recordSchema=picaxml&sortKeys=Year%2C%2C1", url.toString()); } @Test From c189d2e6078d51f50dac83975b1e69d095f96517 Mon Sep 17 00:00:00 2001 From: Oliver Kopp Date: Sat, 1 May 2021 16:33:54 +0200 Subject: [PATCH 19/20] Add JavaDoc --- .../YearAndYearRangeByFilteringQueryTransformer.java | 5 ++++- .../transformers/YearRangeByFilteringQueryTransformer.java | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/jabref/logic/importer/fetcher/transformers/YearAndYearRangeByFilteringQueryTransformer.java b/src/main/java/org/jabref/logic/importer/fetcher/transformers/YearAndYearRangeByFilteringQueryTransformer.java index b825455807c..fe348bf3acd 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/transformers/YearAndYearRangeByFilteringQueryTransformer.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/transformers/YearAndYearRangeByFilteringQueryTransformer.java @@ -1,5 +1,9 @@ package org.jabref.logic.importer.fetcher.transformers; +/** + * This is a query transformer for a fetcher, which does not support server-side filtering by year and year-range. + * Thus, JabRef (as client) filters for years and year ranges on client-side. + */ public abstract class YearAndYearRangeByFilteringQueryTransformer extends YearRangeByFilteringQueryTransformer { @Override @@ -8,5 +12,4 @@ protected String handleYear(String year) { endYear = Math.max(endYear, Integer.parseInt(year)); return ""; } - } diff --git a/src/main/java/org/jabref/logic/importer/fetcher/transformers/YearRangeByFilteringQueryTransformer.java b/src/main/java/org/jabref/logic/importer/fetcher/transformers/YearRangeByFilteringQueryTransformer.java index f158b6562de..40480dc4d13 100644 --- a/src/main/java/org/jabref/logic/importer/fetcher/transformers/YearRangeByFilteringQueryTransformer.java +++ b/src/main/java/org/jabref/logic/importer/fetcher/transformers/YearRangeByFilteringQueryTransformer.java @@ -2,6 +2,10 @@ import java.util.Optional; +/** + * This is a query transformer for a fetcher, which does not support server-side filtering by year-range (e.g., only publications between 1999 and 2002). + * Thus, JabRef (as client) filters for year ranges on client-side. + */ public abstract class YearRangeByFilteringQueryTransformer extends AbstractQueryTransformer { public Optional getStartYear() { @@ -24,5 +28,4 @@ protected String handleYearRange(String yearRange) { parseYearRange(yearRange); return ""; } - } From 2b5f1781862691d1f84c965db8307f806197705c Mon Sep 17 00:00:00 2001 From: Oliver Kopp Date: Sat, 1 May 2021 16:42:40 +0200 Subject: [PATCH 20/20] Fic code quality of JstorQueryTransformerTest --- .../fetcher/transformers/JstorQueryTransformerTest.java | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/test/java/org/jabref/logic/importer/fetcher/transformers/JstorQueryTransformerTest.java b/src/test/java/org/jabref/logic/importer/fetcher/transformers/JstorQueryTransformerTest.java index c3ae153036d..85a1db5c454 100644 --- a/src/test/java/org/jabref/logic/importer/fetcher/transformers/JstorQueryTransformerTest.java +++ b/src/test/java/org/jabref/logic/importer/fetcher/transformers/JstorQueryTransformerTest.java @@ -36,20 +36,17 @@ public String getTitlePrefix() { @Override public void convertYearField() throws Exception { - JstorQueryTransformer transformer = (JstorQueryTransformer) getTransformer(); String queryString = "year:2018"; QueryNode luceneQuery = new StandardSyntaxParser().parse(queryString, AbstractQueryTransformer.NO_EXPLICIT_FIELD); - Optional query = transformer.transformLuceneQuery(luceneQuery); + Optional query = getTransformer().transformLuceneQuery(luceneQuery); assertEquals(Optional.of("sd:2018 AND ed:2018"), query); } @Override public void convertYearRangeField() throws Exception { - JstorQueryTransformer transformer = ((JstorQueryTransformer) getTransformer()); - String queryString = "year-range:2018-2021"; QueryNode luceneQuery = new StandardSyntaxParser().parse(queryString, AbstractQueryTransformer.NO_EXPLICIT_FIELD); - Optional query = transformer.transformLuceneQuery(luceneQuery); + Optional query = getTransformer().transformLuceneQuery(luceneQuery); assertEquals(Optional.of("sd:2018 AND ed:2021"), query); } }