/// <summary> Configure the launcher from the provided properties, system name /// /// </summary> /// <param name="launcher">The launcher to configure /// </param> /// <param name="systemName">The name of the system we're configuring /// </param> /// <param name="props">The Properties object with our configuration information /// </param> /// <throws> IllegalArgumentException if a required parameter is missing </throws> /// <throws> MigrationException if there is problem setting the context into the launcher </throws> //UPGRADE_ISSUE: Class hierarchy differences between 'java.util.Properties' and 'System.Collections.Specialized.NameValueCollection' may cause compilation errors. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1186'" private void configureFromMigrationProperties(DistributedAdoMigrationLauncher launcher, System.String systemName, System.Collections.Specialized.NameValueCollection props) { // Get the name of the context to use for our patch information System.String patchStoreContextName = null;//getRequiredParam(props, systemName + ".context"); // Set up the data source /* TODO dataSource.DriverClass = getRequiredParam(props, patchStoreContextName + ".ado.driver"); dataSource.DatabaseUrl = getRequiredParam(props, patchStoreContextName + ".ado.url"); dataSource.Username = getRequiredParam(props, patchStoreContextName + ".ado.username"); dataSource.Password = getRequiredParam(props, patchStoreContextName + ".ado.password"); */ // Get any post-patch task paths launcher.PostPatchPath = props.Get(patchStoreContextName + ".postpatch.path"); // Set up the ADO migration context; accepts one of two property names DataSourceMigrationContext context = DataSourceMigrationContext; System.String databaseType = null;// getRequiredParam(props, patchStoreContextName + ".ado.database.type", patchStoreContextName + ".ado.dialect"); context.DatabaseType = new DatabaseType(databaseType); // Finish setting up the context context.SystemName = systemName; //context.DataSource = dataSource; // done reading in config, set launcher's context launcher.AddContext(context); // Get our controlled systems, and instantiate their launchers //UPGRADE_TODO: Class 'java.util.HashMap' was converted to 'System.Collections.Hashtable' which has a different behavior. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1073_javautilHashMap'" System.Collections.Hashtable controlledSystems = new System.Collections.Hashtable(); System.String[] controlledSystemNames = null;// getRequiredParam(props, systemName + ".controlled.systems").split(","); for (int i = 0; i < controlledSystemNames.Length; i++) { log.Info("Creating controlled migration launcher for system " + controlledSystemNames[i]); AdoMigrationLauncherFactory factory = AdoMigrationLauncherFactoryLoader.createFactory(); AdoMigrationLauncher subLauncher = factory.createMigrationLauncher(controlledSystemNames[i]); controlledSystems[controlledSystemNames[i]] = subLauncher; // Make sure the controlled migration process gets migration events //launcher.MigrationProcess.addListener(subLauncher); launcher.MigrationProcess.MigrationStarted += new MigrationProcess.MigrationStatusEventHandler(subLauncher.MigrationStarted); launcher.MigrationProcess.MigrationSuccessful += new MigrationProcess.MigrationStatusEventHandler(subLauncher.MigrationSuccessful); launcher.MigrationProcess.MigrationFailed += new MigrationProcess.MigrationStatusEventHandler(subLauncher.MigrationFailed); } // communicate our new-found controlled systems to the migration process // TODO ((DistributedMigrationProcess)launcher.MigrationProcess).ControlledSystems = null;// controlledSystems; }
/// <summary> Loads the configuration from the migration config properties file. /// /// </summary> /// <param name="launcher">the launcher to configure /// </param> /// <param name="systemName">the name of the system /// </param> /// <throws> MigrationException if an unexpected error occurs </throws> private void configureFromMigrationProperties(DistributedAdoMigrationLauncher launcher, System.String systemName) { //UPGRADE_ISSUE: Class 'java.lang.ClassLoader' was not converted. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1000_javalangClassLoader'" //UPGRADE_ISSUE: Method 'java.lang.Thread.getContextClassLoader' was not converted. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1000_javalangThreadgetContextClassLoader'" //ClassLoader cl = SupportClass.ThreadClass.Current().getContextClassLoader(); //UPGRADE_ISSUE: Method 'java.lang.ClassLoader.getResourceAsStream' was not converted. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1000_javalangClassLoader'" System.IO.Stream is_Renamed = null;// cl.getResourceAsStream(com.tacitknowledge.util.migration.MigrationContext_Fields.MIGRATION_CONFIG_FILE); if (is_Renamed != null) { try { //UPGRADE_ISSUE: Class hierarchy differences between 'java.util.Properties' and 'System.Collections.Specialized.NameValueCollection' may cause compilation errors. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1186'" //UPGRADE_TODO: Format of property file may need to be changed. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1089'" System.Collections.Specialized.NameValueCollection props = new System.Collections.Specialized.NameValueCollection(); //UPGRADE_TODO: Method 'java.util.Properties.load' was converted to 'System.Collections.Specialized.NameValueCollection' which has a different behavior. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1073_javautilPropertiesload_javaioInputStream'" props = new System.Collections.Specialized.NameValueCollection(System.Configuration.ConfigurationManager.AppSettings); configureFromMigrationProperties(launcher, systemName, props); } catch (System.IO.IOException e) { throw new MigrationException("Error reading in migration properties file", e); } finally { try { is_Renamed.Close(); } catch (System.IO.IOException ioe) { throw new MigrationException("Error closing migration properties file", ioe); } } } else { throw new MigrationException("Unable to find migration properties file '"/* TODO + com.tacitknowledge.util.migration.MigrationContext_Fields.MIGRATION_CONFIG_FILE*/ + "'"); } }