[ 
https://issues.apache.org/jira/browse/SYNCOPE-1533?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Francesco Chicchiriccò updated SYNCOPE-1533:
--------------------------------------------
    Fix Version/s: 3.0.0
                   2.1.6

> 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.
>            Priority: Major
>             Fix For: 2.1.6, 3.0.0
>
>          Time Spent: 10m
>  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)

Reply via email to