1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.kuali.rice.krad.web.form;
17
18 import org.apache.commons.lang.StringUtils;
19 import org.kuali.rice.core.api.CoreApiServiceLocator;
20 import org.kuali.rice.kew.api.WorkflowDocument;
21 import org.kuali.rice.kim.api.identity.Person;
22 import org.kuali.rice.kim.api.services.KimApiServiceLocator;
23 import org.kuali.rice.krad.document.Document;
24 import org.kuali.rice.krad.service.KRADServiceLocatorWeb;
25
26
27
28
29
30
31 public class DocumentFormBase extends UifFormBase {
32 private static final long serialVersionUID = 2190268505427404480L;
33
34 private static final org.apache.log4j.Logger LOG = org.apache.log4j.Logger.getLogger(DocumentFormBase.class);
35
36 private String annotation = "";
37 private String command;
38
39 private String docId;
40 private String docTypeName;
41
42 protected Document document;
43
44 public DocumentFormBase() {
45 super();
46
47 instantiateDocument();
48 }
49
50 public String getAnnotation() {
51 return this.annotation;
52 }
53
54 public void setAnnotation(String annotation) {
55 this.annotation = annotation;
56 }
57
58 public Document getDocument() {
59 return this.document;
60 }
61
62 public void setDocument(Document document) {
63 this.document = document;
64 }
65
66 public String getDocTypeName() {
67 return this.docTypeName;
68 }
69
70 public void setDocTypeName(String docTypeName) {
71 this.docTypeName = docTypeName;
72 }
73
74 public String getCommand() {
75 return this.command;
76 }
77
78 public void setCommand(String command) {
79 this.command = command;
80 }
81
82 public String getDocId() {
83 return this.docId;
84 }
85
86 public void setDocId(String docId) {
87 this.docId = docId;
88 }
89
90 protected String getDefaultDocumentTypeName() {
91 return "";
92 }
93
94 protected void instantiateDocument() {
95 if (document == null && StringUtils.isNotBlank(getDefaultDocumentTypeName())) {
96 Class<? extends Document> documentClass = KRADServiceLocatorWeb.getDataDictionaryService()
97 .getDocumentClassByTypeName(getDefaultDocumentTypeName());
98 try {
99 Document newDocument = documentClass.newInstance();
100 setDocument(newDocument);
101 } catch (Exception e) {
102 LOG.error("Unable to instantiate document class " + documentClass.getName() + " document type "
103 + getDefaultDocumentTypeName());
104 throw new RuntimeException(e);
105 }
106 }
107 }
108
109
110
111
112
113
114 public String getDocumentInitiatorNetworkId() {
115 String initiatorNetworkId = "";
116 if (getWorkflowDocument() != null) {
117 String initiatorPrincipalId = getWorkflowDocument().getInitiatorPrincipalId();
118 Person initiator = KimApiServiceLocator.getPersonService().getPerson(initiatorPrincipalId);
119 if (initiator != null) {
120 initiatorNetworkId = initiator.getPrincipalName();
121 }
122 }
123
124 return initiatorNetworkId;
125 }
126
127
128
129
130
131
132
133 public String getDocumentCreateDate() {
134 String createDateStr = "";
135 if (getWorkflowDocument() != null && getWorkflowDocument().getDateCreated() != null) {
136 createDateStr = CoreApiServiceLocator.getDateTimeService().toString(
137 getWorkflowDocument().getDateCreated().toDate(), "hh:mm a MM/dd/yyyy");
138 }
139
140 return createDateStr;
141 }
142
143
144
145
146
147
148
149 public WorkflowDocument getWorkflowDocument() {
150 return getDocument().getDocumentHeader().getWorkflowDocument();
151 }
152
153 }