package com.intrbiz.bergamot.importer;
import java.io.Serializable;
import java.util.EnumSet;
import java.util.LinkedList;
import java.util.List;
import com.intrbiz.bergamot.model.BergamotObject;
import com.intrbiz.bergamot.model.Contact;
import com.intrbiz.bergamot.model.message.importer.BergamotImportReportMO;
public class BergamotImportReport extends BergamotObject<BergamotImportReportMO> implements Serializable
{
private static final long serialVersionUID = 1L;
private final String site;
private boolean successful = true;
private List<String> info = new LinkedList<String>();
private List<String> errors = new LinkedList<String>();
public BergamotImportReport(String site)
{
super();
this.site = site;
}
public String getSite()
{
return this.site;
}
public boolean isSuccessful()
{
return successful;
}
public List<String> getInfo()
{
return this.info;
}
public List<String> getErrors()
{
return this.errors;
}
public void error(String message)
{
this.successful = false;
this.errors.add(message);
}
public void info(String message)
{
this.info.add(message);
}
public String toString()
{
StringBuilder sb = new StringBuilder();
sb.append("The import was ").append(this.isSuccessful() ? "successful." : "unsuccessful!").append("\n");
for (String error : this.errors)
{
sb.append("Error: ").append(error).append("\n");
}
for (String info : this.info)
{
sb.append("Info: ").append(info).append("\n");
}
return sb.toString();
}
@Override
public BergamotImportReportMO toMO(Contact contact, EnumSet<MOFlag> options)
{
BergamotImportReportMO mo = new BergamotImportReportMO();
mo.setSite(this.site);
mo.setSuccessful(this.successful);
mo.setInfo(this.info);
mo.setErrors(this.errors);
return mo;
}
}