/// <summary> /// Fetches the intellisense parts. /// </summary> /// <returns></returns> public IList <IDev2DataLanguageIntellisensePart> FetchIntellisenseParts() { if (BinaryDataList == null) { return(null); } return(BinaryDataList.FetchIntellisenseParts()); }
public virtual void CleanUp() { CleanUpCalled = true; IDataListCompiler compiler = DataListFactory.CreateDataListCompiler(); if (BinaryDataList != null) { compiler.ForceDeleteDataListByID(BinaryDataList.UID); BinaryDataList.Dispose(); } }
// internal to impl api methods private IBinaryDataList ConvertTo(byte[] input, StringBuilder targetShape, out ErrorResultTO errors, bool onlyMapInputs) { errors = new ErrorResultTO(); string payload = Encoding.UTF8.GetString(input); IBinaryDataList result = new BinaryDataList(); TranslatorUtils tu = new TranslatorUtils(); // build shape if (targetShape == null) { errors.AddError("Null payload or shape"); } else { ErrorResultTO invokeErrors; result = tu.TranslateShapeToObject(targetShape, true, out invokeErrors); errors.MergeErrors(invokeErrors); // populate the shape if (payload != string.Empty) { try { string toLoad = DataListUtil.StripCrap(payload); // clean up the rubish ;) XmlDocument xDoc = new XmlDocument(); // BUG 9626 - 2013.06.11 - TWR: ensure our DocumentElement toLoad = string.Format("<Tmp{0}>{1}</Tmp{0}>", Guid.NewGuid().ToString("N"), toLoad); xDoc.LoadXml(toLoad); if (xDoc.DocumentElement != null) { XmlNodeList children = xDoc.DocumentElement.ChildNodes; IDictionary <string, int> indexCache = new Dictionary <string, int>(); // BUG 9626 - 2013.06.11 - TWR: refactored for recursion TryConvert(children, result, indexCache, errors, onlyMapInputs); } // Transfer System Tags for (int i = 0; i < TranslationConstants.systemTags.Length; i++) { string key = TranslationConstants.systemTags.GetValue(i).ToString(); string query = String.Concat("//", key); XmlNode n = xDoc.SelectSingleNode(query); // try system namespace tags ;) if (n == null) { var values = "//" + DataListUtil.BuildSystemTagForDataList(key, false); query = values; n = xDoc.SelectSingleNode(query); } if (n != null && !string.IsNullOrEmpty(n.InnerXml)) { string bkey = DataListUtil.BuildSystemTagForDataList(key, false); string error; IBinaryDataListEntry sysEntry; if (result.TryGetEntry(bkey, out sysEntry, out error)) { sysEntry.TryPutScalar(Dev2BinaryDataListFactory.CreateBinaryItem(n.InnerXml, bkey), out error); } } } } catch (Exception e) { // if use passed in empty input they only wanted the shape ;) if (input.Length > 0) { errors.AddError(e.Message); } } } } return(result); }