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/dialogs/CommonResourceDialog.java')
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.common.ui/src/org/eclipse/jst/jsf/common/ui/internal/dialogs/CommonResourceDialog.java368
1 files changed, 0 insertions, 368 deletions
diff --git a/jsf/plugins/org.eclipse.jst.jsf.common.ui/src/org/eclipse/jst/jsf/common/ui/internal/dialogs/CommonResourceDialog.java b/jsf/plugins/org.eclipse.jst.jsf.common.ui/src/org/eclipse/jst/jsf/common/ui/internal/dialogs/CommonResourceDialog.java
deleted file mode 100644
index debc2f996..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.common.ui/src/org/eclipse/jst/jsf/common/ui/internal/dialogs/CommonResourceDialog.java
+++ /dev/null
@@ -1,368 +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.dialogs;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-import org.eclipse.core.resources.IContainer;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.core.resources.IFolder;
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.Viewer;
-import org.eclipse.jface.viewers.ViewerFilter;
-import org.eclipse.jst.jsf.common.ui.JSFUICommonPlugin;
-import org.eclipse.jst.jsf.common.ui.internal.logging.Logger;
-import org.eclipse.jst.jsf.common.ui.internal.utils.WebrootUtil;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-import org.eclipse.ui.views.navigator.ResourceComparator;
-
-/**
- * This dialog shows IFile type resources within a IProject domain for
- * selection. The client can prvide the suffixs of files to filter when
- * candidates are shown on the tree.
- *
- * The usage: Shell shell = new Shell(); IProject project = getProject();
- * CommonResourceDialog dlg = new CommonResourceDialog(shell, project);
- * dlg.setResourceDescription("image"); dlg.setSuffixs(new
- * String[]{"bmp","jpg","gif"}); if(dlg.open() == Window.OK) { IFile
- * selectedFile = (IFile)dlg.getResult()[0]; }
- *
- * Note: In code above, what you get is an absolute resource path. You can use
- * <code>org.eclipse.wst.sse.core.util.PathHelper.convertToRelative(String input, String base)</code>
- * to convert a absolute resource path to a relative path based on one path.
- *
- * @author mengbo
- */
-public class CommonResourceDialog extends TreeViewerSelectionDialog {
- private static Logger _log = JSFUICommonPlugin
- .getLogger(CommonResourceDialog.class);
-
- // private static final String STATUS_MESSAGE_0 = CommonPlugin
- // .getResourceString("Dialog.CommonResourceDialog.StatusMessage0");
- // //$NON-NLS-1$
-
- private IProject _project = null;
-
- private String _suffixs[] = null;
-
- private CommonResourceFilter _filter = null;
-
- // The resource type resourceDescription, such as "image", "jsp", "java
- // class" etc.
- private String _resourceDescription = null;
-
- private IFolder _folder;
-
- // The content provider
- class ProjectFileDialogContentProvider implements ITreeContentProvider {
- /**
- * The visual part that is using this content provider is about to be
- * disposed. Deallocate all allocated SWT resources.
- */
- public void dispose() {
- // nothing to dispose
- }
-
- /**
- * @see ITreeContentProvider#getChildren
- */
- public Object[] getChildren(Object element) {
- if (element instanceof Object[]) {
- return (Object[]) element;
- } else if (element instanceof IContainer) {
- IContainer container = (IContainer) element;
- if (container.isAccessible()) {
- try {
- return container.members();
- } catch (CoreException e) {
- _log.error(
- "Error.ProjectFileDialogContentProvider.0", e); //$NON-NLS-1$
- }
- }
-
- }
- return new Object[0];
- }
-
- /**
- * @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(Object)
- */
- public Object[] getElements(Object element) {
- return getChildren(element);
- }
-
- /**
- * @see ITreeContentProvider#getParent
- */
- public Object getParent(Object element) {
- if (element instanceof IResource) {
- return ((IResource) element).getParent();
- }
- return null;
- }
-
- /**
- * @see ITreeContentProvider#hasChildren
- */
- public boolean hasChildren(Object element) {
- return getChildren(element).length > 0;
- }
-
- /**
- * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(Viewer, Object, Object)
- */
- public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
- // no viewer change support required
- }
-
- }
-
- // The default resource filter
- class CommonResourceFilter extends ViewerFilter {
- private String _filterSuffixs[] = null;
-
- /**
- * @return Returns the _suffixs.
- */
- public String[] getSuffixs() {
- return _filterSuffixs;
- }
-
- /**
- * @param _suffixs
- * The _suffixs to set.
- */
- public void setSuffixs(String[] _suffixs) {
- this._filterSuffixs = _suffixs;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jface.viewers.ViewerFilter#select(org.eclipse.jface.viewers.Viewer,
- * java.lang.Object, java.lang.Object)
- */
- public boolean select(Viewer viewer, Object parentElement,
- Object element) {
- if (element instanceof IFile) {
- IFile file = (IFile) element;
- if (!WebrootUtil.isUnderWebContentFolder(file)) {
- return false;
- }
- if (isSuffixBlank()) {
- return true;
- }
- if (file.getFileExtension() != null) {
- if (Arrays.asList(_filterSuffixs).contains(
- file.getFileExtension().toLowerCase())) {
- return true;
- }
- }
- } else if (element instanceof IContainer) {
- if (!((IContainer) element).isAccessible()) {
- return false;
- }
- if (element instanceof IProject) {
- return true;
- } else if (element instanceof IFolder) {
- IContainer container = (IContainer) element;
- try {
- IResource[] members = container.members();
- for (int i = 0; i < members.length; i++) {
- if (select(viewer, members[i].getParent(),
- members[i])) {
- return true;
- }
- }
- } catch (CoreException e) {
- _log.error(
- "Error.ProjectFileDialogContentProvider.0", e); //$NON-NLS-1$
- return false;
- }
- }
- }
- return false;
- }
-
- }
-
- /**
- * This is a dialog for common resource selection, the resouce supported
- * include IFolder, IProject, IFile, user can provide
- *
- * @param parentShell
- * @param project
- * @param style
- */
- public CommonResourceDialog(Shell parentShell, IProject project, int style) {
- super(parentShell, "", style); //$NON-NLS-1$
- if (project == null) {
- throw new IllegalArgumentException(
- "Argument(project) cannot be null"); //$NON-NLS-1$
- }
- _project = project;
- setContentProvider(new ProjectFileDialogContentProvider());
- setLabelProvider(WorkbenchLabelProvider
- .getDecoratingWorkbenchLabelProvider());
- _filter = new CommonResourceFilter();
- setFilter(_filter);
- setViewerComparator(new ResourceComparator(ResourceComparator.TYPE));
- _project = project;
- setStatusMessage(getStatusMessage());
- }
-
- /**
- * Same as CommonResourceDialog(parentShell, project, SWT.NONE)
- *
- * @param parentShell
- * @param project
- */
- public CommonResourceDialog(Shell parentShell, IProject project) {
- this(parentShell, project, SWT.NONE);
- }
-
- private String getStatusMessage() {
- if (_resourceDescription == null) {
- return ""; //$NON-NLS-1$
- }
- return _resourceDescription;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.ui.common.SelectionTreeViewerDialog#findInputElement()
- */
- protected Object findInputElement() {
- if (_folder != null) {
- return new Object[] { _folder, };
- }
- return new Object[] { _project, };
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.jst.pagedesigner.ui.common.SelectionTreeViewerDialog#isValidSelection(java.lang.Object)
- */
- protected boolean isValidSelection(Object selection) {
- if (selection instanceof Object[]) {
- for (int i = 0, n = ((Object[]) selection).length; i < n; i++) {
- if (isValidElement(((Object[]) selection)[i]) == true) {
- return true;
- }
- }
- return false;
- }
- return isValidElement(selection);
- }
-
- private boolean isValidElement(Object selection) {
- if ((selection instanceof IFile)) {
- // Null means no filter is set
- if (isSuffixBlank()) {
- return true;
- }
- // The extension is supported?
- else if (_suffixs != null
- && Arrays.asList(_suffixs).contains(
- ((IFile) selection).getFileExtension()
- .toLowerCase())) {
- return true;
- }
- }
- // None of above conditions, invalid.
- return false;
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.ui.dialogs.SelectionDialog#getResult()
- */
- public Object[] getResult() {
- Object[] objects = super.getResult();
- if (objects == null || objects.length == 0) {
- return null;
- }
- List list = new ArrayList();
- for (int i = 0; i < objects.length; i++) {
- if (objects[i] instanceof IFile) {
- list.add(objects[i]);
- }
- }
- return list.toArray();
- }
-
- /**
- * @param suffixs
- * The suffixs to set.
- */
- public void setSuffixs(String[] suffixs) {
- this._suffixs = convertTolowercase(suffixs);
- _filter.setSuffixs(_suffixs);
- setStatusMessage(getStatusMessage());
- }
-
- private String[] convertTolowercase(String[] suffixs) {
- if (suffixs != null) {
- String[] newSuffixs = new String[suffixs.length];
- for (int i = 0; i < suffixs.length; i++) {
- newSuffixs[i] = suffixs[i].toLowerCase();
- }
- return newSuffixs;
- }
- return null;
- }
-
- /**
- * @return Returns the sourceDescription.
- */
- public String getResourceDescription() {
- return _resourceDescription;
- }
-
- /**
- * @param sourceDescription
- * The sourceDescription to set.
- */
- public void setResourceDescription(String sourceDescription) {
- this._resourceDescription = sourceDescription;
- setStatusMessage(getStatusMessage());
- }
-
- private boolean isSuffixBlank() {
- boolean isSuffixBlank = false;
- if (_suffixs == null) {
- isSuffixBlank = true;
- } else {
- int count = 0;
- for (int i = 0, size = _suffixs.length; i < size; i++) {
- if (_suffixs[i] != null && !"".equals(_suffixs[i])) { //$NON-NLS-1$
- count++;
- break;
- }
- }
- if (count == 0) {
- isSuffixBlank = true;
- }
- }
- return isSuffixBlank;
- }
-}

Back to the top