JDK-6419701 : DefaultFileManager clean up: URI.create
  • Type: Bug
  • Component: tools
  • Sub-Component: javac
  • Affected Version: 6
  • Priority: P3
  • Status: Closed
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2006-04-28
  • Updated: 2016-03-23
  • Resolved: 2011-07-25
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 7 Other
7 b72Fixed OpenJDK6Fixed
Related Reports
Relates :  
Description
DefaultFileManager uses URI.create in some places to minimize the changes
before Mustang beta 2.  Ideally, this should be cleaned up.
Similarly, we need to ensure that file names are treated consitently.

For example, this combination is suspect:

   new File(externalizeFileName(packageName), relativeName)

Since reltiveName is a "relative" URI it could be "resource/foo.properties"
where as externalizeFileName(packageName) could be "com\\sun\\foo\\bar".

Comments
EVALUATION Use centralized explicit constructor to expose URISyntaxException. Should eventually consider something more lkek a regex solution to avoid creating URI at all.
08-09-2009

SUGGESTED FIX It would probably be best to agree on an internal format similar to the VM's view of the world where we use '/' as package/file separator character consistently. Enforcing this with a special type would probably be ideal. The current situation is a mismatch of different conventions.
23-06-2006