From 3babe0bdd7224e44bff4b2be75b253aa46dee513 Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Wed, 12 Jun 2013 15:47:11 +0200 Subject: [PATCH] register core implementation for ExternalResourceManager --- .../core/CoreApplicationEnvironment.java | 6 +- .../javaee/CoreExternalResourceManager.java | 191 ++++++++++++++++++ .../com/intellij/xml/XmlCoreEnvironment.java | 4 + 3 files changed, 200 insertions(+), 1 deletion(-) create mode 100644 xml/xml-psi-impl/src/com/intellij/javaee/CoreExternalResourceManager.java diff --git a/platform/core-impl/src/com/intellij/core/CoreApplicationEnvironment.java b/platform/core-impl/src/com/intellij/core/CoreApplicationEnvironment.java index 26111d3b2df2..041b8ae2c276 100644 --- a/platform/core-impl/src/com/intellij/core/CoreApplicationEnvironment.java +++ b/platform/core-impl/src/com/intellij/core/CoreApplicationEnvironment.java @@ -106,7 +106,7 @@ public class CoreApplicationEnvironment { VirtualFileManagerImpl virtualFileManager = new VirtualFileManagerImpl(fs, new MessageBusImpl(myApplication, null)); registerComponentInstance(appContainer, VirtualFileManager.class, virtualFileManager); - myApplication.registerService(VirtualFilePointerManager.class, createVirtualFilePointerManager()); + registerApplicationService(VirtualFilePointerManager.class, createVirtualFilePointerManager()); myApplication.registerService(DefaultASTFactory.class, new CoreASTFactory()); myApplication.registerService(PsiBuilderFactory.class, new PsiBuilderFactoryImpl()); myApplication.registerService(ReferenceProvidersRegistry.class, new MockReferenceProvidersRegistry()); @@ -124,6 +124,10 @@ public class CoreApplicationEnvironment { myApplication.registerService(JobLauncher.class, createJobLauncher()); } + public void registerApplicationService(Class serviceInterface, T serviceImplementation) { + myApplication.registerService(serviceInterface, serviceImplementation); + } + protected VirtualFilePointerManager createVirtualFilePointerManager() { return new CoreVirtualFilePointerManager(); } diff --git a/xml/xml-psi-impl/src/com/intellij/javaee/CoreExternalResourceManager.java b/xml/xml-psi-impl/src/com/intellij/javaee/CoreExternalResourceManager.java new file mode 100644 index 000000000000..18f3efdf480a --- /dev/null +++ b/xml/xml-psi-impl/src/com/intellij/javaee/CoreExternalResourceManager.java @@ -0,0 +1,191 @@ +/* + * Copyright 2000-2013 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.intellij.javaee; + +import com.intellij.openapi.fileTypes.FileType; +import com.intellij.openapi.project.Project; +import com.intellij.openapi.vfs.VirtualFile; +import com.intellij.psi.PsiFile; +import org.jetbrains.annotations.NonNls; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +/** + * @author yole + */ +public class CoreExternalResourceManager extends ExternalResourceManagerEx { + @Override + public void removeResource(String url, @NotNull Project project) { + throw new UnsupportedOperationException(); + } + + @Override + public void addResource(@NonNls String url, @NonNls String location, @NotNull Project project) { + throw new UnsupportedOperationException(); + } + + @Override + public String[] getAvailableUrls() { + throw new UnsupportedOperationException(); + } + + @Override + public String[] getAvailableUrls(Project project) { + throw new UnsupportedOperationException(); + } + + @Override + public void clearAllResources() { + } + + @Override + public void clearAllResources(Project project) { + } + + @Override + public void addIgnoredResource(String url) { + throw new UnsupportedOperationException(); + } + + @Override + public void removeIgnoredResource(String url) { + throw new UnsupportedOperationException(); + } + + @Override + public boolean isIgnoredResource(String url) { + return false; + } + + @Override + public String[] getIgnoredResources() { + throw new UnsupportedOperationException(); + } + + @Override + public void addExternalResourceListener(ExternalResourceListener listener) { + throw new UnsupportedOperationException(); + } + + @Override + public void removeExternalResourceListener(ExternalResourceListener listener) { + throw new UnsupportedOperationException(); + } + + @Override + public boolean isUserResource(VirtualFile file) { + return false; + } + + @Override + public boolean isStandardResource(VirtualFile file) { + return false; + } + + @Nullable + @Override + public String getUserResource(Project project, String url, String version) { + throw new UnsupportedOperationException(); + } + + @Nullable + @Override + public String getStdResource(String url, String version) { + throw new UnsupportedOperationException(); + } + + @NotNull + @Override + public String getDefaultHtmlDoctype(@NotNull Project project) { + throw new UnsupportedOperationException(); + } + + @Override + public void setDefaultHtmlDoctype(@NotNull String defaultHtmlDoctype, @NotNull Project project) { + throw new UnsupportedOperationException(); + } + + @Override + public String getCatalogPropertiesFile() { + throw new UnsupportedOperationException(); + } + + @Override + public void setCatalogPropertiesFile(@Nullable String filePath) { + throw new UnsupportedOperationException(); + } + + @Override + public long getModificationCount(@NotNull Project project) { + throw new UnsupportedOperationException(); + } + + @Override + public void addResource(@NonNls String url, @NonNls String location) { + throw new UnsupportedOperationException(); + } + + @Override + public void addResource(@NonNls String url, @NonNls String version, @NonNls String location) { + throw new UnsupportedOperationException(); + } + + @Override + public void removeResource(String url) { + throw new UnsupportedOperationException(); + } + + @Override + public void removeResource(String url, String version) { + throw new UnsupportedOperationException(); + } + + @Override + public String getResourceLocation(@NonNls String url) { + throw new UnsupportedOperationException(); + } + + @Override + public String getResourceLocation(@NonNls String url, String version) { + throw new UnsupportedOperationException(); + } + + @Override + public String getResourceLocation(@NonNls String url, @NotNull Project project) { + throw new UnsupportedOperationException(); + } + + @Nullable + @Override + public PsiFile getResourceLocation(@NotNull @NonNls String url, @NotNull PsiFile baseFile, String version) { + throw new UnsupportedOperationException(); + } + + @Override + public String[] getResourceUrls(@Nullable FileType fileType, boolean includeStandard) { + throw new UnsupportedOperationException(); + } + + @Override + public String[] getResourceUrls(@Nullable FileType fileType, @NonNls String version, boolean includeStandard) { + throw new UnsupportedOperationException(); + } + + @Override + public long getModificationCount() { + return 0; + } +} diff --git a/xml/xml-psi-impl/src/com/intellij/xml/XmlCoreEnvironment.java b/xml/xml-psi-impl/src/com/intellij/xml/XmlCoreEnvironment.java index 5fb3c3780895..a7d0b96abe8b 100644 --- a/xml/xml-psi-impl/src/com/intellij/xml/XmlCoreEnvironment.java +++ b/xml/xml-psi-impl/src/com/intellij/xml/XmlCoreEnvironment.java @@ -7,6 +7,8 @@ import com.intellij.ide.highlighter.DTDFileType; import com.intellij.ide.highlighter.HtmlFileType; import com.intellij.ide.highlighter.XHtmlFileType; import com.intellij.ide.highlighter.XmlFileType; +import com.intellij.javaee.CoreExternalResourceManager; +import com.intellij.javaee.ExternalResourceManager; import com.intellij.javaee.ImplicitNamespaceDescriptorProvider; import com.intellij.lang.LanguageASTFactory; import com.intellij.lang.LanguageParserDefinitions; @@ -63,5 +65,7 @@ public class XmlCoreEnvironment { appEnvironment.addExtension(MetaDataContributor.EP_NAME, new XmlApplicationComponent()); appEnvironment.addExtension(FileBasedIndexExtension.EXTENSION_POINT_NAME, new XmlNamespaceIndex()); + + appEnvironment.registerApplicationService(ExternalResourceManager.class, new CoreExternalResourceManager()); } }