update component id with the one in the links
This commit is contained in:
parent
6bbb2a0b40
commit
a485831a01
60
graph.go
60
graph.go
@ -168,13 +168,13 @@ func (g *Graph) GetWorkflowComponents(workflow string){
|
||||
if (comp_id != "") {
|
||||
switch component_type {
|
||||
case "computing":
|
||||
g.AddComputingModel(comp_id, value)
|
||||
g.AddComputingModel(comp_id, value, id.Str)
|
||||
case "data":
|
||||
g.AddDataModel(comp_id, value)
|
||||
g.AddDataModel(comp_id, value, id.Str)
|
||||
case "datacenter":
|
||||
g.AddDatacenterModel(comp_id, value)
|
||||
g.AddDatacenterModel(comp_id, value, id.Str)
|
||||
case "storage":
|
||||
g.AddStorageModel(comp_id, value)
|
||||
g.AddStorageModel(comp_id, value, id.Str)
|
||||
default :
|
||||
logs.Critical("Component type doesn't match a know type : " + component_type)
|
||||
}
|
||||
@ -186,47 +186,7 @@ func (g *Graph) GetWorkflowComponents(workflow string){
|
||||
|
||||
}
|
||||
|
||||
func (g *Graph) AddComponentObject(comp_type string, component interface{}){
|
||||
|
||||
switch comp_type {
|
||||
case "computing":
|
||||
g.Computings = append(g.Computings, component.(models.ComputingModel))
|
||||
|
||||
case "data":
|
||||
g.Datas = append(g.Datas, component.(models.DataModel))
|
||||
|
||||
case "datacenter":
|
||||
g.Datacenters = append(g.Datacenters, component.(models.DatacenterModel))
|
||||
|
||||
case "storage":
|
||||
g.Storages = append(g.Storages, component.(models.StorageModel))
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Construct the object corresponding to component_type from its ID, retrieved in
|
||||
// the xml graph, in order to merge the user input with the base model
|
||||
|
||||
func (g *Graph) GetComponentById(component_type string, id string) (map[string]interface{}, error) {
|
||||
// TODO : Add a verification that g.ws is initialized ?
|
||||
|
||||
body , err := g.ws.Get("v1/"+component_type+"/"+id)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
comp := make(map[string]interface{})
|
||||
jsonified := gjson.ParseBytes(body)
|
||||
jsonified.ForEach(func(key, value gjson.Result) bool {
|
||||
comp[key.Str] = value.String()
|
||||
return true // keep iterating
|
||||
})
|
||||
|
||||
return comp, nil
|
||||
}
|
||||
|
||||
func (g *Graph) AddDataModel(id string, user_input gjson.Result) error {
|
||||
func (g *Graph) AddDataModel(id string, user_input gjson.Result, wf_id string) error {
|
||||
var d models.DataModel
|
||||
resp, err := g.ws.Get("v1/data/" + id)
|
||||
if err != nil {
|
||||
@ -234,11 +194,12 @@ func (g *Graph) AddDataModel(id string, user_input gjson.Result) error {
|
||||
}
|
||||
json.Unmarshal(resp, &d)
|
||||
json.Unmarshal([]byte(user_input.Raw),&d.DataNEWModel)
|
||||
d.ID = wf_id
|
||||
g.Datas = append(g.Datas, d)
|
||||
return nil
|
||||
}
|
||||
|
||||
func (g *Graph) AddDatacenterModel(id string, user_input gjson.Result) error {
|
||||
func (g *Graph) AddDatacenterModel(id string, user_input gjson.Result, wf_id string) error {
|
||||
var d models.DatacenterModel
|
||||
resp, err := g.ws.Get("v1/datacenter/" + id)
|
||||
if err != nil {
|
||||
@ -246,11 +207,12 @@ func (g *Graph) AddDatacenterModel(id string, user_input gjson.Result) error {
|
||||
}
|
||||
json.Unmarshal(resp, &d)
|
||||
json.Unmarshal([]byte(user_input.Raw),&d.DatacenterNEWModel)
|
||||
d.ID = wf_id
|
||||
g.Datacenters = append(g.Datacenters, d)
|
||||
return nil
|
||||
}
|
||||
|
||||
func (g *Graph) AddComputingModel(id string, user_input gjson.Result) error {
|
||||
func (g *Graph) AddComputingModel(id string, user_input gjson.Result, wf_id string) error {
|
||||
var c models.ComputingModel
|
||||
resp, err := g.ws.Get("v1/computing/" + id)
|
||||
if err != nil {
|
||||
@ -258,11 +220,12 @@ func (g *Graph) AddComputingModel(id string, user_input gjson.Result) error {
|
||||
}
|
||||
json.Unmarshal(resp, &c)
|
||||
json.Unmarshal([]byte(user_input.Raw),&c.ComputingNEWModel)
|
||||
c.ID = wf_id
|
||||
g.Computings = append(g.Computings, c)
|
||||
return nil
|
||||
}
|
||||
|
||||
func (g *Graph) AddStorageModel(id string, user_input gjson.Result) error {
|
||||
func (g *Graph) AddStorageModel(id string, user_input gjson.Result, wf_id string) error {
|
||||
var s models.StorageModel
|
||||
resp, err := g.ws.Get("v1/data/" + id)
|
||||
if err != nil {
|
||||
@ -270,6 +233,7 @@ func (g *Graph) AddStorageModel(id string, user_input gjson.Result) error {
|
||||
}
|
||||
json.Unmarshal(resp, &s)
|
||||
json.Unmarshal([]byte(user_input.Raw),&s.StorageNEWModel)
|
||||
s.ID = wf_id
|
||||
g.Storages = append(g.Storages, s)
|
||||
return nil
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user