X-Git-Url: http://secure.phpeclipse.com diff --git a/archive/net.sourceforge.phpeclipse.sql/src/net/sourceforge/phpdt/sql/wizards/PHPSelectRowPage.java b/archive/net.sourceforge.phpeclipse.sql/src/net/sourceforge/phpdt/sql/wizards/PHPSelectRowPage.java index beef6fb..e31fe2f 100644 --- a/archive/net.sourceforge.phpeclipse.sql/src/net/sourceforge/phpdt/sql/wizards/PHPSelectRowPage.java +++ b/archive/net.sourceforge.phpeclipse.sql/src/net/sourceforge/phpdt/sql/wizards/PHPSelectRowPage.java @@ -1,9 +1,8 @@ package net.sourceforge.phpdt.sql.wizards; -import net.sourceforge.phpdt.sql.sql.TableRow; -import net.sourceforge.phpdt.sql.view.PHPSourceConsole; -import net.sourceforge.phpdt.sql.view.tableview.TableAdapter; +import java.text.MessageFormat; +import org.eclipse.jface.preference.IPreferenceStore; import org.eclipse.jface.wizard.WizardPage; import org.eclipse.swt.SWT; import org.eclipse.swt.events.ModifyEvent; @@ -17,171 +16,182 @@ import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Text; +import net.sourceforge.phpdt.sql.PHPEclipseSQLPlugin; +import net.sourceforge.phpdt.sql.sql.TableRow; +import net.sourceforge.phpdt.sql.view.PHPSourceConsole; +import net.sourceforge.phpdt.sql.view.tableview.TableAdapter; + public class PHPSelectRowPage extends WizardPage implements SQLPage { - TableRow row; - String[] columnNames; - Text[] oldValues; - // Text[] newValues; - Button[] primaryKeys; - Button[] setValues; - Label query; - - public PHPSelectRowPage(String pageName) { - super(pageName); - } - - public void init(TableRow row, TableAdapter adapter) { - this.row = row; - } - - public void createControl(Composite parent) { - if (DEBUG) { - System.out.println("page create control"); - } - Composite container = new Composite(parent, SWT.NULL); - GridLayout layout = new GridLayout(); - container.setLayout(layout); - int layoutColumns = 4; - layout.numColumns = layoutColumns; - - if (DEBUG) { - if (row == null) { - System.out.println("Row is null"); - } - if (row.getColumnNames() == null) { - System.out.println("Columns are null"); - } - if (row.getTableData() == null) { - System.out.println("Data is null"); - } - } - columnNames = row.getColumnNames(); - String[] data = row.getTableData(); - if (DEBUG) { - for (int i = 0; i < row.getColumnCount(); i++) { - System.out.println("data = " + i + "=" + data[i]); - System.out.println("column = " + i + "=" + columnNames[i]); - } - } - oldValues = new Text[row.getColumnCount()]; - // newValues = new Text[row.getColumnCount()]; - primaryKeys = new Button[row.getColumnCount()]; - setValues = new Button[row.getColumnCount()]; - Label temp = new Label(container, SWT.NULL); - temp.setText("Column Name"); - temp = new Label(container, SWT.NULL); - temp.setText("Old Value"); - temp = new Label(container, SWT.NULL); - temp.setText(""); - // temp = new Label(container, SWT.NULL); - // temp.setText("New Value"); - temp = new Label(container, SWT.NULL); - temp.setText(""); - for (int i = 0; i < row.getColumnCount(); i++) { - Label label = new Label(container, SWT.NULL); - label.setText(columnNames[i]); - oldValues[i] = new Text(container, SWT.BORDER | SWT.SINGLE); - if (data[i] == null || data[i].equals("")) { - oldValues[i].setText('$' + columnNames[i]); - } else { - oldValues[i].setText(data[i]); - } - oldValues[i].addModifyListener(new ModifyListener() { - public void modifyText(ModifyEvent e) { - updateQuery(); - } - }); - - primaryKeys[i] = new Button(container, SWT.CHECK); - primaryKeys[i].setText("Where Clause"); - primaryKeys[i].addSelectionListener(new SelectionListener() { - public void widgetDefaultSelected(SelectionEvent e) { - } - public void widgetSelected(SelectionEvent e) { - updateQuery(); - } - }); - // newValues[i] = new Text(container, SWT.BORDER | SWT.SINGLE); - // newValues[i].setText(data[i]); - // newValues[i].addModifyListener(new ModifyListener() { - // public void modifyText(ModifyEvent e) { - // updateQuery(); - // } - // }); - setValues[i] = new Button(container, SWT.CHECK); - setValues[i].setText("Select Value"); - setValues[i].addSelectionListener(new SelectionListener() { - public void widgetDefaultSelected(SelectionEvent e) { - } - public void widgetSelected(SelectionEvent e) { - updateQuery(); - } - }); - } - query = new Label(container, SWT.WRAP); - GridData gridData = new GridData(); - gridData.horizontalSpan = layoutColumns; - gridData.horizontalAlignment = GridData.FILL; - gridData.verticalAlignment = GridData.FILL; - gridData.grabExcessHorizontalSpace = true; - gridData.grabExcessVerticalSpace = true; - query.setLayoutData(gridData); - - setControl(container); - updateQuery(); - - setPageComplete(true); - } - - public void updateQuery() { - if (DEBUG) { - System.out.println("PHP SELECT"); - } - StringBuffer setClause = new StringBuffer(); - StringBuffer whereClause = new StringBuffer(); - String temp; - boolean firstClause = false; - for (int i = 0; i < columnNames.length; i++) { - if (primaryKeys[i].getSelection()) { - if (firstClause) { - whereClause.append(" AND "); - } - firstClause = true; - whereClause.append(columnNames[i]); - whereClause.append(" = "); - temp = oldValues[i].getText(); - // if (temp.charAt(0) == '$') { - // whereClause.append(temp); - // } else { - whereClause.append("'" + temp + "'"); - // } - - } - if (setValues[i].getSelection()) { - setClause.append(columnNames[i]); - // setClause.append(" = "); - // setClause.append(newValues[i].getText()); - setClause.append(", "); - } - } - // if (whereClause.length() > 1) { - // whereClause.deleteCharAt(whereClause.length() - 1); - // whereClause.deleteCharAt(whereClause.length() - 1); - // } - if (setClause.length() > 1) { - setClause.deleteCharAt(setClause.length() - 1); - setClause.deleteCharAt(setClause.length() - 1); - } - String query = "$results = mysql_query(\"SELECT " + setClause.toString(); - query += " FROM " + row.getTable(); - query += " WHERE " + whereClause.toString() + "\");"; - this.query.setText(query); - } - - public boolean performFinish() { - PHPSourceConsole console = PHPSourceConsole.getInstance(); - console.clear(); - console.print(query.getText()); - return true; - } + TableRow row; + String[] columnNames; + Text[] whereValues; + // Text[] newValues; + Button[] primaryKeys; + Button[] setValues; + Label query; + IPreferenceStore fStore; + + public PHPSelectRowPage(String pageName) { + super(pageName); + } + + public void init(TableRow row, TableAdapter adapter) { + this.row = row; + } + + public void createControl(Composite parent) { + System.out.println("page create control"); + Composite container = new Composite(parent, SWT.NULL); + fStore = PHPEclipseSQLPlugin.getDefault().getPreferenceStore(); + + GridLayout layout = new GridLayout(); + container.setLayout(layout); + int layoutColumns = 4; + layout.numColumns = layoutColumns; + + if (row == null) { + System.out.println("Row is null"); + } + if (row.getColumnNames() == null) { + System.out.println("Columns are null"); + } + if (row.getTableData() == null) { + System.out.println("Data is null"); + } + columnNames = row.getColumnNames(); + String[] data = row.getTableData(); + + for (int i = 0; i < row.getColumnCount(); i++) { + System.out.println("data = " + i + "=" + data[i]); + System.out.println("column = " + i + "=" + columnNames[i]); + } + + whereValues = new Text[row.getColumnCount()]; + // newValues = new Text[row.getColumnCount()]; + primaryKeys = new Button[row.getColumnCount()]; + setValues = new Button[row.getColumnCount()]; + Label temp = new Label(container, SWT.NULL); + temp.setText("Column Name"); + temp = new Label(container, SWT.NULL); + temp.setText("Value"); + temp = new Label(container, SWT.NULL); + temp.setText("Where"); + // temp = new Label(container, SWT.NULL); + // temp.setText("New Value"); + temp = new Label(container, SWT.NULL); + temp.setText("Select"); + for (int i = 0; i < row.getColumnCount(); i++) { + Label label = new Label(container, SWT.NULL); + label.setText(columnNames[i]); + whereValues[i] = new Text(container, SWT.BORDER | SWT.SINGLE); + if (data[i] == null || data[i].equals("")) { + whereValues[i].setText('$' + columnNames[i]); + } else { + whereValues[i].setText(data[i]); + } + + whereValues[i].addModifyListener(new ModifyListener() { + public void modifyText(ModifyEvent e) { + updateQuery(); + } + }); + + primaryKeys[i] = new Button(container, SWT.CHECK); + //primaryKeys[i].setText("Where Clause"); + primaryKeys[i].addSelectionListener(new SelectionListener() { + public void widgetDefaultSelected(SelectionEvent e) { + } + public void widgetSelected(SelectionEvent e) { + updateQuery(); + } + }); + // newValues[i] = new Text(container, SWT.BORDER | SWT.SINGLE); + // newValues[i].setText(data[i]); + // newValues[i].addModifyListener(new ModifyListener() { + // public void modifyText(ModifyEvent e) { + // updateQuery(); + // } + // }); + setValues[i] = new Button(container, SWT.CHECK); + //setValues[i].setText("Select Value"); + setValues[i].addSelectionListener(new SelectionListener() { + public void widgetDefaultSelected(SelectionEvent e) { + } + public void widgetSelected(SelectionEvent e) { + updateQuery(); + } + }); + } + query = new Label(container, SWT.WRAP); + GridData gridData = new GridData(); + gridData.horizontalSpan = layoutColumns; + gridData.horizontalAlignment = GridData.FILL; + gridData.verticalAlignment = GridData.FILL; + gridData.grabExcessHorizontalSpace = true; + gridData.grabExcessVerticalSpace = true; + query.setLayoutData(gridData); + + setControl(container); + updateQuery(); + + setPageComplete(true); + } + + public void updateQuery() { + System.out.println("PHP SELECT"); + StringBuffer setClause = new StringBuffer(); + StringBuffer whereClause = new StringBuffer(); + String temp; + boolean firstClause = false; + for (int i = 0; i < columnNames.length; i++) { + if (primaryKeys[i].getSelection()) { + if (firstClause) { + whereClause.append(" AND "); + } + firstClause = true; + whereClause.append(columnNames[i]); + whereClause.append(" = "); + temp = whereValues[i].getText(); + // if (temp.charAt(0) == '$') { + // whereClause.append(temp); + // } else { + whereClause.append("'" + temp + "'"); + // } + + } + if (setValues[i].getSelection()) { + setClause.append(columnNames[i]); + // setClause.append(" = "); + // setClause.append(newValues[i].getText()); + setClause.append(", "); + } + } + // if (whereClause.length() > 1) { + // whereClause.deleteCharAt(whereClause.length() - 1); + // whereClause.deleteCharAt(whereClause.length() - 1); + // } + if (setClause.length() > 1) { + setClause.deleteCharAt(setClause.length() - 1); + setClause.deleteCharAt(setClause.length() - 1); + } + + String[] arguments = + { setClause.toString(), row.getTable(), whereClause.toString()}; + MessageFormat form = + new MessageFormat( + fStore.getString("phpeclipse.sql.select.template")); + + String query = form.format(arguments); + // String query = "$results = mysql_query(\"SELECT " + setClause.toString(); + // query += " FROM " + row.getTable(); + // query += " WHERE " + whereClause.toString() + "\");"; + this.query.setText(query); + } + + public boolean performFinish() { + PHPSourceConsole console = PHPSourceConsole.getInstance(); + console.clear(); + console.print(query.getText()); + return true; + } } \ No newline at end of file