From fecd63f9ed02af2d8f5ee0e088d41c2239aa95fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Prante?= Date: Tue, 3 Sep 2024 12:19:08 +0200 Subject: [PATCH] update to Gradle 8.7, update to ISO 26324:2022 --- gradle.properties | 2 +- src/main/java/org/xbib/standardnumber/DOI.java | 2 +- src/test/java/org/xbib/standardnumber/DOITests.java | 11 ++++++++++- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/gradle.properties b/gradle.properties index 1e89ecf..9022fbe 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,3 @@ group = org.xbib name = standardnumber -version = 3.0.0 +version = 3.1.0 diff --git a/src/main/java/org/xbib/standardnumber/DOI.java b/src/main/java/org/xbib/standardnumber/DOI.java index e9bad73..6490e06 100644 --- a/src/main/java/org/xbib/standardnumber/DOI.java +++ b/src/main/java/org/xbib/standardnumber/DOI.java @@ -45,7 +45,7 @@ import java.util.regex.Pattern; public class DOI extends StandardNumber implements Cloneable, Comparable { private static final Pattern DOI_PATTERN = - Pattern.compile("\\b10\\.\\d{4}([.][0-9]+)*/[a-z0-9/\\-.()<>_:;\\\\]+\\b"); + Pattern.compile("\\b\\d+\\.\\d+([\\.][0-9]+)*/[a-z0-9/\\-.()<>_:;\\\\]+\\b"); private static final Pattern DOI_URI_PATTERN = Pattern.compile("\\b(https?)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;\\(\\)]*[-a-zA-Z0-9+&@#/%=~_|]\\b"); diff --git a/src/test/java/org/xbib/standardnumber/DOITests.java b/src/test/java/org/xbib/standardnumber/DOITests.java index f8f4cbb..f48a2b4 100644 --- a/src/test/java/org/xbib/standardnumber/DOITests.java +++ b/src/test/java/org/xbib/standardnumber/DOITests.java @@ -49,7 +49,6 @@ public class DOITests { assertEquals("https://doi.org/10.1016/0032-3861(93)90481-o", doi.format()); } - @Test public void testClone() throws Exception { StandardNumber doi = StandardNumber.getInstance("doi") @@ -67,4 +66,14 @@ public class DOITests { assertEquals("10.1523/jneurosci.0638-07.2007", doi.normalizedValue()); assertEquals("https://doi.org/10.1523/jneurosci.0638-07.2007", doi.format()); } + + @Test + public void testStrangeDoi() throws Exception { + String doi = "10.58221/mosp.v115i4.6790"; + StandardNumber standardNumber = StandardNumber.getInstance("doi") + .set(doi) + .normalize().verify(); + assertEquals("10.58221/mosp.v115i4.6790", standardNumber.normalizedValue()); + assertEquals("https://doi.org/10.58221/mosp.v115i4.6790", standardNumber.format()); + } }