use of org.apache.jena.sparql.ARQException in project jena by apache.
the class CSVInput method vars.
private static List<Var> vars(CSVParser parser) {
final List<Var> vars = new ArrayList<>();
List<String> varNames = parser.parse1();
if (varNames == null)
throw new ARQException("SPARQL CSV Results malformed, input is empty");
for (String vn : varNames) {
vars.add(Var.alloc(vn));
}
return vars;
}
use of org.apache.jena.sparql.ARQException in project jena by apache.
the class CSVOutput method format.
@Override
public void format(OutputStream out, boolean booleanResult) {
try {
out.write(headerBytes);
if (booleanResult)
out.write(yesBytes);
else
out.write(noBytes);
out.write(NLBytes);
} catch (IOException ex) {
throw new ARQException(ex);
}
}
use of org.apache.jena.sparql.ARQException in project jena by apache.
the class UpdateValidator method execute.
//static final String paramSyntaxExtended = "extendedSyntax" ;
@Override
protected void execute(HttpServletRequest httpRequest, HttpServletResponse httpResponse) {
try {
// if ( log.isInfoEnabled() )
// log.info("validation request") ;
String[] args = httpRequest.getParameterValues(paramUpdate);
if (args == null || args.length == 0) {
httpResponse.sendError(HttpServletResponse.SC_BAD_REQUEST, "No update parameter to validator");
return;
}
if (args.length > 1) {
httpResponse.sendError(HttpServletResponse.SC_BAD_REQUEST, "Too many update parameters");
return;
}
final String updateString = httpRequest.getParameter(paramUpdate).replaceAll("(\r|\n| )*$", "");
String updateSyntax = httpRequest.getParameter(paramSyntax);
if (updateSyntax == null || updateSyntax.equals(""))
updateSyntax = "SPARQL";
Syntax language = Syntax.lookup(updateSyntax);
if (language == null) {
httpResponse.sendError(HttpServletResponse.SC_BAD_REQUEST, "Unknown syntax: " + updateSyntax);
return;
}
String lineNumbersArg = httpRequest.getParameter(paramLineNumbers);
String[] a = httpRequest.getParameterValues(paramFormat);
// Currently default.
boolean outputSPARQL = true;
boolean lineNumbers = true;
if (lineNumbersArg != null)
lineNumbers = lineNumbersArg.equalsIgnoreCase("true") || lineNumbersArg.equalsIgnoreCase("yes");
// Headers
setHeaders(httpResponse);
ServletOutputStream outStream = httpResponse.getOutputStream();
outStream.println("<html>");
printHead(outStream, "SPARQL Update Validation Report");
outStream.println("<body>");
outStream.println("<h1>SPARQL Update Validator</h1>");
// Print as received
{
outStream.println("<p>Input:</p>");
// Not Java's finest hour.
Content c = new Content() {
@Override
public void print(IndentedWriter out) {
out.print(updateString);
}
};
output(outStream, c, lineNumbers);
}
// Attempt to parse it.
UpdateRequest request = null;
try {
request = UpdateFactory.create(updateString, "http://example/base/", language);
} catch (ARQException ex) {
// Over generous exception (should be QueryException)
// but this makes the code robust.
outStream.println("<p>Syntax error:</p>");
startFixed(outStream);
outStream.println(ex.getMessage());
finishFixed(outStream);
} catch (RuntimeException ex) {
outStream.println("<p>Internal error:</p>");
startFixed(outStream);
outStream.println(ex.getMessage());
finishFixed(outStream);
}
// Because we pass into anon inner classes
final UpdateRequest updateRequest = request;
// OK? Pretty print
if (updateRequest != null && outputSPARQL) {
outStream.println("<p>Formatted, parsed update request:</p>");
Content c = new Content() {
@Override
public void print(IndentedWriter out) {
updateRequest.output(out);
}
};
output(outStream, c, lineNumbers);
}
outStream.println("</body>");
outStream.println("</html>");
} catch (Exception ex) {
serviceLog.warn("Exception in doGet", ex);
}
}
use of org.apache.jena.sparql.ARQException in project jena by apache.
the class QueryValidator method execute.
//static final String paramSyntaxExtended = "extendedSyntax" ;
@Override
protected void execute(HttpServletRequest httpRequest, HttpServletResponse httpResponse) {
try {
// if ( log.isInfoEnabled() )
// log.info("validation request") ;
String[] args = httpRequest.getParameterValues(paramQuery);
if (args == null || args.length == 0) {
httpResponse.sendError(HttpServletResponse.SC_BAD_REQUEST, "No query parameter to validator");
return;
}
if (args.length > 1) {
httpResponse.sendError(HttpServletResponse.SC_BAD_REQUEST, "Too many query parameters");
return;
}
final String queryString = httpRequest.getParameter(paramQuery).replaceAll("(\r|\n| )*$", "");
// queryString = queryString.replace("\r\n", "\n") ;
// queryString.replaceAll("(\r|\n| )*$", "") ;
String querySyntax = httpRequest.getParameter(paramSyntax);
if (querySyntax == null || querySyntax.equals(""))
querySyntax = "SPARQL";
Syntax language = Syntax.lookup(querySyntax);
if (language == null) {
httpResponse.sendError(HttpServletResponse.SC_BAD_REQUEST, "Unknown syntax: " + querySyntax);
return;
}
String lineNumbersArg = httpRequest.getParameter(paramLineNumbers);
String[] a = httpRequest.getParameterValues(paramFormat);
boolean outputSPARQL = false;
boolean outputPrefix = false;
boolean outputAlgebra = false;
boolean outputQuads = false;
boolean outputOptimized = false;
boolean outputOptimizedQuads = false;
if (a != null) {
for (String anA : a) {
if (anA.equals("sparql")) {
outputSPARQL = true;
}
if (anA.equals("prefix")) {
outputPrefix = true;
}
if (anA.equals("algebra")) {
outputAlgebra = true;
}
if (anA.equals("quads")) {
outputQuads = true;
}
if (anA.equals("opt")) {
outputOptimized = true;
}
if (anA.equals("optquads")) {
outputOptimizedQuads = true;
}
}
}
// if ( ! outputSPARQL && ! outputPrefix )
// outputSPARQL = true ;
boolean lineNumbers = true;
if (lineNumbersArg != null)
lineNumbers = lineNumbersArg.equalsIgnoreCase("true") || lineNumbersArg.equalsIgnoreCase("yes");
// Headers
setHeaders(httpResponse);
ServletOutputStream outStream = httpResponse.getOutputStream();
outStream.println("<html>");
printHead(outStream, "SPARQL Query Validation Report");
outStream.println("<body>");
outStream.println("<h1>SPARQL Query Validator</h1>");
// Print query as received
{
outStream.println("<p>Input:</p>");
// Not Java's finest hour.
Content c = new Content() {
@Override
public void print(IndentedWriter out) {
out.print(queryString);
}
};
output(outStream, c, lineNumbers);
}
// Attempt to parse it.
Query query = null;
try {
query = QueryFactory.create(queryString, "http://example/base/", language);
} catch (ARQException ex) {
// Over generous exception (should be QueryException)
// but this makes the code robust.
outStream.println("<p>Syntax error:</p>");
startFixed(outStream);
outStream.println(ex.getMessage());
finishFixed(outStream);
} catch (RuntimeException ex) {
outStream.println("<p>Internal error:</p>");
startFixed(outStream);
outStream.println(ex.getMessage());
finishFixed(outStream);
}
if (query != null) {
if (outputSPARQL)
outputSyntax(outStream, query, lineNumbers);
if (outputAlgebra)
outputAlgebra(outStream, query, lineNumbers);
if (outputQuads)
outputAlgebraQuads(outStream, query, lineNumbers);
if (outputOptimized)
outputAlgebraOpt(outStream, query, lineNumbers);
if (outputOptimizedQuads)
outputAlgebraOptQuads(outStream, query, lineNumbers);
}
outStream.println("</body>");
outStream.println("</html>");
} catch (Exception ex) {
serviceLog.warn("Exception in doGet", ex);
}
}
use of org.apache.jena.sparql.ARQException in project jena by apache.
the class RDFConnectionRemote method fetchDataset.
@Override
public Dataset fetchDataset() {
if (destination == null)
throw new ARQException("Dataset operations not available - no dataset URL provided");
Dataset ds = DatasetFactory.createTxnMem();
Txn.executeWrite(ds, () -> {
TypedInputStream s = exec(() -> HttpOp.execHttpGet(destination, WebContent.defaultDatasetAcceptHeader));
Lang lang = RDFLanguages.contentTypeToLang(s.getContentType());
RDFDataMgr.read(ds, s, lang);
});
return ds;
}
Aggregations