public static List<UriParameter> extractKeyPredicateRefsEntity(Entity ent,EdmEntityType entityType) throws ODataApplicationException { List<UriParameter> keyparams=new ArrayList<>(); for(String key:entityType.getKeyPredicateNames()) { if(!key.equalsIgnoreCase(DraftUtilsV4.DRAFTS_ISACTIVE_ENTITY)) { UriParameter keyparam=new UriParameterImpl().setName(key).setText(ent.getProperty(key).getValue().toString()); keyparams.add(keyparam); } } return keyparams; }
} else if (tokenizer.next(TokenKind.jsonArrayOrObject)) { if (withComplex) { parameter.setText(tokenizer.getText()); } else { throw new UriParserSemanticException("A JSON array or object is not allowed as parameter value.", parameter.setText(expression instanceof Literal ? "null".equals(((Literal) expression).getText()) ? null : ((Literal) expression).getText() : null) } else { final String literalValue = tokenizer.getText(); parameter.setText("null".equals(literalValue) ? null : literalValue);
} else if (tokenizer.next(TokenKind.jsonArrayOrObject)) { if (withComplex) { parameter.setText(tokenizer.getText()); } else { throw new UriParserSemanticException("A JSON array or object is not allowed as parameter value.", parameter.setText(expression instanceof Literal ? "null".equals(((Literal) expression).getText()) ? null : ((Literal) expression).getText() : null) } else { final String literalValue = tokenizer.getText(); parameter.setText("null".equals(literalValue) ? null : literalValue);
uriParam.setText(uriLiteralString);
private static UriParameter createUriParameter(final EdmProperty edmProperty, final String parameterName, final String literalValue, final Edm edm, final EdmType referringType, final Map<String, AliasQueryOption> aliases) throws UriParserException, UriValidationException { final AliasQueryOption alias = literalValue.startsWith("@") ? getKeyAlias(literalValue, edmProperty, edm, referringType, aliases) : null; final String value = alias == null ? literalValue : alias.getText(); final EdmPrimitiveType primitiveType = (EdmPrimitiveType) edmProperty.getType(); try { if (!(primitiveType.validate(primitiveType.fromUriLiteral(value), edmProperty.isNullable(), edmProperty.getMaxLength(), edmProperty.getPrecision(), edmProperty.getScale(), edmProperty.isUnicode()))) { throw new UriValidationException("Invalid key property", UriValidationException.MessageKeys.INVALID_KEY_PROPERTY, parameterName); } } catch (final EdmPrimitiveTypeException e) { throw new UriValidationException("Invalid key property", e, UriValidationException.MessageKeys.INVALID_KEY_PROPERTY, parameterName); } return new UriParameterImpl() .setName(parameterName) .setText("null".equals(literalValue) ? null : literalValue) .setAlias(alias == null ? null : literalValue) .setExpression(alias == null ? null : alias.getValue() == null ? new LiteralImpl(value, primitiveType) : alias.getValue()); }
private static UriParameter createUriParameter(final EdmProperty edmProperty, final String parameterName, final String literalValue, final Edm edm, final EdmType referringType, final Map<String, AliasQueryOption> aliases) throws UriParserException, UriValidationException { final AliasQueryOption alias = literalValue.startsWith("@") ? getKeyAlias(literalValue, edmProperty, edm, referringType, aliases) : null; final String value = alias == null ? literalValue : alias.getText(); final EdmPrimitiveType primitiveType = (EdmPrimitiveType) edmProperty.getType(); try { if (!(primitiveType.validate(primitiveType.fromUriLiteral(value), edmProperty.isNullable(), edmProperty.getMaxLength(), edmProperty.getPrecision(), edmProperty.getScale(), edmProperty.isUnicode()))) { throw new UriValidationException("Invalid key property", UriValidationException.MessageKeys.INVALID_KEY_PROPERTY, parameterName); } } catch (final EdmPrimitiveTypeException e) { throw new UriValidationException("Invalid key property", e, UriValidationException.MessageKeys.INVALID_KEY_PROPERTY, parameterName); } return new UriParameterImpl() .setName(parameterName) .setText("null".equals(literalValue) ? null : literalValue) .setAlias(alias == null ? null : literalValue) .setExpression(alias == null ? null : alias.getValue() == null ? new LiteralImpl(value, primitiveType) : alias.getValue()); }