Hi Francesco, I put these interfaces in the beans package as they are referenced by classes in persistence. You are right that they should go to a better named package. The problem with core.sync and core.propagation is that these packages have heavy dependencies to most other parts of the system.
So for example SyncActions is referenced by org.apache.syncope.core.persistence.validation.entity.SyncTaskValidator. So if it is moved to core.sync then this will cause a cycle with persistence. SyncResult is referenced by SyncActions. PropagationActions is referenced by org.apache.syncope.core.persistence.validation.entity.ExternalResourceValidator. So basically the validation classes cause the cycles. So I moved these classes / interfaces near classes that have a lot to do with them. Another aproach would be to move validation out of peristence and avoid all references from persistence classes to validation but this is much more difficult to achieve. I have attached the structure 101 diagram of syncope core so you can see the current dependencies. Christian On 16.01.2013 15:10, Francesco Chicchiriccò wrote: > Hi all, > while reviewing some wiki pages, I've unexpectedly found that > PropagationActions, SyncActions and SyncResult were put in package > org.apache.syncope.core.persistence.beans > > This package, as its name suggests, is meant for JPA entities, not for > interfaces having their own package (org.apache.syncope.core.sync and > org.apache.syncope.core.propagation). > > If you don't have objections, I'll move back in the right package. > > Regards. >
