Skip to content

Commit 29eceb5

Browse files
authored
Merge pull request #465 from domaframework/fix/remove-field-anaction
Remove field from AnAction and align with recommended implementation
2 parents 5f7559f + 446330b commit 29eceb5

File tree

3 files changed

+17
-28
lines changed

3 files changed

+17
-28
lines changed

src/main/kotlin/org/domaframework/doma/intellij/action/dao/GenerateSqlAction.kt

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ import com.intellij.openapi.actionSystem.ActionUpdateThread
1919
import com.intellij.openapi.actionSystem.AnAction
2020
import com.intellij.openapi.actionSystem.AnActionEvent
2121
import com.intellij.openapi.actionSystem.CommonDataKeys
22-
import com.intellij.psi.PsiFile
2322
import com.intellij.psi.PsiMethod
2423
import com.intellij.psi.util.PsiTreeUtil
2524
import org.domaframework.doma.intellij.common.dao.getDaoClass
@@ -31,22 +30,19 @@ import org.domaframework.doma.intellij.common.util.PluginLoggerUtil
3130
* Action class that generates SQL from DAO method
3231
*/
3332
class GenerateSqlAction : AnAction() {
34-
private var currentFile: PsiFile? = null
35-
3633
override fun update(e: AnActionEvent) {
3734
e.presentation.isEnabledAndVisible = false
38-
currentFile = e.getData(CommonDataKeys.PSI_FILE) ?: return
35+
val currentFile = e.getData(CommonDataKeys.PSI_FILE) ?: return
3936
val editor = e.getData(CommonDataKeys.EDITOR) ?: return
4037
val project = e.project ?: return
41-
val file: PsiFile = currentFile ?: return
42-
if (getDaoClass(file) == null) return
43-
val element = file.findElementAt(editor.caretModel.offset) ?: return
38+
if (getDaoClass(currentFile) == null) return
39+
val element = currentFile.findElementAt(editor.caretModel.offset) ?: return
4440
val method = PsiTreeUtil.getParentOfType(element, PsiMethod::class.java) ?: return
4541

4642
val psiDaoMethod = PsiDaoMethod(project, method)
4743
e.presentation.isEnabledAndVisible =
4844
psiDaoMethod.isUseSqlFileMethod() &&
49-
isJavaOrKotlinFileType(file) &&
45+
isJavaOrKotlinFileType(currentFile) &&
5046
psiDaoMethod.sqlFile == null
5147
}
5248

@@ -62,9 +58,9 @@ class GenerateSqlAction : AnAction() {
6258
startTime,
6359
)
6460
val project = e.project ?: return
61+
val currentFile = e.getData(CommonDataKeys.PSI_FILE) ?: return
6562
val editor = e.getData(CommonDataKeys.EDITOR) ?: return
66-
val file: PsiFile = currentFile ?: return
67-
val element = file.findElementAt(editor.caretModel.offset) ?: return
63+
val element = currentFile.findElementAt(editor.caretModel.offset) ?: return
6864
val method = PsiTreeUtil.getParentOfType(element, PsiMethod::class.java) ?: return
6965
val psiDaoMethod = PsiDaoMethod(project, method)
7066
psiDaoMethod.generateSqlFile()

src/main/kotlin/org/domaframework/doma/intellij/action/dao/JumpToSQLFromDaoAction.kt

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ import com.intellij.openapi.actionSystem.ActionUpdateThread
1919
import com.intellij.openapi.actionSystem.AnAction
2020
import com.intellij.openapi.actionSystem.AnActionEvent
2121
import com.intellij.openapi.actionSystem.CommonDataKeys
22-
import com.intellij.psi.PsiFile
2322
import com.intellij.psi.PsiMethod
2423
import com.intellij.psi.util.PsiTreeUtil
2524
import org.domaframework.doma.intellij.common.dao.getDaoClass
@@ -29,17 +28,14 @@ import org.domaframework.doma.intellij.common.psi.PsiDaoMethod
2928
import org.domaframework.doma.intellij.common.util.PluginLoggerUtil
3029

3130
class JumpToSQLFromDaoAction : AnAction() {
32-
private var currentFile: PsiFile? = null
33-
3431
override fun update(e: AnActionEvent) {
3532
e.presentation.isEnabledAndVisible = false
36-
currentFile = e.getData(CommonDataKeys.PSI_FILE) ?: return
37-
val file: PsiFile = currentFile ?: return
33+
val currentFile = e.getData(CommonDataKeys.PSI_FILE) ?: return
3834

39-
if (!isJavaOrKotlinFileType(file) || getDaoClass(file) == null) return
35+
if (!isJavaOrKotlinFileType(currentFile) || getDaoClass(currentFile) == null) return
4036

4137
val editor = e.getData(CommonDataKeys.EDITOR) ?: return
42-
val element = file.findElementAt(editor.caretModel.offset) ?: return
38+
val element = currentFile.findElementAt(editor.caretModel.offset) ?: return
4339
val project = e.project ?: return
4440
val method = PsiTreeUtil.getParentOfType(element, PsiMethod::class.java) ?: return
4541
val psiDaoMethod = PsiDaoMethod(project, method)
@@ -61,7 +57,8 @@ class JumpToSQLFromDaoAction : AnAction() {
6157
startTime,
6258
)
6359
val editor = e.getData(CommonDataKeys.EDITOR) ?: return
64-
val element = currentFile?.findElementAt(editor.caretModel.offset) ?: return
60+
val currentFile = e.getData(CommonDataKeys.PSI_FILE) ?: return
61+
val element = currentFile.findElementAt(editor.caretModel.offset) ?: return
6562
val method = PsiTreeUtil.getParentOfType(element, PsiMethod::class.java) ?: return
6663
val project = e.project ?: return
6764
val psiDaoMethod = PsiDaoMethod(project, method)

src/main/kotlin/org/domaframework/doma/intellij/action/sql/JumpToDaoFromSQLAction.kt

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ import com.intellij.openapi.actionSystem.ActionUpdateThread
1919
import com.intellij.openapi.actionSystem.AnAction
2020
import com.intellij.openapi.actionSystem.AnActionEvent
2121
import com.intellij.openapi.actionSystem.CommonDataKeys
22-
import com.intellij.psi.PsiFile
2322
import org.domaframework.doma.intellij.common.dao.findDaoFile
2423
import org.domaframework.doma.intellij.common.dao.findDaoMethod
2524
import org.domaframework.doma.intellij.common.dao.jumpToDaoMethod
@@ -30,15 +29,12 @@ import org.domaframework.doma.intellij.common.util.PluginLoggerUtil
3029
* Action to jump from SQL file to corresponding DAO function
3130
*/
3231
class JumpToDaoFromSQLAction : AnAction() {
33-
private var currentFile: PsiFile? = null
34-
3532
override fun update(e: AnActionEvent) {
3633
e.presentation.isEnabledAndVisible = false
37-
currentFile = e.getData(CommonDataKeys.PSI_FILE) ?: return
38-
val file = currentFile ?: return
39-
if (findDaoMethod(file) == null) return
34+
val currentFile = e.getData(CommonDataKeys.PSI_FILE) ?: return
35+
if (findDaoMethod(currentFile) == null) return
4036
e.presentation.isEnabledAndVisible =
41-
isSupportFileType(file)
37+
isSupportFileType(currentFile)
4238
}
4339

4440
override fun getActionUpdateThread(): ActionUpdateThread = ActionUpdateThread.BGT
@@ -52,11 +48,11 @@ class JumpToDaoFromSQLAction : AnAction() {
5248
inputEvent,
5349
startTime,
5450
)
55-
val file = currentFile ?: return
51+
val currentFile = e.getData(CommonDataKeys.PSI_FILE) ?: return
5652
val project = e.project ?: return
57-
val daoFile = findDaoFile(project, file) ?: return
53+
val daoFile = findDaoFile(project, currentFile) ?: return
5854

59-
val sqlFileName = file.virtualFile?.nameWithoutExtension ?: return
55+
val sqlFileName = currentFile.virtualFile?.nameWithoutExtension ?: return
6056
jumpToDaoMethod(project, sqlFileName, daoFile)
6157
PluginLoggerUtil.countLoggingByAction(
6258
this::class.java.simpleName,

0 commit comments

Comments
 (0)