xref: /aosp_15_r20/external/jackson-databind/src/test/java/perf/ManualReadPerfWithMedia.java (revision 0ed15c778abdfe0f5f51f6133673e1619d6e56e4)
1*0ed15c77SAndroid Build Coastguard Worker package perf;
2*0ed15c77SAndroid Build Coastguard Worker 
3*0ed15c77SAndroid Build Coastguard Worker import com.fasterxml.jackson.annotation.JsonFormat;
4*0ed15c77SAndroid Build Coastguard Worker import com.fasterxml.jackson.databind.introspect.Annotated;
5*0ed15c77SAndroid Build Coastguard Worker import com.fasterxml.jackson.databind.introspect.JacksonAnnotationIntrospector;
6*0ed15c77SAndroid Build Coastguard Worker import com.fasterxml.jackson.databind.json.JsonMapper;
7*0ed15c77SAndroid Build Coastguard Worker 
8*0ed15c77SAndroid Build Coastguard Worker public class ManualReadPerfWithMedia extends ObjectReaderTestBase
9*0ed15c77SAndroid Build Coastguard Worker {
10*0ed15c77SAndroid Build Coastguard Worker     @Override
targetSizeMegs()11*0ed15c77SAndroid Build Coastguard Worker     protected int targetSizeMegs() { return 8; }
12*0ed15c77SAndroid Build Coastguard Worker 
main(String[] args)13*0ed15c77SAndroid Build Coastguard Worker     public static void main(String[] args) throws Exception
14*0ed15c77SAndroid Build Coastguard Worker     {
15*0ed15c77SAndroid Build Coastguard Worker         if (args.length != 0) {
16*0ed15c77SAndroid Build Coastguard Worker             System.err.println("Usage: java ...");
17*0ed15c77SAndroid Build Coastguard Worker             System.exit(1);
18*0ed15c77SAndroid Build Coastguard Worker         }
19*0ed15c77SAndroid Build Coastguard Worker         MediaItem.Content content = new MediaItem.Content();
20*0ed15c77SAndroid Build Coastguard Worker         content.setTitle("Performance micro-benchmark, to be run manually");
21*0ed15c77SAndroid Build Coastguard Worker         content.addPerson("William");
22*0ed15c77SAndroid Build Coastguard Worker         content.addPerson("Robert");
23*0ed15c77SAndroid Build Coastguard Worker         content.setWidth(900);
24*0ed15c77SAndroid Build Coastguard Worker         content.setHeight(120);
25*0ed15c77SAndroid Build Coastguard Worker         content.setBitrate(256000);
26*0ed15c77SAndroid Build Coastguard Worker         content.setDuration(3600 * 1000L);
27*0ed15c77SAndroid Build Coastguard Worker         content.setCopyright("none");
28*0ed15c77SAndroid Build Coastguard Worker         content.setPlayer(MediaItem.Player.FLASH);
29*0ed15c77SAndroid Build Coastguard Worker         content.setUri("http://whatever.biz");
30*0ed15c77SAndroid Build Coastguard Worker 
31*0ed15c77SAndroid Build Coastguard Worker         MediaItem input = new MediaItem(content);
32*0ed15c77SAndroid Build Coastguard Worker         input.addPhoto(new MediaItem.Photo("http://a.com", "title1", 200, 100, MediaItem.Size.LARGE));
33*0ed15c77SAndroid Build Coastguard Worker         input.addPhoto(new MediaItem.Photo("http://b.org", "title2", 640, 480, MediaItem.Size.SMALL));
34*0ed15c77SAndroid Build Coastguard Worker 
35*0ed15c77SAndroid Build Coastguard Worker         JsonMapper m1 = new JsonMapper();
36*0ed15c77SAndroid Build Coastguard Worker         m1.setAnnotationIntrospector(new NoFormatIntrospector());
37*0ed15c77SAndroid Build Coastguard Worker         JsonMapper m2 = new JsonMapper();
38*0ed15c77SAndroid Build Coastguard Worker         new ManualReadPerfWithRecord().testFromBytes(m1, "JSON-as-Object", input, MediaItem.class,
39*0ed15c77SAndroid Build Coastguard Worker                 m2, "JSON-as-Array", input, MediaItem.class);
40*0ed15c77SAndroid Build Coastguard Worker     }
41*0ed15c77SAndroid Build Coastguard Worker 
42*0ed15c77SAndroid Build Coastguard Worker     final static class NoFormatIntrospector extends JacksonAnnotationIntrospector
43*0ed15c77SAndroid Build Coastguard Worker     {
44*0ed15c77SAndroid Build Coastguard Worker         private static final long serialVersionUID = 1L;
45*0ed15c77SAndroid Build Coastguard Worker         @Override
findFormat(Annotated a)46*0ed15c77SAndroid Build Coastguard Worker         public JsonFormat.Value findFormat(Annotated a) { return null; }
47*0ed15c77SAndroid Build Coastguard Worker     }
48*0ed15c77SAndroid Build Coastguard Worker }
49