@@ -34,7 +34,7 @@ class CreateFindaTemplateDialog(
3434 return panel {
3535
3636 row(" 화면 이름" ) {
37- nameTextField = textField({" " }, {}).component
37+ nameTextField = textField({ " " }, {}).component
3838 }
3939
4040 row(" 화면 종류:" ) {
@@ -51,39 +51,53 @@ class CreateFindaTemplateDialog(
5151 val templateInfo = TemplateInfo (screenTypeModel.selectedItem)
5252 val generatedFileInfo = screenTypeModel.selectedItem.getGeneratedFileInfo(name)
5353
54- createCodeFile(generatedFileInfo, templateInfo.codeTemplateContent)
55- createViewModelFile(generatedFileInfo, templateInfo.viewModelTemplateContent)
56- createLayoutFile(generatedFileInfo, templateInfo.layoutTemplateContent)
54+ val packageName = getPackageNameByPath(virtualFile.path)
55+
56+ createCodeFile(packageName, generatedFileInfo, templateInfo.codeTemplateContent)
57+ createViewModelFile(packageName, generatedFileInfo, templateInfo.viewModelTemplateContent)
58+ createLayoutFile(packageName, generatedFileInfo, templateInfo.layoutTemplateContent)
5759
5860 super .doOKAction()
5961 }
6062
63+ private fun getPackageNameByPath (path : String ): String {
64+ return try {
65+ path.split(" java/" )[1 ]
66+ .replaceAll(" /" , " ." )
67+ } catch (e: IndexOutOfBoundsException ) {
68+ " "
69+ }
70+ }
71+
6172 private fun createCodeFile (
73+ packageName : String ,
6274 generatedFileInfo : GeneratedFileInfo ,
6375 templateContent : String
6476 ) {
6577 val codeFile = virtualFile.createChildData(this , " ${generatedFileInfo.codeFileName} .kt" )
6678
6779 val content = templateContent.replaceAll(" @NAME@" , name)
68- .replaceAll(" @PACKAGE@" , " " )
80+ .replaceAll(" @PACKAGE@" , packageName )
6981 .replaceAll(" @LAYOUT_NAME@" , generatedFileInfo.layoutFileName)
7082
7183 VfsUtil .saveText(codeFile, content)
7284 }
7385
7486 private fun createViewModelFile (
87+ packageName : String ,
7588 generatedFileInfo : GeneratedFileInfo ,
7689 templateContent : String
7790 ) {
7891 val viewModelFile = virtualFile.createChildData(this , " ${generatedFileInfo.viewModelFileName} .kt" )
7992
80- val content= templateContent.replaceAll(" @NAME@" , name)
81- .replaceAll(" @PACKAGE@" , " " )
93+ val content = templateContent.replaceAll(" @NAME@" , name)
94+ .replaceAll(" @PACKAGE@" , packageName )
8295
8396 VfsUtil .saveText(viewModelFile, content)
8497 }
8598
8699 private fun createLayoutFile (
100+ packageName : String ,
87101 generatedFileInfo : GeneratedFileInfo ,
88102 templateContent : String
89103 ) {
@@ -92,7 +106,7 @@ class CreateFindaTemplateDialog(
92106 val layoutFile = layoutDirectory?.createChildData(this , " ${generatedFileInfo.layoutFileName} .xml" )
93107
94108 val content = templateContent
95- .replaceAll(" @VM_PACKAGE@" , generatedFileInfo.viewModelFileName)
109+ .replaceAll(" @VM_PACKAGE@" , " ${packageName} . ${ generatedFileInfo.viewModelFileName} " )
96110
97111 layoutFile?.let {
98112 VfsUtil .saveText(layoutFile, content)
0 commit comments