mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
extract super: validate different qualified names, accept same short names (IDEA-159142)
This commit is contained in:
+8
-2
@@ -177,8 +177,14 @@ public abstract class JavaExtractSuperBaseDialog extends ExtractSuperBaseDialog<
|
||||
@Override
|
||||
protected String validateName(String name) {
|
||||
return PsiNameHelper.getInstance(myProject).isIdentifier(name)
|
||||
? name.equals(mySourceClass.getName())
|
||||
? "Different name expected" : null
|
||||
? null
|
||||
: RefactoringMessageUtil.getIncorrectIdentifierMessage(name);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
protected String validateQualifiedName(String packageName, String extractedSuperName) {
|
||||
return StringUtil.getQualifiedName(packageName, extractedSuperName).equals(mySourceClass.getQualifiedName()) ? "Different name expected"
|
||||
: null;
|
||||
}
|
||||
}
|
||||
|
||||
+9
-1
@@ -83,6 +83,11 @@ public abstract class ExtractSuperBaseDialog<ClassType extends PsiElement, Membe
|
||||
|
||||
@Nullable
|
||||
protected abstract String validateName(String name);
|
||||
|
||||
@Nullable
|
||||
protected String validateQualifiedName(String packageName, String extractedSuperName) {
|
||||
return null;
|
||||
}
|
||||
|
||||
protected abstract String getTopLabelText();
|
||||
|
||||
@@ -235,13 +240,16 @@ public abstract class ExtractSuperBaseDialog<ClassType extends PsiElement, Membe
|
||||
final String packageName = getTargetPackageName();
|
||||
RecentsManager.getInstance(myProject).registerRecentEntry(getDestinationPackageRecentKey(), packageName);
|
||||
|
||||
if ("".equals(extractedSuperName)) {
|
||||
if (extractedSuperName != null && extractedSuperName.isEmpty()) {
|
||||
// TODO just disable OK button
|
||||
errorString[0] = getExtractedSuperNameNotSpecifiedMessage();
|
||||
myExtractedSuperNameField.requestFocusInWindow();
|
||||
}
|
||||
else {
|
||||
String nameError = validateName(extractedSuperName);
|
||||
if (nameError == null) {
|
||||
nameError = validateQualifiedName(packageName, extractedSuperName);
|
||||
}
|
||||
if (nameError != null) {
|
||||
errorString[0] = nameError;
|
||||
myExtractedSuperNameField.requestFocusInWindow();
|
||||
|
||||
Reference in New Issue
Block a user