package org.jboss.resteasy.test.providers.atom.resource;
import org.jboss.logging.Logger;
import org.jboss.resteasy.plugins.providers.atom.Entry;
import org.jboss.resteasy.spi.DecoratorProcessor;
import javax.ws.rs.core.MediaType;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.Marshaller;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.lang.annotation.Annotation;
public class AtomComplexModelAtomAssetMetadtaProcessor implements DecoratorProcessor<Marshaller, AtomComplexModelAtomAssetMetadataDecorators> {
private static Logger logger = Logger.getLogger(AtomComplexModelAtomAssetMetadtaProcessor.class);
@Override
public Marshaller decorate(Marshaller target, AtomComplexModelAtomAssetMetadataDecorators annotation, Class type, Annotation[] annotations, MediaType mediaType) {
Class[] classes = new Class[]{AtomAssetMetadata.class, Entry.class};
try {
JAXBContext jaxbContext = JAXBContext.newInstance(classes);
return jaxbContext.createMarshaller();
} catch (Exception e) {
StringWriter errors = new StringWriter();
e.printStackTrace(new PrintWriter(errors));
logger.error(errors.toString());
}
return null;
}
}