@@ -106,14 +106,15 @@ class InMemoryModel private constructor(
106
106
val branchId : String ,
107
107
val loadedMapRef : KVEntryReference <CPHamtNode >,
108
108
val nodeMap : TLongObjectMap <CPNode >,
109
+ val useRoleIds : Boolean ,
109
110
) {
110
111
111
112
companion object {
112
113
fun load (tree : CLTree ): InMemoryModel {
113
- return load(tree.getId(), tree.data.idToHash, tree.store.keyValueStore)
114
+ return load(tree.getId(), tree.data.idToHash, tree.store.keyValueStore, tree.usesRoleIds() )
114
115
}
115
116
116
- fun load (branchId : String , slowMapRef : KVEntryReference <CPHamtNode >, store : IKeyValueStore ): InMemoryModel {
117
+ fun load (branchId : String , slowMapRef : KVEntryReference <CPHamtNode >, store : IKeyValueStore , useRoleIds : Boolean ): InMemoryModel {
117
118
val fastMap: TLongObjectMap <CPNode > = TLongObjectHashMap ()
118
119
val bulkQuery = NonCachingObjectStore (store).newBulkQuery()
119
120
LOG .info { " Start loading model into memory" }
@@ -130,14 +131,14 @@ class InMemoryModel private constructor(
130
131
bulkQuery.process()
131
132
}.milliseconds
132
133
LOG .info { " Done loading model into memory after ${duration.toDouble(DurationUnit .SECONDS )} s" }
133
- return InMemoryModel (branchId, slowMapRef, fastMap)
134
+ return InMemoryModel (branchId, slowMapRef, fastMap, useRoleIds )
134
135
}
135
136
}
136
137
137
138
fun loadIncremental (tree : CLTree ): InMemoryModel {
138
- return loadIncremental(tree.data.idToHash, tree.store.keyValueStore)
139
+ return loadIncremental(tree.data.idToHash, tree.store.keyValueStore, tree.usesRoleIds() )
139
140
}
140
- fun loadIncremental (slowMapRef : KVEntryReference <CPHamtNode >, store : IKeyValueStore ): InMemoryModel {
141
+ fun loadIncremental (slowMapRef : KVEntryReference <CPHamtNode >, store : IKeyValueStore , useRoleIds : Boolean ): InMemoryModel {
141
142
if (slowMapRef.getHash() == loadedMapRef.getHash()) return this
142
143
143
144
val fastMap: TLongObjectMap <CPNode > = TLongObjectHashMap ()
@@ -180,7 +181,7 @@ class InMemoryModel private constructor(
180
181
bulkQuery.process()
181
182
}.milliseconds
182
183
LOG .info { " Done updating model after ${duration.toDouble(DurationUnit .SECONDS )} s" }
183
- return InMemoryModel (branchId, slowMapRef, fastMap)
184
+ return InMemoryModel (branchId, slowMapRef, fastMap, useRoleIds )
184
185
}
185
186
186
187
fun getNodeData (nodeId : Long ): CPNode = nodeMap.get(nodeId)
@@ -253,6 +254,9 @@ class InMemoryModel private constructor(
253
254
}
254
255
255
256
data class InMemoryNode (val model : InMemoryModel , val nodeId : Long ) : INode, INodeReference {
257
+
258
+ override fun usesRoleIds (): Boolean = model.useRoleIds
259
+
256
260
fun getNodeData (): CPNode = model.getNodeData(nodeId)
257
261
258
262
override fun serialize (): String {
0 commit comments