/* * $RCSfile: TestJ2X.java,v $ * $Revision: 1.1 $ * $Date: 2007-6-7 $ */package test.org.j2x.xml;import java.io.ByteArrayInputStream;import java.io.IOException;import org.dom4j.DocumentException;import org.j2x.test.TestObject;import org.j2x.util.Dom4jUtil;import org.j2x.util.Equal;import org.j2x.util.IO;import org.j2x.util.TestUtil;import org.j2x.xml.Xml2Java;/** * * <p>Title: TestJ2X</p> * <p>Description: </p> * @author chenyankui * @version 1.0 */public class TestJ2X{ /** * @param args - void * @author: chenyankui */ public static void main(String[] args) { String java2Xml = "./test/Java2XmlTestObject.xml"; String xml2Java = "./test/Xml2JavaTestObject.xml"; TestUtil.showRuler(150); /** * 如果生成的两份文件完全一样,则证明互相转换是成功的 */ testJ2X(TestObject.createTestObject(), java2Xml, xml2Java); try { boolean isEqual = Dom4jUtil.load(java2Xml, "GBK").equals(Dom4jUtil.load(xml2Java, "GBK")); /** * 此处一般打印false,证明不相等 * 这是因为TestObject对象内部存在Map对象,Map对象内的元素没有顺序导致了两份文件结构不一致,从而导致两个document对象也不一致 */ System.out.println("equals: " + isEqual); } catch(DocumentException e) { e.printStackTrace(); } Object o1 = new Xml2Java().read(java2Xml); Object o2 = new Xml2Java().read(xml2Java); System.out.println("equals: " + Equal.equals(o1, o2)); } /** * 验证测试 * @param java2Xml * @param xml2Java */ public static void testJ2X(Object object, String java2Xml, String xml2Java) { if(object == null) { System.out.println("[Test Object]: null"); } else { System.out.println("[Test Object]: " + object.getClass().getName()); } testJava2Xml(object, java2Xml); testXml2Java(object, xml2Java); } /** * 将对象转换成xml并保存在指定路径下 * @param testObject * @param savePath */ public static void testJava2Xml(Object testObject, String savePath) { String xml = TestUtil.java2Xml(testObject); System.out.println("Xml:/r/n" + xml); try { IO.copy(new ByteArrayInputStream(xml.getBytes()), savePath); } catch(IOException e) { e.printStackTrace(); } } /** * 将给定的xml转换成对象然后再将对象转换成xml并保存在指定路径下 * @param testObject * @param savePath */ public static void testXml2Java(Object testObject, String savePath) { String xml = TestUtil.java2Xml(testObject); System.out.println("Xml:" + xml); Object object = TestUtil.xml2Java(xml); testJava2Xml(object, savePath); }} /* * $RCSfile: TestReader.java,v $ * $Revision: 1.1 $ * $Date: 2007-6-8 $ */package test.org.j2x.xml;import java.io.ByteArrayInputStream;import java.io.InputStream;import org.j2x.util.TestUtil;/** * * <p>Title: TestInputStream</p> * <p>Description: </p> * @author chenyankui * @version 1.0 */public class TestInputStream{ /** * @param args - void * @author: chenyankui */ public static void main(String[] args) { TestUtil.showRuler(150); testInputStream(); } public static void testInputStream() { InputStream stream1 = new ByteArrayInputStream("You are a fool man".getBytes()); InputStream stream2 = new ByteArrayInputStream("You are a fool man".getBytes()); /** * reader1被读取完毕 */ TestJ2X.testJava2Xml(stream1, "./test/Java2XmlInputStream.xml"); /** * 需要新定义的reader2,reader1已经没有数据 */ TestJ2X.testXml2Java(stream2, "./test/Xml2JavaInputStream.xml"); }}/* * $RCSfile: TestList.java,v $ * $Revision: 1.1 $ * $Date: 2007-6-8 $ */package test.org.j2x.xml;import java.util.ArrayList;import java.util.List;/** * * <p>Title: TestList</p> * <p>Description: </p> * @author chenyankui * @version 1.0 */public class TestList{ /** * @param args - void * @author: chenyankui */ public static void main(String[] args) { testList(); } public static void testList() { List list = new ArrayList(); list.add("白日依山尽,"); list.add("黄河入海流,"); list.add("欲穷千里目,"); list.add("更上一层楼."); List childList = new ArrayList(); childList.add("好诗!"); childList.add("真正的好诗!"); list.add(childList); TestJ2X.testJ2X(list, "./test/Java2XmlList.xml", "./test/Xml2JavaList.xml"); }}/* * $RCSfile: TestReadObject.java,v $ * $Revision: 1.1 $ * $Date: 2007-6-8 $ */package test.org.j2x.xml;import java.io.File;import org.j2x.util.TestUtil;import org.j2x.xml.Xml2Java;/** * * <p>Title: TestReadObject</p> * <p>Description: </p> * @author chenyankui * @version 1.0 */public class TestReadObject{ /** * @param args - void * @author: chenyankui */ public static void main(String[] args) { testReadObjectFromXml(); } public static void testReadObjectFromXml() { File file = new File("./test/"); File[] list = file.listFiles(); TestUtil.showRuler(150); String indent = " "; for(int i = 0; i < list.length; i++) { if(list[i].exists() && list[i].isFile()) { System.out.println("[--------------------------------------------------] " + i); Object object = new Xml2Java().read(list[i]); if(object != null) { System.out.println(indent + list[i].getAbsolutePath()); System.out.println(indent + "[Object]:" + object.getClass().getName()); System.out.println(indent + "[Value ]:" + object.toString()); } else { System.out.println(indent + list[i].getAbsolutePath()); System.out.println(indent + "[Object]: null"); } System.out.println("[--------------------------------------------------] " + i); System.out.println(); } } }}/* * $RCSfile: TestReturnValue.java,v $ * $Revision: 1.1 $ * $Date: 2007-6-8 $ */package test.org.j2x.xml;import org.j2x.util.ReturnValue;import org.j2x.util.TestUtil;/** * * <p>Title: TestReturnValue</p> * <p>Description: </p> * @author chenyankui * @version 1.0 */public class TestReturnValue{ public static void main(String[] args) { TestUtil.printAsXml(new ReturnValue(0, "You are right !")); }}/* * $RCSfile: TestStringArray.java,v $ * $Revision: 1.1 $ * $Date: 2007-6-8 $ */package test.org.j2x.xml;/** * * <p>Title: TestStringArray</p> * <p>Description: </p> * @author chenyankui * @version 1.0 */public class TestStringArray{ /** * @param args - void * @author: chenyankui */ public static void main(String[] args) { test(); } public static void test() { String[] array = new String[]{"string1", "string2"}; /** * reader1被读取完毕 */ TestJ2X.testJava2Xml(array, "./test/Java2XmlStringArray.xml"); /** * 需要新定义的reader2,reader1已经没有数据 */ TestJ2X.testXml2Java(array, "./test/Xml2JavaStringArray.xml"); }}/* * $RCSfile: TestList.java,v $ * $Revision: 1.1 $ * $Date: 2007-6-8 $ */package test.org.j2x.xml;import java.util.Vector;/** * * <p>Title: TestVector</p> * <p>Description: </p> * @author chenyankui * @version 1.0 */public class TestVector{ /** * @param args - void * @author: chenyankui */ public static void main(String[] args) { testVector(); } /** * * - void * @author: chenyankui */ public static void testVector() { Vector vertor = new Vector(); vertor.add("大江东去,浪,淘尽千古风流人物!"); vertor.add("故垒西边,人道是,三国周郎赤壁!"); vertor.add("其实不是 !"); TestJ2X.testJ2X(vertor, "./test/Java2XmlVector.xml", "./test/Xml2JavaVector.xml"); }}/* * $RCSfile: TestXml2Java.java,v $ * $Revision: 1.1 $ * $Date: 2007-6-6 $ */package test.org.j2x.xml;import java.io.ByteArrayInputStream;import java.io.IOException;import java.util.ArrayList;import java.util.List;import org.dom4j.Document;import org.j2x.test.TestObject;import org.j2x.util.IO;import org.j2x.util.TestUtil;import org.j2x.xml.Java2Xml;/** * * <p>Title: TestXml2Java</p> * <p>Description: </p> * @author chenyankui * @version 1.0 */public class TestXml2Java{ /** * @param args - void * @author: chenyankui */ public static void main(String[] args) { String java2Xml = "E://Temp//java2xml.xml"; String xml2Java = "E://Temp//xml2java.xml"; /** * 如果生成的两份文件完全一样,则证明互相转换是成功的 */ testJ2X(java2Xml, xml2Java); } /** * 验证测试 * @param java2Xml * @param xml2Java */ public static void testJ2X(String java2Xml, String xml2Java) { // TestObject object = TestObject.createTestObject(); List object = new ArrayList(); object.add("123"); object.add("456"); testJava2Xml(object, java2Xml); testXml2Java(object, xml2Java); } /** * 将对象转换成xml并保存在指定路径下 * @param testObject * @param savePath */ public static void testJava2Xml(Object testObject, String savePath) { String xml = TestUtil.java2Xml(testObject); try { IO.copy(new ByteArrayInputStream(xml.getBytes()), savePath); } catch(IOException e) { e.printStackTrace(); } } /** * 将给定的xml转换成对象然后再将对象转换成xml并保存在指定路径下 * @param testObject * @param savePath */ public static void testXml2Java(Object testObject, String savePath) { String xml = TestUtil.java2Xml(testObject); Object object = TestUtil.xml2Java(xml); testJava2Xml(object, savePath); } /** * 将对象转换成Document * @return */ public static Document getTestDocument() { TestObject object = TestObject.createTestObject(); Java2Xml java2Xml = new Java2Xml(); return java2Xml.toDocument("Object", object); }}/* * $RCSfile: TestJsonUtil.java,v $ * $Revision: 1.1 $ * $Date: 2007-5-30 $ */package test.org.j2x.jso;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import org.j2x.test.TestObject;import org.j2x.util.TestUtil;/** * * <p>Title: TestJsonUtil</p> * <p>Description: </p> * @author chenyankui * @version 1.0 */public class TestJava2Jso{ public static void main(String[] args) { testObject(); } /** * * - void * @author: chenyankui */ public static void testObject() { TestObject object = TestObject.createTestObject(); object.getMyList().add(new TestObject()); object.setMyIntArray(new int[]{5, 6, 7, 8, 9, 10, 11, 12, 15, 16, 17, 18, 19, 20}); object.getMyMap().put(new TestObject(), "123"); object.getMyMap().put("456", new TestObject()); object.getMyMap().put("789", "abc"); TestUtil.printAsJson(object); } public static void testNull() { Object object = null; TestUtil.printAsJson(object, null, null); } /** * * - void * @author: chenyankui */ public static void testByte() { Byte oByte = new Byte((byte)5); TestUtil.printAsJson(oByte, null, null); } /** * * - void * @author: chenyankui */ public static void testDate() { TestUtil.printAsJson(new java.util.Date(), null, null); } /** * * - void * @author: chenyankui */ public static void testList() { List list = new ArrayList(); list.add(new Integer(1)); list.add(new Double(2.3D)); list.add("Hello "); list.add("You are a fool man !"); list.add(new int[]{1, 2, 3}); TestUtil.printAsJson(list); } /** * * - void * @author: chenyankui */ public static void testMap() { Map map = new HashMap(); map.put("a", "This a character"); map.put("b", "This a character"); map.put("c", "This a character"); map.put(new TestObject(), "This a TestObject"); TestUtil.printAsJson(map); } public static void testCRLF() { TestUtil.printAsJson("/r/n/b/t/f"); }}