# HG changeset patch # User Matthias Bläsing # Date 1363465703 -3600 # Branch dataview-rework-2 # Node ID a35c53722dcd45ba5b79b713b4789d8af8b6a46c # Parent f9ebed04a964f8a79df17cfed7b211761c5f4031 Move tblMetaData into DavaViewPageContext - Move tblMetaData into DavaViewPageContext (prepare for multiple resultsets) - get table to execute SQL statements from pagecontext and pass them to the statement generator - remove unused methods diff --git a/db.dataview/src/org/netbeans/modules/db/dataview/output/DataView.java b/db.dataview/src/org/netbeans/modules/db/dataview/output/DataView.java --- a/db.dataview/src/org/netbeans/modules/db/dataview/output/DataView.java +++ b/db.dataview/src/org/netbeans/modules/db/dataview/output/DataView.java @@ -71,7 +71,6 @@ private DatabaseConnection dbConn; private List errMessages = new ArrayList(); private String sqlString; // Once Set, Data View assumes it will never change - private DataViewDBTable tblMeta; private SQLStatementGenerator stmtGenerator; private SQLExecutionHelper execHelper; private DataViewPageContext dataPage; @@ -128,7 +127,8 @@ } synchronized (this) { - this.dataViewUI = new DataViewUI(this, nbOutputComponent); + DataViewDBTable tblMeta = dataPage.getTableMetaData(); + this.dataViewUI = new DataViewUI(this, dataPage, nbOutputComponent); dataViewUI.setEditable(tblMeta == null ? false : tblMeta.hasOneTable()); resetToolbar(hasExceptions()); } @@ -206,14 +206,6 @@ } // Non API modules follow - - DataViewDBTable getDataViewDBTable() { - return tblMeta; - } - - void setDataViewDBTable(DataViewDBTable tblMeta) { - this.tblMeta = tblMeta; - } DataViewPageContext getDataViewPageContext() { return dataPage; diff --git a/db.dataview/src/org/netbeans/modules/db/dataview/output/DataViewActionHandler.java b/db.dataview/src/org/netbeans/modules/db/dataview/output/DataViewActionHandler.java --- a/db.dataview/src/org/netbeans/modules/db/dataview/output/DataViewActionHandler.java +++ b/db.dataview/src/org/netbeans/modules/db/dataview/output/DataViewActionHandler.java @@ -43,6 +43,7 @@ */ package org.netbeans.modules.db.dataview.output; +import org.netbeans.modules.db.dataview.meta.DBTable; import org.openide.DialogDisplayer; import org.openide.NotifyDescriptor; import org.openide.util.NbBundle; @@ -144,25 +145,35 @@ } void commitActionPerformed(boolean selectedOnly) { + assert dataPage.getTableMetaData().getTableCount() == 1 : "Only one table allowed in resultset if update is invoked"; + if (dataViewUI.isDirty()) { - execHelper.executeUpdateRow(dataViewUI.getDataViewTableUI(), selectedOnly); + execHelper.executeUpdateRow( + dataPage.getTableMetaData().getTable(0), + dataViewUI.getDataViewTableUI(), + selectedOnly); } } void insertActionPerformed() { - InsertRecordDialog dialog = new InsertRecordDialog(dataView); + DBTable table = dataPage.getTableMetaData().getTable(0); + InsertRecordDialog dialog = new InsertRecordDialog(dataView, table); dialog.setLocationRelativeTo(WindowManager.getDefault().getMainWindow()); dialog.setVisible(true); } void truncateActionPerformed() { - String confirmMsg = NbBundle.getMessage(DataViewActionHandler.class, "MSG_confirm_truncate_table") + dataView.getDataViewDBTable().getTable(0).getDisplayName(); + assert dataPage.getTableMetaData().getTableCount() == 1 : "Only one table allowed in resultset if delete is invoked"; + + String confirmMsg = NbBundle.getMessage(DataViewActionHandler.class, "MSG_confirm_truncate_table") + dataPage.getTableMetaData().getTable(0).getDisplayName(); if ((showYesAllDialog(confirmMsg, confirmMsg)).equals(NotifyDescriptor.YES_OPTION)) { - execHelper.executeTruncate(); + execHelper.executeTruncate(dataPage.getTableMetaData().getTable(0)); } } void deleteRecordActionPerformed() { + assert dataPage.getTableMetaData().getTableCount() == 1 : "Only one table allowed in resultset if delete is invoked"; + DataViewTableUI rsTable = dataViewUI.getDataViewTableUI(); if (rsTable.getSelectedRowCount() == 0) { String msg = NbBundle.getMessage(DataViewActionHandler.class, "MSG_select_delete_rows"); @@ -170,7 +181,8 @@ } else { String msg = NbBundle.getMessage(DataViewActionHandler.class, "MSG_confirm_permanent_delete"); if ((showYesAllDialog(msg, NbBundle.getMessage(DataViewActionHandler.class, "MSG_confirm_delete"))).equals(NotifyDescriptor.YES_OPTION)) { - execHelper.executeDeleteRow(rsTable); + DBTable table = dataPage.getTableMetaData().getTable(0); + execHelper.executeDeleteRow(table, rsTable); } } } diff --git a/db.dataview/src/org/netbeans/modules/db/dataview/output/DataViewPageContext.java b/db.dataview/src/org/netbeans/modules/db/dataview/output/DataViewPageContext.java --- a/db.dataview/src/org/netbeans/modules/db/dataview/output/DataViewPageContext.java +++ b/db.dataview/src/org/netbeans/modules/db/dataview/output/DataViewPageContext.java @@ -58,16 +58,28 @@ public static final String PROP_pageSize = "pageSize"; public static final String PROP_totalRows = "totalRows"; public static final String PROP_currentPos = "currentPos"; + public static final String PROP_tableMetaData = "tableMetaData"; private PropertyChangeSupport pcs = new PropertyChangeSupport(this); private int pageSize = 10; private int totalRows = -1; private int currentPos = 1; + private DataViewDBTable tableMetaData = null; private final DataViewTableUIModel model = new DataViewTableUIModel(new DBColumn[0]); DataViewPageContext(int pageSize) { this.pageSize = pageSize; } + public DataViewDBTable getTableMetaData() { + return tableMetaData; + } + + public void setTableMetaData(DataViewDBTable tableMetaData) { + DataViewDBTable old = this.tableMetaData; + this.tableMetaData = tableMetaData; + firePropertyChange(PROP_tableMetaData, old, tableMetaData); + } + int getPageSize() { return pageSize; } diff --git a/db.dataview/src/org/netbeans/modules/db/dataview/output/DataViewTableUI.java b/db.dataview/src/org/netbeans/modules/db/dataview/output/DataViewTableUI.java --- a/db.dataview/src/org/netbeans/modules/db/dataview/output/DataViewTableUI.java +++ b/db.dataview/src/org/netbeans/modules/db/dataview/output/DataViewTableUI.java @@ -103,7 +103,7 @@ } }; - public DataViewTableUI(final DataViewUI dataviewUI, final DataViewActionHandler handler, final DataView dataView) { + public DataViewTableUI(DataViewUI dataviewUI, DataViewActionHandler handler, DataView dataView, DataViewPageContext pageContext) { this.dataviewUI = dataviewUI; this.handler = handler; @@ -112,7 +112,7 @@ this.getColumnModel().getSelectionModel().addListSelectionListener(listener); addKeyListener(createControKeyListener()); - createPopupMenu(handler, dataView); + createPopupMenu(handler, dataView, pageContext); } @Override @@ -314,7 +314,7 @@ } } - private void createPopupMenu(final DataViewActionHandler handler, final DataView dataView) { + private void createPopupMenu(final DataViewActionHandler handler, final DataView dataView, final DataViewPageContext pageContext) { // content popup menu on table with results tablePopupMenu = new JPopupMenu(); final JMenuItem miInsertAction = new JMenuItem(NbBundle.getMessage(DataViewTableUI.class, "TOOLTIP_insert")); @@ -415,7 +415,7 @@ @Override public void actionPerformed(ActionEvent e) { try { - DBTable table = dataView.getDataViewDBTable().getTable(0); + DBTable table = pageContext.getTableMetaData().getTable(0); String createSQL = dataView.getSQLStatementGenerator().generateCreateStatement(table); ShowSQLDialog dialog = new ShowSQLDialog(); dialog.setLocationRelativeTo(WindowManager.getDefault().getMainWindow()); @@ -441,7 +441,7 @@ int modelIndex = convertRowIndexToModel(rows[j]); Object[] insertRow = getModel().getRowData(modelIndex); // @todo make table configurable - DBTable table = dataView.getDataViewDBTable().getTable(0); + DBTable table = pageContext.getTableMetaData().getTable(0); String sql = dataView.getSQLStatementGenerator() .generateRawInsertStatement(table, insertRow); insertSQL += sql + ";\n"; // NOI18N @@ -469,7 +469,7 @@ SQLStatementGenerator generator = dataView.getSQLStatementGenerator(); int modelIndex = convertRowIndexToModel(rows[j]); // @todo make table configurable - DBTable table = dataView.getDataViewDBTable().getTable(0); + DBTable table = pageContext.getTableMetaData().getTable(0); final String deleteStmt = generator.generateDeleteStatement(table, modelIndex, getModel()); rawDeleteStmt += deleteStmt + ";\n"; // NOI18N } @@ -489,7 +489,7 @@ String rawUpdateStmt = ""; SQLStatementGenerator generator = dataView.getSQLStatementGenerator(); // @todo make table configurable - DBTable table = dataView.getDataViewDBTable().getTable(0); + DBTable table = pageContext.getTableMetaData().getTable(0); try { for (Integer row : getModel().getUpdateKeys()) { diff --git a/db.dataview/src/org/netbeans/modules/db/dataview/output/DataViewUI.java b/db.dataview/src/org/netbeans/modules/db/dataview/output/DataViewUI.java --- a/db.dataview/src/org/netbeans/modules/db/dataview/output/DataViewUI.java +++ b/db.dataview/src/org/netbeans/modules/db/dataview/output/DataViewUI.java @@ -73,8 +73,6 @@ import org.jdesktop.swingx.JXButton; import org.jdesktop.swingx.JXLabel; import org.jdesktop.swingx.JXPanel; -import org.jdesktop.swingx.JXTableHeader; -import org.netbeans.modules.db.dataview.meta.DBColumn; import org.netbeans.modules.db.dataview.table.JXTableRowHeader; import org.netbeans.modules.db.dataview.table.MultiColPatternFilter; import org.netbeans.modules.db.dataview.table.ResultSetJXTable; @@ -104,7 +102,7 @@ private JXButton[] editButtons = new JXButton[5]; private DataViewTableUI dataPanel; private JScrollPane dataPanelScrollPane; - private final DataView dataView; + private final DataViewPageContext pageContext; private JXButton cancel; private DataViewActionHandler actionHandler; private String imgPrefix = "/org/netbeans/modules/db/dataview/images/"; // NOI18N @@ -151,10 +149,10 @@ } }; - DataViewUI(DataView dataView, boolean nbOutputComponent) { + DataViewUI(DataView dataView, DataViewPageContext pageContext, boolean nbOutputComponent) { assert SwingUtilities.isEventDispatchThread() : "Must be called from AWT thread"; //NOI18N - this.dataView = dataView; + this.pageContext = pageContext; //do not show tab view if there is only one tab this.putClientProperty("TabPolicy", "HideWhenAlone"); //NOI18N @@ -178,7 +176,7 @@ actionHandler = new DataViewActionHandler(this, dataView); //add resultset data panel - dataPanel = new DataViewTableUI(this, actionHandler, dataView); + dataPanel = new DataViewTableUI(this, actionHandler, dataView, pageContext); dataPanelScrollPane = new JScrollPane(dataPanel); JXTableRowHeader rowHeader = new JXTableRowHeader(dataPanel); dataPanelScrollPane.setRowHeaderView(rowHeader); @@ -188,9 +186,9 @@ dataPanel.revalidate(); dataPanel.repaint(); - dataPanel.setModel(dataView.getDataViewPageContext().getModel()); - dataView.getDataViewPageContext().addPropertyChangeListener( - pageContextListener); + dataPanel.setModel(pageContext.getModel()); + pageContext.addPropertyChangeListener(pageContextListener); + updateTotalCountLabel(); } @@ -218,16 +216,14 @@ void updateTotalCountLabel() { assert SwingUtilities.isEventDispatchThread() : "Must be called from AWT thread"; //NOI18N - - DataViewPageContext pageContext = dataView.getDataViewPageContext(); - + if (pageContext.isTotalRowCountAvailable()) { totalRowsLabel.setText( pageContext.getTotalRows() + " " + pageContext.pageOf()); } else { totalRowsLabel.setText(NbBundle.getMessage(DataViewUI.class, "LBL_not_available") + " " - + dataView.getDataViewPageContext().pageOf()); + + pageContext.pageOf()); } } @@ -251,21 +247,6 @@ cancel.setEnabled(flag); } - void setDataRows(List rows) { - assert SwingUtilities.isEventDispatchThread() : "Must be called from AWT thread"; //NOI18N - assert rows != null; - - DBColumn[] columns = dataView.getDataViewDBTable().getColumns().toArray( - new DBColumn[0]); - - DataViewTableUIModel dvtm = getDataViewTableUIModel(); - - dvtm.removeAllUpdates(false); - - dvtm.setColumns(columns); - dvtm.setData(rows); - } - void disableButtons() { assert SwingUtilities.isEventDispatchThread() : "Must be called from AWT thread"; //NOI18N @@ -288,8 +269,8 @@ } int getPageSize() { - int pageSize = dataView.getDataViewPageContext().getPageSize(); - int totalCount = dataView.getDataViewPageContext().getTotalRows(); + int pageSize = pageContext.getPageSize(); + int totalCount = pageContext.getTotalRows(); try { int count = Integer.parseInt(refreshField.getText().trim()); return count < 0 ? pageSize : count; @@ -309,26 +290,26 @@ refreshField.setEnabled(true); matchBoxField.setEditable(true); deleteRow.setEnabled(false); - DataViewPageContext dataPage = dataView.getDataViewPageContext(); + if (!wasError) { - if (dataPage.hasPrevious()) { + if (pageContext.hasPrevious()) { first.setEnabled(true); previous.setEnabled(true); } - if (dataPage.hasNext()) { + if (pageContext.hasNext()) { next.setEnabled(true); - if(dataPage.getTotalRows() >= 0) { + if(pageContext.getTotalRows() >= 0) { last.setEnabled(true); } } - if (dataPage.hasOnePageOnly()) { + if (pageContext.hasOnePageOnly()) { first.setEnabled(false); previous.setEnabled(false); } - if (dataPage.isLastPage()) { + if (pageContext.isLastPage()) { next.setEnabled(false); last.setEnabled(false); } @@ -341,12 +322,12 @@ insert.setEnabled(false); truncateButton.setEnabled(false); } else { - if (dataPage.hasRows()) { + if (pageContext.hasRows()) { truncateButton.setEnabled(true); } else { deleteRow.setEnabled(false); truncateButton.setEnabled(false); - dataPage.first(); + pageContext.first(); } insert.setEnabled(true); if (getDataViewTableUIModel().getUpdateKeys().isEmpty()) { @@ -361,7 +342,7 @@ disableButtons(); } - refreshField.setText("" + dataPage.getPageSize()); + refreshField.setText("" + pageContext.getPageSize()); if (dataPanel != null) { dataPanel.revalidate(); dataPanel.repaint(); diff --git a/db.dataview/src/org/netbeans/modules/db/dataview/output/InsertRecordDialog.java b/db.dataview/src/org/netbeans/modules/db/dataview/output/InsertRecordDialog.java --- a/db.dataview/src/org/netbeans/modules/db/dataview/output/InsertRecordDialog.java +++ b/db.dataview/src/org/netbeans/modules/db/dataview/output/InsertRecordDialog.java @@ -104,12 +104,10 @@ InsertRecordTableUI insertRecordTableUI; private JXTableRowHeader rowHeader; - public InsertRecordDialog(DataView dataView) { + public InsertRecordDialog(DataView dataView, DBTable insertTable) { super(WindowManager.getDefault().getMainWindow(), true); this.dataView = dataView; - - // @todo Don't directly choose first table for insert, but let it be passed in - insertTable = dataView.getDataViewDBTable().getTable(0); + this.insertTable = insertTable; insertDataModel = new ResultSetTableModel( insertTable.getColumnList().toArray(new DBColumn[0]) @@ -390,7 +388,7 @@ try { Object[] insertedRow = getInsertValues(i); insertSQL = stmtBldr.generateInsertStatement(insertTable, insertedRow); - RequestProcessor.Task task = execHelper.executeInsertRow(insertSQL, insertedRow); + RequestProcessor.Task task = execHelper.executeInsertRow(insertTable, insertSQL, insertedRow); task.waitFinished(); wasException = dataView.hasExceptions(); } catch (DBException ex) { @@ -621,8 +619,9 @@ } insertRecordTableUI.editCellAt(row, col); TableCellEditor editor = insertRecordTableUI.getCellEditor(); + List columns = insertTable.getColumnList(); if (editor != null) { - DBColumn dbcol = dataView.getDataViewDBTable().getColumn(col); + DBColumn dbcol = columns.get(col); if (dbcol.isGenerated() || !dbcol.isNullable()) { Toolkit.getDefaultToolkit().beep(); editor.stopCellEditing(); @@ -644,7 +643,8 @@ insertRecordTableUI.editCellAt(row, col); TableCellEditor editor = insertRecordTableUI.getCellEditor(); if (editor != null) { - DBColumn dbcol = dataView.getDataViewDBTable().getColumn(col); + List columns = insertTable.getColumnList(); + DBColumn dbcol = columns.get(col); Object val = insertRecordTableUI.getValueAt(row, col); if (dbcol.isGenerated() || !dbcol.hasDefault()) { Toolkit.getDefaultToolkit().beep(); diff --git a/db.dataview/src/org/netbeans/modules/db/dataview/output/SQLExecutionHelper.java b/db.dataview/src/org/netbeans/modules/db/dataview/output/SQLExecutionHelper.java --- a/db.dataview/src/org/netbeans/modules/db/dataview/output/SQLExecutionHelper.java +++ b/db.dataview/src/org/netbeans/modules/db/dataview/output/SQLExecutionHelper.java @@ -180,12 +180,12 @@ DataViewDBTable dvTable = new DataViewDBTable(tables); dataView.getDataViewPageContext().getModel().setColumns( dvTable.getColumns().toArray(new DBColumn[0])); - dataView.setDataViewDBTable(dvTable); + dataView.getDataViewPageContext().setTableMetaData(dvTable); if (resultSetNeedsReloading(dvTable)) { executeSQLStatement(stmt, sql); rs = stmt.getResultSet(); } - loadDataFrom(rs); + loadDataFrom(dvTable, rs); if (Thread.interrupted()) { return; @@ -258,13 +258,14 @@ } } - RequestProcessor.Task executeInsertRow(final String insertSQL, final Object[] insertedRow) { + RequestProcessor.Task executeInsertRow(final DBTable table, final String insertSQL, final Object[] insertedRow) { String title = NbBundle.getMessage(SQLExecutionHelper.class, "LBL_sql_insert"); SQLStatementExecutor executor = new SQLStatementExecutor(dataView, title, "") { @Override public void execute() throws SQLException, DBException { dataView.setEditable(false); + List columns = table.getColumnList(); PreparedStatement pstmt = conn.prepareStatement(insertSQL); try { int pos = 1; @@ -272,13 +273,12 @@ Object val = insertedRow[i]; // Check for Constant e.g , , etc - if (DataViewUtils.isSQLConstantString(val, - dataView.getDataViewDBTable().getColumn(i))) { + if (DataViewUtils.isSQLConstantString(val, columns.get(i))) { continue; } // literals - int colType = dataView.getDataViewDBTable().getColumnType(i); + int colType = columns.get(i).getJdbcType(); DBReadWriteHelper.setAttributeValue(pstmt, pos++, colType, val); } @@ -321,17 +321,14 @@ return task; } - void executeDeleteRow(final DataViewTableUI rsTable) { - // @todo enhance to be able to work with more than one table - assert dataView.getDataViewDBTable().getTableCount() == 1 : "Deletes only supported for single table in resultset"; - + void executeDeleteRow(final DBTable table, final DataViewTableUI rsTable) { String title = NbBundle.getMessage(SQLExecutionHelper.class, "LBL_sql_delete"); final int[] rows = rsTable.getSelectedRows(); for(int i = 0; i < rows.length; i++) { rows[i] = rsTable.convertRowIndexToModel(rows[i]); } Arrays.sort(rows); - final DBTable table = dataView.getDataViewDBTable().getTable(0); + SQLStatementExecutor executor = new SQLStatementExecutor(dataView, title, "") { @Override @@ -391,11 +388,8 @@ task.schedule(0); } - void executeUpdateRow(final DataViewTableUI rsTable, final boolean selectedOnly) { - // @todo enhance to be able to work with more than one table - assert dataView.getDataViewDBTable().getTableCount() == 1 : "Updates only supported for single table in resultset"; - - final DBTable table = dataView.getDataViewDBTable().getTable(0); + void executeUpdateRow(final DBTable table, final DataViewTableUI rsTable, final boolean selectedOnly) { + final DataViewTableUIModel dataViewTableUIModel = rsTable.getModel(); String title = NbBundle.getMessage(SQLExecutionHelper.class, "LBL_sql_update"); SQLStatementExecutor executor = new SQLStatementExecutor(dataView, title, "") { @@ -485,7 +479,7 @@ } // Truncate is allowed only when there is single table used in the query. - void executeTruncate() { + void executeTruncate(final DBTable dbTable) { String msg = NbBundle.getMessage(SQLExecutionHelper.class, "MSG_truncate_table_progress"); String title = NbBundle.getMessage(SQLExecutionHelper.class, "LBL_sql_truncate"); SQLStatementExecutor executor = new SQLStatementExecutor(dataView, title, msg) { @@ -494,9 +488,6 @@ @Override public void execute() throws SQLException, DBException { - - - DBTable dbTable = dataView.getDataViewDBTable().getTable(0); String truncateSql = "TRUNCATE TABLE " + dbTable.getFullyQualifiedName(true); // NOI18N try { @@ -563,7 +554,8 @@ executeSQLStatement(stmt, sql); if (dataView.hasResultSet()) { ResultSet rs = stmt.getResultSet(); - loadDataFrom(rs); + loadDataFrom(dataView.getDataViewPageContext().getTableMetaData(), + rs); if (getTotal) { Integer result = null; @@ -633,7 +625,7 @@ task.schedule(0); } - void loadDataFrom(ResultSet rs) throws SQLException { + void loadDataFrom(DataViewDBTable tblMeta, ResultSet rs) throws SQLException { if (rs == null) { return; } @@ -641,7 +633,6 @@ int pageSize = dataView.getDataViewPageContext().getPageSize(); int startFrom = dataView.getDataViewPageContext().getCurrentPos(); - DataViewDBTable tblMeta = dataView.getDataViewDBTable(); List rows = new ArrayList(); int colCnt = tblMeta.getColumnCount(); try { diff --git a/db.dataview/test/unit/src/org/netbeans/modules/db/dataview/output/DataViewDBTableTest.java b/db.dataview/test/unit/src/org/netbeans/modules/db/dataview/output/DataViewDBTableTest.java --- a/db.dataview/test/unit/src/org/netbeans/modules/db/dataview/output/DataViewDBTableTest.java +++ b/db.dataview/test/unit/src/org/netbeans/modules/db/dataview/output/DataViewDBTableTest.java @@ -92,9 +92,6 @@ dbconn=null; } - public static DBTable getTable(DataView dv, int index){ - return dv.getDataViewDBTable().getTable(index); - } /** * Test of geTable method, of class DataViewDBTable. */ @@ -102,7 +99,7 @@ int index = 5; String sqlStr = context.getSqlSelect(); DataView dv = DataView.create(dbconn, sqlStr, index); - DataViewDBTable instance = dv.getDataViewDBTable(); + DataViewDBTable instance = dv.getDataViewPageContext().getTableMetaData(); DBTable result = instance.getTable(0); assertNotNull(result); assertEquals(11, instance.getColumnCount()); @@ -115,7 +112,7 @@ int index = 5; String sqlStr = context.getSqlSelect(); DataView dv = DataView.create(dbconn, sqlStr, index); - DataViewDBTable instance = dv.getDataViewDBTable(); + DataViewDBTable instance = dv.getDataViewPageContext().getTableMetaData(); int expResult = 1; int result = instance.getTableCount(); assertEquals(expResult, result); @@ -128,7 +125,7 @@ int index = 5; String sqlStr = context.getSqlSelect(); DataView dv = DataView.create(dbconn, sqlStr, index); - DataViewDBTable instance = dv.getDataViewDBTable(); + DataViewDBTable instance = dv.getDataViewPageContext().getTableMetaData(); boolean expResult = true; boolean result = instance.hasOneTable(); assertEquals(expResult, result); @@ -141,7 +138,7 @@ int index = 5; String sqlStr = context.getSqlSelect(); DataView dv = DataView.create(dbconn, sqlStr, index); - DataViewDBTable instance = dv.getDataViewDBTable(); + DataViewDBTable instance = dv.getDataViewPageContext().getTableMetaData(); String expResult = "SIMPLETABLE"; String result = instance.getFullyQualifiedName(0, false); assertEquals(expResult, result); @@ -154,7 +151,7 @@ int index = 5; String sqlStr = context.getSqlSelect(); DataView dv = DataView.create(dbconn, sqlStr, index); - DataViewDBTable instance = dv.getDataViewDBTable(); + DataViewDBTable instance = dv.getDataViewPageContext().getTableMetaData(); int expResult = 12; int result = instance.getColumnType(2); assertEquals(expResult, result); @@ -167,7 +164,7 @@ int index = 5; String sqlStr = context.getSqlSelect(); DataView dv = DataView.create(dbconn, sqlStr, index); - DataViewDBTable instance = dv.getDataViewDBTable(); + DataViewDBTable instance = dv.getDataViewPageContext().getTableMetaData(); String expResult = "DATEC"; String result = instance.getColumnName(index); assertEquals(expResult, result); @@ -180,7 +177,7 @@ int index = 5; String sqlStr = context.getSqlSelect(); DataView dv = DataView.create(dbconn, sqlStr, index); - DataViewDBTable instance = dv.getDataViewDBTable(); + DataViewDBTable instance = dv.getDataViewPageContext().getTableMetaData(); String expResult = "TINYINTC"; String result = instance.getQualifiedName(0, false); assertEquals(expResult, result); @@ -193,7 +190,7 @@ int index = 5; String sqlStr = context.getSqlSelect(); DataView dv = DataView.create(dbconn, sqlStr, index); - DataViewDBTable instance = dv.getDataViewDBTable(); + DataViewDBTable instance = dv.getDataViewPageContext().getTableMetaData(); int expResult = 11; int result = instance.getColumnCount(); assertEquals(expResult, result); diff --git a/db.dataview/test/unit/src/org/netbeans/modules/db/dataview/output/DataViewTest.java b/db.dataview/test/unit/src/org/netbeans/modules/db/dataview/output/DataViewTest.java --- a/db.dataview/test/unit/src/org/netbeans/modules/db/dataview/output/DataViewTest.java +++ b/db.dataview/test/unit/src/org/netbeans/modules/db/dataview/output/DataViewTest.java @@ -156,7 +156,7 @@ ResultSet rset = stmt.executeQuery(sqlStr); Collection tables = dbMeta.generateDBTables(rset, sqlStr, true); //generateDBTables(rset); DataViewDBTable expResult = new DataViewDBTable(tables); - DataViewDBTable result = instance.getDataViewDBTable(); + DataViewDBTable result = instance.getDataViewPageContext().getTableMetaData(); assertEquals(expResult.getQualifiedName(0, false), result.getQualifiedName(0, false)); assertEquals(expResult.getColumnCount(), result.getColumnCount()); assertEquals(expResult.getColumnType(2), result.getColumnType(2)); diff --git a/db.dataview/test/unit/src/org/netbeans/modules/db/dataview/output/InsertRecordTableUITest.java b/db.dataview/test/unit/src/org/netbeans/modules/db/dataview/output/InsertRecordTableUITest.java --- a/db.dataview/test/unit/src/org/netbeans/modules/db/dataview/output/InsertRecordTableUITest.java +++ b/db.dataview/test/unit/src/org/netbeans/modules/db/dataview/output/InsertRecordTableUITest.java @@ -44,10 +44,10 @@ import java.sql.Connection; import java.sql.Date; import javax.swing.SortOrder; -import javax.swing.table.DefaultTableModel; import org.netbeans.api.db.explorer.DatabaseConnection; import org.netbeans.junit.MockServices; import org.netbeans.junit.NbTestCase; +import org.netbeans.modules.db.dataview.meta.DBTable; import org.netbeans.modules.db.dataview.spi.DBConnectionProviderImpl; import org.netbeans.modules.db.dataview.table.ResultSetTableModel; import org.netbeans.modules.db.dataview.util.DBTestUtil; @@ -97,7 +97,9 @@ DataView dv = DataView.create(dbconn, sqlString, 5); dv.createComponents(); - InsertRecordDialog ird = new InsertRecordDialog(dv); + DBTable table = dv.getDataViewPageContext().getTableMetaData().getTable(0); + + InsertRecordDialog ird = new InsertRecordDialog(dv, table); ResultSetTableModel model = ird.insertRecordTableUI.getModel(); ird.insertRecordTableUI.appendEmptyRow();