package fi.otavanopisto.pyramus.util.dataimport;
import java.util.HashMap;
import java.util.Map;
import fi.otavanopisto.pyramus.dao.DAOFactory;
import fi.otavanopisto.pyramus.dao.users.StaffMemberDAO;
import fi.otavanopisto.pyramus.domainmodel.users.User;
@SuppressWarnings("rawtypes")
public class DataImportContext {
public DataImportContext(Long loggedUserId) {
this.loggedUserId = loggedUserId;
}
public Object getEntity(Class c) {
return entities.get(c);
}
public void setEntity(Object entity) {
entities.put(entity.getClass(), entity);
}
public Object[] getEntities() {
return entities.values().toArray();
}
public void addEntity(Class c, Object entity) {
entities.put(c, entity);
}
public void setFields(String[] firstLine) {
this.fields = firstLine;
}
public String[] getFirstLine() {
return this.fields;
}
public boolean hasField(String fieldName) {
if (this.fields != null) {
for (int i = 0; i < this.fields.length; i++) {
if (fieldName.equals(this.fields[i]))
return true;
}
}
return false;
}
public void setFieldValues(String[] values) {
this.values = values;
}
public String[] getFieldValues() {
return this.values;
}
public String getFieldValue(String fieldName) {
if (this.fields != null && this.values != null && this.fields.length == this.values.length) {
for (int i = 0; i < this.fields.length; i++) {
if (fieldName.equals(this.fields[i]))
return this.values[i];
}
}
return null;
}
public User getLoggedUser() {
StaffMemberDAO userDAO = DAOFactory.getInstance().getStaffMemberDAO();
this.loggedUser = userDAO.findById(this.loggedUserId);
return loggedUser;
}
private Map<Class, Object> entities = new HashMap<>();
private String[] fields;
private String[] values;
private User loggedUser;
private Long loggedUserId;
}