blob: a0717ae12dd68e5296a9f185b559ba58e5d4d65d [file] [log] [blame]
package org.codehaus.jackson.jaxrs;
import java.io.ByteArrayOutputStream;
import java.lang.annotation.Annotation;
import javax.ws.rs.core.MediaType;
import org.codehaus.jackson.map.annotate.JsonView;
public class TestJsonView extends main.BaseTest
{
/*
/**********************************************************
/* Helper types
/**********************************************************
*/
static class MyView1 { }
static class MyView2 { }
static class Bean {
@JsonView(MyView1.class)
public int value1 = 1;
@JsonView(MyView2.class)
public int value2 = 2;
}
/*
/**********************************************************
/* Test methods
/**********************************************************
*/
// [JACKSON-578]
public void testViews() throws Exception
{
JacksonJsonProvider prov = new JacksonJsonProvider();
ByteArrayOutputStream out = new ByteArrayOutputStream();
Bean bean = new Bean();
Annotation ann = new JsonView() {
@Override
public Class<?>[] value() { return new Class[] { MyView1.class }; }
@Override
public Class<? extends Annotation> annotationType() {
return JsonView.class;
}
};
prov.writeTo(bean, bean.getClass(), bean.getClass(), new Annotation[] { ann },
MediaType.APPLICATION_JSON_TYPE, null, out);
assertEquals("{\"value1\":1}", out.toString("UTF-8"));
}
}