make immutable Track fields private
This commit is contained in:
parent
c1e215d586
commit
8401f4d51e
2 changed files with 15 additions and 7 deletions
|
@ -18,25 +18,33 @@ type ItemFactory func(*Container, ...string) *Track
|
||||||
// basic track implementation
|
// basic track implementation
|
||||||
|
|
||||||
type Track struct {
|
type Track struct {
|
||||||
TrackId lib.Ident
|
trackId lib.Ident
|
||||||
Head lib.StrMap
|
Head lib.StrMap
|
||||||
TimeStamp *time.Time
|
TimeStamp *time.Time
|
||||||
Data lib.Map
|
Data lib.Map
|
||||||
Container *Container
|
container *Container
|
||||||
|
}
|
||||||
|
|
||||||
|
func (tr *Track) TrackId() lib.Ident {
|
||||||
|
return tr.trackId
|
||||||
|
}
|
||||||
|
|
||||||
|
func (tr *Track) Container() *Container {
|
||||||
|
return tr.container
|
||||||
}
|
}
|
||||||
|
|
||||||
func MakeTrack(cont *Container, h ...string) *Track {
|
func MakeTrack(cont *Container, h ...string) *Track {
|
||||||
tr := Track{
|
tr := Track{
|
||||||
Head: lib.StrMap{},
|
Head: lib.StrMap{},
|
||||||
Data: lib.Map{},
|
Data: lib.Map{},
|
||||||
Container: cont,
|
container: cont,
|
||||||
}
|
}
|
||||||
tr.SetHead(h...)
|
tr.SetHead(h...)
|
||||||
return &tr
|
return &tr
|
||||||
}
|
}
|
||||||
|
|
||||||
func (tr *Track) SetHead(h ...string) {
|
func (tr *Track) SetHead(h ...string) {
|
||||||
for i, k := range tr.Container.HeadFields {
|
for i, k := range tr.container.HeadFields {
|
||||||
if i >= len(h) {
|
if i >= len(h) {
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
@ -136,7 +144,7 @@ func (cont *Container) Insert(tr *Track) lib.Ident {
|
||||||
}
|
}
|
||||||
if err := db.Query(proc, sql, values...); err == nil {
|
if err := db.Query(proc, sql, values...); err == nil {
|
||||||
//tr.Update(&TrackTemplate{TrackId: trid, TimeStamp: ts})
|
//tr.Update(&TrackTemplate{TrackId: trid, TimeStamp: ts})
|
||||||
tr.TrackId = trid
|
tr.trackId = trid
|
||||||
tr.TimeStamp = ts
|
tr.TimeStamp = ts
|
||||||
return trid
|
return trid
|
||||||
}
|
}
|
||||||
|
|
|
@ -69,7 +69,7 @@ func TrackingTest(t *testing.T, cfg *sql.Cfg, db *sql.Storage) {
|
||||||
cont := tracking.Tracks(db)
|
cont := tracking.Tracks(db)
|
||||||
cont.CreateTable()
|
cont.CreateTable()
|
||||||
track := cont.NewTrack(lib.StrSlice{"t01", "john"}, nil)
|
track := cont.NewTrack(lib.StrSlice{"t01", "john"}, nil)
|
||||||
t.AssertEqual(track.TrackId, lib.Ident(1))
|
t.AssertEqual(track.TrackId(), lib.Ident(1))
|
||||||
t.AssertEqual(track.TimeStamp.Year(), time.Now().Year())
|
t.AssertEqual(track.TimeStamp.Year(), time.Now().Year())
|
||||||
//fmt.Printf("%+v\n", track.TimeStamp())
|
//fmt.Printf("%+v\n", track.TimeStamp())
|
||||||
tr2 := cont.Get(1)
|
tr2 := cont.Get(1)
|
||||||
|
@ -83,7 +83,7 @@ func MessageTest(t *testing.T, cfg *sql.Cfg, db *sql.Storage) {
|
||||||
cont := message.Messages(db)
|
cont := message.Messages(db)
|
||||||
cont.CreateTable()
|
cont.CreateTable()
|
||||||
msg := message.New(cont, "", "data")
|
msg := message.New(cont, "", "data")
|
||||||
t.AssertEqual(msg.TrackId, lib.Ident(1))
|
t.AssertEqual(msg.TrackId(), lib.Ident(1))
|
||||||
t.AssertEqual(msg.Domain(), "scopes")
|
t.AssertEqual(msg.Domain(), "scopes")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue