never prompt user for selection of db when creating Executor
authorchrislovsund@netbeans.org
Thu, 30 May 2013 22:11:06 +0200
changeset 425346d0480dfbb
parent 424 247b95f843a8
child 426 c89eba7b64f9
never prompt user for selection of db when creating Executor
EADS-3763 - Creating a connection at the time of creating PlsqlDataObject has a lot of unwanted side effects
PLSQL/Execution/src/org/netbeans/modules/plsql/execution/impl/DatabaseConnectionExecutorFactory.java
Utilities/Oracle/src/org/netbeans/modules/plsqlsupport/db/DatabaseConnectionManager.java
     1.1 --- a/PLSQL/Execution/src/org/netbeans/modules/plsql/execution/impl/DatabaseConnectionExecutorFactory.java	Thu May 30 17:08:16 2013 +0530
     1.2 +++ b/PLSQL/Execution/src/org/netbeans/modules/plsql/execution/impl/DatabaseConnectionExecutorFactory.java	Thu May 30 22:11:06 2013 +0200
     1.3 @@ -28,25 +28,17 @@
     1.4  
     1.5      @Override
     1.6      public DatabaseConnectionExecutor create(FileObject fileObject) {
     1.7 -        final Project project = FileOwnerQuery.getOwner(fileObject);
     1.8 +        DatabaseConnectionManager connectionManager = DatabaseConnectionManager.getInstance(fileObject, false);
     1.9 +        DatabaseConnection connection = null;
    1.10 +        if (connectionManager != null) {
    1.11 +            connection = connectionManager.getDatabaseConnection(false);
    1.12 +        } else {
    1.13 +            LOG.log(Level.FINE, "connectionManager is null for fileObject={0}", fileObject);
    1.14 +        }
    1.15 +        if (connection == null) {
    1.16 +            LOG.log(Level.FINE, "connection is null for connectionManager={0}", connectionManager);
    1.17 +        }
    1.18 +        return create(connectionManager, connection, fileObject);
    1.19  
    1.20 -        DatabaseConnectionManager connectionManager;
    1.21 -        if (project != null) {
    1.22 -            connectionManager = DatabaseConnectionManager.getInstance(project);
    1.23 -        } else {
    1.24 -            connectionManager = DatabaseConnectionManager.getInstance(fileObject);
    1.25 -        }
    1.26 -        if (connectionManager == null) {
    1.27 -            LOG.log(Level.WARNING, "connectionManager is null for project={0}", project);
    1.28 -            return null;
    1.29 -        }
    1.30 -
    1.31 -        final DatabaseConnection connection = connectionManager.getTemplateConnection();
    1.32 -        if (connection == null) {
    1.33 -            LOG.log(Level.WARNING, "connection is null for connectionManager={0}", connectionManager);
    1.34 -            return null;
    1.35 -        }
    1.36 -
    1.37 -        return create(connectionManager, connection, fileObject);
    1.38      }
    1.39  }
     2.1 --- a/Utilities/Oracle/src/org/netbeans/modules/plsqlsupport/db/DatabaseConnectionManager.java	Thu May 30 17:08:16 2013 +0530
     2.2 +++ b/Utilities/Oracle/src/org/netbeans/modules/plsqlsupport/db/DatabaseConnectionManager.java	Thu May 30 22:11:06 2013 +0200
     2.3 @@ -41,7 +41,6 @@
     2.4   */
     2.5  package org.netbeans.modules.plsqlsupport.db;
     2.6  
     2.7 -import java.awt.GraphicsEnvironment;
     2.8  import java.beans.ExceptionListener;
     2.9  import java.beans.PropertyChangeListener;
    2.10  import java.beans.PropertyChangeSupport;
    2.11 @@ -126,10 +125,10 @@
    2.12      }
    2.13  
    2.14      public static DatabaseConnectionManager getInstance(DataObject dataObject) {
    2.15 -        return getInstance(dataObject.getPrimaryFile());
    2.16 +        return getInstance(dataObject.getPrimaryFile(), true);
    2.17      }
    2.18  
    2.19 -    public static DatabaseConnectionManager getInstance(FileObject fileObject) {
    2.20 +    public static DatabaseConnectionManager getInstance(FileObject fileObject, boolean prompt) {
    2.21          Project project = FileOwnerQuery.getOwner(fileObject);
    2.22          if (project != null) {
    2.23              DatabaseConnectionManager provider = project.getLookup().lookup(DatabaseConnectionManager.class);
    2.24 @@ -149,7 +148,7 @@
    2.25          }
    2.26  
    2.27          DatabaseConnectionManager provider = new DatabaseConnectionManager();
    2.28 -        if (provider.getDatabaseConnection(true) == null) { // prompt connection dialog for files outside the project structure
    2.29 +        if (provider.getDatabaseConnection(prompt) == null) { // prompt connection dialog for files outside the project structure
    2.30              return null;
    2.31          }
    2.32          instances.put(fileObject, provider);
    2.33 @@ -308,7 +307,7 @@
    2.34          if (!online && !force) {
    2.35              return null;
    2.36          }
    2.37 -        if (prompt && !GraphicsEnvironment.isHeadless()) {
    2.38 +        if (prompt) {
    2.39              if (templateConnection == null) {
    2.40                  templateConnection = new DatabaseConnectionPanel().showDialog();
    2.41                  connections.clear();