Skip to content

Commit 77161d0

Browse files
authored
Merge pull request #246 from micromata/Release-8.1-SNAPSHOT
Release 8.1 snapshot Dealing with corrupted JCR repos (doc), json serialization and deserialization refactored. Jackson deserialization errors fixed.
2 parents 6306bd6 + 06a456e commit 77161d0

76 files changed

Lines changed: 1789 additions & 1090 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

ToDo.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Aktuell:
22
- Scripting: Ergebnis Unresolved reference 'memo', 'todo'.: line 94 to 94 (add only activated plugins)
3-
3+
- JsonValidatorTest anpassen.
44
- Groovy-scripts: remove or fix.
55
- AG-Grid: setColumnStates wird nicht in den UserPrefs gespeichert.
66
- Wicket: Auftragsbuch: org.apache.wicket.core.request.mapper.StalePageException: A request to page '[Page class = org.projectforge.web.fibu.AuftragEditPage, id = 9, render count = 3]' has been made with stale 'renderCount'. The page will be re-rendered.

plugins/org.projectforge.plugins.banking/src/main/kotlin/org/projectforge/plugins/banking/BankAccountBalanceDO.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,14 @@
2323

2424
package org.projectforge.plugins.banking
2525

26+
import com.fasterxml.jackson.databind.annotation.JsonSerialize
2627
import jakarta.persistence.*
2728
import org.hibernate.search.mapper.pojo.automaticindexing.ReindexOnUpdate
2829
import org.hibernate.search.mapper.pojo.mapping.definition.annotation.*
2930
import org.projectforge.Constants
3031
import org.projectforge.common.anots.PropertyInfo
3132
import org.projectforge.common.props.PropertyType
33+
import org.projectforge.framework.json.IdOnlySerializer
3234
import org.projectforge.framework.persistence.entities.DefaultBaseDO
3335
import java.math.BigDecimal
3436
import java.time.LocalDate
@@ -53,6 +55,7 @@ open class BankAccountBalanceDO : DefaultBaseDO() {
5355
@IndexingDependency(reindexOnUpdate = ReindexOnUpdate.SHALLOW)
5456
@get:ManyToOne(fetch = FetchType.LAZY)
5557
@get:JoinColumn(name = "banking_account_fk", nullable = false)
58+
@JsonSerialize(using = IdOnlySerializer::class)
5659
open var bankAccount: BankAccountDO? = null
5760

5861
@PropertyInfo(i18nKey = "plugins.banking.account.record.amount", type = PropertyType.CURRENCY)

plugins/org.projectforge.plugins.banking/src/main/kotlin/org/projectforge/plugins/banking/BankAccountRecordDO.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323

2424
package org.projectforge.plugins.banking
2525

26+
import com.fasterxml.jackson.databind.annotation.JsonSerialize
2627
import jakarta.persistence.*
2728
import org.apache.commons.codec.digest.DigestUtils
2829
import org.hibernate.search.mapper.pojo.automaticindexing.ReindexOnUpdate
@@ -31,6 +32,7 @@ import org.projectforge.Constants
3132
import org.projectforge.common.StringHelper
3233
import org.projectforge.common.anots.PropertyInfo
3334
import org.projectforge.common.props.PropertyType
35+
import org.projectforge.framework.json.IdOnlySerializer
3436
import org.projectforge.framework.persistence.entities.DefaultBaseDO
3537
import org.projectforge.framework.time.PFDay
3638
import java.math.BigDecimal
@@ -56,6 +58,7 @@ open class BankAccountRecordDO : DefaultBaseDO() {
5658
@IndexingDependency(reindexOnUpdate = ReindexOnUpdate.SHALLOW)
5759
@get:ManyToOne(fetch = FetchType.LAZY)
5860
@get:JoinColumn(name = "banking_account_fk", nullable = false)
61+
@JsonSerialize(using = IdOnlySerializer::class)
5962
open var bankAccount: BankAccountDO? = null
6063

6164
@PropertyInfo(i18nKey = "plugins.banking.account.record.amount", type = PropertyType.CURRENCY)

plugins/org.projectforge.plugins.datatransfer/src/main/kotlin/org/projectforge/plugins/datatransfer/DataTransferAuditDO.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
package org.projectforge.plugins.datatransfer
2525

2626
import com.fasterxml.jackson.annotation.JsonProperty
27+
import com.fasterxml.jackson.databind.annotation.JsonSerialize
2728
import org.hibernate.search.mapper.pojo.mapping.definition.annotation.Indexed
2829
import org.projectforge.Constants
2930
import org.projectforge.framework.i18n.TimeAgo
@@ -32,6 +33,7 @@ import org.projectforge.framework.jcr.AttachmentsEventType
3233
import org.projectforge.framework.persistence.user.entities.PFUserDO
3334
import java.util.*
3435
import jakarta.persistence.*
36+
import org.projectforge.framework.json.IdOnlySerializer
3537

3638
/**
3739
* @author Kai Reinhard (k.reinhard@micromata.de)
@@ -84,6 +86,7 @@ open class DataTransferAuditDO {
8486

8587
@get:ManyToOne(fetch = FetchType.LAZY)
8688
@get:JoinColumn(name = "by_user_fk")
89+
@JsonSerialize(using = IdOnlySerializer::class)
8790
open var byUser: PFUserDO? = null
8891

8992
@get:Column(name = "by_external_user", length = 4000)
@@ -109,6 +112,7 @@ open class DataTransferAuditDO {
109112
*/
110113
@get:ManyToOne(fetch = FetchType.LAZY)
111114
@get:JoinColumn(name = "upload_by_user_fk")
115+
@JsonSerialize(using = IdOnlySerializer::class)
112116
open var uploadByUser: PFUserDO? = null
113117

114118
@get:Column(length = 1000)

plugins/org.projectforge.plugins.marketing/src/main/kotlin/org/projectforge/plugins/marketing/AddressCampaignValueDO.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323

2424
package org.projectforge.plugins.marketing
2525

26+
import com.fasterxml.jackson.databind.annotation.JsonSerialize
2627
import org.hibernate.search.mapper.pojo.mapping.definition.annotation.Indexed
2728
import org.hibernate.search.mapper.pojo.mapping.definition.annotation.IndexedEmbedded
2829
import org.projectforge.business.address.AddressDO
@@ -32,6 +33,7 @@ import org.projectforge.framework.persistence.entities.DefaultBaseDO
3233
import jakarta.persistence.*
3334
import org.hibernate.search.mapper.pojo.automaticindexing.ReindexOnUpdate
3435
import org.hibernate.search.mapper.pojo.mapping.definition.annotation.IndexingDependency
36+
import org.projectforge.framework.json.IdOnlySerializer
3537

3638
/**
3739
* A marketing campaign.
@@ -68,12 +70,14 @@ open class AddressCampaignValueDO : DefaultBaseDO() {
6870
@IndexingDependency(reindexOnUpdate = ReindexOnUpdate.SHALLOW)
6971
@get:ManyToOne(fetch = FetchType.LAZY)
7072
@get:JoinColumn(name = "address_campaign_fk", nullable = false)
73+
@JsonSerialize(using = IdOnlySerializer::class)
7174
open var addressCampaign: AddressCampaignDO? = null
7275

7376
@IndexedEmbedded(includeDepth = 1)
7477
@IndexingDependency(reindexOnUpdate = ReindexOnUpdate.SHALLOW)
7578
@get:ManyToOne(fetch = FetchType.LAZY)
7679
@get:JoinColumn(name = "address_fk", nullable = false)
80+
@JsonSerialize(using = IdOnlySerializer::class)
7781
open var address: AddressDO? = null
7882

7983
@PropertyInfo(i18nKey = "value")

plugins/org.projectforge.plugins.memo/src/main/kotlin/org/projectforge/plugins/memo/MemoDO.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,15 @@
2323

2424
package org.projectforge.plugins.memo
2525

26+
import com.fasterxml.jackson.databind.annotation.JsonSerialize
2627
import org.hibernate.search.mapper.pojo.mapping.definition.annotation.Indexed
2728
import org.projectforge.common.anots.PropertyInfo
2829
import org.projectforge.Constants
2930
import org.projectforge.framework.persistence.entities.AbstractBaseDO
3031
import org.projectforge.framework.persistence.user.entities.PFUserDO
3132
import jakarta.persistence.*
3233
import org.hibernate.search.mapper.pojo.mapping.definition.annotation.FullTextField
34+
import org.projectforge.framework.json.IdOnlySerializer
3335

3436
/**
3537
* This data object is the Java representation of a data-base entry of a memo.<br></br>
@@ -59,6 +61,7 @@ open class MemoDO : AbstractBaseDO<Long>() {
5961
@PropertyInfo(i18nKey = "plugins.memo.owner")
6062
@get:ManyToOne(fetch = FetchType.LAZY)
6163
@get:JoinColumn(name = "owner_fk")
64+
@JsonSerialize(using = IdOnlySerializer::class)
6265
open var owner: PFUserDO? = null
6366

6467
@PropertyInfo(i18nKey = "plugins.memo.memo")

plugins/org.projectforge.plugins.skillmatrix/src/main/kotlin/org/projectforge/plugins/skillmatrix/SkillEntryDO.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323

2424
package org.projectforge.plugins.skillmatrix
2525

26+
import com.fasterxml.jackson.databind.annotation.JsonSerialize
2627
import org.projectforge.common.StringHelper
2728
import org.projectforge.common.anots.PropertyInfo
2829
import org.projectforge.Constants
@@ -31,6 +32,7 @@ import org.projectforge.framework.persistence.user.entities.PFUserDO
3132
import jakarta.persistence.*
3233
import org.hibernate.search.mapper.pojo.automaticindexing.ReindexOnUpdate
3334
import org.hibernate.search.mapper.pojo.mapping.definition.annotation.*
35+
import org.projectforge.framework.json.IdOnlySerializer
3436

3537
/**
3638
* @author Kai Reinhard (k.reinhard@micromata.de)
@@ -77,6 +79,7 @@ open class SkillEntryDO : AbstractBaseDO<Long>() {
7779
@IndexingDependency(reindexOnUpdate = ReindexOnUpdate.SHALLOW)
7880
@get:ManyToOne(fetch = FetchType.LAZY)
7981
@get:JoinColumn(name = "owner_fk")
82+
@JsonSerialize(using = IdOnlySerializer::class)
8083
open var owner: PFUserDO? = null
8184

8285
/**

plugins/org.projectforge.plugins.todo/src/main/kotlin/org/projectforge/plugins/todo/ToDoDO.kt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323

2424
package org.projectforge.plugins.todo
2525

26+
import com.fasterxml.jackson.databind.annotation.JsonSerialize
2627
import org.projectforge.business.task.TaskDO
2728
import org.projectforge.common.anots.PropertyInfo
2829
import org.projectforge.common.i18n.Priority
@@ -35,6 +36,7 @@ import java.time.LocalDate
3536
import jakarta.persistence.*
3637
import org.hibernate.search.mapper.pojo.automaticindexing.ReindexOnUpdate
3738
import org.hibernate.search.mapper.pojo.mapping.definition.annotation.*
39+
import org.projectforge.framework.json.IdOnlySerializer
3840
import org.projectforge.framework.persistence.history.NoHistory
3941

4042
/**
@@ -57,6 +59,7 @@ open class ToDoDO : DefaultBaseDO() {
5759
@IndexingDependency(reindexOnUpdate = ReindexOnUpdate.SHALLOW)
5860
@get:ManyToOne(fetch = FetchType.LAZY)
5961
@get:JoinColumn(name = "reporter_fk")
62+
@JsonSerialize(using = IdOnlySerializer::class)
6063
open var reporter: PFUserDO? = null
6164

6265
/**
@@ -69,6 +72,7 @@ open class ToDoDO : DefaultBaseDO() {
6972
@IndexingDependency(reindexOnUpdate = ReindexOnUpdate.SHALLOW)
7073
@get:ManyToOne(fetch = FetchType.LAZY)
7174
@get:JoinColumn(name = "assignee_fk")
75+
@JsonSerialize(using = IdOnlySerializer::class)
7276
open var assignee: PFUserDO? = null
7377

7478
@PropertyInfo(i18nKey = "task")
@@ -77,6 +81,7 @@ open class ToDoDO : DefaultBaseDO() {
7781
@IndexingDependency(reindexOnUpdate = ReindexOnUpdate.SHALLOW)
7882
@get:ManyToOne(fetch = FetchType.LAZY)
7983
@get:JoinColumn(name = "task_id", nullable = true)
84+
@JsonSerialize(using = IdOnlySerializer::class)
8085
open var task: TaskDO? = null
8186

8287
/**
@@ -88,6 +93,7 @@ open class ToDoDO : DefaultBaseDO() {
8893
@IndexingDependency(reindexOnUpdate = ReindexOnUpdate.SHALLOW)
8994
@get:ManyToOne(fetch = FetchType.LAZY)
9095
@get:JoinColumn(name = "group_id", nullable = true)
96+
@JsonSerialize(using = IdOnlySerializer::class)
9197
open var group: GroupDO? = null
9298

9399
@PropertyInfo(i18nKey = "description")

0 commit comments

Comments
 (0)