/// <summary> /// Inits the entry point. /// </summary> /// <param name="workflowActivity">The workflow activity.</param> /// <param name="dataTransferObject">The data transfer object.</param> /// <param name="executionExtensions">The execution extensions.</param> /// <param name="instanceId">The instance id.</param> /// <param name="workspace">The workspace.</param> /// <param name="bookmarkName">Name of the bookmark.</param> /// <returns></returns> // ReSharper disable once UnusedParameter.Local // ignored as not sure how this method is invoked and what the knock on effect maybe private WorkflowApplication InitEntryPoint(Activity workflowActivity, IDSFDataObject dataTransferObject, IEnumerable <object> executionExtensions, Guid instanceId, IWorkspace workspace, string bookmarkName) { dataTransferObject.WorkspaceID = workspace.ID; Dictionary <string, object> inputarguments = new Dictionary <string, object>(); WorkflowApplication wfApp = null; Guid parentInstanceID = FetchParentInstanceId(dataTransferObject); if (parentInstanceID != Guid.Empty) { inputarguments.Add("ParentWorkflowInstanceId", parentInstanceID); if (!string.IsNullOrEmpty(dataTransferObject.ParentServiceName)) { inputarguments.Add("ParentServiceName", dataTransferObject.ParentServiceName); } } // Set the old AmbientDatalist as the DataListID ;) inputarguments.Add("AmbientDataList", new List <string> { dataTransferObject.DataListID.ToString() }); if ((parentInstanceID != Guid.Empty && instanceId == Guid.Empty) || string.IsNullOrEmpty(bookmarkName)) { wfApp = new WorkflowApplication(workflowActivity, inputarguments); } else { if (!string.IsNullOrEmpty(bookmarkName)) { wfApp = new WorkflowApplication(workflowActivity); } } if (wfApp != null) { wfApp.InstanceStore = InstanceStore; if (executionExtensions != null) { executionExtensions.ToList().ForEach(exec => wfApp.Extensions.Add(exec)); } // Force a save to the server ;) IDataListCompiler compiler = DataListFactory.CreateDataListCompiler(); IDev2DataLanguageParser parser = DataListFactory.CreateLanguageParser(); wfApp.Extensions.Add(dataTransferObject); wfApp.Extensions.Add(compiler); wfApp.Extensions.Add(parser); } return(wfApp); }
public void Extract_Recordset() { const string shape = @"<DL><recset><a/></recset></DL>"; const string exp = "[[recset()]]"; IDev2DataLanguageParser parser = DataListFactory.CreateLanguageParser(); IList <IIntellisenseResult> results = parser.ParseDataLanguageForIntellisense(exp, shape, true); Assert.IsTrue(results.Count == 1 && results[0].Option.Recordset == "recset" && results[0].Option.RecordsetIndex == ""); }
/// <summary> /// Gets the name of a recordset node from an output /// </summary> private string GetRecordsetNodeName(string outputDescription) { IDev2DataLanguageParser parser = DataListFactory.CreateLanguageParser(); IList <IIntellisenseResult> parts = parser.ParseDataLanguageForIntellisense(outputDescription, ""); if (parts.Count <= 0) { throw new Exception("Invalid output description '" + outputDescription + "'."); } return(parts[0].Option.Recordset); }
/// <summary> /// Gets the name of a node from an output description /// </summary> private string GetNodeName(string outputDescription) { IDev2DataLanguageParser parser = DataListFactory.CreateLanguageParser(); IList <IIntellisenseResult> parts = parser.ParseDataLanguageForIntellisense(outputDescription, ""); if (parts.Count <= 0) { throw new Exception(string.Format(ErrorResource.OutputDecriptionInvalid, outputDescription)); } return(parts.Last().Option.Field); }
private IList <IIntellisenseResult> GetIntellisenseResultsImpl(string input, enIntellisensePartType filterType) { IList <IIntellisenseResult> results = new List <IIntellisenseResult>(); if (!CreateDataList(input, results)) { return(results); } IntellisenseFilterOpsTO filterTO = new IntellisenseFilterOpsTO { FilterType = filterType, FilterCondition = FilterCondition }; IDev2DataLanguageParser parser = DataListFactory.CreateLanguageParser(); results = parser.ParseDataLanguageForIntellisense(input, CachedDataList, false, filterTO, true); return(results); }
/// <summary> /// Gets the value to use as a key for an ouotput description /// </summary> private string GetOutputDescriptionKey(string outputDescription) { IDev2DataLanguageParser parser = DataListFactory.CreateLanguageParser(); IList <IIntellisenseResult> parts = parser.ParseDataLanguageForIntellisense(outputDescription, ""); if (parts.Count <= 0) { throw new Exception("Invalid output description '" + outputDescription + "'."); } string key; if (parts[0].Option.IsScalar) { key = parts[0].Option.Field; } else { key = parts[0].Option.Recordset + "()"; } return(key); }
internal DataLanguageParserImplementation(IParserHelper parserHelper, IDev2DataLanguageParser dev2DataLanguageParser, IExtract extract) { _parserHelper = parserHelper; _dev2DataLanguageParser = dev2DataLanguageParser; _extract = extract; }
public DataLanguageParserImplementation(IParserHelper parserHelper, IDev2DataLanguageParser dev2DataLanguageParser) : this(parserHelper, dev2DataLanguageParser, new Extract(parserHelper, new Match(parserHelper))) { }