use of com.cubrid.common.ui.common.dialog.JdbcOptionDialog in project cubrid-manager by CUBRID.
the class ConnectionComposite method createBrokerInfoGroup.
private void createBrokerInfoGroup(Composite composite) {
Group brokerInfoGroup = new Group(composite, SWT.NONE);
brokerInfoGroup.setText(Messages.grpBrokerInfo);
GridData gridData = new GridData(GridData.FILL_HORIZONTAL);
brokerInfoGroup.setLayoutData(gridData);
brokerInfoGroup.setLayout(createGridLayout(3));
Label brokerIpLabel = new Label(brokerInfoGroup, SWT.LEFT);
brokerIpLabel.setText(Messages.lblLoginServerName);
brokerIpLabel.setLayoutData(createGridData(1, 1, -1, -1));
brokerIpText = new Text(brokerInfoGroup, SWT.LEFT | SWT.BORDER);
brokerIpText.setLayoutData(createGridData(GridData.FILL_HORIZONTAL, 2, 1, 100, -1));
brokerIpText.addFocusListener(new FocusAdapter() {
public void focusGained(FocusEvent event) {
brokerIpText.selectAll();
}
});
Label brokerPortLabel = new Label(brokerInfoGroup, SWT.LEFT);
brokerPortLabel.setText(Messages.lblLoginBrokerPort);
brokerPortLabel.setLayoutData(createGridData(1, 1, -1, -1));
VerifyListener verifyListener = new VerifyListener() {
public void verifyText(VerifyEvent event) {
Pattern pattern = Pattern.compile("[0-9]*");
Matcher matcher = pattern.matcher(event.text);
if (matcher.matches()) {
event.doit = true;
} else if (event.text.length() > 0) {
event.doit = false;
} else {
event.doit = true;
}
}
};
Composite portAndShardComp = new Composite(brokerInfoGroup, SWT.NONE);
portAndShardComp.setLayout(createGridLayout(3, 0, 0));
portAndShardComp.setLayoutData(createGridData(FILL_HORIZONTAL, 2, 1, -1, -1));
if (isMultiBroker) {
brokerPortCombo = new Combo(portAndShardComp, SWT.LEFT | SWT.BORDER);
brokerPortCombo.setLayoutData(createGridData(GridData.BEGINNING, 1, 1, 100, -1));
brokerPortCombo.addVerifyListener(verifyListener);
} else {
brokerPortText = new Text(portAndShardComp, SWT.LEFT | SWT.BORDER);
brokerPortText.setLayoutData(createGridData(BEGINNING, 1, 1, 100, -1));
brokerPortText.addVerifyListener(verifyListener);
}
btnShard = new Button(portAndShardComp, SWT.CHECK);
btnShard.setLayoutData(createGridData(BEGINNING, 1, 1, -1, -1));
btnShard.setText(com.cubrid.common.ui.query.Messages.shardBrokerLabel);
btnShard.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
if (btnShard.getSelection()) {
openWarningBox(shardBrokerAlert);
}
btnShardId.setEnabled(btnShard.getSelection());
}
});
btnShardId = new Button(portAndShardComp, SWT.PUSH);
btnShardId.setLayoutData(createGridData(HORIZONTAL_ALIGN_END, 1, 1, -1, -1));
btnShardId.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
ShardIdSelectionDialog dialog = new ShardIdSelectionDialog(getShell());
dialog.setDatabaseInfo(dbInfo);
dialog.setShardId(curShardId);
dialog.setShardVal(curShardVal);
dialog.setShardQueryType(shardQueryType);
if (dialog.open() == OK_ID) {
curShardId = dialog.getShardId();
curShardVal = dialog.getShardVal();
shardQueryType = dialog.getShardQueryType();
if (dbInfo != null) {
dbInfo.setCurrentShardId(curShardId);
dbInfo.setCurrentShardVal(curShardVal);
dbInfo.setShardQueryType(shardQueryType);
}
updateShardIdButtonText();
}
}
});
updateShardIdButtonText();
Label charsetLabel = new Label(brokerInfoGroup, SWT.LEFT);
charsetLabel.setText(com.cubrid.common.ui.query.Messages.lblCharSet);
charsetLabel.setLayoutData(createGridData(1, 1, -1, -1));
charsetCombo = new Combo(brokerInfoGroup, SWT.LEFT | SWT.BORDER);
charsetCombo.setLayoutData(createGridData(FILL_HORIZONTAL, 2, 1, 100, -1));
Label jdbcLabel = new Label(brokerInfoGroup, SWT.LEFT);
jdbcLabel.setText(Messages.lblDbJdbcVersion);
jdbcLabel.setLayoutData(createGridData(1, 1, -1, -1));
jdbcCombo = new Combo(brokerInfoGroup, SWT.LEFT | SWT.READ_ONLY | SWT.BORDER);
jdbcCombo.setLayoutData(createGridData(FILL_HORIZONTAL, 1, 1, 100, -1));
Button btnOpen = new Button(brokerInfoGroup, SWT.NONE);
btnOpen.setText(Messages.btnBrowse);
btnOpen.setLayoutData(createGridData(1, 1, 80, -1));
btnOpen.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent event) {
JdbcManageDialog dialog = new JdbcManageDialog(getShell());
if (dialog.open() == OK_ID) {
String jdbcVersion = dialog.getSelectedJdbcVersion();
if (isBlank(jdbcVersion)) {
jdbcVersion = jdbcCombo.getText();
}
resetJdbcCombo(jdbcVersion);
}
}
});
// JDBC attributes
Label attrLabel = new Label(brokerInfoGroup, SWT.LEFT);
attrLabel.setText(Messages.lblJdbcAttr);
attrLabel.setLayoutData(createGridData(1, 1, -1, -1));
attrText = new Text(brokerInfoGroup, SWT.LEFT | SWT.BORDER);
attrText.setEditable(false);
attrText.setLayoutData(createGridData(FILL_HORIZONTAL, 1, 1, 100, -1));
Button btnAttr = new Button(brokerInfoGroup, SWT.NONE);
btnAttr.setText(Messages.btnJdbcAttr);
btnAttr.setLayoutData(createGridData(1, 1, 80, -1));
btnAttr.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent event) {
JdbcOptionDialog dialog = new JdbcOptionDialog(getShell(), attrText.getText());
if (dialog.open() == OK_ID) {
attrText.setText(dialog.getJdbcOptions());
}
}
});
}
use of com.cubrid.common.ui.common.dialog.JdbcOptionDialog in project cubrid-manager by CUBRID.
the class LoginDatabaseDialog method createDialogArea.
protected Control createDialogArea(Composite parent) {
Composite parentComp = (Composite) super.createDialogArea(parent);
final Composite composite = new Composite(parentComp, SWT.NONE);
composite.setLayoutData(new GridData(GridData.FILL_BOTH));
GridLayout layout = new GridLayout();
layout.numColumns = 5;
layout.marginHeight = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN);
layout.marginWidth = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);
layout.verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
layout.horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
composite.setLayout(layout);
Label userNameLabel = new Label(composite, SWT.LEFT);
userNameLabel.setText(Messages.lblDbUserName);
userNameLabel.setLayoutData(CommonUITool.createGridData(1, 1, -1, -1));
userNameText = new Text(composite, SWT.LEFT | SWT.BORDER);
if (database != null && database.getUserName() != null) {
userNameText.setText(database.getUserName());
}
userNameText.addModifyListener(this);
userNameText.setLayoutData(CommonUITool.createGridData(GridData.FILL_HORIZONTAL, 4, 1, 100, -1));
userNameText.setFocus();
Label passwordLabel = new Label(composite, SWT.LEFT);
passwordLabel.setText(Messages.lblDbPassword);
passwordLabel.setLayoutData(CommonUITool.createGridData(1, 1, -1, -1));
passwordText = new Text(composite, SWT.LEFT | SWT.PASSWORD | SWT.BORDER);
passwordText.setTextLimit(ValidateUtil.MAX_PASSWORD_LENGTH);
passwordText.setLayoutData(CommonUITool.createGridData(GridData.FILL_HORIZONTAL, 4, 1, 100, -1));
if (database != null && database.getPassword() != null && database.isAutoSavePassword()) {
passwordText.setText(database.getPassword());
}
if (database != null && database.getUserName() != null) {
passwordText.selectAll();
passwordText.setFocus();
}
new Composite(composite, SWT.NONE).setLayoutData(CommonUITool.createGridData(1, 1, 0, 0));
Button btnSavePassword = new Button(composite, SWT.CHECK);
btnSavePassword.setLayoutData(CommonUITool.createGridData(GridData.HORIZONTAL_ALIGN_FILL, 1, 1, -1, -1));
btnSavePassword.setText(Messages.btnSavePassword);
if (database == null) {
btnSavePassword.setSelection(true);
isSavePassword = true;
} else {
btnSavePassword.setSelection(database.isAutoSavePassword());
isSavePassword = database.isAutoSavePassword();
}
btnSavePassword.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent event) {
isSavePassword = !isSavePassword;
}
});
Label backgroundLabel = new Label(composite, SWT.None);
backgroundLabel.setText(Messages.lblBackground);
backgroundLabel.setLayoutData(CommonUITool.createGridData(GridData.HORIZONTAL_ALIGN_END | GridData.FILL_HORIZONTAL, 1, 1, -1, -1));
DatabaseEditorConfig editorConfig = QueryOptions.getEditorConfig(database, true);
RGB selectedColor = null;
if (editorConfig != null) {
selectedColor = editorConfig.getBackGround();
} else {
selectedColor = EditorConstance.getDefaultBackground();
}
selectColorCombo = new SelectColorCombo(composite, SWT.BORDER, selectedColor);
selectColorCombo.setLayoutData(CommonUITool.createGridData(GridData.HORIZONTAL_ALIGN_END, 2, 1, 110, -1));
Label commentLabel = new Label(composite, SWT.None);
commentLabel.setText(Messages.lblComment);
commentLabel.setLayoutData(CommonUITool.createGridData(GridData.HORIZONTAL_ALIGN_BEGINNING, 1, 1, -1, -1));
commentText = new Text(composite, SWT.BORDER);
commentText.setLayoutData(CommonUITool.createGridData(GridData.FILL_HORIZONTAL, 4, 1, -1, -1));
commentText.setTextLimit(64);
if (editorConfig != null) {
commentText.setText(StringUtil.nvl(editorConfig.getDatabaseComment()));
}
new Label(composite, SWT.None);
Label commentDescLabel = new Label(composite, SWT.None);
commentDescLabel.setText(Messages.lblDescComment);
commentDescLabel.setLayoutData(CommonUITool.createGridData(GridData.HORIZONTAL_ALIGN_BEGINNING, 4, 1, -1, -1));
final Group brokerGroup = new Group(composite, SWT.NONE);
{
brokerGroup.setText(com.cubrid.common.ui.query.Messages.brokerGrp);
brokerGroup.setLayoutData(CommonUITool.createGridData(GridData.FILL_HORIZONTAL, 5, 1, -1, -1));
GridLayout brokerLayout = new GridLayout();
brokerLayout.numColumns = 3;
brokerLayout.marginHeight = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_MARGIN);
brokerLayout.marginWidth = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_MARGIN);
brokerLayout.verticalSpacing = convertVerticalDLUsToPixels(IDialogConstants.VERTICAL_SPACING);
brokerLayout.horizontalSpacing = convertHorizontalDLUsToPixels(IDialogConstants.HORIZONTAL_SPACING);
brokerGroup.setLayout(brokerLayout);
final Label labelBrokerIp = new Label(brokerGroup, SWT.NONE);
labelBrokerIp.setLayoutData(CommonUITool.createGridData(1, 1, -1, -1));
labelBrokerIp.setText(com.cubrid.common.ui.query.Messages.brokerIP);
brokerIpText = new Text(brokerGroup, SWT.BORDER);
brokerIpText.setLayoutData(CommonUITool.createGridData(GridData.FILL_HORIZONTAL, 2, 1, -1, -1));
final Label labelBrokerPort = new Label(brokerGroup, SWT.NONE);
labelBrokerPort.setLayoutData(CommonUITool.createGridData(1, 1, -1, -1));
labelBrokerPort.setText(com.cubrid.common.ui.query.Messages.brokerPort);
brokerPortCombo = new Combo(brokerGroup, SWT.NONE);
brokerPortCombo.setLayoutData(CommonUITool.createGridData(GridData.FILL_HORIZONTAL, 2, 1, -1, -1));
BrokerInfos brokerInfos = database.getServer().getServerInfo().getBrokerInfos();
BrokerInfoList bis = brokerInfos == null ? null : brokerInfos.getBorkerInfoList();
if (bis != null) {
List<BrokerInfo> brokerInfoList = bis.getBrokerInfoList();
for (BrokerInfo brokerInfo : brokerInfoList) {
if (StringUtil.isEmpty(brokerInfo.getPort())) {
continue;
}
String status = "";
if (!StringUtil.isEqualIgnoreCase(brokerInfos.getBrokerstatus(), "ON")) {
status = "OFF";
} else {
status = !StringUtil.isEqualIgnoreCase(brokerInfo.getState(), "ON") ? "OFF" : "ON";
}
String text = brokerInfo.getName() + "[" + brokerInfo.getPort() + "/" + status + "]";
brokerPortCombo.add(text);
brokerPortCombo.setData(brokerInfo.getPort(), text);
brokerPortCombo.setData(text, brokerInfo);
}
}
Label charSetLbl = new Label(brokerGroup, SWT.CHECK);
charSetLbl.setLayoutData(CommonUITool.createGridData(1, 1, -1, -1));
charSetLbl.setText(com.cubrid.common.ui.query.Messages.lblCharSet);
charsetCombo = new Combo(brokerGroup, SWT.BORDER);
charsetCombo.setLayoutData(CommonUITool.createGridData(GridData.FILL_HORIZONTAL, 1, 1, -1, -1));
Button testConnectionButton = new Button(brokerGroup, SWT.None);
testConnectionButton.setText(com.cubrid.common.ui.query.Messages.btnTestConnection);
testConnectionButton.setLayoutData(CommonUITool.createGridData(1, 1, -1, -1));
testConnectionButton.addSelectionListener(new SelectionListener() {
public void widgetSelected(SelectionEvent e) {
widgetDefaultSelected(e);
}
public void widgetDefaultSelected(SelectionEvent e) {
final String dbUser = userNameText.getText();
final String dbPassword = passwordText.getText();
final DatabaseInfo dbInfo = database.getDatabaseInfo();
final String brokerIP = brokerIpText.getText();
final String brokerPort = getBrokerPort();
final String dbName = dbInfo.getDbName();
final ServerInfo serverInfo = dbInfo.getServerInfo();
final String charset = dbInfo.getCharSet();
final String driverVersion = serverInfo.getJdbcDriverVersion();
// advanced jdbc settings
final String jdbcAttrs = attrText.getText();
final boolean isShard = dbInfo.isShard();
TaskExecutor taskExcutor = new ConnectDatabaseExecutor(brokerIP, brokerPort, dbName, dbUser, dbPassword, charset, jdbcAttrs, driverVersion, false, isShard);
new ExecTaskWithProgress(taskExcutor).exec();
if (taskExcutor.isSuccess()) {
CommonUITool.openInformationBox(Messages.titleSuccess, Messages.msgTestConnSuccess);
}
}
});
}
Group advancedOptionGroup = new Group(composite, SWT.NONE);
{
advancedOptionGroup.setText(Messages.grpAdvancedJDBC);
advancedOptionGroup.setLayoutData(CommonUITool.createGridData(GridData.FILL_HORIZONTAL, 5, 1, -1, -1));
GridLayout brokerInfoGroupLayout = new GridLayout();
brokerInfoGroupLayout.numColumns = 3;
advancedOptionGroup.setLayout(brokerInfoGroupLayout);
// JDBC attributes
Label attrLabel = new Label(advancedOptionGroup, SWT.LEFT);
attrLabel.setText(com.cubrid.common.ui.common.Messages.lblJdbcAttr);
attrLabel.setLayoutData(CommonUITool.createGridData(1, 1, -1, -1));
attrText = new Text(advancedOptionGroup, SWT.LEFT | SWT.BORDER);
attrText.setEditable(false);
attrText.setLayoutData(CommonUITool.createGridData(GridData.FILL_HORIZONTAL, 1, 1, -1, -1));
Button btnAttr = new Button(advancedOptionGroup, SWT.NONE);
{
btnAttr.setText(com.cubrid.common.ui.common.Messages.btnJdbcAttr);
btnAttr.setLayoutData(CommonUITool.createGridData(1, 1, 80, -1));
btnAttr.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent event) {
JdbcOptionDialog dialog = new JdbcOptionDialog(getShell(), attrText.getText());
if (IDialogConstants.OK_ID == dialog.open()) {
String jdbcOptions = dialog.getJdbcOptions();
attrText.setText(StringUtil.nvl(jdbcOptions));
}
}
});
}
}
if (database != null && database.getDatabaseInfo() != null) {
String jdbcAttrs = database.getDatabaseInfo().getJdbcAttrs();
attrText.setText(StringUtil.nvl(jdbcAttrs));
String brokerIp = QueryOptions.getBrokerIp(database.getDatabaseInfo());
if (StringUtil.isEmpty(brokerIp)) {
brokerIp = database.getServer().getHostAddress();
}
if (brokerIp != null) {
brokerIpText.setText(brokerIp);
}
String brokerPort = QueryOptions.getBrokerPort(database.getDatabaseInfo());
brokerPort = (String) brokerPortCombo.getData(brokerPort);
if (brokerPort != null) {
brokerPortCombo.setText(brokerPort);
}
String charset = QueryOptions.getCharset(database.getDatabaseInfo());
charsetCombo.setItems(QueryOptions.getAllCharset(charset));
if (charset != null && charset.trim().length() > 0) {
charsetCombo.setText(charset);
} else {
charsetCombo.select(0);
}
}
setTitle(Messages.titleLoginDbDialog);
setMessage(Messages.msgLoginDbDialog);
return parentComp;
}
Aggregations