You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by an...@apache.org on 2019/04/03 19:58:22 UTC

[jena] branch master updated: JENA-1699: Clear deleted prefix from the abbreviation map

This is an automated email from the ASF dual-hosted git repository.

andy pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/jena.git


The following commit(s) were added to refs/heads/master by this push:
     new 36d05a3  JENA-1699: Clear deleted prefix from the abbreviation map
     new ec802b2  Merge pull request #551 from afs/prefixmap-delete
36d05a3 is described below

commit 36d05a3f1c57e0f7b9d961fa0554fc693530ee4f
Author: Andy Seaborne <an...@apache.org>
AuthorDate: Wed Apr 3 09:34:24 2019 +0100

    JENA-1699: Clear deleted prefix from the abbreviation map
---
 .../src/main/java/org/apache/jena/riot/system/PrefixMap.java     | 3 +--
 .../src/main/java/org/apache/jena/riot/system/PrefixMapStd.java  | 2 ++
 .../java/org/apache/jena/riot/system/AbstractTestPrefixMap.java  | 9 +++++++++
 3 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMap.java b/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMap.java
index 1fd73bb..bccaa92 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMap.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMap.java
@@ -30,7 +30,7 @@ import org.apache.jena.shared.PrefixMapping ;
  * functionality.
  * <p>
  * The contract also does not require an implementation to do any validation
- * unlike the Jena Core {@link PrefixMapping} which require validation of
+ * unlike the Jena Core {@link PrefixMapping} which requires validation of
  * prefixes.
  * </p>
  * <h3>Implementations</h3>
@@ -43,7 +43,6 @@ import org.apache.jena.shared.PrefixMapping ;
  * implementation.  See the javadoc for those classes for more explanation
  * of their differences.
  * </p>
- * 
  */
 public interface PrefixMap {
 
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMapStd.java b/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMapStd.java
index 20f239f..07480c8 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMapStd.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMapStd.java
@@ -81,6 +81,8 @@ public class PrefixMapStd extends PrefixMapBase {
     public void delete(String prefix) {
         prefix = canonicalPrefix(prefix);
         prefixes.remove(prefix);
+        // Remove from the abbreviation map.
+        uriToPrefix.values().remove(prefix);
     }
 
     @Override
diff --git a/jena-arq/src/test/java/org/apache/jena/riot/system/AbstractTestPrefixMap.java b/jena-arq/src/test/java/org/apache/jena/riot/system/AbstractTestPrefixMap.java
index 4967e54..78b319b 100644
--- a/jena-arq/src/test/java/org/apache/jena/riot/system/AbstractTestPrefixMap.java
+++ b/jena-arq/src/test/java/org/apache/jena/riot/system/AbstractTestPrefixMap.java
@@ -292,6 +292,15 @@ public abstract class AbstractTestPrefixMap extends BaseTest {
         pmTest("http://example/a", "q1:");
     }
 
+    @Test
+    public void prefixMap_abbrev_20() {
+        PrefixMap pmap = PrefixMapFactory.create();
+        pmap.add("ex", "http://example/");
+        pmap.delete("ex");
+        String x = pmap.abbreviate("http://example/s");
+        assertNull(x);
+    }
+
     public void pmTest(String iriStr, String... expected) {
         PrefixMap pm = create();
         String x = pm.abbreviate(iriStr);