Setup
This commit is contained in:
@@ -139,7 +139,7 @@ func (d *Workflow) ExtractFromPlantUML(plantUML multipart.File, request *tools.A
|
||||
}
|
||||
},
|
||||
}
|
||||
graphVarName := map[string]*graph.GraphItem{}
|
||||
graphVarName := map[string]graph.GraphItem{}
|
||||
scanner := bufio.NewScanner(plantUML)
|
||||
|
||||
for scanner.Scan() {
|
||||
@@ -153,27 +153,29 @@ func (d *Workflow) ExtractFromPlantUML(plantUML multipart.File, request *tools.A
|
||||
if err != nil {
|
||||
return d, err
|
||||
}
|
||||
graphVarName[varName] = graphItem
|
||||
if graphItem != nil {
|
||||
graphVarName[varName] = *graphItem
|
||||
}
|
||||
continue
|
||||
} else if strings.Contains(line, n+"-->") {
|
||||
} else if strings.Contains(line, "-->") {
|
||||
err := d.extractLink(line, graphVarName, "-->", false)
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
continue
|
||||
}
|
||||
} else if strings.Contains(line, n+"<--") {
|
||||
} else if strings.Contains(line, "<--") {
|
||||
err := d.extractLink(line, graphVarName, "<--", true)
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
continue
|
||||
}
|
||||
} else if strings.Contains(line, n+"--") {
|
||||
} else if strings.Contains(line, "--") {
|
||||
err := d.extractLink(line, graphVarName, "--", false)
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
continue
|
||||
}
|
||||
} else if strings.Contains(line, n+"-") {
|
||||
} else if strings.Contains(line, "-") {
|
||||
err := d.extractLink(line, graphVarName, "-", false)
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
@@ -190,6 +192,7 @@ func (d *Workflow) ExtractFromPlantUML(plantUML multipart.File, request *tools.A
|
||||
d.generateResource(d.GetResources(tools.STORAGE_RESOURCE), request)
|
||||
d.generateResource(d.GetResources(tools.COMPUTE_RESOURCE), request)
|
||||
d.generateResource(d.GetResources(tools.WORKFLOW_RESOURCE), request)
|
||||
d.Graph.Items = graphVarName
|
||||
return d, nil
|
||||
}
|
||||
|
||||
@@ -204,17 +207,11 @@ func (d *Workflow) generateResource(datas []resources.ResourceInterface, request
|
||||
return nil
|
||||
}
|
||||
|
||||
func (d *Workflow) extractLink(line string, graphVarName map[string]*graph.GraphItem, pattern string, reverse bool) error {
|
||||
func (d *Workflow) extractLink(line string, graphVarName map[string]graph.GraphItem, pattern string, reverse bool) error {
|
||||
splitted := strings.Split(line, pattern)
|
||||
if len(splitted) < 2 {
|
||||
return errors.New("links elements not found")
|
||||
}
|
||||
if graphVarName[splitted[0]] != nil {
|
||||
return errors.New("links elements not found -> " + strings.Trim(splitted[0], " "))
|
||||
}
|
||||
if graphVarName[splitted[1]] != nil {
|
||||
return errors.New("links elements not found -> " + strings.Trim(splitted[1], " "))
|
||||
}
|
||||
link := &graph.GraphLink{
|
||||
Source: graph.Position{
|
||||
ID: graphVarName[splitted[0]].ID,
|
||||
|
||||
Reference in New Issue
Block a user