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 2011/12/19 13:24:41 UTC

svn commit: r1220709 - in /incubator/jena/Jena2/ARQ/trunk/src: main/java/com/hp/hpl/jena/sparql/core/ test/java/com/hp/hpl/jena/sparql/core/

Author: andy
Date: Mon Dec 19 12:24:41 2011
New Revision: 1220709

URL: http://svn.apache.org/viewvc?rev=1220709&view=rev
Log:
DatasetGraphSimpleMem is an implementation of a DatasetGraph, using the triples+quads style, for small scale and testing uses.

Added:
    incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/core/DatasetGraphSimpleMem.java
      - copied, changed from r1220679, incubator/jena/Jena2/ARQ/trunk/src/test/java/com/hp/hpl/jena/sparql/core/DSG_Mem.java
Removed:
    incubator/jena/Jena2/ARQ/trunk/src/test/java/com/hp/hpl/jena/sparql/core/DSG_Mem.java
Modified:
    incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/core/DatasetGraphTriplesQuads.java
    incubator/jena/Jena2/ARQ/trunk/src/test/java/com/hp/hpl/jena/sparql/core/TestDatasetGraphMemTriplesQuads.java

Copied: incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/core/DatasetGraphSimpleMem.java (from r1220679, incubator/jena/Jena2/ARQ/trunk/src/test/java/com/hp/hpl/jena/sparql/core/DSG_Mem.java)
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/core/DatasetGraphSimpleMem.java?p2=incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/core/DatasetGraphSimpleMem.java&p1=incubator/jena/Jena2/ARQ/trunk/src/test/java/com/hp/hpl/jena/sparql/core/DSG_Mem.java&r1=1220679&r2=1220709&rev=1220709&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/test/java/com/hp/hpl/jena/sparql/core/DSG_Mem.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/core/DatasetGraphSimpleMem.java Mon Dec 19 12:24:41 2011
@@ -19,6 +19,7 @@
 package com.hp.hpl.jena.sparql.core;
 
 import java.util.ArrayList ;
+import java.util.Collection ;
 import java.util.HashSet ;
 import java.util.Iterator ;
 import java.util.List ;
@@ -32,38 +33,47 @@ import com.hp.hpl.jena.graph.impl.GraphB
 import com.hp.hpl.jena.util.iterator.ExtendedIterator ;
 import com.hp.hpl.jena.util.iterator.WrappedIterator ;
 
-/** Very simple, non-scalable DatasetGraph implementation of a triples+quads
- * style for testing the upper levels of the class hierarchy.
+/** Very simple, non-scalable DatasetGraph implementation 
+ * of a triples+quads style for testing.
  */
-public class DSG_Mem extends DatasetGraphCaching
+public class DatasetGraphSimpleMem extends DatasetGraphCaching
 {
-    List<Triple> triples = new ArrayList<Triple>() ;
-    List<Quad> quads = new ArrayList<Quad>() ;
-
-    public DSG_Mem() {}
+    private MiniSet<Triple> triples = new MiniSet<Triple>() ;
+    private MiniSet<Quad> quads = new MiniSet<Quad>() ;
     
-    private int indexTriple(Triple triple)
+    /** Simpel abstraction of a Set */
+    private static class MiniSet<T> implements Iterable<T>
     {
-        for ( int i = 0 ; i < triples.size() ; i++ )
+        final Collection<T> store ; 
+        MiniSet(Collection<T> store) { this.store = store ; }
+        
+        MiniSet() { this.store = new ArrayList<T>() ; }
+        
+        void add(T t)
         {
-            Triple t = triples.get(i) ;
-            if ( t.equals(triple) )
-                return i ;
+            if ( !store.contains(t) ) 
+                store.add(t) ;
+        }
+        
+        void remove(T t)
+        {
+            store.remove(t) ; 
         }
-        return -1 ;
-    }
 
-    private int indexQuad(Quad quad)
-    {
-        for ( int i = 0 ; i < triples.size() ; i++ )
+        @Override
+        public Iterator<T> iterator()
         {
-            Quad q = quads.get(i) ;
-            if ( q.equals(quad) )
-                return i ;
+            return store.iterator() ;
         }
-        return -1 ;
+        
+        boolean isEmpty() { return store.isEmpty() ; }
+        
+        int size() { return store.size() ; }
     }
     
+    public DatasetGraphSimpleMem() {}
+
+
     @Override
     public Iterator<Quad> findInDftGraph(Node s, Node p , Node o) 
     {
@@ -117,16 +127,14 @@ public class DSG_Mem extends DatasetGrap
     protected void addToDftGraph(Node s, Node p, Node o)
     {
         Triple t = new Triple(s, p, o) ;
-        if ( ! triples.contains(t) )
-            triples.add(t) ;
+        triples.add(t) ;
     }
 
     @Override
     protected void addToNamedGraph(Node g, Node s, Node p, Node o)
     {
         Quad q = new Quad(g, s, p, o) ;
-        if ( ! quads.contains(q) )
-            quads.add(q) ;
+        quads.add(q) ;
     }
 
     @Override
@@ -146,8 +154,7 @@ public class DSG_Mem extends DatasetGrap
         @Override
         public void performAdd(Triple t)
         {
-            if ( ! triples.contains(t) )
-                triples.add(t) ;
+            triples.add(t) ;
         }
 
         @Override
@@ -174,8 +181,7 @@ public class DSG_Mem extends DatasetGrap
         public void performAdd(Triple t)
         {
             Quad q = new Quad(graphName, t) ;
-            if ( ! quads.contains(q) )
-                quads.add(q) ;
+            quads.add(q) ;
         }
 
         @Override
@@ -189,12 +195,6 @@ public class DSG_Mem extends DatasetGrap
             Iterator<Quad> iter = findNG(graphName, m.getMatchSubject(), m.getMatchPredicate(), m.getMatchObject()) ;
             for ( ; iter.hasNext() ; )
                 results.add(iter.next().asTriple()) ;
-            
-//            for ( Quad q : quads )
-//            {
-//                if ( matches(q, graphName, m.getMatchSubject(), m.getMatchPredicate(), m.getMatchObject()) )
-//                    results.add(q.asTriple()) ;
-//            }
             return WrappedIterator.create(results.iterator()) ;
         }
     }

Modified: incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/core/DatasetGraphTriplesQuads.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/core/DatasetGraphTriplesQuads.java?rev=1220709&r1=1220708&r2=1220709&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/core/DatasetGraphTriplesQuads.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/main/java/com/hp/hpl/jena/sparql/core/DatasetGraphTriplesQuads.java Mon Dec 19 12:24:41 2011
@@ -27,12 +27,14 @@ import com.hp.hpl.jena.graph.Node ;
 public abstract class DatasetGraphTriplesQuads extends DatasetGraphBaseFind
 {
     @Override
+    final
     public void add(Quad quad)
     {
         add(quad.getGraph(), quad.getSubject(), quad.getPredicate(), quad.getObject());
     }
 
     @Override
+    final
     public void delete(Quad quad)
     {
         delete(quad.getGraph(), quad.getSubject(), quad.getPredicate(), quad.getObject());

Modified: incubator/jena/Jena2/ARQ/trunk/src/test/java/com/hp/hpl/jena/sparql/core/TestDatasetGraphMemTriplesQuads.java
URL: http://svn.apache.org/viewvc/incubator/jena/Jena2/ARQ/trunk/src/test/java/com/hp/hpl/jena/sparql/core/TestDatasetGraphMemTriplesQuads.java?rev=1220709&r1=1220708&r2=1220709&view=diff
==============================================================================
--- incubator/jena/Jena2/ARQ/trunk/src/test/java/com/hp/hpl/jena/sparql/core/TestDatasetGraphMemTriplesQuads.java (original)
+++ incubator/jena/Jena2/ARQ/trunk/src/test/java/com/hp/hpl/jena/sparql/core/TestDatasetGraphMemTriplesQuads.java Mon Dec 19 12:24:41 2011
@@ -30,6 +30,6 @@ public class TestDatasetGraphMemTriplesQ
     @Override
     protected DatasetGraph emptyDataset()
     {
-        return new DSG_Mem() ;
+        return new DatasetGraphSimpleMem() ;
     }
 }