From b784b6165b66d319ff820cae947093e06b2e7a15 Mon Sep 17 00:00:00 2001 From: Anna Kozlova Date: Wed, 28 Jan 2015 13:14:47 +0300 Subject: [PATCH] move getter/setter name suggestion to velocity --- .../codeInsight/generation/builderSetter.vm | 2 +- .../codeInsight/generation/defaultGetter.vm | 13 ++++++++++++- .../codeInsight/generation/defaultSetter.vm | 2 +- .../jetbrains/java/generate/GenerationUtil.java | 1 + .../java/generate/element/GenerationHelper.java | 14 -------------- .../view/GenerateTemplateConfigurable.java | 5 ++++- 6 files changed, 19 insertions(+), 18 deletions(-) diff --git a/java/java-impl/src/com/intellij/codeInsight/generation/builderSetter.vm b/java/java-impl/src/com/intellij/codeInsight/generation/builderSetter.vm index 257ea698d6db..bb6bb906b464 100644 --- a/java/java-impl/src/com/intellij/codeInsight/generation/builderSetter.vm +++ b/java/java-impl/src/com/intellij/codeInsight/generation/builderSetter.vm @@ -5,7 +5,7 @@ static void ## #else $classname ## #end -$helper.suggestSetterName($field, $project)($field.type $paramName) { +set$StringUtil.capitalizeWithJavaBeanConvention($StringUtil.sanitizeJavaIdentifier($field.name))($field.type $paramName) { #if ($field.name == $paramName) #if (!$field.modifierStatic) this.## diff --git a/java/java-impl/src/com/intellij/codeInsight/generation/defaultGetter.vm b/java/java-impl/src/com/intellij/codeInsight/generation/defaultGetter.vm index 780a038f6a71..351b92ef351c 100644 --- a/java/java-impl/src/com/intellij/codeInsight/generation/defaultGetter.vm +++ b/java/java-impl/src/com/intellij/codeInsight/generation/defaultGetter.vm @@ -2,6 +2,17 @@ public ## #if($field.modifierStatic) static ## #end -$field.type $helper.suggestGetterName($field, $project)() { +$field.type ## +#set($name = $StringUtil.capitalizeWithJavaBeanConvention($StringUtil.sanitizeJavaIdentifier($field.name))) +#if ($field.boolean) + #if ($StringUtil.startsWithIgnoreCase($name, 'is')) + #set($name = $StringUtil.decapitalize($name)) + #else + is## + #end +#else + get## +#end +${name}() { return $field.name; } \ No newline at end of file diff --git a/java/java-impl/src/com/intellij/codeInsight/generation/defaultSetter.vm b/java/java-impl/src/com/intellij/codeInsight/generation/defaultSetter.vm index 8ce00933ee66..1418987baba0 100644 --- a/java/java-impl/src/com/intellij/codeInsight/generation/defaultSetter.vm +++ b/java/java-impl/src/com/intellij/codeInsight/generation/defaultSetter.vm @@ -3,7 +3,7 @@ public ## #if($field.modifierStatic) static ## #end -void $helper.suggestSetterName($field, $project)($field.type $paramName) { +void set$StringUtil.capitalizeWithJavaBeanConvention($StringUtil.sanitizeJavaIdentifier($field.name))($field.type $paramName) { #if ($field.name == $paramName) #if (!$field.modifierStatic) this.## diff --git a/plugins/generate-tostring/src/org/jetbrains/java/generate/GenerationUtil.java b/plugins/generate-tostring/src/org/jetbrains/java/generate/GenerationUtil.java index e16e745ede02..8f6a72438c7b 100644 --- a/plugins/generate-tostring/src/org/jetbrains/java/generate/GenerationUtil.java +++ b/plugins/generate-tostring/src/org/jetbrains/java/generate/GenerationUtil.java @@ -205,6 +205,7 @@ public class GenerationUtil { vc.put("FQClassname", ce.getQualifiedName()); vc.put("settings", CodeStyleSettingsManager.getSettings(clazz.getProject())); vc.put("helper", GenerationHelper.class); + vc.put("StringUtil", StringUtil.class); vc.put("project", clazz.getProject()); for (String paramName : contextMap.keySet()) { diff --git a/plugins/generate-tostring/src/org/jetbrains/java/generate/element/GenerationHelper.java b/plugins/generate-tostring/src/org/jetbrains/java/generate/element/GenerationHelper.java index 0376d59244cf..41ca3c2de064 100644 --- a/plugins/generate-tostring/src/org/jetbrains/java/generate/element/GenerationHelper.java +++ b/plugins/generate-tostring/src/org/jetbrains/java/generate/element/GenerationHelper.java @@ -57,18 +57,4 @@ public class GenerationHelper { String propertyName = codeStyleManager.variableNameToPropertyName(name, VariableKind.FIELD); return codeStyleManager.propertyNameToVariableName(propertyName, VariableKind.PARAMETER); } - - public static String suggestGetterName(FieldElement fieldElement, Project project) { - String text = fieldElement.isModifierStatic() ? "static " : ""; - text += fieldElement.getType() + " " + fieldElement.getName(); - final PsiField field = JavaPsiFacade.getElementFactory(project).createFieldFromText(text, null); - return PropertyUtil.suggestGetterName(field); - } - - public static String suggestSetterName(FieldElement fieldElement, Project project) { - String text = fieldElement.isModifierStatic() ? "static " : ""; - text += fieldElement.getType() + " " + fieldElement.getName(); - final PsiField field = JavaPsiFacade.getElementFactory(project).createFieldFromText(text, null); - return PropertyUtil.suggestSetterName(field); - } } diff --git a/plugins/generate-tostring/src/org/jetbrains/java/generate/view/GenerateTemplateConfigurable.java b/plugins/generate-tostring/src/org/jetbrains/java/generate/view/GenerateTemplateConfigurable.java index 08b9e7bc323b..9b995798ef36 100644 --- a/plugins/generate-tostring/src/org/jetbrains/java/generate/view/GenerateTemplateConfigurable.java +++ b/plugins/generate-tostring/src/org/jetbrains/java/generate/view/GenerateTemplateConfigurable.java @@ -98,7 +98,10 @@ public class GenerateTemplateConfigurable implements UnnamedConfigurable{ } final JPanel panel = new JPanel(new BorderLayout()); panel.add(component, BorderLayout.CENTER); - panel.add(new MultiLineLabel("Available implicit variables:\n" + StringUtil.join(availableImplicits, ", ")), BorderLayout.SOUTH); + MultiLineLabel label = + new MultiLineLabel("Available implicit variables:\n" + StringUtil.join(availableImplicits, ", ") + ""); + label.setPreferredSize(new Dimension(250, 30)); + panel.add(label, BorderLayout.SOUTH); return panel; }