@Override public FullQualifiedName getBindingParameterTypeFqn() { if (isBound()) { CsdlParameter bindingParameter = operation.getParameters().get(0); return bindingParameter.getTypeFQN(); } return null; }
@Override public FullQualifiedName getBindingParameterTypeFqn() { if (isBound()) { CsdlParameter bindingParameter = operation.getParameters().get(0); return bindingParameter.getTypeFQN(); } return null; }
if ((bindingParameterTypeName.equals(bindingParameter.getTypeFQN()) ||isEntityPreviousTypeCompatibleToBindingParam(bindingParameterTypeName, bindingParameter) || isComplexPreviousTypeCompatibleToBindingParam(bindingParameterTypeName, bindingParameter,
if ((bindingParameterTypeName.equals(bindingParameter.getTypeFQN()) ||isEntityPreviousTypeCompatibleToBindingParam(bindingParameterTypeName, bindingParameter) || isComplexPreviousTypeCompatibleToBindingParam(bindingParameterTypeName, bindingParameter,
/** * @param bindingParameterTypeName * @param parameter * @param isBindingParameterCollection * @return * @throws ODataException */ private boolean isComplexPreviousTypeCompatibleToBindingParam( final FullQualifiedName bindingParameterTypeName, final CsdlParameter parameter, Boolean isBindingParameterCollection) throws ODataException { CsdlComplexType complexType = provider.getComplexType(bindingParameterTypeName); if(provider.getEntityType(parameter.getTypeFQN()) == null){ return false; } List<CsdlProperty> properties = provider.getEntityType(parameter.getTypeFQN()).getProperties(); for (CsdlProperty property : properties) { String paramPropertyTypeName = property.getTypeAsFQNObject().getFullQualifiedNameAsString(); if ((complexType != null && complexType.getBaseType() != null && complexType.getBaseTypeFQN().getFullQualifiedNameAsString().equals(paramPropertyTypeName)) || paramPropertyTypeName.equals(bindingParameterTypeName.getFullQualifiedNameAsString()) && isBindingParameterCollection.booleanValue() == property.isCollection()) { return true; } } return false; }
/** * @param bindingParameterTypeName * @param parameter * @param isBindingParameterCollection * @return * @throws ODataException */ private boolean isComplexPreviousTypeCompatibleToBindingParam( final FullQualifiedName bindingParameterTypeName, final CsdlParameter parameter, Boolean isBindingParameterCollection) throws ODataException { CsdlComplexType complexType = provider.getComplexType(bindingParameterTypeName); if(provider.getEntityType(parameter.getTypeFQN()) == null){ return false; } List<CsdlProperty> properties = provider.getEntityType(parameter.getTypeFQN()).getProperties(); for (CsdlProperty property : properties) { String paramPropertyTypeName = property.getTypeAsFQNObject().getFullQualifiedNameAsString(); if ((complexType != null && complexType.getBaseType() != null && complexType.getBaseTypeFQN().getFullQualifiedNameAsString().equals(paramPropertyTypeName)) || paramPropertyTypeName.equals(bindingParameterTypeName.getFullQualifiedNameAsString()) && isBindingParameterCollection.booleanValue() == property.isCollection()) { return true; } } return false; }
/** * @param bindingParameterTypeName * @param parameter * @return * @throws ODataException */ private boolean isEntityPreviousTypeCompatibleToBindingParam(final FullQualifiedName bindingParameterTypeName, final CsdlParameter parameter) throws ODataException { return provider.getEntityType(bindingParameterTypeName) != null && provider.getEntityType(bindingParameterTypeName).getBaseTypeFQN() != null && provider.getEntityType(bindingParameterTypeName).getBaseTypeFQN().equals(parameter.getTypeFQN()); }
final List<CsdlParameter> parameters = action.getParameters(); final CsdlParameter parameter = parameters.get(0); if ((bindingParameterTypeName.equals(parameter.getTypeFQN()) || isEntityPreviousTypeCompatibleToBindingParam(bindingParameterTypeName, parameter) || isComplexPreviousTypeCompatibleToBindingParam(bindingParameterTypeName, parameter,
/** * @param bindingParameterTypeName * @param parameter * @return * @throws ODataException */ private boolean isEntityPreviousTypeCompatibleToBindingParam(final FullQualifiedName bindingParameterTypeName, final CsdlParameter parameter) throws ODataException { return provider.getEntityType(bindingParameterTypeName) != null && provider.getEntityType(bindingParameterTypeName).getBaseTypeFQN() != null && provider.getEntityType(bindingParameterTypeName).getBaseTypeFQN().equals(parameter.getTypeFQN()); }
final List<CsdlParameter> parameters = action.getParameters(); final CsdlParameter parameter = parameters.get(0); if ((bindingParameterTypeName.equals(parameter.getTypeFQN()) || isEntityPreviousTypeCompatibleToBindingParam(bindingParameterTypeName, parameter) || isComplexPreviousTypeCompatibleToBindingParam(bindingParameterTypeName, parameter,
@Override public EdmType getType() { if (typeImpl == null) { if (parameter.getType() == null) { throw new EdmException("Parameter " + parameter.getName() + " must hava a full qualified type."); } typeImpl = new EdmTypeInfo.Builder().setEdm(edm).setTypeExpression(parameter.getType()).build().getType(); if (typeImpl == null) { throw new EdmException("Cannot find type with name: " + parameter.getTypeFQN()); } } return typeImpl; } }
@Override public EdmType getType() { if (typeImpl == null) { if (parameter.getType() == null) { throw new EdmException("Parameter " + parameter.getName() + " must hava a full qualified type."); } typeImpl = new EdmTypeInfo.Builder().setEdm(edm).setTypeExpression(parameter.getType()).build().getType(); if (typeImpl == null) { throw new EdmException("Cannot find type with name: " + parameter.getTypeFQN()); } } return typeImpl; } }