Created attachment 26184 [details] an OLE binary file that creates the exception upon load When I try to open a OLE binary with POI I get the following error message. The binaries are generated outside us so we have no control over them - we have to accept what we receive. java.lang.IllegalArgumentException: components cannot contain null or empty strings at org.apache.poi.poifs.filesystem.POIFSDocumentPath.<init>(POIFSDocumentPath.java:131) at org.apache.poi.poifs.filesystem.DirectoryNode.<init>(DirectoryNode.java:72) at org.apache.poi.poifs.filesystem.DirectoryNode.createDirectory(DirectoryNode.java:330) at org.apache.poi.poifs.filesystem.POIFSFileSystem.processProperties(POIFSFileSystem.java:516) at org.apache.poi.poifs.filesystem.POIFSFileSystem.<init>(POIFSFileSystem.java:176) A sample file that creates the error is attached.
Is the problem still there with poi 3.7 beta 3? There has been some poifs work since 3.5 Also, what is generating the problem file? Office or something else?
Yes it still occurs in 3.7 beta 3. It was created by embedded an object into a Lotus Notes memo file.
Fixed in r1026412 - while I was sure it wasn't allowed to have an empty path, it turns out it is, so we now support that.
Thanks for this :-)