From 70c45ec863c6d4c71ddfd3ec98c48a9a93f44f9b Mon Sep 17 00:00:00 2001 From: Roman Shevchenko Date: Wed, 17 Aug 2016 15:44:42 +0300 Subject: [PATCH] [java] fixes template handlers' behavior --- .../ide/fileTemplates/JavaCreateFromTemplateHandler.java | 2 +- .../ide/fileTemplates/JavaInternalTemplatesHandler.java | 7 +++++++ .../com/intellij/ide/fileTemplates/JavaTemplateUtil.java | 2 ++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/java/java-impl/src/com/intellij/ide/fileTemplates/JavaCreateFromTemplateHandler.java b/java/java-impl/src/com/intellij/ide/fileTemplates/JavaCreateFromTemplateHandler.java index 449482b245ba..efa124b4141f 100644 --- a/java/java-impl/src/com/intellij/ide/fileTemplates/JavaCreateFromTemplateHandler.java +++ b/java/java-impl/src/com/intellij/ide/fileTemplates/JavaCreateFromTemplateHandler.java @@ -98,7 +98,7 @@ public class JavaCreateFromTemplateHandler implements CreateFromTemplateHandler @Override public boolean handlesTemplate(@NotNull FileTemplate template) { FileType fileType = FileTypeManagerEx.getInstanceEx().getFileTypeByExtension(template.getExtension()); - return fileType.equals(StdFileTypes.JAVA) && ArrayUtil.contains(template.getName(), JavaTemplateUtil.INTERNAL_CLASS_TEMPLATES); + return fileType.equals(StdFileTypes.JAVA) && !ArrayUtil.contains(template.getName(), JavaTemplateUtil.INTERNAL_FILE_TEMPLATES); } @NotNull diff --git a/java/java-impl/src/com/intellij/ide/fileTemplates/JavaInternalTemplatesHandler.java b/java/java-impl/src/com/intellij/ide/fileTemplates/JavaInternalTemplatesHandler.java index 826516fd5a48..f6ee6c17f3f2 100644 --- a/java/java-impl/src/com/intellij/ide/fileTemplates/JavaInternalTemplatesHandler.java +++ b/java/java-impl/src/com/intellij/ide/fileTemplates/JavaInternalTemplatesHandler.java @@ -16,8 +16,15 @@ package com.intellij.ide.fileTemplates; import com.intellij.psi.PsiDirectory; +import com.intellij.util.ArrayUtil; +import org.jetbrains.annotations.NotNull; public class JavaInternalTemplatesHandler extends JavaCreateFromTemplateHandler { + @Override + public boolean handlesTemplate(@NotNull FileTemplate template) { + return ArrayUtil.contains(template.getName(), JavaTemplateUtil.INTERNAL_CLASS_TEMPLATES); + } + @Override public boolean canCreate(PsiDirectory[] dirs) { return false; diff --git a/java/java-impl/src/com/intellij/ide/fileTemplates/JavaTemplateUtil.java b/java/java-impl/src/com/intellij/ide/fileTemplates/JavaTemplateUtil.java index ba42df93dd69..6c1948f28054 100644 --- a/java/java-impl/src/com/intellij/ide/fileTemplates/JavaTemplateUtil.java +++ b/java/java-impl/src/com/intellij/ide/fileTemplates/JavaTemplateUtil.java @@ -45,6 +45,8 @@ public class JavaTemplateUtil { public static final String INTERNAL_PACKAGE_INFO_TEMPLATE_NAME = "package-info"; public static final String INTERNAL_MODULE_INFO_TEMPLATE_NAME = "module-info"; + public static final String[] INTERNAL_FILE_TEMPLATES = {INTERNAL_PACKAGE_INFO_TEMPLATE_NAME, INTERNAL_MODULE_INFO_TEMPLATE_NAME}; + private JavaTemplateUtil() { } public static void setClassAndMethodNameProperties (@NotNull Properties properties, @NotNull PsiClass aClass, @NotNull PsiMethod method) {