| Michael Hanl | ca740d7 | 2015-06-16 10:04:58 +0200 | [diff] [blame] | 1 | package de.ids_mannheim.korap.exceptions; |
| 2 | |
| 3 | import de.ids_mannheim.korap.auditing.AuditRecord; |
| 4 | |
| 5 | import java.util.Arrays; |
| 6 | |
| 7 | /** |
| 8 | * @author hanl |
| 9 | * @date 08/04/2015 |
| 10 | */ |
| margaretha | 82c061e | 2017-04-18 18:03:11 +0200 | [diff] [blame] | 11 | public class DatabaseException extends KustvaktException { |
| Michael Hanl | ca740d7 | 2015-06-16 10:04:58 +0200 | [diff] [blame] | 12 | |
| margaretha | 82c061e | 2017-04-18 18:03:11 +0200 | [diff] [blame] | 13 | private DatabaseException (Object userid, Integer status, String message, |
| Michael Hanl | 8abaf9e | 2016-05-23 16:46:35 +0200 | [diff] [blame] | 14 | String args) { |
| Michael Hanl | ca740d7 | 2015-06-16 10:04:58 +0200 | [diff] [blame] | 15 | super(String.valueOf(userid), status, message, args); |
| 16 | } |
| 17 | |
| Michael Hanl | 8abaf9e | 2016-05-23 16:46:35 +0200 | [diff] [blame] | 18 | |
| margaretha | 82c061e | 2017-04-18 18:03:11 +0200 | [diff] [blame] | 19 | public DatabaseException (Object userid, String target, Integer status, String message, |
| Michael Hanl | 8abaf9e | 2016-05-23 16:46:35 +0200 | [diff] [blame] | 20 | String ... args) { |
| margaretha | 7e16d6f | 2017-04-18 18:01:59 +0200 | [diff] [blame] | 21 | this(userid, status, message, Arrays.asList(args).toString()); |
| Michael Hanl | ca740d7 | 2015-06-16 10:04:58 +0200 | [diff] [blame] | 22 | 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 Hanl | 8abaf9e | 2016-05-23 16:46:35 +0200 | [diff] [blame] | 30 | |
| margaretha | 82c061e | 2017-04-18 18:03:11 +0200 | [diff] [blame] | 31 | public DatabaseException (KustvaktException e, Integer status, String ... args) { |
| Michael Hanl | ca740d7 | 2015-06-16 10:04:58 +0200 | [diff] [blame] | 32 | this(e.getUserid(), e.getStatusCode(), e.getMessage(), e.getEntity()); |
| Michael Hanl | 8abaf9e | 2016-05-23 16:46:35 +0200 | [diff] [blame] | 33 | AuditRecord record = AuditRecord.dbRecord(e.getUserid(), status, args); |
| Michael Hanl | 00ef546 | 2016-06-06 17:39:59 +0200 | [diff] [blame] | 34 | record.setField_1(e.string()); |
| Michael Hanl | ca740d7 | 2015-06-16 10:04:58 +0200 | [diff] [blame] | 35 | this.records.addAll(e.getRecords()); |
| 36 | this.records.add(record); |
| 37 | } |
| 38 | |
| Michael Hanl | 8abaf9e | 2016-05-23 16:46:35 +0200 | [diff] [blame] | 39 | |
| Michael Hanl | ca740d7 | 2015-06-16 10:04:58 +0200 | [diff] [blame] | 40 | @Override |
| Michael Hanl | 00ef546 | 2016-06-06 17:39:59 +0200 | [diff] [blame] | 41 | public String string () { |
| Michael Hanl | 8abaf9e | 2016-05-23 16:46:35 +0200 | [diff] [blame] | 42 | return "DBExcpt{" + "status=" + getStatusCode() + ", message=" |
| 43 | + getMessage() + ", args=" + getEntity() + ", userid=" |
| 44 | + this.getUserid() + '}'; |
| Michael Hanl | ca740d7 | 2015-06-16 10:04:58 +0200 | [diff] [blame] | 45 | } |
| 46 | } |