[
https://issues.apache.org/jira/browse/SYNCOPE-1533?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Francesco Chicchiriccò resolved SYNCOPE-1533.
---------------------------------------------
Resolution: Fixed
> Broken backward compatibilty because of changes in Equals and HashCode
> methods in TOs
> -------------------------------------------------------------------------------------
>
> Key: SYNCOPE-1533
> URL: https://issues.apache.org/jira/browse/SYNCOPE-1533
> Project: Syncope
> Issue Type: Bug
> Components: core
> Affects Versions: 2.1.5
> Reporter: Dmitriy B.
> Assignee: Francesco Chicchiriccò
> Priority: Major
> Fix For: 2.1.6, 3.0.0
>
> Time Spent: 20m
> Remaining Estimate: 0h
>
> Starting from Syncope 2.1.X the contract of *equals* and *hashCode* methods
> has changed in transfer objects (TOs). It was done to improve the performance
> as previously they used the reflection. Some of models have an explicit
> declaration of equals and hashCode and the behavior remained as in 2.0.X
> version of Apache Syncope.
> Here is the list of models for which the calculation of equals and hashCode
> has changed:
> 1. org.apache.syncope.client.console.widgets.reconciliation.Any
> 2. org.apache.syncope.client.console.widgets.reconciliation.Anys
> 3. org.apache.syncope.client.console.widgets.reconciliation.Misaligned
> 4. org.apache.syncope.client.console.widgets.reconciliation.Missing
> 5.
> org.apache.syncope.client.console.widgets.reconciliation.ReconciliationReport
> 6. org.apache.syncope.common.lib.info.PlatformInfo
> 7. org.apache.syncope.common.lib.info.SystemInfo
> 8. org.apache.syncope.common.lib.log.LogAppender
> 9. org.apache.syncope.common.lib.patch.ResourceDeassociationPatch
> 10. org.apache.syncope.common.lib.policy.DefaultAccountRuleConf
> 11. org.apache.syncope.common.lib.policy.PolicyTO
> 12. org.apache.syncope.common.lib.policy.AccountPolicyTO
> 13. org.apache.syncope.common.lib.policy.PasswordPolicyTO
> 14. org.apache.syncope.common.lib.policy.ProvisioningPolicyTO
> 15. org.apache.syncope.common.lib.policy.PullPolicyTO
> 16. org.apache.syncope.common.lib.report.AbstractAnyReportletConf
> 17. org.apache.syncope.common.lib.report.AbstractReportletConf
> 18. org.apache.syncope.common.lib.report.AuditReportletConf
> 19. org.apache.syncope.common.lib.report.GroupReportletConf
> 20. org.apache.syncope.common.lib.report.ReconciliationReportletConf
> 21. org.apache.syncope.common.lib.report.StaticReportletConf
> 22. org.apache.syncope.common.lib.report.UserReportletConf
> 23. org.apache.syncope.common.lib.to.AccessTokenTO
> 24. org.apache.syncope.common.lib.to.AnyTypeClassTO
> 25. org.apache.syncope.common.lib.to.AnyTypeTO
> 26. org.apache.syncope.common.lib.to.CamelMetrics
> 27. org.apache.syncope.common.lib.to.CamelRouteTO
> 28. org.apache.syncope.common.lib.to.ConnIdObjectClassTO
> 29. org.apache.syncope.common.lib.to.ConnInstanceTO
> 30. org.apache.syncope.common.lib.to.ConnPoolConfTO
> 31. org.apache.syncope.common.lib.to.DomainTO
> 32. org.apache.syncope.common.lib.to.DynRealmTO
> 33. org.apache.syncope.common.lib.to.ErrorTO
> 34. org.apache.syncope.common.lib.to.ItemTO
> 35. org.apache.syncope.common.lib.to.JobTO
> 36. org.apache.syncope.common.lib.to.MailTemplateTO
> 37. org.apache.syncope.common.lib.to.MappingTO
> 38. org.apache.syncope.common.lib.to.OIDCLoginRequestTO
> 39. org.apache.syncope.common.lib.to.OIDCLoginResponseTO
> 40. org.apache.syncope.common.lib.to.OIDCLogoutRequestTO
> 41. org.apache.syncope.common.lib.to.OIDCProviderTO
> 42. org.apache.syncope.common.lib.to.OrgUnitTO
> 43. org.apache.syncope.common.lib.to.ProvisionTO
> 44. org.apache.syncope.common.lib.to.RealmTO
> 45. org.apache.syncope.common.lib.to.ReconStatus
> 46. org.apache.syncope.common.lib.to.RelationshipTypeTO
> 47. org.apache.syncope.common.lib.to.ReportTemplateTO
> 48. org.apache.syncope.common.lib.to.ResourceTO
> 49. org.apache.syncope.common.lib.to.RoleTO
> 50. org.apache.syncope.common.lib.to.SAML2IdPTO
> 51. org.apache.syncope.common.lib.to.SAML2LoginResponseTO
> 52. org.apache.syncope.common.lib.to.SAML2ReceivedResponseTO
> 53. org.apache.syncope.common.lib.to.SAML2RequestTO
> 54. org.apache.syncope.common.rest.api.beans.AbstractQuery
> 55. org.apache.syncope.common.rest.api.beans.AccessTokenQuery
> 56. org.apache.syncope.common.rest.api.beans.AnyQuery
> 57. org.apache.syncope.common.rest.api.beans.ExecQuery
> 58. org.apache.syncope.common.rest.api.beans.ExecuteQuery
> 59. org.apache.syncope.common.rest.api.beans.SchemaQuery
> 60. org.apache.syncope.common.rest.api.beans.TaskQuery
> 61. org.apache.syncope.fit.core.reference.TestAccountRuleConf
> 62. org.apache.syncope.fit.core.reference.TestPasswordRuleConf
> To preserve the previous behavior and don't break the backward compatibility
> *equals* and *hashCode* should be overwritten using the for
> _org.apache.commons.lang3.builder.EqualsBuilder_ and
> _org.apache.commons.lang3.builder.HashCodeBuilder_ .
> See
> [https://lists.apache.org/thread.html/0111d8468ee529a02a82dc3d6e1db5a0b21b2409102c526048c0b4fe%40%3Cdev.syncope.apache.org%3E]
> for details.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)