Hey all, I refactored HTTP I/O code which previously combined Jena's DataManager, DatasetGraphAccessorHTTP, and QueryEngineHTTP using Jersey Client 1.x API.
I think the code became much more higher-level, flexible and consistent. ClientResponse provides a rich interface with full metadata about the response. The serialization logic is orthogonal to HTTP and is separated nicely into JAX-RS MessageBodyReaders/Writers. JAX-RS 2.x provides even more features. I'd like to suggest that Jena 3 evaluates both JAX-RS and Client API as dependencies instead of Apache HTTPClient. Refactored DataManager.loadModel(): https://github.com/Graphity/graphity-core/blob/de8d9c201ea95ec5f8978052697a515c747137b1/src/main/java/org/graphity/core/util/jena/DataManager.java#L130 SPARQL and GSP clients: https://github.com/Graphity/graphity-core/blob/de8d9c201ea95ec5f8978052697a515c747137b1/src/main/java/org/graphity/core/client/SPARQLClient.java https://github.com/Graphity/graphity-core/blob/de8d9c201ea95ec5f8978052697a515c747137b1/src/main/java/org/graphity/core/client/GraphStoreClient.java Model provider: https://github.com/Graphity/graphity-core/blob/de8d9c201ea95ec5f8978052697a515c747137b1/src/main/java/org/graphity/core/provider/ModelProvider.java Martynas graphityhq.com