Merge pull request #6870 from apache/emptyDatasourceName
Don't create OCI Vault secrets with empty datasource name
diff --git a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/actions/AddDbConnectionToVault.java b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/actions/AddDbConnectionToVault.java
index a5fac3c..1c324b9 100644
--- a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/actions/AddDbConnectionToVault.java
+++ b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/actions/AddDbConnectionToVault.java
@@ -139,7 +139,8 @@
"CreatingSecret=Creating secret {0}",
"UpdatingSecret=Updating secret {0}",
"UpdatingVault=Updating {0} Vault",
- "ReadingSecrets=Reading existing Secrets"
+ "ReadingSecrets=Reading existing Secrets",
+ "DatasourceEmpty=Datasource name cannot be empty"
})
public class AddDbConnectionToVault implements ActionListener {
@@ -437,6 +438,9 @@
@Override
public Step<Result, Result> prepare(Result result) {
this.result = result;
+ if (result.datasourceName == null || result.datasourceName.isEmpty()) {
+ return this;
+ }
List<SecretItem> secrets = SecretNode.getSecrets().apply(result.vault);
this.dsNames = secrets.stream()
.map(s -> extractDatasourceName(s.getName()))
@@ -447,6 +451,9 @@
@Override
public NotifyDescriptor createInput() {
+ if (result.datasourceName == null || result.datasourceName.isEmpty()) {
+ return new NotifyDescriptor.QuickPick("", Bundle.DatasourceEmpty(), Collections.emptyList(), false);
+ }
List<Item> yesNo = new ArrayList();
yesNo.add(new Item(Bundle.AddVersion(), ""));
yesNo.add(new Item(Bundle.Cancel(), ""));
@@ -474,7 +481,7 @@
@Override
public boolean onlyOneChoice() {
- return !dsNames.contains(result.datasourceName);
+ return dsNames != null && !dsNames.contains(result.datasourceName);
}
}
@@ -664,10 +671,16 @@
public void actionPerformed(ActionEvent e) {
Multistep multistep = new Multistep(new TenancyStep());
- NotifyDescriptor.ComposedInput ci = new NotifyDescriptor.ComposedInput(Bundle.AddADB(), 3, multistep.createInput());
+ NotifyDescriptor.ComposedInput ci = new NotifyDescriptor.ComposedInput(Bundle.AddADBToVault(), 3, multistep.createInput());
if (DialogDescriptor.OK_OPTION == DialogDisplayer.getDefault().notify(ci)) {
if (multistep.getResult() != null) {
- addDbConnectionToVault((Result) multistep.getResult());
+ Result result = (Result) multistep.getResult();
+ if (result.datasourceName == null || result.datasourceName.isEmpty()) {
+ NotifyDescriptor.Message msg = new NotifyDescriptor.Message(Bundle.DatasourceEmpty());
+ DialogDisplayer.getDefault().notify(msg);
+ return;
+ }
+ addDbConnectionToVault(result);
}
}