VOL-1176: Ported callback mechanism
- Updated some files with the license block
Change-Id: I61db400b3a72c4915f4f3f17cc7a110313c2d25e
diff --git a/db/model/merge.go b/db/model/merge.go
index 8ff89c4..97257b4 100644
--- a/db/model/merge.go
+++ b/db/model/merge.go
@@ -87,7 +87,7 @@
func Merge3Way(
forkRev, srcRev, dstRev Revision,
mergeChildFunc func(Revision) Revision,
- dryRun bool) (rev Revision, changes map[CallbackType][]interface{}) {
+ dryRun bool) (rev Revision, changes []ChangeTuple) {
var configChanged bool
@@ -124,9 +124,9 @@
newChildren[fieldName] = append(newChildren[fieldName], mergeChildFunc(rev))
}
if field.IsContainer {
- changes[POST_LISTCHANGE] = append(
- changes[POST_LISTCHANGE],
- NewOperationContext("", nil, fieldName, ""),
+ changes = append(
+ changes, ChangeTuple{POST_LISTCHANGE,
+ NewOperationContext("", nil, fieldName, "")},
)
}
}
@@ -146,18 +146,11 @@
newRev := mergeChildFunc(newList[idx])
newList[idx] = newRev
- changes[POST_ADD] = append(
- changes[POST_ADD],
- newRev.GetData(),
- )
+ changes = append(changes, ChangeTuple{POST_ADD,newRev.GetData()})
}
for key, _ := range src.RemovedKeys {
oldRev := forkList[src.KeyMap1[key]]
-
- changes[POST_REMOVE] = append(
- changes[POST_REMOVE],
- oldRev.GetData(),
- )
+ changes = append(changes, ChangeTuple{POST_REMOVE,oldRev.GetData()})
}
for key, _ := range src.ChangedKeys {
idx := src.KeyMap2[key]
@@ -184,10 +177,7 @@
} else {
newRev := mergeChildFunc(srcList[src.KeyMap2[key]])
newList = append(newList, newRev)
- changes[POST_ADD] = append(
- changes[POST_ADD],
- newRev.GetData(),
- )
+ changes = append(changes, ChangeTuple{POST_ADD,newRev.GetData()})
}
}
for key, _ := range src.ChangedKeys {
@@ -223,10 +213,7 @@
newList[len(newList)-1] = nil
newList = newList[:len(newList)-1]
- changes[POST_REMOVE] = append(
- changes[POST_REMOVE],
- oldRev.GetData(),
- )
+ changes = append(changes, ChangeTuple{POST_REMOVE,oldRev.GetData()})
}
}
@@ -246,10 +233,7 @@
rev = rev.UpdateAllChildren(newChildren, dstRev.GetBranch())
if configChanged {
- changes[POST_UPDATE] = append(
- changes[POST_UPDATE],
- rev.GetData(),
- )
+ changes = append(changes, ChangeTuple{POST_UPDATE,rev.GetData()})
}
return rev, changes
}