public static String findMediaType(final String uri) { Optional<RDFFormat> format = RDFFormat.matchFileName(uri, null); if (!format.isPresent()) { throw new IllegalArgumentException("no matching media type for " + uri); } List<String> types = format.get().getMIMETypes(); if (0 == types.size()) { throw new IllegalStateException("RDF format has no media type(s): " + format); } return types.iterator().next(); }
public static String findMediaType(final String uri) { Optional<RDFFormat> format = RDFFormat.matchFileName(uri, null); if (!format.isPresent()) { throw new IllegalArgumentException("no matching media type for " + uri); } List<String> types = format.get().getMIMETypes(); if (0 == types.size()) { throw new IllegalStateException("RDF format has no media type(s): " + format); } return types.iterator().next(); }
@Override protected String getAccept() { StringBuilder sb = new StringBuilder(); Set<RDFFormat> rdfFormats = registry.getKeys(); for (RDFFormat format : rdfFormats) { for (String mimeType : format.getMIMETypes()) { if (sb.length() > 0) { sb.append(", "); } sb.append(mimeType); } } return sb.toString(); }
@PostConstruct public void initialise() { log.info("registering RDF importer ..."); RDFParserRegistry parserRegistry = RDFParserRegistry.getInstance(); acceptTypes = new ArrayList<>(); for(RDFFormat format : parserRegistry.getKeys()) { acceptTypes.addAll(format.getMIMETypes()); } log.info(" - available parsers: {}", Arrays.toString(acceptTypes.toArray())); }
@PostConstruct public void initialise() { log.info("registering RDF importer ..."); RDFParserRegistry parserRegistry = RDFParserRegistry.getInstance(); acceptTypes = new ArrayList<>(); for(RDFFormat format : parserRegistry.getKeys()) { acceptTypes.addAll(format.getMIMETypes()); } log.info(" - available parsers: {}", Arrays.toString(acceptTypes.toArray())); }
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(); }
@Activate protected void activate(ComponentContext ctx){ //parse the supported RDF formats Collection<String> mts = new LinkedHashSet<String>(); for(RDFFormat format : RDFFormat.values()){ mts.addAll(format.getMIMETypes()); } List<MediaType> formats = new ArrayList<MediaType>(mts.size()); for(String format : mts){ try { formats.add(MediaType.valueOf(format)); } catch (IllegalArgumentException e){ log.error("Unable to parse MediaType for Sesame RDF format '" + format + "'!",e); } } supportedRrfFormats = Collections.unmodifiableList(formats); }
/** * Return a set of all mime types that are acceptable by the importer. * @return a set of all mime types that are acceptable by the importer. */ @GET @Path("/types") @Produces("application/json") public List<String> getTypes(@QueryParam("filename") String filename) { if(filename == null) return new ArrayList<>(importService.getAcceptTypes()); else { List<String> result = new ArrayList<>(); RDFFormat format = Rio.getParserFormatForFileName(filename); if(format != null) { result.addAll(format.getMIMETypes()); } return result; } }
/** * Return a set of all mime types that are acceptable by the importer. * @return a set of all mime types that are acceptable by the importer. */ @GET @Path("/types") @Produces("application/json") public List<String> getTypes(@QueryParam("filename") String filename) { if(filename == null) return new ArrayList<>(importService.getAcceptTypes()); else { List<String> result = new ArrayList<>(); RDFFormat format = Rio.getParserFormatForFileName(filename); if(format != null) { result.addAll(format.getMIMETypes()); } return result; } }
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(); } }
/** * returns a list of all mimetypes which can be produced by implemented serializers * @return */ @Override public List<String> getProducedTypes() { Set<String> producedTypes = new LinkedHashSet<>(); for(RDFFormat format : RDFWriterRegistry.getInstance().getKeys()) { // Ignore binary formats if(format.hasCharset()) { producedTypes.addAll(format.getMIMETypes()); } } return new ArrayList<>(producedTypes); }
/** * returns a list of all mimetypes which can be parsed by implemented parsers * @return */ @Override public List<String> getAcceptTypes() { Set<String> acceptTypes = new LinkedHashSet<>(); for(RDFFormat format : RDFParserRegistry.getInstance().getKeys()) { // Ignore binary formats if(format.hasCharset()) { acceptTypes.addAll(format.getMIMETypes()); } } return new ArrayList<>(acceptTypes); }
/** * returns a list of all mimetypes which can be produced by implemented serializers * @return */ @Override public List<String> getProducedTypes() { Set<String> producedTypes = new LinkedHashSet<>(); for(RDFFormat format : RDFWriterRegistry.getInstance().getKeys()) { // Ignore binary formats if(format.hasCharset()) { producedTypes.addAll(format.getMIMETypes()); } } return new ArrayList<>(producedTypes); }
/** * returns a list of all mimetypes which can be parsed by implemented parsers * @return */ @Override public List<String> getAcceptTypes() { Set<String> acceptTypes = new LinkedHashSet<>(); for(RDFFormat format : RDFParserRegistry.getInstance().getKeys()) { // Ignore binary formats if(format.hasCharset()) { acceptTypes.addAll(format.getMIMETypes()); } } return new ArrayList<>(acceptTypes); }
private void addVerbatimRdfizers() { RDFParser.DatatypeHandling datatypeHandling = getDatatypeHandling(); Map<RDFFormat, Rdfizer> rdfizerMap = new HashMap<>(); for (RDFFormat format : RDFParserRegistry.getInstance().getKeys()) { Rdfizer rdfizer = new VerbatimRdfizer(format, datatypeHandling); rdfizerMap.put(format, rdfizer); for (String type : format.getMIMETypes()) { double qualityFactor = type.equals("application/rdf+xml") ? 1.0 : 0.5; addRdfizer(type, rdfizer, qualityFactor); } } addRdfizer("text/xml", rdfizerMap.get(RDFFormat.RDFXML), 0.25); }
public LdpWebService() { producedRdfTypes = new ArrayList<>(); final List<RDFFormat> availableWriters = LdpUtils.filterAvailableWriters(LdpService.SERVER_PREFERED_RDF_FORMATS); for(RDFFormat format : RDFWriterRegistry.getInstance().getKeys()) { final String primaryQ; final int idx = availableWriters.indexOf(format); if (idx < 0) { // not a prefered format primaryQ = ";q=0.5"; } else { // a prefered format primaryQ = String.format(Locale.ENGLISH, ";q=%.1f", Math.max(1.0-(idx*0.1), 0.55)); } final String secondaryQ = ";q=0.3"; final List<String> mimeTypes = format.getMIMETypes(); for (int i = 0; i < mimeTypes.size(); i++) { final String mime = mimeTypes.get(i); if (i == 0) { // first mimetype is the default producedRdfTypes.add(MarmottaHttpUtils.parseContentType(mime + primaryQ)); } else { producedRdfTypes.add(MarmottaHttpUtils.parseContentType(mime + secondaryQ)); } } } Collections.sort(producedRdfTypes); log.debug("Available RDF Serializer: {}", producedRdfTypes); }
private void addVerbatimRdfizers() { RDFParser.DatatypeHandling datatypeHandling = getDatatypeHandling(); Map<RDFFormat, Rdfizer> rdfizerMap = new HashMap<>(); for (RDFFormat format : RDFParserRegistry.getInstance().getKeys()) { Rdfizer rdfizer = new VerbatimRdfizer(format, datatypeHandling); rdfizerMap.put(format, rdfizer); for (String type : format.getMIMETypes()) { double qualityFactor = type.equals("application/rdf+xml") ? 1.0 : 0.5; addRdfizer(type, rdfizer, qualityFactor); } } addRdfizer("text/xml", rdfizerMap.get(RDFFormat.RDFXML), 0.25); }
for (String mimeType : format.getMIMETypes()) {
public void parse(URL url) { // Parse the data from inputStream, // resolving any relative URIs against the URL of the source // Set statement and error handler _parser.setParseErrorListener(new RetrieverErrorListener()); _parser.setRDFHandler(this); try { List<String> mimetypes = _parser.getRDFFormat().getMIMETypes(); InputStream input = Util.getDocumentAsInputStream(url.toString(), mimetypes); _parser.parse(input, url.toString()); } catch (RDFParseException e) { _logger.error(e.getMessage(), e); } catch (RDFHandlerException e) { _logger.error(e.getMessage(), e); } catch (HttpException e) { _logger.error(e.getMessage(), e); } catch (IOException e) { _logger.error(e.getMessage(), e); } }