2018-04-26 07:37:59 +00:00
|
|
|
package sensorconfig
|
2018-04-12 09:38:04 +00:00
|
|
|
|
|
|
|
import "encoding/json"
|
|
|
|
|
|
|
|
type ResultSetter interface {
|
|
|
|
AddRow(row []string)
|
|
|
|
GetMeta() map[string]json.Number
|
|
|
|
GetData() map[string]string
|
|
|
|
}
|
|
|
|
|
|
|
|
type ResultSet struct {
|
|
|
|
Item *Item `json:"item,omitempty"`
|
|
|
|
Rows [][]string `json:"rows,omitempty"`
|
|
|
|
Meta map[string]json.Number `json:"meta,omitempty"`
|
|
|
|
}
|
|
|
|
|
|
|
|
func (rs *ResultSet) AddRow(row []string) {
|
|
|
|
rs.Rows = append(rs.Rows, row)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (rs *ResultSet) GetMeta() map[string]json.Number {
|
|
|
|
return rs.Meta
|
|
|
|
}
|
|
|
|
|
|
|
|
func NewResultSet(item *Item) ResultSetter {
|
|
|
|
if nil == item.MappingInfo {
|
|
|
|
item.MappingInfo = &MappingInfo{}
|
|
|
|
}
|
|
|
|
rs := &ResultSet{}
|
|
|
|
rs.Item = item
|
|
|
|
rs.Rows = make([][]string, 0)
|
|
|
|
|
|
|
|
switch item.MappingInfo.ParseDirection {
|
|
|
|
case "row":
|
|
|
|
rsr := &ResultSetRow{}
|
|
|
|
rsr.ResultSet = rs
|
|
|
|
rsr.setMeta()
|
|
|
|
return rsr
|
|
|
|
default:
|
|
|
|
rsc := &ResultSetCol{}
|
|
|
|
rsc.ResultSet = rs
|
|
|
|
rsc.setMeta()
|
|
|
|
return rsc
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|