From dfb6bd7f95ec7f3abdf1eae8180a74872c009240 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20Sch=C3=A4fer?= Date: Mon, 30 Sep 2019 23:54:19 +0200 Subject: [PATCH] Some small improvements --- .../api/wikidata_action/WikidataActionApiQuery.java | 7 ++++--- src/main/java/org/wikipedia/data/WikipediaEntry.java | 2 +- .../java/org/wikipedia/gui/WikidataInfoToggleDialog.java | 1 - src/main/java/org/wikipedia/tools/RegexUtil.java | 2 +- test/unit/org/wikipedia/api/wdq/WdqApiQueryTest.java | 4 ++-- .../org/wikipedia/testutils/JunitJupiterCompatUtil.java | 5 +++++ 6 files changed, 13 insertions(+), 8 deletions(-) diff --git a/src/main/java/org/wikipedia/api/wikidata_action/WikidataActionApiQuery.java b/src/main/java/org/wikipedia/api/wikidata_action/WikidataActionApiQuery.java index 323ae9a0..10cf38ec 100644 --- a/src/main/java/org/wikipedia/api/wikidata_action/WikidataActionApiQuery.java +++ b/src/main/java/org/wikipedia/api/wikidata_action/WikidataActionApiQuery.java @@ -109,12 +109,13 @@ public static WikidataActionApiQuery wbgetentities(final St if (siteId == null || titles == null || titles.size() <= 0) { throw new IllegalArgumentException("The site ID and titles must be present!"); } - if (!RegexUtil.isValidSiteId(siteId)) { + final String lowercaseSiteId = siteId.toLowerCase(); + if (!RegexUtil.isValidSiteId(lowercaseSiteId)) { throw new IllegalArgumentException("The site ID is not given in the expected format!"); } return new WikidataActionApiQuery<>( - FORMAT_PARAMS + "&action=wbgetentities&props=sitelinks&sites=" + siteId + // defines the language of the titles - "&sitefilter=" + siteId + // defines for which languages sitelinks should be returned + FORMAT_PARAMS + "&action=wbgetentities&props=sitelinks&sites=" + lowercaseSiteId + // defines the language of the titles + "&sitefilter=" + lowercaseSiteId + // defines for which languages sitelinks should be returned "&titles=" + Utils.encodeUrl(String.join("|", titles)), WbgetentitiesResult.SCHEMA ); diff --git a/src/main/java/org/wikipedia/data/WikipediaEntry.java b/src/main/java/org/wikipedia/data/WikipediaEntry.java index ebc40ac7..6083a244 100644 --- a/src/main/java/org/wikipedia/data/WikipediaEntry.java +++ b/src/main/java/org/wikipedia/data/WikipediaEntry.java @@ -102,7 +102,7 @@ public int compareTo(WikipediaEntry o) { @Override public boolean equals(Object o) { if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; + if (!(o instanceof WikipediaEntry)) return false; final WikipediaEntry that = (WikipediaEntry) o; return Objects.equals(lang, that.lang) && Objects.equals(article, that.article); diff --git a/src/main/java/org/wikipedia/gui/WikidataInfoToggleDialog.java b/src/main/java/org/wikipedia/gui/WikidataInfoToggleDialog.java index 3ae37cf1..eb914eab 100644 --- a/src/main/java/org/wikipedia/gui/WikidataInfoToggleDialog.java +++ b/src/main/java/org/wikipedia/gui/WikidataInfoToggleDialog.java @@ -31,7 +31,6 @@ * Toggle dialog that displays infos about the currently selected Wikidata item. */ public class WikidataInfoToggleDialog extends ToggleDialog { - private static final Logger L = Logger.getLogger(WikidataInfoToggleDialog.class.getName()); private static final String EMPTY_STRING = ""; private final WikipediaToggleDialog wikiDialog; diff --git a/src/main/java/org/wikipedia/tools/RegexUtil.java b/src/main/java/org/wikipedia/tools/RegexUtil.java index 515a81ae..4b967b9a 100644 --- a/src/main/java/org/wikipedia/tools/RegexUtil.java +++ b/src/main/java/org/wikipedia/tools/RegexUtil.java @@ -7,7 +7,7 @@ public class RegexUtil { private static final Pattern PROPERTY_ID_PATTERN = Pattern.compile("^P[1-9][0-9]*$"); private static final Pattern Q_ID_PATTERN = Pattern.compile("^Q[1-9][0-9]*$"); private static final Pattern MULTI_Q_ID_PATTERN = Pattern.compile("^Q[1-9][0-9]*(;Q[1-9][0-9]*)*$"); - private static final Pattern SITE_ID_PATTERN = Pattern.compile("^[a-z][a-z][a-z]?wiki$"); + private static final Pattern SITE_ID_PATTERN = Pattern.compile("^[a-z0-9_]+wiki$"); public static final Pattern WIKIPEDIA_TAG_VALUE_PATTERN = Pattern.compile("([a-z][a-z][a-z]?):(.+)"); public static final Pattern INTEGER_PATTERN = Pattern.compile("^[0-9]+$"); diff --git a/test/unit/org/wikipedia/api/wdq/WdqApiQueryTest.java b/test/unit/org/wikipedia/api/wdq/WdqApiQueryTest.java index b86cbd55..7e39a970 100644 --- a/test/unit/org/wikipedia/api/wdq/WdqApiQueryTest.java +++ b/test/unit/org/wikipedia/api/wdq/WdqApiQueryTest.java @@ -130,7 +130,7 @@ public void testIllegalArguments() { }); } - private void stubWithFileContent(final String filename) throws IOException, URISyntaxException { + private static void stubWithFileContent(final String filename) throws IOException, URISyntaxException { stubFor(post(URL_PATH) .withHeader("Content-Type", equalTo("application/x-www-form-urlencoded")) .willReturn( @@ -141,7 +141,7 @@ private void stubWithFileContent(final String filename) throws IOException, URIS ); } - private void verifyOneRequestTo(final String urlPattern) { + private static void verifyOneRequestTo(final String urlPattern) { verify(1, postRequestedFor(urlEqualTo(URL_PATH)).withRequestBody(new EqualToPattern(urlPattern))); } diff --git a/test/unit/org/wikipedia/testutils/JunitJupiterCompatUtil.java b/test/unit/org/wikipedia/testutils/JunitJupiterCompatUtil.java index de4ec900..22eada2b 100644 --- a/test/unit/org/wikipedia/testutils/JunitJupiterCompatUtil.java +++ b/test/unit/org/wikipedia/testutils/JunitJupiterCompatUtil.java @@ -3,6 +3,11 @@ import static org.junit.Assert.assertTrue; public class JunitJupiterCompatUtil { + + private JunitJupiterCompatUtil() { + // Private constructor to avoid instantiation + } + public static void assertThrows(Class expectedType, Runnable runnable) { boolean success = false; Throwable throwable = null;