blob: 26190cc848575afaa8ae4af734dde3d98c9e89c0 [file] [log] [blame]
package de.ids_mannheim.korap.exceptions;
import de.ids_mannheim.korap.auditing.AuditRecord;
import java.util.Arrays;
/**
* @author hanl
* @date 08/04/2015
*/
public class DatabaseException extends KustvaktException {
private DatabaseException (Object userid, Integer status, String message,
String args, Exception e) {
super(String.valueOf(userid), status, message, args, e);
}
public DatabaseException (Object userid, String target, Integer status, String message,
String ... args) {
this(null, userid, target, status, message);
}
public DatabaseException (Exception e, Object userid, String target, Integer status, String message,
String ... args) {
this(userid, status, message, Arrays.asList(args).toString(), e);
AuditRecord record = new AuditRecord(AuditRecord.CATEGORY.DATABASE);
record.setUserid(String.valueOf(userid));
record.setStatus(status);
record.setTarget(target);
record.setArgs(this.getEntity());
this.records.add(record);
}
public DatabaseException (KustvaktException e, Integer status, String ... args) {
this(e.getUserid(), e.getStatusCode(), e.getMessage(), e.getEntity(), e);
AuditRecord record = AuditRecord.dbRecord(e.getUserid(), status, args);
record.setField_1(e.string());
this.records.addAll(e.getRecords());
this.records.add(record);
}
@Override
public String string () {
return "DBExcpt{" + "status=" + getStatusCode() + ", message="
+ getMessage() + ", args=" + getEntity() + ", userid="
+ this.getUserid() + '}';
}
}