log a jira please.

On 3/6/2013 5:26 AM, Jean-François HEROUARD wrote:
> While playing with SerializableProvider in RestEASY beta 3 I got errors
> due to a MediaType being changed to
> "application/x-java-serialized-object;charset=UTF-8" by a global servlet
> Spring filter. Charset is useless but I think the @Provider should use
> MediaType.isCompatible instead of String equels.
>
> Here is the modification I made :
>
> @Provider
> @Produces(SerializableProvider.MIMETYPE)
> @Consumes(SerializableProvider.MIMETYPE)
> public class SerializableProvider implements
> MessageBodyReader<Serializable>, MessageBodyWriter<Serializable> {
>      /** Marshaller for Java serialized objects */
>      public final static String MIMETYPE =
> "application/x-java-serialized-object";
>      /** Corresponding MediaType */
>      public final static MediaType MEDIATYPE = new
> MediaType("application", "x-java-serialized-object");
>
>      @Override
>      public boolean isWriteable(Class<?> type, Type genericType,
> Annotation[] annotations, MediaType mediaType) {
>          return Serializable.class.isAssignableFrom(type) &&
> MEDIATYPE.isCompatible(mediaType);
>      }
>
>      @Override
>      public long getSize(Serializable t, Class<?> type, Type
> genericType, Annotation[] annotations, MediaType mediaType) {
>          return -1;
>      }
>
>      @Override
>      public void writeTo(Serializable t, Class<?> type, Type
> genericType, Annotation[] annotations, MediaType mediaType,
>              MultivaluedMap<String, Object> httpHeaders, OutputStream
> entityStream) throws IOException,
>              WebApplicationException {
>          BufferedOutputStream bos = new BufferedOutputStream(entityStream);
>          ObjectOutputStream oos = new ObjectOutputStream(bos);
>          oos.writeObject(t);
>          oos.close();
>      }
>
>      @Override
>      public boolean isReadable(Class<?> type, Type genericType,
> Annotation[] annotations, MediaType mediaType) {
>          return Serializable.class.isAssignableFrom(type)
>                  && MEDIATYPE.isCompatible(mediaType);
>      }
>
>      @Override
>      public Serializable readFrom(Class<Serializable> type, Type
> genericType, Annotation[] annotations,
>              MediaType mediaType, MultivaluedMap<String, String>
> httpHeaders, InputStream entityStream)
>              throws IOException, WebApplicationException {
>          BufferedInputStream bis = new BufferedInputStream(entityStream);
>          ObjectInputStream ois = new ObjectInputStream(bis);
>          try {
>              return Serializable.class.cast(ois.readObject());
>          } catch (ClassNotFoundException e) {
>              throw new WebApplicationException(e);
>          }
>      }
> }
>
>
> ------------------------------------------------------------------------------
> Symantec Endpoint Protection 12 positioned as A LEADER in The Forrester
> Wave(TM): Endpoint Security, Q1 2013 and "remains a good choice" in the
> endpoint security space. For insight on selecting the right partner to
> tackle endpoint security challenges, access the full report.
> http://p.sf.net/sfu/symantec-dev2dev
>
>
>
> _______________________________________________
> Resteasy-users mailing list
> Resteasy-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/resteasy-users
>

-- 
Bill Burke
JBoss, a division of Red Hat
http://bill.burkecentral.com

------------------------------------------------------------------------------
Symantec Endpoint Protection 12 positioned as A LEADER in The Forrester  
Wave(TM): Endpoint Security, Q1 2013 and "remains a good choice" in the  
endpoint security space. For insight on selecting the right partner to 
tackle endpoint security challenges, access the full report. 
http://p.sf.net/sfu/symantec-dev2dev
_______________________________________________
Resteasy-users mailing list
Resteasy-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/resteasy-users

Reply via email to