Skip to content

Commit 3f42b91

Browse files
simplify, use methods from DatabaseTools
1 parent 736c4bf commit 3f42b91

File tree

1 file changed

+13
-45
lines changed

1 file changed

+13
-45
lines changed

sqldev/src/main/java/org/utplsql/sqldev/menu/UtplsqlController.java

Lines changed: 13 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,8 @@
1616
package org.utplsql.sqldev.menu;
1717

1818
import java.awt.Component;
19-
import java.io.IOException;
2019
import java.net.URL;
2120
import java.sql.Connection;
22-
import java.sql.SQLException;
2321
import java.util.ArrayList;
2422
import java.util.HashSet;
2523
import java.util.List;
@@ -35,6 +33,7 @@
3533
import org.utplsql.sqldev.dal.RealtimeReporterDao;
3634
import org.utplsql.sqldev.dal.UtplsqlDao;
3735
import org.utplsql.sqldev.exception.GenericRuntimeException;
36+
import org.utplsql.sqldev.model.DatabaseTools;
3837
import org.utplsql.sqldev.model.StringTools;
3938
import org.utplsql.sqldev.model.URLTools;
4039
import org.utplsql.sqldev.model.oddgen.GenContext;
@@ -62,7 +61,6 @@
6261
import oracle.ide.editor.Editor;
6362
import oracle.ide.model.Node;
6463
import oracle.ide.view.View;
65-
import oracle.javatools.db.DBException;
6664

6765
@SuppressWarnings("all")
6866
public class UtplsqlController implements Controller {
@@ -92,7 +90,7 @@ public boolean handleEvent(final IdeAction action, final Context context) {
9290
return true;
9391
}
9492
} catch (Exception e) {
95-
final String msg = "Failed to handle event due to exception " + (e != null ? e.getMessage() : "") + ".";
93+
final String msg = "Failed to handle event for action " + action.toString() + ".";
9694
logger.severe(() -> msg);
9795
throw new GenericRuntimeException(msg, e);
9896
}
@@ -122,7 +120,7 @@ public boolean update(final IdeAction action, final Context context) {
122120
}
123121
logger.fine("connectionName: " + connectionName);
124122
final String text = ((JEditorPane) component).getText();
125-
final Connection conn = getConnection(connectionName);
123+
final Connection conn = DatabaseTools.getConnection(connectionName);
126124
final UtplsqlParser parser = new UtplsqlParser(text, conn, owner);
127125
if (!parser.getPathAt(((JEditorPane) component).getCaretPosition()).isEmpty()) {
128126
action.setEnabled(true);
@@ -141,11 +139,11 @@ public boolean update(final IdeAction action, final Context context) {
141139
final Object element = context.getSelection()[i];
142140
final String connectionName = URLTools.getConnectionName(getURL(context));
143141
if (Connections.getInstance().isConnectionOpen(connectionName)) {
144-
Connection conn = getConnection(connectionName);
142+
Connection conn = DatabaseTools.getConnection(connectionName);
145143
final UtplsqlDao dao = new UtplsqlDao(conn);
146144
if (preferences.isCheckRunUtplsqlTest() && dao.isUtAnnotationManagerInstalled()) {
147145
if (element instanceof DatabaseConnection) {
148-
final String schema = getSchema(getConnection((DatabaseConnection) element));
146+
final String schema = DatabaseTools.getSchema((DatabaseConnection) element);
149147
action.setEnabled(dao.containsUtplsqlTest(schema));
150148
} else if ((element instanceof SchemaFolder)) {
151149
final String schema = ((SchemaFolder) element).getSchemaName();
@@ -207,7 +205,7 @@ public boolean update(final IdeAction action, final Context context) {
207205
private String getPath(final Object element) {
208206
String path = null;
209207
if (element instanceof DatabaseConnection) {
210-
path = getSchema(getConnection(((DatabaseConnection) element)));
208+
path = DatabaseTools.getSchema((DatabaseConnection) element);
211209
} else if (element instanceof SchemaFolder) {
212210
path = ((SchemaFolder) element).getSchemaName();
213211
} else if (element instanceof ObjectFolder) {
@@ -306,7 +304,7 @@ private GenContext getGenContext(final Context context) {
306304
final String connectionName = URLTools.getConnectionName(getURL(context));
307305
final GenContext genContext = new GenContext();
308306
if (Connections.getInstance().isConnectionOpen(connectionName)) {
309-
genContext.setConn(getConnection(connectionName));
307+
genContext.setConn(DatabaseTools.getConnection(connectionName));
310308
final Object element = context.getSelection()[0];
311309
if ((element instanceof PlSqlNode)) {
312310
genContext.setObjectType(((PlSqlNode) element).getObjectType().replace(" BODY", ""));
@@ -317,37 +315,7 @@ private GenContext getGenContext(final Context context) {
317315
}
318316
return genContext;
319317
}
320-
321-
private Connection getConnection(String connectionName) {
322-
try {
323-
return Connections.getInstance().getConnection(connectionName);
324-
} catch (DBException e) {
325-
final String msg = "DBException while getting connection for " + connectionName + " due to " + e.getMessage();
326-
logger.severe(() -> msg);
327-
throw new GenericRuntimeException(msg, e);
328-
}
329-
}
330-
331-
private Connection getConnection(DatabaseConnection dbconn) {
332-
try {
333-
return dbconn.getConnection();
334-
} catch (IOException e) {
335-
final String msg = "IOException while getting connection for " + dbconn.getConnectionName() + " due to " + e.getMessage();
336-
logger.severe(() -> msg);
337-
throw new GenericRuntimeException(msg, e);
338-
}
339-
}
340318

341-
private String getSchema(Connection conn) {
342-
try {
343-
return conn.getSchema();
344-
} catch (SQLException e) {
345-
final String msg = "SQLException while getting schema for connection due to " + e.getMessage();
346-
logger.severe(() -> msg);
347-
throw new GenericRuntimeException(msg, e);
348-
}
349-
}
350-
351319
public void runTest(final Context context) {
352320
final View view = context.getView();
353321
final Node node = context.getNode();
@@ -373,7 +341,7 @@ public void runTest(final Context context) {
373341
}
374342
}
375343
logger.fine("connectionName: " + connectionName);
376-
final Connection conn = getConnection(connectionName);
344+
final Connection conn = DatabaseTools.getConnection(connectionName);
377345
String text = ((JEditorPane) component).getText();
378346
final UtplsqlParser parser = new UtplsqlParser(text, conn, owner);
379347
final int position = ((JEditorPane) component).getCaretPosition();
@@ -392,7 +360,7 @@ public void runTest(final Context context) {
392360
if ((url != null)) {
393361
final String connectionName = URLTools.getConnectionName(url);
394362
logger.fine("connectionName: " + connectionName);
395-
final Connection conn = getConnection(connectionName);
363+
final Connection conn = DatabaseTools.getConnection(connectionName);
396364
final RealtimeReporterDao rrDao = new RealtimeReporterDao(conn);
397365
final ArrayList<String> pathList = dedupPathList(getPathList(context));
398366
if (preferences.isUseRealtimeReporter() && rrDao.isSupported()) {
@@ -409,7 +377,7 @@ public void runTest(final Context context) {
409377
public List<String> dependencies(final String name, final String connectionName) {
410378
List<String> ret = null;
411379
if (connectionName != null) {
412-
final String owner = getSchema(getConnection(connectionName));
380+
final String owner = DatabaseTools.getSchema(connectionName);
413381
ret = dependencies(owner, name, connectionName);
414382
}
415383
return ret;
@@ -418,7 +386,7 @@ public List<String> dependencies(final String name, final String connectionName)
418386
public List<String> dependencies(final String owner, final String name, final String connectionName) {
419387
List<String> ret = null;
420388
if (connectionName != null) {
421-
Connection conn = getConnection(connectionName);
389+
Connection conn = DatabaseTools.getConnection(connectionName);
422390
final UtplsqlDao dao = new UtplsqlDao(conn);
423391
ret = dao.includes(owner, name);
424392
}
@@ -471,7 +439,7 @@ public void codeCoverage(final Context context) {
471439
String text = ((JEditorPane) component).getText();
472440
Connection conn = null;
473441
if (preferences.isCheckRunUtplsqlTest()) {
474-
conn = getConnection(connectionName);
442+
conn = DatabaseTools.getConnection(connectionName);
475443
} else {
476444
conn = null;
477445
}
@@ -525,7 +493,7 @@ public void generateTest(final Context context) {
525493
if (connectionName != null) {
526494
if (Connections.getInstance().isConnectionOpen(connectionName)) {
527495
final GenContext genContext = new GenContext();
528-
genContext.setConn(getConnection(connectionName));
496+
genContext.setConn(DatabaseTools.getConnection(connectionName));
529497
String text = ((JEditorPane) component).getText();
530498
final UtplsqlParser parser = new UtplsqlParser(text);
531499
final int position = ((JEditorPane) component).getCaretPosition();

0 commit comments

Comments
 (0)