blob: 702bf4bde6fa4ae6c0d3ae8775140190c90bd851 [file] [log] [blame]
Michael Hanlca740d72015-06-16 10:04:58 +02001package de.ids_mannheim.korap.exceptions;
2
3import de.ids_mannheim.korap.auditing.AuditRecord;
4
5import java.util.Arrays;
6
7/**
8 * @author hanl
9 * @date 08/04/2015
10 */
margaretha82c061e2017-04-18 18:03:11 +020011public class DatabaseException extends KustvaktException {
Michael Hanlca740d72015-06-16 10:04:58 +020012
margaretha82c061e2017-04-18 18:03:11 +020013 private DatabaseException (Object userid, Integer status, String message,
Michael Hanl8abaf9e2016-05-23 16:46:35 +020014 String args) {
Michael Hanlca740d72015-06-16 10:04:58 +020015 super(String.valueOf(userid), status, message, args);
16 }
17
Michael Hanl8abaf9e2016-05-23 16:46:35 +020018
margaretha82c061e2017-04-18 18:03:11 +020019 public DatabaseException (Object userid, String target, Integer status, String message,
Michael Hanl8abaf9e2016-05-23 16:46:35 +020020 String ... args) {
margaretha7e16d6f2017-04-18 18:01:59 +020021 this(userid, status, message, Arrays.asList(args).toString());
Michael Hanlca740d72015-06-16 10:04:58 +020022 AuditRecord record = new AuditRecord(AuditRecord.CATEGORY.DATABASE);
23 record.setUserid(String.valueOf(userid));
24 record.setStatus(status);
25 record.setTarget(target);
26 record.setArgs(this.getEntity());
27 this.records.add(record);
28 }
29
Michael Hanl8abaf9e2016-05-23 16:46:35 +020030
margaretha82c061e2017-04-18 18:03:11 +020031 public DatabaseException (KustvaktException e, Integer status, String ... args) {
Michael Hanlca740d72015-06-16 10:04:58 +020032 this(e.getUserid(), e.getStatusCode(), e.getMessage(), e.getEntity());
Michael Hanl8abaf9e2016-05-23 16:46:35 +020033 AuditRecord record = AuditRecord.dbRecord(e.getUserid(), status, args);
Michael Hanl00ef5462016-06-06 17:39:59 +020034 record.setField_1(e.string());
Michael Hanlca740d72015-06-16 10:04:58 +020035 this.records.addAll(e.getRecords());
36 this.records.add(record);
37 }
38
Michael Hanl8abaf9e2016-05-23 16:46:35 +020039
Michael Hanlca740d72015-06-16 10:04:58 +020040 @Override
Michael Hanl00ef5462016-06-06 17:39:59 +020041 public String string () {
Michael Hanl8abaf9e2016-05-23 16:46:35 +020042 return "DBExcpt{" + "status=" + getStatusCode() + ", message="
43 + getMessage() + ", args=" + getEntity() + ", userid="
44 + this.getUserid() + '}';
Michael Hanlca740d72015-06-16 10:04:58 +020045 }
46}