Example #1
0
        /// <summary>
        /// Calculates the output database name for the given plugin.  If no plugin-specific database is requested, defer to the global name.
        /// </summary>
        protected string GetOutputDatabaseName(string pluginName, IPluginRequest pluginRequest, PluginExecutionRequest pluginExecutionRequest)
        {
            string pluginDatabaseNameRequestArgumentKey = String.Format("{0}.DatabaseName", pluginName);

            if (pluginRequest.ContainsRequestArgument(pluginDatabaseNameRequestArgumentKey))
            {
                string requestedPluginDatabaseName = pluginRequest.GetRequestArgument(pluginDatabaseNameRequestArgumentKey).ToString();
                if (!String.IsNullOrWhiteSpace(requestedPluginDatabaseName))
                {
                    Log.InfoFormat("Redirecting output from the {0} plugin to user-requested database '{1}'.", pluginName, requestedPluginDatabaseName);
                    return(requestedPluginDatabaseName);
                }
            }

            return(pluginExecutionRequest.PostgresDatabaseName);
        }
 private static string GetRequestArgument(string key, IPluginRequest pluginRequest)
 {
     return(pluginRequest.GetRequestArgument(key).ToString());
 }