You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@juneau.apache.org by ja...@apache.org on 2017/02/15 20:50:47 UTC
[8/8] incubator-juneau git commit: Modification to UON spec. Remove
bean subtype support.
Modification to UON spec. Remove bean subtype support.
Project: http://git-wip-us.apache.org/repos/asf/incubator-juneau/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-juneau/commit/097b8103
Tree: http://git-wip-us.apache.org/repos/asf/incubator-juneau/tree/097b8103
Diff: http://git-wip-us.apache.org/repos/asf/incubator-juneau/diff/097b8103
Branch: refs/heads/master
Commit: 097b8103237202ecd3b79a8232773591c957aa9d
Parents: 268a3e3
Author: JamesBognar <ja...@apache.org>
Authored: Wed Feb 15 15:50:33 2017 -0500
Committer: JamesBognar <ja...@apache.org>
Committed: Wed Feb 15 15:50:33 2017 -0500
----------------------------------------------------------------------
.../java/org/apache/juneau/jena/RdfParser.java | 35 +-
.../org/apache/juneau/jena/RdfSerializer.java | 14 +-
.../juneau/jena/RdfSerializerSession.java | 2 +-
.../java/org/apache/juneau/BeanFilterTest.java | 14 +-
.../java/org/apache/juneau/BeanMapTest.java | 6 +-
.../test/java/org/apache/juneau/TestUtils.java | 14 +-
.../juneau/a/rttests/RoundTripBeanMapsTest.java | 51 +-
.../a/rttests/RoundTripLargeObjectsTest.java | 14 +-
.../juneau/a/rttests/RoundTripMapsTest.java | 4 +-
.../apache/juneau/a/rttests/RoundTripTest.java | 28 +-
.../a/rttests/RoundTripTransformBeansTest.java | 7 +-
.../apache/juneau/dto/cognos/CognosXmlTest.java | 2 +-
.../juneau/dto/html5/BasicHtmlSchemaTest.java | 745 ++++++++++++++++++-
.../juneau/dto/jsonschema/JsonSchemaTest.java | 13 +-
.../java/org/apache/juneau/html/CommonTest.java | 2 +-
.../apache/juneau/jena/CommonParserTest.java | 4 +-
.../java/org/apache/juneau/jena/CommonTest.java | 2 +-
.../org/apache/juneau/jena/CommonXmlTest.java | 2 +-
.../juneau/json/JsonParserEdgeCasesTest.java | 2 +-
.../juneau/transforms/CalendarSwapTest.java | 30 +-
.../urlencoding/CommonParser_UonTest.java | 12 +-
.../CommonParser_UrlEncodingTest.java | 16 +-
.../juneau/urlencoding/Common_UonTest.java | 81 +-
.../urlencoding/Common_UrlEncodingTest.java | 71 +-
.../juneau/urlencoding/UonParserTest.java | 205 +++--
.../juneau/urlencoding/UonSerializerTest.java | 364 ++++-----
.../urlencoding/UrlEncodingParserTest.java | 273 +++----
.../urlencoding/UrlEncodingSerializerTest.java | 313 ++++----
.../org/apache/juneau/utils/PojoRestTest.java | 6 +-
.../org/apache/juneau/xml/XmlContentTest.java | 4 +-
juneau-core/.project | 47 +-
.../java/org/apache/juneau/BeanContext.java | 6 +-
.../main/java/org/apache/juneau/BeanMap.java | 9 -
.../main/java/org/apache/juneau/BeanMeta.java | 133 +---
.../org/apache/juneau/BeanPropertyMeta.java | 11 +-
.../java/org/apache/juneau/BeanRegistry.java | 69 +-
.../java/org/apache/juneau/BeanSession.java | 24 +-
.../main/java/org/apache/juneau/ClassMeta.java | 44 +-
.../main/java/org/apache/juneau/CoreApi.java | 10 +-
.../java/org/apache/juneau/LockedException.java | 2 +-
.../java/org/apache/juneau/annotation/Bean.java | 56 +-
.../org/apache/juneau/dto/atom/AtomBuilder.java | 6 +-
.../apache/juneau/dto/html5/HtmlElement.java | 3 +
.../juneau/dto/html5/HtmlElementContainer.java | 3 +-
.../juneau/dto/html5/HtmlElementMixed.java | 3 +-
.../juneau/dto/html5/HtmlElementText.java | 3 +
.../java/org/apache/juneau/dto/html5/Pre.java | 2 +-
.../org/apache/juneau/dto/html5/Script.java | 1 +
.../java/org/apache/juneau/dto/html5/Style.java | 1 +
.../apache/juneau/dto/jsonschema/Sample.java | 4 +-
.../apache/juneau/encoders/EncoderGroup.java | 4 +-
.../apache/juneau/html/HtmlDocSerializer.java | 4 +-
.../juneau/html/HtmlDocSerializerSession.java | 2 +-
.../java/org/apache/juneau/html/HtmlParser.java | 32 +-
.../apache/juneau/html/HtmlParserSession.java | 16 -
.../org/apache/juneau/html/HtmlSerializer.java | 6 +-
.../juneau/html/HtmlSerializerSession.java | 2 +-
.../java/org/apache/juneau/html/HtmlWriter.java | 6 +-
.../java/org/apache/juneau/ini/ConfigMgr.java | 8 +-
.../org/apache/juneau/internal/AsciiSet.java | 15 +
.../java/org/apache/juneau/json/JsonParser.java | 20 +-
.../org/apache/juneau/json/JsonSerializer.java | 43 +-
.../juneau/json/JsonSerializerContext.java | 17 -
.../juneau/json/JsonSerializerSession.java | 16 +-
.../java/org/apache/juneau/json/JsonWriter.java | 9 +-
.../apache/juneau/msgpack/MsgPackParser.java | 139 ++--
.../juneau/msgpack/MsgPackSerializer.java | 15 +-
.../org/apache/juneau/parser/ParserGroup.java | 4 +-
.../org/apache/juneau/parser/ParserReader.java | 35 +-
.../org/apache/juneau/parser/ParserSession.java | 74 ++
.../serializer/OutputStreamSerializer.java | 16 +-
.../apache/juneau/serializer/Serializer.java | 15 +-
.../juneau/serializer/SerializerContext.java | 16 +-
.../juneau/serializer/SerializerGroup.java | 14 +-
.../juneau/serializer/SerializerSession.java | 78 +-
.../juneau/serializer/SerializerWriter.java | 39 +-
.../juneau/serializer/WriterSerializer.java | 2 +-
.../transform/AnnotationBeanFilterBuilder.java | 19 +-
.../org/apache/juneau/transform/BeanFilter.java | 35 +-
.../juneau/transform/BeanFilterBuilder.java | 88 +--
.../org/apache/juneau/transform/package.html | 75 --
.../apache/juneau/urlencoding/UonParser.java | 223 +++---
.../juneau/urlencoding/UonParserContext.java | 20 +-
.../juneau/urlencoding/UonParserSession.java | 14 +-
.../juneau/urlencoding/UonSerializer.java | 248 ++----
.../urlencoding/UonSerializerContext.java | 80 --
.../urlencoding/UonSerializerSession.java | 26 +-
.../apache/juneau/urlencoding/UonWriter.java | 104 +--
.../juneau/urlencoding/UrlEncodingParser.java | 41 +-
.../urlencoding/UrlEncodingSerializer.java | 134 +---
.../urlencoding/doc-files/Example_HTML.png | Bin 32778 -> 136001 bytes
.../doc-files/Example_UrlEncoding.png | Bin 20958 -> 0 bytes
.../juneau/urlencoding/doc-files/rfc_uon.txt | 177 ++---
.../org/apache/juneau/urlencoding/package.html | 344 +++++----
.../java/org/apache/juneau/xml/XmlParser.java | 26 +-
.../apache/juneau/xml/XmlSchemaSerializer.java | 2 +-
.../org/apache/juneau/xml/XmlSerializer.java | 8 +-
.../apache/juneau/xml/XmlSerializerSession.java | 2 +-
.../java/org/apache/juneau/xml/XmlWriter.java | 6 +-
.../src/main/javadoc/doc-files/Server.Uon.png | Bin 28160 -> 0 bytes
.../javadoc/doc-files/Server.UrlEncoding.png | Bin 32516 -> 0 bytes
juneau-core/src/main/javadoc/overview.html | 58 +-
.../src/main/javadoc/resources/juneau-code.css | 10 +-
.../examples/rest/AddressBookResourceTest.java | 16 +-
.../juneau/examples/rest/RestTestcase.java | 37 +
.../juneau/examples/rest/RootResourcesTest.java | 2 +-
.../SampleRemoteableServicesResourceTest.java | 4 +-
.../juneau/examples/rest/TestMicroservice.java | 57 ++
.../rest/TestMultiPartFormPostsTest.java | 2 +-
.../apache/juneau/examples/rest/TestUtils.java | 2 +-
.../apache/juneau/examples/rest/_TestSuite.java | 18 +-
.../apache/juneau/rest/test/ParamsResource.java | 10 +-
.../juneau/rest/test/AcceptCharsetTest.java | 2 +-
.../rest/test/BeanContextPropertiesTest.java | 2 +-
.../juneau/rest/test/CallbackStringsTest.java | 2 +-
.../juneau/rest/test/CharsetEncodingsTest.java | 2 +-
.../juneau/rest/test/ClientVersionTest.java | 2 +-
.../org/apache/juneau/rest/test/ConfigTest.java | 2 +-
.../org/apache/juneau/rest/test/Constants.java | 2 +-
.../apache/juneau/rest/test/ContentTest.java | 102 +--
.../rest/test/DefaultContentTypesTest.java | 2 +-
.../juneau/rest/test/ErrorConditionsTest.java | 2 +-
.../org/apache/juneau/rest/test/GroupsTest.java | 2 +-
.../org/apache/juneau/rest/test/GzipTest.java | 2 +-
.../juneau/rest/test/InheritanceTest.java | 2 +-
.../apache/juneau/rest/test/LargePojosTest.java | 2 +-
.../apache/juneau/rest/test/MessagesTest.java | 2 +-
.../juneau/rest/test/NlsPropertyTest.java | 2 +-
.../org/apache/juneau/rest/test/NlsTest.java | 2 +-
.../juneau/rest/test/NoParserInputTest.java | 2 +-
.../apache/juneau/rest/test/OnPostCallTest.java | 2 +-
.../apache/juneau/rest/test/OnPreCallTest.java | 2 +-
.../juneau/rest/test/OptionsWithoutNlsTest.java | 2 +-
.../rest/test/OverlappingMethodsTest.java | 2 +-
.../org/apache/juneau/rest/test/ParamsTest.java | 80 +-
.../apache/juneau/rest/test/ParsersTest.java | 2 +-
.../org/apache/juneau/rest/test/PathTest.java | 2 +-
.../org/apache/juneau/rest/test/PathsTest.java | 2 +-
.../apache/juneau/rest/test/PropertiesTest.java | 2 +-
.../apache/juneau/rest/test/RestClientTest.java | 2 +-
.../apache/juneau/rest/test/RestTestcase.java | 36 +
.../apache/juneau/rest/test/RestUtilsTest.java | 2 +-
.../juneau/rest/test/SerializersTest.java | 2 +-
.../juneau/rest/test/StaticFilesTest.java | 2 +-
.../juneau/rest/test/TestMicroservice.java | 60 ++
.../org/apache/juneau/rest/test/TestUtils.java | 4 +-
.../apache/juneau/rest/test/TransformsTest.java | 2 +-
.../org/apache/juneau/rest/test/UrisTest.java | 2 +-
.../apache/juneau/rest/test/UrlContentTest.java | 2 +-
.../juneau/rest/test/UrlPathPatternTest.java | 2 +-
.../org/apache/juneau/rest/test/_TestSuite.java | 22 +-
.../org/apache/juneau/rest/RestRequest.java | 18 +-
.../apache/juneau/rest/RestServletDefault.java | 12 -
.../rest/jena/RestServletJenaDefault.java | 12 -
.../juneau/rest/response/DefaultHandler.java | 2 +-
155 files changed, 2815 insertions(+), 2907 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/097b8103/juneau-core-rdf/src/main/java/org/apache/juneau/jena/RdfParser.java
----------------------------------------------------------------------
diff --git a/juneau-core-rdf/src/main/java/org/apache/juneau/jena/RdfParser.java b/juneau-core-rdf/src/main/java/org/apache/juneau/jena/RdfParser.java
index 468afc0..3d5baef 100644
--- a/juneau-core-rdf/src/main/java/org/apache/juneau/jena/RdfParser.java
+++ b/juneau-core-rdf/src/main/java/org/apache/juneau/jena/RdfParser.java
@@ -182,19 +182,10 @@ public class RdfParser extends ReaderParser {
if (rbm.hasBeanUri() && r2.getURI() != null)
rbm.getBeanUriProperty().set(m, r2.getURI());
Property subTypeIdProperty = null;
- BeanPropertyMeta stp = bm.getSubTypeProperty();
- if (stp != null) {
- subTypeIdProperty = session.getProperty(stp.getName());
- Statement st = r2.getProperty(subTypeIdProperty);
- if (st == null)
- throw new ParseException(session, "Could not find subtype ID property for bean of type ''{0}''", m.getClassMeta());
- String subTypeId = st.getLiteral().getString();
- stp.set(m, subTypeId);
- }
for (StmtIterator i = r2.listProperties(); i.hasNext();) {
Statement st = i.next();
Property p = st.getPredicate();
- if (p.equals(subTypeIdProperty))
+ if (subTypeIdProperty != null && p.equals(subTypeIdProperty))
continue;
String key = session.decodeString(p.getLocalName());
BeanPropertyMeta pMeta = m.getPropertyMeta(key);
@@ -212,14 +203,8 @@ public class RdfParser extends ReaderParser {
setName(cm, value, key);
pMeta.set(m, value);
}
- } else if (! (p.equals(session.getRootProperty()) || p.equals(session.getTypeProperty()) || p.equals(subTypeIdProperty))) {
- if (bm.isSubTyped()) {
- RDFNode o = st.getObject();
- Object value = parseAnything(session, object(), o, m.getBean(false), pMeta);
- m.put(key, value);
- } else {
- onUnknownProperty(session, key, m, -1, -1);
- }
+ } else if (! (p.equals(session.getRootProperty()) || p.equals(session.getTypeProperty()) || (subTypeIdProperty != null && p.equals(subTypeIdProperty)))) {
+ onUnknownProperty(session, key, m, -1, -1);
}
session.setCurrentProperty(null);
}
@@ -240,15 +225,15 @@ public class RdfParser extends ReaderParser {
PojoSwap<T,Object> transform = (PojoSwap<T,Object>)eType.getPojoSwap();
ClassMeta<?> sType = eType.getSerializedClassMeta();
session.setCurrentClass(sType);
- BeanRegistry breg = pMeta == null ? session.getBeanRegistry() : pMeta.getBeanRegistry();
if (! sType.canCreateNewInstance(outer)) {
if (n.isResource()) {
Statement st = n.asResource().getProperty(session.getTypeProperty());
if (st != null) {
String c = st.getLiteral().getString();
- if (breg.hasName(c))
- sType = eType = (ClassMeta<T>)breg.getClassMeta(c);
+ ClassMeta tcm = session.getClassMeta(c, pMeta, eType);
+ if (tcm != null)
+ sType = eType = tcm;
}
}
}
@@ -337,6 +322,14 @@ public class RdfParser extends ReaderParser {
o = sType.newInstanceFromString(outer, session.decodeString(getValue(session, n, outer)));
} else if (sType.canCreateNewInstanceFromNumber(outer)) {
o = sType.newInstanceFromNumber(session, outer, parseNumber(getValue(session, n, outer).toString(), sType.getNewInstanceFromNumberClass()));
+ } else if (n.isResource()) {
+ Resource r = n.asResource();
+ Map m = new ObjectMap(session);
+ parseIntoMap(session, r, m, sType.getKeyType(), sType.getValueType());
+ if (m.containsKey(session.getBeanTypePropertyName()))
+ o = session.cast((ObjectMap)m, pMeta, eType);
+ else
+ throw new ParseException(session, "Class ''{0}'' could not be instantiated. Reason: ''{1}''", sType.getInnerClass().getName(), sType.getNotABeanReason());
} else {
throw new ParseException("Class ''{0}'' could not be instantiated. Reason: ''{1}''", sType.getInnerClass().getName(), sType.getNotABeanReason());
}
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/097b8103/juneau-core-rdf/src/main/java/org/apache/juneau/jena/RdfSerializer.java
----------------------------------------------------------------------
diff --git a/juneau-core-rdf/src/main/java/org/apache/juneau/jena/RdfSerializer.java b/juneau-core-rdf/src/main/java/org/apache/juneau/jena/RdfSerializer.java
index 9bb6d94..4746592 100644
--- a/juneau-core-rdf/src/main/java/org/apache/juneau/jena/RdfSerializer.java
+++ b/juneau-core-rdf/src/main/java/org/apache/juneau/jena/RdfSerializer.java
@@ -189,6 +189,8 @@ public class RdfSerializer extends WriterSerializer {
sType = eType.getSerializedClassMeta();
}
+ String typeName = session.getBeanTypeName(eType, aType, bpm);
+
RDFNode n = null;
if (o == null || sType.isChar() && ((Character)o).charValue() == 0) {
@@ -221,7 +223,7 @@ public class RdfSerializer extends WriterSerializer {
uri = rbm.getBeanUriProperty().get(bm);
String uri2 = getUri(session, uri, null);
n = m.createResource(uri2);
- serializeBeanMap(session, bm, (Resource)n);
+ serializeBeanMap(session, bm, (Resource)n, typeName);
} else {
Map m2 = (Map)o;
n = m.createResource();
@@ -236,7 +238,7 @@ public class RdfSerializer extends WriterSerializer {
uri = rbm.getBeanUriProperty().get(bm);
String uri2 = getUri(session, uri, null);
n = m.createResource(uri2);
- serializeBeanMap(session, bm, (Resource)n);
+ serializeBeanMap(session, bm, (Resource)n, typeName);
} else if (sType.isCollectionOrArray() || (wType != null && wType.isCollection())) {
Collection c = session.sort(sType.isCollection() ? (Collection)o : toList(sType.getInnerClass(), o));
@@ -315,8 +317,8 @@ public class RdfSerializer extends WriterSerializer {
}
}
- private void serializeBeanMap(RdfSerializerSession session, BeanMap<?> m, Resource r) throws SerializeException {
- List<BeanPropertyValue> l = m.getValues(session.isTrimNulls());
+ private void serializeBeanMap(RdfSerializerSession session, BeanMap<?> m, Resource r, String typeName) throws SerializeException {
+ List<BeanPropertyValue> l = m.getValues(session.isTrimNulls(), typeName != null ? session.createBeanTypeNameProperty(m, typeName) : null);
Collections.reverse(l);
for (BeanPropertyValue bpv : l) {
BeanPropertyMeta pMeta = bpv.getMeta();
@@ -756,8 +758,8 @@ public class RdfSerializer extends WriterSerializer {
}
@Override /* Serializer */
- public RdfSerializer setUseIndentation(boolean value) throws LockedException {
- super.setUseIndentation(value);
+ public RdfSerializer setUseWhitespace(boolean value) throws LockedException {
+ super.setUseWhitespace(value);
return this;
}
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/097b8103/juneau-core-rdf/src/main/java/org/apache/juneau/jena/RdfSerializerSession.java
----------------------------------------------------------------------
diff --git a/juneau-core-rdf/src/main/java/org/apache/juneau/jena/RdfSerializerSession.java b/juneau-core-rdf/src/main/java/org/apache/juneau/jena/RdfSerializerSession.java
index 831ba08..d03b775 100644
--- a/juneau-core-rdf/src/main/java/org/apache/juneau/jena/RdfSerializerSession.java
+++ b/juneau-core-rdf/src/main/java/org/apache/juneau/jena/RdfSerializerSession.java
@@ -60,7 +60,7 @@ public final class RdfSerializerSession extends SerializerSession {
protected RdfSerializerSession(RdfSerializerContext ctx, ObjectMap op, Object output, Method javaMethod, Locale locale, TimeZone timeZone, MediaType mediaType) {
super(ctx, op, output, javaMethod, locale, timeZone, mediaType);
ObjectMap jenaSettings = new ObjectMap();
- jenaSettings.put("rdfXml.tab", isUseIndentation() ? 2 : 0);
+ jenaSettings.put("rdfXml.tab", isUseWhitespace() ? 2 : 0);
jenaSettings.put("rdfXml.attributeQuoteChar", Character.toString(getQuoteChar()));
jenaSettings.putAll(ctx.jenaSettings);
if (op == null || op.isEmpty()) {
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/097b8103/juneau-core-test/src/test/java/org/apache/juneau/BeanFilterTest.java
----------------------------------------------------------------------
diff --git a/juneau-core-test/src/test/java/org/apache/juneau/BeanFilterTest.java b/juneau-core-test/src/test/java/org/apache/juneau/BeanFilterTest.java
index fb27219..8116344 100755
--- a/juneau-core-test/src/test/java/org/apache/juneau/BeanFilterTest.java
+++ b/juneau-core-test/src/test/java/org/apache/juneau/BeanFilterTest.java
@@ -36,7 +36,7 @@ public class BeanFilterTest {
a1.fb = new B2();
((B2)a1.fb).f2 = "f2";
String r = s.serialize(a1);
- assertEquals("{subType:'A1',f0:'f0',fb:{subType:'B2',f0b:'f0b',f2:'f2'},f1:'f1'}", r);
+ assertEquals("{_type:'A1',f0:'f0',fb:{_type:'B2',f0b:'f0b',f2:'f2'},f1:'f1'}", r);
A a = p.parse(r, A.class);
assertTrue(a instanceof A1);
@@ -45,7 +45,7 @@ public class BeanFilterTest {
assertEquals("f2", ((B2)a.fb).f2);
// Try out-of-order creation.
- r = "{f0:'f0',f1:'f1',subType:'A1',fb:{f0b:'f0b',f2:'f2',subType:'B2'}}";
+ r = "{f0:'f0',f1:'f1',_type:'A1',fb:{f0b:'f0b',f2:'f2',_type:'B2'}}";
a = p.parse(r, A.class);
assertTrue(a instanceof A1);
assertTrue(a.fb instanceof B2);
@@ -53,10 +53,7 @@ public class BeanFilterTest {
assertEquals("f2", ((B2)a.fb).f2);
}
- @Bean(
- subTypeProperty="subType",
- subTypes={A1.class,A2.class}
- )
+ @Bean(beanDictionary={A1.class, A2.class})
public static abstract class A {
public String f0 = "f0";
public B fb;
@@ -72,10 +69,7 @@ public class BeanFilterTest {
public String f2;
}
- @Bean(
- subTypeProperty="subType",
- subTypes={B1.class,B2.class}
- )
+ @Bean(beanDictionary={B1.class,B2.class})
public static abstract class B {
public String f0b = "f0b";
}
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/097b8103/juneau-core-test/src/test/java/org/apache/juneau/BeanMapTest.java
----------------------------------------------------------------------
diff --git a/juneau-core-test/src/test/java/org/apache/juneau/BeanMapTest.java b/juneau-core-test/src/test/java/org/apache/juneau/BeanMapTest.java
index 3343a6d..0b328db 100755
--- a/juneau-core-test/src/test/java/org/apache/juneau/BeanMapTest.java
+++ b/juneau-core-test/src/test/java/org/apache/juneau/BeanMapTest.java
@@ -652,13 +652,13 @@ public class BeanMapTest {
BeanMap m = session.toBeanMap(t7);
m.put("enum1", "ONE");
m.put("enum2", "TWO");
- assertEquals("{enum1:'ONE',enum2:'TWO'}", serializer.serialize(t7));
+ assertEquals("{_type:'H',enum1:'ONE',enum2:'TWO'}", serializer.serialize(t7));
assertEquals(HEnum.ONE, t7.enum1);
assertEquals(HEnum.TWO, t7.getEnum2());
// Use BeanContext to create bean instance.
m = BeanContext.DEFAULT.createSession().newBeanMap(H.class).load("{enum1:'TWO',enum2:'THREE'}");
- assertEquals("{enum1:'TWO',enum2:'THREE'}", serializer.serialize(m.getBean()));
+ assertEquals("{_type:'H',enum1:'TWO',enum2:'THREE'}", serializer.serialize(m.getBean()));
t7 = (H)m.getBean();
assertEquals(HEnum.TWO, t7.enum1);
assertEquals(HEnum.THREE, t7.getEnum2());
@@ -666,7 +666,7 @@ public class BeanMapTest {
// Create instance directly from JSON.
JsonParser p = new JsonParser().addToBeanDictionary(H.class);
t7 = (H)p.parse("{_type:'H',enum1:'THREE',enum2:'ONE'}", Object.class);
- assertEquals("{enum1:'THREE',enum2:'ONE'}", serializer.serialize(t7));
+ assertEquals("{_type:'H',enum1:'THREE',enum2:'ONE'}", serializer.serialize(t7));
assertEquals(HEnum.THREE, t7.enum1);
assertEquals(HEnum.ONE, t7.getEnum2());
}
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/097b8103/juneau-core-test/src/test/java/org/apache/juneau/TestUtils.java
----------------------------------------------------------------------
diff --git a/juneau-core-test/src/test/java/org/apache/juneau/TestUtils.java b/juneau-core-test/src/test/java/org/apache/juneau/TestUtils.java
index 1e278b5..7f6bade 100755
--- a/juneau-core-test/src/test/java/org/apache/juneau/TestUtils.java
+++ b/juneau-core-test/src/test/java/org/apache/juneau/TestUtils.java
@@ -147,7 +147,7 @@ public class TestUtils {
private static void printLines(String[] lines) {
for (int i = 0; i < lines.length; i++)
- System.err.println(String.format("%4s:" + lines[i], i+1));
+ System.err.println(String.format("%4s:" + lines[i], i+1)); // NOT DEBUG
}
/**
@@ -221,7 +221,7 @@ public class TestUtils {
* Test whitespace and generated schema.
*/
public static void validateXml(Object o, XmlSerializer s) throws Exception {
- s = s.clone().setUseIndentation(true).setEnableNamespaces(true).setAddNamespaceUrisToRoot(true);
+ s = s.clone().setUseWhitespace(true).setEnableNamespaces(true).setAddNamespaceUrisToRoot(true);
String xml = s.serialize(o);
String xmlSchema = null;
@@ -231,10 +231,10 @@ public class TestUtils {
TestUtils.checkXmlWhitespace(xmlSchema);
TestUtils.validateXml(xml, xmlSchema);
} catch (Exception e) {
- System.err.println("---XML---");
- System.err.println(xml);
- System.err.println("---XMLSchema---");
- System.err.println(xmlSchema);
+ System.err.println("---XML---"); // NOT DEBUG
+ System.err.println(xml); // NOT DEBUG
+ System.err.println("---XMLSchema---"); // NOT DEBUG
+ System.err.println(xmlSchema); // NOT DEBUG
throw e;
}
}
@@ -271,7 +271,7 @@ public class TestUtils {
public static void debugOut(Object o) {
try {
- System.err.println(StringUtils.decodeHex(JsonSerializer.DEFAULT_LAX.serialize(o)));
+ System.err.println(StringUtils.decodeHex(JsonSerializer.DEFAULT_LAX.serialize(o))); // NOT DEBUG
} catch (SerializeException e) {
e.printStackTrace();
}
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/097b8103/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripBeanMapsTest.java
----------------------------------------------------------------------
diff --git a/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripBeanMapsTest.java b/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripBeanMapsTest.java
index 7d30f9a..d99f5ff 100755
--- a/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripBeanMapsTest.java
+++ b/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripBeanMapsTest.java
@@ -19,6 +19,7 @@ import java.util.*;
import javax.xml.datatype.*;
+import org.apache.juneau.BeanDictionaryMap;
import org.apache.juneau.annotation.*;
import org.apache.juneau.json.*;
import org.apache.juneau.json.annotation.*;
@@ -231,24 +232,23 @@ public class RoundTripBeanMapsTest extends RoundTripTest {
Object r = s.serialize(b1);
B b = p.parse(r, B.class);
assertTrue(b instanceof B1);
- assertObjectEquals("{subType:'B1',f0:'f0',f1:'f1'}", b, js);
+ assertObjectEquals("{_type:'B1',f0:'f0',f1:'f1'}", b, js);
B2 b2 = B2.create();
r = s.serialize(b2);
b = p.parse(r, B.class);
assertTrue(b instanceof B2);
- assertObjectEquals("{subType:'B2',f0:'f0',f2:1}", b, js);
+ assertObjectEquals("{_type:'B2',f0:'f0',f2:1}", b, js);
B3 b3 = B3.create();
r = s.serialize(b3);
b = p.parse(r, B.class);
assertTrue(b instanceof B3);
- assertObjectEquals("{subType:'B3',f0:'f0',f3:'2001-01-01T12:34:56.789Z'}", b, js);
+ assertObjectEquals("{_type:'B3',f0:'f0',f3:'2001-01-01T12:34:56.789Z'}", b, js);
}
@Bean(
- subTypeProperty="subType",
- subTypes={B1.class,B2.class,B3.class}
+ beanDictionary={B1.class,B2.class,B3.class}
)
public abstract static class B {
public String f0 = "f0";
@@ -357,13 +357,18 @@ public class RoundTripBeanMapsTest extends RoundTripTest {
public static class CFilter extends BeanFilterBuilder {
public CFilter() {
super(C.class);
- setSubTypeProperty("subType");
- addSubType("C1", C1.class);
- addSubType("C2", C2.class);
- addSubType("C3", C3.class);
+ addToBeanDictionary(CFilterDictionaryMap.class);
}
}
+ public static class CFilterDictionaryMap extends BeanDictionaryMap {
+ public CFilterDictionaryMap() {
+ addClass("C1", C1.class);
+ addClass("C2", C2.class);
+ addClass("C3", C3.class);
+ }
+ }
+
//====================================================================================================
// Test @Bean(subTypeProperty=xxx) with real bean property
//====================================================================================================
@@ -380,16 +385,12 @@ public class RoundTripBeanMapsTest extends RoundTripTest {
Object r = s.serialize(ba1);
BA b = p.parse(r, BA.class);
assertTrue(b instanceof BA1);
- assertEquals("BA1", b.subType);
- assertObjectEquals("{subType:'BA1',f0a:'f0a',f0b:'f0b',f1:'f1'}", b);
+ assertObjectEquals("{_type:'BA1',f0a:'f0a',f0b:'f0b',f1:'f1'}", b);
}
- @Bean(
- subTypeProperty="subType",
- subTypes={BA1.class,BA2.class}
- )
+ @Bean(beanDictionary={BA1.class,BA2.class})
public abstract static class BA {
- public String f0a, subType, f0b;
+ public String f0a, f0b;
}
@Bean(typeName="BA1")
@@ -400,7 +401,6 @@ public class RoundTripBeanMapsTest extends RoundTripTest {
b.f0a = "f0a";
b.f0b = "f0b";
b.f1 = "f1";
- b.subType = "xxx";// Should be ignored.
return b;
}
}
@@ -427,12 +427,11 @@ public class RoundTripBeanMapsTest extends RoundTripTest {
Object r = s.serialize(c1);
CA c = p.parse(r, CA.class);
assertTrue(c instanceof CA1);
- assertEquals("CA1", c.subType);
- assertObjectEquals("{f0a:'f0a',subType:'CA1',f0b:'f0b',f1:'f1'}", c);
+ assertObjectEquals("{f0a:'f0a',f0b:'f0b',f1:'f1'}", c);
}
public abstract static class CA {
- public String f0a, subType, f0b;
+ public String f0a, f0b;
}
public static class CA1 extends CA {
@@ -442,7 +441,6 @@ public class RoundTripBeanMapsTest extends RoundTripTest {
c.f0a = "f0a";
c.f0b = "f0b";
c.f1 = "f1";
- c.subType = "xxx";// Should be ignored.
return c;
}
}
@@ -454,12 +452,17 @@ public class RoundTripBeanMapsTest extends RoundTripTest {
public static class CAFilter extends BeanFilterBuilder {
public CAFilter() {
super(CA.class);
- setSubTypeProperty("subType");
- addSubType("CA1", CA1.class);
- addSubType("CA2", CA2.class);
+ addToBeanDictionary(CAFilterDictionaryMap.class);
}
}
+ public static class CAFilterDictionaryMap extends BeanDictionaryMap {
+ public CAFilterDictionaryMap() {
+ addClass("CA1", CA1.class);
+ addClass("CA2", CA2.class);
+ }
+ }
+
//====================================================================================================
// Test @Bean(properties=xxx)
//====================================================================================================
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/097b8103/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripLargeObjectsTest.java
----------------------------------------------------------------------
diff --git a/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripLargeObjectsTest.java b/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripLargeObjectsTest.java
index 33b6886..7bbd8d9 100755
--- a/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripLargeObjectsTest.java
+++ b/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripLargeObjectsTest.java
@@ -66,7 +66,7 @@ public class RoundTripLargeObjectsTest extends RoundTripTest {
},
{ /* 3 */
"Xml DEFAULT w/namespaces,validation",
- new XmlSerializer.NsSq().setTrimNullProperties(false).setAddNamespaceUrisToRoot(true).setUseIndentation(true),
+ new XmlSerializer.NsSq().setTrimNullProperties(false).setAddNamespaceUrisToRoot(true).setUseWhitespace(true),
XmlParser.DEFAULT,
CHECK_XML_WHITESPACE | VALIDATE_XML
},
@@ -84,13 +84,13 @@ public class RoundTripLargeObjectsTest extends RoundTripTest {
},
{ /* 6 */
"UrlEncoding",
- new UrlEncodingSerializer().setTrimNullProperties(false).setSimpleMode(false),
+ new UrlEncodingSerializer().setTrimNullProperties(false),
UrlEncodingParser.DEFAULT,
0
},
{ /* 7 */
"Uon",
- new UonSerializer().setTrimNullProperties(false).setSimpleMode(false),
+ new UonSerializer().setTrimNullProperties(false),
UonParser.DEFAULT,
0
},
@@ -144,22 +144,22 @@ public class RoundTripLargeObjectsTest extends RoundTripTest {
A a = A.create();
Serializer s = getSerializer();
Parser p = getParser();
- System.err.println("\n---Speed test on " + label + "---");
+ System.err.println("\n---Speed test on " + label + "---"); // NOT DEBUG
Object r = "";
// Initialization run.
r = s.serialize(a);
- System.err.println(MessageFormat.format("Serialized size: {0,number} ", (r instanceof String ? r.toString().length() : ((byte[])r).length)));
+ System.err.println(MessageFormat.format("Serialized size: {0,number} ", (r instanceof String ? r.toString().length() : ((byte[])r).length))); // NOT DEBUG
p.parse(r, A.class);
startTime = System.currentTimeMillis();
for (int i = 0; i < numRuns; i++)
r = s.serialize(a);
- System.err.println(MessageFormat.format("Average serialize time: {0,number}ms", (System.currentTimeMillis()-startTime)/numRuns));
+ System.err.println(MessageFormat.format("Average serialize time: {0,number}ms", (System.currentTimeMillis()-startTime)/numRuns)); // NOT DEBUG
startTime = System.currentTimeMillis();
for (int i = 0; i < numRuns; i++)
a = p.parse(r, A.class);
- System.err.println(MessageFormat.format("Average parsed time: {0,number}ms", (System.currentTimeMillis()-startTime)/numRuns));
+ System.err.println(MessageFormat.format("Average parsed time: {0,number}ms", (System.currentTimeMillis()-startTime)/numRuns)); // NOT DEBUG
}
public static class A {
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/097b8103/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripMapsTest.java
----------------------------------------------------------------------
diff --git a/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripMapsTest.java b/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripMapsTest.java
index a644e85..f7d2d13 100755
--- a/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripMapsTest.java
+++ b/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripMapsTest.java
@@ -121,12 +121,12 @@ public class RoundTripMapsTest extends RoundTripTest {
assertEquals(e, r);
s = new UonSerializer.Encoding().addPojoSwaps(getPojoSwaps()).setTrimNullProperties(false);
- e = "$o(AQID=a,BAUG=%00,%00=b)";
+ e = "(AQID=a,BAUG=null,null=b)";
r = s.serialize(t);
assertEquals(e, r);
s = new UrlEncodingSerializer().addPojoSwaps(getPojoSwaps()).setTrimNullProperties(false);
- e = "AQID=a&BAUG=%00&%00=b";
+ e = "AQID=a&BAUG=null&null=b";
r = s.serialize(t);
assertEquals(e, r);
}
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/097b8103/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripTest.java
----------------------------------------------------------------------
diff --git a/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripTest.java b/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripTest.java
index 1912417..25c8222 100755
--- a/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripTest.java
+++ b/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripTest.java
@@ -66,7 +66,7 @@ public abstract class RoundTripTest {
},
{ /* 3 */
"Xml - namespaces, validation, readable",
- new XmlSerializer.NsSq().setTrimNullProperties(false).setAddNamespaceUrisToRoot(true).setUseIndentation(true),
+ new XmlSerializer.NsSq().setTrimNullProperties(false).setAddNamespaceUrisToRoot(true).setUseWhitespace(true),
XmlParser.DEFAULT,
CHECK_XML_WHITESPACE | VALIDATE_XML
},
@@ -96,37 +96,37 @@ public abstract class RoundTripTest {
},
{ /* 8 */
"Uon - default",
- new UonSerializer().setTrimNullProperties(false).setSimpleMode(false),
+ new UonSerializer().setTrimNullProperties(false),
UonParser.DEFAULT,
0
},
{ /* 9 */
"Uon - readable",
- new UonSerializer.Readable().setTrimNullProperties(false).setSimpleMode(false),
- UonParser.DEFAULT_WS_AWARE,
+ new UonSerializer.Readable().setTrimNullProperties(false),
+ UonParser.DEFAULT,
0
},
{ /* 10 */
"Uon - encoded",
- new UonSerializer.Encoding().setTrimNullProperties(false).setSimpleMode(false),
+ new UonSerializer.Encoding().setTrimNullProperties(false),
UonParser.DEFAULT_DECODING,
0
},
{ /* 11 */
"UrlEncoding - default",
- new UrlEncodingSerializer().setTrimNullProperties(false).setSimpleMode(false),
+ new UrlEncodingSerializer().setTrimNullProperties(false),
UrlEncodingParser.DEFAULT,
0
},
{ /* 12 */
"UrlEncoding - readable",
- new UrlEncodingSerializer.Readable().setTrimNullProperties(false).setSimpleMode(false),
- UrlEncodingParser.DEFAULT_WS_AWARE,
+ new UrlEncodingSerializer.Readable().setTrimNullProperties(false),
+ UrlEncodingParser.DEFAULT,
0
},
{ /* 13 */
"UrlEncoding - expanded params",
- new UrlEncodingSerializer().setExpandedParams(true).setSimpleMode(false),
+ new UrlEncodingSerializer().setExpandedParams(true),
new UrlEncodingParser().setExpandedParams(true),
0
},
@@ -192,8 +192,8 @@ public abstract class RoundTripTest {
public boolean debug = false;
public RoundTripTest(String label, Serializer s, Parser p, int flags) throws Exception {
- this.s = s.clone().addBeanFilters(getBeanFilters()).addPojoSwaps(getPojoSwaps()).addToBeanDictionary(getDictionary());
- this.p = p == null ? null : p.clone().addBeanFilters(getBeanFilters()).addPojoSwaps(getPojoSwaps()).addToBeanDictionary(getDictionary());
+ this.s = s.clone().addBeanFilters(getBeanFilters()).addPojoSwaps(getPojoSwaps()).addToBeanDictionary(getDictionary()).setProperties(getProperties());
+ this.p = p == null ? null : p.clone().addBeanFilters(getBeanFilters()).addPojoSwaps(getPojoSwaps()).addToBeanDictionary(getDictionary()).setProperties(getProperties());
this.label = label;
Map<Class<Object>, Class<? extends Object>> m = getImplClasses();
@@ -221,6 +221,10 @@ public abstract class RoundTripTest {
public Class<?>[] getDictionary() {
return new Class<?>[0];
}
+
+ public ObjectMap getProperties() {
+ return ObjectMap.EMPTY_MAP;
+ }
public <T> Map<Class<T>,Class<? extends T>> getImplClasses() {
return null;
@@ -286,7 +290,7 @@ public abstract class RoundTripTest {
}
if (debug)
- System.err.println("Serialized contents from ["+label+"]...\n---START---\n" + (out instanceof byte[] ? TestUtils.toReadableBytes((byte[])out) : out) + "\n---END---\n");
+ System.err.println("Serialized contents from ["+label+"]...\n---START---\n" + (out instanceof byte[] ? TestUtils.toReadableBytes((byte[])out) : out) + "\n---END---\n"); // NOT DEBUG
if (validateXmlWhitespace)
TestUtils.checkXmlWhitespace(out.toString());
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/097b8103/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripTransformBeansTest.java
----------------------------------------------------------------------
diff --git a/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripTransformBeansTest.java b/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripTransformBeansTest.java
index c4d792f..cc6c1b9 100755
--- a/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripTransformBeansTest.java
+++ b/juneau-core-test/src/test/java/org/apache/juneau/a/rttests/RoundTripTransformBeansTest.java
@@ -275,14 +275,11 @@ public class RoundTripTransformBeansTest extends RoundTripTest {
C1 c1 = C3.create();
String r = s.serialize(c1);
- assertEquals("{\"type\":\"C3\",\"f1\":{\"f2\":\"f2\",\"f3\":3}}", r);
+ assertEquals("{\"_type\":\"C3\",\"f1\":{\"f2\":\"f2\",\"f3\":3}}", r);
}
- @Bean(
- subTypeProperty="type",
- subTypes={C3.class}
- )
+ @Bean(beanDictionary={C3.class})
public static interface C1<T> extends Serializable {
void setF1(T f1);
T getF1();
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/097b8103/juneau-core-test/src/test/java/org/apache/juneau/dto/cognos/CognosXmlTest.java
----------------------------------------------------------------------
diff --git a/juneau-core-test/src/test/java/org/apache/juneau/dto/cognos/CognosXmlTest.java b/juneau-core-test/src/test/java/org/apache/juneau/dto/cognos/CognosXmlTest.java
index bd98a6d..358d8e3 100755
--- a/juneau-core-test/src/test/java/org/apache/juneau/dto/cognos/CognosXmlTest.java
+++ b/juneau-core-test/src/test/java/org/apache/juneau/dto/cognos/CognosXmlTest.java
@@ -73,7 +73,7 @@ public class CognosXmlTest {
};
XmlSerializer s = new XmlSerializer()
- .setUseIndentation(true)
+ .setUseWhitespace(true)
.setQuoteChar('\'')
.setDefaultNamespace("cognos")
.setEnableNamespaces(true)