| /* |
| * 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.axis2.description.java2wsdl; |
| |
| import java.math.BigDecimal; |
| import java.math.BigInteger; |
| import java.net.URI; |
| import java.util.GregorianCalendar; |
| import java.util.Locale; |
| import java.util.TimeZone; |
| |
| import javax.activation.DataHandler; |
| import javax.xml.datatype.Duration; |
| import javax.xml.datatype.XMLGregorianCalendar; |
| import javax.xml.namespace.QName; |
| |
| import junit.framework.TestCase; |
| |
| import org.apache.ws.commons.schema.constants.Constants; |
| |
| |
| |
| /** |
| * The Class TypeTableTest is used to test |
| * {@link org.apache.axis2.description.java2wsdl.TypeTable TypeTable} class. |
| * |
| * @since 1.7.0 |
| * |
| */ |
| public class TypeTableTest extends TestCase { |
| |
| /** The type table. */ |
| private TypeTable typeTable; |
| |
| /* (non-Javadoc) |
| * @see junit.framework.TestCase#setUp() |
| */ |
| @Override |
| protected void setUp() throws Exception { |
| super.setUp(); |
| typeTable = new TypeTable(); |
| } |
| |
| /** |
| * Test get class name for QName. |
| */ |
| public void testGetClassNameForQName() { |
| assertEquals("Failed to receive expected Class type", |
| String.class.getName(), |
| typeTable.getClassNameForQName(Constants.XSD_STRING)); |
| |
| assertEquals("Failed to receive expected Class type", |
| BigInteger.class.getName(), |
| typeTable.getClassNameForQName(Constants.XSD_INTEGER)); |
| |
| assertEquals("Failed to receive expected Class type", |
| QName.class.getName(), |
| typeTable.getClassNameForQName(Constants.XSD_QNAME)); |
| |
| assertEquals("Failed to receive expected Class type", |
| Object.class.getName(), |
| typeTable.getClassNameForQName(Constants.XSD_ANY)); |
| |
| assertEquals("Failed to receive expected Class type", |
| DataHandler.class.getName(), |
| typeTable.getClassNameForQName(Constants.XSD_BASE64)); |
| |
| assertEquals("Failed to receive expected Class type", |
| DataHandler.class.getName(), |
| typeTable.getClassNameForQName(Constants.XSD_HEXBIN)); |
| |
| assertNull("NULl value expected", |
| typeTable.getClassNameForQName(Constants.XSD_LANGUAGE)); |
| } |
| |
| |
| public void testGetSchemaTypeName() { |
| String className = null; |
| QName dateType = new QName(Java2WSDLConstants.URI_2001_SCHEMA_XSD, |
| "date", "xs"); |
| TypeTable typeTable = new TypeTable(); |
| |
| className = "com.sun.org.apache.xerces.internal.jaxp.datatype.XMLGregorianCalendarImpl"; |
| assertEquals("Not the expected value", dateType, |
| typeTable.getSchemaTypeName(className)); |
| |
| className = TestXMLGregorianCalendarImpl.class.getName(); |
| assertEquals("Not the expected value", dateType, |
| typeTable.getSchemaTypeName(className)); |
| |
| className = GregorianCalendar.class.getName(); |
| dateType = new QName(Java2WSDLConstants.URI_2001_SCHEMA_XSD, |
| "dateTime", "xs"); |
| System.out.println( typeTable.getSchemaTypeName(className)); |
| assertEquals("Not the expected value", dateType, |
| typeTable.getSchemaTypeName(className)); |
| |
| className = TestCalendarImpl.class.getName(); |
| assertNull("Not the expected value", |
| typeTable.getSchemaTypeName(className)); |
| } |
| |
| |
| //Following test is relted to apache XMLSchema libaray usage |
| public void testXMLSchemaConstantsUsage(){ |
| assertEquals(typeTable.getClassNameForQName(Constants.XSD_STRING), String.class.getName()); |
| assertEquals(typeTable.getClassNameForQName(Constants.XSD_INT), Integer.class.getName()); |
| assertEquals(typeTable.getClassNameForQName(Constants.XSD_INTEGER), BigInteger.class.getName()); |
| assertEquals(typeTable.getClassNameForQName(Constants.XSD_LONG), Long.class.getName()); |
| assertEquals(typeTable.getClassNameForQName(Constants.XSD_SHORT), Short.class.getName()); |
| assertEquals(typeTable.getClassNameForQName(Constants.XSD_DECIMAL), BigDecimal.class.getName()); |
| assertEquals(typeTable.getClassNameForQName(Constants.XSD_FLOAT), Float.class.getName()); |
| assertEquals(typeTable.getClassNameForQName(Constants.XSD_DOUBLE), Double.class.getName()); |
| assertEquals(typeTable.getClassNameForQName(Constants.XSD_BOOLEAN), Boolean.class.getName()); |
| assertEquals(typeTable.getClassNameForQName(Constants.XSD_BYTE), Byte.class.getName()); |
| assertEquals(typeTable.getClassNameForQName(Constants.XSD_QNAME), QName.class.getName()); |
| assertEquals(typeTable.getClassNameForQName(Constants.XSD_UNSIGNEDINT), Long.class.getName()); |
| assertEquals(typeTable.getClassNameForQName(Constants.XSD_UNSIGNEDSHORT), Integer.class.getName()); |
| assertEquals(typeTable.getClassNameForQName(Constants.XSD_UNSIGNEDBYTE), Short.class.getName()); |
| assertEquals(typeTable.getClassNameForQName(Constants.XSD_UNSIGNEDLONG), BigInteger.class.getName()); |
| assertEquals(typeTable.getClassNameForQName(Constants.XSD_TIME), XMLGregorianCalendar.class.getName()); |
| assertEquals(typeTable.getClassNameForQName(Constants.XSD_DATE), XMLGregorianCalendar.class.getName()); |
| assertEquals(typeTable.getClassNameForQName(Constants.XSD_DATETIME), XMLGregorianCalendar.class.getName()); |
| assertEquals(typeTable.getClassNameForQName(Constants.XSD_DURATION), Duration.class.getName()); |
| assertEquals(typeTable.getClassNameForQName(Constants.XSD_NOTATION), QName.class.getName()); |
| assertEquals(typeTable.getClassNameForQName(Constants.XSD_ANYURI), URI.class.getName()); |
| assertEquals(typeTable.getClassNameForQName(Constants.XSD_ANY), Object.class.getName()); |
| assertEquals(typeTable.getClassNameForQName(Constants.XSD_ANYSIMPLETYPE), Object.class.getName()); |
| assertEquals(typeTable.getClassNameForQName(Constants.XSD_ANYTYPE), Object.class.getName()); |
| assertEquals(typeTable.getClassNameForQName(Constants.XSD_NONNEGATIVEINTEGER), BigInteger.class.getName()); |
| assertEquals(typeTable.getClassNameForQName(Constants.XSD_NONPOSITIVEINTEGER), BigInteger.class.getName()); |
| assertEquals(typeTable.getClassNameForQName(Constants.XSD_NEGATIVEINTEGER), Integer.class.getName()); |
| assertEquals(typeTable.getClassNameForQName(Constants.XSD_POSITIVEINTEGER), Integer.class.getName()); |
| assertEquals(typeTable.getClassNameForQName(Constants.XSD_NORMALIZEDSTRING),String.class.getName()); |
| assertEquals(typeTable.getClassNameForQName(Constants.XSD_POSITIVEINTEGER), Integer.class.getName()); |
| assertEquals(typeTable.getClassNameForQName(Constants.XSD_POSITIVEINTEGER), Integer.class.getName()); |
| assertEquals(typeTable.getClassNameForQName(Constants.XSD_POSITIVEINTEGER), Integer.class.getName()); |
| assertEquals(typeTable.getClassNameForQName(Constants.XSD_POSITIVEINTEGER), Integer.class.getName()); |
| assertEquals(typeTable.getClassNameForQName(Constants.XSD_BASE64), DataHandler.class.getName()); |
| assertEquals(typeTable.getClassNameForQName(Constants.XSD_HEXBIN), DataHandler.class.getName()); |
| } |
| |
| class TestXMLGregorianCalendarImpl extends XMLGregorianCalendar { |
| @Override |
| public void clear() { |
| } |
| |
| @Override |
| public void reset() { |
| |
| } |
| |
| @Override |
| public void setYear(BigInteger year) { |
| |
| } |
| |
| @Override |
| public void setYear(int year) { |
| |
| } |
| |
| @Override |
| public void setMonth(int month) { |
| |
| } |
| |
| @Override |
| public void setDay(int day) { |
| |
| } |
| |
| @Override |
| public void setTimezone(int offset) { |
| |
| } |
| |
| @Override |
| public void setHour(int hour) { |
| |
| } |
| |
| @Override |
| public void setMinute(int minute) { |
| |
| } |
| |
| @Override |
| public void setSecond(int second) { |
| |
| } |
| |
| @Override |
| public void setMillisecond(int millisecond) { |
| |
| } |
| |
| @Override |
| public void setFractionalSecond(BigDecimal fractional) { |
| |
| } |
| |
| @Override |
| public BigInteger getEon() { |
| |
| return null; |
| } |
| |
| @Override |
| public int getYear() { |
| |
| return 0; |
| } |
| |
| @Override |
| public BigInteger getEonAndYear() { |
| |
| return null; |
| } |
| |
| @Override |
| public int getMonth() { |
| |
| return 0; |
| } |
| |
| @Override |
| public int getDay() { |
| |
| return 0; |
| } |
| |
| @Override |
| public int getTimezone() { |
| |
| return 0; |
| } |
| |
| @Override |
| public int getHour() { |
| |
| return 0; |
| } |
| |
| @Override |
| public int getMinute() { |
| |
| return 0; |
| } |
| |
| @Override |
| public int getSecond() { |
| |
| return 0; |
| } |
| |
| @Override |
| public BigDecimal getFractionalSecond() { |
| |
| return null; |
| } |
| |
| @Override |
| public int compare(XMLGregorianCalendar xmlGregorianCalendar) { |
| |
| return 0; |
| } |
| |
| @Override |
| public XMLGregorianCalendar normalize() { |
| |
| return null; |
| } |
| |
| @Override |
| public String toXMLFormat() { |
| |
| return null; |
| } |
| |
| @Override |
| public QName getXMLSchemaType() { |
| |
| return null; |
| } |
| |
| @Override |
| public boolean isValid() { |
| return false; |
| } |
| |
| @Override |
| public void add(Duration duration) { |
| |
| } |
| |
| @Override |
| public GregorianCalendar toGregorianCalendar() { |
| |
| return null; |
| } |
| |
| @Override |
| public GregorianCalendar toGregorianCalendar(TimeZone timezone, |
| Locale aLocale, XMLGregorianCalendar defaults) { |
| |
| return null; |
| } |
| |
| @Override |
| public TimeZone getTimeZone(int defaultZoneoffset) { |
| |
| return null; |
| } |
| |
| @Override |
| public Object clone() { |
| |
| return null; |
| } |
| |
| } |
| |
| class TestCalendarImpl { |
| |
| } |
| |
| } |