package com.alibaba.json.test.benchmark.decode; import java.io.UnsupportedEncodingException; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.serializer.SerializerFeature; import com.alibaba.json.test.benchmark.BenchmarkCase; import com.alibaba.json.test.codec.Codec; import data.media.Image; import data.media.Image.Size; import data.media.Media; import data.media.Media.Player; import data.media.MediaContent; public class EishayDecodeBytes extends BenchmarkCase { public final static EishayDecodeBytes instance = new EishayDecodeBytes(); private final byte[] bytes; private final char[] chars; private final String text; private final MediaContent content; public byte[] getBytes() { return bytes; } public char[] getChars() { return chars; } public String getText() { return text; } public MediaContent getContent() { return content; } public EishayDecodeBytes(){ super("EishayDecode-Byte[]"); content = new MediaContent(); Media media = new Media(); media.setUri("http://javaone.com/keynote.mpg"); media.setTitle("Javaone Keynote"); media.setWidth(640); media.setHeight(480); media.setFormat("video/mpg4"); media.setDuration(18000000); media.setSize(58982400); media.setBitrate(262144); media.setPersons(Arrays.asList("Bill Gates", "Steve Jobs")); media.setPlayer(Player.JAVA); media.setCopyright(null); content.setMedia(media); List<Image> images = new ArrayList<Image>(); { Image image = new Image(); image.setUri("http://javaone.com/keynote_large.jpg"); image.setTitle("Javaone Keynote"); image.setWidth(1024); image.setHeight(768); image.setSize(Size.LARGE); images.add(image); } { Image image = new Image(); image.setUri("http://javaone.com/keynote_small.jpg"); image.setTitle("Javaone Keynote"); image.setWidth(320); image.setHeight(240); image.setSize(Size.SMALL); images.add(image); } content.setImages(images); try { text = JSON.toJSONString(content, SerializerFeature.WriteEnumUsingToString, SerializerFeature.SortField); chars = (text + " ").toCharArray(); bytes = text.getBytes("UTF-8"); } catch (UnsupportedEncodingException e) { throw new RuntimeException(); } } @Override public void execute(Codec codec) throws Exception { codec.decodeObject(bytes, MediaContent.class); } }