public Header getContentType() { return new BasicHeader("Content-Type", dataFormat.getDefaultMIMEType() + "; charset=" + charset.name()); }
@Override public String probeContentType(Path path) throws IOException { Optional<RDFFormat> result = Rio.getParserFormatForFileName(path.getFileName().toString()); if (result.isPresent()) { return result.get().getDefaultMIMEType(); } // Specification says to return null if we could not // conclusively determine the file type return null; }
public static String getAcceptPostHeader(String extraFormats) { final Collection<RDFFormat> rdfFormats = filterAvailableParsers(LdpService.SERVER_PREFERED_RDF_FORMATS); final StringBuilder sb = new StringBuilder(); for (RDFFormat rdfFormat : rdfFormats) { sb.append(rdfFormat.getDefaultMIMEType()); sb.append(", "); } if (StringUtils.isNotBlank(extraFormats)) { sb.append(extraFormats); } else if (sb.length() > 1) { sb.delete(sb.length()-2, sb.length()); } return sb.toString(); }
private CloseableHttpResponse exec(HttpEntityEnclosingRequestBase req, HttpEntity entity, RDFFormat format) throws IOException { req.setEntity(entity); req.setHeader(HTTP_HEADER_CONTENT_TYPE, format.getDefaultMIMEType()); if (client == null) { client = buildHttpClient(); } return client.execute(req); }
private String getAcceptHeader() { StringBuilder sb = new StringBuilder(); String preferred = RDFFormat.RDFXML.getDefaultMIMEType(); sb.append(preferred).append(";q=0.2"); Set<RDFFormat> rdfFormats = RDFParserRegistry.getInstance().getKeys(); for (RDFFormat format : rdfFormats) { for (String type : format.getMIMETypes()) { if (!preferred.equals(type)) { sb.append(", ").append(type); } } } return sb.toString(); }
private String getAcceptHeader() { StringBuilder sb = new StringBuilder(); String preferred = RDFFormat.RDFXML.getDefaultMIMEType(); sb.append(preferred).append(";q=0.2"); Set<RDFFormat> rdfFormats = RDFParserRegistry.getInstance().getKeys(); for (RDFFormat format : rdfFormats) { for (String type : format.getMIMETypes()) { if (!preferred.equals(type)) { sb.append(", ").append(type); } } } return sb.toString(); } }
@Override public QueryResultFormat getQueryResultFormat() { return new QueryResultFormat("QueryResultFormat", format.getDefaultMIMEType(), Charset.defaultCharset(), format.getDefaultFileExtension()); }
private String getAcceptHeader() { StringBuilder sb = new StringBuilder(); String preferred = RDFFormat.RDFXML.getDefaultMIMEType(); sb.append(preferred).append(";q=0.2"); Set<RDFFormat> rdfFormats = RDFParserRegistry.getInstance().getKeys(); for (RDFFormat format : rdfFormats) { for (String type : format.getMIMETypes()) { if (!preferred.equals(type)) { sb.append(", ").append(type); } } } return sb.toString(); } }
@Override public QueryResultFormat getQueryResultFormat() { return new QueryResultFormat("QueryResultFormat", format.getDefaultMIMEType(), Charset.defaultCharset(), format.getDefaultFileExtension()); }
public GraphQueryTask(final BigdataSailRepositoryConnection cxn, final String namespace, final long timestamp, final String baseURI, final boolean includeInferred, final Map<String, Value> bindings, final ASTContainer astContainer, final QueryType queryType, final RDFFormat format, final HttpServletRequest req, final HttpServletResponse resp, final OutputStream os) { super(cxn, namespace, timestamp, baseURI, includeInferred, bindings, astContainer, queryType, format.getDefaultMIMEType(), format.getCharset(), format .getDefaultFileExtension(), req, resp, os); }
public GraphQueryTask(final BigdataSailRepositoryConnection cxn, final String namespace, final long timestamp, final String baseURI, final boolean includeInferred, final Map<String, Value> bindings, final ASTContainer astContainer, final QueryType queryType, final RDFFormat format, final HttpServletRequest req, final HttpServletResponse resp, final OutputStream os) { super(cxn, namespace, timestamp, baseURI, includeInferred, bindings, astContainer, queryType, format.getDefaultMIMEType(), format.getCharset(), format .getDefaultFileExtension(), req, resp, os); }
protected void upload(InputStream contents, String baseURI, RDFFormat dataFormat, boolean overwrite, boolean preserveNodeIds, Action action, Resource... contexts) throws IOException, RDFParseException, RepositoryException, UnauthorizedException { // Set Content-Length to -1 as we don't know it and we also don't want to // cache HttpEntity entity = new InputStreamEntity(contents, -1, ContentType.parse(dataFormat.getDefaultMIMEType())); upload(entity, baseURI, overwrite, preserveNodeIds, action, contexts); }
private Model execGraphQuery(java.net.URI target, String query) { try { log.debug("Executing SPARQL tuple query: {}", query.replaceAll("\\s*[\\r\\n]+\\s*", " ").trim()); RDFFormat format = RDFFormat.TURTLE; CloseableHttpResponse response = client.post(target, query, format.getDefaultMIMEType(),SPARQL_QUERY_MIME_TYPE); final int status = response.getStatusLine().getStatusCode(); log.debug("Request resolved with {} status code: {}", status, response.getStatusLine().getReasonPhrase()); try { if (status >= 200 && status < 300) { String entity = EntityUtils.toString(response.getEntity()); return Rio.parse(new StringReader(entity), target.toString(), RDFFormat.TURTLE, new ParserConfig(), ValueFactoryImpl.getInstance(), new ParseErrorLogger()); } else { // TODO: improve this feedback from the sdk (400, 500, etc) throw new RuntimeException("Query failed: HTTP error code " + status + ": " + response.getStatusLine().getReasonPhrase()); } } catch (RDFParseException e) { log.error("Error parsing query results: {}", e.getMessage(), e); throw new RuntimeException(e); } finally { response.close(); } } catch (IllegalArgumentException | IOException e) { throw new RuntimeException(e); } }
private Model getResource(UriBuilder uriBuilder) { RDFFormat format = RDFFormat.TURTLE; try { java.net.URI target = credentials.buildUrl(uriBuilder); log.debug("Exporting {} data from resource {}", format.getName(), target.toString()); String entity = client.get(target, format.getDefaultMIMEType()); return Rio.parse(new StringReader(entity), target.toString(), format, new ParserConfig(), ValueFactoryImpl.getInstance(), new ParseErrorLogger()); } catch (IllegalArgumentException | URISyntaxException | RDFParseException | IOException e) { if (e instanceof ClientProtocolException && "Unexpected response status: 404".compareTo(e.getMessage())==0) { //keeping old behavior, should not be silently fail (i.e. return empty model)? return new LinkedHashModel(); } else { throw new RuntimeException(e); } } }
@Override public Model exportDataset(String dataset) { RDFFormat format = RDFFormat.TURTLE; try { final java.net.URI target = credentials.buildUrl(getDatasetUriBuilder(dataset)); log.debug("Exporting {} data from dataset {}", format.getName(), dataset); final String entity = client.get(target, format.getDefaultMIMEType()); return Rio.parse(new StringReader(entity), target.toString(), format, new ParserConfig(), ValueFactoryImpl.getInstance(), new ParseErrorLogger()); } catch (IllegalArgumentException | URISyntaxException | RDFParseException | IOException e) { throw new RuntimeException(e); } }
new AppendableRepresentation(writer.toString(), MediaType.valueOf(outputFormat.getDefaultMIMEType()), Language.DEFAULT, CharacterSet.UTF_8);
/** Test the default mime type for each {@link RDFFormat}. */ @SuppressWarnings({ "rawtypes", "unchecked" }) public void test_conneg_rdf_data_01() { for (RDFFormat format : RDFFormat.values()) { final ConnegUtil util = new ConnegUtil(format.getDefaultMIMEType()); assertEquals(format.getName(), format, util.getRDFFormat()); if (!format.getName().equals("JSON")) { assertNull(format.getName(), util.getTupleQueryResultFormat()); } assertSameArray(new ConnegScore[] {// new ConnegScore(1f, format) },// util.getScores(RDFFormat.class)); } }
responseContent = tupleQueryResponse; } else { responseMimeType = RDFFormat.NTRIPLES.getDefaultMIMEType(); responseContent = graphQueryResponse;
/** Test the default mime type for each {@link RDFFormat}. */ @SuppressWarnings({ "rawtypes", "unchecked" }) public void test_conneg_rdf_data_01() { for (RDFFormat format : RDFFormat.values()) { final ConnegUtil util = new ConnegUtil(format.getDefaultMIMEType()); assertEquals(format.getName(), format, util.getRDFFormat()); if (!format.getName().equals("JSON")) { assertNull(format.getName(), util.getTupleQueryResultFormat()); } assertSameArray(new ConnegScore[] {// new ConnegScore(1f, format) },// util.getScores(RDFFormat.class)); } }
private void testGetBase(RDFFormat format) throws Exception { String data = given().header("Accept",format.getDefaultMIMEType()).expect().statusCode(200).when().get(createResourceURI("sepp_huber").stringValue()).asString(); Repository mem = new SailRepository(new MemoryStore()); mem.initialize(); RepositoryConnection con = mem.getConnection(); RepositoryConnection icon = sesameService.getConnection(); try { con.begin(); con.add(new StringReader(data), RestAssured.baseURI + ":" + RestAssured.port + RestAssured.basePath, format); Assert.assertTrue(con.hasStatement(createResourceURI("sepp_huber"),null,null,true)); RepositoryResult<Statement> statements = icon.getStatements(createResourceURI("sepp_huber"), null,null,true); while(statements.hasNext()) { Statement stmt = statements.next(); Assert.assertTrue("statement "+stmt+" not found in results",con.hasStatement(stmt,true)); } con.commit(); icon.commit(); } finally { con.close(); icon.close(); } String invalid = given().header("Accept",format.getDefaultMIMEType()).expect().statusCode(404).when().get(createResourceURI("xyz").stringValue()).asString(); }