package org.frameworkset.http.converter.json; import java.io.IOException; import java.util.List; import org.frameworkset.http.HttpHeaders; import org.frameworkset.http.HttpInputMessage; import org.frameworkset.http.HttpOutputMessage; import org.frameworkset.http.MediaType; import org.frameworkset.http.converter.AbstractHttpMessageConverter; import org.frameworkset.http.converter.HttpMessageNotReadableException; import org.frameworkset.http.converter.HttpMessageNotWritableException; public class MappingJacksonHttpMessageConverter extends AbstractHttpMessageConverter<Object> implements JsonConvertInf{ private AbstractHttpMessageConverter<Object> convert; public static final String JSONPCALLBACK_PARAM_NAME = "jsonp_callback"; public MappingJacksonHttpMessageConverter() { String jacson2Class = "org.frameworkset.http.converter.json.MappingJackson2HttpMessageConverter"; try { convert = (AbstractHttpMessageConverter<Object>) Class.forName(jacson2Class).newInstance(); } catch (ClassNotFoundException e) { } catch (InstantiationException e) { } catch (IllegalAccessException e) { } catch (NoClassDefFoundError e) { } catch (Exception e) { } if(convert == null) { jacson2Class = "org.frameworkset.http.converter.json.MappingJackson1HttpMessageConverter"; try { convert = (AbstractHttpMessageConverter) Class.forName(jacson2Class).newInstance(); } catch (ClassNotFoundException e) { } catch (InstantiationException e) { } catch (IllegalAccessException e) { } catch (NoClassDefFoundError e) { } catch (Exception e) { } } } @Override public boolean canWrite(String dataype) { // TODO Auto-generated method stub return convert.canWrite(dataype); } @Override public boolean supports(Class<?> clazz) { // TODO Auto-generated method stub return convert.supports(clazz); } @Override public Object readInternal(Class<? extends Object> clazz, HttpInputMessage inputMessage) throws IOException, HttpMessageNotReadableException { // TODO Auto-generated method stub return convert.readInternal(clazz, inputMessage); } @Override public void writeInternal(Object t, HttpOutputMessage outputMessage, HttpInputMessage inputMessage) throws IOException, HttpMessageNotWritableException { convert.writeInternal(t, outputMessage, inputMessage); } @Override public void setResponseCharset(String charset) { // TODO Auto-generated method stub convert.setResponseCharset(charset); } @Override public String getRequetBodyDataType() { // TODO Auto-generated method stub return convert.getRequetBodyDataType(); } @Override public String getResponseBodyDataType() { // TODO Auto-generated method stub return convert.getResponseBodyDataType(); } @Override public boolean canRead(String datatype) { // TODO Auto-generated method stub return convert.canRead(datatype); } @Override public void setSupportedMediaTypes(List<MediaType> supportedMediaTypes) { // TODO Auto-generated method stub convert.setSupportedMediaTypes(supportedMediaTypes); } @Override public List<MediaType> getSupportedMediaTypes() { // TODO Auto-generated method stub return convert.getSupportedMediaTypes(); } @Override public boolean canRead(Class<?> clazz, MediaType mediaType) { // TODO Auto-generated method stub return convert.canRead(clazz, mediaType); } @Override public boolean canRead(MediaType mediaType) { // TODO Auto-generated method stub return convert.canRead(mediaType); } @Override public boolean canWrite(Class<?> clazz, MediaType mediaType) { // TODO Auto-generated method stub return convert.canWrite(clazz, mediaType); } @Override public boolean canWrite(MediaType mediaType) { // TODO Auto-generated method stub return convert.canWrite(mediaType); } @Override public void addDefaultHeaders(HttpHeaders headers, Object t, MediaType contentType) throws IOException { // TODO Auto-generated method stub convert.addDefaultHeaders(headers, t, contentType); } @Override public MediaType getDefaultContentType(Object t) throws IOException { // TODO Auto-generated method stub return convert.getDefaultContentType(t); } @Override public Long getContentLength(Object t, MediaType contentType) throws IOException { // TODO Auto-generated method stub return convert.getContentLength(t, contentType); } @Override public boolean isdefault() { // TODO Auto-generated method stub return convert.isdefault(); } @Override public MediaType getDefaultAcceptedMediaType() { // TODO Auto-generated method stub return convert.getDefaultAcceptedMediaType(); } public void setJsonpCallback(String jsonpCallback) { ((JsonConvertInf)convert).setJsonpCallback(jsonpCallback); } /** * Indicate whether the JSON output by this view should be prefixed with ")]}', ". Default is false. * <p>Prefixing the JSON string in this manner is used to help prevent JSON Hijacking. * The prefix renders the string syntactically invalid as a script so that it cannot be hijacked. * This prefix should be stripped before parsing the string as JSON. * @see #setJsonPrefix */ public void setPrefixJson(boolean prefixJson) { ((JsonConvertInf)convert).setPrefixJson(prefixJson); } public void setObjectMapper(Object objectMapper) { ((JsonConvertInf)convert).setObjectMapper( objectMapper); } }