VIVO-719 Don't use streaming unless required.
At some point we need to find out who is not closing connections.
This commit is contained in:
parent
21a3c242df
commit
be11b190bc
1 changed files with 33 additions and 4 deletions
|
@ -478,12 +478,41 @@ public abstract class RDFServiceJena extends RDFServiceImpl implements RDFServic
|
||||||
@Override
|
@Override
|
||||||
public InputStream sparqlSelectQuery(String query, ResultFormat resultFormat)
|
public InputStream sparqlSelectQuery(String query, ResultFormat resultFormat)
|
||||||
throws RDFServiceException {
|
throws RDFServiceException {
|
||||||
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
|
DatasetWrapper dw = getDatasetWrapper();
|
||||||
sparqlSelectQuery(query, resultFormat, outputStream);
|
try {
|
||||||
return new ByteArrayInputStream(outputStream.toByteArray());
|
Dataset d = dw.getDataset();
|
||||||
|
Query q = createQuery(query);
|
||||||
|
QueryExecution qe = createQueryExecution(query, q, d);
|
||||||
|
try {
|
||||||
|
ResultSet resultSet = qe.execSelect();
|
||||||
|
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
|
||||||
|
switch (resultFormat) {
|
||||||
|
case CSV:
|
||||||
|
ResultSetFormatter.outputAsCSV(outputStream,resultSet);
|
||||||
|
break;
|
||||||
|
case TEXT:
|
||||||
|
ResultSetFormatter.out(outputStream,resultSet);
|
||||||
|
break;
|
||||||
|
case JSON:
|
||||||
|
ResultSetFormatter.outputAsJSON(outputStream, resultSet);
|
||||||
|
break;
|
||||||
|
case XML:
|
||||||
|
ResultSetFormatter.outputAsXML(outputStream, resultSet);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
throw new RDFServiceException("unrecognized result format");
|
||||||
|
}
|
||||||
|
InputStream result = new ByteArrayInputStream(outputStream.toByteArray());
|
||||||
|
return result;
|
||||||
|
} finally {
|
||||||
|
qe.close();
|
||||||
|
}
|
||||||
|
} finally {
|
||||||
|
dw.close();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean sparqlAskQuery(String query) throws RDFServiceException {
|
public boolean sparqlAskQuery(String query) throws RDFServiceException {
|
||||||
DatasetWrapper dw = getDatasetWrapper();
|
DatasetWrapper dw = getDatasetWrapper();
|
||||||
try {
|
try {
|
||||||
|
|
Loading…
Add table
Reference in a new issue