Quantum version 2.4.1
[phpeclipse.git] / archive / net.sourceforge.phpeclipse.quantum.sql / src / com / quantum / view / tableview / TableAdapter.java
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 (file)
index e65c9d0..0000000
+++ /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