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