http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/ab15d45b/juneau-core-test/src/test/java/org/apache/juneau/xml/XmlCollapsedTest.java ---------------------------------------------------------------------- diff --git a/juneau-core-test/src/test/java/org/apache/juneau/xml/XmlCollapsedTest.java b/juneau-core-test/src/test/java/org/apache/juneau/xml/XmlCollapsedTest.java deleted file mode 100755 index 36b619f..0000000 --- a/juneau-core-test/src/test/java/org/apache/juneau/xml/XmlCollapsedTest.java +++ /dev/null @@ -1,435 +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.juneau.xml; - -import static org.apache.juneau.TestUtils.*; -import static org.apache.juneau.xml.annotation.XmlFormat.*; -import static org.junit.Assert.*; - -import java.util.*; - -import org.apache.juneau.annotation.*; -import org.apache.juneau.utils.*; -import org.apache.juneau.xml.annotation.*; -import org.junit.*; - -@SuppressWarnings({"serial","javadoc"}) -public class XmlCollapsedTest { - - //==================================================================================================== - // testBasic - @Xml.format=COLLAPSED - //==================================================================================================== - @Test - public void testBasic() throws Exception { - XmlSerializer s = XmlSerializer.DEFAULT_SQ; - XmlParser p = XmlParser.DEFAULT; - A t = new A(); - - t.f1 = new AList<String>().append("f1a").append("f1b"); - t.f2 = new String[]{"f2a","f2b"}; - t.f3 = new AList<String>().append("f3a").append("f3b"); - t.f4 = new String[]{"f4a","f4b"}; - - String xml = s.serialize(t); - assertEquals("<object><f1>f1a</f1><f1>f1b</f1><f2>f2a</f2><f2>f2b</f2><xf3>f3a</xf3><xf3>f3b</xf3><xf4>f4a</xf4><xf4>f4b</xf4></object>", xml); - t = p.parse(xml, A.class); - assertEquals("f1a", t.f1.get(0)); - assertEquals("f2a", t.f2[0]); - assertEquals("f3a", t.f3.get(0)); - assertEquals("f4a", t.f4[0]); - - validateXml(t, s); - } - - public static class A { - - @Xml(format=COLLAPSED) - public List<String> f1 = new LinkedList<String>(); - - @Xml(format=COLLAPSED) - public String[] f2 = new String[0]; - - @Xml(format=COLLAPSED,childName="xf3") - public List<String> f3 = new LinkedList<String>(); - - @Xml(format=COLLAPSED,childName="xf4") - public String[] f4 = new String[0]; - } - - //==================================================================================================== - // testUninitializedFields - @Xml.format=COLLAPSED, uninitialized fields. - //==================================================================================================== - @Test - public void testUninitializedFields() throws Exception { - XmlSerializer s = XmlSerializer.DEFAULT_SQ; - XmlParser p = XmlParser.DEFAULT; - B t = new B(); - - t.f1 = new AList<String>().append("f1a").append("f1b"); - t.f2 = new String[]{"f2a","f2b"}; - t.f3 = new AList<String>().append("f3a").append("f3b"); - t.f4 = new String[]{"f4a","f4b"}; - - String xml = s.serialize(t); - assertEquals("<object><f1>f1a</f1><f1>f1b</f1><f2>f2a</f2><f2>f2b</f2><xf3>f3a</xf3><xf3>f3b</xf3><xf4>f4a</xf4><xf4>f4b</xf4></object>", xml); - t = p.parse(xml, B.class); - assertEquals("f1a", t.f1.get(0)); - assertEquals("f2a", t.f2[0]); - assertEquals("f3a", t.f3.get(0)); - assertEquals("f4a", t.f4[0]); - - validateXml(t, s); - } - - public static class B { - - @Xml(format=COLLAPSED) - public List<String> f1; - - @Xml(format=COLLAPSED) - public String[] f2; - - @Xml(format=COLLAPSED,childName="xf3") - public List<String> f3; - - @Xml(format=COLLAPSED,childName="xf4") - public String[] f4; - } - - //==================================================================================================== - // testInitializedFields - @Xml.format=COLLAPSED, initialized fields. - //==================================================================================================== - @Test - public void testInitializedFields() throws Exception { - XmlSerializer s = XmlSerializer.DEFAULT_SQ; - XmlParser p = XmlParser.DEFAULT; - C t = new C(); - - t.f1 = new AList<String>().append("f1b"); - t.f2 = new String[]{"f2b"}; - t.f3 = new AList<String>().append("f3b"); - t.f4 = new String[]{"f4b"}; - - String xml = s.serialize(t); - assertEquals("<object><f1>f1b</f1><f2>f2b</f2><xf3>f3b</xf3><xf4>f4b</xf4></object>", xml); - - // Note that existing fields should be reused and appended to. - t = p.parse(xml, C.class); - assertEquals("f1a", t.f1.get(0)); - assertEquals("f1b", t.f1.get(1)); - assertEquals("f2a", t.f2[0]); - assertEquals("f2b", t.f2[1]); - assertEquals("f3a", t.f3.get(0)); - assertEquals("f3b", t.f3.get(1)); - assertEquals("f4a", t.f4[0]); - assertEquals("f4b", t.f4[1]); - - validateXml(t, s); - } - - public static class C { - - @Xml(format=COLLAPSED) - public List<String> f1 = new AList<String>().append("f1a"); - - @Xml(format=COLLAPSED) - public String[] f2 = {"f2a"}; - - @Xml(format=COLLAPSED,childName="xf3") - public List<String> f3 = new AList<String>().append("f3a"); - - @Xml(format=COLLAPSED,childName="xf4") - public String[] f4 = {"f4a"}; - } - - //==================================================================================================== - // testGetters - @Xml.format=COLLAPSED, getters. - //==================================================================================================== - @Test - @SuppressWarnings("synthetic-access") - public void testGetters() throws Exception { - XmlSerializer s = XmlSerializer.DEFAULT_SQ; - XmlParser p = XmlParser.DEFAULT; - D t = new D(); - - t.f1 = new AList<String>().append("f1a"); - t.f2 = new String[]{"f2a"}; - t.f3 = new AList<String>().append("f3a"); - t.f4 = new String[]{"f4a"}; - - String xml = s.serialize(t); - assertEquals("<object><f1>f1a</f1><f2>f2a</f2><xf3>f3a</xf3><xf4>f4a</xf4></object>", xml); - - // Note that existing fields should be reused and appended to. - t = p.parse(xml, D.class); - assertEquals("f1a", t.f1.get(0)); - assertEquals("f2a", t.f2[0]); - assertEquals("f3a", t.f3.get(0)); - assertEquals("f4a", t.f4[0]); - - validateXml(t, s); - } - - @Bean(properties="f1,f2,f3,f4") - public static class D { - - private List<String> f1 = new LinkedList<String>(), f3 = new LinkedList<String>(); - private String[] f2, f4; - - @Xml(format=COLLAPSED) - public List<String> getF1() { - return f1; - } - - @Xml(format=COLLAPSED) - public String[] getF2() { - return f2; - } - public void setF2(String[] f2) { - this.f2 = f2; - } - - @Xml(format=COLLAPSED,childName="xf3") - public List<String> getF3() { - return f3; - } - - @Xml(format=COLLAPSED,childName="xf4") - public String[] getF4() { - return f4; - } - public void setF4(String[] f4) { - this.f4 = f4; - } - } - - //==================================================================================================== - // testNullConstructibleCollectionFields - @Xml.format=COLLAPSED, null constructible collection fields. - //==================================================================================================== - @Test - @SuppressWarnings("synthetic-access") - public void testNullConstructibleCollectionFields() throws Exception { - XmlSerializer s = XmlSerializer.DEFAULT_SQ; - XmlParser p = XmlParser.DEFAULT; - E t = new E(); - - t.f1 = new AList<String>().append("f1a"); - t.f2 = new AList<String>().append("f2a"); - - String xml = s.serialize(t); - assertEquals("<object><f1>f1a</f1><xf2>f2a</xf2></object>", xml); - - // Note that existing fields should be reused and appended to. - t = p.parse(xml, E.class); - assertEquals("f1a", t.f1.get(0)); - assertEquals("f2a", t.f2.get(0)); - - validateXml(t, s); - } - - @Bean(properties="f1,f2") - public static class E { - - private LinkedList<String> f1, f2; - - @Xml(format=COLLAPSED) - public LinkedList<String> getF1() { - return f1; - } - public void setF1(LinkedList<String> f1) { - this.f1 = f1; - } - - @Xml(format=COLLAPSED,childName="xf2") - public LinkedList<String> getF2() { - return f2; - } - public void setF2(LinkedList<String> f2) { - this.f2 = f2; - } - } - - - //==================================================================================================== - // testElementNameOnElementClass - @Xml.format=COLLAPSED, element name defined on element class. - //==================================================================================================== - @Test - public void testElementNameOnElementClass() throws Exception { - XmlSerializer s = XmlSerializer.DEFAULT_SQ; - XmlParser p = XmlParser.DEFAULT; - Object t1 = FA.newInstance(), t2; - String r; - - r = s.serialize(t1); - assertEquals("<object><xf1>x1</xf1><xf1>x2</xf1></object>", r); - t2 = p.parse(r, FA.class); - assertEqualObjects(t1, t2); - validateXml(t1, s); - - t1 = FB.newInstance(); - r = s.serialize(t1); - assertEquals("<object><xf1>x1</xf1><xf1>x2</xf1></object>", r); - t2 = p.parse(r, FB.class); - assertEqualObjects(t1, t2); - validateXml(t1, s); - } - - public static class FA { - - @Xml(format=COLLAPSED) - public List<F1> f1; - - public static FA newInstance() { - FA t = new FA(); - t.f1 = new LinkedList<F1>(); - t.f1.add(F1.newInstance("x1")); - t.f1.add(F1.newInstance("x2")); - return t; - } - } - - public static class FB { - @Xml(format=COLLAPSED) - public F1[] f1; - - public static FB newInstance() { - FB t = new FB(); - t.f1 = new F1[]{ - F1.newInstance("x1"), - F1.newInstance("x2") - }; - return t; - } - } - - @Bean(typeName="xf1") - public static class F1 { - - @Xml(format=TEXT) - public String text; - - public static F1 newInstance(String text) { - F1 t = new F1(); - t.text = text; - return t; - } - } - - - //==================================================================================================== - // testElementNameOnElementClassOverridden - @Xml.format=COLLAPSED, element name defined on element class, - // but overridden by @Xml.childName on property. - //==================================================================================================== - @Test - public void testElementNameOnElementClassOverridden() throws Exception { - XmlSerializer s = XmlSerializer.DEFAULT_SQ; - XmlParser p = XmlParser.DEFAULT; - G t = G.newInstance(), t2; - - String xml = s.serialize(t); - assertEquals("<object><yf1>x1</yf1><yf1>x2</yf1></object>", xml); - - // Note that existing fields should be reused and appended to. - t2 = p.parse(xml, G.class); - assertEqualObjects(t, t2); - - validateXml(t, s); - } - - public static class G { - - @Xml(format=COLLAPSED, childName="yf1") - public List<F1> f1; - - public static G newInstance() { - G t = new G(); - t.f1 = new LinkedList<F1>(); - t.f1.add(F1.newInstance("x1")); - t.f1.add(F1.newInstance("x2")); - return t; - } - } - - - //==================================================================================================== - // testElementNameOnCollectionClass - @Xml.format=COLLAPSED, element name defined on bean class. - //==================================================================================================== - @Test - public void testElementNameOnCollectionClass() throws Exception { - XmlSerializer s = XmlSerializer.DEFAULT_SQ; - XmlParser p = XmlParser.DEFAULT; - H t = H.newInstance(), t2; - - String xml = s.serialize(t); - assertEquals("<object><xf1>x1</xf1><xf1>x2</xf1></object>", xml); - - // Note that existing fields should be reused and appended to. - t2 = p.parse(xml, H.class); - assertEqualObjects(t, t2); - - validateXml(t, s); - } - - public static class H { - - @Xml(format=COLLAPSED) - public H1 f1; - - public static H newInstance() { - H t = new H(); - t.f1 = new H1(); - t.f1.add("x1"); - t.f1.add("x2"); - return t; - } - } - - @Xml(childName="xf1") - public static class H1 extends LinkedList<String> { - } - - - //==================================================================================================== - // testElementNameOnCollectionClassOverridden - @Xml.format=COLLAPSED, element name defined on element class, - // but overridden by @Xml.childName on property. - //==================================================================================================== - @Test - public void testElementNameOnCollectionClassOverridden() throws Exception { - XmlSerializer s = XmlSerializer.DEFAULT_SQ; - XmlParser p = XmlParser.DEFAULT; - G t = G.newInstance(), t2; - - String xml = s.serialize(t); - assertEquals("<object><yf1>x1</yf1><yf1>x2</yf1></object>", xml); - - // Note that existing fields should be reused and appended to. - t2 = p.parse(xml, G.class); - assertEqualObjects(t, t2); - - validateXml(t, s); - } - - public static class I { - - @Xml(format=COLLAPSED, childName="yf1") - public H1 f1; - - public static I newInstance() { - I t = new I(); - t.f1 = new H1(); - t.f1.add("x1"); - t.f1.add("x2"); - return t; - } - } -}
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/ab15d45b/juneau-core-test/src/test/java/org/apache/juneau/xml/XmlContentTest.java ---------------------------------------------------------------------- diff --git a/juneau-core-test/src/test/java/org/apache/juneau/xml/XmlContentTest.java b/juneau-core-test/src/test/java/org/apache/juneau/xml/XmlContentTest.java deleted file mode 100755 index 21f778a..0000000 --- a/juneau-core-test/src/test/java/org/apache/juneau/xml/XmlContentTest.java +++ /dev/null @@ -1,261 +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.juneau.xml; - -import static org.apache.juneau.TestUtils.*; -import static org.apache.juneau.serializer.SerializerContext.*; -import static org.apache.juneau.xml.annotation.XmlFormat.*; -import static org.junit.Assert.*; - -import java.io.*; - -import org.apache.juneau.*; -import org.apache.juneau.annotation.*; -import org.apache.juneau.serializer.*; -import org.apache.juneau.xml.annotation.*; -import org.junit.*; - -@SuppressWarnings("javadoc") -public class XmlContentTest { - - //-------------------------------------------------------------------------------- - // Test beans with @Xml(format=CONTENT) - //-------------------------------------------------------------------------------- - @Test - public void testContentFormat() throws Exception { - A t = A.newInstance(), t2; - XmlSerializer s1 = XmlSerializer.DEFAULT_SQ, - s2 = new XmlSerializerBuilder().sq().ws().enableNamespaces(false).build(); - XmlParser p = XmlParser.DEFAULT; - WriterSerializerSession session; - String r; - StringWriter sw; - - //---------------------------------------------------------------- - // Null - //---------------------------------------------------------------- - t.f2 = null; - - sw = new StringWriter(); - session = s1.createSession(new SerializerSessionArgs(new ObjectMap("{"+SERIALIZER_trimNullProperties+":false}"), null, null, null, null, null)); - session.serialize(sw, t); - r = sw.toString(); - assertEquals("<A f1='f1'>_x0000_</A>", r); - t2 = p.parse(r, A.class); - assertEqualObjects(t, t2); - - sw = new StringWriter(); - session = s2.createSession(new SerializerSessionArgs(new ObjectMap("{"+SERIALIZER_trimNullProperties+":false}"), null, null, null, null, null)); - session.serialize(sw, t); - r = sw.toString(); - assertEquals("<A f1='f1'>_x0000_</A>\n", r); - t2 = p.parse(r, A.class); - assertEqualObjects(t, t2); - - //---------------------------------------------------------------- - // Normal text - //---------------------------------------------------------------- - t.f2 = "foobar"; - - r = s1.serialize(t); - assertEquals("<A f1='f1'>foobar</A>", r); - t2 = p.parse(r, A.class); - assertEqualObjects(t, t2); - - r = s2.serialize(t); - assertEquals("<A f1='f1'>foobar</A>\n", r); - t2 = p.parse(r, A.class); - assertEqualObjects(t, t2); - - //---------------------------------------------------------------- - // Special characters - //---------------------------------------------------------------- - t.f2 = "~!@#$%^&*()_+`-={}|[]\\:\";'<>?,.\n\r\t\b"; - - r = s1.serialize(t); - assertEquals("<A f1='f1'>~!@#$%^&*()_+`-={}|[]\\:\";'<>?,.

	_x0008_</A>", r); - t2 = p.parse(r, A.class); - assertEqualObjects(t, t2); - - r = s2.serialize(t); - assertEquals("<A f1='f1'>~!@#$%^&*()_+`-={}|[]\\:\";'<>?,.

	_x0008_</A>\n", r); - t2 = p.parse(r, A.class); - assertEqualObjects(t, t2); - - //---------------------------------------------------------------- - // Leading spaces - //---------------------------------------------------------------- - t.f2 = " foobar"; - - r = s1.serialize(t); - assertEquals("<A f1='f1'>_x0020_ foobar</A>", r); - t2 = p.parse(r, A.class); - assertEqualObjects(t, t2); - - r = s2.serialize(t); - assertEquals("<A f1='f1'>_x0020_ foobar</A>\n", r); - t2 = p.parse(r, A.class); - assertEqualObjects(t, t2); - - //---------------------------------------------------------------- - // Trailing spaces - //---------------------------------------------------------------- - t.f2 = "foobar "; - - r = s1.serialize(t); - assertEquals("<A f1='f1'>foobar _x0020_</A>", r); - t2 = p.parse(r, A.class); - assertEqualObjects(t, t2); - - r = s2.serialize(t); - assertEquals("<A f1='f1'>foobar _x0020_</A>\n", r); - t2 = p.parse(r, A.class); - assertEqualObjects(t, t2); - } - - @Bean(typeName="A") - public static class A { - @Xml(format=ATTR) public String f1; - @Xml(format=TEXT) public String f2; - - public static A newInstance() { - A t = new A(); - t.f1 = "f1"; - t.f2 = null; - return t; - } - } - - //-------------------------------------------------------------------------------- - // Test beans with @Xml(format=MIXED) - //-------------------------------------------------------------------------------- - @Test - public void testXmlMixed() throws Exception { - B t = B.newInstance(), t2; - XmlSerializer s1 = XmlSerializer.DEFAULT_SQ, - s2 = new XmlSerializerBuilder().sq().ws().enableNamespaces(false).build(); - XmlParser p = XmlParser.DEFAULT; - WriterSerializerSession session; - String r; - StringWriter sw; - - //---------------------------------------------------------------- - // Null - //---------------------------------------------------------------- - t.f2 = null; - - sw = new StringWriter(); - session = s1.createSession(new SerializerSessionArgs(new ObjectMap("{"+SERIALIZER_trimNullProperties+":false}"), null, null, null, null, null)); - session.serialize(sw, t); - r = sw.toString(); - assertEquals("<A f1='f1'>_x0000_</A>", r); - t2 = p.parse(r, B.class); - assertEqualObjects(t, t2); - - sw = new StringWriter(); - session = s2.createSession(new SerializerSessionArgs(new ObjectMap("{"+SERIALIZER_trimNullProperties+":false}"), null, null, null, null, null)); - session.serialize(sw, t); - r = sw.toString(); - assertEquals("<A f1='f1'>_x0000_</A>\n", r); - t2 = p.parse(r, B.class); - assertEqualObjects(t, t2); - - //---------------------------------------------------------------- - // Normal text - //---------------------------------------------------------------- - t.f2 = "foobar"; - - r = s1.serialize(t); - assertEquals("<A f1='f1'>foobar</A>", r); - t2 = p.parse(r, B.class); - assertEqualObjects(t, t2); - - r = s2.serialize(t); - assertEquals("<A f1='f1'>foobar</A>\n", r); - t2 = p.parse(r, B.class); - assertEqualObjects(t, t2); - - //---------------------------------------------------------------- - // Normal XML - //---------------------------------------------------------------- - t.f2 = "<xxx>foobar<yyy>baz</yyy>foobar</xxx>"; - - r = s1.serialize(t); - assertEquals("<A f1='f1'><xxx>foobar<yyy>baz</yyy>foobar</xxx></A>", r); - t2 = p.parse(r, B.class); - assertEqualObjects(t, t2); - - r = s2.serialize(t); - assertEquals("<A f1='f1'><xxx>foobar<yyy>baz</yyy>foobar</xxx></A>\n", r); - t2 = p.parse(r, B.class); - assertEqualObjects(t, t2); - - //---------------------------------------------------------------- - // Normal XML with leading and trailing space - //---------------------------------------------------------------- - t.f2 = " <xxx>foobar<yyy>baz</yyy>foobar</xxx> "; - - r = s1.serialize(t); - assertEquals("<A f1='f1'>_x0020_ <xxx>foobar<yyy>baz</yyy>foobar</xxx> _x0020_</A>", r); - t2 = p.parse(r, B.class); - assertEqualObjects(t, t2); - - r = s2.serialize(t); - assertEquals("<A f1='f1'>_x0020_ <xxx>foobar<yyy>baz</yyy>foobar</xxx> _x0020_</A>\n", r); - t2 = p.parse(r, B.class); - assertEqualObjects(t, t2); - - //---------------------------------------------------------------- - // XML with attributes - //---------------------------------------------------------------- - t.f2 = "<xxx x=\"x\">foobar</xxx>"; - - r = s1.serialize(t); - assertEquals("<A f1='f1'><xxx x=\"x\">foobar</xxx></A>", r); - t2 = p.parse(r, B.class); - assertEqualObjects(t, t2); - - r = s2.serialize(t); - assertEquals("<A f1='f1'><xxx x=\"x\">foobar</xxx></A>\n", r); - t2 = p.parse(r, B.class); - assertEqualObjects(t, t2); - - //---------------------------------------------------------------- - // XML with embedded entities - //---------------------------------------------------------------- - t.f2 = "<xxx x=\"x\">foo<>bar</xxx>"; - - r = s1.serialize(t); - assertEquals("<A f1='f1'><xxx x=\"x\">foo&lt;&gt;bar</xxx></A>", r); - t2 = p.parse(r, B.class); - assertEqualObjects(t, t2); - - r = s2.serialize(t); - assertEquals("<A f1='f1'><xxx x=\"x\">foo&lt;&gt;bar</xxx></A>\n", r); - t2 = p.parse(r, B.class); - assertEqualObjects(t, t2); - } - - @Bean(typeName="A") - public static class B { - @Xml(format=ATTR) public String f1; - @Xml(format=TEXT) public String f2; - - public static B newInstance() { - B t = new B(); - t.f1 = "f1"; - t.f2 = null; - return t; - } - } -} http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/ab15d45b/juneau-core-test/src/test/java/org/apache/juneau/xml/XmlParserTest.java ---------------------------------------------------------------------- diff --git a/juneau-core-test/src/test/java/org/apache/juneau/xml/XmlParserTest.java b/juneau-core-test/src/test/java/org/apache/juneau/xml/XmlParserTest.java deleted file mode 100755 index 9e1f571..0000000 --- a/juneau-core-test/src/test/java/org/apache/juneau/xml/XmlParserTest.java +++ /dev/null @@ -1,95 +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.juneau.xml; - -import static org.junit.Assert.*; - -import org.apache.juneau.*; -import org.apache.juneau.parser.*; -import org.junit.*; - -@SuppressWarnings("javadoc") -public class XmlParserTest { - - @Test - public void testGenericAttributes() throws Exception { - String xml = "<A b='1'><c>2</c></A>"; - ObjectMap m = XmlParser.DEFAULT.parse(xml, ObjectMap.class); - assertEquals("{b:'1',c:'2'}", m.toString()); - } - - @Test - public void testGenericWithChildElements() throws Exception { - String xml; - ObjectMap m; - - xml = "<A><B><C>c</C></B></A>"; - m = XmlParser.DEFAULT.parse(xml, ObjectMap.class); - assertEquals("{B:{C:'c'}}", m.toString()); - - xml = "<A><B><C1>c1</C1><C2>c2</C2></B></A>"; - m = XmlParser.DEFAULT.parse(xml, ObjectMap.class); - assertEquals("{B:{C1:'c1',C2:'c2'}}", m.toString()); - - xml = "<A><B><C><D1>d1</D1><D2>d2</D2></C></B></A>"; - m = XmlParser.DEFAULT.parse(xml, ObjectMap.class); - assertEquals("{B:{C:{D1:'d1',D2:'d2'}}}", m.toString()); - - xml = "<A><B><C><D1 d1a='d1av'><E1>e1</E1></D1><D2 d2a='d2av'><E2>e2</E2></D2></C></B></A>"; - m = XmlParser.DEFAULT.parse(xml, ObjectMap.class); - assertEquals("{B:{C:{D1:{d1a:'d1av',E1:'e1'},D2:{d2a:'d2av',E2:'e2'}}}}", m.toString()); - - xml = "<A><B b='b'><C>c</C></B></A>"; - m = XmlParser.DEFAULT.parse(xml, ObjectMap.class); - assertEquals("{B:{b:'b',C:'c'}}", m.toString()); - - xml = "<A><B b='b'>c</B></A>"; - m = XmlParser.DEFAULT.parse(xml, ObjectMap.class); - assertEquals("{B:{b:'b',contents:'c'}}", m.toString()); - - xml = "<A><B>b1</B><B>b2</B></A>"; - m = XmlParser.DEFAULT.parse(xml, ObjectMap.class); - assertEquals("{B:['b1','b2']}", m.toString()); - - xml = "<A><B><C>c1</C><C>c2</C></B></A>"; - m = XmlParser.DEFAULT.parse(xml, ObjectMap.class); - assertEquals("{B:{C:['c1','c2']}}", m.toString()); - - xml = "<A><B v='v1'>b1</B><B v='v2'>b2</B></A>"; - m = XmlParser.DEFAULT.parse(xml, ObjectMap.class); - assertEquals("{B:[{v:'v1',contents:'b1'},{v:'v2',contents:'b2'}]}", m.toString()); - - xml = "<A><B><C v='v1'>c1</C><C v='v2'>c2</C></B></A>"; - m = XmlParser.DEFAULT.parse(xml, ObjectMap.class); - assertEquals("{B:{C:[{v:'v1',contents:'c1'},{v:'v2',contents:'c2'}]}}", m.toString()); - - xml = "<A><B c='c1'><c>c2</c></B></A>"; - m = XmlParser.DEFAULT.parse(xml, ObjectMap.class); - assertEquals("{B:{c:['c1','c2']}}", m.toString()); - } - - @Test - public void testPreserveRootElement() throws Exception { - String xml; - ObjectMap m; - ReaderParser p = new XmlParserBuilder().preserveRootElement(true).build(); - - xml = "<A><B><C>c</C></B></A>"; - m = p.parse(xml, ObjectMap.class); - assertEquals("{A:{B:{C:'c'}}}", m.toString()); - - xml = "<A></A>"; - m = p.parse(xml, ObjectMap.class); - assertEquals("{A:{}}", m.toString()); - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/ab15d45b/juneau-core-test/src/test/java/org/apache/juneau/xml/XmlTest.java ---------------------------------------------------------------------- diff --git a/juneau-core-test/src/test/java/org/apache/juneau/xml/XmlTest.java b/juneau-core-test/src/test/java/org/apache/juneau/xml/XmlTest.java deleted file mode 100755 index ffcca5a..0000000 --- a/juneau-core-test/src/test/java/org/apache/juneau/xml/XmlTest.java +++ /dev/null @@ -1,1032 +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.juneau.xml; - -import static org.apache.juneau.TestUtils.*; -import static org.apache.juneau.xml.annotation.XmlFormat.*; -import static org.junit.Assert.*; - -import java.net.*; -import java.util.*; - -import org.apache.juneau.*; -import org.apache.juneau.annotation.*; -import org.apache.juneau.jena.annotation.*; -import org.apache.juneau.json.*; -import org.apache.juneau.utils.*; -import org.apache.juneau.xml.annotation.*; -import org.apache.juneau.xml.xml1a.*; -import org.apache.juneau.xml.xml1b.*; -import org.apache.juneau.xml.xml1c.*; -import org.junit.*; - -@SuppressWarnings({"serial","javadoc"}) -public class XmlTest { - - //==================================================================================================== - // Simple comparison test with JSON serializer - //==================================================================================================== - @Test - public void testComparisonWithJson() throws Exception { - - String json1 = - "{\n" - +" name: \"John Smith\",\n" - +" address: {\n" - +" streetAddress: \"21 2nd Street\",\n" - +" city: \"New York\",\n" - +" state: \"NY\",\n" - +" postalCode: 10021\n" - +" },\n" - +" phoneNumbers: [\n" - +" \"212 555-1111\",\n" - +" \"212 555-2222\"\n" - +" ],\n" - +" additionalInfo: null,\n" - +" remote: false,\n" - +" height: 62.4,\n" - +" \"fico score\": \" > 640\"\n" - +"}"; - - String xml1 = - "<object>\n" - +" <name>John Smith</name>\n" - +" <address _type='object'>\n" - +" <streetAddress>21 2nd Street</streetAddress>\n" - +" <city>New York</city>\n" - +" <state>NY</state>\n" - +" <postalCode _type='number'>10021</postalCode>\n" - +" </address>\n" - +" <phoneNumbers _type='array'>\n" - +" <string>212 555-1111</string>\n" - +" <string>212 555-2222</string>\n" - +" </phoneNumbers>\n" - +" <additionalInfo _type='null'/>\n" - +" <remote _type='boolean'>false</remote>\n" - +" <height _type='number'>62.4</height>\n" - +" <fico_x0020_score>_x0020_> 640</fico_x0020_score>\n" - +"</object>\n"; - - ObjectMap m = (ObjectMap) XmlParser.DEFAULT.parse(xml1, Object.class); - String json2 = new JsonSerializerBuilder().simple().ws().quoteChar('"').trimNullProperties(false).build().serialize(m); - assertEquals(json1, json2); - - m = (ObjectMap) JsonParser.DEFAULT.parse(json1, Object.class); - String xml2 = new XmlSerializerBuilder().sq().ws() - .trimNullProperties(false) - .build() - .serialize(m); - assertEquals(xml1, xml2); - } - - //==================================================================================================== - // Test namespacing - //==================================================================================================== - @Test - public void testNamespaces() throws Exception { - - String json1 = - "{\n" - +" name: \"John Smith\", \n" - +" address: {\n" - +" streetAddress: \"21 2nd Street\", \n" - +" city: \"New York\", \n" - +" state: \"NY\", \n" - +" postalCode: 10021\n" - +" }, \n" - +" phoneNumbers: [\n" - +" \"212 555-1111\", \n" - +" \"212 555-2222\"\n" - +" ], \n" - +" additionalInfo: null, \n" - +" remote: false, \n" - +" height: 62.4, \n" - +" \"fico score\": \" > 640\"\n" - +"}"; - - String xml1 = - "<object xmlns='http://www.apache.org'>\n" - +" <name>John Smith</name>\n" - +" <address _type='object'>\n" - +" <streetAddress>21 2nd Street</streetAddress>\n" - +" <city>New York</city>\n" - +" <state>NY</state>\n" - +" <postalCode _type='number'>10021</postalCode>\n" - +" </address>\n" - +" <phoneNumbers _type='array'>\n" - +" <string>212 555-1111</string>\n" - +" <string>212 555-2222</string>\n" - +" </phoneNumbers>\n" - +" <additionalInfo _type='null'/>\n" - +" <remote _type='boolean'>false</remote>\n" - +" <height _type='number'>62.4</height>\n" - +" <fico_x0020_score>_x0020_> 640</fico_x0020_score>\n" - +"</object>\n"; - - ObjectMap m = (ObjectMap) JsonParser.DEFAULT.parse(json1, Object.class); - String r = new XmlSerializerBuilder().ns().sq().ws() - .addNamespaceUrisToRoot(true) - .defaultNamespace("http://www.apache.org") - .trimNullProperties(false) - .build() - .serialize(m); - assertEquals(xml1, r); - } - - //==================================================================================================== - // Test bean name annotation - //==================================================================================================== - @Test - public void testBeanNameAnnotation() throws Exception { - String e = - "<Person1>\n" - + " <name>John Smith</name>\n" - + " <age>123</age>\n" - + "</Person1>\n"; - String r = XmlSerializer.DEFAULT_SQ_READABLE.serialize(new Person1("John Smith", 123)); - assertEquals(e, r); - } - - /** Class with explicitly specified properties */ - @Bean(typeName="Person1", properties="name,age") - public static class Person1 { - public int age; - private String name; - protected Person1(String name, int age) { - this.name = name; - this.age = age; - } - public String getName() { - return name; - } - public void setName(String name) { - this.name = name; - } - } - - //==================================================================================================== - // Test trimNulls property. - //==================================================================================================== - @Test - public void testTrimNulls() throws Exception { - String e = - "<Person1>\n" - + " <age>123</age>\n" - + "</Person1>\n"; - String r = XmlSerializer.DEFAULT_SQ_READABLE.serialize(new Person1(null, 123)); - assertEquals(e, r); - } - - //==================================================================================================== - // Element name. - //==================================================================================================== - @Test - public void testElementName() throws Exception { - XmlSerializer s = XmlSerializer.DEFAULT_SQ; - A t = new A(); - String r = s.serialize(t); - assertEquals("<foo><f1>1</f1></foo>", r); - validateXml(t); - } - - @Bean(typeName="foo") - public static class A { - public int f1 = 1; - } - - //==================================================================================================== - // Element name on superclass. - //==================================================================================================== - @Test - public void testElementNameOnSuperclass() throws Exception { - XmlSerializer s = XmlSerializer.DEFAULT_SQ; - B2 t = new B2(); - String r = s.serialize(t); - assertEquals("<foo><f1>1</f1></foo>", r); - validateXml(t); - } - - public static class B1 extends A {} - public static class B2 extends B1 {} - - //==================================================================================================== - // Element name on interface. - //==================================================================================================== - @Test - public void testElementNameOnInterface() throws Exception { - XmlSerializer s = XmlSerializer.DEFAULT_SQ; - C3 t = new C3(); - String r = s.serialize(t); - assertEquals("<foo><f1>1</f1></foo>", r); - validateXml(t); - } - - @Bean(typeName="foo") - public static interface C1 {} - public static class C2 implements C1 {} - public static class C3 extends C2 { - public int f1 = 1; - } - - //==================================================================================================== - // Element name with invalid XML characters. - //==================================================================================================== - @Test - public void testElementNameWithInvalidChars() throws Exception { - XmlSerializer s = XmlSerializer.DEFAULT_SQ; - XmlParser p = XmlParser.DEFAULT; - D t = new D(); - String r = s.serialize(t); - assertEquals("<_x007E__x0021__x0040__x0023__x0024__x0025__x005E__x0026__x002A__x0028__x0029___x002B__x0060_-_x003D__x007B__x007D__x007C__x005B__x005D__x005C__x003A__x0022__x003B__x0027__x003C__x003E__x003F__x002C_._x000A__x000D__x0009__x0008_><f1>1</f1></_x007E__x0021__x0040__x0023__x0024__x0025__x005E__x0026__x002A__x0028__x0029___x002B__x0060_-_x003D__x007B__x007D__x007C__x005B__x005D__x005C__x003A__x0022__x003B__x0027__x003C__x003E__x003F__x002C_._x000A__x000D__x0009__x0008_>", r); - t = p.parse(r, D.class); - validateXml(t); - } - - @Bean(typeName="~!@#$%^&*()_+`-={}|[]\\:\";'<>?,.\n\r\t\b") - public static class D { - public int f1 = 1; - } - - //==================================================================================================== - // Field of type collection with element name. - // Element name should be ignored. - //==================================================================================================== - @Test - public void testIgnoreCollectionFieldWithElementName() throws Exception { - XmlSerializer s = XmlSerializer.DEFAULT_SQ; - XmlParser p = XmlParser.DEFAULT; - G t = new G(); - t.f1.add("bar"); - String r = s.serialize(t); - assertEquals("<bar><f1><string>bar</string></f1></bar>", r); - t = p.parse(r, G.class); - validateXml(t); - } - - @Bean(typeName="foo") - public static class F extends LinkedList<String>{} - - @Bean(typeName="bar") - public static class G { - public F f1 = new F(); - } - - //==================================================================================================== - // Element name on beans of a collection. - //==================================================================================================== - @Test - public void testElementNameOnBeansOfCollection() throws Exception { - XmlSerializer s = XmlSerializer.DEFAULT_SQ; - Object o = new J1(); - String r = s.serialize(o); - assertEquals("<foo><f1><bar><f2>2</f2></bar></f1></foo>", r); - } - - @Bean(typeName="foo") - public static class J1 { - @BeanProperty(properties="f2") public List<J2> f1 = new AList<J2>().append(new J2()); - } - - @Bean(typeName="bar") - public static class J2 { - public int f2 = 2; - public int f3 = 3; - } - - //==================================================================================================== - // @Xml.ns without matching nsUri. - //==================================================================================================== - @Test - public void testXmlNsWithoutMatchingNsUri() throws Exception { - XmlSerializer s = XmlSerializer.DEFAULT_SQ; - K t = new K(); - try { - s.serialize(t); - fail("Exception not thrown"); - } catch (Exception e) { - assertEquals("Found @Xml.prefix annotation with no matching URI. prefix='foo'", e.getLocalizedMessage()); - } - } - - @Xml(prefix="foo") - public static class K { - public int f1; - } - - //==================================================================================================== - // @Xml.format=ATTR. - //==================================================================================================== - @Test - public void testXmlFormatAttr() throws Exception { - XmlSerializer s = XmlSerializer.DEFAULT_SQ; - XmlParser p = XmlParser.DEFAULT; - L t = new L(); - String r = s.serialize(t); - assertEquals("<object f2='2'><f1>1</f1><f3>3</f3></object>", r); - t.f1 = 4; t.f2 = 5; t.f3 = 6; - t = p.parse(s.serialize(t), L.class); - assertEquals(4, t.f1); - assertEquals(5, t.f2); - assertEquals(6, t.f3); - validateXml(t); - } - - public static class L { - public int f1 = 1; - @Xml(format=ATTR) - public int f2 = 2; - public int f3 = 3; - } - - //==================================================================================================== - // @Xml.format=ATTR with namespaces. - //==================================================================================================== - @Test - public void testXmlFormatAttrWithNs() throws Exception { - XmlSerializerBuilder s = new XmlSerializerBuilder().sq(); - XmlParser p = XmlParser.DEFAULT; - M t = new M(); - String r = null; - r = s.build().serialize(t); - assertEquals("<object f1='1' f2='2' f3='3'/>", r); - s.enableNamespaces(true).addNamespaceUrisToRoot(true).autoDetectNamespaces(true).trimNullProperties(false); - t.f1 = 4; t.f2 = 5; t.f3 = 6; - r = s.build().serialize(t); - assertEquals("<object xmlns='http://www.apache.org/2013/Juneau' xmlns:bar='http://bar' xmlns:foo='http://foo' xmlns:baz='http://baz' bar:f1='4' foo:f2='5' baz:f3='6'/>", r); - t = p.parse(r, M.class); - assertEquals(4, t.f1); - assertEquals(5, t.f2); - assertEquals(6, t.f3); - validateXml(t, s.build()); - } - - @Xml(prefix="bar", namespace="http://bar") - public static class M { - @Xml(format=ATTR) - public int f1 = 1; - @Xml(prefix="foo", format=ATTR, namespace="http://foo") - public int f2 = 2; - @Xml(prefix="baz", namespace="http://baz", format=ATTR) - public int f3 = 3; - } - - //==================================================================================================== - // _xXXXX_ notation. - //==================================================================================================== - @Test - public void testXXXXNotation() throws Exception { - XmlSerializer s = XmlSerializer.DEFAULT_SQ; - XmlParser p = XmlParser.DEFAULT; - String in, r; - - in = "\u0001"; - r = s.serialize(in); - assertEquals("<string>_x0001_</string>", r); - in = p.parse(r, String.class); - assertEquals("\u0001", in); - - in = "_x0001_"; - r = s.serialize(in); - assertEquals("<string>_x005F_x0001_</string>", r); - in = p.parse(r, String.class); - assertEquals("_x0001_", in); - - in = "_x001_"; - r = s.serialize(in); - assertEquals("<string>_x001_</string>", r); - in = p.parse(r, String.class); - assertEquals("_x001_", in); - - in = "_x00001_"; - r = s.serialize(in); - assertEquals("<string>_x00001_</string>", r); - in = p.parse(r, String.class); - assertEquals("_x00001_", in); - - in = "_xx001_"; - r = s.serialize(in); - assertEquals("<string>_xx001_</string>", r); - in = p.parse(r, String.class); - assertEquals("_xx001_", in); - } - - //==================================================================================================== - // @Bean.uri annotation formatted as element - //==================================================================================================== - @Test - public void testBeanUriAnnotationFormattedAsElement() throws Exception { - XmlParser p = XmlParser.DEFAULT; - XmlSerializer s = XmlSerializer.DEFAULT_SQ; - - N t = new N("http://foo",123, "bar"); - String r = s.serialize(t); - assertEquals("<object><url>http://foo</url><id>123</id><name>bar</name></object>", r); - - t = p.parse(r, N.class); - assertEquals("http://foo", t.url.toString()); - assertEquals(123, t.id); - assertEquals("bar", t.name); - - validateXml(t, s); - } - - public static class N { - @Rdf(beanUri=true) @Xml(format=ELEMENT) public URL url; - public int id; - public String name; - public N() {} - public N(String url, int id, String name) throws Exception { - this.url = new URL(url); - this.id = id; - this.name = name; - } - } - - //==================================================================================================== - // @Bean.uri as elements, overridden element names - //==================================================================================================== - @Test - public void testOverriddenBeanUriAsElementNames() throws Exception { - XmlParser p = XmlParser.DEFAULT; - XmlSerializer s = XmlSerializer.DEFAULT_SQ; - - O t = new O("http://foo", 123, "bar"); - String r = s.serialize(t); - assertEquals("<object><url2>http://foo</url2><id2>123</id2><name>bar</name></object>", r); - - t = p.parse(r, O.class); - assertEquals("http://foo", t.url.toString()); - assertEquals(123, t.id); - assertEquals("bar", t.name); - - validateXml(t, s); - } - - public static class O { - @BeanProperty(name="url2") @Xml(format=ELEMENT) public URL url; - @BeanProperty(name="id2") public int id; - public String name; - public O() {} - public O(String url, int id, String name) throws Exception { - this.url = new URL(url); - this.id = id; - this.name = name; - } - } - - //==================================================================================================== - // @Bean.uri and @Bean.id annotations, overridden attribute names - //==================================================================================================== - @Test - public void testOverriddenBeanUriAndIdAnnotations() throws Exception { - XmlParser p = XmlParser.DEFAULT; - XmlSerializer s = XmlSerializer.DEFAULT_SQ; - - P t = new P("http://foo", 123, "bar"); - String r = s.serialize(t); - assertEquals("<object url2='http://foo' id2='123'><name>bar</name></object>", r); - - t = p.parse(r, P.class); - assertEquals("http://foo", t.url.toString()); - assertEquals(123, t.id); - assertEquals("bar", t.name); - - validateXml(t, s); - } - - public static class P { - @BeanProperty(name="url2") @Xml(format=ATTR) public URL url; - @BeanProperty(name="id2") @Xml(format=ATTR) public int id; - public String name; - public P() {} - public P(String url, int id, String name) throws Exception { - this.url = new URL(url); - this.id = id; - this.name = name; - } - } - - //==================================================================================================== - // Namespace on class - //==================================================================================================== - @Test - public void testNsOnClass() throws Exception { - XmlSerializerBuilder s = new XmlSerializerBuilder().sq().autoDetectNamespaces(false); - XmlParser p = XmlParser.DEFAULT; - - T1 t = new T1(); - String r = s.build().serialize(t); - assertEquals("<object><f1>1</f1><f2>2</f2><f3>3</f3><f4>4</f4></object>", r); - assertTrue(t.equals(p.parse(r, T1.class))); - - s.enableNamespaces(true).addNamespaceUrisToRoot(false); - r = s.build().serialize(t); - assertEquals("<object><foo:f1>1</foo:f1><bar:f2>2</bar:f2><foo:f3>3</foo:f3><baz:f4>4</baz:f4></object>", r); - - // Add namespace URIs to root, but don't auto-detect. - // Only xsi should be added to root. - s.addNamespaceUrisToRoot(true); - r = s.build().serialize(t); - assertEquals("<object xmlns='http://www.apache.org/2013/Juneau'><foo:f1>1</foo:f1><bar:f2>2</bar:f2><foo:f3>3</foo:f3><baz:f4>4</baz:f4></object>", r); - - // Manually set namespaces - s.namespaces( - NamespaceFactory.get("foo","http://foo"), - NamespaceFactory.get("bar","http://bar"), - NamespaceFactory.get("baz","http://baz") - ); - r = s.build().serialize(t); - assertEquals("<object xmlns='http://www.apache.org/2013/Juneau' xmlns:foo='http://foo' xmlns:bar='http://bar' xmlns:baz='http://baz'><foo:f1>1</foo:f1><bar:f2>2</bar:f2><foo:f3>3</foo:f3><baz:f4>4</baz:f4></object>", r); - assertTrue(t.equals(p.parse(r, T1.class))); - validateXml(t, s.build()); - - // Auto-detect namespaces. - s = new XmlSerializerBuilder().sq().autoDetectNamespaces(true); - r = s.build().serialize(t); - assertEquals("<object><f1>1</f1><f2>2</f2><f3>3</f3><f4>4</f4></object>", r); - assertTrue(t.equals(p.parse(r, T1.class))); - - s.addNamespaceUrisToRoot(true); - r = s.build().serialize(t); - assertEquals("<object><f1>1</f1><f2>2</f2><f3>3</f3><f4>4</f4></object>", r); - assertTrue(t.equals(p.parse(r, T1.class))); - - s.enableNamespaces(true); - r = s.build().serialize(t); - assertEquals("<object xmlns='http://www.apache.org/2013/Juneau' xmlns:foo='http://foo' xmlns:bar='http://bar' xmlns:baz='http://baz'><foo:f1>1</foo:f1><bar:f2>2</bar:f2><foo:f3>3</foo:f3><baz:f4>4</baz:f4></object>", r); - assertTrue(t.equals(p.parse(r, T1.class))); - validateXml(t, s.build()); - } - - //==================================================================================================== - // Namespace on class with element name. - //==================================================================================================== - @Test - public void testNsOnClassWithElementName() throws Exception { - XmlSerializerBuilder s = new XmlSerializerBuilder().sq().autoDetectNamespaces(false); - XmlParser p = XmlParser.DEFAULT; - - T2 t = new T2(); - String r = s.build().serialize(t); - assertEquals("<T2><f1>1</f1><f2>2</f2><f3>3</f3><f4>4</f4></T2>", r); - assertTrue(t.equals(p.parse(r, T2.class))); - - s.enableNamespaces(true).addNamespaceUrisToRoot(false); - r = s.build().serialize(t); - assertEquals("<foo:T2><foo:f1>1</foo:f1><bar:f2>2</bar:f2><foo:f3>3</foo:f3><baz:f4>4</baz:f4></foo:T2>", r); - - // Add namespace URIs to root, but don't auto-detect. - // Only xsi should be added to root. - s.addNamespaceUrisToRoot(true); - r = s.build().serialize(t); - assertEquals("<foo:T2 xmlns='http://www.apache.org/2013/Juneau'><foo:f1>1</foo:f1><bar:f2>2</bar:f2><foo:f3>3</foo:f3><baz:f4>4</baz:f4></foo:T2>", r); - - // Manually set namespaces - s.namespaces( - NamespaceFactory.get("foo","http://foo"), - NamespaceFactory.get("bar","http://bar"), - NamespaceFactory.get("baz","http://baz") - ); - r = s.build().serialize(t); - assertEquals("<foo:T2 xmlns='http://www.apache.org/2013/Juneau' xmlns:foo='http://foo' xmlns:bar='http://bar' xmlns:baz='http://baz'><foo:f1>1</foo:f1><bar:f2>2</bar:f2><foo:f3>3</foo:f3><baz:f4>4</baz:f4></foo:T2>", r); - assertTrue(t.equals(p.parse(r, T2.class))); - validateXml(t, s.build()); - - // Auto-detect namespaces. - s = new XmlSerializerBuilder().sq().autoDetectNamespaces(true); - r = s.build().serialize(t); - assertEquals("<T2><f1>1</f1><f2>2</f2><f3>3</f3><f4>4</f4></T2>", r); - - s.addNamespaceUrisToRoot(true); - r = s.build().serialize(t); - assertEquals("<T2><f1>1</f1><f2>2</f2><f3>3</f3><f4>4</f4></T2>", r); - - s.enableNamespaces(true); - r = s.build().serialize(t); - assertEquals("<foo:T2 xmlns='http://www.apache.org/2013/Juneau' xmlns:foo='http://foo' xmlns:bar='http://bar' xmlns:baz='http://baz'><foo:f1>1</foo:f1><bar:f2>2</bar:f2><foo:f3>3</foo:f3><baz:f4>4</baz:f4></foo:T2>", r); - assertTrue(t.equals(p.parse(r, T2.class))); - validateXml(t, s.build()); - } - - - //==================================================================================================== - // Namespace on package, no namespace on class. - //==================================================================================================== - @Test - public void testNsOnPackageNoNsOnClass() throws Exception { - XmlSerializerBuilder s = new XmlSerializerBuilder().sq(); - XmlParser p = XmlParser.DEFAULT; - - T3 t = new T3(); - String r = s.build().serialize(t); - assertEquals("<object><f1>1</f1><f2>2</f2><f3>3</f3><f4>4</f4></object>", r); - assertTrue(t.equals(p.parse(r, T3.class))); - validateXml(t, s.build()); - - s.enableNamespaces(true).addNamespaceUrisToRoot(false); - r = s.build().serialize(t); - assertEquals("<object><p1:f1>1</p1:f1><bar:f2>2</bar:f2><p1:f3>3</p1:f3><baz:f4>4</baz:f4></object>", r); - - // Add namespace URIs to root, but don't auto-detect. - // Only xsi should be added to root. - s.addNamespaceUrisToRoot(true).autoDetectNamespaces(false); - r = s.build().serialize(t); - assertEquals("<object xmlns='http://www.apache.org/2013/Juneau'><p1:f1>1</p1:f1><bar:f2>2</bar:f2><p1:f3>3</p1:f3><baz:f4>4</baz:f4></object>", r); - - // Manually set namespaces - s.autoDetectNamespaces(false); - s.namespaces( - NamespaceFactory.get("p1","http://p1"), - NamespaceFactory.get("bar","http://bar"), - NamespaceFactory.get("baz","http://baz") - ); - r = s.build().serialize(t); - assertEquals("<object xmlns='http://www.apache.org/2013/Juneau' xmlns:p1='http://p1' xmlns:bar='http://bar' xmlns:baz='http://baz'><p1:f1>1</p1:f1><bar:f2>2</bar:f2><p1:f3>3</p1:f3><baz:f4>4</baz:f4></object>", r); - assertTrue(t.equals(p.parse(r, T3.class))); - validateXml(t, s.build()); - - // Auto-detect namespaces. - s = new XmlSerializerBuilder().sq().autoDetectNamespaces(true); - r = s.build().serialize(t); - assertEquals("<object><f1>1</f1><f2>2</f2><f3>3</f3><f4>4</f4></object>", r); - - s.addNamespaceUrisToRoot(true); - r = s.build().serialize(t); - assertEquals("<object><f1>1</f1><f2>2</f2><f3>3</f3><f4>4</f4></object>", r); - - s.enableNamespaces(true); - r = s.build().serialize(t); - assertEquals("<object xmlns='http://www.apache.org/2013/Juneau' xmlns:p1='http://p1' xmlns:bar='http://bar' xmlns:baz='http://baz'><p1:f1>1</p1:f1><bar:f2>2</bar:f2><p1:f3>3</p1:f3><baz:f4>4</baz:f4></object>", r); - assertTrue(t.equals(p.parse(r, T3.class))); - validateXml(t, s.build()); - } - - //==================================================================================================== - // Namespace on package, no namespace on class, element name on class. - //==================================================================================================== - @Test - public void testNsOnPackageNoNsOnClassElementNameOnClass() throws Exception { - XmlSerializerBuilder s = new XmlSerializerBuilder().sq().autoDetectNamespaces(false); - XmlParser p = XmlParser.DEFAULT; - - T4 t = new T4(); - String r = s.build().serialize(t); - assertEquals("<T4><f1>1</f1><f2>2</f2><f3>3</f3><f4>4</f4></T4>", r); - assertTrue(t.equals(p.parse(r, T4.class))); - - s.enableNamespaces(true).addNamespaceUrisToRoot(false); - r = s.build().serialize(t); - assertEquals("<p1:T4><p1:f1>1</p1:f1><bar:f2>2</bar:f2><p1:f3>3</p1:f3><baz:f4>4</baz:f4></p1:T4>", r); - - // Add namespace URIs to root, but don't auto-detect. - // Only xsi should be added to root. - s.addNamespaceUrisToRoot(true); - r = s.build().serialize(t); - assertEquals("<p1:T4 xmlns='http://www.apache.org/2013/Juneau'><p1:f1>1</p1:f1><bar:f2>2</bar:f2><p1:f3>3</p1:f3><baz:f4>4</baz:f4></p1:T4>", r); - - // Manually set namespaces - s.namespaces( - NamespaceFactory.get("foo","http://foo"), - NamespaceFactory.get("bar","http://bar"), - NamespaceFactory.get("baz","http://baz"), - NamespaceFactory.get("p1","http://p1") - ); - r = s.build().serialize(t); - assertEquals("<p1:T4 xmlns='http://www.apache.org/2013/Juneau' xmlns:foo='http://foo' xmlns:bar='http://bar' xmlns:baz='http://baz' xmlns:p1='http://p1'><p1:f1>1</p1:f1><bar:f2>2</bar:f2><p1:f3>3</p1:f3><baz:f4>4</baz:f4></p1:T4>", r); - assertTrue(t.equals(p.parse(r, T4.class))); - validateXml(t, s.build()); - - // Auto-detect namespaces. - s = new XmlSerializerBuilder().sq().autoDetectNamespaces(true); - r = s.build().serialize(t); - assertEquals("<T4><f1>1</f1><f2>2</f2><f3>3</f3><f4>4</f4></T4>", r); - - s.addNamespaceUrisToRoot(true); - r = s.build().serialize(t); - assertEquals("<T4><f1>1</f1><f2>2</f2><f3>3</f3><f4>4</f4></T4>", r); - - s.enableNamespaces(true); - r = s.build().serialize(t); - assertEquals("<p1:T4 xmlns='http://www.apache.org/2013/Juneau' xmlns:p1='http://p1' xmlns:bar='http://bar' xmlns:baz='http://baz'><p1:f1>1</p1:f1><bar:f2>2</bar:f2><p1:f3>3</p1:f3><baz:f4>4</baz:f4></p1:T4>", r); - assertTrue(t.equals(p.parse(r, T4.class))); - validateXml(t, s.build()); - } - - //==================================================================================================== - // Namespace on package, namespace on class, element name on class. - //==================================================================================================== - @Test - public void testNsOnPackageNsOnClassElementNameOnClass() throws Exception { - XmlSerializerBuilder s = new XmlSerializerBuilder().sq(); - XmlParser p = XmlParser.DEFAULT; - - T5 t = new T5(); - String r = s.build().serialize(t); - assertEquals("<T5><f1>1</f1><f2>2</f2><f3>3</f3><f4>4</f4></T5>", r); - assertTrue(t.equals(p.parse(r, T5.class))); - validateXml(t, s.build()); - - s.ns().addNamespaceUrisToRoot(false).autoDetectNamespaces(false); - r = s.build().serialize(t); - assertEquals("<foo:T5><foo:f1>1</foo:f1><bar:f2>2</bar:f2><foo:f3>3</foo:f3><baz:f4>4</baz:f4></foo:T5>", r); - - // Add namespace URIs to root, but don't auto-detect. - // Only xsi should be added to root. - s.addNamespaceUrisToRoot(true); - r = s.build().serialize(t); - assertEquals("<foo:T5 xmlns='http://www.apache.org/2013/Juneau'><foo:f1>1</foo:f1><bar:f2>2</bar:f2><foo:f3>3</foo:f3><baz:f4>4</baz:f4></foo:T5>", r); - - // Manually set namespaces - s.namespaces( - NamespaceFactory.get("foo","http://foo"), - NamespaceFactory.get("bar","http://bar"), - NamespaceFactory.get("baz","http://baz") - ); - r = s.build().serialize(t); - assertEquals("<foo:T5 xmlns='http://www.apache.org/2013/Juneau' xmlns:foo='http://foo' xmlns:bar='http://bar' xmlns:baz='http://baz'><foo:f1>1</foo:f1><bar:f2>2</bar:f2><foo:f3>3</foo:f3><baz:f4>4</baz:f4></foo:T5>", r); - assertTrue(t.equals(p.parse(r, T5.class))); - validateXml(t, s.build()); - - // Auto-detect namespaces. - s = new XmlSerializerBuilder().sq().autoDetectNamespaces(true); - r = s.build().serialize(t); - assertEquals("<T5><f1>1</f1><f2>2</f2><f3>3</f3><f4>4</f4></T5>", r); - validateXml(t, s.build()); - - s.addNamespaceUrisToRoot(true); - r = s.build().serialize(t); - assertEquals("<T5><f1>1</f1><f2>2</f2><f3>3</f3><f4>4</f4></T5>", r); - validateXml(t, s.build()); - - s.ns(); - r = s.build().serialize(t); - assertEquals("<foo:T5 xmlns='http://www.apache.org/2013/Juneau' xmlns:foo='http://foo' xmlns:bar='http://bar' xmlns:baz='http://baz'><foo:f1>1</foo:f1><bar:f2>2</bar:f2><foo:f3>3</foo:f3><baz:f4>4</baz:f4></foo:T5>", r); - assertTrue(t.equals(p.parse(r, T5.class))); - validateXml(t, s.build()); - } - - //==================================================================================================== - // Namespace on package, namespace on class, no element name on class. - //==================================================================================================== - @Test - public void testNsOnPackageNsOnClassNoElementNameOnClass() throws Exception { - XmlSerializerBuilder s = new XmlSerializerBuilder().sq().autoDetectNamespaces(false); - XmlParser p = XmlParser.DEFAULT; - - T6 t = new T6(); - String r = s.build().serialize(t); - assertEquals("<object><f1>1</f1><f2>2</f2><f3>3</f3><f4>4</f4></object>", r); - assertTrue(t.equals(p.parse(r, T6.class))); - - s.ns().addNamespaceUrisToRoot(false); - r = s.build().serialize(t); - assertEquals("<object><foo:f1>1</foo:f1><bar:f2>2</bar:f2><foo:f3>3</foo:f3><baz:f4>4</baz:f4></object>", r); - - // Add namespace URIs to root, but don't auto-detect. - // Only xsi should be added to root. - s.addNamespaceUrisToRoot(true).autoDetectNamespaces(false); - r = s.build().serialize(t); - assertEquals("<object xmlns='http://www.apache.org/2013/Juneau'><foo:f1>1</foo:f1><bar:f2>2</bar:f2><foo:f3>3</foo:f3><baz:f4>4</baz:f4></object>", r); - - // Manually set namespaces - s.namespaces( - NamespaceFactory.get("foo","http://foo"), - NamespaceFactory.get("bar","http://bar"), - NamespaceFactory.get("baz","http://baz") - ); - r = s.build().serialize(t); - assertEquals("<object xmlns='http://www.apache.org/2013/Juneau' xmlns:foo='http://foo' xmlns:bar='http://bar' xmlns:baz='http://baz'><foo:f1>1</foo:f1><bar:f2>2</bar:f2><foo:f3>3</foo:f3><baz:f4>4</baz:f4></object>", r); - assertTrue(t.equals(p.parse(r, T6.class))); - validateXml(t, s.build()); - - // Auto-detect namespaces. - s = new XmlSerializerBuilder().sq().autoDetectNamespaces(true); - r = s.build().serialize(t); - assertEquals("<object><f1>1</f1><f2>2</f2><f3>3</f3><f4>4</f4></object>", r); - validateXml(t, s.build()); - - s.addNamespaceUrisToRoot(true); - r = s.build().serialize(t); - assertEquals("<object><f1>1</f1><f2>2</f2><f3>3</f3><f4>4</f4></object>", r); - validateXml(t, s.build()); - - s.ns(); - r = s.build().serialize(t); - assertEquals("<object xmlns='http://www.apache.org/2013/Juneau' xmlns:foo='http://foo' xmlns:bar='http://bar' xmlns:baz='http://baz'><foo:f1>1</foo:f1><bar:f2>2</bar:f2><foo:f3>3</foo:f3><baz:f4>4</baz:f4></object>", r); - assertTrue(t.equals(p.parse(r, T6.class))); - validateXml(t, s.build()); - } - - //==================================================================================================== - // Combination of namespaces and overridden bean property names. - //==================================================================================================== - @Test - public void testComboOfNsAndOverriddenBeanPropertyNames() throws Exception { - XmlSerializerBuilder s = new XmlSerializerBuilder().sq().autoDetectNamespaces(false); - XmlParser p = XmlParser.DEFAULT; - - T7 t = new T7(); - String r = s.build().serialize(t); - assertEquals("<object><g1>1</g1><g2>2</g2><g3>3</g3><g4>4</g4></object>", r); - assertTrue(t.equals(p.parse(r, T7.class))); - - s.enableNamespaces(true).addNamespaceUrisToRoot(false); - r = s.build().serialize(t); - assertEquals("<object><p1:g1>1</p1:g1><bar:g2>2</bar:g2><p1:g3>3</p1:g3><baz:g4>4</baz:g4></object>", r); - - // Add namespace URIs to root, but don't auto-detect. - // Only xsi should be added to root. - s.addNamespaceUrisToRoot(true).autoDetectNamespaces(false); - r = s.build().serialize(t); - assertEquals("<object xmlns='http://www.apache.org/2013/Juneau'><p1:g1>1</p1:g1><bar:g2>2</bar:g2><p1:g3>3</p1:g3><baz:g4>4</baz:g4></object>", r); - - // Manually set namespaces - s.namespaces( - NamespaceFactory.get("foo","http://foo"), - NamespaceFactory.get("bar","http://bar"), - NamespaceFactory.get("baz","http://baz"), - NamespaceFactory.get("p1","http://p1") - ); - r = s.build().serialize(t); - assertEquals("<object xmlns='http://www.apache.org/2013/Juneau' xmlns:foo='http://foo' xmlns:bar='http://bar' xmlns:baz='http://baz' xmlns:p1='http://p1'><p1:g1>1</p1:g1><bar:g2>2</bar:g2><p1:g3>3</p1:g3><baz:g4>4</baz:g4></object>", r); - assertTrue(t.equals(p.parse(r, T7.class))); - - // Auto-detect namespaces. - s = new XmlSerializerBuilder().sq().autoDetectNamespaces(true); - r = s.build().serialize(t); - assertEquals("<object><g1>1</g1><g2>2</g2><g3>3</g3><g4>4</g4></object>", r); - - s.enableNamespaces(false); - r = s.build().serialize(t); - assertEquals("<object><g1>1</g1><g2>2</g2><g3>3</g3><g4>4</g4></object>", r); - - s.ns().addNamespaceUrisToRoot(true); - r = s.build().serialize(t); - assertEquals("<object xmlns='http://www.apache.org/2013/Juneau' xmlns:p1='http://p1' xmlns:bar='http://bar' xmlns:baz='http://baz'><p1:g1>1</p1:g1><bar:g2>2</bar:g2><p1:g3>3</p1:g3><baz:g4>4</baz:g4></object>", r); - assertTrue(t.equals(p.parse(r, T7.class))); - validateXml(t, s.build()); - } - - //==================================================================================================== - // @XmlNs annotation - //==================================================================================================== - @Test - public void testXmlNsAnnotation() throws Exception { - XmlSerializerBuilder s = new XmlSerializerBuilder().sq().autoDetectNamespaces(false); - XmlParser p = XmlParser.DEFAULT; - - T8 t = new T8(); - String r = s.build().serialize(t); - assertEquals("<object><f1>1</f1><f2>2</f2><f3>3</f3><f4>4</f4></object>", r); - assertTrue(t.equals(p.parse(r, T8.class))); - - s.ns().addNamespaceUrisToRoot(false).autoDetectNamespaces(false); - r = s.build().serialize(t); - assertEquals("<object><p2:f1>1</p2:f1><p1:f2>2</p1:f2><c1:f3>3</c1:f3><f1:f4>4</f1:f4></object>", r); - - // Add namespace URIs to root, but don't auto-detect. - // Only xsi should be added to root. - s.addNamespaceUrisToRoot(true); - r = s.build().serialize(t); - assertEquals("<object xmlns='http://www.apache.org/2013/Juneau'><p2:f1>1</p2:f1><p1:f2>2</p1:f2><c1:f3>3</c1:f3><f1:f4>4</f1:f4></object>", r); - - // Manually set namespaces - s.namespaces( - NamespaceFactory.get("foo","http://foo"), - NamespaceFactory.get("bar","http://bar"), - NamespaceFactory.get("baz","http://baz") - ); - r = s.build().serialize(t); - assertEquals("<object xmlns='http://www.apache.org/2013/Juneau' xmlns:foo='http://foo' xmlns:bar='http://bar' xmlns:baz='http://baz'><p2:f1>1</p2:f1><p1:f2>2</p1:f2><c1:f3>3</c1:f3><f1:f4>4</f1:f4></object>", r); - - // Auto-detect namespaces. - s = new XmlSerializerBuilder().sq().autoDetectNamespaces(true); - r = s.build().serialize(t); - assertEquals("<object><f1>1</f1><f2>2</f2><f3>3</f3><f4>4</f4></object>", r); - assertTrue(t.equals(p.parse(r, T8.class))); - validateXml(t, s.build()); - - s.addNamespaceUrisToRoot(true); - r = s.build().serialize(t); - assertEquals("<object><f1>1</f1><f2>2</f2><f3>3</f3><f4>4</f4></object>", r); - validateXml(t, s.build()); - - s.ns(); - r = s.build().serialize(t); - assertEquals("<object xmlns='http://www.apache.org/2013/Juneau' xmlns:p2='http://p2' xmlns:p1='http://p1' xmlns:c1='http://c1' xmlns:f1='http://f1'><p2:f1>1</p2:f1><p1:f2>2</p1:f2><c1:f3>3</c1:f3><f1:f4>4</f1:f4></object>", r); - assertTrue(t.equals(p.parse(r, T8.class))); - validateXml(t, s.build()); - } - - //==================================================================================================== - // @Xml.ns on package, @Xml.nsUri not on package but in @XmlNs. - //==================================================================================================== - @Test - public void testXmlNsOnPackageNsUriInXmlNs() throws Exception { - XmlSerializerBuilder s = new XmlSerializerBuilder().sq().autoDetectNamespaces(false); - XmlParser p = XmlParser.DEFAULT; - - T9 t = new T9(); - String r = s.build().serialize(t); - assertEquals("<object><f1>1</f1></object>", r); - assertTrue(t.equals(p.parse(r, T9.class))); - - s.ns().autoDetectNamespaces(false).addNamespaceUrisToRoot(false); - r = s.build().serialize(t); - assertEquals("<object><p1:f1>1</p1:f1></object>", r); - - // Add namespace URIs to root, but don't auto-detect. - // Only xsi should be added to root. - s.addNamespaceUrisToRoot(true); - r = s.build().serialize(t); - assertEquals("<object xmlns='http://www.apache.org/2013/Juneau'><p1:f1>1</p1:f1></object>", r); - - // Manually set namespaces - s.namespaces( - NamespaceFactory.get("foo","http://foo"), - NamespaceFactory.get("bar","http://bar"), - NamespaceFactory.get("baz","http://baz") - ); - r = s.build().serialize(t); - assertEquals("<object xmlns='http://www.apache.org/2013/Juneau' xmlns:foo='http://foo' xmlns:bar='http://bar' xmlns:baz='http://baz'><p1:f1>1</p1:f1></object>", r); - - // Auto-detect namespaces. - s = new XmlSerializerBuilder().sq().autoDetectNamespaces(true); - r = s.build().serialize(t); - assertEquals("<object><f1>1</f1></object>", r); - assertTrue(t.equals(p.parse(r, T9.class))); - validateXml(t, s.build()); - - s.addNamespaceUrisToRoot(true); - r = s.build().serialize(t); - assertEquals("<object><f1>1</f1></object>", r); - validateXml(t, s.build()); - - s.ns(); - r = s.build().serialize(t); - assertEquals("<object xmlns='http://www.apache.org/2013/Juneau' xmlns:p1='http://p1'><p1:f1>1</p1:f1></object>", r); - assertTrue(t.equals(p.parse(r, T9.class))); - validateXml(t, s.build()); - } - - //==================================================================================================== - // @Xml.format=ATTR - //==================================================================================================== - @Test - public void testXmlAttrs() throws Exception { - XmlSerializerBuilder s = new XmlSerializerBuilder().sq(); - XmlParser p = XmlParser.DEFAULT; - String r; - - Q t = new Q(); - t.f1 = new URL("http://xf1"); - t.f2 = "xf2"; - t.f3 = "xf3"; - r = s.build().serialize(t); - assertEquals("<object f1='http://xf1' f2='xf2' x3='xf3'/>", r); - t = p.parse(r, Q.class); - assertEquals("http://xf1", t.f1.toString()); - assertEquals("xf2", t.f2); - assertEquals("xf3", t.f3); - - s.ns().addNamespaceUrisToRoot(true).autoDetectNamespaces(true); - r = s.build().serialize(t); - assertEquals("<object xmlns='http://www.apache.org/2013/Juneau' xmlns:ns='http://ns' xmlns:nsf1='http://nsf1' xmlns:nsf3='http://nsf3' nsf1:f1='http://xf1' ns:f2='xf2' nsf3:x3='xf3'/>", r); - validateXml(t, s.build()); - - t = p.parse(r, Q.class); - assertEquals("http://xf1", t.f1.toString()); - assertEquals("xf2", t.f2); - assertEquals("xf3", t.f3); - } - - @Xml(prefix="ns", namespace="http://ns") - public static class Q { - - @Xml(format=ATTR, prefix="nsf1", namespace="http://nsf1") - public URL f1; - - @Xml(format=ATTR) - public String f2; - - @BeanProperty(name="x3") - @Xml(format=ATTR, prefix="nsf3", namespace="http://nsf3") - public String f3; - - public Q() throws Exception { - f1 = new URL("http://f1"); - f2 = "f2"; - f3 = "f3"; - } - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/ab15d45b/juneau-core-test/src/test/java/org/apache/juneau/xml/xml1a/T1.java ---------------------------------------------------------------------- diff --git a/juneau-core-test/src/test/java/org/apache/juneau/xml/xml1a/T1.java b/juneau-core-test/src/test/java/org/apache/juneau/xml/xml1a/T1.java deleted file mode 100755 index 9831372..0000000 --- a/juneau-core-test/src/test/java/org/apache/juneau/xml/xml1a/T1.java +++ /dev/null @@ -1,38 +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.juneau.xml.xml1a; - -import org.apache.juneau.annotation.*; -import org.apache.juneau.xml.annotation.*; - -@Xml(prefix="foo",namespace="http://foo") -@Bean(sort=true) -@SuppressWarnings("javadoc") -public class T1 { - - public int f1 = 1; - - @Xml(prefix="bar",namespace="http://bar") public int f2 = 2; - - private int f3 = 3; - public int getF3() { return f3;} - public void setF3(int f3) { this.f3 = f3;} - - private int f4 = 4; - @Xml(prefix="baz",namespace="http://baz") public int getF4() { return f4; } - public void setF4(int f4) { this.f4 = f4;} - - public boolean equals(T1 x) { - return x.f1 == f1 && x.f2 == f2 && x.f3 == f3 && x.f4 == f4; - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/ab15d45b/juneau-core-test/src/test/java/org/apache/juneau/xml/xml1a/T2.java ---------------------------------------------------------------------- diff --git a/juneau-core-test/src/test/java/org/apache/juneau/xml/xml1a/T2.java b/juneau-core-test/src/test/java/org/apache/juneau/xml/xml1a/T2.java deleted file mode 100755 index 5c43344..0000000 --- a/juneau-core-test/src/test/java/org/apache/juneau/xml/xml1a/T2.java +++ /dev/null @@ -1,38 +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.juneau.xml.xml1a; - -import org.apache.juneau.annotation.*; -import org.apache.juneau.xml.annotation.*; - -@Xml(prefix="foo",namespace="http://foo") -@Bean(typeName="T2", sort=true) -@SuppressWarnings("javadoc") -public class T2 { - - public int f1 = 1; - - @Xml(prefix="bar",namespace="http://bar") public int f2 = 2; - - private int f3 = 3; - public int getF3() { return f3;} - public void setF3(int f3) { this.f3 = f3;} - - private int f4 = 4; - @Xml(prefix="baz",namespace="http://baz") public int getF4() { return f4; } - public void setF4(int f4) { this.f4 = f4;} - - public boolean equals(T2 x) { - return x.f1 == f1 && x.f2 == f2 && x.f3 == f3 && x.f4 == f4; - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/ab15d45b/juneau-core-test/src/test/java/org/apache/juneau/xml/xml1b/T3.java ---------------------------------------------------------------------- diff --git a/juneau-core-test/src/test/java/org/apache/juneau/xml/xml1b/T3.java b/juneau-core-test/src/test/java/org/apache/juneau/xml/xml1b/T3.java deleted file mode 100755 index 96e7cce..0000000 --- a/juneau-core-test/src/test/java/org/apache/juneau/xml/xml1b/T3.java +++ /dev/null @@ -1,37 +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.juneau.xml.xml1b; - -import org.apache.juneau.annotation.*; -import org.apache.juneau.xml.annotation.*; - -@Bean(sort=true) -@SuppressWarnings("javadoc") -public class T3 { - - public int f1 = 1; - - @Xml(prefix="bar",namespace="http://bar") public int f2 = 2; - - private int f3 = 3; - public int getF3() { return f3; } - public void setF3(int f3) { this.f3 = f3; } - - private int f4 = 4; - @Xml(prefix="baz",namespace="http://baz") public int getF4() { return f4; } - public void setF4(int f4) { this.f4 = f4; } - - public boolean equals(T3 x) { - return x.f1 == f1 && x.f2 == f2 && x.f3 == f3 && x.f4 == f4; - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/ab15d45b/juneau-core-test/src/test/java/org/apache/juneau/xml/xml1b/T4.java ---------------------------------------------------------------------- diff --git a/juneau-core-test/src/test/java/org/apache/juneau/xml/xml1b/T4.java b/juneau-core-test/src/test/java/org/apache/juneau/xml/xml1b/T4.java deleted file mode 100755 index b1acc8a..0000000 --- a/juneau-core-test/src/test/java/org/apache/juneau/xml/xml1b/T4.java +++ /dev/null @@ -1,37 +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.juneau.xml.xml1b; - -import org.apache.juneau.annotation.*; -import org.apache.juneau.xml.annotation.*; - -@Bean(typeName="T4", sort=true) -@SuppressWarnings("javadoc") -public class T4 { - - public int f1 = 1; - - @Xml(prefix="bar",namespace="http://bar") public int f2 = 2; - - private int f3 = 3; - public int getF3() { return f3; } - public void setF3(int f3) { this.f3 = f3; } - - private int f4 = 4; - @Xml(prefix="baz",namespace="http://baz") public int getF4() { return f4;} - public void setF4(int f4) { this.f4 = f4; } - - public boolean equals(T4 x) { - return x.f1 == f1 && x.f2 == f2 && x.f3 == f3 && x.f4 == f4; - } -} http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/ab15d45b/juneau-core-test/src/test/java/org/apache/juneau/xml/xml1b/T5.java ---------------------------------------------------------------------- diff --git a/juneau-core-test/src/test/java/org/apache/juneau/xml/xml1b/T5.java b/juneau-core-test/src/test/java/org/apache/juneau/xml/xml1b/T5.java deleted file mode 100755 index 9aefbff..0000000 --- a/juneau-core-test/src/test/java/org/apache/juneau/xml/xml1b/T5.java +++ /dev/null @@ -1,38 +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.juneau.xml.xml1b; - -import org.apache.juneau.annotation.*; -import org.apache.juneau.xml.annotation.*; - -@Xml(prefix="foo",namespace="http://foo") -@Bean(typeName="T5", sort=true) -@SuppressWarnings("javadoc") -public class T5 { - - public int f1 = 1; - - @Xml(prefix="bar",namespace="http://bar") public int f2 = 2; - - private int f3 = 3; - public int getF3() { return f3; } - public void setF3(int f3) { this.f3 = f3; } - - private int f4 = 4; - @Xml(prefix="baz",namespace="http://baz") public int getF4() { return f4; } - public void setF4(int f4) { this.f4 = f4; } - - public boolean equals(T5 x) { - return x.f1 == f1 && x.f2 == f2 && x.f3 == f3 && x.f4 == f4; - } -}
