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 161620 Details for
Bug 292787
[Filters] Should filters work only with IFileInfo?
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
[patch]
Change, with throws CoreException
patch.txt (text/plain), 13.00 KB, created by
Serge Beauchamp
on 2010-03-10 11:06:30 EST
(
hide
)
Description:
Change, with throws CoreException
Filename:
MIME Type:
Creator:
Serge Beauchamp
Created:
2010-03-10 11:06:30 EST
Size:
13.00 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.core.resources >Index: src/org/eclipse/core/internal/resources/Filter.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.core.resources/src/org/eclipse/core/internal/resources/Filter.java,v >retrieving revision 1.7 >diff -u -r1.7 Filter.java >--- src/org/eclipse/core/internal/resources/Filter.java 2 Dec 2009 09:38:32 -0000 1.7 >+++ src/org/eclipse/core/internal/resources/Filter.java 10 Mar 2010 16:06:00 -0000 >@@ -34,7 +34,7 @@ > this.project = project; > } > >- public boolean match(IFileInfo fileInfo) throws CoreException { >+ public boolean match(IContainer parent, IFileInfo fileInfo) throws CoreException { > if (provider == null) { > IFilterMatcherDescriptor filterDescriptor = project.getWorkspace().getFilterMatcherDescriptor(getId()); > if (filterDescriptor != null) >@@ -46,7 +46,7 @@ > provider.initialize(project, description.getFileInfoMatcherDescription().getArguments()); > } > if (provider != null) >- return provider.matches(fileInfo); >+ return provider.matches(parent, fileInfo); > return false; > } > >@@ -79,12 +79,12 @@ > return (getType() & IResourceFilterDescription.FILES) != 0; > } > >- public static IFileInfo[] filter(IProject project, LinkedList/*Filter*/includeFilters, LinkedList/*Filter*/excludeFilters, IFileInfo[] list) throws CoreException { >- IFileInfo[] result = filterIncludes(project, includeFilters, list); >- return filterExcludes(project, excludeFilters, result); >+ public static IFileInfo[] filter(IProject project, LinkedList/*Filter*/includeFilters, LinkedList/*Filter*/excludeFilters, IContainer parent, IFileInfo[] list) throws CoreException { >+ IFileInfo[] result = filterIncludes(project, includeFilters, parent, list); >+ return filterExcludes(project, excludeFilters, parent, result); > } > >- public static IFileInfo[] filterIncludes(IProject project, LinkedList/*Filter*/filters, IFileInfo[] list) throws CoreException { >+ public static IFileInfo[] filterIncludes(IProject project, LinkedList/*Filter*/filters, IContainer parent, IFileInfo[] list) throws CoreException { > if (filters.size() > 0) { > IFileInfo[] result = new IFileInfo[list.length]; > int outputIndex = 0; >@@ -97,7 +97,7 @@ > Filter filter = (Filter) objIt.next(); > if (filter.appliesTo(info)) { > filtersWereApplicable = true; >- if (filter.match(info)) { >+ if (filter.match(parent, info)) { > result[outputIndex++] = info; > break; > } >@@ -116,7 +116,7 @@ > return list; > } > >- public static IFileInfo[] filterExcludes(IProject project, LinkedList/*Filter*/filters, IFileInfo[] list) throws CoreException { >+ public static IFileInfo[] filterExcludes(IProject project, LinkedList/*Filter*/filters, IContainer parent, IFileInfo[] list) throws CoreException { > if (filters.size() > 0) { > IFileInfo[] result = new IFileInfo[list.length]; > int outputIndex = 0; >@@ -128,7 +128,7 @@ > while (objIt.hasNext()) { > Filter filter = (Filter) objIt.next(); > if (filter.appliesTo(info)) { >- if (filter.match(info)) { >+ if (filter.match(parent, info)) { > shouldBeExcluded = true; > break; > } >Index: src/org/eclipse/core/internal/resources/RegexFileInfoMatcher.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.core.resources/src/org/eclipse/core/internal/resources/RegexFileInfoMatcher.java,v >retrieving revision 1.3 >diff -u -r1.3 RegexFileInfoMatcher.java >--- src/org/eclipse/core/internal/resources/RegexFileInfoMatcher.java 1 Mar 2010 22:26:28 -0000 1.3 >+++ src/org/eclipse/core/internal/resources/RegexFileInfoMatcher.java 10 Mar 2010 16:06:00 -0000 >@@ -11,13 +11,12 @@ > *******************************************************************************/ > package org.eclipse.core.internal.resources; > >-import org.eclipse.core.internal.utils.Policy; >- >-import java.util.regex.PatternSyntaxException; >+import org.eclipse.core.runtime.CoreException; > >-import java.util.regex.Matcher; >-import java.util.regex.Pattern; >+import java.util.regex.*; > import org.eclipse.core.filesystem.IFileInfo; >+import org.eclipse.core.internal.utils.Policy; >+import org.eclipse.core.resources.IContainer; > import org.eclipse.core.resources.IProject; > import org.eclipse.core.resources.filtermatchers.AbstractFileInfoMatcher; > >@@ -33,7 +32,7 @@ > // nothing to do > } > >- public boolean matches(IFileInfo fileInfo) { >+ public boolean matches(IContainer parent, IFileInfo fileInfo) throws CoreException { > if (pattern != null) { > Matcher m = pattern.matcher(fileInfo.getName()); > return m.matches(); >Index: src/org/eclipse/core/internal/resources/Resource.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.core.resources/src/org/eclipse/core/internal/resources/Resource.java,v >retrieving revision 1.186 >diff -u -r1.186 Resource.java >--- src/org/eclipse/core/internal/resources/Resource.java 5 Mar 2010 16:08:18 -0000 1.186 >+++ src/org/eclipse/core/internal/resources/Resource.java 10 Mar 2010 16:06:01 -0000 >@@ -2122,7 +2122,7 @@ > } > if ((currentIncludeFilters.size() > 0) || (currentExcludeFilters.size() > 0)) { > try { >- list = Filter.filter(project, currentIncludeFilters, currentExcludeFilters, list); >+ list = Filter.filter(project, currentIncludeFilters, currentExcludeFilters, (IContainer) this, list); > } catch (CoreException e) { > // no handling, error has already been logged > } >Index: src/org/eclipse/core/resources/filtermatchers/AbstractFileInfoMatcher.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.core.resources/src/org/eclipse/core/resources/filtermatchers/AbstractFileInfoMatcher.java,v >retrieving revision 1.1 >diff -u -r1.1 AbstractFileInfoMatcher.java >--- src/org/eclipse/core/resources/filtermatchers/AbstractFileInfoMatcher.java 18 Nov 2009 21:54:04 -0000 1.1 >+++ src/org/eclipse/core/resources/filtermatchers/AbstractFileInfoMatcher.java 10 Mar 2010 16:06:01 -0000 >@@ -11,6 +11,9 @@ > *******************************************************************************/ > package org.eclipse.core.resources.filtermatchers; > >+import org.eclipse.core.runtime.CoreException; >+ >+import org.eclipse.core.resources.IContainer; > import org.eclipse.core.resources.IProject; > > import org.eclipse.core.filesystem.IFileInfo; >@@ -31,7 +34,7 @@ > * @return <code>true</code> if this filter matches the given file info, > * and <code>false</code> otherwise. > */ >- public abstract boolean matches(IFileInfo fileInfo); >+ public abstract boolean matches(IContainer parent, IFileInfo fileInfo) throws CoreException; > > public abstract void initialize(IProject project, Object arguments); > } >\ No newline at end of file >#P org.eclipse.core.tests.resources >Index: src/org/eclipse/core/tests/resources/FilteredResourceTest.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.core.tests.resources/src/org/eclipse/core/tests/resources/FilteredResourceTest.java,v >retrieving revision 1.12 >diff -u -r1.12 FilteredResourceTest.java >--- src/org/eclipse/core/tests/resources/FilteredResourceTest.java 5 Mar 2010 11:11:36 -0000 1.12 >+++ src/org/eclipse/core/tests/resources/FilteredResourceTest.java 10 Mar 2010 16:06:04 -0000 >@@ -1644,7 +1644,7 @@ > matcher.initialize(existingProject, "*:*"); > FileInfo info = new FileInfo(existingFileInExistingProject.getName()); > info.setDirectory(false); >- boolean result = matcher.matches(info); >+ boolean result = matcher.matches(existingFileInExistingProject.getParent(), info); > assertEquals("1.0", result, false); > } catch (Throwable t) { > fail("1.1", t); >#P org.eclipse.ui.ide >Index: src/org/eclipse/ui/internal/ide/misc/AndFileInfoMatcher.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/misc/AndFileInfoMatcher.java,v >retrieving revision 1.2 >diff -u -r1.2 AndFileInfoMatcher.java >--- src/org/eclipse/ui/internal/ide/misc/AndFileInfoMatcher.java 18 Nov 2009 21:54:10 -0000 1.2 >+++ src/org/eclipse/ui/internal/ide/misc/AndFileInfoMatcher.java 10 Mar 2010 16:06:05 -0000 >@@ -12,7 +12,9 @@ > package org.eclipse.ui.internal.ide.misc; > > import org.eclipse.core.filesystem.IFileInfo; >+import org.eclipse.core.resources.IContainer; > import org.eclipse.core.resources.filtermatchers.CompoundFileInfoMatcher; >+import org.eclipse.core.runtime.CoreException; > > /** > * A Resource Filter Type Factory for supporting the AND logical preposition >@@ -22,9 +24,9 @@ > /* (non-Javadoc) > * @see org.eclipse.core.resources.AbstractFileInfoMatcher#matches(org.eclipse.core.filesystem.IFileInfo) > */ >- public boolean matches(IFileInfo fileInfo) { >+ public boolean matches(IContainer parent, IFileInfo fileInfo) throws CoreException { > for (int i = 0; i < filterTypes.length; i++) { >- if (!filterTypes[i].matches(fileInfo)) >+ if (!filterTypes[i].matches(parent, fileInfo)) > return false; > } > return true; >Index: src/org/eclipse/ui/internal/ide/misc/NotFileInfoMatcher.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/misc/NotFileInfoMatcher.java,v >retrieving revision 1.2 >diff -u -r1.2 NotFileInfoMatcher.java >--- src/org/eclipse/ui/internal/ide/misc/NotFileInfoMatcher.java 18 Nov 2009 21:54:10 -0000 1.2 >+++ src/org/eclipse/ui/internal/ide/misc/NotFileInfoMatcher.java 10 Mar 2010 16:06:05 -0000 >@@ -12,7 +12,9 @@ > package org.eclipse.ui.internal.ide.misc; > > import org.eclipse.core.filesystem.IFileInfo; >+import org.eclipse.core.resources.IContainer; > import org.eclipse.core.resources.filtermatchers.CompoundFileInfoMatcher; >+import org.eclipse.core.runtime.CoreException; > > /** > * A Resource Filter Type Factory for supporting the NOT logical preposition >@@ -22,9 +24,9 @@ > /* (non-Javadoc) > * @see org.eclipse.core.resources.AbstractFileInfoMatcher#matches(org.eclipse.core.filesystem.IFileInfo) > */ >- public boolean matches(IFileInfo fileInfo) { >+ public boolean matches(IContainer parent, IFileInfo fileInfo) throws CoreException { > for (int i = 0; i < filterTypes.length; i++) { >- if (filterTypes[i].matches(fileInfo)) >+ if (filterTypes[i].matches(parent, fileInfo)) > return false; > } > return true; >Index: src/org/eclipse/ui/internal/ide/misc/OrFileInfoMatcher.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/misc/OrFileInfoMatcher.java,v >retrieving revision 1.2 >diff -u -r1.2 OrFileInfoMatcher.java >--- src/org/eclipse/ui/internal/ide/misc/OrFileInfoMatcher.java 18 Nov 2009 21:54:10 -0000 1.2 >+++ src/org/eclipse/ui/internal/ide/misc/OrFileInfoMatcher.java 10 Mar 2010 16:06:05 -0000 >@@ -12,7 +12,9 @@ > package org.eclipse.ui.internal.ide.misc; > > import org.eclipse.core.filesystem.IFileInfo; >+import org.eclipse.core.resources.IContainer; > import org.eclipse.core.resources.filtermatchers.CompoundFileInfoMatcher; >+import org.eclipse.core.runtime.CoreException; > > /** > * A Resource Filter Type Factory for supporting the OR logical preposition >@@ -22,10 +24,10 @@ > /* (non-Javadoc) > * @see org.eclipse.core.resources.AbstractFileInfoMatcher#matches(org.eclipse.core.filesystem.IFileInfo) > */ >- public boolean matches(IFileInfo fileInfo) { >+ public boolean matches(IContainer parent, IFileInfo fileInfo) throws CoreException { > if (filterTypes.length > 0) { > for (int i = 0; i < filterTypes.length; i++) { >- if (filterTypes[i].matches(fileInfo)) >+ if (filterTypes[i].matches(parent, fileInfo)) > return true; > } > return false; >Index: src/org/eclipse/ui/internal/ide/misc/StringFileInfoMatcher.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/misc/StringFileInfoMatcher.java,v >retrieving revision 1.2 >diff -u -r1.2 StringFileInfoMatcher.java >--- src/org/eclipse/ui/internal/ide/misc/StringFileInfoMatcher.java 18 Nov 2009 21:54:10 -0000 1.2 >+++ src/org/eclipse/ui/internal/ide/misc/StringFileInfoMatcher.java 10 Mar 2010 16:06:05 -0000 >@@ -12,6 +12,7 @@ > package org.eclipse.ui.internal.ide.misc; > > import org.eclipse.core.filesystem.IFileInfo; >+import org.eclipse.core.resources.IContainer; > import org.eclipse.core.resources.IProject; > import org.eclipse.core.resources.filtermatchers.AbstractFileInfoMatcher; > import org.eclipse.ui.internal.ide.StringMatcher; >@@ -39,7 +40,7 @@ > /* (non-Javadoc) > * @see org.eclipse.core.resources.AbstractFileInfoMatcher#matches(org.eclipse.core.filesystem.IFileInfo) > */ >- public boolean matches(IFileInfo fileInfo) { >+ public boolean matches(IContainer parent, IFileInfo fileInfo) { > if (matcher != null) > return matcher.match(fileInfo.getName()); > return false;
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 292787
:
161012
|
161172
| 161620 |
161663
|
161664
|
161667