Skip to content

Commit c473393

Browse files
author
Vitaliy Boyko
committed
New Entity DB
1 parent 0efd44f commit c473393

File tree

2 files changed

+91
-4
lines changed

2 files changed

+91
-4
lines changed

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

Lines changed: 33 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
<properties/>
2222
<border type="none"/>
2323
<children>
24-
<grid id="6be8b" binding="generalTable" layout-manager="GridLayoutManager" row-count="4" column-count="2" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
24+
<grid id="6be8b" binding="generalTable" layout-manager="GridLayoutManager" row-count="6" column-count="2" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
2525
<margin top="0" left="0" bottom="0" right="0"/>
2626
<constraints>
2727
<tabbedpane title="General"/>
@@ -31,7 +31,7 @@
3131
<children>
3232
<component id="29047" class="javax.swing.JCheckBox" binding="createUiComponent">
3333
<constraints>
34-
<grid row="3" column="1" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
34+
<grid row="5" column="1" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
3535
</constraints>
3636
<properties>
3737
<text value="CheckBox"/>
@@ -47,7 +47,7 @@
4747
</component>
4848
<component id="59baf" class="javax.swing.JLabel" binding="createUiComponentsLabel">
4949
<constraints>
50-
<grid row="3" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
50+
<grid row="5" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
5151
</constraints>
5252
<properties>
5353
<text value="Create Admin UI components"/>
@@ -95,6 +95,36 @@
9595
<text value="Entity ID FIeld Name"/>
9696
</properties>
9797
</component>
98+
<component id="2fa4e" class="javax.swing.JComboBox" binding="tableEngine">
99+
<constraints>
100+
<grid row="3" column="1" row-span="1" col-span="1" vsize-policy="0" hsize-policy="2" anchor="8" fill="1" indent="0" use-parent-layout="false"/>
101+
</constraints>
102+
<properties/>
103+
</component>
104+
<component id="88525" class="javax.swing.JLabel" binding="tableEngineLabel">
105+
<constraints>
106+
<grid row="3" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
107+
</constraints>
108+
<properties>
109+
<labelFor value="21a4a"/>
110+
<text value="Engine"/>
111+
</properties>
112+
</component>
113+
<component id="3edf8" class="javax.swing.JComboBox" binding="tableResource">
114+
<constraints>
115+
<grid row="4" column="1" row-span="1" col-span="1" vsize-policy="0" hsize-policy="2" anchor="8" fill="1" indent="0" use-parent-layout="false"/>
116+
</constraints>
117+
<properties/>
118+
</component>
119+
<component id="e4eb6" class="javax.swing.JLabel" binding="tableResourceLabel">
120+
<constraints>
121+
<grid row="4" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="0" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
122+
</constraints>
123+
<properties>
124+
<labelFor value="db54f"/>
125+
<text value="Resource"/>
126+
</properties>
127+
</component>
98128
</children>
99129
</grid>
100130
<grid id="e3309" layout-manager="GridLayoutManager" row-count="4" column-count="2" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">

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

Lines changed: 58 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import com.intellij.openapi.ui.ComboBoxTableRenderer;
1111
import com.intellij.psi.PsiDirectory;
1212
import com.intellij.psi.PsiFile;
13+
import com.magento.idea.magento2plugin.actions.generation.NewDbSchemaAction;
1314
import com.magento.idea.magento2plugin.actions.generation.NewUiComponentGridAction;
1415
import com.magento.idea.magento2plugin.actions.generation.NewViewModelAction;
1516
import java.awt.event.ActionEvent;
@@ -18,6 +19,7 @@
1819
import java.awt.event.WindowEvent;
1920
import java.util.ArrayList;
2021
import java.util.List;
22+
import java.util.Map;
2123
import javax.swing.*;
2224
import javax.swing.table.DefaultTableModel;
2325
import javax.swing.table.TableColumn;
@@ -27,6 +29,7 @@
2729
import com.magento.idea.magento2plugin.actions.generation.data.ControllerFileData;
2830
import com.magento.idea.magento2plugin.actions.generation.data.DataModelData;
2931
import com.magento.idea.magento2plugin.actions.generation.data.DataModelInterfaceData;
32+
import com.magento.idea.magento2plugin.actions.generation.data.DbSchemaXmlData;
3033
import com.magento.idea.magento2plugin.actions.generation.data.LayoutXmlData;
3134
import com.magento.idea.magento2plugin.actions.generation.data.MenuXmlData;
3235
import com.magento.idea.magento2plugin.actions.generation.data.ModelData;
@@ -43,6 +46,7 @@
4346
import com.magento.idea.magento2plugin.actions.generation.generator.AclXmlGenerator;
4447
import com.magento.idea.magento2plugin.actions.generation.generator.DataModelGenerator;
4548
import com.magento.idea.magento2plugin.actions.generation.generator.DataModelInterfaceGenerator;
49+
import com.magento.idea.magento2plugin.actions.generation.generator.DbSchemaXmlGenerator;
4650
import com.magento.idea.magento2plugin.actions.generation.generator.LayoutXmlGenerator;
4751
import com.magento.idea.magento2plugin.actions.generation.generator.MenuXmlGenerator;
4852
import com.magento.idea.magento2plugin.actions.generation.generator.ModuleCollectionGenerator;
@@ -68,6 +72,7 @@
6872
import com.magento.idea.magento2plugin.ui.table.ComboBoxEditor;
6973
import com.magento.idea.magento2plugin.ui.table.DeleteRowButton;
7074
import com.magento.idea.magento2plugin.ui.table.TableButton;
75+
import com.magento.idea.magento2plugin.ui.table.TableGroupWrapper;
7176
import com.magento.idea.magento2plugin.util.FirstLetterToLowercaseUtil;
7277
import com.magento.idea.magento2plugin.util.magento.GetAclResourcesListUtil;
7378
import com.magento.idea.magento2plugin.util.magento.GetModuleNameByDirectoryUtil;
@@ -128,7 +133,13 @@ public class NewEntityDialog extends AbstractDialog {
128133
private JCheckBox addFullTextSearchCheckBox;
129134
private JCheckBox addListingFiltersCheckBox;
130135
private JCheckBox addListingPagingCheckBox;
136+
private JComboBox tableEngine;
137+
private JLabel tableEngineLabel;
138+
private JComboBox tableResource;
139+
private JLabel tableResourceLabel;
131140
private final List<String> properties;
141+
// Table Columns UI components group
142+
private TableGroupWrapper columnsTableGroupWrapper;
132143

133144
private static final String ACTION_NAME = "Create Entity";
134145
private static final String PROPERTY_NAME = "Name";
@@ -252,6 +263,8 @@ private void onOK() {
252263
generateGridLayoutFile();
253264
generateMenuFile();
254265
generateUiComponentGridFile();
266+
267+
generateDbSchemaXmlFile();
255268
}
256269

257270
private PsiFile generateModelFile() {
@@ -811,7 +824,7 @@ private void generateUiComponentGridFile() {
811824
getUiComponentGridData(),
812825
project
813826
);
814-
gridXmlGenerator.generate(NewUiComponentGridAction.ACTION_NAME, true);
827+
gridXmlGenerator.generate(ACTION_NAME, true);
815828
}
816829

817830
/**
@@ -870,4 +883,48 @@ private Boolean getAddListingPagingCheckBox() {
870883
private Boolean getAddBookmarksCheckBox() {
871884
return addBookmarksCheckBox.isSelected();
872885
}
886+
887+
/**
888+
* Run db_schema.xml file generator.
889+
*/
890+
private void generateDbSchemaXmlFile() {
891+
new DbSchemaXmlGenerator(
892+
new DbSchemaXmlData(
893+
getDbTableName(),
894+
getTableResource(),
895+
getTableEngine(),
896+
getEntityName(),
897+
getColumns()
898+
),
899+
project,
900+
moduleName
901+
).generate(ACTION_NAME, false);
902+
}
903+
904+
/**
905+
* Get tableResource field value.
906+
*
907+
* @return String
908+
*/
909+
private String getTableResource() {
910+
return tableResource.getSelectedItem().toString().trim();
911+
}
912+
913+
/**
914+
* Get tableEngine field value.
915+
*
916+
* @return String
917+
*/
918+
private String getTableEngine() {
919+
return tableEngine.getSelectedItem().toString().trim();
920+
}
921+
922+
/**
923+
* Get columnsTable values.
924+
*
925+
* @return List
926+
*/
927+
private List<Map<String, String>> getColumns() {
928+
return columnsTableGroupWrapper.getColumnsData();
929+
}
873930
}

0 commit comments

Comments
 (0)