1st version of lucene indexing plugin for domain entities of fenix framework.
1st version of lucene indexing plugin for domain entities of fenix framework.
Extracted lucene escaper to an util class so anyone else can escape it when in need.
Since this search method is always free text not a query itself, we should _ALWAYS_ escape it.
Support to change the MaxClauseCount
File Plugin for fenix framework.
File Plugin for fenix framework.
Make sure we are not calling init of a file without any contnt at all.
Fixed IOException that resulted from a race condition in forceMKdir method. If forceMkdir would detect that no directory existed, started executing the directory creation, if in that precise moment another thread would create the directory it would result in an IOException being thrown by the 1st thread since the implementation only succeeds if it managed to create all the dirs. Current implementation tries to create dirs, but it doesn't mind if concorrently the dirs have been created. File creation is not a problem since that's given by the OID and we know it's unique.
Created an IndexingManager thread that indexes content in the background instead of having it being indexed inside write transaction through the listener. This will, I hope, not degrade system performance.
Modified build system. Now using the new tasks from fenixframework
Update eclipse's classpath configuration file
Modified build system to use new tasks.
Updated eclipse's classpath configuration file.
Major Modification: File writing to disk has been delayed upon Transaction validation through the use of PerTxBox objects. Also added the support to retrieve files from storage using an InputStream instead of a byte array.
Minor change: Created a generic interface that allows to retrieve the file content has an input stream instead of a byte array. This is only a memory break through in the LocalFileSystemStorage since we stream it directly from HD. In the case of DomainStorage we stream it from a Byte Array in memory, so it's just a dumb implementation...meh! DBStorage class also added the method interface but since it didn't implement anything (why is it still there?!)  I just kept with a shallow implementation. This class should be deleted no?
Minor Change: fenix-framework.jar and jvstm.jar updated
Minor Change: fenix-framework.jar, jvstm.jar and fenix-framework-file-plugin.jar updated
Minor change: solved issue with lucene index proper removal on object deletion
New Feature: created a method to retrieve the file's digest
Issue: RESOLVED - issue FENIX-241: GenericFile - Allow for it to retrieve the digest of its content with a custom algorithm 
https://fenix-ashes.ist.utl.pt/jira/browse/FENIX-241