diff --git a/buildtools/src/main/resources/checkstyle/checkstyle.xml b/buildtools/src/main/resources/checkstyle/checkstyle.xml
index 0a8d4e7d..e878a128 100644
--- a/buildtools/src/main/resources/checkstyle/checkstyle.xml
+++ b/buildtools/src/main/resources/checkstyle/checkstyle.xml
@@ -60,10 +60,7 @@
-
-
-
diff --git a/db/src/main/java/org/trellisldp/ext/db/DBNamespaceService.java b/db/src/main/java/org/trellisldp/ext/db/DBNamespaceService.java
index 0563f6e9..291db6fe 100644
--- a/db/src/main/java/org/trellisldp/ext/db/DBNamespaceService.java
+++ b/db/src/main/java/org/trellisldp/ext/db/DBNamespaceService.java
@@ -13,6 +13,8 @@
*/
package org.trellisldp.ext.db;
+import static org.slf4j.LoggerFactory.getLogger;
+
import java.util.AbstractMap.SimpleImmutableEntry;
import java.util.HashMap;
import java.util.Map;
@@ -21,6 +23,8 @@
import javax.sql.DataSource;
import org.jdbi.v3.core.Jdbi;
+import org.jdbi.v3.core.statement.StatementException;
+import org.slf4j.Logger;
import org.trellisldp.api.NamespaceService;
/**
@@ -28,6 +32,8 @@
*/
public class DBNamespaceService implements NamespaceService {
+ private static final Logger LOGGER = getLogger(DBNamespaceService.class);
+
private final Jdbi jdbi;
/**
@@ -59,8 +65,15 @@ public Map getNamespaces() {
@Override
public boolean setPrefix(final String prefix, final String namespace) {
- jdbi.useHandle(handle ->
- handle.execute("INSERT INTO namespaces (prefix, namespace) VALUES (?, ?)", prefix, namespace));
- return true;
+ if (!prefix.isEmpty()) {
+ try {
+ jdbi.useHandle(handle ->
+ handle.execute("INSERT INTO namespaces (prefix, namespace) VALUES (?, ?)", prefix, namespace));
+ return true;
+ } catch (final StatementException ex) {
+ LOGGER.warn("Could not save prefix {} with namespace {}: {}", prefix, namespace, ex.getMessage());
+ }
+ }
+ return false;
}
}
diff --git a/db/src/test/java/org/trellisldp/ext/db/DBNamespaceServiceTest.java b/db/src/test/java/org/trellisldp/ext/db/DBNamespaceServiceTest.java
index fc9de3fd..990a5c85 100644
--- a/db/src/test/java/org/trellisldp/ext/db/DBNamespaceServiceTest.java
+++ b/db/src/test/java/org/trellisldp/ext/db/DBNamespaceServiceTest.java
@@ -14,8 +14,7 @@
package org.trellisldp.ext.db;
import static java.io.File.separator;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assertions.*;
import static org.junit.jupiter.api.condition.OS.WINDOWS;
import static org.slf4j.LoggerFactory.getLogger;
@@ -75,6 +74,8 @@ public void testNamespaceService() {
assertTrue(svc.setPrefix("ex", "http://example.com/"));
assertEquals(size + 1, svc.getNamespaces().size());
assertEquals("http://example.com/", svc.getNamespaces().get("ex"));
+ assertFalse(svc.setPrefix("ex", "http://example.com/Other/"));
+ assertFalse(svc.setPrefix("", "http://example.com/Resource/"));
}
}