27 lines
949 B
Java
27 lines
949 B
Java
package eu.eudat.integrationevent.inbox.userremoval;
|
|
|
|
import eu.eudat.integrationevent.inbox.ConsistencyHandler;
|
|
import eu.eudat.query.UserQuery;
|
|
import gr.cite.tools.data.query.QueryFactory;
|
|
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
|
|
import org.springframework.context.annotation.Scope;
|
|
import org.springframework.stereotype.Component;
|
|
|
|
@Component
|
|
@Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE)
|
|
public class UserRemovalConsistencyHandler implements ConsistencyHandler<UserRemovalConsistencyPredicates> {
|
|
|
|
private final QueryFactory queryFactory;
|
|
|
|
public UserRemovalConsistencyHandler(QueryFactory queryFactory) {
|
|
this.queryFactory = queryFactory;
|
|
}
|
|
|
|
@Override
|
|
public Boolean isConsistent(UserRemovalConsistencyPredicates consistencyPredicates) {
|
|
long count = this.queryFactory.query(UserQuery.class).ids(consistencyPredicates.getUserId()).count();
|
|
if (count == 0) return false;
|
|
return true;
|
|
}
|
|
}
|