1 package org.kuali.ole.describe.controller;
2
3 import com.lowagie.text.*;
4 import com.lowagie.text.pdf.PdfPCell;
5 import com.lowagie.text.pdf.PdfPTable;
6 import com.lowagie.text.pdf.PdfWriter;
7 import org.apache.commons.collections.CollectionUtils;
8 import org.apache.commons.lang.StringUtils;
9 import org.apache.log4j.Logger;
10 import org.kuali.ole.OLEConstants;
11 import org.kuali.ole.describe.bo.EditorFormDataHandler;
12 import org.kuali.ole.describe.bo.SearchResultDisplayRow;
13 import org.kuali.ole.describe.bo.marc.structuralfields.LeaderField;
14 import org.kuali.ole.describe.bo.marc.structuralfields.controlfield006.ControlField006;
15 import org.kuali.ole.describe.bo.marc.structuralfields.controlfield008.ControlField008;
16 import org.kuali.ole.describe.bo.marc.structuralfields.controlfield007.ControlField007;
17 import org.kuali.ole.describe.form.EditorForm;
18 import org.kuali.ole.describe.form.WorkBibMarcForm;
19 import org.kuali.ole.describe.form.WorkEInstanceOlemlForm;
20 import org.kuali.ole.describe.form.WorkInstanceOlemlForm;
21 import org.kuali.ole.describe.service.DiscoveryHelperService;
22 import org.kuali.ole.docstore.common.client.DocstoreClientLocator;
23 import org.kuali.ole.docstore.common.document.BibTree;
24 import org.kuali.ole.docstore.common.document.content.instance.Coverage;
25 import org.kuali.ole.docstore.common.document.content.instance.DonorInfo;
26 import org.kuali.ole.docstore.common.document.content.instance.Note;
27 import org.kuali.ole.docstore.common.document.content.instance.PerpetualAccess;
28 import org.kuali.ole.docstore.common.search.*;
29 import org.kuali.ole.docstore.model.bo.WorkBibDocument;
30 import org.kuali.ole.docstore.model.bo.WorkInstanceDocument;
31 import org.kuali.ole.docstore.model.bo.WorkItemDocument;
32 import org.kuali.ole.docstore.model.enums.DocFormat;
33 import org.kuali.ole.docstore.model.enums.DocType;
34 import org.kuali.ole.select.bo.OLEDonor;
35 import org.kuali.ole.sys.context.SpringContext;
36 import org.kuali.rice.core.api.config.property.ConfigContext;
37 import org.kuali.rice.kim.api.permission.PermissionService;
38 import org.kuali.rice.kim.api.services.KimApiServiceLocator;
39 import org.kuali.rice.krad.service.KRADServiceLocator;
40 import org.kuali.rice.krad.uif.UifParameters;
41 import org.kuali.rice.krad.uif.container.CollectionGroup;
42 import org.kuali.rice.krad.uif.util.ObjectPropertyUtils;
43 import org.kuali.rice.krad.uif.view.View;
44 import org.kuali.rice.krad.util.GlobalVariables;
45 import org.kuali.rice.krad.web.controller.UifControllerBase;
46 import org.kuali.rice.krad.web.form.UifFormBase;
47 import org.springframework.stereotype.Controller;
48 import org.springframework.validation.BindingResult;
49 import org.springframework.web.bind.annotation.ModelAttribute;
50 import org.springframework.web.bind.annotation.RequestMapping;
51 import org.springframework.web.servlet.ModelAndView;
52
53 import javax.servlet.http.HttpServletRequest;
54 import javax.servlet.http.HttpServletResponse;
55 import java.io.IOException;
56 import java.io.OutputStream;
57 import java.util.*;
58 import java.util.List;
59
60
61
62
63
64
65
66
67
68 @Controller
69 @RequestMapping(value = "/editorcontroller")
70
71 public class EditorController extends UifControllerBase {
72
73 private DocumentEditor editor;
74 private EditorFormDataHandler editorFormDataHandler;
75 private DiscoveryHelperService discoveryHelperService;
76 private boolean isFormInitialized = false;
77 private DocstoreClientLocator docstoreClientLocator;
78 public DocstoreClientLocator getDocstoreClientLocator() {
79 if (null == docstoreClientLocator) {
80 return SpringContext.getBean(DocstoreClientLocator.class);
81 }
82 return docstoreClientLocator;
83 }
84
85 private static final Logger LOG = Logger.getLogger(EditorController.class);
86
87 private boolean canDeleteItem(String principalId) {
88 PermissionService service = KimApiServiceLocator.getPermissionService();
89 return service.hasPermission(principalId, OLEConstants.CAT_NAMESPACE, OLEConstants.INSTANCE_EDITOR_DELETE_ITEM);
90 }
91
92 private boolean canDeleteInstance(String principalId) {
93 PermissionService service = KimApiServiceLocator.getPermissionService();
94 return service.hasPermission(principalId, OLEConstants.CAT_NAMESPACE, OLEConstants.INSTANCE_EDITOR_DELETE_INSTANCE);
95 }
96
97 private boolean canAddItem(String principalId) {
98 PermissionService service = KimApiServiceLocator.getPermissionService();
99 return service.hasPermission(principalId, OLEConstants.CAT_NAMESPACE, OLEConstants.INSTANCE_EDITOR_ADD_ITEM);
100 }
101
102 private boolean canDeleteEInstance(String principalId) {
103 PermissionService service = KimApiServiceLocator.getPermissionService();
104 return service.hasPermission(principalId, OLEConstants.CAT_NAMESPACE, OLEConstants.INSTANCE_EDITOR_DELETE_EINSTANCE);
105 }
106
107 @Override
108 protected UifFormBase createInitialForm(HttpServletRequest httpServletRequest) {
109 UifFormBase uifFormBase = null;
110 uifFormBase = new EditorForm();
111 return uifFormBase;
112 }
113
114 @RequestMapping(params = "methodToCall=copy")
115 public ModelAndView copy(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
116 HttpServletRequest request, HttpServletResponse response) {
117 if (!isFormInitialized) {
118 super.start(form, result, request, response);
119 isFormInitialized = true;
120 }
121 EditorForm editorForm = (EditorForm) form;
122 ModelAndView modelAndView = null;
123 String docCategory = request.getParameter("docCategory");
124 String docType = request.getParameter("docType");
125 String docFormat = request.getParameter("docFormat");
126 DocumentEditor documentEditor = DocumentEditorFactory.getInstance()
127 .getDocumentEditor(docCategory, docType, docFormat);
128 editorForm = documentEditor.copy((EditorForm) form);
129 modelAndView = getUIFModelAndView(editorForm, "WorkEInstanceViewPage");
130 return modelAndView;
131 }
132
133 @Override
134 @RequestMapping(params = "methodToCall=start")
135 public ModelAndView start(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
136 HttpServletRequest request, HttpServletResponse response) {
137
138 if (!isFormInitialized) {
139 super.start(form, result, request, response);
140 isFormInitialized = true;
141 }
142 EditorForm editorForm = (EditorForm) form;
143 ModelAndView modelAndView = null;
144
145 String docCategory = request.getParameter("docCategory");
146 String docType = request.getParameter("docType");
147 String docFormat = request.getParameter("docFormat");
148 String docId = request.getParameter("docId");
149 String bibId = request.getParameter("bibId");
150 String instanceId = request.getParameter("instanceId");
151 String editable = request.getParameter("editable");
152 String callNumberFlag = request.getParameter("isCallNumberFlag");
153
154
155 if (null == editable || editable.length() > 0) {
156 editable = "true";
157 }
158
159 if (docFormat == null || docFormat.length() == 0) {
160 docFormat = ((EditorForm) form).getDocFormat();
161 }
162 if (docId == null || docId.length() == 0) {
163 docId = ((EditorForm) form).getDocId();
164 }
165
166 if (docType.equalsIgnoreCase("item")) {
167 ((EditorForm) form).setItemLocalIdentifier(docId);
168 }
169
170
171
172
173
174 ((EditorForm) form).setEditable(editable);
175 ((EditorForm) form).setDocCategory(docCategory);
176 ((EditorForm) form).setDocType(docType);
177 ((EditorForm) form).setDocFormat(docFormat);
178
179 if (docFormat.equals(DocFormat.MARC.getCode())) {
180 editorForm.setDocumentForm(new WorkBibMarcForm());
181 modelAndView = getUIFModelAndView(form, "WorkBibEditorViewPage");
182 } else if (docType.equals(DocType.INSTANCE.getCode()) || docType.equals(DocType.INSTANCE.getCode())) {
183 editorForm.setDocumentForm(new WorkInstanceOlemlForm());
184 modelAndView = getUIFModelAndView(form, "WorkHoldingsViewPage");
185 } else if (docType.equals(DocType.ITEM.getCode())) {
186 editorForm.setDocumentForm(new WorkInstanceOlemlForm());
187 modelAndView = getUIFModelAndView(form, "WorkItemViewPage");
188 }
189 return modelAndView;
190 }
191
192
193
194
195
196
197
198
199
200
201 @RequestMapping(params = "methodToCall=load")
202 public ModelAndView load(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
203 HttpServletRequest request, HttpServletResponse response) {
204
205 String tokenId = request.getParameter("tokenId");
206 EditorForm editorForm = (EditorForm) form;
207 if (tokenId != null) {
208 editorForm.setTokenId(tokenId);
209 }
210 if(editorForm.getBibId() == null) {
211 request.getSession().removeAttribute("treeDocumentList");
212 }
213 if (!isFormInitialized) {
214 super.start(form, result, request, response);
215 isFormInitialized = true;
216 }
217
218
219 String docCategory = request.getParameter("docCategory");
220 String docType = request.getParameter("docType");
221 String docFormat = request.getParameter("docFormat");
222 String docId = request.getParameter("docId");
223 String bibId = request.getParameter("bibId");
224 String instanceId = request.getParameter("instanceId");
225 String editable = request.getParameter("editable");
226 String callNumberFlag = request.getParameter("isCallNumberFlag");
227 String eResourceId = request.getParameter("eResourceId");
228 String holdingsId = request.getParameter("holdingsId");
229
230
231 if ((null == editable) || (editable.length() == 0)) {
232 editable = ((EditorForm) form).getEditable();
233 }
234
235
236 if (null == editable || editable.length() == 0) {
237 editable = "true";
238 }
239
240
241
242
243
244 if (docType.equalsIgnoreCase("holdings")) {
245
246 ((EditorForm) form).setInstanceId(docId);
247 }
248 if (docType.equalsIgnoreCase("instance")) {
249 ((EditorForm) form).setInstanceId(docId);
250 }
251 ((EditorForm) form).setEditable(editable);
252 ((EditorForm) form).setDocCategory(docCategory);
253 ((EditorForm) form).setDocType(docType);
254 ((EditorForm) form).setDocFormat(docFormat);
255 ((EditorForm) form).setDocId(docId);
256 ((EditorForm) form).setBibId(bibId);
257 ((EditorForm) form).setCallNumberFlag(callNumberFlag);
258 ((EditorForm) form).setHideFooter(true);
259 boolean canDelete = canDeleteItem(GlobalVariables.getUserSession().getPrincipalId()) && canDeleteInstance(GlobalVariables.getUserSession().getPrincipalId());
260 ((EditorForm) form).setCanDelete(canDelete);
261 boolean canAdd = canAddItem(GlobalVariables.getUserSession().getPrincipalId());
262 ((EditorForm) form).setCanAdd(canAdd);
263 boolean canDeleteEInstance = canDeleteEInstance(GlobalVariables.getUserSession().getPrincipalId());
264 ((EditorForm) form).setCanDeleteEInstance(canDeleteEInstance);
265
266 if (eResourceId != null) {
267 ((EditorForm) form).seteResourceId(eResourceId);
268 }
269 if (holdingsId != null) {
270 ((EditorForm) form).setHoldingsId(holdingsId);
271 }
272
273 DocumentEditor documentEditor = DocumentEditorFactory.getInstance()
274 .getDocumentEditor(docCategory, docType, docFormat);
275
276
277
278
279
280
281
282
283 List<BibTree> bibTreeList = (List) request.getSession().getAttribute("treeDocumentList");
284 if (null != bibTreeList) {
285 ((EditorForm) form).setBibTreeList(bibTreeList);
286 }
287
288
289 EditorForm documentForm = null;
290
291 if (request.getSession() != null && request.getSession().getAttribute("bibTree") != null &&
292 "true".equalsIgnoreCase(request.getParameter("loadFromSession"))) {
293 BibTree bibTree = (BibTree) request.getSession().getAttribute("bibTree");
294 if (docId != null && docId.length() > 0 && !docId.equalsIgnoreCase("null")) {
295 ((EditorForm) form).setShowLeftPane(false);
296 } else {
297 ((EditorForm) form).setShowLeftPane(false);
298 ((EditorForm) form).setShowEditorFooter(false);
299 }
300 documentForm = documentEditor.createNewRecord((EditorForm) form, bibTree);
301 } else {
302
303 documentForm = documentEditor.loadDocument((EditorForm) form);
304 }
305
306
307 ((EditorForm) form).setDocumentForm(documentForm);
308
309 request.getSession().setAttribute("treeDocumentList", ((EditorForm) form).getDocumentForm().getBibTreeList());
310
311
312 getEditorFormDataHandler().buildLeftPaneData((EditorForm) form);
313
314
315 ModelAndView modelAndView = getUIFModelAndView(form, documentForm.getViewId());
316 return modelAndView;
317 }
318
319 @RequestMapping(params = "methodToCall=updateLeftPane")
320 public ModelAndView updateLeftPane(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
321 HttpServletRequest request, HttpServletResponse response) {
322 EditorForm editorForm = (EditorForm) form;
323 String hiddenVal = editorForm.getHdnUuid();
324 int hdnIndex = editorForm.getHdnIndex();
325 DiscoveryHelperService discoveryHelperService = getDiscoveryHelperService();
326 List responseFromSOLR = discoveryHelperService.getResponseFromSOLR("id", hiddenVal);
327 String docType = null;
328 for (Iterator iterator = responseFromSOLR.iterator(); iterator.hasNext(); ) {
329 Map map = (Map) iterator.next();
330 if (map.containsKey(OLEConstants.DOC_TYPE)) {
331 String list = (String) map.get(OLEConstants.DOC_TYPE);
332 docType = list;
333 break;
334 }
335 }
336 if ((docType.toString().equals(OLEConstants.ITEM_DOC_TYPE))) {
337 WorkInstanceOlemlForm instanceEditorForm = new WorkInstanceOlemlForm();
338
339
340
341
342
343
344
345 return null;
346 } else {
347
348 return getUIFModelAndView(editorForm, "WorkHoldingsViewPage");
349 }
350 }
351
352 public DiscoveryHelperService getDiscoveryHelperService() {
353 if (null == discoveryHelperService) {
354 return new DiscoveryHelperService();
355 }
356 return discoveryHelperService;
357 }
358
359 public EditorFormDataHandler getEditorFormDataHandler() {
360 if (null == editorFormDataHandler) {
361 editorFormDataHandler = new EditorFormDataHandler();
362 }
363 return editorFormDataHandler;
364 }
365
366 @RequestMapping(params = "methodToCall=EditNewInstance")
367 public ModelAndView EditNewInstance(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
368 HttpServletRequest request, HttpServletResponse response) {
369
370 EditorForm editorForm = (EditorForm) form;
371
372 BibTree bibTree = (BibTree) request.getSession().getAttribute("bibTree");
373
374
375
376
377
378 if (editorForm.getDocumentForm().getViewId().equalsIgnoreCase("WorkHoldingsViewPage")) {
379
380 DocumentEditor documentEditor = DocumentEditorFactory.getInstance()
381 .getDocumentEditor("work", "item", "oleml");
382
383 editorForm = documentEditor.createNewRecord((EditorForm) form, bibTree);
384 editorForm.setNeedToCreateInstance(false);
385
386 } else {
387
388 DocumentEditor documentEditor = DocumentEditorFactory.getInstance()
389 .getDocumentEditor("work", "bibliographic", "marc");
390
391 EditorForm marcEditorForm = documentEditor.editNewRecord(editorForm, bibTree);
392
393
394 if (!marcEditorForm.isValidInput()) {
395 return getUIFModelAndView(form, marcEditorForm.getViewId());
396 }
397
398
399 documentEditor = DocumentEditorFactory.getInstance().getDocumentEditor("work", "holdings", "oleml");
400 ((EditorForm) form).setDocCategory("work");
401 ((EditorForm) form).setDocType("holdings");
402 ((EditorForm) form).setDocFormat("oleml");
403 editorForm = documentEditor.createNewRecord((EditorForm) form, bibTree);
404 }
405
406
407 ((EditorForm) form).setDocumentForm(editorForm);
408
409
410
411
412 getEditorFormDataHandler().buildLeftPaneData((EditorForm) form);
413
414
415 ModelAndView modelAndView = getUIFModelAndView(form, editorForm.getViewId());
416 return modelAndView;
417
418 }
419
420 @RequestMapping(params = "methodToCall=save")
421 public ModelAndView save(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
422 HttpServletRequest request, HttpServletResponse response) {
423
424 if (request.getSession() != null && request.getSession().getAttribute("bibTree") != null) {
425 DocumentEditor documentEditor = null;
426 if(((EditorForm) form).getDocId() == null || "null".equalsIgnoreCase(((EditorForm) form).getDocId())) {
427 documentEditor = DocumentEditorFactory.getInstance()
428 .getDocumentEditor("work", "item", "oleml");
429 }
430 else {
431 documentEditor = DocumentEditorFactory.getInstance()
432 .getDocumentEditor("work", "bibliographic", "marc");
433 }
434
435 BibTree bibTree = (BibTree) request.getSession().getAttribute("bibTree");
436 EditorForm editorForm = documentEditor.editNewRecord((EditorForm) form, bibTree);
437
438
439 if (!editorForm.isValidInput()) {
440 return getUIFModelAndView(form, editorForm.getViewId());
441 }
442
443 String responseFromDocstore = documentEditor.saveDocument(bibTree, (EditorForm) form);
444 if (StringUtils.isNotEmpty(responseFromDocstore) && responseFromDocstore.contains("success")) {
445 request.getSession().setAttribute("responseBibTree", bibTree);
446
447 String url = ConfigContext.getCurrentContextConfig().getProperty("ole.rice2.url.base");
448 url=url + "/portal.do?channelTitle=Import Bib&channelUrl=" + url +
449 "/ole-kr-krad/importBibController?viewId=ImportBibView&methodToCall=viewRecordNext";
450 return performRedirect(editorForm, url);
451 }
452 } else {
453 if (!isFormInitialized) {
454 super.start(form, result, request, response);
455 isFormInitialized = true;
456 }
457
458
459 String docCategory = request.getParameter("docCategory");
460 String docType = request.getParameter("docType");
461 String docFormat = request.getParameter("docFormat");
462 String docId = request.getParameter("docId");
463 String bibId = request.getParameter("bibId");
464 String instanceId = request.getParameter("instanceId");
465
466 String editable = request.getParameter("editable");
467
468 if (docType != null && docType.equalsIgnoreCase("item")) {
469 ((EditorForm) form).setItemLocalIdentifier(docId);
470 }
471
472
473
474
475
476 if ((null == editable) || (editable.length() == 0)) {
477 editable = "true";
478 }
479 if (docCategory == null || docCategory.length() == 0) {
480 docCategory = ((EditorForm) form).getDocCategory();
481 }
482 if (docType == null || docType.length() == 0) {
483 docType = ((EditorForm) form).getDocType();
484 }
485
486 if (docFormat == null || docFormat.length() == 0) {
487 docFormat = ((EditorForm) form).getDocFormat();
488 }
489 if (docId == null || docId.length() == 0) {
490 docId = ((EditorForm) form).getDocId();
491 }
492
493 ((EditorForm) form).setEditable(editable);
494 ((EditorForm) form).setDocCategory(docCategory);
495 ((EditorForm) form).setDocType(docType);
496 ((EditorForm) form).setDocFormat(docFormat);
497 ((EditorForm) form).setDocId(docId);
498 ((EditorForm) form).setBibId(bibId);
499 ((EditorForm) form).setInstanceId(instanceId);
500
501
502 DocumentEditor documentEditor = DocumentEditorFactory.getInstance()
503 .getDocumentEditor(docCategory, docType, docFormat);
504
505
506
507
508
509
510
511
512 List<BibTree> bibTreeList = (List) request.getSession().getAttribute("treeDocumentList");
513 if (null != bibTreeList) {
514 ((EditorForm) form).getDocumentForm().setBibTreeList(bibTreeList);
515 ((EditorForm) form).setBibTreeList(bibTreeList);
516 }
517
518 if (documentEditor.isValidUpdate((EditorForm) form) || ((EditorForm) form).getAllowUpdate().equals
519 ("true")) {
520
521 EditorForm documentForm = documentEditor.saveDocument((EditorForm) form);
522
523 ((EditorForm) form).setDocumentForm(documentForm);
524 ((EditorForm) form).setAllowUpdate(" ");
525 } else{
526 ((EditorForm) form).setAllowUpdate("false");
527 }
528
529
530
531 request.getSession().setAttribute("treeDocumentList", ((EditorForm) form).getDocumentForm().getBibTreeList());
532
533
534 getEditorFormDataHandler().buildLeftPaneData((EditorForm) form);
535
536 }
537 ((EditorForm) form).setDisplayField006("false");
538 ((EditorForm) form).setDisplayField007("false");
539 ((EditorForm) form).setDisplayField008("false");
540
541 ModelAndView modelAndView = getUIFModelAndView(form, ((EditorForm) form).getDocumentForm().getViewId());
542 return modelAndView;
543 }
544
545
546
547
548
549
550
551
552
553
554 @RequestMapping(params = "methodToCall=addControlField006")
555 public ModelAndView addControlField(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
556 HttpServletRequest request, HttpServletResponse response) {
557 if (!isFormInitialized) {
558 super.start(form, result, request, response);
559 isFormInitialized = true;
560 }
561 EditorForm editorForm = (EditorForm) form;
562 String docCategory = request.getParameter("docCategory");
563 String docType = request.getParameter("docType");
564 String docFormat = request.getParameter("docFormat");
565 if (docCategory == null) {
566 docCategory = editorForm.getDocCategory();
567 }
568 if (docType == null) {
569 docType = editorForm.getDocType();
570 }
571 if (docFormat == null) {
572 docFormat = editorForm.getDocFormat();
573 }
574
575 DocumentEditor documentEditor = DocumentEditorFactory.getInstance()
576 .getDocumentEditor(docCategory, docType, docFormat);
577
578 editorForm = documentEditor.addORDeleteFields(editorForm, request);
579 return super.navigate(editorForm, result, request, response);
580 }
581
582
583
584
585
586
587
588
589
590
591 @RequestMapping(params = "methodToCall=removeControlField006")
592 public ModelAndView removeControlField(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
593 HttpServletRequest request, HttpServletResponse response) {
594 if (!isFormInitialized) {
595 super.start(form, result, request, response);
596 isFormInitialized = true;
597 }
598 EditorForm editorForm = (EditorForm) form;
599 String docCategory = request.getParameter("docCategory");
600 String docType = request.getParameter("docType");
601 String docFormat = request.getParameter("docFormat");
602 if (docCategory == null) {
603 docCategory = editorForm.getDocCategory();
604 }
605 if (docType == null) {
606 docType = editorForm.getDocType();
607 }
608 if (docFormat == null) {
609 docFormat = editorForm.getDocFormat();
610 }
611
612 DocumentEditor documentEditor = DocumentEditorFactory.getInstance()
613 .getDocumentEditor(docCategory, docType, docFormat);
614
615 editorForm = documentEditor.addORDeleteFields(editorForm, request);
616 return super.navigate(editorForm, result, request, response);
617 }
618
619
620
621
622
623
624
625
626
627
628
629 @RequestMapping(params = "methodToCall=addControlField007")
630 public ModelAndView addControlField007(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
631 HttpServletRequest request, HttpServletResponse response) {
632 if (!isFormInitialized) {
633 super.start(form, result, request, response);
634 isFormInitialized = true;
635 }
636 EditorForm editorForm = (EditorForm) form;
637 String docCategory = request.getParameter("docCategory");
638 String docType = request.getParameter("docType");
639 String docFormat = request.getParameter("docFormat");
640 if (docCategory == null) {
641 docCategory = editorForm.getDocCategory();
642 }
643 if (docType == null) {
644 docType = editorForm.getDocType();
645 }
646 if (docFormat == null) {
647 docFormat = editorForm.getDocFormat();
648 }
649
650 DocumentEditor documentEditor = DocumentEditorFactory.getInstance()
651 .getDocumentEditor(docCategory, docType, docFormat);
652
653 editorForm = documentEditor.addORDeleteFields(editorForm, request);
654 return super.navigate(editorForm, result, request, response);
655 }
656
657
658
659
660
661
662
663
664
665
666 @RequestMapping(params = "methodToCall=removeControlField007")
667 public ModelAndView removeControlField007(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
668 HttpServletRequest request, HttpServletResponse response) {
669 if (!isFormInitialized) {
670 super.start(form, result, request, response);
671 isFormInitialized = true;
672 }
673 EditorForm editorForm = (EditorForm) form;
674 String docCategory = request.getParameter("docCategory");
675 String docType = request.getParameter("docType");
676 String docFormat = request.getParameter("docFormat");
677 if (docCategory == null) {
678 docCategory = editorForm.getDocCategory();
679 }
680 if (docType == null) {
681 docType = editorForm.getDocType();
682 }
683 if (docFormat == null) {
684 docFormat = editorForm.getDocFormat();
685 }
686
687 DocumentEditor documentEditor = DocumentEditorFactory.getInstance()
688 .getDocumentEditor(docCategory, docType, docFormat);
689
690 editorForm = documentEditor.addORDeleteFields(editorForm, request);
691 return super.navigate(editorForm, result, request, response);
692 }
693
694
695
696
697
698
699
700
701
702
703
704 @RequestMapping(params = "methodToCall=addDataField")
705 public ModelAndView addDataField(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
706 HttpServletRequest request, HttpServletResponse response) {
707 if (!isFormInitialized) {
708 super.start(form, result, request, response);
709 isFormInitialized = true;
710 }
711 EditorForm editorForm = (EditorForm) form;
712 String docCategory = request.getParameter("docCategory");
713 String docType = request.getParameter("docType");
714 String docFormat = request.getParameter("docFormat");
715 if (docCategory == null) {
716 docCategory = editorForm.getDocCategory();
717 }
718 if (docType == null) {
719 docType = editorForm.getDocType();
720 }
721 if (docFormat == null) {
722 docFormat = editorForm.getDocFormat();
723 }
724
725 DocumentEditor documentEditor = DocumentEditorFactory.getInstance()
726 .getDocumentEditor(docCategory, docType, docFormat);
727
728 editorForm = documentEditor.addORDeleteFields(editorForm, request);
729 return super.navigate(editorForm, result, request, response);
730 }
731
732
733
734
735
736
737
738
739
740
741 @RequestMapping(params = "methodToCall=removeDataField")
742 public ModelAndView removeDataField(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
743 HttpServletRequest request, HttpServletResponse response) {
744 if (!isFormInitialized) {
745 super.start(form, result, request, response);
746 isFormInitialized = true;
747 }
748 EditorForm editorForm = (EditorForm) form;
749 String docCategory = request.getParameter("docCategory");
750 String docType = request.getParameter("docType");
751 String docFormat = request.getParameter("docFormat");
752 if (docCategory == null) {
753 docCategory = editorForm.getDocCategory();
754 }
755 if (docType == null) {
756 docType = editorForm.getDocType();
757 }
758 if (docFormat == null) {
759 docFormat = editorForm.getDocFormat();
760 }
761
762 DocumentEditor documentEditor = DocumentEditorFactory.getInstance()
763 .getDocumentEditor(docCategory, docType, docFormat);
764
765 editorForm = documentEditor.addORDeleteFields(editorForm, request);
766 return super.navigate(editorForm, result, request, response);
767 }
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809 @RequestMapping(params = "methodToCall=deleteVerify")
810 public ModelAndView deleteVerify(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
811 HttpServletRequest request, HttpServletResponse response) throws Exception {
812 ModelAndView modelAndView = null;
813 if (!isFormInitialized) {
814 super.start(form, result, request, response);
815 isFormInitialized = true;
816 }
817
818
819 String docCategory = request.getParameter("docCategory");
820 String docType = request.getParameter("docType");
821 String docFormat = request.getParameter("docFormat");
822 String docId = request.getParameter("docId");
823 ((EditorForm) form).setDocCategory(docCategory);
824 ((EditorForm) form).setDocType(docType);
825 ((EditorForm) form).setDocFormat(docFormat);
826 ((EditorForm) form).setDocId(docId);
827 ((EditorForm) form).setMessage("");
828
829 ((EditorForm) form).setHideFooter(false);
830
831 DocumentEditor documentEditor = DocumentEditorFactory.getInstance().getDocumentEditor(docCategory, docType, docFormat);
832 EditorForm documentForm = documentEditor.deleteVerify((EditorForm) form);
833 LOG.info("view id-->" + documentForm.getViewId());
834
835 EditorForm editorForm = (EditorForm) form;
836
837
838
839
840
841
842
843
844 return getUIFModelAndView(editorForm, documentForm.getViewId());
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871 }
872
873
874
875
876
877
878
879
880
881
882 @RequestMapping(params = "methodToCall=delete")
883 public ModelAndView delete(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
884 HttpServletRequest request, HttpServletResponse response) throws Exception {
885 ModelAndView modelAndView = null;
886 EditorForm editorForm = (EditorForm) form;
887 if (!isFormInitialized) {
888 super.start(form, result, request, response);
889 isFormInitialized = true;
890 }
891
892
893 String docCategory = ((EditorForm) form).getDocCategory();
894 String docType = ((EditorForm) form).getDocType();
895 String docFormat = ((EditorForm) form).getDocFormat();
896 String docId = ((EditorForm) form).getDocId();
897
898
899 LOG.info("docCategory-->" + docCategory);
900 LOG.info("docType-->" + docType);
901 LOG.info("docFormat-->" + docFormat);
902 LOG.info("uuid-->" + docId);
903
904
905
906
907
908
909
910
911 DocumentEditor documentEditor = DocumentEditorFactory.getInstance().getDocumentEditor(docCategory, docType, docFormat);
912
913 EditorForm documentForm = documentEditor.delete((EditorForm) form);
914
915
916
917
918
919
920
921
922
923
924
925
926 getEditorFormDataHandler().buildLeftPaneData((EditorForm) form);
927
928 return getUIFModelAndView(editorForm, documentForm.getViewId());
929 }
930
931
932
933
934
935
936
937
938
939
940 @RequestMapping(params = "methodToCall=addExtentOfOwnership")
941 public ModelAndView addExtentOfOwnership(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
942 HttpServletRequest request, HttpServletResponse response) {
943 if (!isFormInitialized) {
944 super.start(form, result, request, response);
945 isFormInitialized = true;
946 }
947 EditorForm editorForm = (EditorForm) form;
948 String docCategory = request.getParameter("docCategory");
949 String docType = request.getParameter("docType");
950 String docFormat = request.getParameter("docFormat");
951 if (docCategory == null) {
952 docCategory = editorForm.getDocCategory();
953 }
954 if (docType == null) {
955 docType = editorForm.getDocType();
956 }
957 if (docFormat == null) {
958 docFormat = editorForm.getDocFormat();
959 }
960
961 DocumentEditor documentEditor = DocumentEditorFactory.getInstance()
962 .getDocumentEditor(docCategory, docType, docFormat);
963
964 editorForm = documentEditor.addORRemoveExtentOfOwnership(editorForm, request);
965 return super.navigate(editorForm, result, request, response);
966 }
967
968
969
970
971
972
973
974
975
976
977 @RequestMapping(params = "methodToCall=removeExtentOfOwnership")
978 public ModelAndView removeExtentOfOwnership(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
979 HttpServletRequest request, HttpServletResponse response) {
980 if (!isFormInitialized) {
981 super.start(form, result, request, response);
982 isFormInitialized = true;
983 }
984 EditorForm editorForm = (EditorForm) form;
985 String docCategory = request.getParameter("docCategory");
986 String docType = request.getParameter("docType");
987 String docFormat = request.getParameter("docFormat");
988 if (docCategory == null) {
989 docCategory = editorForm.getDocCategory();
990 }
991 if (docType == null) {
992 docType = editorForm.getDocType();
993 }
994 if (docFormat == null) {
995 docFormat = editorForm.getDocFormat();
996 }
997
998 DocumentEditor documentEditor = DocumentEditorFactory.getInstance()
999 .getDocumentEditor(docCategory, docType, docFormat);
1000
1001 editorForm = documentEditor.addORRemoveExtentOfOwnership(editorForm, request);
1002 return super.navigate(editorForm, result, request, response);
1003 }
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014 @RequestMapping(params = "methodToCall=addEOWHoldingNotes")
1015 public ModelAndView addEOWHoldingNotes(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
1016 HttpServletRequest request, HttpServletResponse response) {
1017 if (!isFormInitialized) {
1018 super.start(form, result, request, response);
1019 isFormInitialized = true;
1020 }
1021 EditorForm editorForm = (EditorForm) form;
1022 String docCategory = request.getParameter("docCategory");
1023 String docType = request.getParameter("docType");
1024 String docFormat = request.getParameter("docFormat");
1025 if (docCategory == null) {
1026 docCategory = editorForm.getDocCategory();
1027 }
1028 if (docType == null) {
1029 docType = editorForm.getDocType();
1030 }
1031 if (docFormat == null) {
1032 docFormat = editorForm.getDocFormat();
1033 }
1034
1035 DocumentEditor documentEditor = DocumentEditorFactory.getInstance()
1036 .getDocumentEditor(docCategory, docType, docFormat);
1037
1038 editorForm = documentEditor.addORRemoveExtentOfOwnership(editorForm, request);
1039 return super.navigate(editorForm, result, request, response);
1040 }
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051 @RequestMapping(params = "methodToCall=removeEOWHoldingNotes")
1052 public ModelAndView removeEOWHoldingNotes(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
1053 HttpServletRequest request, HttpServletResponse response) {
1054 if (!isFormInitialized) {
1055 super.start(form, result, request, response);
1056 isFormInitialized = true;
1057 }
1058 EditorForm editorForm = (EditorForm) form;
1059 String docCategory = request.getParameter("docCategory");
1060 String docType = request.getParameter("docType");
1061 String docFormat = request.getParameter("docFormat");
1062 if (docCategory == null) {
1063 docCategory = editorForm.getDocCategory();
1064 }
1065 if (docType == null) {
1066 docType = editorForm.getDocType();
1067 }
1068 if (docFormat == null) {
1069 docFormat = editorForm.getDocFormat();
1070 }
1071
1072 DocumentEditor documentEditor = DocumentEditorFactory.getInstance()
1073 .getDocumentEditor(docCategory, docType, docFormat);
1074
1075 editorForm = documentEditor.addORRemoveExtentOfOwnership(editorForm, request);
1076 return super.navigate(editorForm, result, request, response);
1077 }
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088 @RequestMapping(params = "methodToCall=addAccessInformation")
1089 public ModelAndView addAccessInformation(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
1090 HttpServletRequest request, HttpServletResponse response) {
1091 if (!isFormInitialized) {
1092 super.start(form, result, request, response);
1093 isFormInitialized = true;
1094 }
1095 EditorForm editorForm = (EditorForm) form;
1096 String docCategory = request.getParameter("docCategory");
1097 String docType = request.getParameter("docType");
1098 String docFormat = request.getParameter("docFormat");
1099 if (docCategory == null) {
1100 docCategory = editorForm.getDocCategory();
1101 }
1102 if (docType == null) {
1103 docType = editorForm.getDocType();
1104 }
1105 if (docFormat == null) {
1106 docFormat = editorForm.getDocFormat();
1107 }
1108
1109 DocumentEditor documentEditor = DocumentEditorFactory.getInstance()
1110 .getDocumentEditor(docCategory, docType, docFormat);
1111
1112 editorForm = documentEditor.addORRemoveAccessInformationAndHoldingsNotes(editorForm, request);
1113 return super.navigate(editorForm, result, request, response);
1114 }
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125 @RequestMapping(params = "methodToCall=removeAccessInformation")
1126 public ModelAndView removeAccessInformation(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
1127 HttpServletRequest request, HttpServletResponse response) {
1128 if (!isFormInitialized) {
1129 super.start(form, result, request, response);
1130 isFormInitialized = true;
1131 }
1132 EditorForm editorForm = (EditorForm) form;
1133 String docCategory = request.getParameter("docCategory");
1134 String docType = request.getParameter("docType");
1135 String docFormat = request.getParameter("docFormat");
1136 if (docCategory == null) {
1137 docCategory = editorForm.getDocCategory();
1138 }
1139 if (docType == null) {
1140 docType = editorForm.getDocType();
1141 }
1142 if (docFormat == null) {
1143 docFormat = editorForm.getDocFormat();
1144 }
1145
1146 DocumentEditor documentEditor = DocumentEditorFactory.getInstance()
1147 .getDocumentEditor(docCategory, docType, docFormat);
1148
1149 editorForm = documentEditor.addORRemoveAccessInformationAndHoldingsNotes(editorForm, request);
1150 return super.navigate(editorForm, result, request, response);
1151 }
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162 @RequestMapping(params = "methodToCall=addHoldingNotes")
1163 public ModelAndView addHoldingNotes(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
1164 HttpServletRequest request, HttpServletResponse response) {
1165 if (!isFormInitialized) {
1166 super.start(form, result, request, response);
1167 isFormInitialized = true;
1168 }
1169 EditorForm editorForm = (EditorForm) form;
1170 String docCategory = request.getParameter("docCategory");
1171 String docType = request.getParameter("docType");
1172 String docFormat = request.getParameter("docFormat");
1173 if (docCategory == null) {
1174 docCategory = editorForm.getDocCategory();
1175 }
1176 if (docType == null) {
1177 docType = editorForm.getDocType();
1178 }
1179 if (docFormat == null) {
1180 docFormat = editorForm.getDocFormat();
1181 }
1182
1183 DocumentEditor documentEditor = DocumentEditorFactory.getInstance()
1184 .getDocumentEditor(docCategory, docType, docFormat);
1185
1186 editorForm = documentEditor.addORRemoveAccessInformationAndHoldingsNotes(editorForm, request);
1187 return super.navigate(editorForm, result, request, response);
1188 }
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199 @RequestMapping(params = "methodToCall=removeHoldingNotes")
1200 public ModelAndView removeHoldingNotes(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
1201 HttpServletRequest request, HttpServletResponse response) {
1202 if (!isFormInitialized) {
1203 super.start(form, result, request, response);
1204 isFormInitialized = true;
1205 }
1206 EditorForm editorForm = (EditorForm) form;
1207 String docCategory = request.getParameter("docCategory");
1208 String docType = request.getParameter("docType");
1209 String docFormat = request.getParameter("docFormat");
1210 if (docCategory == null) {
1211 docCategory = editorForm.getDocCategory();
1212 }
1213 if (docType == null) {
1214 docType = editorForm.getDocType();
1215 }
1216 if (docFormat == null) {
1217 docFormat = editorForm.getDocFormat();
1218 }
1219
1220 DocumentEditor documentEditor = DocumentEditorFactory.getInstance()
1221 .getDocumentEditor(docCategory, docType, docFormat);
1222
1223 editorForm = documentEditor.addORRemoveAccessInformationAndHoldingsNotes(editorForm, request);
1224 return super.navigate(editorForm, result, request, response);
1225 }
1226
1227 @RequestMapping(params = "methodToCall=addField")
1228 public ModelAndView addField(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
1229 HttpServletRequest request, HttpServletResponse response) {
1230 if (!isFormInitialized) {
1231 super.start(form, result, request, response);
1232 isFormInitialized = true;
1233 }
1234 EditorForm editorForm = (EditorForm) form;
1235 String docCategory = request.getParameter("docCategory");
1236 String docType = request.getParameter("docType");
1237 String docFormat = request.getParameter("docFormat");
1238 if (docCategory == null) {
1239 docCategory = editorForm.getDocCategory();
1240 }
1241 if (docType == null) {
1242 docType = editorForm.getDocType();
1243 }
1244 if (docFormat == null) {
1245 docFormat = editorForm.getDocFormat();
1246 }
1247
1248 DocumentEditor documentEditor = DocumentEditorFactory.getInstance()
1249 .getDocumentEditor(docCategory, docType, docFormat);
1250
1251 editorForm = documentEditor.addORDeleteFields(editorForm, request);
1252 return super.navigate(editorForm, result, request, response);
1253 }
1254
1255 @RequestMapping(params = "methodToCall=removeField")
1256 public ModelAndView removeField(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
1257 HttpServletRequest request, HttpServletResponse response) {
1258 if (!isFormInitialized) {
1259 super.start(form, result, request, response);
1260 isFormInitialized = true;
1261 }
1262 EditorForm editorForm = (EditorForm) form;
1263 String docCategory = request.getParameter("docCategory");
1264 String docType = request.getParameter("docType");
1265 String docFormat = request.getParameter("docFormat");
1266 if (docCategory == null) {
1267 docCategory = editorForm.getDocCategory();
1268 }
1269 if (docType == null) {
1270 docType = editorForm.getDocType();
1271 }
1272 if (docFormat == null) {
1273 docFormat = editorForm.getDocFormat();
1274 }
1275
1276 DocumentEditor documentEditor = DocumentEditorFactory.getInstance()
1277 .getDocumentEditor(docCategory, docType, docFormat);
1278
1279 editorForm = documentEditor.addORDeleteFields(editorForm, request);
1280 return super.navigate(editorForm, result, request, response);
1281 }
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293 protected ModelAndView callSuper(BindingResult result, HttpServletRequest request, HttpServletResponse response,
1294 EditorForm editorForm) {
1295 return super.navigate(editorForm, result, request, response);
1296 }
1297
1298 @RequestMapping(params = "methodToCall=addItemNote")
1299 public ModelAndView addItemNote(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
1300 HttpServletRequest request, HttpServletResponse response) {
1301 if (!isFormInitialized) {
1302 super.start(form, result, request, response);
1303 isFormInitialized = true;
1304 }
1305 EditorForm editorForm = (EditorForm) form;
1306 String docCategory = request.getParameter("docCategory");
1307 String docType = request.getParameter("docType");
1308 String docFormat = request.getParameter("docFormat");
1309 if (docCategory == null) {
1310 docCategory = editorForm.getDocCategory();
1311 }
1312 if (docType == null) {
1313 docType = editorForm.getDocType();
1314 }
1315 if (docFormat == null) {
1316 docFormat = editorForm.getDocFormat();
1317 }
1318
1319 DocumentEditor documentEditor = DocumentEditorFactory.getInstance()
1320 .getDocumentEditor(docCategory, docType, docFormat);
1321
1322 editorForm = documentEditor.addORRemoveItemNote(editorForm, request);
1323 return super.navigate(editorForm, result, request, response);
1324 }
1325
1326 @RequestMapping(params = "methodToCall=addDonorToItem")
1327 public ModelAndView addDonorToItem(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
1328 HttpServletRequest request, HttpServletResponse response) {
1329 EditorForm editorForm = (EditorForm) form;
1330 WorkInstanceOlemlForm workInstanceOlemlForm = (WorkInstanceOlemlForm) editorForm.getDocumentForm();
1331 List<DonorInfo> donorInfoList = workInstanceOlemlForm.getSelectedItem().getDonorInfo();
1332 String selectedCollectionPath = form.getActionParamaterValue(UifParameters.SELLECTED_COLLECTION_PATH);
1333 CollectionGroup collectionGroup = form.getPostedView().getViewIndex().getCollectionGroupByPath(
1334 selectedCollectionPath);
1335 String addLinePath = collectionGroup.getAddLineBindingInfo().getBindingPath();
1336 Object eventObject = ObjectPropertyUtils.getPropertyValue(form, addLinePath);
1337 DonorInfo donorInfo = (DonorInfo) eventObject;
1338 if (donorInfo != null && StringUtils.isNotEmpty(donorInfo.getDonorCode())) {
1339 Map map = new HashMap();
1340 map.put("donorCode", donorInfo.getDonorCode());
1341 OLEDonor oleDonor = KRADServiceLocator.getBusinessObjectService().findByPrimaryKey(OLEDonor.class, map);
1342 if (oleDonor != null) {
1343 for (DonorInfo donor : donorInfoList) {
1344 if (donor.getDonorCode().equals(donorInfo.getDonorCode())) {
1345 GlobalVariables.getMessageMap().putErrorForSectionId("OleDonorInformation-ListOfDonors", "error.donor.code.exist");
1346 return getUIFModelAndView(form);
1347 }
1348 }
1349 }
1350 else {
1351 GlobalVariables.getMessageMap().putErrorForSectionId("OleDonorInformation-ListOfDonors", "error.donor.code.doesnt.exist");
1352 return getUIFModelAndView(form);
1353 }
1354 }
1355 View view = form.getPostedView();
1356 view.getViewHelperService().processCollectionAddLine(view, form, selectedCollectionPath);
1357 return getUIFModelAndView(form);
1358 }
1359
1360 @RequestMapping(params = "methodToCall=addDonorToEInstance")
1361 public ModelAndView addDonorToEInstance(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
1362 HttpServletRequest request, HttpServletResponse response) {
1363 EditorForm editorForm = (EditorForm) form;
1364 WorkEInstanceOlemlForm workEInstanceOlemlForm = (WorkEInstanceOlemlForm) editorForm.getDocumentForm();
1365 List<DonorInfo> donorInfoList = workEInstanceOlemlForm.getSelectedEHoldings().getDonorInfo();
1366 String selectedCollectionPath = form.getActionParamaterValue(UifParameters.SELLECTED_COLLECTION_PATH);
1367 CollectionGroup collectionGroup = form.getPostedView().getViewIndex().getCollectionGroupByPath(
1368 selectedCollectionPath);
1369 String addLinePath = collectionGroup.getAddLineBindingInfo().getBindingPath();
1370 Object eventObject = ObjectPropertyUtils.getPropertyValue(form, addLinePath);
1371 DonorInfo donorInfo = (DonorInfo) eventObject;
1372 if (donorInfo != null && StringUtils.isNotEmpty(donorInfo.getDonorCode())) {
1373 Map map = new HashMap();
1374 map.put("donorCode", donorInfo.getDonorCode());
1375 OLEDonor oleDonor = KRADServiceLocator.getBusinessObjectService().findByPrimaryKey(OLEDonor.class, map);
1376 if (oleDonor != null) {
1377 for (DonorInfo donor : donorInfoList) {
1378 if (donor.getDonorCode().equals(donorInfo.getDonorCode())) {
1379 GlobalVariables.getMessageMap().putErrorForSectionId("OleEInstanceDonorInformation-ListOfDonors", "error.donor.code.exist");
1380 return getUIFModelAndView(form);
1381 }
1382 }
1383 }
1384 else {
1385 GlobalVariables.getMessageMap().putErrorForSectionId("OleEInstanceDonorInformation-ListOfDonors", "error.donor.code.doesnt.exist");
1386 return getUIFModelAndView(form);
1387 }
1388 }
1389 View view = form.getPostedView();
1390 view.getViewHelperService().processCollectionAddLine(view, form, selectedCollectionPath);
1391 return getUIFModelAndView(form);
1392 }
1393
1394 @RequestMapping(params = "methodToCall=removeItemNote")
1395 public ModelAndView removeItemNote(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
1396 HttpServletRequest request, HttpServletResponse response) {
1397 if (!isFormInitialized) {
1398 super.start(form, result, request, response);
1399 isFormInitialized = true;
1400 }
1401 EditorForm editorForm = (EditorForm) form;
1402 String docCategory = request.getParameter("docCategory");
1403 String docType = request.getParameter("docType");
1404 String docFormat = request.getParameter("docFormat");
1405 if (docCategory == null) {
1406 docCategory = editorForm.getDocCategory();
1407 }
1408 if (docType == null) {
1409 docType = editorForm.getDocType();
1410 }
1411 if (docFormat == null) {
1412 docFormat = editorForm.getDocFormat();
1413 }
1414
1415 DocumentEditor documentEditor = DocumentEditorFactory.getInstance()
1416 .getDocumentEditor(docCategory, docType, docFormat);
1417
1418 editorForm = documentEditor.addORRemoveItemNote(editorForm, request);
1419 return super.navigate(editorForm, result, request, response);
1420 }
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431 @RequestMapping(params = "methodToCall=showBibs")
1432 public ModelAndView showBibs(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
1433 HttpServletRequest request, HttpServletResponse response) {
1434 EditorForm documentForm = null;
1435 if (!isFormInitialized) {
1436 super.start(form, result, request, response);
1437 isFormInitialized = true;
1438 }
1439
1440 String docCategory = request.getParameter("docCategory");
1441 String docType = request.getParameter("docType");
1442 String docFormat = request.getParameter("docFormat");
1443 String docId = request.getParameter("docId");
1444 String instanceId = request.getParameter("instanceId");
1445 String editable = request.getParameter("editable");
1446
1447
1448 if ((null == editable) || (editable.length() == 0)) {
1449 editable = ((EditorForm) form).getEditable();
1450 }
1451
1452
1453 if (null == editable || editable.length() == 0) {
1454 editable = "true";
1455 }
1456
1457 ((EditorForm) form).setEditable(editable);
1458 ((EditorForm) form).setDocCategory(docCategory);
1459 ((EditorForm) form).setDocType(docType);
1460 ((EditorForm) form).setDocFormat(docFormat);
1461 ((EditorForm) form).setDocId(docId);
1462 ((EditorForm) form).setInstanceId(instanceId);
1463
1464
1465 DocumentEditor documentEditor = DocumentEditorFactory.getInstance()
1466 .getDocumentEditor(docCategory, docType, docFormat);
1467
1468 documentForm = documentEditor.showBibs((EditorForm) form);
1469
1470 ((EditorForm) form).setDocumentForm(documentForm);
1471
1472
1473 ModelAndView modelAndView = getUIFModelAndView(form, ((EditorForm) form).getDocumentForm().getViewId());
1474 return modelAndView;
1475 }
1476
1477
1478
1479 @RequestMapping(params = "methodToCall=leaderFieldReset")
1480 public ModelAndView resetLeaderField(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
1481 HttpServletRequest request, HttpServletResponse response) {
1482 LOG.debug("Inside the clear leader method");
1483 EditorForm editForm = (EditorForm) form;
1484 WorkBibMarcForm workBibMarcForm = (WorkBibMarcForm) editForm.getDocumentForm();
1485 workBibMarcForm.setLeaderField(new LeaderField());
1486 ((EditorForm) form).setDocumentForm(workBibMarcForm);
1487 return navigate(form, result, request, response);
1488 }
1489
1490
1491 @RequestMapping(params = "methodToCall=createSerialReceiving")
1492 public ModelAndView createSerialReceiving(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
1493 HttpServletRequest request, HttpServletResponse response) {
1494 LOG.debug("Inside the createSerialReceiving method");
1495 ModelAndView modelAndView = getUIFModelAndView(form, ((EditorForm) form).getDocumentForm().getViewId());
1496 return modelAndView;
1497
1498 }
1499
1500
1501 @RequestMapping(params = "methodToCall=loadControlField006")
1502 public ModelAndView loadControlField006(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
1503 HttpServletRequest request, HttpServletResponse response) {
1504 ((EditorForm) form).setDisplayField006("true");
1505 WorkBibMarcForm workBibMarcForm = (WorkBibMarcForm) ((EditorForm) form).getDocumentForm();
1506 String controlField006Format = workBibMarcForm.getMarcControlFields().getValue();
1507 ControlField006 controlFiled006= new ControlField006();
1508 controlFiled006.setFormat(workBibMarcForm.getMarcControlFields().getValue());
1509 workBibMarcForm.getMarcControlFields().setControlField006(controlFiled006);
1510
1511 workBibMarcForm.getMarcControlFields().setMapVisible("false");
1512 workBibMarcForm.getMarcControlFields().setBooksVisible("false");
1513 workBibMarcForm.getMarcControlFields().setMusicVisible("false");
1514 workBibMarcForm.getMarcControlFields().setComputerFilesVisible("false");
1515 workBibMarcForm.getMarcControlFields().setContinuingResourcesVisible("false");
1516 workBibMarcForm.getMarcControlFields().setMixedMaterialVisible("false");
1517 workBibMarcForm.getMarcControlFields().setVisualMaterialsVisible("false");
1518
1519 if (controlField006Format.equalsIgnoreCase("e") || controlField006Format.equalsIgnoreCase("f")) {
1520 workBibMarcForm.getMarcControlFields().setMapVisible("true");
1521 } else if (controlField006Format.equalsIgnoreCase("a") || controlField006Format.equalsIgnoreCase("t")) {
1522 workBibMarcForm.getMarcControlFields().setBooksVisible("true");
1523 } else if (controlField006Format.equalsIgnoreCase("c") || controlField006Format.equalsIgnoreCase("d") ||
1524 controlField006Format.equalsIgnoreCase("i") || controlField006Format.equalsIgnoreCase("j")) {
1525 workBibMarcForm.getMarcControlFields().setMusicVisible("true");
1526 } else if (controlField006Format.equalsIgnoreCase("m")) {
1527 workBibMarcForm.getMarcControlFields().setComputerFilesVisible("true");
1528 } else if (controlField006Format.equalsIgnoreCase("s")) {
1529 workBibMarcForm.getMarcControlFields().setContinuingResourcesVisible("true");
1530 } else if (controlField006Format.equalsIgnoreCase("p")) {
1531 workBibMarcForm.getMarcControlFields().setMixedMaterialVisible("true");
1532 } else if (controlField006Format.equalsIgnoreCase("g") || controlField006Format.equalsIgnoreCase("k") ||
1533 controlField006Format.equalsIgnoreCase("o") || controlField006Format.equalsIgnoreCase("r")) {
1534 workBibMarcForm.getMarcControlFields().setVisualMaterialsVisible("true");
1535 }
1536 ((EditorForm) form).setDocumentForm(workBibMarcForm);
1537 return navigate(form, result, request, response);
1538 }
1539
1540 @RequestMapping(params = "methodToCall=loadControlField007")
1541 public ModelAndView loadControlField007(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
1542 HttpServletRequest request, HttpServletResponse response) {
1543 ((EditorForm) form).setDisplayField007("true");
1544 WorkBibMarcForm workBibMarcForm = (WorkBibMarcForm) ((EditorForm) form).getDocumentForm();
1545 String controlField007Format = workBibMarcForm.getMarcControlFields().getValue007();
1546 ControlField007 controlFiled007= new ControlField007();
1547 controlFiled007.setFormat(controlField007Format);
1548 workBibMarcForm.getMarcControlFields().setControlField007(controlFiled007);
1549
1550 workBibMarcForm.getMarcControlFields().setMapVisible007("false");
1551 workBibMarcForm.getMarcControlFields().setElectronicResourcesVisible007("false");
1552 workBibMarcForm.getMarcControlFields().setGlobeVisible007("false");
1553 workBibMarcForm.getMarcControlFields().setTactileMaterialVisible007("false");
1554 workBibMarcForm.getMarcControlFields().setProjectGraphicVisible007("false");
1555 workBibMarcForm.getMarcControlFields().setMicroFormVisible007("false");
1556 workBibMarcForm.getMarcControlFields().setNonProjectedGraphicVisible007("false");
1557 workBibMarcForm.getMarcControlFields().setMotionPictureVisible007("false");
1558 workBibMarcForm.getMarcControlFields().setKitVisible007("false");
1559 workBibMarcForm.getMarcControlFields().setNotatedMusicVisible007("false");
1560 workBibMarcForm.getMarcControlFields().setRemoteSensingImageVisible007("false");
1561 workBibMarcForm.getMarcControlFields().setSoundRecordingVisible007("false");
1562 workBibMarcForm.getMarcControlFields().setTextVisible007("false");
1563 workBibMarcForm.getMarcControlFields().setVideoRecordingVisible007("false");
1564 workBibMarcForm.getMarcControlFields().setUnspecifiedVisible007("false");
1565
1566 if(controlField007Format.equalsIgnoreCase("a")){
1567 workBibMarcForm.getMarcControlFields().setMapVisible007("true");
1568 }else if(controlField007Format.equalsIgnoreCase("c")){
1569 workBibMarcForm.getMarcControlFields().setElectronicResourcesVisible007("true");
1570 }
1571 else if(controlField007Format.equalsIgnoreCase("d")){
1572 workBibMarcForm.getMarcControlFields().setGlobeVisible007("true");
1573 }
1574 else if(controlField007Format.equalsIgnoreCase("f")){
1575 workBibMarcForm.getMarcControlFields().setTactileMaterialVisible007("true");
1576 }
1577 else if(controlField007Format.equalsIgnoreCase("g")){
1578 workBibMarcForm.getMarcControlFields().setProjectGraphicVisible007("true");
1579 }
1580 else if(controlField007Format.equalsIgnoreCase("h")){
1581 workBibMarcForm.getMarcControlFields().setMicroFormVisible007("true");
1582 }
1583 else if(controlField007Format.equalsIgnoreCase("k")){
1584 workBibMarcForm.getMarcControlFields().setNonProjectedGraphicVisible007("true");
1585 }
1586 else if(controlField007Format.equalsIgnoreCase("m")){
1587 workBibMarcForm.getMarcControlFields().setMotionPictureVisible007("true");
1588 }
1589 else if(controlField007Format.equalsIgnoreCase("o")){
1590 workBibMarcForm.getMarcControlFields().setKitVisible007("true");
1591 }
1592 else if(controlField007Format.equalsIgnoreCase("q")){
1593 workBibMarcForm.getMarcControlFields().setNotatedMusicVisible007("true");
1594 }
1595 else if(controlField007Format.equalsIgnoreCase("r")){
1596 workBibMarcForm.getMarcControlFields().setRemoteSensingImageVisible007("true");
1597 }
1598 else if(controlField007Format.equalsIgnoreCase("s")){
1599 workBibMarcForm.getMarcControlFields().setSoundRecordingVisible007("true");
1600 }
1601 else if(controlField007Format.equalsIgnoreCase("t")){
1602 workBibMarcForm.getMarcControlFields().setTextVisible007("true");
1603 }
1604 else if(controlField007Format.equalsIgnoreCase("v")){
1605 workBibMarcForm.getMarcControlFields().setVideoRecordingVisible007("true");
1606 }
1607 else if(controlField007Format.equalsIgnoreCase("z")){
1608 workBibMarcForm.getMarcControlFields().setUnspecifiedVisible007("true");
1609 }
1610 ((EditorForm) form).setDocumentForm(workBibMarcForm);
1611
1612 return navigate(form, result, request, response);
1613 }
1614
1615 @RequestMapping(params = "methodToCall=loadControlField008")
1616 public ModelAndView loadControlField008(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
1617 HttpServletRequest request, HttpServletResponse response) {
1618 ((EditorForm) form).setDisplayField008("true");
1619 WorkBibMarcForm workBibMarcForm = (WorkBibMarcForm) ((EditorForm) form).getDocumentForm();
1620 String controlField008Format = workBibMarcForm.getMarcControlFields().getValue008();
1621 workBibMarcForm.getMarcControlFields().setControlField008(new ControlField008());
1622
1623
1624 workBibMarcForm.getMarcControlFields().setMapVisible008("false");
1625 workBibMarcForm.getMarcControlFields().setBooksVisible008("false");
1626 workBibMarcForm.getMarcControlFields().setMusicVisible008("false");
1627 workBibMarcForm.getMarcControlFields().setComputerFilesVisible008("false");
1628 workBibMarcForm.getMarcControlFields().setContinuingResourcesVisible008("false");
1629 workBibMarcForm.getMarcControlFields().setMixedMaterialVisible008("false");
1630 workBibMarcForm.getMarcControlFields().setVisualMaterialsVisible008("false");
1631
1632 if (controlField008Format.equalsIgnoreCase("map")) {
1633 workBibMarcForm.getMarcControlFields().setMapVisible008("true");
1634 } else if (controlField008Format.equalsIgnoreCase("books")) {
1635 workBibMarcForm.getMarcControlFields().setBooksVisible008("true");
1636 } else if (controlField008Format.equalsIgnoreCase("music")) {
1637 workBibMarcForm.getMarcControlFields().setMusicVisible008("true");
1638 } else if (controlField008Format.equalsIgnoreCase("computer")) {
1639 workBibMarcForm.getMarcControlFields().setComputerFilesVisible008("true");
1640 } else if (controlField008Format.equalsIgnoreCase("countRes")) {
1641 workBibMarcForm.getMarcControlFields().setContinuingResourcesVisible008("true");
1642 } else if (controlField008Format.equalsIgnoreCase("mixMat")) {
1643 workBibMarcForm.getMarcControlFields().setMixedMaterialVisible008("true");
1644 } else if (controlField008Format.equalsIgnoreCase("visMat")) {
1645 workBibMarcForm.getMarcControlFields().setVisualMaterialsVisible008("true");
1646 }
1647
1648 ((EditorForm) form).setDocumentForm(workBibMarcForm);
1649 return navigate(form, result, request, response);
1650 }
1651
1652 @RequestMapping(params = "methodToCall=addCoverageSection")
1653 public ModelAndView addCoverageSection(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
1654 HttpServletRequest request, HttpServletResponse response) {
1655 if (!isFormInitialized) {
1656 super.start(form, result, request, response);
1657 isFormInitialized = true;
1658 }
1659 EditorForm editorForm = (EditorForm) form;
1660 String docCategory = request.getParameter("docCategory");
1661 String docType = request.getParameter("docType");
1662 String docFormat = request.getParameter("docFormat");
1663 if (docCategory == null) {
1664 docCategory = editorForm.getDocCategory();
1665 }
1666 if (docType == null) {
1667 docType = editorForm.getDocType();
1668 }
1669 if (docFormat == null) {
1670 docFormat = editorForm.getDocFormat();
1671 }
1672
1673 DocumentEditor documentEditor = DocumentEditorFactory.getInstance()
1674 .getDocumentEditor(docCategory, docType, docFormat);
1675
1676 WorkEInstanceOlemlForm workEInstanceOlemlForm = (WorkEInstanceOlemlForm) editorForm.getDocumentForm();
1677 int index = Integer.parseInt(form.getActionParamaterValue(UifParameters.SELECTED_LINE_INDEX));
1678 workEInstanceOlemlForm.getSelectedEHoldings().getExtentOfOwnership().get(0).getCoverages().getCoverage().add(new Coverage());
1679 return super.navigate(editorForm, result, request, response);
1680 }
1681
1682 @RequestMapping(params = "methodToCall=removeCoverageSection")
1683 public ModelAndView removeCoverageSection(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
1684 HttpServletRequest request, HttpServletResponse response) {
1685 if (!isFormInitialized) {
1686 super.start(form, result, request, response);
1687 isFormInitialized = true;
1688 }
1689 EditorForm editorForm = (EditorForm) form;
1690 String docCategory = request.getParameter("docCategory");
1691 String docType = request.getParameter("docType");
1692 String docFormat = request.getParameter("docFormat");
1693 if (docCategory == null) {
1694 docCategory = editorForm.getDocCategory();
1695 }
1696 if (docType == null) {
1697 docType = editorForm.getDocType();
1698 }
1699 if (docFormat == null) {
1700 docFormat = editorForm.getDocFormat();
1701 }
1702
1703 DocumentEditor documentEditor = DocumentEditorFactory.getInstance()
1704 .getDocumentEditor(docCategory, docType, docFormat);
1705
1706 WorkEInstanceOlemlForm workEInstanceOlemlForm = (WorkEInstanceOlemlForm) editorForm.getDocumentForm();
1707 int index = Integer.parseInt(form.getActionParamaterValue(UifParameters.SELECTED_LINE_INDEX));
1708 if(workEInstanceOlemlForm.getSelectedEHoldings().getExtentOfOwnership().get(0).getCoverages().getCoverage().size()>1){
1709 workEInstanceOlemlForm.getSelectedEHoldings().getExtentOfOwnership().get(0).getCoverages().getCoverage().remove(index);
1710 }
1711 return super.navigate(editorForm, result, request, response);
1712 }
1713
1714 @RequestMapping(params = "methodToCall=addPerpetualAccessSection")
1715 public ModelAndView addPerpetualAccessSection(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
1716 HttpServletRequest request, HttpServletResponse response) {
1717 if (!isFormInitialized) {
1718 super.start(form, result, request, response);
1719 isFormInitialized = true;
1720 }
1721 EditorForm editorForm = (EditorForm) form;
1722 String docCategory = request.getParameter("docCategory");
1723 String docType = request.getParameter("docType");
1724 String docFormat = request.getParameter("docFormat");
1725 if (docCategory == null) {
1726 docCategory = editorForm.getDocCategory();
1727 }
1728 if (docType == null) {
1729 docType = editorForm.getDocType();
1730 }
1731 if (docFormat == null) {
1732 docFormat = editorForm.getDocFormat();
1733 }
1734
1735 DocumentEditor documentEditor = DocumentEditorFactory.getInstance()
1736 .getDocumentEditor(docCategory, docType, docFormat);
1737
1738 WorkEInstanceOlemlForm workEInstanceOlemlForm = (WorkEInstanceOlemlForm) editorForm.getDocumentForm();
1739
1740
1741
1742
1743
1744 workEInstanceOlemlForm.getSelectedEHoldings().getExtentOfOwnership().get(0).getPerpetualAccesses().getPerpetualAccess().add(new PerpetualAccess());
1745 return super.navigate(editorForm, result, request, response);
1746 }
1747
1748 @RequestMapping(params = "methodToCall=removePerpetualAccessSection")
1749 public ModelAndView removePerpetualAccessSection(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
1750 HttpServletRequest request, HttpServletResponse response) {
1751 if (!isFormInitialized) {
1752 super.start(form, result, request, response);
1753 isFormInitialized = true;
1754 }
1755 EditorForm editorForm = (EditorForm) form;
1756 String docCategory = request.getParameter("docCategory");
1757 String docType = request.getParameter("docType");
1758 String docFormat = request.getParameter("docFormat");
1759 if (docCategory == null) {
1760 docCategory = editorForm.getDocCategory();
1761 }
1762 if (docType == null) {
1763 docType = editorForm.getDocType();
1764 }
1765 if (docFormat == null) {
1766 docFormat = editorForm.getDocFormat();
1767 }
1768
1769 DocumentEditor documentEditor = DocumentEditorFactory.getInstance()
1770 .getDocumentEditor(docCategory, docType, docFormat);
1771
1772 WorkEInstanceOlemlForm workEInstanceOlemlForm = (WorkEInstanceOlemlForm) editorForm.getDocumentForm();
1773 int index = Integer.parseInt(form.getActionParamaterValue(UifParameters.SELECTED_LINE_INDEX));
1774 if(workEInstanceOlemlForm.getSelectedEHoldings().getExtentOfOwnership().get(0).getPerpetualAccesses().getPerpetualAccess().size()>1){
1775 workEInstanceOlemlForm.getSelectedEHoldings().getExtentOfOwnership().get(0).getPerpetualAccesses().getPerpetualAccess().remove(index);
1776 }
1777 return super.navigate(editorForm, result, request, response);
1778 }
1779
1780 @RequestMapping(params = "methodToCall=addOleEInstanceHoldingNotes")
1781 public ModelAndView addOleEInstanceHoldingNotes(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
1782 HttpServletRequest request, HttpServletResponse response) {
1783 if (!isFormInitialized) {
1784 super.start(form, result, request, response);
1785 isFormInitialized = true;
1786 }
1787 EditorForm editorForm = (EditorForm) form;
1788 String docCategory = request.getParameter("docCategory");
1789 String docType = request.getParameter("docType");
1790 String docFormat = request.getParameter("docFormat");
1791 if (docCategory == null) {
1792 docCategory = editorForm.getDocCategory();
1793 }
1794 if (docType == null) {
1795 docType = editorForm.getDocType();
1796 }
1797 if (docFormat == null) {
1798 docFormat = editorForm.getDocFormat();
1799 }
1800
1801 DocumentEditor documentEditor = DocumentEditorFactory.getInstance()
1802 .getDocumentEditor(docCategory, docType, docFormat);
1803
1804 WorkEInstanceOlemlForm workEInstanceOlemlForm = (WorkEInstanceOlemlForm) editorForm.getDocumentForm();
1805 workEInstanceOlemlForm.getSelectedEHoldings().getNote().add(new Note());
1806 return super.navigate(editorForm, result, request, response);
1807 }
1808
1809 @RequestMapping(params = "methodToCall=removeOleEInstanceHoldingNotes")
1810 public ModelAndView removeOleEInstanceHoldingNotes(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
1811 HttpServletRequest request, HttpServletResponse response) {
1812 if (!isFormInitialized) {
1813 super.start(form, result, request, response);
1814 isFormInitialized = true;
1815 }
1816 EditorForm editorForm = (EditorForm) form;
1817 String docCategory = request.getParameter("docCategory");
1818 String docType = request.getParameter("docType");
1819 String docFormat = request.getParameter("docFormat");
1820 if (docCategory == null) {
1821 docCategory = editorForm.getDocCategory();
1822 }
1823 if (docType == null) {
1824 docType = editorForm.getDocType();
1825 }
1826 if (docFormat == null) {
1827 docFormat = editorForm.getDocFormat();
1828 }
1829
1830 DocumentEditor documentEditor = DocumentEditorFactory.getInstance()
1831 .getDocumentEditor(docCategory, docType, docFormat);
1832
1833 WorkEInstanceOlemlForm workEInstanceOlemlForm = (WorkEInstanceOlemlForm) editorForm.getDocumentForm();
1834 int index = Integer.parseInt(form.getActionParamaterValue(UifParameters.SELECTED_LINE_INDEX));
1835 if(workEInstanceOlemlForm.getSelectedEHoldings().getNote().size()>1){
1836 workEInstanceOlemlForm.getSelectedEHoldings().getNote().remove(index);
1837 }
1838 return super.navigate(editorForm, result, request, response);
1839 }
1840
1841 @RequestMapping(params = "methodToCall=printCallSlip")
1842 public void printCallSlip(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result, HttpServletRequest request, HttpServletResponse response) {
1843 String formKey = request.getParameter("formKey");
1844 EditorForm editorForm = (EditorForm) GlobalVariables.getUifFormManager().getSessionForm(formKey);
1845 generateCallSlip(editorForm, response);
1846 }
1847
1848 private void generateCallSlip(EditorForm editorForm, HttpServletResponse response) {
1849 LOG.debug("Creating pdf");
1850 String title = "", author = "", callNumber = "", location = "", copyNumber = "", enumeration = "", chronology = "", barcode = "";
1851 SearchResponse searchResponse = null;
1852 SearchParams searchParams = new SearchParams();
1853 SearchField searchField1 = searchParams.buildSearchField("item", "ItemIdentifier_search", editorForm.getDocId());
1854 searchParams.getSearchConditions().add(searchParams.buildSearchCondition("OR", searchField1, "AND"));
1855 searchParams.getSearchResultFields().add(searchParams.buildSearchResultField("bibliographic", "Title"));
1856 searchParams.getSearchResultFields().add(searchParams.buildSearchResultField("bibliographic", "Author"));
1857 searchParams.getSearchResultFields().add(searchParams.buildSearchResultField("item", "CallNumber"));
1858 searchParams.getSearchResultFields().add(searchParams.buildSearchResultField("item", "LocationName"));
1859 searchParams.getSearchResultFields().add(searchParams.buildSearchResultField("item", "CopyNumber"));
1860 searchParams.getSearchResultFields().add(searchParams.buildSearchResultField("item", "enumeration"));
1861 searchParams.getSearchResultFields().add(searchParams.buildSearchResultField("item", "chronology"));
1862 searchParams.getSearchResultFields().add(searchParams.buildSearchResultField("item", "ItemBarcode"));
1863 searchParams.getSearchResultFields().add(searchParams.buildSearchResultField("holdings", "CallNumber"));
1864 searchParams.getSearchResultFields().add(searchParams.buildSearchResultField("holdings", "LocationName"));
1865 try {
1866 searchResponse = getDocstoreClientLocator().getDocstoreClient().search(searchParams);
1867 } catch (Exception e) {
1868 LOG.error(e, e);
1869 }
1870 if (CollectionUtils.isNotEmpty(searchResponse.getSearchResults())) {
1871 for (SearchResultField searchResultField : searchResponse.getSearchResults().get(0).getSearchResultFields()) {
1872 if (searchResultField.getDocType().equalsIgnoreCase(DocType.BIB.getCode()) && searchResultField.getFieldName().equalsIgnoreCase("Title")) {
1873 if (StringUtils.isBlank(title)) {
1874 title = searchResultField.getFieldValue() != null ? searchResultField.getFieldValue() : "";
1875 }
1876 } else if (searchResultField.getDocType().equalsIgnoreCase(DocType.BIB.getCode()) && searchResultField.getFieldName().equalsIgnoreCase("Author")) {
1877 if (StringUtils.isBlank(author)) {
1878 author = searchResultField.getFieldValue() != null ? searchResultField.getFieldValue() : "";
1879 }
1880 } else if (searchResultField.getDocType().equalsIgnoreCase(DocType.ITEM.getCode()) && searchResultField.getFieldName().equalsIgnoreCase("CallNumber")) {
1881 callNumber = searchResultField.getFieldValue() != null ? searchResultField.getFieldValue() : "";
1882 } else if (searchResultField.getDocType().equalsIgnoreCase(DocType.ITEM.getCode()) && searchResultField.getFieldName().equalsIgnoreCase("LocationName")) {
1883 location = searchResultField.getFieldValue() != null ? searchResultField.getFieldValue() : "";
1884 } else if (searchResultField.getDocType().equalsIgnoreCase(DocType.ITEM.getCode()) && searchResultField.getFieldName().equalsIgnoreCase("CopyNumber")) {
1885 copyNumber = searchResultField.getFieldValue() != null ? searchResultField.getFieldValue() : "";
1886 } else if (searchResultField.getDocType().equalsIgnoreCase(DocType.ITEM.getCode()) && searchResultField.getFieldName().equalsIgnoreCase("enumeration")) {
1887 enumeration = searchResultField.getFieldValue() != null ? searchResultField.getFieldValue() : "";
1888 } else if (searchResultField.getDocType().equalsIgnoreCase(DocType.ITEM.getCode()) && searchResultField.getFieldName().equalsIgnoreCase("chronology")) {
1889 chronology = searchResultField.getFieldValue() != null ? searchResultField.getFieldValue() : "";
1890 } else if (searchResultField.getDocType().equalsIgnoreCase(DocType.ITEM.getCode()) && searchResultField.getFieldName().equalsIgnoreCase("ItemBarcode")) {
1891 barcode = searchResultField.getFieldValue() != null ? searchResultField.getFieldValue() : "";
1892 } else if (searchResultField.getDocType().equalsIgnoreCase(DocType.HOLDINGS.getCode()) && searchResultField.getFieldName().equalsIgnoreCase("CallNumber")) {
1893 if (StringUtils.isBlank(callNumber)) {
1894 callNumber = searchResultField.getFieldValue() != null ? searchResultField.getFieldValue() : "";
1895 }
1896 } else if (searchResultField.getDocType().equalsIgnoreCase(DocType.HOLDINGS.getCode()) && searchResultField.getFieldName().equalsIgnoreCase("LocationName")) {
1897 if (StringUtils.isBlank(location)) {
1898 location = searchResultField.getFieldValue() != null ? searchResultField.getFieldValue() : "";
1899 }
1900 }
1901 }
1902 }
1903 String fileName = "Call/Paging Slip" + "_" + (editorForm.getTitle() != null ? editorForm.getTitle() : "") + "_" + new Date(System.currentTimeMillis()) + ".pdf";
1904 if (LOG.isInfoEnabled()) {
1905 LOG.info("File Created :" + title + "file name ::" + fileName + "::");
1906 }
1907 try {
1908 Document document = this.getDocument(0, 0, 5, 5);
1909 OutputStream outputStream = null;
1910 response.setContentType("application/pdf");
1911
1912 outputStream = response.getOutputStream();
1913 PdfWriter.getInstance(document, outputStream);
1914 Font boldFont = new Font(Font.TIMES_ROMAN, 15, Font.BOLD);
1915 document.open();
1916 document.newPage();
1917 PdfPTable pdfTable = new PdfPTable(3);
1918 pdfTable.setWidths(new int[]{20, 2, 30});
1919 Paragraph paraGraph = new Paragraph();
1920 paraGraph.setAlignment(Element.ALIGN_CENTER);
1921 paraGraph.add(new Chunk("Call/Paging Slip", boldFont));
1922 paraGraph.add(Chunk.NEWLINE);
1923 paraGraph.add(Chunk.NEWLINE);
1924 paraGraph.add(Chunk.NEWLINE);
1925 document.add(paraGraph);
1926
1927 pdfTable.addCell(getPdfPCellInJustified("Title"));
1928 pdfTable.addCell(getPdfPCellInLeft(":"));
1929 pdfTable.addCell(getPdfPCellInJustified(title));
1930
1931 pdfTable.addCell(getPdfPCellInJustified("Author"));
1932 pdfTable.addCell(getPdfPCellInLeft(":"));
1933 pdfTable.addCell(getPdfPCellInJustified(author));
1934
1935 pdfTable.addCell(getPdfPCellInJustified("Call Number"));
1936 pdfTable.addCell(getPdfPCellInLeft(":"));
1937 pdfTable.addCell(getPdfPCellInJustified(callNumber));
1938
1939 pdfTable.addCell(getPdfPCellInJustified("Location"));
1940 pdfTable.addCell(getPdfPCellInLeft(":"));
1941 pdfTable.addCell(getPdfPCellInJustified(location));
1942
1943 pdfTable.addCell(getPdfPCellInJustified("Copy Number"));
1944 pdfTable.addCell(getPdfPCellInLeft(":"));
1945 pdfTable.addCell(getPdfPCellInJustified(copyNumber));
1946
1947 pdfTable.addCell(getPdfPCellInJustified("Enumeration"));
1948 pdfTable.addCell(getPdfPCellInLeft(":"));
1949 pdfTable.addCell(getPdfPCellInJustified(enumeration));
1950
1951 pdfTable.addCell(getPdfPCellInJustified("Chronology"));
1952 pdfTable.addCell(getPdfPCellInLeft(":"));
1953 pdfTable.addCell(getPdfPCellInJustified(chronology));
1954
1955 pdfTable.addCell(getPdfPCellInJustified("Barcode"));
1956 pdfTable.addCell(getPdfPCellInLeft(":"));
1957 pdfTable.addCell(getPdfPCellInJustified(barcode));
1958
1959 document.add(pdfTable);
1960 document.close();
1961 outputStream.flush();
1962 outputStream.close();
1963 } catch (Exception e) {
1964 LOG.error(e, e);
1965 }
1966 }
1967
1968 private PdfPCell getPdfPCellInJustified(String chunk) {
1969 PdfPCell pdfPCell = new PdfPCell(new Paragraph(new Chunk(chunk)));
1970 pdfPCell.setBorder(pdfPCell.NO_BORDER);
1971 pdfPCell.setHorizontalAlignment(pdfPCell.ALIGN_JUSTIFIED);
1972 return pdfPCell;
1973 }
1974
1975 private PdfPCell getPdfPCellInLeft(String chunk) {
1976 PdfPCell pdfPCell = new PdfPCell(new Paragraph(new Chunk(chunk)));
1977 pdfPCell.setBorder(pdfPCell.NO_BORDER);
1978 pdfPCell.setHorizontalAlignment(pdfPCell.ALIGN_LEFT);
1979 return pdfPCell;
1980 }
1981
1982 public Document getDocument(float f1, float f2, float f3, float f4) {
1983 Document document = new Document(PageSize.A4);
1984 document.setMargins(f1, f2, f3, f4);
1985 return document;
1986 }
1987
1988 }