Пример #1
0
        public void GenerateVoidHtml(string targetFileName)
        {
            var rootTripleCollection = _quinceStore.GetTriplesForSubject(_graph.CreateUriNode(_repositoryUri)).ToList();

            try
            {
                var voidLink = new Uri(_repositoryUri, "data/void.nq");
                _addVariables.Remove("nquads");
                _addVariables.Add("nquads", voidLink.ToString());
                _addVariables.Remove("htmlPath");
                _addVariables.Add("htmlPath", targetFileName);

                var voidHtml = _viewEngine.Render(_repositoryUri, rootTripleCollection, new List <Triple>(),
                                                  _addVariables);
                using (var output = File.Open(targetFileName, FileMode.Create, FileAccess.Write))
                {
                    using (var writer = new StreamWriter(output))
                    {
                        writer.Write(voidHtml);
                    }
                }
            }
            catch (Exception ex)
            {
                _progressLog.Exception(ex, "Error writing dataset metadata HTML. Cause: {0}", ex.Message);
            }
        }
Пример #2
0
 public string Render(object model) =>
 _engine.Render(_view, model);
Пример #3
0
 public string Render <T>(T model)
 {
     return(_viewEngine.Render(model, _emailTemplateProvider.GetTemplateFor(model)));
 }
Пример #4
0
        public bool HandleResource(INode resourceNode, IList <Triple> subjectStatements, IList <Triple> objectStatements)
        {
            if (!(resourceNode is IUriNode))
            {
                return(true);
            }
            if ((subjectStatements == null || subjectStatements.Count == 0) && (objectStatements == null || objectStatements.Count == 0))
            {
                return(true);
            }
            var subject = (resourceNode as IUriNode)?.Uri;
            var nquads  = subject == null ? null : _uriService.GetSubjectDataUrl(subject.ToString(), "nq");

            try
            {
                var targetPath = _resourceMap.GetPathFor(subject);
                if (targetPath != null)
                {
                    targetPath += ".html";
                    var targetDir = Path.GetDirectoryName(targetPath);
                    if (!Directory.Exists(targetDir))
                    {
                        Directory.CreateDirectory(targetDir);
                    }

                    var parentDataset = string.Format("{0}://{1}", subject.Scheme, subject.Authority);
                    if (subject.ToString().IndexOf("id/resource", StringComparison.InvariantCultureIgnoreCase) > 0)
                    {
                        var datasetSegments = subject.Segments.Take(subject.Segments.Length - 1).ToArray();
                        foreach (var segment in datasetSegments)
                        {
                            if (segment.Equals("resource/"))
                            {
                                parentDataset += "dataset/";
                            }
                            else
                            {
                                parentDataset += segment;
                            }
                        }
                        parentDataset = parentDataset.Trim("/".ToCharArray());
                    }
                    UpdateVariables(nquads, parentDataset);

                    var html = _viewEngine.Render(subject, subjectStatements, objectStatements, _addVariables);
                    using (var stream = File.Open(targetPath, FileMode.Create, FileAccess.ReadWrite))
                    {
                        using (var writer = new StreamWriter(stream, Encoding.UTF8))
                        {
                            writer.Write(html);
                        }
                        stream.Close();
                    }
                    _numFilesGenerated++;
                    if (_numFilesGenerated % _reportInterval == 0)
                    {
                        _progressLog.Info("Generating static HTML files - {0} files created/updated.", _numFilesGenerated);
                    }
                }
            }
            catch (Exception ex)
            {
                _progressLog.Exception(ex, "Error generating HTML file for subject {0}: {1}", subject, ex.Message);
            }
            return(true);
        }