[ 
https://issues.apache.org/jira/browse/SYNCOPE-1533?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17015178#comment-17015178
 ] 

Dmitriy B. commented on SYNCOPE-1533:
-------------------------------------

I overrode methods for:



1.org.apache.syncope.common.lib.to.AccessTokenTO
2.org.apache.syncope.common.lib.to.AnyTypeTO
3.org.apache.syncope.common.lib.to.ConnInstanceTO
4.org.apache.syncope.common.lib.to.ConnPoolConfTO
5.org.apache.syncope.common.lib.to.DomainTO
6.org.apache.syncope.common.lib.to.ItemTO
7.org.apache.syncope.common.lib.to.MailTemplateTO
8.org.apache.syncope.common.lib.to.MappingTO
9.org.apache.syncope.common.lib.to.OrgUnitTO
10.org.apache.syncope.common.lib.to.ProvisionTO
11.org.apache.syncope.common.lib.to.RealmTO
12.org.apache.syncope.common.lib.to.ResourceTO
13.org.apache.syncope.common.lib.to.RoleTO
14.org.apache.syncope.common.rest.api.beans.AbstractQuery
15.org.apache.syncope.common.rest.api.beans.AnyQuery 
16.org.apache.syncope.common.rest.api.beans.ExecQuery
17.org.apache.syncope.common.rest.api.beans.ExecuteQuery
18.org.apache.syncope.common.rest.api.beans.SchemaQuery

> 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
>          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_ .



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to