package net.techreadiness.batch.user;
import javax.inject.Inject;
import net.techreadiness.batch.BaseItemProcessor;
import net.techreadiness.persistence.domain.UserDO;
import net.techreadiness.persistence.domain.UserOrgDO;
import net.techreadiness.persistence.domain.UserRoleDO;
import net.techreadiness.service.object.User;
import net.techreadiness.service.object.mapping.MappingService;
import org.springframework.batch.item.ItemProcessor;
public class UserDOToDataProcessor extends BaseItemProcessor implements ItemProcessor<UserDO, UserData> {
@Inject
private MappingService mappingService;
@Override
public UserData process(UserDO item) throws Exception {
UserData userData = new UserData();
User user = mappingService.map(item);
userData.setUser(user);
if (user.getDeleteDate() == null) {
userData.setAction("u");
} else {
userData.setAction("d");
}
for (UserOrgDO userOrg : item.getUserOrgs()) {
userData.getOrgCodes().add(userOrg.getOrg().getLocalCode());
userData.setStateCode(userOrg.getOrg().getState());// User should not be authorized for orgs in more than one
// state, they should all be equal
}
for (UserRoleDO userRole : item.getUserRoles()) {
userData.getRoleCodes().add(userRole.getRole().getCode());
}
return userData;
}
}