/*--------------------------------------------------------------------------------------------*/
        public override void ConsumePath(ITravPath pPath, Type pToType)
        {
            ITravPathItem item = ConsumeFirstPathItem(pPath, pToType);
            string        op   = ParamAt <string>(item, 0);

            var ev = new CreateFabEventor();

            ev.Type   = (byte)EventorType.Id.Start;           //to make validator happy
            ev.Year   = ParamAt <long>(item, 1);
            ev.Month  = ParamAt <byte>(item, 2);
            ev.Day    = ParamAt <byte>(item, 3);
            ev.Hour   = ParamAt <byte>(item, 4);
            ev.Minute = ParamAt <byte>(item, 5);
            ev.Second = ParamAt <byte>(item, 6);

            var validator = new CreateFabEventorValidator(ev);

            validator.Validate();

            long evDateTime = DataUtil.EventorTimesToLong(
                ev.Year, ev.Month, ev.Day, ev.Hour, ev.Minute, ev.Second);

            pPath.AddScript(
                ".has(" +
                pPath.AddParam(DbName.Vert.Factor.EventorDateTime) + ", " +
                GremlinUtil.GetStandardCompareOperation(op) + ", " +
                pPath.AddParam(evDateTime) +
                ")"
                );
        }
Esempio n. 2
0
        public void GetOperationCodes()
        {
            IList <string> result = GremlinUtil.GetOperationCodes();

            Assert.NotNull(result, "Result should be filled.");
            Assert.AreEqual(6, result.Count, "Incorrect result count.");

            for (int i = 0; i < result.Count; i++)
            {
                Assert.NotNull(result[i], "Result[" + i + "] should be filled.");
            }
        }
Esempio n. 3
0
        /*--------------------------------------------------------------------------------------------*/
        public override void ConsumePath(ITravPath pPath, Type pToType)
        {
            ConsumeFirstPathItem(pPath, pToType);

            pPath.AddScript(
                ".has(" +
                pPath.AddParam(DbName.Vert.Vertex.VertexType) + ", " +
                GremlinUtil.GetStandardCompareOperation(GremlinUtil.Equal) + ", " +
                pPath.AddParam(vType) +
                ")"
                );
        }
        /*--------------------------------------------------------------------------------------------*/
        public override void ConsumePath(ITravPath pPath, Type pToType)
        {
            ITravPathItem item = ConsumeFirstPathItem(pPath, pToType);
            string        val  = ParamAt <string>(item, 0);

            pPath.AddScript(
                ".has(" +
                pPath.AddParam(vPropDbName) + ", " +
                GremlinUtil.GetElasticContainsOperation() + ", " +
                pPath.AddParam(val) +
                ")"
                );
        }
Esempio n. 5
0
        ////////////////////////////////////////////////////////////////////////////////////////////////
        /*--------------------------------------------------------------------------------------------*/
        public TravStepWhere(string pCmd, string pPropDbName) : base(pCmd)
        {
            vPropDbName = pPropDbName;

            var op = new TravStepParam(0, "Operation", typeof(string));

            op.AcceptedStrings = GremlinUtil.GetOperationCodes();
            Params.Add(op);

            ParamValueType = typeof(TVal);
            Params.Add(new TravStepParam(1, "Value", ParamValueType)
            {
                IsGenericDataType = true
            });
        }
Esempio n. 6
0
        ////////////////////////////////////////////////////////////////////////////////////////////////
        /*--------------------------------------------------------------------------------------------*/
        public static void AddTypeFilterIfNecessary(ITravPath pPath, Type pStepType, Type pPathType)
        {
            if (pStepType != typeof(FabVertex) || pPathType == typeof(FabVertex))
            {
                return;
            }

            //TODO: BUG this doesn't work for 'artifacts' and 'vertices' traversals

            pPath.AddScript(
                ".has(" +
                pPath.AddParam(DbName.Vert.Vertex.VertexType) + ", " +
                GremlinUtil.GetStandardCompareOperation(GremlinUtil.Equal) + ", " +
                pPath.AddParam((byte)ApiToDomain.GetVertexTypeId(pPathType)) +
                ")"
                );
        }
        ////////////////////////////////////////////////////////////////////////////////////////////////
        /*--------------------------------------------------------------------------------------------*/
        public TravStepWhereEventorDateTime() : base("WhereEventorDateTime")
        {
            var p = new TravStepParam(0, "Operation", typeof(string));

            p.AcceptedStrings = GremlinUtil.GetOperationCodes();
            Params.Add(p);

            p     = new TravStepParam(1, CreateFabEventorValidator.YearName, typeof(long));
            p.Min = -100000000000;
            p.Max = 100000000000;
            Params.Add(p);

            p     = new TravStepParam(2, CreateFabEventorValidator.MonthName, typeof(byte));
            p.Min = 1;
            p.Max = 12;
            Params.Add(p);

            p     = new TravStepParam(3, CreateFabEventorValidator.DayName, typeof(byte));
            p.Min = 1;
            p.Max = 31;
            Params.Add(p);

            p     = new TravStepParam(4, CreateFabEventorValidator.HourName, typeof(byte));
            p.Min = 0;
            p.Max = 23;
            Params.Add(p);

            p     = new TravStepParam(5, CreateFabEventorValidator.MinuteName, typeof(byte));
            p.Min = 0;
            p.Max = 59;
            Params.Add(p);

            p     = new TravStepParam(6, CreateFabEventorValidator.SecondName, typeof(byte));
            p.Min = 0;
            p.Max = 59;
            Params.Add(p);
        }
Esempio n. 8
0
 /*--------------------------------------------------------------------------------------------*/
 protected override string GetGremlinOp(string pOp)
 {
     return(GremlinUtil.GetElasticCompareOperation(pOp));
 }
Esempio n. 9
0
        public void GetElasticContainsOperation()
        {
            string result = GremlinUtil.GetElasticContainsOperation();

            Assert.AreEqual("CONTAINS", result, "Incorrect result.");
        }
Esempio n. 10
0
        public void GetElasticCompareOperation(string pCode, string pExpect)
        {
            string result = GremlinUtil.GetElasticCompareOperation(pCode);

            Assert.AreEqual(pExpect, result, "Incorrect result.");
        }
Esempio n. 11
0
        public void GetStandardCompareOperation(string pCode)
        {
            string result = GremlinUtil.GetStandardCompareOperation(pCode);

            Assert.AreEqual("Tokens.T." + pCode, result, "Incorrect result.");
        }
Esempio n. 12
0
 ////////////////////////////////////////////////////////////////////////////////////////////////
 /*--------------------------------------------------------------------------------------------*/
 protected virtual string GetGremlinEqualOp()
 {
     return(GremlinUtil.GetStandardCompareOperation(GremlinUtil.Equal));
 }
Esempio n. 13
0
 ////////////////////////////////////////////////////////////////////////////////////////////////
 /*--------------------------------------------------------------------------------------------*/
 protected virtual string GetGremlinOp(string pOp)
 {
     return(GremlinUtil.GetStandardCompareOperation(pOp));
 }