diff --git a/entity-store/src/main/kotlin/jetbrains/exodus/entitystore/orientdb/OEntity.kt b/entity-store/src/main/kotlin/jetbrains/exodus/entitystore/orientdb/OEntity.kt index 98c498a2d..f698ad967 100644 --- a/entity-store/src/main/kotlin/jetbrains/exodus/entitystore/orientdb/OEntity.kt +++ b/entity-store/src/main/kotlin/jetbrains/exodus/entitystore/orientdb/OEntity.kt @@ -22,4 +22,6 @@ interface OEntity : Entity { override fun getId(): OEntityId fun save(): OEntity + + fun resetToNew() } diff --git a/entity-store/src/main/kotlin/jetbrains/exodus/entitystore/orientdb/OReadonlyVertexEntity.kt b/entity-store/src/main/kotlin/jetbrains/exodus/entitystore/orientdb/OReadonlyVertexEntity.kt index 0bc6ec1eb..5079256e0 100644 --- a/entity-store/src/main/kotlin/jetbrains/exodus/entitystore/orientdb/OReadonlyVertexEntity.kt +++ b/entity-store/src/main/kotlin/jetbrains/exodus/entitystore/orientdb/OReadonlyVertexEntity.kt @@ -21,5 +21,9 @@ class OReadonlyVertexEntity(vertex: OVertex, store: OEntityStore) : OVertexEntit override fun requireActiveWritableTransaction(): OStoreTransaction { throw IllegalArgumentException("Can't update readonly entity (id=${id})") } + + override fun resetToNew() { + throw UnsupportedOperationException("Not supported in readonly entity") + } } diff --git a/entity-store/src/main/kotlin/jetbrains/exodus/entitystore/orientdb/OVertexEntity.kt b/entity-store/src/main/kotlin/jetbrains/exodus/entitystore/orientdb/OVertexEntity.kt index 62c31aa74..e8119051a 100644 --- a/entity-store/src/main/kotlin/jetbrains/exodus/entitystore/orientdb/OVertexEntity.kt +++ b/entity-store/src/main/kotlin/jetbrains/exodus/entitystore/orientdb/OVertexEntity.kt @@ -89,6 +89,10 @@ open class OVertexEntity(internal val vertex: OVertex, private val store: OEntit return true } + override fun resetToNew() { + vertex.resetToNew() + } + private fun requireActiveTx(): OStoreTransaction { return store.requireActiveTransaction() }