未验证 提交 a2144cc4 编写于 作者: P Phodal Huang

feat: add lost api parent

上级 2ed527d4
......@@ -35,14 +35,8 @@ var apiCmd *cobra.Command = &cobra.Command{
}
_ = json.Unmarshal(file, &parsedDeps)
var apiCallers []string
for _, api := range restApis {
apiCaller := api.PackageName + "." + api.ClassName + "." + api.MethodName
apiCallers = append(apiCallers, apiCaller)
}
analyser := domain.NewCallGraph()
dotContent := analyser.AnalysisByFiles(apiCallers, parsedDeps)
dotContent := analyser.AnalysisByFiles(restApis, parsedDeps)
if remove != "" {
dotContent = strings.ReplaceAll(dotContent, remove, "")
......
package domain
import (
"coca/src/adapter/api"
"coca/src/adapter/models"
"fmt"
)
type CallGraph struct {
......@@ -43,14 +43,16 @@ func BuildCallChain(funcName string, methodMap map[string][]string) string {
return "\n"
}
func (c CallGraph) AnalysisByFiles(callers []string, deps []models.JClassNode) string {
func (c CallGraph) AnalysisByFiles(restApis []api.RestApi, deps []models.JClassNode) string {
methodMap := c.BuildMethodMap(deps)
results := "digraph G { \n"
for _, caller := range callers {
fmt.Println(caller)
chain := BuildCallChain(caller, methodMap)
fmt.Println(chain)
for _, restApi := range restApis {
caller := restApi.PackageName + "." + restApi.ClassName + "." + restApi.MethodName
chain := "\"" + restApi.HttpMethod + " " + restApi.Uri + "\" -> \"" + caller + "\";\n"
chain = chain + BuildCallChain(caller, methodMap)
results = results + "\n" + chain
}
return results + "}\n"
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册