@Override public RDFWriter getWriter(String lang) { // If RIOT -> if ( rewiredAlternative != null ) return rewiredAlternative.getWriter(lang) ; if (lang==null || lang.equals("")) lang = DEFAULTLANG ; Class<? extends RDFWriter> c = custom.get(lang); if ( c == null ) throw new NoWriterForLangException("Writer not found: " + lang); try { return c.newInstance(); } catch (InstantiationException | IllegalAccessException e) { throw new JenaException(e); } }
private void testWriterAbsent( final String w ) { final RDFWriterF x = new RDFWriterMap(false); try { x.getWriter(w); } catch (final NoWriterForLangException e) { Assert.assertEquals(w, e.getMessage()); } }
private void testWriterAbsent( final String w ) { final RDFWriterF x = new RDFWriterMap(false); try { x.getWriter(w); } catch (final NoWriterForLangException e) { Assert.assertEquals(w, e.getMessage()); } }
@Override public RDFWriter getWriter(String lang) { // If RIOT -> if ( rewiredAlternative != null ) return rewiredAlternative.getWriter(lang) ; if (lang==null || lang.equals("")) lang = DEFAULTLANG ; Class<? extends RDFWriter> c = custom.get(lang); if ( c == null ) throw new NoWriterForLangException("Writer not found: " + lang); try { return c.newInstance(); } catch (InstantiationException | IllegalAccessException e) { throw new JenaException(e); } }
@Override public void writeTo(Model model, Class<?> type, Type genericType, Annotation[] annotations, MediaType mediaType, MultivaluedMap<String, Object> httpHeaders, OutputStream entityStream) throws IOException { if (log.isTraceEnabled()) log.trace("Writing Model with HTTP headers: {} MediaType: {}", httpHeaders, mediaType); MediaType formatType = new MediaType(mediaType.getType(), mediaType.getSubtype()); // discard charset param Lang lang = RDFLanguages.contentTypeToLang(formatType.toString()); if (lang == null) { if (log.isErrorEnabled()) log.error("MediaType '{}' not supported by Jena", formatType); throw new NoWriterForLangException("MediaType not supported: " + formatType); } if (log.isDebugEnabled()) log.debug("RDF language used to read Model: {}", lang); String baseURI = null; // attempt to retrieve base URI from a special-purpose header (workaround for JAX-RS 1.x limitation) if (httpHeaders.containsKey(RESPONSE_URI_HEADER)) baseURI = httpHeaders.getFirst(RESPONSE_URI_HEADER).toString(); write(model, entityStream, lang, baseURI); }
@Override public void writeTo(Dataset dataset, Class<?> type, Type genericType, Annotation[] annotations, MediaType mediaType, MultivaluedMap<String, Object> httpHeaders, OutputStream entityStream) throws IOException, WebApplicationException { if (log.isTraceEnabled()) log.trace("Writing Dataset with HTTP headers: {} MediaType: {}", httpHeaders, mediaType); MediaType formatType = new MediaType(mediaType.getType(), mediaType.getSubtype()); // discard charset param Lang lang = RDFLanguages.contentTypeToLang(formatType.toString()); if (lang == null) { Throwable ex = new NoWriterForLangException("Media type not supported"); if (log.isErrorEnabled()) log.error("MediaType {} not supported by Jena", formatType); throw new WebApplicationException(ex, Response.Status.INTERNAL_SERVER_ERROR); } String syntax = lang.getName(); if (log.isDebugEnabled()) log.debug("Syntax used to write Dataset: {}", syntax); //dataset.write(entityStream, syntax); RDFDataMgr.write(entityStream, dataset, lang); }
@Override public RDFWriter getWriter( final String lang ) { final Class<RDFWriter> result = map.get(lang); if (result == null) { throw new NoWriterForLangException(lang); } try { return result.newInstance(); } catch (final Exception e) { throw new JenaException(e); } }
@Override public RDFWriter getWriter( final String lang ) { final Class<RDFWriter> result = map.get(lang); if (result == null) { throw new NoWriterForLangException(lang); } try { return result.newInstance(); } catch (final Exception e) { throw new JenaException(e); } }