@@ -65,48 +65,52 @@ public ModuleGraphQlResolverClassGenerator(
65
65
@ Override
66
66
public PsiFile generate (final String actionName ) {
67
67
final PsiFile [] graphQlFile = {null };
68
- WriteCommandAction .runWriteCommandAction (project , () -> {
69
- PhpClass graphQlResolverClass = GetPhpClassByFQN .getInstance (project )
70
- .execute (graphQlResolverFileData .getGraphQlResolverClassFqn ());
71
68
72
- if (graphQlResolverClass == null ) {
73
- graphQlResolverClass = createGraphQlResolverClass (actionName );
74
- }
69
+ final PhpClass [] graphQlResolverClass = {GetPhpClassByFQN .getInstance (project )
70
+ .execute (graphQlResolverFileData .getGraphQlResolverClassFqn ())};
75
71
76
- if (graphQlResolverClass == null ) {
77
- final String errorMessage = validatorBundle .message (
78
- "validator.file.cantBeCreated" ,
79
- "GraphQL Resolver Class"
80
- );
81
- JOptionPane .showMessageDialog (
82
- null ,
83
- errorMessage ,
84
- commonBundle .message ("common.error" ),
85
- JOptionPane .ERROR_MESSAGE
86
- );
87
-
88
- return ;
89
- }
72
+ if (graphQlResolverClass [0 ] == null ) {
73
+ WriteCommandAction .runWriteCommandAction (project , () -> {
74
+ graphQlResolverClass [0 ] = createGraphQlResolverClass (actionName );
75
+ });
76
+ }
77
+
78
+ if (graphQlResolverClass [0 ] == null ) {
79
+ final String errorMessage = validatorBundle .message (
80
+ "validator.file.cantBeCreated" ,
81
+ "GraphQL Resolver Class"
82
+ );
83
+ JOptionPane .showMessageDialog (
84
+ null ,
85
+ errorMessage ,
86
+ commonBundle .message ("common.error" ),
87
+ JOptionPane .ERROR_MESSAGE
88
+ );
89
+
90
+ return null ;
91
+ }
90
92
93
+ WriteCommandAction .runWriteCommandAction (project , () -> {
91
94
final Properties attributes = new Properties ();
92
95
final String methodTemplate = PhpCodeUtil .getCodeTemplate (
93
96
GraphQlResolverPhp .GRAPHQL_RESOLVER_TEMPLATE_NAME , attributes , project );
94
97
95
- graphQlFile [0 ] = graphQlResolverClass .getContainingFile ();
98
+ graphQlFile [0 ] = graphQlResolverClass [ 0 ] .getContainingFile ();
96
99
final CodeStyleSettings codeStyleSettings = new CodeStyleSettings (
97
100
(PhpFile ) graphQlFile [0 ]
98
101
);
99
102
codeStyleSettings .adjustBeforeWrite ();
100
103
101
104
final PsiDocumentManager psiDocumentManager = PsiDocumentManager .getInstance (project );
102
105
final Document document = psiDocumentManager .getDocument (graphQlFile [0 ]);
103
- final int insertPos = getInsertPos (graphQlResolverClass );
106
+ final int insertPos = getInsertPos (graphQlResolverClass [ 0 ] );
104
107
document .insertString (insertPos , methodTemplate );
105
108
final int endPos = insertPos + methodTemplate .length () + 1 ;
106
109
CodeStyleManager .getInstance (project ).reformatText (graphQlFile [0 ], insertPos , endPos );
107
110
psiDocumentManager .commitDocument (document );
108
111
codeStyleSettings .restore ();
109
112
});
113
+
110
114
return graphQlFile [0 ];
111
115
}
112
116
@@ -116,7 +120,7 @@ private int getInsertPos(final PhpClass graphQlResolverClass) {
116
120
graphQlResolverClass ,
117
121
LeafPsiElement .class
118
122
);
119
- for (final LeafPsiElement leafPsiElement : leafElements ) {
123
+ for (final LeafPsiElement leafPsiElement : leafElements ) {
120
124
if (!MagentoPhpClass .CLOSING_TAG .equals (leafPsiElement .getText ())) {
121
125
continue ;
122
126
}
0 commit comments