Bug 6473 - JavaConventions should use IWorkspace validate methods
Summary: JavaConventions should use IWorkspace validate methods
Status: RESOLVED FIXED
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 2.0   Edit
Hardware: PC Windows 2000
: P3 normal (vote)
Target Milestone: 2.0 M2   Edit
Assignee: Jerome Lanneluc CLA
QA Contact:
URL:
Whiteboard:
Keywords:
: 5341 (view as bug list)
Depends on:
Blocks:
 
Reported: 2001-11-30 11:34 EST by Adam Kiezun CLA
Modified: 2002-01-24 06:51 EST (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Adam Kiezun CLA 2001-11-30 11:34:40 EST
JavaConventions should use IWorkspace validate methods (for various name 
validation rountines)

IWorkspace::validateName
IWorkspace::validatePath

otherwise, for instance renaming a package 'p' to 'aux' results in the 
following walkback (on windows) - i left only the top of the start (the jcore 
part):

org.eclipse.jdt.core.JavaModelException[966]: 
org.eclipse.core.internal.resources.ResourceException: aux is a reserved device 
name on this platform.
	at org.eclipse.core.internal.resources.Resource.checkValidPath
(Resource.java:240)
	at org.eclipse.core.internal.resources.Folder.create(Folder.java:42)
	at org.eclipse.jdt.internal.core.JavaModelOperation.createFolder
(JavaModelOperation.java:186)
	at 
org.eclipse.jdt.internal.core.CopyResourceElementsOperation.createNeededPackageF
ragments(CopyResourceElementsOperation.java:133)
	at 
org.eclipse.jdt.internal.core.CopyResourceElementsOperation.processPackageFragme
ntResource(CopyResourceElementsOperation.java:305)
	at 
org.eclipse.jdt.internal.core.CopyResourceElementsOperation.processElement
(CopyResourceElementsOperation.java:269)
	at org.eclipse.jdt.internal.core.MultiOperation.processElements
(MultiOperation.java:182)
	at 
org.eclipse.jdt.internal.core.CopyResourceElementsOperation.processElements
(CopyResourceElementsOperation.java:283)
	at org.eclipse.jdt.internal.core.MultiOperation.executeOperation
(MultiOperation.java:86)
	at org.eclipse.jdt.internal.core.JavaModelOperation.execute
(JavaModelOperation.java:257)
	at org.eclipse.jdt.internal.core.JavaModelOperation.run
(JavaModelOperation.java:454)
	at org.eclipse.core.internal.resources.Workspace.run
(Workspace.java:1186)
	at org.eclipse.jdt.internal.core.JavaModelManager.runOperation
(JavaModelManager.java:915)
	at org.eclipse.jdt.internal.core.JavaElement.runOperation
(JavaElement.java:512)
	at org.eclipse.jdt.internal.core.JavaModel.rename(JavaModel.java:467)
	at org.eclipse.jdt.internal.core.PackageFragment.rename
(PackageFragment.java:289)
(...)
Comment 1 Philipe Mulet CLA 2001-12-03 09:16:38 EST
Good suggestion.
Comment 2 Jerome Lanneluc CLA 2002-01-08 11:48:36 EST
The following JavaConvention methods now use the IWorkspace.validate methods:
validateClassFileName(String)
validateCompilationUnitName(String)
validateJavaTypeName(String) (type name has to be valid so that the .class file 
will be valid)
validatePackageName(String) (each segment must be a valid folder name)
Comment 3 Jerome Lanneluc CLA 2002-01-24 06:51:19 EST
*** Bug 5341 has been marked as a duplicate of this bug. ***