get rid of PsiFile-based filters in facet detectors

This commit is contained in:
nik
2010-11-03 14:51:43 +03:00
parent 0f19f7a98b
commit 2ceb53a960
3 changed files with 14 additions and 5 deletions
@@ -100,14 +100,11 @@ public class FacetDetectorRegistryEx<C extends FacetConfiguration> implements Fa
VirtualFilePattern wizardPattern = fileNamePattern.xmlWithRootTag(StandardPatterns.string().equalTo(rootTag));
if (underlyingFacetSelector != null) {
registerSubFacetDetectorForWizard(StdFileTypes.XML, wizardPattern, detector, underlyingFacetSelector);
registerUniversalSubFacetDetector(StdFileTypes.XML, wizardPattern, detector, underlyingFacetSelector);
}
else {
registerDetectorForWizard(StdFileTypes.XML, wizardPattern, detector);
registerUniversalDetector(StdFileTypes.XML, wizardPattern, detector);
}
registerOnTheFlySubFacetDetector(StdFileTypes.XML, fileNamePattern, XmlPatterns.xmlFile().withRootTag(XmlPatterns.xmlTag().withName(rootTag)),
convertDetector(detector), underlyingFacetSelector);
}
public void registerDetectorForWizard(@NotNull final FileType fileType, @NotNull final VirtualFileFilter virtualFileFilter, @NotNull final FacetDetector<VirtualFile, C> facetDetector) {
@@ -67,6 +67,8 @@ public abstract class FacetDetectorWrapper<S, C extends FacetConfiguration, F ex
@Nullable
protected FacetInfo2<Module> detectFacet(@NotNull final Module module, VirtualFile virtualFile, S source) {
if (!myFacetType.isSuitableModuleType(module.getModuleType())) return null;
String url = virtualFile.getUrl();
if (!myAutodetectionFilter.isAutodetectionEnabled(module, myFacetType, url)) {
LOG.debug("Autodetection disabled for " + myFacetType.getPresentableName() + " facets in module " + module.getName());
@@ -47,10 +47,17 @@ public interface FacetDetectorRegistry<C extends FacetConfiguration> {
* @param virtualFileFilter preliminary filter for facet descriptor file
* @param psiFileFilter filter for facet descriptors
* @param detector detector
*
* @deprecated do not use facet detectors based on PsiFile, because it may slow down facet detection process.
* Use {@link #registerUniversalDetector} instead
*/
void registerOnTheFlyDetector(@NotNull FileType fileType, @NotNull VirtualFileFilter virtualFileFilter, @NotNull Condition<PsiFile> psiFileFilter,
@NotNull FacetDetector<PsiFile, C> detector);
/**
* @deprecated do not use facet detectors based on PsiFile, because it may slow down facet detection process.
* Use {@link #registerUniversalDetector} instead
*/
void registerOnTheFlyDetector(@NotNull FileType fileType, @NotNull VirtualFilePattern virtualFilePattern,
@NotNull ElementPattern<? extends PsiFile> psiFilePattern, @NotNull FacetDetector<PsiFile, C> facetDetector);
@@ -61,6 +68,9 @@ public interface FacetDetectorRegistry<C extends FacetConfiguration> {
* @param psiFilePattern filter for facet descriptors
* @param facetDetector detector
* @param selector {@link UnderlyingFacetSelector} instance which will be used to select a parent facet for a detected facet
*
* @deprecated do not use facet detectors based on PsiFile, because it may slow down facet detection process.
* Use {@link #registerUniversalSubFacetDetector} instead
*/
<U extends FacetConfiguration>
void registerOnTheFlySubFacetDetector(@NotNull FileType fileType, @NotNull VirtualFilePattern virtualFilePattern,