On 05/02/2012 09:20 AM, Vincent Massol wrote:
> Hi Caleb,
> 
> On May 2, 2012, at 3:12 PM, Caleb James DeLisle wrote:
> 
>> Just committed the patch to a branch, you can see it here
>> https://github.com/xwiki/xwiki-commons/commit/32fb77049fe9d8f758e776d26bfe5d7d2d21c4cc
>>
>> Since it contains an API break in EnvironmentConfiguration, I wanted to run 
>> it by the list before merging it into the master.
>> I'll push later on today if nobody objects.
> 
> We should no longer break APIs. So this will need to go through deprecation 
> and legacy.
> 
> Why is File an issue?
> 
> Big -1 to the code I've seen. We should never ever use System.exit().

How do you envision the wiki behaving as a whole if there is no writable temp 
dir?
I agree that killing the jvm is very bad if there is any way to recover but 
this seems like the edge case where there is no way out.

> 
> Also I've seen a lot of "final" used in the code. Please don't use them since 
> they're unnecessary and bad in most cases and we don't have any best practice 
> to use them  in methods for ex (this prevents extensibility). As for 
> variables I don't see the point at all.

I can remove the final annotation on the methods, I think it's important 
however to differentiate between clean extensibility and using "extends" to 
monkey patch code in ways that weren't intended.
As for variables and fields, I am very fond of making those final because they 
are inline documentation and verification.
I declare my intent not to change a variable with the final keyword, the 
reader/maintainer knows what I meant and the compiler checks that I didn't make 
a mistake.
If you want me to strip those, I can but think it's like stripping comments.

Caleb

> 
> Re the fail fast I was expecting some event listener listening on Application 
> started event to check if the directories were writable for example and throw 
> some exception if not.
> 
> Thanks
> -Vincent
> 
>> Caleb
>>
>>
>> On 04/23/2012 09:43 AM, Caleb James DeLisle wrote:
>>> Hi,
>>>
>>> In order to fix XWIKI-7748 and XWIKI-7749, we need a plan for deleting 
>>> temporary file.
>>> XWikiAttachmentContent uses File.deleteOnExit(), but in Sun's 
>>> implementation, deleteOnExit()
>>> only deletes on a *clean* exit, in a crash it can't delete the files but it 
>>> doesn't tag them
>>> so they can be deleted in the next run either. Since temp files are usually 
>>> pseudo-randomly
>>> named, they are impossible to find and delete later.
>>>
>>> I propose that we create a subdirectory, `java.io.tmpdir`/xwiki/ which will 
>>> be removed on
>>> application exit. If the jvm crashes, the files will be removed next time 
>>> around. Then alter
>>> ApplicationContext.getTemporaryDirectory() to yield this directory.
>>>
>>> WDYT?
>>>
>>> Caleb
> _______________________________________________
> devs mailing list
> [email protected]
> http://lists.xwiki.org/mailman/listinfo/devs
> 

_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to