package model.manager.excel.reports.in;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import model.manager.AdministrationManager;
import model.manager.excel.interfaces.SessionBasedImportConverter;
import org.celllife.idart.database.hibernate.Clinic;
import org.celllife.idart.database.hibernate.User;
import org.hibernate.Session;
public class ClinicConverter implements SessionBasedImportConverter<Clinic> {
private Session session;
private List<Clinic> clinics;
private List<User> userList;
@Override
public Clinic convert(String rawValue) {
for (Clinic c : clinics) {
if (c.getClinicName().equalsIgnoreCase(rawValue)) {
return c;
}
}
Clinic newClinic = new Clinic();
newClinic.setClinicName(rawValue);
newClinic.setMainClinic(false);
Set<User> users = new HashSet<User>();
users.addAll(userList);
newClinic.setUsers(users);
session.save(newClinic);
session.flush();
clinics.add(newClinic);
return newClinic;
}
@Override
public void initialise(Session hsession) {
this.session = hsession;
this.clinics = AdministrationManager.getClinics(session);
this.userList = AdministrationManager.getUsers(session);
}
@Override
public String getDescription() {
return "A clinic name";
}
}