예제 #1
0
        public virtual void Request(SpecificationRequest request)
        {
            ThrowArgumentExceptionIfArgIsNull(request, "request");

            HandleRequest(request);

            if (SuccessorSpecified())
            {
                successor.Request(request);
            }
        }
예제 #2
0
        // TODO: Improve readability
        public override void HandleRequest(SpecificationRequest request)
        {
            var specification = request.Specification;

            if (specification is AndExpressionSpecification<Changeset>)
            {
                var andSpec = specification as AndExpressionSpecification<Changeset>;
                if (andSpec.Left is ChangesetsAfterRevisionSpecification)
                    specification = andSpec.Left;
                else if (andSpec.Right is ChangesetsAfterRevisionSpecification)
                    specification = andSpec.Right;
            }

            if (specification is ChangesetsAfterRevisionSpecification)
            {
                var revisionSpec = specification as ChangesetsAfterRevisionSpecification;
                if (revisionSpec.Revision != 0)
                {
                    request.SvnLogArgs.Range = new SvnRevisionRange(revisionSpec.Revision, long.MaxValue);
                }
            }
        }
예제 #3
0
 public abstract void HandleRequest(SpecificationRequest request);