From 92a0caff4e797a5e905b9d7b5e267d13278bc5bd Mon Sep 17 00:00:00 2001 From: David McKnight Date: Thu, 31 May 2007 15:56:57 +0000 Subject: [PATCH] [189973] removing obsolete code --- .../files/ui/dialogs/AddToArchiveDialog.java | 91 ---- .../rse/files/ui/dialogs/CombineDialog.java | 143 ------ .../rse/files/ui/dialogs/ExtractToDialog.java | 71 --- .../SystemEnterOrSelectRemoteFileDialog.java | 112 ----- .../files/ui/widgets/FileSelectionForm.java | 74 ---- .../SystemEnterOrSelectRemoteFileForm.java | 227 ---------- .../ui/actions/SystemAddToArchiveAction.java | 410 ------------------ .../files/ui/actions/SystemCombineAction.java | 173 -------- .../files/ui/actions/SystemConvertAction.java | 179 -------- .../files/ui/actions/SystemExtractAction.java | 272 ------------ .../ui/actions/SystemExtractToAction.java | 209 --------- .../ui/view/SystemViewRemoteFileAdapter.java | 34 +- 12 files changed, 1 insertion(+), 1994 deletions(-) delete mode 100644 rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/files/ui/dialogs/AddToArchiveDialog.java delete mode 100644 rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/files/ui/dialogs/CombineDialog.java delete mode 100644 rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/files/ui/dialogs/ExtractToDialog.java delete mode 100644 rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/files/ui/dialogs/SystemEnterOrSelectRemoteFileDialog.java delete mode 100644 rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/files/ui/widgets/FileSelectionForm.java delete mode 100644 rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/files/ui/widgets/SystemEnterOrSelectRemoteFileForm.java delete mode 100644 rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/actions/SystemAddToArchiveAction.java delete mode 100644 rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/actions/SystemCombineAction.java delete mode 100644 rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/actions/SystemConvertAction.java delete mode 100644 rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/actions/SystemExtractAction.java delete mode 100644 rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/actions/SystemExtractToAction.java diff --git a/rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/files/ui/dialogs/AddToArchiveDialog.java b/rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/files/ui/dialogs/AddToArchiveDialog.java deleted file mode 100644 index 4e70f62e54a..00000000000 --- a/rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/files/ui/dialogs/AddToArchiveDialog.java +++ /dev/null @@ -1,91 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2004, 2006 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, Kushal Munir, - * Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson, - * Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley. - * - * Contributors: - * {Name} (company) - description of contribution. - ********************************************************************************/ - -package org.eclipse.rse.files.ui.dialogs; -import org.eclipse.rse.files.ui.widgets.SystemSelectRemoteFileOrFolderForm; -import org.eclipse.rse.internal.files.ui.widgets.AddToArchiveForm; -import org.eclipse.rse.ui.RSEUIPlugin; -import org.eclipse.swt.widgets.Shell; - - -/** - * @author mjberger - * - * To change the template for this generated type comment go to - * Window>Preferences>Java>Code Generation>Code and Comments - */ -public class AddToArchiveDialog extends CombineDialog { - - private String[] _relativePaths; - - public AddToArchiveDialog(Shell shell) - { - super(shell); - setHelp(RSEUIPlugin.HELPPREFIX + "atad0000"); //$NON-NLS-1$ - } - - public AddToArchiveDialog(Shell shell, String title) { - super(shell, title); - setHelp(RSEUIPlugin.HELPPREFIX + "atad0000"); //$NON-NLS-1$ - } - - public AddToArchiveDialog(Shell shell, String title, String[] relativePaths) - { - super(shell, title); - setHelp(RSEUIPlugin.HELPPREFIX + "atad0000"); //$NON-NLS-1$ - _relativePaths = relativePaths; - ((AddToArchiveForm)form).setRelativePathList(_relativePaths); - } - - public AddToArchiveDialog( - Shell shell, - String title, - boolean prePopSelection) - { - super(shell, title, prePopSelection); - setHelp(RSEUIPlugin.HELPPREFIX + "atad0000"); //$NON-NLS-1$ - } - - public AddToArchiveDialog( - Shell shell, - String title, - boolean prePopSelection, - String[] relativePaths) - { - super(shell, title, prePopSelection); - setHelp(RSEUIPlugin.HELPPREFIX + "atad0000"); //$NON-NLS-1$ - _relativePaths = relativePaths; - ((AddToArchiveForm)form).setRelativePathList(_relativePaths); - } - - - protected SystemSelectRemoteFileOrFolderForm getForm(boolean fileMode) - { - super.getForm(fileMode); - form = new AddToArchiveForm(getMessageLine(), this, fileMode, prePop, _relativePaths); - return form; - } - - public boolean getSaveFullPathInfo() - { - return ((AddToArchiveForm)form).getSaveFullPathInfo(); - } - - public String getRelativePath() - { - return ((AddToArchiveForm)form).getRelativePath(); - } -} \ No newline at end of file diff --git a/rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/files/ui/dialogs/CombineDialog.java b/rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/files/ui/dialogs/CombineDialog.java deleted file mode 100644 index d620c5e183d..00000000000 --- a/rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/files/ui/dialogs/CombineDialog.java +++ /dev/null @@ -1,143 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2003, 2007 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 - * - * Initial Contributors: - * The following IBM employees contributed to the Remote System Explorer - * component that contains this file: David McKnight, Kushal Munir, - * Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson, - * Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley. - * - * Contributors: - * Martin Oberhuber (Wind River) - [184095] Replace systemTypeName by IRSESystemType - ********************************************************************************/ - -package org.eclipse.rse.files.ui.dialogs; -import org.eclipse.core.runtime.NullProgressMonitor; -import org.eclipse.rse.files.ui.widgets.SystemSelectRemoteFileOrFolderForm; -import org.eclipse.rse.internal.files.ui.widgets.CombineForm; -import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFile; -import org.eclipse.rse.ui.RSEUIPlugin; -import org.eclipse.swt.widgets.Shell; - - -/** - * A dialog to select or enter archive files. - */ -public class CombineDialog extends SystemSelectRemoteFileOrFolderDialog { - - protected CombineForm form; - protected boolean prePop = false; - - /** - * Constructor. - * @param shell the parent shell. - */ - public CombineDialog(Shell shell) - { - super(shell, false); - setHelp(RSEUIPlugin.HELPPREFIX + "cmbd0000"); //$NON-NLS-1$ - } - - /** - * Constructor when you want to supply your own title. - * @param shell The shell to hang the dialog off of - * @param title The title to give the dialog - */ - public CombineDialog(Shell shell, String title) - { - super(shell, title, false); - setHelp(RSEUIPlugin.HELPPREFIX + "cmbd0000"); //$NON-NLS-1$ - } - - /** - * Constructor when you want to supply your own title. - * - * @param shell The shell to hang the dialog off of - * @param title The title to give the dialog - * @param prePopSelection Whether or not the destination name - * and type will be prepopulated with the selection, or given - * a generic name and type. - */ - public CombineDialog(Shell shell, String title, boolean prePopSelection) - { - super(shell, title, false); - prePop = prePopSelection; - if (form != null) form.setPrePopSelection(prePop); - setHelp(RSEUIPlugin.HELPPREFIX + "cmbd0000"); //$NON-NLS-1$ - } - - /** - * Constructor when you want to supply your own title. - * - * @param shell The shell to hang the dialog off of - * @param title The title to give the dialog - * @param prePopSelection Whether or not the destination name - * and type will be prepopulated with the selection, or given - * a generic name and type. - * @param relativePaths The relative paths to be inserted as choices - * in the relative path combo box. Null if you wish to disable this feature. - */ - public CombineDialog(Shell shell, String title, boolean prePopSelection, String[] relativePaths) - { - super(shell, title, false); - prePop = prePopSelection; - if (form != null) form.setPrePopSelection(prePop); - setHelp(RSEUIPlugin.HELPPREFIX + "cmbd0000"); //$NON-NLS-1$ - } - - - protected SystemSelectRemoteFileOrFolderForm getForm(boolean fileMode) - { - form = new CombineForm(getMessageLine(), this, fileMode, prePop); - super.getForm(fileMode); - return form; - } - - public Object getOutputObject() - { - String fileName = form.getFileName(); - - IRemoteFile file = (IRemoteFile) super.getOutputObject(); - - // if a file was selected, get reference to its parent - if (file.isFile()) { - file = file.getParentRemoteFile(); - } - - try - { - // return a remote file that is the child of the parent folder - return file.getParentRemoteFileSubSystem().getRemoteFileObject(file, fileName, new NullProgressMonitor()); - } - catch (Exception e) - { - return null; - } - } - - public void setShowLocationPrompt(boolean show) - { - form.setShowLocationPrompt(show); - } - - public void setLocationPrompt(String prompt) - { - form.setLocationPrompt(prompt); - } - - public void setNameAndTypePrompt(String prompt) - { - form.setNameAndTypePrompt(prompt); - } - - /** - * Sets the extensions to disallow. - * @param extensions the archive extensions that will not be allowed. - */ - public void setDisallowedArchiveExtensions(String[] extensions) { - form.setDisallowedArchiveExtensions(extensions); - } -} \ No newline at end of file diff --git a/rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/files/ui/dialogs/ExtractToDialog.java b/rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/files/ui/dialogs/ExtractToDialog.java deleted file mode 100644 index f9aff887b66..00000000000 --- a/rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/files/ui/dialogs/ExtractToDialog.java +++ /dev/null @@ -1,71 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2003, 2007 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 - * - * Initial Contributors: - * The following IBM employees contributed to the Remote System Explorer - * component that contains this file: David McKnight, Kushal Munir, - * Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson, - * Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley. - * - * Contributors: - * Martin Oberhuber (Wind River) - [184095] Replace systemTypeName by IRSESystemType - ********************************************************************************/ - -package org.eclipse.rse.files.ui.dialogs; -import org.eclipse.rse.files.ui.widgets.SystemSelectRemoteFileOrFolderForm; -import org.eclipse.rse.internal.files.ui.widgets.ExtractToForm; -import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFile; -import org.eclipse.rse.ui.RSEUIPlugin; -import org.eclipse.swt.widgets.Shell; - - -public class ExtractToDialog extends SystemSelectRemoteFileOrFolderDialog { - - - - private ExtractToForm form; - - /** - * Constructor - * - * @param shell The shell to hang the dialog off of - * - */ - public ExtractToDialog(Shell shell) - { - super(shell, false); - setHelp(RSEUIPlugin.HELPPREFIX + "exdi0000"); //$NON-NLS-1$ - } - /** - * Constructor when you want to supply your own title. - * - * @param shell The shell to hang the dialog off of - * @param title The title to give the dialog - */ - public ExtractToDialog(Shell shell, String title) - { - super(shell, title, false); - setHelp(RSEUIPlugin.HELPPREFIX + "exdi0000"); //$NON-NLS-1$ - } - - protected SystemSelectRemoteFileOrFolderForm getForm(boolean fileMode) - { - form = new ExtractToForm(getMessageLine(), this, fileMode); - super.getForm(fileMode); - return form; - } - - public Object getOutputObject() - { - IRemoteFile file = (IRemoteFile) super.getOutputObject(); - if (file.exists()) - { - return file; - } - return null; - } - -} \ No newline at end of file diff --git a/rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/files/ui/dialogs/SystemEnterOrSelectRemoteFileDialog.java b/rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/files/ui/dialogs/SystemEnterOrSelectRemoteFileDialog.java deleted file mode 100644 index 306df588a18..00000000000 --- a/rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/files/ui/dialogs/SystemEnterOrSelectRemoteFileDialog.java +++ /dev/null @@ -1,112 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2006 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, Kushal Munir, - * Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson, - * Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley. - * - * Contributors: - * {Name} (company) - description of contribution. - ********************************************************************************/ - -package org.eclipse.rse.files.ui.dialogs; - -import org.eclipse.rse.files.ui.widgets.SystemEnterOrSelectRemoteFileForm; -import org.eclipse.rse.files.ui.widgets.SystemSelectRemoteFileOrFolderForm; -import org.eclipse.rse.internal.subsystems.files.core.SystemFileResources; -import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFile; -import org.eclipse.swt.widgets.Shell; - - -/** - * A dialog for either selecting or entering a file name. - * Use {@link #getRemotePath()} to get the absolute remote path of what the user selected or entered. - * Note that if the user enters a file name, then the output object will be its parent folder, since - * the file with that name may not exist. - */ -public class SystemEnterOrSelectRemoteFileDialog extends SystemSelectRemoteFileOrFolderDialog { - - private SystemEnterOrSelectRemoteFileForm form; - - /** - * Creates the dialog with the parent shell. - * @param shell the parent shell. - */ - public SystemEnterOrSelectRemoteFileDialog(Shell shell) { - super(shell, true); - setMultipleSelectionMode(false); - } - - /** - * Creates a dialog under the parent shell with the given title. - * @param shell the parent shell. - * @param title the title for the dialog. - */ - public SystemEnterOrSelectRemoteFileDialog(Shell shell, String title) { - super(shell, title, true); - setMultipleSelectionMode(false); - } - - /** - * Always returns false. - * @see org.eclipse.rse.files.ui.dialogs.SystemSelectRemoteFileOrFolderDialog#getMultipleSelectionMode() - */ - public boolean getMultipleSelectionMode() { - return false; - } - - /** - * Has no effect. Multiple selection mode is not allowed. - * @see org.eclipse.rse.files.ui.dialogs.SystemSelectRemoteFileOrFolderDialog#setMultipleSelectionMode(boolean) - */ - public void setMultipleSelectionMode(boolean multiple) { - super.setMultipleSelectionMode(false); - } - - /** - * Creates the select or enter file form. Sets the verbiage of the form. - * @see org.eclipse.rse.files.ui.dialogs.SystemSelectRemoteFileOrFolderDialog#getForm(boolean) - */ - protected SystemSelectRemoteFileOrFolderForm getForm(boolean fileMode) { - form = new SystemEnterOrSelectRemoteFileForm(getMessageLine(), this, fileMode); - form.setMessage(SystemFileResources.RESID_ENTER_OR_SELECT_FILE_VERBIAGE_LABEL); - setOutputObject(null); - return form; - } - - /** - * Returns the remote path. - * @return the remote path. - */ - public String getRemotePath() { - IRemoteFile file = (IRemoteFile)getOutputObject(); - - String absPath = file.getAbsolutePath(); - - // if the output is a file, then return the absolute path. - if (file.isFile()) { - return absPath; - } - // if the output is a folder, then file name is available in the text field - // of the form, so append the file name to the folder path - else { - String fileName = form.getFileName(); - String sep = file.getSeparator(); - - // add separator if necessary - if (!absPath.endsWith(sep)) { - absPath += sep; - } - - // add file name if necessary - absPath += fileName; - - return absPath; - } - } -} \ No newline at end of file diff --git a/rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/files/ui/widgets/FileSelectionForm.java b/rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/files/ui/widgets/FileSelectionForm.java deleted file mode 100644 index 4114a8ce7c9..00000000000 --- a/rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/files/ui/widgets/FileSelectionForm.java +++ /dev/null @@ -1,74 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2002, 2006 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, Kushal Munir, - * Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson, - * Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley. - * - * Contributors: - * {Name} (company) - description of contribution. - ********************************************************************************/ - -package org.eclipse.rse.files.ui.widgets; -import org.eclipse.rse.ui.messages.ISystemMessageLine; - -/** - * Form class for selecting a file based on the SaveAS - */ -public class FileSelectionForm extends SaveAsForm -{ - public static final String Copyright = - "(C) Copyright IBM Corp. 2003 All Rights Reserved."; //$NON-NLS-1$ - - /** - * Constructor for FileSelectionForm - */ - public FileSelectionForm( - ISystemMessageLine msgLine, - Object caller, - boolean fileMode) - { - super(msgLine, caller, fileMode); - } - - /** - * Completes processing of the dialog. - * Intercept of parent method. - * - * @return true if no errors - */ - public boolean verify() - { - - return true; - } - - public boolean isPageComplete() - { - //String errMsg = validator.isValid(fileName); - - //if (errMsg != null) - //{ - // setErrorMessage(errMsg); - // return false; - //} - //else - //{ - // clearErrorMessage(); - //} - - return fileNameText != null - && fileNameText.getText().length() > 0; - //&& super.isPageComplete(); - } - public String getFileName() - { - return fileName; - } - -} \ No newline at end of file diff --git a/rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/files/ui/widgets/SystemEnterOrSelectRemoteFileForm.java b/rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/files/ui/widgets/SystemEnterOrSelectRemoteFileForm.java deleted file mode 100644 index e099eb3f84d..00000000000 --- a/rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/files/ui/widgets/SystemEnterOrSelectRemoteFileForm.java +++ /dev/null @@ -1,227 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2006, 2007 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 - * - * Initial Contributors: - * The following IBM employees contributed to the Remote System Explorer - * component that contains this file: David McKnight, Kushal Munir, - * Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson, - * Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley. - * - * Contributors: - * Martin Oberhuber (Wind River) - [168870] refactor org.eclipse.rse.core package of the UI plugin - ********************************************************************************/ - -package org.eclipse.rse.files.ui.widgets; - -import org.eclipse.core.runtime.NullProgressMonitor; -import org.eclipse.jface.viewers.SelectionChangedEvent; -import org.eclipse.rse.internal.files.ui.FileResources; -import org.eclipse.rse.services.clientserver.messages.SystemMessage; -import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFile; -import org.eclipse.rse.ui.ISystemMessages; -import org.eclipse.rse.ui.RSEUIPlugin; -import org.eclipse.rse.ui.SystemWidgetHelpers; -import org.eclipse.rse.ui.messages.ISystemMessageLine; -import org.eclipse.rse.ui.messages.SystemMessageDialog; -import org.eclipse.rse.ui.validators.ValidatorFileName; -import org.eclipse.rse.ui.view.ISystemRemoteElementAdapter; -import org.eclipse.rse.ui.view.SystemAdapterHelpers; -import org.eclipse.swt.events.ModifyEvent; -import org.eclipse.swt.events.ModifyListener; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Shell; -import org.eclipse.swt.widgets.Text; - - -public class SystemEnterOrSelectRemoteFileForm extends SystemSelectRemoteFileOrFolderForm { - - // text field for file name - protected Text fileNameText; - - // initial file name - protected String fileName, initialFileName; - - // file name validator - protected ValidatorFileName validator; - - /** - * Constructor for form to enter or select a file. - * @param msgLine A GUI widget capable of writing error messages to. - * @param caller The wizardpage or dialog hosting this form. - * @param fileMode true if in select-file mode, false if in select-folder mode - */ - public SystemEnterOrSelectRemoteFileForm(ISystemMessageLine msgLine, Object caller, boolean fileMode) { - super(msgLine, caller, fileMode); - validator = new ValidatorFileName(); - initialFileName = ""; //$NON-NLS-1$ - fileName = initialFileName; - } - - /** - * Calls super method and creates the text field for file name. - * @see org.eclipse.rse.files.ui.widgets.SystemSelectRemoteFileOrFolderForm#createContents(org.eclipse.swt.widgets.Shell, org.eclipse.swt.widgets.Composite) - */ - public Control createContents(Shell shell, Composite parent) { - Control control = super.createContents(shell, parent); - - Composite composite = SystemWidgetHelpers.createComposite(parent, 2); - - // file name text field - fileNameText = SystemWidgetHelpers.createLabeledTextField( - composite, null, FileResources.RESID_NEWFILE_NAME_LABEL, FileResources.RESID_NEWFILE_NAME_TOOLTIP); - - // listen for file name modifications - fileNameText.addModifyListener(new ModifyListener() { - public void modifyText(ModifyEvent e) { - fileName = fileNameText.getText(); - setPageComplete(); - } - }); - - // set file name - if (fileName != null) { - fileNameText.setText(fileName); - } - - return control; - } - - /** - * @see org.eclipse.rse.files.ui.widgets.SystemSelectRemoteFileOrFolderForm#verify() - */ - public boolean verify() { - - boolean ok = super.verify(); - - if (ok) { - - IRemoteFile file = (IRemoteFile)getSelectedObject(); - IRemoteFile saveasFile = null; - - try { - saveasFile = file.getParentRemoteFileSubSystem().getRemoteFileObject(file, fileName, new NullProgressMonitor()); - } - catch (Exception e) { - } - - if (saveasFile != null && saveasFile.exists()) { - - SystemMessage msg = RSEUIPlugin.getPluginMessage(ISystemMessages.MSG_UPLOAD_FILE_EXISTS); - msg.makeSubstitution(fileName); - SystemMessageDialog dlg = new SystemMessageDialog(getShell(), msg); - ok = dlg.openQuestionNoException(); - } - } - - return ok; - } - - /** - * @see org.eclipse.rse.files.ui.widgets.SystemSelectRemoteFileOrFolderForm#isPageComplete() - */ - public boolean isPageComplete() { - - SystemMessage errMsg = null; - - if (fileName != null) { - errMsg = validator.validate(fileName); - } - - if (errMsg != null) { - setErrorMessage(errMsg); - return false; - } - else { - clearErrorMessage(); - } - - return fileNameText != null && fileNameText.getText().length() > 0 && super.isPageComplete(); - } - - /** - * @see org.eclipse.rse.files.ui.widgets.SystemSelectRemoteFileOrFolderForm#setPreSelection(org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFile) - */ - public void setPreSelection(IRemoteFile selection) { - - // if preselect a directory, just call super - if (selection.isDirectory()) { - super.setPreSelection(selection); - } - // otherwise, if it's a file, select the parent and set the file name - else if (selection.isFile()) { - IRemoteFile parentFile = selection.getParentRemoteFile(); - - if (parentFile.isDirectory()) { - super.setPreSelection(parentFile); - } - - initialFileName = parentFile.getName(); - fileName = initialFileName; - } - } - - /** - * @see org.eclipse.jface.viewers.ISelectionChangedListener#selectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent) - */ - public void selectionChanged(SelectionChangedEvent e) { - super.selectionChanged(e); - - Object selectedObject = getFirstSelection(e.getSelection()); - - if (selectedObject != null && selectedObject instanceof IRemoteFile) { - - IRemoteFile remoteFile = (IRemoteFile)selectedObject; - - ISystemRemoteElementAdapter remoteAdapter = getRemoteAdapter(selectedObject); - - if ((remoteAdapter != null)) { - - if (fileNameText != null) { - - // simulate the parent file being selected... - Object parentFile = tree.getSelectedParent(); - - if (remoteFile.isFile()) { - fileName = remoteAdapter.getName(selectedObject); - fileNameText.setText(fileName); - } - else { - fileName = initialFileName; - fileNameText.setText(fileName); - parentFile = remoteFile; - } - - remoteAdapter = getRemoteAdapter(parentFile); - - if (remoteAdapter != null) { - String fullPath = remoteAdapter.getAbsoluteName(parentFile); - setNameText(fullPath); - outputObjects = new Object[] { parentFile }; - setPageComplete(); - } - } - } - } - } - - /** - * Returns the remote element adapter. - * @param o the remote element. - * @return the remote element adapter. - */ - protected ISystemRemoteElementAdapter getRemoteAdapter(Object o) { - return SystemAdapterHelpers.getRemoteAdapter(o); - } - - /** - * Returns the file name. - * @return the file name. - */ - public String getFileName() { - return fileName; - } -} \ No newline at end of file diff --git a/rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/actions/SystemAddToArchiveAction.java b/rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/actions/SystemAddToArchiveAction.java deleted file mode 100644 index 59fe9463a39..00000000000 --- a/rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/actions/SystemAddToArchiveAction.java +++ /dev/null @@ -1,410 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2003, 2007 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 - * - * Initial Contributors: - * The following IBM employees contributed to the Remote System Explorer - * component that contains this file: David McKnight, Kushal Munir, - * Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson, - * Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley. - * - * Contributors: - * Martin Oberhuber (Wind River) - [168975] Move RSE Events API to Core - * Martin Oberhuber (Wind River) - [186773] split ISystemRegistryUI from ISystemRegistry - ********************************************************************************/ - -package org.eclipse.rse.internal.files.ui.actions; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; -import java.util.Vector; - -import org.eclipse.core.runtime.IAdaptable; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.NullProgressMonitor; -import org.eclipse.jface.dialogs.ProgressMonitorDialog; -import org.eclipse.jface.operation.IRunnableContext; -import org.eclipse.jface.operation.IRunnableWithProgress; -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.rse.core.RSECorePlugin; -import org.eclipse.rse.core.events.ISystemRemoteChangeEvents; -import org.eclipse.rse.core.events.ISystemResourceChangeEvents; -import org.eclipse.rse.core.events.SystemResourceChangeEvent; -import org.eclipse.rse.core.model.IHost; -import org.eclipse.rse.core.model.ISystemRegistry; -import org.eclipse.rse.core.subsystems.ISystemDragDropAdapter; -import org.eclipse.rse.files.ui.dialogs.AddToArchiveDialog; -import org.eclipse.rse.internal.files.ui.FileResources; -import org.eclipse.rse.services.clientserver.archiveutils.ArchiveHandlerManager; -import org.eclipse.rse.services.clientserver.messages.SystemMessage; -import org.eclipse.rse.services.clientserver.messages.SystemMessageException; -import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFile; -import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFileSubSystem; -import org.eclipse.rse.subsystems.files.core.subsystems.IVirtualRemoteFile; -import org.eclipse.rse.ui.ISystemMessages; -import org.eclipse.rse.ui.RSEUIPlugin; -import org.eclipse.rse.ui.actions.SystemBaseAction; -import org.eclipse.rse.ui.messages.SystemMessageDialog; -import org.eclipse.swt.widgets.Shell; - - -/** - * @author mjberger - * - * To change the template for this generated type comment go to - * Window>Preferences>Java>Code Generation>Code and Comments - */ -public class SystemAddToArchiveAction extends SystemBaseAction -{ - - protected List _selected; - protected Shell _parent; - - public SystemAddToArchiveAction(Shell parent) - { - super(FileResources.ACTION_ADDTOARCHIVE_LABEL, parent); - setToolTipText(FileResources.ACTION_ADDTOARCHIVE_TOOLTIP); - _selected = new ArrayList(); - _parent = parent; - allowOnMultipleSelection(true); - setHelp(RSEUIPlugin.HELPPREFIX + "actn0122"); //$NON-NLS-1$ - } - - public SystemAddToArchiveAction(Shell parent, String label, String tooltip) - { - super(label, tooltip, parent); - _selected = new ArrayList(); - _parent = parent; - allowOnMultipleSelection(true); - setHelp(RSEUIPlugin.HELPPREFIX + "actn0122"); //$NON-NLS-1$ - } - - public void run() - { - boolean repeat = true; - while (repeat) - { - IRemoteFile firstSelection = (IRemoteFile) _selected.get(0); - String title = FileResources.RESID_ADDTOARCHIVE_TITLE; - - String[] relativePaths = getRelativePaths(); - - AddToArchiveDialog dialog = new AddToArchiveDialog(getShell(), title, relativePaths); - dialog.setNeedsProgressMonitor(false); - - dialog.setMessage(FileResources.RESID_ADDTOARCHIVE_PROMPT); - dialog.setShowNewConnectionPrompt(true); - dialog.setShowPropertySheet(true, false); - - dialog.setPreSelection(firstSelection); - - dialog.setBlockOnOpen(true); - dialog.setShowLocationPrompt(true); - dialog.setLocationPrompt(FileResources.RESID_ADDTOARCHIVE_LOCATION); - dialog.setNameAndTypePrompt(FileResources.RESID_ADDTOARCHIVE_NAMEANDTYPE); - //dialog.setSelectionValidator(this); - - dialog.open(); - - // if (rc != 0) NOT RELIABLE! - boolean cancelled = false; - if (dialog.wasCancelled()) cancelled = true; - - IRemoteFile destinationArchive = null; - IRemoteFileSubSystem destSS = null; - boolean saveFullPathInfo; - String relativeTo = ""; //$NON-NLS-1$ - - if (!cancelled) - { - destinationArchive = (IRemoteFile) dialog.getOutputObject(); - saveFullPathInfo = dialog.getSaveFullPathInfo(); - if (saveFullPathInfo) relativeTo = dialog.getRelativePath(); - destSS = destinationArchive.getParentRemoteFileSubSystem(); - } - else - { - return; - } - - if (ArchiveHandlerManager.isVirtual(destinationArchive.getAbsolutePath())) - { - SystemMessage msg = RSEUIPlugin.getPluginMessage(ISystemMessages.MSG_ADDTO_VIRTUAL_DEST); - SystemMessageDialog dlg = new SystemMessageDialog(getShell(), msg); - dlg.open(); - continue; - } - - if (destinationInSource(destinationArchive)) - { - SystemMessage msg = RSEUIPlugin.getPluginMessage(ISystemMessages.MSG_DEST_NOT_IN_SOURCE); - SystemMessageDialog dlg = new SystemMessageDialog(getShell(), msg); - dlg.open(); - continue; - } - - try - { - if (!destinationArchive.exists()) destSS.createFile(destinationArchive, new NullProgressMonitor()); - } - catch (SystemMessageException e) - { - SystemMessageDialog dlg = new SystemMessageDialog(getShell(), e.getSystemMessage()); - dlg.open(); - continue; - } - for (int i = 0; i < _selected.size(); i++) - { - IRemoteFile selection = (IRemoteFile) _selected.get(i); - addToArchive(selection, destinationArchive, saveFullPathInfo, relativeTo); - } - ISystemRegistry registry = RSECorePlugin.getTheSystemRegistry(); - registry.fireRemoteResourceChangeEvent(ISystemRemoteChangeEvents.SYSTEM_REMOTE_RESOURCE_CREATED, destinationArchive, destinationArchive.getParentPath(), destSS, null); - registry.fireEvent(new SystemResourceChangeEvent(destinationArchive, ISystemResourceChangeEvents.EVENT_REFRESH, destinationArchive.getParentPath())); - repeat = false; - } - return; - } - - public void addToArchive(IRemoteFile source, IRemoteFile destinationArchive, boolean saveFullPathInfo, String relativeTo) - { - IProgressMonitor monitor = new NullProgressMonitor(); - IRemoteFile destination = null; - - if (destinationArchive == null) - { - return; - } - if (!destinationArchive.getParentRemoteFileSubSystem().getParentRemoteFileSubSystemConfiguration().supportsArchiveManagement()) - { - return; - } - if (ArchiveHandlerManager.isVirtual(destinationArchive.getAbsolutePath())) - { - return; - } - if (destinationInSource(destinationArchive)) - { - return; - } - if (!destinationArchive.isArchive()) - { - return; - } - try - { - if (!destinationArchive.exists()) destinationArchive.getParentRemoteFileSubSystem().createFile(destinationArchive, monitor); - } - catch (SystemMessageException e) - { - SystemMessageDialog dlg = new SystemMessageDialog(getShell(), e.getSystemMessage()); - dlg.open(); - return; - } - if (saveFullPathInfo) - { - String selectionPath = source.getAbsolutePath(); - String destinationVirtualDirectory = selectionPath.substring(relativeTo.length()); - int lastSlash = destinationVirtualDirectory.lastIndexOf(source.getSeparatorChar()); - if (lastSlash != -1) - { - destinationVirtualDirectory = destinationVirtualDirectory.substring(0, lastSlash); - destinationVirtualDirectory = ArchiveHandlerManager.cleanUpVirtualPath(destinationVirtualDirectory); - String newDestinationPath = destinationArchive.getAbsolutePath() + ArchiveHandlerManager.VIRTUAL_SEPARATOR + destinationVirtualDirectory; - try - { - destination = destinationArchive.getParentRemoteFileSubSystem().getRemoteFileObject(newDestinationPath, monitor); - if (!destination.exists()) - { - destinationArchive.getParentRemoteFileSubSystem().createFolders(destination, monitor); - } - } - catch (SystemMessageException e) - { - SystemMessageDialog dlg = new SystemMessageDialog(getShell(), e.getSystemMessage()); - dlg.open(); - return; - } - - } - } - - IRunnableContext runnableContext = getRunnableContext(_parent); - - CopyRunnable runnable = new CopyRunnable(source, destination); - try - { - // currently we don't run this in a thread because - // in some cases dialogs are launched in the operation - // (widgets can only be legally used on the main thread) - runnableContext.run(false, true, runnable); // inthread, cancellable, IRunnableWithProgress - } - catch (java.lang.reflect.InvocationTargetException exc) - { - } - catch (java.lang.InterruptedException e) - { - } - } - - protected class CopyRunnable implements IRunnableWithProgress - { - private IRemoteFileSubSystem destSS; - private IRemoteFileSubSystem sourceSS; - private IRemoteFile selection; - private IRemoteFile destination; - - public CopyRunnable(IRemoteFile source, IRemoteFile dest) - { - destSS = dest.getParentRemoteFileSubSystem(); - sourceSS = source.getParentRemoteFileSubSystem(); - selection = source; - destination = dest; - } - - public void run(IProgressMonitor monitor) - { - try - { - ISystemDragDropAdapter srcAdapter = (ISystemDragDropAdapter) ((IAdaptable) selection).getAdapter(ISystemDragDropAdapter.class); - boolean sameSysType = sourceSS.getClass().equals(destSS.getClass()); - srcAdapter.doDrag(selection, sameSysType, monitor); - boolean sameSys = (sourceSS == destSS); - srcAdapter.doDrop(selection, destination, sameSysType, sameSys, 0, monitor); - } - catch (Exception e) - { - System.out.println(e.getMessage()); - System.out.println("SystemAddToArchiveAction: Could not drag and drop " + selection.getAbsolutePath()); //$NON-NLS-1$ - } - } - } - - /** - * Called when the selection changes in the systems view. This determines - * the input object for the command and whether to enable or disable - * the action. - * - * @param selection the current seleciton - * @return whether to enable or disable the action - */ - public boolean updateSelection(IStructuredSelection selection) - { - _selected.clear(); - boolean enable = false; - - Iterator e = selection.iterator(); - while (e.hasNext()) - { - Object selected = e.next(); - - if (selected != null && selected instanceof IRemoteFile) - { - IRemoteFile file = (IRemoteFile) selected; - _selected.add(file); - enable = true; - } - else - { - return false; - } - } - return enable; - } - - protected IRunnableContext getRunnableContext(Shell shell) - { - IRunnableContext irc = RSEUIPlugin.getTheSystemRegistryUI().getRunnableContext(); - if (irc != null) - { - return irc; - } - - return new ProgressMonitorDialog(shell); - } - - protected boolean destinationInSource(IRemoteFile destination) - { - boolean insource = false; - for (int i = 0; i < _selected.size(); i++) - { - if (isAncestorOf((IRemoteFile)_selected.get(i), destination)) - { - insource = true; - break; - } - } - return insource; - } - - protected boolean isAncestorOf(IRemoteFile ancestor, IRemoteFile descendant) - { - return ancestor.isAncestorOf(descendant); - } - - protected String[] getRelativePaths() - { - IRemoteFile file = (IRemoteFile) _selected.get(0); - if (file instanceof IVirtualRemoteFile) return null; - IHost con = file.getSystemConnection(); - String host = con.getHostName(); - String root = file.getRoot(); - String lowestCommonPath = file.getAbsolutePath(); - boolean caseSensitive = file.getParentRemoteFileSubSystem().isCaseSensitive(); - char separator = file.getSeparatorChar(); - - for (int i = 1; i < _selected.size(); i++) - { - file = (IRemoteFile) _selected.get(i); - if (file instanceof IVirtualRemoteFile) return null; - IHost nextCon = file.getSystemConnection(); - String nextHost = nextCon.getHostName(); - String nextRoot = file.getRoot(); - String nextPath = file.getAbsolutePath(); - if (nextHost.equals(host) && nextRoot.equals(root)) - { - lowestCommonPath = getLowestCommonPath(lowestCommonPath, nextPath, caseSensitive); - } - else - { - return null; - } - } - return getRelativePaths(lowestCommonPath, separator); - } - - protected String[] getRelativePaths(String lcp, char separator) - { - Vector relpaths = new Vector(); - for (int i = lcp.length() - 1; i >= 0; i--) - { - if (lcp.charAt(i) == separator) - { - relpaths.add(lcp.substring(0, i+1)); - } - } - String[] results = new String[relpaths.size()]; - for (int i = 0; i < relpaths.size(); i++) - { - results[i] = (String) relpaths.get(i); - } - return results; - } - - protected String getLowestCommonPath(String str1, String str2, boolean caseSensitive) - { - int maxLength = Math.min(str1.length(), str2.length()); - - for (int i = maxLength; i >= 0; i--) - { - if (str1.regionMatches(!caseSensitive, 0, str2, 0, i)) - { - return str1.substring(0, i); - } - } - return ""; //$NON-NLS-1$ - } -} \ No newline at end of file diff --git a/rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/actions/SystemCombineAction.java b/rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/actions/SystemCombineAction.java deleted file mode 100644 index e058d13a0bd..00000000000 --- a/rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/actions/SystemCombineAction.java +++ /dev/null @@ -1,173 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2003, 2007 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 - * - * Initial Contributors: - * The following IBM employees contributed to the Remote System Explorer - * component that contains this file: David McKnight, Kushal Munir, - * Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson, - * Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley. - * - * Contributors: - * Martin Oberhuber (Wind River) - [168975] Move RSE Events API to Core - * Martin Oberhuber (Wind River) - [184095] Replace systemTypeName by IRSESystemType - * Martin Oberhuber (Wind River) - [183824] Forward SystemMessageException from IRemoteFileSubsystem - * Martin Oberhuber (Wind River) - [186773] split ISystemRegistryUI from ISystemRegistry - ********************************************************************************/ - -package org.eclipse.rse.internal.files.ui.actions; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.NullProgressMonitor; -import org.eclipse.jface.operation.IRunnableContext; -import org.eclipse.rse.core.RSECorePlugin; -import org.eclipse.rse.core.events.ISystemRemoteChangeEvents; -import org.eclipse.rse.core.events.ISystemResourceChangeEvents; -import org.eclipse.rse.core.events.SystemResourceChangeEvent; -import org.eclipse.rse.core.model.ISystemRegistry; -import org.eclipse.rse.files.ui.dialogs.CombineDialog; -import org.eclipse.rse.internal.files.ui.FileResources; -import org.eclipse.rse.services.clientserver.archiveutils.ArchiveHandlerManager; -import org.eclipse.rse.services.clientserver.messages.SystemMessage; -import org.eclipse.rse.services.clientserver.messages.SystemMessageException; -import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFile; -import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFileSubSystem; -import org.eclipse.rse.ui.ISystemIconConstants; -import org.eclipse.rse.ui.ISystemMessages; -import org.eclipse.rse.ui.RSEUIPlugin; -import org.eclipse.rse.ui.messages.SystemMessageDialog; -import org.eclipse.swt.widgets.Shell; - - -/** - * @author mjberger - * - * To change the template for this generated type comment go to - * Window>Preferences>Java>Code Generation>Code and Comments - */ -public class SystemCombineAction extends SystemExtractToAction { - - public SystemCombineAction(Shell parent) - { - super(parent, FileResources.ACTION_COMBINE_LABEL, FileResources.ACTION_COMBINE_TOOLTIP); - setHelp(RSEUIPlugin.HELPPREFIX + "actn0120"); //$NON-NLS-1$ - setImageDescriptor(RSEUIPlugin.getDefault().getImageDescriptor(ISystemIconConstants.ICON_SYSTEM_COMBINE_ID)); - - } - - public void run() - { - boolean repeat = true; - while (repeat) - { - IRemoteFile firstSelection = (IRemoteFile) _selected.get(0); - String title = FileResources.RESID_COMBINE_TITLE; - CombineDialog dialog = new CombineDialog(getShell(), title); - - dialog.setNeedsProgressMonitor(false); - - dialog.setMessage(FileResources.RESID_COMBINE_PROMPT); - dialog.setShowNewConnectionPrompt(true); - dialog.setShowPropertySheet(true, false); - dialog.setSystemTypes(getValidSystemTypes()); - - dialog.setPreSelection(firstSelection); - - dialog.setBlockOnOpen(true); - - dialog.open(); - - // if (rc != 0) NOT RELIABLE! - boolean cancelled = false; - if (dialog.wasCancelled()) cancelled = true; - - IRemoteFile destination = null; - IRemoteFileSubSystem destSS = null; - if (!cancelled) - { - destination = (IRemoteFile) dialog.getOutputObject(); - destSS = destination.getParentRemoteFileSubSystem(); - } - else - { - return; - } - - if (ArchiveHandlerManager.isVirtual(destination.getAbsolutePath())) - { - SystemMessage msg = RSEUIPlugin.getPluginMessage(ISystemMessages.MSG_COMBINETO_VIRTUAL_DEST); - SystemMessageDialog dlg = new SystemMessageDialog(getShell(), msg); - dlg.open(); - continue; - } - - if (destinationInSource(destination)) - { - SystemMessage msg = RSEUIPlugin.getPluginMessage(ISystemMessages.MSG_DEST_NOT_IN_SOURCE); - SystemMessageDialog dlg = new SystemMessageDialog(getShell(), msg); - dlg.open(); - continue; - } - - try - { - if (!destination.exists()) destSS.createFile(destination, new NullProgressMonitor()); - } - catch (SystemMessageException e) - { - SystemMessageDialog.displayMessage(e); - } - IProgressMonitor monitor = new NullProgressMonitor(); - for (int i = 0; i < _selected.size(); i++) - { - IRemoteFile selection = (IRemoteFile) _selected.get(i); - - IRunnableContext runnableContext = getRunnableContext(_parent); - String nextName = selection.getName(); - int j = nextName.lastIndexOf("."); //$NON-NLS-1$ - if (j != -1) - { - nextName = nextName.substring(0, j); - } - String nextDest = destination.getAbsolutePath() + ArchiveHandlerManager.VIRTUAL_SEPARATOR + nextName; - IRemoteFile nextDestination = null; - try - { - while (destSS.getRemoteFileObject(nextDest, monitor).exists()) - { - nextDest = nextDest + "1"; //$NON-NLS-1$ - } - nextDestination = destSS.getRemoteFileObject(nextDest, monitor); - destSS.createFolder(nextDestination, monitor); - } - catch (SystemMessageException e) - { - SystemMessageDialog dlg = new SystemMessageDialog(getShell(), e.getSystemMessage()); - dlg.open(); - return; - } - - ExtractRunnable runnable = new ExtractRunnable(selection, nextDestination); - try - { - // currently we don't run this in a thread because - // in some cases dialogs are launched in the operation - // (widgets can only be legally used on the main thread) - runnableContext.run(false, true, runnable); // inthread, cancellable, IRunnableWithProgress - } - catch (java.lang.reflect.InvocationTargetException exc) - { - } - catch (java.lang.InterruptedException e) - { - } - } - ISystemRegistry registry = RSECorePlugin.getTheSystemRegistry(); - registry.fireRemoteResourceChangeEvent(ISystemRemoteChangeEvents.SYSTEM_REMOTE_RESOURCE_CREATED, destination, destination.getParentPath(), destSS, null); - registry.fireEvent(new SystemResourceChangeEvent(destination, ISystemResourceChangeEvents.EVENT_REFRESH, destination.getParentPath())); - repeat = false; - } - return; - } -} \ No newline at end of file diff --git a/rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/actions/SystemConvertAction.java b/rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/actions/SystemConvertAction.java deleted file mode 100644 index d24477232e5..00000000000 --- a/rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/actions/SystemConvertAction.java +++ /dev/null @@ -1,179 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2003, 2007 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 - * - * Initial Contributors: - * The following IBM employees contributed to the Remote System Explorer - * component that contains this file: David McKnight, Kushal Munir, - * Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson, - * Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley. - * - * Contributors: - * Martin Oberhuber (Wind River) - [168975] Move RSE Events API to Core - * Martin Oberhuber (Wind River) - [184095] Replace systemTypeName by IRSESystemType - * Martin Oberhuber (Wind River) - [186773] split ISystemRegistryUI from ISystemRegistry - ********************************************************************************/ - -package org.eclipse.rse.internal.files.ui.actions; -import org.eclipse.core.runtime.NullProgressMonitor; -import org.eclipse.jface.operation.IRunnableContext; -import org.eclipse.rse.core.RSECorePlugin; -import org.eclipse.rse.core.events.ISystemRemoteChangeEvents; -import org.eclipse.rse.core.events.ISystemResourceChangeEvents; -import org.eclipse.rse.core.events.SystemResourceChangeEvent; -import org.eclipse.rse.core.model.ISystemRegistry; -import org.eclipse.rse.files.ui.dialogs.CombineDialog; -import org.eclipse.rse.internal.files.ui.FileResources; -import org.eclipse.rse.services.clientserver.archiveutils.ArchiveHandlerManager; -import org.eclipse.rse.services.clientserver.messages.SystemMessage; -import org.eclipse.rse.services.clientserver.messages.SystemMessageException; -import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFile; -import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFileSubSystem; -import org.eclipse.rse.ui.ISystemIconConstants; -import org.eclipse.rse.ui.ISystemMessages; -import org.eclipse.rse.ui.RSEUIPlugin; -import org.eclipse.rse.ui.messages.SystemMessageDialog; -import org.eclipse.swt.widgets.Shell; - - - -/** - * @author mjberger - * - * To change the template for this generated type comment go to - * Window>Preferences>Java>Code Generation>Code and Comments - */ -public class SystemConvertAction extends SystemExtractToAction { - - public SystemConvertAction(Shell parent) - { - super(parent, FileResources.ACTION_CONVERT_LABEL, FileResources.ACTION_CONVERT_TOOLTIP); - setHelp(RSEUIPlugin.HELPPREFIX + "actn0121"); //$NON-NLS-1$ - setImageDescriptor(RSEUIPlugin.getDefault().getImageDescriptor(ISystemIconConstants.ICON_SYSTEM_CONVERT_ID)); - - } - - public void run() - { - for (int i = 0; i < _selected.size(); i++) - { - IRemoteFile selection = (IRemoteFile) _selected.get(i); - String title = FileResources.RESID_CONVERT_TITLE; - CombineDialog dialog = new CombineDialog(getShell(), title, true); - - dialog.setNeedsProgressMonitor(false); - String message = SystemMessage.sub(FileResources.RESID_CONVERT_PROMPT, "&1", selection.getAbsolutePath()); //$NON-NLS-1$ - dialog.setMessage(message); - dialog.setShowNewConnectionPrompt(true); - dialog.setShowPropertySheet(true, false); - dialog.setSystemTypes(getValidSystemTypes()); - - dialog.setPreSelection(selection); - - dialog.setBlockOnOpen(true); - dialog.setHelp(RSEUIPlugin.HELPPREFIX + "cnvd0000"); //$NON-NLS-1$ - dialog.setShowLocationPrompt(true); - dialog.setLocationPrompt(FileResources.RESID_CONVERT_LOCATION); - dialog.setNameAndTypePrompt(FileResources.RESID_CONVERT_NAMEANDTYPE); - dialog.setSelectionValidator(this); - - dialog.open(); - - // if (rc != 0) NOT RELIABLE! - boolean cancelled = false; - if (dialog.wasCancelled()) cancelled = true; - - IRemoteFile destination = null; - IRemoteFileSubSystem destSS = null; - if (!cancelled) - { - destination = (IRemoteFile) dialog.getOutputObject(); - destSS = destination.getParentRemoteFileSubSystem(); - } - else - { - return; - } - - - if (ArchiveHandlerManager.isVirtual(destination.getAbsolutePath())) - { - SystemMessage msg = RSEUIPlugin.getPluginMessage(ISystemMessages.MSG_CONVERTTO_VIRTUAL_DEST); - SystemMessageDialog dlg = new SystemMessageDialog(getShell(), msg); - dlg.open(); - i--; - continue; - } - if (!destination.canWrite()) - { - SystemMessage msg = RSEUIPlugin.getPluginMessage(ISystemMessages.MSG_DEST_TARGET_READONLY); - SystemMessageDialog dlg = new SystemMessageDialog(getShell(), msg); - dlg.open(); - i--; - continue; - } - if (selection.isAncestorOf(destination)) - { - SystemMessage msg = RSEUIPlugin.getPluginMessage(ISystemMessages.MSG_DEST_NOT_IN_SOURCE); - SystemMessageDialog dlg = new SystemMessageDialog(getShell(), msg); - dlg.open(); - i--; - continue; - } - - try - { - if (destination.exists()) - { - SystemMessage msg = RSEUIPlugin.getPluginMessage(ISystemMessages.MSG_UPLOAD_FILE_EXISTS); - msg.makeSubstitution(destination.getName()); - SystemMessageDialog dlg = new SystemMessageDialog(getShell(), msg); - boolean ok = dlg.openQuestionNoException(); - if (ok) - { - if (destination.getAbsolutePath().equals(selection.getAbsolutePath())) - { - continue; - } - destSS.delete(destination, null); - } - else - { - i--; - continue; - } - } - destSS.createFile(destination, new NullProgressMonitor()); - } - catch (SystemMessageException e) - { - SystemMessageDialog dlg = new SystemMessageDialog(getShell(), e.getSystemMessage()); - dlg.open(); - continue; - } - - IRunnableContext runnableContext = getRunnableContext(_parent); - - ExtractRunnable runnable = new ExtractRunnable(selection, destination); - try - { - // currently we don't run this in a thread because - // in some cases dialogs are launched in the operation - // (widgets can only be legally used on the main thread) - runnableContext.run(false, true, runnable); // inthread, cancellable, IRunnableWithProgress - } - catch (java.lang.reflect.InvocationTargetException exc) - { - } - catch (java.lang.InterruptedException e) - { - } - ISystemRegistry registry = RSECorePlugin.getTheSystemRegistry(); - registry.fireRemoteResourceChangeEvent(ISystemRemoteChangeEvents.SYSTEM_REMOTE_RESOURCE_CREATED, destination, destination.getParentPath(), destSS, null); - registry.fireEvent(new SystemResourceChangeEvent(destination, ISystemResourceChangeEvents.EVENT_REFRESH, destination.getParentPath())); - } - } - -} \ No newline at end of file diff --git a/rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/actions/SystemExtractAction.java b/rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/actions/SystemExtractAction.java deleted file mode 100644 index 8efcfd06ffc..00000000000 --- a/rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/actions/SystemExtractAction.java +++ /dev/null @@ -1,272 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2003, 2007 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 - * - * Initial Contributors: - * The following IBM employees contributed to the Remote System Explorer - * component that contains this file: David McKnight, Kushal Munir, - * Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson, - * Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley. - * - * Contributors: - * Martin Oberhuber (Wind River) - [168975] Move RSE Events API to Core - * Martin Oberhuber (Wind River) - [183824] Forward SystemMessageException from IRemoteFileSubsystem - * Martin Oberhuber (Wind River) - [186773] split ISystemRegistryUI from ISystemRegistry - ********************************************************************************/ - -package org.eclipse.rse.internal.files.ui.actions; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - -import org.eclipse.core.runtime.IAdaptable; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.NullProgressMonitor; -import org.eclipse.jface.dialogs.ProgressMonitorDialog; -import org.eclipse.jface.operation.IRunnableContext; -import org.eclipse.jface.operation.IRunnableWithProgress; -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.rse.core.RSECorePlugin; -import org.eclipse.rse.core.events.ISystemRemoteChangeEvents; -import org.eclipse.rse.core.events.ISystemResourceChangeEvents; -import org.eclipse.rse.core.events.SystemResourceChangeEvent; -import org.eclipse.rse.core.model.ISystemRegistry; -import org.eclipse.rse.core.subsystems.ISystemDragDropAdapter; -import org.eclipse.rse.internal.files.ui.FileResources; -import org.eclipse.rse.services.clientserver.messages.SystemMessage; -import org.eclipse.rse.services.clientserver.messages.SystemMessageException; -import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFile; -import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFileSubSystem; -import org.eclipse.rse.ui.ISystemIconConstants; -import org.eclipse.rse.ui.ISystemMessages; -import org.eclipse.rse.ui.RSEUIPlugin; -import org.eclipse.rse.ui.actions.SystemBaseAction; -import org.eclipse.rse.ui.messages.SystemMessageDialog; -import org.eclipse.swt.widgets.Shell; - - -/** - * @author mjberger - * - * To change the template for this generated type comment go to - * Window>Preferences>Java>Code Generation>Code and Comments - */ -public class SystemExtractAction extends SystemBaseAction -{ - protected List _selected; - protected Shell _parent; - protected String _label; - - public SystemExtractAction(Shell parent) - { - super(FileResources.ACTION_EXTRACT_LABEL, parent); - _label = FileResources.ACTION_EXTRACT_LABEL; - setToolTipText(FileResources.ACTION_EXTRACT_TOOLTIP); - _selected = new ArrayList(); - _parent = parent; - allowOnMultipleSelection(true); - setHelp(RSEUIPlugin.HELPPREFIX + "actn0118"); //$NON-NLS-1$ - setImageDescriptor(RSEUIPlugin.getDefault().getImageDescriptor(ISystemIconConstants.ICON_SYSTEM_EXTRACT_ID)); - } - - public SystemExtractAction(Shell parent, String label, String tooltip) - { - super(label, tooltip, parent); - _label = label; - setToolTipText(tooltip); - _selected = new ArrayList(); - _parent = parent; - allowOnMultipleSelection(true); - setHelp(RSEUIPlugin.HELPPREFIX + "actn0118"); //$NON-NLS-1$ - setImageDescriptor(RSEUIPlugin.getDefault().getImageDescriptor(ISystemIconConstants.ICON_SYSTEM_EXTRACT_ID)); - - } - - public void run() - { - IProgressMonitor monitor = new NullProgressMonitor(); - for (int i = 0; i < _selected.size(); i++) - { - IRemoteFile selection = (IRemoteFile) _selected.get(i); - IRemoteFile destinationParent = selection.getParentRemoteFile(); - IRemoteFileSubSystem ss = selection.getParentRemoteFileSubSystem(); - String newName = getExtractedName(selection); - IRemoteFile destination = null; - try - { - destination = ss.getRemoteFileObject(destinationParent.getAbsolutePath() + destinationParent.getSeparator() + newName, monitor); - ss.createFolder(destination, monitor); - } - catch (SystemMessageException e) - { - SystemMessageDialog dlg = new SystemMessageDialog(getShell(), e.getSystemMessage()); - dlg.open(); - continue; - } - IRunnableContext runnableContext = getRunnableContext(_parent); - - ExtractRunnable runnable = new ExtractRunnable(selection, destination); - try - { - // currently we don't run this in a thread because - // in some cases dialogs are launched in the operation - // (widgets can only be legally used on the main thread) - runnableContext.run(false, true, runnable); // inthread, cancellable, IRunnableWithProgress - } - catch (java.lang.reflect.InvocationTargetException exc) - { - } - catch (java.lang.InterruptedException e) - { - } - // always refresh - - ISystemRegistry registry = RSECorePlugin.getTheSystemRegistry(); - registry.fireRemoteResourceChangeEvent(ISystemRemoteChangeEvents.SYSTEM_REMOTE_RESOURCE_CREATED, destination, destinationParent, ss, null); - registry.fireEvent(new SystemResourceChangeEvent(destination, ISystemResourceChangeEvents.EVENT_REFRESH, destinationParent)); - } - } - - protected class ExtractRunnable implements IRunnableWithProgress - { - private IRemoteFileSubSystem destSS; - private IRemoteFileSubSystem sourceSS; - private IRemoteFile selection; - private IRemoteFile destination; - - public ExtractRunnable(IRemoteFile source, IRemoteFile dest) - { - destSS = dest.getParentRemoteFileSubSystem(); - sourceSS = source.getParentRemoteFileSubSystem(); - selection = source; - destination = dest; - } - - public void run(IProgressMonitor monitor) - { - try - { - IRemoteFile[] sources = sourceSS.listFoldersAndFiles(selection, monitor); - for (int j = 0; j < sources.length && !monitor.isCanceled(); j++) - { - try - { - ISystemDragDropAdapter srcAdapter = (ISystemDragDropAdapter) ((IAdaptable) selection).getAdapter(ISystemDragDropAdapter.class); - boolean sameSysType = sourceSS.getClass().equals(destSS.getClass()); - boolean sameSys = (sourceSS == destSS); - if (!sameSys) - { - Object source = srcAdapter.doDrag(sources[j], sameSysType, monitor); - srcAdapter.doDrop(source, destination, sameSysType, sameSys, 0, monitor); - } - else - { - srcAdapter.doDrop(sources[j], destination, sameSysType, sameSys, 0, monitor); - } - } - catch (Exception e) - { - SystemMessage msg = RSEUIPlugin.getPluginMessage(ISystemMessages.MSG_OPERATION_FAILED); - SystemMessageDialog dlg = new SystemMessageDialog(getShell(), msg); - dlg.open(); - //System.out.println(e.getMessage()); - //System.out.println("Could not extract " + sources[j].getAbsolutePath()); //$NON-NLS-1$ - } - } - } - catch (SystemMessageException e) - { - SystemMessageDialog dlg = new SystemMessageDialog(getShell(), e.getSystemMessage()); - dlg.open(); - } - } - - } - - /** - * Called when the selection changes in the systems view. This determines - * the input object for the command and whether to enable or disable - * the action. - * - * @param selection the current seleciton - * @return whether to enable or disable the action - */ - public boolean updateSelection(IStructuredSelection selection) - { - _selected.clear(); - boolean enable = false; - - Iterator e = selection.iterator(); - while (e.hasNext()) - { - Object selected = e.next(); - - if (selected != null && selected instanceof IRemoteFile) - { - IRemoteFile file = (IRemoteFile) selected; - if (file.isArchive() && file.getParentRemoteFileSubSystem().getParentRemoteFileSubSystemConfiguration().supportsArchiveManagement()) - { - _selected.add(file); - enable = true; - } - } - else - { - return false; - } - } - if (_selected.size() == 1) - { - this.setText(getActionLabelForSingleSelection()); - } - else - { - this.setText(_label); - } - return enable; - } - - /** - * Extending classes must override this method, otherwise - * when there is one selection, the action label will be - * "Extract to xxxx", where xxxx is a dynamically created directory - * name. Note: you can also eliminate this behaviour by overriding - * the updateSelection method. - * @return Set this to return the normal action label if you don't want - * the name dynamically created. - */ - protected String getActionLabelForSingleSelection() - { - String msg = FileResources.ACTION_EXTRACT_SUB_LABEL; - return SystemMessage.sub(msg, "%1", getExtractedName((IRemoteFile)_selected.get(0))); //$NON-NLS-1$ - } - - protected String getExtractedName(IRemoteFile selection) - { - String newName = selection.getName(); - int k = newName.lastIndexOf("."); //$NON-NLS-1$ - if (k == -1) - { - newName = newName + "_contents"; //$NON-NLS-1$ - } - else - { - newName = newName.substring(0, k); - } - return newName; - } - - protected IRunnableContext getRunnableContext(Shell shell) - { - IRunnableContext irc = RSEUIPlugin.getTheSystemRegistryUI().getRunnableContext(); - if (irc != null) - { - return irc; - } - - return new ProgressMonitorDialog(shell); - } -} \ No newline at end of file diff --git a/rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/actions/SystemExtractToAction.java b/rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/actions/SystemExtractToAction.java deleted file mode 100644 index dd178be9715..00000000000 --- a/rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/actions/SystemExtractToAction.java +++ /dev/null @@ -1,209 +0,0 @@ -/******************************************************************************** - * Copyright (c) 2003, 2007 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 - * - * Initial Contributors: - * The following IBM employees contributed to the Remote System Explorer - * component that contains this file: David McKnight, Kushal Munir, - * Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson, - * Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley. - * - * Contributors: - * Martin Oberhuber (Wind River) - [168975] Move RSE Events API to Core - * Martin Oberhuber (Wind River) - [184095] Replace systemTypeName by IRSESystemType - * Martin Oberhuber (Wind River) - [186773] split ISystemRegistryUI from ISystemRegistry - ********************************************************************************/ - -package org.eclipse.rse.internal.files.ui.actions; -import org.eclipse.jface.operation.IRunnableContext; -import org.eclipse.rse.core.IRSESystemType; -import org.eclipse.rse.core.RSECorePlugin; -import org.eclipse.rse.core.events.ISystemRemoteChangeEvents; -import org.eclipse.rse.core.events.ISystemResourceChangeEvents; -import org.eclipse.rse.core.events.SystemResourceChangeEvent; -import org.eclipse.rse.core.model.IHost; -import org.eclipse.rse.core.model.ISystemRegistry; -import org.eclipse.rse.files.ui.dialogs.ExtractToDialog; -import org.eclipse.rse.internal.files.ui.FileResources; -import org.eclipse.rse.services.clientserver.messages.SystemMessage; -import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFile; -import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFileSubSystem; -import org.eclipse.rse.ui.ISystemIconConstants; -import org.eclipse.rse.ui.ISystemMessages; -import org.eclipse.rse.ui.RSEUIPlugin; -import org.eclipse.rse.ui.SystemWidgetHelpers; -import org.eclipse.rse.ui.messages.SystemMessageDialog; -import org.eclipse.rse.ui.validators.IValidatorRemoteSelection; -import org.eclipse.rse.ui.view.ISystemRemoteElementAdapter; -import org.eclipse.swt.widgets.Shell; - - -/** - * @author mjberger - * - * To change the template for this generated type comment go to - * Window>Preferences>Java>Code Generation>Code and Comments - */ -public class SystemExtractToAction extends SystemExtractAction implements IValidatorRemoteSelection -{ - private static final String[] validSystemTypesIds = { - IRSESystemType.SYSTEMTYPE_LOCAL_ID, - IRSESystemType.SYSTEMTYPE_WINDOWS_ID, - IRSESystemType.SYSTEMTYPE_LINUX_ID, - IRSESystemType.SYSTEMTYPE_POWER_LINUX_ID, - IRSESystemType.SYSTEMTYPE_UNIX_ID, - IRSESystemType.SYSTEMTYPE_AIX_ID, - IRSESystemType.SYSTEMTYPE_ISERIES_ID - }; - private static IRSESystemType[] validSystemTypes = null; - - protected SystemMessage targetDescendsFromSrcMsg = null; - protected int currentlyProcessingSelection = 0; - - public SystemExtractToAction(Shell parent) - { - super(parent,FileResources.ACTION_EXTRACT_TO_LABEL, FileResources.ACTION_EXTRACT_TO_TOOLTIP); - setHelp(RSEUIPlugin.HELPPREFIX + "actn0119"); //$NON-NLS-1$ - setImageDescriptor(RSEUIPlugin.getDefault().getImageDescriptor(ISystemIconConstants.ICON_SYSTEM_EXTRACTTO_ID)); - - } - - public SystemExtractToAction(Shell parent, String label, String tooltip) - { - super(parent, label, tooltip); - setHelp(RSEUIPlugin.HELPPREFIX + "actn0119"); //$NON-NLS-1$ - setImageDescriptor(RSEUIPlugin.getDefault().getImageDescriptor(ISystemIconConstants.ICON_SYSTEM_EXTRACTTO_ID)); - } - - protected IRSESystemType[] getValidSystemTypes() { - if (validSystemTypes==null) { - validSystemTypes = SystemWidgetHelpers.getValidSystemTypes(validSystemTypesIds); - } - return validSystemTypes; - } - - public void run() - { - for (int i = 0; i < _selected.size(); i++) - { - currentlyProcessingSelection = i; - IRemoteFile selection = (IRemoteFile) _selected.get(i); - //IRemoteFileSubSystem sourceSS = selection.getParentRemoteFileSubSystem(); - String title = FileResources.RESID_EXTRACTTO_TITLE; - ExtractToDialog dialog = new ExtractToDialog(getShell(), title); - - dialog.setNeedsProgressMonitor(true); - - String message = SystemMessage.sub(FileResources.RESID_EXTRACTTO_PROMPT, "&1", selection.getAbsolutePath()); //$NON-NLS-1$ - dialog.setMessage(message); - dialog.setShowNewConnectionPrompt(true); - dialog.setShowPropertySheet(true, false); - dialog.setSystemTypes(getValidSystemTypes()); - - dialog.setPreSelection(selection); - - dialog.setBlockOnOpen(true); - dialog.setSelectionValidator(this); - - /*if (dlgHelpId!=null) - { - dialog.setHelp(dlgHelpId); - }*/ - - dialog.open(); - - // if (rc != 0) NOT RELIABLE! - boolean cancelled = false; - if (dialog.wasCancelled()) cancelled = true; - - IRemoteFile destination = null; - IRemoteFileSubSystem destSS = null; - if (!cancelled) - { - destination = (IRemoteFile) dialog.getOutputObject(); - destSS = destination.getParentRemoteFileSubSystem(); - } - else - { - return; - } - - if (selection.isAncestorOf(destination)) - { - SystemMessage msg = RSEUIPlugin.getPluginMessage(ISystemMessages.MSG_DEST_NOT_IN_SOURCE); - SystemMessageDialog dlg = new SystemMessageDialog(getShell(), msg); - dlg.open(); - i--; - continue; - } - if (!destination.canWrite()) - { - SystemMessage msg = RSEUIPlugin.getPluginMessage(ISystemMessages.MSG_DEST_TARGET_READONLY); - SystemMessageDialog dlg = new SystemMessageDialog(getShell(), msg); - dlg.open(); - i--; - continue; - } - IRunnableContext runnableContext = getRunnableContext(_parent); - - ExtractRunnable runnable = new ExtractRunnable(selection, destination); - try - { - // currently we don't run this in a thread because - // in some cases dialogs are launched in the operation - // (widgets can only be legally used on the main thread) - runnableContext.run(false, true, runnable); // inthread, cancellable, IRunnableWithProgress - } - catch (java.lang.reflect.InvocationTargetException exc) - { - } - catch (java.lang.InterruptedException e) - { - } - // always refresh - ISystemRegistry registry = RSECorePlugin.getTheSystemRegistry(); - registry.fireRemoteResourceChangeEvent(ISystemRemoteChangeEvents.SYSTEM_REMOTE_RESOURCE_CREATED, destination, destination.getParentPath(), destSS, null); - registry.fireEvent(new SystemResourceChangeEvent(destination, ISystemResourceChangeEvents.EVENT_REFRESH, destination.getParentPath())); - } - } - - protected boolean destinationInSource(IRemoteFile destination) - { - boolean insource = false; - for (int i = 0; i < _selected.size(); i++) - { - if (destination.isDescendantOf((IRemoteFile) _selected.get(i))) - { - insource = true; - break; - } - } - return insource; - } - - protected String getActionLabelForSingleSelection() - { - return _label; - } - - public SystemMessage isValid(IHost selectedConnection, Object[] selectedObjects, ISystemRemoteElementAdapter[] remoteAdaptersForSelectedObjects) - { - //if (selectedConnection != sourceConnection) {} // someday, but can't happen today. - Object selectedObject = selectedObjects[0]; - IRemoteFile currentSelection = (IRemoteFile) _selected.get(currentlyProcessingSelection); - if (!(selectedObject instanceof IRemoteFile)) - return null; - IRemoteFile selectedFolder = (IRemoteFile)selectedObject; - if (selectedFolder.isDescendantOf(currentSelection)) - { - if (targetDescendsFromSrcMsg == null) - targetDescendsFromSrcMsg = RSEUIPlugin.getPluginMessage(ISystemMessages.FILEMSG_MOVE_TARGET_DESCENDS_FROM_SOUCE); - return targetDescendsFromSrcMsg; - } - else - return null; - } - -} \ No newline at end of file diff --git a/rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/view/SystemViewRemoteFileAdapter.java b/rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/view/SystemViewRemoteFileAdapter.java index 40ddf172aa5..a5292da1240 100644 --- a/rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/view/SystemViewRemoteFileAdapter.java +++ b/rse/plugins/org.eclipse.rse.files.ui/src/org/eclipse/rse/internal/files/ui/view/SystemViewRemoteFileAdapter.java @@ -69,13 +69,9 @@ import org.eclipse.rse.core.subsystems.SubSystem; import org.eclipse.rse.files.ui.resources.SystemEditableRemoteFile; import org.eclipse.rse.files.ui.resources.UniversalFileTransferUtility; import org.eclipse.rse.internal.files.ui.FileResources; -import org.eclipse.rse.internal.files.ui.actions.SystemAddToArchiveAction; import org.eclipse.rse.internal.files.ui.actions.SystemCompareFilesAction; import org.eclipse.rse.internal.files.ui.actions.SystemCompareWithEditionAction; -import org.eclipse.rse.internal.files.ui.actions.SystemConvertAction; import org.eclipse.rse.internal.files.ui.actions.SystemEditFilesAction; -import org.eclipse.rse.internal.files.ui.actions.SystemExtractAction; -import org.eclipse.rse.internal.files.ui.actions.SystemExtractToAction; import org.eclipse.rse.internal.files.ui.actions.SystemMoveRemoteFileAction; import org.eclipse.rse.internal.files.ui.actions.SystemNewFileAction; import org.eclipse.rse.internal.files.ui.actions.SystemNewFileFilterFromFolderAction; @@ -178,10 +174,7 @@ public class SystemViewRemoteFileAdapter //private SystemCommandAction commandAction, shellAction; private SystemSearchAction searchAction; - private SystemExtractAction extractAction; - private SystemExtractToAction extractToAction; - private SystemConvertAction convertAction; - private SystemAddToArchiveAction addToArchiveAction; + private IEditorRegistry registry; private SystemRemoteFileOpenWithMenu openWithMenu; @@ -371,31 +364,6 @@ public class SystemViewRemoteFileAdapter } } - if (extractAction == null) - { - extractAction = new SystemExtractAction(shell); - } - if (extractToAction == null) - { - extractToAction = new SystemExtractToAction(shell); - } - if (convertAction == null) - { - convertAction = new SystemConvertAction(shell); - } - if (addToArchiveAction == null) - { - addToArchiveAction = new SystemAddToArchiveAction(shell); - } - - if (allHaveContents && canEdit && !isVirtual) - { - /* - menu.add(ISystemContextMenuConstants.GROUP_IMPORTEXPORT, extractAction); - menu.add(ISystemContextMenuConstants.GROUP_IMPORTEXPORT, extractToAction); - menu.add(ISystemContextMenuConstants.GROUP_IMPORTEXPORT, convertAction); - */ - } // add import and export actions for single selection of folder /* if ((elementType == 1 && selection.size() == 1) && canEdit)