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; }
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()); }
keys.add(0, new UriParameterImpl().setName(name).setReferencedProperty(referencedNames.get(name)));
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()); }
keys.add(0, new UriParameterImpl().setName(name).setReferencedProperty(referencedNames.get(name)));
throw new UriParserSyntaxException("Parameter value expected.", UriParserSyntaxException.MessageKeys.SYNTAX); UriParameterImpl parameter = new UriParameterImpl().setName(name); if (tokenizer.next(TokenKind.ParameterAliasName)) { final String aliasName = tokenizer.getText(); parameter.setAlias(aliasName) .setExpression(aliases.containsKey(aliasName) ? aliases.get(aliasName).getValue() : null); } 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) .setExpression(expression instanceof Literal ? null : expression); } else if (nextPrimitiveValue(tokenizer) == null) { throw new UriParserSemanticException("Wrong parameter value.", } else { final String literalValue = tokenizer.getText(); parameter.setText("null".equals(literalValue) ? null : literalValue);
EdmType edmType = keyField.getProperty().getType(); Property propertyInCreatedEntity = createdEntity.getProperty(keyField.getName()); UriParameterImpl uriParam = new UriParameterImpl(); uriLiteralString = edmPrimInstance.toUriLiteral(propertyInCreatedEntity.getValue().toString()); uriParam.setName(keyField.getName()); uriParam.setText(uriLiteralString);
throw new UriParserSyntaxException("Parameter value expected.", UriParserSyntaxException.MessageKeys.SYNTAX); UriParameterImpl parameter = new UriParameterImpl().setName(name); if (tokenizer.next(TokenKind.ParameterAliasName)) { final String aliasName = tokenizer.getText(); parameter.setAlias(aliasName) .setExpression(aliases.containsKey(aliasName) ? aliases.get(aliasName).getValue() : null); } 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) .setExpression(expression instanceof Literal ? null : expression); } else if (nextPrimitiveValue(tokenizer) == null) { throw new UriParserSemanticException("Wrong parameter value.", } else { final String literalValue = tokenizer.getText(); parameter.setText("null".equals(literalValue) ? null : literalValue);