@@ -53,6 +53,9 @@ public class NewModelsDialog extends AbstractDialog {
5353 private static final String ENTITY_ID_COLUMN_NAME = "Entity ID Column Name" ;
5454 private static final String COLLECTION_NAME = "Collection Name" ;
5555 private static final String COLLECTION_DIRECTORY = "Collection Directory" ;
56+ public static final String RESOURCE_MODEL = "ResourceModel" ;
57+ public static final String MODEL = "Model" ;
58+ public static final String FQN_ALIAS_KEYWORD = " as " ;
5659
5760 @ FieldValidation (rule = RuleRegistry .NOT_EMPTY ,
5861 message = {NotEmptyRule .MESSAGE , MODEL_NAME })
@@ -223,14 +226,24 @@ private void onOK() {
223226 private PsiFile generateModelFile () {
224227 final NamespaceBuilder modelNamespace = getModelNamespace ();
225228 final NamespaceBuilder resourceModelNamespace = getResourceModelNamespace ();
229+ final StringBuilder resourceModelFqn
230+ = new StringBuilder (resourceModelNamespace .getClassFqn ());
231+ String resourceModelName = getResourceModelName ();
232+
233+ if (getModelName ().equals (getResourceModelName ())) {
234+ resourceModelFqn .append (FQN_ALIAS_KEYWORD );
235+ resourceModelFqn .append (RESOURCE_MODEL );
236+ resourceModelName = RESOURCE_MODEL ;
237+ }
238+
226239 return new ModuleModelGenerator (new ModelData (
227240 getModuleName (),
228241 getDbTableName (),
229242 getModelName (),
230- getResourceModelName () ,
243+ resourceModelName ,
231244 modelNamespace .getClassFqn (),
232245 modelNamespace .getNamespace (),
233- resourceModelNamespace . getClassFqn ()
246+ resourceModelFqn . toString ()
234247 ), project ).generate (NewModelsDialog .ACTION_NAME , true );
235248 }
236249
@@ -250,17 +263,33 @@ private PsiFile generateCollectionFile() {
250263 final NamespaceBuilder resourceModelNamespace = getResourceModelNamespace ();
251264 final NamespaceBuilder modelNamespace = getModelNamespace ();
252265 final NamespaceBuilder collectionNamespace = getCollectionNamespace ();
266+ final StringBuilder modelFqn = new StringBuilder (modelNamespace .getClassFqn ());
267+ String modelName = getModelName ();
268+ final StringBuilder resourceModelFqn
269+ = new StringBuilder (resourceModelNamespace .getClassFqn ());
270+ String resourceModelName = getResourceModelName ();
271+
272+
273+ if (getModelName ().equals (getResourceModelName ())) {
274+ modelFqn .append (FQN_ALIAS_KEYWORD );
275+ modelFqn .append (MODEL );
276+ modelName = MODEL ;
277+ resourceModelFqn .append (FQN_ALIAS_KEYWORD );
278+ resourceModelFqn .append (RESOURCE_MODEL );
279+ resourceModelName = RESOURCE_MODEL ;
280+ }
281+
253282 return new ModuleCollectionGenerator (new CollectionData (
254283 getModuleName (),
255284 getDbTableName (),
256- getModelName () ,
285+ modelName ,
257286 getCollectionName (),
258287 collectionNamespace .getClassFqn (),
259288 getCollectionDirectory (),
260289 collectionNamespace .getNamespace (),
261- getResourceModelName () ,
262- resourceModelNamespace . getClassFqn (),
263- modelNamespace . getClassFqn ()
290+ resourceModelName ,
291+ resourceModelFqn . toString (),
292+ modelFqn . toString ()
264293 ), project ).generate (NewModelsDialog .ACTION_NAME , true );
265294 }
266295
0 commit comments