[Mulgara-svn] r1889 - trunk/src/jar/querylang/java/org/mulgara/protocol
pag at mulgara.org
pag at mulgara.org
Tue Jan 19 23:10:30 UTC 2010
Author: pag
Date: 2010-01-19 15:10:29 -0800 (Tue, 19 Jan 2010)
New Revision: 1889
Modified:
trunk/src/jar/querylang/java/org/mulgara/protocol/StreamedTqlXMLAnswer.java
Log:
Fixed up handling of subanswers and closed them after processing
Modified: trunk/src/jar/querylang/java/org/mulgara/protocol/StreamedTqlXMLAnswer.java
===================================================================
--- trunk/src/jar/querylang/java/org/mulgara/protocol/StreamedTqlXMLAnswer.java 2010-01-07 15:05:53 UTC (rev 1888)
+++ trunk/src/jar/querylang/java/org/mulgara/protocol/StreamedTqlXMLAnswer.java 2010-01-19 23:10:29 UTC (rev 1889)
@@ -97,8 +97,11 @@
/** {@inheritDoc} */
protected void addResult(Answer a, int indent) throws TuplesException, IOException {
+ int width = (a != null) ? a.getNumberOfVariables() : 0;
+ Variable[] vars = (a != null) ? a.getVariables() : null;
+
s.append(i(indent + 2)).append("<solution>");
- for (int c = 0; c < width; c++) addBinding(vars[c], answer.getObject(c), indent);
+ for (int c = 0; c < width; c++) addBinding(vars[c], a.getObject(c), indent);
s.append(i(indent + 2)).append("</solution>");
}
@@ -127,8 +130,11 @@
addLiteral((Literal)value);
s.append("</").append(var.getName()).append(">");
} else if (value instanceof Answer) {
+ s.append(">");
addHeader((Answer)value, indent + 4);
addResults((Answer)value, indent + 4);
+ s.append("</").append(var.getName()).append(">");
+ ((Answer)value).close();
} else throw new IllegalArgumentException("Unable to create a SPARQL response with an answer containing: " + value.getClass().getSimpleName());
}
}
More information about the Mulgara-svn
mailing list