Skip to content

Commit 30b4c74

Browse files
author
Vitaliy Boyko
committed
Static fixes
1 parent 66b4808 commit 30b4c74

File tree

4 files changed

+222
-108
lines changed

4 files changed

+222
-108
lines changed

src/com/magento/idea/magento2plugin/actions/generation/generator/CronjobClassGenerator.java

Lines changed: 46 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
* Copyright © Magento, Inc. All rights reserved.
33
* See COPYING.txt for license details.
44
*/
5+
56
package com.magento.idea.magento2plugin.actions.generation.generator;
67

78
import com.intellij.openapi.project.Project;
@@ -14,21 +15,26 @@
1415
import com.magento.idea.magento2plugin.bundles.ValidatorBundle;
1516
import com.magento.idea.magento2plugin.indexes.ModuleIndex;
1617
import com.magento.idea.magento2plugin.magento.files.CronjobTemplate;
17-
import org.jetbrains.annotations.NotNull;
1818
import java.util.Properties;
19+
import org.jetbrains.annotations.NotNull;
1920

2021
public class CronjobClassGenerator extends FileGenerator {
21-
private CronjobClassData cronjobClassData;
22-
private Project project;
23-
private ValidatorBundle validatorBundle;
22+
private final CronjobClassData cronjobClassData;
23+
private final Project project;
24+
private final ValidatorBundle validatorBundle;
2425
private final DirectoryGenerator directoryGenerator;
2526
private final FileFromTemplateGenerator fileFromTemplateGenerator;
2627

2728
/**
28-
* @param project
29-
* @param cronjobClassData
29+
* Construct generator.
30+
*
31+
* @param project Project
32+
* @param cronjobClassData CronjobClassData
3033
*/
31-
public CronjobClassGenerator(Project project, @NotNull CronjobClassData cronjobClassData) {
34+
public CronjobClassGenerator(
35+
final Project project,
36+
final @NotNull CronjobClassData cronjobClassData
37+
) {
3238
super(project);
3339
this.project = project;
3440
this.cronjobClassData = cronjobClassData;
@@ -39,62 +45,68 @@ public CronjobClassGenerator(Project project, @NotNull CronjobClassData cronjobC
3945
}
4046

4147
/**
48+
* Generate file from code template.
4249
*
43-
* @param actionName
50+
* @param actionName String
4451
*
4552
* @return void
4653
*/
47-
public PsiFile generate(String actionName) {
48-
PhpFile cronjobFile = createCronjobClass(actionName);
54+
@Override
55+
public PsiFile generate(final String actionName) {
56+
final PhpFile cronjobFile = createCronjobClass(actionName);
4957

5058
if (cronjobFile == null) {
51-
String errorMessage = validatorBundle.message(
52-
"validator.file.cantBeCreated",
53-
"Cronjob Class"
59+
final String errorMessage = validatorBundle.message(
60+
"validator.file.cantBeCreated",
61+
"Cronjob Class"
5462
);
5563

56-
throw new RuntimeException(errorMessage);
64+
throw new RuntimeException(errorMessage);//NOPMD
5765
}
5866

5967
return cronjobFile;
6068
}
6169

6270
/**
71+
* Fill template attributes.
6372
*
64-
* @param attributes
73+
* @param attributes Properties
6574
*/
66-
protected void fillAttributes(Properties attributes) {
67-
String cronjobClassName = this.cronjobClassData.getClassName();
68-
String cronjobNamespace = this.cronjobClassData.getNamespace();
75+
@Override
76+
protected void fillAttributes(final Properties attributes) {
77+
final String cronjobClassName = this.cronjobClassData.getClassName();
78+
final String cronjobNamespace = this.cronjobClassData.getNamespace();
6979

7080
attributes.setProperty("NAME", cronjobClassName);
7181
attributes.setProperty("NAMESPACE", cronjobNamespace);
7282
}
7383

7484
/**
75-
* Generate Cronjob Class according to data model
85+
* Generate Cronjob Class according to data model.
7686
*
77-
* @param actionName
87+
* @param actionName String
7888
*
7989
* @return PhpFile
8090
*/
81-
private PhpFile createCronjobClass(String actionName) {
82-
String cronjobClassName = this.cronjobClassData.getClassName();
83-
String moduleName = this.cronjobClassData.getModuleName();
84-
String[] cronjobSubDirectories = this.cronjobClassData.getDirectory().split("/");
85-
PsiDirectory parentDirectory = new ModuleIndex(project).getModuleDirectoryByModuleName(moduleName);
86-
87-
for (String cronjobSubDirectory: cronjobSubDirectories) {
88-
parentDirectory = directoryGenerator.findOrCreateSubdirectory(parentDirectory, cronjobSubDirectory);
91+
private PhpFile createCronjobClass(final String actionName) {
92+
final String cronjobClassName = this.cronjobClassData.getClassName();
93+
final String moduleName = this.cronjobClassData.getModuleName();
94+
final String[] cronjobSubDirectories = this.cronjobClassData.getDirectory().split("/");
95+
PsiDirectory parentDirectory = new ModuleIndex(project)
96+
.getModuleDirectoryByModuleName(moduleName);
97+
98+
for (final String cronjobSubDirectory: cronjobSubDirectories) {
99+
parentDirectory = directoryGenerator
100+
.findOrCreateSubdirectory(parentDirectory, cronjobSubDirectory);
89101
}
90102

91-
Properties attributes = getAttributes();
103+
final Properties attributes = getAttributes();
92104

93-
PsiFile blockFile = fileFromTemplateGenerator.generate(
94-
new CronjobTemplate(cronjobClassName),
95-
attributes,
96-
parentDirectory,
97-
actionName
105+
final PsiFile blockFile = fileFromTemplateGenerator.generate(
106+
new CronjobTemplate(cronjobClassName),
107+
attributes,
108+
parentDirectory,
109+
actionName
98110
);
99111

100112
if (blockFile == null) {

src/com/magento/idea/magento2plugin/actions/generation/generator/ModuleGraphQlResolverClassGenerator.java

Lines changed: 58 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
* Copyright © Magento, Inc. All rights reserved.
33
* See COPYING.txt for license details.
44
*/
5+
56
package com.magento.idea.magento2plugin.actions.generation.generator;
67

78
import com.intellij.openapi.command.WriteCommandAction;
@@ -21,27 +22,36 @@
2122
import com.magento.idea.magento2plugin.actions.generation.generator.util.FileFromTemplateGenerator;
2223
import com.magento.idea.magento2plugin.actions.generation.util.CodeStyleSettings;
2324
import com.magento.idea.magento2plugin.bundles.CommonBundle;
25+
import com.magento.idea.magento2plugin.bundles.ValidatorBundle;
2426
import com.magento.idea.magento2plugin.indexes.ModuleIndex;
2527
import com.magento.idea.magento2plugin.magento.files.GraphQlResolverPhp;
28+
import com.magento.idea.magento2plugin.magento.packages.File;
2629
import com.magento.idea.magento2plugin.magento.packages.MagentoPhpClass;
2730
import com.magento.idea.magento2plugin.util.GetFirstClassOfFile;
2831
import com.magento.idea.magento2plugin.util.GetPhpClassByFQN;
29-
import com.magento.idea.magento2plugin.bundles.ValidatorBundle;
30-
import org.jetbrains.annotations.NotNull;
31-
import javax.swing.*;
32-
import com.magento.idea.magento2plugin.magento.packages.File;
3332
import java.util.Properties;
33+
import javax.swing.JOptionPane;
34+
import org.jetbrains.annotations.NotNull;
3435

3536
public class ModuleGraphQlResolverClassGenerator extends FileGenerator {
36-
private GraphQlResolverFileData graphQlResolverFileData;
37-
private Project project;
38-
private ValidatorBundle validatorBundle;
39-
private CommonBundle commonBundle;
37+
private final GraphQlResolverFileData graphQlResolverFileData;
38+
private final Project project;
39+
private final ValidatorBundle validatorBundle;
40+
private final CommonBundle commonBundle;
4041
private final DirectoryGenerator directoryGenerator;
4142
private final FileFromTemplateGenerator fileFromTemplateGenerator;
4243
private final GetFirstClassOfFile getFirstClassOfFile;
4344

44-
public ModuleGraphQlResolverClassGenerator(@NotNull GraphQlResolverFileData graphQlResolverFileData, Project project) {
45+
/**
46+
* Construct generator.
47+
*
48+
* @param graphQlResolverFileData GraphQlResolverFileData
49+
* @param project Project
50+
*/
51+
public ModuleGraphQlResolverClassGenerator(
52+
final @NotNull GraphQlResolverFileData graphQlResolverFileData,
53+
final Project project
54+
) {
4555
super(project);
4656
this.directoryGenerator = DirectoryGenerator.getInstance();
4757
this.fileFromTemplateGenerator = new FileFromTemplateGenerator(project);
@@ -53,17 +63,21 @@ public ModuleGraphQlResolverClassGenerator(@NotNull GraphQlResolverFileData grap
5363
}
5464

5565
@Override
56-
public PsiFile generate(String actionName) {
66+
public PsiFile generate(final String actionName) {
5767
final PsiFile[] graphQlFile = {null};
5868
WriteCommandAction.runWriteCommandAction(project, () -> {
59-
PhpClass graphQlResolverClass = GetPhpClassByFQN.getInstance(project).execute(graphQlResolverFileData.getGraphQlResolverClassFqn());
69+
PhpClass graphQlResolverClass = GetPhpClassByFQN.getInstance(project)
70+
.execute(graphQlResolverFileData.getGraphQlResolverClassFqn());
6071

6172
if (graphQlResolverClass == null) {
6273
graphQlResolverClass = createGraphQlResolverClass(actionName);
6374
}
6475

6576
if (graphQlResolverClass == null) {
66-
String errorMessage = validatorBundle.message("validator.file.cantBeCreated", "GraphQL Resolver Class");
77+
final String errorMessage = validatorBundle.message(
78+
"validator.file.cantBeCreated",
79+
"GraphQL Resolver Class"
80+
);
6781
JOptionPane.showMessageDialog(
6882
null,
6983
errorMessage,
@@ -74,30 +88,35 @@ public PsiFile generate(String actionName) {
7488
return;
7589
}
7690

77-
Properties attributes = new Properties();
78-
String methodTemplate = PhpCodeUtil.getCodeTemplate(
91+
final Properties attributes = new Properties();
92+
final String methodTemplate = PhpCodeUtil.getCodeTemplate(
7993
GraphQlResolverPhp.GRAPHQL_RESOLVER_TEMPLATE_NAME, attributes, project);
8094

8195
graphQlFile[0] = graphQlResolverClass.getContainingFile();
82-
CodeStyleSettings codeStyleSettings = new CodeStyleSettings((PhpFile) graphQlFile[0]);
96+
final CodeStyleSettings codeStyleSettings = new CodeStyleSettings(
97+
(PhpFile) graphQlFile[0]
98+
);
8399
codeStyleSettings.adjustBeforeWrite();
84100

85-
PsiDocumentManager psiDocumentManager = PsiDocumentManager.getInstance(project);
86-
Document document = psiDocumentManager.getDocument(graphQlFile[0]);
87-
int insertPos = getInsertPos(graphQlResolverClass);
101+
final PsiDocumentManager psiDocumentManager = PsiDocumentManager.getInstance(project);
102+
final Document document = psiDocumentManager.getDocument(graphQlFile[0]);
103+
final int insertPos = getInsertPos(graphQlResolverClass);
88104
document.insertString(insertPos, methodTemplate);
89-
int endPos = insertPos + methodTemplate.length() + 1;
105+
final int endPos = insertPos + methodTemplate.length() + 1;
90106
CodeStyleManager.getInstance(project).reformatText(graphQlFile[0], insertPos, endPos);
91107
psiDocumentManager.commitDocument(document);
92108
codeStyleSettings.restore();
93109
});
94110
return graphQlFile[0];
95111
}
96112

97-
private int getInsertPos(PhpClass graphQlResolverClass) {
113+
private int getInsertPos(final PhpClass graphQlResolverClass) {
98114
int insertPos = -1;
99-
LeafPsiElement[] leafElements = PsiTreeUtil.getChildrenOfType(graphQlResolverClass, LeafPsiElement.class);
100-
for (LeafPsiElement leafPsiElement: leafElements) {
115+
final LeafPsiElement[] leafElements = PsiTreeUtil.getChildrenOfType(
116+
graphQlResolverClass,
117+
LeafPsiElement.class
118+
);
119+
for (final LeafPsiElement leafPsiElement: leafElements) {
101120
if (!leafPsiElement.getText().equals(MagentoPhpClass.CLOSING_TAG)) {
102121
continue;
103122
}
@@ -106,17 +125,23 @@ private int getInsertPos(PhpClass graphQlResolverClass) {
106125
return insertPos;
107126
}
108127

109-
private PhpClass createGraphQlResolverClass(String actionName) {
128+
private PhpClass createGraphQlResolverClass(final String actionName) {
110129
PsiDirectory parentDirectory = new ModuleIndex(project)
111130
.getModuleDirectoryByModuleName(graphQlResolverFileData.getGraphQlResolverModule());
112-
String[] graphQlResolverDirectories = graphQlResolverFileData.getGraphQlResolverDirectory().split(File.separator);
113-
for (String graphQlResolverDirectory: graphQlResolverDirectories) {
114-
parentDirectory = directoryGenerator.findOrCreateSubdirectory(parentDirectory, graphQlResolverDirectory);
131+
final String[] graphQlResolverDirectories = graphQlResolverFileData
132+
.getGraphQlResolverDirectory().split(File.separator);
133+
for (final String graphQlResolverDirectory: graphQlResolverDirectories) {
134+
parentDirectory = directoryGenerator.findOrCreateSubdirectory(
135+
parentDirectory,
136+
graphQlResolverDirectory
137+
);
115138
}
116139

117-
Properties attributes = getAttributes();
118-
PsiFile graphQlResolverFile = fileFromTemplateGenerator.generate(
119-
GraphQlResolverPhp.getInstance(graphQlResolverFileData.getGraphQlResolverClassName()),
140+
final Properties attributes = getAttributes();
141+
final PsiFile graphQlResolverFile = fileFromTemplateGenerator.generate(
142+
GraphQlResolverPhp.getInstance(
143+
graphQlResolverFileData.getGraphQlResolverClassName()
144+
),
120145
attributes,
121146
parentDirectory,
122147
actionName
@@ -127,8 +152,10 @@ private PhpClass createGraphQlResolverClass(String actionName) {
127152
return getFirstClassOfFile.execute((PhpFile) graphQlResolverFile);
128153
}
129154

130-
protected void fillAttributes(Properties attributes) {
131-
String graphQlResolverClassName = graphQlResolverFileData.getGraphQlResolverClassName();
155+
@Override
156+
protected void fillAttributes(final Properties attributes) {
157+
final String graphQlResolverClassName
158+
= graphQlResolverFileData.getGraphQlResolverClassName();
132159
attributes.setProperty("NAME", graphQlResolverClassName);
133160
attributes.setProperty("NAMESPACE", graphQlResolverFileData.getNamespace());
134161
}

src/com/magento/idea/magento2plugin/actions/generation/generator/ModuleRegistrationPhpGenerator.java

Lines changed: 40 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
* Copyright © Magento, Inc. All rights reserved.
33
* See COPYING.txt for license details.
44
*/
5+
56
package com.magento.idea.magento2plugin.actions.generation.generator;
67

78
import com.intellij.openapi.project.Project;
@@ -11,31 +12,63 @@
1112
import com.magento.idea.magento2plugin.actions.generation.generator.util.DirectoryGenerator;
1213
import com.magento.idea.magento2plugin.actions.generation.generator.util.FileFromTemplateGenerator;
1314
import com.magento.idea.magento2plugin.magento.files.RegistrationPhp;
14-
import org.jetbrains.annotations.NotNull;
1515
import java.util.Properties;
16+
import org.jetbrains.annotations.NotNull;
1617

1718
public class ModuleRegistrationPhpGenerator extends FileGenerator {
1819

1920
private final ModuleRegistrationPhpData moduleRegistrationPhpData;
2021
private final FileFromTemplateGenerator fileFromTemplateGenerator;
2122
private final DirectoryGenerator directoryGenerator;
2223

23-
public ModuleRegistrationPhpGenerator(@NotNull ModuleRegistrationPhpData moduleRegistrationPhpData, Project project) {
24+
/**
25+
* Construct generator.
26+
*
27+
* @param moduleRegistrationPhpData ModuleRegistrationPhpData
28+
* @param project Project
29+
*/
30+
public ModuleRegistrationPhpGenerator(
31+
final @NotNull ModuleRegistrationPhpData moduleRegistrationPhpData,
32+
final Project project
33+
) {
2434
super(project);
2535
this.moduleRegistrationPhpData = moduleRegistrationPhpData;
2636
this.fileFromTemplateGenerator = new FileFromTemplateGenerator(project);
2737
this.directoryGenerator = DirectoryGenerator.getInstance();
2838
}
2939

30-
public PsiFile generate(String actionName) {
40+
/**
41+
* Generate file.
42+
*
43+
* @param actionName String
44+
* @return PsiFile
45+
*/
46+
@Override
47+
public PsiFile generate(final String actionName) {
3148
if (moduleRegistrationPhpData.getCreateModuleDirs()) {
32-
ModuleDirectoriesData moduleDirectoriesData = directoryGenerator.createOrFindModuleDirectories(moduleRegistrationPhpData.getPackageName(), moduleRegistrationPhpData.getModuleName(), moduleRegistrationPhpData.getBaseDir());
33-
return fileFromTemplateGenerator.generate(RegistrationPhp.getInstance(), getAttributes(), moduleDirectoriesData.getModuleDirectory(), actionName);
49+
final ModuleDirectoriesData moduleDirectoriesData = directoryGenerator
50+
.createOrFindModuleDirectories(
51+
moduleRegistrationPhpData.getPackageName(),
52+
moduleRegistrationPhpData.getModuleName(),
53+
moduleRegistrationPhpData.getBaseDir()
54+
);
55+
return fileFromTemplateGenerator.generate(
56+
RegistrationPhp.getInstance(),
57+
getAttributes(),
58+
moduleDirectoriesData.getModuleDirectory(),
59+
actionName
60+
);
3461
}
35-
return fileFromTemplateGenerator.generate(RegistrationPhp.getInstance(), getAttributes(), moduleRegistrationPhpData.getBaseDir(), actionName);
62+
return fileFromTemplateGenerator.generate(
63+
RegistrationPhp.getInstance(),
64+
getAttributes(),
65+
moduleRegistrationPhpData.getBaseDir(),
66+
actionName
67+
);
3668
}
3769

38-
protected void fillAttributes(Properties attributes) {
70+
@Override
71+
protected void fillAttributes(final Properties attributes) {
3972
attributes.setProperty("PACKAGE", moduleRegistrationPhpData.getPackageName());
4073
attributes.setProperty("MODULE_NAME", moduleRegistrationPhpData.getModuleName());
4174
}

0 commit comments

Comments
 (0)