diff --git a/java/idea-ui/src/com/intellij/platform/templates/SaveProjectAsTemplateAction.java b/java/idea-ui/src/com/intellij/platform/templates/SaveProjectAsTemplateAction.java index c50c7605fbe4..6cfd67f63e2c 100644 --- a/java/idea-ui/src/com/intellij/platform/templates/SaveProjectAsTemplateAction.java +++ b/java/idea-ui/src/com/intellij/platform/templates/SaveProjectAsTemplateAction.java @@ -249,7 +249,7 @@ public class SaveProjectAsTemplateAction extends AnAction { Project project, Map parameters) throws IOException { String text = VfsUtilCore.loadText(virtualFile); - final FileTemplate template = FileTemplateManager.getInstance().getDefaultTemplate(FileTemplateManager.FILE_HEADER_TEMPLATE_NAME); + final FileTemplate template = FileTemplateManager.getInstance(project).getDefaultTemplate(FileTemplateManager.FILE_HEADER_TEMPLATE_NAME); final String templateText = template.getText(); final Pattern pattern = FileHeaderChecker.getTemplatePattern(template, project, new TIntObjectHashMap()); String result = convertTemplates(text, pattern, templateText); diff --git a/java/idea-ui/src/com/intellij/platform/templates/TemplateModuleBuilder.java b/java/idea-ui/src/com/intellij/platform/templates/TemplateModuleBuilder.java index 645d861533af..9771d58b625f 100644 --- a/java/idea-ui/src/com/intellij/platform/templates/TemplateModuleBuilder.java +++ b/java/idea-ui/src/com/intellij/platform/templates/TemplateModuleBuilder.java @@ -262,7 +262,7 @@ public class TemplateModuleBuilder extends ModuleBuilder { return null; } } - Properties properties = FileTemplateManager.getInstance().getDefaultProperties(); + Properties properties = FileTemplateManager.getDefaultInstance().getDefaultProperties(); for (WizardInputField field : myAdditionalFields) { properties.putAll(field.getValues()); } diff --git a/java/idea-ui/src/com/intellij/util/descriptors/impl/ConfigFileFactoryImpl.java b/java/idea-ui/src/com/intellij/util/descriptors/impl/ConfigFileFactoryImpl.java index 64d5a3cd8973..0be223f60bd2 100644 --- a/java/idea-ui/src/com/intellij/util/descriptors/impl/ConfigFileFactoryImpl.java +++ b/java/idea-ui/src/com/intellij/util/descriptors/impl/ConfigFileFactoryImpl.java @@ -26,6 +26,7 @@ import com.intellij.openapi.ui.Messages; import com.intellij.openapi.util.io.FileUtil; import com.intellij.openapi.vfs.LocalFileSystem; import com.intellij.openapi.vfs.VfsUtil; +import com.intellij.openapi.vfs.VfsUtilCore; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.util.descriptors.*; import org.jetbrains.annotations.Nullable; @@ -56,8 +57,8 @@ public class ConfigFileFactoryImpl extends ConfigFileFactory { return new ConfigFileContainerImpl(project, metaDataProvider, (ConfigFileInfoSetImpl)configuration); } - private static String getText(final String templateName) throws IOException { - final FileTemplateManager templateManager = FileTemplateManager.getInstance(); + private static String getText(final String templateName, Project project) throws IOException { + final FileTemplateManager templateManager = FileTemplateManager.getInstance(project); final FileTemplate template = templateManager.getJ2eeTemplate(templateName); if (template == null) { return ""; @@ -73,7 +74,7 @@ public class ConfigFileFactoryImpl extends ConfigFileFactory { @Nullable private VirtualFile createFileFromTemplate(@Nullable final Project project, String url, final String templateName, final boolean forceNew) { final LocalFileSystem fileSystem = LocalFileSystem.getInstance(); - final File file = new File(VfsUtil.urlToPath(url)); + final File file = new File(VfsUtilCore.urlToPath(url)); VirtualFile existingFile = fileSystem.refreshAndFindFileByIoFile(file); if (existingFile != null) { existingFile.refresh(false, false); @@ -86,7 +87,7 @@ public class ConfigFileFactoryImpl extends ConfigFileFactory { return existingFile; } try { - String text = getText(templateName); + String text = getText(templateName, project); final VirtualFile childData; if (existingFile == null || existingFile.isDirectory()) { final VirtualFile virtualFile; diff --git a/java/java-impl/src/com/intellij/testIntegration/JavaTestFramework.java b/java/java-impl/src/com/intellij/testIntegration/JavaTestFramework.java index 1277dc59526e..ce2f7788f38d 100644 --- a/java/java-impl/src/com/intellij/testIntegration/JavaTestFramework.java +++ b/java/java-impl/src/com/intellij/testIntegration/JavaTestFramework.java @@ -112,7 +112,7 @@ public abstract class JavaTestFramework implements TestFramework { public abstract char getMnemonic(); public PsiMethod createSetUpPatternMethod(JVMElementFactory factory) { - final FileTemplate template = FileTemplateManager.getInstance().getCodeTemplate(getSetUpMethodFileTemplateDescriptor().getFileName()); + final FileTemplate template = FileTemplateManager.getDefaultInstance().getCodeTemplate(getSetUpMethodFileTemplateDescriptor().getFileName()); final String templateText = StringUtil.replace(StringUtil.replace(template.getText(), "${BODY}\n", ""), "${NAME}", "setUp"); return factory.createMethodFromText(templateText, null); } diff --git a/java/java-tests/testSrc/com/intellij/ide/fileTemplates/FileTemplatesTest.groovy b/java/java-tests/testSrc/com/intellij/ide/fileTemplates/FileTemplatesTest.groovy index b0d93afa0691..73c5ebf11897 100644 --- a/java/java-tests/testSrc/com/intellij/ide/fileTemplates/FileTemplatesTest.groovy +++ b/java/java-tests/testSrc/com/intellij/ide/fileTemplates/FileTemplatesTest.groovy @@ -36,7 +36,7 @@ public class FileTemplatesTest extends IdeaTestCase { final File customInclude = new File(testsDir, customIncludeFileName); final String includeText = FileUtil.loadFile(customInclude, FileTemplate.ourEncoding); - final FileTemplateManager templateManager = FileTemplateManager.getInstance(); + final FileTemplateManager templateManager = FileTemplateManager.getInstance(getProject()); final ArrayList originalIncludes = new ArrayList(Arrays.asList(templateManager.getAllPatterns())); try { // configure custom include @@ -94,7 +94,7 @@ public class FileTemplatesTest extends IdeaTestCase { } public void testFindFileByUrl() throws Exception { - FileTemplate catchBodyTemplate = FileTemplateManager.getInstance().getCodeTemplate(JavaTemplateUtil.TEMPLATE_CATCH_BODY); + FileTemplate catchBodyTemplate = FileTemplateManager.getInstance(getProject()).getCodeTemplate(JavaTemplateUtil.TEMPLATE_CATCH_BODY); assertNotNull(catchBodyTemplate); } @@ -107,7 +107,7 @@ public class FileTemplatesTest extends IdeaTestCase { public void "test collect undefined attribute names from included templates"() { def included = addTestTemplate("included", '${ABC} ${DEF}') - assert included == FileTemplateManager.instance.getTemplate("included.java") + assert included == FileTemplateManager.getInstance(getProject()).getTemplate("included.java") FileTemplate template = addTestTemplate("myclass", '#parse("included.java") ${DEF} ${NAME}') Properties properties = new Properties() @@ -132,12 +132,12 @@ public class FileTemplatesTest extends IdeaTestCase { PsiClass psiClass = JavaDirectoryService.getInstance().createClass(psiDirectory, "XXX", name); assertNotNull(psiClass); assertEquals("public class XXX {\n}", psiClass.getContainingFile().getText()); - FileTemplateManager.getInstance().removeTemplate(template); + FileTemplateManager.getInstance(getProject()).removeTemplate(template); } private FileTemplate addTestTemplate(String name, String text) { - FileTemplate template = FileTemplateManager.getInstance().addTemplate(name, "java"); - disposeOnTearDown({ FileTemplateManager.getInstance().removeTemplate(template) } as Disposable) + FileTemplate template = FileTemplateManager.getInstance(getProject()).addTemplate(name, "java"); + disposeOnTearDown({ FileTemplateManager.getInstance(getProject()).removeTemplate(template) } as Disposable) template.setText(text); template } diff --git a/plugins/devkit/src/inspections/quickfix/CreateHtmlDescriptionFix.java b/plugins/devkit/src/inspections/quickfix/CreateHtmlDescriptionFix.java index 67db267ea30a..ebc19826b05c 100644 --- a/plugins/devkit/src/inspections/quickfix/CreateHtmlDescriptionFix.java +++ b/plugins/devkit/src/inspections/quickfix/CreateHtmlDescriptionFix.java @@ -181,7 +181,7 @@ public class CreateHtmlDescriptionFix implements LocalQuickFix, Iconable { descrRoot = descrRoot.createSubdirectory(myFilename); } } - final FileTemplate descrTemplate = FileTemplateManager.getInstance().getJ2eeTemplate(TEMPLATE_NAME); + final FileTemplate descrTemplate = FileTemplateManager.getInstance(myModule.getProject()).getJ2eeTemplate(TEMPLATE_NAME); final PsiElement template = FileTemplateUtil.createFromTemplate(descrTemplate, getNewFileName(), null, descrRoot); if (template instanceof PsiFile) { diff --git a/plugins/google-app-engine/source/com/intellij/appengine/facet/AppEngineSupportProvider.java b/plugins/google-app-engine/source/com/intellij/appengine/facet/AppEngineSupportProvider.java index 328d866dd16e..a0e0b90f0763 100644 --- a/plugins/google-app-engine/source/com/intellij/appengine/facet/AppEngineSupportProvider.java +++ b/plugins/google-app-engine/source/com/intellij/appengine/facet/AppEngineSupportProvider.java @@ -104,9 +104,9 @@ public class AppEngineSupportProvider extends FrameworkSupportInModuleProvider { @Nullable public static VirtualFile createFileFromTemplate(final String templateName, final VirtualFile parent, final String fileName) { parent.refresh(false, false); - final FileTemplate template = FileTemplateManager.getInstance().getJ2eeTemplate(templateName); + final FileTemplate template = FileTemplateManager.getDefaultInstance().getJ2eeTemplate(templateName); try { - final String text = template.getText(FileTemplateManager.getInstance().getDefaultProperties()); + final String text = template.getText(FileTemplateManager.getDefaultInstance().getDefaultProperties()); VirtualFile file = parent.findChild(fileName); if (file == null) { file = parent.createChildData(AppEngineSupportProvider.class, fileName); diff --git a/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/wizard/GradleModuleBuilder.java b/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/wizard/GradleModuleBuilder.java index e5951134e523..3dd4682b59ff 100644 --- a/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/wizard/GradleModuleBuilder.java +++ b/plugins/gradle/src/org/jetbrains/plugins/gradle/service/project/wizard/GradleModuleBuilder.java @@ -236,7 +236,7 @@ public class GradleModuleBuilder extends AbstractExternalModuleBuilder attributes = new THashMap(); attributes.put(PROPERTY_KEY_OPTION_KEY, propertyKey); attributes.put(RESOURCE_BUNDLE_OPTION_KEY, getResourceBundleText()); diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/utils/MavenUtil.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/utils/MavenUtil.java index e58ede3b824a..3d0178f9f8ea 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/utils/MavenUtil.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/utils/MavenUtil.java @@ -329,9 +329,9 @@ public class MavenUtil { Properties properties, Properties conditions, boolean interactive) throws IOException { - FileTemplateManager manager = FileTemplateManager.getInstance(); + FileTemplateManager manager = FileTemplateManager.getInstance(project); FileTemplate fileTemplate = manager.getJ2eeTemplate(templateName); - Properties allProperties = manager.getDefaultProperties(project); + Properties allProperties = manager.getDefaultProperties(); if (!interactive) { allProperties.putAll(properties); } diff --git a/plugins/ui-designer/src/com/intellij/uiDesigner/actions/CreateFormAction.java b/plugins/ui-designer/src/com/intellij/uiDesigner/actions/CreateFormAction.java index 9e296251bc11..cb59b932ab8b 100644 --- a/plugins/ui-designer/src/com/intellij/uiDesigner/actions/CreateFormAction.java +++ b/plugins/ui-designer/src/com/intellij/uiDesigner/actions/CreateFormAction.java @@ -56,7 +56,7 @@ public class CreateFormAction extends AbstractCreateFormAction { ApplicationManager.getApplication().executeOnPooledThread(new Runnable() { public void run() { // to prevent deadlocks, this code must run while not holding the ActionManager lock - FileTemplateManager manager = FileTemplateManager.getInstance(); + FileTemplateManager manager = FileTemplateManager.getDefaultInstance(); final FileTemplate template = manager.getTemplate("GUI Form"); //noinspection HardCodedStringLiteral if (template != null && template.getExtension().equals("form")) { diff --git a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/CCProjectGenerator.java b/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/CCProjectGenerator.java index 0152c8d42a59..667134d767b5 100644 --- a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/CCProjectGenerator.java +++ b/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/CCProjectGenerator.java @@ -64,7 +64,7 @@ public class CCProjectGenerator extends PythonProjectGenerator implements Direct new WriteCommandAction.Simple(project) { @Override protected void run() throws Throwable { - final FileTemplate template = FileTemplateManager.getInstance().getInternalTemplate("test_helper"); + final FileTemplate template = FileTemplateManager.getInstance(project).getInternalTemplate("test_helper"); try { FileTemplateUtil.createFromTemplate(template, "test_helper.py", null, projectDir); } diff --git a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/actions/CCCreateTask.java b/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/actions/CCCreateTask.java index 9c363540a596..216727cb266d 100644 --- a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/actions/CCCreateTask.java +++ b/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/actions/CCCreateTask.java @@ -68,9 +68,9 @@ public class CCCreateTask extends DumbAwareAction { final PsiDirectory taskDirectory = DirectoryUtil.createSubdirectories("task" + (size + 1), lessonDir, "\\/"); if (taskDirectory != null) { CCUtils.markDirAsSourceRoot(taskDirectory.getVirtualFile(), project); - final FileTemplate template = FileTemplateManager.getInstance().getInternalTemplate("task.html"); - final FileTemplate testsTemplate = FileTemplateManager.getInstance().getInternalTemplate("tests"); - final FileTemplate taskTemplate = FileTemplateManager.getInstance().getInternalTemplate("task.answer"); + final FileTemplate template = FileTemplateManager.getInstance(project).getInternalTemplate("task.html"); + final FileTemplate testsTemplate = FileTemplateManager.getInstance(project).getInternalTemplate("tests"); + final FileTemplate taskTemplate = FileTemplateManager.getInstance(project).getInternalTemplate("task.answer"); try { final PsiElement taskFile = FileTemplateUtil.createFromTemplate(template, "task.html", null, taskDirectory); final PsiElement testsFile = FileTemplateUtil.createFromTemplate(testsTemplate, "tests.py", null, taskDirectory); diff --git a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/actions/CCCreateTaskFile.java b/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/actions/CCCreateTaskFile.java index c4f396ad02e4..69b67190346a 100644 --- a/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/actions/CCCreateTaskFile.java +++ b/python/edu/course-creator/src/org/jetbrains/plugins/coursecreator/actions/CCCreateTaskFile.java @@ -56,7 +56,7 @@ public class CCCreateTaskFile extends DumbAwareAction { ApplicationManager.getApplication().runWriteAction(new Runnable() { @Override public void run() { - final FileTemplate taskTemplate = FileTemplateManager.getInstance().getInternalTemplate("task.answer"); + final FileTemplate taskTemplate = FileTemplateManager.getInstance(project).getInternalTemplate("task.answer"); try { final PsiElement taskPyFile = FileTemplateUtil.createFromTemplate(taskTemplate, taskFileName, null, taskDir); task.addTaskFile(taskFileName + ".py", index); diff --git a/python/src/com/jetbrains/python/actions/CreatePackageAction.java b/python/src/com/jetbrains/python/actions/CreatePackageAction.java index d01b1d25cc3a..ab9bd5a8a0b3 100644 --- a/python/src/com/jetbrains/python/actions/CreatePackageAction.java +++ b/python/src/com/jetbrains/python/actions/CreatePackageAction.java @@ -25,7 +25,6 @@ import com.intellij.ide.util.DirectoryChooserUtil; import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.actionSystem.CommonDataKeys; import com.intellij.openapi.actionSystem.LangDataKeys; -import com.intellij.openapi.actionSystem.PlatformDataKeys; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.project.DumbAwareAction; import com.intellij.openapi.project.Project; @@ -79,14 +78,14 @@ public class CreatePackageAction extends DumbAwareAction { } private static void createInitPy(PsiDirectory directory) { - final FileTemplateManager fileTemplateManager = FileTemplateManager.getInstance(); + final FileTemplateManager fileTemplateManager = FileTemplateManager.getInstance(directory.getProject()); final FileTemplate template = fileTemplateManager.getInternalTemplate("Python Script"); if (directory.findFile(PyNames.INIT_DOT_PY) != null) { return; } if (template != null) { try { - FileTemplateUtil.createFromTemplate(template, PyNames.INIT_DOT_PY, fileTemplateManager.getDefaultProperties(directory.getProject()), directory); + FileTemplateUtil.createFromTemplate(template, PyNames.INIT_DOT_PY, fileTemplateManager.getDefaultProperties(), directory); } catch (Exception e) { LOG.error(e); diff --git a/python/src/com/jetbrains/python/psi/PyUtil.java b/python/src/com/jetbrains/python/psi/PyUtil.java index df5dfba3937d..960a4e50625d 100644 --- a/python/src/com/jetbrains/python/psi/PyUtil.java +++ b/python/src/com/jetbrains/python/psi/PyUtil.java @@ -1339,7 +1339,7 @@ public class PyUtil { final File file = new File(path); try { final VirtualFile baseDir = project.getBaseDir(); - final FileTemplateManager fileTemplateManager = FileTemplateManager.getInstance(); + final FileTemplateManager fileTemplateManager = FileTemplateManager.getInstance(project); final FileTemplate template = fileTemplateManager.getInternalTemplate("Python Script"); final String content = (template != null) ? template.getText(fileTemplateManager.getDefaultProperties(project)) : null; psi = PyExtractSuperclassHelper.placeFile(project,