/// <summary> /// Invokes the QueryFirst service. /// </summary> public virtual ResponseHeader QueryFirst( RequestHeader requestHeader, ViewDescription view, NodeTypeDescriptionCollection nodeTypes, ContentFilter filter, uint maxDataSetsToReturn, uint maxReferencesToReturn, out QueryDataSetCollection queryDataSets, out byte[] continuationPoint, out ParsingResultCollection parsingResults, out DiagnosticInfoCollection diagnosticInfos, out ContentFilterResult filterResult) { queryDataSets = null; continuationPoint = null; parsingResults = null; diagnosticInfos = null; filterResult = null; ValidateRequest(requestHeader); // Insert implementation. return(CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported)); }
ToContextFilterResult(DiagnosticsMasks diagnosticsMasks, StringTable stringTable) { ContentFilterResult result = new ContentFilterResult(); if (m_elementResults == null || m_elementResults.Count == 0) { return(result); } bool error = false; foreach (ElementResult elementResult in m_elementResults) { ContentFilterElementResult elementResult2 = null; if (elementResult == null || ServiceResult.IsGood(elementResult.Status)) { elementResult2 = new ContentFilterElementResult(); elementResult2.StatusCode = StatusCodes.Good; result.ElementResults.Add(elementResult2); result.ElementDiagnosticInfos.Add(null); continue; } error = true; elementResult2 = elementResult.ToContentFilterElementResult(diagnosticsMasks, stringTable); result.ElementResults.Add(elementResult2); result.ElementDiagnosticInfos.Add(new DiagnosticInfo(elementResult.Status, diagnosticsMasks, false, stringTable)); } if (!error) { result.ElementResults.Clear(); result.ElementDiagnosticInfos.Clear(); } return(result); }
private static void QueryFirstCall(Session session) { ViewDescription vd = new ViewDescription(); vd.ViewId = 5000; vd.ViewVersion = 0; NodeTypeDescriptionCollection nt = new NodeTypeDescriptionCollection(); NodeTypeDescription ntd = new NodeTypeDescription(); ExpandedNodeId enid = new ExpandedNodeId("ns=3;s=AirConditioner_1"); ntd.TypeDefinitionNode = enid; nt.Add(ntd); ContentFilterElement cfe = new ContentFilterElement(); ContentFilterElementCollection cfec = new ContentFilterElementCollection(); cfec.Add(cfe); ContentFilter cf = new ContentFilter(); cf.Elements = cfec; QueryDataSetCollection qdsc = new QueryDataSetCollection(); byte[] cp = new byte[100]; ParsingResultCollection prc = new ParsingResultCollection(); DiagnosticInfoCollection dic = new DiagnosticInfoCollection(); ContentFilterResult cfr = new ContentFilterResult(); try { var rs = session.QueryFirst(null, vd, nt, cf, 1000, 1000, out qdsc, out cp, out prc, out dic, out cfr); } catch (Exception eX) { Console.WriteLine("EXCEPTION: QueryFirst : {0}", eX.Message); } }
/// <summary> /// Converts the object to an ContentFilterResult. /// </summary> /// <param name="diagnosticsMasks">The diagnostics masks.</param> /// <param name="stringTable">The string table.</param> /// <returns></returns> public ContentFilterResult ToContextFilterResult(DiagnosticsMasks diagnosticsMasks, StringTable stringTable) { ContentFilterResult result = new ContentFilterResult(); if (m_elementResults == null || m_elementResults.Count == 0) { return result; } bool error = false; foreach (ElementResult elementResult in m_elementResults) { ContentFilterElementResult elementResult2 = null; if (elementResult == null || ServiceResult.IsGood(elementResult.Status)) { elementResult2 = new ContentFilterElementResult(); elementResult2.StatusCode = StatusCodes.Good; result.ElementResults.Add(elementResult2); result.ElementDiagnosticInfos.Add(null); continue; } error = true; elementResult2 = elementResult.ToContentFilterElementResult(diagnosticsMasks, stringTable); result.ElementResults.Add(elementResult2); result.ElementDiagnosticInfos.Add(new DiagnosticInfo(elementResult.Status, diagnosticsMasks, false, stringTable)); } if (!error) { result.ElementResults.Clear(); result.ElementDiagnosticInfos.Clear(); } return result; }
/// <summary> /// Invokes the QueryFirst service. /// </summary> public virtual ResponseHeader QueryFirst( RequestHeader requestHeader, ViewDescription view, NodeTypeDescriptionCollection nodeTypes, ContentFilter filter, uint maxDataSetsToReturn, uint maxReferencesToReturn, out QueryDataSetCollection queryDataSets, out byte[] continuationPoint, out ParsingResultCollection parsingResults, out DiagnosticInfoCollection diagnosticInfos, out ContentFilterResult filterResult) { queryDataSets = null; continuationPoint = null; parsingResults = null; diagnosticInfos = null; filterResult = null; ValidateRequest(requestHeader); // Insert implementation. return CreateResponse(requestHeader, StatusCodes.BadServiceUnsupported); }
private ContentFilterResult FilterHtmlForList(IPost post, IProjectSettings settings, bool useTeaser) { var result = new ContentFilterResult(); if (useTeaser) { TeaserResult teaserResult = null; string teaser = null; if (!string.IsNullOrWhiteSpace(post.TeaserOverride)) { if (post.ContentType == "markdown") { teaser = MapImageUrlsToCdn( ConvertMarkdownToHtml(post.TeaserOverride), settings.CdnUrl, settings.LocalMediaVirtualPath); } else { teaser = MapImageUrlsToCdn( post.TeaserOverride, settings.CdnUrl, settings.LocalMediaVirtualPath); } result.FilteredContent = teaser; result.IsFullContent = false; } else if (!string.IsNullOrWhiteSpace(post.AutoTeaser)) // as of 2018-08-20 this gets populated on save { teaser = MapImageUrlsToCdn( post.AutoTeaser, settings.CdnUrl, settings.LocalMediaVirtualPath); result.FilteredContent = teaser; result.IsFullContent = false; } else { // need to generate teaser if (post.ContentType == "markdown") { var html = MapImageUrlsToCdn( ConvertMarkdownToHtml(post.CoalesceContentToDraftContent()), settings.CdnUrl, settings.LocalMediaVirtualPath); teaserResult = _teaserService.GenerateTeaser( settings.TeaserTruncationMode, settings.TeaserTruncationLength, html, post.Id, post.Slug, settings.LanguageCode ); } else { var html = MapImageUrlsToCdn( post.CoalesceContentToDraftContent(), settings.CdnUrl, settings.LocalMediaVirtualPath); teaserResult = _teaserService.GenerateTeaser( settings.TeaserTruncationMode, settings.TeaserTruncationLength, html, post.Id, post.Slug, settings.LanguageCode ); } result.FilteredContent = teaserResult.Content; result.IsFullContent = !teaserResult.DidTruncate; } } else { // using full content if (post.ContentType == "markdown") { result.FilteredContent = MapImageUrlsToCdn( ConvertMarkdownToHtml(post.CoalesceContentToDraftContent()), settings.CdnUrl, settings.LocalMediaVirtualPath); } else { result.FilteredContent = MapImageUrlsToCdn( post.CoalesceContentToDraftContent(), settings.CdnUrl, settings.LocalMediaVirtualPath); } result.IsFullContent = true; } return(result); }
/// <summary> /// Finishes an asynchronous invocation of the QueryFirst service. /// </summary> public ResponseHeader EndQueryFirst( IAsyncResult result, out QueryDataSetCollection queryDataSets, out byte[] continuationPoint, out ParsingResultCollection parsingResults, out DiagnosticInfoCollection diagnosticInfos, out ContentFilterResult filterResult) { QueryFirstResponse response = null; try { if (UseTransportChannel) { IServiceResponse genericResponse = TransportChannel.EndSendRequest(result); if (genericResponse == null) { throw new ServiceResultException(StatusCodes.BadUnknownResponse); } ValidateResponse(genericResponse.ResponseHeader); response = (QueryFirstResponse)genericResponse; } else { QueryFirstResponseMessage responseMessage = InnerChannel.EndQueryFirst(result); if (responseMessage == null || responseMessage.QueryFirstResponse == null) { throw new ServiceResultException(StatusCodes.BadUnknownResponse); } response = responseMessage.QueryFirstResponse; ValidateResponse(response.ResponseHeader); } queryDataSets = response.QueryDataSets; continuationPoint = response.ContinuationPoint; parsingResults = response.ParsingResults; diagnosticInfos = response.DiagnosticInfos; filterResult = response.FilterResult; } finally { RequestCompleted(null, response, "QueryFirst"); } return response.ResponseHeader; }
/// <summary> /// Invokes the QueryFirst service. /// </summary> public virtual ResponseHeader QueryFirst( RequestHeader requestHeader, ViewDescription view, NodeTypeDescriptionCollection nodeTypes, ContentFilter filter, uint maxDataSetsToReturn, uint maxReferencesToReturn, out QueryDataSetCollection queryDataSets, out byte[] continuationPoint, out ParsingResultCollection parsingResults, out DiagnosticInfoCollection diagnosticInfos, out ContentFilterResult filterResult) { QueryFirstRequest request = new QueryFirstRequest(); QueryFirstResponse response = null; request.RequestHeader = requestHeader; request.View = view; request.NodeTypes = nodeTypes; request.Filter = filter; request.MaxDataSetsToReturn = maxDataSetsToReturn; request.MaxReferencesToReturn = maxReferencesToReturn; UpdateRequestHeader(request, requestHeader == null, "QueryFirst"); try { if (UseTransportChannel) { IServiceResponse genericResponse = TransportChannel.SendRequest(request); if (genericResponse == null) { throw new ServiceResultException(StatusCodes.BadUnknownResponse); } ValidateResponse(genericResponse.ResponseHeader); response = (QueryFirstResponse)genericResponse; } else { QueryFirstResponseMessage responseMessage = InnerChannel.QueryFirst(new QueryFirstMessage(request)); if (responseMessage == null || responseMessage.QueryFirstResponse == null) { throw new ServiceResultException(StatusCodes.BadUnknownResponse); } response = responseMessage.QueryFirstResponse; ValidateResponse(response.ResponseHeader); } queryDataSets = response.QueryDataSets; continuationPoint = response.ContinuationPoint; parsingResults = response.ParsingResults; diagnosticInfos = response.DiagnosticInfos; filterResult = response.FilterResult; } finally { RequestCompleted(request, response, "QueryFirst"); } return response.ResponseHeader; }