Skip to content

Commit 6483a70

Browse files
Code refactoring after ColumnAttributes enum type was added
1 parent 70f703c commit 6483a70

File tree

7 files changed

+98
-107
lines changed

7 files changed

+98
-107
lines changed

src/com/magento/idea/magento2plugin/actions/generation/dialog/NewDbSchemaDialog.java

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
import com.magento.idea.magento2plugin.actions.generation.dialog.validator.rule.TableNameLength;
1919
import com.magento.idea.magento2plugin.actions.generation.generator.DbSchemaWhitelistJsonGenerator;
2020
import com.magento.idea.magento2plugin.actions.generation.generator.DbSchemaXmlGenerator;
21-
import com.magento.idea.magento2plugin.magento.files.ModuleDbSchemaXml;
21+
import com.magento.idea.magento2plugin.magento.packages.database.ColumnAttributes;
2222
import com.magento.idea.magento2plugin.magento.packages.database.TableColumnTypes;
2323
import com.magento.idea.magento2plugin.magento.packages.database.TableEngines;
2424
import com.magento.idea.magento2plugin.magento.packages.database.TableResources;
@@ -192,36 +192,36 @@ private void generateWhitelistJsonFile(final @NotNull DbSchemaXmlData dbSchemaXm
192192
*/
193193
private void initializeColumnsUiComponentGroup() {
194194
final List<String> columns = new LinkedList<>(Arrays.asList(
195-
ModuleDbSchemaXml.XML_ATTR_COLUMN_TYPE,
196-
ModuleDbSchemaXml.XML_ATTR_COLUMN_NAME,
197-
ModuleDbSchemaXml.XML_ATTR_COLUMN_PADDING,
198-
ModuleDbSchemaXml.XML_ATTR_COLUMN_UNSIGNED,
199-
ModuleDbSchemaXml.XML_ATTR_COLUMN_NULLABLE,
200-
ModuleDbSchemaXml.XML_ATTR_COLUMN_IDENTITY,
201-
ModuleDbSchemaXml.XML_ATTR_COLUMN_LENGTH,
202-
ModuleDbSchemaXml.XML_ATTR_COLUMN_PRECISION,
203-
ModuleDbSchemaXml.XML_ATTR_COLUMN_SCALE,
204-
ModuleDbSchemaXml.XML_ATTR_COLUMN_ON_UPDATE,
205-
ModuleDbSchemaXml.XML_ATTR_COLUMN_DEFAULT,
206-
ModuleDbSchemaXml.XML_ATTR_COLUMN_COMMENT
195+
ColumnAttributes.TYPE.getName(),
196+
ColumnAttributes.NAME.getName(),
197+
ColumnAttributes.PADDING.getName(),
198+
ColumnAttributes.UNSIGNED.getName(),
199+
ColumnAttributes.NULLABLE.getName(),
200+
ColumnAttributes.IDENTITY.getName(),
201+
ColumnAttributes.LENGTH.getName(),
202+
ColumnAttributes.PRECISION.getName(),
203+
ColumnAttributes.SCALE.getName(),
204+
ColumnAttributes.ON_UPDATE.getName(),
205+
ColumnAttributes.DEFAULT.getName(),
206+
ColumnAttributes.COMMENT.getName()
207207
));
208208
// Set default values for columns
209209
final Map<String, String> defaultValues = new HashMap<>();
210-
defaultValues.put(ModuleDbSchemaXml.XML_ATTR_COLUMN_NULLABLE, "false");
211-
defaultValues.put(ModuleDbSchemaXml.XML_ATTR_COLUMN_IDENTITY, "false");
210+
defaultValues.put(ColumnAttributes.NULLABLE.getName(), "false");
211+
defaultValues.put(ColumnAttributes.IDENTITY.getName(), "false");
212212
// Set sources for columns
213213
final Map<String, List<String>> sources = new HashMap<>();
214214
final List<String> booleanSource = Arrays.asList("true", "false");
215215
final List<String> columnTypes = TableColumnTypes.getTableColumnTypesList();
216216
columnTypes.add(0, "");
217217
sources.put(
218-
ModuleDbSchemaXml.XML_ATTR_COLUMN_TYPE,
218+
ColumnAttributes.TYPE.getName(),
219219
columnTypes
220220
);
221-
sources.put(ModuleDbSchemaXml.XML_ATTR_COLUMN_UNSIGNED, booleanSource);
222-
sources.put(ModuleDbSchemaXml.XML_ATTR_COLUMN_NULLABLE, booleanSource);
223-
sources.put(ModuleDbSchemaXml.XML_ATTR_COLUMN_IDENTITY, booleanSource);
224-
sources.put(ModuleDbSchemaXml.XML_ATTR_COLUMN_ON_UPDATE, booleanSource);
221+
sources.put(ColumnAttributes.UNSIGNED.getName(), booleanSource);
222+
sources.put(ColumnAttributes.NULLABLE.getName(), booleanSource);
223+
sources.put(ColumnAttributes.IDENTITY.getName(), booleanSource);
224+
sources.put(ColumnAttributes.ON_UPDATE.getName(), booleanSource);
225225
// Initialize new Table Group
226226
columnsTableGroupWrapper = new TableGroupWrapper(
227227
columnsTable,

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

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import com.magento.idea.magento2plugin.actions.generation.generator.util.FindOrCreateDbSchemaWhitelistJson;
2222
import com.magento.idea.magento2plugin.magento.files.ModuleDbSchemaWhitelistJson;
2323
import com.magento.idea.magento2plugin.magento.files.ModuleDbSchemaXml;
24+
import com.magento.idea.magento2plugin.magento.packages.database.ColumnAttributes;
2425
import java.util.Arrays;
2526
import java.util.Map;
2627
import java.util.Properties;
@@ -84,10 +85,10 @@ public PsiFile generate(final String actionName) {
8485
final JsonObject indexObject = jsonElementGenerator.createObject("");
8586

8687
for (final Map<String, String> columnData : dbSchemaXmlData.getColumns()) {
87-
final String columnName = columnData.get(ModuleDbSchemaXml.XML_ATTR_COLUMN_NAME);
88+
final String columnName = columnData.get(ColumnAttributes.NAME.getName());
8889
final boolean isIdentity =
8990
Boolean.parseBoolean(
90-
columnData.get(ModuleDbSchemaXml.XML_ATTR_COLUMN_IDENTITY)
91+
columnData.get(ColumnAttributes.IDENTITY.getName())
9192
);
9293

9394
if (isIdentity) {

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

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import com.magento.idea.magento2plugin.actions.generation.data.DbSchemaXmlData;
1717
import com.magento.idea.magento2plugin.actions.generation.generator.util.FindOrCreateDbSchemaXmlUtil;
1818
import com.magento.idea.magento2plugin.magento.files.ModuleDbSchemaXml;
19+
import com.magento.idea.magento2plugin.magento.packages.database.ColumnAttributes;
1920
import com.magento.idea.magento2plugin.magento.packages.database.TableColumnTypes;
2021
import java.util.HashMap;
2122
import java.util.InputMismatchException;
@@ -91,14 +92,14 @@ public PsiFile generate(final String actionName) {
9192

9293
for (final Map<String, String> columnData : dbSchemaXmlData.getColumns()) {
9394
final String identityAttrValue =
94-
columnData.get(ModuleDbSchemaXml.XML_ATTR_COLUMN_IDENTITY);
95+
columnData.get(ColumnAttributes.IDENTITY.getName());
9596

9697
if (!hasPrimaryKey && Boolean.parseBoolean(identityAttrValue)) {
9798
hasPrimaryKey = true;
9899
primaryKeyData.putAll(columnData);
99100
}
100101

101-
final String columnTypeValue = columnData.get(ModuleDbSchemaXml.XML_ATTR_COLUMN_TYPE);
102+
final String columnTypeValue = columnData.get(ColumnAttributes.TYPE.getName());
102103
final TableColumnTypes columnType = TableColumnTypes.getByValue(columnTypeValue);
103104

104105
if (columnType == null) {
@@ -117,11 +118,11 @@ public PsiFile generate(final String actionName) {
117118
}
118119
}
119120
final String columnIdentityValue =
120-
columnData.get(ModuleDbSchemaXml.XML_ATTR_COLUMN_NAME);
121+
columnData.get(ColumnAttributes.NAME.getName());
121122

122123
findOrCreateTag(
123124
ModuleDbSchemaXml.XML_TAG_COLUMN,
124-
ModuleDbSchemaXml.XML_ATTR_COLUMN_NAME,
125+
ColumnAttributes.NAME.getName(),
125126
tableTag,
126127
columnIdentityValue,
127128
attributes
@@ -147,7 +148,7 @@ private void generatePrimaryKey(
147148
) {
148149
final Map<String, String> attributes = new LinkedHashMap<>();
149150
attributes.put(
150-
ModuleDbSchemaXml.XML_ATTR_COLUMN_TYPE,
151+
ColumnAttributes.TYPE.getName(),
151152
ModuleDbSchemaXml.XML_ATTR_TYPE_PK
152153
);
153154
attributes.put(
@@ -164,13 +165,13 @@ private void generatePrimaryKey(
164165
);
165166
final Map<String, String> pkColumnAttributes = new HashMap<>();
166167
final String columnIdentityValue = primaryKeyData.get(
167-
ModuleDbSchemaXml.XML_ATTR_COLUMN_NAME
168+
ColumnAttributes.NAME.getName()
168169
);
169-
pkColumnAttributes.put(ModuleDbSchemaXml.XML_ATTR_COLUMN_NAME, columnIdentityValue);
170+
pkColumnAttributes.put(ColumnAttributes.NAME.getName(), columnIdentityValue);
170171

171172
findOrCreateTag(
172173
ModuleDbSchemaXml.XML_TAG_COLUMN,
173-
ModuleDbSchemaXml.XML_ATTR_COLUMN_NAME,
174+
ColumnAttributes.NAME.getName(),
174175
pkTag,
175176
columnIdentityValue,
176177
pkColumnAttributes
@@ -202,7 +203,7 @@ private void generatePrimaryKey(
202203

203204
findOrCreateTag(
204205
ModuleDbSchemaXml.XML_TAG_COLUMN,
205-
ModuleDbSchemaXml.XML_ATTR_COLUMN_NAME,
206+
ColumnAttributes.NAME.getName(),
206207
pkIndexTag,
207208
columnIdentityValue,
208209
pkColumnAttributes

src/com/magento/idea/magento2plugin/magento/files/ModuleDbSchemaXml.java

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -30,19 +30,6 @@ public class ModuleDbSchemaXml implements ModuleFileInterface {
3030
public static final String XML_ATTR_CONSTRAINT_REFERENCE_ID_NAME = "referenceId";
3131
public static final String XML_ATTR_INDEX_TYPE_NAME = "indexType";
3232

33-
public static final String XML_ATTR_COLUMN_NAME = "name";
34-
public static final String XML_ATTR_COLUMN_TYPE = "xsi:type";
35-
public static final String XML_ATTR_COLUMN_PADDING = "padding";
36-
public static final String XML_ATTR_COLUMN_UNSIGNED = "unsigned";
37-
public static final String XML_ATTR_COLUMN_NULLABLE = "nullable";
38-
public static final String XML_ATTR_COLUMN_IDENTITY = "identity";
39-
public static final String XML_ATTR_COLUMN_COMMENT = "comment";
40-
public static final String XML_ATTR_COLUMN_DEFAULT = "default";
41-
public static final String XML_ATTR_COLUMN_LENGTH = "length";
42-
public static final String XML_ATTR_COLUMN_SCALE = "scale";
43-
public static final String XML_ATTR_COLUMN_PRECISION = "precision";
44-
public static final String XML_ATTR_COLUMN_ON_UPDATE = "on_update";
45-
4633
//constant attributes values
4734
public static final String XML_ATTR_TYPE_PK = "primary";
4835
public static final String XML_ATTR_REFERENCE_ID_PK = "PRIMARY";
@@ -128,7 +115,7 @@ public static List<String> getAllowedAttributes(final @NotNull TableColumnTypes
128115
default:
129116
break;
130117
}
131-
allowedAttributes.add(XML_ATTR_COLUMN_TYPE);
118+
allowedAttributes.add(ColumnAttributes.TYPE.getName());
132119

133120
return allowedAttributes;
134121
}

src/com/magento/idea/magento2plugin/reference/provider/TableColumnNamesReferenceProvider.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import com.intellij.util.ProcessingContext;
2323
import com.intellij.util.indexing.FileBasedIndex;
2424
import com.magento.idea.magento2plugin.magento.files.ModuleDbSchemaXml;
25+
import com.magento.idea.magento2plugin.magento.packages.database.ColumnAttributes;
2526
import com.magento.idea.magento2plugin.reference.xml.PolyVariantReferenceBase;
2627
import com.magento.idea.magento2plugin.stubs.indexes.xml.DeclarativeSchemaElementsIndex;
2728
import java.util.ArrayList;
@@ -120,7 +121,7 @@ public PsiReference[] getReferencesByElement(
120121
for (final XmlTag columnTag : columnTags) {
121122
final String columnName =
122123
columnTag.getAttributeValue(
123-
ModuleDbSchemaXml.XML_ATTR_COLUMN_NAME
124+
ColumnAttributes.NAME.getName()
124125
);
125126
if (columnName != null
126127
&& columnName.equals(columnIdentifier)) {

tests/com/magento/idea/magento2plugin/actions/generation/generator/DbSchemaWhitelistGeneratorTest.java

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77

88
import com.magento.idea.magento2plugin.actions.generation.data.DbSchemaXmlData;
99
import com.magento.idea.magento2plugin.magento.files.ModuleDbSchemaWhitelistJson;
10-
import com.magento.idea.magento2plugin.magento.files.ModuleDbSchemaXml;
10+
import com.magento.idea.magento2plugin.magento.packages.database.ColumnAttributes;
1111
import com.magento.idea.magento2plugin.magento.packages.database.TableColumnTypes;
1212
import java.util.LinkedHashMap;
1313
import java.util.LinkedList;
@@ -55,53 +55,53 @@ private List<Map<String, String>> createColumnsForTest() {
5555
final List<Map<String, String>> columns = new LinkedList<>();
5656
final Map<String, String> entityIdColumnData = new LinkedHashMap<>();
5757
entityIdColumnData.put(
58-
ModuleDbSchemaXml.XML_ATTR_COLUMN_TYPE,
58+
ColumnAttributes.TYPE.getName(),
5959
TableColumnTypes.INT.getColumnType()
6060
);
61-
entityIdColumnData.put(ModuleDbSchemaXml.XML_ATTR_COLUMN_NAME, "entity_id");
62-
entityIdColumnData.put(ModuleDbSchemaXml.XML_ATTR_COLUMN_IDENTITY, "true");
61+
entityIdColumnData.put(ColumnAttributes.NAME.getName(), "entity_id");
62+
entityIdColumnData.put(ColumnAttributes.IDENTITY.getName(), "true");
6363
columns.add(entityIdColumnData);
6464
final Map<String, String> nameColumnData = new LinkedHashMap<>();
6565
nameColumnData.put(
66-
ModuleDbSchemaXml.XML_ATTR_COLUMN_TYPE,
66+
ColumnAttributes.TYPE.getName(),
6767
TableColumnTypes.VARCHAR.getColumnType()
6868
);
69-
nameColumnData.put(ModuleDbSchemaXml.XML_ATTR_COLUMN_NAME, "name");
69+
nameColumnData.put(ColumnAttributes.NAME.getName(), "name");
7070
columns.add(nameColumnData);
7171
final Map<String, String> ageColumnData = new LinkedHashMap<>();
7272
ageColumnData.put(
73-
ModuleDbSchemaXml.XML_ATTR_COLUMN_TYPE,
73+
ColumnAttributes.TYPE.getName(),
7474
TableColumnTypes.INT.getColumnType()
7575
);
76-
ageColumnData.put(ModuleDbSchemaXml.XML_ATTR_COLUMN_NAME, "age");
76+
ageColumnData.put(ColumnAttributes.NAME.getName(), "age");
7777
columns.add(ageColumnData);
7878
final Map<String, String> salaryColumnData = new LinkedHashMap<>();
7979
salaryColumnData.put(
80-
ModuleDbSchemaXml.XML_ATTR_COLUMN_TYPE,
80+
ColumnAttributes.TYPE.getName(),
8181
TableColumnTypes.DECIMAL.getColumnType()
8282
);
83-
salaryColumnData.put(ModuleDbSchemaXml.XML_ATTR_COLUMN_NAME, "salary");
83+
salaryColumnData.put(ColumnAttributes.NAME.getName(), "salary");
8484
columns.add(salaryColumnData);
8585
final Map<String, String> dobColumnData = new LinkedHashMap<>();
8686
dobColumnData.put(
87-
ModuleDbSchemaXml.XML_ATTR_COLUMN_TYPE,
87+
ColumnAttributes.TYPE.getName(),
8888
TableColumnTypes.DATE.getColumnType()
8989
);
90-
dobColumnData.put(ModuleDbSchemaXml.XML_ATTR_COLUMN_NAME, "dob");
90+
dobColumnData.put(ColumnAttributes.NAME.getName(), "dob");
9191
columns.add(dobColumnData);
9292
final Map<String, String> createdAtColumnData = new LinkedHashMap<>();
9393
createdAtColumnData.put(
94-
ModuleDbSchemaXml.XML_ATTR_COLUMN_TYPE,
94+
ColumnAttributes.TYPE.getName(),
9595
TableColumnTypes.TIMESTAMP.getColumnType()
9696
);
97-
createdAtColumnData.put(ModuleDbSchemaXml.XML_ATTR_COLUMN_NAME, "created_at");
97+
createdAtColumnData.put(ColumnAttributes.NAME.getName(), "created_at");
9898
columns.add(createdAtColumnData);
9999
final Map<String, String> updatedAtColumnData = new LinkedHashMap<>();
100100
updatedAtColumnData.put(
101-
ModuleDbSchemaXml.XML_ATTR_COLUMN_TYPE,
101+
ColumnAttributes.TYPE.getName(),
102102
TableColumnTypes.TIMESTAMP.getColumnType()
103103
);
104-
updatedAtColumnData.put(ModuleDbSchemaXml.XML_ATTR_COLUMN_NAME, "updated_at");
104+
updatedAtColumnData.put(ColumnAttributes.NAME.getName(), "updated_at");
105105
columns.add(updatedAtColumnData);
106106

107107
return columns;

0 commit comments

Comments
 (0)