diff options
Diffstat (limited to 'jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/src/org/eclipse/jpt/dbws/eclipselink/ui/internal/wizards/gen/JdbcDriverWizardPage.java')
-rw-r--r-- | jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/src/org/eclipse/jpt/dbws/eclipselink/ui/internal/wizards/gen/JdbcDriverWizardPage.java | 355 |
1 files changed, 0 insertions, 355 deletions
diff --git a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/src/org/eclipse/jpt/dbws/eclipselink/ui/internal/wizards/gen/JdbcDriverWizardPage.java b/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/src/org/eclipse/jpt/dbws/eclipselink/ui/internal/wizards/gen/JdbcDriverWizardPage.java deleted file mode 100644 index 8f5c9d1f07..0000000000 --- a/jaxb/plugins/org.eclipse.jpt.dbws.eclipselink.ui/src/org/eclipse/jpt/dbws/eclipselink/ui/internal/wizards/gen/JdbcDriverWizardPage.java +++ /dev/null @@ -1,355 +0,0 @@ -/******************************************************************************* -* Copyright (c) 2010, 2011 Oracle. All rights reserved. -* This program and the accompanying materials are made available under the -* terms of the Eclipse Public License v1.0, which accompanies this distribution -* and is available at http://www.eclipse.org/legal/epl-v10.html. -* -* Contributors: -* Oracle - initial API and implementation -*******************************************************************************/ -package org.eclipse.jpt.dbws.eclipselink.ui.internal.wizards.gen; - -import java.io.File; -import java.util.ArrayList; -import java.util.Collection; - -import org.eclipse.jdt.core.IJavaProject; -import org.eclipse.jface.dialogs.IDialogSettings; -import org.eclipse.jface.viewers.ColumnWeightData; -import org.eclipse.jface.viewers.IBaseLabelProvider; -import org.eclipse.jface.viewers.IContentProvider; -import org.eclipse.jface.viewers.IStructuredContentProvider; -import org.eclipse.jface.viewers.ITableLabelProvider; -import org.eclipse.jface.viewers.LabelProvider; -import org.eclipse.jface.viewers.StructuredSelection; -import org.eclipse.jface.viewers.TableViewer; -import org.eclipse.jface.viewers.Viewer; -import org.eclipse.jface.wizard.IWizard; -import org.eclipse.jface.wizard.WizardPage; -import org.eclipse.jpt.common.ui.internal.util.SWTUtil; -import org.eclipse.jpt.common.ui.internal.util.TableLayoutComposite; -import org.eclipse.jpt.common.utility.internal.CollectionTools; -import org.eclipse.jpt.common.utility.internal.StringTools; -import org.eclipse.jpt.dbws.eclipselink.ui.JptDbwsUiPlugin; -import org.eclipse.jpt.dbws.eclipselink.ui.internal.JptDbwsUiIcons; -import org.eclipse.jpt.dbws.eclipselink.ui.internal.JptDbwsUiMessages; -import org.eclipse.swt.SWT; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.events.SelectionListener; -import org.eclipse.swt.graphics.Image; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Button; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.FileDialog; -import org.eclipse.swt.widgets.Label; -import org.eclipse.swt.widgets.Table; -import org.eclipse.swt.widgets.TableColumn; - -/** - * JdbcDriversWizardPage - */ -public class JdbcDriverWizardPage extends WizardPage -{ - private final String storedDriverClasspathId; - private ArrayList<String> jarPaths; - - public static String BINDINGS_FILE_FILTER = "*.jar;*.zip"; //$NON-NLS-1$ - // dialog store id constants - private static final String PAGE_ID = "DRIVER_CLASSPATH_ID"; //$NON-NLS-1$ - private static final String PATH_SEPARATOR = System.getProperty("path.separator"); //$NON-NLS-1$ - - // ********** constructor ********** - - protected JdbcDriverWizardPage(String wizardName) { - super("Jdbc Driver"); //$NON-NLS-1$ - - this.initialize(); - - this.jarPaths = new ArrayList<String>(); - this.storedDriverClasspathId = wizardName + "." + PAGE_ID; //$NON-NLS-1$ - } - - protected void initialize() { - this.setTitle(JptDbwsUiMessages.JdbcDriverWizardPage_title); - this.setDescription(JptDbwsUiMessages.JdbcDriverWizardPage_desc); - this.setImageDescriptor(JptDbwsUiPlugin.getImageDescriptor(JptDbwsUiIcons.DBWS_GEN_WIZ_BANNER)); - } - - // ********** intra-wizard methods ********** - - public void finish() { - this.saveWidgetValues(); - } - - public String getDriverJarList() { - return this.buildDriverJarListString(); - } - - // ********** internal methods ********** - - /** - * Initializes the JAR package from last used wizard page values. - */ - private void initializeJarPaths() { - IDialogSettings settings= this.getDialogSettings(); - if(settings != null) { - // destination - String[] driverPaths = settings.getArray(this.storedDriverClasspathId); - if(driverPaths == null) { - return; // ie.- no settings stored - } - this.jarPaths = new ArrayList<String>(); - - CollectionTools.addAll(this.jarPaths, driverPaths); - } - } - - private void saveWidgetValues() { - IDialogSettings settings= this.getDialogSettings(); - - if(settings != null) { - String[] driverPaths = this.jarPaths.toArray(new String[0]); - settings.put(this.storedDriverClasspathId, driverPaths); - } - } - - private String buildDriverJarListString() { - if(this.jarPaths.isEmpty()) { - return StringTools.EMPTY_STRING; - } - StringBuffer result = new StringBuffer(); - for(String jar : this.jarPaths) { - result.append(jar).append(PATH_SEPARATOR); - } - result.deleteCharAt(result.length() - 1); // remove last separator - return result.toString(); - } - - // ********** UI components ********** - - public void createControl(Composite parent) { - this.initializeJarPaths(); - this.setPageComplete(true); - this.setControl(this.buildTopLevelControl(parent)); - } - - private Control buildTopLevelControl(Composite parent) { - Composite composite = new Composite(parent, SWT.NULL); - composite.setLayout(new GridLayout()); - - new JarsGroup(composite); - - return composite; - } - - // ********** private methods ********** - - private void removeJarFile(String filePath) { - this.jarPaths.remove(filePath); - } - - private void addJarFile(String filePath) { - if( ! this.jarPaths.contains(filePath)) { - this.jarPaths.add(filePath); - } - } - - // ********** JarsGroup class ********** - - private class JarsGroup { - - - // ********** constructor ********** - - private JarsGroup(Composite parent) { - super(); - Composite composite = new Composite(parent, SWT.NONE); - GridLayout layout = new GridLayout(2, false); //must be 4 for the package controls - layout.marginHeight = 0; - layout.marginWidth = 0; - composite.setLayout(layout); - composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - // TODO PlatformUI.getWorkbench().getHelpSystem().setHelp(this.group, HELP_CONTEXT_ID); - - this.buildLabel(composite, 2, JptDbwsUiMessages.JdbcDriverWizardPage_driverFiles); - - this.buildDriverFilesTable(composite); - } - - // ********** intra-wizard methods ********** - - public IJavaProject getJavaProject() { - IWizard wizard = getWizard(); - - if( ! (wizard instanceof DbwsGeneratorWizard)) { - throw new NullPointerException(); - } - return ((DbwsGeneratorWizard)wizard).getJavaProject(); - } - - private ArrayList<String> getJarPaths() { - return jarPaths; - } - - // ********** private methods ********** - - private TableViewer buildDriverFilesTable(Composite parent) { - - TableViewer tableViewer = this.buildTableViewer(parent, this.getJarPaths()); - - this.buildAddRemoveButtons(parent, tableViewer); - return tableViewer; - } - - private TableViewer buildTableViewer(Composite parent, ArrayList<String> tableDataModel) { - - TableLayoutComposite tableLayout = new TableLayoutComposite(parent, SWT.NONE); - this.addColumnsData(tableLayout); - - final Table table = new Table(tableLayout, SWT.H_SCROLL | SWT.V_SCROLL | SWT.SINGLE | SWT.FULL_SELECTION | SWT.BORDER); - table.setLinesVisible(false); - - TableColumn column = new TableColumn(table, SWT.NONE, 0); - column.setResizable(true); - - GridData gridData= new GridData(GridData.FILL_BOTH); - gridData.horizontalSpan = 1; - gridData.heightHint= SWTUtil.getTableHeightHint(table, 7); - tableLayout.setLayoutData(gridData); - - TableViewer tableViewer = new TableViewer(table); - tableViewer.setUseHashlookup(true); - tableViewer.setLabelProvider(this.buildLabelProvider()); - tableViewer.setContentProvider(this.buildContentProvider()); - - tableViewer.setInput(tableDataModel); - tableViewer.refresh(); - return tableViewer; - } - - private void buildAddRemoveButtons(Composite parent, final TableViewer tableViewer) { - - Composite buttonComposite = new Composite(parent, SWT.NULL); - GridLayout buttonLayout = new GridLayout(1, false); - buttonComposite.setLayout(buttonLayout); - GridData gridData = new GridData(); - gridData.horizontalAlignment = GridData.FILL; - gridData.verticalAlignment = GridData.BEGINNING; - buttonComposite.setLayoutData(gridData); - // Add buttons - Button addButton = new Button(buttonComposite, SWT.PUSH); - addButton.setText(JptDbwsUiMessages.JdbcDriverWizardPage_addButton); - gridData = new GridData(); - gridData.horizontalAlignment = GridData.FILL; - gridData.grabExcessHorizontalSpace= true; - addButton.setLayoutData(gridData); - addButton.addSelectionListener(new SelectionListener() { - public void widgetDefaultSelected(SelectionEvent e) {} - - public void widgetSelected(SelectionEvent e) { - - ArrayList<String> jarFiles = promptJarFiles(); - for(String jarFile : jarFiles) { - addJarFile(jarFile); - } - tableViewer.refresh(); - } - }); - // Remove buttons - Button removeButton = new Button(buttonComposite, SWT.PUSH); - removeButton.setText(JptDbwsUiMessages.JdbcDriverWizardPage_removeButton); - gridData = new GridData(); - gridData.horizontalAlignment = GridData.FILL; - gridData.grabExcessHorizontalSpace= true; - removeButton.setLayoutData(gridData); - removeButton.addSelectionListener(new SelectionListener() { - public void widgetDefaultSelected(SelectionEvent e) {} - - public void widgetSelected(SelectionEvent e) { - StructuredSelection selection = (StructuredSelection)tableViewer.getSelection(); - if(selection.isEmpty()) { - return; - } - String jarFile = (String)selection.getFirstElement(); - removeJarFile(jarFile); - - tableViewer.refresh(); - } - }); - addButton.setFocus(); - } - - private IBaseLabelProvider buildLabelProvider() { - return new TableLabelProvider(); - } - - private IContentProvider buildContentProvider() { - return new TableContentProvider(); - } - - private ArrayList<String> promptJarFiles() { - String projectPath= this.getJavaProject().getProject().getLocation().toString(); - - FileDialog dialog = new FileDialog(getShell(), SWT.MULTI); - dialog.setText(JptDbwsUiMessages.JdbcDriverWizardPage_chooseADriverFile); - dialog.setFilterPath(projectPath); - dialog.setFilterExtensions(new String[] {BINDINGS_FILE_FILTER}); - - dialog.open(); - String path = dialog.getFilterPath(); - String[] fileNames = dialog.getFileNames(); - ArrayList<String> results = new ArrayList<String>(fileNames.length); - for(String fileName : fileNames) { - results.add(path + File.separator + fileName); - } - return results; - } - - private void addColumnsData(TableLayoutComposite layout) { - layout.addColumnData(new ColumnWeightData(50, true)); - } - - /** - * Build and return a label - */ - private Label buildLabel(Composite parent, int span, String text) { - Label label = new Label(parent, SWT.NONE); - label.setText(text); - GridData gd = new GridData(); - gd.horizontalSpan = span; - label.setLayoutData(gd); - return label; - } - - // ********** inner class ********** - - private class TableLabelProvider extends LabelProvider implements ITableLabelProvider { - - public Image getColumnImage(Object element, int columnIndex) { - return null; - } - - public String getColumnText(Object element, int columnIndex) { - return (String)element; - } - } - - private class TableContentProvider implements IStructuredContentProvider { - - TableContentProvider() { - super(); - } - - public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {} - - public void dispose() {} - - public Object[] getElements(Object inputElement) { - return ((Collection<?>) inputElement).toArray(); - } - } - } - -}
\ No newline at end of file |