diff --git a/configs/rename.coca b/configs/rename.coca index 09b149b2ca5a957897a2446f8d6c57868849d096..6b044abf67dd5131eb0ecf01d55d9f30f7c82905 100644 --- a/configs/rename.coca +++ b/configs/rename.coca @@ -1 +1,2 @@ +study.huhao.demo.infrastructure.persistence.blog.BlogPO.toDomainModel -> study.huhao.demo.infrastructure.persistence.blog.BlogPO.convertDomainModel study.huhao.demo.domain.models.blog.BlogRepository.save -> study.huhao.demo.domain.models.blog.BlogRepository.saveIt \ No newline at end of file diff --git a/refactor/rename/rename_method.go b/refactor/rename/rename_method.go index 7a113d1b411762aca5c6cc74bf3031fd3df306c9..85e1046e4e5f6f3534fe253481789f73748ee241 100644 --- a/refactor/rename/rename_method.go +++ b/refactor/rename/rename_method.go @@ -7,6 +7,9 @@ import ( . "../base/models" "encoding/json" "fmt" + "io/ioutil" + "log" + "strings" ) var parsedChange []RefactorChangeRelate @@ -50,8 +53,44 @@ func (j *RemoveMethodApp) Start() { func startParse(nodes []JClassNode, relates []RefactorChangeRelate) { for _, related := range relates { oldInfo := BuildMethodPackageInfo(related.OldObj) - newInfo := BuildMethodPackageInfo(related.NewObj) + //newInfo := BuildMethodPackageInfo(related.NewObj) - fmt.Print(oldInfo, newInfo) + for _, pkgNode := range nodes { + fmt.Println(pkgNode.Package+pkgNode.Class, oldInfo.Package+oldInfo.Class) + if pkgNode.Package+pkgNode.Class == oldInfo.Package+oldInfo.Class { + for _, method := range pkgNode.Methods { + updateSelfRefs(pkgNode, method) + } + } + // + //for methodCall := range pkgNode.MethodCalls { + // + //} + } } } + +func updateSelfRefs(node JClassNode, method JMethod) { + path := node.Path + input, err := ioutil.ReadFile(path) + if err != nil { + log.Fatalln(err) + } + + lines := strings.Split(string(input), "\n") + + for i, line := range lines { + if i == method.StartLine-1 { + fmt.Println(line[method.StartLinePosition:]) + } + } + output := strings.Join(lines, "\n") + err = ioutil.WriteFile(path, []byte(output), 0644) + if err != nil { + log.Fatalln(err) + } +} + +func updateDepsRefs(node JClassNode, info *PackageClassInfo, info2 *PackageClassInfo) { + +} diff --git a/utils/java_package_util.go b/utils/java_package_util.go index d3006bfb8cca1f8201a28a6fb559d8de21919e34..e93e1de79ba3b4c6f82b0ca86db1764556500df1 100644 --- a/utils/java_package_util.go +++ b/utils/java_package_util.go @@ -11,6 +11,6 @@ func BuildMethodPackageInfo(name string) *PackageClassInfo { pkgInfo.Method = split[len(split)-1] pkgInfo.Class = split[len(split)-2] - pkgInfo.Package = strings.Join(split[:len(split)-3], ".") + pkgInfo.Package = strings.Join(split[:len(split)-2], ".") return pkgInfo }