From 3dd0451d42adc88cd1d164c8d2133c2d8c007e56 Mon Sep 17 00:00:00 2001 From: peter Date: Mon, 2 Jun 2014 16:35:28 +0200 Subject: [PATCH] IDEA-125442 Strip .java from classname when creating new class --- .../intellij/ide/actions/CreateClassAction.java | 5 +++++ .../actions/CreateTemplateInPackageAction.java | 16 +++++++++------- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/java/java-impl/src/com/intellij/ide/actions/CreateClassAction.java b/java/java-impl/src/com/intellij/ide/actions/CreateClassAction.java index 570efa1de671..907779528bf8 100644 --- a/java/java-impl/src/com/intellij/ide/actions/CreateClassAction.java +++ b/java/java-impl/src/com/intellij/ide/actions/CreateClassAction.java @@ -83,6 +83,11 @@ public class CreateClassAction extends JavaCreateTemplateInPackageAction extend @Nullable private T checkOrCreate(String newName, PsiDirectory directory, String templateName) throws IncorrectOperationException { PsiDirectory dir = directory; - String className = newName; - - final String extension = StringUtil.getShortName(templateName); - if (StringUtil.isNotEmpty(extension)) { - className = StringUtil.trimEnd(className, "." + extension); - } + String className = removeExtension(templateName, newName); if (className.contains(".")) { String[] names = className.split("\\."); @@ -110,6 +104,14 @@ public abstract class CreateTemplateInPackageAction extend return doCreate(dir, className, templateName); } + protected String removeExtension(String templateName, String className) { + final String extension = StringUtil.getShortName(templateName); + if (StringUtil.isNotEmpty(extension)) { + className = StringUtil.trimEnd(className, "." + extension); + } + return className; + } + @Nullable protected abstract T doCreate(final PsiDirectory dir, final String className, String templateName) throws IncorrectOperationException;