fun createTransientEntityStore()

in dnq/src/main/kotlin/kotlinx/dnq/store/container/EntityStoreHelper.kt [34:52]


fun createTransientEntityStore(dbFolder: File,
                               entityStoreName: String,
                               primary: Boolean,
                               configure: EnvironmentConfig.() -> Unit = {}): TransientEntityStoreImpl {
    return TransientEntityStoreImpl().apply {
        val store = this
        val environment = Environments.newInstance(dbFolder, EnvironmentConfig().apply(configure).apply { isManagementEnabled = primary })
        val persistentStore = PersistentEntityStoreImpl(
                PersistentEntityStoreConfig().apply { isManagementEnabled = primary },
                environment,
                null,
                entityStoreName)
        this.persistentStore = persistentStore
        this.modelMetaData = ModelMetaDataImpl()
        this.queryEngine = XdQueryEngine(store).apply {
            this.sortEngine = TransientSortEngineImpl(store, this)
        }
    }
}