X-Git-Url: http://git.phpeclipse.com diff --git a/archive/net.sourceforge.phpeclipse.quantum.sql/src/com/quantum/wizards/BookmarkWizard.java b/archive/net.sourceforge.phpeclipse.quantum.sql/src/com/quantum/wizards/BookmarkWizard.java index da768ff..5ba3d54 100644 --- a/archive/net.sourceforge.phpeclipse.quantum.sql/src/com/quantum/wizards/BookmarkWizard.java +++ b/archive/net.sourceforge.phpeclipse.quantum.sql/src/com/quantum/wizards/BookmarkWizard.java @@ -1,297 +1,76 @@ package com.quantum.wizards; -import com.quantum.Messages; -import com.quantum.QuantumPlugin; -import com.quantum.adapters.AdapterFactory; -import com.quantum.adapters.DriverInfo; -import com.quantum.model.Bookmark; -import com.quantum.model.BookmarkCollection; -import com.quantum.view.bookmark.BookmarkNode; +import java.beans.PropertyChangeEvent; +import java.beans.PropertyChangeListener; -import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.jface.wizard.Wizard; -import org.eclipse.jface.wizard.WizardPage; -import org.eclipse.swt.SWT; -import org.eclipse.swt.events.SelectionAdapter; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.events.SelectionListener; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Button; -import org.eclipse.swt.widgets.Combo; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.FileDialog; -import org.eclipse.swt.widgets.Label; -import org.eclipse.swt.widgets.Text; -public class BookmarkWizard extends Wizard { - BookmarkPage mainPage; +import com.quantum.Messages; +import com.quantum.model.Bookmark; +import com.quantum.model.BookmarkCollection; +import com.quantum.model.JDBCDriver; +import com.quantum.model.Schema; - private Bookmark current; +public class BookmarkWizard extends Wizard implements PropertyChangeListener { + private JDBCDriverSelectionWizardPage page1; + private BookmarkConnectionWizardPage page2; + private BookmarkNameWizardPage page3; + private SchemaSelectionWizardPage page4; - public void init(BookmarkNode selection) { - System.out.println("Initing workbench"); //$NON-NLS-1$ - this.current = selection.getBookmark(); - setWindowTitle(Messages.getString("BookmarkWizard.NewBookmark")); //$NON-NLS-1$ - } + private Bookmark bookmark; + public void init() { - System.out.println("Initing workbench"); //$NON-NLS-1$ - current = null; setWindowTitle(Messages.getString("BookmarkWizard.NewBookmark")); //$NON-NLS-1$ + this.bookmark = new Bookmark(); } public boolean performFinish() { - System.out.println("perform finish workbench"); //$NON-NLS-1$ - String bookmarkName = mainPage.name.getText(); - if ( BookmarkCollection.getInstance().find(bookmarkName) != null){ - MessageDialog.openInformation( - this.getShell(),Messages.getString("BookmarkWizard.Error"),Messages.getString("BookmarkWizard.bookmarkAlreadyExists")); //$NON-NLS-1$ //$NON-NLS-2$ - return false; - } - - mainPage.performFinish(); + BookmarkCollection.getInstance().addBookmark(this.bookmark); + return true; } public void addPages() { - System.out.println("adding pages"); //$NON-NLS-1$ - if (current != null) { - mainPage = new BookmarkPage(Messages.getString("BookmarkWizard.Testing"), current); //$NON-NLS-1$ - } else { - mainPage = new BookmarkPage(Messages.getString("BookmarkWizard.Testing")); //$NON-NLS-1$ - } - addPage(mainPage); - System.out.println("adding pages"); //$NON-NLS-1$ - } -} - -class BookmarkPage extends WizardPage { - public static final String ADD = "ADD"; //$NON-NLS-1$ - String action = ADD; - Text name; - Text username; - Text password; - Text schema; - Text connect; - Text driver; - //List driverList; - Combo type; - Text driverFile; - Button prompt; - - Bookmark initialData = null; - - FileDialog dialog; - - DriverInfo[] drivers = AdapterFactory.getInstance().getDriverList(); - /** - * Constructor for BookmarkPage. - * @param pageName - */ - public BookmarkPage(String pageName) { - super(pageName); - initialData = null; - } - /** - * Constructor for BookmarkPage. - * @param pageName - */ - public BookmarkPage(String pageName, Bookmark bookmark) { - super(pageName); - this.initialData = bookmark; + this.page1 = new JDBCDriverSelectionWizardPage("page1"); //$NON-NLS-1$ + this.page1.addPropertyChangeListener(this); + addPage(this.page1); + this.page2 = new BookmarkConnectionWizardPage("page2"); //$NON-NLS-1$ + this.page2.addPropertyChangeListener(this); + addPage(this.page2); + this.page3 = new BookmarkNameWizardPage("page3"); //$NON-NLS-1$ + this.page3.addPropertyChangeListener(this); + addPage(this.page3); + this.page4 = new SchemaSelectionWizardPage("page4", this.bookmark); //$NON-NLS-1$ + this.page4.addPropertyChangeListener(this); + addPage(this.page4); } - - public void createControl(Composite parent) { - System.out.println("page create control"); //$NON-NLS-1$ - dialog = new FileDialog(getContainer().getShell(), SWT.OPEN); - dialog.setFilterExtensions(new String[]{"*.jar", "*.zip","*.*"}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ - dialog.setFilterNames(new String[]{Messages.getString("BookmarkWizard.JarFiles"),Messages.getString("BookmarkWizard.ZipFiles"), Messages.getString("BookmarkWizard.AllFiles")}); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ - Composite container = new Composite(parent, SWT.NULL); - GridLayout layout = new GridLayout(); - container.setLayout(layout); - layout.numColumns = 2; - layout.verticalSpacing = 9; - - - Label label = new Label(container, SWT.NULL); - label.setText(Messages.getString("BookmarkWizard.BookmarkNameAst")); //$NON-NLS-1$ - name = new Text(container, SWT.BORDER | SWT.SINGLE); - GridData fullHorizontal = new GridData(); - fullHorizontal.horizontalAlignment = GridData.FILL; - name.setLayoutData(fullHorizontal); - - label = new Label(container, SWT.NULL); - label.setText(Messages.getString("BookmarkWizard.UsernameAst")); //$NON-NLS-1$ - username = new Text(container, SWT.BORDER | SWT.SINGLE); - fullHorizontal = new GridData(); - fullHorizontal.horizontalAlignment = GridData.FILL; - username.setLayoutData(fullHorizontal); - - label = new Label(container, SWT.NULL); - label.setText(Messages.getString("BookmarkWizard.PasswordAst")); //$NON-NLS-1$ - password = new Text(container, SWT.BORDER | SWT.SINGLE); - password.setEchoChar('*'); - fullHorizontal = new GridData(); - fullHorizontal.horizontalAlignment = GridData.FILL; - password.setLayoutData(fullHorizontal); - - this.prompt = new Button(container, SWT.CHECK); - this.prompt.setText(Messages.getString("BookmarkWizard.Prompt")); //$NON-NLS-1$ - fullHorizontal = new GridData(); - fullHorizontal.horizontalAlignment = GridData.FILL; - fullHorizontal.horizontalSpan = 2; - this.prompt.setLayoutData(fullHorizontal); - - label = new Label(container, SWT.NULL); - label.setText(Messages.getString("BookmarkWizard.Schema")); //$NON-NLS-1$ - schema = new Text(container, SWT.BORDER | SWT.SINGLE); - fullHorizontal = new GridData(); - fullHorizontal.horizontalAlignment = GridData.FILL; - schema.setLayoutData(fullHorizontal); - - label = new Label(container, SWT.NULL); - label.setText(Messages.getString("BookmarkWizard.ConnectAst")); //$NON-NLS-1$ - connect = new Text(container, SWT.BORDER | SWT.SINGLE); - fullHorizontal = new GridData(); - fullHorizontal.horizontalAlignment = GridData.FILL; - connect.setLayoutData(fullHorizontal); - - label = new Label(container, SWT.NULL); - label.setText(Messages.getString("BookmarkWizard.DriverAst")); //$NON-NLS-1$ - driver = new Text(container, SWT.BORDER | SWT.SINGLE); - fullHorizontal = new GridData(); - fullHorizontal.horizontalAlignment = GridData.FILL; - driver.setLayoutData(fullHorizontal); - - //label = new Label(container, SWT.NULL); - //fullHorizontal = new GridData(); - //fullHorizontal.verticalAlignment = GridData.VERTICAL_ALIGN_BEGINNING; - //fullHorizontal.verticalSpan = 3; - //label.setLayoutData(fullHorizontal); - //label.setText("(Drivers Found in File)"); - /*driverList = new List(container, SWT.SINGLE); - fullHorizontal = new GridData(); - fullHorizontal.horizontalAlignment = GridData.FILL; - fullHorizontal.verticalAlignment = GridData.FILL; - fullHorizontal.verticalSpan = 3; - driverList.setLayoutData(fullHorizontal); - driverList.addSelectionListener(new SelectionListener() { - public void widgetDefaultSelected(SelectionEvent e) { - } - public void widgetSelected(SelectionEvent e) { - String[] selection = driverList.getSelection(); - if (selection != null && selection.length > 0) { - driver.setText(selection[0]); - } - } - });*/ - - label = new Label(container, SWT.NULL); - label.setText(Messages.getString("BookmarkWizard.TypeAst")); //$NON-NLS-1$ - type = new Combo(container, SWT.SIMPLE | SWT.DROP_DOWN | SWT.READ_ONLY); - String driverNames[] = new String[drivers.length]; - for (int i = 0; i < drivers.length; i++) { - driverNames[i] = drivers[i].getDisplayName(); - } - type.setItems(driverNames); - type.select(0); - fullHorizontal = new GridData(); - fullHorizontal.horizontalAlignment = GridData.FILL; - type.setLayoutData(fullHorizontal); - - label = new Label(container, SWT.NULL); - label.setText(Messages.getString("BookmarkWizard.DriverFilenameAst")); //$NON-NLS-1$ - driverFile = new Text(container, SWT.BORDER | SWT.SINGLE); - fullHorizontal = new GridData(); - fullHorizontal.horizontalAlignment = GridData.FILL; - driverFile.setLayoutData(fullHorizontal); - - Button button = new Button(container, SWT.PUSH); - button.setText(Messages.getString("BookmarkWizard.Browse")); //$NON-NLS-1$ + public void propertyChange(PropertyChangeEvent event) { - button.addSelectionListener(new SelectionListener() { - public void widgetDefaultSelected(SelectionEvent e) { - } - public void widgetSelected(SelectionEvent e) { - // We retrieve the last saved path - dialog.setFilterPath(QuantumPlugin.getDefault().getPreferenceStore().getString("quantum.dialogs.bookmarkwizard.path")); //$NON-NLS-1$ - String filename = dialog.open(); - if (filename != null) { - driverFile.setText(filename); - // We save the used path - QuantumPlugin.getDefault().getPreferenceStore().setValue("quantum.dialogs.bookmarkwizard.path", filename); //$NON-NLS-1$ + if ("driver".equals(event.getPropertyName())) { + JDBCDriver driver = (JDBCDriver) event.getNewValue(); + this.bookmark.setJDBCDriver(driver); + this.page2.setDriver(driver); + } else if ("name".equals(event.getPropertyName())) { + this.bookmark.setName((String) event.getNewValue()); + } else if ("userid".equals(event.getPropertyName())) { + this.bookmark.setUsername((String) event.getNewValue()); + } else if ("password".equals(event.getPropertyName())) { + this.bookmark.setPassword((String) event.getNewValue()); + } else if ("connectionURL".equals(event.getPropertyName())) { + this.bookmark.setConnect((String) event.getNewValue()); + } else if ("prompt".equals(event.getPropertyName())) { + this.bookmark.setPromptForPassword(Boolean.TRUE.equals(event.getNewValue())); + } else if ("schemaRule".equals(event.getPropertyName())) { + this.bookmark.setSchemaRule(((Integer) event.getNewValue()).intValue()); + } else if ("schemas".equals(event.getPropertyName())) { + this.bookmark.setSchemaSelections((Schema[]) event.getNewValue()); + } - } - } - }); - -// if (initialData != null) { -// name.setText(initialData.getName()); -// username.setText(initialData.getUsername()); -// if (initialData.getPromptForPassword()) { -// this.password.setEditable(false); -// } else { -// password.setText(initialData.getPassword()); -// } -// connect.setText(initialData.getConnect()); -// driver.setText(initialData.getDriver()); -// String typeData = initialData.getType(); -// this.prompt.setSelection(initialData.getPromptForPassword()); -// int selectedIndex = 0; -// for (int i = 0; i < drivers.length; i++) { -// if (typeData.equals(drivers[i].getDriverType())) { -// selectedIndex = i; -// } -// } -// type.select(selectedIndex); -// driverFile.setText(initialData.getDriverFile()); -// updateDriverList(); -// } - - prompt.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent event) { - BookmarkPage.this.password.setEditable(!prompt.getSelection()); - } - }); - - setControl(container); - - setPageComplete(true); } - public void updateDriverList() { - /*try { - JarFile file = new JarFile(driverFile.getText()); - Enumeration enum = file.entries(); - while (enum.hasMoreElements()) { - JarEntry entry = (JarEntry) enum.nextElement(); - String className = entry.getName().replace('/', '.'); - if (className.endsWith("Driver.class")) { - className = className.substring(0, className.lastIndexOf('.')); - //driverList.add(className); - } - } - } catch (IOException ex) { - //driverList.removeAll(); - }*/ + public void dispose() { + this.page1.removePropertyChangeListener(this); + this.page2.removePropertyChangeListener(this); + this.page3.removePropertyChangeListener(this); + this.page4.removePropertyChangeListener(this); + super.dispose(); } - public void performFinish() { - if (initialData == null) { - initialData = new Bookmark(); - } - initialData.setName(name.getText()); - initialData.setUsername(username.getText()); - initialData.setPromptForPassword(this.prompt.getSelection()); - if (initialData.getPromptForPassword()) { - initialData.setPassword(""); //$NON-NLS-1$ - } else { - initialData.setPassword(password.getText()); - } - initialData.addSchema(schema.getText()); - initialData.setConnect(connect.getText()); - initialData.setDriver(driver.getText()); - int selection = type.getSelectionIndex(); - if (selection >= 0) { - initialData.setType(drivers[selection].getDriverType()); - } - initialData.setDriverFile(driverFile.getText()); - BookmarkCollection.getInstance().addBookmark(initialData); - } -} \ No newline at end of file +} +