NullPointerException due to misconfigured watched dir
-----------------------------------------------------

                 Key: FELIX-1235
                 URL: https://issues.apache.org/jira/browse/FELIX-1235
             Project: Felix
          Issue Type: Bug
          Components: File Install
    Affects Versions:  fileinstall-1.0.0
         Environment: Windows [Vista|XP]
            Reporter: Guido Spadotto
             Fix For: fileinstall-1.2.0


The "traverse" method of the DirectoryWatcher class will raise a NPE if the 
provided "jardir" parameter does not point to a directory.
The for loop inside that method should read:
for (int i = 0; (list!=null) && (i < list.length); i++){...}

To avoid hiding the configuration problem, the constructor of the 
DirectoryWatcher class could be amended like this:

...
this.watchedDirectory = new File(dir);
        
        if (!this.watchedDirectory.exists()){                
            if (!this.watchedDirectory.mkdirs()) { throw new 
RuntimeException("Failed to create directory " + 
this.watchedDirectory.getAbsolutePath());}
        }else{
            if (this.watchedDirectory.isDirectory()){
                log(this.watchedDirectory.getAbsolutePath() + " already 
existing", null);
            }else{
                log(this.watchedDirectory.getAbsolutePath() + " exists, but is 
not a directory", null);
                throw new 
RuntimeException(this.watchedDirectory.getAbsolutePath()+" exists, but is not a 
directory");
            }
        }

Object value = properties.get(START_NEW_BUNDLES);
...

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to