Well, the filter/interceptor solution that I found for solving the “lazy loading problem in TeamDocs”:http://www.fuzzylizard.com/archives/2006/07/29/753/ didn’t work, so I had to remove all lazy loading from the app. This took a little bit of work to get all the lazy="false" statements put in the right spots. However, it now works. This is probably not the best solution, but it is good enough for now. Once I pick a web framework I will have to revisit this.
On the other hand, The entire object graph is connected so I am not sure what the best solution is. It may simply be to load all the objects on startup and cache them in memory somewhere. Then when objects are needed, they are simply retrieved from the cache and only persisted via Hibernate when they change or objects are added. I am not sure.
As for my stupid mistake, I was trying to create directories on the file system and nothing was working. I kept getting a false result when calling dir.mkdir(). Moral of this story, always make sure you call the mkdirs() to ensure that all parent directories are created as well. I gotta read the Javadocs more often instead of just picking the first method and going with it.
As far as TeamDocs is concerned, I can once again log in, see the explorer view (the view that shows a level of directories and documents) and create a new directory. Cool, now on to uploading documents.
BTW, for anyone for whom the previous paragraphs did not make sense, TeamDocs is a document management application that I am creating. More information can be found at the “project website”:http://teamdocs.fuzzylizard.com, which is woefully un-updated and slightly out of date.