コード例 #1
0
        public static LayerMetadataFile Read(RenderOutputMethod outputMethod)
        {
            LayerMetadataFile  layerMetadataFile  = null;
            Stream             input              = outputMethod.ReadFile("LayerMetadata.xml");
            XmlTextReader      reader             = new XmlTextReader(input);
            MashupParseContext mashupParseContext = new MashupParseContext(reader);

            using (mashupParseContext)
            {
                while (mashupParseContext.reader.Read())
                {
                    if (mashupParseContext.reader.NodeType == XmlNodeType.Element &&
                        mashupParseContext.reader.Name == LayerMetadataTag)
                    {
                        layerMetadataFile = new LayerMetadataFile(outputMethod, mashupParseContext);
                        break;
                    }
                }

                mashupParseContext.Dispose();
            }

            if (layerMetadataFile == null)
            {
                throw new InvalidMashupFile(mashupParseContext,
                                            string.Format("{0} doesn't appear to be a valid {1}",
                                                          outputMethod.GetUri("LayerMetadata.xml"),
                                                          LayerMetadataTag));
            }

            return(layerMetadataFile);
        }
コード例 #2
0
        private Mashup(string fileName, Stream fromStream, out MashupFileWarningList warningList)
        {
            this.dirtyEvent.Add(new DirtyListener(this.SetDirtyFlag));
            this.fileName = fileName;
            D.Assert(fileName == null || Path.GetFullPath(fileName).ToLower().Equals(fileName.ToLower()));
            bool               flag               = false;
            XmlTextReader      reader             = new XmlTextReader(fromStream);
            MashupParseContext mashupParseContext = new MashupParseContext(reader);

            using (mashupParseContext)
            {
                while (mashupParseContext.reader.Read() && !flag)
                {
                    if (mashupParseContext.reader.NodeType == XmlNodeType.Element && mashupParseContext.reader.Name == "MapGrinderMashupFile")
                    {
                        flag = true;
                        this.ReadXML(mashupParseContext);
                    }
                }
                mashupParseContext.Dispose();
            }
            warningList = null;
            if (mashupParseContext.warnings.Count > 0)
            {
                warningList = mashupParseContext.warnings;
            }
            if (!flag)
            {
                throw new InvalidMashupFile(mashupParseContext, string.Format("{0} doesn't appear to be a valid mashup file.", fileName));
            }
            this.ClearDirty();
        }
コード例 #3
0
ファイル: CrunchedFile.cs プロジェクト: ymx0627/GMap.NET
        public static CrunchedFile FromUri(Uri uri)
        {
            XmlTextReader reader;

            if (uri.IsFile)
            {
                string localPath = uri.LocalPath;
                reader = new XmlTextReader(File.Open(localPath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite));
            }
            else
            {
                if (!(uri.Scheme == "http"))
                {
                    throw new Exception(string.Format("Unhandled URI scheme {0}", uri.Scheme));
                }

                HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(uri);
                httpWebRequest.CachePolicy = new HttpRequestCachePolicy(HttpRequestCacheLevel.Revalidate);
                D.Sayf(1, "Fetching {0}", new object[] { uri });
                HttpWebResponse httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse();
                if (httpWebResponse.StatusCode != HttpStatusCode.OK)
                {
                    throw new Exception(
                              string.Format("HTTP {0} from web source", httpWebResponse.StatusCode.ToString()));
                }

                Stream responseStream = httpWebResponse.GetResponseStream();
                reader = new XmlTextReader(responseStream);
            }

            MashupParseContext mashupParseContext = new MashupParseContext(reader);
            CrunchedFile       crunchedFile       = null;

            using (mashupParseContext)
            {
                while (mashupParseContext.reader.Read() && crunchedFile == null)
                {
                    if (mashupParseContext.reader.NodeType == XmlNodeType.Element &&
                        mashupParseContext.reader.Name == crunchedFileTag)
                    {
                        crunchedFile = new CrunchedFile(mashupParseContext);
                        break;
                    }
                }

                mashupParseContext.Dispose();
            }

            if (crunchedFile == null)
            {
                throw new InvalidMashupFile(mashupParseContext,
                                            string.Format("{0} doesn't appear to be a valid crunched file.", uri));
            }

            return(crunchedFile);
        }
コード例 #4
0
ファイル: S3Credentials.cs プロジェクト: honfika/GMap.NET
        public S3Credentials(string fileName, bool createIfFileAbsent)
        {
            _fileName = fileName;
            Stream input;

            try
            {
                input = new FileStream(fileName, FileMode.Open, FileAccess.Read);
            }
            catch (FileNotFoundException)
            {
                if (createIfFileAbsent)
                {
                    _accessKeyId     = "";
                    _secretAccessKey = "";
                    return;
                }

                throw;
            }

            D.Assert(fileName == null || Path.GetFullPath(fileName).ToLower().Equals(fileName.ToLower()));
            bool               flag               = false;
            XmlTextReader      reader             = new XmlTextReader(input);
            MashupParseContext mashupParseContext = new MashupParseContext(reader);

            using (mashupParseContext)
            {
                while (mashupParseContext.reader.Read() && !flag)
                {
                    if (mashupParseContext.reader.NodeType == XmlNodeType.Element &&
                        mashupParseContext.reader.Name == "S3Credentials")
                    {
                        flag = true;
                        ReadXML(mashupParseContext);
                    }
                }

                mashupParseContext.Dispose();
            }

            if (!flag)
            {
                throw new InvalidMashupFile(mashupParseContext,
                                            string.Format("{0} doesn't appear to be a valid {1} file.", fileName, "S3Credentials"));
            }
        }
コード例 #5
0
        private void TryOneFetchFormatString()
        {
            try
            {
                HttpWebRequest httpWebRequest =
                    (HttpWebRequest)WebRequest.Create(BuildConfig.theConfig.veFormatUpdateURL);
                httpWebRequest.Timeout = 5000;
                HttpWebResponse httpWebResponse;
                try
                {
                    httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse();
                }
                catch (WebException)
                {
                    return;
                }

                if (httpWebResponse.StatusCode == HttpStatusCode.OK)
                {
                    Stream             responseStream     = httpWebResponse.GetResponseStream();
                    XmlTextReader      reader             = new XmlTextReader(responseStream);
                    MashupParseContext mashupParseContext = new MashupParseContext(reader);
                    using (mashupParseContext)
                    {
                        while (mashupParseContext.reader.Read())
                        {
                            if (mashupParseContext.reader.NodeType == XmlNodeType.Element &&
                                mashupParseContext.reader.Name == "VEUrlFormat")
                            {
                                XMLTagReader xMLTagReader = mashupParseContext.NewTagReader("VEUrlFormat");
                                formatString     = mashupParseContext.GetRequiredAttribute("FormatString");
                                generationNumber = mashupParseContext.GetRequiredAttributeInt("GenerationNumber");
                                xMLTagReader.SkipAllSubTags();
                                break;
                            }
                        }

                        mashupParseContext.Dispose();
                    }
                }
            }
            catch (Exception ex)
            {
                D.Sayf(0, "VEUrlFormat fetch failed with unexpected {0}", new object[] { ex });
            }
        }
コード例 #6
0
		private void TryOneFetchFormatString()
		{
			try
			{
				HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(BuildConfig.theConfig.veFormatUpdateURL);
				httpWebRequest.Timeout = 5000;
				HttpWebResponse httpWebResponse;
				try
				{
					httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse();
				}
				catch (WebException)
				{
					return;
				}
				if (httpWebResponse.StatusCode == HttpStatusCode.OK)
				{
					Stream responseStream = httpWebResponse.GetResponseStream();
					XmlTextReader reader = new XmlTextReader(responseStream);
					MashupParseContext mashupParseContext = new MashupParseContext(reader);
					using (mashupParseContext)
					{
						while (mashupParseContext.reader.Read())
						{
							if (mashupParseContext.reader.NodeType == XmlNodeType.Element && mashupParseContext.reader.Name == "VEUrlFormat")
							{
								XMLTagReader xMLTagReader = mashupParseContext.NewTagReader("VEUrlFormat");
								this.formatString = mashupParseContext.GetRequiredAttribute("FormatString");
								this.generationNumber = mashupParseContext.GetRequiredAttributeInt("GenerationNumber");
								xMLTagReader.SkipAllSubTags();
								break;
							}
						}
						mashupParseContext.Dispose();
					}
				}
			}
			catch (Exception ex)
			{
				D.Sayf(0, "VEUrlFormat fetch failed with unexpected {0}", new object[]
				{
					ex
				});
			}
		}
コード例 #7
0
		public S3Credentials(string fileName, bool createIfFileAbsent)
		{
			this._fileName = fileName;
			Stream input;
			try
			{
				input = new FileStream(fileName, FileMode.Open, FileAccess.Read);
			}
			catch (FileNotFoundException)
			{
				if (createIfFileAbsent)
				{
					this._accessKeyId = "";
					this._secretAccessKey = "";
					return;
				}
				throw;
			}
			D.Assert(fileName == null || Path.GetFullPath(fileName).ToLower().Equals(fileName.ToLower()));
			bool flag = false;
			XmlTextReader reader = new XmlTextReader(input);
			MashupParseContext mashupParseContext = new MashupParseContext(reader);
			using (mashupParseContext)
			{
				while (mashupParseContext.reader.Read() && !flag)
				{
					if (mashupParseContext.reader.NodeType == XmlNodeType.Element && mashupParseContext.reader.Name == "S3Credentials")
					{
						flag = true;
						this.ReadXML(mashupParseContext);
					}
				}
				mashupParseContext.Dispose();
			}
			if (!flag)
			{
				throw new InvalidMashupFile(mashupParseContext, string.Format("{0} doesn't appear to be a valid {1} file.", fileName, "S3Credentials"));
			}
		}
コード例 #8
0
		public static LayerMetadataFile Read(RenderOutputMethod outputMethod)
		{
			LayerMetadataFile layerMetadataFile = null;
			Stream input = outputMethod.ReadFile("LayerMetadata.xml");
			XmlTextReader reader = new XmlTextReader(input);
			MashupParseContext mashupParseContext = new MashupParseContext(reader);
			using (mashupParseContext)
			{
				while (mashupParseContext.reader.Read())
				{
					if (mashupParseContext.reader.NodeType == XmlNodeType.Element && mashupParseContext.reader.Name == LayerMetadataFile.LayerMetadataTag)
					{
						layerMetadataFile = new LayerMetadataFile(outputMethod, mashupParseContext);
						break;
					}
				}
				mashupParseContext.Dispose();
			}
			if (layerMetadataFile == null)
			{
				throw new InvalidMashupFile(mashupParseContext, string.Format("{0} doesn't appear to be a valid {1}", outputMethod.GetUri("LayerMetadata.xml"), LayerMetadataFile.LayerMetadataTag));
			}
			return layerMetadataFile;
		}
コード例 #9
0
ファイル: Mashup.cs プロジェクト: chharam/Capstone_IPM_RV
		private Mashup(string fileName, Stream fromStream, out MashupFileWarningList warningList)
		{
			this.dirtyEvent.Add(new DirtyListener(this.SetDirtyFlag));
			this.fileName = fileName;
			D.Assert(fileName == null || Path.GetFullPath(fileName).ToLower().Equals(fileName.ToLower()));
			bool flag = false;
			XmlTextReader reader = new XmlTextReader(fromStream);
			MashupParseContext mashupParseContext = new MashupParseContext(reader);
			using (mashupParseContext)
			{
				while (mashupParseContext.reader.Read() && !flag)
				{
					if (mashupParseContext.reader.NodeType == XmlNodeType.Element && mashupParseContext.reader.Name == "MapGrinderMashupFile")
					{
						flag = true;
						this.ReadXML(mashupParseContext);
					}
				}
				mashupParseContext.Dispose();
			}
			warningList = null;
			if (mashupParseContext.warnings.Count > 0)
			{
				warningList = mashupParseContext.warnings;
			}
			if (!flag)
			{
				throw new InvalidMashupFile(mashupParseContext, string.Format("{0} doesn't appear to be a valid mashup file.", fileName));
			}
			this.ClearDirty();
		}
コード例 #10
0
		public static CrunchedFile FromUri(Uri uri)
		{
			XmlTextReader reader;
			if (uri.IsFile)
			{
				string localPath = uri.LocalPath;
				reader = new XmlTextReader(File.Open(localPath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite));
			}
			else
			{
				if (!(uri.Scheme == "http"))
				{
					throw new Exception(string.Format("Unhandled URI scheme {0}", uri.Scheme));
				}
				HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(uri);
				httpWebRequest.CachePolicy = new HttpRequestCachePolicy(HttpRequestCacheLevel.Revalidate);
				D.Sayf(1, "Fetching {0}", new object[]
				{
					uri
				});
				HttpWebResponse httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse();
				if (httpWebResponse.StatusCode != HttpStatusCode.OK)
				{
					throw new Exception(string.Format("HTTP {0} from web source", httpWebResponse.StatusCode.ToString()));
				}
				Stream responseStream = httpWebResponse.GetResponseStream();
				reader = new XmlTextReader(responseStream);
			}
			MashupParseContext mashupParseContext = new MashupParseContext(reader);
			CrunchedFile crunchedFile = null;
			using (mashupParseContext)
			{
				while (mashupParseContext.reader.Read() && crunchedFile == null)
				{
					if (mashupParseContext.reader.NodeType == XmlNodeType.Element && mashupParseContext.reader.Name == CrunchedFile.crunchedFileTag)
					{
						crunchedFile = new CrunchedFile(mashupParseContext);
						break;
					}
				}
				mashupParseContext.Dispose();
			}
			if (crunchedFile == null)
			{
				throw new InvalidMashupFile(mashupParseContext, string.Format("{0} doesn't appear to be a valid crunched file.", uri));
			}
			return crunchedFile;
		}