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 2016/08/20 19:15:10 UTC

[1/3] jena git commit: Add Trie operations .clear() and .isEmpty().

Repository: jena
Updated Branches:
  refs/heads/master 9f2ecb5a9 -> 1ed9e6743


Add Trie operations .clear() and .isEmpty().


Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/906f0ddb
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/906f0ddb
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/906f0ddb

Branch: refs/heads/master
Commit: 906f0ddbd6fe087798382bfcbcdaeee047667367
Parents: 9f2ecb5
Author: Andy Seaborne <an...@apache.org>
Authored: Sat Aug 20 20:04:41 2016 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Sat Aug 20 20:14:55 2016 +0100

----------------------------------------------------------------------
 .../main/java/org/apache/jena/atlas/lib/Trie.java   | 15 +++++++++++++++
 .../java/org/apache/jena/atlas/lib/TestTrie.java    | 16 ++++++++++++++++
 2 files changed, 31 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/906f0ddb/jena-base/src/main/java/org/apache/jena/atlas/lib/Trie.java
----------------------------------------------------------------------
diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/Trie.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/Trie.java
index 0d823bc..82764ac 100644
--- a/jena-base/src/main/java/org/apache/jena/atlas/lib/Trie.java
+++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/Trie.java
@@ -117,6 +117,21 @@ public final class Trie<T> {
             n.setValue(null);
         }
     }
+    
+    /**
+     * Clear the Trie completely. 
+     */
+    public void clear() {
+        root = new TrieNode<>(null);
+    }
+
+    /**
+     * Clear the Trie completely. 
+     */
+    public boolean isEmpty() {
+        return ! root.hasValue() ;
+    }
+
 
     /**
      * Gets whether a key exists in the trie and has a non-null value mapped to

http://git-wip-us.apache.org/repos/asf/jena/blob/906f0ddb/jena-base/src/test/java/org/apache/jena/atlas/lib/TestTrie.java
----------------------------------------------------------------------
diff --git a/jena-base/src/test/java/org/apache/jena/atlas/lib/TestTrie.java b/jena-base/src/test/java/org/apache/jena/atlas/lib/TestTrie.java
index 1cb9e2e..a099fa2 100644
--- a/jena-base/src/test/java/org/apache/jena/atlas/lib/TestTrie.java
+++ b/jena-base/src/test/java/org/apache/jena/atlas/lib/TestTrie.java
@@ -214,6 +214,22 @@ public class TestTrie {
         Assert.assertFalse(trie.contains(""));
     }
     
+    @Test
+    public void trie_clear_01() {
+        Trie<Integer> trie = new Trie<>();
+        trie.clear() ;
+        Assert.assertTrue(trie.isEmpty()) ;
+    }
+
+    @Test
+    public void trie_clear_02() {
+        Trie<Integer> trie = new Trie<>();
+        trie.add("", 123);
+        trie.clear() ;
+        Assert.assertFalse(trie.contains(""));
+        Assert.assertTrue(trie.isEmpty()) ;
+    }
+
     /**
      * Test prefix search
      */


[2/3] jena git commit: Put synchronized on the common "remove" implementation.

Posted by an...@apache.org.
Put synchronized on the common "remove" implementation.

Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/21192d9c
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/21192d9c
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/21192d9c

Branch: refs/heads/master
Commit: 21192d9c0c220b498d546f1addf5c68cfc55ad6b
Parents: 906f0dd
Author: Andy Seaborne <an...@apache.org>
Authored: Sat Aug 20 20:07:15 2016 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Sat Aug 20 20:15:04 2016 +0100

----------------------------------------------------------------------
 .../main/java/org/apache/jena/tdb/store/DatasetPrefixesTDB.java  | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/21192d9c/jena-tdb/src/main/java/org/apache/jena/tdb/store/DatasetPrefixesTDB.java
----------------------------------------------------------------------
diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/store/DatasetPrefixesTDB.java b/jena-tdb/src/main/java/org/apache/jena/tdb/store/DatasetPrefixesTDB.java
index e916d19..0e17208 100644
--- a/jena-tdb/src/main/java/org/apache/jena/tdb/store/DatasetPrefixesTDB.java
+++ b/jena-tdb/src/main/java/org/apache/jena/tdb/store/DatasetPrefixesTDB.java
@@ -140,7 +140,7 @@ public class DatasetPrefixesTDB implements DatasetPrefixStorage
     }
     
     @Override
-    public synchronized void removeFromPrefixMap(String graphName, String prefix) {
+    public void removeFromPrefixMap(String graphName, String prefix) {
         Node g = NodeFactory.createURI(graphName) ; 
         Node p = NodeFactory.createLiteral(prefix) ;
         removeAll(g, p, null) ;
@@ -153,7 +153,7 @@ public class DatasetPrefixesTDB implements DatasetPrefixStorage
     }
 
     /** Remove by pattern */
-    private void removeAll(Node g, Node p, Node uri) {
+    private synchronized void removeAll(Node g, Node p, Node uri) {
         Iterator<Tuple<Node>> iter = nodeTupleTable.find(g, p, uri) ;
         List<Tuple<Node>> list = Iter.toList(iter) ;    // Materialize.
         Iter.close(iter) ;


[3/3] jena git commit: Add PrefixMap.clear() and its implementations.

Posted by an...@apache.org.
Add PrefixMap.clear() and its implementations.

Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/1ed9e674
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/1ed9e674
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/1ed9e674

Branch: refs/heads/master
Commit: 1ed9e67431dbe941c2aa05fcda6e792d0b17eb17
Parents: 21192d9
Author: Andy Seaborne <an...@apache.org>
Authored: Sat Aug 20 20:07:56 2016 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Sat Aug 20 20:15:04 2016 +0100

----------------------------------------------------------------------
 .../riot/system/FastAbbreviatingPrefixMap.java  |  7 +++
 .../org/apache/jena/riot/system/PrefixMap.java  |  5 ++
 .../jena/riot/system/PrefixMapExtended.java     |  7 +++
 .../apache/jena/riot/system/PrefixMapNull.java  | 61 ++++++++------------
 .../apache/jena/riot/system/PrefixMapStd.java   |  5 ++
 .../jena/riot/system/PrefixMapWrapper.java      |  4 ++
 6 files changed, 52 insertions(+), 37 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/1ed9e674/jena-arq/src/main/java/org/apache/jena/riot/system/FastAbbreviatingPrefixMap.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/system/FastAbbreviatingPrefixMap.java b/jena-arq/src/main/java/org/apache/jena/riot/system/FastAbbreviatingPrefixMap.java
index b21f234..a7fdef8 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/system/FastAbbreviatingPrefixMap.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/system/FastAbbreviatingPrefixMap.java
@@ -119,6 +119,13 @@ public class FastAbbreviatingPrefixMap extends PrefixMapBase {
     }
 
     @Override
+    public void clear() {
+        prefixes.clear(); 
+        // prefixesView
+        abbrevs.clear() ;
+    }
+
+    @Override
     public boolean contains(String prefix) {
         prefix = canonicalPrefix(prefix);
         return this.prefixes.containsKey(prefix);

http://git-wip-us.apache.org/repos/asf/jena/blob/1ed9e674/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMap.java
----------------------------------------------------------------------
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 af6cc5d..1b9e98b 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
@@ -123,6 +123,11 @@ public interface PrefixMap {
     public abstract void delete(String prefix);
 
     /**
+     * Clear all prefixes.
+     */
+    public abstract void clear();
+
+    /**
      * Gets whether the map contains a given prefix
      * 
      * @param prefix

http://git-wip-us.apache.org/repos/asf/jena/blob/1ed9e674/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMapExtended.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMapExtended.java b/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMapExtended.java
index 7b0beec..50e06f7 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMapExtended.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMapExtended.java
@@ -70,6 +70,13 @@ public class PrefixMapExtended extends PrefixMapBase {
     }
 
     @Override
+    public void clear() {
+        local.clear();
+//        if (!parent.isEmpty() ) 
+//            Log.warn(this, "clear() : Parent not empty") ;
+    }
+
+    @Override
     public String expand(String prefix, String localName) {
         prefix = canonicalPrefix(prefix);
         String x = local.expand(prefix, localName);

http://git-wip-us.apache.org/repos/asf/jena/blob/1ed9e674/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMapNull.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMapNull.java b/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMapNull.java
index 38ea332..30338ab 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMapNull.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMapNull.java
@@ -16,7 +16,7 @@
  * limitations under the License.
  */
 
-package org.apache.jena.riot.system;
+package org.apache.jena.riot.system ;
 
 import java.util.Collections ;
 import java.util.Map ;
@@ -26,106 +26,93 @@ import org.apache.jena.iri.IRI ;
 import org.apache.jena.shared.PrefixMapping ;
 
 /** Always empty prefix map */
-public class PrefixMapNull implements PrefixMap
-{
+public class PrefixMapNull implements PrefixMap {
     public static PrefixMap empty = new PrefixMapNull() ;
 
-    private PrefixMapNull()
-    {}
+    private PrefixMapNull() {}
 
     @Override
-    public Map<String, IRI> getMapping()
-    {
+    public Map<String, IRI> getMapping() {
         return Collections.emptyMap() ;
     }
 
     @Override
-    public Map<String, IRI> getMappingCopy()
-    {
+    public Map<String, IRI> getMappingCopy() {
         return Collections.emptyMap() ;
     }
 
     @Override
-    public Map<String, String> getMappingCopyStr()
-    {
+    public Map<String, String> getMappingCopyStr() {
         return Collections.emptyMap() ;
     }
 
     @Override
-    public void add(String prefix, String iriString)
-    {
+    public void add(String prefix, String iriString) {
         throw new UnsupportedOperationException("Unmodifiable PrefixMap") ;
     }
 
     @Override
-    public void add(String prefix, IRI iri)
-    {
+    public void add(String prefix, IRI iri) {
         throw new UnsupportedOperationException("Unmodifiable PrefixMap") ;
     }
 
     @Override
-    public void putAll(PrefixMap pmap)
-    {
+    public void putAll(PrefixMap pmap) {
         throw new UnsupportedOperationException("Unmodifiable PrefixMap") ;
     }
 
     @Override
-    public void putAll(PrefixMapping pmap)
-    {
+    public void putAll(PrefixMapping pmap) {
         throw new UnsupportedOperationException("Unmodifiable PrefixMap") ;
     }
 
     @Override
-    public void putAll(Map<String, String> mapping)
-    {
+    public void putAll(Map<String, String> mapping) {
         throw new UnsupportedOperationException("Unmodifiable PrefixMap") ;
     }
 
     @Override
-    public void delete(String prefix)
-    {
+    public void delete(String prefix) {
         throw new UnsupportedOperationException("Unmodifiable PrefixMap") ;
     }
 
     @Override
-    public boolean contains(String prefix)
-    {
+    public void clear() {
+        throw new UnsupportedOperationException("Unmodifiable PrefixMap") ;
+    }
+
+    @Override
+    public boolean contains(String prefix) {
         return false ;
     }
 
     @Override
-    public String abbreviate(String uriStr)
-    {
+    public String abbreviate(String uriStr) {
         return null ;
     }
 
     @Override
-    public Pair<String, String> abbrev(String uriStr)
-    {
+    public Pair<String, String> abbrev(String uriStr) {
         return null ;
     }
 
     @Override
-    public String expand(String prefixedName)
-    {
+    public String expand(String prefixedName) {
         return null ;
     }
 
     @Override
-    public String expand(String prefix, String localName)
-    {
+    public String expand(String prefix, String localName) {
         return null ;
     }
 
     @Override
-    public boolean isEmpty()
-    {
+    public boolean isEmpty() {
         return true ;
     }
 
     @Override
-    public int size()
-    {
+    public int size() {
         return 0 ;
     }
 }

http://git-wip-us.apache.org/repos/asf/jena/blob/1ed9e674/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMapStd.java
----------------------------------------------------------------------
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 a0e9652..865b590 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
@@ -85,6 +85,11 @@ public class PrefixMapStd extends PrefixMapBase {
     }
 
     @Override
+    public void clear() {
+        prefixes.clear() ; 
+    }
+
+    @Override
     public boolean contains(String prefix) {
         prefix = canonicalPrefix(prefix);
         return prefixes.containsKey(prefix);

http://git-wip-us.apache.org/repos/asf/jena/blob/1ed9e674/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMapWrapper.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMapWrapper.java b/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMapWrapper.java
index 8c959fb..d087b47 100644
--- a/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMapWrapper.java
+++ b/jena-arq/src/main/java/org/apache/jena/riot/system/PrefixMapWrapper.java
@@ -67,6 +67,10 @@ public class PrefixMapWrapper implements PrefixMap
     { other.delete(prefix) ; }
 
     @Override
+    public void clear()
+    { other.clear(); }
+
+    @Override
     public boolean contains(String prefix)
     { return other.contains(prefix) ; }