Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 364528 - Duplicate EAR name causes IllegalArgumentException while validation in EAR wizard
Summary: Duplicate EAR name causes IllegalArgumentException while validation in EAR wi...
Status: RESOLVED FIXED
Alias: None
Product: WTP Java EE Tools
Classification: WebTools
Component: jst.j2ee (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: 3.2.5 P   Edit
Assignee: Diego Sahagun CLA
QA Contact: Chuck Bridgham CLA
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-11-22 18:15 EST by Diego Sahagun CLA
Modified: 2012-02-22 15:40 EST (History)
2 users (show)

See Also:
cbridgha: review+


Attachments
Proposed fix for this problem (1.20 KB, patch)
2011-11-22 18:24 EST, Diego Sahagun CLA
ccc: iplog+
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Diego Sahagun CLA 2011-11-22 18:15:36 EST
Build Identifier: 362_20110302

While validating the typed name of an EAR project in the EAR creation wizard there is an exception if a name of an already existing project is typed:

Example name: "EAR"

java.lang.IllegalArgumentException: Path must include project and resource name: /EAR
    at org.eclipse.core.runtime.Assert.isLegal(Unknown Source)
    at org.eclipse.core.internal.resources.Workspace.newResource(Unknown Source)
    at org.eclipse.core.internal.resources.Container.getFolder(Unknown Source)
    at org.eclipse.jst.j2ee.internal.earcreation.EarFacetInstallDataModelProvider.getDefaultProperty(Unknown Source)
    at org.eclipse.wst.common.frameworks.internal.datamodel.DataModelImpl.getProperty(Unknown Source)
    at org.eclipse.wst.common.frameworks.internal.datamodel.DataModelImpl.getStringProperty(Unknown Source)
    at org.eclipse.wst.common.frameworks.datamodel.AbstractDataModelProvider.getStringProperty(Unknown Source)
    at org.eclipse.jst.j2ee.internal.earcreation.EarFacetInstallDataModelProvider.validate(Unknown Source)
    at org.eclipse.wst.common.frameworks.internal.datamodel.DataModelImpl.validateProperty(Unknown Source)
    at org.eclipse.wst.common.frameworks.internal.datamodel.ui.DataModelWizardPage.validateProperty(Unknown Source)
    at org.eclipse.wst.common.frameworks.internal.datamodel.ui.DataModelWizardPage.validateControlsBase(Unknown Source)
    at org.eclipse.wst.common.frameworks.internal.datamodel.ui.DataModelWizardPage.validatePage(Unknown Source)
    at org.eclipse.wst.common.frameworks.internal.datamodel.ui.DataModelWizardPage$1.run(Unknown Source)
    at org.eclipse.wst.common.frameworks.internal.datamodel.ui.DataModelWizardPage.propertyChanged(Unknown Source)
    at org.eclipse.wst.common.frameworks.internal.datamodel.DataModelImpl.notifyListeners(Unknown Source)
    at org.eclipse.wst.common.frameworks.internal.datamodel.DataModelImpl.notifyPropertyChange(Unknown Source)
    at org.eclipse.jst.j2ee.internal.earcreation.EarFacetInstallDataModelProvider.propertySet(Unknown Source)
    at org.eclipse.wst.common.frameworks.internal.datamodel.DataModelImpl.internalSetProperty(Unknown Source)
    at org.eclipse.wst.common.frameworks.internal.datamodel.DataModelImpl.setProperty(Unknown Source)
    at org.eclipse.wst.common.componentcore.datamodel.FacetProjectCreationDataModelProvider.propertySet(Unknown Source)
    at org.eclipse.wst.common.frameworks.internal.datamodel.DataModelImpl.internalSetProperty(Unknown Source)
    at org.eclipse.wst.common.frameworks.internal.datamodel.DataModelImpl.setProperty(Unknown Source)
    at org.eclipse.wst.common.componentcore.datamodel.FacetProjectCreationDataModelProvider$3.propertyChanged(Unknown Source)
    at org.eclipse.wst.common.frameworks.internal.datamodel.DataModelImpl.notifyListeners(Unknown Source)
    at org.eclipse.wst.common.frameworks.internal.datamodel.DataModelImpl.notifyPropertyChange(Unknown Source)
    at org.eclipse.wst.common.frameworks.internal.datamodel.DataModelImpl.internalSetProperty(Unknown Source)
    at org.eclipse.wst.common.frameworks.internal.datamodel.DataModelImpl.setProperty(Unknown Source)
    at org.eclipse.wst.common.frameworks.internal.datamodel.ui.DataModelSynchHelper.setProperty(Unknown Source)
    at org.eclipse.wst.common.frameworks.internal.datamodel.ui.DataModelSynchHelper$ModifyTextListener.modifyText(Unknown Source)
    at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source)
    at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
    at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
    at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
    at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
    at org.eclipse.swt.widgets.Text.wmCommandChild(Unknown Source)
    at org.eclipse.swt.widgets.Control.WM_COMMAND(Unknown Source)
    at org.eclipse.swt.widgets.Control.windowProc(Unknown Source)
    at org.eclipse.swt.widgets.Display.windowProc(Unknown Source)
    at org.eclipse.swt.internal.win32.OS.CallWindowProcW(Native Method)
    at org.eclipse.swt.internal.win32.OS.CallWindowProc(Unknown Source)
    at org.eclipse.swt.widgets.Text.callWindowProc(Unknown Source)
    at org.eclipse.swt.widgets.Control.windowProc(Unknown Source)
    at org.eclipse.swt.widgets.Text.windowProc(Unknown Source)
    at org.eclipse.swt.widgets.Display.windowProc(Unknown Source)
    at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
    at org.eclipse.swt.internal.win32.OS.DispatchMessage(Unknown Source)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
    at org.eclipse.jface.window.Window.runEventLoop(Unknown Source)
    at org.eclipse.jface.window.Window.open(Unknown Source)
    at org.eclipse.ui.internal.actions.NewWizardShortcutAction.run(Unknown Source)
    at org.eclipse.jface.action.Action.runWithEvent(Unknown Source)
    at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(Unknown Source)
    at org.eclipse.jface.action.ActionContributionItem.access$2(Unknown Source)
    at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(Unknown Source)
    at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
    at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
    at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
    at org.eclipse.ui.internal.Workbench.runEventLoop(Unknown Source)
    at org.eclipse.ui.internal.Workbench.runUI(Unknown Source)
    at org.eclipse.ui.internal.Workbench.access$4(Unknown Source)
    at org.eclipse.ui.internal.Workbench$7.run(Unknown Source)
    at org.eclipse.core.databinding.observable.Realm.runWithDefault(Unknown Source)
    at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Unknown Source)
    at org.eclipse.ui.PlatformUI.createAndRunWorkbench(Unknown Source)
    at org.eclipse.ui.internal.ide.application.IDEApplication.start(Unknown Source)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(Unknown Source)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(Unknown Source)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(Unknown Source)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(Unknown Source)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Unknown Source)
    at org.eclipse.equinox.launcher.Main.basicRun(Unknown Source)
    at org.eclipse.equinox.launcher.Main.run(Unknown Source)

Reproducible: Always

Steps to Reproduce:
1.Create an EAR project named EAR
2.Open again the EAR project wizard and type "EAR" for the name again 
3.You should see the exception.
Comment 1 Diego Sahagun CLA 2011-11-22 18:24:26 EST
Created attachment 207392 [details]
Proposed fix for this problem

The proposed fix shields the validation against sending a root ("/") parameter to the method IProject.getFolder method.
Comment 2 Chuck Bridgham CLA 2011-12-07 13:16:22 EST
approved
Comment 3 Roberto Sanchez Herrera CLA 2012-01-20 15:29:31 EST
Code committed and released to R3_2_5_patches. Resolving bug.