Skip to content

Commit

Permalink
Fix QName unmarshalling
Browse files Browse the repository at this point in the history
Removed obsolete "postConvertUnmarshal" method.
  • Loading branch information
mederly committed Oct 10, 2019
1 parent 45f7005 commit 8f4904e
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 6 deletions.
Expand Up @@ -111,12 +111,14 @@ private static void addMappingExt(Class javaClass, QName xsdType, boolean both)
}
}

@NotNull
public static QName toXsdType(Class javaClass) {
QName xsdType = getJavaToXsdMapping(javaClass);
if (xsdType == null) {
if (xsdType != null) {
return xsdType;
} else {
throw new IllegalArgumentException("No XSD mapping for Java type " + javaClass.getCanonicalName());
}
return xsdType;
}

public static QName getJavaToXsdMapping(Class<?> type) {
Expand Down
Expand Up @@ -146,8 +146,7 @@ private <T> T unmarshalInternal(@NotNull XNodeImpl xnode, @NotNull Class<T> bean
PrimitiveXNodeImpl<T> prim = (PrimitiveXNodeImpl) xnode;
if (XmlTypeConverter.canConvert(beanClass)) {
QName xsdType = XsdTypeMapper.toXsdType(beanClass);
Object parsedValue = prim.getParsedValue(xsdType, beanClass);
return postConvertUnmarshal(parsedValue, pc);
return prim.getParsedValue(xsdType, beanClass);
} else if (beanClass.isEnum()) {
return unmarshalEnumFromPrimitive(prim, beanClass, pc);
}
Expand Down Expand Up @@ -1111,8 +1110,7 @@ private <T extends SearchFilterType> T unmarshalSearchFilterType(MapXNodeImpl xm

private ItemPathType unmarshalItemPath(PrimitiveXNodeImpl<ItemPathType> primitiveXNode, Class beanClass, ParsingContext parsingContext)
throws SchemaException {
ItemPathType parsedValue = primitiveXNode.getParsedValue(ItemPathType.COMPLEX_TYPE, ItemPathType.class);
return postConvertUnmarshal(parsedValue, parsingContext);
return primitiveXNode.getParsedValue(ItemPathType.COMPLEX_TYPE, ItemPathType.class);
}

private Object unmarshalPolyStringFromPrimitive(PrimitiveXNodeImpl<?> node, Class<?> beanClass, ParsingContext parsingContext)
Expand Down
Expand Up @@ -81,10 +81,12 @@ public T getParsedValue(@NotNull QName typeName) throws SchemaException {
return getParsedValue(typeName, null, XNodeProcessorEvaluationMode.STRICT);
}

// @post: return value is type-compliant with expectedClass (if both are non-null)
public T getParsedValue(@NotNull QName typeName, @Nullable Class<T> expectedClass) throws SchemaException {
return getParsedValue(typeName, expectedClass, XNodeProcessorEvaluationMode.STRICT);
}

// @post: return value is type-compliant with expectedClass (if both are non-null)
public T getParsedValue(@NotNull QName typeName, @Nullable Class<T> expectedClass, XNodeProcessorEvaluationMode mode) throws SchemaException {
if (!isParsed()) {
parseValue(typeName, mode);
Expand Down

0 comments on commit 8f4904e

Please sign in to comment.