[204620] Need a method of contributing driver definition specific UIs to a connection profile wizard
diff --git a/plugins/org.eclipse.datatools.enablement.oracle.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.datatools.enablement.oracle.ui/META-INF/MANIFEST.MF
index 53f76fe..5bbc3b9 100644
--- a/plugins/org.eclipse.datatools.enablement.oracle.ui/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.datatools.enablement.oracle.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.datatools.enablement.oracle.ui;singleton:=true
-Bundle-Version: 1.0.0.200712041
+Bundle-Version: 1.0.0.200712061
Bundle-Localization: plugin
Export-Package: org.eclipse.datatools.enablement.oracle.internal.ui,
org.eclipse.datatools.enablement.oracle.internal.ui.drivers
diff --git a/plugins/org.eclipse.datatools.enablement.oracle.ui/src/org/eclipse/datatools/enablement/oracle/internal/ui/drivers/OracleThinDriverUIContributor.java b/plugins/org.eclipse.datatools.enablement.oracle.ui/src/org/eclipse/datatools/enablement/oracle/internal/ui/drivers/OracleThinDriverUIContributor.java
index 718dd90..4668deb 100644
--- a/plugins/org.eclipse.datatools.enablement.oracle.ui/src/org/eclipse/datatools/enablement/oracle/internal/ui/drivers/OracleThinDriverUIContributor.java
+++ b/plugins/org.eclipse.datatools.enablement.oracle.ui/src/org/eclipse/datatools/enablement/oracle/internal/ui/drivers/OracleThinDriverUIContributor.java
@@ -22,6 +22,7 @@
import org.eclipse.swt.custom.ScrolledComposite;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Combo;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Event;
@@ -46,6 +47,9 @@
private static final String CUI_NEWCW_PASSWORD_LBL_UI_ = Messages
.getString("CUI_NEWCW_PASSWORD_LBL_UI_"); //$NON-NLS-1$
+ private static final String CUI_NEWCW_SAVE_PASSWORD_LBL_UI_ = Messages
+ .getString("CUI_NEWCW_SAVE_PASSWORD_LBL_UI_"); //$NON-NLS-1$
+
private static final String CUI_NEWCW_CONNECTIONURL_LBL_UI_ = Messages
.getString("CUI_NEWCW_CONNECTIONURL_LBL_UI_");
@@ -76,6 +80,15 @@
private static final String CUI_NEWCW_USERNAME_SUMMARY_DATA_TEXT_ = Messages
.getString("CUI_NEWCW_USERNAME_SUMMARY_DATA_TEXT_"); //$NON-NLS-1$
+ private static final String CUI_NEWCW_SAVE_PASSWORD_SUMMARY_DATA_TEXT_ = Messages
+ .getString("CUI_NEWCW_SAVE_PASSWORD_SUMMARY_DATA_TEXT_"); //$NON-NLS-1$
+
+ private static final String CUI_NEWCW_TRUE_SUMMARY_DATA_TEXT_ = Messages
+ .getString("CUI_NEWCW_TRUE_SUMMARY_DATA_TEXT_"); //$NON-NLS-1$
+
+ private static final String CUI_NEWCW_FALSE_SUMMARY_DATA_TEXT_ = Messages
+ .getString("CUI_NEWCW_FALSE_SUMMARY_DATA_TEXT_"); //$NON-NLS-1$
+
private static final String CUI_NEWCW_URL_SUMMARY_DATA_TEXT_ = Messages
.getString("CUI_NEWCW_URL_SUMMARY_DATA_TEXT_"); //$NON-NLS-1$
@@ -101,6 +114,8 @@
private Text passwordText;
+ private Button savePasswordButton;
+
private Label urlLabel;
private Text urlText;
@@ -230,6 +245,15 @@
gd.horizontalSpan = 2;
passwordText.setLayoutData(gd);
+ this.savePasswordButton = new Button(baseComposite, SWT.CHECK);
+ this.savePasswordButton.setText(CUI_NEWCW_SAVE_PASSWORD_LBL_UI_); //$NON-NLS-1$
+ gd = new GridData();
+ gd.horizontalAlignment = GridData.FILL;
+ gd.verticalAlignment = GridData.BEGINNING;
+ gd.horizontalSpan = 3;
+ gd.grabExcessHorizontalSpace = true;
+ savePasswordButton.setLayoutData(gd);
+
urlLabel = new Label(baseComposite, SWT.NONE);
urlLabel.setText(CUI_NEWCW_CONNECTIONURL_LBL_UI_);
gd = new GridData();
@@ -281,6 +305,7 @@
portText.addListener(SWT.Modify, this);
usernameText.addListener(SWT.Modify, this);
passwordText.addListener(SWT.Modify, this);
+ savePasswordButton.addListener(SWT.Selection, this);
catalogCombo.addListener(SWT.Modify, this);
}
@@ -290,6 +315,7 @@
portText.removeListener(SWT.Modify, this);
usernameText.removeListener(SWT.Modify, this);
passwordText.removeListener(SWT.Modify, this);
+ savePasswordButton.removeListener(SWT.Selection, this);
catalogCombo.removeListener(SWT.Modify, this);
}
@@ -312,6 +338,11 @@
this.catalogCombo.getText().trim() });
summaryData.add(new String[] { CUI_NEWCW_USERNAME_SUMMARY_DATA_TEXT_,
this.usernameText.getText().trim() });
+ summaryData
+ .add(new String[] {
+ CUI_NEWCW_SAVE_PASSWORD_SUMMARY_DATA_TEXT_,
+ savePasswordButton.getSelection() ? CUI_NEWCW_TRUE_SUMMARY_DATA_TEXT_
+ : CUI_NEWCW_FALSE_SUMMARY_DATA_TEXT_ });
summaryData.add(new String[] { CUI_NEWCW_URL_SUMMARY_DATA_TEXT_,
this.urlText.getText().trim() });
@@ -336,7 +367,12 @@
if (password != null) {
passwordText.setText(password);
}
-
+ String savePassword = this.properties
+ .getProperty(IConnectionProfileConstants.SAVE_PASSWORD_PROP_ID);
+ if ((savePassword != null)
+ && Boolean.valueOf(savePassword) == Boolean.TRUE) {
+ savePasswordButton.setSelection(true);
+ }
String catalog = USER_CATALOG;
String catalogSetting = this.properties
.getProperty(IOracleDriverDefinitionConstants.CATALOG_TYPE_PROPERTY_ID);
@@ -380,7 +416,7 @@
this.passwordText.getText());
properties.setProperty(
IConnectionProfileConstants.SAVE_PASSWORD_PROP_ID, String
- .valueOf(false));
+ .valueOf(savePasswordButton.getSelection()));
properties.setProperty(IDriverDefinitionConstants.USERNAME_PROP_ID,
this.usernameText.getText());
properties.setProperty(IDriverDefinitionConstants.URL_PROP_ID,
diff --git a/plugins/org.eclipse.datatools.enablement.oracle.ui/src/org/eclipse/datatools/enablement/oracle/internal/ui/drivers/messages.properties b/plugins/org.eclipse.datatools.enablement.oracle.ui/src/org/eclipse/datatools/enablement/oracle/internal/ui/drivers/messages.properties
index d3742f5..d1c8fcc 100644
--- a/plugins/org.eclipse.datatools.enablement.oracle.ui/src/org/eclipse/datatools/enablement/oracle/internal/ui/drivers/messages.properties
+++ b/plugins/org.eclipse.datatools.enablement.oracle.ui/src/org/eclipse/datatools/enablement/oracle/internal/ui/drivers/messages.properties
@@ -17,6 +17,7 @@
CUI_NEWCW_PORT_LBL_UI_ = Port nu&mber:
CUI_NEWCW_USERNAME_LBL_UI_ = User name:
CUI_NEWCW_PASSWORD_LBL_UI_ = Password:
+CUI_NEWCW_SAVE_PASSWORD_LBL_UI_ = Sa&ve password
CUI_NEWCW_CONNECTIONURL_LBL_UI_= Connection UR&L:
ALL_CATALOGS_OPTION_UI_ = All
DBA_CATALOG_OPTION_UI_ = DBA
@@ -28,6 +29,9 @@
CUI_NEWCW_PORT_SUMMARY_DATA_TEXT_ = Port number
CUI_NEWCW_CATALOG_SUMMARY_DATA_TEXT_ = Catalog
CUI_NEWCW_USERNAME_SUMMARY_DATA_TEXT_ = User name
+CUI_NEWCW_SAVE_PASSWORD_SUMMARY_DATA_TEXT_ = Save password
+CUI_NEWCW_TRUE_SUMMARY_DATA_TEXT_ = true
+CUI_NEWCW_FALSE_SUMMARY_DATA_TEXT_ = false
CUI_NEWCW_URL_SUMMARY_DATA_TEXT_ = URL
CUI_NEWCW_VALIDATE_DATABASE_REQ_UI_ = Enter an SID name.