You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@syncope.apache.org by "Francesco Chicchiriccò (Jira)" <ji...@apache.org> on 2020/01/14 16:02:00 UTC

[jira] [Assigned] (SYNCOPE-1533) Broken backward compatibilty because of changes in Equals and HashCode methods in TOs

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

Francesco Chicchiriccò reassigned SYNCOPE-1533:
-----------------------------------------------

    Assignee: Francesco Chicchiriccò

> 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: 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)