Exemplo n.º 1
0
        /// <summary>
        /// Check whether the named streams feature is supported in the specified version.
        /// </summary>
        /// <param name="version">The version to check.</param>
        internal static void CheckNamedStreams(ODataVersion version)
        {
            DebugUtils.CheckNoExternalCallers();

            if (version < ODataVersion.V3)
            {
                throw new ODataException(Strings.ODataVersionChecker_NamedStreamsNotSupported(version.VersionString()));
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Check whether the inline count feature is supported in the specified version.
        /// </summary>
        /// <param name="version">The version to check.</param>
        /// <param name="propertyName">The name of the property which holds the multivalue.</param>
        internal static void CheckMultiValueProperties(ODataVersion version, string propertyName)
        {
            DebugUtils.CheckNoExternalCallers();

            if (version < ODataVersion.V3)
            {
                throw new ODataException(Strings.ODataVersionChecker_MultiValuePropertiesNotSupported(propertyName, version.VersionString()));
            }
        }
Exemplo n.º 3
0
        /// <summary>
        /// Check whether the server paging feature is supported in the specified version.
        /// </summary>
        /// <param name="version">The version to check.</param>
        internal static void CheckServerPaging(ODataVersion version)
        {
            DebugUtils.CheckNoExternalCallers();

            if (version < ODataVersion.V2)
            {
                throw new ODataException(Strings.ODataVersionChecker_ServerPagingNotSupported(version.VersionString()));
            }
        }
Exemplo n.º 4
0
        /// <summary>
        /// Check whether the EPM on the specified resource type is supported in the specified version.
        /// </summary>
        /// <param name="version">The version to check.</param>
        /// <param name="resourceType">The entity resoure type to check.</param>
        internal static void CheckEntityPropertyMapping(ODataVersion version, ResourceType resourceType)
        {
            DebugUtils.CheckNoExternalCallers();
            Debug.Assert(resourceType != null, "resourceType != null");

            EpmResourceTypeAnnotation epmAnnotation = resourceType.Epm();

            if (epmAnnotation != null)
            {
                Debug.Assert(epmAnnotation.EpmTargetTree != null, "If the EPM annotation is present the EPM tree must already be initialized.");
                if (version < epmAnnotation.EpmTargetTree.MinimumODataProtocolVersion)
                {
                    throw new ODataException(
                              Strings.ODataVersionChecker_EpmVersionNotSupported(
                                  resourceType.FullName,
                                  epmAnnotation.EpmTargetTree.MinimumODataProtocolVersion.VersionString(),
                                  version.VersionString()));
                }
            }
        }
Exemplo n.º 5
0
        /// <summary>
        /// Check whether the EPM on the specified resource type is supported in the specified version.
        /// </summary>
        /// <param name="version">The version to check.</param>
        /// <param name="resourceType">The entity resoure type to check.</param>
        internal static void CheckEntityPropertyMapping(ODataVersion version, ResourceType resourceType)
        {
            DebugUtils.CheckNoExternalCallers();
            Debug.Assert(resourceType != null, "resourceType != null");

            EpmResourceTypeAnnotation epmAnnotation = resourceType.Epm();
            if (epmAnnotation != null)
            {
                Debug.Assert(epmAnnotation.EpmTargetTree != null, "If the EPM annotation is present the EPM tree must already be initialized.");
                if (version < epmAnnotation.EpmTargetTree.MinimumODataProtocolVersion)
                {
                    throw new ODataException(
                        Strings.ODataVersionChecker_EpmVersionNotSupported(
                            resourceType.FullName, 
                            epmAnnotation.EpmTargetTree.MinimumODataProtocolVersion.VersionString(),
                            version.VersionString()));
                }
            }
        }
Exemplo n.º 6
0
        /// <summary>
        /// Check whether the association links feature is supported in the specified version.
        /// </summary>
        /// <param name="version">The version to check.</param>
        internal static void CheckAssociationLinks(ODataVersion version)
        {
            DebugUtils.CheckNoExternalCallers();

            if (version < ODataVersion.V3)
            {
                throw new ODataException(Strings.ODataVersionChecker_AssociationLinksNotSupported(version.VersionString()));
            }
        }
Exemplo n.º 7
0
        /// <summary>
        /// Check whether the server paging feature is supported in the specified version.
        /// </summary>
        /// <param name="version">The version to check.</param>
        internal static void CheckServerPaging(ODataVersion version)
        {
            DebugUtils.CheckNoExternalCallers();

            if (version < ODataVersion.V2)
            {
                throw new ODataException(Strings.ODataVersionChecker_ServerPagingNotSupported(version.VersionString()));
            }
        }
Exemplo n.º 8
0
        /// <summary>
        /// Check whether the inline count feature is supported in the specified version.
        /// </summary>
        /// <param name="version">The version to check.</param>
        /// <param name="propertyName">The name of the property which holds the multivalue.</param>
        internal static void CheckMultiValueProperties(ODataVersion version, string propertyName)
        {
            DebugUtils.CheckNoExternalCallers();

            if (version < ODataVersion.V3)
            {
                throw new ODataException(Strings.ODataVersionChecker_MultiValuePropertiesNotSupported(propertyName, version.VersionString()));
            }
        }