/** * Returns the primitive type's default class or the manually mapped class if present. * @param mapping * @param edmPrimitiveType * @return the java class to be used during deserialization */ private Class<?> getJavaClassForPrimitiveType(final EdmMapping mapping, final EdmPrimitiveType type) { final EdmPrimitiveType edmPrimitiveType = type.getKind() == EdmTypeKind.ENUM ? ((EdmEnumType) type).getUnderlyingType() : type .getKind() == EdmTypeKind.DEFINITION ? ((EdmTypeDefinition) type).getUnderlyingType() : type; return mapping == null || mapping.getMappedJavaClass() == null ? edmPrimitiveType.getDefaultType() : mapping .getMappedJavaClass(); }
/** * Returns the primitive type's default class or the manually mapped class if present. * @param mapping * @param edmPrimitiveType * @return the java class to be used during deserialization */ private Class<?> getJavaClassForPrimitiveType(final EdmMapping mapping, final EdmPrimitiveType type) { final EdmPrimitiveType edmPrimitiveType = type.getKind() == EdmTypeKind.ENUM ? ((EdmEnumType) type).getUnderlyingType() : type .getKind() == EdmTypeKind.DEFINITION ? ((EdmTypeDefinition) type).getUnderlyingType() : type; return mapping == null || mapping.getMappedJavaClass() == null ? edmPrimitiveType.getDefaultType() : mapping .getMappedJavaClass(); }
/** * Returns the primitive type's default class or the manually mapped class * if present. * * @param mapping * @param edmPrimitiveType * @return the java class to be used during deserialization */ private Class<?> getJavaClassForPrimitiveType(final EdmMapping mapping, final EdmPrimitiveType type) { final EdmPrimitiveType edmPrimitiveType = type.getKind() == EdmTypeKind.ENUM ? ((EdmEnumType) type).getUnderlyingType() : type.getKind() == EdmTypeKind.DEFINITION ? ((EdmTypeDefinition) type).getUnderlyingType() : type; return mapping == null || mapping.getMappedJavaClass() == null ? edmPrimitiveType.getDefaultType() : mapping.getMappedJavaClass(); }
/** * This method returns java class to read primitive values. * * @param edmProperty EdmProperty * @param edmPrimitiveType EdmPrimitiveType * @return javaClass * @see EdmPrimitiveType#valueOfString(String, Boolean, Integer, Integer, Integer, Boolean, Class) */ private Class<?> getJavaClassForPrimitiveType(EdmProperty edmProperty, EdmPrimitiveType edmPrimitiveType) { Class<?> javaClass; if (edmProperty.getMapping() != null && edmProperty.getMapping().getMappedJavaClass() != null) { javaClass = edmProperty.getMapping().getMappedJavaClass(); } else { javaClass = edmPrimitiveType.getDefaultType(); } edmPrimitiveType.getDefaultType(); return javaClass; }
edmParameter.getMapping() == null ? primitiveType.getDefaultType() : edmParameter.getMapping().getMappedJavaClass()); } catch (final EdmPrimitiveTypeException e) { throw new UriValidationException(
edmParameter.getMapping() == null ? primitiveType.getDefaultType() : edmParameter.getMapping().getMappedJavaClass()); } catch (final EdmPrimitiveTypeException e) { throw new UriValidationException(
@Override public Parameter parameter(final String content, final EdmParameter parameter) throws DeserializerException { final EdmType type = parameter.getType(); final EdmTypeKind kind = type.getKind(); if ((kind == EdmTypeKind.PRIMITIVE || kind == EdmTypeKind.DEFINITION || kind == EdmTypeKind.ENUM) && !parameter.isCollection()) { // The content is a primitive URI literal. Parameter result = new Parameter(); result.setName(parameter.getName()); result.setType(type.getFullQualifiedName().getFullQualifiedNameAsString()); final EdmPrimitiveType primitiveType = (EdmPrimitiveType) type; try { result.setValue(type.getKind() == EdmTypeKind.ENUM ? ValueType.ENUM : ValueType.PRIMITIVE, primitiveType.valueOfString(primitiveType.fromUriLiteral(content), parameter.isNullable(), parameter.getMaxLength(), parameter.getPrecision(), parameter.getScale(), true, parameter.getMapping() == null ? primitiveType.getDefaultType() : parameter.getMapping().getMappedJavaClass())); } catch (final EdmPrimitiveTypeException e) { throw new DeserializerException( "Invalid value '" + content + "' for parameter " + parameter.getName(), e, DeserializerException.MessageKeys.INVALID_VALUE_FOR_PROPERTY, parameter.getName()); } return result; } else { // The content is a JSON array or object. return new ODataJsonDeserializer(ContentType.JSON).parameter(content, parameter); } }
@Override public Parameter parameter(final String content, final EdmParameter parameter) throws DeserializerException { final EdmType type = parameter.getType(); final EdmTypeKind kind = type.getKind(); if ((kind == EdmTypeKind.PRIMITIVE || kind == EdmTypeKind.DEFINITION || kind == EdmTypeKind.ENUM) && !parameter.isCollection()) { // The content is a primitive URI literal. Parameter result = new Parameter(); result.setName(parameter.getName()); result.setType(type.getFullQualifiedName().getFullQualifiedNameAsString()); final EdmPrimitiveType primitiveType = (EdmPrimitiveType) type; try { result.setValue(type.getKind() == EdmTypeKind.ENUM ? ValueType.ENUM : ValueType.PRIMITIVE, primitiveType.valueOfString(primitiveType.fromUriLiteral(content), parameter.isNullable(), parameter.getMaxLength(), parameter.getPrecision(), parameter.getScale(), true, parameter.getMapping() == null ? primitiveType.getDefaultType() : parameter.getMapping().getMappedJavaClass())); } catch (final EdmPrimitiveTypeException e) { throw new DeserializerException( "Invalid value '" + content + "' for parameter " + parameter.getName(), e, DeserializerException.MessageKeys.INVALID_VALUE_FOR_PROPERTY, parameter.getName()); } return result; } else { // The content is a JSON array or object. return new ODataJsonDeserializer(ContentType.JSON).parameter(content, parameter); } }