Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 342934 - NPE during Refactoring (ProjectRenameOperation)
Summary: NPE during Refactoring (ProjectRenameOperation)
Status: RESOLVED FIXED
Alias: None
Product: WTP Java EE Tools
Classification: WebTools
Component: jst.j2ee (show other bugs)
Version: 3.2.3   Edit
Hardware: PC Windows XP
: P3 major (vote)
Target Milestone: 3.3   Edit
Assignee: Israel Gomez Delgado CLA
QA Contact: Chuck Bridgham CLA
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-04-15 05:00 EDT by Patric Rufflar CLA
Modified: 2011-04-19 10:24 EDT (History)
1 user (show)

See Also:
ccc: review+


Attachments
Null check added (1.09 KB, patch)
2011-04-18 13:06 EDT, Israel Gomez Delgado CLA
ccc: iplog+
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Patric Rufflar CLA 2011-04-15 05:00:04 EDT
Build Identifier: 3.2.3

java.lang.NullPointerException
at org.eclipse.jst.j2ee.refactor.operations.ProjectRenameOperation$1.run(ProjectRenameOperation.java:102)
at org.eclipse.jst.j2ee.web.componentcore.util.WebArtifactEdit.modify(WebArtifactEdit.java:686)
at org.eclipse.jst.j2ee.refactor.operations.ProjectRenameOperation.updateProject(ProjectRenameOperation.java:97)
at org.eclipse.jst.j2ee.refactor.operations.ProjectRefactorOperation.execute(ProjectRefactorOperation.java:56)
at org.eclipse.wst.common.frameworks.internal.datamodel.DataModelPausibleOperationImpl$1.run(DataModelPausibleOperationImpl.java:385)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1975)
at org.eclipse.wst.common.frameworks.internal.datamodel.DataModelPausibleOperationImpl.runOperation(DataModelPausibleOperationImpl.java:410)
at org.eclipse.wst.common.frameworks.internal.datamodel.DataModelPausibleOperationImpl.runOperation(DataModelPausibleOperationImpl.java:360)
at org.eclipse.wst.common.frameworks.internal.datamodel.DataModelPausibleOperationImpl.doExecute(DataModelPausibleOperationImpl.java:247)
at org.eclipse.wst.common.frameworks.internal.datamodel.DataModelPausibleOperationImpl.executeImpl(DataModelPausibleOperationImpl.java:219)
at org.eclipse.wst.common.frameworks.internal.datamodel.DataModelPausibleOperationImpl.cacheThreadAndContinue(DataModelPausibleOperationImpl.java:89)
at org.eclipse.wst.common.frameworks.internal.datamodel.DataModelPausibleOperationImpl.execute(DataModelPausibleOperationImpl.java:207)
at org.eclipse.jst.j2ee.refactor.listeners.ProjectRefactoringListener$1.runInWorkspace(ProjectRefactoringListener.java:226)
at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)


Reproducible: Didn't try
Comment 1 Carl Anderson CLA 2011-04-15 14:26:55 EDT
The line in question is:

if (cdg.getDisplayName().equals(oldProjectName)) {

So cdg.getDisplayName() must be returning a null.  We should check for that.
Comment 2 Israel Gomez Delgado CLA 2011-04-18 13:06:19 EDT
Created attachment 193501 [details]
Null check added

the behavior is not several impacted. The problem is trying to get the Display name from the Deploy Descriptor, when the current name is null, the <display-name> attribute will not be changed, as if the user changed it manually before run the re-factor.
Comment 3 Carl Anderson CLA 2011-04-19 10:24:04 EDT
Committed to HEAD for WTP 3.3 M7