From d43849229b6cda59852e6bc73d1d6d1cd4e18ab2 Mon Sep 17 00:00:00 2001 From: David McKnight Date: Thu, 20 Nov 2008 20:51:28 +0000 Subject: [PATCH] [255699] NPE when filter string doesn't return result in FileServiceSubSystem.list --- .../files/dstore/DStoreFileAdapter.java | 27 ++++++++++--------- 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/rse/plugins/org.eclipse.rse.subsystems.files.dstore/src/org/eclipse/rse/internal/subsystems/files/dstore/DStoreFileAdapter.java b/rse/plugins/org.eclipse.rse.subsystems.files.dstore/src/org/eclipse/rse/internal/subsystems/files/dstore/DStoreFileAdapter.java index 6eb3d265aef..32221767d19 100644 --- a/rse/plugins/org.eclipse.rse.subsystems.files.dstore/src/org/eclipse/rse/internal/subsystems/files/dstore/DStoreFileAdapter.java +++ b/rse/plugins/org.eclipse.rse.subsystems.files.dstore/src/org/eclipse/rse/internal/subsystems/files/dstore/DStoreFileAdapter.java @@ -15,6 +15,7 @@ * David McKnight (IBM) - [207178] changing list APIs for file service and subsystems * Martin Oberhuber (Wind River) - [235363][api][breaking] IHostFileToRemoteFileAdapter methods should return AbstractRemoteFile * David McKnight (IBM) - [244765] Invalid thread access during workbench termination + * David McKnight (IBM) - [255699] NPE when filter string doesn't return result in FileServiceSubSystem.list *******************************************************************************/ package org.eclipse.rse.internal.subsystems.files.dstore; @@ -64,19 +65,21 @@ public class DStoreFileAdapter implements IHostFileToRemoteFileAdapter { DStoreHostFile node = (DStoreHostFile)nodes[i]; - DStoreFile lfile = null; - - if (node instanceof DStoreVirtualHostFile) - { - lfile = new DStoreVirtualFile(ss, context, parent, (DStoreVirtualHostFile) node); + if (node != null){ + DStoreFile lfile = null; + + if (node instanceof DStoreVirtualHostFile) + { + lfile = new DStoreVirtualFile(ss, context, parent, (DStoreVirtualHostFile) node); + } + else + { + lfile = new DStoreFile(ss, context, parent, node); + } + + results.add(lfile); + ss.cacheRemoteFile(lfile); } - else - { - lfile = new DStoreFile(ss, context, parent, node); - } - - results.add(lfile); - ss.cacheRemoteFile(lfile); } return (DStoreFile[]) results.toArray(new DStoreFile[results.size()]);