Ejemplo n.º 1
0
        /// <summary>
        /// Called when the system wants to upgrade the current configuration.
        /// </summary>
        /// <param name="config">The configuration information that can be used to upgrade the configuration.
        /// It also contains the module and action configurations that have already been saved.</param>
        /// <returns>
        /// Returns the item configuration that must be saved; otherwise <c>null</c> if an error occured by upgrading the item configuration.
        /// </returns>
        public Development.SDK.Module.Data.Common.ItemConfig Upgrade(Development.SDK.Module.Data.Common.ConfigInformation config)
        {
            // Define item and module configuration object
            Data.Processor.Config processorConfig = null;
            Development.SDK.Module.Data.Common.ItemConfig itemConfig = null;

            // Create new item configuration instance.
            itemConfig = new Development.SDK.Module.Data.Common.ItemConfig();

            if (config != null)
            {
                // Get configuration
                processorConfig         = new Data.Processor.Config();
                processorConfig.Config1 = config.Parameters["config_1"];
                processorConfig.Config2 = config.Parameters["config_2"];
                processorConfig.Config3 = config.Parameters["config_3"];
            }

            if (processorConfig == null)
            {
                processorConfig = new Data.Processor.Config();
            }

            // Add configuration to item configuration object
            itemConfig.Parameters.Add("config_1", processorConfig.Config1);
            itemConfig.Parameters.Add("config_2", processorConfig.Config2);
            itemConfig.Parameters.Add("config_3", processorConfig.Config3);

            return(itemConfig);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Validates the view model for object information dialogs.
        /// </summary>
        /// <param name="propertyName">The name of the property to be validated.</param>
        /// <param name="viewModel">The model which contains all values for the validation.</param>
        /// <param name="error">The error message that is set during validation.</param>
        /// <returns><c>true</c> if an error occured; otherwise <c>false</c>.</returns>
        public bool Validate(Development.SDK.Module.Data.Common.ItemConfig config)
        {
            //if (string.IsNullOrEmpty(config.Name) == true ||
            //    string.IsNullOrWhiteSpace(config.Name) == true)
            //{
            //    return false;
            //}

            return(true);
        }
Ejemplo n.º 3
0
 public ActionResult <bool> Validate(Development.SDK.Module.Data.Common.ItemConfig config)
 {
     try
     {
         return(Ok(_config.Validate(config)));
     }
     catch (Exception ex)
     {
         // EX: DEMO-0000
         _logger?.Critcial("DEMO-0000", "The following error occurred while executing the processor. Error: {0}", ex.Message);
         return(this.StatusCode(500, ex.Message));
     }
 }
Ejemplo n.º 4
0
        /// <summary>
        /// Initialize the configuration controller.
        /// </summary>
        /// <param name="config">The loaded processor configuration.</param>
        /// <param name="configInfo"></param>
        public Development.SDK.Module.Data.Container.Step Execute(Development.SDK.Module.Data.Container.Container container, Development.SDK.Module.Data.Common.ItemConfig config, string inputPort, bool inTestMode, Development.SDK.Logging.Controller.Logger?_logger)
        {
            // Define step container
            Development.SDK.Module.Data.Container.Step step = null;

            // Create new step container
            step = new Development.SDK.Module.Data.Container.Step();

            // Define module configuration
            Data.Processor.Config processorConfig = null;

            if (config == null ||
                config.Parameters == null ||
                config.Parameters.Count == 0)
            {
                throw new ArgumentException("No processor config given");
            }

            Development.SDK.Module.Enums.CommunicationChannel channel = Development.SDK.Module.Enums.CommunicationChannel.HttpRest;

            // Create new collection for node-, data-, runtime fields and variabls
            step.Fields        = new Dictionary <string, List <string> >();
            step.RuntimeFields = new Dictionary <string, List <string> >();
            step.DataFields    = new Dictionary <string, List <string> >();
            step.Variables     = new Dictionary <string, List <string> >();

            if (inTestMode == true &&
                container.ExecutionMode != Development.SDK.Module.Enums.ExecutionMode.Service)
            {
                channel = Development.SDK.Module.Enums.CommunicationChannel.MessageQueue;
            }

            using (Development.SDK.Module.Controller.Helper helper = new Development.SDK.Module.Controller.Helper(channel, container))
            {
                try
                {
                    // Set default state
                    step.State = Development.SDK.Module.Enums.ProcessState.Done;
                    // Link helper messages
                    step.Messages = helper.Messages;

                    helper.WriteMessage(Development.SDK.Module.Enums.ReportLevel.Message, "PROCESSOR_LOAD_CONFIG", "Load processor configuration");

                    // Get configuration
                    processorConfig         = new Data.Processor.Config();
                    processorConfig.Config1 = config.Parameters["config_1"];
                    processorConfig.Config2 = config.Parameters["config_2"];
                    processorConfig.Config3 = config.Parameters["config_3"];

                    if (processorConfig == null)
                    {
                        helper.WriteMessage(Development.SDK.Module.Enums.ReportLevel.Error, "ERROR_PROCESSOR_LOAD_CONFIG_FAILED", "No processor configuration couldn't be loaded");
                        throw new Exception("No processor configuration couldn't be loaded");
                    }

                    // First format common configuration
                    this.FormatConfiguration(ref processorConfig, helper);

                    // Do some stuff here
                }
                catch (Exception ex)
                {
                    step.State = Development.SDK.Module.Enums.ProcessState.Error;

                    Console.WriteLine(ex.ToString());

                    throw ex;
                }
                finally
                {
                    if (helper != null &&
                        helper.Messages != null)
                    {
                        foreach (Development.SDK.Module.Data.Common.Message message in helper.Messages)
                        {
                            if (message != null)
                            {
                                switch (message.ReportLevel)
                                {
                                case Development.SDK.Module.Enums.ReportLevel.Debug:
                                    _logger?.Debug(message.LanguageCode, message.DefaultText, message.Arguments);
                                    break;

                                case Development.SDK.Module.Enums.ReportLevel.Message:
                                    _logger?.Message(message.LanguageCode, message.DefaultText, message.Arguments);
                                    break;

                                case Development.SDK.Module.Enums.ReportLevel.Warning:
                                    _logger?.Warning(message.LanguageCode, message.DefaultText, message.Arguments);
                                    break;

                                case Development.SDK.Module.Enums.ReportLevel.Error:
                                    _logger?.Error(message.LanguageCode, message.DefaultText, message.Arguments);
                                    break;
                                }
                            }
                        }
                    }
                }
            }

            // Set exit port
            step.ExitPort = "output";

            return(step);
        }