⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dbsettingspanel.java

📁 CRM源码This file describes some issues that should be implemented in future and how it should be imple
💻 JAVA
字号:
package com.izforge.izpack.panels;

import com.izforge.izpack.installer.InstallData;
import com.izforge.izpack.installer.InstallerFrame;
import com.izforge.izpack.util.AbstractUIHandler;

import java.io.File;
import java.util.List;
import java.util.ArrayList;

/**
 * @author dmitry.antonov
 */
public class DBSettingsPanel extends UserInputPanel {


    private static final String INSTALL_MYSQL = "installMySQL";
    private static final String MYSQL_PATH = "MYSQL_PATH";
    private static final String MYSQL_LOGIN = "MYSQL_LOGIN";
    private static final String MYSQL_PASS = "MYSQL_PASSWORD";
    private static final String DB_PASS = "DB_PASSWORD";

    public DBSettingsPanel(InstallerFrame parent, InstallData installData) {
        //Autogenerate
        super(parent, installData);
    }


    private String[] getDBNames(String mySqlPath, String adminLogin, String adminPasswd) {
        File file = new File(mySqlPath + File.separator + "data");
        if (file.exists() && file.isDirectory()) {
            File[] files = file.listFiles();
            List result = new ArrayList();
            for (int i = 0; i < files.length; i++) {
                if (files[i].isDirectory()) {
                    result.add(files[i].getName());
                }
            }
            return (String[]) result.toArray(new String[0]);
        }
        else {
            return new String[0];
        }
    }

    private boolean isDBNameUnique(String dbName) {
        dbName = dbName.toUpperCase();
        if (idata.getVariable(INSTALL_MYSQL).equals("no")) {
            String[] dbnames = getDBNames(idata.getVariable(MYSQL_PATH),
                    idata.getVariable(MYSQL_LOGIN), idata.getVariable(MYSQL_PASS));
            for (int i = 0; i < dbnames.length; i++) {
                String currentLine = dbnames[i];
                if (currentLine.toUpperCase().contains(dbName)) {
                    return askQuestion("QueWeb Database Name Warning", "Specified QueWeb DB name overrides existing and All data in the old " +
                                     "database will be lost! Are you sure?", AbstractUIHandler.CHOICES_YES_NO,
                                     AbstractUIHandler.ANSWER_NO) == AbstractUIHandler.ANSWER_YES;
                }
            }
        }
        return true;
    }

    private boolean isPasswordConfimationValid() {
        if (idata.getVariable(DB_PASS + '1').equals(idata.getVariable(DB_PASS + '2'))) {
            idata.setVariable(DB_PASS, idata.getVariable(DB_PASS + '1'));
            return true;
        }
        else {
            emitError("QueWeb DB password error", "The password was not correctly confirmed. Please ensure that the password and confirmation match exactly.");            
            return false;
        }
    }

    /*--------------------------------------------------------------------------*/
    /*--------------------------------------------------------------------------*/
    public boolean isValidated() {
        return super.isValidated() && isPasswordConfimationValid() && 
                isDBNameUnique(idata.getVariable("DB_NAME"));
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -