diff options
author | lresende <lresende@13f79535-47bb-0310-9956-ffa450edef68> | 2008-09-11 04:13:16 +0000 |
---|---|---|
committer | lresende <lresende@13f79535-47bb-0310-9956-ffa450edef68> | 2008-09-11 04:13:16 +0000 |
commit | a3ce58076d0ce2d2f09c2331ea499554e9b5a9f9 (patch) | |
tree | 83e79cf76ae58c58d216a4396c0cf3532bc3d160 /branches/sca-trunk-20080910/modules/databinding-jaxb/src/test/java/org/apache/tuscany/sca/databinding/jaxb/JAXBReflectionTestCase.java | |
parent | 28f92c6fc62f3bc0637ac77681aabcc8c0b5e42c (diff) |
Renaming branch
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@694108 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'branches/sca-trunk-20080910/modules/databinding-jaxb/src/test/java/org/apache/tuscany/sca/databinding/jaxb/JAXBReflectionTestCase.java')
-rw-r--r-- | branches/sca-trunk-20080910/modules/databinding-jaxb/src/test/java/org/apache/tuscany/sca/databinding/jaxb/JAXBReflectionTestCase.java | 94 |
1 files changed, 0 insertions, 94 deletions
diff --git a/branches/sca-trunk-20080910/modules/databinding-jaxb/src/test/java/org/apache/tuscany/sca/databinding/jaxb/JAXBReflectionTestCase.java b/branches/sca-trunk-20080910/modules/databinding-jaxb/src/test/java/org/apache/tuscany/sca/databinding/jaxb/JAXBReflectionTestCase.java deleted file mode 100644 index cbc32d4353..0000000000 --- a/branches/sca-trunk-20080910/modules/databinding-jaxb/src/test/java/org/apache/tuscany/sca/databinding/jaxb/JAXBReflectionTestCase.java +++ /dev/null @@ -1,94 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -package org.apache.tuscany.sca.databinding.jaxb; - -import java.lang.reflect.Type; -import java.util.Collections; - -import javax.xml.bind.JAXBContext; -import javax.xml.namespace.QName; - -import junit.framework.Assert; -import junit.framework.TestCase; - -import org.apache.tuscany.sca.databinding.jaxb.JAXBContextHelper; -import org.apache.tuscany.sca.databinding.xml.Node2String; -import org.jvnet.jaxb.reflection.model.annotation.RuntimeInlineAnnotationReader; -import org.jvnet.jaxb.reflection.model.core.Ref; -import org.jvnet.jaxb.reflection.model.impl.RuntimeModelBuilder; -import org.jvnet.jaxb.reflection.model.runtime.RuntimeClassInfo; -import org.jvnet.jaxb.reflection.model.runtime.RuntimePropertyInfo; -import org.jvnet.jaxb.reflection.model.runtime.RuntimeTypeInfoSet; -import org.jvnet.jaxb.reflection.runtime.IllegalAnnotationsException; -import org.jvnet.jaxb.reflection.runtime.JAXBContextImpl; -import org.w3c.dom.Node; - -import com.example.ipo.jaxb.ObjectFactory; -import com.example.ipo.jaxb.PurchaseOrderType; -import com.example.ipo.jaxb.USAddress; -import com.example.ipo.jaxb.USState; - -/** - * @version $Rev$ $Date$ - */ -public class JAXBReflectionTestCase extends TestCase { - - public void testGenerateSchema() throws Exception { - JAXBContext context = JAXBContext.newInstance("com.example.ipo.jaxb"); - Node schema = JAXBContextHelper.generateSchema(context); - System.out.println(new Node2String().transform(schema, null)); - } - - /** - * This is a workaround for the NPE bug in jaxb-reflection - * @param classes - * @return - * @throws Exception - */ - @SuppressWarnings("unchecked") - private static RuntimeTypeInfoSet create(Class... classes) throws Exception { - IllegalAnnotationsException.Builder errorListener = new IllegalAnnotationsException.Builder(); - RuntimeInlineAnnotationReader reader = new RuntimeInlineAnnotationReader(); - JAXBContextImpl context = - new JAXBContextImpl(classes, null, Collections.<Class, Class> emptyMap(), null, false, reader, false, false); - RuntimeModelBuilder builder = - new RuntimeModelBuilder(context, reader, Collections.<Class, Class> emptyMap(), null); - builder.setErrorHandler(errorListener); - for (Class c : classes) - builder.getTypeInfo(new Ref<Type, Class>(c)); - - RuntimeTypeInfoSet r = builder.link(); - errorListener.check(); - return r; - } - - public void testReflection() throws Exception { - org.jvnet.jaxb.reflection.model.runtime.RuntimeTypeInfoSet model = create(PurchaseOrderType.class); - RuntimeClassInfo type = (RuntimeClassInfo)model.getTypeInfo(PurchaseOrderType.class); - Assert.assertEquals(new QName("http://www.example.com/IPO", "PurchaseOrderType"), type.getTypeName()); - type = (RuntimeClassInfo)model.getTypeInfo(USAddress.class); - Assert.assertEquals(new QName("http://www.example.com/IPO", "USAddress"), type.getTypeName()); - RuntimePropertyInfo prop = type.getProperty("state"); - Assert.assertNotNull(prop); - USAddress address = new ObjectFactory().createUSAddress(); - prop.getAccessor().set(address, USState.CA); - Assert.assertEquals(USState.CA, address.getState()); - } -} |