List of usage examples for org.springframework.http.converter HttpMessageNotWritableException HttpMessageNotWritableException
public HttpMessageNotWritableException(String msg)
From source file:net.gbmb.collector.rest.HttpRecordMessageConverter.java
@Override public void write(CollectionRecord collectionRecord, MediaType mediaType, HttpOutputMessage httpOutputMessage) throws IOException { throw new HttpMessageNotWritableException("Not writable"); }
From source file:org.oncoblocks.centromere.web.util.FilteringJackson2HttpMessageConverter.java
@Override protected void writeInternal(Object object, Type type, HttpOutputMessage outputMessage) throws IOException, HttpMessageNotWritableException { ObjectMapper objectMapper = getObjectMapper(); JsonGenerator jsonGenerator = objectMapper.getFactory().createGenerator(outputMessage.getBody()); try {//from ww w.ja v a 2 s.c o m if (this.prefixJson) { jsonGenerator.writeRaw(")]}', "); } if (object instanceof ResponseEnvelope) { ResponseEnvelope envelope = (ResponseEnvelope) object; Object entity = envelope.getEntity(); Set<String> fieldSet = envelope.getFieldSet(); Set<String> exclude = envelope.getExclude(); FilterProvider filters = null; if (fieldSet != null && !fieldSet.isEmpty()) { if (entity instanceof ResourceSupport) { fieldSet.add("content"); // Don't filter out the wrapped content. } filters = new SimpleFilterProvider() .addFilter("fieldFilter", SimpleBeanPropertyFilter.filterOutAllExcept(fieldSet)) .setFailOnUnknownId(false); } else if (exclude != null && !exclude.isEmpty()) { filters = new SimpleFilterProvider() .addFilter("fieldFilter", SimpleBeanPropertyFilter.serializeAllExcept(exclude)) .setFailOnUnknownId(false); } else { filters = new SimpleFilterProvider() .addFilter("fieldFilter", SimpleBeanPropertyFilter.serializeAllExcept()) .setFailOnUnknownId(false); } objectMapper.setFilterProvider(filters); objectMapper.writeValue(jsonGenerator, entity); } else if (object == null) { jsonGenerator.writeNull(); } else { FilterProvider filters = new SimpleFilterProvider().setFailOnUnknownId(false); objectMapper.setFilterProvider(filters); objectMapper.writeValue(jsonGenerator, object); } } catch (JsonProcessingException e) { e.printStackTrace(); throw new HttpMessageNotWritableException("Could not write JSON: " + e.getMessage()); } }
From source file:com.btmatthews.leabharlann.view.FileContentMessageConverter.java
/** * Set the HTTP headers on the servlet response and stream the file contents to the servlet response's output stream. * * @param fileContent Describes the file content. * @param outputMessage Used to access the servlet response headers and output stream. * @throws IOException If there was an error streaming the file content. * @throws HttpMessageNotWritableException If there was problem retrieving the file content from the Java Content Repository. *//* w w w. ja v a2s . c o m*/ @Override protected void writeInternal(final FileContent fileContent, final HttpOutputMessage outputMessage) throws IOException, HttpMessageNotWritableException { try { jcrAccessor.withNodeId(fileContent.getWorkspace(), fileContent.getId(), new NodeCallback() { @Override public Object doInSessionWithNode(Session session, Node node) throws Exception { final Node resourceNode = node.getNode(Node.JCR_CONTENT); final String mimeType = jcrAccessor.getStringProperty(resourceNode, Property.JCR_MIMETYPE); final Calendar lastModified = jcrAccessor.getCalendarProperty(resourceNode, Property.JCR_LAST_MODIFIED); final Binary data = jcrAccessor.getBinaryProperty(resourceNode, Property.JCR_DATA); if (jcrAccessor.hasProperty(resourceNode, Property.JCR_ENCODING)) { final String encoding = jcrAccessor.getStringProperty(resourceNode, Property.JCR_ENCODING); outputMessage.getHeaders().setContentType(new MediaType(MediaType.valueOf(mimeType), Collections.singletonMap("charset", encoding))); } else { outputMessage.getHeaders().setContentType(MediaType.valueOf(mimeType)); } outputMessage.getHeaders().setContentLength(data.getSize()); if (lastModified != null) { outputMessage.getHeaders().setLastModified(lastModified.getTimeInMillis()); } outputMessage.getHeaders().set("Content-Disposition", "attachment;filename=" + node.getName()); IOUtils.copy(data.getStream(), outputMessage.getBody()); return null; } }); } catch (final RepositoryAccessException e) { throw new HttpMessageNotWritableException(e.getLocalizedMessage()); } }
From source file:hornet.framework.web.converter.AbstractHornetHttpMessageConverter.java
/** * Retourne le service grant l'export de l'objet donn en parametre * * @param toExport//from w ww . java2s . c om * @return * @throws HttpMessageNotWritableException */ protected U getServiceExport(final Object toExport) throws HttpMessageNotWritableException { U theService = null; for (final U exportServiceTest : getServicesExport()) { if (exportServiceTest.supports(toExport.getClass())) { theService = exportServiceTest; break; } } if (theService == null) { throw new HttpMessageNotWritableException( "Aucun service ne sait grer l'export de l'objet " + toExport.getClass()); } return theService; }
From source file:com.monarchapis.driver.spring.rest.ApiErrorResponseEntityExceptionHandlerTest.java
@Test public void testHttpMessageNotWritableException() { performTest(// new HttpMessageNotWritableException("test"), // 400, // "messageNotWritable"); }
From source file:com.onedrive.api.internal.MultipartRelatedHttpMessageConverter.java
@SuppressWarnings("unchecked") private void writePart(String name, HttpEntity<?> partEntity, OutputStream os) throws IOException { Object partBody = partEntity.getBody(); Class<?> partType = partBody.getClass(); HttpHeaders partHeaders = partEntity.getHeaders(); MediaType partContentType = partHeaders.getContentType(); for (HttpMessageConverter<?> messageConverter : this.partConverters) { if (messageConverter.canWrite(partType, partContentType)) { HttpOutputMessage multipartMessage = new MultipartHttpOutputMessage(os); StringBuilder builder = new StringBuilder("<").append(name).append('>'); multipartMessage.getHeaders().set("Content-ID", builder.toString()); if (!partHeaders.isEmpty()) { multipartMessage.getHeaders().putAll(partHeaders); }//from w w w . ja v a2 s .c o m ((HttpMessageConverter<Object>) messageConverter).write(partBody, partContentType, multipartMessage); return; } } throw new HttpMessageNotWritableException("Could not write request: no suitable HttpMessageConverter " + "found for request type [" + partType.getName() + "]"); }
From source file:com.httpMessageConvert.FormHttpMessageConverter.java
@SuppressWarnings("unchecked") private void writePart(String name, HttpEntity partEntity, OutputStream os) throws IOException { Object partBody = partEntity.getBody(); Class<?> partType = partBody.getClass(); HttpHeaders partHeaders = partEntity.getHeaders(); MediaType partContentType = partHeaders.getContentType(); for (HttpMessageConverter messageConverter : partConverters) { if (messageConverter.canWrite(partType, partContentType)) { HttpOutputMessage multipartOutputMessage = new MultipartHttpOutputMessage(os); multipartOutputMessage.getHeaders().setContentDispositionFormData(name, getFilename(partBody)); if (!partHeaders.isEmpty()) { multipartOutputMessage.getHeaders().putAll(partHeaders); }/* w ww. jav a 2s.co m*/ messageConverter.write(partBody, partContentType, multipartOutputMessage); return; } } throw new HttpMessageNotWritableException( "Could not write request: no suitable HttpMessageConverter found for request type [" + partType.getName() + "]"); }
From source file:org.springframework.http.converter.FormHttpMessageConverter.java
@SuppressWarnings("unchecked") private void writePart(String name, HttpEntity<?> partEntity, OutputStream os) throws IOException { Object partBody = partEntity.getBody(); if (partBody == null) { throw new IllegalStateException("Empty body for part '" + name + "': " + partEntity); }//from www . j a va2 s.com Class<?> partType = partBody.getClass(); HttpHeaders partHeaders = partEntity.getHeaders(); MediaType partContentType = partHeaders.getContentType(); for (HttpMessageConverter<?> messageConverter : this.partConverters) { if (messageConverter.canWrite(partType, partContentType)) { Charset charset = isFilenameCharsetSet() ? StandardCharsets.US_ASCII : this.charset; HttpOutputMessage multipartMessage = new MultipartHttpOutputMessage(os, charset); multipartMessage.getHeaders().setContentDispositionFormData(name, getFilename(partBody)); if (!partHeaders.isEmpty()) { multipartMessage.getHeaders().putAll(partHeaders); } ((HttpMessageConverter<Object>) messageConverter).write(partBody, partContentType, multipartMessage); return; } } throw new HttpMessageNotWritableException("Could not write request: no suitable HttpMessageConverter " + "found for request type [" + partType.getName() + "]"); }