@Override protected QueryResultFormat getKey(TupleQueryResultWriterFactory factory) { return factory.getTupleQueryResultFormat(); } }
TupleQueryResultFormat qrFormat = qrWriterFactory.getTupleQueryResultFormat(); OutputStream out = response.getOutputStream(); try { TupleQueryResultWriter qrWriter = qrWriterFactory.getWriter(out); TupleQueryResult tupleQueryResult = (TupleQueryResult)model.get(QUERY_RESULT_KEY);
/** * Convenience methods for creating TupleQueryResultWriter objects. This method uses the registry returned * by {@link TupleQueryResultWriterRegistry#getInstance()} to get a factory for the specified format and * uses this factory to create the appropriate writer. * * @return A TupleQueryResultWriter matching the given format. * @throws UnsupportedQueryResultFormatException * If no writer is available for the specified tuple query result format. */ public static TupleQueryResultWriter createTupleWriter(QueryResultFormat format, OutputStream out) throws UnsupportedQueryResultFormatException { TupleQueryResultWriterFactory factory = TupleQueryResultWriterRegistry.getInstance().get( format).orElseThrow( () -> new UnsupportedQueryResultFormatException( "No writer factory available for tuple query result format " + format)); return factory.getWriter(out); }
/** * Convenience methods for creating TupleQueryResultWriter objects. This method uses the registry returned * by {@link TupleQueryResultWriterRegistry#getInstance()} to get a factory for the specified format and * uses this factory to create the appropriate writer. * * @return A TupleQueryResultWriter matching the given format. * @throws UnsupportedQueryResultFormatException * If no writer is available for the specified tuple query result format. */ public static TupleQueryResultWriter createTupleWriter(QueryResultFormat format, OutputStream out) throws UnsupportedQueryResultFormatException { TupleQueryResultWriterFactory factory = TupleQueryResultWriterRegistry.getInstance().get( format).orElseThrow( () -> new UnsupportedQueryResultFormatException( "No writer factory available for tuple query result format " + format)); return factory.getWriter(out); }
/** * Convenience methods for creating QueryResultWriter objects. This method uses the registry returned by * {@link TupleQueryResultWriterRegistry#getInstance()} to get a factory for the specified format and uses * this factory to create the appropriate writer. * * @return A QueryResultWriter matching the given format. * @throws UnsupportedQueryResultFormatException * If no writer is available for the specified tuple query result format. */ public static QueryResultWriter createWriter(QueryResultFormat format, OutputStream out) throws UnsupportedQueryResultFormatException { Supplier<UnsupportedQueryResultFormatException> exception = () -> new UnsupportedQueryResultFormatException( "No writer factory available for query result format " + format); if (format instanceof TupleQueryResultFormat) { TupleQueryResultWriterFactory factory = TupleQueryResultWriterRegistry.getInstance().get( (TupleQueryResultFormat)format).orElseThrow(exception); return factory.getWriter(out); } else if (format instanceof BooleanQueryResultFormat) { BooleanQueryResultWriterFactory factory = BooleanQueryResultWriterRegistry.getInstance().get( (BooleanQueryResultFormat)format).orElseThrow(exception); return factory.getWriter(out); } throw exception.get(); }
@Override protected QueryResultFormat getKey(TupleQueryResultWriterFactory factory) { return factory.getTupleQueryResultFormat(); } }
/** * Convenience methods for creating QueryResultWriter objects. This method uses the registry returned by * {@link TupleQueryResultWriterRegistry#getInstance()} to get a factory for the specified format and uses * this factory to create the appropriate writer. * * @return A QueryResultWriter matching the given format. * @throws UnsupportedQueryResultFormatException * If no writer is available for the specified tuple query result format. */ public static QueryResultWriter createWriter(QueryResultFormat format, OutputStream out) throws UnsupportedQueryResultFormatException { Supplier<UnsupportedQueryResultFormatException> exception = () -> new UnsupportedQueryResultFormatException( "No writer factory available for query result format " + format); if (format instanceof TupleQueryResultFormat) { TupleQueryResultWriterFactory factory = TupleQueryResultWriterRegistry.getInstance().get( (TupleQueryResultFormat)format).orElseThrow(exception); return factory.getWriter(out); } else if (format instanceof BooleanQueryResultFormat) { BooleanQueryResultWriterFactory factory = BooleanQueryResultWriterRegistry.getInstance().get( (BooleanQueryResultFormat)format).orElseThrow(exception); return factory.getWriter(out); } throw exception.get(); }
exchange.sendResponseHeaders(HTTP_OK_STATUS, 0); try (BufferedOutputStream response = new BufferedOutputStream(exchange.getResponseBody())) { TupleQueryResultWriter w = TupleQueryResultWriterRegistry.getInstance().get(format).get().getWriter(response); w.setWriterConfig(writerConfig); ((TupleQuery) query).evaluate(w);