Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 88149 Details for
Bug 216895
NPE found in .log while running ClasspathTests
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
[patch]
Proposed fix and regression test
216895.txt (text/plain), 3.71 KB, created by
Jerome Lanneluc
on 2008-01-29 11:32:51 EST
(
hide
)
Description:
Proposed fix and regression test
Filename:
MIME Type:
Creator:
Jerome Lanneluc
Created:
2008-01-29 11:32:51 EST
Size:
3.71 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.jdt.core >Index: model/org/eclipse/jdt/internal/core/DeltaProcessor.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/DeltaProcessor.java,v >retrieving revision 1.311 >diff -u -r1.311 DeltaProcessor.java >--- model/org/eclipse/jdt/internal/core/DeltaProcessor.java 16 Jan 2008 16:59:47 -0000 1.311 >+++ model/org/eclipse/jdt/internal/core/DeltaProcessor.java 29 Jan 2008 16:32:04 -0000 >@@ -1850,10 +1850,14 @@ > } > > // add late coming elements to refresh (see https://bugs.eclipse.org/bugs/show_bug.cgi?id=212769 ) >- if (elementsToRefresh == null) >+ if (elementsToRefresh == null) { > elementsToRefresh = this.state.removeExternalElementsToRefresh(); >- else >- elementsToRefresh.addAll(this.state.removeExternalElementsToRefresh()); >+ } else { >+ HashSet existingElements = this.state.removeExternalElementsToRefresh(); >+ if (existingElements != null) { >+ elementsToRefresh.addAll(existingElements); >+ } >+ } > > // generate external archive change deltas > if (elementsToRefresh != null) { >#P org.eclipse.jdt.core.tests.model >Index: src/org/eclipse/jdt/core/tests/model/ClasspathTests.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/ClasspathTests.java,v >retrieving revision 1.167 >diff -u -r1.167 ClasspathTests.java >--- src/org/eclipse/jdt/core/tests/model/ClasspathTests.java 28 Jan 2008 16:58:28 -0000 1.167 >+++ src/org/eclipse/jdt/core/tests/model/ClasspathTests.java 29 Jan 2008 16:32:08 -0000 >@@ -33,9 +33,13 @@ > import org.eclipse.core.resources.IncrementalProjectBuilder; > import org.eclipse.core.resources.ResourcesPlugin; > import org.eclipse.core.runtime.CoreException; >+import org.eclipse.core.runtime.ILog; >+import org.eclipse.core.runtime.ILogListener; > import org.eclipse.core.runtime.IPath; > import org.eclipse.core.runtime.IProgressMonitor; >+import org.eclipse.core.runtime.IStatus; > import org.eclipse.core.runtime.Path; >+import org.eclipse.core.runtime.Platform; > import org.eclipse.jdt.core.IAccessRule; > import org.eclipse.jdt.core.IClasspathAttribute; > import org.eclipse.jdt.core.IClasspathContainer; >@@ -3450,6 +3454,36 @@ > deleteProject("P"); > } > } >+/* >+ * Ensures that no error is reported when deleting a project after setting its raw classpath with no resource change. >+ * (regression test for https://bugs.eclipse.org/bugs/show_bug.cgi?id=216895 ) >+ */ >+public void testNoResourceChange06() throws CoreException { >+ ILogListener listener = new ILogListener(){ >+ private StringBuffer buffer = new StringBuffer(); >+ public void logging(IStatus status, String plugin) { >+ buffer.append(status); >+ buffer.append('\n'); >+ } >+ public String toString() { >+ return this.buffer.toString(); >+ } >+ }; >+ try { >+ Platform.addLogListener(listener); >+ IJavaProject project = createJavaProject("P", new String[] {"src1"}, "bin"); >+ IClasspathEntry[] newClasspath = createClasspath("P", new String[] {"/P/src2", ""}); >+ project.setRawClasspath(newClasspath, false/*cannot modify resources*/, null/*no progress*/); >+ deleteProject("P"); >+ assertSourceEquals( >+ "Unexpected error logged", >+ "", >+ listener.toString()); >+ } finally { >+ Platform.removeLogListener(listener); >+ deleteProject("P"); >+ } >+} > /** > * Ensures that a duplicate entry created by editing the .classpath is detected. > * (regression test for bug 24498 Duplicate entries on classpath cause CP marker to no longer refresh)
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 216895
: 88149