Skip to content

Commit 36ea1c9

Browse files
author
Vitaliy
authored
Merge pull request #526 from bohdan-harniuk/refactoring-entity-creator-generators
Refactored php file generators to extend PhpFileGenerator and etc.
2 parents faa2ce6 + 1a73c59 commit 36ea1c9

File tree

67 files changed

+504
-1424
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

67 files changed

+504
-1424
lines changed

resources/fileTemplates/internal/Magento UI Component Grid XML.xml.ft

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,10 +69,12 @@
6969
$column
7070
#end
7171
#end
72+
#if (${ACTION_COLUMN})
7273
<actionsColumn name="actions" class="${ACTION_COLUMN}">
7374
<settings>
7475
<indexField>${ID_FIELD_NAME}</indexField>
7576
</settings>
7677
</actionsColumn>
78+
#end
7779
</columns>
7880
</listing>

src/com/magento/idea/magento2plugin/actions/generation/data/UiComponentGridData.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ public class UiComponentGridData {
1818
private final String acl;
1919
private final String dataProviderName;
2020
private final String dataProviderPath;
21+
private final String entityName;
2122
private final UiComponentGridToolbarData gridToolbarData;
2223
private final List<Map<String, String>> columns;
2324

@@ -51,6 +52,7 @@ public UiComponentGridData(
5152
acl,
5253
dataProviderName,
5354
dataProviderPath,
55+
null,
5456
gridToolbarData,
5557
new ArrayList<>()
5658
);
@@ -66,6 +68,7 @@ public UiComponentGridData(
6668
* @param acl String
6769
* @param dataProviderName String
6870
* @param dataProviderPath String
71+
* @param entityName String
6972
* @param gridToolbarData UiComponentGridToolbarData
7073
* @param columns List
7174
*/
@@ -77,6 +80,7 @@ public UiComponentGridData(
7780
final String acl,
7881
final String dataProviderName,
7982
final String dataProviderPath,
83+
final String entityName,
8084
final UiComponentGridToolbarData gridToolbarData,
8185
final List<Map<String, String>> columns
8286
) {
@@ -87,6 +91,7 @@ public UiComponentGridData(
8791
this.acl = acl;
8892
this.dataProviderName = dataProviderName;
8993
this.dataProviderPath = dataProviderPath;
94+
this.entityName = entityName;
9095
this.gridToolbarData = gridToolbarData;
9196
this.columns = columns;
9297
}
@@ -154,6 +159,15 @@ public String getDataProviderPath() {
154159
return dataProviderPath;
155160
}
156161

162+
/**
163+
* Get entity name.
164+
*
165+
* @return String
166+
*/
167+
public String getEntityName() {
168+
return entityName;
169+
}
170+
157171
/**
158172
* Get ID field name.
159173
*

src/com/magento/idea/magento2plugin/actions/generation/data/converter/newentitydialog/FormViewControllerDtoConverter.java

Lines changed: 0 additions & 45 deletions
This file was deleted.

src/com/magento/idea/magento2plugin/actions/generation/data/converter/newentitydialog/UiComponentFormLayoutDtoConverter.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,14 @@
1616
public class UiComponentFormLayoutDtoConverter extends UiComponentFormFileData
1717
implements DataObjectConverter {
1818

19-
private final static String SUBMIT_ACTION_NAME = "Save";
19+
private static final String SUBMIT_ACTION_NAME = "Save";
2020

21+
/**
22+
* Ui Component form layout DTO converter.
23+
*
24+
* @param generationContextData EntityCreatorContextData
25+
* @param newEntityDialogData NewEntityDialogData
26+
*/
2127
public UiComponentFormLayoutDtoConverter(
2228
final @NotNull EntityCreatorContextData generationContextData,
2329
final @NotNull NewEntityDialogData newEntityDialogData

src/com/magento/idea/magento2plugin/actions/generation/data/converter/newentitydialog/UiComponentGridDtoConverter.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ public UiComponentGridDtoConverter(
3434
newEntityDialogData.getAclId(),
3535
newEntityDialogData.getEntityName().concat("DataProvider"),
3636
UiComponentDataProviderFile.DIRECTORY,
37+
newEntityDialogData.getEntityName(),
3738
new UiComponentGridToolbarDtoConverter(generationContextData, newEntityDialogData),
3839
generationContextData.getEntityProps()
3940
);

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

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -219,12 +219,8 @@ private void generateDataModelFile() {
219219
private void generatePreferenceForInterface() {
220220
new PreferenceDiXmlGenerator(new PreferenceDiXmFileData(
221221
getModuleName(),
222-
new DataModelInterfaceFile(
223-
getDtoInterfaceName()
224-
).getNamespaceBuilder(getModuleName()).getClassFqn(),
225-
new DataModelFile(
226-
getDtoModelName()
227-
).getNamespaceBuilder(getModuleName()).getClassFqn(),
222+
new DataModelInterfaceFile(getModuleName(), getDtoInterfaceName()).getClassFqn(),
223+
new DataModelFile(getModuleName(), getDtoModelName()).getClassFqn(),
228224
"base"
229225
), project).generate(OverrideClassByAPreferenceAction.ACTION_NAME);
230226
}

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

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@
4545
import com.magento.idea.magento2plugin.magento.packages.PropertiesTypes;
4646
import com.magento.idea.magento2plugin.magento.packages.database.TableEngines;
4747
import com.magento.idea.magento2plugin.magento.packages.database.TableResources;
48-
import com.magento.idea.magento2plugin.magento.packages.uiComponent.FormElementType;
48+
import com.magento.idea.magento2plugin.magento.packages.uicomponent.FormElementType;
4949
import com.magento.idea.magento2plugin.stubs.indexes.xml.MenuIndex;
5050
import com.magento.idea.magento2plugin.ui.FilteredComboBox;
5151
import com.magento.idea.magento2plugin.ui.table.TableGroupWrapper;
@@ -378,6 +378,10 @@ private void generateNewEntityFiles(final @NotNull ActionEvent event) {
378378
buttonOK.setEnabled(false);
379379
buttonCancel.setEnabled(false);
380380

381+
if (propertyTable.isEditing()) {
382+
propertyTable.getCellEditor().stopCellEditing();
383+
}
384+
381385
new ProcessWorker(
382386
this::onOK,
383387
this::releaseDialogAfterGeneration,
@@ -443,9 +447,9 @@ private EntityCreatorContextData getEntityCreatorContextData(
443447
final String actionsPathPrefix = dialogData.getRoute() + File.separator
444448
+ FirstLetterToLowercaseUtil.convert(entityName) + File.separator;
445449
final NamespaceBuilder dtoModelNamespace =
446-
new DataModelFile(dtoClassName).getNamespaceBuilder(moduleName);
450+
new DataModelFile(moduleName, dtoClassName).getNamespaceBuilder();
447451
final NamespaceBuilder dtoInterfaceNamespace =
448-
new DataModelInterfaceFile(dtoInterfaceClassName).getNamespaceBuilder(moduleName);
452+
new DataModelInterfaceFile(moduleName, dtoInterfaceClassName).getNamespaceBuilder();
449453

450454
final NamespaceBuilder formViewNamespaceBuilder =
451455
new NamespaceBuilder(
@@ -518,7 +522,7 @@ private List<UiComponentFormFieldsetData> getFieldSets() {
518522
*/
519523
private List<UiComponentFormButtonData> getButtons() {
520524
final List<UiComponentFormButtonData> buttons = new ArrayList<>();
521-
final String directory = "Block/Form";
525+
final String directory = "Block/Form/" + entityName.getText().trim();
522526

523527
final NamespaceBuilder namespaceBuilderSave = new NamespaceBuilder(
524528
moduleName,
@@ -600,9 +604,9 @@ private List<UiComponentFormFieldData> getFields() {
600604
final String dataType = model.getValueAt(count, 1).toString();
601605

602606
final String label = Arrays.stream(name.split("_")).map(
603-
string -> string.substring(0, 1).toUpperCase(Locale.getDefault())
604-
+ string.substring(1)).collect(Collectors.joining(" ")
605-
);
607+
string -> string.substring(0, 1).toUpperCase(Locale.getDefault())
608+
+ string.substring(1)).collect(Collectors.joining(" ")
609+
);
606610
final String sortOrder = String.valueOf(count).concat("0");
607611
final String fieldset = "general";
608612

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

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
import com.intellij.openapi.project.Project;
99
import com.intellij.openapi.ui.ComboBoxTableRenderer;
1010
import com.intellij.psi.PsiDirectory;
11-
import com.intellij.psi.PsiFile;
1211
import com.magento.idea.magento2plugin.actions.generation.NewUiComponentFormAction;
1312
import com.magento.idea.magento2plugin.actions.generation.data.AclXmlData;
1413
import com.magento.idea.magento2plugin.actions.generation.data.ControllerFileData;
@@ -47,7 +46,7 @@
4746
import com.magento.idea.magento2plugin.magento.packages.Areas;
4847
import com.magento.idea.magento2plugin.magento.packages.File;
4948
import com.magento.idea.magento2plugin.magento.packages.HttpMethod;
50-
import com.magento.idea.magento2plugin.magento.packages.uiComponent.FormElementType;
49+
import com.magento.idea.magento2plugin.magento.packages.uicomponent.FormElementType;
5150
import com.magento.idea.magento2plugin.ui.FilteredComboBox;
5251
import com.magento.idea.magento2plugin.ui.table.ComboBoxEditor;
5352
import com.magento.idea.magento2plugin.ui.table.DeleteRowButton;
@@ -72,7 +71,6 @@
7271
import javax.swing.KeyStroke;
7372
import javax.swing.table.DefaultTableModel;
7473
import javax.swing.table.TableColumn;
75-
import org.jetbrains.annotations.NotNull;
7674

7775
@SuppressWarnings({
7876
"PMD.TooManyFields",

src/com/magento/idea/magento2plugin/actions/generation/dialog/util/ClassPropertyFormatterUtil.java

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

88
import com.google.common.base.CaseFormat;
99
import com.magento.idea.magento2plugin.actions.generation.data.code.ClassPropertyData;
10-
import org.apache.commons.lang.StringUtils;
11-
import javax.swing.table.DefaultTableModel;
1210
import java.util.ArrayList;
1311
import java.util.List;
12+
import javax.swing.table.DefaultTableModel;
13+
import org.apache.commons.lang.StringUtils;
1414

1515
public final class ClassPropertyFormatterUtil {
1616

@@ -27,8 +27,8 @@ public static List<String> formatProperties(final DefaultTableModel table) {
2727
final List<String> properties = new ArrayList<>();
2828

2929
for (int index = 0; index < table.getRowCount(); index++) {
30-
String name = table.getValueAt(index, 0).toString();
31-
String type = table.getValueAt(index, 1).toString();
30+
final String name = table.getValueAt(index, 0).toString();
31+
final String type = table.getValueAt(index, 1).toString();
3232

3333
properties.add(ClassPropertyFormatterUtil.formatSingleProperty(name, type));
3434
}

0 commit comments

Comments
 (0)