예제 #1
0
        public ExistingInstallationLogic(GeneralInstallationLogic generalInstallationLogic, InstallationConfiguration runtimeConfiguration)
        {
            this.generalInstallationLogic = generalInstallationLogic;
            this.runtimeConfiguration     = runtimeConfiguration;

            database = DatabaseAbstraction.DatabaseOps.CreateDatabase(runtimeConfiguration.PrimaryDatabaseInfo);
        }
        public DevelopmentInstallationLogic(
            GeneralInstallationLogic generalInstallationLogic, ExistingInstallationLogic existingInstallationLogic,
            RecognizedInstallationLogic recognizedInstallationLogic)
        {
            this.generalInstallationLogic = generalInstallationLogic;
            this.existingInstallationLogic = existingInstallationLogic;

            database = recognizedInstallationLogic != null
                           ? recognizedInstallationLogic.Database
                           : DatabaseAbstraction.DatabaseOps.CreateDatabase( existingInstallationLogic.RuntimeConfiguration.PrimaryDatabaseInfo, new List<string>() );

            var developmentConfiguration = existingInstallationLogic.RuntimeConfiguration.SystemDevelopmentConfiguration;
            databasesForCodeGeneration = new List<DatabaseAbstraction.Database>();
            if( developmentConfiguration.database != null )
                DatabasesForCodeGeneration.Add( database );
            if( developmentConfiguration.secondaryDatabases != null ) {
                foreach( var secondaryDatabaseInDevelopmentConfiguration in developmentConfiguration.secondaryDatabases ) {
                    DatabasesForCodeGeneration.Add(
                        ( recognizedInstallationLogic != null
                              ? recognizedInstallationLogic.SecondaryDatabasesIncludedInDataPackages.SingleOrDefault(
                                  sd => sd.SecondaryDatabaseName == secondaryDatabaseInDevelopmentConfiguration.name )
                              : null ) ??
                        DatabaseAbstraction.DatabaseOps.CreateDatabase(
                            this.existingInstallationLogic.RuntimeConfiguration.GetSecondaryDatabaseInfo( secondaryDatabaseInDevelopmentConfiguration.name ),
                            new List<string>() ) );
                }
            }
        }
        public DevelopmentInstallationLogic(
            GeneralInstallationLogic generalInstallationLogic, ExistingInstallationLogic existingInstallationLogic,
            RecognizedInstallationLogic recognizedInstallationLogic)
        {
            this.generalInstallationLogic  = generalInstallationLogic;
            this.existingInstallationLogic = existingInstallationLogic;

            database = recognizedInstallationLogic != null
                                           ? recognizedInstallationLogic.Database
                                           : DatabaseAbstraction.DatabaseOps.CreateDatabase(existingInstallationLogic.RuntimeConfiguration.PrimaryDatabaseInfo, new List <string>());

            var developmentConfiguration = existingInstallationLogic.RuntimeConfiguration.SystemDevelopmentConfiguration;

            databasesForCodeGeneration = new List <DatabaseAbstraction.Database>();
            if (developmentConfiguration.database != null)
            {
                DatabasesForCodeGeneration.Add(database);
            }
            if (developmentConfiguration.secondaryDatabases != null)
            {
                foreach (var secondaryDatabaseInDevelopmentConfiguration in developmentConfiguration.secondaryDatabases)
                {
                    DatabasesForCodeGeneration.Add(
                        (recognizedInstallationLogic != null
                                                          ? recognizedInstallationLogic.SecondaryDatabasesIncludedInDataPackages.SingleOrDefault(
                             sd => sd.SecondaryDatabaseName == secondaryDatabaseInDevelopmentConfiguration.name)
                                                          : null) ??
                        DatabaseAbstraction.DatabaseOps.CreateDatabase(
                            this.existingInstallationLogic.RuntimeConfiguration.GetSecondaryDatabaseInfo(secondaryDatabaseInDevelopmentConfiguration.name),
                            new List <string>()));
                }
            }
        }
        public RecognizedInstallationLogic( ExistingInstallationLogic existingInstallationLogic, KnownSystemLogic knownSystemLogic )
        {
            this.existingInstallationLogic = existingInstallationLogic;
            this.knownSystemLogic = knownSystemLogic;

            var rsisSystem = this.knownSystemLogic.RsisSystem;
            database = DatabaseAbstraction.DatabaseOps.CreateDatabase( existingInstallationLogic.RuntimeConfiguration.PrimaryDatabaseInfo,
                                                                       rsisSystem.PrimaryDatabaseOracleTableSpaces );

            var rsisSecondaryDatabases = rsisSystem.SecondaryDatabases.Where( sd => sd.DataPackageRank.HasValue ).OrderBy( sd => sd.DataPackageRank.Value );
            secondaryDatabasesIncludedInDataPackages = new List<DatabaseAbstraction.Database>();
            foreach( var rsisSecondaryDatabase in rsisSecondaryDatabases ) {
                var secondaryDatabaseInfo = this.existingInstallationLogic.RuntimeConfiguration.GetSecondaryDatabaseInfo( rsisSecondaryDatabase.Name );
                secondaryDatabasesIncludedInDataPackages.Add( DatabaseAbstraction.DatabaseOps.CreateDatabase( secondaryDatabaseInfo, rsisSecondaryDatabase.OracleTableSpaces ) );
            }
        }
        public RecognizedInstallationLogic(ExistingInstallationLogic existingInstallationLogic, KnownSystemLogic knownSystemLogic)
        {
            this.existingInstallationLogic = existingInstallationLogic;
            this.knownSystemLogic          = knownSystemLogic;

            var rsisSystem = this.knownSystemLogic.RsisSystem;

            database = DatabaseAbstraction.DatabaseOps.CreateDatabase(existingInstallationLogic.RuntimeConfiguration.PrimaryDatabaseInfo,
                                                                      rsisSystem.PrimaryDatabaseOracleTableSpaces);

            var rsisSecondaryDatabases = rsisSystem.SecondaryDatabases.Where(sd => sd.DataPackageRank.HasValue).OrderBy(sd => sd.DataPackageRank.Value);

            secondaryDatabasesIncludedInDataPackages = new List <DatabaseAbstraction.Database>();
            foreach (var rsisSecondaryDatabase in rsisSecondaryDatabases)
            {
                var secondaryDatabaseInfo = this.existingInstallationLogic.RuntimeConfiguration.GetSecondaryDatabaseInfo(rsisSecondaryDatabase.Name);
                secondaryDatabasesIncludedInDataPackages.Add(DatabaseAbstraction.DatabaseOps.CreateDatabase(secondaryDatabaseInfo, rsisSecondaryDatabase.OracleTableSpaces));
            }
        }