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