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 2013/01/08 20:07:29 UTC
svn commit: r1430447 [8/10] - in /jena/branches/streaming-update: ./
apache-jena/ apache-jena/bat/ apache-jena/bin/ jena-arq/
jena-arq/src/main/java/com/hp/hpl/jena/sparql/graph/ jena-core/
jena-core/src/main/java/com/hp/hpl/jena/assembler/ jena-core/s...
Modified: jena/branches/streaming-update/jena-core/src/test/java/com/hp/hpl/jena/reasoner/test/WGReasonerTester.java
URL: http://svn.apache.org/viewvc/jena/branches/streaming-update/jena-core/src/test/java/com/hp/hpl/jena/reasoner/test/WGReasonerTester.java?rev=1430447&r1=1430446&r2=1430447&view=diff
==============================================================================
--- jena/branches/streaming-update/jena-core/src/test/java/com/hp/hpl/jena/reasoner/test/WGReasonerTester.java (original)
+++ jena/branches/streaming-update/jena-core/src/test/java/com/hp/hpl/jena/reasoner/test/WGReasonerTester.java Tue Jan 8 19:07:23 2013
@@ -18,24 +18,31 @@
package com.hp.hpl.jena.reasoner.test;
-import com.hp.hpl.jena.rdf.model.*;
-import com.hp.hpl.jena.graph.*;
-import com.hp.hpl.jena.graph.query.*;
-import com.hp.hpl.jena.rdf.model.impl.PropertyImpl;
-import com.hp.hpl.jena.rdf.model.impl.ResourceImpl;
-import com.hp.hpl.jena.reasoner.*;
-import com.hp.hpl.jena.vocabulary.RDF;
-import com.hp.hpl.jena.rdf.arp.ARPTests;
-
-import com.hp.hpl.jena.shared.*;
-
-import junit.framework.*;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.*;
-import java.util.*;
-import java.net.*;
+import java.io.BufferedInputStream ;
+import java.io.FileInputStream ;
+import java.io.IOException ;
+import java.io.InputStream ;
+import java.net.URL ;
+import java.util.ArrayList ;
+import java.util.Iterator ;
+import java.util.List ;
+
+import junit.framework.Assert ;
+import junit.framework.TestCase ;
+import org.slf4j.Logger ;
+import org.slf4j.LoggerFactory ;
+
+import com.hp.hpl.jena.graph.Factory ;
+import com.hp.hpl.jena.graph.Graph ;
+import com.hp.hpl.jena.rdf.arp.ARPTests ;
+import com.hp.hpl.jena.rdf.model.* ;
+import com.hp.hpl.jena.rdf.model.impl.PropertyImpl ;
+import com.hp.hpl.jena.rdf.model.impl.ResourceImpl ;
+import com.hp.hpl.jena.reasoner.InfGraph ;
+import com.hp.hpl.jena.reasoner.Reasoner ;
+import com.hp.hpl.jena.reasoner.ReasonerFactory ;
+import com.hp.hpl.jena.shared.JenaException ;
+import com.hp.hpl.jena.vocabulary.RDF ;
/**
* A utility to support execution of the RDFCode working group entailment
@@ -157,7 +164,7 @@ public class WGReasonerTester {
} else if (file.endsWith("n3")) {
langType = "N3";
}
- Model result = ModelFactory.createNonreifyingModel();
+ Model result = ModelFactory.createDefaultModel();
String fname = file;
if (fname.startsWith(BASE_URI)) {
fname = fname.substring(BASE_URI.length());
@@ -292,7 +299,7 @@ public class WGReasonerTester {
}
// Load up the premise documents
- Model premises = ModelFactory.createNonreifyingModel();
+ Model premises = ModelFactory.createDefaultModel();
for (StmtIterator premisesI = test.listProperties(premiseDocumentP); premisesI.hasNext(); ) {
premises.add(loadFile(premisesI.nextStatement().getObject().toString()));
}
@@ -364,62 +371,27 @@ public class WGReasonerTester {
// Signal the results
if (testcase != null) {
+// if ( !correct )
+// {
+// boolean b = testConclusions(conclusions.getGraph(), result.getGraph());
+// System.out.println("**** actual") ;
+// result.write(System.out, "TTL") ;
+// System.out.println("**** expected") ;
+// conclusions.write(System.out, "TTL") ;
+// }
Assert.assertTrue("Test: " + test + "\n" + description, correct);
}
return correct?goodResult:FAIL;
}
/**
- * Test a conclusions graph against a result graph. This works by
+ * Test a conclusions graph against a result graph.
+ * This works by
* translating the conclusions graph into a find query which contains one
* variable for each distinct bNode in the conclusions graph.
*/
- private boolean testConclusions(Graph conclusions, Graph result) {
- QueryHandler qh = result.queryHandler();
- GraphQuery query = graphToQuery(conclusions);
- Iterator<Domain> i = qh.prepareBindings(query, new Node[] {}).executeBindings();
- return i.hasNext();
+ public static boolean testConclusions(Graph conclusions, Graph result) {
+ return Matcher.subgraphInferred(conclusions, result) ;
}
-
- /**
- * Translate a conclusions graph into a query pattern
- */
- public static GraphQuery graphToQuery(Graph graph) {
- HashMap<Node, Node> bnodeToVar = new HashMap<Node, Node>();
- GraphQuery query = new GraphQuery();
- for (Iterator<Triple> i = graph.find(null, null, null); i.hasNext(); ) {
- Triple triple = i.next();
- query.addMatch(
- translate(triple.getSubject(), bnodeToVar),
- translate(triple.getPredicate(), bnodeToVar),
- translate(triple.getObject(), bnodeToVar) );
- }
- return query;
- }
-
- /**
- * Translate a blank node to a variable node
- * @param node the bNode to translate
- * @param bnodeToVar a map of translations already known about
- * @return a variable node
- */
- private static Node translate(Node node, HashMap<Node, Node> bnodeToVar) {
- String varnames = "abcdefghijklmnopqrstuvwxyz";
- if (node.isBlank()) {
- Node t = bnodeToVar.get(node);
- if (t == null) {
- int i = bnodeToVar.size();
- if (i > varnames.length()) {
- throw new ReasonerException("Too many bnodes in query");
- }
- t = Node.createVariable(varnames.substring(i, i+1));
- bnodeToVar.put(node, t);
- }
- return t;
- } else {
- return node;
- }
- }
-
}
Modified: jena/branches/streaming-update/jena-core/src/test/java/com/hp/hpl/jena/shared/TestSharedPackage.java
URL: http://svn.apache.org/viewvc/jena/branches/streaming-update/jena-core/src/test/java/com/hp/hpl/jena/shared/TestSharedPackage.java?rev=1430447&r1=1430446&r2=1430447&view=diff
==============================================================================
--- jena/branches/streaming-update/jena-core/src/test/java/com/hp/hpl/jena/shared/TestSharedPackage.java (original)
+++ jena/branches/streaming-update/jena-core/src/test/java/com/hp/hpl/jena/shared/TestSharedPackage.java Tue Jan 8 19:07:23 2013
@@ -33,7 +33,6 @@ public class TestSharedPackage extends T
TestSuite result = new TestSuite();
result.addTest( TestPrefixMapping.suite() );
result.addTest( TestJenaException.suite() );
- result.addTest( TestReificationStyle.suite() );
result.addTest( RandomizedTestSuiteRegression.suite() );
return result;
}
Modified: jena/branches/streaming-update/jena-fuseki/LICENSE
URL: http://svn.apache.org/viewvc/jena/branches/streaming-update/jena-fuseki/LICENSE?rev=1430447&r1=1430446&r2=1430447&view=diff
==============================================================================
--- jena/branches/streaming-update/jena-fuseki/LICENSE (original)
+++ jena/branches/streaming-update/jena-fuseki/LICENSE Tue Jan 8 19:07:23 2013
@@ -200,3 +200,25 @@
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
+
+- - - - - - - - - - - - - - - - - - - - - - -
+
+==============================================================
+ Jetty Web Container
+ Copyright 1995-2012 Mort Bay Consulting Pty Ltd.
+==============================================================
+
+The Jetty Web Container is Copyright Mort Bay Consulting Pty Ltd
+unless otherwise noted.
+
+Jetty is dual licensed under both
+
+ * The Apache 2.0 License
+ http://www.apache.org/licenses/LICENSE-2.0.html
+
+ and
+
+ * The Eclipse Public 1.0 License
+ http://www.eclipse.org/legal/epl-v10.html
+
+Jetty may be distributed under either license.
Modified: jena/branches/streaming-update/jena-fuseki/NOTICE
URL: http://svn.apache.org/viewvc/jena/branches/streaming-update/jena-fuseki/NOTICE?rev=1430447&r1=1430446&r2=1430447&view=diff
==============================================================================
--- jena/branches/streaming-update/jena-fuseki/NOTICE (original)
+++ jena/branches/streaming-update/jena-fuseki/NOTICE Tue Jan 8 19:07:23 2013
@@ -1,5 +1,5 @@
Apache Jena - module Fuseki
-Copyright 2011, 2012 The Apache Software Foundation
+Copyright 2011-2013 The Apache Software Foundation
This product includes software developed at
The Apache Software Foundation (http://www.apache.org/).
@@ -10,3 +10,7 @@ Portions of this software were originall
- Copyright 2010, 2011 Talis Systems Ltd.
These have been licensed to the Apache Software Foundation under a software grant.
+- - - - - - - - - - - - - - - - - - - - - - -
+
+Portions of this software include software from Mort Bay Consulting Pty. Ltd.
+ - Copyright (c) 2004-2009 Mort Bay Consulting Pty. Ltd.
Modified: jena/branches/streaming-update/jena-fuseki/ReleaseNotes.txt
URL: http://svn.apache.org/viewvc/jena/branches/streaming-update/jena-fuseki/ReleaseNotes.txt?rev=1430447&r1=1430446&r2=1430447&view=diff
==============================================================================
--- jena/branches/streaming-update/jena-fuseki/ReleaseNotes.txt (original)
+++ jena/branches/streaming-update/jena-fuseki/ReleaseNotes.txt Tue Jan 8 19:07:23 2013
@@ -1,5 +1,10 @@
==== Fuseki
+== Fuseki 0.2.6
+
++ Upgrade to Jetty 8.1.8.v20121106
++ Uses Jena 2.10.0.
+
== Fuseki 0.2.5
+ JENA-334 - Fix for Fuseki start script fails when invoked with full pathname
Modified: jena/branches/streaming-update/jena-fuseki/dist/NOTICE-dist
URL: http://svn.apache.org/viewvc/jena/branches/streaming-update/jena-fuseki/dist/NOTICE-dist?rev=1430447&r1=1430446&r2=1430447&view=diff
==============================================================================
--- jena/branches/streaming-update/jena-fuseki/dist/NOTICE-dist (original)
+++ jena/branches/streaming-update/jena-fuseki/dist/NOTICE-dist Tue Jan 8 19:07:23 2013
@@ -1,5 +1,5 @@
Apache Jena - module Fuseki
-Copyright 2011, 2012 The Apache Software Foundation
+Copyright 2011-2013 The Apache Software Foundation
This product includes software developed at
The Apache Software Foundation (http://www.apache.org/).
@@ -45,7 +45,7 @@ Copyright (c) 2005 Brian Goetz and Tim P
- - - - - - - - - - - - - - - - - - - - - - -
Apache Xerces Java
- Copyright 1999-2011, 2012 The Apache Software Foundation
+ Copyright 1999-2013 The Apache Software Foundation
This product includes software developed at
The Apache Software Foundation (http://www.apache.org/).
Modified: jena/branches/streaming-update/jena-fuseki/log4j.properties
URL: http://svn.apache.org/viewvc/jena/branches/streaming-update/jena-fuseki/log4j.properties?rev=1430447&r1=1430446&r2=1430447&view=diff
==============================================================================
--- jena/branches/streaming-update/jena-fuseki/log4j.properties (original)
+++ jena/branches/streaming-update/jena-fuseki/log4j.properties Tue Jan 8 19:07:23 2013
@@ -23,8 +23,8 @@ log4j.logger.com.hp.hpl.jena.arq.exec=IN
# Everything else in Jena
log4j.logger.com.hp.hpl.jena=WARN
log4j.logger.org.apache.jena=WARN
-log4j.logger.org.openjena=WARN
-log4j.logger.org.openjena.riot=INFO
+log4j.logger.org.apache.jena=WARN
+log4j.logger.org.apache.jena.riot=INFO
# TDB
# TDB syslog.
Modified: jena/branches/streaming-update/jena-fuseki/make_cp_mvn
URL: http://svn.apache.org/viewvc/jena/branches/streaming-update/jena-fuseki/make_cp_mvn?rev=1430447&r1=1430446&r2=1430447&view=diff
==============================================================================
--- jena/branches/streaming-update/jena-fuseki/make_cp_mvn (original)
+++ jena/branches/streaming-update/jena-fuseki/make_cp_mvn Tue Jan 8 19:07:23 2013
@@ -24,6 +24,7 @@ open(X, "mvn -f $POM dependency:build-cl
while(<X>)
{
next if /\[INFO\]/ ;
+ next if /^Download/ ;
chop ;
print "$_" ;
}
Modified: jena/branches/streaming-update/jena-fuseki/pom.xml
URL: http://svn.apache.org/viewvc/jena/branches/streaming-update/jena-fuseki/pom.xml?rev=1430447&r1=1430446&r2=1430447&view=diff
==============================================================================
--- jena/branches/streaming-update/jena-fuseki/pom.xml (original)
+++ jena/branches/streaming-update/jena-fuseki/pom.xml Tue Jan 8 19:07:23 2013
@@ -76,12 +76,12 @@
<assembly.soh.name>${this.root}</assembly.soh.name>
<assembly.zip.name>${this.root}</assembly.zip.name>
- <!-- 8.1.5.v20120716 -->
- <ver.jetty>7.6.5.v20120716</ver.jetty>
+ <ver.jetty>8.1.8.v20121106</ver.jetty>
+ <!-- <ver.jetty>7.6.5.v20120716</ver.jetty> -->
<ver.velocity>1.7</ver.velocity>
- <ver.httpclient>4.1.3</ver.httpclient>
- <ver.httpcore>4.1.3</ver.httpcore>
+ <ver.httpclient>4.2.2</ver.httpclient>
+ <ver.httpcore>4.2.3</ver.httpcore>
<ver.commons-fileupload>1.2.2</ver.commons-fileupload>
<ver.commons-codec>1.5</ver.commons-codec>
@@ -94,19 +94,19 @@
<dependency>
<groupId>org.apache.jena</groupId>
<artifactId>jena-arq</artifactId>
- <version>2.9.5-SNAPSHOT</version>
+ <version>2.10.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.jena</groupId>
<artifactId>jena-core</artifactId>
- <version>2.7.5-SNAPSHOT</version>
+ <version>2.10.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.apache.jena</groupId>
<artifactId>jena-tdb</artifactId>
- <version>0.9.5-SNAPSHOT</version>
+ <version>0.10.0-SNAPSHOT</version>
</dependency>
<!--
Modified: jena/branches/streaming-update/jena-fuseki/run_cp
URL: http://svn.apache.org/viewvc/jena/branches/streaming-update/jena-fuseki/run_cp?rev=1430447&r1=1430446&r2=1430447&view=diff
==============================================================================
--- jena/branches/streaming-update/jena-fuseki/run_cp (original)
+++ jena/branches/streaming-update/jena-fuseki/run_cp Tue Jan 8 19:07:23 2013
@@ -1,6 +1,6 @@
#!/bin/bash
M2_REPO="${M2_REPO:-$HOME/.m2/repository}"
-CP="/home/afs/.m2/repo/org/apache/jena/jena-arq/2.9.5-SNAPSHOT/jena-arq-2.9.5-SNAPSHOT.jar:/home/afs/.m2/repo/commons-codec/commons-codec/1.5/commons-codec-1.5.jar:/home/afs/.m2/repo/org/apache/httpcomponents/httpcore/4.1.3/httpcore-4.1.3.jar:/home/afs/.m2/repo/org/apache/jena/jena-core/2.7.5-SNAPSHOT/jena-core-2.7.5-SNAPSHOT.jar:/home/afs/.m2/repo/org/apache/jena/jena-iri/0.9.5-SNAPSHOT/jena-iri-0.9.5-SNAPSHOT.jar:/home/afs/.m2/repo/xerces/xercesImpl/2.10.0/xercesImpl-2.10.0.jar:/home/afs/.m2/repo/xml-apis/xml-apis/1.4.01/xml-apis-1.4.01.jar:/home/afs/.m2/repo/org/apache/jena/jena-tdb/0.9.5-SNAPSHOT/jena-tdb-0.9.5-SNAPSHOT.jar:/home/afs/.m2/repo/junit/junit/4.9/junit-4.9.jar:/home/afs/.m2/repo/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar:/home/afs/.m2/repo/org/apache/httpcomponents/httpclient/4.1.2/httpclient-4.1.2.jar:/home/afs/.m2/repo/commons-fileupload/commons-fileupload/1.2.2/commons-fileupload-1.2.2.jar:/home/afs/.m2/repo/org/eclipse/jetty/jetty-server/7.6.5.v
20120716/jetty-server-7.6.5.v20120716.jar:/home/afs/.m2/repo/org/eclipse/jetty/orbit/javax.servlet/2.5.0.v201103041518/javax.servlet-2.5.0.v201103041518.jar:/home/afs/.m2/repo/org/eclipse/jetty/jetty-continuation/7.6.5.v20120716/jetty-continuation-7.6.5.v20120716.jar:/home/afs/.m2/repo/org/eclipse/jetty/jetty-http/7.6.5.v20120716/jetty-http-7.6.5.v20120716.jar:/home/afs/.m2/repo/org/eclipse/jetty/jetty-io/7.6.5.v20120716/jetty-io-7.6.5.v20120716.jar:/home/afs/.m2/repo/org/eclipse/jetty/jetty-servlet/7.6.5.v20120716/jetty-servlet-7.6.5.v20120716.jar:/home/afs/.m2/repo/org/eclipse/jetty/jetty-security/7.6.5.v20120716/jetty-security-7.6.5.v20120716.jar:/home/afs/.m2/repo/org/eclipse/jetty/jetty-servlets/7.6.5.v20120716/jetty-servlets-7.6.5.v20120716.jar:/home/afs/.m2/repo/org/eclipse/jetty/jetty-client/7.6.5.v20120716/jetty-client-7.6.5.v20120716.jar:/home/afs/.m2/repo/org/eclipse/jetty/jetty-util/7.6.5.v20120716/jetty-util-7.6.5.v20120716.jar:/home/afs/.m2/repo/org/eclipse/jet
ty/jetty-xml/7.6.5.v20120716/jetty-xml-7.6.5.v20120716.jar:/home/afs/.m2/repo/org/apache/velocity/velocity/1.7/velocity-1.7.jar:/home/afs/.m2/repo/commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.jar:/home/afs/.m2/repo/commons-lang/commons-lang/2.4/commons-lang-2.4.jar:/home/afs/.m2/repo/org/slf4j/slf4j-api/1.6.4/slf4j-api-1.6.4.jar:/home/afs/.m2/repo/org/slf4j/slf4j-log4j12/1.6.4/slf4j-log4j12-1.6.4.jar:/home/afs/.m2/repo/org/slf4j/jcl-over-slf4j/1.6.4/jcl-over-slf4j-1.6.4.jar:/home/afs/.m2/repo/log4j/log4j/1.2.16/log4j-1.2.16.jar"
+CP="/home/afs/.m2/repo/org/apache/jena/jena-arq/2.10.0-SNAPSHOT/jena-arq-2.10.0-SNAPSHOT.jar:/home/afs/.m2/repo/commons-codec/commons-codec/1.5/commons-codec-1.5.jar:/home/afs/.m2/repo/org/apache/httpcomponents/httpcore/4.2.3/httpcore-4.2.3.jar:/home/afs/.m2/repo/org/apache/jena/jena-core/2.10.0-SNAPSHOT/jena-core-2.10.0-SNAPSHOT.jar:/home/afs/.m2/repo/org/apache/jena/jena-iri/0.9.5-SNAPSHOT/jena-iri-0.9.5-SNAPSHOT.jar:/home/afs/.m2/repo/xerces/xercesImpl/2.10.0/xercesImpl-2.10.0.jar:/home/afs/.m2/repo/xml-apis/xml-apis/1.4.01/xml-apis-1.4.01.jar:/home/afs/.m2/repo/org/apache/jena/jena-tdb/0.10.0-SNAPSHOT/jena-tdb-0.10.0-SNAPSHOT.jar:/home/afs/.m2/repo/junit/junit/4.9/junit-4.9.jar:/home/afs/.m2/repo/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar:/home/afs/.m2/repo/org/apache/httpcomponents/httpclient/4.2.2/httpclient-4.2.2.jar:/home/afs/.m2/repo/commons-fileupload/commons-fileupload/1.2.2/commons-fileupload-1.2.2.jar:/home/afs/.m2/repo/org/eclipse/jetty/jetty-server/8
.1.8.v20121106/jetty-server-8.1.8.v20121106.jar:/home/afs/.m2/repo/org/eclipse/jetty/orbit/javax.servlet/3.0.0.v201112011016/javax.servlet-3.0.0.v201112011016.jar:/home/afs/.m2/repo/org/eclipse/jetty/jetty-continuation/8.1.8.v20121106/jetty-continuation-8.1.8.v20121106.jar:/home/afs/.m2/repo/org/eclipse/jetty/jetty-http/8.1.8.v20121106/jetty-http-8.1.8.v20121106.jar:/home/afs/.m2/repo/org/eclipse/jetty/jetty-io/8.1.8.v20121106/jetty-io-8.1.8.v20121106.jar:/home/afs/.m2/repo/org/eclipse/jetty/jetty-servlet/8.1.8.v20121106/jetty-servlet-8.1.8.v20121106.jar:/home/afs/.m2/repo/org/eclipse/jetty/jetty-security/8.1.8.v20121106/jetty-security-8.1.8.v20121106.jar:/home/afs/.m2/repo/org/eclipse/jetty/jetty-servlets/8.1.8.v20121106/jetty-servlets-8.1.8.v20121106.jar:/home/afs/.m2/repo/org/eclipse/jetty/jetty-client/8.1.8.v20121106/jetty-client-8.1.8.v20121106.jar:/home/afs/.m2/repo/org/eclipse/jetty/jetty-util/8.1.8.v20121106/jetty-util-8.1.8.v20121106.jar:/home/afs/.m2/repo/org/eclip
se/jetty/jetty-xml/8.1.8.v20121106/jetty-xml-8.1.8.v20121106.jar:/home/afs/.m2/repo/org/apache/velocity/velocity/1.7/velocity-1.7.jar:/home/afs/.m2/repo/commons-collections/commons-collections/3.2.1/commons-collections-3.2.1.jar:/home/afs/.m2/repo/commons-lang/commons-lang/2.4/commons-lang-2.4.jar:/home/afs/.m2/repo/org/slf4j/slf4j-api/1.6.4/slf4j-api-1.6.4.jar:/home/afs/.m2/repo/org/slf4j/slf4j-log4j12/1.6.4/slf4j-log4j12-1.6.4.jar:/home/afs/.m2/repo/org/slf4j/jcl-over-slf4j/1.6.4/jcl-over-slf4j-1.6.4.jar:/home/afs/.m2/repo/log4j/log4j/1.2.16/log4j-1.2.16.jar"
echo "$CP"
Modified: jena/branches/streaming-update/jena-fuseki/soh
URL: http://svn.apache.org/viewvc/jena/branches/streaming-update/jena-fuseki/soh?rev=1430447&r1=1430446&r2=1430447&view=diff
==============================================================================
--- jena/branches/streaming-update/jena-fuseki/soh (original)
+++ jena/branches/streaming-update/jena-fuseki/soh Tue Jan 8 19:07:23 2013
@@ -111,6 +111,8 @@ $accept_charset=nil
$cmd = File.basename($0)
if ! $cmd.start_with?('s-')
+# If you don't have start_with? ...
+# if ! $cmd.match(/^s-/)
# "soh query ..."
$cmd = ARGV.shift
$cmd = 's-'+$cmd
Modified: jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/DEF.java
URL: http://svn.apache.org/viewvc/jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/DEF.java?rev=1430447&r1=1430446&r2=1430447&view=diff
==============================================================================
--- jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/DEF.java (original)
+++ jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/DEF.java Tue Jan 8 19:07:23 2013
@@ -20,7 +20,7 @@ package org.apache.jena.fuseki;
import org.apache.jena.atlas.web.AcceptList ;
import org.apache.jena.atlas.web.MediaType ;
-import org.openjena.riot.WebContent ;
+import org.apache.jena.riot.WebContent ;
public class DEF
{
Modified: jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/Fuseki.java
URL: http://svn.apache.org/viewvc/jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/Fuseki.java?rev=1430447&r1=1430446&r2=1430447&view=diff
==============================================================================
--- jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/Fuseki.java (original)
+++ jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/Fuseki.java Tue Jan 8 19:07:23 2013
@@ -19,7 +19,9 @@
package org.apache.jena.fuseki;
import org.apache.jena.fuseki.server.SPARQLServer ;
-import org.openjena.riot.RIOT ;
+import org.apache.jena.riot.RIOT ;
+import org.apache.jena.riot.stream.LocatorURL ;
+import org.apache.jena.riot.stream.StreamManager ;
import org.slf4j.Logger ;
import org.slf4j.LoggerFactory ;
@@ -31,7 +33,6 @@ import com.hp.hpl.jena.sparql.mgt.System
import com.hp.hpl.jena.sparql.util.Context ;
import com.hp.hpl.jena.sparql.util.MappingRegistry ;
import com.hp.hpl.jena.tdb.TDB ;
-import com.hp.hpl.jena.util.FileManager ;
public class Fuseki
{
@@ -43,10 +44,10 @@ public class Fuseki
static public String PagesStatic = "pages" ;
- // TEMPORARY
- static public boolean graphStoreProtocolMode = false ;
+ // TEMPORARY - this enables POST of triples to the dataset URI causing a graph to be created.
+ // POSTing to /dataset?graph=uri is preferred
+ static public boolean graphStoreProtocolPostCreate = false ;
- //static private String metadataDevLocation = "org/openjena/fuseki/fuseki-properties-dev.xml" ;
static private String metadataLocation = "org/apache/jena/fuseki/fuseki-properties.xml" ;
static private Metadata metadata = initMetadata() ;
private static Metadata initMetadata()
@@ -57,26 +58,26 @@ public class Fuseki
return m ;
}
- static public final String NAME = "Fuseki" ;
- static public final String VERSION = metadata.get(PATH+".version", "development") ;
- static public final String BUILD_DATE = metadata.get(PATH+".build.datetime", "unknown") ; // call Date if unavailable.
- static public final String serverHttpName = NAME+" ("+VERSION+")" ;
+ static public final String NAME = "Fuseki" ;
+ static public final String VERSION = metadata.get(PATH+".version", "development") ;
+ static public final String BUILD_DATE = metadata.get(PATH+".build.datetime", "unknown") ; // call Date if unavailable.
+ static public final String serverHttpName = NAME+" ("+VERSION+")" ;
// Log for operations
- public static final String requestLogName = PATH+".Fuseki" ;
- public static final Logger requestLog = LoggerFactory.getLogger(requestLogName) ;
+ public static final String requestLogName = PATH+".Fuseki" ;
+ public static final Logger requestLog = LoggerFactory.getLogger(requestLogName) ;
// Log for general server messages.
- public static final String serverLogName = PATH+".Server" ;
- public static final Logger serverLog = LoggerFactory.getLogger(serverLogName) ;
+ public static final String serverLogName = PATH+".Server" ;
+ public static final Logger serverLog = LoggerFactory.getLogger(serverLogName) ;
// Log for config server messages.
- public static final String configLogName = PATH+".Config" ;
- public static final Logger configLog = LoggerFactory.getLogger(configLogName) ;
+ public static final String configLogName = PATH+".Config" ;
+ public static final Logger configLog = LoggerFactory.getLogger(configLogName) ;
- public static final FileManager webFileManager ;
+ public static final StreamManager webStreamManager ;
static {
- webFileManager = new FileManager() ;
+ webStreamManager = new StreamManager() ;
// Only know how to handle http URLs
- webFileManager.addLocatorURL() ;
+ webStreamManager.addLocator(new LocatorURL()) ;
}
private static boolean initialized = false ;
Modified: jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/FusekiCmd.java
URL: http://svn.apache.org/viewvc/jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/FusekiCmd.java?rev=1430447&r1=1430446&r2=1430447&view=diff
==============================================================================
--- jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/FusekiCmd.java (original)
+++ jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/FusekiCmd.java Tue Jan 8 19:07:23 2013
@@ -27,31 +27,27 @@ import java.util.List ;
import org.apache.jena.atlas.io.IO ;
import org.apache.jena.atlas.lib.FileOps ;
-import org.apache.jena.atlas.lib.Sink ;
import org.apache.jena.atlas.lib.StrUtils ;
import org.apache.jena.atlas.logging.Log ;
import org.apache.jena.fuseki.mgt.ManagementServer ;
import org.apache.jena.fuseki.server.FusekiConfig ;
import org.apache.jena.fuseki.server.SPARQLServer ;
import org.apache.jena.fuseki.server.ServerConfig ;
+import org.apache.jena.riot.Lang ;
+import org.apache.jena.riot.RDFLanguages ;
+import org.apache.jena.riot.RDFDataMgr ;
+import org.apache.jena.riot.SysRIOT ;
import org.eclipse.jetty.server.Server ;
-import org.openjena.riot.Lang ;
-import org.openjena.riot.RiotLoader ;
-import org.openjena.riot.SysRIOT ;
-import org.openjena.riot.lang.SinkQuadsToDataset ;
-import org.openjena.riot.lang.SinkTriplesToGraph ;
import org.slf4j.Logger ;
import arq.cmd.CmdException ;
import arq.cmdline.ArgDecl ;
import arq.cmdline.CmdARQ ;
import arq.cmdline.ModDatasetAssembler ;
-import com.hp.hpl.jena.graph.Triple ;
import com.hp.hpl.jena.query.ARQ ;
import com.hp.hpl.jena.query.Dataset ;
import com.hp.hpl.jena.sparql.core.DatasetGraph ;
import com.hp.hpl.jena.sparql.core.DatasetGraphFactory ;
-import com.hp.hpl.jena.sparql.core.Quad ;
import com.hp.hpl.jena.tdb.TDB ;
import com.hp.hpl.jena.tdb.TDBFactory ;
import com.hp.hpl.jena.tdb.transaction.TransactionManager ;
@@ -124,7 +120,7 @@ public class FusekiCmd extends CmdARQ
private static ArgDecl argFusekiConfig = new ArgDecl(ArgDecl.HasValue, "config", "conf") ;
private static ArgDecl argJettyConfig = new ArgDecl(ArgDecl.HasValue, "jetty-config") ;
private static ArgDecl argGZip = new ArgDecl(ArgDecl.HasValue, "gzip") ;
- private static ArgDecl argUber = new ArgDecl(ArgDecl.NoValue, "uber") ; // Use the uberservlet (experimental)
+ private static ArgDecl argUber = new ArgDecl(ArgDecl.NoValue, "uber", "über") ; // Use the überservlet (experimental)
private static ArgDecl argGSP = new ArgDecl(ArgDecl.NoValue, "gsp") ; // GSP compliance mode
@@ -145,19 +141,19 @@ public class FusekiCmd extends CmdARQ
new FusekiCmd(argv).mainRun() ;
}
- private int port = 3030 ;
- private int mgtPort = -1 ;
- private String clientHost = null;
-
- private DatasetGraph dsg ;
- private String datasetPath ;
- private boolean allowUpdate = false ;
-
- private String fusekiConfigFile = null ;
- private boolean enableCompression = true ;
- private String jettyConfigFile = null ;
- private String homeDir = null ;
- private String pagesDir ;
+ private int port = 3030 ;
+ private int mgtPort = -1 ;
+ private String clientHost = null;
+
+ private DatasetGraph dsg = null ;
+ private String datasetPath = null ;
+ private boolean allowUpdate = false ;
+
+ private String fusekiConfigFile = null ;
+ private boolean enableCompression = true ;
+ private String jettyConfigFile = null ;
+ private String homeDir = null ;
+ private String pagesDir = null ;
public FusekiCmd(String...argv)
{
@@ -186,7 +182,7 @@ public class FusekiCmd extends CmdARQ
add(argGZip, "--gzip=on|off", "Enable GZip compression (HTTP Accept-Encoding) if request header set") ;
add(argUber) ;
- add(argGSP) ;
+ //add(argGSP) ;
super.modVersion.addClass(TDB.class) ;
super.modVersion.addClass(Fuseki.class) ;
@@ -230,6 +226,9 @@ public class FusekiCmd extends CmdARQ
TDB.setOptimizerWarningFlag(false) ;
+ // Don't get TDB batch commits.
+ // This is slower but less memory hungry.
+ TransactionManager.QueueBatchSize = 0 ;
if ( contains(argMem) )
{
@@ -245,21 +244,15 @@ public class FusekiCmd extends CmdARQ
if ( ! FileOps.exists(filename) )
throw new CmdException("File not found: "+filename) ;
- Lang language = Lang.guess(filename) ;
+ Lang language = RDFLanguages.filenameToLang(filename) ;
if ( language == null )
throw new CmdException("Can't guess language for file: "+filename) ;
InputStream input = IO.openFile(filename) ;
- if ( language.isQuads() )
- {
- Sink<Quad> sink = new SinkQuadsToDataset(dsg) ;
- RiotLoader.readQuads(input, language, filename, sink) ;
- }
+ if ( RDFLanguages.isQuads(language) )
+ RDFDataMgr.read(dsg, filename) ;
else
- {
- Sink<Triple> sink = new SinkTriplesToGraph(dsg.getDefaultGraph()) ;
- RiotLoader.readTriples(input, language, filename, sink) ;
- }
+ RDFDataMgr.read(dsg.getDefaultGraph(), filename) ;
}
if ( contains(argMemTDB) )
@@ -379,7 +372,7 @@ public class FusekiCmd extends CmdARQ
if ( contains(argGSP) )
{
SPARQLServer.überServlet = true ;
- Fuseki.graphStoreProtocolMode = true ;
+ Fuseki.graphStoreProtocolPostCreate = true ;
}
}
Modified: jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/FusekiLib.java
URL: http://svn.apache.org/viewvc/jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/FusekiLib.java?rev=1430447&r1=1430446&r2=1430447&view=diff
==============================================================================
--- jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/FusekiLib.java (original)
+++ jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/FusekiLib.java Tue Jan 8 19:07:23 2013
@@ -26,9 +26,10 @@ import javax.servlet.http.HttpServletReq
import org.apache.commons.lang.StringUtils ;
import org.apache.jena.atlas.lib.MultiMap ;
import org.apache.jena.atlas.web.MediaType ;
-import org.openjena.riot.Lang ;
-import org.openjena.riot.RiotException ;
-import org.openjena.riot.WebContent ;
+import org.apache.jena.riot.Lang ;
+import org.apache.jena.riot.RDFLanguages ;
+import org.apache.jena.riot.RiotException ;
+import org.apache.jena.riot.WebContent ;
import com.hp.hpl.jena.rdf.model.Model ;
import com.hp.hpl.jena.rdf.model.ModelFactory ;
@@ -45,31 +46,9 @@ public class FusekiLib
{
if ( mimeType == null )
return null ;
- return mapContentTypeToLang.get(mimeType.toLowerCase()) ;
+ return WebContent.contentTypeToLang(mimeType.toLowerCase()) ;
}
- private static Model dummy = ModelFactory.createDefaultModel() ;
- private static Map<String, Lang> mapContentTypeToLang = new HashMap<String, Lang>() ;
- // Use riot.WebContent on next ARQ update.
- static {
- mapContentTypeToLang.put(WebContent.contentTypeRDFXML, Lang.RDFXML) ;
- mapContentTypeToLang.put(WebContent.contentTypeRDFJSON, Lang.RDFJSON) ;
- mapContentTypeToLang.put(WebContent.contentTypeTurtle, Lang.TURTLE) ;
- mapContentTypeToLang.put(WebContent.contentTypeTurtleAlt1, Lang.TURTLE) ;
- mapContentTypeToLang.put(WebContent.contentTypeTurtleAlt2, Lang.TURTLE) ;
- mapContentTypeToLang.put(WebContent.contentTypeNTriples, Lang.NTRIPLES) ; // text/plain
- mapContentTypeToLang.put(WebContent.contentTypeNTriplesAlt, Lang.NTRIPLES) ;
-
-
- mapContentTypeToLang.put(WebContent.contentTypeTriG, Lang.TRIG) ;
- mapContentTypeToLang.put(WebContent.contentTypeTriGAlt1, Lang.TRIG) ;
- mapContentTypeToLang.put(WebContent.contentTypeTriGAlt2, Lang.TRIG) ;
- mapContentTypeToLang.put(WebContent.contentTypeNQuads, Lang.NQUADS) ;
- mapContentTypeToLang.put(WebContent.contentTypeNQuadsAlt1, Lang.NQUADS) ;
- mapContentTypeToLang.put(WebContent.contentTypeNQuadsAlt2, Lang.NQUADS) ;
- }
- // ----
-
public static MediaType contentType(HttpServletRequest request)
{
String x = request.getHeader(HttpNames.hContentType) ;
@@ -80,48 +59,24 @@ public class FusekiLib
private static Map<Lang, String> mapLangToWriterName = new HashMap<Lang, String>() ;
static {
- mapLangToWriterName.put(Lang.N3, WebContent.langN3) ;
- mapLangToWriterName.put(Lang.RDFJSON, WebContent.langRdfJson) ;
- mapLangToWriterName.put(Lang.TURTLE, WebContent.langTurtle) ;
- mapLangToWriterName.put(Lang.NTRIPLES, WebContent.langNTriples) ;
- mapLangToWriterName.put(Lang.RDFXML, WebContent.langRDFXML) ;
+ mapLangToWriterName.put(RDFLanguages.N3, WebContent.langN3) ;
+ mapLangToWriterName.put(RDFLanguages.RDFJSON, WebContent.langRdfJson) ;
+ mapLangToWriterName.put(RDFLanguages.TURTLE, WebContent.langTurtle) ;
+ mapLangToWriterName.put(RDFLanguages.NTRIPLES, WebContent.langNTriples) ;
+ mapLangToWriterName.put(RDFLanguages.RDFXML, WebContent.langRDFXML) ;
}
+ private static Model dummy = ModelFactory.createDefaultModel() ;
public static RDFWriter chooseWriter(Lang lang)
{
if ( lang == null )
- lang = Lang.RDFXML ;
+ lang = RDFLanguages.RDFXML ;
String name = mapLangToWriterName.get(lang) ;
-
if ( name == null )
throw new RiotException("Not a triples language: "+lang) ;
return dummy.getWriter(name) ;
}
-// static public MediaType match(String headerString, AcceptList offerList)
-// {
-// AcceptList l = new AcceptList(headerString) ;
-// return AcceptList.match(l, offerList) ;
-// }
-//
-// public static String match(String headerString, String str)
-// {
-// AcceptList l = new AcceptList(headerString) ;
-// MediaType aItem = new MediaType(str) ;
-//
-// MediaType m = l.match(aItem) ;
-// if ( m == null )
-// return null ;
-// return m.toHeaderString() ;
-// }
-//
-// public static boolean accept(String headerString, String str)
-// {
-// AcceptList l = new AcceptList(headerString) ;
-// MediaType aItem = new MediaType(str) ;
-// return l.accepts(aItem) ;
-// }
-
static String fmtRequest(HttpServletRequest request)
{
StringBuffer sbuff = new StringBuffer() ;
@@ -181,7 +136,7 @@ public class FusekiLib
public static String safeParameter(HttpServletRequest request, String pName)
{
- String value = request.getParameter("dataset") ;
+ String value = request.getParameter(pName) ;
value = StringUtils.replaceChars(value, "\r", "") ;
value = StringUtils.replaceChars(value, "\n", "") ;
return value ;
Modified: jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/conneg/WebLib.java
URL: http://svn.apache.org/viewvc/jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/conneg/WebLib.java?rev=1430447&r1=1430446&r2=1430447&view=diff
==============================================================================
--- jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/conneg/WebLib.java (original)
+++ jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/conneg/WebLib.java Tue Jan 8 19:07:23 2013
@@ -43,7 +43,6 @@ public class WebLib
public static String getAccept(HttpServletRequest httpRequest)
{
// There can be multiple accept headers -- note many tools don't allow these to be this way (e.g. wget, curl)
- @SuppressWarnings("unchecked")
Enumeration<String> en = httpRequest.getHeaders(HttpNames.hAccept) ;
if ( ! en.hasMoreElements() )
return null ;
Modified: jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/http/DatasetGraphAccessorBasic.java
URL: http://svn.apache.org/viewvc/jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/http/DatasetGraphAccessorBasic.java?rev=1430447&r1=1430446&r2=1430447&view=diff
==============================================================================
--- jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/http/DatasetGraphAccessorBasic.java (original)
+++ jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/http/DatasetGraphAccessorBasic.java Tue Jan 8 19:07:23 2013
@@ -19,9 +19,10 @@
package org.apache.jena.fuseki.http;
-import com.hp.hpl.jena.graph.Graph ;
-import com.hp.hpl.jena.graph.Node ;
-import com.hp.hpl.jena.sparql.core.DatasetGraph ;
+import com.hp.hpl.jena.graph.Graph ;
+import com.hp.hpl.jena.graph.GraphUtil ;
+import com.hp.hpl.jena.graph.Node ;
+import com.hp.hpl.jena.sparql.core.DatasetGraph ;
/**
* General implementation of operations for the SPARQL HTTP Update protocol
@@ -113,12 +114,12 @@ public class DatasetGraphAccessorBasic i
private void clearGraph(Graph graph)
{
if ( ! graph.isEmpty() )
- graph.getBulkUpdateHandler().removeAll() ;
+ graph.clear() ;
}
private void mergeGraph(Graph graph, Graph data)
{
- graph.getBulkUpdateHandler().add(data) ;
+ GraphUtil.addInto(graph, data) ;
}
}
Modified: jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/http/DatasetGraphAccessorHTTP.java
URL: http://svn.apache.org/viewvc/jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/http/DatasetGraphAccessorHTTP.java?rev=1430447&r1=1430446&r2=1430447&view=diff
==============================================================================
--- jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/http/DatasetGraphAccessorHTTP.java (original)
+++ jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/http/DatasetGraphAccessorHTTP.java Tue Jan 8 19:07:23 2013
@@ -30,28 +30,26 @@ import org.apache.http.HttpVersion ;
import org.apache.http.client.HttpClient ;
import org.apache.http.client.methods.* ;
import org.apache.http.entity.InputStreamEntity ;
-import org.apache.http.impl.client.DefaultHttpClient ;
+import org.apache.http.impl.client.SystemDefaultHttpClient ;
import org.apache.http.params.BasicHttpParams ;
import org.apache.http.params.HttpConnectionParams ;
import org.apache.http.params.HttpParams ;
import org.apache.http.params.HttpProtocolParams ;
-import org.apache.http.protocol.HTTP ;
import org.apache.jena.atlas.io.IO ;
import org.apache.jena.atlas.lib.IRILib ;
-import org.apache.jena.atlas.lib.Sink ;
import org.apache.jena.atlas.logging.Log ;
import org.apache.jena.atlas.web.TypedInputStream ;
import org.apache.jena.fuseki.* ;
import org.apache.jena.fuseki.migrate.UnmodifiableGraph ;
-import org.openjena.riot.Lang ;
-import org.openjena.riot.RiotReader ;
-import org.openjena.riot.WebContent ;
-import org.openjena.riot.lang.LangRIOT ;
-import org.openjena.riot.lang.SinkTriplesToGraph ;
+import org.apache.jena.riot.Lang ;
+import org.apache.jena.riot.RiotReader ;
+import org.apache.jena.riot.WebContent ;
+import org.apache.jena.riot.lang.LangRIOT ;
+import org.apache.jena.riot.system.StreamRDF ;
+import org.apache.jena.riot.system.StreamRDFLib ;
import com.hp.hpl.jena.graph.Graph ;
import com.hp.hpl.jena.graph.Node ;
-import com.hp.hpl.jena.graph.Triple ;
import com.hp.hpl.jena.rdf.model.Model ;
import com.hp.hpl.jena.rdf.model.ModelFactory ;
import com.hp.hpl.jena.sparql.graph.GraphFactory ;
@@ -176,7 +174,7 @@ public class DatasetGraphAccessorHTTP im
HttpParams httpParams$ = new BasicHttpParams() ;
// See DefaultHttpClient.createHttpParams
HttpProtocolParams.setVersion(httpParams$, HttpVersion.HTTP_1_1);
- HttpProtocolParams.setContentCharset(httpParams$, HTTP.DEFAULT_CONTENT_CHARSET);
+ HttpProtocolParams.setContentCharset(httpParams$, WebContent.charsetUTF8);
HttpProtocolParams.setUseExpectContinue(httpParams$, true);
HttpConnectionParams.setTcpNoDelay(httpParams$, true);
HttpConnectionParams.setSocketBufferSize(httpParams$, 32*1024);
@@ -194,7 +192,7 @@ public class DatasetGraphAccessorHTTP im
private Graph exec(String targetStr, Graph graphToSend, HttpUriRequest httpRequest, boolean processBody)
{
- HttpClient httpclient = new DefaultHttpClient(httpParams) ;
+ HttpClient httpclient = new SystemDefaultHttpClient(httpParams) ;
if ( graphToSend != null )
{
@@ -207,7 +205,7 @@ public class DatasetGraphAccessorHTTP im
ByteArrayInputStream in = new ByteArrayInputStream(out.toByteArray()) ;
InputStreamEntity reqEntity = new InputStreamEntity(in, bytes.length) ;
reqEntity.setContentType(WebContent.contentTypeRDFXML) ;
- reqEntity.setContentEncoding(HTTP.UTF_8) ;
+ reqEntity.setContentEncoding(WebContent.charsetUTF8) ;
HttpEntity entity = reqEntity ;
((HttpEntityEnclosingRequestBase)httpRequest).setEntity(entity) ;
}
@@ -270,7 +268,7 @@ public class DatasetGraphAccessorHTTP im
InputStream instream = entity.getContent() ;
// String mimeType = ConNeg.chooseContentType(request, rdfOffer, ConNeg.acceptRDFXML).getAcceptType() ;
// String charset = ConNeg.chooseCharset(request, charsetOffer, ConNeg.charsetUTF8).getAcceptType() ;
- ts = new TypedInputStream(instream, contentType, charset) ;
+ ts = new TypedInputStream(instream, contentType, charset, null) ;
}
Graph graph = GraphFactory.createGraphMem() ;
if ( processBody )
@@ -294,11 +292,11 @@ public class DatasetGraphAccessorHTTP im
// Either it's XML and so the XML parser deals with it, or the
// language determines the charset and the parsers offer InputStreams.
- Lang lang = FusekiLib.langFromContentType(ts.getMediaType()) ;
+ Lang lang = FusekiLib.langFromContentType(ts.getContentType()) ;
if ( lang == null )
- throw new FusekiException("Unknown lang for "+ts.getMediaType()) ;
- Sink<Triple> sink = new SinkTriplesToGraph(graph) ;
- LangRIOT parser = RiotReader.createParserTriples(ts, lang, base, sink) ;
+ throw new FusekiException("Unknown lang for "+ts.getMediaType()) ;
+ StreamRDF dest = StreamRDFLib.graph(graph) ;
+ LangRIOT parser = RiotReader.createParser(ts, lang, base, dest) ;
parser.parse() ;
IO.close(ts) ;
}
Modified: jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/http/HttpSC.java
URL: http://svn.apache.org/viewvc/jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/http/HttpSC.java?rev=1430447&r1=1430446&r2=1430447&view=diff
==============================================================================
--- jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/http/HttpSC.java (original)
+++ jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/http/HttpSC.java Tue Jan 8 19:07:23 2013
@@ -670,6 +670,7 @@ public class HttpSC
public final static int UNSUPPORTED_MEDIA_TYPE_415 = 415;
public final static int REQUESTED_RANGE_NOT_SATISFIABLE_416 = 416;
public final static int EXPECTATION_FAILED_417 = 417;
+ public final static int I_AM_A_TEAPOT_418 = 418; // RFC 2324
public final static int UNPROCESSABLE_ENTITY_422 = 422;
public final static int LOCKED_423 = 423;
public final static int FAILED_DEPENDENCY_424 = 424;
@@ -701,7 +702,8 @@ public class HttpSC
/*
* --------------------------------------------------------------------
* Informational messages in 1xx series. As defined by ... RFC 1945 -
- * HTTP/1.0 RFC 2616 - HTTP/1.1 RFC 2518 - WebDAV
+ * HTTP/1.0 RFC 2616 - HTTP/1.1 RFC 2518 - WebDAV
+ * and RFC2324
*/
/** <code>100 Continue</code> */
@@ -799,6 +801,10 @@ public class HttpSC
REQUESTED_RANGE_NOT_SATISFIABLE(REQUESTED_RANGE_NOT_SATISFIABLE_416, "Requested Range Not Satisfiable"),
/** <code>417 Expectation Failed</code> */
EXPECTATION_FAILED(EXPECTATION_FAILED_417, "Expectation Failed"),
+ /** <code>417 I'm a teapot</code>
+ * The response MAY be short and stout.
+ */
+ I_AM_A_TEAPOT(I_AM_A_TEAPOT_418, "I'm a teapot"),
/** <code>422 Unprocessable Entity</code> */
UNPROCESSABLE_ENTITY(UNPROCESSABLE_ENTITY_422, "Unprocessable Entity"),
/** <code>423 Locked</code> */
Modified: jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/http/UpdateRemote.java
URL: http://svn.apache.org/viewvc/jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/http/UpdateRemote.java?rev=1430447&r1=1430446&r2=1430447&view=diff
==============================================================================
--- jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/http/UpdateRemote.java (original)
+++ jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/http/UpdateRemote.java Tue Jan 8 19:07:23 2013
@@ -48,36 +48,5 @@ public class UpdateRemote
{
UpdateProcessor proc = UpdateExecutionFactory.createRemote(request, serviceURL) ;
proc.execute() ;
-
-// HttpPost httpPost = new HttpPost(serviceURL) ;
-// ByteArrayOutputStream b_out = new ByteArrayOutputStream() ;
-// IndentedWriter out = new IndentedWriter(b_out) ;
-// UpdateWriter.output(request, out) ;
-// out.flush() ;
-// byte[] bytes = b_out.toByteArray() ;
-// AbstractHttpEntity reqEntity = new ByteArrayEntity(bytes) ;
-// reqEntity.setContentType(WebContent.contentTypeSPARQLUpdate) ;
-// reqEntity.setContentEncoding(HTTP.UTF_8) ;
-// httpPost.setEntity(reqEntity) ;
-// HttpClient httpclient = new DefaultHttpClient() ;
-//
-// try
-// {
-// HttpResponse response = httpclient.execute(httpPost) ;
-// int responseCode = response.getStatusLine().getStatusCode() ;
-// String responseMessage = response.getStatusLine().getReasonPhrase() ;
-//
-// if ( responseCode == HttpSC.NO_CONTENT_204 )
-// return ;
-// if ( responseCode == HttpSC.OK_200 )
-// // But what was the content?
-// // TODO read body
-// return ;
-// throw new UpdateException(responseCode+" "+responseMessage) ;
-// } catch (IOException ex)
-// {
-// throw new UpdateException(ex) ;
-// }
-
}
}
Modified: jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/mgt/ActionBackup.java
URL: http://svn.apache.org/viewvc/jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/mgt/ActionBackup.java?rev=1430447&r1=1430446&r2=1430447&view=diff
==============================================================================
--- jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/mgt/ActionBackup.java (original)
+++ jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/mgt/ActionBackup.java Tue Jan 8 19:07:23 2013
@@ -39,7 +39,7 @@ import org.apache.jena.fuseki.server.Dat
import org.apache.jena.fuseki.server.DatasetRegistry ;
import org.apache.jena.fuseki.servlets.HttpAction ;
import org.apache.jena.fuseki.servlets.ServletBase ;
-import org.openjena.riot.out.NQuadsWriter ;
+import org.apache.jena.riot.out.NQuadsWriter ;
import com.hp.hpl.jena.sparql.core.DatasetGraph ;
import com.hp.hpl.jena.sparql.util.Utils ;
Modified: jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/migrate/GraphLoadUtils.java
URL: http://svn.apache.org/viewvc/jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/migrate/GraphLoadUtils.java?rev=1430447&r1=1430446&r2=1430447&view=diff
==============================================================================
--- jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/migrate/GraphLoadUtils.java (original)
+++ jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/migrate/GraphLoadUtils.java Tue Jan 8 19:07:23 2013
@@ -21,17 +21,15 @@ package org.apache.jena.fuseki.migrate;
import java.io.InputStream ;
-import org.apache.jena.atlas.lib.Sink ;
import org.apache.jena.fuseki.Fuseki ;
-import org.openjena.riot.Lang ;
-import org.openjena.riot.RiotException ;
-import org.openjena.riot.RiotReader ;
-import org.openjena.riot.lang.LangRIOT ;
-import org.openjena.riot.lang.SinkTriplesToGraph ;
+import org.apache.jena.riot.Lang ;
+import org.apache.jena.riot.RDFDataMgr ;
+import org.apache.jena.riot.RDFLanguages ;
+import org.apache.jena.riot.system.StreamRDF ;
+import org.apache.jena.riot.system.StreamRDFLib ;
import com.hp.hpl.jena.graph.Factory ;
import com.hp.hpl.jena.graph.Graph ;
-import com.hp.hpl.jena.graph.Triple ;
import com.hp.hpl.jena.rdf.model.Model ;
import com.hp.hpl.jena.rdf.model.ModelFactory ;
@@ -71,17 +69,11 @@ public class GraphLoadUtils
// ** Worker.
private static void readUtil(Graph graph, String uri, int limit)
{
- Lang lang = Lang.guess(uri, Lang.RDFXML) ;
-
- Sink<Triple> sink = new SinkTriplesToGraph(graph) ;
- sink = new SinkLimited<Triple>(sink, limit) ;
-
- // TODO Conneg - awaiting RIOT code upgrade.
- InputStream input = Fuseki.webFileManager.open(uri) ;
-
- LangRIOT parser = RiotReader.createParserTriples(input, lang, uri, sink) ;
- try {
- parser.parse() ;
- } catch (RiotException ex) { throw ex ; }
+ Lang lang = RDFLanguages.filenameToLang(uri, RDFLanguages.RDFXML) ;
+ StreamRDF sink = StreamRDFLib.graph(graph) ;
+ sink = new SinkRDFLimited(sink, limit) ;
+
+ InputStream input = Fuseki.webStreamManager.open(uri) ;
+ RDFDataMgr.parse(sink, input, uri, lang, null) ;
}
}
Modified: jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/migrate/WebIO.java
URL: http://svn.apache.org/viewvc/jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/migrate/WebIO.java?rev=1430447&r1=1430446&r2=1430447&view=diff
==============================================================================
--- jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/migrate/WebIO.java (original)
+++ jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/migrate/WebIO.java Tue Jan 8 19:07:23 2013
@@ -26,7 +26,7 @@ import org.apache.http.HttpResponse ;
import org.apache.http.client.HttpClient ;
import org.apache.http.client.methods.HttpGet ;
import org.apache.http.client.methods.HttpUriRequest ;
-import org.apache.http.impl.client.DefaultHttpClient ;
+import org.apache.http.impl.client.SystemDefaultHttpClient ;
import org.apache.jena.atlas.io.IO ;
import org.apache.jena.fuseki.FusekiRequestException ;
@@ -36,7 +36,7 @@ public class WebIO
public static String exec_get(String url)
{
HttpUriRequest httpGet = new HttpGet(url) ;
- HttpClient httpclient = new DefaultHttpClient() ;
+ HttpClient httpclient = new SystemDefaultHttpClient() ;
try {
HttpResponse response = httpclient.execute(httpGet) ;
int responseCode = response.getStatusLine().getStatusCode() ;
Modified: jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/DatasetRef.java
URL: http://svn.apache.org/viewvc/jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/DatasetRef.java?rev=1430447&r1=1430446&r2=1430447&view=diff
==============================================================================
--- jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/DatasetRef.java (original)
+++ jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/DatasetRef.java Tue Jan 8 19:07:23 2013
@@ -26,6 +26,7 @@ import com.hp.hpl.jena.sparql.core.Datas
public class DatasetRef
{
public String name = null ;
+
public List<String> queryEP = new ArrayList<String>() ;
public List<String> updateEP = new ArrayList<String>() ;
public List<String> uploadEP = new ArrayList<String>() ;
@@ -33,6 +34,9 @@ public class DatasetRef
public List<String> readWriteGraphStoreEP = new ArrayList<String>() ;
public DatasetGraph dataset = null ;
+ //TODO Need to be able to set this from the config file.
+ public boolean allowDatasetUpdate = false;
+
public boolean allowTimeoutOverride = false;
public long maximumTimeoutOverride = Long.MAX_VALUE;
}
Modified: jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/FusekiConfig.java
URL: http://svn.apache.org/viewvc/jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/FusekiConfig.java?rev=1430447&r1=1430446&r2=1430447&view=diff
==============================================================================
--- jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/FusekiConfig.java (original)
+++ jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/FusekiConfig.java Tue Jan 8 19:07:23 2013
@@ -97,6 +97,7 @@ public class FusekiConfig
sDesc.updateEP.add(HttpNames.ServiceUpdate) ;
sDesc.uploadEP.add(HttpNames.ServiceUpload) ;
sDesc.readWriteGraphStoreEP.add(HttpNames.ServiceData) ;
+ sDesc.allowDatasetUpdate = true ;
}
else
sDesc.readGraphStoreEP.add(HttpNames.ServiceData) ;
Modified: jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/FusekiVocab.java
URL: http://svn.apache.org/viewvc/jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/FusekiVocab.java?rev=1430447&r1=1430446&r2=1430447&view=diff
==============================================================================
--- jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/FusekiVocab.java (original)
+++ jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/FusekiVocab.java Tue Jan 8 19:07:23 2013
@@ -20,7 +20,7 @@ package org.apache.jena.fuseki.server;
import org.apache.jena.fuseki.FusekiException ;
import org.apache.jena.iri.IRI ;
-import org.openjena.riot.system.IRIResolver ;
+import org.apache.jena.riot.system.IRIResolver ;
import com.hp.hpl.jena.rdf.model.Property ;
import com.hp.hpl.jena.rdf.model.Resource ;
Modified: jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/SPARQLServer.java
URL: http://svn.apache.org/viewvc/jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/SPARQLServer.java?rev=1430447&r1=1430446&r2=1430447&view=diff
==============================================================================
--- jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/SPARQLServer.java (original)
+++ jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/server/SPARQLServer.java Tue Jan 8 19:07:23 2013
@@ -24,6 +24,7 @@ import static org.apache.jena.fuseki.Fus
import java.io.FileInputStream ;
import java.util.* ;
+import javax.servlet.DispatcherType ;
import javax.servlet.http.HttpServlet ;
import org.apache.jena.fuseki.Fuseki ;
@@ -36,6 +37,7 @@ import org.apache.jena.fuseki.validation
import org.apache.jena.fuseki.validation.IRIValidator ;
import org.apache.jena.fuseki.validation.QueryValidator ;
import org.apache.jena.fuseki.validation.UpdateValidator ;
+import org.apache.jena.riot.WebContent ;
import org.eclipse.jetty.http.MimeTypes ;
import org.eclipse.jetty.server.Connector ;
import org.eclipse.jetty.server.Server ;
@@ -44,9 +46,7 @@ import org.eclipse.jetty.servlet.Default
import org.eclipse.jetty.servlet.ServletContextHandler ;
import org.eclipse.jetty.servlet.ServletHolder ;
import org.eclipse.jetty.xml.XmlConfiguration ;
-import org.openjena.riot.WebContent ;
-import org.eclipse.jetty.server.DispatcherType;
import org.eclipse.jetty.servlets.GzipFilter;
@@ -215,7 +215,8 @@ public class SPARQLServer
// The überservlet sits on the dataset name and handles all requests.
// Includes direct naming and quad access to the dataset.
public static boolean überServlet = false ;
-
+ private static List<String> ListOfEmptyString = Arrays.asList("") ;
+
private void configureOneDataset(ServletContextHandler context, DatasetRef sDesc, boolean enableCompression)
{
String datasetPath = sDesc.name ;
@@ -246,12 +247,14 @@ public class SPARQLServer
addServlet(context, datasetPath, sparqlUpload, sDesc.uploadEP, false) ; // No point - no results of any size.
addServlet(context, datasetPath, sparqlHttpR, sDesc.readGraphStoreEP, enableCompression) ;
addServlet(context, datasetPath, sparqlHttpRW, sDesc.readWriteGraphStoreEP, enableCompression) ;
+ // This adds direct operations on the dataset itself.
+ //addServlet(context, datasetPath, sparqlDataset, ListOfEmptyString, enableCompression) ;
}
else
{
// This is the servlet that analyses requests and dispatches them to the appropriate servlet.
// SPARQL Query, SPARQL Update -- handles dataset?query= dataset?update=
- // Graph Store Protocol (direct and indirect naming).
+ // Graph Store Protocol (direct and indirect naming) if enabled.
// GET/PUT/POST on the dataset itself.
// It also checks for a request that looks like a service request and passes it
// on to the service (this takes precedence over direct naming).
Modified: jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/DumpServlet.java
URL: http://svn.apache.org/viewvc/jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/DumpServlet.java?rev=1430447&r1=1430446&r2=1430447&view=diff
==============================================================================
--- jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/DumpServlet.java (original)
+++ jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/DumpServlet.java Tue Jan 8 19:07:23 2013
@@ -155,7 +155,6 @@ public class DumpServlet extends HttpSer
{
// To do: create a string for the output so can send to console and return it.
- @SuppressWarnings("unchecked")
Enumeration<String> en = req.getHeaderNames() ;
for ( ; en.hasMoreElements() ; )
@@ -166,7 +165,6 @@ public class DumpServlet extends HttpSer
}
}
- @SuppressWarnings("unchecked")
Enumeration<String> en2 = req.getAttributeNames() ;
if ( en2.hasMoreElements() )
pw.println();
@@ -196,7 +194,6 @@ public class DumpServlet extends HttpSer
// for ( String value : map.get(name) )
// pw.println("Param: "+name + " = " + value) ;
- @SuppressWarnings("unchecked")
Enumeration<Locale> en = req.getLocales() ;
if ( en.hasMoreElements() )
pw.println();
@@ -282,7 +279,6 @@ the value has
pw.println("serverInfo: '"+sc.getServerInfo()+"'");
{
- @SuppressWarnings("unchecked")
Enumeration<String> en = sc.getInitParameterNames();
if (en != null) {
pw.println("initParameters: ");
@@ -295,7 +291,6 @@ the value has
}
{
- @SuppressWarnings("unchecked")
Enumeration<String> en = sc.getAttributeNames();
if (en != null) {
pw.println("attributes: ");
Modified: jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/HttpServletResponseTracker.java
URL: http://svn.apache.org/viewvc/jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/HttpServletResponseTracker.java?rev=1430447&r1=1430446&r2=1430447&view=diff
==============================================================================
--- jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/HttpServletResponseTracker.java (original)
+++ jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/HttpServletResponseTracker.java Tue Jan 8 19:07:23 2013
@@ -79,6 +79,7 @@ public class HttpServletResponseTracker
}
@Override
+ @Deprecated
public void setStatus(int sc, String sm)
{
statusCode = sc ;
Modified: jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/REST_Quads.java
URL: http://svn.apache.org/viewvc/jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/REST_Quads.java?rev=1430447&r1=1430446&r2=1430447&view=diff
==============================================================================
--- jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/REST_Quads.java (original)
+++ jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/REST_Quads.java Tue Jan 8 19:07:23 2013
@@ -25,21 +25,21 @@ import java.io.IOException ;
import javax.servlet.ServletOutputStream ;
import javax.servlet.http.HttpServletRequest ;
-import org.apache.jena.atlas.lib.Sink ;
import org.apache.jena.atlas.web.MediaType ;
import org.apache.jena.atlas.web.TypedOutputStream ;
import org.apache.jena.fuseki.Fuseki ;
import org.apache.jena.fuseki.FusekiLib ;
import org.apache.jena.fuseki.HttpNames ;
-import org.openjena.riot.Lang ;
-import org.openjena.riot.RiotReader ;
-import org.openjena.riot.RiotWriter ;
-import org.openjena.riot.lang.LangRIOT ;
-import org.openjena.riot.lang.SinkTriplesToGraph ;
+import org.apache.jena.riot.Lang ;
+import org.apache.jena.riot.RDFLanguages ;
+import org.apache.jena.riot.RiotReader ;
+import org.apache.jena.riot.RiotWriter ;
+import org.apache.jena.riot.lang.LangRIOT ;
+import org.apache.jena.riot.system.StreamRDF ;
+import org.apache.jena.riot.system.StreamRDFLib ;
import com.hp.hpl.jena.graph.Graph ;
import com.hp.hpl.jena.graph.Node ;
-import com.hp.hpl.jena.graph.Triple ;
import com.hp.hpl.jena.sparql.core.DatasetGraph ;
/**
@@ -68,21 +68,21 @@ public class REST_Quads extends SPARQL_R
TypedOutputStream out = new TypedOutputStream(output, mediaType) ;
Lang lang = FusekiLib.langFromContentType(mediaType.getContentType()) ;
if ( lang == null )
- lang = Lang.TRIG ;
+ lang = RDFLanguages.TRIG ;
if ( action.verbose )
log.info(format("[%d] Get: Content-Type=%s, Charset=%s => %s",
action.id, mediaType.getContentType(), mediaType.getCharset(), lang.getName())) ;
- if ( ! lang.isQuads() )
+ if ( ! RDFLanguages.isQuads(lang) )
errorBadRequest("Not a quads format: "+mediaType) ;
action.beginRead() ;
try {
DatasetGraph dsg = action.getActiveDSG() ;
- if ( lang == Lang.NQUADS )
+ if ( lang == RDFLanguages.NQUADS )
RiotWriter.writeNQuads(out, dsg) ;
- else if ( lang == Lang.TRIG )
+ else if ( lang == RDFLanguages.TRIG )
errorBadRequest("TriG - Not implemented (yet) : "+mediaType) ;
else
errorBadRequest("No handled: "+mediaType) ;
@@ -112,24 +112,77 @@ public class REST_Quads extends SPARQL_R
@Override
protected void doPost(HttpActionREST action)
{
- if ( ! Fuseki.graphStoreProtocolMode )
+ if ( ! action.getDatasetRef().allowDatasetUpdate )
errorMethodNotAllowed("POST") ;
+
+ // Graph Store Protocol mode - POST triples to dataset causes
+ // a new graph to be created and the new URI returned via Location.
+ // Normally off.
+ // When off, POST of triples goes to default graph.
+ boolean gspMode = Fuseki.graphStoreProtocolPostCreate ;
// Code to pass the GSP test suite.
// Not necessarily good code.
String x = action.request.getContentType() ;
+ if ( x == null )
+ errorBadRequest("Content-type required for data format") ;
MediaType mediaType = MediaType.create(x) ;
Lang lang = FusekiLib.langFromContentType(mediaType.getContentType()) ;
if ( lang == null )
- lang = Lang.TRIG ;
+ lang = RDFLanguages.TRIG ;
if ( action.verbose )
log.info(format("[%d] Post: Content-Type=%s, Charset=%s => %s",
action.id, mediaType.getContentType(), mediaType.getCharset(), lang.getName())) ;
- if ( lang.isQuads() )
- errorBadRequest("Quads format: "+mediaType) ;
+ if ( RDFLanguages.isQuads(lang) )
+ doPostQuads(action, lang) ;
+ else if ( gspMode && RDFLanguages.isTriples(lang) )
+ doPostTriplesGSP(action, lang) ;
+ else if ( RDFLanguages.isTriples(lang) )
+ doPostTriples(action, lang) ;
+ else
+ errorBadRequest("Not a triples or quads format: "+mediaType) ;
+ }
+
+ protected void doPostQuads(HttpActionREST action, Lang lang)
+ {
+ action.beginWrite() ;
+ try {
+ String name = action.request.getRequestURL().toString() ;
+ DatasetGraph dsg = action.getActiveDSG() ;
+ StreamRDF dest = StreamRDFLib.dataset(dsg) ;
+ LangRIOT parser = RiotReader.createParser(action.request.getInputStream(), lang, name , dest) ;
+ parser.parse() ;
+ action.commit();
+ success(action) ;
+ } catch (IOException ex) { action.abort() ; }
+ finally { action.endWrite() ; }
+ }
+
+
+ // POST triples to dataset -- send to default graph.
+ protected void doPostTriples(HttpActionREST action, Lang lang)
+ {
+ action.beginWrite() ;
+ try {
+ DatasetGraph dsg = action.getActiveDSG() ;
+ // This should not be anythign other than the datasets name via this route.
+ String name = action.request.getRequestURL().toString() ;
+ //log.info(format("[%d] ** Content-length: %d", action.id, action.request.getContentLength())) ;
+ Graph g = dsg.getDefaultGraph() ;
+ StreamRDF dest = StreamRDFLib.graph(g) ;
+ LangRIOT parser = RiotReader.createParser(action.request.getInputStream(), lang, name , dest) ;
+ parser.parse() ;
+ action.commit();
+ success(action) ;
+ } catch (IOException ex) { action.abort() ; }
+ finally { action.endWrite() ; }
+ }
+
+ protected void doPostTriplesGSP(HttpActionREST action, Lang lang)
+ {
action.beginWrite() ;
try {
DatasetGraph dsg = action.getActiveDSG() ;
@@ -141,9 +194,8 @@ public class REST_Quads extends SPARQL_R
name = name+(++counter) ;
Node gn = Node.createURI(name) ;
Graph g = dsg.getGraph(gn) ;
- Sink<Triple> sink = new SinkTriplesToGraph(g) ;
-
- LangRIOT parser = RiotReader.createParserTriples(action.request.getInputStream(), lang, name , sink) ;
+ StreamRDF dest = StreamRDFLib.graph(g) ;
+ LangRIOT parser = RiotReader.createParser(action.request.getInputStream(), lang, name , dest) ;
parser.parse() ;
log.info(format("[%d] Location: %s", action.id, name)) ;
action.response.setHeader("Location", name) ;
@@ -151,9 +203,7 @@ public class REST_Quads extends SPARQL_R
successCreated(action) ;
} catch (IOException ex) { action.abort() ; }
finally { action.endWrite() ; }
-
}
-
@Override
protected void doDelete(HttpActionREST action)
Modified: jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/ResponseModel.java
URL: http://svn.apache.org/viewvc/jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/ResponseModel.java?rev=1430447&r1=1430446&r2=1430447&view=diff
==============================================================================
--- jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/ResponseModel.java (original)
+++ jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/ResponseModel.java Tue Jan 8 19:07:23 2013
@@ -32,8 +32,8 @@ import org.apache.jena.fuseki.FusekiLib
import org.apache.jena.fuseki.conneg.ConNeg ;
import org.apache.jena.fuseki.conneg.WebLib ;
import org.apache.jena.fuseki.http.HttpSC ;
-import org.openjena.riot.Lang ;
-import org.openjena.riot.WebContent ;
+import org.apache.jena.riot.Lang ;
+import org.apache.jena.riot.WebContent ;
import com.hp.hpl.jena.rdf.model.Model ;
import com.hp.hpl.jena.rdf.model.RDFWriter ;
Modified: jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/ResponseResultSet.java
URL: http://svn.apache.org/viewvc/jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/ResponseResultSet.java?rev=1430447&r1=1430446&r2=1430447&view=diff
==============================================================================
--- jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/ResponseResultSet.java (original)
+++ jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/ResponseResultSet.java Tue Jan 8 19:07:23 2013
@@ -33,8 +33,8 @@ import org.apache.jena.fuseki.DEF ;
import org.apache.jena.fuseki.FusekiException ;
import org.apache.jena.fuseki.conneg.ConNeg ;
import org.apache.jena.fuseki.http.HttpSC ;
+import org.apache.jena.riot.WebContent ;
import static org.apache.jena.atlas.lib.Lib.equal ;
-import org.openjena.riot.WebContent ;
import org.slf4j.Logger ;
import org.slf4j.LoggerFactory ;
Modified: jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Query.java
URL: http://svn.apache.org/viewvc/jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Query.java?rev=1430447&r1=1430446&r2=1430447&view=diff
==============================================================================
--- jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Query.java (original)
+++ jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Query.java Tue Jan 8 19:07:23 2013
@@ -47,7 +47,7 @@ import org.apache.jena.fuseki.HttpNames
import org.apache.jena.fuseki.http.HttpSC ;
import org.apache.jena.fuseki.migrate.WebIO ;
import org.apache.jena.fuseki.server.DatasetRef ;
-import org.openjena.riot.WebContent ;
+import org.apache.jena.riot.WebContent ;
import com.hp.hpl.jena.query.* ;
import com.hp.hpl.jena.rdf.model.Model ;
@@ -198,7 +198,6 @@ public abstract class SPARQL_Query exten
if ( params != null )
{
- @SuppressWarnings("unchecked")
Enumeration<String> en = request.getParameterNames() ;
for ( ; en.hasMoreElements() ; )
{
Modified: jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_QueryGeneral.java
URL: http://svn.apache.org/viewvc/jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_QueryGeneral.java?rev=1430447&r1=1430446&r2=1430447&view=diff
==============================================================================
--- jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_QueryGeneral.java (original)
+++ jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_QueryGeneral.java Tue Jan 8 19:07:23 2013
@@ -26,7 +26,7 @@ import javax.servlet.http.HttpServletReq
import org.apache.jena.atlas.lib.InternalErrorException ;
import org.apache.jena.fuseki.migrate.GraphLoadUtils ;
-import org.openjena.riot.RiotException ;
+import org.apache.jena.riot.RiotException ;
import com.hp.hpl.jena.query.Dataset ;
import com.hp.hpl.jena.query.DatasetFactory ;
Modified: jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_REST.java
URL: http://svn.apache.org/viewvc/jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_REST.java?rev=1430447&r1=1430446&r2=1430447&view=diff
==============================================================================
--- jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_REST.java (original)
+++ jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_REST.java Tue Jan 8 19:07:23 2013
@@ -38,22 +38,23 @@ import javax.servlet.ServletException ;
import javax.servlet.http.HttpServletRequest ;
import javax.servlet.http.HttpServletResponse ;
-import org.apache.jena.atlas.lib.Sink ;
import org.apache.jena.atlas.web.ContentType ;
import org.apache.jena.fuseki.FusekiLib ;
import org.apache.jena.fuseki.HttpNames ;
import org.apache.jena.fuseki.http.HttpSC ;
import org.apache.jena.fuseki.server.DatasetRef ;
-import org.openjena.riot.* ;
-import org.openjena.riot.lang.LangRIOT ;
-import org.openjena.riot.lang.SinkTriplesToGraph ;
-import org.openjena.riot.system.IRIResolver ;
+import org.apache.jena.riot.Lang ;
+import org.apache.jena.riot.RiotException ;
+import org.apache.jena.riot.RiotReader ;
+import org.apache.jena.riot.WebContent ;
+import org.apache.jena.riot.lang.LangRIOT ;
+import org.apache.jena.riot.system.* ;
import org.slf4j.Logger ;
import org.slf4j.LoggerFactory ;
import com.hp.hpl.jena.graph.Graph ;
+import com.hp.hpl.jena.graph.GraphUtil ;
import com.hp.hpl.jena.graph.Node ;
-import com.hp.hpl.jena.graph.Triple ;
import com.hp.hpl.jena.sparql.core.DatasetGraph ;
import com.hp.hpl.jena.sparql.core.DatasetGraphFactory ;
import com.hp.hpl.jena.sparql.graph.GraphFactory ;
@@ -204,7 +205,7 @@ public abstract class SPARQL_REST extend
private void dispatch(HttpActionREST action)
{
- HttpServletRequest req = action.request ;
+ HttpServletRequest req = action.request ;
HttpServletResponse resp = action.response ;
String method = req.getMethod().toUpperCase() ;
@@ -243,7 +244,7 @@ public abstract class SPARQL_REST extend
protected static void deleteGraph(HttpActionREST action)
{
if ( action.getTarget().isDefault )
- action.getTarget().graph().getBulkUpdateHandler().removeAll() ;
+ action.getTarget().graph().clear() ;
else
action.getActiveDSG().removeGraph(action.getTarget().graphName) ;
}
@@ -253,7 +254,7 @@ public abstract class SPARQL_REST extend
if ( ! target.isGraphSet() )
{
Graph g = target.graph() ;
- g.getBulkUpdateHandler().removeAll() ;
+ g.clear() ;
}
}
@@ -272,7 +273,7 @@ public abstract class SPARQL_REST extend
g = GraphFactory.createDefaultGraph() ;
dest.dsg.addGraph(dest.graphName, g) ;
}
- g.getBulkUpdateHandler().add(data) ;
+ GraphUtil.addInto(g, data) ;
} catch (RuntimeException ex)
{
// If anything went wrong, try to backout.
@@ -357,16 +358,13 @@ public abstract class SPARQL_REST extend
private static DatasetGraph parse(HttpActionREST action, Lang lang, String base, InputStream input)
{
Graph graphTmp = GraphFactory.createGraphMem() ;
- Sink<Triple> sink = new SinkTriplesToGraph(graphTmp) ;
- LangRIOT parser = RiotReader.createParserTriples(input, lang, base, sink) ;
+
+ StreamRDF dest = StreamRDFLib.graph(graphTmp) ;
+ LangRIOT parser = RiotReader.createParser(input, lang, base, dest) ;
parser.getProfile().setHandler(errorHandler) ;
- try {
- parser.parse() ;
- }
+ try { parser.parse() ; }
catch (RiotException ex) { errorBadRequest("Parse error: "+ex.getMessage()) ; }
- finally { sink.close() ; }
DatasetGraph dsgTmp = DatasetGraphFactory.create(graphTmp) ;
-
return dsgTmp ;
}
@@ -395,7 +393,6 @@ public abstract class SPARQL_REST extend
if ( x2 > 1 )
errorBadRequest("Multiple ?graph in the query string of the request") ;
- @SuppressWarnings("unchecked")
Enumeration<String> en = request.getParameterNames() ;
for ( ; en.hasMoreElements() ; )
{
Modified: jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_REST_R.java
URL: http://svn.apache.org/viewvc/jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_REST_R.java?rev=1430447&r1=1430446&r2=1430447&view=diff
==============================================================================
--- jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_REST_R.java (original)
+++ jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_REST_R.java Tue Jan 8 19:07:23 2013
@@ -30,8 +30,8 @@ import org.apache.jena.atlas.web.TypedOu
import org.apache.jena.fuseki.FusekiLib ;
import org.apache.jena.fuseki.HttpNames ;
import org.apache.jena.fuseki.server.DatasetRegistry ;
-import org.openjena.riot.Lang ;
-import org.openjena.riot.WebContent ;
+import org.apache.jena.riot.Lang ;
+import org.apache.jena.riot.WebContent ;
import com.hp.hpl.jena.graph.Graph ;
import com.hp.hpl.jena.rdf.model.Model ;
Modified: jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_ServletBase.java
URL: http://svn.apache.org/viewvc/jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_ServletBase.java?rev=1430447&r1=1430446&r2=1430447&view=diff
==============================================================================
--- jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_ServletBase.java (original)
+++ jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_ServletBase.java Tue Jan 8 19:07:23 2013
@@ -132,12 +132,10 @@ public abstract class SPARQL_ServletBase
log.info(format("[%d] %s %s", id, method, url)) ;
if ( verbose_debug )
{
- @SuppressWarnings("unchecked")
Enumeration<String> en = request.getHeaderNames() ;
for ( ; en.hasMoreElements() ; )
{
String h = en.nextElement() ;
- @SuppressWarnings("unchecked")
Enumeration<String> vals = request.getHeaders(h) ;
if ( ! vals.hasMoreElements() )
log.info(format("[%d] ",id, h)) ;
Modified: jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_UberServlet.java
URL: http://svn.apache.org/viewvc/jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_UberServlet.java?rev=1430447&r1=1430446&r2=1430447&view=diff
==============================================================================
--- jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_UberServlet.java (original)
+++ jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_UberServlet.java Tue Jan 8 19:07:23 2013
@@ -30,13 +30,12 @@ import org.apache.jena.atlas.iterator.Fi
import org.apache.jena.atlas.iterator.Iter ;
import org.apache.jena.atlas.web.MediaType ;
import org.apache.jena.fuseki.DEF ;
-import org.apache.jena.fuseki.Fuseki ;
import org.apache.jena.fuseki.HttpNames ;
import org.apache.jena.fuseki.conneg.ConNeg ;
import org.apache.jena.fuseki.http.HttpSC ;
import org.apache.jena.fuseki.server.DatasetRef ;
import org.apache.jena.fuseki.server.DatasetRegistry ;
-import org.openjena.riot.WebContent ;
+import org.apache.jena.riot.WebContent ;
/** This servlet can be attached to a dataset location
* and acts as a falserouter for all SPARQL operations
@@ -163,14 +162,6 @@ public abstract class SPARQL_UberServlet
if ( ! hasTrailing && ! hasParams )
{
- // Action on the dataset URI.
- if ( ! Fuseki.graphStoreProtocolMode )
- {
- // Security checking?
- //executeRequest(desc, restQuads, id, request, response) ;
- errorBadRequest("Request not support (quad operation)") ;
- return ;
- }
restQuads.doCommonWorker(id, request, response) ;
return ;
}
Modified: jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Update.java
URL: http://svn.apache.org/viewvc/jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Update.java?rev=1430447&r1=1430446&r2=1430447&view=diff
==============================================================================
--- jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Update.java (original)
+++ jena/branches/streaming-update/jena-fuseki/src/main/java/org/apache/jena/fuseki/servlets/SPARQL_Update.java Tue Jan 8 19:07:23 2013
@@ -44,8 +44,8 @@ import org.apache.jena.fuseki.HttpNames
import org.apache.jena.fuseki.http.HttpSC ;
import org.apache.jena.fuseki.server.DatasetRef ;
import org.apache.jena.iri.IRI ;
-import org.openjena.riot.WebContent ;
-import org.openjena.riot.system.IRIResolver ;
+import org.apache.jena.riot.WebContent ;
+import org.apache.jena.riot.system.IRIResolver ;
import com.hp.hpl.jena.graph.Node ;
import com.hp.hpl.jena.query.QueryParseException ;
@@ -181,7 +181,6 @@ public class SPARQL_Update extends SPARQ
{
if ( params != null )
{
- @SuppressWarnings("unchecked")
Enumeration<String> en = request.getParameterNames() ;
for ( ; en.hasMoreElements() ; )
{