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