private void Start() { Result <Formula>[] result = ModelParser.ParseSentences(_input); if (result[0].IsValid) { if (result[0].Value is Predicate predicate) { Debug.Log("Predicate:" + predicate.Identifier); Debug.Log("Argument:" + ((Constant)predicate.Arguments[0]).Value); } } List <string> sentences = new List <string> { "Tet(a)" }; List <string> arguments = new List <string> { "a" }; List <string> predicates = new List <string> { "Tet" }; List <DataStruct> dataStructs = new List <DataStruct> { new DataStruct(arguments, predicates, 0, 0) }; var resultValidate = ModelValidater.ValidateModel(dataStructs, sentences); Debug.Log("Sentence is " + resultValidate.Value[0]); }
/// <summary> /// 抓图并获取数据 /// </summary> /// <param name="vodHandle">点播标示句柄</param> /// <returns>图片</returns> public System.Drawing.Image GrabPicture(Int32 vodHandle) { MyLog4Net.ILogExtension.DebugWithDebugView(MyLog4Net.Container.Instance.Log, string.Format("IVXSDKProtocol VdaSdk_GrabPictureData vodHandle:{0}" , vodHandle )); uint pictype = (uint)E_VDA_GRAB_PIC_TYPE.E_GRAB_PIC_BMP; uint buflen = 10 * 1024 * 1024; IntPtr picbuf = Marshal.AllocHGlobal((int)buflen); uint picdatalen = 0; bool retVal = IVXSDKProtocol.VdaSdk_GrabPictureData(vodHandle, pictype, picbuf, buflen, out picdatalen); if (!retVal) { // 调用失败,抛异常 CheckError(); } System.Drawing.Image img = ModelParser.GetImage(picbuf, (int)picdatalen); MyLog4Net.ILogExtension.DebugWithDebugView(MyLog4Net.Container.Instance.Log, string.Format("IVXSDKProtocol VdaSdk_GrabPictureData ret:{0},picdatalen:{1}" , retVal , picdatalen )); if (picbuf != IntPtr.Zero) { Marshal.FreeHGlobal(picbuf); } return(img); }
private static async Task <IReadOnlyDictionary <Dtmi, DTEntityInfo> > ParseModelsAsync(Dictionary <string, string> modelTexts) { IReadOnlyDictionary <Dtmi, DTEntityInfo> entities = null; try { var parser = new ModelParser(); entities = await parser.ParseAsync(modelTexts.Values); } catch (ParsingException ex) { Log.Error("Errors parsing models."); foreach (ParsingError error in ex.Errors) { Log.Error(error.Message); } } catch (Exception ex) { Log.Error("Errors parsing models."); Log.Error(ex.Message); } return(entities); }
public async Task <ReportViewModel> DoSearch(SearchViewModel model) { string url = string.Empty; url = _urlModel.Url + "customers/name?"; //if(model.CustomerName!= null && model.CustomerName!= string.Empty) // url += "name =" + model.CustomerName ; //if (model.Status != null && model.Status != string.Empty) // url += "&vehicleStatus=" + model.Status; url += "name=" + ((model.CustomerName == null)?string.Empty:model.CustomerName); url += "&vehicleStatus=" + ((model.Status == null) ? string.Empty : model.Status); var req = WebRequest.Create(url); var r = await req.GetResponseAsync().ConfigureAwait(false); var responseReader = new StreamReader(r.GetResponseStream()); var responseData = await responseReader.ReadToEndAsync(); var lstCustomers = Newtonsoft.Json.JsonConvert.DeserializeObject <Page <Customer> >(responseData).Items; var gridViewModel = new ReportViewModel { Data = ModelParser.GetCustomersRows(lstCustomers), Headers = ModelParser.GetCustomersHeaders(lstCustomers) }; TempData.Put("gridViewModel", gridViewModel); return(gridViewModel); }
/// <summary> /// 点播指定任务单元的视频 /// </summary> /// <param name="vodInfo">点播信息</param> /// <param name="userData">用户数据</param> /// <returns>-1表示失败,其他值表示返回的点播标示值。</returns> public Int32 PlayBackByTaskUnit(VodInfo vodInfo, UInt32 userData) { TVDASDK_TASK_UNIT_VOD_INFO info = new TVDASDK_TASK_UNIT_VOD_INFO(); info.bIsPlayAllFile = vodInfo.IsPlayAllFile; info.dwEndTime = ModelParser.ConvertLinuxTime(vodInfo.EndTime); info.dwStartTime = ModelParser.ConvertLinuxTime(vodInfo.StartTime); info.dwVideoTaskUnitID = vodInfo.VideoTaskUnitID; info.hPlayWnd = vodInfo.PlayWnd; MyLog4Net.ILogExtension.DebugWithDebugView(MyLog4Net.Container.Instance.Log, string.Format("IVXSDKProtocol VdaSdk_PlayBackByTaskUnit dwVideoTaskUnitID:{0}" + ",hPlayWnd:{1}" + ",bIsPlayAllFile:{2}" + ",dwStartTime:{3}" + ",dwEndTime:{4}" , info.dwVideoTaskUnitID , info.hPlayWnd , info.bIsPlayAllFile , info.dwStartTime , info.dwEndTime )); m_TfuncPlayPosCB = TfuncPlayPosCB; int retVal = IVXSDKProtocol.VdaSdk_PlayBackByTaskUnit(ref info, m_TfuncPlayPosCB, userData); if (-1 == retVal) { // 调用失败,抛异常 CheckError(); } MyLog4Net.ILogExtension.DebugWithDebugView(MyLog4Net.Container.Instance.Log, "IVXSDKProtocol VdaSdk_PlayBackByTaskUnit ret:" + retVal); return(retVal); }
/// <summary> /// 查询下一个案件(遍历接口) /// </summary> /// <param name="queryHandle">查询标示值</param> /// <returns>案件信息</returns> public CaseInfo QueryNextCase(Int32 queryHandle) { MyLog4Net.ILogExtension.DebugWithDebugView(MyLog4Net.Container.Instance.Log, "IVXSDKProtocol VdaSdk_QueryNextCase lQueryHandle:" + queryHandle); TVDASDK_CASE_INFO ptCaseInfo; bool retVal = IVXSDKProtocol.VdaSdk_QueryNextCase(queryHandle, out ptCaseInfo); CaseInfo caseInfo = null; // 不会有SDK调用失败的情况, 因为数据已经全部取到SDK了, 不需要再跟Server交互。所以不需要CheckError if (retVal) { MyLog4Net.ILogExtension.DebugWithDebugView(MyLog4Net.Container.Instance.Log, string.Format("IVXSDKProtocol VdaSdk_QueryNextCase ret:{0}," + "dwCaseID:{1}," + "szCaseHappenAddr:{2}," + "dwCaseHappenTime:{3}," + "szCaseDescription:{4}," + "szCaseName:{5}," + "szCaseNo:{6}," + Environment.NewLine , retVal , ptCaseInfo.dwCaseID , ptCaseInfo.tGroupBase.szCaseHappenAddr , ptCaseInfo.tGroupBase.dwCaseHappenTime , ptCaseInfo.tGroupBase.szCaseDescription , ptCaseInfo.tGroupBase.szCaseName , ptCaseInfo.tGroupBase.szCaseNo )); caseInfo = ModelParser.Convert(ptCaseInfo); } return(caseInfo); }
public static void Clean(string path, OracleDatabase target) { ModelParser parser = new ModelParser(); CleanModelHelper c = new CleanModelHelper(path, target, parser); c.Visit(); }
public void GivenTwoIdenticalConverters_WhenConverting_ThenTheLastAddedConverterShouldBeUsed() { // Arrange var model = new Mock(); var modelMap = ModelParser.Parse(model); var lastConverterCalled = false; var firstConverterCalled = false; modelMap.AddValueConverter( s => { firstConverterCalled = true; return(new CustomType(s)); }, uri => throw new NotImplementedException()); modelMap.AddValueConverter( s => { lastConverterCalled = true; return(new CustomType(s)); }, uri => throw new NotImplementedException()); // Act modelMap.SetOption("CustomTypeOption", "CustomValue"); // Assert Assert.False(firstConverterCalled); Assert.True(lastConverterCalled); }
public void GivenAExistingConverter_WhenOverwriting_ThenTheNewConverterIsUsed() { // Arrange var model = new Mock(); var modelMap = ModelParser.Parse(model); var toObjCalled = false; var toStringCalled = false; modelMap.AddValueConverter( s => { toObjCalled = true; return(int.Parse(s)); }, o => { toStringCalled = true; return(o.ToString()); }); // Act modelMap.SetOption("IntOption", "123"); // Assert Assert.Equal("123", modelMap.GetOption("IntOption")[0]); Assert.Equal(123, model.IntOption); Assert.True(toObjCalled); Assert.True(toStringCalled); }
private void OnDoorMoveEvent(NotifyClientMovedEvent evt) { if (!Settings.HasAdmin) { return; } if (!Settings.DoorChannelEnabled) { return; } if (string.IsNullOrEmpty(Settings.DoorChannelName)) { return; } string doorName = Settings.DoorChannelName; string doorMessage = string.IsNullOrEmpty(Settings.DoorMessage) ? "Left the house." : Settings.DoorMessage; doorMessage = ModelParser.ToStringAttribute(doorMessage); Channel channel = Client.GetChannelById(evt.ToChannelId); if (channel != null && channel.Name == doorName) { LogMessage($"{Client.GetClientById(evt.ClientId).Nickname} used the door channel"); Client.SendCommand($"clientkick reasonid=5 reasonmsg={doorMessage} clid={evt.ClientId}"); StatSettings.DoorUsed++; } }
/// <summary> /// 以图搜图检索请求 /// </summary> /// <param name="searchPara">检索条件</param> /// <returns>检索唯一编号</returns> public UInt32 StartCompareSearchByTaskUnit(SearchPara searchPara) { MyLog4Net.ILogExtension.DebugWithDebugView(MyLog4Net.Container.Instance.Log, "IVXSDKProtocol StartCompareSearchByTaskUnit"); UInt32 searchID = 0; TVDASDK_SEARCH_TASK_UNIT_LIST targets = ModelParser.GetTargetList(searchPara); TVDASDK_SEARCH_IMAGE_FILTER filter = ModelParser.GetCompareSearchFilter(searchPara); TVDASDK_SEARCH_RESULT_REQUIREMENT pageAndSortInfo = ModelParser.GetPageAndSortSettings(searchPara); UInt32 userData = 0; bool result = IVXSDKProtocol.VdaSdk_StartImageSearchByTaskUnitID(targets, filter, pageAndSortInfo, userData, ref searchID); if (!result) { CheckError(); } if (filter.tImageInfo.dwImageSize > 0) { Marshal.FreeHGlobal(filter.tImageInfo.ptImageData); } MyLog4Net.ILogExtension.DebugWithDebugView(MyLog4Net.Container.Instance.Log, "IVXSDKProtocol StartCompareSearchByTaskUnit ret :" + searchID); return(searchID); }
/// <inheritdoc /> public HttpVerb SelectHttpVerb(WebhookConfig webhookConfig, string payload) { //build the uri from the routes first var rules = webhookConfig.WebhookRequestRules.FirstOrDefault(r => r.Destination.RuleAction == RuleAction.Route); if (rules == null) { return(webhookConfig.HttpVerb); } if (rules.Source.Location != Location.Body) { return(webhookConfig.HttpVerb); } var value = ModelParser.ParsePayloadPropertyAsString(rules.Source.Path, payload); if (string.IsNullOrWhiteSpace(value)) { throw new ArgumentNullException(nameof(rules.Source.Path), "routing path value in message payload is null or empty"); } var route = rules.Routes.FirstOrDefault(r => r.Selector.Equals(value, StringComparison.OrdinalIgnoreCase)); if (route == null) { throw new Exception("route http verb mapping/selector not found between config and the properties on the domain object"); } return(route.HttpVerb); }
public ModelImageService( ModelParser modelParser, VariablesEvaluator variablesEvaluator) { _modelParser = modelParser; _variablesEvaluator = variablesEvaluator; }
/// <summary> /// 修改案件 /// </summary> /// <param name="caseInfo">案件信息</param> /// <returns>成功返回TRUE,失败返回FALSE</returns> public bool MdfCase(CaseInfo caseInfo) { TVDASDK_CASE_BASE tCaseBase = ModelParser.Convert(caseInfo); MyLog4Net.ILogExtension.DebugWithDebugView(MyLog4Net.Container.Instance.Log, string.Format("IVXSDKProtocol VdaSdk_MdfCase caseID:{0}," + "szCaseName:{1}," + "szCaseNo:{2}," + "dwCaseHappenTime:{3}," + "szCaseDescription:{4}," + "szCaseHappenAddr:{5}," + Environment.NewLine , caseInfo.CaseID , tCaseBase.szCaseName , tCaseBase.szCaseNo , tCaseBase.dwCaseHappenTime , tCaseBase.szCaseDescription , tCaseBase.szCaseHappenAddr )); bool retVal = IVXSDKProtocol.VdaSdk_MdfCase(caseInfo.CaseID, tCaseBase); if (!retVal) { // 调用失败,抛异常 CheckError(); } MyLog4Net.ILogExtension.DebugWithDebugView(MyLog4Net.Container.Instance.Log, string.Format("IVXSDKProtocol VdaSdk_MdfCase ret:{0}", retVal)); return(retVal); }
private void openXMLToolStripMenuItem_Click(object sender, EventArgs e) { if (xmlOpenDialog.LayoutManager == null) { xmlOpenDialog.LoadLayouts(); } if (xmlOpenDialog.ShowDialog() == DialogResult.OK) { ModelParser parser = new ModelParser(xmlOpenDialog.SelectedLayout); XmlModel model; try { model = parser.parseXmlFile(xmlOpenDialog.SelectedXmlPath); } catch (Exception ex) { MessageBox.Show(this, ex.Message + "|" + ex.StackTrace); return; } documentTreeView.Nodes.Clear(); addXmlNodesToTree(model.Nodes, documentTreeView.Nodes); documentTreeView.SelectedNode = documentTreeView.Nodes[0]; } }
public void SendTextMessage(MessageMode mode, string message, int targetId = -1) { message = ModelParser.ToStringAttribute(message); string target = targetId == -1 ? "" : $" target={targetId}"; SendCommand($"sendtextmessage targetmode={(int)mode} msg={message}{target}"); }
/// <summary> /// 获取指定案件详细信息 /// </summary> /// <param name="caseID">案件编号</param> /// <returns>案件信息</returns> public CaseInfo GetCaseByID(UInt32 caseID) { MyLog4Net.ILogExtension.DebugWithDebugView(MyLog4Net.Container.Instance.Log, "IVXSDKProtocol VdaSdk_GetCaseByID caseID:" + caseID); TVDASDK_CASE_INFO ptCaseInfo; bool retVal = IVXSDKProtocol.VdaSdk_GetCaseByID(caseID, out ptCaseInfo); if (!retVal) { // 调用失败,抛异常 CheckError(); // 如果不抛异常, 应该是记录不存在, 返回 null return(null); } MyLog4Net.ILogExtension.DebugWithDebugView(MyLog4Net.Container.Instance.Log, string.Format("IVXSDKProtocol VdaSdk_GetCaseByID ret:{0}," + "dwCaseID:{1}," + "szCaseHappenAddr:{2}," + "dwCaseHappenTime:{3}," + "szCaseDescription:{4}," + "szCaseName:{5}," + "szCaseNo:{6}," + Environment.NewLine , retVal , ptCaseInfo.dwCaseID , ptCaseInfo.tGroupBase.szCaseHappenAddr , ptCaseInfo.tGroupBase.dwCaseHappenTime , ptCaseInfo.tGroupBase.szCaseDescription , ptCaseInfo.tGroupBase.szCaseName , ptCaseInfo.tGroupBase.szCaseNo )); CaseInfo caseInfo = ModelParser.Convert(ptCaseInfo); return(retVal ? caseInfo : null); }
public async Task ParserValidationResolveFromLocalRepository() { ModelParser parser = new ModelParser(); string TestRegistryPath = TestHelpers.TestLocalModelRepository; List <string> parseModelPaths = new List <string>() { $"{TestRegistryPath}/dtmi/company/demodevice-2.json", $"{TestRegistryPath}/dtmi/com/example/temperaturecontroller-1.json", $"{TestRegistryPath}/dtmi/com/example/camera-3.json", }; // Shows how to quickly integrate the resolver client with the parser. ResolverClient client = new ResolverClient(TestRegistryPath); parser.DtmiResolver = client.ParserDtmiResolver; foreach (string modelPath in parseModelPaths) { // Parser will throw on validation errors try { await parser.ParseAsync(new string[] { File.ReadAllText(modelPath) }); } catch (Exception e) { Assert.Fail(e.Message); } } }
/// <inheritdoc /> public HttpVerb SelectHttpVerb(WebhookConfig webhookConfig, string payload) { //build the uri from the routes first var routingRules = webhookConfig.WebhookRequestRules.FirstOrDefault(l => l.Routes.Any()); if (routingRules != null) { if (routingRules.Source.Location == Location.Body) { var path = routingRules.Source.Path; var value = ModelParser.ParsePayloadPropertyAsString(path, payload); if (string.IsNullOrWhiteSpace(value)) { throw new ArgumentNullException(nameof(path), "routing path value in message payload is null or empty"); } //selects the route based on the value found in the payload of the message foreach (var rules in webhookConfig.WebhookRequestRules.Where(r => r.Routes.Any())) { var route = rules.Routes.FirstOrDefault(r => r.Selector.Equals(value, StringComparison.OrdinalIgnoreCase)); if (route != null) { return(route.HttpVerb); } throw new Exception("route http verb mapping/selector not found between config and the properties on the domain object"); } } } return(webhookConfig.HttpVerb); }
private async Task ValidateAsync(string input, string resolverName) { ModelParser parser = new ModelParser(); parser.Options = new HashSet <ModelParsingOption>() { ModelParsingOption.StrictPartitionEnforcement }; ConfigureResolver(parser, resolverName); try { var parserResult = await parser.ParseAsync(new string[] { File.ReadAllText(input) }); Console.WriteLine("Resolution completed"); foreach (var item in parserResult.Values) { this.log.LogTrace(item.Id.AbsoluteUri); } Console.WriteLine($"\nValidation Passed: {input}"); } catch (Exception ex) { Environment.ExitCode = 1; log.LogError(ex, "DTDL Parser Exception"); } }
static async Task Main(string[] args) { if (args.Length < 1) { Console.WriteLine("Usage: repo-client <dtmi>"); return; } string rootDtmi = args[0]; GetModel(rootDtmi); ModelParser parser = new ModelParser(); try { //modelParser.DtmiResolver = LocalDtmiResolver; var parsedDtmis = await parser.ParseAsync(allModels.Values); var interfaces = parsedDtmis.Where(r => r.Value.EntityKind == DTEntityKind.Interface).ToList(); foreach (var dt in interfaces) { Console.WriteLine(dt.Key.AbsoluteUri + " " + dt.Value.DefinedIn); var ifcs = parsedDtmis.Where(r => r.Value.DefinedIn == dt.Key); foreach (var i in ifcs) { Console.WriteLine(i.Value.Id); } } } catch (Exception ex) { Console.WriteLine(ex.Message); } }
public async Task ParseDemoAsync(DigitalTwinsClient client) { try { AsyncPageable <DigitalTwinsModelData> mdata = client.GetModelsAsync(new GetModelsOptions { IncludeModelDefinition = true }); var models = new List <string>(); await foreach (DigitalTwinsModelData md in mdata) { models.Add(md.DtdlModel); } var parser = new ModelParser(); IReadOnlyDictionary <Dtmi, DTEntityInfo> dtdlOM = await parser.ParseAsync(models); var interfaces = new List <DTInterfaceInfo>(); IEnumerable <DTInterfaceInfo> ifenum = from entity in dtdlOM.Values where entity.EntityKind == DTEntityKind.Interface select entity as DTInterfaceInfo; interfaces.AddRange(ifenum); foreach (DTInterfaceInfo dtif in interfaces) { PrintInterfaceContent(dtif, dtdlOM); } } catch (RequestFailedException ex) { Console.WriteLine($"Failed due to {ex}"); throw; } }
public void ModelParser_ParseSentence_InvalidPredicate() { string _testSentence = "Teta"; Result <Formula>[] resultFormula = ModelParser.ParseSentences(_testSentence); Assert.IsFalse(resultFormula[0].IsValid); }
public ModelParser GetDtdlParser() { ModelParser parser = new ModelParser { DtmiResolver = _repositoryClient.ParserDtmiResolver }; return(parser); }
public SkuDescriptionService( ISkuDescriptionDao skuDescriptionDao, ModelParser modelParser, ICatalogModelsCache catalogModelsCache) { _skuDescriptionDao = skuDescriptionDao; _modelParser = modelParser; _catalogModelsCache = catalogModelsCache; }
public ModelInfoCache( ICache cache, ExpressionCalculatorService expressionCalculatorService, ModelParser modelParser) { _cache = cache; _expressionCalculatorService = expressionCalculatorService; _modelParser = modelParser; }
public override void AddListItem(string itemString) { if (Items == null) { Items = new List <BanEntry>(); } BanEntry item = ModelParser.ParseModelFromAttributeString <BanEntry>(itemString); Items.Add(item); }
public void SetUp() { LayoutParser layoutParser = new LayoutParser(); // The IDE is supposed to run this program from [XmLift Tests directory]/bin/[Debug|Release] // We go back three levels to find the sample files in the root of the project Layout layout = layoutParser.parseXmlFile("../../../DemoFiles/SampleLayout.xml"); parser = new ModelParser(layout); }
public ModelParser GetParser(DependencyResolutionOption resolutionOption = DependencyResolutionOption.Enabled) { ResolverClient client = GetResolver(resolutionOption); ModelParser parser = new ModelParser { DtmiResolver = client.ParserDtmiResolver }; return(parser); }
public ModelParser GetParser() { ResolverClient client = GetResolver(); ModelParser parser = new ModelParser { DtmiResolver = client.ParserDtmiResolver }; return(parser); }