1818import com .magento .idea .magento2plugin .actions .generation .data .DataModelData ;
1919import com .magento .idea .magento2plugin .actions .generation .data .DataModelInterfaceData ;
2020import com .magento .idea .magento2plugin .actions .generation .data .DbSchemaXmlData ;
21+ import com .magento .idea .magento2plugin .actions .generation .data .EntityDataMapperData ;
22+ import com .magento .idea .magento2plugin .actions .generation .data .GetListQueryModelData ;
2123import com .magento .idea .magento2plugin .actions .generation .data .LayoutXmlData ;
2224import com .magento .idea .magento2plugin .actions .generation .data .MenuXmlData ;
2325import com .magento .idea .magento2plugin .actions .generation .data .ModelData ;
24- import com .magento .idea .magento2plugin .actions .generation .data .GetListQueryModelData ;
2526import com .magento .idea .magento2plugin .actions .generation .data .PreferenceDiXmFileData ;
2627import com .magento .idea .magento2plugin .actions .generation .data .ResourceModelData ;
2728import com .magento .idea .magento2plugin .actions .generation .data .RoutesXmlData ;
3940import com .magento .idea .magento2plugin .actions .generation .generator .DataModelInterfaceGenerator ;
4041import com .magento .idea .magento2plugin .actions .generation .generator .DbSchemaWhitelistJsonGenerator ;
4142import com .magento .idea .magento2plugin .actions .generation .generator .DbSchemaXmlGenerator ;
43+ import com .magento .idea .magento2plugin .actions .generation .generator .EntityDataMapperGenerator ;
44+ import com .magento .idea .magento2plugin .actions .generation .generator .GetListQueryModelGenerator ;
4245import com .magento .idea .magento2plugin .actions .generation .generator .LayoutXmlGenerator ;
4346import com .magento .idea .magento2plugin .actions .generation .generator .MenuXmlGenerator ;
4447import com .magento .idea .magento2plugin .actions .generation .generator .ModuleCollectionGenerator ;
4548import com .magento .idea .magento2plugin .actions .generation .generator .ModuleControllerClassGenerator ;
4649import com .magento .idea .magento2plugin .actions .generation .generator .ModuleModelGenerator ;
4750import com .magento .idea .magento2plugin .actions .generation .generator .ModuleResourceModelGenerator ;
48- import com .magento .idea .magento2plugin .actions .generation .generator .GetListQueryModelGenerator ;
4951import com .magento .idea .magento2plugin .actions .generation .generator .PreferenceDiXmlGenerator ;
5052import com .magento .idea .magento2plugin .actions .generation .generator .RoutesXmlGenerator ;
5153import com .magento .idea .magento2plugin .actions .generation .generator .UiComponentDataProviderGenerator ;
5658import com .magento .idea .magento2plugin .magento .files .ControllerBackendPhp ;
5759import com .magento .idea .magento2plugin .magento .files .DataModel ;
5860import com .magento .idea .magento2plugin .magento .files .DataModelInterface ;
61+ import com .magento .idea .magento2plugin .magento .files .EntityDataMapperFile ;
5962import com .magento .idea .magento2plugin .magento .files .ModelPhp ;
6063import com .magento .idea .magento2plugin .magento .files .ModuleMenuXml ;
6164import com .magento .idea .magento2plugin .magento .files .ResourceModelPhp ;
107110 "PMD.ExcessiveImports" ,
108111 "PMD.GodClass" ,
109112 "PMD.TooManyMethods" ,
110- "PMD.CyclomaticComplexity"
113+ "PMD.CyclomaticComplexity" ,
114+ "PMD.ExcessiveClassLength" ,
111115})
112116public class NewEntityDialog extends AbstractDialog {
113117 @ NotNull
@@ -280,6 +284,7 @@ private void onOK() {
280284 generateRoutesXmlFile ();
281285 generateViewControllerFile ();
282286 generateSubmitControllerFile ();
287+ generateEntityDataMapperFile ();
283288 generateModelGetListQueryFile ();
284289 generateDataProviderFile ();
285290 generateLayoutFile ();
@@ -1009,6 +1014,41 @@ private void generateWhitelistJsonFile(final @NotNull DbSchemaXmlData dbSchemaXm
10091014 ).generate (ACTION_NAME , false );
10101015 }
10111016
1017+ /**
1018+ * Generate entity data mapper type.
1019+ */
1020+ private void generateEntityDataMapperFile () {
1021+ final EntityDataMapperFile entityDataMapperFile =
1022+ EntityDataMapperFile .getInstance (getEntityName ());
1023+
1024+ final String namespace = entityDataMapperFile .getNamespace (getModuleName ());
1025+ final String classFqn = entityDataMapperFile .getClassFqn (getModuleName ());
1026+
1027+ final NamespaceBuilder modelNamespace = getModelNamespace ();
1028+ final NamespaceBuilder dtoModelNamespace = getDataModelNamespace ();
1029+ final NamespaceBuilder dtoInterfaceModelNamespace = getDataModelInterfaceNamespace ();
1030+
1031+ final String dtoType ;
1032+
1033+ if (createInterface .isSelected ()) {
1034+ dtoType = dtoInterfaceModelNamespace .getClassFqn ();
1035+ } else {
1036+ dtoType = dtoModelNamespace .getClassFqn ();
1037+ }
1038+
1039+ new EntityDataMapperGenerator (
1040+ new EntityDataMapperData (
1041+ getModuleName (),
1042+ getEntityName (),
1043+ namespace ,
1044+ classFqn ,
1045+ modelNamespace .getClassFqn (),
1046+ dtoType
1047+ ),
1048+ project
1049+ ).generate (ACTION_NAME , false );
1050+ }
1051+
10121052 /**
10131053 * Run GetListQuery.php file generator.
10141054 */
@@ -1032,8 +1072,10 @@ private void generateModelGetListQueryFile() {
10321072 * @return String
10331073 */
10341074 private String getEntityDataMapperType () {
1035- // TODO: implement with entity data mapper generation.
1036- return "Test\\ Test\\ Mapper\\ " + getEntityName () + "DataMapper" ;
1075+ final EntityDataMapperFile entityDataMapperFile =
1076+ EntityDataMapperFile .getInstance (getEntityName ());
1077+
1078+ return entityDataMapperFile .getClassFqn (getModuleName ());
10371079 }
10381080
10391081 /**
0 commit comments