X-Git-Url: http://git.phpeclipse.com diff --git a/archive/net.sourceforge.phpeclipse.quantum.sql/src/com/quantum/view/tableview/TableAdapter.java b/archive/net.sourceforge.phpeclipse.quantum.sql/src/com/quantum/view/tableview/TableAdapter.java deleted file mode 100644 index e65c9d0..0000000 --- a/archive/net.sourceforge.phpeclipse.quantum.sql/src/com/quantum/view/tableview/TableAdapter.java +++ /dev/null @@ -1,265 +0,0 @@ -package com.quantum.view.tableview; - -import java.sql.SQLException; -import java.util.Vector; - -import org.eclipse.jface.viewers.CellEditor; -import org.eclipse.jface.viewers.TableViewer; -import org.eclipse.jface.viewers.TextCellEditor; -import org.eclipse.swt.SWT; -import org.eclipse.swt.widgets.Table; -import org.eclipse.swt.widgets.TableColumn; -import org.eclipse.swt.widgets.TableItem; -import org.eclipse.swt.widgets.Text; - -import com.quantum.Messages; -import com.quantum.adapters.DatabaseAdapter; -import com.quantum.model.Bookmark; -import com.quantum.model.Entity; -import com.quantum.model.NotConnectedException; -import com.quantum.sql.FilterSort; -import com.quantum.sql.SQLHelper; -import com.quantum.sql.SQLResults; - -public class TableAdapter { - - public static final String DEFAULT = ""; //$NON-NLS-1$ - public static final String UTF_8 = "UTF-8"; //$NON-NLS-1$ - public static final String UTF_16 = "UTF-16"; //$NON-NLS-1$ - - private int pageSize = DefaultSizes.PAGE_SIZE; - private int maxColumnSize = DefaultSizes.MAX_COLUMN_SIZE; - private FilterSort extra = new FilterSort(); - private int offset = 1; - private int totalSize = -1; - private Vector rows = new Vector(); - private Vector columnNames = new Vector(); - private boolean hasMore = false; - - private Bookmark bookmark = null; - private Entity entity = null; - private String query; - - private String encoding = ""; //$NON-NLS-1$ - - private TableAdapter(Entity entity) { - this.entity = entity; - this.bookmark = entity.getBookmark(); - } - private TableAdapter(Bookmark bookmark) { - this.bookmark = bookmark; - } - public void fullMode() { - offset = 1; - pageSize = Integer.MAX_VALUE; - } - public void resetMode() { - offset = 1; - pageSize = DefaultSizes.PAGE_SIZE; - } - public static TableAdapter createFromQuery(Bookmark bookmark, SQLResults results) throws NotConnectedException { - TableAdapter retVal = new TableAdapter(bookmark); - retVal.setQuery(results.getQuery()); - retVal.setData(results); - return retVal; - } - public static TableAdapter createFromTable(Entity entity) { - TableAdapter retVal = new TableAdapter(entity); - return retVal; - } - private void loadSize() { - try { - if (entity != null) { - totalSize = SQLHelper.getSize( - bookmark.getConnection(), entity.getQualifiedName(), - bookmark.getAdapter()); - } - } catch (SQLException e) { - e.printStackTrace(); - } catch (NotConnectedException e) { - e.printStackTrace(); - } - } - public int getStartIndex() { - if (totalSize == 0) { - return 0; - } - return offset; - } - public int getEndIndex() { - return offset + rows.size() - 1; - } - public int getTotalSize() { - return totalSize; - } - public void nextPage() { - loadSize(); - offset = offset + pageSize; - if (totalSize >= 0 && offset > totalSize) { - offset = offset - pageSize; - } - } - public void previousPage() { - offset = offset - pageSize; - if (offset < 1) { - offset = 1; - } - } - public boolean hasNextPage() { - if (entity != null) { - if (offset + pageSize <= totalSize) { - return true; - } - return false; - } - return hasMore; - } - public boolean hasPreviousPage() { - if (offset > 1) { - return true; - } - return false; - } - - public String getQuery() { - if (entity != null) { - DatabaseAdapter adapter = bookmark.getAdapter(); - if (adapter == null) throw new RuntimeException(); - else return adapter.getTableQuery((entity).getQualifiedName()) + extra.toString(); - } - return query; - } - public void loadData() throws NotConnectedException { - loadSize(); - if (entity != null) { - if (offset > totalSize) { - offset = 1; - } - } - String query = getQuery(); - System.out.println(offset + Messages.getString("TableAdapter.to") + (offset + pageSize - 1)); //$NON-NLS-1$ - SQLResults results = SQLHelper.getResults(bookmark.getConnection(), query, offset, offset + pageSize - 1, maxColumnSize, encoding); - setData(results); - } - public void resetOffset() { - offset = 1; - } - public void setData(SQLResults results) throws NotConnectedException { - if (results.isError()) return; - int rowCount = results.getRowCount(); - int columnCount = results.getColumnCount(); - rows = new Vector(); - columnNames = new Vector(); - for (int col = 1; col <= columnCount; col++) { - columnNames.addElement(results.getColumnName(col)); - } - for (int row = 1; row <= rowCount; row++) { - String rowData[] = new String[columnCount]; - for (int col = 1; col <= columnCount; col++) { - rowData[col - 1] = results.getElement(col, row).toString(); - } - rows.addElement(rowData); - } - hasMore = results.hasMore(); - if (entity == null && results.getMaxSize() >= 0) { - if (offset > results.getMaxSize()) { - offset = 1; - loadData(); - } - } - } - public void loadTable(Table table) { - table.setHeaderVisible(true); - for (int i = 0; i < columnNames.size(); i++) { - TableColumn column = new TableColumn(table, SWT.NONE); - column.setText(columnNames.elementAt(i).toString()); - } - for (int i = 0; i < columnNames.size(); i++) { - table.getColumn(i).pack(); - } - for (int row = 0; row < rows.size(); row++) { - TableItem item = new TableItem(table, SWT.NONE); - String itemData[] = (String[]) rows.elementAt(row); - item.setText(itemData); - } - for (int i = 0; i < columnNames.size(); i++) { - table.getColumn(i).pack(); - } - } - -// public TableViewer addTableViewer(Table table) { -// TableViewer tableViewer = new TableViewer(table); -// tableViewer.setUseHashlookup(true); -// String[] colNams = new String[columnNames.size()]; -// for (int i = 0; i < columnNames.size(); i++) { -// colNams[i] = (String) columnNames.get(i); -// } -// tableViewer.setColumnProperties(colNams); -// -// // Create the cell editors -// CellEditor[] editors = new CellEditor[columnNames.size()]; -// for (int i = 0; i < columnNames.size(); i++) { -// TextCellEditor textEditor = new TextCellEditor(table); -// ((Text) textEditor.getControl()).setTextLimit(60); -// editors[i] = textEditor; -// } -// // Assign the cell editors to the viewer -// tableViewer.setCellEditors(editors); -// // Set the cell modifier for the viewer -// //tableViewer.setCellModifier(new MetaDataModifier(this)); -// // Set the default sorter for the viewer -// //tableViewer.setSorter(new ExampleTaskSorter(ExampleTaskSorter.DESCRIPTION)); -// -// return tableViewer; -// } - - public int getPageSize() { - return pageSize; - } - - public void setFilterSort(FilterSort extra) { - this.extra = extra; - } - public String getTable() { - return (entity != null) ? entity.getQualifiedName() : null; - } - - public void setQuery(String query) { - this.query = query; - } - public String getEncoding() { - return encoding; - } - - public void setEncoding(String encoding) { - this.encoding = encoding; - } - public String getStatusString() { - String status = getStartIndex() + Messages.getString("TableAdapter.to") + getEndIndex() + Messages.getString("TableAdapter.of") + //$NON-NLS-1$ //$NON-NLS-2$ - getTotalSize(); - if (!encoding.equals(DEFAULT)) { - status += " (" + encoding + ")"; //$NON-NLS-1$ //$NON-NLS-2$ - } - String filterText = extra.toString(); - if (!filterText.equals("")) { //$NON-NLS-1$ - status += " (" + filterText + ")"; //$NON-NLS-1$ //$NON-NLS-2$ - } - if (pageSize == Integer.MAX_VALUE) { - status += Messages.getString("TableAdapter.full"); //$NON-NLS-1$ - } - return status; - } - /** - * @return - */ - public Bookmark getBookmark() { - return this.bookmark; - } - /** - * @return - */ - public Entity getEntity() { - return entity; - } - -} \ No newline at end of file