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 2012/05/10 20:34:40 UTC
svn commit: r1336827 - in
/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql: SystemARQ.java
graph/GraphSPARQLService.java graph/GraphWrapper.java
Author: andy
Date: Thu May 10 18:34:40 2012
New Revision: 1336827
URL: http://svn.apache.org/viewvc?rev=1336827&view=rev
Log:
Bug fix : was failing to sync() complex arrangements of graphs.
Modified:
jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/SystemARQ.java
jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/graph/GraphSPARQLService.java
jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/graph/GraphWrapper.java
Modified: jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/SystemARQ.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/SystemARQ.java?rev=1336827&r1=1336826&r2=1336827&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/SystemARQ.java (original)
+++ jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/SystemARQ.java Thu May 10 18:34:40 2012
@@ -27,9 +27,12 @@ import org.openjena.atlas.lib.Sync ;
import com.hp.hpl.jena.graph.Graph ;
import com.hp.hpl.jena.graph.Node ;
+import com.hp.hpl.jena.graph.compose.Polyadic ;
import com.hp.hpl.jena.query.Dataset ;
import com.hp.hpl.jena.rdf.model.Model ;
+import com.hp.hpl.jena.reasoner.InfGraph ;
import com.hp.hpl.jena.sparql.core.DatasetGraph ;
+import com.hp.hpl.jena.sparql.graph.GraphWrapper ;
import com.hp.hpl.jena.sparql.mgt.SystemInfo ;
public class SystemARQ
@@ -40,10 +43,27 @@ public class SystemARQ
sync(model.getGraph()) ;
}
- /** Sync a if provided. Do nothing if not TDB-backed. */
+ /** Sync if provided. Do nothing if not. */
public static void sync(Graph graph)
{
- syncObject(graph) ;
+ syncGraph(graph) ;
+ }
+
+ private static void syncGraph(Graph graph)
+ {
+ // "Temporary" hack. Graph ought to implement sync and casade it down.
+ if ( graph instanceof InfGraph )
+ syncGraph(((InfGraph)graph).getRawGraph()) ;
+ else if ( graph instanceof Polyadic ) // MultiUnion
+ // Only the base graph is updatable.
+ syncGraph(((Polyadic)graph).getBaseGraph()) ;
+ else if ( graph instanceof GraphWrapper )
+ syncGraph(((GraphWrapper)graph).get()) ;
+// else if ( graph instanceof WrappedGraph )
+// // Does not expose the WrappedGraph : checking, no subclass needs a sync().
+// syncGraph(((WrappedGraph)graph).get()) ;
+ else
+ syncObject(graph) ;
}
/** Sync a Dataset, if underlying storage provides sync. */
Modified: jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/graph/GraphSPARQLService.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/graph/GraphSPARQLService.java?rev=1336827&r1=1336826&r2=1336827&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/graph/GraphSPARQLService.java (original)
+++ jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/graph/GraphSPARQLService.java Thu May 10 18:34:40 2012
@@ -32,7 +32,7 @@ import com.hp.hpl.jena.sparql.core.Basic
import com.hp.hpl.jena.sparql.core.Var ;
import com.hp.hpl.jena.util.iterator.ExtendedIterator ;
-/** This class provides the Jena Graph interface to a remove SPARQL endpoint.
+/** This class provides the Jena Graph interface to a remote SPARQL endpoint.
* Efficiency not guaranteed. */
public class GraphSPARQLService extends GraphBase implements Graph
Modified: jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/graph/GraphWrapper.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/graph/GraphWrapper.java?rev=1336827&r1=1336826&r2=1336827&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/graph/GraphWrapper.java (original)
+++ jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/graph/GraphWrapper.java Thu May 10 18:34:40 2012
@@ -32,7 +32,7 @@ public class GraphWrapper implements Gra
public GraphWrapper(Graph graph) { this.graph = graph ; }
- protected Graph get() { return graph ; }
+ public Graph get() { return graph ; }
@Override
public void add(Triple t) throws AddDeniedException