Esempio n. 1
0
  @Test
  public void test1() {
    PhoneNumber phone = new PhoneNumber();
    phone.setCode(123);
    phone.setNumber("1234-456");

    PhoneNumber fax = new PhoneNumber();
    fax.setCode(123);
    fax.setNumber("<aaaa>9999-999中文乱码</bbbb>");

    Set dataSet = new TreeSet();
    dataSet.add("aa");
    dataSet.add("bb");

    List dataList = new ArrayList();
    dataList.add("aa");
    dataList.add("bb");

    dataList.add(1);

    Map dataMap = new HashMap();
    dataMap.put("aa", "aavalue");
    dataMap.put("bb", "bbvalue");

    String[] dataArray = new String[] {"aa", "bb"};
    String[][] datadoubleArray = new String[][] {{"aaa", "bbb"}, {"cccc", "dddd"}};

    Person joe = new Person();
    joe.setFirstname("Joe");
    joe.setDataDoubleArray(datadoubleArray);
    //		joe.setLastname("Walnes");
    // 用来验证bboss和Xstream是否会按照null值传递,也就是说lastname有默认值"ssss"
    // 这样我们手动把lastname设置为null,理论上来说反序列化后joe中的lastname应该是null而不是默认值"ssss"
    joe.setBirthdate(new Date());
    Date[] updates = new Date[] {new Date(), new Date()};
    joe.setUpdatedate(updates);
    joe.setLastname(null);
    joe.setPhone(phone);
    joe.setFax(fax);
    joe.setDataArray(dataArray);
    joe.setDataList(dataList);
    joe.setDataMap(dataMap);
    joe.setDataSet(dataSet);
    EnumData sex = EnumData.M;
    joe.setSex(sex);

    try {
      // 预热bboss和xstream
      String xml = ObjectSerializable.toXML(joe);

      System.out.println(xml);
      Person person = ObjectSerializable.toBean(xml, Person.class);
      System.out.println();

      // 测试用例结束

    } catch (Exception e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
  }
Esempio n. 2
0
  /** @throws IOException */
  @Test
  public void testBigData() throws IOException {
    // 这个文件中内容有47565 字节,约47k的数据
    String bigcontent =
        FileUtil.getFileContent(
            new File(
                "F:\\workspace\\bbossgroups-3.5\\bboss-core\\test\\org\\frameworkset\\soa\\testxstream.xml"),
            "UTF-8");
    PhoneNumber phone = new PhoneNumber();
    phone.setCode(123);
    phone.setNumber("1234-456");

    PhoneNumber fax = new PhoneNumber();
    fax.setCode(123);
    fax.setNumber(bigcontent);

    Set dataSet = new TreeSet();
    dataSet.add("aa");
    dataSet.add("bb");

    List dataList = new ArrayList();
    dataList.add("aa");
    dataList.add("bb");

    Map dataMap = new HashMap();
    dataMap.put("aa", "aavalue");
    dataMap.put("bb", "bbvalue");

    String[] dataArray = new String[] {"aa", "bb"};

    Person joe = new Person();
    joe.setFirstname("Joe");
    //		joe.setLastname("Walnes");
    // 用来验证bboss和Xstream是否会按照null值传递,也就是说lastname有默认值"ssss"
    // 这样我们手动把lastname设置为null,理论上来说反序列化后joe中的lastname应该是null而不是默认值"ssss"

    joe.setLastname(null);
    joe.setPhone(phone);
    joe.setFax(fax);
    joe.setDataArray(dataArray);
    joe.setDataList(dataList);
    joe.setDataMap(dataMap);
    joe.setDataSet(dataSet);

    try {
      // 预热bboss和xstream
      String xml = ObjectSerializable.toXML(joe);

      System.out.println(xml);
      Person person = ObjectSerializable.toBean(xml, Person.class);

      String xmlXstream = xStream.toXML(joe);
      Person p = (Person) xStream.fromXML(xmlXstream);
      System.out.println(xmlXstream);

      System.out.println();
      System.out.println("bboss序列化测试用例开始");
      System.out.println();

      long start = System.currentTimeMillis();
      ObjectSerializable.toXML(joe);
      long end = System.currentTimeMillis();
      System.out.println("执行bboss beantoxml 1次,耗时:" + (end - start) + "毫秒");

      convertBeanToXml(10, joe);

      convertBeanToXml(100, joe);

      convertBeanToXml(1000, joe);

      convertBeanToXml(10000, joe);
      System.out.println();
      System.out.println("xstream序列化测试用例开始");
      System.out.println();
      start = System.currentTimeMillis();
      xStream.toXML(joe);
      end = System.currentTimeMillis();
      System.out.println("执行XStream beantoxml 1次,耗时:" + (end - start) + "毫秒");

      convertBeanToXStreamXml(10, joe);
      convertBeanToXStreamXml(100, joe);
      convertBeanToXStreamXml(1000, joe);
      convertBeanToXStreamXml(10000, joe);

      System.out.println();
      System.out.println("bboss反序列化测试用例开始");
      System.out.println();
      start = System.currentTimeMillis();
      person = ObjectSerializable.toBean(xml, Person.class);
      end = System.currentTimeMillis();
      System.out.println("执行bboss xmltobean 1次,耗时:" + (end - start) + "豪秒");
      convertXMLToBean(10, xml);
      convertXMLToBean(100, xml);
      convertXMLToBean(1000, xml);
      convertXMLToBean(10000, xml);

      System.out.println();
      System.out.println("xstream反序列化测试用例开始");
      System.out.println();
      start = System.currentTimeMillis();
      xStream.fromXML(xmlXstream);
      end = System.currentTimeMillis();
      System.out.println("执行XStream xmltobean 1次,耗时:" + (end - start) + "豪秒");
      convertXStreamXMLToBean(10, xmlXstream);
      convertXStreamXMLToBean(100, xmlXstream);
      convertXStreamXMLToBean(1000, xmlXstream);
      convertXStreamXMLToBean(10000, xmlXstream);

      // 测试用例结束

    } catch (Exception e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
  }
Esempio n. 3
0
  @Test
  public void test() {
    PhoneNumber phone = new PhoneNumber();
    phone.setCode(123);
    phone.setNumber("1234-456");

    PhoneNumber fax = new PhoneNumber();
    fax.setCode(123);
    fax.setNumber("<aaaa>9999-999</bbbb>");

    Set dataSet = new TreeSet();
    dataSet.add("aa");
    dataSet.add("bb");

    List dataList = new ArrayList();
    dataList.add("中国人阿斯顿发水电费");
    dataList.add("bb");

    Map dataMap = new HashMap();
    dataMap.put("aa", "aavalue");
    dataMap.put("bb", "bbvalue");

    String[] dataArray = new String[] {"aa", "bb"};
    String[][] datadoubleArray = new String[][] {{"aaa", "bbb"}, {"cccc", "dddd"}};

    Person joe = new Person();
    joe.setFirstname("Joe");
    joe.setDataDoubleArray(datadoubleArray);
    //		joe.setLastname("Walnes");
    // 用来验证bboss和Xstream是否会按照null值传递,也就是说lastname有默认值"ssss"
    // 这样我们手动把lastname设置为null,理论上来说反序列化后joe中的lastname应该是null而不是默认值"ssss"
    joe.setBirthdate(new Date());
    Date[] updates = new Date[] {new Date(), new Date()};
    joe.setUpdatedate(updates);
    joe.setLastname(null);
    joe.setPhone(phone);
    joe.setFax(fax);
    joe.setDataArray(dataArray);
    joe.setDataList(dataList);
    joe.setDataMap(dataMap);
    joe.setDataSet(dataSet);
    EnumData sex = EnumData.M;
    joe.setSex(sex);

    try {
      // 预热bboss和xstream
      String xml = ObjectSerializable.toXML(joe);

      System.out.println(xml);
      System.out.println("bboss:" + xml.getBytes().length);
      Person person = ObjectSerializable.toBean(xml, Person.class);

      String xmlXstream = xStream.toXML(joe);
      System.out.println("xmlXstream:" + xmlXstream.getBytes().length);
      Person p = (Person) xStream.fromXML(xmlXstream);
      System.out.println(xmlXstream);

      System.out.println();
      System.out.println("bboss序列化测试用例开始");
      System.out.println();

      long start = System.currentTimeMillis();
      ObjectSerializable.toXML(joe);
      long end = System.currentTimeMillis();
      System.out.println("执行bboss beantoxml 1次,耗时:" + (end - start) + "毫秒");

      convertBeanToXml(10, joe);

      convertBeanToXml(100, joe);

      convertBeanToXml(1000, joe);

      convertBeanToXml(10000, joe);
      System.out.println();
      System.out.println("xstream序列化测试用例开始");
      System.out.println();
      start = System.currentTimeMillis();
      xStream.toXML(joe);
      end = System.currentTimeMillis();
      System.out.println("执行XStream beantoxml 1次,耗时:" + (end - start) + "毫秒");

      convertBeanToXStreamXml(10, joe);
      convertBeanToXStreamXml(100, joe);
      convertBeanToXStreamXml(1000, joe);
      convertBeanToXStreamXml(10000, joe);

      System.out.println();
      System.out.println("bboss反序列化测试用例开始");
      System.out.println();
      start = System.currentTimeMillis();
      person = ObjectSerializable.toBean(xml, Person.class);
      end = System.currentTimeMillis();
      System.out.println("执行bboss xmltobean 1次,耗时:" + (end - start) + "豪秒");
      convertXMLToBean(10, xml);
      convertXMLToBean(100, xml);
      convertXMLToBean(1000, xml);
      convertXMLToBean(10000, xml);

      System.out.println();
      System.out.println("xstream反序列化测试用例开始");
      System.out.println();
      start = System.currentTimeMillis();
      xStream.fromXML(xmlXstream);
      end = System.currentTimeMillis();
      System.out.println("执行XStream xmltobean 1次,耗时:" + (end - start) + "豪秒");
      convertXStreamXMLToBean(10, xmlXstream);
      convertXStreamXMLToBean(100, xmlXstream);
      convertXStreamXMLToBean(1000, xmlXstream);
      convertXStreamXMLToBean(10000, xmlXstream);

      // 测试用例结束

    } catch (Exception e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
  }