diff options
Diffstat (limited to 'java')
25 files changed, 61 insertions, 1191 deletions
diff --git a/java/sca/modules/common-xml/META-INF/MANIFEST.MF b/java/sca/modules/common-xml/META-INF/MANIFEST.MF index ad4d6bd487..3d6db9d52f 100644 --- a/java/sca/modules/common-xml/META-INF/MANIFEST.MF +++ b/java/sca/modules/common-xml/META-INF/MANIFEST.MF @@ -7,7 +7,7 @@ Bundle-Version: 2.0.0 Bnd-LastModified: 1225397108125
Bundle-ManifestVersion: 2
Bundle-License: http://www.apache.org/licenses/LICENSE-2.0.txt
-Bundle-Description: Apache Tuscany SCA Core SPI
+Bundle-Description: Apache Tuscany SCA Common XML
Import-Package: javax.xml.namespace,
javax.xml.xpath,
javax.xml.datatype,
@@ -23,7 +23,15 @@ Import-Package: javax.xml.namespace, org.xml.sax.ext,
org.xml.sax.helpers,
org.apache.tuscany.sca.core;version="2.0.0",
- org.apache.tuscany.sca.extensibility;version="2.0.0"
+ org.apache.tuscany.sca.extensibility;version="2.0.0",
+ org.apache.tuscany.sca.common.xml.dom;version="2.0.0",
+ org.apache.tuscany.sca.common.xml.sax;version="2.0.0",
+ org.apache.tuscany.sca.common.xml.stax;version="2.0.0",
+ org.apache.tuscany.sca.common.xml.stax.reader;version="2.0.0"
Bundle-SymbolicName: org.apache.tuscany.sca.common.xml
Bundle-DocURL: http://www.apache.org/
+Export-Package: org.apache.tuscany.sca.common.xml.dom;version="2.0.0",
+ org.apache.tuscany.sca.common.xml.sax;version="2.0.0",
+ org.apache.tuscany.sca.common.xml.stax;version="2.0.0",
+ org.apache.tuscany.sca.common.xml.stax.reader;version="2.0.0"
diff --git a/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/SimpleTypeMapper.java b/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/SimpleTypeMapper.java deleted file mode 100644 index 8bdb8ae2df..0000000000 --- a/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/SimpleTypeMapper.java +++ /dev/null @@ -1,210 +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.common.xml; - -import java.util.HashMap; -import java.util.Map; - -import javax.xml.namespace.QName; - -/** - * Simple type mapper that maps from XSD types to Java Classes and Java Classes to XSD types. - * - * @version $Rev$ $Date$ - */ -public class SimpleTypeMapper extends XSDDataTypeConverter { - - public static final Map<Class<?>, String> JAVA2XML = new HashMap<Class<?>, String>(); - - public static final String URI_2001_SCHEMA_XSD = "http://www.w3.org/2001/XMLSchema"; - - public static final Map<QName, Class<?>> XML2JAVA = new HashMap<QName, Class<?>>(); - - public static final QName XSD_ANY = new QName(URI_2001_SCHEMA_XSD, "any"); - - public static final QName XSD_ANYSIMPLETYPE = new QName(URI_2001_SCHEMA_XSD, "anySimpleType"); - - public static final QName XSD_ANYTYPE = new QName(URI_2001_SCHEMA_XSD, "anyType"); - - public static final QName XSD_ANYURI = new QName(URI_2001_SCHEMA_XSD, "anyURI"); - - public static final QName XSD_BASE64 = new QName(URI_2001_SCHEMA_XSD, "base64Binary"); - - public static final QName XSD_BOOLEAN = new QName(URI_2001_SCHEMA_XSD, "boolean"); - - public static final QName XSD_BYTE = new QName(URI_2001_SCHEMA_XSD, "byte"); - - public static final QName XSD_DATE = new QName(URI_2001_SCHEMA_XSD, "date"); - - public static final QName XSD_DATETIME = new QName(URI_2001_SCHEMA_XSD, "dateTime"); - - public static final QName XSD_DAY = new QName(URI_2001_SCHEMA_XSD, "gDay"); - - public static final QName XSD_DECIMAL = new QName(URI_2001_SCHEMA_XSD, "decimal"); - - public static final QName XSD_DOUBLE = new QName(URI_2001_SCHEMA_XSD, "double"); - - public static final QName XSD_DURATION = new QName(URI_2001_SCHEMA_XSD, "duration"); - - public static final QName XSD_ENTITIES = new QName(URI_2001_SCHEMA_XSD, "ENTITIES"); - - public static final QName XSD_ENTITY = new QName(URI_2001_SCHEMA_XSD, "ENTITY"); - - public static final QName XSD_FLOAT = new QName(URI_2001_SCHEMA_XSD, "float"); - - public static final QName XSD_HEXBIN = new QName(URI_2001_SCHEMA_XSD, "hexBinary"); - - public static final QName XSD_IDREF = new QName(URI_2001_SCHEMA_XSD, "IDREF"); - - public static final QName XSD_IDREFS = new QName(URI_2001_SCHEMA_XSD, "IDREFS"); - - public static final QName XSD_INT = new QName(URI_2001_SCHEMA_XSD, "int"); - - public static final QName XSD_INTEGER = new QName(URI_2001_SCHEMA_XSD, "integer"); - - public static final QName XSD_LONG = new QName(URI_2001_SCHEMA_XSD, "long"); - - public static final QName XSD_MONTH = new QName(URI_2001_SCHEMA_XSD, "gMonth"); - - public static final QName XSD_MONTHDAY = new QName(URI_2001_SCHEMA_XSD, "gMonthDay"); - - public static final QName XSD_NAME = new QName(URI_2001_SCHEMA_XSD, "Name"); - - public static final QName XSD_NCNAME = new QName(URI_2001_SCHEMA_XSD, "NCName"); - - public static final QName XSD_NEGATIVEINTEGER = new QName(URI_2001_SCHEMA_XSD, "negativeInteger"); - - public static final QName XSD_NMTOKEN = new QName(URI_2001_SCHEMA_XSD, "NMTOKEN"); - - public static final QName XSD_NMTOKENS = new QName(URI_2001_SCHEMA_XSD, "NMTOKENS"); - - public static final QName XSD_NONNEGATIVEINTEGER = new QName(URI_2001_SCHEMA_XSD, "nonNegativeInteger"); - - public static final QName XSD_NONPOSITIVEINTEGER = new QName(URI_2001_SCHEMA_XSD, "nonPositiveInteger"); - - public static final QName XSD_NORMALIZEDSTRING = new QName(URI_2001_SCHEMA_XSD, "normalizedString"); - - public static final QName XSD_NOTATION = new QName(URI_2001_SCHEMA_XSD, "NOTATION"); - - public static final QName XSD_POSITIVEINTEGER = new QName(URI_2001_SCHEMA_XSD, "positiveInteger"); - - public static final QName XSD_QNAME = new QName(URI_2001_SCHEMA_XSD, "QName"); - - public static final QName XSD_SHORT = new QName(URI_2001_SCHEMA_XSD, "short"); - - public static final QName XSD_STRING = new QName(URI_2001_SCHEMA_XSD, "string"); - - public static final QName XSD_TIME = new QName(URI_2001_SCHEMA_XSD, "time"); - - public static final QName XSD_TOKEN = new QName(URI_2001_SCHEMA_XSD, "token"); - - public static final QName XSD_UNSIGNEDBYTE = new QName(URI_2001_SCHEMA_XSD, "unsignedByte"); - - public static final QName XSD_UNSIGNEDINT = new QName(URI_2001_SCHEMA_XSD, "unsignedInt"); - - public static final QName XSD_UNSIGNEDLONG = new QName(URI_2001_SCHEMA_XSD, "unsignedLong"); - - public static final QName XSD_UNSIGNEDSHORT = new QName(URI_2001_SCHEMA_XSD, "unsignedShort"); - - public static final QName XSD_YEAR = new QName(URI_2001_SCHEMA_XSD, "gYear"); - - public static final QName XSD_YEARMONTH = new QName(URI_2001_SCHEMA_XSD, "gYearMonth"); - - static { - JAVA2XML.put(boolean.class, "boolean"); - JAVA2XML.put(byte.class, "byte"); - JAVA2XML.put(short.class, "short"); - JAVA2XML.put(int.class, "int"); - JAVA2XML.put(long.class, "long"); - JAVA2XML.put(float.class, "float"); - JAVA2XML.put(double.class, "double"); - JAVA2XML.put(Boolean.class, "boolean"); - JAVA2XML.put(Byte.class, "byte"); - JAVA2XML.put(Short.class, "short"); - JAVA2XML.put(Integer.class, "int"); - JAVA2XML.put(Long.class, "long"); - JAVA2XML.put(Float.class, "float"); - JAVA2XML.put(Double.class, "double"); - JAVA2XML.put(java.lang.String.class, "string"); - JAVA2XML.put(java.math.BigInteger.class, "integer"); - JAVA2XML.put(java.math.BigDecimal.class, "decimal"); - JAVA2XML.put(java.util.Calendar.class, "dateTime"); - JAVA2XML.put(java.util.Date.class, "dateTime"); - JAVA2XML.put(javax.xml.namespace.QName.class, "QName"); - JAVA2XML.put(java.net.URI.class, "string"); - JAVA2XML.put(javax.xml.datatype.XMLGregorianCalendar.class, "anySimpleType"); - JAVA2XML.put(javax.xml.datatype.Duration.class, "duration"); - JAVA2XML.put(java.lang.Object.class, "anyType"); - JAVA2XML.put(java.awt.Image.class, "base64Binary"); - JAVA2XML.put(byte[].class, "base64Binary"); - // java2XSD.put(javax.activation.DataHandler.class, "base64Binary"); - JAVA2XML.put(javax.xml.transform.Source.class, "base64Binary"); - JAVA2XML.put(java.util.UUID.class, "string"); - } - - static { - XML2JAVA.put(new QName(URI_2001_SCHEMA_XSD, "string"), java.lang.String.class); - XML2JAVA.put(new QName(URI_2001_SCHEMA_XSD, "integer"), java.math.BigInteger.class); - XML2JAVA.put(new QName(URI_2001_SCHEMA_XSD, "int"), int.class); - XML2JAVA.put(new QName(URI_2001_SCHEMA_XSD, "long"), long.class); - XML2JAVA.put(new QName(URI_2001_SCHEMA_XSD, "short"), short.class); - XML2JAVA.put(new QName(URI_2001_SCHEMA_XSD, "decimal"), java.math.BigDecimal.class); - XML2JAVA.put(new QName(URI_2001_SCHEMA_XSD, "float"), float.class); - XML2JAVA.put(new QName(URI_2001_SCHEMA_XSD, "double"), double.class); - XML2JAVA.put(new QName(URI_2001_SCHEMA_XSD, "boolean"), boolean.class); - XML2JAVA.put(new QName(URI_2001_SCHEMA_XSD, "byte"), byte.class); - XML2JAVA.put(new QName(URI_2001_SCHEMA_XSD, "QName"), javax.xml.namespace.QName.class); - XML2JAVA.put(new QName(URI_2001_SCHEMA_XSD, "dateTime"), javax.xml.datatype.XMLGregorianCalendar.class); - XML2JAVA.put(new QName(URI_2001_SCHEMA_XSD, "base64Binary"), byte[].class); - XML2JAVA.put(new QName(URI_2001_SCHEMA_XSD, "hexBinary"), byte[].class); - XML2JAVA.put(new QName(URI_2001_SCHEMA_XSD, "unsignedInt"), long.class); - XML2JAVA.put(new QName(URI_2001_SCHEMA_XSD, "unsignedShort"), int.class); - XML2JAVA.put(new QName(URI_2001_SCHEMA_XSD, "unsignedByte"), short.class); - XML2JAVA.put(new QName(URI_2001_SCHEMA_XSD, "time"), javax.xml.datatype.XMLGregorianCalendar.class); - XML2JAVA.put(new QName(URI_2001_SCHEMA_XSD, "date"), javax.xml.datatype.XMLGregorianCalendar.class); - XML2JAVA.put(new QName(URI_2001_SCHEMA_XSD, "gDay"), javax.xml.datatype.XMLGregorianCalendar.class); - XML2JAVA.put(new QName(URI_2001_SCHEMA_XSD, "gMonth"), javax.xml.datatype.XMLGregorianCalendar.class); - XML2JAVA.put(new QName(URI_2001_SCHEMA_XSD, "gYear"), javax.xml.datatype.XMLGregorianCalendar.class); - XML2JAVA.put(new QName(URI_2001_SCHEMA_XSD, "gYearMonth"), javax.xml.datatype.XMLGregorianCalendar.class); - XML2JAVA.put(new QName(URI_2001_SCHEMA_XSD, "gMonthDay"), javax.xml.datatype.XMLGregorianCalendar.class); - XML2JAVA.put(new QName(URI_2001_SCHEMA_XSD, "anySimpleType"), java.lang.Object.class); // For elements - // XML2JAVA.put(new QName(URI_2001_SCHEMA_XSD, "anySimpleType"), java.lang.String.class); // For - // attributes - XML2JAVA.put(new QName(URI_2001_SCHEMA_XSD, "duration"), javax.xml.datatype.Duration.class); - XML2JAVA.put(new QName(URI_2001_SCHEMA_XSD, "NOTATION"), javax.xml.namespace.QName.class); - } - - public SimpleTypeMapper() { - super(); - } - - public static Class<?> getJavaType(QName xmlType) { - if (xmlType != null && URI_2001_SCHEMA_XSD.equals(xmlType.getNamespaceURI())) { - return XML2JAVA.get(xmlType.getLocalPart()); - } else { - return null; - } - } - - public static QName getXMLType(Class<?> javaType) { - return new QName(URI_2001_SCHEMA_XSD, JAVA2XML.get(javaType)); - } - -} diff --git a/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/XSDDataTypeConverter.java b/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/XSDDataTypeConverter.java deleted file mode 100644 index 895e4e476c..0000000000 --- a/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/XSDDataTypeConverter.java +++ /dev/null @@ -1,945 +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.common.xml; - -import java.io.IOException; -import java.io.OutputStream; -import java.io.Writer; -import java.math.BigDecimal; -import java.math.BigInteger; -import java.text.FieldPosition; -import java.text.Format; -import java.text.ParsePosition; -import java.util.Calendar; -import java.util.TimeZone; - -import javax.xml.XMLConstants; -import javax.xml.datatype.DatatypeConfigurationException; -import javax.xml.datatype.DatatypeFactory; -import javax.xml.datatype.Duration; -import javax.xml.namespace.NamespaceContext; -import javax.xml.namespace.QName; - -/** - * Utility class for XSD data type conversions - * - * @version $Rev$ $Date$ - */ -public class XSDDataTypeConverter { - public static final class Base64Binary { - private static final char[] S_BASE64CHAR = - {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', - 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', - 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', - '5', '6', '7', '8', '9', '+', '/'}; - - private static final char S_BASE64PAD = '='; - - private static final byte[] S_DECODETABLE = new byte[128]; - - static { - for (int i = 0; i < S_DECODETABLE.length; i++) { - S_DECODETABLE[i] = Byte.MAX_VALUE; // 127 - } - for (int i = 0; i < S_BASE64CHAR.length; i++) { - // 0 to 63 - S_DECODETABLE[S_BASE64CHAR[i]] = (byte) i; - } - } - - private Base64Binary() { - } - - /** - * - */ - public static byte[] decode(char[] data, int off, int len) { - char[] ibuf = new char[4]; - int ibufcount = 0; - byte[] obuf = new byte[len / 4 * 3 + 3]; - int obufcount = 0; - for (int i = off; i < off + len; i++) { - char ch = data[i]; - if (ch == S_BASE64PAD || ch < S_DECODETABLE.length && S_DECODETABLE[ch] != Byte.MAX_VALUE) { - ibuf[ibufcount++] = ch; - if (ibufcount == ibuf.length) { - ibufcount = 0; - obufcount += decode0(ibuf, obuf, obufcount); - } - } - } - if (obufcount == obuf.length) { - return obuf; - } - byte[] ret = new byte[obufcount]; - System.arraycopy(obuf, 0, ret, 0, obufcount); - return ret; - } - - /** - * - */ - public static void decode(char[] data, int off, int len, OutputStream ostream) throws IOException { - char[] ibuf = new char[4]; - int ibufcount = 0; - byte[] obuf = new byte[3]; - for (int i = off; i < off + len; i++) { - char ch = data[i]; - if (ch == S_BASE64PAD || ch < S_DECODETABLE.length && S_DECODETABLE[ch] != Byte.MAX_VALUE) { - ibuf[ibufcount++] = ch; - if (ibufcount == ibuf.length) { - ibufcount = 0; - int obufcount = decode0(ibuf, obuf, 0); - ostream.write(obuf, 0, obufcount); - } - } - } - } - - /** - * - */ - public static byte[] decode(String data) { - char[] ibuf = new char[4]; - int ibufcount = 0; - byte[] obuf = new byte[data.length() / 4 * 3 + 3]; - int obufcount = 0; - for (int i = 0; i < data.length(); i++) { - char ch = data.charAt(i); - if (ch == S_BASE64PAD || ch < S_DECODETABLE.length && S_DECODETABLE[ch] != Byte.MAX_VALUE) { - ibuf[ibufcount++] = ch; - if (ibufcount == ibuf.length) { - ibufcount = 0; - obufcount += decode0(ibuf, obuf, obufcount); - } - } - } - if (obufcount == obuf.length) { - return obuf; - } - byte[] ret = new byte[obufcount]; - System.arraycopy(obuf, 0, ret, 0, obufcount); - return ret; - } - - /** - * - */ - public static void decode(String data, OutputStream ostream) throws IOException { - char[] ibuf = new char[4]; - int ibufcount = 0; - byte[] obuf = new byte[3]; - for (int i = 0; i < data.length(); i++) { - char ch = data.charAt(i); - if (ch == S_BASE64PAD || ch < S_DECODETABLE.length && S_DECODETABLE[ch] != Byte.MAX_VALUE) { - ibuf[ibufcount++] = ch; - if (ibufcount == ibuf.length) { - ibufcount = 0; - int obufcount = decode0(ibuf, obuf, 0); - ostream.write(obuf, 0, obufcount); - } - } - } - } - - private static int decode0(char[] ibuf, byte[] obuf, int index) { - int wp = index; - int outlen = 3; - if (ibuf[3] == S_BASE64PAD) { - outlen = 2; - } - if (ibuf[2] == S_BASE64PAD) { - outlen = 1; - } - int b0 = S_DECODETABLE[ibuf[0]]; - int b1 = S_DECODETABLE[ibuf[1]]; - int b2 = S_DECODETABLE[ibuf[2]]; - int b3 = S_DECODETABLE[ibuf[3]]; - switch (outlen) { - case 1: - obuf[wp] = (byte) (b0 << 2 & 0xfc | b1 >> 4 & 0x3); - return 1; - case 2: - obuf[wp++] = (byte) (b0 << 2 & 0xfc | b1 >> 4 & 0x3); - obuf[wp] = (byte) (b1 << 4 & 0xf0 | b2 >> 2 & 0xf); - return 2; - case 3: - obuf[wp++] = (byte) (b0 << 2 & 0xfc | b1 >> 4 & 0x3); - obuf[wp++] = (byte) (b1 << 4 & 0xf0 | b2 >> 2 & 0xf); - obuf[wp] = (byte) (b2 << 6 & 0xc0 | b3 & 0x3f); - return 3; - default: - throw new IllegalArgumentException("The character sequence is not base64 encoded."); - } - } - - /** - * Returns base64 representation of specified byte array. - */ - public static String encode(byte[] data) { - return encode(data, 0, data.length); - } - - /** - * Returns base64 representation of specified byte array. - */ - public static String encode(byte[] data, int off, int len) { - if (len <= 0) { - return ""; - } - char[] out = new char[len / 3 * 4 + 4]; - int rindex = off; - int windex = 0; - int rest = len - off; - while (rest >= 3) { - int i = - ((data[rindex] & 0xff) << 16) + ((data[rindex + 1] & 0xff) << 8) - + (data[rindex + 2] & 0xff); - out[windex++] = S_BASE64CHAR[i >> 18]; - out[windex++] = S_BASE64CHAR[(i >> 12) & 0x3f]; - out[windex++] = S_BASE64CHAR[(i >> 6) & 0x3f]; - out[windex++] = S_BASE64CHAR[i & 0x3f]; - rindex += 3; - rest -= 3; - } - if (rest == 1) { - int i = data[rindex] & 0xff; - out[windex++] = S_BASE64CHAR[i >> 2]; - out[windex++] = S_BASE64CHAR[(i << 4) & 0x3f]; - out[windex++] = S_BASE64PAD; - out[windex++] = S_BASE64PAD; - } else if (rest == 2) { - int i = ((data[rindex] & 0xff) << 8) + (data[rindex + 1] & 0xff); - out[windex++] = S_BASE64CHAR[i >> 10]; - out[windex++] = S_BASE64CHAR[(i >> 4) & 0x3f]; - out[windex++] = S_BASE64CHAR[(i << 2) & 0x3f]; - out[windex++] = S_BASE64PAD; - } - return new String(out, 0, windex); - } - - /** - * Outputs base64 representation of the specified byte array to a byte stream. - */ - public static void encode(byte[] data, int off, int len, OutputStream ostream) throws IOException { - if (len <= 0) { - return; - } - byte[] out = new byte[4]; - int rindex = off; - int rest = len - off; - while (rest >= 3) { - int i = - ((data[rindex] & 0xff) << 16) + ((data[rindex + 1] & 0xff) << 8) - + (data[rindex + 2] & 0xff); - out[0] = (byte) S_BASE64CHAR[i >> 18]; - out[1] = (byte) S_BASE64CHAR[(i >> 12) & 0x3f]; - out[2] = (byte) S_BASE64CHAR[(i >> 6) & 0x3f]; - out[3] = (byte) S_BASE64CHAR[i & 0x3f]; - ostream.write(out, 0, 4); - rindex += 3; - rest -= 3; - } - if (rest == 1) { - int i = data[rindex] & 0xff; - out[0] = (byte) S_BASE64CHAR[i >> 2]; - out[1] = (byte) S_BASE64CHAR[(i << 4) & 0x3f]; - out[2] = (byte) S_BASE64PAD; - out[3] = (byte) S_BASE64PAD; - ostream.write(out, 0, 4); - } else if (rest == 2) { - int i = ((data[rindex] & 0xff) << 8) + (data[rindex + 1] & 0xff); - out[0] = (byte) S_BASE64CHAR[i >> 10]; - out[1] = (byte) S_BASE64CHAR[(i >> 4) & 0x3f]; - out[2] = (byte) S_BASE64CHAR[(i << 2) & 0x3f]; - out[3] = (byte) S_BASE64PAD; - ostream.write(out, 0, 4); - } - } - - /** - * Outputs base64 representation of the specified byte array to a character stream. - */ - public static void encode(byte[] data, int off, int len, Writer writer) throws IOException { - if (len <= 0) { - return; - } - char[] out = new char[4]; - int rindex = off; - int rest = len - off; - int output = 0; - while (rest >= 3) { - int i = - ((data[rindex] & 0xff) << 16) + ((data[rindex + 1] & 0xff) << 8) - + (data[rindex + 2] & 0xff); - out[0] = S_BASE64CHAR[i >> 18]; - out[1] = S_BASE64CHAR[(i >> 12) & 0x3f]; - out[2] = S_BASE64CHAR[(i >> 6) & 0x3f]; - out[3] = S_BASE64CHAR[i & 0x3f]; - writer.write(out, 0, 4); - rindex += 3; - rest -= 3; - output += 4; - if (output % 76 == 0) { - writer.write("\n"); - } - } - if (rest == 1) { - int i = data[rindex] & 0xff; - out[0] = S_BASE64CHAR[i >> 2]; - out[1] = S_BASE64CHAR[(i << 4) & 0x3f]; - out[2] = S_BASE64PAD; - out[3] = S_BASE64PAD; - writer.write(out, 0, 4); - } else if (rest == 2) { - int i = ((data[rindex] & 0xff) << 8) + (data[rindex + 1] & 0xff); - out[0] = S_BASE64CHAR[i >> 10]; - out[1] = S_BASE64CHAR[(i >> 4) & 0x3f]; - out[2] = S_BASE64CHAR[(i << 2) & 0x3f]; - out[3] = S_BASE64PAD; - writer.write(out, 0, 4); - } - } - } - - /** - * <p/> - * Utility class for xs:hexbinary. </p> - */ - public static final class HexBinary { - private HexBinary() { - } - - /** - * Converts the string <code>pValue</code> into an array of hex bytes. - */ - public static byte[] decode(String pValue) { - if ((pValue.length() % 2) != 0) { - throw new IllegalArgumentException("A HexBinary string must have even length."); - } - byte[] result = new byte[pValue.length() / 2]; - int j = 0; - int i = 0; - while (i < pValue.length()) { - byte b; - char c = pValue.charAt(i++); - char d = pValue.charAt(i++); - if (c >= '0' && c <= '9') { - b = (byte) ((c - '0') << 4); - } else if (c >= 'A' && c <= 'F') { - b = (byte) ((c - 'A' + 10) << 4); - } else if (c >= 'a' && c <= 'f') { - b = (byte) ((c - 'a' + 10) << 4); - } else { - throw new IllegalArgumentException("Invalid hex digit: " + c); - } - if (d >= '0' && d <= '9') { - b += (byte) (d - '0'); - } else if (d >= 'A' && d <= 'F') { - b += (byte) (d - 'A' + 10); - } else if (d >= 'a' && d <= 'f') { - b += (byte) (d - 'a' + 10); - } else { - throw new IllegalArgumentException("Invalid hex digit: " + d); - } - result[j++] = b; - } - return result; - } - - /** - * Converts the byte array <code>pHexBinary</code> into a string. - */ - public static String encode(byte[] pHexBinary) { - StringBuffer result = new StringBuffer(); - for (int i = 0; i < pHexBinary.length; i++) { - byte b = pHexBinary[i]; - byte c = (byte) ((b & 0xf0) >> 4); - if (c <= 9) { - result.append((char) ('0' + c)); - } else { - result.append((char) ('A' + c - 10)); - } - c = (byte) (b & 0x0f); - if (c <= 9) { - result.append((char) ('0' + c)); - } else { - result.append((char) ('A' + c - 10)); - } - } - return result.toString(); - } - - /** - * Creates a clone of the given byte array. - */ - public static byte[] getClone(byte[] pHexBinary) { - byte[] result = new byte[pHexBinary.length]; - System.arraycopy(pHexBinary, 0, result, 0, pHexBinary.length); - return result; - } - } - - public class XSDDateFormat extends XSDDateTimeFormat { - private static final long serialVersionUID = -1629412916827246627L; - - /** - * Creates a new instance. - */ - public XSDDateFormat() { - super(true, false); - } - } - - /** - * <p/> - * An instance of {@link java.text.Format}, which may be used to parse and format <code>xs:dateTime</code> values. - * </p> - */ - public static class XSDDateTimeFormat extends Format { - private static final long serialVersionUID = -1148332471737068969L; - - final boolean parseDate; - - final boolean parseTime; - - /** - * Creates a new instance. - */ - public XSDDateTimeFormat() { - this(true, true); - } - - XSDDateTimeFormat(boolean pParseDate, boolean pParseTime) { - parseDate = pParseDate; - parseTime = pParseTime; - } - - private void append(StringBuffer pBuffer, int pNum, int pMinLen) { - String s = Integer.toString(pNum); - for (int i = s.length(); i < pMinLen; i++) { - pBuffer.append('0'); - } - pBuffer.append(s); - } - - @Override - public StringBuffer format(Object pCalendar, StringBuffer pBuffer, FieldPosition pPos) { - assert pCalendar != null : "The Calendar argument must not be null."; - assert pBuffer != null : "The StringBuffer argument must not be null."; - assert pPos != null : "The FieldPosition argument must not be null."; - - Calendar cal = (Calendar) pCalendar; - if (parseDate) { - int year = cal.get(Calendar.YEAR); - if (year < 0) { - pBuffer.append('-'); - year = -year; - } - append(pBuffer, year, 4); - pBuffer.append('-'); - append(pBuffer, cal.get(Calendar.MONTH) + 1, 2); - pBuffer.append('-'); - append(pBuffer, cal.get(Calendar.DAY_OF_MONTH), 2); - if (parseTime) { - pBuffer.append('T'); - } - } - if (parseTime) { - append(pBuffer, cal.get(Calendar.HOUR_OF_DAY), 2); - pBuffer.append(':'); - append(pBuffer, cal.get(Calendar.MINUTE), 2); - pBuffer.append(':'); - append(pBuffer, cal.get(Calendar.SECOND), 2); - int millis = cal.get(Calendar.MILLISECOND); - if (millis > 0) { - pBuffer.append('.'); - append(pBuffer, millis, 3); - } - } - TimeZone tz = cal.getTimeZone(); - // JDK 1.4: int offset = tz.getOffset(cal.getTimeInMillis()); - int offset = cal.get(Calendar.ZONE_OFFSET); - if (tz.inDaylightTime(cal.getTime())) { - offset += cal.get(Calendar.DST_OFFSET); - } - if (offset == 0) { - pBuffer.append('Z'); - } else { - if (offset < 0) { - pBuffer.append('-'); - offset = -offset; - } else { - pBuffer.append('+'); - } - int minutes = offset / (60 * 1000); - int hours = minutes / 60; - minutes -= hours * 60; - append(pBuffer, hours, 2); - pBuffer.append(':'); - append(pBuffer, minutes, 2); - } - return pBuffer; - } - - private int parseInt(String pString, int offset, StringBuffer pDigits) { - int length = pString.length(); - int pOffset = offset; - pDigits.setLength(0); - while (pOffset < length) { - char c = pString.charAt(pOffset); - if (Character.isDigit(c)) { - pDigits.append(c); - ++pOffset; - } else { - break; - } - } - return pOffset; - } - - @Override - public Object parseObject(String pString, ParsePosition pParsePosition) { - assert pString != null : "The String argument must not be null."; - assert pParsePosition != null : "The ParsePosition argument must not be null."; - int offset = pParsePosition.getIndex(); - int length = pString.length(); - - boolean isMinus = false; - StringBuffer digits = new StringBuffer(); - int year = 0; - int month = 0; - int mday = 0; - if (parseDate) { - // Sign - if (offset < length) { - char c = pString.charAt(offset); - if (c == '+') { - ++offset; - } else if (c == '-') { - ++offset; - isMinus = true; - } - } - - offset = parseInt(pString, offset, digits); - if (digits.length() < 4) { - pParsePosition.setErrorIndex(offset); - return null; - } - year = Integer.parseInt(digits.toString()); - - if (offset < length && pString.charAt(offset) == '-') { - ++offset; - } else { - pParsePosition.setErrorIndex(offset); - return null; - } - - offset = parseInt(pString, offset, digits); - if (digits.length() != 2) { - pParsePosition.setErrorIndex(offset); - return null; - } - month = Integer.parseInt(digits.toString()); - - if (offset < length && pString.charAt(offset) == '-') { - ++offset; - } else { - pParsePosition.setErrorIndex(offset); - return null; - } - - offset = parseInt(pString, offset, digits); - if (digits.length() != 2) { - pParsePosition.setErrorIndex(offset); - return null; - } - mday = Integer.parseInt(digits.toString()); - - if (parseTime) { - if (offset < length && pString.charAt(offset) == 'T') { - ++offset; - } else { - pParsePosition.setErrorIndex(offset); - return null; - } - } - } else { - year = month = mday = 0; - } - - int hour = 0; - int minute = 0; - int second = 0; - int millis = 0; - if (parseTime) { - offset = parseInt(pString, offset, digits); - if (digits.length() != 2) { - pParsePosition.setErrorIndex(offset); - return null; - } - hour = Integer.parseInt(digits.toString()); - - if (offset < length && pString.charAt(offset) == ':') { - ++offset; - } else { - pParsePosition.setErrorIndex(offset); - return null; - } - - offset = parseInt(pString, offset, digits); - if (digits.length() != 2) { - pParsePosition.setErrorIndex(offset); - return null; - } - minute = Integer.parseInt(digits.toString()); - - if (offset < length && pString.charAt(offset) == ':') { - ++offset; - } else { - pParsePosition.setErrorIndex(offset); - return null; - } - - offset = parseInt(pString, offset, digits); - if (digits.length() != 2) { - pParsePosition.setErrorIndex(offset); - return null; - } - second = Integer.parseInt(digits.toString()); - - if (offset < length && pString.charAt(offset) == '.') { - ++offset; - offset = parseInt(pString, offset, digits); - if (digits.length() > 0) { - millis = Integer.parseInt(digits.toString()); - } else { - millis = 0; - } - } else { - millis = 0; - } - } else { - hour = minute = second = millis = 0; - } - - digits.setLength(0); - digits.append("GMT"); - if (offset < length) { - char c = pString.charAt(offset); - if (c == 'Z') { - // Ignore UTC, it is the default - ++offset; - } else if (c == '+' || c == '-') { - digits.append(c); - ++offset; - for (int i = 0; i < 5; i++) { - if (offset >= length) { - pParsePosition.setErrorIndex(offset); - return null; - } - c = pString.charAt(offset); - if ((i != 2 && Character.isDigit(c)) || (i == 2 && c == ':')) { - digits.append(c); - } else { - pParsePosition.setErrorIndex(offset); - return null; - } - ++offset; - } - } - } - - Calendar cal = Calendar.getInstance(TimeZone.getTimeZone(digits.toString())); - cal.set(isMinus ? -year : year, parseDate ? month - 1 : month, mday, hour, minute, second); - cal.set(Calendar.MILLISECOND, millis); - pParsePosition.setIndex(offset); - return cal; - } - } - - public static class XSDTimeFormat extends XSDDateTimeFormat { - private static final long serialVersionUID = 1346506860724640517L; - - /** - * Creates a new instance. - */ - public XSDTimeFormat() { - super(false, true); - } - } - - private static final long MAX_UNSIGNED_INT = (((long) Integer.MAX_VALUE) * 2) + 1; - - private static final int MAX_UNSIGNED_SHORT = Short.MAX_VALUE * 2 + 1; - - public String parseAnySimpleType(String value) { - return value; - } - - public byte[] parseBase64Binary(String value) { - return Base64Binary.decode(value); - } - - public boolean parseBoolean(String value) { - return Boolean.valueOf(value).booleanValue(); - } - - public byte parseByte(String value) { - return Byte.parseByte(value); - } - - public Calendar parseDate(String value) { - XSDDateFormat format = new XSDDateFormat(); - ParsePosition pos = new ParsePosition(0); - Calendar cal = (Calendar) format.parseObject(value, pos); - if (cal == null) { - throw new IllegalArgumentException("Failed to parse date " + value + " at:" - + value.substring(pos.getErrorIndex())); - } - return cal; - } - - public Calendar parseDateTime(String value) { - XSDDateTimeFormat format = new XSDDateTimeFormat(); - ParsePosition pos = new ParsePosition(0); - Calendar cal = (Calendar) format.parseObject(value, pos); - if (cal == null) { - throw new IllegalArgumentException("Failed to parse dateTime " + value + " at:" - + value.substring(pos.getErrorIndex())); - } - return cal; - } - - public BigDecimal parseDecimal(String value) { - return new BigDecimal(value); - } - - public double parseDouble(String value) { - if ("INF".equals(value)) { - return Double.POSITIVE_INFINITY; - } else if ("-INF".equals(value)) { - return Double.NEGATIVE_INFINITY; - } else if ("NaN".equals(value)) { - return Double.NaN; - } else { - return Double.parseDouble(value); - } - } - - public Duration parseDuration(String pDuration) { - try { - return DatatypeFactory.newInstance().newDuration(pDuration); - } catch (DatatypeConfigurationException e) { - throw new IllegalArgumentException(e); - } - } - - public float parseFloat(String value) { - if ("INF".equals(value)) { - return Float.POSITIVE_INFINITY; - } else if ("-INF".equals(value)) { - return Float.NEGATIVE_INFINITY; - } else if ("NaN".equals(value)) { - return Float.NaN; - } else { - return Float.parseFloat(value); - } - } - - public byte[] parseHexBinary(String value) { - return HexBinary.decode(value); - } - - public int parseInt(String value) { - return Integer.parseInt(value); - } - - public BigInteger parseInteger(String value) { - return new BigInteger(value); - } - - public long parseLong(String value) { - return Long.parseLong(value); - } - - public QName parseQName(String value, NamespaceContext context) { - int offset = value.indexOf(':'); - String uri; - String localName; - switch (offset) { - case -1: - localName = value; - uri = context.getNamespaceURI(""); - if (uri == null) { - // Should not happen, indicates an error in the - // NamespaceContext - // implementation - throw new IllegalArgumentException("The default prefix is not bound."); - } - break; - case 0: - throw new IllegalArgumentException("Default prefix must be indicated by not using a colon: " - + value); - default: - String prefix = value.substring(0, offset); - localName = value.substring(offset + 1); - uri = context.getNamespaceURI(prefix); - if (uri == null) { - throw new IllegalArgumentException("The prefix " + prefix + " is not bound."); - } - } - return new QName(uri, localName); - } - - public short parseShort(String value) { - return Short.parseShort(value); - } - - public String parseString(String value) { - return value; - } - - public Calendar parseTime(String value) { - XSDTimeFormat format = new XSDTimeFormat(); - ParsePosition pos = new ParsePosition(0); - Calendar cal = (Calendar) format.parseObject(value, pos); - if (cal == null) { - throw new IllegalArgumentException("Failed to parse time " + value + " at:" - + value.substring(pos.getErrorIndex())); - } - return cal; - } - - public long parseUnsignedInt(String value) { - long l = Long.parseLong(value); - if (l < 0) { - throw new IllegalArgumentException("Failed to parse UnsignedInt " + value - + ": result is negative"); - } - if (l > MAX_UNSIGNED_INT) { - throw new IllegalArgumentException("Failed to parse UnsignedInt " + value - + ": result exceeds maximum value " + MAX_UNSIGNED_INT); - } - return l; - } - - public int parseUnsignedShort(String value) { - int i = Integer.parseInt(value); - if (i < 0) { - throw new IllegalArgumentException("Failed to parse UnsignedShort " + value - + ": result is negative"); - } - if (i > MAX_UNSIGNED_SHORT) { - throw new IllegalArgumentException("Failed to parse UnsignedShort " + value - + ": result exceeds maximum value " + MAX_UNSIGNED_SHORT); - } - return i; - } - - public String printAnySimpleType(String value) { - return value; - } - - public String printBase64Binary(byte[] value) { - return Base64Binary.encode(value); - } - - public String printBoolean(boolean value) { - return (value ? Boolean.TRUE : Boolean.FALSE).toString(); - } - - public String printByte(byte value) { - return Byte.toString(value); - } - - public String printDate(Calendar value) { - return new XSDDateFormat().format(value); - } - - public String printDateTime(Calendar value) { - return new XSDDateTimeFormat().format(value); - } - - public String printDecimal(BigDecimal value) { - return value.toString(); - } - - public String printDouble(double value) { - return Double.toString(value); - } - - public String printDuration(Duration pDuration) { - return pDuration.toString(); - } - - public String printFloat(float value) { - return Float.toString(value); - } - - public String printHexBinary(byte[] value) { - return HexBinary.encode(value); - } - - public String printInt(int value) { - return Integer.toString(value); - } - - public String printInteger(BigInteger value) { - return value.toString(); - } - - public String printLong(long value) { - return Long.toString(value); - } - - public String printQName(QName value, NamespaceContext context) { - String prefix = context.getPrefix(value.getNamespaceURI()); - if (prefix == null) { - throw new IllegalArgumentException("The namespace URI " + value.getNamespaceURI() - + " is not bound."); - } else if (XMLConstants.DEFAULT_NS_PREFIX.equals(prefix)) { - return value.getLocalPart(); - } else { - return prefix + ":" + value.getLocalPart(); - } - } - - public String printShort(short value) { - return Short.toString(value); - } - - public String printString(String value) { - return value; - } - - public String printTime(Calendar value) { - return new XSDTimeFormat().format(value); - } - - public String printUnsignedInt(long value) { - return Long.toString(value); - } - - public String printUnsignedShort(int value) { - return Integer.toString(value); - } -} diff --git a/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/dom/DOMHelper.java b/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/dom/DOMHelper.java index 923d290f36..cc2460b8f9 100644 --- a/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/dom/DOMHelper.java +++ b/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/dom/DOMHelper.java @@ -34,6 +34,7 @@ import javax.xml.transform.dom.DOMSource; import javax.xml.transform.sax.SAXResult; import javax.xml.transform.stream.StreamResult; +import org.apache.tuscany.sca.common.xml.dom.impl.SAX2DOMAdapter; import org.apache.tuscany.sca.core.ExtensionPointRegistry; import org.apache.tuscany.sca.core.FactoryExtensionPoint; import org.w3c.dom.Attr; diff --git a/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/dom/SAX2DOMAdapter.java b/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/dom/impl/SAX2DOMAdapter.java index 861107e6a4..11d692c81e 100644 --- a/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/dom/SAX2DOMAdapter.java +++ b/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/dom/impl/SAX2DOMAdapter.java @@ -14,12 +14,14 @@ * limitations under the License. */ -package org.apache.tuscany.sca.common.xml.dom; +package org.apache.tuscany.sca.common.xml.dom.impl; import java.util.ArrayList; import java.util.List; import java.util.Stack; +import org.apache.tuscany.sca.common.xml.dom.DOMHelper; +import org.apache.tuscany.sca.common.xml.dom.DOMHelper.NodeContentHandler; import org.apache.tuscany.sca.core.ExtensionPointRegistry; import org.apache.tuscany.sca.core.UtilityExtensionPoint; import org.w3c.dom.Comment; diff --git a/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/StAXHelper.java b/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/StAXHelper.java index e78e8558e7..5283de272d 100644 --- a/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/StAXHelper.java +++ b/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/StAXHelper.java @@ -35,11 +35,16 @@ import javax.xml.transform.Source; import javax.xml.transform.dom.DOMResult; import org.apache.tuscany.sca.common.xml.dom.DOMHelper; +import org.apache.tuscany.sca.common.xml.stax.impl.StAX2SAXAdapter; +import org.apache.tuscany.sca.common.xml.stax.impl.XMLStreamSerializer; +import org.apache.tuscany.sca.common.xml.stax.reader.DOMXMLStreamReader; import org.apache.tuscany.sca.core.ExtensionPointRegistry; import org.apache.tuscany.sca.core.FactoryExtensionPoint; import org.apache.tuscany.sca.core.UtilityExtensionPoint; import org.w3c.dom.Document; import org.w3c.dom.Node; +import org.xml.sax.ContentHandler; +import org.xml.sax.SAXException; public final class StAXHelper { private final XMLInputFactory inputFactory; @@ -129,4 +134,9 @@ public final class StAXHelper { writer.flush(); } + public void saveAsSAX(XMLStreamReader reader, ContentHandler contentHandler) throws XMLStreamException, + SAXException { + new StAX2SAXAdapter(false).parse(reader, contentHandler); + } + } diff --git a/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/StAX2SAXAdapter.java b/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/impl/StAX2SAXAdapter.java index 12550781d3..df0fc069b6 100644 --- a/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/StAX2SAXAdapter.java +++ b/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/impl/StAX2SAXAdapter.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.tuscany.sca.common.xml.stax; +package org.apache.tuscany.sca.common.xml.stax.impl; import javax.xml.namespace.QName; import javax.xml.stream.Location; diff --git a/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/XMLStreamSerializer.java b/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/impl/XMLStreamSerializer.java index 2a86611fcb..64ac0a40e5 100644 --- a/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/XMLStreamSerializer.java +++ b/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/impl/XMLStreamSerializer.java @@ -17,7 +17,7 @@ * under the License. */ -package org.apache.tuscany.sca.common.xml.stax; +package org.apache.tuscany.sca.common.xml.stax.impl; import javax.xml.namespace.NamespaceContext; import javax.xml.stream.XMLStreamConstants; diff --git a/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/DOMXMLStreamReader.java b/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/reader/DOMXMLStreamReader.java index 4a5d4aaa6a..b0224b6ca5 100644 --- a/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/DOMXMLStreamReader.java +++ b/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/reader/DOMXMLStreamReader.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.tuscany.sca.common.xml.stax; +package org.apache.tuscany.sca.common.xml.stax.reader; import org.w3c.dom.Node; diff --git a/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/DOMXmlNodeImpl.java b/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/reader/DOMXmlNodeImpl.java index 95b10358b8..faa56701ad 100644 --- a/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/DOMXmlNodeImpl.java +++ b/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/reader/DOMXmlNodeImpl.java @@ -17,7 +17,7 @@ * under the License. */ -package org.apache.tuscany.sca.common.xml.stax; +package org.apache.tuscany.sca.common.xml.stax.reader; import java.util.ArrayList; import java.util.HashMap; @@ -66,7 +66,7 @@ public class DOMXmlNodeImpl implements XmlNode { } /** - * @see org.apache.tuscany.sca.common.xml.stax.databinding.xml.XmlNode#attributes() + * @see org.apache.tuscany.sca.common.xml.stax.reader.databinding.xml.XmlNode#attributes() */ public List<XmlNode> attributes() { if (type != Type.ELEMENT) { @@ -84,7 +84,7 @@ public class DOMXmlNodeImpl implements XmlNode { } /** - * @see org.apache.tuscany.sca.common.xml.stax.databinding.xml.XmlNode#children() + * @see org.apache.tuscany.sca.common.xml.stax.reader.databinding.xml.XmlNode#children() */ public Iterator<XmlNode> children() { if (type != Type.ELEMENT) { @@ -103,7 +103,7 @@ public class DOMXmlNodeImpl implements XmlNode { } /** - * @see org.apache.tuscany.sca.common.xml.stax.databinding.xml.XmlNode#getName() + * @see org.apache.tuscany.sca.common.xml.stax.reader.databinding.xml.XmlNode#getName() */ public QName getName() { return getQName(node); @@ -114,14 +114,14 @@ public class DOMXmlNodeImpl implements XmlNode { } /** - * @see org.apache.tuscany.sca.common.xml.stax.databinding.xml.XmlNode#getValue() + * @see org.apache.tuscany.sca.common.xml.stax.reader.databinding.xml.XmlNode#getValue() */ public String getValue() { return node.getNodeValue(); } /** - * @see org.apache.tuscany.sca.common.xml.stax.databinding.xml.XmlNode#namespaces() + * @see org.apache.tuscany.sca.common.xml.stax.reader.databinding.xml.XmlNode#namespaces() */ public Map<String, String> namespaces() { if (type != Type.ELEMENT) { diff --git a/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/DelegatingNamespaceContext.java b/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/reader/DelegatingNamespaceContext.java index 21a857491b..8f136df7df 100644 --- a/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/DelegatingNamespaceContext.java +++ b/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/reader/DelegatingNamespaceContext.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.tuscany.sca.common.xml.stax; +package org.apache.tuscany.sca.common.xml.stax.reader; import java.util.ArrayList; import java.util.EmptyStackException; diff --git a/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/NameValueArrayStreamReader.java b/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/reader/NameValueArrayStreamReader.java index 5942f23d20..ec3b6e083b 100644 --- a/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/NameValueArrayStreamReader.java +++ b/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/reader/NameValueArrayStreamReader.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.tuscany.sca.common.xml.stax; +package org.apache.tuscany.sca.common.xml.stax.reader; import javax.xml.namespace.NamespaceContext; import javax.xml.namespace.QName; diff --git a/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/NameValuePairStreamReader.java b/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/reader/NameValuePairStreamReader.java index b4b655d541..4abf9b3dcf 100644 --- a/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/NameValuePairStreamReader.java +++ b/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/reader/NameValuePairStreamReader.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.tuscany.sca.common.xml.stax; +package org.apache.tuscany.sca.common.xml.stax.reader; import javax.xml.namespace.NamespaceContext; import javax.xml.namespace.QName; diff --git a/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/NamedProperty.java b/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/reader/NamedProperty.java index 2ddcd4baa5..dc5954f541 100644 --- a/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/NamedProperty.java +++ b/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/reader/NamedProperty.java @@ -17,7 +17,7 @@ * under the License. */ -package org.apache.tuscany.sca.common.xml.stax; +package org.apache.tuscany.sca.common.xml.stax.reader; import java.util.Map; diff --git a/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/NilElementStreamReader.java b/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/reader/NilElementStreamReader.java index fc78807cdb..cee70f64df 100644 --- a/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/NilElementStreamReader.java +++ b/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/reader/NilElementStreamReader.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.tuscany.sca.common.xml.stax; +package org.apache.tuscany.sca.common.xml.stax.reader; import javax.xml.namespace.NamespaceContext; import javax.xml.namespace.QName; diff --git a/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/SimpleXmlNodeImpl.java b/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/reader/SimpleXmlNodeImpl.java index a28705cff2..30f388543c 100644 --- a/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/SimpleXmlNodeImpl.java +++ b/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/reader/SimpleXmlNodeImpl.java @@ -17,7 +17,7 @@ * under the License. */ -package org.apache.tuscany.sca.common.xml.stax; +package org.apache.tuscany.sca.common.xml.stax.reader; import java.util.Arrays; import java.util.HashMap; @@ -55,7 +55,7 @@ public class SimpleXmlNodeImpl implements XmlNode { } /** - * @see org.apache.tuscany.sca.common.xml.stax.databinding.xml.XmlNode#attributes() + * @see org.apache.tuscany.sca.common.xml.stax.reader.databinding.xml.XmlNode#attributes() */ public List<XmlNode> attributes() { if (type == Type.ELEMENT && value == null) { @@ -67,7 +67,7 @@ public class SimpleXmlNodeImpl implements XmlNode { } /** - * @see org.apache.tuscany.sca.common.xml.stax.databinding.xml.XmlNode#children() + * @see org.apache.tuscany.sca.common.xml.stax.reader.databinding.xml.XmlNode#children() */ public Iterator<XmlNode> children() { if (type == Type.ELEMENT && value != null) { @@ -79,21 +79,21 @@ public class SimpleXmlNodeImpl implements XmlNode { } /** - * @see org.apache.tuscany.sca.common.xml.stax.databinding.xml.XmlNode#getName() + * @see org.apache.tuscany.sca.common.xml.stax.reader.databinding.xml.XmlNode#getName() */ public QName getName() { return name; } /** - * @see org.apache.tuscany.sca.common.xml.stax.databinding.xml.XmlNode#getValue() + * @see org.apache.tuscany.sca.common.xml.stax.reader.databinding.xml.XmlNode#getValue() */ public String getValue() { return value == null ? null : String.valueOf(value); } /** - * @see org.apache.tuscany.sca.common.xml.stax.databinding.xml.XmlNode#namespaces() + * @see org.apache.tuscany.sca.common.xml.stax.reader.databinding.xml.XmlNode#namespaces() */ public Map<String, String> namespaces() { if (type == Type.ELEMENT && value == null) { diff --git a/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/WrappingXMLStreamReader.java b/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/reader/WrappingXMLStreamReader.java index a237bb457e..896f4b5b71 100644 --- a/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/WrappingXMLStreamReader.java +++ b/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/reader/WrappingXMLStreamReader.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.tuscany.sca.common.xml.stax; +package org.apache.tuscany.sca.common.xml.stax.reader; import javax.xml.namespace.NamespaceContext; import javax.xml.stream.XMLStreamException; diff --git a/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/XMLDocumentStreamReader.java b/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/reader/XMLDocumentStreamReader.java index 8ee9ea2242..a020a8a61e 100644 --- a/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/XMLDocumentStreamReader.java +++ b/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/reader/XMLDocumentStreamReader.java @@ -17,7 +17,7 @@ * under the License. */ -package org.apache.tuscany.sca.common.xml.stax; +package org.apache.tuscany.sca.common.xml.stax.reader; import java.util.NoSuchElementException; diff --git a/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/XMLFragmentStreamReader.java b/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/reader/XMLFragmentStreamReader.java index defe3595be..95ede0a840 100644 --- a/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/XMLFragmentStreamReader.java +++ b/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/reader/XMLFragmentStreamReader.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.tuscany.sca.common.xml.stax; +package org.apache.tuscany.sca.common.xml.stax.reader; import javax.xml.namespace.NamespaceContext; import javax.xml.namespace.QName; diff --git a/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/XMLFragmentStreamReaderImpl.java b/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/reader/XMLFragmentStreamReaderImpl.java index 2e42ac868f..4fd70bea67 100644 --- a/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/XMLFragmentStreamReaderImpl.java +++ b/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/reader/XMLFragmentStreamReaderImpl.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.tuscany.sca.common.xml.stax; +package org.apache.tuscany.sca.common.xml.stax.reader; import java.util.Arrays; import java.util.HashMap; diff --git a/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/XMLStreamable.java b/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/reader/XMLStreamable.java index b4b1a24f9d..f433753f96 100644 --- a/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/XMLStreamable.java +++ b/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/reader/XMLStreamable.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.tuscany.sca.common.xml.stax; +package org.apache.tuscany.sca.common.xml.stax.reader; import javax.xml.namespace.QName; import javax.xml.stream.XMLStreamReader; diff --git a/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/XmlNode.java b/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/reader/XmlNode.java index 75a820a620..9e39f58b31 100644 --- a/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/XmlNode.java +++ b/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/reader/XmlNode.java @@ -17,7 +17,7 @@ * under the License. */ -package org.apache.tuscany.sca.common.xml.stax; +package org.apache.tuscany.sca.common.xml.stax.reader; import java.util.Iterator; import java.util.List; diff --git a/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/XmlNodeIterator.java b/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/reader/XmlNodeIterator.java index 080f9c21e0..295fdb3de9 100644 --- a/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/XmlNodeIterator.java +++ b/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/reader/XmlNodeIterator.java @@ -17,7 +17,7 @@ * under the License. */ -package org.apache.tuscany.sca.common.xml.stax; +package org.apache.tuscany.sca.common.xml.stax.reader; import java.util.ArrayList; import java.util.EmptyStackException; diff --git a/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/XmlTreeStreamReaderImpl.java b/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/reader/XmlTreeStreamReaderImpl.java index 93295b3d43..3c4c1bdb06 100644 --- a/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/XmlTreeStreamReaderImpl.java +++ b/java/sca/modules/common-xml/src/main/java/org/apache/tuscany/sca/common/xml/stax/reader/XmlTreeStreamReaderImpl.java @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.tuscany.sca.common.xml.stax; +package org.apache.tuscany.sca.common.xml.stax.reader; import java.util.ArrayList; import java.util.Collections; diff --git a/java/sca/modules/common-xml/src/test/java/org/apache/tuscany/sca/common/xml/stax/XmlTreeStreamReaderTestCase.java b/java/sca/modules/common-xml/src/test/java/org/apache/tuscany/sca/common/xml/stax/XmlTreeStreamReaderTestCase.java index 4063314f3e..494e053e98 100644 --- a/java/sca/modules/common-xml/src/test/java/org/apache/tuscany/sca/common/xml/stax/XmlTreeStreamReaderTestCase.java +++ b/java/sca/modules/common-xml/src/test/java/org/apache/tuscany/sca/common/xml/stax/XmlTreeStreamReaderTestCase.java @@ -34,6 +34,10 @@ import javax.xml.stream.XMLOutputFactory; import javax.xml.stream.XMLStreamReader; import javax.xml.stream.XMLStreamWriter; +import org.apache.tuscany.sca.common.xml.stax.impl.XMLStreamSerializer; +import org.apache.tuscany.sca.common.xml.stax.reader.XmlNode; +import org.apache.tuscany.sca.common.xml.stax.reader.XmlNodeIterator; +import org.apache.tuscany.sca.common.xml.stax.reader.XmlTreeStreamReaderImpl; import org.custommonkey.xmlunit.XMLAssert; import org.junit.Assert; import org.junit.Before; @@ -154,35 +158,35 @@ public class XmlTreeStreamReaderTestCase { private Object value = "123"; /** - * @see org.apache.tuscany.sca.databinding.xml.XmlNode#attributes() + * @see org.apache.tuscany.sca.common.xml.stax.reader.databinding.xml.XmlNode#attributes() */ public List<XmlNode> attributes() { return attrs; } /** - * @see org.apache.tuscany.sca.databinding.xml.XmlNode#children() + * @see org.apache.tuscany.sca.common.xml.stax.reader.databinding.xml.XmlNode#children() */ public Iterator<XmlNode> children() { return children.iterator(); } /** - * @see org.apache.tuscany.sca.databinding.xml.XmlNode#getName() + * @see org.apache.tuscany.sca.common.xml.stax.reader.databinding.xml.XmlNode#getName() */ public QName getName() { return name; } /** - * @see org.apache.tuscany.sca.databinding.xml.XmlNode#getValue() + * @see org.apache.tuscany.sca.common.xml.stax.reader.databinding.xml.XmlNode#getValue() */ public <T> T getValue() { return (T)value; } /** - * @see org.apache.tuscany.sca.databinding.xml.XmlNode#namespaces() + * @see org.apache.tuscany.sca.common.xml.stax.reader.databinding.xml.XmlNode#namespaces() */ public Map<String, String> namespaces() { return namespaces; |