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