Exemple #1
0
        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);
        }
Exemple #2
0
        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();
        }