From 1ba9b17909164ab5a26b2622747a6304efbdfdc7 Mon Sep 17 00:00:00 2001 From: Gary Spencer Date: Tue, 30 Sep 2008 15:23:37 +0000 Subject: [PATCH] Added a null pointer check after splitting the relative path when checking if the path is to a pseudo file/desktop action. ETHREEOH-217. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@11102 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../filesys/alfresco/PseudoFileImpl.java | 61 +++++++++++-------- 1 file changed, 34 insertions(+), 27 deletions(-) diff --git a/source/java/org/alfresco/filesys/alfresco/PseudoFileImpl.java b/source/java/org/alfresco/filesys/alfresco/PseudoFileImpl.java index fa4f42d132..fe44ec7f73 100644 --- a/source/java/org/alfresco/filesys/alfresco/PseudoFileImpl.java +++ b/source/java/org/alfresco/filesys/alfresco/PseudoFileImpl.java @@ -71,34 +71,41 @@ public class PseudoFileImpl implements PseudoFileInterface String[] paths = FileName.splitPath( path); FileState fstate = getStateForPath( ctx, paths[0]); - if ( fstate != null && fstate.hasPseudoFiles()) - { - // Check if there is a matching pseudo file - - PseudoFile pfile = fstate.getPseudoFileList().findFile( paths[1], false); - if ( pfile != null) - isPseudo = true; - } - else - { - // Check if the file name matches a pseudo-file name in the desktop actions list + // Check if there is a file name from the path splitting + + if ( paths[1] != null) { + + // Check the pseudo file list, if available - if ( ctx.hasDesktopActions()) - { - DesktopActionTable actions = ctx.getDesktopActions(); - if ( actions.getActionViaPseudoName( paths[1]) != null) - isPseudo = true; - } - - // Check if the URL file is enabled - - if ( isPseudo == false && ctx.hasURLFile()) - { - // Check if it is the URL file name - - if ( ctx.getURLFileName().equals( paths[1])) - isPseudo = true; - } + if ( fstate != null && fstate.hasPseudoFiles()) + { + // Check if there is a matching pseudo file + + PseudoFile pfile = fstate.getPseudoFileList().findFile( paths[1], false); + if ( pfile != null) + isPseudo = true; + } + else + { + // Check if the file name matches a pseudo-file name in the desktop actions list + + if ( ctx.hasDesktopActions()) + { + DesktopActionTable actions = ctx.getDesktopActions(); + if ( actions.getActionViaPseudoName( paths[1]) != null) + isPseudo = true; + } + + // Check if the URL file is enabled + + if ( isPseudo == false && ctx.hasURLFile()) + { + // Check if it is the URL file name + + if ( ctx.getURLFileName().equals( paths[1])) + isPseudo = true; + } + } } // Return the pseudo file status