1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.kuali.rice.krad.rules.rule.event;
17
18 import org.apache.commons.lang.StringUtils;
19 import org.apache.log4j.Logger;
20 import org.kuali.rice.krad.document.Document;
21 import org.kuali.rice.krad.util.KRADPropertyConstants;
22
23 import java.util.ArrayList;
24 import java.util.List;
25
26
27
28
29
30
31 abstract public class DocumentEventBase extends RuleEventBase implements DocumentEvent {
32 private static final Logger LOG = Logger.getLogger(DocumentEventBase.class);
33
34 protected Document document;
35
36
37
38
39
40
41
42
43 protected DocumentEventBase(String description, String errorPathPrefix) {
44 super( description, errorPathPrefix );
45 }
46
47
48
49
50
51
52
53
54 public DocumentEventBase(String description, String errorPathPrefix, Document document) {
55 super( description, errorPathPrefix );
56 this.document = document;
57
58 LOG.debug(description);
59 }
60
61
62
63
64 public final Document getDocument() {
65 return document;
66 }
67
68
69
70
71 @Override
72 public void validate() {
73 if (getDocument() == null) {
74 throw new IllegalArgumentException("invalid (null) event document");
75 }
76 }
77
78
79
80
81
82
83
84
85
86 protected static String getDocumentId(Document document) {
87 String docId = "(null document)";
88
89 if (document != null) {
90 String documentNumber = document.getDocumentNumber();
91 if (StringUtils.isBlank(documentNumber)) {
92 docId = "(blank " + KRADPropertyConstants.DOCUMENT_NUMBER + ")";
93 } else {
94 docId = documentNumber;
95 }
96 }
97
98 return docId;
99 }
100 }