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

Reply via email to