Beispiel #1
0
        public void AddBodyClause()
        {
            IBodyClause clause = ExpressionHelper.CreateWhereClause();

            _queryModel.BodyClauses.Add(clause);

            Assert.That(_queryModel.BodyClauses.Count, Is.EqualTo(1));
            Assert.That(_queryModel.BodyClauses, Has.Member(clause));
        }
Beispiel #2
0
 // TODO - store the indexes of the join clauses when we find them, then can remove this loop
 private void SwapClause(IBodyClause oldClause, IBodyClause newClause)
 {
     for (int i = 0; i < _model.BodyClauses.Count; i++)
     {
         if (_model.BodyClauses[i] == oldClause)
         {
             _model.BodyClauses[i] = newClause;
         }
     }
 }
 // TODO - store the indexes of the join clauses when we find them, then can remove this loop
 private static void SwapClause(IBodyClause oldClause, IBodyClause newClause, QueryModel model)
 {
     for (int i = 0; i < model.BodyClauses.Count; i++)
     {
         if (model.BodyClauses[i] == oldClause)
         {
             model.BodyClauses[i] = newClause;
         }
     }
 }
Beispiel #4
0
        public void Search(IBodyClause clause)
        {
            _references = false;

            clause.TransformExpressions(ExpressionSearcher);

            if (_references)
            {
                _clauses.Add(clause);
            }
        }
Beispiel #5
0
 // TODO - store the indexes of the join clauses when we find them, then can remove this loop
 private void SwapClause(IBodyClause oldClause, IBodyClause newClause)
 {
     for (int i = 0; i < _model.BodyClauses.Count; i++)
     {
         if (_model.BodyClauses[i] == oldClause)
         {
             _model.BodyClauses.RemoveAt(i);
             _model.BodyClauses.Insert(i, newClause);
         }
     }
 }
Beispiel #6
0
        public void AddSeveralOrderByClauses()
        {
            IBodyClause orderByClause1 = ExpressionHelper.CreateOrderByClause();
            IBodyClause orderByClause2 = ExpressionHelper.CreateOrderByClause();

            _queryModel.BodyClauses.Add(orderByClause1);
            _queryModel.BodyClauses.Add(orderByClause2);

            Assert.That(_queryModel.BodyClauses.Count, Is.EqualTo(2));
            Assert.That(_queryModel.BodyClauses, Is.EqualTo(new object[] { orderByClause1, orderByClause2 }));
        }
Beispiel #7
0
        public void Search(IBodyClause clause)
        {
            if (!(clause is IQuerySource querySource))
            {
                return;
            }

            _references = false;

            clause.TransformExpressions(ExpressionSearcher);

            if (_references)
            {
                Usages.Add(querySource);
            }
        }
        public static void ReWrite(QueryModel queryModel)
        {
            int len = queryModel.BodyClauses.Count;

            for (int i = 0; i < len; i++)
            {
                if (queryModel.BodyClauses[i] is OrderByClause)
                {
                    // If we find an order by clause, move it to the end of the list.
                    // This preserves the ordering of multiple orderby clauses if there are any.
                    IBodyClause clause = queryModel.BodyClauses[i];
                    queryModel.BodyClauses.RemoveAt(i);
                    queryModel.BodyClauses.Add(clause);
                    i--;
                    len--;
                }
            }
        }
        public void SetUp()
        {
            _mockRepository = new MockRepository();
            _visitorMock    = _mockRepository.StrictMock <TestQueryModelVisitor>();

            _bodyClauseMock1 = _mockRepository.StrictMock <IBodyClause>();
            _bodyClauseMock2 = _mockRepository.StrictMock <IBodyClause>();

            _ordering1 = new Ordering(ExpressionHelper.CreateExpression(), OrderingDirection.Asc);
            _ordering2 = new Ordering(ExpressionHelper.CreateExpression(), OrderingDirection.Asc);

            _resultOperator1 = new TestResultOperator();
            _resultOperator2 = new TestResultOperator();

            _queryModel      = ExpressionHelper.CreateQueryModel <Cook>();
            _orderByClause   = ExpressionHelper.CreateOrderByClause();
            _groupJoinClause = ExpressionHelper.CreateGroupJoinClause <Cook>();
        }
    public void SetUp ()
    {
      _mockRepository = new MockRepository();
      _visitorMock = _mockRepository.StrictMock<TestQueryModelVisitor>();

      _bodyClauseMock1 = _mockRepository.StrictMock<IBodyClause>();
      _bodyClauseMock2 = _mockRepository.StrictMock<IBodyClause>();

      _ordering1 = new Ordering (ExpressionHelper.CreateExpression(), OrderingDirection.Asc);
      _ordering2 = new Ordering (ExpressionHelper.CreateExpression(), OrderingDirection.Asc);

      _resultOperator1 = new TestResultOperator();
      _resultOperator2 = new TestResultOperator();

      _queryModel = ExpressionHelper.CreateQueryModel<Cook>();
      _orderByClause = ExpressionHelper.CreateOrderByClause();
      _groupJoinClause = ExpressionHelper.CreateGroupJoinClause<Cook>();
    }
Beispiel #11
0
        public override void VisitSelectClause(SelectClause selectClause, QueryModel queryModel)
        {
            ISparqlQueryGenerator currentGenerator = QueryGeneratorTree.CurrentGenerator;

            currentGenerator.OnBeforeSelectClauseVisited(selectClause.Selector);

            for (int i = 0; i < queryModel.BodyClauses.Count; i++)
            {
                IBodyClause c = queryModel.BodyClauses[i];

                c.Accept(this, queryModel, i);
            }

            for (int i = 0; i < queryModel.ResultOperators.Count; i++)
            {
                ResultOperatorBase o = queryModel.ResultOperators[i];

                o.Accept(this, queryModel, i);
            }

            currentGenerator.OnSelectClauseVisited(selectClause.Selector);
        }
 public TestMethodCallExpressionNode (MethodCallExpressionParseInfo parseInfo, IBodyClause bodyClauseToAddInApply)
     : base (parseInfo)
 {
   _bodyClauseToAddInApply = bodyClauseToAddInApply;
 }
		public void Search(IBodyClause clause)
		{
			_references = false;

			clause.TransformExpressions(ExpressionSearcher);

			if (_references)
			{
				_clauses.Add(clause);
			}
		}
		// TODO - store the indexes of the join clauses when we find them, then can remove this loop
		private void SwapClause(IBodyClause oldClause, IBodyClause newClause)
		{
			for (int i = 0; i < _model.BodyClauses.Count; i++)
			{
				if (_model.BodyClauses[i] == oldClause)
				{
					_model.BodyClauses.RemoveAt(i);
					_model.BodyClauses.Insert(i, newClause);
				}
			}
		}
 public TestMethodCallExpressionNode(MethodCallExpressionParseInfo parseInfo, IBodyClause bodyClauseToAddInApply)
     : base(parseInfo)
 {
     _bodyClauseToAddInApply = bodyClauseToAddInApply;
 }