Exemple #1
0
        /// <summary>
        /// Computes absolute path from the given URI</summary>
        /// <param name="uri">URI representing path to get absolute path for</param>
        /// <returns>Absolute path for given URI</returns>
        public string GetAbsolutePath(Uri uri)
        {
            string texPath = null;

            if (uri.IsAbsoluteUri)
            {
                texPath = uri.LocalPath;
            }
            else
            {
                DomResource domRes = this.As <DomResource>();
                //i absUri =
                Uri absUri = new Uri(domRes.Uri, uri);
                texPath = absUri.LocalPath;
            }

            texPath = System.Uri.UnescapeDataString(texPath);
            texPath = texPath.Replace("/", "\\");
            return(texPath);
        }
Exemple #2
0
        /// <summary>
        /// Opens or creates a document at the given URI</summary>
        /// <param name="uri">Document URI</param>
        /// <returns>Document, or null if the document couldn't be opened or created</returns>
        IDocument IDocumentClient.Open(Uri uri)
        {
            foreach (IResourceResolver resolver in m_resolvers)
            {
                DomResource res = resolver.Resolve(uri) as DomResource;
                if (res != null)
                {
                    // Remove any previously opened documents. http://tracker.ship.scea.com/jira/browse/WWSATF-1422
                    var documents = new List <IDocument>(m_documentRegistry.Documents);
                    foreach (IDocument document in documents)
                    {
                        m_documentRegistry.Remove(document);
                    }

                    return(new ModelDocument(res.DomNode, uri));
                }
            }

            return(null);
        }