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 55833 Details for
Bug 167743
[search] Open Type Dialog cannot find types from projects migrated from 3.2.1 workspace
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
[patch]
Proposed patch
v00.txt (text/plain), 10.71 KB, created by
Frederic Fusier
on 2006-12-17 12:18:53 EST
(
hide
)
Description:
Proposed patch
Filename:
MIME Type:
Creator:
Frederic Fusier
Created:
2006-12-17 12:18:53 EST
Size:
10.71 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.jdt.core.tests.model >Index: src/org/eclipse/jdt/core/tests/model/JavaSearchMultipleProjectsTests.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/JavaSearchMultipleProjectsTests.java,v >retrieving revision 1.39 >diff -u -r1.39 JavaSearchMultipleProjectsTests.java >--- src/org/eclipse/jdt/core/tests/model/JavaSearchMultipleProjectsTests.java 20 Nov 2006 09:49:37 -0000 1.39 >+++ src/org/eclipse/jdt/core/tests/model/JavaSearchMultipleProjectsTests.java 17 Dec 2006 12:51:27 -0000 >@@ -865,4 +865,57 @@ > deleteProject("P2"); > } > } >+ >+/** >+ * @bug 167743: [search] Open Type Dialog cannot find types from projects migrated from 3.2.1 workspace >+ * @test Ensure that types are found even in default package fragment root >+ * @see "https://bugs.eclipse.org/bugs/show_bug.cgi?id=167743" >+ */ >+public void testBug167743() throws CoreException { >+ try { >+ IJavaProject p = createJavaProject("P"); >+ createFolder("/P/test"); >+ createFile( >+ "/P/test/TestClass.java", >+ "package test;\n" + >+ "public class Test {\n" + >+ "}\n" >+ ); >+ >+ // Search all type names with TypeNameMatchRequestor >+ AbstractJavaSearchTests.TypeNameMatchCollector collector = new AbstractJavaSearchTests.TypeNameMatchCollector() { >+ public String toString(){ >+ return toFullyQualifiedNamesString(); >+ } >+ }; >+ IJavaSearchScope scope = SearchEngine.createJavaSearchScope(new IJavaElement[] { p }); >+ new SearchEngine().searchAllTypeNames( >+ null, >+ SearchPattern.R_EXACT_MATCH, >+ new char[] { '*' }, >+ SearchPattern.R_PATTERN_MATCH, >+ IJavaSearchConstants.TYPE, >+ scope, >+ collector, >+ IJavaSearchConstants.WAIT_UNTIL_READY_TO_SEARCH, >+ null); >+ // Search all type names with TypeNameRequestor >+ SearchTests.SearchTypeNameRequestor requestor = new SearchTests.SearchTypeNameRequestor(); >+ new SearchEngine().searchAllTypeNames( >+ null, >+ SearchPattern.R_EXACT_MATCH, >+ new char[] { '*' }, >+ SearchPattern.R_PATTERN_MATCH, >+ IJavaSearchConstants.TYPE, >+ scope, >+ requestor, >+ IJavaSearchConstants.WAIT_UNTIL_READY_TO_SEARCH, >+ null); >+ // Should have same types with these 2 searches >+ assertEquals("Invalid number of types found!", requestor.size(), collector.size()); >+ assertEquals("Found types sounds not to be correct", requestor.toString(), collector.toString()); >+ } finally { >+ deleteProject("P"); >+ } >+} > } >Index: src/org/eclipse/jdt/core/tests/model/SearchTests.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/SearchTests.java,v >retrieving revision 1.38 >diff -u -r1.38 SearchTests.java >--- src/org/eclipse/jdt/core/tests/model/SearchTests.java 3 Oct 2006 11:31:47 -0000 1.38 >+++ src/org/eclipse/jdt/core/tests/model/SearchTests.java 17 Dec 2006 12:51:45 -0000 >@@ -97,6 +97,9 @@ > } > return buffer.toString(); > } >+ public int size() { >+ return this.results.size(); >+ } > } > class WaitingJob implements IJob { > static final int MAX_WAIT = 30000; // wait 30s max >Index: src/org/eclipse/jdt/core/tests/model/JavaSearchBugsTests.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/JavaSearchBugsTests.java,v >retrieving revision 1.96 >diff -u -r1.96 JavaSearchBugsTests.java >--- src/org/eclipse/jdt/core/tests/model/JavaSearchBugsTests.java 6 Dec 2006 18:29:05 -0000 1.96 >+++ src/org/eclipse/jdt/core/tests/model/JavaSearchBugsTests.java 17 Dec 2006 12:51:23 -0000 >@@ -11,7 +11,6 @@ > package org.eclipse.jdt.core.tests.model; > > import java.util.ArrayList; >-import java.util.Arrays; > import java.util.List; > > import junit.framework.Test; >@@ -84,47 +83,6 @@ > } > } > >-class TypeNameMatchCollector extends TypeNameMatchRequestor { >- List matches = new ArrayList(); >- public void acceptTypeNameMatch(TypeNameMatch match) { >- IType type = match.getType(); >- if (type != null) { >- this.matches.add(type); >- } >- } >- public int size() { >- return this.matches.size(); >- } >- private String toString(int kind) { >- int size = size(); >- if (size == 0) return ""; >- String[] strings = new String[size]; >- for (int i=0; i<size; i++) { >- IType type = (IType) this.matches.get(i); >- switch (kind) { >- case 1: // fully qualified name >- strings[i] = type.getFullyQualifiedName(); >- break; >- case 0: >- default: >- strings[i] = type.toString(); >- } >- } >- Arrays.sort(strings); >- StringBuffer buffer = new StringBuffer(); >- for (int i=0; i<size; i++) { >- if (i>0) buffer.append('\n'); >- buffer.append(strings[i]); >- } >- return buffer.toString(); >- } >- public String toString() { >- return toString(0); >- } >- public String toFullyQualifiedNamesString() { >- return toString(1); >- } >-} > IJavaSearchScope getJavaSearchScopeBugs() { > return SearchEngine.createJavaSearchScope(new IJavaProject[] {getJavaProject("JavaSearchBugs")}); > } >Index: src/org/eclipse/jdt/core/tests/model/JavaSearchTests.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/JavaSearchTests.java,v >retrieving revision 1.155 >diff -u -r1.155 JavaSearchTests.java >--- src/org/eclipse/jdt/core/tests/model/JavaSearchTests.java 10 Nov 2006 17:53:47 -0000 1.155 >+++ src/org/eclipse/jdt/core/tests/model/JavaSearchTests.java 17 Dec 2006 12:51:44 -0000 >@@ -3692,4 +3692,43 @@ > "q1.AA", > requestor); > } >+ >+/** >+ * @bug 160323: [search] TypeNameMatch: support hashCode/equals >+ * @test Ensure that match equals and hashCode methods return same values than those of stored {@link IType}. >+ * @see "https://bugs.eclipse.org/bugs/show_bug.cgi?id=160323" >+ */ >+public void testBug160323() throws CoreException { >+ // Search all type names with TypeNameMatchRequestor >+ TypeNameMatchCollector collector = new TypeNameMatchCollector() { >+ public String toString(){ >+ return toFullyQualifiedNamesString(); >+ } >+ }; >+ new SearchEngine().searchAllTypeNames( >+ null, >+ SearchPattern.R_EXACT_MATCH, >+ null, >+ SearchPattern.R_PREFIX_MATCH, >+ IJavaSearchConstants.TYPE, >+ getJavaSearchScope(), >+ collector, >+ IJavaSearchConstants.WAIT_UNTIL_READY_TO_SEARCH, >+ null); >+ // Search all type names with TypeNameRequestor >+ SearchTests.SearchTypeNameRequestor requestor = new SearchTests.SearchTypeNameRequestor(); >+ new SearchEngine().searchAllTypeNames( >+ null, >+ SearchPattern.R_EXACT_MATCH, >+ null, >+ SearchPattern.R_PREFIX_MATCH, >+ IJavaSearchConstants.TYPE, >+ getJavaSearchScope(), >+ requestor, >+ IJavaSearchConstants.WAIT_UNTIL_READY_TO_SEARCH, >+ null); >+ // Should have same types with these 2 searches >+ assertEquals("We should get some types!", requestor.size(), collector.size()); >+ assertEquals("Found types sounds not to be correct", requestor.toString(), collector.toString()); >+} > } >Index: src/org/eclipse/jdt/core/tests/model/AbstractJavaSearchTests.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.model/src/org/eclipse/jdt/core/tests/model/AbstractJavaSearchTests.java,v >retrieving revision 1.21 >diff -u -r1.21 AbstractJavaSearchTests.java >--- src/org/eclipse/jdt/core/tests/model/AbstractJavaSearchTests.java 10 Oct 2006 10:49:26 -0000 1.21 >+++ src/org/eclipse/jdt/core/tests/model/AbstractJavaSearchTests.java 17 Dec 2006 12:50:50 -0000 >@@ -13,6 +13,7 @@ > import java.io.File; > import java.io.IOException; > import java.util.ArrayList; >+import java.util.Arrays; > import java.util.List; > > import org.eclipse.core.resources.*; >@@ -387,7 +388,49 @@ > } > } > >- protected JavaSearchResultCollector resultCollector; >+ static class TypeNameMatchCollector extends TypeNameMatchRequestor { >+ List matches = new ArrayList(); >+ public void acceptTypeNameMatch(TypeNameMatch match) { >+ IType type = match.getType(); >+ if (type != null) { >+ this.matches.add(type); >+ } >+ } >+ public int size() { >+ return this.matches.size(); >+ } >+ private String toString(int kind) { >+ int size = size(); >+ if (size == 0) return ""; >+ String[] strings = new String[size]; >+ for (int i=0; i<size; i++) { >+ IType type = (IType) this.matches.get(i); >+ switch (kind) { >+ case 1: // fully qualified name >+ strings[i] = type.getFullyQualifiedName(); >+ break; >+ case 0: >+ default: >+ strings[i] = type.toString(); >+ } >+ } >+ Arrays.sort(strings); >+ StringBuffer buffer = new StringBuffer(); >+ for (int i=0; i<size; i++) { >+ if (i>0) buffer.append('\n'); >+ buffer.append(strings[i]); >+ } >+ return buffer.toString(); >+ } >+ public String toString() { >+ return toString(0); >+ } >+ public String toFullyQualifiedNamesString() { >+ return toString(1); >+ } >+ } >+ >+protected JavaSearchResultCollector resultCollector; > > public AbstractJavaSearchTests(String name) { > this(name, 2); >Index: workspace/JavaSearch/src/c11/A.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.model/workspace/JavaSearch/src/c11/A.java,v >retrieving revision 1.1 >diff -u -r1.1 A.java >--- workspace/JavaSearch/src/c11/A.java 20 Jul 2004 15:28:44 -0000 1.1 >+++ workspace/JavaSearch/src/c11/A.java 17 Dec 2006 12:51:45 -0000 >@@ -1,3 +1,4 @@ >+package c11; > public class A {} > class A1 extends A {} > class A2 extends A { >#P org.eclipse.jdt.core >Index: search/org/eclipse/jdt/internal/core/search/JavaSearchScope.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/search/org/eclipse/jdt/internal/core/search/JavaSearchScope.java,v >retrieving revision 1.53 >diff -u -r1.53 JavaSearchScope.java >--- search/org/eclipse/jdt/internal/core/search/JavaSearchScope.java 17 Nov 2006 12:12:31 -0000 1.53 >+++ search/org/eclipse/jdt/internal/core/search/JavaSearchScope.java 17 Dec 2006 12:51:53 -0000 >@@ -583,6 +583,9 @@ > return project.getPackageFragmentRoot(this.containerPaths[index]); > } > Object target = JavaModel.getTarget(ResourcesPlugin.getWorkspace().getRoot(), new Path(this.containerPaths[index]+'/'+this.relativePaths[index]), false); >+ if (target instanceof IProject) { >+ return project.getPackageFragmentRoot((IProject) target); >+ } > if (target instanceof IResource) { > IJavaElement element = JavaCore.create((IResource)target); > return (IPackageFragmentRoot) element.getAncestor(IJavaElement.PACKAGE_FRAGMENT_ROOT);
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 167743
: 55833