@@ -36,18 +36,21 @@ public class ObserverClassGenerator extends FileGenerator {
36
36
private final DirectoryGenerator directoryGenerator ;
37
37
private final FileFromTemplateGenerator fileFromTemplateGenerator ;
38
38
private final GetFirstClassOfFile getFirstClassOfFile ;
39
- private ObserverFileData observerFileData ;
40
- private Project project ;
41
- private ValidatorBundle validatorBundle ;
42
- private CommonBundle commonBundle ;
39
+ private final ObserverFileData observerFileData ;
40
+ private final Project project ;
41
+ private final ValidatorBundle validatorBundle ;
42
+ private final CommonBundle commonBundle ;
43
43
44
44
/**
45
45
* Constructor.
46
46
*
47
47
* @param observerFileData ObserverFileData
48
48
* @param project Project
49
49
*/
50
- public ObserverClassGenerator (ObserverFileData observerFileData , Project project ) {
50
+ public ObserverClassGenerator (
51
+ final ObserverFileData observerFileData ,
52
+ final Project project
53
+ ) {
51
54
super (project );
52
55
this .observerFileData = observerFileData ;
53
56
this .project = project ;
@@ -60,7 +63,7 @@ public ObserverClassGenerator(ObserverFileData observerFileData, Project project
60
63
}
61
64
62
65
@ Override
63
- public PsiFile generate (String actionName ) {
66
+ public PsiFile generate (final String actionName ) {
64
67
WriteCommandAction .runWriteCommandAction (project , () -> {
65
68
PhpClass observerClass = GetPhpClassByFQN .getInstance (project ).execute (
66
69
observerFileData .getObserverClassFqn ()
@@ -71,7 +74,7 @@ public PsiFile generate(String actionName) {
71
74
}
72
75
73
76
if (observerClass == null ) {
74
- String errorMessage = validatorBundle .message (
77
+ final String errorMessage = validatorBundle .message (
75
78
"validator.file.cantBeCreated" ,
76
79
"Observer Class"
77
80
);
@@ -85,39 +88,40 @@ public PsiFile generate(String actionName) {
85
88
return ;
86
89
}
87
90
88
- Properties attributes = new Properties ();
91
+ final Properties attributes = new Properties ();
89
92
attributes .setProperty ("EVENT_NAME" , observerFileData .getTargetEvent ());
90
93
91
- String methodTemplate = PhpCodeUtil .getCodeTemplate (
94
+ final String methodTemplate = PhpCodeUtil .getCodeTemplate (
92
95
Observer .OBSERVER_EXECUTE_TEMPLATE_NAME , attributes , project );
93
96
94
97
95
- PsiFile observerFile = observerClass .getContainingFile ();
96
- CodeStyleSettings codeStyleSettings = new CodeStyleSettings ((PhpFile ) observerFile );
98
+ final PsiFile observerFile = observerClass .getContainingFile ();
99
+ final CodeStyleSettings codeStyleSettings =
100
+ new CodeStyleSettings ((PhpFile ) observerFile );
97
101
codeStyleSettings .adjustBeforeWrite ();
98
102
99
- PsiDocumentManager psiDocumentManager = PsiDocumentManager .getInstance (project );
100
- Document document = psiDocumentManager .getDocument (observerFile );
101
- int insertPos = getInsertPos (observerClass );
103
+ final PsiDocumentManager psiDocumentManager = PsiDocumentManager .getInstance (project );
104
+ final Document document = psiDocumentManager .getDocument (observerFile );
105
+ final int insertPos = getInsertPos (observerClass );
102
106
document .insertString (insertPos , methodTemplate );
103
- int endPos = insertPos + methodTemplate .length () + 1 ;
107
+ final int endPos = insertPos + methodTemplate .length () + 1 ;
104
108
CodeStyleManager .getInstance (project ).reformatText (observerFile , insertPos , endPos );
105
109
psiDocumentManager .commitDocument (document );
106
110
codeStyleSettings .restore ();
107
111
});
108
- PhpClass observerClass = GetPhpClassByFQN .getInstance (project ).execute (
112
+ final PhpClass observerClass = GetPhpClassByFQN .getInstance (project ).execute (
109
113
observerFileData .getObserverClassFqn ()
110
114
);
111
115
return observerClass .getContainingFile ();
112
116
}
113
117
114
- private int getInsertPos (PhpClass observerClass ) {
118
+ private int getInsertPos (final PhpClass observerClass ) {
115
119
int insertPos = -1 ;
116
- LeafPsiElement [] leafElements = PsiTreeUtil .getChildrenOfType (
120
+ final LeafPsiElement [] leafElements = PsiTreeUtil .getChildrenOfType (
117
121
observerClass ,
118
122
LeafPsiElement .class
119
123
);
120
- for (LeafPsiElement leafPsiElement : leafElements ) {
124
+ for (final LeafPsiElement leafPsiElement : leafElements ) {
121
125
if (!leafPsiElement .getText ().equals (MagentoPhpClass .CLOSING_TAG )) {
122
126
continue ;
123
127
}
@@ -126,20 +130,20 @@ private int getInsertPos(PhpClass observerClass) {
126
130
return insertPos ;
127
131
}
128
132
129
- private PhpClass createObserverClass (String actionName ) {
133
+ private PhpClass createObserverClass (final String actionName ) {
130
134
PsiDirectory parentDirectory = ModuleIndex .getInstance (project )
131
135
.getModuleDirectoryByModuleName (observerFileData .getObserverModule ());
132
- String [] observerDirectories = observerFileData .getObserverDirectory ()
136
+ final String [] observerDirectories = observerFileData .getObserverDirectory ()
133
137
.split (File .separator );
134
- for (String observerDirectory : observerDirectories ) {
138
+ for (final String observerDirectory : observerDirectories ) {
135
139
parentDirectory = directoryGenerator .findOrCreateSubdirectory (
136
140
parentDirectory ,
137
141
observerDirectory
138
142
);
139
143
}
140
144
141
- Properties attributes = getAttributes ();
142
- PsiFile observerFile = fileFromTemplateGenerator .generate (
145
+ final Properties attributes = getAttributes ();
146
+ final PsiFile observerFile = fileFromTemplateGenerator .generate (
143
147
new Observer (observerFileData .getObserverClassName ()),
144
148
attributes ,
145
149
parentDirectory ,
@@ -152,13 +156,8 @@ private PhpClass createObserverClass(String actionName) {
152
156
}
153
157
154
158
@ Override
155
- protected void fillAttributes (Properties attributes ) {
159
+ protected void fillAttributes (final Properties attributes ) {
156
160
attributes .setProperty ("NAME" , observerFileData .getObserverClassName ());
157
161
attributes .setProperty ("NAMESPACE" , observerFileData .getNamespace ());
158
162
}
159
-
160
- private boolean checkIfMethodExist (PhpClass observerClass , String methodName ) {
161
- return observerClass .getMethods ().stream ().anyMatch ((method )
162
- -> method .getName ().equals (methodName ));
163
- }
164
163
}
0 commit comments