protected SPDocumentParser GetCurrentObject(SPFarm farm, DocumentParserDefinition definition) { var currentExtension = definition.FileExtension; var service = SPWebService.ContentService; var parsers = service.PluggableParsers; SPDocumentParser currentParser = null; if (parsers.ContainsKey(currentExtension)) { return(parsers[currentExtension]); } return(null); }
private void DeployDefinition(object modelHost, SPFarm farm, DocumentParserDefinition definition) { var service = SPWebService.ContentService; var parsers = service.PluggableParsers; var currentExtension = definition.FileExtension; var currentParser = GetCurrentObject(farm, definition); InvokeOnModelEvent(this, new ModelEventArgs { CurrentModelNode = null, Model = null, EventType = ModelEventType.OnProvisioning, Object = currentParser, ObjectType = typeof(SPDocumentParser), ObjectDefinition = definition, ModelHost = modelHost }); if (currentParser != null) { parsers.Remove(currentExtension); service.Update(); } currentParser = new SPDocumentParser(definition.ProgId, currentExtension); service.PluggableParsers.Add(currentExtension, currentParser); InvokeOnModelEvent(this, new ModelEventArgs { CurrentModelNode = null, Model = null, EventType = ModelEventType.OnProvisioned, Object = currentParser, ObjectType = typeof(SPDocumentParser), ObjectDefinition = definition, ModelHost = modelHost }); service.Update(); }
private void DeployDefinition(object modelHost, SPFarm farm, DocumentParserDefinition definition) { var service = SPWebService.ContentService; var parsers = service.PluggableParsers; var currentExtension = definition.FileExtension; var currentParser = GetCurrentObject(farm, definition); InvokeOnModelEvent(this, new ModelEventArgs { CurrentModelNode = null, Model = null, EventType = ModelEventType.OnProvisioning, Object = currentParser, ObjectType = typeof(SPDocumentParser), ObjectDefinition = definition, ModelHost = modelHost }); if (currentParser != null) { parsers.Remove(currentExtension); service.Update(); } currentParser = new SPDocumentParser(definition.ProgId, currentExtension); service.PluggableParsers.Add(currentExtension, currentParser); InvokeOnModelEvent(this, new ModelEventArgs { CurrentModelNode = null, Model = null, EventType = ModelEventType.OnProvisioned, Object = currentParser, ObjectType = typeof(SPDocumentParser), ObjectDefinition = definition, ModelHost = modelHost }); service.Update(); }