Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'jsf/plugins/org.eclipse.jst.jsf.common.ui/src/org/eclipse/jst/jsf/common/ui/internal/dialogfield/SourceFolderButtonDialogField.java')
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.common.ui/src/org/eclipse/jst/jsf/common/ui/internal/dialogfield/SourceFolderButtonDialogField.java340
1 files changed, 0 insertions, 340 deletions
diff --git a/jsf/plugins/org.eclipse.jst.jsf.common.ui/src/org/eclipse/jst/jsf/common/ui/internal/dialogfield/SourceFolderButtonDialogField.java b/jsf/plugins/org.eclipse.jst.jsf.common.ui/src/org/eclipse/jst/jsf/common/ui/internal/dialogfield/SourceFolderButtonDialogField.java
deleted file mode 100644
index 420a95093..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.common.ui/src/org/eclipse/jst/jsf/common/ui/internal/dialogfield/SourceFolderButtonDialogField.java
+++ /dev/null
@@ -1,340 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2006 Sybase, Inc. 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:
- * Sybase, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.jst.jsf.common.ui.internal.dialogfield;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.ResourcesPlugin;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.jdt.core.IJavaElement;
-import org.eclipse.jdt.core.IJavaModel;
-import org.eclipse.jdt.core.IJavaProject;
-import org.eclipse.jdt.core.IPackageFragmentRoot;
-import org.eclipse.jdt.core.JavaCore;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.ui.JavaElementComparator;
-import org.eclipse.jdt.ui.JavaElementLabelProvider;
-import org.eclipse.jdt.ui.StandardJavaElementContentProvider;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.jface.window.Window;
-import org.eclipse.jst.jsf.common.ui.JSFUICommonPlugin;
-import org.eclipse.jst.jsf.common.ui.internal.logging.Logger;
-import org.eclipse.ui.dialogs.ElementTreeSelectionDialog;
-
-/**
- * This class provides a source folder selection DialogFiled. There are two
- * conditions: 1. If you set the IProject instance, the source folder selection
- * will only be limited in the specified project 2. If you set null, the source
- * folder selection is allowed in all workspaces
- *
- *
- * @author mengbo
- * @version 1.5
- */
-public class SourceFolderButtonDialogField extends StringButtonDialogField {
- /** Create the logger for this class */
- private static Logger _log = JSFUICommonPlugin
- .getLogger(SourceFolderButtonDialogField.class);
-
- /**
- * package fragment root corresponding to the input type (can be null)
- */
- private IPackageFragmentRoot _fCurrRoot;
-
- private IProject _project;
-
- /**
- * @param project
- */
- public SourceFolderButtonDialogField(IProject project) {
- super(null);
-
- _project = project;
-
- setLabelText(DialogFieldResources.getInstance().getString(
- "SourceFolderButtonDialogField.container.label")); //$NON-NLS-1$
-
- setButtonLabel(DialogFieldResources.getInstance().getString(
- "SourceFolderButtonDialogField.container.button")); //$NON-NLS-1$
-
- setStringButtonAdapter(new IStringButtonAdapter() {
- public void changeControlPressed(DialogField field) {
- containerChangeControlPressed(field);
- }
-
- });
- }
-
- /**
- * @return Returns the project.
- */
- public IProject getProject() {
- return _project;
- }
-
- /**
- * @param project
- * The project to set.
- */
- public void setProject(IProject project) {
- this._project = project;
- }
-
- /**
- * @param field
- */
- protected void containerChangeControlPressed(DialogField field) {
- // take the current jproject as init element of the dialog
- IPackageFragmentRoot root = getPackageFragmentRoot();
- root = chooseSourceContainer(root);
- if (root != null) {
- setPackageFragmentRoot(root, true);
- }
- }
-
- /**
- * Sets the current source folder (model and text field) to the given
- * package fragment root.
- *
- * @param root
- * The new root.
- * @param canBeModified
- * if <code>false</code> the source folder field can not be
- * changed by the user. If <code>true</code> the field is
- * editable
- */
- public void setPackageFragmentRoot(IPackageFragmentRoot root,
- boolean canBeModified) {
- _fCurrRoot = root;
- String str = (root == null) ? "" : root.getPath().makeRelative().toString(); //$NON-NLS-1$
- setText(str);
- setEnabled(canBeModified);
- }
-
- /**
- * Returns the <code>IPackageFragmentRoot</code> that corresponds to the
- * current value of the source folder field.
- *
- * @return the IPackageFragmentRoot or <code>null</code> if the current
- * source folder value is not a valid package fragment root
- *
- */
- public IPackageFragmentRoot getPackageFragmentRoot() {
- return _fCurrRoot;
- }
-
- /**
- * Returns the current text of source folder text field.
- *
- * @return the text of the source folder text field
- */
- public String getPackageFragmentRootText() {
- return getText();
- }
-
- /**
- * choose source container dialog
- *
- * @param initElement
- * @return
- */
- private IPackageFragmentRoot chooseSourceContainer(IJavaElement initElement) {
- Class[] acceptedClasses = new Class[] { IPackageFragmentRoot.class,
- IJavaProject.class, };
-
- TypedElementSelectionValidator validator = new TypedElementSelectionValidator(
- acceptedClasses, false) {
- // TODO: never used
-// public boolean isSelectedValid(Object element) {
-// try {
-// if (element instanceof IJavaProject) {
-// IJavaProject jproject = (IJavaProject) element;
-// IPath path = jproject.getProject().getFullPath();
-// return (jproject.findPackageFragmentRoot(path) != null);
-// } else if (element instanceof IPackageFragmentRoot) {
-// return (((IPackageFragmentRoot) element).getKind() == IPackageFragmentRoot.K_SOURCE);
-// }
-// return true;
-// } catch (JavaModelException e) {
-// _log.error("JavaModelException"); // just log, no ui in
-// // validation
-// }
-// return false;
-// }
- };
-
- acceptedClasses = new Class[] { IJavaModel.class,
- IPackageFragmentRoot.class, IJavaProject.class, };
- ViewerFilter filter = new TypedViewerFilter(acceptedClasses) {
- public boolean select(Viewer viewer, Object parent, Object element) {
- if (element instanceof IPackageFragmentRoot) {
- try {
- return (((IPackageFragmentRoot) element).getKind() == IPackageFragmentRoot.K_SOURCE);
- } catch (JavaModelException e) {
- _log.error(e); // just log, no ui
- // in validation
- return false;
- }
- }
- return super.select(viewer, parent, element);
- }
- };
-
- StandardJavaElementContentProvider provider = new StandardJavaElementContentProvider();
- ILabelProvider labelProvider = new JavaElementLabelProvider(
- JavaElementLabelProvider.SHOW_DEFAULT);
- ElementTreeSelectionDialog dialog = new ElementTreeSelectionDialog(
- getShell(), labelProvider, provider);
- dialog.setValidator(validator);
- dialog.setComparator(new JavaElementComparator());
- // HibernateWizardPage.ChooseSourceContainerDialog.Title = Folder
- // Selection
- dialog
- .setTitle(DialogFieldResources
- .getInstance()
- .getString(
- "SourceFolderButtonDialogField.ChooseSourceContainerDialog.Title")); //$NON-NLS-1$
- // HibernateWizardPage.ChooseSourceContainerDialog.Description = Choose
- // a folder:
- dialog
- .setMessage(DialogFieldResources
- .getInstance()
- .getString(
- "SourceFolderButtonDialogField.ChooseSourceContainerDialog.Description")); //$NON-NLS-1$
- dialog.addFilter(filter);
- if (_project != null) {
- dialog.setInput(JavaCore.create(_project));
- } else {
- dialog.setInput(JavaCore.create(ResourcesPlugin.getWorkspace()
- .getRoot()));
- }
- dialog.setInitialSelection(initElement);
-
- if (dialog.open() == Window.OK) {
- Object element = dialog.getFirstResult();
- if (element instanceof IJavaProject) {
- IJavaProject jproject = (IJavaProject) element;
- return jproject.getPackageFragmentRoot(jproject.getProject());
- } else if (element instanceof IPackageFragmentRoot) {
- return (IPackageFragmentRoot) element;
- }
- return null;
- }
- return null;
- }
-
- /**
- * This method updates the model and returns an error status. The underlying
- * model is only valid if the returned status is OK.
- *
- * @return the model's error status
- */
- public IStatus getChangedStatus() {
- StatusInfo status = new StatusInfo();
-
- _fCurrRoot = null;
- String str = getPackageFragmentRootText();
- if (str.length() == 0) {
- // SourceFolderButtonDialogField.error.EnterContainerName = Folder
- // name is empty.
- status.setError(DialogFieldResources.getInstance().getString(
- "SourceFolderButtonDialogField.error.EnterContainerName")); //$NON-NLS-1$
- return status;
- }
- IPath path = new Path(str);
- IResource res = ResourcesPlugin.getWorkspace().getRoot().findMember(
- path);
- if (res != null) {
- int resType = res.getType();
- if (resType == IResource.PROJECT || resType == IResource.FOLDER) {
- IProject proj = res.getProject();
- if (!proj.isOpen()) {
- status
- .setError(DialogFieldResources
- .getInstance()
- .getString(
- "SourceFolderButtonDialogField.error.ProjectClosed", proj.getFullPath().toString())); //$NON-NLS-1$
- return status;
- }
- if (_project != null && proj != _project) {
- // HibernateWizardPage.error.NotSameProject = The project
- // should be \''{0}\''.
- status
- .setError(DialogFieldResources
- .getInstance()
- .getString(
- "SourceFolderButtonDialogField.error.NotSameProject", _project.getName())); //$NON-NLS-1$
- return status;
- }
- IJavaProject jproject = JavaCore.create(proj);
- _fCurrRoot = jproject.getPackageFragmentRoot(res);
- if (res.exists()) {
- try {
- if (!proj.hasNature(JavaCore.NATURE_ID)) {
- if (resType == IResource.PROJECT) {
- status
- .setError(DialogFieldResources
- .getInstance()
- .getString(
- "SourceFolderButtonDialogField.warning.NotAJavaProject", proj.getName())); //$NON-NLS-1$
- } else {
- status
- .setWarning(DialogFieldResources
- .getInstance()
- .getString(
- "SourceFolderButtonDialogField.warning.NotInAJavaProject", proj.getName())); //$NON-NLS-1$
- }
- return status;
- }
- } catch (CoreException e) {
- status
- .setWarning(DialogFieldResources
- .getInstance()
- .getString(
- "SourceFolderButtonDialogField.warning.NotAJavaProject", proj.getName())); //$NON-NLS-1$
- }
- if (!jproject.isOnClasspath(_fCurrRoot)) {
- status
- .setWarning(DialogFieldResources
- .getInstance()
- .getString(
- "SourceFolderButtonDialogField.warning.NotOnClassPath", str)); //$NON-NLS-1$
- }
- if (_fCurrRoot.isArchive()) {
- status
- .setError(DialogFieldResources
- .getInstance()
- .getString(
- "SourceFolderButtonDialogField.error.ContainerIsBinary", str)); //$NON-NLS-1$
- return status;
- }
- }
- return status;
- }
- status.setError(DialogFieldResources.getInstance().getString(
- "SourceFolderButtonDialogField.error.NotAFolder", str)); //$NON-NLS-1$
- return status;
- }
- status
- .setError(DialogFieldResources
- .getInstance()
- .getString(
- "SourceFolderButtonDialogField.error.ContainerDoesNotExist", str)); //$NON-NLS-1$
- return status;
- }
-
-}

Back to the top