mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-07-14 20:45:22 +02:00
[220020][api][breaking] SystemFileTransferModeRegistry should be internal
This commit is contained in:
parent
d051bba838
commit
78e2da4542
12 changed files with 176 additions and 108 deletions
|
@ -40,6 +40,7 @@
|
||||||
* Xuan Chen (IBM) - [191370] [dstore] supertransfer zip not deleted when cancelling copy
|
* Xuan Chen (IBM) - [191370] [dstore] supertransfer zip not deleted when cancelling copy
|
||||||
* Xuan Chen (IBM) - [210816] Archive testcases throw ResourceException if they are run in batch
|
* Xuan Chen (IBM) - [210816] Archive testcases throw ResourceException if they are run in batch
|
||||||
* David McKnight (IBM) - [216252] [api][nls] Resource Strings specific to subsystems should be moved from rse.ui into files.ui / shells.ui / processes.ui where possible
|
* David McKnight (IBM) - [216252] [api][nls] Resource Strings specific to subsystems should be moved from rse.ui into files.ui / shells.ui / processes.ui where possible
|
||||||
|
* Martin Oberhuber (Wind River) - [220020][api][breaking] SystemFileTransferModeRegistry should be internal
|
||||||
********************************************************************************/
|
********************************************************************************/
|
||||||
|
|
||||||
package org.eclipse.rse.files.ui.resources;
|
package org.eclipse.rse.files.ui.resources;
|
||||||
|
@ -96,7 +97,6 @@ import org.eclipse.rse.services.files.RemoteFileSecurityException;
|
||||||
import org.eclipse.rse.services.files.RemoteFolderNotEmptyException;
|
import org.eclipse.rse.services.files.RemoteFolderNotEmptyException;
|
||||||
import org.eclipse.rse.subsystems.files.core.SystemIFileProperties;
|
import org.eclipse.rse.subsystems.files.core.SystemIFileProperties;
|
||||||
import org.eclipse.rse.subsystems.files.core.model.RemoteFileUtility;
|
import org.eclipse.rse.subsystems.files.core.model.RemoteFileUtility;
|
||||||
import org.eclipse.rse.subsystems.files.core.model.SystemFileTransferModeRegistry;
|
|
||||||
import org.eclipse.rse.subsystems.files.core.servicesubsystem.FileServiceSubSystem;
|
import org.eclipse.rse.subsystems.files.core.servicesubsystem.FileServiceSubSystem;
|
||||||
import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFile;
|
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.IRemoteFileSubSystem;
|
||||||
|
@ -111,7 +111,9 @@ import org.eclipse.swt.widgets.Display;
|
||||||
import org.eclipse.ui.PlatformUI;
|
import org.eclipse.ui.PlatformUI;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Utility class for doing file transfers on universal systems
|
* Utility class for doing file transfers on universal systems.
|
||||||
|
*
|
||||||
|
* Clients may use this class, but not instantiate or subclass it.
|
||||||
*/
|
*/
|
||||||
public class UniversalFileTransferUtility
|
public class UniversalFileTransferUtility
|
||||||
{
|
{
|
||||||
|
@ -825,7 +827,7 @@ public class UniversalFileTransferUtility
|
||||||
long remoteModifiedStamp = srcFileOrFolder.lastModified();
|
long remoteModifiedStamp = srcFileOrFolder.lastModified();
|
||||||
|
|
||||||
boolean usedBin = properties.getUsedBinaryTransfer();
|
boolean usedBin = properties.getUsedBinaryTransfer();
|
||||||
boolean shouldUseBin = SystemFileTransferModeRegistry.getInstance().isBinary(srcFileOrFolder);
|
boolean shouldUseBin = RemoteFileUtility.getSystemFileTransferModeRegistry().isBinary(srcFileOrFolder);
|
||||||
if (storedModifiedStamp == remoteModifiedStamp && (usedBin == shouldUseBin))
|
if (storedModifiedStamp == remoteModifiedStamp && (usedBin == shouldUseBin))
|
||||||
{
|
{
|
||||||
return tempFile;
|
return tempFile;
|
||||||
|
@ -855,7 +857,7 @@ public class UniversalFileTransferUtility
|
||||||
}
|
}
|
||||||
if (tempFile.exists())
|
if (tempFile.exists())
|
||||||
{
|
{
|
||||||
if (SystemFileTransferModeRegistry.getInstance().isText(srcFileOrFolder))
|
if (RemoteFileUtility.getSystemFileTransferModeRegistry().isText(srcFileOrFolder))
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
@ -907,7 +909,7 @@ public class UniversalFileTransferUtility
|
||||||
}
|
}
|
||||||
|
|
||||||
// encoding conversion required if it a text file but not an xml file
|
// encoding conversion required if it a text file but not an xml file
|
||||||
boolean isBinary = SystemFileTransferModeRegistry.getInstance().isBinary(file);
|
boolean isBinary = RemoteFileUtility.getSystemFileTransferModeRegistry().isBinary(file);
|
||||||
boolean isEncodingConversionRequired = !isBinary;
|
boolean isEncodingConversionRequired = !isBinary;
|
||||||
|
|
||||||
inputStream = new FileInputStream(file);
|
inputStream = new FileInputStream(file);
|
||||||
|
@ -1595,7 +1597,7 @@ public class UniversalFileTransferUtility
|
||||||
|
|
||||||
String srcCharSet = null;
|
String srcCharSet = null;
|
||||||
|
|
||||||
boolean isText = SystemFileTransferModeRegistry.getInstance().isText(newPath);
|
boolean isText = RemoteFileUtility.getSystemFileTransferModeRegistry().isText(newPath);
|
||||||
if (isText)
|
if (isText)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/********************************************************************************
|
/********************************************************************************
|
||||||
* Copyright (c) 2002, 2007 IBM Corporation and others. All rights reserved.
|
* Copyright (c) 2002, 2008 IBM Corporation and others. All rights reserved.
|
||||||
* This program and the accompanying materials are made available under the terms
|
* 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
|
* of the Eclipse Public License v1.0 which accompanies this distribution, and is
|
||||||
* available at http://www.eclipse.org/legal/epl-v10.html
|
* available at http://www.eclipse.org/legal/epl-v10.html
|
||||||
|
@ -16,6 +16,7 @@
|
||||||
* David McKnight (IBM) - [208951] no longer used editor registry for file type associations
|
* David McKnight (IBM) - [208951] no longer used editor registry for file type associations
|
||||||
* David McKnight (IBM) - [203114] Usability improvements for file transfer mode prefs
|
* David McKnight (IBM) - [203114] Usability improvements for file transfer mode prefs
|
||||||
* David McKnight (IBM) - [210142] for accessibility need transfer mode toggle button
|
* David McKnight (IBM) - [210142] for accessibility need transfer mode toggle button
|
||||||
|
* Martin Oberhuber (Wind River) - [220020][api][breaking] SystemFileTransferModeRegistry should be internal
|
||||||
********************************************************************************/
|
********************************************************************************/
|
||||||
|
|
||||||
package org.eclipse.rse.internal.files.ui.propertypages;
|
package org.eclipse.rse.internal.files.ui.propertypages;
|
||||||
|
@ -44,13 +45,13 @@ import org.eclipse.jface.window.Window;
|
||||||
import org.eclipse.rse.internal.files.ui.Activator;
|
import org.eclipse.rse.internal.files.ui.Activator;
|
||||||
import org.eclipse.rse.internal.files.ui.FileResources;
|
import org.eclipse.rse.internal.files.ui.FileResources;
|
||||||
import org.eclipse.rse.internal.subsystems.files.core.ISystemFilePreferencesConstants;
|
import org.eclipse.rse.internal.subsystems.files.core.ISystemFilePreferencesConstants;
|
||||||
|
import org.eclipse.rse.internal.subsystems.files.core.model.SystemFileTransferModeMapping;
|
||||||
|
import org.eclipse.rse.internal.subsystems.files.core.model.SystemFileTransferModeRegistry;
|
||||||
import org.eclipse.rse.services.clientserver.archiveutils.ArchiveHandlerManager;
|
import org.eclipse.rse.services.clientserver.archiveutils.ArchiveHandlerManager;
|
||||||
import org.eclipse.rse.services.clientserver.messages.SimpleSystemMessage;
|
import org.eclipse.rse.services.clientserver.messages.SimpleSystemMessage;
|
||||||
import org.eclipse.rse.services.clientserver.messages.SystemMessage;
|
import org.eclipse.rse.services.clientserver.messages.SystemMessage;
|
||||||
import org.eclipse.rse.services.clientserver.messages.SystemMessageFile;
|
import org.eclipse.rse.services.clientserver.messages.SystemMessageFile;
|
||||||
import org.eclipse.rse.subsystems.files.core.model.ISystemFileTransferModeMapping;
|
import org.eclipse.rse.subsystems.files.core.model.ISystemFileTransferModeMapping;
|
||||||
import org.eclipse.rse.subsystems.files.core.model.SystemFileTransferModeMapping;
|
|
||||||
import org.eclipse.rse.subsystems.files.core.model.SystemFileTransferModeRegistry;
|
|
||||||
import org.eclipse.rse.ui.Mnemonics;
|
import org.eclipse.rse.ui.Mnemonics;
|
||||||
import org.eclipse.rse.ui.RSEUIPlugin;
|
import org.eclipse.rse.ui.RSEUIPlugin;
|
||||||
import org.eclipse.rse.ui.SystemWidgetHelpers;
|
import org.eclipse.rse.ui.SystemWidgetHelpers;
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
* Copyright (c) 2002, 2007 IBM Corporation and others.
|
* Copyright (c) 2002, 2008 IBM Corporation and others.
|
||||||
* All rights reserved. This program and the accompanying materials
|
* All rights reserved. This program and the accompanying materials
|
||||||
* are made available under the terms of the Eclipse Public License v1.0
|
* are made available under the terms of the Eclipse Public License v1.0
|
||||||
* which accompanies this distribution, and is available at
|
* which accompanies this distribution, and is available at
|
||||||
|
@ -13,15 +13,17 @@
|
||||||
*
|
*
|
||||||
* Contributors:
|
* Contributors:
|
||||||
* David McKnight (IBM) - [208951] new priority field
|
* David McKnight (IBM) - [208951] new priority field
|
||||||
|
* Martin Oberhuber (Wind River) - [220020][api][breaking] SystemFileTransferModeRegistry should be internal
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
||||||
package org.eclipse.rse.subsystems.files.core.model;
|
package org.eclipse.rse.internal.subsystems.files.core.model;
|
||||||
|
|
||||||
|
import org.eclipse.rse.subsystems.files.core.model.ISystemFileTransferModeMapping;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An internal class. Clients must not instantiate or subclass it.
|
* An internal class. Clients must not instantiate or subclass it.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public class SystemFileTransferModeMapping implements ISystemFileTransferModeMapping, Cloneable {
|
public class SystemFileTransferModeMapping implements ISystemFileTransferModeMapping, Cloneable {
|
||||||
|
|
||||||
public static final int DEFAULT_PRIORITY = Integer.MAX_VALUE;
|
public static final int DEFAULT_PRIORITY = Integer.MAX_VALUE;
|
||||||
|
@ -55,18 +57,17 @@ public class SystemFileTransferModeMapping implements ISystemFileTransferModeMap
|
||||||
setExtension(extension);
|
setExtension(extension);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* (non-Javadoc)
|
||||||
/**
|
* @see org.eclipse.rse.subsystems.files.core.model.ISystemFileTransferModeMapping#getExtension()
|
||||||
* @see ISystemFileTransferModeMapping#getExtension()
|
|
||||||
*/
|
*/
|
||||||
public String getExtension() {
|
public String getExtension() {
|
||||||
return extension;
|
return extension;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
/**
|
* (non-Javadoc)
|
||||||
* @see ISystemFileTransferModeMapping#getLabel()
|
* @see org.eclipse.rse.subsystems.files.core.model.ISystemFileTransferModeMapping#getLabel()
|
||||||
*/
|
*/
|
||||||
public String getLabel() {
|
public String getLabel() {
|
||||||
|
|
||||||
|
@ -78,31 +79,30 @@ public class SystemFileTransferModeMapping implements ISystemFileTransferModeMap
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
/**
|
* (non-Javadoc)
|
||||||
* @see ISystemFileTransferModeMapping#getName()
|
* @see org.eclipse.rse.subsystems.files.core.model.ISystemFileTransferModeMapping#getName()
|
||||||
*/
|
*/
|
||||||
public String getName() {
|
public String getName() {
|
||||||
return name;
|
return name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
/**
|
* (non-Javadoc)
|
||||||
* @see ISystemFileTransferModeMapping#isBinary()
|
* @see org.eclipse.rse.subsystems.files.core.model.ISystemFileTransferModeMapping#isBinary()
|
||||||
*/
|
*/
|
||||||
public boolean isBinary() {
|
public boolean isBinary() {
|
||||||
return isBinary;
|
return isBinary;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
/**
|
* (non-Javadoc)
|
||||||
* @see ISystemFileTransferModeMapping#isText()
|
* @see org.eclipse.rse.subsystems.files.core.model.ISystemFileTransferModeMapping#isText()
|
||||||
*/
|
*/
|
||||||
public boolean isText() {
|
public boolean isText() {
|
||||||
return !isBinary();
|
return !isBinary();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set whether transfer mode is binary
|
* Set whether transfer mode is binary
|
||||||
*/
|
*/
|
||||||
|
@ -110,14 +110,12 @@ public class SystemFileTransferModeMapping implements ISystemFileTransferModeMap
|
||||||
isBinary = true;
|
isBinary = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set whether transfer mode is text
|
* Set whether transfer mode is text
|
||||||
*/
|
*/
|
||||||
public void setAsText() {
|
public void setAsText() {
|
||||||
isBinary = false;
|
isBinary = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the name
|
* Set the name
|
||||||
|
@ -126,7 +124,6 @@ public class SystemFileTransferModeMapping implements ISystemFileTransferModeMap
|
||||||
this.name = name;
|
this.name = name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the extension
|
* Set the extension
|
||||||
*/
|
*/
|
||||||
|
@ -136,27 +133,28 @@ public class SystemFileTransferModeMapping implements ISystemFileTransferModeMap
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the priority - the smaller the number, the higher priority
|
* Set the priority - the smaller the number, the higher priority
|
||||||
* @param priority
|
* @param priority priority to set.
|
||||||
*/
|
*/
|
||||||
public void setPriority(int priority) {
|
public void setPriority(int priority) {
|
||||||
this.priority = priority;
|
this.priority = priority;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/*
|
||||||
* Gets the priority - the smaller the number, the higher priority
|
* (non-Javadoc)
|
||||||
* @return the priority
|
* @see org.eclipse.rse.subsystems.files.core.model.ISystemFileTransferModeMapping#getPriority()
|
||||||
*/
|
*/
|
||||||
public int getPriority()
|
public int getPriority()
|
||||||
{
|
{
|
||||||
return this.priority;
|
return this.priority;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Clone this object
|
* Clone this object.
|
||||||
|
*
|
||||||
|
* Subclasses must ensure that such a deep copy operation is always
|
||||||
|
* possible, so their state must always be cloneable.
|
||||||
*/
|
*/
|
||||||
public Object clone() {
|
public Object clone() {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
return super.clone();
|
return super.clone();
|
||||||
}
|
}
|
|
@ -1,5 +1,5 @@
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
* Copyright (c) 2002, 2007 IBM Corporation and others.
|
* Copyright (c) 2002, 2008 IBM Corporation and others.
|
||||||
* All rights reserved. This program and the accompanying materials
|
* All rights reserved. This program and the accompanying materials
|
||||||
* are made available under the terms of the Eclipse Public License v1.0
|
* are made available under the terms of the Eclipse Public License v1.0
|
||||||
* which accompanies this distribution, and is available at
|
* which accompanies this distribution, and is available at
|
||||||
|
@ -14,8 +14,9 @@
|
||||||
* Contributors:
|
* Contributors:
|
||||||
* Martin Oberhuber (Wind River) - [168870] refactor org.eclipse.rse.core package of the UI plugin
|
* Martin Oberhuber (Wind River) - [168870] refactor org.eclipse.rse.core package of the UI plugin
|
||||||
* David McKnight (IBM) - [208951] Use remoteFileTypes extension point to determine file types
|
* David McKnight (IBM) - [208951] Use remoteFileTypes extension point to determine file types
|
||||||
|
* Martin Oberhuber (Wind River) - [220020][api][breaking] SystemFileTransferModeRegistry should be internal
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
package org.eclipse.rse.subsystems.files.core.model;
|
package org.eclipse.rse.internal.subsystems.files.core.model;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileInputStream;
|
import java.io.FileInputStream;
|
||||||
|
@ -37,6 +38,8 @@ import org.eclipse.core.runtime.Platform;
|
||||||
import org.eclipse.jface.preference.IPreferenceStore;
|
import org.eclipse.jface.preference.IPreferenceStore;
|
||||||
import org.eclipse.rse.internal.subsystems.files.core.ISystemFilePreferencesConstants;
|
import org.eclipse.rse.internal.subsystems.files.core.ISystemFilePreferencesConstants;
|
||||||
import org.eclipse.rse.services.clientserver.SystemEncodingUtil;
|
import org.eclipse.rse.services.clientserver.SystemEncodingUtil;
|
||||||
|
import org.eclipse.rse.subsystems.files.core.model.ISystemFileTransferModeMapping;
|
||||||
|
import org.eclipse.rse.subsystems.files.core.model.ISystemFileTransferModeRegistry;
|
||||||
import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFile;
|
import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFile;
|
||||||
import org.eclipse.rse.ui.RSEUIPlugin;
|
import org.eclipse.rse.ui.RSEUIPlugin;
|
||||||
import org.eclipse.rse.ui.SystemBasePlugin;
|
import org.eclipse.rse.ui.SystemBasePlugin;
|
||||||
|
@ -67,7 +70,7 @@ public class SystemFileTransferModeRegistry implements ISystemFileTransferModeRe
|
||||||
private static final String MODE_ATTRIBUTE = "mode"; //$NON-NLS-1$
|
private static final String MODE_ATTRIBUTE = "mode"; //$NON-NLS-1$
|
||||||
private static final String BINARY_VALUE = "binary"; //$NON-NLS-1$
|
private static final String BINARY_VALUE = "binary"; //$NON-NLS-1$
|
||||||
private static final String TEXT_VALUE = "text"; //$NON-NLS-1$
|
private static final String TEXT_VALUE = "text"; //$NON-NLS-1$
|
||||||
private static final String PRIORITY_ATTRIBUTE = "priority";
|
private static final String PRIORITY_ATTRIBUTE = "priority"; //$NON-NLS-1$
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor for SystemFileTransferModeRegistry
|
* Constructor for SystemFileTransferModeRegistry
|
||||||
|
@ -141,10 +144,10 @@ public class SystemFileTransferModeRegistry implements ISystemFileTransferModeRe
|
||||||
}
|
}
|
||||||
|
|
||||||
int priority = SystemFileTransferModeMapping.DEFAULT_PRIORITY;
|
int priority = SystemFileTransferModeMapping.DEFAULT_PRIORITY;
|
||||||
String priorityStr = element.getAttribute("priority");
|
String priorityStr = element.getAttribute("priority"); //$NON-NLS-1$
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if (priorityStr != null && !priorityStr.equals("")){
|
if (priorityStr != null && !priorityStr.equals("")){ //$NON-NLS-1$
|
||||||
priority = Integer.parseInt(priorityStr);
|
priority = Integer.parseInt(priorityStr);
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -46,6 +46,11 @@ import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFileSubSystemConf
|
||||||
* <p>
|
* <p>
|
||||||
* It is invalid to have both a comma and an asterisk in the same filter string.
|
* It is invalid to have both a comma and an asterisk in the same filter string.
|
||||||
* It is also invalid to have both a comma and a period in the same filter string.
|
* It is also invalid to have both a comma and a period in the same filter string.
|
||||||
|
*
|
||||||
|
* Clients may use or subclass this class. When subclassing, clients need to
|
||||||
|
* ensure that the subclass is always capable of performing a deep clone
|
||||||
|
* operation with the {@link #clone()} method, so if they add fields of
|
||||||
|
* complex type, these need to be dealt with by overriding {@link #clone()}.
|
||||||
*/
|
*/
|
||||||
public class RemoteFileFilterString implements Cloneable
|
public class RemoteFileFilterString implements Cloneable
|
||||||
{
|
{
|
||||||
|
@ -69,6 +74,7 @@ public class RemoteFileFilterString implements Cloneable
|
||||||
subdirs = true;
|
subdirs = true;
|
||||||
files = true;
|
files = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor to use when there is no existing filter string.
|
* Constructor to use when there is no existing filter string.
|
||||||
* <p>
|
* <p>
|
||||||
|
@ -86,6 +92,7 @@ public class RemoteFileFilterString implements Cloneable
|
||||||
subdirs = true;
|
subdirs = true;
|
||||||
files = true;
|
files = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor to use when an absolute filter string already exists.
|
* Constructor to use when an absolute filter string already exists.
|
||||||
*/
|
*/
|
||||||
|
@ -94,6 +101,7 @@ public class RemoteFileFilterString implements Cloneable
|
||||||
this(subsysFactory);
|
this(subsysFactory);
|
||||||
parse(null, input);
|
parse(null, input);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor to use when you have a path and filename filter or comma-separated file types list.
|
* Constructor to use when you have a path and filename filter or comma-separated file types list.
|
||||||
* In the latter case, the last char must be a TYPE_SEP or comma, even for a single type.
|
* In the latter case, the last char must be a TYPE_SEP or comma, even for a single type.
|
||||||
|
@ -108,6 +116,7 @@ public class RemoteFileFilterString implements Cloneable
|
||||||
{
|
{
|
||||||
PATH_SEP = subsysFactory.getSeparator();
|
PATH_SEP = subsysFactory.getSeparator();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the file name filter. You either call this or setTypes!
|
* Set the file name filter. You either call this or setTypes!
|
||||||
*/
|
*/
|
||||||
|
@ -115,6 +124,7 @@ public class RemoteFileFilterString implements Cloneable
|
||||||
{
|
{
|
||||||
file = obj;
|
file = obj;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the path to list files and/or folders in
|
* Set the path to list files and/or folders in
|
||||||
*/
|
*/
|
||||||
|
@ -122,6 +132,7 @@ public class RemoteFileFilterString implements Cloneable
|
||||||
{
|
{
|
||||||
this.path = path;
|
this.path = path;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the file types to subset by. These are extensions, without the dot, as
|
* Set the file types to subset by. These are extensions, without the dot, as
|
||||||
* in java, class, gif, etc.
|
* in java, class, gif, etc.
|
||||||
|
@ -132,6 +143,7 @@ public class RemoteFileFilterString implements Cloneable
|
||||||
this.types = types;
|
this.types = types;
|
||||||
filterByTypes = (types != null);
|
filterByTypes = (types != null);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Allow files?
|
* Allow files?
|
||||||
*/
|
*/
|
||||||
|
@ -139,6 +151,7 @@ public class RemoteFileFilterString implements Cloneable
|
||||||
{
|
{
|
||||||
files = set;
|
files = set;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Allow subdirs?
|
* Allow subdirs?
|
||||||
*/
|
*/
|
||||||
|
@ -168,6 +181,7 @@ public class RemoteFileFilterString implements Cloneable
|
||||||
return getTypesString(types);
|
return getTypesString(types);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Concatenate the given file types as a single string, each type comma-separated
|
* Concatenate the given file types as a single string, each type comma-separated
|
||||||
*/
|
*/
|
||||||
|
@ -178,6 +192,7 @@ public class RemoteFileFilterString implements Cloneable
|
||||||
typesBuffer.append(typesArray[idx]+","); //$NON-NLS-1$
|
typesBuffer.append(typesArray[idx]+","); //$NON-NLS-1$
|
||||||
return typesBuffer.toString();
|
return typesBuffer.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* For file types filters, returns the types as a string of concatenated types,
|
* For file types filters, returns the types as a string of concatenated types,
|
||||||
* comma-delimited. For file name filters, returns null;
|
* comma-delimited. For file name filters, returns null;
|
||||||
|
@ -204,13 +219,15 @@ public class RemoteFileFilterString implements Cloneable
|
||||||
{
|
{
|
||||||
return types;
|
return types;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Subdirs allowed?
|
* Should the filter show individual files?
|
||||||
*/
|
*/
|
||||||
public boolean getShowFiles()
|
public boolean getShowFiles()
|
||||||
{
|
{
|
||||||
return files;
|
return files;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Subdirs allowed?
|
* Subdirs allowed?
|
||||||
*/
|
*/
|
||||||
|
@ -218,6 +235,7 @@ public class RemoteFileFilterString implements Cloneable
|
||||||
{
|
{
|
||||||
return subdirs;
|
return subdirs;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return true if this filter string filters by file types versus by file name
|
* Return true if this filter string filters by file types versus by file name
|
||||||
*/
|
*/
|
||||||
|
@ -243,7 +261,6 @@ public class RemoteFileFilterString implements Cloneable
|
||||||
return toStringNoSwitches().equals("/*"); //$NON-NLS-1$
|
return toStringNoSwitches().equals("/*"); //$NON-NLS-1$
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
@ -313,6 +330,7 @@ public class RemoteFileFilterString implements Cloneable
|
||||||
//this.path = fileObj.getAbsolutePath(); // happens for root drives
|
//this.path = fileObj.getAbsolutePath(); // happens for root drives
|
||||||
//this.file = fileObj.getName();
|
//this.file = fileObj.getName();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Parse the non-folder part of the filter string. Will either be a
|
* Parse the non-folder part of the filter string. Will either be a
|
||||||
* generic name or comma-separated list of types.
|
* generic name or comma-separated list of types.
|
||||||
|
@ -333,6 +351,7 @@ public class RemoteFileFilterString implements Cloneable
|
||||||
else
|
else
|
||||||
file = filter;
|
file = filter;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Parse a comma-separated list of strings into an array of strings
|
* Parse a comma-separated list of strings into an array of strings
|
||||||
*/
|
*/
|
||||||
|
@ -353,7 +372,7 @@ public class RemoteFileFilterString implements Cloneable
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* De-hydrate into a string capturing all the attributes
|
* Serialize into a string capturing all the attributes
|
||||||
*/
|
*/
|
||||||
public String toString()
|
public String toString()
|
||||||
{
|
{
|
||||||
|
@ -364,6 +383,7 @@ public class RemoteFileFilterString implements Cloneable
|
||||||
fs += SWITCH_NOFILES;
|
fs += SWITCH_NOFILES;
|
||||||
return fs;
|
return fs;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return the filter as a string, without the switches for no-files, no-folders
|
* Return the filter as a string, without the switches for no-files, no-folders
|
||||||
*/
|
*/
|
||||||
|
@ -379,24 +399,25 @@ public class RemoteFileFilterString implements Cloneable
|
||||||
else
|
else
|
||||||
fs = path+getFileOrTypes();
|
fs = path+getFileOrTypes();
|
||||||
return fs;
|
return fs;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Clone this into another filter string object with the same attributes.
|
* Clone this into another filter string object with the same attributes.
|
||||||
|
*
|
||||||
|
* Subclasses must ensure that such a deep copy operation is always
|
||||||
|
* possible, so their state must always be cloneable.
|
||||||
*/
|
*/
|
||||||
public Object clone()
|
public Object clone()
|
||||||
{
|
{
|
||||||
RemoteFileFilterString copy = new RemoteFileFilterString();
|
RemoteFileFilterString copy = null;
|
||||||
copy.path = path;
|
try {
|
||||||
copy.file = file;
|
copy = (RemoteFileFilterString)super.clone();
|
||||||
copy.subdirs = subdirs;
|
} catch(CloneNotSupportedException e) {
|
||||||
copy.files = files;
|
//assert false; //can never happen
|
||||||
copy.PATH_SEP = PATH_SEP;
|
throw new RuntimeException(e);
|
||||||
copy.filterByTypes = filterByTypes;
|
}
|
||||||
if (types!=null)
|
if (types!=null) {
|
||||||
{
|
copy.types = (String[])types.clone();
|
||||||
copy.types = new String[types.length];
|
|
||||||
for (int idx=0; idx<types.length; idx++)
|
|
||||||
copy.types[idx] = types[idx]; // don't think we need to clone strings as they are immutable
|
|
||||||
}
|
}
|
||||||
return copy;
|
return copy;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/********************************************************************************
|
/********************************************************************************
|
||||||
* Copyright (c) 2006, 2007 IBM Corporation and others. All rights reserved.
|
* Copyright (c) 2006, 2008 IBM Corporation and others. All rights reserved.
|
||||||
* This program and the accompanying materials are made available under the terms
|
* 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
|
* of the Eclipse Public License v1.0 which accompanies this distribution, and is
|
||||||
* available at http://www.eclipse.org/legal/epl-v10.html
|
* available at http://www.eclipse.org/legal/epl-v10.html
|
||||||
|
@ -13,6 +13,7 @@
|
||||||
* Contributors:
|
* Contributors:
|
||||||
* Martin Oberhuber (Wind River) - [184095] Replace systemTypeName by IRSESystemType
|
* Martin Oberhuber (Wind River) - [184095] Replace systemTypeName by IRSESystemType
|
||||||
* Martin Oberhuber (Wind River) - [186773] split ISystemRegistryUI from ISystemRegistry
|
* Martin Oberhuber (Wind River) - [186773] split ISystemRegistryUI from ISystemRegistry
|
||||||
|
* Martin Oberhuber (Wind River) - [220020][api][breaking] SystemFileTransferModeRegistry should be internal
|
||||||
********************************************************************************/
|
********************************************************************************/
|
||||||
|
|
||||||
package org.eclipse.rse.subsystems.files.core.model;
|
package org.eclipse.rse.subsystems.files.core.model;
|
||||||
|
@ -26,14 +27,25 @@ import org.eclipse.rse.core.model.IHost;
|
||||||
import org.eclipse.rse.core.model.ISystemRegistry;
|
import org.eclipse.rse.core.model.ISystemRegistry;
|
||||||
import org.eclipse.rse.core.subsystems.ISubSystem;
|
import org.eclipse.rse.core.subsystems.ISubSystem;
|
||||||
import org.eclipse.rse.core.subsystems.ISubSystemConfiguration;
|
import org.eclipse.rse.core.subsystems.ISubSystemConfiguration;
|
||||||
|
import org.eclipse.rse.internal.subsystems.files.core.model.SystemFileTransferModeRegistry;
|
||||||
import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFileSubSystem;
|
import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFileSubSystem;
|
||||||
import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFileSubSystemConfiguration;
|
import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFileSubSystemConfiguration;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Public utility class for dealing with remote file subsystems.
|
||||||
|
*
|
||||||
|
* Clients may use this class, but not instantiate or subclass it.
|
||||||
|
*/
|
||||||
public class RemoteFileUtility
|
public class RemoteFileUtility
|
||||||
{
|
{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return the first remote file subsystem associated with a connection.
|
||||||
|
* @param connection the connection to query.
|
||||||
|
* @return an IRemoteFileSubSystem instance, or <code>null</code> if
|
||||||
|
* no file subsystem is configured with the given connection.
|
||||||
|
*/
|
||||||
public static IRemoteFileSubSystem getFileSubSystem(IHost connection)
|
public static IRemoteFileSubSystem getFileSubSystem(IHost connection)
|
||||||
{
|
{
|
||||||
ISystemRegistry sr = RSECorePlugin.getTheSystemRegistry();
|
ISystemRegistry sr = RSECorePlugin.getTheSystemRegistry();
|
||||||
|
@ -49,6 +61,11 @@ public class RemoteFileUtility
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return the list of file subsystems associated with a connection.
|
||||||
|
* @param connection the connection to query.
|
||||||
|
* @return a list of IRemoteFileSubSystem instances (may be empty).
|
||||||
|
*/
|
||||||
public static IRemoteFileSubSystem[] getFileSubSystems(IHost connection)
|
public static IRemoteFileSubSystem[] getFileSubSystems(IHost connection)
|
||||||
{
|
{
|
||||||
List results = new ArrayList();
|
List results = new ArrayList();
|
||||||
|
@ -65,6 +82,12 @@ public class RemoteFileUtility
|
||||||
return (IRemoteFileSubSystem[])results.toArray(new IRemoteFileSubSystem[results.size()]);
|
return (IRemoteFileSubSystem[])results.toArray(new IRemoteFileSubSystem[results.size()]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return the first remote file subsystem configuration associated with a system type.
|
||||||
|
* @param systemType the system type to query.
|
||||||
|
* @return an IRemoteFileSubSystemConfiguration instance, or <code>null</code> if
|
||||||
|
* no file subsystem is configured with the given system type.
|
||||||
|
*/
|
||||||
public static IRemoteFileSubSystemConfiguration getFileSubSystemConfiguration(IRSESystemType systemType)
|
public static IRemoteFileSubSystemConfiguration getFileSubSystemConfiguration(IRSESystemType systemType)
|
||||||
{
|
{
|
||||||
ISystemRegistry sr = RSECorePlugin.getTheSystemRegistry();
|
ISystemRegistry sr = RSECorePlugin.getTheSystemRegistry();
|
||||||
|
@ -78,5 +101,14 @@ public class RemoteFileUtility
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return the global SystemFileTransferModeRegistry.
|
||||||
|
* @return the global SystemFileTransferModeRegistry.
|
||||||
|
*/
|
||||||
|
public static ISystemFileTransferModeRegistry getSystemFileTransferModeRegistry()
|
||||||
|
{
|
||||||
|
return SystemFileTransferModeRegistry.getInstance();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
|
@ -31,6 +31,7 @@
|
||||||
* David Dykstal (IBM) - [217556] remove service subsystem types
|
* David Dykstal (IBM) - [217556] remove service subsystem types
|
||||||
* Martin Oberhuber (Wind River) - [219098][api] FileServiceSubSystem should not be final
|
* Martin Oberhuber (Wind River) - [219098][api] FileServiceSubSystem should not be final
|
||||||
* David McKnight (IBM) - [216252] [api][nls] Resource Strings specific to subsystems should be moved from rse.ui into files.ui / shells.ui / processes.ui where possible
|
* David McKnight (IBM) - [216252] [api][nls] Resource Strings specific to subsystems should be moved from rse.ui into files.ui / shells.ui / processes.ui where possible
|
||||||
|
* Martin Oberhuber (Wind River) - [220020][api][breaking] SystemFileTransferModeRegistry should be internal
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
||||||
package org.eclipse.rse.subsystems.files.core.servicesubsystem;
|
package org.eclipse.rse.subsystems.files.core.servicesubsystem;
|
||||||
|
@ -68,7 +69,7 @@ import org.eclipse.rse.services.search.IHostSearchResultConfiguration;
|
||||||
import org.eclipse.rse.services.search.IHostSearchResultSet;
|
import org.eclipse.rse.services.search.IHostSearchResultSet;
|
||||||
import org.eclipse.rse.services.search.ISearchService;
|
import org.eclipse.rse.services.search.ISearchService;
|
||||||
import org.eclipse.rse.subsystems.files.core.ILanguageUtilityFactory;
|
import org.eclipse.rse.subsystems.files.core.ILanguageUtilityFactory;
|
||||||
import org.eclipse.rse.subsystems.files.core.model.SystemFileTransferModeRegistry;
|
import org.eclipse.rse.subsystems.files.core.model.RemoteFileUtility;
|
||||||
import org.eclipse.rse.subsystems.files.core.subsystems.IHostFileToRemoteFileAdapter;
|
import org.eclipse.rse.subsystems.files.core.subsystems.IHostFileToRemoteFileAdapter;
|
||||||
import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFile;
|
import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFile;
|
||||||
import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFileContext;
|
import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFileContext;
|
||||||
|
@ -537,7 +538,7 @@ public class FileServiceSubSystem extends RemoteFileSubSystem implements IFileSe
|
||||||
|
|
||||||
protected boolean isBinary(String localEncoding, String hostEncoding, String remotePath)
|
protected boolean isBinary(String localEncoding, String hostEncoding, String remotePath)
|
||||||
{
|
{
|
||||||
return SystemFileTransferModeRegistry.getInstance().isBinary(remotePath);
|
return RemoteFileUtility.getSystemFileTransferModeRegistry().isBinary(remotePath);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected boolean isBinary(IRemoteFile source)
|
protected boolean isBinary(IRemoteFile source)
|
||||||
|
|
|
@ -17,6 +17,7 @@
|
||||||
* David McKnight (IBM) - [186363] get rid of obsolete calls to ISubSystem.connect()
|
* David McKnight (IBM) - [186363] get rid of obsolete calls to ISubSystem.connect()
|
||||||
* David McKnight (IBM) - [209660] use parent encoding as default, rather than system encoding
|
* David McKnight (IBM) - [209660] use parent encoding as default, rather than system encoding
|
||||||
* David McKnight (IBM) - [209593] [api] add support for "file permissions" and "owner" properties for unix files
|
* David McKnight (IBM) - [209593] [api] add support for "file permissions" and "owner" properties for unix files
|
||||||
|
* Martin Oberhuber (Wind River) - [220020][api][breaking] SystemFileTransferModeRegistry should be internal
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
||||||
package org.eclipse.rse.subsystems.files.core.subsystems;
|
package org.eclipse.rse.subsystems.files.core.subsystems;
|
||||||
|
@ -48,7 +49,7 @@ import org.eclipse.rse.services.files.IHostFile;
|
||||||
import org.eclipse.rse.services.files.IHostFilePermissions;
|
import org.eclipse.rse.services.files.IHostFilePermissions;
|
||||||
import org.eclipse.rse.services.files.IHostFilePermissionsContainer;
|
import org.eclipse.rse.services.files.IHostFilePermissionsContainer;
|
||||||
import org.eclipse.rse.subsystems.files.core.model.RemoteFileFilterString;
|
import org.eclipse.rse.subsystems.files.core.model.RemoteFileFilterString;
|
||||||
import org.eclipse.rse.subsystems.files.core.model.SystemFileTransferModeRegistry;
|
import org.eclipse.rse.subsystems.files.core.model.RemoteFileUtility;
|
||||||
import org.eclipse.rse.ui.SystemBasePlugin;
|
import org.eclipse.rse.ui.SystemBasePlugin;
|
||||||
import org.eclipse.swt.widgets.Display;
|
import org.eclipse.swt.widgets.Display;
|
||||||
|
|
||||||
|
@ -68,20 +69,16 @@ import org.eclipse.swt.widgets.Display;
|
||||||
* that creates this object must call the setter methods to
|
* that creates this object must call the setter methods to
|
||||||
* prefill this object with the core required information:
|
* prefill this object with the core required information:
|
||||||
* <ul>
|
* <ul>
|
||||||
* <li>{@link #RemoteFileImpl(IRemoteFileContext)} constructor sets the parent subsystem
|
* <li>{@link #RemoteFile(IRemoteFileContext)} constructor sets the parent subsystem
|
||||||
* <li>{@link #setAbsolutePath(String, String, boolean, boolean)} to set core attributes
|
|
||||||
* <li>{@link #setExists(boolean)} to set existence attribute
|
|
||||||
* <li>{@link #setLastModified(long)} to set last-modified date
|
|
||||||
* <li>{@link #setLength(long)} to set length in bytes
|
|
||||||
* </ul>
|
* </ul>
|
||||||
|
* A concrete implementation which extends this class, also needs to ensure
|
||||||
|
* that information is properly set by some means such that the {@link IRemoteFile#exists()},
|
||||||
|
* {@link IRemoteFile#getAbsolutePath()}, {@link IRemoteFile#getLength()}
|
||||||
|
* and similar methods can be implemented.
|
||||||
*/
|
*/
|
||||||
public abstract class RemoteFile implements IRemoteFile, IAdaptable, Comparable, Cloneable
|
public abstract class RemoteFile implements IRemoteFile, IAdaptable, Comparable
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
protected IRemoteFileContext _context;
|
protected IRemoteFileContext _context;
|
||||||
protected String fullyQualifiedName;
|
|
||||||
|
|
||||||
protected String _label;
|
protected String _label;
|
||||||
protected Object remoteObj;
|
protected Object remoteObj;
|
||||||
|
@ -346,13 +343,6 @@ public abstract class RemoteFile implements IRemoteFile, IAdaptable, Comparable
|
||||||
return ss.getHost();
|
return ss.getHost();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @see IRemoteFile#getAbsolutePath()
|
|
||||||
*/
|
|
||||||
public String getAbsolutePath()
|
|
||||||
{
|
|
||||||
return fullyQualifiedName;
|
|
||||||
}
|
|
||||||
/**
|
/**
|
||||||
* Get fully qualified connection and file name: connection:\path\file
|
* Get fully qualified connection and file name: connection:\path\file
|
||||||
* Note the separator character between the profile name and the connection name is always '.'
|
* Note the separator character between the profile name and the connection name is always '.'
|
||||||
|
@ -388,7 +378,7 @@ public abstract class RemoteFile implements IRemoteFile, IAdaptable, Comparable
|
||||||
if (isDirectory())
|
if (isDirectory())
|
||||||
return false;
|
return false;
|
||||||
else
|
else
|
||||||
return SystemFileTransferModeRegistry.getInstance().isBinary(this);
|
return RemoteFileUtility.getSystemFileTransferModeRegistry().isBinary(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -399,7 +389,7 @@ public abstract class RemoteFile implements IRemoteFile, IAdaptable, Comparable
|
||||||
if (isDirectory())
|
if (isDirectory())
|
||||||
return false;
|
return false;
|
||||||
else
|
else
|
||||||
return SystemFileTransferModeRegistry.getInstance().isText(this);
|
return RemoteFileUtility.getSystemFileTransferModeRegistry().isText(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -528,8 +518,9 @@ public abstract class RemoteFile implements IRemoteFile, IAdaptable, Comparable
|
||||||
return this.getAbsolutePathPlusConnection().startsWith(file.getAbsolutePathPlusConnection() + separator);
|
return this.getAbsolutePathPlusConnection().startsWith(file.getAbsolutePathPlusConnection() + separator);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/*
|
||||||
* @see org.eclipse.rse.core.subsystems.IRemoteContainer#hasContents(java.lang.String)
|
* (non-Javadoc)
|
||||||
|
* @see org.eclipse.rse.core.model.ISystemContainer#hasContents(org.eclipse.rse.core.model.ISystemContentsType)
|
||||||
*/
|
*/
|
||||||
public boolean hasContents(ISystemContentsType contentsType)
|
public boolean hasContents(ISystemContentsType contentsType)
|
||||||
{
|
{
|
||||||
|
@ -552,8 +543,9 @@ public abstract class RemoteFile implements IRemoteFile, IAdaptable, Comparable
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/*
|
||||||
* @see org.eclipse.rse.core.subsystems.IRemoteContainer#hasContents(java.lang.String, java.lang.String)
|
* (non-Javadoc)
|
||||||
|
* @see org.eclipse.rse.core.subsystems.IRemoteContainer#hasContents(org.eclipse.rse.core.model.ISystemContentsType, java.lang.String)
|
||||||
*/
|
*/
|
||||||
public boolean hasContents(ISystemContentsType contentsType, String filter) {
|
public boolean hasContents(ISystemContentsType contentsType, String filter) {
|
||||||
HashMap filters = (HashMap)(_contents.get(contentsType));
|
HashMap filters = (HashMap)(_contents.get(contentsType));
|
||||||
|
@ -616,8 +608,9 @@ public abstract class RemoteFile implements IRemoteFile, IAdaptable, Comparable
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/*
|
||||||
* @see org.eclipse.rse.core.subsystems.IRemoteContainer#getContents(java.lang.String)
|
* (non-Javadoc)
|
||||||
|
* @see org.eclipse.rse.core.model.ISystemContainer#getContents(org.eclipse.rse.core.model.ISystemContentsType)
|
||||||
*/
|
*/
|
||||||
public Object[] getContents(ISystemContentsType contentsType)
|
public Object[] getContents(ISystemContentsType contentsType)
|
||||||
{
|
{
|
||||||
|
@ -641,6 +634,7 @@ public abstract class RemoteFile implements IRemoteFile, IAdaptable, Comparable
|
||||||
return result.toArray(new IRemoteFile[result.size()]);
|
return result.toArray(new IRemoteFile[result.size()]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
private Object[] getFiles(Object[] filesAndFolders)
|
private Object[] getFiles(Object[] filesAndFolders)
|
||||||
{
|
{
|
||||||
List results = new ArrayList();
|
List results = new ArrayList();
|
||||||
|
@ -655,6 +649,7 @@ public abstract class RemoteFile implements IRemoteFile, IAdaptable, Comparable
|
||||||
}
|
}
|
||||||
return results.toArray();
|
return results.toArray();
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
private Object[] getFolders(Object[] filesAndFolders)
|
private Object[] getFolders(Object[] filesAndFolders)
|
||||||
{
|
{
|
||||||
|
@ -672,8 +667,9 @@ public abstract class RemoteFile implements IRemoteFile, IAdaptable, Comparable
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/*
|
||||||
* @see org.eclipse.rse.core.subsystems.IRemoteContainer#getContents(java.lang.String, java.lang.String)
|
* (non-Javadoc)
|
||||||
|
* @see org.eclipse.rse.core.subsystems.IRemoteContainer#getContents(org.eclipse.rse.core.model.ISystemContentsType, java.lang.String)
|
||||||
*/
|
*/
|
||||||
public Object[] getContents(ISystemContentsType contentsType, String filter)
|
public Object[] getContents(ISystemContentsType contentsType, String filter)
|
||||||
{
|
{
|
||||||
|
@ -801,7 +797,7 @@ public abstract class RemoteFile implements IRemoteFile, IAdaptable, Comparable
|
||||||
*/
|
*/
|
||||||
private boolean isFilterForFileTypes(String filter) {
|
private boolean isFilterForFileTypes(String filter) {
|
||||||
|
|
||||||
if (filter.endsWith(",")) {
|
if (filter.endsWith(",")) { //$NON-NLS-1$
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
@ -839,8 +835,9 @@ public abstract class RemoteFile implements IRemoteFile, IAdaptable, Comparable
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/*
|
||||||
* @see org.eclipse.rse.core.subsystems.IRemoteContainer#setContents(java.lang.String, java.lang.String, java.lang.Object[])
|
* (non-Javadoc)
|
||||||
|
* @see org.eclipse.rse.core.subsystems.IRemoteContainer#setContents(org.eclipse.rse.core.model.ISystemContentsType, java.lang.String, java.lang.Object[])
|
||||||
*/
|
*/
|
||||||
public void setContents(ISystemContentsType contentsType, String filter, Object[] con) {
|
public void setContents(ISystemContentsType contentsType, String filter, Object[] con) {
|
||||||
|
|
||||||
|
@ -1163,7 +1160,7 @@ public abstract class RemoteFile implements IRemoteFile, IAdaptable, Comparable
|
||||||
/**
|
/**
|
||||||
* Returns the encoding of the remote file. If a user specified value does not exist, then we check
|
* Returns the encoding of the remote file. If a user specified value does not exist, then we check
|
||||||
* it's ancestry for an encoding. Otherwise the encoding of the parent subsystem is returned.
|
* it's ancestry for an encoding. Otherwise the encoding of the parent subsystem is returned.
|
||||||
* @see com.ibm.etools.systems.subsystems.IRemoteFile#getEncoding()
|
* @see IRemoteFile#getEncoding()
|
||||||
*/
|
*/
|
||||||
public String getEncoding() {
|
public String getEncoding() {
|
||||||
String hostName = getParentRemoteFileSubSystem().getHost().getHostName();
|
String hostName = getParentRemoteFileSubSystem().getHost().getHostName();
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
|
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
|
||||||
*
|
*
|
||||||
* Contributors:
|
* Contributors:
|
||||||
* {Name} (company) - description of contribution.
|
* Martin Oberhuber (Wind River) - [220020][api][breaking] SystemFileTransferModeRegistry should be internal
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
||||||
package org.eclipse.rse.subsystems.files.core.subsystems;
|
package org.eclipse.rse.subsystems.files.core.subsystems;
|
||||||
|
@ -26,16 +26,18 @@ import org.eclipse.rse.services.files.IHostFilePermissions;
|
||||||
*/
|
*/
|
||||||
public class RemoteFileEmpty extends RemoteFile
|
public class RemoteFileEmpty extends RemoteFile
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor for RemoteFileEmptyImpl
|
* Constructor for RemoteFileEmpty
|
||||||
*/
|
*/
|
||||||
public RemoteFileEmpty()
|
public RemoteFileEmpty()
|
||||||
{
|
{
|
||||||
super(new RemoteFileContext(null,null,null));
|
super(new RemoteFileContext(null,null,null));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getAbsolutePath()
|
||||||
|
{
|
||||||
|
return ""; //$NON-NLS-1$
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public String getName()
|
public String getName()
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
|
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
|
||||||
*
|
*
|
||||||
* Contributors:
|
* Contributors:
|
||||||
* {Name} (company) - description of contribution.
|
* Martin Oberhuber (Wind River) - [220020][api][breaking] SystemFileTransferModeRegistry should be internal
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
||||||
package org.eclipse.rse.subsystems.files.core.subsystems;
|
package org.eclipse.rse.subsystems.files.core.subsystems;
|
||||||
|
@ -36,9 +36,13 @@ public class RemoteFileRoot extends RemoteFile
|
||||||
public RemoteFileRoot(IRemoteFile rootFile)
|
public RemoteFileRoot(IRemoteFile rootFile)
|
||||||
{
|
{
|
||||||
super(new RemoteFileContext(null,null,null));
|
super(new RemoteFileContext(null,null,null));
|
||||||
|
setRootFile(rootFile);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor when root is not known
|
* Constructor when root is not known.
|
||||||
|
* Client must call {@link #setRootFile(IRemoteFile)} before any
|
||||||
|
* get.. calls in this class are actually used.
|
||||||
*/
|
*/
|
||||||
public RemoteFileRoot()
|
public RemoteFileRoot()
|
||||||
{
|
{
|
||||||
|
@ -163,6 +167,11 @@ public class RemoteFileRoot extends RemoteFile
|
||||||
return rootFile.getClassification();
|
return rootFile.getClassification();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getAbsolutePath()
|
||||||
|
{
|
||||||
|
return rootFile.getAbsolutePath();
|
||||||
|
}
|
||||||
|
|
||||||
public String getCanonicalPath()
|
public String getCanonicalPath()
|
||||||
{
|
{
|
||||||
return rootFile.getCanonicalPath();
|
return rootFile.getCanonicalPath();
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
* Copyright (c) 2006, 2007 IBM Corporation and others.
|
* Copyright (c) 2006, 2008 IBM Corporation and others.
|
||||||
* All rights reserved. This program and the accompanying materials
|
* All rights reserved. This program and the accompanying materials
|
||||||
* are made available under the terms of the Eclipse Public License v1.0
|
* are made available under the terms of the Eclipse Public License v1.0
|
||||||
* which accompanies this distribution, and is available at
|
* which accompanies this distribution, and is available at
|
||||||
|
@ -15,6 +15,7 @@
|
||||||
* Martin Oberhuber (Wind River) - [177523] Unify singleton getter methods
|
* Martin Oberhuber (Wind River) - [177523] Unify singleton getter methods
|
||||||
* Kushal Munir (IBM) - [189352] Set whether file service is Unix-style system or not
|
* Kushal Munir (IBM) - [189352] Set whether file service is Unix-style system or not
|
||||||
* David McKnight (IBM) - [206755] upload and download buffer should be in kbytes, not bytes
|
* David McKnight (IBM) - [206755] upload and download buffer should be in kbytes, not bytes
|
||||||
|
* Martin Oberhuber (Wind River) - [220020][api][breaking] SystemFileTransferModeRegistry should be internal
|
||||||
*******************************************************************************/
|
*******************************************************************************/
|
||||||
|
|
||||||
package org.eclipse.rse.subsystems.files.dstore;
|
package org.eclipse.rse.subsystems.files.dstore;
|
||||||
|
@ -39,7 +40,7 @@ import org.eclipse.rse.services.search.IHostSearchResultConfiguration;
|
||||||
import org.eclipse.rse.services.search.IHostSearchResultSet;
|
import org.eclipse.rse.services.search.IHostSearchResultSet;
|
||||||
import org.eclipse.rse.services.search.ISearchService;
|
import org.eclipse.rse.services.search.ISearchService;
|
||||||
import org.eclipse.rse.subsystems.files.core.ILanguageUtilityFactory;
|
import org.eclipse.rse.subsystems.files.core.ILanguageUtilityFactory;
|
||||||
import org.eclipse.rse.subsystems.files.core.model.SystemFileTransferModeRegistry;
|
import org.eclipse.rse.subsystems.files.core.model.RemoteFileUtility;
|
||||||
import org.eclipse.rse.subsystems.files.core.servicesubsystem.FileServiceSubSystem;
|
import org.eclipse.rse.subsystems.files.core.servicesubsystem.FileServiceSubSystem;
|
||||||
import org.eclipse.rse.subsystems.files.core.servicesubsystem.FileServiceSubSystemConfiguration;
|
import org.eclipse.rse.subsystems.files.core.servicesubsystem.FileServiceSubSystemConfiguration;
|
||||||
import org.eclipse.rse.subsystems.files.core.subsystems.IHostFileToRemoteFileAdapter;
|
import org.eclipse.rse.subsystems.files.core.subsystems.IHostFileToRemoteFileAdapter;
|
||||||
|
@ -136,7 +137,7 @@ public class DStoreFileSubSystemConfiguration extends FileServiceSubSystemConfig
|
||||||
public IFileService createFileService(IHost host)
|
public IFileService createFileService(IHost host)
|
||||||
{
|
{
|
||||||
DStoreConnectorService connectorService = (DStoreConnectorService)getConnectorService(host);
|
DStoreConnectorService connectorService = (DStoreConnectorService)getConnectorService(host);
|
||||||
DStoreFileService service = new DStoreFileService(connectorService, SystemFileTransferModeRegistry.getInstance(), RSEUIPlugin.getDefault());
|
DStoreFileService service = new DStoreFileService(connectorService, RemoteFileUtility.getSystemFileTransferModeRegistry(), RSEUIPlugin.getDefault());
|
||||||
service.setIsUnixStyle(isUnixStyle());
|
service.setIsUnixStyle(isUnixStyle());
|
||||||
|
|
||||||
IPreferenceStore store= RSEUIPlugin.getDefault().getPreferenceStore();
|
IPreferenceStore store= RSEUIPlugin.getDefault().getPreferenceStore();
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/********************************************************************************
|
/********************************************************************************
|
||||||
* Copyright (c) 2006, 2007 IBM Corporation and others. All rights reserved.
|
* Copyright (c) 2006, 2008 IBM Corporation and others. All rights reserved.
|
||||||
* This program and the accompanying materials are made available under the terms
|
* 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
|
* of the Eclipse Public License v1.0 which accompanies this distribution, and is
|
||||||
* available at http://www.eclipse.org/legal/epl-v10.html
|
* available at http://www.eclipse.org/legal/epl-v10.html
|
||||||
|
@ -14,6 +14,7 @@
|
||||||
* Martin Oberhuber (Wind River) - [177523] Unify singleton getter methods
|
* Martin Oberhuber (Wind River) - [177523] Unify singleton getter methods
|
||||||
* Martin Oberhuber (Wind River) - [186997] No deferred queries in Local Files
|
* Martin Oberhuber (Wind River) - [186997] No deferred queries in Local Files
|
||||||
* Kevin Doyle (IBM) - [199871] LocalFileService needs to implement getMessage()
|
* Kevin Doyle (IBM) - [199871] LocalFileService needs to implement getMessage()
|
||||||
|
* Martin Oberhuber (Wind River) - [220020][api][breaking] SystemFileTransferModeRegistry should be internal
|
||||||
********************************************************************************/
|
********************************************************************************/
|
||||||
|
|
||||||
package org.eclipse.rse.subsystems.files.local;
|
package org.eclipse.rse.subsystems.files.local;
|
||||||
|
@ -41,7 +42,7 @@ import org.eclipse.rse.services.search.IHostSearchResultSet;
|
||||||
import org.eclipse.rse.services.search.ISearchService;
|
import org.eclipse.rse.services.search.ISearchService;
|
||||||
import org.eclipse.rse.subsystems.files.core.ILanguageUtilityFactory;
|
import org.eclipse.rse.subsystems.files.core.ILanguageUtilityFactory;
|
||||||
import org.eclipse.rse.subsystems.files.core.model.RemoteFileFilterString;
|
import org.eclipse.rse.subsystems.files.core.model.RemoteFileFilterString;
|
||||||
import org.eclipse.rse.subsystems.files.core.model.SystemFileTransferModeRegistry;
|
import org.eclipse.rse.subsystems.files.core.model.RemoteFileUtility;
|
||||||
import org.eclipse.rse.subsystems.files.core.servicesubsystem.FileServiceSubSystem;
|
import org.eclipse.rse.subsystems.files.core.servicesubsystem.FileServiceSubSystem;
|
||||||
import org.eclipse.rse.subsystems.files.core.servicesubsystem.FileServiceSubSystemConfiguration;
|
import org.eclipse.rse.subsystems.files.core.servicesubsystem.FileServiceSubSystemConfiguration;
|
||||||
import org.eclipse.rse.subsystems.files.core.subsystems.IHostFileToRemoteFileAdapter;
|
import org.eclipse.rse.subsystems.files.core.subsystems.IHostFileToRemoteFileAdapter;
|
||||||
|
@ -224,7 +225,7 @@ public class LocalFileSubSystemConfiguration extends FileServiceSubSystemConfigu
|
||||||
|
|
||||||
public IFileService createFileService(IHost host)
|
public IFileService createFileService(IHost host)
|
||||||
{
|
{
|
||||||
return new LocalFileService(SystemFileTransferModeRegistry.getInstance(), RSEUIPlugin.getDefault());
|
return new LocalFileService(RemoteFileUtility.getSystemFileTransferModeRegistry(), RSEUIPlugin.getDefault());
|
||||||
}
|
}
|
||||||
|
|
||||||
public ISearchService createSearchService(IHost host)
|
public ISearchService createSearchService(IHost host)
|
||||||
|
|
Loading…
Add table
Reference in a new issue