コード例 #1
0
        /// <summary>
        /// Parse a oslc.properties expression
        /// </summary>
        /// <param name="propertiesExpression">contents of an oslc.properties HTTP query
        /// parameter</param>
        /// <param name="prefixMap"map between XML namespace prefixes and
        ///associated URLs></param>
        /// <returns>the parsed properties clause</returns>
        public static PropertiesClause parseProperties(string propertiesExpression, IReadOnlyDictionary <string, string> prefixMap)
        {
            try
            {
                var parser  = new OslcSelectParser(propertiesExpression);
                var rawTree = (CommonTree)parser.Result;
                var child   = rawTree.GetChild(0);

                if (child is CommonErrorNode)
                {
                    throw new ParseException(child.ToString());
                }

                return(new PropertiesClauseImpl(rawTree, prefixMap));
            }
            catch (RecognitionException e)
            {
                throw new ParseException(e);
            }
        }
コード例 #2
0
        /// <summary>
        /// Parse a oslc.select expression
        /// </summary>
        /// <param name="selectExpression">contents of an oslc.select HTTP query
        /// parameter</param>
        /// <param name="prefixMap">map between XML namespace prefixes and
        /// associated URLs</param>
        /// <returns>the parsed select clause</returns>
        public static SelectClause ParseSelect(string selectExpression, IReadOnlyDictionary <string, string> prefixMap)
        {
            try
            {
                var   parser  = new OslcSelectParser(selectExpression);
                var   rawTree = (CommonTree)parser.Result;
                ITree child   = rawTree.GetChild(0);

                if (child is CommonErrorNode)
                {
                    return(new SelectClauseImpl(isError: true, errorReason: child?.ToString()));
                }

                return(new SelectClauseImpl(rawTree, prefixMap));
            }
            catch (RecognitionException e)
            {
                return(new SelectClauseImpl(isError: true, errorReason: e.ToString()));
            }
        }
コード例 #3
0
ファイル: QueryUtils.cs プロジェクト: nenaaki/oslc4net
        ParseSelect(
            string selectExpression,
            IDictionary <string, string> prefixMap
            )
        {
            try
            {
                OslcSelectParser parser  = new OslcSelectParser(selectExpression);
                CommonTree       rawTree = (CommonTree)parser.Result;
                ITree            child   = rawTree.GetChild(0);

                if (child is CommonErrorNode)
                {
                    throw new ParseException(child.ToString());
                }

                return(new SelectClauseImpl(rawTree, prefixMap));
            } catch (RecognitionException e) {
                throw new ParseException(e);
            }
        }