Review request: JDK-6519127 Vista: user.home property not set correctly

Alan Bateman Alan.Bateman at oracle.com
Mon Jan 21 16:01:37 UTC 2013


On 18/01/2013 16:40, Alexey Utkin wrote:
> The main difference is that after the fix Java becomes the program 
> that could be certified by MS as Vista comparable.
> Java would support the dynamic user profiles  and follow the changes 
> in Windows OS policy  (profiles migration).
> Java would able to support long home directories (Windows API migrates 
> from limited-length paths, that were the FAT FS limitation,  to 
> unlimited-length paths).
> The only compatibility issues could happen on the systems that uses 
> Registry-based redirection by the way that was reserved for Java 
> property define switch -Duser.home=XXXX.
>
> I would like repeat it again: after the fix Java becomes Vista 
> comparable program, that catch up changes from Windows OS management 
> tools.
> For the special cases we have compatibility solution: Java define for 
> "user.home" property.
>
> From MS point of view the User's home directory could not be used 
> directly for data storage. The specialized [Document], [Downloand], 
> and etc. sub-folders need to be used.
> Often configs are stored in [.XXXX] sub-folders. That does not make MS 
> happy, but that is common practice for cross-platform tools. On that 
> field Java plays together with  SSH, cygwin,
> Firefox, Netbeans and all other well-known products. The behavior 
> could not be easily change (MS would happy to move configs into 
> [AppData\Local] sub-folder, but it is not a Java problem).
>
> Regards,
> -uta
It's good to get rid of the registry code, I just wonder if using the 
shell API will have impact on startup performance. I also wonder about 
corner-case configurations.

One thing on SHGetKnownFolderPath is that you specify KF_FLAG_CREATE and 
I'm not sure if that is right because we don't want the JDK creating the 
user's directory if it doesn't exist.

I think it's okay to leave out the comment at L529 as it might be 
confusing when there isn't any registry code.

Otherwise I think the change is okay, definitely something for a major 
release rather than an update release.

-Alan.



More information about the core-libs-dev mailing list