@Override public EdmComplexType createComplexType(final FullQualifiedName complexTypeName) { try { final CsdlComplexType complexType = provider.getComplexType(complexTypeName); if (complexType != null) { return new EdmComplexTypeImpl(this, complexTypeName, complexType); } return null; } catch (ODataException e) { throw new EdmException(e); } }
private boolean isPropertyComplex(CsdlProperty propertyName) { try { return this.provider.getComplexType(propertyName.getTypeAsFQNObject()) != null ? true : false; } catch (ODataException e) { throw new EdmException(e); } }
/** * @param propertyName * @return */ private CsdlComplexType getComplexTypeFromProperty(CsdlProperty propertyName) { CsdlComplexType complexType; try { complexType = this.provider.getComplexType(propertyName.getTypeAsFQNObject()); } catch (ODataException e) { throw new EdmException(e); } return complexType; }
@Override public EdmComplexType createComplexType(final FullQualifiedName complexTypeName) { try { final CsdlComplexType complexType = provider.getComplexType(complexTypeName); if (complexType != null) { if (!isComplexDerivedFromES()) { addAnnotations(complexType, complexTypeName); } return new EdmComplexTypeImpl(this, complexTypeName, complexType); } return null; } catch (ODataException e) { throw new EdmException(e); } }
/** * @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; }