⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 typetest.java

📁 Xfire文件 用于开发web service 的一个开源工具 很好用的
💻 JAVA
字号:
package org.codehaus.xfire.aegis.type.basic;import java.io.ByteArrayOutputStream;import java.io.StringReader;import javax.xml.namespace.QName;import javax.xml.stream.XMLStreamReader;import javax.xml.stream.XMLStreamWriter;import org.codehaus.xfire.MessageContext;import org.codehaus.xfire.aegis.stax.ElementReader;import org.codehaus.xfire.aegis.stax.ElementWriter;import org.codehaus.xfire.aegis.type.DefaultTypeMappingRegistry;import org.codehaus.xfire.aegis.type.TypeMapping;import org.codehaus.xfire.aegis.type.TypeMappingRegistry;import org.codehaus.xfire.test.AbstractXFireTest;import org.codehaus.xfire.util.STAXUtils;import org.jdom.Document;import org.jdom.Element;/** * TypeTest *  * @author <a href="mailto:dan@envoisolutions.com">Dan Diephouse</a> */public class TypeTest    extends AbstractXFireTest{    public void testBeanType()        throws Exception    {        // XMLOutputFactory ofactory = XMLOutputFactory.newInstance();        ByteArrayOutputStream bos = new ByteArrayOutputStream();        // XMLStreamWriter writer = ofactory.createXMLStreamWriter(bos);        XMLStreamWriter writer = STAXUtils.createXMLStreamWriter(bos, null, null);        TypeMappingRegistry tmr = new DefaultTypeMappingRegistry(true);        TypeMapping tm = tmr.createTypeMapping(true);        SimpleBean bean = new SimpleBean();        bean.setBleh("bleh");        bean.setHowdy("howdy");        registerSimpleBeanType(tm);        BeanType bt = (BeanType) tm.getType(SimpleBean.class);        ElementWriter lwriter = new ElementWriter(writer, "SimpleBean", "urn:Bean");        bt.writeObject(bean, lwriter, new MessageContext());        lwriter.close();        writer.close();        System.out.println(bos.toString());        // XMLInputFactory factory = XMLInputFactory.newInstance();        // XMLStreamReader reader = factory.createXMLStreamReader( new        // StringReader(bos.toString()) );        XMLStreamReader reader = STAXUtils.createXMLStreamReader(new StringReader(bos.toString()));        while (reader.getEventType() != XMLStreamReader.START_ELEMENT)            reader.next();        SimpleBean readBean = (SimpleBean) bt.readObject(new ElementReader(reader), new MessageContext());        assertNotNull(readBean);        assertEquals("bleh", readBean.getBleh());        assertEquals("howdy", readBean.getHowdy());        Element root = new Element("root");        Element schema = new Element("schema");        root.addContent(schema);        Document doc = new Document(root);        bt.writeSchema(schema);        // TODO: run XPath tests on Schema    }    /**     * @param tmr     * @return     */    private void registerSimpleBeanType(TypeMapping tmr)    {        tmr.register(SimpleBean.class, new QName("urn:SimpleBean", "SimpleBean"), new BeanType());    }    private void registerArrayType(TypeMapping tmr)    {        tmr.register(SimpleBean[].class,                     new QName("urn:SomeBean", "ArrayOfSimpleBean"),                     new ArrayType());    }    public void testArrayType()        throws Exception    {        // XMLOutputFactory ofactory = XMLOutputFactory.newInstance();        ByteArrayOutputStream bos = new ByteArrayOutputStream();        // XMLStreamWriter writer = ofactory.createXMLStreamWriter(bos);        XMLStreamWriter writer = STAXUtils.createXMLStreamWriter(bos, null, null);        TypeMappingRegistry tmr = new DefaultTypeMappingRegistry(true);        TypeMapping tm = tmr.createTypeMapping(true);        registerSimpleBeanType(tm);        registerArrayType(tm);        SimpleBean bean = new SimpleBean();        bean.setBleh("bleh");        bean.setHowdy("howdy");        SimpleBean[] beanArray = new SimpleBean[] { bean, bean };        ArrayType at = (ArrayType) tm.getType(SimpleBean[].class);        at.writeObject(beanArray,                       new ElementWriter(writer, "SimpleBean", "urn:Bean"),                       new MessageContext());        writer.close();        /*         * TODO: figure out why this doesn't work. It works when you're actually         * reading/writing documents. I think it has something to do with the         * reader.next() in the END_ELEMENT case in LiteralReader.         *          * XMLInputFactory factory = XMLInputFactory.newInstance();         * XMLStreamReader reader = factory.createXMLStreamReader( new         * StringReader(bos.toString()) ); while ( reader.getEventType() !=         * XMLStreamReader.START_ELEMENT ) reader.next();         *          * Object out1 = at.readObject( new LiteralReader( reader ) );         *          * SimpleBean[] beans = (SimpleBean[]) out1; assertNotNull( beans );         * assertEquals( "bleh", beans[0].getBleh() ); assertEquals( "howdy",         * beans[0].getHowdy() );         *          * Document doc = DocumentHelper.createDocument(); Element root =         * doc.addElement("root");         *          * at.writeSchema( root );         */        // TODO: run XPath tests on Schema    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -