@@ -106,14 +106,15 @@ class InMemoryModel private constructor(
106106 val branchId : String ,
107107 val loadedMapRef : KVEntryReference <CPHamtNode >,
108108 val nodeMap : TLongObjectMap <CPNode >,
109+ val useRoleIds : Boolean ,
109110) {
110111
111112 companion object {
112113 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() )
114115 }
115116
116- fun load (branchId : String , slowMapRef : KVEntryReference <CPHamtNode >, store : IKeyValueStore ): InMemoryModel {
117+ fun load (branchId : String , slowMapRef : KVEntryReference <CPHamtNode >, store : IKeyValueStore , useRoleIds : Boolean ): InMemoryModel {
117118 val fastMap: TLongObjectMap <CPNode > = TLongObjectHashMap ()
118119 val bulkQuery = NonCachingObjectStore (store).newBulkQuery()
119120 LOG .info { " Start loading model into memory" }
@@ -130,14 +131,14 @@ class InMemoryModel private constructor(
130131 bulkQuery.process()
131132 }.milliseconds
132133 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 )
134135 }
135136 }
136137
137138 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() )
139140 }
140- fun loadIncremental (slowMapRef : KVEntryReference <CPHamtNode >, store : IKeyValueStore ): InMemoryModel {
141+ fun loadIncremental (slowMapRef : KVEntryReference <CPHamtNode >, store : IKeyValueStore , useRoleIds : Boolean ): InMemoryModel {
141142 if (slowMapRef.getHash() == loadedMapRef.getHash()) return this
142143
143144 val fastMap: TLongObjectMap <CPNode > = TLongObjectHashMap ()
@@ -180,7 +181,7 @@ class InMemoryModel private constructor(
180181 bulkQuery.process()
181182 }.milliseconds
182183 LOG .info { " Done updating model after ${duration.toDouble(DurationUnit .SECONDS )} s" }
183- return InMemoryModel (branchId, slowMapRef, fastMap)
184+ return InMemoryModel (branchId, slowMapRef, fastMap, useRoleIds )
184185 }
185186
186187 fun getNodeData (nodeId : Long ): CPNode = nodeMap.get(nodeId)
@@ -253,6 +254,9 @@ class InMemoryModel private constructor(
253254}
254255
255256data class InMemoryNode (val model : InMemoryModel , val nodeId : Long ) : INode, INodeReference {
257+
258+ override fun usesRoleIds (): Boolean = model.useRoleIds
259+
256260 fun getNodeData (): CPNode = model.getNodeData(nodeId)
257261
258262 override fun serialize (): String {
0 commit comments