/// <summary> /// Protected constructor for the abstract class. /// </summary> /// <param name="httpClientUtil">A configured <see cref="HttpClientUtil"/> instance for performing web requests</param> /// <param name="featureTypeInfo">A <see cref="WfsFeatureTypeInfo"/> instance providing metadata of the featuretype to query</param> /// <param name="labelInfo">A FeatureDataTable for labels</param> protected GeometryFactory(HttpClientUtil httpClientUtil, WfsFeatureTypeInfo featureTypeInfo, FeatureDataTable labelInfo) { _FeatureTypeInfo = featureTypeInfo; _HttpClientUtil = httpClientUtil; createReader(httpClientUtil); try { if (labelInfo != null) { _LabelInfo = labelInfo; _LabelNode = new PathNode(_FeatureTypeInfo.FeatureTypeNamespace, _LabelInfo.Columns[0].ColumnName, (NameTable) _XmlReader.NameTable); } } catch (Exception ex) { Trace.TraceError("An exception occured while initializing the label path node!"); throw ex; } initializePathNodes(); initializeSeparators(); }
/// <summary> /// Initializes a new instance of the <see cref="XPathQueryManager"/> class. /// </summary> /// <param name="httpClientUtil">A configured <see cref="HttpClientUtil"/> instance for performing web requests</param> public XPathQueryManager(HttpClientUtil httpClientUtil) { SetDocumentToParse(httpClientUtil); }
/// <summary> /// Sets a new XML document. /// </summary> /// <param name="httpClientUtil">A configured <see cref="HttpClientUtil"/> instance for performing web requests</param> public void SetDocumentToParse(HttpClientUtil httpClientUtil) { try { initializeXPathObjects(httpClientUtil.GetDataStream()); } finally { httpClientUtil.Close(); } }
/// <summary> /// This method invokes the corresponding method of the inherent <see cref="IXPathQueryManager"/> instance. /// </summary> /// <param name="httpClientUtil">A configured <see cref="HttpClientUtil"/> instance for performing web requests</param> public virtual void SetDocumentToParse(HttpClientUtil httpClientUtil) { _XPathQueryManager.SetDocumentToParse(httpClientUtil); }
/// <summary> /// Initializes a new instance of the <see cref="UnspecifiedGeometryFactory_WFS1_0_0_GML2"/> class. /// </summary> /// <param name="httpClientUtil">A configured <see cref="HttpClientUtil"/> instance for performing web requests</param> /// <param name="featureTypeInfo">A <see cref="WfsFeatureTypeInfo"/> instance providing metadata of the featuretype to query</param> /// <param name="multiGeometries">A boolean value specifying whether multi-geometries should be created</param> /// <param name="quickGeometries">A boolean value specifying whether the factory should create geometries quickly, but without validation</param> /// <param name="labelInfo">A FeatureDataTable for labels</param> internal UnspecifiedGeometryFactory_WFS1_0_0_GML2(HttpClientUtil httpClientUtil, WfsFeatureTypeInfo featureTypeInfo, bool multiGeometries, bool quickGeometries, FeatureDataTable labelInfo) : base(httpClientUtil, featureTypeInfo, labelInfo) { _HttpClientUtil = httpClientUtil; _MultiGeometries = multiGeometries; _QuickGeometries = quickGeometries; }
/// <summary> /// Initializes a new instance of the <see cref="MultiPolygonFactory"/> class. /// </summary> /// <param name="httpClientUtil">A configured <see cref="HttpClientUtil"/> instance for performing web requests</param> /// <param name="featureTypeInfo">A <see cref="WfsFeatureTypeInfo"/> instance providing metadata of the featuretype to query</param> /// <param name="labelInfo">A FeatureDataTable for labels</param> internal MultiPolygonFactory(HttpClientUtil httpClientUtil, WfsFeatureTypeInfo featureTypeInfo, FeatureDataTable labelInfo) : base(httpClientUtil, featureTypeInfo, labelInfo) { }
/// <summary> /// This method initializes the XmlReader member. /// </summary> /// <param name="httpClientUtil">A configured <see cref="HttpClientUtil"/> instance for performing web requests</param> private void createReader(HttpClientUtil httpClientUtil) { var xmlReaderSettings = new XmlReaderSettings(); xmlReaderSettings.IgnoreComments = true; xmlReaderSettings.IgnoreProcessingInstructions = true; xmlReaderSettings.IgnoreWhitespace = true; xmlReaderSettings.DtdProcessing = DtdProcessing.Prohibit; _XmlReader = XmlReader.Create(httpClientUtil.GetDataStream(), xmlReaderSettings); }
/// <summary> /// Initializes a new instance of the <see cref="LineStringFactory"/> class. /// </summary> /// <param name="httpClientUtil">A configured <see cref="HttpClientUtil"/> instance for performing web requests</param> /// <param name="featureTypeInfo">A <see cref="WfsFeatureTypeInfo"/> instance providing metadata of the featuretype to query</param> /// <param name="labelInfo">A FeatureDataTable for labels</param> internal LineStringFactory(HttpClientUtil httpClientUtil, WfsFeatureTypeInfo featureTypeInfo, FeatureDataTable labelInfo) : base(httpClientUtil, featureTypeInfo, labelInfo) { }
/// <summary> /// Configures for WFS 'GetFeature' request using an instance implementing <see cref="Mapsui.Utilities.Wfs.IWFS_TextResources"/>. /// The <see cref="Mapsui.Utilities.Wfs.HttpClientUtil"/> instance is returned for immediate usage. /// </summary> internal HttpClientUtil configureForWfsGetFeatureRequest(HttpClientUtil httpClientUtil, WfsFeatureTypeInfo featureTypeInfo, string labelProperty, BoundingBox boundingBox, IFilter filter, bool GET) { httpClientUtil.Reset(); httpClientUtil.Url = featureTypeInfo.ServiceURI; if (GET) { /* HTTP-GET */ httpClientUtil.Url += _WfsTextResources.GetFeatureGETRequest(featureTypeInfo, boundingBox, filter); return httpClientUtil; } /* HTTP-POST */ httpClientUtil.PostData = _WfsTextResources.GetFeaturePOSTRequest(featureTypeInfo, labelProperty, boundingBox, filter); httpClientUtil.AddHeader(HttpRequestHeader.ContentType.ToString(), "text/xml"); return httpClientUtil; }
/// <summary> /// Configures for WFS 'DescribeFeatureType' request using an instance implementing <see cref="Mapsui.Utilities.Wfs.IWFS_TextResources"/>. /// The <see cref="Mapsui.Utilities.Wfs.HttpClientUtil"/> instance is returned for immediate usage. /// </summary> internal HttpClientUtil configureForWfsDescribeFeatureTypeRequest(HttpClientUtil httpClientUtil, string targetUrl, string featureTypeName) { httpClientUtil.Reset(); httpClientUtil.Url = targetUrl + _WfsTextResources.DescribeFeatureTypeRequest(featureTypeName); return httpClientUtil; }
/// <summary> /// Configures for WFS 'GetCapabilities' request using an instance implementing <see cref="Mapsui.Utilities.Wfs.IWFS_TextResources"/>. /// The <see cref="Mapsui.Utilities.Wfs.HttpClientUtil"/> instance is returned for immediate usage. /// </summary> internal HttpClientUtil configureForWfsGetCapabilitiesRequest(HttpClientUtil httpClientUtil, string targetUrl) { httpClientUtil.Reset(); httpClientUtil.Url = targetUrl + _WfsTextResources.GetCapabilitiesRequest(); return httpClientUtil; }