public ViewManager(string viewfolder, IDocStorage <Guid> objstore, IKeyStoreHF kvhf, ITokenizer tokenizer) { _Path = viewfolder; _objectStore = objstore; _kvhf = kvhf; _tokenizer = tokenizer; }
static void Main(string[] args) { /*1*/ // Save a document as fb2 file using "Save" dialog DocumentManager docManager = new Fb2DocumentManager(); docManager.Save(new XDocument(), "asd.fb2"); // Or use the IDocStorage interface to save a document IDocStorage storage = docManager.CreateStorage(); storage.Save("asd.fb2", new XDocument()); /*2*/ storage = docManager.CreateStorage(DocumentManager.StorageFormat.Docx); storage.Save("asd.docx", new XDocument()); /*3*/ docManager = new DocumentManagerGeneric <Fb2DocStorage>(); storage = docManager.CreateStorage(); storage.Save("asd.fb2", new XDocument()); /*4*/ // инициализация переменной фабрики Fb2-реализацией docManager = new DocumentManagerGenericAdapter(); storage = docManager.CreateStorage <DocxDocStorage>(); storage.Save("asd4.docx", new XDocument()); }
public DocumentationController(IDocStorage docs, IFileStorage files, IGroupsRepository groups, IUserRepository users, IHostingEnvironment env) { Documentation = docs; Files = files; Repository = groups; Users = users; environment = env; }
public ReplicationClient(string dataFolder, string config, IDocStorage<Guid> docs) { _log.Debug("starting replication client : " + dataFolder); _docs = docs; _path = dataFolder; // read client config file _config = fastJSON.JSON.ToObject<ClientConfiguration>(config); Initialize(); }
public bool Save(XDocument document, String _name) { // using Factory method to create a new document storage IDocStorage storage = this.CreateStorage(); storage.Save(_name, document); return(true); }
public ReplicationClient(string dataFolder, string config, IDocStorage <Guid> docs) { _log.Debug("starting replication client : " + dataFolder); _docs = docs; _path = dataFolder; // read client config file _config = fastJSON.JSON.ToObject <ClientConfiguration>(config); Initialize(); }
public static bool TryRetrieve(this IDocStorage storage, string id, out Stream stream) { stream = null; try { stream = storage.Retrieve(id); return(true); } catch { return(false); } }
public HelpSource(string base_filename, bool create) { this.name = Path.GetFileName(base_filename); this.basePath = Path.GetDirectoryName(base_filename); this.treeFilePath = base_filename + ".tree"; this.storage = new MonkeyDoc.Storage.ZipStorage(base_filename + ".zip"); tree = create ? new Tree(this, string.Empty, string.Empty) : new Tree(this, treeFilePath); source_id = id++; }
/// <summary> /// Initializes a new instance of the <see cref="DocSetSink"/> class. /// </summary> /// <param name="storage">The storage.</param> /// <param name="batchSizeLimit">The batch size limit.</param> /// <param name="period">The period.</param> /// <param name="formatProvider">The format provider.</param> /// <param name="propertiesAsTags">The properties as tags.</param> /// <param name="propertiesWhiteList">The properties filer.</param> /// <exception cref="System.ArgumentNullException"></exception> public DocSetSink(IDocStorage <LogEvent> storage, int batchSizeLimit, TimeSpan period, IFormatProvider formatProvider, IEnumerable <string> propertiesAsTags = null, IEnumerable <string> propertiesWhiteList = null) { //if (storage == null) throw new ArgumentNullException(nameof(storage)); _storage = storage; _formatProvider = formatProvider; _propertiesAsTags = propertiesAsTags; _propertiesWhiteList = propertiesWhiteList; }
/// <summary> /// Initializes a new instance of the <see cref="DocSetSink"/> class. /// </summary> /// <param name="storage">The storage.</param> /// <param name="batchSizeLimit">The batch size limit.</param> /// <param name="period">The period.</param> /// <param name="formatProvider">The format provider.</param> /// <param name="propertiesAsTags">The properties as tags.</param> /// <param name="propertiesWhiteList">The properties filer.</param> /// <exception cref="System.ArgumentNullException"></exception> public DocSetSink(IDocStorage<LogEvent> storage, int batchSizeLimit, TimeSpan period, IFormatProvider formatProvider, IEnumerable<string> propertiesAsTags = null, IEnumerable<string> propertiesWhiteList = null) { //if (storage == null) throw new ArgumentNullException(nameof(storage)); _storage = storage; _formatProvider = formatProvider; _propertiesAsTags = propertiesAsTags; _propertiesWhiteList = propertiesWhiteList; }
public TaskController(IDocStorage docs, IFileStorage files, IGroupsRepository groups, ApplicationContext ctx, IHostingEnvironment env ) { Documentation = docs; Files = files; Repository = groups; Context = ctx; environment = env; }
public AccountController(UserManager <User> manag, RoleManager <IdentityRole> roles , ApplicationContext ctx, SignInManager <User> signInManager, AppMailSender Sender, IGroupsRepository groups, IDocStorage docs) { context = ctx; Manager = manag; Roles = roles; SignInManager = signInManager; MailSender = Sender; Docs = docs; Groups = groups; }
public DocSet(Func <TDoc, TKey> key, IDocStorage <TDoc> docStorage, IEnumerable <Func <TDoc, string> > tagMap = null) { if (key == null) { throw new ArgumentNullException(nameof(key)); } if (docStorage == null) { throw new ArgumentNullException(nameof(docStorage)); } _key = key; _docStorage = docStorage; _tagMap = tagMap; }
public AccountController(SignInManager <User> sim, UserManager <User> manag, RoleManager <IdentityRole> roles, IUserRepository users, IGroupsRepository groups, IDocStorage docs, IFileStorage files ) { SignInManager = sim; Manager = manag; Roles = roles; Users = users; Docs = docs; Files = files; Groups = groups; }
static void Main(string[] args) { DocumentManager docManager = new DocumentGeneric <DocXDocStorage>(); IDocStorage storage = docManager.CreateStorage(); storage.Load("asd.docx"); storage.Print("asd.docx", new XDocument()); docManager = new DocumentGeneric <EpubDocStorage>(); storage = docManager.CreateStorage(); storage.Save("qwert.epub", new XDocument()); docManager = new DocumentGeneric <HtmlDocStorage>(); storage = docManager.CreateStorage(); storage.Close("qwert.html", new XDocument()); Console.ReadLine(); }
public ReplicationServer(string datapath, string config, IDocStorage<Guid> docs) { _docs = docs; _Path = datapath; Initialize(config); }
public ViewManager(string viewfolder, IDocStorage <Guid> objstore) { _Path = viewfolder; _objectStore = objstore; }
public ViewManager(string viewfolder, IDocStorage <Guid> objstore, IKeyStoreHF kvhf) { _Path = viewfolder; _objectStore = objstore; _kvhf = kvhf; }
public static void PopulateTreeFromIndexFile(string indexFilePath, string idPrefix, Tree tree, IDocStorage storage, Dictionary <string, XElement> nsSummaries, Func <XElement, string> indexGenerator = null, IEcmaProviderFileSource fileSource = null) { fileSource = fileSource ?? DefaultEcmaProviderFileSource.Default; var root = tree.RootNode; int resID = 0; var asm = Path.GetDirectoryName(indexFilePath); storage = storage ?? new Storage.NullStorage(); // nsSummaries is allowed to be null if the user doesn't care about it nsSummaries = nsSummaries ?? new Dictionary <string, XElement> (); // default index generator uses a counter indexGenerator = indexGenerator ?? (_ => resID++.ToString()); using (var reader = fileSource.GetIndexReader(indexFilePath)) { reader.ReadToFollowing("Types"); var types = XElement.Load(reader.ReadSubtree()); foreach (var ns in types.Elements("Namespace")) { var nsName = (string)ns.Attribute("Name"); nsName = !string.IsNullOrEmpty(nsName) ? nsName : "global"; var nsNode = root.GetOrCreateNode(nsName, "N:" + nsName); XElement nsElements; if (!nsSummaries.TryGetValue(nsName, out nsElements)) { nsSummaries[nsName] = nsElements = new XElement("elements", new XElement("summary"), new XElement("remarks")); } //Add namespace summary and remarks data from file, if available var nsFileName = fileSource.GetNamespaceXmlPath(asm, nsName); if (File.Exists(nsFileName)) { var nsEl = fileSource.GetNamespaceElement(nsFileName); nsElements.Element("summary").ReplaceWith(nsEl.Descendants("summary").First()); nsElements.Element("remarks").ReplaceWith(nsEl.Descendants("remarks").First()); } else { Console.WriteLine("Error reading namespace XML for {0} at {1}", nsName, nsFileName); } foreach (var type in ns.Elements("Type")) { // Add the XML file corresponding to the type to our storage var id = indexGenerator(type); string typeFilePath; var typeDocument = EcmaDoc.LoadTypeDocument(asm, nsName, type.Attribute("Name").Value, out typeFilePath, fileSource); if (typeDocument == null) { continue; } // write the document (which may have been modified by the fileSource) to the storage MemoryStream io = new MemoryStream(); using (var writer = XmlWriter.Create(io)) { typeDocument.WriteTo(writer); } io.Seek(0, SeekOrigin.Begin); storage.Store(id, io); nsElements.Add(ExtractClassSummary(typeDocument)); var typeCaption = EcmaDoc.GetTypeCaptionFromIndex(type); var url = idPrefix + id + '#' + typeCaption + '/'; typeCaption = EcmaDoc.GetTypeCaptionFromIndex(type, true); var typeNode = nsNode.CreateNode(typeCaption, url); // Add meta "Members" node typeNode.CreateNode("Members", "*"); var membersNode = typeDocument.Root.Element("Members"); if (membersNode == null || !membersNode.Elements().Any()) { continue; } var members = membersNode .Elements("Member") .ToLookup(EcmaDoc.GetMemberType); foreach (var memberType in members) { // We pluralize the member type to get the caption and take the first letter as URL var node = typeNode.CreateNode(EcmaDoc.PluralizeMemberType(memberType.Key), memberType.Key[0].ToString()); var memberIndex = 0; var isCtors = memberType.Key[0] == 'C'; // We do not escape much member name here foreach (var memberGroup in memberType.GroupBy(m => MakeMemberCaption(m, isCtors))) { if (memberGroup.Count() > 1) { // Generate overload var overloadCaption = MakeMemberCaption(memberGroup.First(), false); var overloadNode = node.CreateNode(overloadCaption, overloadCaption); foreach (var member in memberGroup) { overloadNode.CreateNode(MakeMemberCaption(member, true), (memberIndex++).ToString()); } overloadNode.Sort(); } else { // We treat constructor differently by showing their argument list in all cases node.CreateNode(MakeMemberCaption(memberGroup.First(), isCtors), (memberIndex++).ToString()); } } node.Sort(); } } nsNode.Sort(); } root.Sort(); } }
public SearchController(IUserRepository users, IDocStorage docs) { UserData = users; Documentation = docs; }
public TaskController(UserManager <User> manager, SignInManager <User> signInManager, IDocStorage docs, IFileStorage files, IGroupsRepository groups, IHostingEnvironment env) { Manager = manager; SignInManager = signInManager; Docs = docs; Files = files; Groups = groups; environment = env; }
internal void SetView <T>(View <T> view, IDocStorage <Guid> docs) { bool rebuild = false; _view = view; // generate schemacolumns from schema GenerateSchemaColumns(_view); if (_Path.EndsWith(_S) == false) { _Path += _S; } _Path += view.Name + _S; if (Directory.Exists(_Path) == false) { Directory.CreateDirectory(_Path); rebuild = true; } else { // read version file and check with view int version = 0; if (File.Exists(_Path + _view.Name + ".version")) { int.TryParse(File.ReadAllText(_Path + _view.Name + ".version"), out version); if (version != view.Version) { _log.Debug("Newer view version detected"); rebuild = true; } } } if (File.Exists(_Path + _dirtyFilename)) { _log.Debug("Last shutdown failed, rebuilding view : " + _view.Name); rebuild = true; } if (File.Exists(_Path + _RaptorDBVersionFilename)) { // check view engine version string s = File.ReadAllText(_Path + _RaptorDBVersionFilename); int version = 0; int.TryParse(s, out version); if (version != _RaptorDBVersion) { _log.Debug("RaptorDB view engine upgrade, rebuilding view : " + _view.Name); rebuild = true; } } else { _log.Debug("RaptorDB view engine upgrade, rebuilding view : " + _view.Name); rebuild = true; } if (rebuild) { _log.Debug("Deleting old view data folder = " + view.Name); Directory.Delete(_Path, true); Directory.CreateDirectory(_Path); } // load indexes here CreateLoadIndexes(_schema); _deletedRows = new BoolIndex(_Path, _view.Name, ".deleted"); _viewData = new StorageFile <Guid>(_Path + view.Name + ".mgdat"); CreateResultRowFiller(); mapper = view.Mapper; // looking for the T in View<T> if (view.GetType().GetGenericArguments().Length == 1) // HACK : kludge change when possible { basetype = view.GetType().GetGenericArguments()[0]; } else { // or recurse until found basetype = view.GetType().BaseType.GetGenericArguments()[0]; } if (rebuild) { Task.Factory.StartNew(() => RebuildFromScratch(docs)); } _saveTimer = new System.Timers.Timer(); _saveTimer.AutoReset = true; _saveTimer.Elapsed += new System.Timers.ElapsedEventHandler(_saveTimer_Elapsed); _saveTimer.Interval = Global.SaveIndexToDiskTimerSeconds * 1000; _saveTimer.Start(); }
public static void PopulateTreeFromIndexFile (string indexFilePath, Tree tree, IDocStorage storage, Dictionary<string, XElement> nsSummaries, Func<XElement, string> indexGenerator = null) { var root = tree.RootNode; int resID = 0; var asm = Path.GetDirectoryName (indexFilePath); storage = storage ?? new Storage.NullStorage (); // nsSummaries is allowed to be null if the user doesn't care about it nsSummaries = nsSummaries ?? new Dictionary<string, XElement> (); // default index generator uses a counter indexGenerator = indexGenerator ?? (_ => resID++.ToString ()); using (var reader = XmlReader.Create (File.OpenRead (indexFilePath))) { reader.ReadToFollowing ("Types"); var types = XElement.Load (reader.ReadSubtree ()); foreach (var ns in types.Elements ("Namespace")) { var nsName = (string)ns.Attribute ("Name"); nsName = !string.IsNullOrEmpty (nsName) ? nsName : "global"; var nsNode = root.GetOrCreateNode (nsName, "N:" + nsName); XElement nsElements; if (!nsSummaries.TryGetValue (nsName, out nsElements)) nsSummaries[nsName] = nsElements = new XElement ("elements", new XElement ("summary"), new XElement ("remarks")); foreach (var type in ns.Elements ("Type")) { // Add the XML file corresponding to the type to our storage var id = indexGenerator (type); string typeFilePath; var typeDocument = EcmaDoc.LoadTypeDocument (asm, nsName, type.Attribute ("Name").Value, out typeFilePath); using (var file = File.OpenRead (typeFilePath)) storage.Store (id, file); nsElements.Add (ExtractClassSummary (typeFilePath)); var typeCaption = EcmaDoc.GetTypeCaptionFromIndex (type); var url = "ecma:" + id + '#' + typeCaption + '/'; typeCaption = EcmaDoc.GetTypeCaptionFromIndex (type, true); var typeNode = nsNode.CreateNode (typeCaption, url); // Add meta "Members" node typeNode.CreateNode ("Members", "*"); var membersNode = typeDocument.Root.Element ("Members"); if (membersNode == null || !membersNode.Elements ().Any ()) continue; var members = membersNode .Elements ("Member") .ToLookup (EcmaDoc.GetMemberType); foreach (var memberType in members) { // We pluralize the member type to get the caption and take the first letter as URL var node = typeNode.CreateNode (EcmaDoc.PluralizeMemberType (memberType.Key), memberType.Key[0].ToString ()); var memberIndex = 0; var isCtors = memberType.Key[0] == 'C'; // We do not escape much member name here foreach (var memberGroup in memberType.GroupBy (m => MakeMemberCaption (m, isCtors))) { if (memberGroup.Count () > 1) { // Generate overload var overloadCaption = MakeMemberCaption (memberGroup.First (), false); var overloadNode = node.CreateNode (overloadCaption, overloadCaption); foreach (var member in memberGroup) overloadNode.CreateNode (MakeMemberCaption (member, true), (memberIndex++).ToString ()); overloadNode.Sort (); } else { // We treat constructor differently by showing their argument list in all cases node.CreateNode (MakeMemberCaption (memberGroup.First (), isCtors), (memberIndex++).ToString ()); } } node.Sort (); } } nsNode.Sort (); } root.Sort (); } }
public ReplicationServer(string datapath, string config, IDocStorage <Guid> docs) { _docs = docs; _Path = datapath; Initialize(config); }
public static void PopulateTreeFromIndexFile(string indexFilePath, string idPrefix, Tree tree, IDocStorage storage, Dictionary <string, XElement> nsSummaries, Func <XElement, string> indexGenerator = null) { var root = tree.RootNode; int resID = 0; var asm = Path.GetDirectoryName(indexFilePath); storage = storage ?? new Storage.NullStorage(); // nsSummaries is allowed to be null if the user doesn't care about it nsSummaries = nsSummaries ?? new Dictionary <string, XElement> (); // default index generator uses a counter indexGenerator = indexGenerator ?? (_ => resID++.ToString()); using (var reader = XmlReader.Create(File.OpenRead(indexFilePath))) { reader.ReadToFollowing("Types"); var types = XElement.Load(reader.ReadSubtree()); foreach (var ns in types.Elements("Namespace")) { var nsName = (string)ns.Attribute("Name"); nsName = !string.IsNullOrEmpty(nsName) ? nsName : "global"; var nsNode = root.GetOrCreateNode(nsName, "N:" + nsName); XElement nsElements; if (!nsSummaries.TryGetValue(nsName, out nsElements)) { nsSummaries[nsName] = nsElements = new XElement("elements", new XElement("summary"), new XElement("remarks")); } foreach (var type in ns.Elements("Type")) { // Add the XML file corresponding to the type to our storage var id = indexGenerator(type); string typeFilePath; var typeDocument = EcmaDoc.LoadTypeDocument(asm, nsName, type.Attribute("Name").Value, out typeFilePath); if (typeDocument == null) { continue; } using (var file = File.OpenRead(typeFilePath)) storage.Store(id, file); nsElements.Add(ExtractClassSummary(typeFilePath)); var typeCaption = EcmaDoc.GetTypeCaptionFromIndex(type); var url = idPrefix + id + '#' + typeCaption + '/'; typeCaption = EcmaDoc.GetTypeCaptionFromIndex(type, true); var typeNode = nsNode.CreateNode(typeCaption, url); // Add meta "Members" node typeNode.CreateNode("Members", "*"); var membersNode = typeDocument.Root.Element("Members"); if (membersNode == null || !membersNode.Elements().Any()) { continue; } var members = membersNode .Elements("Member") .ToLookup(EcmaDoc.GetMemberType); foreach (var memberType in members) { // We pluralize the member type to get the caption and take the first letter as URL var node = typeNode.CreateNode(EcmaDoc.PluralizeMemberType(memberType.Key), memberType.Key[0].ToString()); var memberIndex = 0; var isCtors = memberType.Key[0] == 'C'; // We do not escape much member name here foreach (var memberGroup in memberType.GroupBy(m => MakeMemberCaption(m, isCtors))) { if (memberGroup.Count() > 1) { // Generate overload var overloadCaption = MakeMemberCaption(memberGroup.First(), false); var overloadNode = node.CreateNode(overloadCaption, overloadCaption); foreach (var member in memberGroup) { overloadNode.CreateNode(MakeMemberCaption(member, true), (memberIndex++).ToString()); } overloadNode.Sort(); } else { // We treat constructor differently by showing their argument list in all cases node.CreateNode(MakeMemberCaption(memberGroup.First(), isCtors), (memberIndex++).ToString()); } } node.Sort(); } } nsNode.Sort(); } root.Sort(); } }
private void RebuildFromScratch(IDocStorage <Guid> docs) { _rebuilding = true; try { insertmethod = this.GetType().GetMethod("Insert", BindingFlags.Instance | BindingFlags.NonPublic); _log.Debug("Rebuilding view from scratch..."); _log.Debug("View = " + _view.Name); DateTime dt = FastDateTime.Now; int c = docs.RecordCount(); for (int i = 0; i < c; i++) { StorageItem <Guid> meta = null; object b = docs.GetObject(i, out meta); if (meta != null && meta.isDeleted) { Delete(meta.key); } else { if (b != null) { object obj = b; Type t = obj.GetType(); if (t == typeof(View_delete)) { View_delete vd = (View_delete)obj; if (vd.Viewname.ToLower() == this._view.Name.ToLower()) { ViewDelete(vd.Filter); } } else if (t == typeof(View_insert)) { View_insert vi = (View_insert)obj; if (vi.Viewname.ToLower() == this._view.Name.ToLower()) { ViewInsert(vi.ID, vi.RowObject); } } else if (t.IsSubclassOf(basetype) || t == basetype) { var m = insertmethod.MakeGenericMethod(new Type[] { obj.GetType() }); m.Invoke(this, new object[] { meta.key, obj }); } } else { _log.Error("Doc is null : " + meta.key); } } } _log.Debug("rebuild view '" + _view.Name + "' done (s) = " + FastDateTime.Now.Subtract(dt).TotalSeconds); // write version.dat file when done File.WriteAllText(_Path + _view.Name + ".version", _view.Version.ToString()); } catch (Exception ex) { _log.Error("Rebuilding View failed : " + _view.Name, ex); } _rebuilding = false; }