Skip to content

Commit ddf5ea2

Browse files
Refactor hasField method
1 parent 70418dc commit ddf5ea2

File tree

1 file changed

+4
-14
lines changed

1 file changed

+4
-14
lines changed

src/main/java/io/openliberty/tools/intellij/lsp4jakarta/lsp4ij/persistence/PersistenceMapKeyDiagnosticsCollector.java

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import org.eclipse.lsp4j.Diagnostic;
2121
import org.eclipse.lsp4j.DiagnosticSeverity;
2222

23+
import java.beans.Introspector;
2324
import java.util.ArrayList;
2425
import java.util.Arrays;
2526
import java.util.List;
@@ -184,21 +185,10 @@ private void collectAccessorDiagnostics(PsiJvmModifiersOwner fieldOrProperty, Ps
184185
}
185186

186187
private boolean hasField(PsiMethod method, PsiClass type) {
187-
boolean isPropertyExist = false;
188188
String methodName = method.getName();
189-
String expectedFieldName = null;
190-
191189
// Exclude 'get' from method name and decapitalize the first letter
192-
if (methodName.startsWith("get") && methodName.length() > 3) {
193-
String suffix = methodName.substring(3);
194-
if (suffix.length() == 1) {
195-
expectedFieldName = suffix.toLowerCase();
196-
} else {
197-
expectedFieldName = Character.toLowerCase(suffix.charAt(0)) + suffix.substring(1);
198-
}
199-
}
200-
PsiField expectedField = type.findFieldByName(expectedFieldName, false);
201-
isPropertyExist = expectedField != null;
202-
return isPropertyExist;
190+
String expectedFieldName = (methodName.startsWith("get") && methodName.length() > 3) ? Introspector.decapitalize(methodName.substring(3)) : null;
191+
PsiField expectedField = (expectedFieldName != null && !expectedFieldName.isEmpty()) ? type.findFieldByName(expectedFieldName, false) : null;
192+
return expectedField != null;
203193
}
204194
}

0 commit comments

Comments
 (0)