diff --git a/rse/plugins/org.eclipse.dstore.core/src/org/eclipse/dstore/core/model/ByteStreamHandler.java b/rse/plugins/org.eclipse.dstore.core/src/org/eclipse/dstore/core/model/ByteStreamHandler.java index e1e92288d2b..ab0e2d6d250 100644 --- a/rse/plugins/org.eclipse.dstore.core/src/org/eclipse/dstore/core/model/ByteStreamHandler.java +++ b/rse/plugins/org.eclipse.dstore.core/src/org/eclipse/dstore/core/model/ByteStreamHandler.java @@ -69,7 +69,7 @@ public class ByteStreamHandler implements IByteStreamHandler remotePath = new String(remotePath.replace('\\', '/')); DataElement status = findStatusFor(remotePath); String fileName = _dataStore.mapToLocalPath(remotePath); - + if (fileName != null) { try @@ -190,6 +190,8 @@ public class ByteStreamHandler implements IByteStreamHandler { FileOutputStream outStream = new FileOutputStream(fileName, true); + try + { if (binary) { outStream.write(buffer, 0, size); @@ -201,8 +203,14 @@ public class ByteStreamHandler implements IByteStreamHandler byte[] convertedBytes = byteConverter.convertClientBytesToHostBytes(buffer, 0, size); outStream.write(convertedBytes, 0, convertedBytes.length); } + } + catch (Exception e) + { + e.printStackTrace(); + } outStream.close(); + } if (status == null) return; diff --git a/rse/plugins/org.eclipse.dstore.core/src/org/eclipse/dstore/core/model/DataStore.java b/rse/plugins/org.eclipse.dstore.core/src/org/eclipse/dstore/core/model/DataStore.java index 1d91248d3fe..d03512c8868 100644 --- a/rse/plugins/org.eclipse.dstore.core/src/org/eclipse/dstore/core/model/DataStore.java +++ b/rse/plugins/org.eclipse.dstore.core/src/org/eclipse/dstore/core/model/DataStore.java @@ -3036,6 +3036,7 @@ public final class DataStore */ public String mapToLocalPath(String aPath) { + /* String result = null; char slash = '/'; @@ -3067,8 +3068,12 @@ public final class DataStore result = new String(localRoot + remotePath); } - + return result; + */ + + // no more mapping here - expect actual paths + return aPath; } /** diff --git a/rse/plugins/org.eclipse.rse.services.dstore/miners/org/eclipse/rse/dstore/universal/miners/filesystem/UniversalDownloadHandler.java b/rse/plugins/org.eclipse.rse.services.dstore/miners/org/eclipse/rse/dstore/universal/miners/filesystem/UniversalDownloadHandler.java index 5c4a1ef9291..042751ce00f 100644 --- a/rse/plugins/org.eclipse.rse.services.dstore/miners/org/eclipse/rse/dstore/universal/miners/filesystem/UniversalDownloadHandler.java +++ b/rse/plugins/org.eclipse.rse.services.dstore/miners/org/eclipse/rse/dstore/universal/miners/filesystem/UniversalDownloadHandler.java @@ -46,7 +46,8 @@ public class UniversalDownloadHandler extends Thread implements ICancellableHand private DataElement _cmdElement; private boolean _isCancelled= false; - public UniversalDownloadHandler(DataStore dataStore, UniversalFileSystemMiner miner, DataElement cmdElement, DataElement status) + public UniversalDownloadHandler(DataStore dataStore, UniversalFileSystemMiner miner, DataElement cmdElement, + DataElement status) { _miner = miner; _dataStore = dataStore; diff --git a/rse/plugins/org.eclipse.rse.services.dstore/miners/org/eclipse/rse/dstore/universal/miners/filesystem/UniversalFileSystemMiner.java b/rse/plugins/org.eclipse.rse.services.dstore/miners/org/eclipse/rse/dstore/universal/miners/filesystem/UniversalFileSystemMiner.java index 677d4820bb7..44fc57e9bf0 100644 --- a/rse/plugins/org.eclipse.rse.services.dstore/miners/org/eclipse/rse/dstore/universal/miners/filesystem/UniversalFileSystemMiner.java +++ b/rse/plugins/org.eclipse.rse.services.dstore/miners/org/eclipse/rse/dstore/universal/miners/filesystem/UniversalFileSystemMiner.java @@ -302,7 +302,9 @@ public class UniversalFileSystemMiner extends Miner implements "C_GET_OSTYPE - subject is null", null); } else if (C_DOWNLOAD_FILE.equals(name)) { if (subject != null) + { return handleDownload(theElement, status); + } else UniversalServerUtilities.logError(CLASSNAME, C_DOWNLOAD_FILE + " - subject is null", null); @@ -2249,14 +2251,14 @@ private DataElement createDataElementFromLSString(DataElement subject, str[i] = tokenizer.nextToken(); } */ - return ((new Integer(str[3])).intValue()); + return ((new Integer(str[3])).intValue()); } /** * Method to download a file. */ - protected DataElement handleDownload(DataElement theElement, - DataElement status) { + protected DataElement handleDownload(DataElement theElement, DataElement status) + { UniversalDownloadHandler downloadThread = new UniversalDownloadHandler( _dataStore, this, theElement, status); diff --git a/rse/plugins/org.eclipse.rse.services.dstore/src/org/eclipse/rse/services/dstore/files/DStoreFileService.java b/rse/plugins/org.eclipse.rse.services.dstore/src/org/eclipse/rse/services/dstore/files/DStoreFileService.java index c16609396f7..5a4897366eb 100644 --- a/rse/plugins/org.eclipse.rse.services.dstore/src/org/eclipse/rse/services/dstore/files/DStoreFileService.java +++ b/rse/plugins/org.eclipse.rse.services.dstore/src/org/eclipse/rse/services/dstore/files/DStoreFileService.java @@ -601,9 +601,7 @@ public class DStoreFileService extends AbstractDStoreService implements IFileSer // String tempRoot = getDataStoreRoot(); getDataStoreRoot(); - String dataStoreLocalPath = prepareForDownload(localFile.getAbsolutePath()); - - DataElement localElement = ds.createObject(universaltemp, de.getType(), dataStoreLocalPath, encoding); + DataElement localElement = ds.createObject(universaltemp, de.getType(), localFile.getAbsolutePath(), encoding); DataElement bufferSizeElement = ds.createObject(universaltemp, "buffer_size", "" + getBufferDownloadSize(), ""); DataElement queryCmd = getCommandDescriptor(de,C_DOWNLOAD_FILE); @@ -629,6 +627,7 @@ public class DStoreFileService extends AbstractDStoreService implements IFileSer } catch (InterruptedException e) { + e.printStackTrace(); } //getStatusMonitor(ds).waitForUpdate(status, monitor); diff --git a/rse/plugins/org.eclipse.rse.services.dstore/src/org/eclipse/rse/services/dstore/util/DownloadListener.java b/rse/plugins/org.eclipse.rse.services.dstore/src/org/eclipse/rse/services/dstore/util/DownloadListener.java index 23a77c75055..e2bf292f515 100644 --- a/rse/plugins/org.eclipse.rse.services.dstore/src/org/eclipse/rse/services/dstore/util/DownloadListener.java +++ b/rse/plugins/org.eclipse.rse.services.dstore/src/org/eclipse/rse/services/dstore/util/DownloadListener.java @@ -118,7 +118,6 @@ public class DownloadListener implements IDomainListener,IUniversalDataStoreCons { if (_status.getValue().equals("done")) { - if (_status == event.getParent()) { setDone(true); @@ -295,10 +294,9 @@ public class DownloadListener implements IDomainListener,IUniversalDataStoreCons setDone(true); throw new InterruptedException(); } - if (getStatus().getAttribute(DE.A_NAME).equals("done")) { - setDone(true); + setDone(true); } else {