Ejemplo n.º 1
0
        private void InitializeDefaults()
        {
            // Reset the database type dropdown
            ddlDatabaseType.SelectedIndex = 0;

            // Set sensible defaults
            string solutionName = VSSolutionUtils.GetSolutionName(m_applicationObject.Solution);

            txtApplicationName.Text = solutionName;

            ddlVersionControl.SelectedIndex    = 0;
            ddlAndroMDABootstrap.SelectedIndex = 0;

            usrCommonProject.ProjectName    = solutionName + ".Common";
            usrCoreProject.ProjectName      = solutionName + ".Core";
            txtSchemaExportProject.Text     = solutionName + ".SchemaExport";
            usrTestProject.ProjectName      = solutionName + ".Tests";
            usrWebProject.ProjectName       = solutionName + ".Web";
            usrWebCommonProject.ProjectName = solutionName + ".Web.Common";

            cbCreateSchemaExport.Checked = true;

            cbConfigureWebProject.Checked = true;
            cbConfigureWebProject.Checked = false;

            cbConfigureWebCommonProject.Checked = true;
            cbConfigureWebCommonProject.Checked = false;

            cbConfigureUnitTestingProject.Checked = true;
            cbConfigureUnitTestingProject.Checked = false;

            txtAndroMDAVersion.Text         = "3.5-SNAPSHOT";
            txtDotNetCartridgesVersion.Text = "1.2-SNAPSHOT";
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Creates a ConfigFile with all the settings that will be needed for parsing the
        /// variables in the files that will be written out by the solution wizard.
        /// </summary>
        /// <returns></returns>
        private ConfigFile CreateSolutionWizardConfiguration()
        {
            ConfigFile config = new ConfigFile();

            config.Clear();

            try
            {
                config["sysinfo.currentuser"] = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
            }
            catch { }
            config["sysinfo.currentdate"] = DateTime.Now.ToLongDateString();

            config["android.apptitle"] = "Android/VS v" + AndroMDA.VS80AddIn.VS80AddIn.ADD_IN_VERSION;
            config["android.version"]  = AndroMDA.VS80AddIn.VS80AddIn.ADD_IN_VERSION;

            config["solution.name"] = VSSolutionUtils.GetSolutionName(m_applicationObject.Solution);
            config["solution.path"] = VSSolutionUtils.GetSolutionPath(m_applicationObject.Solution);

            config["application.name"]           = txtApplicationName.Text;
            config["application.name.nospaces"]  = txtApplicationName.Text.Replace(" ", string.Empty);
            config["application.version"]        = "1.0";
            config["application.versioncontrol"] = ddlVersionControl.SelectedItem.ToString();

            config["application.andromda.bootstrap"] = ddlAndroMDABootstrap.SelectedItem.ToString();
            config["application.andromda.version"]   = txtAndroMDAVersion.Text;

            config["application.dotnetcartridges.version"] = txtDotNetCartridgesVersion.Text;

            config["application.model.filename.unzipped"] = config["application.name.nospaces"] + ".Model.xmi";
            if (cbUseZippedModel.Checked)
            {
                config["application.model.filename"] = config["application.name.nospaces"] + ".Model.xmi.zip";
                config["application.model.uri"]      = config["application.name.nospaces"] + ".Model.xmi.zip!" + config["application.name.nospaces"] + ".Model.xmi";
            }
            else
            {
                config["application.model.filename"] = config["application.name.nospaces"] + ".Model.xmi";
                config["application.model.uri"]      = config["application.name.nospaces"] + ".Model.xmi";
            }
            config["application.model.zipped"] = BoolToString(cbUseZippedModel.Checked);

            config["projects.common.name"]   = usrCommonProject.ProjectName;
            config["projects.common.dir"]    = usrCommonProject.ProjectName;
            config["projects.common.create"] = BoolToString(usrCommonProject.CreateNewProject);

            config["projects.core.name"]   = usrCoreProject.ProjectName;
            config["projects.core.dir"]    = usrCoreProject.ProjectName;
            config["projects.core.create"] = BoolToString(usrCoreProject.CreateNewProject);

            config["projects.schemaexport.name"]   = txtSchemaExportProject.Text;
            config["projects.schemaexport.dir"]    = txtSchemaExportProject.Text;
            config["projects.schemaexport.create"] = BoolToString(cbCreateSchemaExport.Checked);

            config["projects.tests.configure"]    = BoolToString(cbConfigureUnitTestingProject.Checked);
            config["projects.tests.name"]         = usrTestProject.ProjectName;
            config["projects.tests.dir"]          = usrTestProject.ProjectName;
            config["projects.tests.create"]       = BoolToString(usrTestProject.CreateNewProject);
            config["projects.tests.scenariounit"] = BoolToString(cbScenarioUnitSupport.Checked);

            config["projects.web.configure"] = BoolToString(cbConfigureWebProject.Checked);
            string webname = usrWebProject.ProjectName.Trim('\\');

            if (!usrWebProject.CreateNewProject)
            {
                webname = webname.Substring(webname.LastIndexOf('\\') + 1);
            }
            config["projects.web.name"]   = webname;
            config["projects.web.dir"]    = usrWebProject.ProjectName;
            config["projects.web.create"] = BoolToString(usrWebProject.CreateNewProject);
            config["projects.web.usenhibernateconfig"] = BoolToString(cbUseNHibernateConfig.Checked);
            config["projects.web.addmembership"]       = BoolToString(cbAddMembershipSupport.Checked);
            config["cartridges.aspnet.configure"]      = BoolToString(cbConfigureASPNETCartridge.Checked);

            config["projects.web.common.configure"] = BoolToString(cbConfigureWebCommonProject.Checked);
            config["projects.web.common.name"]      = usrWebCommonProject.ProjectName;
            config["projects.web.common.dir"]       = usrWebCommonProject.ProjectName;
            config["projects.web.common.create"]    = BoolToString(usrWebCommonProject.CreateNewProject);

            config["database.name"] = txtApplicationName.Text.Replace(" ", string.Empty).Replace(".", string.Empty);

            config["solution.path"] = VSSolutionUtils.GetSolutionPath(m_applicationObject.Solution);

            // TODO: Support all database types that NHibernate supports
            switch (ddlDatabaseType.SelectedItem.ToString())
            {
            case "Microsoft SQL Server 2005":
                config["database.mappingtype"]              = "MSSQL";
                config["database.hibernatedialect"]         = "net.sf.hibernate.dialect.SQLServerDialect";
                config["database.nhibernatedialect"]        = "NHibernate.Dialect.MsSql2005Dialect";
                config["hibernate.connection.driver_class"] = "NHibernate.Driver.SqlClientDriver";
                break;

            case "Microsoft SQL Server 2000":
                config["database.mappingtype"]              = "MSSQL";
                config["database.hibernatedialect"]         = "net.sf.hibernate.dialect.SQLServerDialect";
                config["database.nhibernatedialect"]        = "NHibernate.Dialect.MsSql2000Dialect";
                config["hibernate.connection.driver_class"] = "NHibernate.Driver.SqlClientDriver";
                break;

            case "MySQL":
                config["database.mappingtype"]              = "MySQL";
                config["database.hibernatedialect"]         = "net.sf.hibernate.dialect.MySQLDialect";
                config["database.nhibernatedialect"]        = "NHibernate.Dialect.MySQLDialect";
                config["hibernate.connection.driver_class"] = "NHibernate.Driver.MySqlDataDriver";
                break;

            case "PostgreSQL":
                config["database.mappingtype"]              = "PostgreSQL";
                config["database.hibernatedialect"]         = "net.sf.hibernate.dialect.PostgreSQLDialect";
                config["database.nhibernatedialect"]        = "NHibernate.Dialect.PostgreSQLDialect";
                config["hibernate.connection.driver_class"] = "NHibernate.Driver.NpgsqlDriver";
                break;

            case "Oracle 9i":
                config["database.mappingtype"]              = "Oracle9i";
                config["database.hibernatedialect"]         = "net.sf.hibernate.dialect.Oracle9Dialect";
                config["database.nhibernatedialect"]        = "NHibernate.Dialect.Oracle9Dialect";
                config["hibernate.connection.driver_class"] = "NHibernate.Driver.OracleClientDriver";
                break;

            case "Hypersonic":
                config["database.mappingtype"]              = "HypersonicSql";
                config["database.hibernatedialect"]         = "net.sf.hibernate.dialect.HSQLDialect";
                config["database.nhibernatedialect"]        = "NHibernate.Dialect.GenericDialect";
                config["hibernate.connection.driver_class"] = "NHibernate.Driver.OdbcDriver";
                break;
            }

            return(config);
        }