@@ -6,7 +6,6 @@ import de.markusressel.mkdocseditor.data.persistence.entity.DocumentEntity_
66import de.markusressel.mkdocseditor.data.persistence.entity.ResourceEntity_
77import de.markusressel.mkdocseditor.data.persistence.entity.SectionEntity
88import de.markusressel.mkdocseditor.data.persistence.entity.SectionEntity_
9- import io.objectbox.kotlin.query
109import io.objectbox.kotlin.toFlow
1110import io.objectbox.query.QueryBuilder
1211import kotlinx.coroutines.ExperimentalCoroutinesApi
@@ -33,19 +32,23 @@ class SectionPersistenceManager @Inject constructor(
3332 * Find a section by it's document id (not the database entity id)
3433 */
3534 fun findById (sectionId : String ): SectionEntity ? {
36- return standardOperation().query {
37- equal(SectionEntity_ .id, sectionId, QueryBuilder .StringOrder .CASE_INSENSITIVE )
38- }.findUnique()
35+ return standardOperation().query(
36+ SectionEntity_ .id.equal(
37+ sectionId, QueryBuilder .StringOrder .CASE_INSENSITIVE
38+ )
39+ ).build().findUnique()
3940 }
4041
4142 /* *
4243 * Find a section by it's document id (not the database entity id)
4344 */
4445 @OptIn(ExperimentalCoroutinesApi ::class )
4546 fun findByIdFlow (sectionId : String ): Flow <SectionEntity ?> {
46- return standardOperation().query {
47- equal(SectionEntity_ .id, sectionId, QueryBuilder .StringOrder .CASE_INSENSITIVE )
48- }.subscribe().toFlow().map { it.firstOrNull() }
47+ return standardOperation().query(
48+ SectionEntity_ .id.equal(
49+ sectionId, QueryBuilder .StringOrder .CASE_INSENSITIVE
50+ )
51+ ).build().subscribe().toFlow().map { it.firstOrNull() }
4952 }
5053
5154 /* *
@@ -75,39 +78,44 @@ class SectionPersistenceManager @Inject constructor(
7578 parentSection : SectionEntity ? = null
7679 ): SectionEntity {
7780 // use existing section or insert new one
78- val sectionEntity = standardOperation().query {
79- equal(SectionEntity_ .id, section.id, QueryBuilder .StringOrder .CASE_INSENSITIVE )
80- }.findUnique() ? : run {
81- val newSection = standardOperation().get(standardOperation().put(section))
82- parentSection?.subsections?.add(newSection)
83- newSection
84- }
81+ val sectionEntity =
82+ standardOperation().query(
83+ SectionEntity_ .id.equal(section.id, QueryBuilder .StringOrder .CASE_INSENSITIVE )
84+ ).build().findUnique() ? : run {
85+ val newSection = standardOperation().get(standardOperation().put(section))
86+ parentSection?.subsections?.add(newSection)
87+ newSection
88+ }
8589
8690 section.documents.forEach { newDocument ->
87- val documentEntity = documentPersistenceManager.standardOperation().query {
88- equal(DocumentEntity_ .id, newDocument.id, QueryBuilder .StringOrder .CASE_INSENSITIVE )
89- }.findUnique()?.apply {
90- filesize = newDocument.filesize
91- modtime = newDocument.modtime
92- } ? : newDocument
91+ val documentEntity = documentPersistenceManager.standardOperation()
92+ .query(
93+ DocumentEntity_ .id.equal(newDocument.id, QueryBuilder .StringOrder .CASE_INSENSITIVE )
94+ ).build().findUnique()?.apply {
95+ filesize = newDocument.filesize
96+ modtime = newDocument.modtime
97+ } ? : newDocument
9398 documentEntity.parentSection.target = sectionEntity
9499
95100 val documentContentEntity =
96- documentContentPersistenceManager.standardOperation().query {
97- equal(DocumentContentEntity_ .documentId, documentEntity.id, QueryBuilder .StringOrder .CASE_INSENSITIVE )
98- }.findUnique()
101+ documentContentPersistenceManager.standardOperation().query(
102+ DocumentContentEntity_ .documentId.equal(
103+ documentEntity.id,
104+ QueryBuilder .StringOrder .CASE_INSENSITIVE
105+ )
106+ ).build().findUnique()
99107 documentEntity.content.target = documentContentEntity
100108
101109 documentPersistenceManager.standardOperation().put(documentEntity)
102110 }
103111
104112 section.resources.forEach { newResource ->
105- val resourceEntity = resourcePersistenceManager.standardOperation().query {
106- equal (ResourceEntity_ .id, newResource.id, QueryBuilder .StringOrder .CASE_INSENSITIVE )
107- } .findUnique()?.apply {
108- filesize = newResource.filesize
109- modtime = newResource.modtime
110- } ? : newResource
113+ val resourceEntity = resourcePersistenceManager.standardOperation()
114+ .query (ResourceEntity_ .id.equal( newResource.id, QueryBuilder .StringOrder .CASE_INSENSITIVE )).build( )
115+ .findUnique()?.apply {
116+ filesize = newResource.filesize
117+ modtime = newResource.modtime
118+ } ? : newResource
111119 resourceEntity.parentSection.target = sectionEntity
112120
113121 resourcePersistenceManager.standardOperation().put(resourceEntity)
@@ -132,38 +140,38 @@ class SectionPersistenceManager @Inject constructor(
132140 findIdsRecursive(newData, sectionIds, documentIds, resourceIds)
133141
134142 // remove stale sections
135- val existingSectionIds = standardOperation().query {
136- ` in ` (SectionEntity_ .id, sectionIds.toTypedArray(), QueryBuilder .StringOrder .CASE_INSENSITIVE )
137- } .findIds()
143+ val existingSectionIds = standardOperation()
144+ .query (SectionEntity_ .id.oneOf( sectionIds.toTypedArray(), QueryBuilder .StringOrder .CASE_INSENSITIVE ) )
145+ .build() .findIds()
138146
139147 // find others
140- val missingSectionIds = standardOperation().query {
141- notIn (SectionEntity_ .entityId, existingSectionIds)
142- } .findIds()
148+ val missingSectionIds = standardOperation()
149+ .query (SectionEntity_ .entityId.notOneOf( existingSectionIds) )
150+ .build() .findIds()
143151
144152 standardOperation().removeByIds(missingSectionIds.toList())
145153
146154 // remove stale documents
147- val existingDocumentIds = documentPersistenceManager.standardOperation().query {
148- ` in ` (DocumentEntity_ .id, documentIds.toTypedArray(), QueryBuilder .StringOrder .CASE_INSENSITIVE )
149- } .findIds()
155+ val existingDocumentIds = documentPersistenceManager.standardOperation()
156+ .query (DocumentEntity_ .id.oneOf( documentIds.toTypedArray(), QueryBuilder .StringOrder .CASE_INSENSITIVE ) )
157+ .build() .findIds()
150158
151159 // find others
152- val missingDocumentIds = documentPersistenceManager.standardOperation().query {
153- notIn (DocumentEntity_ .entityId, existingDocumentIds)
154- } .findIds()
160+ val missingDocumentIds = documentPersistenceManager.standardOperation()
161+ .query (DocumentEntity_ .entityId.notOneOf( existingDocumentIds) )
162+ .build() .findIds()
155163
156164 documentPersistenceManager.standardOperation().removeByIds(missingDocumentIds.toList())
157165
158166 // remove stale resources
159- val existingResourceIds = resourcePersistenceManager.standardOperation().query {
160- ` in ` (ResourceEntity_ .id, resourceIds.toTypedArray(), QueryBuilder .StringOrder .CASE_INSENSITIVE )
161- } .findIds()
167+ val existingResourceIds = resourcePersistenceManager.standardOperation()
168+ .query (ResourceEntity_ .id.oneOf( resourceIds.toTypedArray(), QueryBuilder .StringOrder .CASE_INSENSITIVE ) )
169+ .build() .findIds()
162170
163171 // find others
164- val missingResourceIds = resourcePersistenceManager.standardOperation().query {
165- notIn (ResourceEntity_ .entityId, existingResourceIds)
166- } .findIds()
172+ val missingResourceIds = resourcePersistenceManager.standardOperation()
173+ .query (ResourceEntity_ .entityId.notOneOf( existingResourceIds) )
174+ .build() .findIds()
167175
168176 resourcePersistenceManager.standardOperation().removeByIds(missingResourceIds.toList())
169177 }
@@ -174,9 +182,9 @@ class SectionPersistenceManager @Inject constructor(
174182 * @param sectionId ID of the section
175183 */
176184 fun delete (sectionId : String ) {
177- val existingSectionIds = standardOperation().query {
178- equal (SectionEntity_ .id, sectionId, QueryBuilder .StringOrder .CASE_INSENSITIVE )
179- } .findIds()
185+ val existingSectionIds = standardOperation()
186+ .query (SectionEntity_ .id.equal( sectionId, QueryBuilder .StringOrder .CASE_INSENSITIVE ) )
187+ .build() .findIds()
180188
181189 standardOperation().removeByIds(existingSectionIds.toList())
182190 }
0 commit comments