@@ -0,0 +1,2265 @@
+package org.slc.sli.api.resources.config;%0A%0Aimport java.io.IOException;%0Aimport java.io.OutputStream;%0Aimport java.lang.annotation.Annotation;%0Aimport java.lang.reflect.Type;%0Aimport java.util.HashMap;%0A%0Aimport javax.ws.rs.Produces;%0Aimport javax.ws.rs.WebApplicationException;%0Aimport javax.ws.rs.core.MediaType;%0Aimport javax.ws.rs.core.MultivaluedMap;%0Aimport javax.ws.rs.core.Response;%0Aimport javax.ws.rs.ext.MessageBodyWriter;%0Aimport javax.ws.rs.ext.Provider;%0A%0Aimport com.fasterxml.jackson.xml.XmlMapper;%0A%0Aimport org.codehaus.jackson.map.ObjectMapper;%0Aimport org.codehaus.jackson.map.SerializationConfig;%0Aimport org.springframework.stereotype.Component;%0A%0Aimport org.slc.sli.api.representation.Entities;%0Aimport org.slc.sli.api.representation.Home;%0Aimport org.slc.sli.api.resources.Resource;%0A%0A/**%0A * Custom JAXB Context Resolver that will generate XML%0A * %0A * */%0A@SuppressWarnings(%22rawtypes%22)%0A@Provider%0A@Component%0A@Produces(%7B Resource.JSON_MEDIA_TYPE, Resource.SLC_JSON_MEDIA_TYPE %7D)%0Apublic class JacksonJSONMsgBodyWriter implements MessageBodyWriter %7B%0A    %0A    @Override%0A    public boolean isWriteable(Class type, Type genericType, Annotation%5B%5D annotations, MediaType mediaType) %7B%0A        return true;%0A    %7D%0A    %0A    @Override%0A    public long getSize(Object t, Class type, Type genericType, Annotation%5B%5D annotations, MediaType mediaType) %7B%0A        return -1;%0A    %7D%0A    %0A    @Override%0A    public void writeTo(Object t, Class type, Type genericType, Annotation%5B%5D annotations, MediaType mediaType,%0A            MultivaluedMap httpHeaders, OutputStream entityStream) throws IOException, WebApplicationException %7B%0A%0A        Object jsonBody = t;%0A%0A        // check on the class type to see if we need %0A        // to strip off any extraneous wrapper classes %0A        if (type != null) %7B%0A            %0A            if (type.getName().equals(%22org.slc.sli.api.representation.Home%22)) %7B%0A                Home home = (Home)t;%0A                jsonBody = home.getLinksMap();%0A            %7D%0A            else if (type.getName().equals(%22org.slc.sli.api.representation.Entities%22)) %7B%0A                Entities entities = (Entities)t;%0A                jsonBody = entities.getEntityBody();%0A            %7D%0A            %0A        %7D%0A%0A        new ObjectMapper().writeValue(entityStream, jsonBody);%0A    %7D    %0A%7D%0A

add JSON implementation of messageBodyWriter