diff --git a/plugins/generate-tostring/src/org/jetbrains/generate/tostring/GenerateToStringActionHandler.java b/java/java-analysis-impl/src/org/jetbrains/generate/tostring/GenerateToStringActionHandler.java similarity index 100% rename from plugins/generate-tostring/src/org/jetbrains/generate/tostring/GenerateToStringActionHandler.java rename to java/java-analysis-impl/src/org/jetbrains/generate/tostring/GenerateToStringActionHandler.java diff --git a/plugins/generate-tostring/src/org/jetbrains/generate/tostring/GenerateToStringContext.java b/java/java-analysis-impl/src/org/jetbrains/generate/tostring/GenerateToStringContext.java similarity index 100% rename from plugins/generate-tostring/src/org/jetbrains/generate/tostring/GenerateToStringContext.java rename to java/java-analysis-impl/src/org/jetbrains/generate/tostring/GenerateToStringContext.java diff --git a/plugins/generate-tostring/src/org/jetbrains/generate/tostring/GenerateToStringUtils.java b/java/java-analysis-impl/src/org/jetbrains/generate/tostring/GenerateToStringUtils.java similarity index 54% rename from plugins/generate-tostring/src/org/jetbrains/generate/tostring/GenerateToStringUtils.java rename to java/java-analysis-impl/src/org/jetbrains/generate/tostring/GenerateToStringUtils.java index 258299cafd39..0fdb14de5106 100644 --- a/plugins/generate-tostring/src/org/jetbrains/generate/tostring/GenerateToStringUtils.java +++ b/java/java-analysis-impl/src/org/jetbrains/generate/tostring/GenerateToStringUtils.java @@ -15,22 +15,13 @@ */ package org.jetbrains.generate.tostring; -import com.intellij.codeInsight.generation.PsiElementClassMember; -import com.intellij.codeInsight.generation.PsiFieldMember; -import com.intellij.codeInsight.generation.PsiMethodMember; import com.intellij.openapi.diagnostic.Logger; -import com.intellij.openapi.project.Project; -import com.intellij.openapi.ui.Messages; import com.intellij.psi.*; import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; import org.jetbrains.generate.tostring.config.FilterPattern; -import org.jetbrains.generate.tostring.exception.GenerateCodeException; -import org.jetbrains.generate.tostring.exception.PluginException; import org.jetbrains.generate.tostring.psi.PsiAdapter; import java.util.ArrayList; -import java.util.Collections; import java.util.List; /** @@ -125,73 +116,4 @@ public class GenerateToStringUtils { } return availableMethods.toArray(new PsiMethod[availableMethods.size()]); } - - /** - * Handles any exception during the executing on this plugin. - * - * @param project PSI project - * @param e the caused exception. - * @throws RuntimeException is thrown for severe exceptions - */ - public static void handleException(Project project, Exception e) throws RuntimeException { - log.info(e); - - if (e instanceof GenerateCodeException) { - // code generation error - display velocity error in error dialog so user can identify problem quicker - Messages.showMessageDialog(project, "Velocity error generating code - see IDEA log for more details (stacktrace should be in idea.log):\n" + e.getMessage(), "Warning", Messages.getWarningIcon()); - } else if (e instanceof PluginException) { - // plugin related error - could be recoverable. - Messages.showMessageDialog(project, "A PluginException was thrown while performing the action - see IDEA log for details (stacktrace should be in idea.log):\n" + e.getMessage(), "Warning", Messages.getWarningIcon()); - } else if (e instanceof RuntimeException) { - // unknown error (such as NPE) - not recoverable - Messages.showMessageDialog(project, "An unrecoverable exception was thrown while performing the action - see IDEA log for details (stacktrace should be in idea.log):\n" + e.getMessage(), "Error", Messages.getErrorIcon()); - throw (RuntimeException) e; // throw to make IDEA alert user - } else { - // unknown error (such as NPE) - not recoverable - Messages.showMessageDialog(project, "An unrecoverable exception was thrown while performing the action - see IDEA log for details (stacktrace should be in idea.log):\n" + e.getMessage(), "Error", Messages.getErrorIcon()); - throw new RuntimeException(e); // rethrow as runtime to make IDEA alert user - } - } - - /** - * Combines the two lists into one list of members. - * - * @param filteredFields fields to be included in the dialog - * @param filteredMethods methods to be included in the dialog - * @return the combined list - */ - public static PsiElementClassMember[] combineToClassMemberList(PsiField[] filteredFields, PsiMethod[] filteredMethods) { - PsiElementClassMember[] members = new PsiElementClassMember[filteredFields.length + filteredMethods.length]; - - // first add fields - for (int i = 0; i < filteredFields.length; i++) { - members[i] = new PsiFieldMember(filteredFields[i]); - } - - // then add methods - for (int i = 0; i < filteredMethods.length; i++) { - members[filteredFields.length + i] = new PsiMethodMember(filteredMethods[i]); - } - - return members; - } - - /** - * Converts the list of {@link PsiElementClassMember} to {PsiMember} objects. - * - * @param classMemberList list of {@link PsiElementClassMember} - * @return a list of {PsiMember} objects. - */ - public static List convertClassMembersToPsiMembers(@Nullable List classMemberList) { - if (classMemberList == null || classMemberList.isEmpty()) { - return Collections.emptyList(); - } - List psiMemberList = new ArrayList(); - - for (PsiElementClassMember classMember : classMemberList) { - psiMemberList.add(classMember.getElement()); - } - - return psiMemberList; - } } diff --git a/plugins/generate-tostring/src/org/jetbrains/generate/tostring/config/CancelPolicy.java b/java/java-analysis-impl/src/org/jetbrains/generate/tostring/config/CancelPolicy.java similarity index 96% rename from plugins/generate-tostring/src/org/jetbrains/generate/tostring/config/CancelPolicy.java rename to java/java-analysis-impl/src/org/jetbrains/generate/tostring/config/CancelPolicy.java index a45f7b7bcbb9..47f9e9ed8717 100644 --- a/plugins/generate-tostring/src/org/jetbrains/generate/tostring/config/CancelPolicy.java +++ b/java/java-analysis-impl/src/org/jetbrains/generate/tostring/config/CancelPolicy.java @@ -18,7 +18,6 @@ package org.jetbrains.generate.tostring.config; import com.intellij.openapi.editor.Editor; import com.intellij.psi.PsiClass; import com.intellij.psi.PsiMethod; -import com.intellij.util.IncorrectOperationException; import org.jetbrains.annotations.NotNull; /** diff --git a/plugins/generate-tostring/src/org/jetbrains/generate/tostring/config/Config.java b/java/java-analysis-impl/src/org/jetbrains/generate/tostring/config/Config.java similarity index 100% rename from plugins/generate-tostring/src/org/jetbrains/generate/tostring/config/Config.java rename to java/java-analysis-impl/src/org/jetbrains/generate/tostring/config/Config.java diff --git a/plugins/generate-tostring/src/org/jetbrains/generate/tostring/config/ConflictResolutionPolicy.java b/java/java-analysis-impl/src/org/jetbrains/generate/tostring/config/ConflictResolutionPolicy.java similarity index 100% rename from plugins/generate-tostring/src/org/jetbrains/generate/tostring/config/ConflictResolutionPolicy.java rename to java/java-analysis-impl/src/org/jetbrains/generate/tostring/config/ConflictResolutionPolicy.java diff --git a/plugins/generate-tostring/src/org/jetbrains/generate/tostring/config/DuplicationPolicy.java b/java/java-analysis-impl/src/org/jetbrains/generate/tostring/config/DuplicationPolicy.java similarity index 96% rename from plugins/generate-tostring/src/org/jetbrains/generate/tostring/config/DuplicationPolicy.java rename to java/java-analysis-impl/src/org/jetbrains/generate/tostring/config/DuplicationPolicy.java index 3d0171344cc4..27ba0057de53 100644 --- a/plugins/generate-tostring/src/org/jetbrains/generate/tostring/config/DuplicationPolicy.java +++ b/java/java-analysis-impl/src/org/jetbrains/generate/tostring/config/DuplicationPolicy.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2013 JetBrains s.r.o. + * Copyright 2000-2014 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. diff --git a/plugins/generate-tostring/src/org/jetbrains/generate/tostring/config/FilterPattern.java b/java/java-analysis-impl/src/org/jetbrains/generate/tostring/config/FilterPattern.java similarity index 100% rename from plugins/generate-tostring/src/org/jetbrains/generate/tostring/config/FilterPattern.java rename to java/java-analysis-impl/src/org/jetbrains/generate/tostring/config/FilterPattern.java diff --git a/plugins/generate-tostring/src/org/jetbrains/generate/tostring/config/InsertLastStrategy.java b/java/java-analysis-impl/src/org/jetbrains/generate/tostring/config/InsertLastStrategy.java similarity index 97% rename from plugins/generate-tostring/src/org/jetbrains/generate/tostring/config/InsertLastStrategy.java rename to java/java-analysis-impl/src/org/jetbrains/generate/tostring/config/InsertLastStrategy.java index 24c8461273a3..c3b059107d70 100644 --- a/plugins/generate-tostring/src/org/jetbrains/generate/tostring/config/InsertLastStrategy.java +++ b/java/java-analysis-impl/src/org/jetbrains/generate/tostring/config/InsertLastStrategy.java @@ -19,7 +19,6 @@ import com.intellij.openapi.editor.Editor; import com.intellij.psi.PsiClass; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiMethod; -import com.intellij.util.IncorrectOperationException; import org.jetbrains.annotations.NotNull; import org.jetbrains.generate.tostring.psi.PsiAdapter; diff --git a/plugins/generate-tostring/src/org/jetbrains/generate/tostring/config/InsertNewMethodStrategy.java b/java/java-analysis-impl/src/org/jetbrains/generate/tostring/config/InsertNewMethodStrategy.java similarity index 96% rename from plugins/generate-tostring/src/org/jetbrains/generate/tostring/config/InsertNewMethodStrategy.java rename to java/java-analysis-impl/src/org/jetbrains/generate/tostring/config/InsertNewMethodStrategy.java index 7b30a1b6e488..42fff861b785 100644 --- a/plugins/generate-tostring/src/org/jetbrains/generate/tostring/config/InsertNewMethodStrategy.java +++ b/java/java-analysis-impl/src/org/jetbrains/generate/tostring/config/InsertNewMethodStrategy.java @@ -18,7 +18,6 @@ package org.jetbrains.generate.tostring.config; import com.intellij.openapi.editor.Editor; import com.intellij.psi.PsiClass; import com.intellij.psi.PsiMethod; -import com.intellij.util.IncorrectOperationException; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; diff --git a/plugins/generate-tostring/src/org/jetbrains/generate/tostring/config/InsertWhere.java b/java/java-analysis-impl/src/org/jetbrains/generate/tostring/config/InsertWhere.java similarity index 96% rename from plugins/generate-tostring/src/org/jetbrains/generate/tostring/config/InsertWhere.java rename to java/java-analysis-impl/src/org/jetbrains/generate/tostring/config/InsertWhere.java index 4f66bd464781..05b6d4a01f77 100644 --- a/plugins/generate-tostring/src/org/jetbrains/generate/tostring/config/InsertWhere.java +++ b/java/java-analysis-impl/src/org/jetbrains/generate/tostring/config/InsertWhere.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2009 JetBrains s.r.o. + * Copyright 2000-2014 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. diff --git a/plugins/generate-tostring/src/org/jetbrains/generate/tostring/config/PolicyOptions.java b/java/java-analysis-impl/src/org/jetbrains/generate/tostring/config/PolicyOptions.java similarity index 100% rename from plugins/generate-tostring/src/org/jetbrains/generate/tostring/config/PolicyOptions.java rename to java/java-analysis-impl/src/org/jetbrains/generate/tostring/config/PolicyOptions.java diff --git a/plugins/generate-tostring/src/org/jetbrains/generate/tostring/exception/GenerateCodeException.java b/java/java-analysis-impl/src/org/jetbrains/generate/tostring/exception/GenerateCodeException.java similarity index 100% rename from plugins/generate-tostring/src/org/jetbrains/generate/tostring/exception/GenerateCodeException.java rename to java/java-analysis-impl/src/org/jetbrains/generate/tostring/exception/GenerateCodeException.java diff --git a/plugins/generate-tostring/src/org/jetbrains/generate/tostring/exception/PluginException.java b/java/java-analysis-impl/src/org/jetbrains/generate/tostring/exception/PluginException.java similarity index 100% rename from plugins/generate-tostring/src/org/jetbrains/generate/tostring/exception/PluginException.java rename to java/java-analysis-impl/src/org/jetbrains/generate/tostring/exception/PluginException.java diff --git a/plugins/generate-tostring/src/org/jetbrains/generate/tostring/inspection/AbstractToStringInspection.java b/java/java-analysis-impl/src/org/jetbrains/generate/tostring/inspection/AbstractToStringInspection.java similarity index 100% rename from plugins/generate-tostring/src/org/jetbrains/generate/tostring/inspection/AbstractToStringInspection.java rename to java/java-analysis-impl/src/org/jetbrains/generate/tostring/inspection/AbstractToStringInspection.java diff --git a/plugins/generate-tostring/src/org/jetbrains/generate/tostring/inspection/ClassHasNoToStringMethodInspection.java b/java/java-analysis-impl/src/org/jetbrains/generate/tostring/inspection/ClassHasNoToStringMethodInspection.java similarity index 98% rename from plugins/generate-tostring/src/org/jetbrains/generate/tostring/inspection/ClassHasNoToStringMethodInspection.java rename to java/java-analysis-impl/src/org/jetbrains/generate/tostring/inspection/ClassHasNoToStringMethodInspection.java index 46efd1944d93..cd1a7f7ddba8 100644 --- a/plugins/generate-tostring/src/org/jetbrains/generate/tostring/inspection/ClassHasNoToStringMethodInspection.java +++ b/java/java-analysis-impl/src/org/jetbrains/generate/tostring/inspection/ClassHasNoToStringMethodInspection.java @@ -20,7 +20,6 @@ import com.intellij.codeInspection.ProblemHighlightType; import com.intellij.codeInspection.ProblemsHolder; import com.intellij.codeInspection.ui.RegExFormatter; import com.intellij.codeInspection.ui.RegExInputVerifier; -import com.intellij.openapi.ui.Messages; import com.intellij.psi.*; import com.intellij.psi.util.InheritanceUtil; import com.intellij.ui.DocumentAdapter; @@ -29,11 +28,9 @@ import com.intellij.util.ui.UIUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.generate.tostring.GenerateToStringContext; import org.jetbrains.generate.tostring.GenerateToStringUtils; -import org.jetbrains.generate.tostring.util.StringUtil; import javax.swing.*; import javax.swing.event.DocumentEvent; -import javax.swing.event.DocumentListener; import javax.swing.text.Document; import java.awt.*; import java.util.regex.Pattern; diff --git a/plugins/generate-tostring/src/org/jetbrains/generate/tostring/inspection/FieldNotUsedInToStringInspection.java b/java/java-analysis-impl/src/org/jetbrains/generate/tostring/inspection/FieldNotUsedInToStringInspection.java similarity index 100% rename from plugins/generate-tostring/src/org/jetbrains/generate/tostring/inspection/FieldNotUsedInToStringInspection.java rename to java/java-analysis-impl/src/org/jetbrains/generate/tostring/inspection/FieldNotUsedInToStringInspection.java diff --git a/plugins/generate-tostring/src/org/jetbrains/generate/tostring/inspection/GenerateToStringQuickFix.java b/java/java-analysis-impl/src/org/jetbrains/generate/tostring/inspection/GenerateToStringQuickFix.java similarity index 88% rename from plugins/generate-tostring/src/org/jetbrains/generate/tostring/inspection/GenerateToStringQuickFix.java rename to java/java-analysis-impl/src/org/jetbrains/generate/tostring/inspection/GenerateToStringQuickFix.java index 896a72a59db9..63afe18ccbb3 100644 --- a/plugins/generate-tostring/src/org/jetbrains/generate/tostring/inspection/GenerateToStringQuickFix.java +++ b/java/java-analysis-impl/src/org/jetbrains/generate/tostring/inspection/GenerateToStringQuickFix.java @@ -17,12 +17,12 @@ package org.jetbrains.generate.tostring.inspection; import com.intellij.codeInspection.LocalQuickFix; import com.intellij.codeInspection.ProblemDescriptor; +import com.intellij.openapi.components.ServiceManager; import com.intellij.openapi.project.Project; import com.intellij.psi.PsiClass; import com.intellij.psi.util.PsiTreeUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.generate.tostring.GenerateToStringActionHandler; -import org.jetbrains.generate.tostring.GenerateToStringActionHandlerImpl; /** * Quick fix to run Generate toString() to fix any code inspection problems. @@ -31,8 +31,6 @@ public class GenerateToStringQuickFix implements LocalQuickFix { public static final GenerateToStringQuickFix INSTANCE = new GenerateToStringQuickFix(); - private final GenerateToStringActionHandler myHandler = new GenerateToStringActionHandlerImpl(); - private GenerateToStringQuickFix() {} public static GenerateToStringQuickFix getInstance() { @@ -57,6 +55,7 @@ public class GenerateToStringQuickFix implements LocalQuickFix { if (clazz == null) { return; // no class to fix } - myHandler.executeActionQuickFix(project, clazz); + GenerateToStringActionHandler handler = ServiceManager.getService(GenerateToStringActionHandler.class); + handler.executeActionQuickFix(project, clazz); } } diff --git a/plugins/generate-tostring/src/org/jetbrains/generate/tostring/psi/PsiAdapter.java b/java/java-analysis-impl/src/org/jetbrains/generate/tostring/psi/PsiAdapter.java similarity index 100% rename from plugins/generate-tostring/src/org/jetbrains/generate/tostring/psi/PsiAdapter.java rename to java/java-analysis-impl/src/org/jetbrains/generate/tostring/psi/PsiAdapter.java diff --git a/plugins/generate-tostring/src/org/jetbrains/generate/tostring/util/StringUtil.java b/java/java-analysis-impl/src/org/jetbrains/generate/tostring/util/StringUtil.java similarity index 100% rename from plugins/generate-tostring/src/org/jetbrains/generate/tostring/util/StringUtil.java rename to java/java-analysis-impl/src/org/jetbrains/generate/tostring/util/StringUtil.java diff --git a/plugins/generate-tostring/src/org/jetbrains/generate/tostring/GenerateToStringActionHandlerImpl.java b/plugins/generate-tostring/src/org/jetbrains/generate/tostring/GenerateToStringActionHandlerImpl.java index 6033a891deef..527e66312f33 100644 --- a/plugins/generate-tostring/src/org/jetbrains/generate/tostring/GenerateToStringActionHandlerImpl.java +++ b/plugins/generate-tostring/src/org/jetbrains/generate/tostring/GenerateToStringActionHandlerImpl.java @@ -101,7 +101,7 @@ public class GenerateToStringActionHandlerImpl extends EditorWriteActionHandler dialog.show(); if (DialogWrapper.OK_EXIT_CODE == dialog.getExitCode()) { - Collection selectedMembers = GenerateToStringUtils.convertClassMembersToPsiMembers(dialog.getSelectedElements()); + Collection selectedMembers = GenerationUtil.convertClassMembersToPsiMembers(dialog.getSelectedElements()); final TemplateResource template = header.getSelectedTemplate(); TemplatesManager.getInstance().setDefaultTemplate(template); @@ -139,7 +139,7 @@ public class GenerateToStringActionHandlerImpl extends EditorWriteActionHandler filteredMethods = PsiMethod.EMPTY_ARRAY; } - return GenerateToStringUtils.combineToClassMemberList(filteredFields, filteredMethods); + return GenerationUtil.combineToClassMemberList(filteredFields, filteredMethods); } @Override diff --git a/plugins/generate-tostring/src/org/jetbrains/generate/tostring/GenerateToStringWorker.java b/plugins/generate-tostring/src/org/jetbrains/generate/tostring/GenerateToStringWorker.java index a9c848702279..aff07225bf17 100644 --- a/plugins/generate-tostring/src/org/jetbrains/generate/tostring/GenerateToStringWorker.java +++ b/plugins/generate-tostring/src/org/jetbrains/generate/tostring/GenerateToStringWorker.java @@ -343,7 +343,7 @@ public class GenerateToStringWorker { new GenerateToStringWorker(clazz, editor, insertAtOverride).execute(selectedMembers, template); } catch (Exception e) { - GenerateToStringUtils.handleException(clazz.getProject(), e); + GenerationUtil.handleException(clazz.getProject(), e); } } }); diff --git a/plugins/generate-tostring/src/org/jetbrains/generate/tostring/GenerationUtil.java b/plugins/generate-tostring/src/org/jetbrains/generate/tostring/GenerationUtil.java new file mode 100644 index 000000000000..1c5b2fed439d --- /dev/null +++ b/plugins/generate-tostring/src/org/jetbrains/generate/tostring/GenerationUtil.java @@ -0,0 +1,108 @@ +/* + * Copyright 2000-2014 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 org.jetbrains.generate.tostring; + +import com.intellij.codeInsight.generation.PsiElementClassMember; +import com.intellij.codeInsight.generation.PsiFieldMember; +import com.intellij.codeInsight.generation.PsiMethodMember; +import com.intellij.openapi.diagnostic.Logger; +import com.intellij.openapi.project.Project; +import com.intellij.openapi.ui.Messages; +import com.intellij.psi.PsiField; +import com.intellij.psi.PsiMember; +import com.intellij.psi.PsiMethod; +import org.jetbrains.annotations.Nullable; +import org.jetbrains.generate.tostring.exception.GenerateCodeException; +import org.jetbrains.generate.tostring.exception.PluginException; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +public class GenerationUtil { + private static final Logger log = Logger.getInstance("#org.jetbrains.generate.tostring.GenerationUtil"); + + /** + * Handles any exception during the executing on this plugin. + * + * @param project PSI project + * @param e the caused exception. + * @throws RuntimeException is thrown for severe exceptions + */ + public static void handleException(Project project, Exception e) throws RuntimeException { + log.info(e); + + if (e instanceof GenerateCodeException) { + // code generation error - display velocity error in error dialog so user can identify problem quicker + Messages.showMessageDialog(project, + "Velocity error generating code - see IDEA log for more details (stacktrace should be in idea.log):\n" + + e.getMessage(), "Warning", Messages.getWarningIcon()); + } else if (e instanceof PluginException) { + // plugin related error - could be recoverable. + Messages.showMessageDialog(project, "A PluginException was thrown while performing the action - see IDEA log for details (stacktrace should be in idea.log):\n" + e.getMessage(), "Warning", Messages.getWarningIcon()); + } else if (e instanceof RuntimeException) { + // unknown error (such as NPE) - not recoverable + Messages.showMessageDialog(project, "An unrecoverable exception was thrown while performing the action - see IDEA log for details (stacktrace should be in idea.log):\n" + e.getMessage(), "Error", Messages.getErrorIcon()); + throw (RuntimeException) e; // throw to make IDEA alert user + } else { + // unknown error (such as NPE) - not recoverable + Messages.showMessageDialog(project, "An unrecoverable exception was thrown while performing the action - see IDEA log for details (stacktrace should be in idea.log):\n" + e.getMessage(), "Error", Messages.getErrorIcon()); + throw new RuntimeException(e); // rethrow as runtime to make IDEA alert user + } + } + + /** + * Combines the two lists into one list of members. + * + * @param filteredFields fields to be included in the dialog + * @param filteredMethods methods to be included in the dialog + * @return the combined list + */ + public static PsiElementClassMember[] combineToClassMemberList(PsiField[] filteredFields, PsiMethod[] filteredMethods) { + PsiElementClassMember[] members = new PsiElementClassMember[filteredFields.length + filteredMethods.length]; + + // first add fields + for (int i = 0; i < filteredFields.length; i++) { + members[i] = new PsiFieldMember(filteredFields[i]); + } + + // then add methods + for (int i = 0; i < filteredMethods.length; i++) { + members[filteredFields.length + i] = new PsiMethodMember(filteredMethods[i]); + } + + return members; + } + + /** + * Converts the list of {@link com.intellij.codeInsight.generation.PsiElementClassMember} to {PsiMember} objects. + * + * @param classMemberList list of {@link com.intellij.codeInsight.generation.PsiElementClassMember} + * @return a list of {PsiMember} objects. + */ + public static List convertClassMembersToPsiMembers(@Nullable List classMemberList) { + if (classMemberList == null || classMemberList.isEmpty()) { + return Collections.emptyList(); + } + List psiMemberList = new ArrayList(); + + for (PsiElementClassMember classMember : classMemberList) { + psiMemberList.add(classMember.getElement()); + } + + return psiMemberList; + } +} \ No newline at end of file diff --git a/plugins/generate-tostring/src/org/jetbrains/generate/tostring/test/DummyCompleteTestBean.java b/plugins/generate-tostring/testSrc/org/jetbrains/generate/tostring/test/DummyCompleteTestBean.java similarity index 100% rename from plugins/generate-tostring/src/org/jetbrains/generate/tostring/test/DummyCompleteTestBean.java rename to plugins/generate-tostring/testSrc/org/jetbrains/generate/tostring/test/DummyCompleteTestBean.java diff --git a/plugins/generate-tostring/src/org/jetbrains/generate/tostring/test/DummyGetterTestBean.java b/plugins/generate-tostring/testSrc/org/jetbrains/generate/tostring/test/DummyGetterTestBean.java similarity index 100% rename from plugins/generate-tostring/src/org/jetbrains/generate/tostring/test/DummyGetterTestBean.java rename to plugins/generate-tostring/testSrc/org/jetbrains/generate/tostring/test/DummyGetterTestBean.java diff --git a/plugins/generate-tostring/src/org/jetbrains/generate/tostring/test/DummyModelTestBean.java b/plugins/generate-tostring/testSrc/org/jetbrains/generate/tostring/test/DummyModelTestBean.java similarity index 100% rename from plugins/generate-tostring/src/org/jetbrains/generate/tostring/test/DummyModelTestBean.java rename to plugins/generate-tostring/testSrc/org/jetbrains/generate/tostring/test/DummyModelTestBean.java diff --git a/plugins/generate-tostring/src/org/jetbrains/generate/tostring/test/DummySortTestBean.java b/plugins/generate-tostring/testSrc/org/jetbrains/generate/tostring/test/DummySortTestBean.java similarity index 100% rename from plugins/generate-tostring/src/org/jetbrains/generate/tostring/test/DummySortTestBean.java rename to plugins/generate-tostring/testSrc/org/jetbrains/generate/tostring/test/DummySortTestBean.java diff --git a/plugins/generate-tostring/src/org/jetbrains/generate/tostring/test/DummyTestBean.java b/plugins/generate-tostring/testSrc/org/jetbrains/generate/tostring/test/DummyTestBean.java similarity index 100% rename from plugins/generate-tostring/src/org/jetbrains/generate/tostring/test/DummyTestBean.java rename to plugins/generate-tostring/testSrc/org/jetbrains/generate/tostring/test/DummyTestBean.java diff --git a/plugins/generate-tostring/src/org/jetbrains/generate/tostring/test/Owner.java b/plugins/generate-tostring/testSrc/org/jetbrains/generate/tostring/test/Owner.java similarity index 100% rename from plugins/generate-tostring/src/org/jetbrains/generate/tostring/test/Owner.java rename to plugins/generate-tostring/testSrc/org/jetbrains/generate/tostring/test/Owner.java diff --git a/plugins/generate-tostring/src/org/jetbrains/generate/tostring/test/Pet.java b/plugins/generate-tostring/testSrc/org/jetbrains/generate/tostring/test/Pet.java similarity index 100% rename from plugins/generate-tostring/src/org/jetbrains/generate/tostring/test/Pet.java rename to plugins/generate-tostring/testSrc/org/jetbrains/generate/tostring/test/Pet.java diff --git a/resources/src/META-INF/IdeaPlugin.xml b/resources/src/META-INF/IdeaPlugin.xml index 027cebf29a81..936aa15b61f5 100644 --- a/resources/src/META-INF/IdeaPlugin.xml +++ b/resources/src/META-INF/IdeaPlugin.xml @@ -1517,6 +1517,8 @@ +