You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@netbeans.apache.org by sd...@apache.org on 2023/01/09 12:18:38 UTC

[netbeans] branch master updated: Autoload default config profiles into ServerInstances.

This is an automated email from the ASF dual-hosted git repository.

sdedic pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/netbeans.git


The following commit(s) were added to refs/heads/master by this push:
     new 6976f80799 Autoload default config profiles into ServerInstances.
     new 0401cc1220 Merge pull request #5226 from sdedic/oci/load-defconfig-profiles2
6976f80799 is described below

commit 6976f80799d225d32c896cf2cea5424e3424978a
Author: Svata Dedic <sv...@oracle.com>
AuthorDate: Fri Jan 6 14:39:17 2023 +0100

    Autoload default config profiles into ServerInstances.
---
 enterprise/cloud.oracle/manifest.mf                |   2 +-
 .../modules/cloud/oracle/Bundle.properties         |   3 +
 .../netbeans/modules/cloud/oracle/OCIManager.java  | 198 +++++++++++++++++----
 .../modules/cloud/oracle/OCITenancyProvider.java   |  13 +-
 .../cloud/oracle/OracleCloudWizardProvider.java    |  61 ++++++-
 .../modules/cloud/oracle/TenancyInstance.java      |  11 +-
 .../netbeans/modules/cloud/oracle/TenancyNode.java |   2 +-
 .../cloud/oracle/actions/RemoveProfileAction.java  |   5 +-
 .../oracle/actions/SetDefaultProfileAction.java    |   2 +-
 .../modules/cloud/oracle/Bundle.properties         |   9 +-
 10 files changed, 257 insertions(+), 49 deletions(-)

diff --git a/enterprise/cloud.oracle/manifest.mf b/enterprise/cloud.oracle/manifest.mf
index 5015a16bc0..2fb6b79a42 100644
--- a/enterprise/cloud.oracle/manifest.mf
+++ b/enterprise/cloud.oracle/manifest.mf
@@ -4,6 +4,6 @@ OpenIDE-Module: org.netbeans.modules.cloud.oracle
 OpenIDE-Module-Layer: org/netbeans/modules/cloud/oracle/resources/layer.xml
 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/cloud/oracle/Bundle.properties
 OpenIDE-Module-Provides: org.netbeans.modules.serverplugins.javaee
-OpenIDE-Module-Specification-Version: 1.4
+OpenIDE-Module-Specification-Version: 1.5
 OpenIDE-Module-Display-Category: Cloud
 
diff --git a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/Bundle.properties b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/Bundle.properties
index 1f937b4264..f5a54ab165 100644
--- a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/Bundle.properties
+++ b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/Bundle.properties
@@ -22,3 +22,6 @@ ConnectProfilePanel.lblConfig.text=Configuration file:
 ConnectProfilePanel.txConfigPath.text=(default configuration)
 ConnectProfilePanel.lblMessageIcon.text=\ 
 ConnectProfilePanel.textMessage.text=Checking Oracle Cloud setup...
+
+# Branding API
+OCIManager_Autoload_DefaultConfig=false
diff --git a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/OCIManager.java b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/OCIManager.java
index 47a9d4ba46..834cc2de2d 100644
--- a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/OCIManager.java
+++ b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/OCIManager.java
@@ -20,6 +20,7 @@ package org.netbeans.modules.cloud.oracle;
 
 import org.netbeans.modules.cloud.oracle.items.OCIItem;
 import com.oracle.bmc.ConfigFileReader;
+import com.oracle.bmc.auth.BasicAuthenticationDetailsProvider;
 import com.oracle.bmc.auth.ConfigFileAuthenticationDetailsProvider;
 import java.beans.PropertyChangeListener;
 import java.beans.PropertyChangeSupport;
@@ -34,10 +35,13 @@ import java.nio.file.Paths;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.HashMap;
+import java.util.Iterator;
+import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Objects;
 import java.util.Optional;
+import java.util.Set;
 import java.util.concurrent.Callable;
 import java.util.logging.Level;
 import java.util.logging.Logger;
@@ -47,9 +51,13 @@ import java.util.stream.Collectors;
 import org.netbeans.api.server.properties.InstanceProperties;
 import org.netbeans.api.server.properties.InstancePropertiesManager;
 import org.netbeans.modules.cloud.oracle.items.TenancyItem;
+import org.openide.filesystems.FileChangeAdapter;
+import org.openide.filesystems.FileChangeListener;
+import org.openide.filesystems.FileEvent;
+import org.openide.filesystems.FileUtil;
 import org.openide.util.Exceptions;
-import org.openide.util.NbBundle;
 import org.openide.util.Lookup;
+import org.openide.util.NbBundle;
 import org.openide.util.NbPreferences;
 import org.openide.util.lookup.Lookups;
 import org.openide.util.lookup.ProxyLookup;
@@ -62,11 +70,27 @@ import org.openide.util.lookup.ProxyLookup;
 public final class OCIManager {
     private static final Logger LOG = Logger.getLogger(OCIManager.class.getName());
     
-    private static final Map<OCIConfig, OCIProfile> profiles = new HashMap<>();
-    
     public static final String PROP_ACTIVE_PROFILE = "activeProfile"; // NOI18N
     public static final String PROP_CONNECTED_PROFILES = "connectedProfiles"; // NOI18N
     
+    /**
+     * Maps all created profiles.
+     */
+    private static final Map<OCIConfig, OCIProfile> profiles = new HashMap<>();
+    
+    // @GuardedBy(this)
+    /**
+     * Implicit profiles inferred at runtime. Unitialized initially, will auto-populate
+     * to the default config on first reference, if OCIManager_Autoload_DefaultConfig=true.
+     */
+    private Map<String, List<OCIProfile>> implicitProfiles = new HashMap<>();
+    
+    // @GuardedBy(this)
+    /**
+     * Not read, but used to keep the listern from GC.
+     */
+    private FileChangeListener defaultProfileListener;
+    
     /**
      * Configuration for the OCI manager
      */
@@ -216,6 +240,9 @@ public final class OCIManager {
         if (configPath == null) {
             configPath = getDefaultConfigPath();
         }
+        if (profile == null) {
+            profile = OCIProfile.DEFAULT_ID;
+        }
         OCIConfig c = new OCIConfig(configPath, profile);
         synchronized (profiles) {
             prof = profiles.get(c);
@@ -223,10 +250,19 @@ public final class OCIManager {
                 return prof;
             }
         }
-        prof = new OCIProfile(getDefaultConfigPath(), c.getProfile());
+        OCIProfile newProf = new OCIProfile(getDefaultConfigPath(), c.getProfile());
         synchronized (profiles) {
-            OCIProfile check = profiles.putIfAbsent(c, prof);
-            return check != null ? check : prof;
+            OCIProfile check;
+            if (prof == null) {
+                check = profiles.putIfAbsent(c, newProf);
+                return check != null ? check : newProf;
+            } else {
+                check = profiles.get(c);
+                if (check == null || !check.isValid()) {
+                    profiles.put(c, newProf);
+                }
+                return newProf;
+            }
         }
     }
     
@@ -241,6 +277,88 @@ public final class OCIManager {
     private static final String KEY_CONFIG_PATH = "configPath";
     private static final String KEY_PROFILE_ID = "profile";
     
+    public void setImplicitProfiles(String key, List<OCIProfile> profiles) {
+        
+        List<OCIProfile> current  = getConnectedProfiles();
+        
+        boolean changes = false;
+        OCIProfile active;
+        synchronized (this) {
+             current = new ArrayList<>(implicitProfiles.getOrDefault(key, Collections.emptyList()));
+             for (Iterator<OCIProfile> it = current.iterator(); it.hasNext(); ) {
+                 OCIProfile p = it.next();
+                 if (!p.isValid()) {
+                     it.remove();
+                     changes = true;
+                 }
+             }
+             changes |= !(current.size() == profiles.size() && current.containsAll(profiles));
+             if (!changes) {
+                 return;
+             }
+             current.addAll(profiles);
+             implicitProfiles.put(key, profiles);
+             active = activeProfile;
+        }
+        listeners.firePropertyChange(PROP_CONNECTED_PROFILES, null, null);
+        synchronized (this) {
+            if ((active != null || profiles.isEmpty()) && !current.contains(active)) {
+                return;
+            }
+            activeProfile = null;
+        }
+        listeners.firePropertyChange(PROP_ACTIVE_PROFILE, null, null);
+    }
+    
+    static boolean loadDefaultConfigProfiles() {
+        return Boolean.valueOf(NbBundle.getMessage(OCIManager.class, "OCIManager_Autoload_DefaultConfig"));
+    }
+    
+    private Map<String, List<OCIProfile>> initImplicitProfiles() {
+        if (!loadDefaultConfigProfiles()) {
+            return implicitProfiles;
+        }
+        Path path = getDefaultConfigPath();
+        String s = path.toString();
+        synchronized (this) {
+            if (implicitProfiles.get(s) != null) {
+                return implicitProfiles;
+            }
+            try {
+                implicitProfiles.put(s, listProfiles(null));
+            } catch (IOException ex) {
+                // TODO: report inability to load profiles.
+                Exceptions.printStackTrace(ex);
+            }
+            FileUtil.addFileChangeListener(defaultProfileListener = new FileChangeAdapter() {
+                @Override
+                public void fileDeleted(FileEvent fe) {
+                    refresh();
+                }
+
+                @Override
+                public void fileChanged(FileEvent fe) {
+                    refresh();
+                }
+
+                @Override
+                public void fileDataCreated(FileEvent fe) {
+                    refresh();
+                }
+                
+                private void refresh() {
+                    try {
+                        setImplicitProfiles(s, listProfiles(null));
+                    } catch (IOException ex) {
+                        // TODO: display some lightweight unobtrusive message, or status line item
+                        Exceptions.printStackTrace(ex);
+                    }
+                }
+                
+            }, path.toFile());
+        }
+        return implicitProfiles;
+    }
     
     public void addConnectedProfile(OCIProfile profile) {
         if (profile.getTenantId() == null) {
@@ -267,7 +385,11 @@ public final class OCIManager {
         listeners.firePropertyChange(PROP_ACTIVE_PROFILE, null, null);
     }
     
-    public void removeConnectedProfile(OCIProfile profile) {
+    public boolean isConfiguredProfile(OCIProfile profile) {
+        return findProfileProperties(profile) != null;
+    }
+    
+    private InstanceProperties findProfileProperties(OCIProfile profile) {
         List<InstanceProperties> props = InstancePropertiesManager.getInstance().getProperties("cloud.oracle.com.ociprofiles");
         for (InstanceProperties p : props) {
             String cfgPath = p.getString(KEY_CONFIG_PATH, null);
@@ -282,30 +404,39 @@ public final class OCIManager {
                 profName = OCIProfile.DEFAULT_ID;
             }
             if (profName.equals(profile.getId())) {
-                OCIProfile resetToProfile = null;
-                
-                synchronized (this) {
-                    OCIConfig cfg = new OCIConfig(profile.getConfigPath(), OCIProfile.DEFAULT_ID.equals(profile.getId()) ? null : profile.getId());
-                    if (profiles.remove(cfg) == null) {
-                        return;
-                    }
-                    if (profile == getActiveProfile()) {
-                        OCIProfile def = forConfig(defaultConfigPath, profName);
-                        if (profiles.values().contains(def) || profiles.isEmpty()) {
-                            resetToProfile = def;
-                        } else {
-                            resetToProfile = profiles.values().iterator().next();
-                        }
-                    }
-                }
-                p.remove();
-                if (resetToProfile != null) {
-                    setActiveProfile(resetToProfile);
-                }
-                listeners.firePropertyChange("connectedProfiles", null, null);
+                return p;
+            }
+        }
+        return null;
+    }
+    
+    public void removeConnectedProfile(OCIProfile profile) {
+        String profName = profile.getId();
+        InstanceProperties p = findProfileProperties(profile);
+        if (p == null) {
+            return;
+        }
+        OCIProfile resetToProfile = null;
+
+        synchronized (this) {
+            OCIConfig cfg = new OCIConfig(profile.getConfigPath(), OCIProfile.DEFAULT_ID.equals(profile.getId()) ? null : profile.getId());
+            if (profiles.remove(cfg) == null) {
                 return;
             }
+            if (profile == getActiveProfile()) {
+                OCIProfile def = forConfig(defaultConfigPath, profName);
+                if (profiles.values().contains(def) || profiles.isEmpty()) {
+                    resetToProfile = def;
+                } else {
+                    resetToProfile = profiles.values().iterator().next();
+                }
+            }
+        }
+        p.remove();
+        if (resetToProfile != null) {
+            setActiveProfile(resetToProfile);
         }
+        listeners.firePropertyChange("connectedProfiles", null, null);
     }
     
     /**
@@ -313,7 +444,7 @@ public final class OCIManager {
      * @return list of OCI profiles.
      */
     public List<OCIProfile> getConnectedProfiles() {
-        List<OCIProfile> toReturn = new ArrayList<>();
+        Set<OCIProfile> toReturn = new LinkedHashSet<>();
         
         Path defConfigPath = getDefaultConfigPath();
         List<InstanceProperties> props = InstancePropertiesManager.getInstance().getProperties("cloud.oracle.com.ociprofiles");
@@ -335,7 +466,10 @@ public final class OCIManager {
             }
             toReturn.add(forConfig(defConfigPath, profName));
         }
-        return toReturn;
+        
+        initImplicitProfiles().values().stream().flatMap(l -> l.stream()).forEach(toReturn::add);
+        
+        return new ArrayList<>(toReturn);
     }
     
     /**
@@ -347,6 +481,10 @@ public final class OCIManager {
         if (p != null) {
             return p;
         }
+        OCIProfile active;
+        synchronized (this) {
+            active = activeProfile;
+        }
         if (activeProfile == null) {
             Preferences prefs = NbPreferences.forModule(OCIManager.class);
             String confPath = prefs.get("activeProfilePath", null);
diff --git a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/OCITenancyProvider.java b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/OCITenancyProvider.java
index ea0839618c..2451634c9b 100644
--- a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/OCITenancyProvider.java
+++ b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/OCITenancyProvider.java
@@ -129,11 +129,16 @@ public class OCITenancyProvider implements ServerInstanceProvider, ChangeListene
         List<ProfileKey> currentKeys = new ArrayList<>();
         for (OCIProfile p : OCIManager.getDefault().getConnectedProfiles()) {
             ProfileKey k = new ProfileKey(p.getConfigPath(), p.getId(), p.getTenantId());
-            if (!newInstances.containsKey(k)) {
-                ServerInstance si = ServerInstanceFactory.createServerInstance(new TenancyInstance(
-                        p.getTenancy().orElse(null), p));
-                newInstances.put(k, si);
+            ServerInstance prev = newInstances.get(k);
+            if (prev != null) {
+                OCIProfile prevProf = prev.getLookup().lookup(OCIProfile.class);
+                if (prevProf == null || (prevProf.isValid() != p.isValid())) {
+                    continue;
+                }
             }
+            ServerInstance si = ServerInstanceFactory.createServerInstance(new TenancyInstance(
+                    p.getTenancy().orElse(null), p));
+            newInstances.put(k, si);
             currentKeys.add(k);
         }
         newInstances.keySet().retainAll(currentKeys);
diff --git a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/OracleCloudWizardProvider.java b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/OracleCloudWizardProvider.java
index 3c9bef3f35..c35e870524 100644
--- a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/OracleCloudWizardProvider.java
+++ b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/OracleCloudWizardProvider.java
@@ -18,6 +18,10 @@
  */
 package org.netbeans.modules.cloud.oracle;
 
+import java.io.IOException;
+import java.util.Collections;
+import java.util.Set;
+import javax.swing.event.ChangeListener;
 import org.netbeans.spi.server.ServerWizardProvider;
 import org.openide.WizardDescriptor;
 import org.openide.util.NbBundle;
@@ -38,7 +42,62 @@ public class OracleCloudWizardProvider implements ServerWizardProvider {
 
     @Override
     public WizardDescriptor.InstantiatingIterator getInstantiatingIterator() {
-        return new OracleCloudWizardIterator();
+        return OCIManager.loadDefaultConfigProfiles() ? 
+                new SimpleIterator() :
+                new OracleCloudWizardIterator();
     }
     
+    private static class SimpleIterator implements WizardDescriptor.InstantiatingIterator {
+
+        @Override
+        public Set instantiate() throws IOException {
+            // force profiles collection
+            OCIManager.getDefault().getConnectedProfiles();
+            return Collections.emptySet();
+        }
+
+        @Override
+        public void initialize(WizardDescriptor wizard) {
+        }
+
+        @Override
+        public void uninitialize(WizardDescriptor wizard) {
+        }
+
+        @Override
+        public WizardDescriptor.Panel current() {
+            return null;
+        }
+
+        @Override
+        public String name() {
+            return Bundle.LBL_OC();
+        }
+
+        @Override
+        public boolean hasNext() {
+            return false;
+        }
+
+        @Override
+        public boolean hasPrevious() {
+            return false;
+        }
+
+        @Override
+        public void nextPanel() {
+        }
+
+        @Override
+        public void previousPanel() {
+        }
+
+        @Override
+        public void addChangeListener(ChangeListener l) {
+        }
+
+        @Override
+        public void removeChangeListener(ChangeListener l) {
+        }
+    }
 }
diff --git a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/TenancyInstance.java b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/TenancyInstance.java
index 377ef6d7b1..50d05657e1 100644
--- a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/TenancyInstance.java
+++ b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/TenancyInstance.java
@@ -22,20 +22,24 @@ import org.netbeans.modules.cloud.oracle.items.OCIItem;
 import javax.swing.JComponent;
 import org.netbeans.spi.server.ServerInstanceImplementation;
 import org.openide.nodes.Node;
+import org.openide.util.Lookup;
 import org.openide.util.NbBundle;
+import org.openide.util.lookup.Lookups;
 
 /**
  *
  * @author Jan Horvath
  */
-public class TenancyInstance implements ServerInstanceImplementation {
+public class TenancyInstance implements ServerInstanceImplementation, Lookup.Provider {
 
     private final OCIItem tenancy;
+    private final Lookup lkp;
     final OCIProfile profile;
     
     public TenancyInstance(OCIItem tenancy, OCIProfile profile) {
         this.tenancy = tenancy;
         this.profile = profile;
+        lkp = tenancy != null ? Lookups.fixed(profile, tenancy) : Lookups.fixed(profile);
     }
     
     @NbBundle.Messages({
@@ -59,6 +63,11 @@ public class TenancyInstance implements ServerInstanceImplementation {
         }
     }
 
+    @Override
+    public Lookup getLookup() {
+        return lkp;
+    }
+
     @Override
     public String getServerDisplayName() {
         return profile.getTenantId() != null ? profile.getTenantId() : Bundle.MSG_BrokenProfile(profile);
diff --git a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/TenancyNode.java b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/TenancyNode.java
index 815e0b81ea..5742b0581b 100644
--- a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/TenancyNode.java
+++ b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/TenancyNode.java
@@ -82,7 +82,7 @@ public class TenancyNode extends OCINode implements PropertyChangeListener {
 
     @Override
     public boolean canDestroy() {
-        return OCIManager.getDefault().getConnectedProfiles().contains(session);
+        return OCIManager.getDefault().isConfiguredProfile((OCIProfile)session);
     }
 
     @Override
diff --git a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/actions/RemoveProfileAction.java b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/actions/RemoveProfileAction.java
index 0422ab144b..91db6bfc73 100644
--- a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/actions/RemoveProfileAction.java
+++ b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/actions/RemoveProfileAction.java
@@ -22,7 +22,6 @@ import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
 import org.netbeans.modules.cloud.oracle.OCIManager;
 import org.netbeans.modules.cloud.oracle.OCIProfile;
-import org.netbeans.modules.cloud.oracle.items.OCIItem;
 import org.openide.awt.ActionID;
 import org.openide.awt.ActionReference;
 import org.openide.awt.ActionReferences;
@@ -43,8 +42,8 @@ import org.openide.util.NbBundle;
 )
 
 @ActionReferences(value = {
-    @ActionReference(path = "Cloud/Oracle/Tenancy/Actions", position = 250),
-    @ActionReference(path = "Cloud/Oracle/BrokenProfile/Actions", position = 250)
+    @ActionReference(path = "Cloud/Oracle/Tenancy/Actions", position = 230),
+    @ActionReference(path = "Cloud/Oracle/BrokenProfile/Actions", position = 230)
 })
 @NbBundle.Messages({
     "RemoveProfileAction=Remove Profile"
diff --git a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/actions/SetDefaultProfileAction.java b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/actions/SetDefaultProfileAction.java
index e54ff0a790..53bc7c70a4 100644
--- a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/actions/SetDefaultProfileAction.java
+++ b/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/actions/SetDefaultProfileAction.java
@@ -44,7 +44,7 @@ import org.openide.util.NbBundle;
 )
 
 @ActionReferences(value = {
-    @ActionReference(path = "Cloud/Oracle/Tenancy/Actions", position = 250)
+    @ActionReference(path = "Cloud/Oracle/Tenancy/Actions", position = 200)
 })
 @NbBundle.Messages({
     "CTL_SetDefaultProfileAction=Set As Default",
diff --git a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/Bundle.properties b/java/java.lsp.server/nbcode/branding/modules/org-netbeans-modules-cloud-oracle.jar/org/netbeans/modules/cloud/oracle/Bundle.properties
similarity index 50%
copy from enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/Bundle.properties
copy to java/java.lsp.server/nbcode/branding/modules/org-netbeans-modules-cloud-oracle.jar/org/netbeans/modules/cloud/oracle/Bundle.properties
index 1f937b4264..46995e91d7 100644
--- a/enterprise/cloud.oracle/src/org/netbeans/modules/cloud/oracle/Bundle.properties
+++ b/java/java.lsp.server/nbcode/branding/modules/org-netbeans-modules-cloud-oracle.jar/org/netbeans/modules/cloud/oracle/Bundle.properties
@@ -15,10 +15,5 @@
 # specific language governing permissions and limitations
 # under the License.
 
-OpenIDE-Module-Name=Oracle Cloud Infrastructure
-DownloadWalletDialog.jLabelInfo.text=Database connections to your Autonomous Database use a secure connection. The wallet file will be required to configure your database clients and tools to access Autonomous Database.\nPlease create a password for this wallet. Some database clients will require that you provide both the wallet and password to connect to your database (other clients will auto-login using the wallet without a password).
-ConnectProfilePanel.lblProfiles.text=Profiles:
-ConnectProfilePanel.lblConfig.text=Configuration file: 
-ConnectProfilePanel.txConfigPath.text=(default configuration)
-ConnectProfilePanel.lblMessageIcon.text=\ 
-ConnectProfilePanel.textMessage.text=Checking Oracle Cloud setup...
+# Autoload default OCI config profiles.
+OCIManager_Autoload_DefaultConfig=true


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@netbeans.apache.org
For additional commands, e-mail: commits-help@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists