http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/juneau-core/src/main/java/org/apache/juneau/json/JsonParser.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/json/JsonParser.java b/juneau-core/src/main/java/org/apache/juneau/json/JsonParser.java index 3c1b0f6..5859825 100644 --- a/juneau-core/src/main/java/org/apache/juneau/json/JsonParser.java +++ b/juneau-core/src/main/java/org/apache/juneau/json/JsonParser.java @@ -99,15 +99,15 @@ public final class JsonParser extends ReaderParser { /** Default parser, all default settings.*/ public static final JsonParser DEFAULT_STRICT = new JsonParser().setProperty(JSON_strictMode, true).lock(); - private <T> T parseAnything(JsonParserSession session, ClassMeta<T> nt, ParserReader r, Object outer) throws Exception { + private <T> T parseAnything(JsonParserSession session, ClassMeta<T> eType, ParserReader r, Object outer) throws Exception { BeanContext bc = session.getBeanContext(); - if (nt == null) - nt = (ClassMeta<T>)object(); - PojoSwap<T,Object> transform = (PojoSwap<T,Object>)nt.getPojoSwap(); - ClassMeta<?> ft = nt.getSerializedClassMeta(); - session.setCurrentClass(ft); - String wrapperAttr = ft.getExtendedMeta(JsonClassMeta.class).getWrapperAttr(); + if (eType == null) + eType = (ClassMeta<T>)object(); + PojoSwap<T,Object> transform = (PojoSwap<T,Object>)eType.getPojoSwap(); + ClassMeta<?> sType = eType.getSerializedClassMeta(); + session.setCurrentClass(sType); + String wrapperAttr = sType.getExtendedMeta(JsonClassMeta.class).getWrapperAttr(); Object o = null; @@ -124,7 +124,7 @@ public final class JsonParser extends ReaderParser { // Let o be null; } else if (c == 'n') { parseKeyword(session, "null", r); - } else if (ft.isObject()) { + } else if (sType.isObject()) { if (c == '{') { ObjectMap m2 = new ObjectMap(bc); parseIntoMap2(session, r, m2, string(), object()); @@ -133,7 +133,7 @@ public final class JsonParser extends ReaderParser { o = parseIntoCollection2(session, r, new ObjectList(bc), object()); else if (c == '\'' || c == '"') { o = parseString(session, r); - if (ft.isChar()) + if (sType.isChar()) o = o.toString().charAt(0); } else if (c >= '0' && c <= '9' || c == '-') @@ -145,67 +145,67 @@ public final class JsonParser extends ReaderParser { parseKeyword(session, "false", r); o = Boolean.FALSE; } - } else if (ft.isBoolean()) { + } else if (sType.isBoolean()) { o = parseBoolean(session, r); - } else if (ft.isCharSequence()) { + } else if (sType.isCharSequence()) { o = parseString(session, r); - } else if (ft.isChar()) { + } else if (sType.isChar()) { o = parseString(session, r).charAt(0); - } else if (ft.isNumber()) { - o = parseNumber(session, r, (Class<? extends Number>)ft.getInnerClass()); - } else if (ft.isMap()) { - Map m = (ft.canCreateNewInstance(outer) ? (Map)ft.newInstance(outer) : new ObjectMap(bc)); - o = parseIntoMap2(session, r, m, ft.getKeyType(), ft.getValueType()); - } else if (ft.isCollection()) { + } else if (sType.isNumber()) { + o = parseNumber(session, r, (Class<? extends Number>)sType.getInnerClass()); + } else if (sType.isMap()) { + Map m = (sType.canCreateNewInstance(outer) ? (Map)sType.newInstance(outer) : new ObjectMap(bc)); + o = parseIntoMap2(session, r, m, sType.getKeyType(), sType.getValueType()); + } else if (sType.isCollection()) { if (c == '{') { ObjectMap m = new ObjectMap(bc); parseIntoMap2(session, r, m, string(), object()); o = m.cast(); } else { - Collection l = (ft.canCreateNewInstance(outer) ? (Collection)ft.newInstance() : new ObjectList(bc)); - o = parseIntoCollection2(session, r, l, ft.getElementType()); + Collection l = (sType.canCreateNewInstance(outer) ? (Collection)sType.newInstance() : new ObjectList(bc)); + o = parseIntoCollection2(session, r, l, sType.getElementType()); } - } else if (ft.canCreateNewInstanceFromObjectMap(outer)) { + } else if (sType.canCreateNewInstanceFromObjectMap(outer)) { ObjectMap m = new ObjectMap(bc); parseIntoMap2(session, r, m, string(), object()); - o = ft.newInstanceFromObjectMap(outer, m); - } else if (ft.canCreateNewBean(outer)) { - BeanMap m = bc.newBeanMap(outer, ft.getInnerClass()); + o = sType.newInstanceFromObjectMap(outer, m); + } else if (sType.canCreateNewBean(outer)) { + BeanMap m = bc.newBeanMap(outer, sType.getInnerClass()); o = parseIntoBeanMap2(session, r, m).getBean(); - } else if (ft.canCreateNewInstanceFromString(outer) && (c == '\'' || c == '"')) { - o = ft.newInstanceFromString(outer, parseString(session, r)); - } else if (ft.canCreateNewInstanceFromNumber(outer) && StringUtils.isFirstNumberChar((char)c)) { - o = ft.newInstanceFromNumber(outer, parseNumber(session, r, ft.getNewInstanceFromNumberClass())); - } else if (ft.isArray()) { + } else if (sType.canCreateNewInstanceFromString(outer) && (c == '\'' || c == '"')) { + o = sType.newInstanceFromString(outer, parseString(session, r)); + } else if (sType.canCreateNewInstanceFromNumber(outer) && StringUtils.isFirstNumberChar((char)c)) { + o = sType.newInstanceFromNumber(outer, parseNumber(session, r, sType.getNewInstanceFromNumberClass())); + } else if (sType.isArray()) { if (c == '{') { ObjectMap m = new ObjectMap(bc); parseIntoMap2(session, r, m, string(), object()); o = m.cast(); } else { - ArrayList l = (ArrayList)parseIntoCollection2(session, r, new ArrayList(), ft.getElementType()); - o = bc.toArray(ft, l); + ArrayList l = (ArrayList)parseIntoCollection2(session, r, new ArrayList(), sType.getElementType()); + o = bc.toArray(sType, l); } } else if (c == '{') { Map m = new ObjectMap(bc); - parseIntoMap2(session, r, m, ft.getKeyType(), ft.getValueType()); + parseIntoMap2(session, r, m, sType.getKeyType(), sType.getValueType()); if (m.containsKey("_class")) o = ((ObjectMap)m).cast(); else - throw new ParseException(session, "Class ''{0}'' could not be instantiated. Reason: ''{1}''", ft.getInnerClass().getName(), ft.getNotABeanReason()); - } else if (ft.canCreateNewInstanceFromString(outer) && ! session.isStrictMode()) { - o = ft.newInstanceFromString(outer, parseString(session, r)); + throw new ParseException(session, "Class ''{0}'' could not be instantiated. Reason: ''{1}''", sType.getInnerClass().getName(), sType.getNotABeanReason()); + } else if (sType.canCreateNewInstanceFromString(outer) && ! session.isStrictMode()) { + o = sType.newInstanceFromString(outer, parseString(session, r)); } else { - throw new ParseException(session, "Unrecognized syntax for class type ''{0}'', starting character ''{1}''", ft, (char)c); + throw new ParseException(session, "Unrecognized syntax for class type ''{0}'', starting character ''{1}''", sType, (char)c); } if (wrapperAttr != null) skipWrapperAttrEnd(session, r); if (transform != null && o != null) - o = transform.unswap(o, nt, bc); + o = transform.unswap(o, eType, bc); if (outer != null) - setParent(nt, o, outer); + setParent(eType, o, outer); return (T)o; }
http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/juneau-core/src/main/java/org/apache/juneau/json/JsonSchemaSerializer.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/json/JsonSchemaSerializer.java b/juneau-core/src/main/java/org/apache/juneau/json/JsonSchemaSerializer.java index 9104b49..a1df3cc 100644 --- a/juneau-core/src/main/java/org/apache/juneau/json/JsonSchemaSerializer.java +++ b/juneau-core/src/main/java/org/apache/juneau/json/JsonSchemaSerializer.java @@ -2,7 +2,7 @@ // * 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 * +// * with the License. You may obtain a copy of the License at * // * * // * http://www.apache.org/licenses/LICENSE-2.0 * // * * @@ -90,22 +90,22 @@ public final class JsonSchemaSerializer extends JsonSerializer { eType = object(); ClassMeta<?> aType; // The actual type (will be null if recursion occurs) - ClassMeta<?> gType; // The generic type + ClassMeta<?> sType; // The serialized type aType = session.push(attrName, eType, null); - gType = eType.getSerializedClassMeta(); + sType = eType.getSerializedClassMeta(); String type = null; - if (gType.isEnum() || gType.isCharSequence() || gType.isChar()) + if (sType.isEnum() || sType.isCharSequence() || sType.isChar()) type = "string"; - else if (gType.isNumber()) + else if (sType.isNumber()) type = "number"; - else if (gType.isBoolean()) + else if (sType.isBoolean()) type = "boolean"; - else if (gType.isBean() || gType.isMap()) + else if (sType.isBean() || sType.isMap()) type = "object"; - else if (gType.isCollection() || gType.isArray()) + else if (sType.isCollection() || sType.isArray()) type = "array"; else type = "any"; @@ -117,16 +117,16 @@ public final class JsonSchemaSerializer extends JsonSerializer { out.put("transform", f); if (aType != null) { - if (gType.isEnum()) - out.put("enum", getEnumStrings((Class<Enum<?>>)gType.getInnerClass())); - else if (gType.isCollection() || gType.isArray()) { - ClassMeta componentType = gType.getElementType(); - if (gType.isCollection() && isParentClass(Set.class, gType.getInnerClass())) + if (sType.isEnum()) + out.put("enum", getEnumStrings((Class<Enum<?>>)sType.getInnerClass())); + else if (sType.isCollection() || sType.isArray()) { + ClassMeta componentType = sType.getElementType(); + if (sType.isCollection() && isParentClass(Set.class, sType.getInnerClass())) out.put("uniqueItems", true); out.put("items", getSchema(session, componentType, "items", pNames)); - } else if (gType.isBean()) { + } else if (sType.isBean()) { ObjectMap properties = new ObjectMap(); - BeanMeta bm = session.getBeanContext().getBeanMeta(gType.getInnerClass()); + BeanMeta bm = session.getBeanContext().getBeanMeta(sType.getInnerClass()); if (pNames != null) bm = new BeanMetaFiltered(bm, pNames); for (Iterator<BeanPropertyMeta> i = bm.getPropertyMetas().iterator(); i.hasNext();) { http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/juneau-core/src/main/java/org/apache/juneau/json/JsonSerializer.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/json/JsonSerializer.java b/juneau-core/src/main/java/org/apache/juneau/json/JsonSerializer.java index cb5297a..0493780 100644 --- a/juneau-core/src/main/java/org/apache/juneau/json/JsonSerializer.java +++ b/juneau-core/src/main/java/org/apache/juneau/json/JsonSerializer.java @@ -173,7 +173,7 @@ public class JsonSerializer extends WriterSerializer { boolean addClassAttr; // Add "_class" attribute to element? ClassMeta<?> aType; // The actual type - ClassMeta<?> gType; // The generic type + ClassMeta<?> sType; // The serialized type aType = session.push(attrName, o, eType); boolean isRecursion = aType == null; @@ -184,7 +184,7 @@ public class JsonSerializer extends WriterSerializer { aType = object(); } - gType = aType.getSerializedClassMeta(); + sType = aType.getSerializedClassMeta(); addClassAttr = (session.isAddClassAttrs() && ! eType.equals(aType)); // Swap if necessary @@ -194,44 +194,44 @@ public class JsonSerializer extends WriterSerializer { // If the getSwapClass() method returns Object, we need to figure out // the actual type now. - if (gType.isObject()) - gType = bc.getClassMetaForObject(o); + if (sType.isObject()) + sType = bc.getClassMetaForObject(o); } - String wrapperAttr = gType.getExtendedMeta(JsonClassMeta.class).getWrapperAttr(); + String wrapperAttr = sType.getExtendedMeta(JsonClassMeta.class).getWrapperAttr(); if (wrapperAttr != null) { out.append('{').cr(session.indent).attr(wrapperAttr).append(':').s(); session.indent++; } // '\0' characters are considered null. - if (o == null || (gType.isChar() && ((Character)o).charValue() == 0)) + if (o == null || (sType.isChar() && ((Character)o).charValue() == 0)) out.append("null"); - else if (gType.isNumber() || gType.isBoolean()) + else if (sType.isNumber() || sType.isBoolean()) out.append(o); - else if (gType.hasToObjectMapMethod()) - serializeMap(session, out, gType.toObjectMap(o), gType); - else if (gType.isBean()) + else if (sType.hasToObjectMapMethod()) + serializeMap(session, out, sType.toObjectMap(o), sType); + else if (sType.isBean()) serializeBeanMap(session, out, bc.forBean(o), addClassAttr); - else if (gType.isUri() || (pMeta != null && pMeta.isUri())) + else if (sType.isUri() || (pMeta != null && pMeta.isUri())) out.q().appendUri(o).q(); - else if (gType.isMap()) { + else if (sType.isMap()) { if (o instanceof BeanMap) serializeBeanMap(session, out, (BeanMap)o, addClassAttr); else serializeMap(session, out, (Map)o, eType); } - else if (gType.isCollection()) { + else if (sType.isCollection()) { if (addClassAttr) - serializeCollectionMap(session, out, (Collection)o, gType); + serializeCollectionMap(session, out, (Collection)o, sType); else serializeCollection(session, out, (Collection) o, eType); } - else if (gType.isArray()) { + else if (sType.isArray()) { if (addClassAttr) - serializeCollectionMap(session, out, toList(gType.getInnerClass(), o), gType); + serializeCollectionMap(session, out, toList(sType.getInnerClass(), o), sType); else - serializeCollection(session, out, toList(gType.getInnerClass(), o), eType); + serializeCollection(session, out, toList(sType.getInnerClass(), o), eType); } else out.stringValue(session.toString(o)); http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackParser.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackParser.java b/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackParser.java index bbda612..81b2547 100644 --- a/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackParser.java +++ b/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackParser.java @@ -51,14 +51,14 @@ public final class MsgPackParser extends InputStreamParser { /** * Workhorse method. */ - private <T> T parseAnything(MsgPackParserSession session, ClassMeta<T> nt, MsgPackInputStream is, Object outer) throws Exception { + private <T> T parseAnything(MsgPackParserSession session, ClassMeta<T> eType, MsgPackInputStream is, Object outer) throws Exception { BeanContext bc = session.getBeanContext(); - if (nt == null) - nt = (ClassMeta<T>)object(); - PojoSwap<T,Object> transform = (PojoSwap<T,Object>)nt.getPojoSwap(); - ClassMeta<?> ft = nt.getSerializedClassMeta(); - session.setCurrentClass(ft); + if (eType == null) + eType = (ClassMeta<T>)object(); + PojoSwap<T,Object> transform = (PojoSwap<T,Object>)eType.getPojoSwap(); + ClassMeta<?> sType = eType.getSerializedClassMeta(); + session.setCurrentClass(sType); Object o = null; DataType dt = is.readDataType(); @@ -79,44 +79,44 @@ public final class MsgPackParser extends InputStreamParser { o = session.trim(is.readString()); else if (dt == BIN) o = is.readBinary(); - else if (dt == ARRAY && ft.isObject()) { + else if (dt == ARRAY && sType.isObject()) { ObjectList ol = new ObjectList(bc); for (int i = 0; i < length; i++) ol.add(parseAnything(session, object(), is, outer)); o = ol; - } else if (dt == MAP && ft.isObject()) { + } else if (dt == MAP && sType.isObject()) { ObjectMap om = new ObjectMap(bc); for (int i = 0; i < length; i++) om.put(parseAnything(session, string(), is, outer), parseAnything(session, object(), is, om)); o = om.cast(); } - if (ft.isObject()) { + if (sType.isObject()) { // Do nothing. - } else if (ft.isBoolean() || ft.isCharSequence() || ft.isChar() || ft.isNumber()) { - o = bc.convertToType(o, ft); - } else if (ft.isMap()) { + } else if (sType.isBoolean() || sType.isCharSequence() || sType.isChar() || sType.isNumber()) { + o = bc.convertToType(o, sType); + } else if (sType.isMap()) { if (dt == MAP) { - Map m = (ft.canCreateNewInstance(outer) ? (Map)ft.newInstance(outer) : new ObjectMap(bc)); + Map m = (sType.canCreateNewInstance(outer) ? (Map)sType.newInstance(outer) : new ObjectMap(bc)); for (int i = 0; i < length; i++) { - Object key = parseAnything(session, ft.getKeyType(), is, outer); - ClassMeta<?> vt = ft.getValueType(); + Object key = parseAnything(session, sType.getKeyType(), is, outer); + ClassMeta<?> vt = sType.getValueType(); Object value = parseAnything(session, vt, is, m); setName(vt, value, key); m.put(key, value); } o = m; } else { - throw new ParseException(session, "Invalid data type {0} encountered for parse type {1}", dt, ft); + throw new ParseException(session, "Invalid data type {0} encountered for parse type {1}", dt, sType); } - } else if (ft.canCreateNewInstanceFromObjectMap(outer)) { + } else if (sType.canCreateNewInstanceFromObjectMap(outer)) { ObjectMap m = new ObjectMap(bc); for (int i = 0; i < length; i++) m.put(parseAnything(session, string(), is, outer), parseAnything(session, object(), is, m)); - o = ft.newInstanceFromObjectMap(outer, m); - } else if (ft.canCreateNewBean(outer)) { + o = sType.newInstanceFromObjectMap(outer, m); + } else if (sType.canCreateNewBean(outer)) { if (dt == MAP) { - BeanMap m = bc.newBeanMap(outer, ft.getInnerClass()); + BeanMap m = bc.newBeanMap(outer, sType.getInnerClass()); for (int i = 0; i < length; i++) { String pName = parseAnything(session, string(), is, m.getBean(false)); BeanPropertyMeta bpm = m.getPropertyMeta(pName); @@ -134,39 +134,39 @@ public final class MsgPackParser extends InputStreamParser { } o = m.getBean(); } else { - throw new ParseException(session, "Invalid data type {0} encountered for parse type {1}", dt, ft); + throw new ParseException(session, "Invalid data type {0} encountered for parse type {1}", dt, sType); } - } else if (ft.canCreateNewInstanceFromString(outer) && dt == STRING) { - o = ft.newInstanceFromString(outer, o == null ? "" : o.toString()); - } else if (ft.canCreateNewInstanceFromNumber(outer) && dt.isOneOf(INT, LONG, FLOAT, DOUBLE)) { - o = ft.newInstanceFromNumber(outer, (Number)o); - } else if (ft.isCollection()) { + } else if (sType.canCreateNewInstanceFromString(outer) && dt == STRING) { + o = sType.newInstanceFromString(outer, o == null ? "" : o.toString()); + } else if (sType.canCreateNewInstanceFromNumber(outer) && dt.isOneOf(INT, LONG, FLOAT, DOUBLE)) { + o = sType.newInstanceFromNumber(outer, (Number)o); + } else if (sType.isCollection()) { if (dt == MAP) { ObjectMap m = new ObjectMap(bc); for (int i = 0; i < length; i++) m.put(parseAnything(session, string(), is, outer), parseAnything(session, object(), is, m)); o = m.cast(); } else if (dt == ARRAY) { - Collection l = (ft.canCreateNewInstance(outer) ? (Collection)ft.newInstance() : new ObjectList(bc)); + Collection l = (sType.canCreateNewInstance(outer) ? (Collection)sType.newInstance() : new ObjectList(bc)); for (int i = 0; i < length; i++) - l.add(parseAnything(session, ft.getElementType(), is, l)); + l.add(parseAnything(session, sType.getElementType(), is, l)); o = l; } else { - throw new ParseException(session, "Invalid data type {0} encountered for parse type {1}", dt, ft); + throw new ParseException(session, "Invalid data type {0} encountered for parse type {1}", dt, sType); } - } else if (ft.isArray()) { + } else if (sType.isArray()) { if (dt == MAP) { ObjectMap m = new ObjectMap(bc); for (int i = 0; i < length; i++) m.put(parseAnything(session, string(), is, outer), parseAnything(session, object(), is, m)); o = m.cast(); } else if (dt == ARRAY) { - Collection l = (ft.isCollection() && ft.canCreateNewInstance(outer) ? (Collection)ft.newInstance() : new ObjectList(bc)); + Collection l = (sType.isCollection() && sType.canCreateNewInstance(outer) ? (Collection)sType.newInstance() : new ObjectList(bc)); for (int i = 0; i < length; i++) - l.add(parseAnything(session, ft.getElementType(), is, l)); - o = bc.toArray(ft, l); + l.add(parseAnything(session, sType.getElementType(), is, l)); + o = bc.toArray(sType, l); } else { - throw new ParseException(session, "Invalid data type {0} encountered for parse type {1}", dt, ft); + throw new ParseException(session, "Invalid data type {0} encountered for parse type {1}", dt, sType); } } else if (dt == MAP) { ObjectMap m = new ObjectMap(bc); @@ -175,17 +175,17 @@ public final class MsgPackParser extends InputStreamParser { if (m.containsKey("_class")) o = m.cast(); else - throw new ParseException(session, "Class ''{0}'' could not be instantiated. Reason: ''{1}''", ft.getInnerClass().getName(), ft.getNotABeanReason()); + throw new ParseException(session, "Class ''{0}'' could not be instantiated. Reason: ''{1}''", sType.getInnerClass().getName(), sType.getNotABeanReason()); } else { - throw new ParseException(session, "Invalid data type {0} encountered for parse type {1}", dt, ft); + throw new ParseException(session, "Invalid data type {0} encountered for parse type {1}", dt, sType); } } if (transform != null && o != null) - o = transform.unswap(o, nt, bc); + o = transform.unswap(o, eType, bc); if (outer != null) - setParent(nt, o, outer); + setParent(eType, o, outer); return (T)o; } http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackSerializer.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackSerializer.java b/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackSerializer.java index ac141e3..b60b992 100644 --- a/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackSerializer.java +++ b/juneau-core/src/main/java/org/apache/juneau/msgpack/MsgPackSerializer.java @@ -2,7 +2,7 @@ // * 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 * +// * with the License. You may obtain a copy of the License at * // * * // * http://www.apache.org/licenses/LICENSE-2.0 * // * * @@ -63,7 +63,7 @@ public class MsgPackSerializer extends OutputStreamSerializer { boolean addClassAttr; // Add "_class" attribute to element? ClassMeta<?> aType; // The actual type - ClassMeta<?> gType; // The generic type + ClassMeta<?> sType; // The serialized type aType = session.push(attrName, o, eType); boolean isRecursion = aType == null; @@ -74,7 +74,7 @@ public class MsgPackSerializer extends OutputStreamSerializer { aType = object(); } - gType = aType.getSerializedClassMeta(); + sType = aType.getSerializedClassMeta(); addClassAttr = (session.isAddClassAttrs() && ! eType.equals(aType)); // Swap if necessary @@ -84,40 +84,40 @@ public class MsgPackSerializer extends OutputStreamSerializer { // If the getSwapClass() method returns Object, we need to figure out // the actual type now. - if (gType.isObject()) - gType = bc.getClassMetaForObject(o); + if (sType.isObject()) + sType = bc.getClassMetaForObject(o); } // '\0' characters are considered null. - if (o == null || (gType.isChar() && ((Character)o).charValue() == 0)) + if (o == null || (sType.isChar() && ((Character)o).charValue() == 0)) out.appendNull(); - else if (gType.isBoolean()) + else if (sType.isBoolean()) out.appendBoolean((Boolean)o); - else if (gType.isNumber()) + else if (sType.isNumber()) out.appendNumber((Number)o); - else if (gType.hasToObjectMapMethod()) - serializeMap(session, out, gType.toObjectMap(o), gType); - else if (gType.isBean()) + else if (sType.hasToObjectMapMethod()) + serializeMap(session, out, sType.toObjectMap(o), sType); + else if (sType.isBean()) serializeBeanMap(session, out, bc.forBean(o), addClassAttr); - else if (gType.isUri() || (pMeta != null && pMeta.isUri())) + else if (sType.isUri() || (pMeta != null && pMeta.isUri())) out.appendString(session.resolveUri(o.toString())); - else if (gType.isMap()) { + else if (sType.isMap()) { if (o instanceof BeanMap) serializeBeanMap(session, out, (BeanMap)o, addClassAttr); else serializeMap(session, out, (Map)o, eType); } - else if (gType.isCollection()) { + else if (sType.isCollection()) { if (addClassAttr) - serializeCollectionMap(session, out, (Collection)o, gType); + serializeCollectionMap(session, out, (Collection)o, sType); else serializeCollection(session, out, (Collection) o, eType); } - else if (gType.isArray()) { + else if (sType.isArray()) { if (addClassAttr) - serializeCollectionMap(session, out, toList(gType.getInnerClass(), o), gType); + serializeCollectionMap(session, out, toList(sType.getInnerClass(), o), sType); else - serializeCollection(session, out, toList(gType.getInnerClass(), o), eType); + serializeCollection(session, out, toList(sType.getInnerClass(), o), eType); } else out.appendString(session.toString(o)); http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/juneau-core/src/main/java/org/apache/juneau/parser/Parser.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/parser/Parser.java b/juneau-core/src/main/java/org/apache/juneau/parser/Parser.java index b21f63b..c3c6b30 100644 --- a/juneau-core/src/main/java/org/apache/juneau/parser/Parser.java +++ b/juneau-core/src/main/java/org/apache/juneau/parser/Parser.java @@ -580,21 +580,21 @@ public abstract class Parser extends CoreApi { if (type == null) type = (ClassMeta<T>)object(); PojoSwap transform = type.getPojoSwap(); - ClassMeta<?> gType = type.getSerializedClassMeta(); + ClassMeta<?> sType = type.getSerializedClassMeta(); Object o = s; - if (gType.isChar()) + if (sType.isChar()) o = s.charAt(0); - else if (gType.isNumber()) + else if (sType.isNumber()) if (type.canCreateNewInstanceFromNumber(outer)) o = type.newInstanceFromNumber(outer, parseNumber(s, type.getNewInstanceFromNumberClass())); else - o = parseNumber(s, (Class<? extends Number>)gType.getInnerClass()); - else if (gType.isBoolean()) + o = parseNumber(s, (Class<? extends Number>)sType.getInnerClass()); + else if (sType.isBoolean()) o = Boolean.parseBoolean(s); - else if (! (gType.isCharSequence() || gType.isObject())) { - if (gType.canCreateNewInstanceFromString(outer)) - o = gType.newInstanceFromString(outer, s); + else if (! (sType.isCharSequence() || sType.isObject())) { + if (sType.canCreateNewInstanceFromString(outer)) + o = sType.newInstanceFromString(outer, s); else throw new ParseException(session, "Invalid conversion from string to class ''{0}''", type); } http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/juneau-core/src/main/java/org/apache/juneau/serializer/SerializerSession.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/serializer/SerializerSession.java b/juneau-core/src/main/java/org/apache/juneau/serializer/SerializerSession.java index ea56d52..ce423cc 100644 --- a/juneau-core/src/main/java/org/apache/juneau/serializer/SerializerSession.java +++ b/juneau-core/src/main/java/org/apache/juneau/serializer/SerializerSession.java @@ -2,7 +2,7 @@ // * 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 * +// * with the License. You may obtain a copy of the License at * // * * // * http://www.apache.org/licenses/LICENSE-2.0 * // * * @@ -743,18 +743,18 @@ public class SerializerSession extends Session { /** * Create a "_class" property that represents the name of the bean. - * - * @param m + * + * @param m * The bean map to create a class property on. - * @param lexicon - * The bean/pojo lexicon map to use to resolve the name of the bean class. - * @return + * @param typeDictionary + * The bean dictionary map to use to resolve the name of the bean class. + * @return * A new bean property value. */ - public BeanPropertyValue createBeanClassProperty(BeanMap<?> m, ClassLexicon lexicon) { + public BeanPropertyValue createBeanClassProperty(BeanMap<?> m, TypeDictionary typeDictionary) { BeanMeta<?> bm = m.getMeta(); Class<?> c = bm.getClassMeta().getInnerClass(); - String name = (lexicon == null ? null : lexicon.getNameForClass(c)); + String name = (typeDictionary == null ? null : typeDictionary.getNameForClass(c)); if (name == null) name = c.getName(); return new BeanPropertyValue(bm.getClassProperty(), name, null); http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/juneau-core/src/main/java/org/apache/juneau/transform/AnnotationBeanFilter.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/transform/AnnotationBeanFilter.java b/juneau-core/src/main/java/org/apache/juneau/transform/AnnotationBeanFilter.java index fef0331..467a2c3 100644 --- a/juneau-core/src/main/java/org/apache/juneau/transform/AnnotationBeanFilter.java +++ b/juneau-core/src/main/java/org/apache/juneau/transform/AnnotationBeanFilter.java @@ -2,7 +2,7 @@ // * 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 * +// * with the License. You may obtain a copy of the License at * // * * // * http://www.apache.org/licenses/LICENSE-2.0 * // * * @@ -38,7 +38,7 @@ public final class AnnotationBeanFilter<T> extends BeanFilter<T> { } private AnnotationBeanFilter(Builder<T> b) { - super(b.beanClass, b.properties, b.excludeProperties, b.interfaceClass, b.stopClass, b.sortProperties, b.propertyNamer, b.classLexicon, b.subTypeProperty, b.subTypes); + super(b.beanClass, b.properties, b.excludeProperties, b.interfaceClass, b.stopClass, b.sortProperties, b.propertyNamer, b.typeDictionary, b.subTypeProperty, b.subTypes); } private static class Builder<T> { @@ -49,7 +49,7 @@ public final class AnnotationBeanFilter<T> extends BeanFilter<T> { Class<?> stopClass; boolean sortProperties; PropertyNamer propertyNamer; - ClassLexicon classLexicon; + TypeDictionary typeDictionary; String subTypeProperty; LinkedHashMap<Class<?>,String> subTypes = new LinkedHashMap<Class<?>,String>(); @@ -81,20 +81,17 @@ public final class AnnotationBeanFilter<T> extends BeanFilter<T> { if (b.stopClass() != Object.class) stopClass = b.stopClass(); - if (b.classLexicon().length > 0) - classLexicon = new ClassLexicon(b.classLexicon()); + if (b.typeDictionary().length > 0) + typeDictionary = new TypeDictionary(b.typeDictionary()); if (b.subTypes().length > 0) { subTypeProperty = b.subTypeProperty(); for (Class<?> bst : b.subTypes()) { Bean b2 = bst.getAnnotation(Bean.class); - Pojo p2 = bst.getAnnotation(Pojo.class); String name = null; - if (! b2.name().isEmpty()) - name = b2.name(); - else if (! p2.name().isEmpty()) - name = p2.name(); + if (! b2.typeName().isEmpty()) + name = b2.typeName(); else name = bst.getName(); subTypes.put(bst, name); http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/juneau-core/src/main/java/org/apache/juneau/transform/BeanFilter.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/transform/BeanFilter.java b/juneau-core/src/main/java/org/apache/juneau/transform/BeanFilter.java index 50c5c9c..e8b90ed 100644 --- a/juneau-core/src/main/java/org/apache/juneau/transform/BeanFilter.java +++ b/juneau-core/src/main/java/org/apache/juneau/transform/BeanFilter.java @@ -2,7 +2,7 @@ // * 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 * +// * with the License. You may obtain a copy of the License at * // * * // * http://www.apache.org/licenses/LICENSE-2.0 * // * * @@ -73,7 +73,7 @@ public abstract class BeanFilter<T> { private final PropertyNamer propertyNamer; private final Class<?> interfaceClass, stopClass; private final boolean sortProperties; - private final ClassLexicon classLexicon; + private final TypeDictionary typeDictionary; /** * Constructor. @@ -144,8 +144,8 @@ public abstract class BeanFilter<T> { * Sort properties in alphabetical order. * @param propertyNamer * The property namer to use to name bean properties. - * @param classLexicon - * The class lexicon to use for resolving class identifier names from classes. + * @param typeDictionary + * The class dictionary to use for resolving class identifier names from classes. * @param subTypeProperty * Defines a virtual property on a superclass that identifies bean subtype classes. * <p> @@ -200,7 +200,7 @@ public abstract class BeanFilter<T> { * @param subTypes */ @SuppressWarnings("unchecked") - public BeanFilter(Class<T> beanClass, String[] properties, String[] excludeProperties, Class<?> interfaceClass, Class<?> stopClass, boolean sortProperties, PropertyNamer propertyNamer, ClassLexicon classLexicon, String subTypeProperty, Map<Class<?>,String> subTypes) { + public BeanFilter(Class<T> beanClass, String[] properties, String[] excludeProperties, Class<?> interfaceClass, Class<?> stopClass, boolean sortProperties, PropertyNamer propertyNamer, TypeDictionary typeDictionary, String subTypeProperty, Map<Class<?>,String> subTypes) { if (beanClass == null) { Class<?> c = this.getClass().getSuperclass(); @@ -232,7 +232,7 @@ public abstract class BeanFilter<T> { this.stopClass = stopClass; this.sortProperties = sortProperties; this.propertyNamer = propertyNamer; - this.classLexicon = classLexicon; + this.typeDictionary = typeDictionary; this.subTypeAttr = subTypeProperty; this.subTypes = subTypes == null ? null : Collections.unmodifiableMap(subTypes); } @@ -319,12 +319,12 @@ public abstract class BeanFilter<T> { } /** - * Returns the class lexicon to use for this bean. + * Returns the class dictionary to use for this bean. * - * @return The class lexicon to use for this bean. + * @return The class dictionary to use for this bean. */ - public ClassLexicon getClassLexicon() { - return classLexicon; + public TypeDictionary getTypeDictionary() { + return typeDictionary; } /** http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonParser.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonParser.java b/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonParser.java index 27e47fd..6dcb026 100644 --- a/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonParser.java +++ b/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonParser.java @@ -81,20 +81,20 @@ public class UonParser extends ReaderParser { * Workhorse method. * * @param session The parser context for this parse. - * @param nt The class type being parsed, or <jk>null</jk> if unknown. + * @param eType The class type being parsed, or <jk>null</jk> if unknown. * @param r The reader being parsed. * @param outer The outer object (for constructing nested inner classes). * @param isUrlParamValue If <jk>true</jk>, then we're parsing a top-level URL-encoded value which is treated a bit different than the default case. * @return The parsed object. * @throws Exception */ - protected <T> T parseAnything(UonParserSession session, ClassMeta<T> nt, ParserReader r, Object outer, boolean isUrlParamValue) throws Exception { + protected <T> T parseAnything(UonParserSession session, ClassMeta<T> eType, ParserReader r, Object outer, boolean isUrlParamValue) throws Exception { BeanContext bc = session.getBeanContext(); - if (nt == null) - nt = (ClassMeta<T>)object(); - PojoSwap<T,Object> transform = (PojoSwap<T,Object>)nt.getPojoSwap(); - ClassMeta<?> ft = nt.getSerializedClassMeta(); + if (eType == null) + eType = (ClassMeta<T>)object(); + PojoSwap<T,Object> transform = (PojoSwap<T,Object>)eType.getPojoSwap(); + ClassMeta<?> sType = eType.getSerializedClassMeta(); Object o = null; @@ -105,14 +105,14 @@ public class UonParser extends ReaderParser { if (c == -1 || c == AMP) { // If parameter is blank and it's an array or collection, return an empty list. - if (ft.isArray() || ft.isCollection()) - o = ft.newInstance(); - else if (ft.isString() || ft.isObject()) + if (sType.isArray() || sType.isCollection()) + o = sType.newInstance(); + else if (sType.isString() || sType.isObject()) o = ""; - else if (ft.isPrimitive()) - o = ft.getPrimitiveDefault(); + else if (sType.isPrimitive()) + o = sType.getPrimitiveDefault(); // Otherwise, leave null. - } else if (ft.isObject()) { + } else if (sType.isObject()) { if (flag == 0 || flag == 's') { o = parseString(session, r, isUrlParamValue); } else if (flag == 'b') { @@ -125,23 +125,23 @@ public class UonParser extends ReaderParser { o = m.cast(); } else if (flag == 'a') { Collection l = new ObjectList(bc); - o = parseIntoCollection(session, r, l, ft.getElementType(), isUrlParamValue); + o = parseIntoCollection(session, r, l, sType.getElementType(), isUrlParamValue); } else { throw new ParseException(session, "Unexpected flag character ''{0}''.", flag); } - } else if (ft.isBoolean()) { + } else if (sType.isBoolean()) { o = parseBoolean(session, r); - } else if (ft.isCharSequence()) { + } else if (sType.isCharSequence()) { o = parseString(session, r, isUrlParamValue); - } else if (ft.isChar()) { + } else if (sType.isChar()) { String s = parseString(session, r, isUrlParamValue); o = s == null ? null : s.charAt(0); - } else if (ft.isNumber()) { - o = parseNumber(session, r, (Class<? extends Number>)ft.getInnerClass()); - } else if (ft.isMap()) { - Map m = (ft.canCreateNewInstance(outer) ? (Map)ft.newInstance(outer) : new ObjectMap(bc)); - o = parseIntoMap(session, r, m, ft.getKeyType(), ft.getValueType()); - } else if (ft.isCollection()) { + } else if (sType.isNumber()) { + o = parseNumber(session, r, (Class<? extends Number>)sType.getInnerClass()); + } else if (sType.isMap()) { + Map m = (sType.canCreateNewInstance(outer) ? (Map)sType.newInstance(outer) : new ObjectMap(bc)); + o = parseIntoMap(session, r, m, sType.getKeyType(), sType.getValueType()); + } else if (sType.isCollection()) { if (flag == 'o') { ObjectMap m = new ObjectMap(bc); parseIntoMap(session, r, m, string(), object()); @@ -150,29 +150,29 @@ public class UonParser extends ReaderParser { o = m.cast(); // Handle case where it's a collection, but only a single value was specified. else { - Collection l = (ft.canCreateNewInstance(outer) ? (Collection)ft.newInstance(outer) : new ObjectList(bc)); - l.add(m.cast(ft.getElementType())); + Collection l = (sType.canCreateNewInstance(outer) ? (Collection)sType.newInstance(outer) : new ObjectList(bc)); + l.add(m.cast(sType.getElementType())); o = l; } } else { - Collection l = (ft.canCreateNewInstance(outer) ? (Collection)ft.newInstance(outer) : new ObjectList(bc)); - o = parseIntoCollection(session, r, l, ft.getElementType(), isUrlParamValue); + Collection l = (sType.canCreateNewInstance(outer) ? (Collection)sType.newInstance(outer) : new ObjectList(bc)); + o = parseIntoCollection(session, r, l, sType.getElementType(), isUrlParamValue); } - } else if (ft.canCreateNewInstanceFromObjectMap(outer)) { + } else if (sType.canCreateNewInstanceFromObjectMap(outer)) { ObjectMap m = new ObjectMap(bc); parseIntoMap(session, r, m, string(), object()); - o = ft.newInstanceFromObjectMap(outer, m); - } else if (ft.canCreateNewBean(outer)) { - BeanMap m = bc.newBeanMap(outer, ft.getInnerClass()); + o = sType.newInstanceFromObjectMap(outer, m); + } else if (sType.canCreateNewBean(outer)) { + BeanMap m = bc.newBeanMap(outer, sType.getInnerClass()); m = parseIntoBeanMap(session, r, m); o = m == null ? null : m.getBean(); - } else if (ft.canCreateNewInstanceFromString(outer)) { + } else if (sType.canCreateNewInstanceFromString(outer)) { String s = parseString(session, r, isUrlParamValue); if (s != null) - o = ft.newInstanceFromString(outer, s); - } else if (ft.canCreateNewInstanceFromNumber(outer)) { - o = ft.newInstanceFromNumber(outer, parseNumber(session, r, ft.getNewInstanceFromNumberClass())); - } else if (ft.isArray()) { + o = sType.newInstanceFromString(outer, s); + } else if (sType.canCreateNewInstanceFromNumber(outer)) { + o = sType.newInstanceFromNumber(outer, parseNumber(session, r, sType.getNewInstanceFromNumberClass())); + } else if (sType.isArray()) { if (flag == 'o') { ObjectMap m = new ObjectMap(bc); parseIntoMap(session, r, m, string(), object()); @@ -182,12 +182,12 @@ public class UonParser extends ReaderParser { // Handle case where it's an array, but only a single value was specified. else { ArrayList l = new ArrayList(1); - l.add(m.cast(ft.getElementType())); - o = bc.toArray(ft, l); + l.add(m.cast(sType.getElementType())); + o = bc.toArray(sType, l); } } else { - ArrayList l = (ArrayList)parseIntoCollection(session, r, new ArrayList(), ft.getElementType(), isUrlParamValue); - o = bc.toArray(ft, l); + ArrayList l = (ArrayList)parseIntoCollection(session, r, new ArrayList(), sType.getElementType(), isUrlParamValue); + o = bc.toArray(sType, l); } } else if (flag == 'o') { // It could be a non-bean with _class attribute. @@ -196,16 +196,16 @@ public class UonParser extends ReaderParser { if (m.containsKey("_class")) o = m.cast(); else - throw new ParseException(session, "Class ''{0}'' could not be instantiated. Reason: ''{1}''", ft.getInnerClass().getName(), ft.getNotABeanReason()); + throw new ParseException(session, "Class ''{0}'' could not be instantiated. Reason: ''{1}''", sType.getInnerClass().getName(), sType.getNotABeanReason()); } else { - throw new ParseException(session, "Class ''{0}'' could not be instantiated. Reason: ''{1}''", ft.getInnerClass().getName(), ft.getNotABeanReason()); + throw new ParseException(session, "Class ''{0}'' could not be instantiated. Reason: ''{1}''", sType.getInnerClass().getName(), sType.getNotABeanReason()); } if (transform != null && o != null) - o = transform.unswap(o, nt, bc); + o = transform.unswap(o, eType, bc); if (outer != null) - setParent(nt, o, outer); + setParent(eType, o, outer); return (T)o; } http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonSerializer.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonSerializer.java b/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonSerializer.java index 1c76e6c..cb64be7 100644 --- a/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonSerializer.java +++ b/juneau-core/src/main/java/org/apache/juneau/urlencoding/UonSerializer.java @@ -2,7 +2,7 @@ // * 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 * +// * with the License. You may obtain a copy of the License at * // * * // * http://www.apache.org/licenses/LICENSE-2.0 * // * * @@ -259,7 +259,7 @@ public class UonSerializer extends WriterSerializer { boolean addClassAttr; // Add "_class" attribute to element? ClassMeta<?> aType; // The actual type - ClassMeta<?> gType; // The generic type + ClassMeta<?> sType; // The serialized type aType = session.push(attrName, o, eType); boolean isRecursion = aType == null; @@ -270,7 +270,7 @@ public class UonSerializer extends WriterSerializer { aType = object(); } - gType = aType.getSerializedClassMeta(); + sType = aType.getSerializedClassMeta(); addClassAttr = (session.isAddClassAttrs() && ! eType.equals(aType)); // Swap if necessary @@ -280,36 +280,36 @@ public class UonSerializer extends WriterSerializer { // If the getSwapClass() method returns Object, we need to figure out // the actual type now. - if (gType.isObject()) - gType = bc.getClassMetaForObject(o); + if (sType.isObject()) + sType = bc.getClassMetaForObject(o); } // '\0' characters are considered null. - if (o == null || (gType.isChar() && ((Character)o).charValue() == 0)) + if (o == null || (sType.isChar() && ((Character)o).charValue() == 0)) out.appendObject(null, false, false, isTop); - else if (gType.hasToObjectMapMethod()) - serializeMap(session, out, gType.toObjectMap(o), eType); - else if (gType.isBean()) + else if (sType.hasToObjectMapMethod()) + serializeMap(session, out, sType.toObjectMap(o), eType); + else if (sType.isBean()) serializeBeanMap(session, out, bc.forBean(o), addClassAttr); - else if (gType.isUri() || (pMeta != null && pMeta.isUri())) + else if (sType.isUri() || (pMeta != null && pMeta.isUri())) out.appendUri(o, isTop); - else if (gType.isMap()) { + else if (sType.isMap()) { if (o instanceof BeanMap) serializeBeanMap(session, out, (BeanMap)o, addClassAttr); else serializeMap(session, out, (Map)o, eType); } - else if (gType.isCollection()) { + else if (sType.isCollection()) { if (addClassAttr) - serializeCollectionMap(session, out, (Collection)o, gType); + serializeCollectionMap(session, out, (Collection)o, sType); else serializeCollection(session, out, (Collection) o, eType); } - else if (gType.isArray()) { + else if (sType.isArray()) { if (addClassAttr) - serializeCollectionMap(session, out, toList(gType.getInnerClass(), o), gType); + serializeCollectionMap(session, out, toList(sType.getInnerClass(), o), sType); else - serializeCollection(session, out, toList(gType.getInnerClass(), o), eType); + serializeCollection(session, out, toList(sType.getInnerClass(), o), eType); } else { out.appendObject(o, quoteEmptyStrings, false, isTop); http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParser.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParser.java b/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParser.java index 590581e..285604d 100644 --- a/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParser.java +++ b/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParser.java @@ -69,13 +69,13 @@ public class UrlEncodingParser extends UonParser { setProperty(UON_decodeChars, true); } - private <T> T parseAnything(UrlEncodingParserSession session, ClassMeta<T> nt, ParserReader r, Object outer) throws Exception { + private <T> T parseAnything(UrlEncodingParserSession session, ClassMeta<T> eType, ParserReader r, Object outer) throws Exception { BeanContext bc = session.getBeanContext(); - if (nt == null) - nt = (ClassMeta<T>)object(); - PojoSwap<T,Object> transform = (PojoSwap<T,Object>)nt.getPojoSwap(); - ClassMeta<?> ft = nt.getSerializedClassMeta(); + if (eType == null) + eType = (ClassMeta<T>)object(); + PojoSwap<T,Object> transform = (PojoSwap<T,Object>)eType.getPojoSwap(); + ClassMeta<?> sType = eType.getSerializedClassMeta(); int c = r.peek(); if (c == '?') @@ -83,19 +83,19 @@ public class UrlEncodingParser extends UonParser { Object o; - if (ft.isObject()) { + if (sType.isObject()) { ObjectMap m = new ObjectMap(bc); parseIntoMap(session, r, m, bc.string(), bc.object()); o = m.cast(); - } else if (ft.isMap()) { - Map m = (ft.canCreateNewInstance() ? (Map)ft.newInstance() : new ObjectMap(bc)); - o = parseIntoMap(session, r, m, ft.getKeyType(), ft.getValueType()); - } else if (ft.canCreateNewInstanceFromObjectMap(outer)) { + } else if (sType.isMap()) { + Map m = (sType.canCreateNewInstance() ? (Map)sType.newInstance() : new ObjectMap(bc)); + o = parseIntoMap(session, r, m, sType.getKeyType(), sType.getValueType()); + } else if (sType.canCreateNewInstanceFromObjectMap(outer)) { ObjectMap m = new ObjectMap(bc); parseIntoMap(session, r, m, string(), object()); - o = ft.newInstanceFromObjectMap(outer, m); - } else if (ft.canCreateNewBean(outer)) { - BeanMap m = bc.newBeanMap(outer, ft.getInnerClass()); + o = sType.newInstanceFromObjectMap(outer, m); + } else if (sType.canCreateNewBean(outer)) { + BeanMap m = bc.newBeanMap(outer, sType.getInnerClass()); m = parseIntoBeanMap(session, r, m); o = m == null ? null : m.getBean(); } else { @@ -106,30 +106,30 @@ public class UrlEncodingParser extends UonParser { if (m.containsKey("_class")) o = m.cast(); else if (m.containsKey("_value")) - o = session.getBeanContext().convertToType(m.get("_value"), ft); - else if (ft.isCollection()) { + o = session.getBeanContext().convertToType(m.get("_value"), sType); + else if (sType.isCollection()) { // ?1=foo&2=bar... - Collection c2 = ft.canCreateNewInstance() ? (Collection)ft.newInstance() : new ObjectList(bc); + Collection c2 = sType.canCreateNewInstance() ? (Collection)sType.newInstance() : new ObjectList(bc); Map<Integer,Object> t = new TreeMap<Integer,Object>(); for (Map.Entry<String,Object> e : m.entrySet()) { String k = e.getKey(); if (StringUtils.isNumeric(k)) - t.put(Integer.valueOf(k), bc.convertToType(e.getValue(), ft.getElementType())); + t.put(Integer.valueOf(k), bc.convertToType(e.getValue(), sType.getElementType())); } c2.addAll(t.values()); o = c2; } else { - if (ft.getNotABeanReason() != null) - throw new ParseException(session, "Class ''{0}'' could not be instantiated as application/x-www-form-urlencoded. Reason: ''{1}''", ft, ft.getNotABeanReason()); - throw new ParseException(session, "Malformed application/x-www-form-urlencoded input for class ''{0}''.", ft); + if (sType.getNotABeanReason() != null) + throw new ParseException(session, "Class ''{0}'' could not be instantiated as application/x-www-form-urlencoded. Reason: ''{1}''", sType, sType.getNotABeanReason()); + throw new ParseException(session, "Malformed application/x-www-form-urlencoded input for class ''{0}''.", sType); } } if (transform != null && o != null) - o = transform.unswap(o, nt, bc); + o = transform.unswap(o, eType, bc); if (outer != null) - setParent(nt, o, outer); + setParent(eType, o, outer); return (T)o; } http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializer.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializer.java b/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializer.java index 7b4c513..949863a 100644 --- a/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializer.java +++ b/juneau-core/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializer.java @@ -2,7 +2,7 @@ // * 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 * +// * with the License. You may obtain a copy of the License at * // * * // * http://www.apache.org/licenses/LICENSE-2.0 * // * * @@ -230,14 +230,14 @@ public class UrlEncodingSerializer extends UonSerializer { boolean addClassAttr; // Add "_class" attribute to element? ClassMeta<?> aType; // The actual type - ClassMeta<?> gType; // The generic type + ClassMeta<?> sType; // The serialized type aType = session.push("root", o, object()); session.indent--; if (aType == null) aType = object(); - gType = aType.getSerializedClassMeta(); + sType = aType.getSerializedClassMeta(); addClassAttr = (session.isAddClassAttrs()); // Swap if necessary @@ -247,21 +247,21 @@ public class UrlEncodingSerializer extends UonSerializer { // If the getSwapClass() method returns Object, we need to figure out // the actual type now. - if (gType.isObject()) - gType = bc.getClassMetaForObject(o); + if (sType.isObject()) + sType = bc.getClassMetaForObject(o); } - if (gType.isMap()) { + if (sType.isMap()) { if (o instanceof BeanMap) serializeBeanMap(session, out, (BeanMap)o, addClassAttr); else - serializeMap(session, out, (Map)o, gType); - } else if (gType.hasToObjectMapMethod()) { - serializeMap(session, out, gType.toObjectMap(o), gType); - } else if (gType.isBean()) { + serializeMap(session, out, (Map)o, sType); + } else if (sType.hasToObjectMapMethod()) { + serializeMap(session, out, sType.toObjectMap(o), sType); + } else if (sType.isBean()) { serializeBeanMap(session, out, bc.forBean(o), addClassAttr); - } else if (gType.isCollection()) { - serializeMap(session, out, getCollectionMap((Collection)o), bc.getMapClassMeta(Map.class, Integer.class, gType.getElementType())); + } else if (sType.isCollection()) { + serializeMap(session, out, getCollectionMap((Collection)o), bc.getMapClassMeta(Map.class, Integer.class, sType.getElementType())); } else { // All other types can't be serialized as key/value pairs, so we create a // mock key/value pair with a "_value" key. http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/juneau-core/src/main/java/org/apache/juneau/xml/XmlBeanPropertyMeta.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/xml/XmlBeanPropertyMeta.java b/juneau-core/src/main/java/org/apache/juneau/xml/XmlBeanPropertyMeta.java index 5a32382..f95d538 100644 --- a/juneau-core/src/main/java/org/apache/juneau/xml/XmlBeanPropertyMeta.java +++ b/juneau-core/src/main/java/org/apache/juneau/xml/XmlBeanPropertyMeta.java @@ -124,14 +124,14 @@ public class XmlBeanPropertyMeta extends BeanPropertyMetaExtended { if (cen.isEmpty()) cen = cmProperty.getExtendedMeta(XmlClassMeta.class).getChildName(); if (cen == null || cen.isEmpty()) - cen = cmProperty.getElementType().getLexiconName(); + cen = cmProperty.getElementType().getDictionaryName(); if (cen == null || cen.isEmpty()) cen = name; } else { throw new BeanRuntimeException(cmBean.getInnerClass(), "Annotation error on property ''{0}''. @Xml.format=COLLAPSED can only be specified on collections and arrays.", name); } if (cen.isEmpty() && isCollection) - cen = cmProperty.getLexiconName(); + cen = cmProperty.getDictionaryName(); } try { http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/juneau-core/src/main/java/org/apache/juneau/xml/XmlParser.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/xml/XmlParser.java b/juneau-core/src/main/java/org/apache/juneau/xml/XmlParser.java index 6c388f2..d8e1e82 100644 --- a/juneau-core/src/main/java/org/apache/juneau/xml/XmlParser.java +++ b/juneau-core/src/main/java/org/apache/juneau/xml/XmlParser.java @@ -62,14 +62,14 @@ public class XmlParser extends ReaderParser { private static final int UNKNOWN=0, OBJECT=1, ARRAY=2, STRING=3, NUMBER=4, BOOLEAN=5, NULL=6; - private <T> T parseAnything(XmlParserSession session, ClassMeta<T> nt, String currAttr, XMLStreamReader r, Object outer, boolean isRoot) throws Exception { + private <T> T parseAnything(XmlParserSession session, ClassMeta<T> eType, String currAttr, XMLStreamReader r, Object outer, boolean isRoot) throws Exception { BeanContext bc = session.getBeanContext(); - if (nt == null) - nt = (ClassMeta<T>)object(); - PojoSwap<T,Object> transform = (PojoSwap<T,Object>)nt.getPojoSwap(); - ClassMeta<?> ft = nt.getSerializedClassMeta(); - session.setCurrentClass(ft); + if (eType == null) + eType = (ClassMeta<T>)object(); + PojoSwap<T,Object> transform = (PojoSwap<T,Object>)eType.getPojoSwap(); + ClassMeta<?> sType = eType.getSerializedClassMeta(); + session.setCurrentClass(sType); String wrapperAttr = (isRoot && session.isPreserveRootElement()) ? r.getName().getLocalPart() : null; String typeAttr = r.getAttributeValue(null, "type"); @@ -85,10 +85,10 @@ public class XmlParser extends ReaderParser { else jsonType = getJsonType(elementName); } - if (! ft.canCreateNewInstance(outer)) { + if (! sType.canCreateNewInstance(outer)) { String c = r.getAttributeValue(null, "_class"); if (c != null) { - ft = nt = (ClassMeta<T>)bc.getClassMetaFromString(c); + sType = eType = (ClassMeta<T>)bc.getClassMetaFromString(c); } } Object o = null; @@ -105,7 +105,7 @@ public class XmlParser extends ReaderParser { } } - if (ft.isObject()) { + if (sType.isObject()) { if (jsonType == OBJECT) { ObjectMap m = new ObjectMap(bc); parseIntoMap(session, r, m, string(), object()); @@ -116,7 +116,7 @@ public class XmlParser extends ReaderParser { o = parseIntoCollection(session, r, new ObjectList(bc), object()); else if (jsonType == STRING) { o = session.decodeString(r.getElementText()); - if (ft.isChar()) + if (sType.isChar()) o = o.toString().charAt(0); } else if (jsonType == NUMBER) @@ -125,30 +125,30 @@ public class XmlParser extends ReaderParser { o = Boolean.parseBoolean(session.decodeLiteral(r.getElementText())); else if (jsonType == UNKNOWN) o = getUnknown(session, r); - } else if (ft.isBoolean()) { + } else if (sType.isBoolean()) { o = Boolean.parseBoolean(session.decodeLiteral(r.getElementText())); - } else if (ft.isCharSequence()) { + } else if (sType.isCharSequence()) { o = session.decodeString(r.getElementText()); - } else if (ft.isChar()) { + } else if (sType.isChar()) { o = session.decodeString(r.getElementText()).charAt(0); - } else if (ft.isMap()) { - Map m = (ft.canCreateNewInstance(outer) ? (Map)ft.newInstance(outer) : new ObjectMap(bc)); - o = parseIntoMap(session, r, m, ft.getKeyType(), ft.getValueType()); + } else if (sType.isMap()) { + Map m = (sType.canCreateNewInstance(outer) ? (Map)sType.newInstance(outer) : new ObjectMap(bc)); + o = parseIntoMap(session, r, m, sType.getKeyType(), sType.getValueType()); if (wrapperAttr != null) o = new ObjectMap(bc).append(wrapperAttr, m); - } else if (ft.isCollection()) { - Collection l = (ft.canCreateNewInstance(outer) ? (Collection)ft.newInstance(outer) : new ObjectList(bc)); - o = parseIntoCollection(session, r, l, ft.getElementType()); - } else if (ft.isNumber()) { - o = parseNumber(session.decodeLiteral(r.getElementText()), (Class<? extends Number>)ft.getInnerClass()); - } else if (ft.canCreateNewInstanceFromObjectMap(outer)) { + } else if (sType.isCollection()) { + Collection l = (sType.canCreateNewInstance(outer) ? (Collection)sType.newInstance(outer) : new ObjectList(bc)); + o = parseIntoCollection(session, r, l, sType.getElementType()); + } else if (sType.isNumber()) { + o = parseNumber(session.decodeLiteral(r.getElementText()), (Class<? extends Number>)sType.getInnerClass()); + } else if (sType.canCreateNewInstanceFromObjectMap(outer)) { ObjectMap m = new ObjectMap(bc); parseIntoMap(session, r, m, string(), object()); - o = ft.newInstanceFromObjectMap(outer, m); - } else if (ft.canCreateNewBean(outer)) { - if (ft.getExtendedMeta(XmlClassMeta.class).getFormat() == XmlFormat.COLLAPSED) { + o = sType.newInstanceFromObjectMap(outer, m); + } else if (sType.canCreateNewBean(outer)) { + if (sType.getExtendedMeta(XmlClassMeta.class).getFormat() == XmlFormat.COLLAPSED) { String fieldName = r.getLocalName(); - BeanMap<?> m = bc.newBeanMap(outer, ft.getInnerClass()); + BeanMap<?> m = bc.newBeanMap(outer, sType.getInnerClass()); BeanPropertyMeta bpm = m.getMeta().getExtendedMeta(XmlBeanMeta.class).getPropertyMeta(fieldName); ClassMeta<?> cm = m.getMeta().getClassMeta(); Object value = parseAnything(session, cm, currAttr, r, m.getBean(false), false); @@ -156,25 +156,25 @@ public class XmlParser extends ReaderParser { bpm.set(m, value); o = m.getBean(); } else { - BeanMap m = bc.newBeanMap(outer, ft.getInnerClass()); + BeanMap m = bc.newBeanMap(outer, sType.getInnerClass()); o = parseIntoBean(session, r, m).getBean(); } - } else if (ft.isArray()) { - ArrayList l = (ArrayList)parseIntoCollection(session, r, new ArrayList(), ft.getElementType()); - o = bc.toArray(ft, l); - } else if (ft.canCreateNewInstanceFromString(outer)) { - o = ft.newInstanceFromString(outer, session.decodeString(r.getElementText())); - } else if (ft.canCreateNewInstanceFromNumber(outer)) { - o = ft.newInstanceFromNumber(outer, parseNumber(session.decodeLiteral(r.getElementText()), ft.getNewInstanceFromNumberClass())); + } else if (sType.isArray()) { + ArrayList l = (ArrayList)parseIntoCollection(session, r, new ArrayList(), sType.getElementType()); + o = bc.toArray(sType, l); + } else if (sType.canCreateNewInstanceFromString(outer)) { + o = sType.newInstanceFromString(outer, session.decodeString(r.getElementText())); + } else if (sType.canCreateNewInstanceFromNumber(outer)) { + o = sType.newInstanceFromNumber(outer, parseNumber(session.decodeLiteral(r.getElementText()), sType.getNewInstanceFromNumberClass())); } else { - throw new ParseException(session, "Class ''{0}'' could not be instantiated. Reason: ''{1}''", ft.getInnerClass().getName(), ft.getNotABeanReason()); + throw new ParseException(session, "Class ''{0}'' could not be instantiated. Reason: ''{1}''", sType.getInnerClass().getName(), sType.getNotABeanReason()); } if (transform != null && o != null) - o = transform.unswap(o, nt, bc); + o = transform.unswap(o, eType, bc); if (outer != null) - setParent(nt, o, outer); + setParent(eType, o, outer); return (T)o; } http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/juneau-core/src/main/java/org/apache/juneau/xml/XmlSchemaSerializer.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/xml/XmlSchemaSerializer.java b/juneau-core/src/main/java/org/apache/juneau/xml/XmlSchemaSerializer.java index 8e64065..b3c311b 100644 --- a/juneau-core/src/main/java/org/apache/juneau/xml/XmlSchemaSerializer.java +++ b/juneau-core/src/main/java/org/apache/juneau/xml/XmlSchemaSerializer.java @@ -197,9 +197,9 @@ public class XmlSchemaSerializer extends XmlSerializer { queueElement(ns, "null", object()); else { XmlClassMeta xmlMeta = cm.getExtendedMeta(XmlClassMeta.class); - if (cm.getLexiconName() != null && xmlMeta.getNamespace() != null) + if (cm.getDictionaryName() != null && xmlMeta.getNamespace() != null) ns = xmlMeta.getNamespace(); - queueElement(ns, cm.getLexiconName(), cm); + queueElement(ns, cm.getDictionaryName(), cm); } processQueue(); } @@ -521,7 +521,7 @@ public class XmlSchemaSerializer extends XmlSerializer { private String getElementName(ClassMeta<?> cm) { cm = cm.getSerializedClassMeta(); - String name = cm.getLexiconName(); + String name = cm.getDictionaryName(); if (name == null) { if (cm.isBoolean()) http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/juneau-core/src/main/java/org/apache/juneau/xml/XmlSerializer.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/main/java/org/apache/juneau/xml/XmlSerializer.java b/juneau-core/src/main/java/org/apache/juneau/xml/XmlSerializer.java index 7ceac46..a381b41 100644 --- a/juneau-core/src/main/java/org/apache/juneau/xml/XmlSerializer.java +++ b/juneau-core/src/main/java/org/apache/juneau/xml/XmlSerializer.java @@ -304,7 +304,7 @@ public class XmlSerializer extends WriterSerializer { int indent = session.indent; // Current indentation ClassMeta<?> aType = null; // The actual type ClassMeta<?> wType = null; // The wrapped type - ClassMeta<?> gType = object(); // The generic type + ClassMeta<?> sType = object(); // The serialized type aType = session.push(elementName, o, eType); @@ -324,7 +324,7 @@ public class XmlSerializer extends WriterSerializer { aType = ((Delegate)o).getClassMeta(); } - gType = aType.getSerializedClassMeta(); + sType = aType.getSerializedClassMeta(); // Swap if necessary PojoSwap swap = aType.getPojoSwap(); @@ -333,11 +333,11 @@ public class XmlSerializer extends WriterSerializer { // If the getSwapClass() method returns Object, we need to figure out // the actual type now. - if (gType.isObject()) - gType = bc.getClassMetaForObject(o); + if (sType.isObject()) + sType = bc.getClassMetaForObject(o); } } else { - gType = eType.getSerializedClassMeta(); + sType = eType.getSerializedClassMeta(); } String classAttr = null; @@ -349,23 +349,23 @@ public class XmlSerializer extends WriterSerializer { } // char '\0' is interpreted as null. - if (o != null && gType.isChar() && ((Character)o).charValue() == 0) + if (o != null && sType.isChar() && ((Character)o).charValue() == 0) o = null; boolean isCollapsed = false; // If 'true', this is a collection and we're not rendering the outer element. // Get the JSON type string. - if (gType.isCharSequence() || gType.isChar()) + if (sType.isCharSequence() || sType.isChar()) ts = "string"; - else if (gType.isNumber()) + else if (sType.isNumber()) ts = "number"; - else if (gType.isBoolean()) + else if (sType.isBoolean()) ts = "boolean"; - else if (gType.isMap() || gType.isBean() || gType.hasToObjectMapMethod()) { - isCollapsed = gType.getExtendedMeta(XmlClassMeta.class).getFormat() == XmlFormat.COLLAPSED; + else if (sType.isMap() || sType.isBean() || sType.hasToObjectMapMethod()) { + isCollapsed = sType.getExtendedMeta(XmlClassMeta.class).getFormat() == XmlFormat.COLLAPSED; ts = "object"; } - else if (gType.isCollection() || gType.isArray()) { + else if (sType.isCollection() || sType.isArray()) { isCollapsed = (format == COLLAPSED && ! addNamespaceUris); ts = "array"; } @@ -375,9 +375,9 @@ public class XmlSerializer extends WriterSerializer { // Is there a name associated with this bean? if (elementName == null) - elementName = gType.getLexiconName(); + elementName = sType.getDictionaryName(); if (elementName == null) - elementName = aType.getLexiconName(); + elementName = aType.getDictionaryName(); // If the value is null then it's either going to be <null/> or <XmlSerializer nil='true'/> // depending on whether the element has a name. @@ -388,7 +388,7 @@ public class XmlSerializer extends WriterSerializer { if (session.isEnableNamespaces()) { if (elementNamespace == null) - elementNamespace = gType.getExtendedMeta(XmlClassMeta.class).getNamespace(); + elementNamespace = sType.getExtendedMeta(XmlClassMeta.class).getNamespace(); if (elementNamespace == null) elementNamespace = aType.getExtendedMeta(XmlClassMeta.class).getNamespace(); if (elementNamespace != null && elementNamespace.uri == null) @@ -400,7 +400,7 @@ public class XmlSerializer extends WriterSerializer { } // Do we need a carriage return after the start tag? - boolean cr = o != null && (gType.isMap() || gType.isCollection() || gType.isArray() || gType.isBean() || gType.hasToObjectMapMethod()); + boolean cr = o != null && (sType.isMap() || sType.isCollection() || sType.isArray() || sType.isBean() || sType.hasToObjectMapMethod()); String en = (elementName == null ? ts : elementName); boolean encodeEn = elementName != null; @@ -434,14 +434,14 @@ public class XmlSerializer extends WriterSerializer { if (o == null) { if (! isNullTag) out.attr(xsi, "nil", "true"); - if ((gType.isBoolean() || gType.isNumber()) && ! gType.isNullable()) - o = gType.getPrimitiveDefault(); + if ((sType.isBoolean() || sType.isNumber()) && ! sType.isNullable()) + o = sType.getPrimitiveDefault(); } - if (o != null && !(gType.isMap() || gType.isBean() || gType.hasToObjectMapMethod())) + if (o != null && !(sType.isMap() || sType.isBean() || sType.hasToObjectMapMethod())) out.append('>'); - if (cr && !(gType.isMap() || gType.isBean() || gType.hasToObjectMapMethod())) + if (cr && !(sType.isMap() || sType.isBean() || sType.hasToObjectMapMethod())) out.nl(); } @@ -449,33 +449,33 @@ public class XmlSerializer extends WriterSerializer { // Render the tag contents. if (o != null) { - if (gType.isUri() || (pMeta != null && pMeta.isUri())) + if (sType.isUri() || (pMeta != null && pMeta.isUri())) out.appendUri(o); - else if (gType.isCharSequence() || gType.isChar()) + else if (sType.isCharSequence() || sType.isChar()) out.encodeText(session.trim(o)); - else if (gType.isNumber() || gType.isBoolean()) + else if (sType.isNumber() || sType.isBoolean()) out.append(o); - else if (gType.isMap() || (wType != null && wType.isMap())) { + else if (sType.isMap() || (wType != null && wType.isMap())) { if (o instanceof BeanMap) hasChildren = serializeBeanMap(session, out, (BeanMap)o, elementNamespace, isCollapsed); else - hasChildren = serializeMap(session, out, (Map)o, gType); + hasChildren = serializeMap(session, out, (Map)o, sType); } - else if (gType.hasToObjectMapMethod()) - hasChildren = serializeMap(session, out, gType.toObjectMap(o), gType); - else if (gType.isBean()) + else if (sType.hasToObjectMapMethod()) + hasChildren = serializeMap(session, out, sType.toObjectMap(o), sType); + else if (sType.isBean()) hasChildren = serializeBeanMap(session, out, bc.forBean(o), elementNamespace, isCollapsed); - else if (gType.isCollection() || (wType != null && wType.isCollection())) { + else if (sType.isCollection() || (wType != null && wType.isCollection())) { if (isCollapsed) session.indent--; - serializeCollection(session, out, (Collection)o, gType, pMeta); + serializeCollection(session, out, (Collection)o, sType, pMeta); if (isCollapsed) session.indent++; } - else if (gType.isArray()) { + else if (sType.isArray()) { if (isCollapsed) session.indent--; - serializeCollection(session, out, toList(gType.getInnerClass(), o), gType, pMeta); + serializeCollection(session, out, toList(sType.getInnerClass(), o), sType, pMeta); if (isCollapsed) session.indent++; } @@ -621,7 +621,7 @@ public class XmlSerializer extends WriterSerializer { } if (eName == null && ! elementType.isObject()) { - eName = elementType.getLexiconName(); + eName = elementType.getDictionaryName(); eNs = elementType.getExtendedMeta(XmlClassMeta.class).getNamespace(); } http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/juneau-core/src/test/java/org/apache/juneau/BeanFilterTest.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/test/java/org/apache/juneau/BeanFilterTest.java b/juneau-core/src/test/java/org/apache/juneau/BeanFilterTest.java index ffef4a0..fb27219 100755 --- a/juneau-core/src/test/java/org/apache/juneau/BeanFilterTest.java +++ b/juneau-core/src/test/java/org/apache/juneau/BeanFilterTest.java @@ -62,12 +62,12 @@ public class BeanFilterTest { public B fb; } - @Bean(name="A1") + @Bean(typeName="A1") public static class A1 extends A { public String f1; } - @Bean(name="A2") + @Bean(typeName="A2") public static class A2 extends A { public String f2; } @@ -80,12 +80,12 @@ public class BeanFilterTest { public String f0b = "f0b"; } - @Bean(name="B1") + @Bean(typeName="B1") public static class B1 extends B { public String f1; } - @Bean(name="B2") + @Bean(typeName="B2") public static class B2 extends B { public String f2; } http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/juneau-core/src/test/java/org/apache/juneau/a/rttests/RoundTripBeanMapsTest.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/test/java/org/apache/juneau/a/rttests/RoundTripBeanMapsTest.java b/juneau-core/src/test/java/org/apache/juneau/a/rttests/RoundTripBeanMapsTest.java index cbd6a76..f14fe72 100755 --- a/juneau-core/src/test/java/org/apache/juneau/a/rttests/RoundTripBeanMapsTest.java +++ b/juneau-core/src/test/java/org/apache/juneau/a/rttests/RoundTripBeanMapsTest.java @@ -255,7 +255,7 @@ public class RoundTripBeanMapsTest extends RoundTripTest { public String f0 = "f0"; } - @Bean(name="B1") + @Bean(typeName="B1") public static class B1 extends B { public String f1; public static B1 create() { @@ -266,7 +266,7 @@ public class RoundTripBeanMapsTest extends RoundTripTest { } } - @Bean(name="B2") + @Bean(typeName="B2") public static class B2 extends B { public int f2; public static B2 create() { @@ -277,7 +277,7 @@ public class RoundTripBeanMapsTest extends RoundTripTest { } } - @Bean(name="B3") + @Bean(typeName="B3") public static class B3 extends B { public XMLGregorianCalendar f3; public static B3 create() throws Exception { @@ -397,7 +397,7 @@ public class RoundTripBeanMapsTest extends RoundTripTest { public String f0a, subType, f0b; } - @Bean(name="BA1") + @Bean(typeName="BA1") public static class BA1 extends BA { public String f1; public static BA1 create() { @@ -410,7 +410,7 @@ public class RoundTripBeanMapsTest extends RoundTripTest { } } - @Bean(name="BA2") + @Bean(typeName="BA2") public static class BA2 extends BA { public String f2; } http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/juneau-core/src/test/java/org/apache/juneau/a/rttests/RoundTripTransformBeansTest.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/test/java/org/apache/juneau/a/rttests/RoundTripTransformBeansTest.java b/juneau-core/src/test/java/org/apache/juneau/a/rttests/RoundTripTransformBeansTest.java index b9353eb..390fab7 100755 --- a/juneau-core/src/test/java/org/apache/juneau/a/rttests/RoundTripTransformBeansTest.java +++ b/juneau-core/src/test/java/org/apache/juneau/a/rttests/RoundTripTransformBeansTest.java @@ -302,7 +302,7 @@ public class RoundTripTransformBeansTest extends RoundTripTest { } } - @Bean(name="C3") + @Bean(typeName="C3") public static class C3<T> extends C2<T> { public static C3 create() { http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/juneau-core/src/test/java/org/apache/juneau/xml/XmlCollapsedTest.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/test/java/org/apache/juneau/xml/XmlCollapsedTest.java b/juneau-core/src/test/java/org/apache/juneau/xml/XmlCollapsedTest.java index e7b32c9..57fa275 100755 --- a/juneau-core/src/test/java/org/apache/juneau/xml/XmlCollapsedTest.java +++ b/juneau-core/src/test/java/org/apache/juneau/xml/XmlCollapsedTest.java @@ -335,7 +335,7 @@ public class XmlCollapsedTest { } } - @Bean(name="xf1") + @Bean(typeName="xf1") public static class F1 { @Xml(format=CONTENT) http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/e1c60b10/juneau-core/src/test/java/org/apache/juneau/xml/XmlContentTest.java ---------------------------------------------------------------------- diff --git a/juneau-core/src/test/java/org/apache/juneau/xml/XmlContentTest.java b/juneau-core/src/test/java/org/apache/juneau/xml/XmlContentTest.java index 9f5e9c7..3773dc2 100755 --- a/juneau-core/src/test/java/org/apache/juneau/xml/XmlContentTest.java +++ b/juneau-core/src/test/java/org/apache/juneau/xml/XmlContentTest.java @@ -126,7 +126,7 @@ public class XmlContentTest { assertEqualObjects(t, t2); } - @Bean(name="A") + @Bean(typeName="A") public static class A { @Xml(format=ATTR) public String f1; @Xml(format=CONTENT) public String f2; @@ -249,7 +249,7 @@ public class XmlContentTest { assertEqualObjects(t, t2); } - @Bean(name="A") + @Bean(typeName="A") public static class B { @Xml(format=ATTR) public String f1; @Xml(format=CONTENT, contentHandler=BContentHandler.class) public String f2;
