Esempio n. 1
0
        /// <summary>
        /// Handles initialization of an IPlugin object for a given plugin type.
        /// </summary>
        protected IPlugin InitializePlugin(Type pluginType, string mongoDatabaseName, string postgresDatabaseName, IEnumerable <IPluginResponse> previousPluginResponses)
        {
            Log.InfoFormat("Initializing {0} plugin..", pluginType.Name);

            try
            {
                // Create plugin object.
                var plugin = (IPlugin)Activator.CreateInstance(pluginType);

                // Set database connections.
                plugin.MongoDatabase = mongoConnectionInfo.GetDatabase(mongoDatabaseName);
                plugin.OutputDatabaseConnectionFactory = postgresConnectionInfo.GetConnectionFactory(postgresDatabaseName);

                if (PluginLoader.IsPostExecutionPlugin(pluginType))
                {
                    IPostExecutionPlugin postExecutionPlugin = (IPostExecutionPlugin)plugin;
                    postExecutionPlugin.PluginResponses = previousPluginResponses;
                    return(postExecutionPlugin);
                }
                else
                {
                    return(plugin);
                }
            }
            catch (Exception ex)
            {
                throw new PluginInitializationException(ex.Message, ex);
            }
        }
Esempio n. 2
0
 public LogsharkRunMetadataWriter(PostgresConnectionInfo postgresConnectionInfo)
 {
     connectionFactory = postgresConnectionInfo.GetConnectionFactory(CoreConstants.LOGSHARK_METADATA_DATABASE_NAME);
     InitializeTables();
 }
 public LogsharkRunMetadataPostgresWriter(PostgresConnectionInfo postgresConnectionInfo)
 {
     connectionFactory = postgresConnectionInfo.GetConnectionFactory(LogsharkMetadataDatabaseName);
 }