Skip to content
Snippets Groups Projects

Resolve "Unmarshal JSON with ygot"

Merged Ghost User requested to merge 61-unmarshal-json-with-ygot into v.0.1.0-codename-threadbare
3 files
+ 40
3
Compare changes
  • Side-by-side
  • Inline
Files
3
@@ -7,10 +7,12 @@ import (
"code.fbi.h-da.de/cocsn/gosdn/nucleus/interfaces"
"code.fbi.h-da.de/cocsn/gosdn/sbi/restconf/util"
apiclient "code.fbi.h-da.de/cocsn/swagger/apis/mcp/client"
"code.fbi.h-da.de/cocsn/yang-modules/generated/tapi"
"crypto/tls"
"github.com/go-openapi/runtime"
httptransport "github.com/go-openapi/runtime/client"
"github.com/go-openapi/strfmt"
"github.com/openconfig/ygot/ygot"
"net/http"
)
@@ -21,6 +23,7 @@ type MCPClient struct {
database *database.Database
buffer *bytes.Buffer
config *interfaces.ClientConfig
device ygot.GoStruct
}
// GetConfig returns a ClientConfig struct containing
@@ -49,6 +52,7 @@ func NewMCPClient(endpoint, username, password string, database *database.Databa
database: database,
buffer: buffer,
config: config,
device: &tapi.Device{},
}
}
@@ -57,6 +61,9 @@ func NewMCPClient(endpoint, username, password string, database *database.Databa
func (c *MCPClient) GetConnections() error {
defer c.buffer.Reset()
_, err := c.client.TapiConnectivityCore.GetTapiCoreContextConnection(nil)
if err != nil { return err}
dest := &tapi.TapiCommon_Context_ConnectivityContext_Connection{}
if err := tapi.Unmarshal(c.buffer.Bytes(), dest); err != nil { return err }
c.database.StoreConnections(c.buffer.String())
log.Debug(c.buffer.Next(25))
return err
@@ -67,6 +74,9 @@ func (c *MCPClient) GetConnections() error {
func (c *MCPClient) GetLinks() error {
defer c.buffer.Reset()
_, err := c.client.TapiTopologyCore.GetTapiCoreContextTopologyMcpBaseTopologyLink(nil)
if err != nil { return err}
dest := &tapi.TapiCommon_Context_TopologyContext_Topology_Link{}
if err := tapi.Unmarshal(c.buffer.Bytes(), dest); err != nil { return err }
c.database.StoreLinks(c.buffer.String())
log.Debug(c.buffer.Next(25))
return err
@@ -77,6 +87,9 @@ func (c *MCPClient) GetLinks() error {
func (c *MCPClient) GetNodes() error {
defer c.buffer.Reset()
_, err := c.client.TapiTopologyCore.GetTapiCoreContextTopologyMcpBaseTopologyNode(nil)
if err != nil { return err}
dest := &tapi.TapiCommon_Context_TopologyContext_Topology_Node{}
if err := tapi.Unmarshal(c.buffer.Bytes(), dest); err != nil { return err }
c.database.StoreNodes(c.buffer.String())
log.Debug(c.buffer.Next(25))
return err
@@ -87,7 +100,10 @@ func (c *MCPClient) GetNodes() error {
func (c *MCPClient) GetNodeEdgePoints() error {
defer c.buffer.Reset()
_, err := c.client.TapiTopologyCore.GetTapiCoreContextTopologyMcpBaseTopologyNodeEdgePoint(nil)
if err != nil { return err}
dest := &tapi.TapiCommon_Context_TopologyContext_Topology_Link_NodeEdgePoint{}
if err := tapi.Unmarshal(c.buffer.Bytes(), dest); err != nil { return err }
c.database.StoreNodeEdgePoints(c.buffer.String())
log.Debug(c.buffer.Next(25))
return err
}
}
\ No newline at end of file
Loading