/// <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); }
/// <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); }
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)); } }
/// <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); }