@@ -53,6 +53,9 @@ public class NewModelsDialog extends AbstractDialog {
53
53
private static final String ENTITY_ID_COLUMN_NAME = "Entity ID Column Name" ;
54
54
private static final String COLLECTION_NAME = "Collection Name" ;
55
55
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 " ;
56
59
57
60
@ FieldValidation (rule = RuleRegistry .NOT_EMPTY ,
58
61
message = {NotEmptyRule .MESSAGE , MODEL_NAME })
@@ -223,14 +226,24 @@ private void onOK() {
223
226
private PsiFile generateModelFile () {
224
227
final NamespaceBuilder modelNamespace = getModelNamespace ();
225
228
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
+
226
239
return new ModuleModelGenerator (new ModelData (
227
240
getModuleName (),
228
241
getDbTableName (),
229
242
getModelName (),
230
- getResourceModelName () ,
243
+ resourceModelName ,
231
244
modelNamespace .getClassFqn (),
232
245
modelNamespace .getNamespace (),
233
- resourceModelNamespace . getClassFqn ()
246
+ resourceModelFqn . toString ()
234
247
), project ).generate (NewModelsDialog .ACTION_NAME , true );
235
248
}
236
249
@@ -250,17 +263,33 @@ private PsiFile generateCollectionFile() {
250
263
final NamespaceBuilder resourceModelNamespace = getResourceModelNamespace ();
251
264
final NamespaceBuilder modelNamespace = getModelNamespace ();
252
265
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
+
253
282
return new ModuleCollectionGenerator (new CollectionData (
254
283
getModuleName (),
255
284
getDbTableName (),
256
- getModelName () ,
285
+ modelName ,
257
286
getCollectionName (),
258
287
collectionNamespace .getClassFqn (),
259
288
getCollectionDirectory (),
260
289
collectionNamespace .getNamespace (),
261
- getResourceModelName () ,
262
- resourceModelNamespace . getClassFqn (),
263
- modelNamespace . getClassFqn ()
290
+ resourceModelName ,
291
+ resourceModelFqn . toString (),
292
+ modelFqn . toString ()
264
293
), project ).generate (NewModelsDialog .ACTION_NAME , true );
265
294
}
266
295
0 commit comments