@@ -64,49 +64,53 @@ public ModuleGraphQlResolverClassGenerator(
64
64
65
65
@ Override
66
66
public PsiFile generate (final String actionName ) {
67
- final PsiFile [] graphQlFile = {null };
68
- WriteCommandAction .runWriteCommandAction (project , () -> {
69
- PhpClass graphQlResolverClass = GetPhpClassByFQN .getInstance (project )
70
- .execute (graphQlResolverFileData .getGraphQlResolverClassFqn ());
71
67
72
- if (graphQlResolverClass == null ) {
73
- graphQlResolverClass = createGraphQlResolverClass (actionName );
74
- }
68
+ final PhpClass [] graphQlResolverClass = {GetPhpClassByFQN .getInstance (project )
69
+ .execute (graphQlResolverFileData .getGraphQlResolverClassFqn ())};
75
70
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
- }
71
+ if (graphQlResolverClass [0 ] == null ) {
72
+ WriteCommandAction .runWriteCommandAction (project , () -> {
73
+ graphQlResolverClass [0 ] = createGraphQlResolverClass (actionName );
74
+ });
75
+ }
76
+
77
+ if (graphQlResolverClass [0 ] == null ) {
78
+ final String errorMessage = validatorBundle .message (
79
+ "validator.file.cantBeCreated" ,
80
+ "GraphQL Resolver Class"
81
+ );
82
+ JOptionPane .showMessageDialog (
83
+ null ,
84
+ errorMessage ,
85
+ commonBundle .message ("common.error" ),
86
+ JOptionPane .ERROR_MESSAGE
87
+ );
88
+
89
+ return null ;
90
+ }
90
91
92
+ final PsiFile [] graphQlFile = {null };
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