/*--------------------------------------------------------------------------------------------*/ 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) + ")" ); }
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."); } }
/*--------------------------------------------------------------------------------------------*/ 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) + ")" ); }
//////////////////////////////////////////////////////////////////////////////////////////////// /*--------------------------------------------------------------------------------------------*/ 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 }); }
//////////////////////////////////////////////////////////////////////////////////////////////// /*--------------------------------------------------------------------------------------------*/ 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); }
/*--------------------------------------------------------------------------------------------*/ protected override string GetGremlinOp(string pOp) { return(GremlinUtil.GetElasticCompareOperation(pOp)); }
public void GetElasticContainsOperation() { string result = GremlinUtil.GetElasticContainsOperation(); Assert.AreEqual("CONTAINS", result, "Incorrect result."); }
public void GetElasticCompareOperation(string pCode, string pExpect) { string result = GremlinUtil.GetElasticCompareOperation(pCode); Assert.AreEqual(pExpect, result, "Incorrect result."); }
public void GetStandardCompareOperation(string pCode) { string result = GremlinUtil.GetStandardCompareOperation(pCode); Assert.AreEqual("Tokens.T." + pCode, result, "Incorrect result."); }
//////////////////////////////////////////////////////////////////////////////////////////////// /*--------------------------------------------------------------------------------------------*/ protected virtual string GetGremlinEqualOp() { return(GremlinUtil.GetStandardCompareOperation(GremlinUtil.Equal)); }
//////////////////////////////////////////////////////////////////////////////////////////////// /*--------------------------------------------------------------------------------------------*/ protected virtual string GetGremlinOp(string pOp) { return(GremlinUtil.GetStandardCompareOperation(pOp)); }