Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BeaninfosWorkbookPage.java')
-rw-r--r--plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BeaninfosWorkbookPage.java640
1 files changed, 0 insertions, 640 deletions
diff --git a/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BeaninfosWorkbookPage.java b/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BeaninfosWorkbookPage.java
deleted file mode 100644
index 32aa8848e..000000000
--- a/plugins/org.eclipse.jem.ui/beaninfoui/org/eclipse/jem/internal/beaninfo/ui/BeaninfosWorkbookPage.java
+++ /dev/null
@@ -1,640 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * 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:
- * IBM Corporation - initial API and implementation
- *******************************************************************************/
-/*
-
-
- */
-package org.eclipse.jem.internal.beaninfo.ui;
-
-import java.util.*;
-import java.util.List;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jdt.core.*;
-import org.eclipse.jdt.ui.JavaElementLabelProvider;
-import org.eclipse.jdt.ui.wizards.BuildPathDialogAccess;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.jface.dialogs.StatusDialog;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.jface.window.Window;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.events.SelectionListener;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.dialogs.*;
-import org.eclipse.ui.model.WorkbenchContentProvider;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-
-import org.eclipse.jem.internal.beaninfo.core.BeaninfoEntry;
-import org.eclipse.jem.internal.ui.core.JEMUIPlugin;
-
-public class BeaninfosWorkbookPage implements IBuildSearchPage{
-
- private static final String DIALOGSTORE_LASTVARIABLE = JEMUIPlugin.PI_BEANINFO_UI + ".lastvar"; //$NON-NLS-1$
-
- // a dialog to choose a variable
- private class VariableSelectionDialog extends StatusDialog implements IStatusChangeListener {
- private VariableSelectionBlock fVariableSelectionBlock;
- IDialogSettings dialogSettings= JEMUIPlugin.getPlugin().getDialogSettings();
-
- public VariableSelectionDialog(Shell parent, List existingPaths) {
- super(parent);
- setTitle("New Variable Classpath Entry"); //$NON-NLS-1$
- String initVar= dialogSettings.get(DIALOGSTORE_LASTVARIABLE);
- fVariableSelectionBlock= new VariableSelectionBlock(this, existingPaths, null, initVar, false);
- }
-
- /*
- * @see Windows#configureShell
- */
- protected void configureShell(Shell newShell) {
- super.configureShell(newShell);
-// WorkbenchHelp.setHelp(newShell, IJavaHelpContextIds.VARIABLE_SELECTION_DIALOG);
- }
-
- /*
- * @see StatusDialog#createDialogArea()
- */
- protected Control createDialogArea(Composite parent) {
- Composite composite= (Composite)super.createDialogArea(parent);
-
- Label message= new Label(composite, SWT.WRAP);
- message.setText("New Variable Classpath Entry"); //$NON-NLS-1$
- message.setLayoutData(new GridData());
-
- Control inner= fVariableSelectionBlock.createControl(composite);
- inner.setLayoutData(new GridData(GridData.FILL_BOTH));
- return composite;
- }
-
- /*
- * @see Dialog#okPressed()
- */
- protected void okPressed() {
- dialogSettings.put(DIALOGSTORE_LASTVARIABLE, getVariable().segment(0));
- super.okPressed();
- }
-
- /*
- * @see IStatusChangeListener#statusChanged()
- */
- public void statusChanged(IStatus status) {
- updateStatus(status);
- }
-
- public IPath getVariable() {
- return fVariableSelectionBlock.getVariablePath();
- }
- }
-
-
- //controls
- private Composite javaProjectsComposite = null;
- private Label label = null;
- private Table table = null;
- private Composite buttonsBar = null;
- private Button addFoldersbutton = null;
- private Button addJarsButton = null;
- private Button addExtJarsButton = null;
- private Button addVariableButton = null;
- private Button addProjectButton = null;
- private Button modifyPathsButton = null;
- private Button removeButton = null;
- private Label spacer2 = null;
- private Label spacer1 = null;
- // .. controls
- private TableViewer tableViewer;
-
- private BeaninfoPathsBlock beaninfoPathsBlock;
- private IJavaProject javaProject;
- private List beaninfosList;
- private IWorkspaceRoot workspaceRoot;
- private IClasspathEntry[] resolvedList;
- private IClasspathEntry[] rawList;
- private SearchPathListLabelProvider labelProvider;
-
- public BeaninfosWorkbookPage(IWorkspaceRoot workspaceRoot, BeaninfoPathsBlock beaninfoPathsBlock) {
- this.workspaceRoot = workspaceRoot;
- this.beaninfoPathsBlock = beaninfoPathsBlock;
- this.labelProvider = new SearchPathListLabelProvider();
- this.beaninfosList = new ArrayList();
- if(spacer1==null || spacer2==null){
- // just have SOME read access
- }
- }
-
- /**
- * This method initializes javaProjectsComposite
- *
- */
- public Control createControl(Composite parent) {
- GridData gridData = new org.eclipse.swt.layout.GridData();
- gridData.horizontalSpan = 2;
- GridLayout gridLayout = new GridLayout();
- gridLayout.numColumns = 2;
- javaProjectsComposite = new Composite(parent, SWT.NONE);
- javaProjectsComposite.setLayout(gridLayout);
- label = new Label(javaProjectsComposite, SWT.NONE);
- label.setText(BeanInfoUIMessages.BeanInfosWorkbookPage_List_Text);
- label.setLayoutData(gridData);
- createTable();
- createButtonsBar();
- updateEnabledStates();
- return javaProjectsComposite;
- }
-
- /**
- * This method initializes table
- *
- */
- private void createTable() {
- GridData gridData1 = new org.eclipse.swt.layout.GridData();
- gridData1.horizontalAlignment = org.eclipse.swt.layout.GridData.FILL;
- gridData1.grabExcessHorizontalSpace = true;
- gridData1.grabExcessVerticalSpace = true;
- gridData1.verticalAlignment = org.eclipse.swt.layout.GridData.FILL;
- table = new Table(javaProjectsComposite, SWT.BORDER | SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
- table.setLayoutData(gridData1);
- table.addSelectionListener(new SelectionListener(){
- public void widgetSelected(SelectionEvent e) {
- updateButtons();
- }
- public void widgetDefaultSelected(SelectionEvent e) {
- widgetSelected(e);
- }
- });
- tableViewer = new TableViewer(table);
- tableViewer.setSorter(new BIListElementSorter());
- tableViewer.setContentProvider(new ArrayContentProvider());
- tableViewer.setLabelProvider(labelProvider);
- tableViewer.setInput(beaninfosList);
- }
-
- /**
- * This method initializes buttonsBar
- *
- */
- private void createButtonsBar() {
- RowLayout rowLayout = new RowLayout();
- rowLayout.type = org.eclipse.swt.SWT.VERTICAL;
- rowLayout.marginLeft = 3;
- rowLayout.fill = true;
- GridData gridData2 = new org.eclipse.swt.layout.GridData();
- gridData2.grabExcessVerticalSpace = true;
- gridData2.verticalAlignment = org.eclipse.swt.layout.GridData.FILL;
- gridData2.horizontalAlignment = org.eclipse.swt.layout.GridData.BEGINNING;
- buttonsBar = new Composite(javaProjectsComposite, SWT.NONE);
- buttonsBar.setLayoutData(gridData2);
- buttonsBar.setLayout(rowLayout);
- addFoldersbutton = new Button(buttonsBar, SWT.NONE);
- addFoldersbutton.setText(BeanInfoUIMessages.BeanInfosWorkbookPage_AddFolders);
- addFoldersbutton.addSelectionListener(new org.eclipse.swt.events.SelectionAdapter() {
- public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) {
- List beaninfoEntries = chooseClassContainers();
- addToBeaninfosList(beaninfoEntries);
- }
- });
- addJarsButton = new Button(buttonsBar, SWT.NONE);
- addJarsButton.setText(BeanInfoUIMessages.BeanInfosWorkbookPage_AddJARs);
- addJarsButton.addSelectionListener(new org.eclipse.swt.events.SelectionAdapter() {
- public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) {
- List beaninfoEntries = chooseJarFiles();
- addToBeaninfosList(beaninfoEntries);
- }
- });
- addExtJarsButton = new Button(buttonsBar, SWT.NONE);
- addExtJarsButton.setText(BeanInfoUIMessages.BeanInfosWorkbookPage_AddExternalJAR);
- addExtJarsButton.addSelectionListener(new org.eclipse.swt.events.SelectionAdapter() {
- public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) {
- List beaninfoEntries = chooseExtJarFiles();
- addToBeaninfosList(beaninfoEntries);
- }
- });
- addVariableButton = new Button(buttonsBar, SWT.NONE);
- addVariableButton.setText(BeanInfoUIMessages.BeanInfosWorkbookPage_AddVariable);
- addVariableButton.addSelectionListener(new org.eclipse.swt.events.SelectionAdapter() {
- public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) {
- List beaninfoEntries = chooseVariableEntries();
- addToBeaninfosList(beaninfoEntries);
- }
- });
- addProjectButton = new Button(buttonsBar, SWT.NONE);
- addProjectButton.setText(BeanInfoUIMessages.BeanInfosWorkbookPage_AddProjects);
- addProjectButton.addSelectionListener(new org.eclipse.swt.events.SelectionAdapter() {
- public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) {
- List beaninfoEntries = chooseProjects();
- addToBeaninfosList(beaninfoEntries);
- }
- });
- spacer1 = new Label(buttonsBar, SWT.NONE);
- modifyPathsButton = new Button(buttonsBar, SWT.NONE);
- modifyPathsButton.setText(BeanInfoUIMessages.BeanInfosWorkbookPage_ModifyPaths);
- modifyPathsButton.addSelectionListener(new org.eclipse.swt.events.SelectionAdapter() {
- public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) {
- modifySearchPaths();
- }
- });
- spacer2 = new Label(buttonsBar, SWT.NONE);
- removeButton = new Button(buttonsBar, SWT.NONE);
- removeButton.setText(BeanInfoUIMessages.BeanInfosWorkbookPage_Remove);
- removeButton.addSelectionListener(new org.eclipse.swt.events.SelectionAdapter() {
- public void widgetSelected(org.eclipse.swt.events.SelectionEvent e) {
- List selected = BeaninfoPathsBlock.getSelectedList(tableViewer.getSelection());
- beaninfosList.removeAll(selected);
- tableViewer.refresh();
- pageChanged();
- }
- });
- }
-
- private List chooseVariableEntries() {
- // Remove existing variable entries in both the classpath and the beaninfopaths.
- // Don't want classpath ones because they should be of been selected in the search paths page.
- ArrayList existingPaths= new ArrayList();
- for (int i= 0; i < rawList.length; i++) {
- if (rawList[i].getEntryKind() == IClasspathEntry.CPE_VARIABLE) {
- existingPaths.add(rawList[i].getPath());
- }
- }
-
- List ours = beaninfosList;
- for (int i = 0; i < ours.size(); i++) {
- BPBeaninfoListElement bpb = (BPBeaninfoListElement) ours.get(i);
- if (bpb.getEntry().getKind() == IClasspathEntry.CPE_VARIABLE)
- existingPaths.add(bpb.getEntry().getPath());
- }
-
- VariableSelectionDialog dialog= new VariableSelectionDialog(addVariableButton.getShell(), existingPaths);
- if (dialog.open() == Window.OK) {
- IPath path= dialog.getVariable();
- IClasspathEntry cpe = JavaCore.newVariableEntry(path, null, null);
- IPath resolvedPath= JavaCore.getResolvedVariablePath(path);
- boolean isMissing = resolvedPath == null || !resolvedPath.toFile().isFile();
- return Collections.singletonList(new BPBeaninfoListElement(new BeaninfoEntry(cpe, null, true), null, isMissing));
- }
- return null;
- }
-
- private List chooseJarFiles() {
- IPath[] jarPaths = BuildPathDialogAccess.chooseJAREntries(addJarsButton.getShell(), javaProject.getPath(), getUsedJARFiles());
- if (jarPaths!=null) {
- List res= new ArrayList(jarPaths.length);
- for (int i= 0; i < jarPaths.length; i++) {
- BPBeaninfoListElement newGuy = newBPBeaninfoListElementFromFullpath(jarPaths[i]);
- if (newGuy != null)
- res.add(newGuy);
- }
- return res;
- }
- return null;
- }
-
- private List chooseExtJarFiles() {
- IPath[] extJARPaths = BuildPathDialogAccess.chooseExternalJAREntries(addExtJarsButton.getShell());
- List elems = null;
- if(extJARPaths!=null){
- elems = new ArrayList(extJARPaths.length);
- for (int i= 0; i < extJARPaths.length; i++) {
- BPBeaninfoListElement newGuy = newBPBeaninfoListElement(extJARPaths[i]);
- if (newGuy != null)
- elems.add(newGuy);
- }
- }
- return elems;
- }
-
- private BPBeaninfoListElement newBPBeaninfoListElement(IPath path) {
- // Create for an external, if not already used in either classpath or beaninfo path.
- // These can't be pre-selected out like for the other choose dialogs.
- for (int i = 0; i < resolvedList.length; i++) {
- IClasspathEntry cpe = resolvedList[i];
- if (cpe != null && cpe.getEntryKind() == IClasspathEntry.CPE_LIBRARY && cpe.getPath().equals(path))
- return null; // Already exists.
- }
-
- // Now see if one of ours.
- List ours = beaninfosList;
- for (int i = 0; i < ours.size(); i++) {
- BPBeaninfoListElement bpb = (BPBeaninfoListElement) ours.get(i);
- if (bpb.getEntry().getKind() == IClasspathEntry.CPE_LIBRARY && bpb.getEntry().getPath().equals(path))
- return null; // Already exists
- }
-
- IClasspathEntry cpe = JavaCore.newLibraryEntry(path, null, null);
- BeaninfoEntry bie = new BeaninfoEntry(cpe, null, true);
- return new BPBeaninfoListElement(bie, null, false);
- }
-
-
- private IPath[] getUsedJARFiles() {
- // Jars used by both the classpath and the beaninfo search path.
- // Don't want jars used by classpath because those would then be
- // in the buildpath and user would select paths through the search path page.
- ArrayList res= new ArrayList();
- for (int i= 0; i < resolvedList.length; i++) {
- if (resolvedList[i] != null && resolvedList[i].getEntryKind() == IClasspathEntry.CPE_LIBRARY) {
- IPath path = resolvedList[i].getPath();
- IResource resource= workspaceRoot.findMember(path);
- if (resource instanceof IFile)
- res.add(path);
- }
- }
-
- List bilist= beaninfosList;
- for (int i= 0; i < bilist.size(); i++) {
- BPListElement elem= (BPListElement)bilist.get(i);
- if (elem.getEntry().getKind() == IClasspathEntry.CPE_LIBRARY) {
- IPath path = elem.getEntry().getPath();
- IResource resource= workspaceRoot.findMember(path);
- if (resource instanceof IFile)
- res.add(path);
- }
- }
- return (IPath[]) res.toArray(new IPath[res.size()]);
- }
-
- /**
- * Create a new BPListElement for the given object.
- */
- private BPBeaninfoListElement newBPBeaninfoListElement(IResource element) {
- if (element instanceof IContainer || element instanceof IFile) {
- return newBPBeaninfoListElementFromFullpath(element.getFullPath());
- }
- return null;
- }
-
- /**
- * Create a new BPListElement for the given object.
- * @since 1.2.0
- */
- private BPBeaninfoListElement newBPBeaninfoListElementFromFullpath(IPath fullPath) {
- if(fullPath!=null){
- IClasspathEntry cpe = JavaCore.newLibraryEntry(fullPath, null, null);
- BeaninfoEntry bie = new BeaninfoEntry(cpe, null, true);
- return new BPBeaninfoListElement(bie, null, false);
- }
- return null;
- }
-
- private List chooseClassContainers() {
- Class[] acceptedClasses= new Class[] { IFolder.class };
- ISelectionStatusValidator validator= new TypedElementSelectionValidator(acceptedClasses, true);
-
- acceptedClasses= new Class[] { IProject.class, IFolder.class };
-
- ViewerFilter filter= new TypedViewerFilter(acceptedClasses, getUsedContainers());
-
- ILabelProvider lp= new WorkbenchLabelProvider();
- ITreeContentProvider cp= new WorkbenchContentProvider();
-
- ElementTreeSelectionDialog dialog= new ElementTreeSelectionDialog(addFoldersbutton.getShell(), lp, cp);
- dialog.setValidator(validator);
- dialog.setTitle(BeanInfoUIMessages.BeanInfosWorkbookPage_SelectionDialog_Classes_Title);
- dialog.setMessage(BeanInfoUIMessages.BeanInfosWorkbookPage_SelectionDialog_Classes_Prompt);
- dialog.addFilter(filter);
- dialog.setInput(workspaceRoot);
- dialog.setInitialSelection(javaProject.getProject());
-
- if (dialog.open() == Window.OK) {
- Object[] elements= dialog.getResult();
- List res= new ArrayList(elements.length);
- for (int i= 0; i < elements.length; i++) {
- BPBeaninfoListElement newGuy = newBPBeaninfoListElement((IResource) elements[i]);
- if (newGuy != null)
- res.add(newGuy);
- }
- return res;
- }
- return null;
- }
-
- private IContainer[] getUsedContainers() {
- // Containers used by both the classpath and the beaninfo search path.
- // Don't want containers used by classpath because those would then be
- // in the buildpath and user would select paths through the search path page.
- ArrayList res= new ArrayList();
- try {
- IPath outputLocation= javaProject.getOutputLocation();
- if (outputLocation != null) {
- IResource resource= workspaceRoot.findMember(outputLocation);
- if (resource instanceof IContainer) {
- res.add(resource);
- }
- }
- } catch (JavaModelException e) {
- // ignore it here, just log
- JEMUIPlugin.getPlugin().getLogger().log(e.getStatus());
- }
-
- for (int i= 0; i < resolvedList.length; i++) {
- if (resolvedList[i] != null && resolvedList[i].getEntryKind() == IClasspathEntry.CPE_SOURCE) {
- IResource resource= workspaceRoot.findMember(resolvedList[i].getPath());
- if (resource instanceof IContainer) {
- res.add(resource);
- }
- }
- }
-
- List bilist= beaninfosList;
- for (int i= 0; i < bilist.size(); i++) {
- BPListElement elem= (BPListElement)bilist.get(i);
- if (elem.getEntry().getKind() == IClasspathEntry.CPE_SOURCE) {
- IResource resource= workspaceRoot.findMember(elem.getEntry().getPath());
- res.add(resource);
- }
- }
- return (IContainer[]) res.toArray(new IContainer[res.size()]);
- }
-
-
- protected void addToBeaninfosList(final List toAdd){
- if (beaninfosList != null && toAdd!=null) {
- beaninfosList.addAll(toAdd);
- tableViewer.refresh();
- table.getDisplay().asyncExec(new Runnable(){
- public void run() {
- tableViewer.setSelection(new StructuredSelection(toAdd));
- }
- });
- pageChanged();
- }
- }
-
- private void pageChanged() {
- if (javaProject != null) {
- // already initialized
- updateSearchpathList();
- }
- }
-
- private void updateSearchpathList() {
- List searchelements = beaninfoPathsBlock.getSearchpathOrderingPage().getElements();
-
- List beaninfoelements = new ArrayList(beaninfosList);
-
- boolean changeDone = false;
- // First go through the search path and remove any Beaninfo list elements that
- // are not in this pages beaninfos list.
- for (ListIterator spitr = searchelements.listIterator(searchelements.size());
- spitr.hasPrevious();
- ) {
- BPListElement element = (BPListElement) spitr.previous();
- if (element instanceof BPBeaninfoListElement && !beaninfoelements.remove(element)) {
- // Search element and not found in packages list so remove it from searchpath list.
- spitr.remove();
- changeDone = true;
- }
- }
- // Any left over in beaninfos list are new and need to be added.
- searchelements.addAll(beaninfoelements);
- changeDone = changeDone || !beaninfoelements.isEmpty();
-
- if (changeDone)
- beaninfoPathsBlock.setSearchOrderElements(searchelements);
- }
-
- public void init(IJavaProject javaProject){
- this.javaProject = javaProject;
- labelProvider.setJavaProject(this.javaProject);
- try {
- rawList = this.javaProject.getRawClasspath();
- resolvedList = new IClasspathEntry[rawList.length];
- for (int i = 0; i < rawList.length; i++) {
- resolvedList[i] = JavaCore.getResolvedClasspathEntry(rawList[i]);
- }
- } catch (JavaModelException e) {
- rawList = resolvedList = new IClasspathEntry[0];
- }
- updateBeaninfosList();
- }
-
- private void updateBeaninfosList() {
- List spelements = beaninfoPathsBlock.getSearchpathOrderingPage().getElements();
-
- List biElements = new ArrayList(spelements.size());
- for (int i = 0; i < spelements.size(); i++) {
- BPListElement spe = (BPListElement) spelements.get(i);
- if (spe instanceof BPBeaninfoListElement) {
- biElements.add(spe);
- }
- }
- beaninfosList.clear();
- beaninfosList.addAll(biElements);
- if(tableViewer!=null && !table.isDisposed())
- tableViewer.refresh();
- }
-
- public List getSelection() {
- if(tableViewer!=null)
- return BeaninfoPathsBlock.getSelectedList(tableViewer.getSelection());
- return null;
- }
-
- public void setSelection(List selection) {
- if(tableViewer!=null)
- tableViewer.setSelection(new StructuredSelection(selection));
- }
-
-
- protected void updateButtons(){
- List selected = BeaninfoPathsBlock.getSelectedList(tableViewer.getSelection());
- addExtJarsButton.setEnabled(beaninfoPathsBlock.isBeaninfoEnabled());
- addFoldersbutton.setEnabled(beaninfoPathsBlock.isBeaninfoEnabled());
- addJarsButton.setEnabled(beaninfoPathsBlock.isBeaninfoEnabled());
- addProjectButton.setEnabled(beaninfoPathsBlock.isBeaninfoEnabled());
- addVariableButton.setEnabled(beaninfoPathsBlock.isBeaninfoEnabled());
-
- removeButton.setEnabled(selected!=null && selected.size()>0 && beaninfoPathsBlock.isBeaninfoEnabled());
- modifyPathsButton.setEnabled(selected!=null && selected.size()==1 && beaninfoPathsBlock.isBeaninfoEnabled());
- }
-
- private List chooseProjects() {
- Class[] acceptedClasses= new Class[] { IJavaProject.class };
- ISelectionStatusValidator validator= new TypedElementSelectionValidator(acceptedClasses, true);
-
- List allProjects = null;
- try {
- allProjects = new ArrayList(Arrays.asList(javaProject.getJavaModel().getChildren()));
- } catch(JavaModelException e) {
- allProjects = Collections.EMPTY_LIST;
- }
- allProjects.removeAll(getUsedProjects());
-
- ILabelProvider lp= new JavaElementLabelProvider(JavaElementLabelProvider.SHOW_DEFAULT);
-
- ElementListSelectionDialog dialog= new ElementListSelectionDialog(addProjectButton.getShell(), lp);
- dialog.setValidator(validator);
- dialog.setTitle(BeanInfoUIMessages.BeanInfosWorkbookPage_SelectionDialog_Projects_Title);
- dialog.setMessage(BeanInfoUIMessages.BeanInfosWorkbookPage_SelectionDialog_Projects_Prompt);
- dialog.setElements(allProjects.toArray());
-
- if (dialog.open() == Window.OK) {
- Object[] elements= dialog.getResult();
- List res= new ArrayList(elements.length);
- for (int i= 0; i < elements.length; i++) {
- try {
- IClasspathEntry cpe = JavaCore.newProjectEntry(((IJavaProject) elements[i]).getCorrespondingResource().getFullPath());
- BeaninfoEntry bie = new BeaninfoEntry(cpe, null, true);
- res.add(new BPBeaninfoListElement(bie, null, false));
- } catch(JavaModelException e) {
- }
- }
- return res;
- }
- return null;
- }
-
- private List getUsedProjects() {
- // Projects used by both the classpath and the beaninfo search path.
- // Don't want projects used by classpath because those would then be
- // in the buildpath and user would select paths through the search path page.
- ArrayList res= new ArrayList();
- res.add(javaProject); // Plus our own project is used.
- IJavaModel jmodel = javaProject.getJavaModel();
- for (int i= 0; i < resolvedList.length; i++) {
- if (resolvedList[i] != null && resolvedList[i].getEntryKind() == IClasspathEntry.CPE_PROJECT) {
- res.add(jmodel.getJavaProject(resolvedList[i].getPath().segment(0)));
- }
- }
-
- List bilist= beaninfosList;
- for (int i= 0; i < bilist.size(); i++) {
- BPListElement elem= (BPListElement)bilist.get(i);
- if (elem.getEntry().getKind() == IClasspathEntry.CPE_PROJECT)
- res.add(jmodel.getJavaProject(elem.getEntry().getPath().segment(0)));
- }
- return res;
- }
-
- private void modifySearchPaths() {
- // Bring up the dialog for modifying search paths of a particular beaninfo entry.
- BPBeaninfoListElement elem = (BPBeaninfoListElement) ((IStructuredSelection)tableViewer.getSelection()).getFirstElement(); // There should only be one, button not enabled if none or more than one selected.
- BeaninfoEntrySearchpathDialog dialog = new BeaninfoEntrySearchpathDialog(modifyPathsButton.getShell(), elem, javaProject);
- dialog.open();
- }
-
- protected void updateEnabledStates(){
- updateButtons();
- table.setEnabled(beaninfoPathsBlock.isBeaninfoEnabled());
- label.setEnabled(beaninfoPathsBlock.isBeaninfoEnabled());
- }
-
- public void setBeaninfoEnabled(boolean enable) {
- if(javaProjectsComposite!=null && !javaProjectsComposite.isDisposed()){
- // ui populated
- updateEnabledStates();
- }
- }
-
-} // @jve:decl-index=0:visual-constraint="10,10"

Back to the top