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/12/13 20:12:46 UTC
svn commit: r1550813 - in /jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena:
query/ResultSetFactory.java sparql/resultset/XMLInputStAX.java
Author: andy
Date: Fri Dec 13 19:12:46 2013
New Revision: 1550813
URL: http://svn.apache.org/r1550813
Log:
Don't close stream immediately - ResultSet streamed.
Modified:
jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/query/ResultSetFactory.java
jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/resultset/XMLInputStAX.java
Modified: jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/query/ResultSetFactory.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/query/ResultSetFactory.java?rev=1550813&r1=1550812&r2=1550813&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/query/ResultSetFactory.java (original)
+++ jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/query/ResultSetFactory.java Fri Dec 13 19:12:46 2013
@@ -21,7 +21,6 @@ package com.hp.hpl.jena.query;
import java.io.InputStream ;
import java.util.List ;
-import org.apache.jena.atlas.io.IO ;
import org.apache.jena.atlas.logging.Log ;
import com.hp.hpl.jena.rdf.model.Model ;
@@ -267,32 +266,28 @@ public class ResultSetFactory {
|| format.equals(ResultsFormat.FMT_RS_TSV) || format.equals(ResultsFormat.FMT_RS_CSV)) {
InputStream in = null;
try {
- try {
- in = FileManager.get().open(filenameOrURI);
- if (in == null)
- throw new NotFoundException(filenameOrURI);
- } catch (NotFoundException ex) {
- throw new NotFoundException("File not found: " + filenameOrURI);
- }
-
- SPARQLResult x = null;
-
- if (format.equals(ResultsFormat.FMT_RS_JSON))
- return JSONInput.make(in, GraphFactory.makeDefaultModel());
- else if (format.equals(ResultsFormat.FMT_RS_XML))
- return XMLInput.make(in, GraphFactory.makeDefaultModel());
- else if (format.equals(ResultsFormat.FMT_RS_TSV)) {
- ResultSet rs = TSVInput.fromTSV(in);
- return new SPARQLResult(rs);
- } else if (format.equals(ResultsFormat.FMT_RS_CSV)) {
- ResultSet rs = CSVInput.fromCSV(in);
- return new SPARQLResult(rs);
- } else if (format.equals(ResultsFormat.FMT_RS_BIO)) {
- ResultSet rs = BIOInput.fromBIO(in);
- return new SPARQLResult(rs);
- }
- } finally {
- IO.close(in) ;
+ in = FileManager.get().open(filenameOrURI);
+ if (in == null)
+ throw new NotFoundException(filenameOrURI);
+ } catch (NotFoundException ex) {
+ throw new NotFoundException("File not found: " + filenameOrURI);
+ }
+
+ SPARQLResult x = null;
+
+ if (format.equals(ResultsFormat.FMT_RS_JSON))
+ return JSONInput.make(in, GraphFactory.makeDefaultModel());
+ else if (format.equals(ResultsFormat.FMT_RS_XML))
+ return XMLInput.make(in, GraphFactory.makeDefaultModel());
+ else if (format.equals(ResultsFormat.FMT_RS_TSV)) {
+ ResultSet rs = TSVInput.fromTSV(in);
+ return new SPARQLResult(rs);
+ } else if (format.equals(ResultsFormat.FMT_RS_CSV)) {
+ ResultSet rs = CSVInput.fromCSV(in);
+ return new SPARQLResult(rs);
+ } else if (format.equals(ResultsFormat.FMT_RS_BIO)) {
+ ResultSet rs = BIOInput.fromBIO(in);
+ return new SPARQLResult(rs);
}
}
Modified: jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/resultset/XMLInputStAX.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/resultset/XMLInputStAX.java?rev=1550813&r1=1550812&r2=1550813&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/resultset/XMLInputStAX.java (original)
+++ jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/resultset/XMLInputStAX.java Fri Dec 13 19:12:46 2013
@@ -276,10 +276,10 @@ class XMLInputStAX extends SPARQLResult
@Override
public void close() {
+ if ( finished )
+ return ;
finished = true ;
- try {
- parser.close() ;
- } catch (XMLStreamException ex) {}
+ try { parser.close() ; } catch (XMLStreamException ex) {}
}
// -------- Boolean stuff
@@ -399,10 +399,11 @@ class XMLInputStAX extends SPARQLResult
}
private Binding getOneSolution() throws XMLStreamException {
+ if ( finished )
+ return null ;
// At the start of <result>
BindingMap binding = BindingFactory.create() ;
String varName = null ;
-
while (parser.hasNext()) {
int event = parser.next() ;
String tag = null ;