protected SPDocumentParser GetCurrentObject(SPFarm farm, DocumentParserDefinition definition) { var currentExtension = definition.FileExtension; var service = SPWebService.ContentService; var parsers = service.PluggableParsers; 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(); }
public static ModelNode AddDocumentParser(this ModelNode model, DocumentParserDefinition definition, Action <ModelNode> action) { return(model.AddDefinitionNode(definition, action)); }
public static ModelNode AddDocumentParser(this ModelNode model, DocumentParserDefinition definition) { return(AddDocumentParser(model, definition, null)); }
public static TModelNode AddDocumentParser <TModelNode>(this TModelNode model, DocumentParserDefinition definition, Action <DocumentParserModelNode> action) where TModelNode : ModelNode, IFarmModelNode, new() { return(model.AddTypedDefinitionNode(definition, action)); }
public static TModelNode AddDocumentParser <TModelNode>(this TModelNode model, DocumentParserDefinition definition) where TModelNode : ModelNode, IFarmModelNode, new() { return(AddDocumentParser(model, definition, null)); }