From 15667b7ad8a9dd688e9100282f4beb495701a414 Mon Sep 17 00:00:00 2001 From: mcrakhman Date: Tue, 3 Jan 2023 18:55:43 +0100 Subject: [PATCH] Add easy access to unmarshalled header --- .../objecttree/mock_objecttree/mock_objecttree.go | 14 ++++++++++++++ .../object/tree/objecttree/objecttree.go | 12 +++++++++--- .../object/tree/objecttree/objecttreefactory.go | 7 +++---- .../tree/synctree/mock_synctree/mock_synctree.go | 14 ++++++++++++++ 4 files changed, 40 insertions(+), 7 deletions(-) diff --git a/common/commonspace/object/tree/objecttree/mock_objecttree/mock_objecttree.go b/common/commonspace/object/tree/objecttree/mock_objecttree/mock_objecttree.go index 571cdf91..3c2b490a 100644 --- a/common/commonspace/object/tree/objecttree/mock_objecttree/mock_objecttree.go +++ b/common/commonspace/object/tree/objecttree/mock_objecttree/mock_objecttree.go @@ -302,3 +302,17 @@ func (mr *MockObjectTreeMockRecorder) Unlock() *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Unlock", reflect.TypeOf((*MockObjectTree)(nil).Unlock)) } + +// UnmarshalledHeader mocks base method. +func (m *MockObjectTree) UnmarshalledHeader() *objecttree.Change { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UnmarshalledHeader") + ret0, _ := ret[0].(*objecttree.Change) + return ret0 +} + +// UnmarshalledHeader indicates an expected call of UnmarshalledHeader. +func (mr *MockObjectTreeMockRecorder) UnmarshalledHeader() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnmarshalledHeader", reflect.TypeOf((*MockObjectTree)(nil).UnmarshalledHeader)) +} diff --git a/common/commonspace/object/tree/objecttree/objecttree.go b/common/commonspace/object/tree/objecttree/objecttree.go index 09a3012c..522564a8 100644 --- a/common/commonspace/object/tree/objecttree/objecttree.go +++ b/common/commonspace/object/tree/objecttree/objecttree.go @@ -48,6 +48,7 @@ type ObjectTree interface { Id() string Header() *treechangeproto.RawTreeChangeWithId + UnmarshalledHeader() *Change Heads() []string Root() *Change HasChanges(...string) bool @@ -76,9 +77,10 @@ type objectTree struct { treeBuilder *treeBuilder aclList list2.AclList - id string - root *treechangeproto.RawTreeChangeWithId - tree *Tree + id string + rawRoot *treechangeproto.RawTreeChangeWithId + root *Change + tree *Tree keys map[uint64]*symmetric.Key @@ -142,6 +144,10 @@ func (ot *objectTree) Id() string { } func (ot *objectTree) Header() *treechangeproto.RawTreeChangeWithId { + return ot.rawRoot +} + +func (ot *objectTree) UnmarshalledHeader() *Change { return ot.root } diff --git a/common/commonspace/object/tree/objecttree/objecttreefactory.go b/common/commonspace/object/tree/objecttree/objecttreefactory.go index 789f36fd..12890cf7 100644 --- a/common/commonspace/object/tree/objecttree/objecttreefactory.go +++ b/common/commonspace/object/tree/objecttree/objecttreefactory.go @@ -150,18 +150,17 @@ func buildObjectTree(deps objectTreeDeps) (ObjectTree, error) { } objTree.id = objTree.treeStorage.Id() - - objTree.id = objTree.treeStorage.Id() - objTree.root, err = objTree.treeStorage.Root() + objTree.rawRoot, err = objTree.treeStorage.Root() if err != nil { return nil, err } // verifying root - _, err = objTree.changeBuilder.ConvertFromRaw(objTree.root, true) + header, err := objTree.changeBuilder.ConvertFromRaw(objTree.rawRoot, true) if err != nil { return nil, err } + objTree.root = header return objTree, nil } diff --git a/common/commonspace/object/tree/synctree/mock_synctree/mock_synctree.go b/common/commonspace/object/tree/synctree/mock_synctree/mock_synctree.go index 99a8e11c..154a84ce 100644 --- a/common/commonspace/object/tree/synctree/mock_synctree/mock_synctree.go +++ b/common/commonspace/object/tree/synctree/mock_synctree/mock_synctree.go @@ -455,6 +455,20 @@ func (mr *MockSyncTreeMockRecorder) Unlock() *gomock.Call { return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Unlock", reflect.TypeOf((*MockSyncTree)(nil).Unlock)) } +// UnmarshalledHeader mocks base method. +func (m *MockSyncTree) UnmarshalledHeader() *objecttree.Change { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UnmarshalledHeader") + ret0, _ := ret[0].(*objecttree.Change) + return ret0 +} + +// UnmarshalledHeader indicates an expected call of UnmarshalledHeader. +func (mr *MockSyncTreeMockRecorder) UnmarshalledHeader() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnmarshalledHeader", reflect.TypeOf((*MockSyncTree)(nil).UnmarshalledHeader)) +} + // MockReceiveQueue is a mock of ReceiveQueue interface. type MockReceiveQueue struct { ctrl *gomock.Controller