diff --git a/rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/files/ui/dialogs/SystemRemoteFileDialog.java b/rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/files/ui/dialogs/SystemRemoteFileDialog.java index 98c9d8ff418..9ecdd94d279 100644 --- a/rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/files/ui/dialogs/SystemRemoteFileDialog.java +++ b/rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/files/ui/dialogs/SystemRemoteFileDialog.java @@ -24,6 +24,7 @@ import org.eclipse.jface.viewers.DoubleClickEvent; import org.eclipse.jface.viewers.IDoubleClickListener; import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.rse.core.model.IHost; +import org.eclipse.rse.internal.files.ui.view.SystemRemoteFileSelectionInputProvider; import org.eclipse.rse.internal.subsystems.files.core.SystemFileResources; import org.eclipse.rse.ui.SystemActionViewerFilter; import org.eclipse.rse.ui.dialogs.SystemRemoteResourceDialog; diff --git a/rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/files/ui/widgets/SystemSelectRemoteFileOrFolderForm.java b/rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/files/ui/widgets/SystemSelectRemoteFileOrFolderForm.java index 238f9972695..f6bee288fdb 100644 --- a/rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/files/ui/widgets/SystemSelectRemoteFileOrFolderForm.java +++ b/rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/files/ui/widgets/SystemSelectRemoteFileOrFolderForm.java @@ -198,7 +198,7 @@ public class SystemSelectRemoteFileOrFolderForm * Returns the input provider that drives the contents of the tree * Subclasses can override to provide custom tree contents */ - protected ISystemSelectRemoteObjectAPIProvider getInputProvider() + private ISystemSelectRemoteObjectAPIProvider getInputProvider() { if (inputProvider == null) { diff --git a/rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/files/ui/widgets/SystemSelectRemoteFilesForm.java b/rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/files/ui/widgets/SystemSelectRemoteFilesForm.java index 24ded2131a4..075925c5bbe 100644 --- a/rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/files/ui/widgets/SystemSelectRemoteFilesForm.java +++ b/rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/files/ui/widgets/SystemSelectRemoteFilesForm.java @@ -28,6 +28,7 @@ import org.eclipse.jface.viewers.ICheckStateListener; import org.eclipse.rse.core.IRSESystemType; import org.eclipse.rse.internal.files.ui.Activator; import org.eclipse.rse.internal.files.ui.actions.SystemSelectFileTypesAction; +import org.eclipse.rse.internal.files.ui.widgets.SystemFileTreeAndListGroup; import org.eclipse.rse.internal.ui.SystemResources; import org.eclipse.rse.internal.ui.view.SystemViewLabelAndContentProvider; import org.eclipse.rse.services.clientserver.messages.CommonMessages; diff --git a/rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/search/SystemSearchRemoteFolderForm.java b/rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/search/SystemSearchRemoteFolderForm.java index d3e201cf0b0..62da6fad204 100644 --- a/rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/search/SystemSearchRemoteFolderForm.java +++ b/rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/search/SystemSearchRemoteFolderForm.java @@ -1,5 +1,5 @@ /******************************************************************************** - * Copyright (c) 2006, 2008 IBM Corporation. All rights reserved. + * Copyright (c) 2006, 2007 IBM Corporation. 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 diff --git a/rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/files/ui/dialogs/SystemRemoteFileSelectionInputProvider.java b/rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/view/SystemRemoteFileSelectionInputProvider.java similarity index 92% rename from rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/files/ui/dialogs/SystemRemoteFileSelectionInputProvider.java rename to rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/view/SystemRemoteFileSelectionInputProvider.java index c156674d465..3ef3f26ae8a 100644 --- a/rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/files/ui/dialogs/SystemRemoteFileSelectionInputProvider.java +++ b/rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/view/SystemRemoteFileSelectionInputProvider.java @@ -15,12 +15,12 @@ * David McKnight (IBM) - [225506] [api][breaking] RSE UI leaks non-API types *******************************************************************************/ -package org.eclipse.rse.files.ui.dialogs; +package org.eclipse.rse.internal.files.ui.view; import org.eclipse.rse.core.model.IHost; import org.eclipse.rse.core.subsystems.ISubSystem; +import org.eclipse.rse.internal.ui.view.SystemResourceSelectionInputProvider; import org.eclipse.rse.subsystems.files.core.model.RemoteFileUtility; -import org.eclipse.rse.ui.view.SystemResourceSelectionInputProvider; public class SystemRemoteFileSelectionInputProvider extends diff --git a/rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/files/ui/widgets/SystemFileTreeAndListGroup.java b/rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/widgets/SystemFileTreeAndListGroup.java similarity index 99% rename from rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/files/ui/widgets/SystemFileTreeAndListGroup.java rename to rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/widgets/SystemFileTreeAndListGroup.java index bf8832c2249..0ee7baa6159 100644 --- a/rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/files/ui/widgets/SystemFileTreeAndListGroup.java +++ b/rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/widgets/SystemFileTreeAndListGroup.java @@ -15,7 +15,7 @@ * {Name} (company) - description of contribution. *******************************************************************************/ -package org.eclipse.rse.files.ui.widgets; +package org.eclipse.rse.internal.files.ui.widgets; import org.eclipse.jface.viewers.ILabelProvider; import org.eclipse.jface.viewers.IStructuredContentProvider; import org.eclipse.jface.viewers.IStructuredSelection; diff --git a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemResourceSelectionForm.java b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemResourceSelectionForm.java index 46e3d6b9509..bc70bf5f1e4 100644 --- a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemResourceSelectionForm.java +++ b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemResourceSelectionForm.java @@ -44,10 +44,10 @@ import org.eclipse.rse.ui.dialogs.SystemPromptDialog; import org.eclipse.rse.ui.messages.ISystemMessageLine; import org.eclipse.rse.ui.validators.IValidatorRemoteSelection; import org.eclipse.rse.ui.view.ISystemRemoteElementAdapter; +import org.eclipse.rse.ui.view.ISystemResourceSelectionInputProvider; import org.eclipse.rse.ui.view.ISystemTree; import org.eclipse.rse.ui.view.ISystemViewElementAdapter; import org.eclipse.rse.ui.view.SystemAdapterHelpers; -import org.eclipse.rse.ui.view.SystemResourceSelectionInputProvider; import org.eclipse.rse.ui.widgets.SystemHostCombo; import org.eclipse.swt.SWT; import org.eclipse.swt.events.SelectionAdapter; @@ -67,8 +67,8 @@ public class SystemResourceSelectionForm implements ISelectionChangedListener private Shell _shell; private boolean _multipleSelection = true; protected static final int PROMPT_WIDTH = 400; // The maximum width of the dialog's prompt, in pixels. - - private SystemResourceSelectionInputProvider _inputProvider; + + private ISystemResourceSelectionInputProvider _inputProvider; private SystemHostCombo _connectionCombo; private SystemViewForm _systemViewForm; private Composite _propertySheetContainer; @@ -98,7 +98,8 @@ public class SystemResourceSelectionForm implements ISelectionChangedListener public SystemResourceSelectionForm(Shell shell, Composite parent, Object caller, - SystemResourceSelectionInputProvider inputProvider, String verbiage, + ISystemResourceSelectionInputProvider inputProvider, + String verbiage, boolean multipleSelection, ISystemMessageLine msgLine) { diff --git a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/view/SystemResourceSelectionInputProvider.java b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemResourceSelectionInputProvider.java similarity index 94% rename from rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/view/SystemResourceSelectionInputProvider.java rename to rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemResourceSelectionInputProvider.java index 367cf3a79a2..d2dfc434ac7 100644 --- a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/view/SystemResourceSelectionInputProvider.java +++ b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/internal/ui/view/SystemResourceSelectionInputProvider.java @@ -17,15 +17,18 @@ * David McKnight (IBM) - [225506] [api][breaking] RSE UI leaks non-API types ********************************************************************************/ -package org.eclipse.rse.ui.view; +package org.eclipse.rse.internal.ui.view; import org.eclipse.rse.core.IRSESystemType; import org.eclipse.rse.core.RSECorePlugin; import org.eclipse.rse.core.model.IHost; import org.eclipse.rse.core.model.ISystemRegistry; import org.eclipse.rse.core.subsystems.ISubSystem; +import org.eclipse.rse.ui.view.ISystemResourceSelectionInputProvider; +import org.eclipse.rse.ui.view.SystemAbstractAPIProvider; public abstract class SystemResourceSelectionInputProvider extends SystemAbstractAPIProvider + implements ISystemResourceSelectionInputProvider { private IHost _connection = null; private boolean _onlyConnection = false; diff --git a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/dialogs/SystemRemoteResourceDialog.java b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/dialogs/SystemRemoteResourceDialog.java index eabf58e50c9..d7c948b0df9 100644 --- a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/dialogs/SystemRemoteResourceDialog.java +++ b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/dialogs/SystemRemoteResourceDialog.java @@ -27,8 +27,8 @@ import org.eclipse.rse.internal.ui.view.SystemResourceSelectionForm; import org.eclipse.rse.ui.SystemActionViewerFilter; import org.eclipse.rse.ui.messages.ISystemMessageLine; import org.eclipse.rse.ui.validators.IValidatorRemoteSelection; +import org.eclipse.rse.ui.view.ISystemResourceSelectionInputProvider; import org.eclipse.rse.ui.view.ISystemTree; -import org.eclipse.rse.ui.view.SystemResourceSelectionInputProvider; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Shell; @@ -37,7 +37,7 @@ import org.eclipse.swt.widgets.Shell; public abstract class SystemRemoteResourceDialog extends SystemPromptDialog { private SystemResourceSelectionForm _form; - private SystemResourceSelectionInputProvider _inputProvider; + private ISystemResourceSelectionInputProvider _inputProvider; private Object _preSelection; private IValidatorRemoteSelection _selectionValidator; private boolean _multipleSelectionMode; @@ -47,7 +47,8 @@ public abstract class SystemRemoteResourceDialog extends SystemPromptDialog private String _message, _tip; - public SystemRemoteResourceDialog(Shell shell, String title, SystemResourceSelectionInputProvider inputProvider) + public SystemRemoteResourceDialog(Shell shell, String title, + ISystemResourceSelectionInputProvider inputProvider) { super(shell, title); _inputProvider = inputProvider; diff --git a/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/view/ISystemResourceSelectionInputProvider.java b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/view/ISystemResourceSelectionInputProvider.java new file mode 100644 index 00000000000..70189f2103d --- /dev/null +++ b/rse/plugins/org.eclipse.rse.ui/UI/org/eclipse/rse/ui/view/ISystemResourceSelectionInputProvider.java @@ -0,0 +1,80 @@ +/******************************************************************************** + * Copyright (c) 2008 IBM Corporation. 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 + * + * Initial Contributors: + * The following IBM employees contributed to the Remote System Explorer + * component that contains this file: David McKnight. + * + * Contributors: + * David McKnight (IBM) - [225506] [api][breaking] RSE UI leaks non-API types + ********************************************************************************/ +package org.eclipse.rse.ui.view; + +import org.eclipse.rse.core.IRSESystemType; +import org.eclipse.rse.core.model.IHost; +import org.eclipse.rse.core.model.ISystemViewInputProvider; + +/** + * Public interface for the system resource selection input provider + * that is used in the SystemRemoteResourceDialog and the + * SystemResourceSelectionForm + * + */ +public interface ISystemResourceSelectionInputProvider + extends ISystemViewInputProvider +{ + /** + * Gets the associated system connection + * @return the system connection + */ + public IHost getSystemConnection(); + + /** + * Indicates whether the input provider should allow new connections + * to be created. + * @param flag whether new connections should be allowed + */ + public void setAllowNewConnection(boolean flag); + + /** + * Returns whether multiple connections can be displayed via the + * input provider + * @return true if multiple connections are allowed + */ + public boolean allowMultipleConnections(); + + /** + * Returns whether new connections can be created from the view + * using this input provider. + * @return true if new connections are allowed. + */ + public boolean allowNewConnection(); + + /** + * Returns the category for the view using the input provider (i.e. "files") + * @return the category + */ + public String getCategory(); + + /** + * Sets the system types allowed for this input provider + * @param types the types of systems + */ + public void setSystemTypes(IRSESystemType[] types); + + /** + * Gets the system types allowed for the associated control + * @return the system types + */ + public IRSESystemType[] getSystemTypes(); + + /** + * Sets the associated system connection for the input provider + * @param connection the connection + * @param onlyConnection whether other connections are allowed + */ + public void setSystemConnection(IHost connection, boolean onlyConnection); +}