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.OLEPropertyConstants;
12 import org.kuali.ole.deliver.bo.OlePatronDocument;
13 import org.kuali.ole.describe.bo.*;
14 import org.kuali.ole.describe.bo.marc.structuralfields.LeaderField;
15 import org.kuali.ole.describe.bo.marc.structuralfields.controlfield006.ControlField006;
16 import org.kuali.ole.describe.bo.marc.structuralfields.controlfield008.ControlField008;
17 import org.kuali.ole.describe.bo.marc.structuralfields.controlfield007.ControlField007;
18 import org.kuali.ole.describe.form.EditorForm;
19 import org.kuali.ole.describe.form.WorkBibMarcForm;
20 import org.kuali.ole.describe.form.WorkEInstanceOlemlForm;
21 import org.kuali.ole.describe.form.WorkInstanceOlemlForm;
22 import org.kuali.ole.describe.service.DiscoveryHelperService;
23 import org.kuali.ole.docstore.common.client.DocstoreClientLocator;
24 import org.kuali.ole.docstore.common.document.BibTree;
25 import org.kuali.ole.docstore.common.document.config.DocFieldConfig;
26 import org.kuali.ole.docstore.common.document.config.DocFormatConfig;
27 import org.kuali.ole.docstore.common.document.config.DocTypeConfig;
28 import org.kuali.ole.docstore.common.document.config.DocumentSearchConfig;
29 import org.kuali.ole.docstore.common.document.content.instance.*;
30 import org.kuali.ole.docstore.common.search.*;
31 import org.kuali.ole.docstore.model.bo.WorkBibDocument;
32 import org.kuali.ole.docstore.model.bo.WorkInstanceDocument;
33 import org.kuali.ole.docstore.model.bo.WorkItemDocument;
34 import org.kuali.ole.docstore.model.enums.DocFormat;
35 import org.kuali.ole.docstore.model.enums.DocType;
36 import org.kuali.ole.select.bo.OLEDonor;
37 import org.kuali.ole.sys.context.SpringContext;
38 import org.kuali.rice.core.api.config.property.ConfigContext;
39 import org.kuali.rice.kim.api.permission.PermissionService;
40 import org.kuali.rice.kim.api.services.KimApiServiceLocator;
41 import org.kuali.rice.krad.service.KRADServiceLocator;
42 import org.kuali.rice.krad.uif.UifParameters;
43 import org.kuali.rice.krad.uif.container.CollectionGroup;
44 import org.kuali.rice.krad.uif.util.ObjectPropertyUtils;
45 import org.kuali.rice.krad.uif.view.View;
46 import org.kuali.rice.krad.util.GlobalVariables;
47 import org.kuali.rice.krad.web.controller.UifControllerBase;
48 import org.kuali.rice.krad.web.form.UifFormBase;
49 import org.springframework.stereotype.Controller;
50 import org.springframework.validation.BindingResult;
51 import org.springframework.web.bind.annotation.ModelAttribute;
52 import org.springframework.web.bind.annotation.RequestMapping;
53 import org.springframework.web.servlet.ModelAndView;
54
55 import javax.servlet.http.HttpServletRequest;
56 import javax.servlet.http.HttpServletResponse;
57 import java.io.IOException;
58 import java.io.OutputStream;
59 import java.sql.*;
60 import java.util.*;
61 import java.util.Date;
62 import java.util.List;
63
64
65
66
67
68
69
70
71
72 @Controller
73 @RequestMapping(value = "/editorcontroller")
74
75 public class EditorController extends UifControllerBase {
76
77 private DocumentEditor editor;
78 private EditorFormDataHandler editorFormDataHandler;
79 private DiscoveryHelperService discoveryHelperService;
80 private boolean isFormInitialized = false;
81 private DocstoreClientLocator docstoreClientLocator;
82
83 public DocstoreClientLocator getDocstoreClientLocator() {
84 if (null == docstoreClientLocator) {
85 return SpringContext.getBean(DocstoreClientLocator.class);
86 }
87 return docstoreClientLocator;
88 }
89
90 private static final Logger LOG = Logger.getLogger(EditorController.class);
91
92 private boolean canDeleteItem(String principalId) {
93 PermissionService service = KimApiServiceLocator.getPermissionService();
94 return service.hasPermission(principalId, OLEConstants.CAT_NAMESPACE, OLEConstants.INSTANCE_EDITOR_DELETE_ITEM);
95 }
96
97 private boolean canDeleteInstance(String principalId) {
98 PermissionService service = KimApiServiceLocator.getPermissionService();
99 return service.hasPermission(principalId, OLEConstants.CAT_NAMESPACE, OLEConstants.INSTANCE_EDITOR_DELETE_INSTANCE);
100 }
101
102 private boolean canAddItem(String principalId) {
103 PermissionService service = KimApiServiceLocator.getPermissionService();
104 return service.hasPermission(principalId, OLEConstants.CAT_NAMESPACE, OLEConstants.INSTANCE_EDITOR_ADD_ITEM);
105 }
106
107 private boolean canDeleteEInstance(String principalId) {
108 PermissionService service = KimApiServiceLocator.getPermissionService();
109 return service.hasPermission(principalId, OLEConstants.CAT_NAMESPACE, OLEConstants.INSTANCE_EDITOR_DELETE_EINSTANCE);
110 }
111
112 @Override
113 protected UifFormBase createInitialForm(HttpServletRequest httpServletRequest) {
114 UifFormBase uifFormBase = null;
115 uifFormBase = new EditorForm();
116 return uifFormBase;
117 }
118
119 @RequestMapping(params = "methodToCall=copy")
120 public ModelAndView copy(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
121 HttpServletRequest request, HttpServletResponse response) {
122 if (!isFormInitialized) {
123 super.start(form, result, request, response);
124 isFormInitialized = true;
125 }
126 EditorForm editorForm = (EditorForm) form;
127 ModelAndView modelAndView = null;
128 String docCategory = request.getParameter("docCategory");
129 String docType = request.getParameter("docType");
130 String docFormat = request.getParameter("docFormat");
131 ((EditorForm) form).setDocCategory(docCategory);
132 ((EditorForm) form).setDocType(docType);
133 ((EditorForm) form).setDocFormat(docFormat);
134 DocumentEditor documentEditor = DocumentEditorFactory.getInstance()
135 .getDocumentEditor(docCategory, docType, docFormat);
136 editorForm = documentEditor.copy((EditorForm) form);
137 modelAndView = getUIFModelAndView(editorForm, "WorkEInstanceViewPage");
138 return modelAndView;
139 }
140
141 @Override
142 @RequestMapping(params = "methodToCall=start")
143 public ModelAndView start(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
144 HttpServletRequest request, HttpServletResponse response) {
145
146 if (!isFormInitialized) {
147 super.start(form, result, request, response);
148 isFormInitialized = true;
149 }
150 EditorForm editorForm = (EditorForm) form;
151 editorForm.setMainSerialReceivingHistoryList(null);
152 editorForm.setSupplementSerialReceivingHistoryList(null);
153 editorForm.setIndexSerialReceivingHistoryList(null);
154 editorForm.setBibFlag(false);
155 editorForm.setHoldingFlag(false);
156 editorForm.setItemFlag(false);
157 editorForm.seteHoldingsFlag(false);
158
159 ModelAndView modelAndView = null;
160
161 String docCategory = request.getParameter("docCategory");
162 String docType = request.getParameter("docType");
163 String docFormat = request.getParameter("docFormat");
164 String docId = request.getParameter("docId");
165 String bibId = request.getParameter("bibId");
166 String instanceId = request.getParameter("instanceId");
167 String editable = request.getParameter("editable");
168 String callNumberFlag = request.getParameter("isCallNumberFlag");
169
170
171 if (null == editable || editable.length() > 0) {
172 editable = "true";
173 }
174
175 if (docFormat == null || docFormat.length() == 0) {
176 docFormat = ((EditorForm) form).getDocFormat();
177 }
178 if (docId == null || docId.length() == 0) {
179 docId = ((EditorForm) form).getDocId();
180 }
181
182 if (DocType.ITEM.getCode().equalsIgnoreCase(docType)) {
183 ((EditorForm) form).setItemLocalIdentifier(docId);
184 }
185
186
187
188
189
190
191
192 if (Boolean.parseBoolean(editorForm.getGlobalEditFlag())) {
193 prepareGlobalEditFields(editorForm, docType);
194 }
195
196
197
198 ((EditorForm) form).setEditable(editable);
199 ((EditorForm) form).setDocCategory(docCategory);
200 ((EditorForm) form).setDocType(docType);
201 ((EditorForm) form).setDocFormat(docFormat);
202
203 if (DocFormat.MARC.getCode().equals(docFormat)) {
204 editorForm.setDocumentForm(new WorkBibMarcForm());
205 modelAndView = getUIFModelAndView(form, "WorkBibEditorViewPage");
206 } else if (DocType.INSTANCE.getCode().equals(docType) || DocType.HOLDINGS.getCode().equals(docType)) {
207 editorForm.setDocumentForm(new WorkInstanceOlemlForm());
208 modelAndView = getUIFModelAndView(form, "WorkHoldingsViewPage");
209 } else if (DocType.EINSTANCE.getCode().equals(docType) || DocType.EHOLDINGS.getCode().equals(docType)) {
210 editorForm.setDocumentForm(new WorkEInstanceOlemlForm());
211 if (Boolean.parseBoolean(editorForm.getGlobalEditFlag())) {
212 OleHoldings eHoldings = new OleHoldings();
213 eHoldings.setStatusDate(new java.sql.Date(System.currentTimeMillis()).toString());
214 eHoldings.setEResourceId(editorForm.geteResourceId());
215
216 if (eHoldings.getExtentOfOwnership() != null && eHoldings.getExtentOfOwnership().size() > 0
217 && eHoldings.getExtentOfOwnership().get(0).getCoverages() != null
218 && eHoldings.getExtentOfOwnership().get(0).getCoverages().getCoverage().size() == 0) {
219 eHoldings.getExtentOfOwnership().get(0).getCoverages().getCoverage().add(new Coverage());
220 }
221 else if (eHoldings.getExtentOfOwnership() == null || eHoldings.getExtentOfOwnership().size() == 0) {
222 eHoldings.getExtentOfOwnership().add(new ExtentOfOwnership());
223 eHoldings.getExtentOfOwnership().get(0).setCoverages(new Coverages());
224 eHoldings.getExtentOfOwnership().get(0).setPerpetualAccesses(new PerpetualAccesses());
225 }
226 if (eHoldings.getExtentOfOwnership() != null && eHoldings.getExtentOfOwnership().size() > 0
227 && eHoldings.getExtentOfOwnership().get(0).getPerpetualAccesses() != null
228 && eHoldings.getExtentOfOwnership().get(0).getPerpetualAccesses().getPerpetualAccess().size() == 0) {
229 eHoldings.getExtentOfOwnership().get(0).getCoverages().getCoverage().add(new Coverage());
230 eHoldings.getExtentOfOwnership().get(0).getPerpetualAccesses().getPerpetualAccess().add(new PerpetualAccess());
231 }
232 if (eHoldings.getNote() != null && eHoldings.getNote().size() == 0) {
233 eHoldings.getNote().add(new Note());
234 }
235 ((WorkEInstanceOlemlForm)editorForm.getDocumentForm()).setSelectedEHoldings(eHoldings);
236 }
237 modelAndView = getUIFModelAndView(form, "WorkEInstanceViewPage");
238 } else if (DocType.ITEM.getCode().equals(docType)) {
239 editorForm.setDocumentForm(new WorkInstanceOlemlForm());
240 modelAndView = getUIFModelAndView(form, "WorkItemViewPage");
241 }
242 return modelAndView;
243 }
244
245
246
247
248
249
250
251
252
253
254
255 @RequestMapping(params = "methodToCall=load")
256 public ModelAndView load(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
257 HttpServletRequest request, HttpServletResponse response) {
258
259 String tokenId = request.getParameter("tokenId");
260 EditorForm editorForm = (EditorForm) form;
261 if (tokenId != null) {
262 editorForm.setTokenId(tokenId);
263 }
264 if (editorForm.getBibId() == null) {
265 request.getSession().removeAttribute("treeDocumentList");
266 }
267 if (!isFormInitialized) {
268 super.start(form, result, request, response);
269 isFormInitialized = true;
270 }
271 editorForm.setMainSerialReceivingHistoryList(null);
272 editorForm.setSupplementSerialReceivingHistoryList(null);
273 editorForm.setIndexSerialReceivingHistoryList(null);
274 editorForm.setShowTime(true);
275
276 String docCategory = request.getParameter("docCategory");
277 String docType = request.getParameter("docType");
278 String docFormat = request.getParameter("docFormat");
279 String docId = request.getParameter("docId");
280 String bibId = request.getParameter("bibId");
281 String instanceId = request.getParameter("instanceId");
282 String editable = request.getParameter("editable");
283 String callNumberFlag = request.getParameter("isCallNumberFlag");
284 String eResourceId = request.getParameter("eResourceId");
285 String holdingsId = request.getParameter("holdingsId");
286
287
288 if ((null == editable) || (editable.length() == 0)) {
289 editable = ((EditorForm) form).getEditable();
290 }
291
292
293 if (null == editable || editable.length() == 0) {
294 editable = "true";
295 }
296
297
298
299
300
301 if (docType.equalsIgnoreCase("holdings")) {
302
303 ((EditorForm) form).setInstanceId(docId);
304 }
305 if (docType.equalsIgnoreCase("instance")) {
306 ((EditorForm) form).setInstanceId(docId);
307 }
308 ((EditorForm) form).setEditable(editable);
309 ((EditorForm) form).setDocCategory(docCategory);
310 ((EditorForm) form).setDocType(docType);
311 ((EditorForm) form).setDocFormat(docFormat);
312 ((EditorForm) form).setDocId(docId);
313 ((EditorForm) form).setBibId(bibId);
314 ((EditorForm) form).setCallNumberFlag(callNumberFlag);
315 ((EditorForm) form).setHideFooter(true);
316 boolean canDelete = canDeleteItem(GlobalVariables.getUserSession().getPrincipalId()) && canDeleteInstance(GlobalVariables.getUserSession().getPrincipalId());
317 ((EditorForm) form).setCanDelete(canDelete);
318 boolean canAdd = canAddItem(GlobalVariables.getUserSession().getPrincipalId());
319 ((EditorForm) form).setCanAdd(canAdd);
320
321 if (!canAdd) {
322 ((EditorForm) form).setEditable(String.valueOf(canAdd));
323 }
324 boolean canDeleteEInstance = canDeleteEInstance(GlobalVariables.getUserSession().getPrincipalId());
325 ((EditorForm) form).setCanDeleteEInstance(canDeleteEInstance);
326
327 if (eResourceId != null) {
328 ((EditorForm) form).seteResourceId(eResourceId);
329 }
330 if (holdingsId != null) {
331 ((EditorForm) form).setHoldingsId(holdingsId);
332 }
333
334 DocumentEditor documentEditor = DocumentEditorFactory.getInstance()
335 .getDocumentEditor(docCategory, docType, docFormat);
336
337
338
339
340
341
342
343
344 List<BibTree> bibTreeList = (List) request.getSession().getAttribute("treeDocumentList");
345 if (null != bibTreeList) {
346 ((EditorForm) form).setBibTreeList(bibTreeList);
347 }
348 if ("bibliographic".equals(editorForm.getDocType())) {
349 editorForm.setBibFlag(false);
350 }
351 if ("holdings".equals(editorForm.getDocType())) {
352 editorForm.setHoldingFlag(false);
353 }
354 if ("item".equals(editorForm.getDocType())) {
355 editorForm.setItemFlag(false);
356 }
357 if ("eHoldings".equals(editorForm.getDocType())) {
358 editorForm.seteHoldingsFlag(false);
359 }
360
361 EditorForm documentForm = null;
362
363 if (request.getSession() != null && request.getSession().getAttribute("bibTree") != null &&
364 "true".equalsIgnoreCase(request.getParameter("loadFromSession"))) {
365 BibTree bibTree = (BibTree) request.getSession().getAttribute("bibTree");
366 if (docId != null && docId.length() > 0 && !docId.equalsIgnoreCase("null")) {
367 ((EditorForm) form).setShowLeftPane(false);
368 } else {
369 ((EditorForm) form).setShowLeftPane(false);
370 ((EditorForm) form).setShowEditorFooter(false);
371 }
372 documentForm = documentEditor.createNewRecord((EditorForm) form, bibTree);
373 } else {
374
375 documentForm = documentEditor.loadDocument((EditorForm) form);
376 if (documentForm instanceof WorkInstanceOlemlForm) {
377 Item item = ((WorkInstanceOlemlForm) documentForm).getSelectedItem();
378 if (item.getCurrentBorrower() != null && !item.getCurrentBorrower().isEmpty()) {
379 OlePatronDocument olePatronDocument = KRADServiceLocator.getBusinessObjectService().findBySinglePrimaryKey(OlePatronDocument.class, item.getCurrentBorrower());
380 ((WorkInstanceOlemlForm) documentForm).setCurrentBarcode(olePatronDocument.getBarcode());
381 }
382 if (item.getProxyBorrower() != null && !item.getProxyBorrower().isEmpty()) {
383 OlePatronDocument olePatronDocument = KRADServiceLocator.getBusinessObjectService().findBySinglePrimaryKey(OlePatronDocument.class, item.getProxyBorrower());
384 ((WorkInstanceOlemlForm) documentForm).setProxyBarcode(olePatronDocument.getBarcode());
385 }
386 }
387 }
388
389
390 ((EditorForm) form).setDocumentForm(documentForm);
391
392 request.getSession().setAttribute("treeDocumentList", ((EditorForm) form).getDocumentForm().getBibTreeList());
393
394
395 getEditorFormDataHandler().buildLeftPaneData((EditorForm) form);
396
397
398 ModelAndView modelAndView = getUIFModelAndView(form, documentForm.getViewId());
399 return modelAndView;
400 }
401
402 @RequestMapping(params = "methodToCall=updateLeftPane")
403 public ModelAndView updateLeftPane(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
404 HttpServletRequest request, HttpServletResponse response) {
405 EditorForm editorForm = (EditorForm) form;
406 String hiddenVal = editorForm.getHdnUuid();
407 int hdnIndex = editorForm.getHdnIndex();
408 DiscoveryHelperService discoveryHelperService = getDiscoveryHelperService();
409 List responseFromSOLR = discoveryHelperService.getResponseFromSOLR("id", hiddenVal);
410 String docType = null;
411 for (Iterator iterator = responseFromSOLR.iterator(); iterator.hasNext(); ) {
412 Map map = (Map) iterator.next();
413 if (map.containsKey(OLEConstants.DOC_TYPE)) {
414 String list = (String) map.get(OLEConstants.DOC_TYPE);
415 docType = list;
416 break;
417 }
418 }
419 if ((docType.toString().equals(OLEConstants.ITEM_DOC_TYPE))) {
420 WorkInstanceOlemlForm instanceEditorForm = new WorkInstanceOlemlForm();
421
422
423
424
425
426
427
428 return null;
429 } else {
430
431 return getUIFModelAndView(editorForm, "WorkHoldingsViewPage");
432 }
433 }
434
435 public DiscoveryHelperService getDiscoveryHelperService() {
436 if (null == discoveryHelperService) {
437 return new DiscoveryHelperService();
438 }
439 return discoveryHelperService;
440 }
441
442 public EditorFormDataHandler getEditorFormDataHandler() {
443 if (null == editorFormDataHandler) {
444 editorFormDataHandler = new EditorFormDataHandler();
445 }
446 return editorFormDataHandler;
447 }
448
449 @RequestMapping(params = "methodToCall=EditNewInstance")
450 public ModelAndView EditNewInstance(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
451 HttpServletRequest request, HttpServletResponse response) {
452
453 EditorForm editorForm = (EditorForm) form;
454
455 BibTree bibTree = (BibTree) request.getSession().getAttribute("bibTree");
456
457
458
459
460
461 if (editorForm.getDocumentForm().getViewId().equalsIgnoreCase("WorkHoldingsViewPage")) {
462
463 DocumentEditor documentEditor = DocumentEditorFactory.getInstance()
464 .getDocumentEditor("work", "item", "oleml");
465
466 editorForm = documentEditor.createNewRecord((EditorForm) form, bibTree);
467 editorForm.setNeedToCreateInstance(false);
468
469 } else {
470
471 DocumentEditor documentEditor = DocumentEditorFactory.getInstance()
472 .getDocumentEditor("work", "bibliographic", "marc");
473
474 EditorForm marcEditorForm = documentEditor.editNewRecord(editorForm, bibTree);
475
476
477 if (!marcEditorForm.isValidInput()) {
478 return getUIFModelAndView(form, marcEditorForm.getViewId());
479 }
480
481
482 documentEditor = DocumentEditorFactory.getInstance().getDocumentEditor("work", "holdings", "oleml");
483 ((EditorForm) form).setDocCategory("work");
484 ((EditorForm) form).setDocType("holdings");
485 ((EditorForm) form).setDocFormat("oleml");
486 editorForm = documentEditor.createNewRecord((EditorForm) form, bibTree);
487 }
488
489
490 ((EditorForm) form).setDocumentForm(editorForm);
491
492
493
494
495 getEditorFormDataHandler().buildLeftPaneData((EditorForm) form);
496
497
498 ModelAndView modelAndView = getUIFModelAndView(form, editorForm.getViewId());
499 return modelAndView;
500
501 }
502
503 @RequestMapping(params = "methodToCall=save")
504 public ModelAndView save(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
505 HttpServletRequest request, HttpServletResponse response) {
506 long startTime = System.currentTimeMillis();
507 if ("bibliographic".equals(((EditorForm) form).getDocType())) {
508 ((EditorForm) form).setBibFlag(false);
509 }
510 if ("holdings".equals(((EditorForm) form).getDocType())) {
511 ((EditorForm) form).setHoldingFlag(false);
512 }
513 if ("item".equals(((EditorForm) form).getDocType())) {
514 ((EditorForm) form).setItemFlag(false);
515 }
516 if ("eHoldings".equals(((EditorForm) form).getDocType())) {
517 ((EditorForm) form).seteHoldingsFlag(false);
518 }
519 if (request.getSession() != null && request.getSession().getAttribute("bibTree") != null) {
520 DocumentEditor documentEditor = null;
521 if (((EditorForm) form).getDocId() == null || "null".equalsIgnoreCase(((EditorForm) form).getDocId())) {
522 documentEditor = DocumentEditorFactory.getInstance()
523 .getDocumentEditor("work", "item", "oleml");
524 } else {
525 documentEditor = DocumentEditorFactory.getInstance()
526 .getDocumentEditor("work", "bibliographic", "marc");
527 }
528
529 BibTree bibTree = (BibTree) request.getSession().getAttribute("bibTree");
530 EditorForm editorForm = documentEditor.editNewRecord((EditorForm) form, bibTree);
531
532
533 if (!editorForm.isValidInput()) {
534 return getUIFModelAndView(form, editorForm.getViewId());
535 }
536
537 String responseFromDocstore = documentEditor.saveDocument(bibTree, (EditorForm) form);
538 if (StringUtils.isNotEmpty(responseFromDocstore) && responseFromDocstore.contains("success")) {
539 request.getSession().setAttribute("responseBibTree", bibTree);
540
541 String url = ConfigContext.getCurrentContextConfig().getProperty(OLEPropertyConstants.OLE_URL_BASE);
542 url = url + "/portal.do?channelTitle=Import Bib&channelUrl=" + url +
543 "/ole-kr-krad/importBibController?viewId=ImportBibView&methodToCall=viewRecordNext";
544 return performRedirect(editorForm, url);
545 }
546 } else {
547 if (!isFormInitialized) {
548 super.start(form, result, request, response);
549 isFormInitialized = true;
550 }
551
552
553 String docCategory = request.getParameter("docCategory");
554 String docType = request.getParameter("docType");
555 String docFormat = request.getParameter("docFormat");
556 String docId = request.getParameter("docId");
557 String bibId = request.getParameter("bibId");
558 String instanceId = request.getParameter("instanceId");
559
560 String editable = request.getParameter("editable");
561
562 if (docType != null && docType.equalsIgnoreCase("item")) {
563 ((EditorForm) form).setItemLocalIdentifier(docId);
564 }
565
566
567
568
569
570 if ((null == editable) || (editable.length() == 0)) {
571 editable = "true";
572 }
573 if (docCategory == null || docCategory.length() == 0) {
574 docCategory = ((EditorForm) form).getDocCategory();
575 }
576 if (docType == null || docType.length() == 0) {
577 docType = ((EditorForm) form).getDocType();
578 }
579
580 if (docFormat == null || docFormat.length() == 0) {
581 docFormat = ((EditorForm) form).getDocFormat();
582 }
583 if (docId == null || docId.length() == 0) {
584 docId = ((EditorForm) form).getDocId();
585 }
586
587 ((EditorForm) form).setEditable(editable);
588 ((EditorForm) form).setDocCategory(docCategory);
589 ((EditorForm) form).setDocType(docType);
590 ((EditorForm) form).setDocFormat(docFormat);
591 ((EditorForm) form).setDocId(docId);
592 ((EditorForm) form).setBibId(bibId);
593 ((EditorForm) form).setInstanceId(instanceId);
594
595
596 DocumentEditor documentEditor = DocumentEditorFactory.getInstance()
597 .getDocumentEditor(docCategory, docType, docFormat);
598
599
600
601
602
603
604
605
606 List<BibTree> bibTreeList = (List) request.getSession().getAttribute("treeDocumentList");
607 if (null != bibTreeList) {
608 ((EditorForm) form).getDocumentForm().setBibTreeList(bibTreeList);
609 ((EditorForm) form).setBibTreeList(bibTreeList);
610 }
611 if("overwrite".equals(((EditorForm) form).getCheckOverwriteFlag())) {
612 EditorForm documentForm = documentEditor.saveDocument((EditorForm) form);
613 ((EditorForm) form).setDocumentForm(documentForm);
614 } else {
615 if (documentEditor.isValidUpdate((EditorForm) form) && ((EditorForm) form).getAllowUpdate().equals
616 ("true") || documentEditor.isValidUpdate((EditorForm) form) && ((EditorForm) form).getAllowUpdate().equals
617 ("")) {
618
619 EditorForm documentForm = documentEditor.saveDocument((EditorForm) form);
620
621 ((EditorForm) form).setDocumentForm(documentForm);
622 ((EditorForm) form).setAllowUpdate("true");
623 } else {
624 ((EditorForm) form).setAllowUpdate("false");
625
626
627 }
628
629 }
630 ((EditorForm) form).setCheckOverwriteFlag("");
631
632 request.getSession().setAttribute("treeDocumentList", ((EditorForm) form).getDocumentForm().getBibTreeList());
633
634
635 getEditorFormDataHandler().buildLeftPaneData((EditorForm) form);
636
637 }
638 ((EditorForm) form).setDisplayField006("false");
639 ((EditorForm) form).setDisplayField007("false");
640 ((EditorForm) form).setDisplayField008("false");
641 ((EditorForm) form).setBibFlag(false);
642 ((EditorForm) form).setHoldingFlag(false);
643 ((EditorForm) form).setItemFlag(false);
644 ((EditorForm) form).seteHoldingsFlag(false);
645
646 long endTime = System.currentTimeMillis();
647 ((EditorForm) form).setTotalTime(String.valueOf((endTime-startTime)/1000));
648 ModelAndView modelAndView = getUIFModelAndView(form, ((EditorForm) form).getDocumentForm().getViewId());
649 return modelAndView;
650 }
651
652
653
654
655
656
657
658
659
660
661 @RequestMapping(params = "methodToCall=addControlField006")
662 public ModelAndView addControlField(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
663 HttpServletRequest request, HttpServletResponse response) {
664 if (!isFormInitialized) {
665 super.start(form, result, request, response);
666 isFormInitialized = true;
667 }
668 EditorForm editorForm = (EditorForm) form;
669 String docCategory = request.getParameter("docCategory");
670 String docType = request.getParameter("docType");
671 String docFormat = request.getParameter("docFormat");
672 if (docCategory == null) {
673 docCategory = editorForm.getDocCategory();
674 }
675 if (docType == null) {
676 docType = editorForm.getDocType();
677 }
678 if (docFormat == null) {
679 docFormat = editorForm.getDocFormat();
680 }
681
682 DocumentEditor documentEditor = DocumentEditorFactory.getInstance()
683 .getDocumentEditor(docCategory, docType, docFormat);
684
685 editorForm = documentEditor.addORDeleteFields(editorForm, request);
686 return super.navigate(editorForm, result, request, response);
687 }
688
689
690
691
692
693
694
695
696
697
698 @RequestMapping(params = "methodToCall=removeControlField006")
699 public ModelAndView removeControlField(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
700 HttpServletRequest request, HttpServletResponse response) {
701 if (!isFormInitialized) {
702 super.start(form, result, request, response);
703 isFormInitialized = true;
704 }
705 EditorForm editorForm = (EditorForm) form;
706 String docCategory = request.getParameter("docCategory");
707 String docType = request.getParameter("docType");
708 String docFormat = request.getParameter("docFormat");
709 if (docCategory == null) {
710 docCategory = editorForm.getDocCategory();
711 }
712 if (docType == null) {
713 docType = editorForm.getDocType();
714 }
715 if (docFormat == null) {
716 docFormat = editorForm.getDocFormat();
717 }
718
719 DocumentEditor documentEditor = DocumentEditorFactory.getInstance()
720 .getDocumentEditor(docCategory, docType, docFormat);
721
722 editorForm = documentEditor.addORDeleteFields(editorForm, request);
723 return super.navigate(editorForm, result, request, response);
724 }
725
726
727
728
729
730
731
732
733
734
735
736 @RequestMapping(params = "methodToCall=addControlField007")
737 public ModelAndView addControlField007(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
738 HttpServletRequest request, HttpServletResponse response) {
739 if (!isFormInitialized) {
740 super.start(form, result, request, response);
741 isFormInitialized = true;
742 }
743 EditorForm editorForm = (EditorForm) form;
744 String docCategory = request.getParameter("docCategory");
745 String docType = request.getParameter("docType");
746 String docFormat = request.getParameter("docFormat");
747 if (docCategory == null) {
748 docCategory = editorForm.getDocCategory();
749 }
750 if (docType == null) {
751 docType = editorForm.getDocType();
752 }
753 if (docFormat == null) {
754 docFormat = editorForm.getDocFormat();
755 }
756
757 DocumentEditor documentEditor = DocumentEditorFactory.getInstance()
758 .getDocumentEditor(docCategory, docType, docFormat);
759
760 editorForm = documentEditor.addORDeleteFields(editorForm, request);
761 return super.navigate(editorForm, result, request, response);
762 }
763
764
765
766
767
768
769
770
771
772
773 @RequestMapping(params = "methodToCall=removeControlField007")
774 public ModelAndView removeControlField007(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
775 HttpServletRequest request, HttpServletResponse response) {
776 if (!isFormInitialized) {
777 super.start(form, result, request, response);
778 isFormInitialized = true;
779 }
780 EditorForm editorForm = (EditorForm) form;
781 String docCategory = request.getParameter("docCategory");
782 String docType = request.getParameter("docType");
783 String docFormat = request.getParameter("docFormat");
784 if (docCategory == null) {
785 docCategory = editorForm.getDocCategory();
786 }
787 if (docType == null) {
788 docType = editorForm.getDocType();
789 }
790 if (docFormat == null) {
791 docFormat = editorForm.getDocFormat();
792 }
793
794 DocumentEditor documentEditor = DocumentEditorFactory.getInstance()
795 .getDocumentEditor(docCategory, docType, docFormat);
796
797 editorForm = documentEditor.addORDeleteFields(editorForm, request);
798 return super.navigate(editorForm, result, request, response);
799 }
800
801
802
803
804
805
806
807
808
809
810
811 @RequestMapping(params = "methodToCall=addDataField")
812 public ModelAndView addDataField(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
813 HttpServletRequest request, HttpServletResponse response) {
814 if (!isFormInitialized) {
815 super.start(form, result, request, response);
816 isFormInitialized = true;
817 }
818 EditorForm editorForm = (EditorForm) form;
819 String docCategory = request.getParameter("docCategory");
820 String docType = request.getParameter("docType");
821 String docFormat = request.getParameter("docFormat");
822 if (docCategory == null) {
823 docCategory = editorForm.getDocCategory();
824 }
825 if (docType == null) {
826 docType = editorForm.getDocType();
827 }
828 if (docFormat == null) {
829 docFormat = editorForm.getDocFormat();
830 }
831
832 DocumentEditor documentEditor = DocumentEditorFactory.getInstance()
833 .getDocumentEditor(docCategory, docType, docFormat);
834
835 editorForm = documentEditor.addORDeleteFields(editorForm, request);
836 return super.navigate(editorForm, result, request, response);
837 }
838
839
840
841
842
843
844
845
846
847
848 @RequestMapping(params = "methodToCall=removeDataField")
849 public ModelAndView removeDataField(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
850 HttpServletRequest request, HttpServletResponse response) {
851 if (!isFormInitialized) {
852 super.start(form, result, request, response);
853 isFormInitialized = true;
854 }
855 EditorForm editorForm = (EditorForm) form;
856 String docCategory = request.getParameter("docCategory");
857 String docType = request.getParameter("docType");
858 String docFormat = request.getParameter("docFormat");
859 if (docCategory == null) {
860 docCategory = editorForm.getDocCategory();
861 }
862 if (docType == null) {
863 docType = editorForm.getDocType();
864 }
865 if (docFormat == null) {
866 docFormat = editorForm.getDocFormat();
867 }
868
869 DocumentEditor documentEditor = DocumentEditorFactory.getInstance()
870 .getDocumentEditor(docCategory, docType, docFormat);
871
872 editorForm = documentEditor.addORDeleteFields(editorForm, request);
873 return super.navigate(editorForm, result, request, response);
874 }
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916 @RequestMapping(params = "methodToCall=deleteVerify")
917 public ModelAndView deleteVerify(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
918 HttpServletRequest request, HttpServletResponse response) throws Exception {
919 ModelAndView modelAndView = null;
920 if (!isFormInitialized) {
921 super.start(form, result, request, response);
922 isFormInitialized = true;
923 }
924
925
926 String docCategory = request.getParameter("docCategory");
927 String docType = request.getParameter("docType");
928 String docFormat = request.getParameter("docFormat");
929 String docId = request.getParameter("docId");
930 ((EditorForm) form).setDocCategory(docCategory);
931 ((EditorForm) form).setDocType(docType);
932 ((EditorForm) form).setDocFormat(docFormat);
933 ((EditorForm) form).setDocId(docId);
934 ((EditorForm) form).setMessage("");
935
936 ((EditorForm) form).setHideFooter(false);
937
938 DocumentEditor documentEditor = DocumentEditorFactory.getInstance().getDocumentEditor(docCategory, docType, docFormat);
939 EditorForm documentForm = documentEditor.deleteVerify((EditorForm) form);
940 LOG.info("view id-->" + documentForm.getViewId());
941
942 EditorForm editorForm = (EditorForm) form;
943
944
945
946
947
948
949
950
951 return getUIFModelAndView(editorForm, documentForm.getViewId());
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978 }
979
980
981
982
983
984
985
986
987
988
989 @RequestMapping(params = "methodToCall=delete")
990 public ModelAndView delete(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
991 HttpServletRequest request, HttpServletResponse response) throws Exception {
992 ModelAndView modelAndView = null;
993 EditorForm editorForm = (EditorForm) form;
994 if (!isFormInitialized) {
995 super.start(form, result, request, response);
996 isFormInitialized = true;
997 }
998
999
1000 String docCategory = ((EditorForm) form).getDocCategory();
1001 String docType = ((EditorForm) form).getDocType();
1002 String docFormat = ((EditorForm) form).getDocFormat();
1003 String docId = ((EditorForm) form).getDocId();
1004
1005
1006 LOG.info("docCategory-->" + docCategory);
1007 LOG.info("docType-->" + docType);
1008 LOG.info("docFormat-->" + docFormat);
1009 LOG.info("uuid-->" + docId);
1010
1011
1012
1013
1014
1015
1016
1017
1018 DocumentEditor documentEditor = DocumentEditorFactory.getInstance().getDocumentEditor(docCategory, docType, docFormat);
1019
1020 EditorForm documentForm = documentEditor.delete((EditorForm) form);
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033 getEditorFormDataHandler().buildLeftPaneData((EditorForm) form);
1034
1035
1036 if (documentForm.isCanDeleteEHoldings() && docType.equalsIgnoreCase(DocType.EHOLDINGS.getCode())) {
1037 String url = ConfigContext.getCurrentContextConfig().getProperty(OLEPropertyConstants.OLE_URL_BASE);
1038 url = url + "/portal.do?channelTitle=Editor&channelUrl=" + url +
1039 "/ole-kr-krad/editorcontroller?viewId=EditorView&methodToCall=load&docCategory=work&docType=bibliographic&docFormat=marc&bibId=&editable=true&docId=" + editorForm.getBibId();
1040 return performRedirect(editorForm, url);
1041 }
1042
1043 return getUIFModelAndView(editorForm, documentForm.getViewId());
1044 }
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055 @RequestMapping(params = "methodToCall=addExtentOfOwnership")
1056 public ModelAndView addExtentOfOwnership(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
1057 HttpServletRequest request, HttpServletResponse response) {
1058 if (!isFormInitialized) {
1059 super.start(form, result, request, response);
1060 isFormInitialized = true;
1061 }
1062 EditorForm editorForm = (EditorForm) form;
1063 String docCategory = request.getParameter("docCategory");
1064 String docType = request.getParameter("docType");
1065 String docFormat = request.getParameter("docFormat");
1066 if (docCategory == null) {
1067 docCategory = editorForm.getDocCategory();
1068 }
1069 if (docType == null) {
1070 docType = editorForm.getDocType();
1071 }
1072 if (docFormat == null) {
1073 docFormat = editorForm.getDocFormat();
1074 }
1075
1076 DocumentEditor documentEditor = DocumentEditorFactory.getInstance()
1077 .getDocumentEditor(docCategory, docType, docFormat);
1078
1079 editorForm = documentEditor.addORRemoveExtentOfOwnership(editorForm, request);
1080 return super.navigate(editorForm, result, request, response);
1081 }
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092 @RequestMapping(params = "methodToCall=removeExtentOfOwnership")
1093 public ModelAndView removeExtentOfOwnership(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
1094 HttpServletRequest request, HttpServletResponse response) {
1095 if (!isFormInitialized) {
1096 super.start(form, result, request, response);
1097 isFormInitialized = true;
1098 }
1099 EditorForm editorForm = (EditorForm) form;
1100 String docCategory = request.getParameter("docCategory");
1101 String docType = request.getParameter("docType");
1102 String docFormat = request.getParameter("docFormat");
1103 if (docCategory == null) {
1104 docCategory = editorForm.getDocCategory();
1105 }
1106 if (docType == null) {
1107 docType = editorForm.getDocType();
1108 }
1109 if (docFormat == null) {
1110 docFormat = editorForm.getDocFormat();
1111 }
1112
1113 DocumentEditor documentEditor = DocumentEditorFactory.getInstance()
1114 .getDocumentEditor(docCategory, docType, docFormat);
1115
1116 editorForm = documentEditor.addORRemoveExtentOfOwnership(editorForm, request);
1117 return super.navigate(editorForm, result, request, response);
1118 }
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129 @RequestMapping(params = "methodToCall=addEOWHoldingNotes")
1130 public ModelAndView addEOWHoldingNotes(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
1131 HttpServletRequest request, HttpServletResponse response) {
1132 if (!isFormInitialized) {
1133 super.start(form, result, request, response);
1134 isFormInitialized = true;
1135 }
1136 EditorForm editorForm = (EditorForm) form;
1137 String docCategory = request.getParameter("docCategory");
1138 String docType = request.getParameter("docType");
1139 String docFormat = request.getParameter("docFormat");
1140 if (docCategory == null) {
1141 docCategory = editorForm.getDocCategory();
1142 }
1143 if (docType == null) {
1144 docType = editorForm.getDocType();
1145 }
1146 if (docFormat == null) {
1147 docFormat = editorForm.getDocFormat();
1148 }
1149
1150 DocumentEditor documentEditor = DocumentEditorFactory.getInstance()
1151 .getDocumentEditor(docCategory, docType, docFormat);
1152
1153 editorForm = documentEditor.addORRemoveExtentOfOwnership(editorForm, request);
1154 return super.navigate(editorForm, result, request, response);
1155 }
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166 @RequestMapping(params = "methodToCall=removeEOWHoldingNotes")
1167 public ModelAndView removeEOWHoldingNotes(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
1168 HttpServletRequest request, HttpServletResponse response) {
1169 if (!isFormInitialized) {
1170 super.start(form, result, request, response);
1171 isFormInitialized = true;
1172 }
1173 EditorForm editorForm = (EditorForm) form;
1174 String docCategory = request.getParameter("docCategory");
1175 String docType = request.getParameter("docType");
1176 String docFormat = request.getParameter("docFormat");
1177 if (docCategory == null) {
1178 docCategory = editorForm.getDocCategory();
1179 }
1180 if (docType == null) {
1181 docType = editorForm.getDocType();
1182 }
1183 if (docFormat == null) {
1184 docFormat = editorForm.getDocFormat();
1185 }
1186
1187 DocumentEditor documentEditor = DocumentEditorFactory.getInstance()
1188 .getDocumentEditor(docCategory, docType, docFormat);
1189
1190 editorForm = documentEditor.addORRemoveExtentOfOwnership(editorForm, request);
1191 return super.navigate(editorForm, result, request, response);
1192 }
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203 @RequestMapping(params = "methodToCall=addAccessInformation")
1204 public ModelAndView addAccessInformation(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
1205 HttpServletRequest request, HttpServletResponse response) {
1206 if (!isFormInitialized) {
1207 super.start(form, result, request, response);
1208 isFormInitialized = true;
1209 }
1210 EditorForm editorForm = (EditorForm) form;
1211 String docCategory = request.getParameter("docCategory");
1212 String docType = request.getParameter("docType");
1213 String docFormat = request.getParameter("docFormat");
1214 if (docCategory == null) {
1215 docCategory = editorForm.getDocCategory();
1216 }
1217 if (docType == null) {
1218 docType = editorForm.getDocType();
1219 }
1220 if (docFormat == null) {
1221 docFormat = editorForm.getDocFormat();
1222 }
1223
1224 DocumentEditor documentEditor = DocumentEditorFactory.getInstance()
1225 .getDocumentEditor(docCategory, docType, docFormat);
1226
1227 editorForm = documentEditor.addORRemoveAccessInformationAndHoldingsNotes(editorForm, request);
1228 return super.navigate(editorForm, result, request, response);
1229 }
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240 @RequestMapping(params = "methodToCall=removeAccessInformation")
1241 public ModelAndView removeAccessInformation(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
1242 HttpServletRequest request, HttpServletResponse response) {
1243 if (!isFormInitialized) {
1244 super.start(form, result, request, response);
1245 isFormInitialized = true;
1246 }
1247 EditorForm editorForm = (EditorForm) form;
1248 String docCategory = request.getParameter("docCategory");
1249 String docType = request.getParameter("docType");
1250 String docFormat = request.getParameter("docFormat");
1251 if (docCategory == null) {
1252 docCategory = editorForm.getDocCategory();
1253 }
1254 if (docType == null) {
1255 docType = editorForm.getDocType();
1256 }
1257 if (docFormat == null) {
1258 docFormat = editorForm.getDocFormat();
1259 }
1260
1261 DocumentEditor documentEditor = DocumentEditorFactory.getInstance()
1262 .getDocumentEditor(docCategory, docType, docFormat);
1263
1264 editorForm = documentEditor.addORRemoveAccessInformationAndHoldingsNotes(editorForm, request);
1265 return super.navigate(editorForm, result, request, response);
1266 }
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277 @RequestMapping(params = "methodToCall=addHoldingNotes")
1278 public ModelAndView addHoldingNotes(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
1279 HttpServletRequest request, HttpServletResponse response) {
1280 if (!isFormInitialized) {
1281 super.start(form, result, request, response);
1282 isFormInitialized = true;
1283 }
1284 EditorForm editorForm = (EditorForm) form;
1285 String docCategory = request.getParameter("docCategory");
1286 String docType = request.getParameter("docType");
1287 String docFormat = request.getParameter("docFormat");
1288 if (docCategory == null) {
1289 docCategory = editorForm.getDocCategory();
1290 }
1291 if (docType == null) {
1292 docType = editorForm.getDocType();
1293 }
1294 if (docFormat == null) {
1295 docFormat = editorForm.getDocFormat();
1296 }
1297
1298 DocumentEditor documentEditor = DocumentEditorFactory.getInstance()
1299 .getDocumentEditor(docCategory, docType, docFormat);
1300
1301 editorForm = documentEditor.addORRemoveAccessInformationAndHoldingsNotes(editorForm, request);
1302 return super.navigate(editorForm, result, request, response);
1303 }
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314 @RequestMapping(params = "methodToCall=removeHoldingNotes")
1315 public ModelAndView removeHoldingNotes(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
1316 HttpServletRequest request, HttpServletResponse response) {
1317 if (!isFormInitialized) {
1318 super.start(form, result, request, response);
1319 isFormInitialized = true;
1320 }
1321 EditorForm editorForm = (EditorForm) form;
1322 String docCategory = request.getParameter("docCategory");
1323 String docType = request.getParameter("docType");
1324 String docFormat = request.getParameter("docFormat");
1325 if (docCategory == null) {
1326 docCategory = editorForm.getDocCategory();
1327 }
1328 if (docType == null) {
1329 docType = editorForm.getDocType();
1330 }
1331 if (docFormat == null) {
1332 docFormat = editorForm.getDocFormat();
1333 }
1334
1335 DocumentEditor documentEditor = DocumentEditorFactory.getInstance()
1336 .getDocumentEditor(docCategory, docType, docFormat);
1337
1338 editorForm = documentEditor.addORRemoveAccessInformationAndHoldingsNotes(editorForm, request);
1339 return super.navigate(editorForm, result, request, response);
1340 }
1341
1342 @RequestMapping(params = "methodToCall=addField")
1343 public ModelAndView addField(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
1344 HttpServletRequest request, HttpServletResponse response) {
1345 if (!isFormInitialized) {
1346 super.start(form, result, request, response);
1347 isFormInitialized = true;
1348 }
1349 EditorForm editorForm = (EditorForm) form;
1350 String docCategory = request.getParameter("docCategory");
1351 String docType = request.getParameter("docType");
1352 String docFormat = request.getParameter("docFormat");
1353 if (docCategory == null) {
1354 docCategory = editorForm.getDocCategory();
1355 }
1356 if (docType == null) {
1357 docType = editorForm.getDocType();
1358 }
1359 if (docFormat == null) {
1360 docFormat = editorForm.getDocFormat();
1361 }
1362
1363 DocumentEditor documentEditor = DocumentEditorFactory.getInstance()
1364 .getDocumentEditor(docCategory, docType, docFormat);
1365
1366 editorForm = documentEditor.addORDeleteFields(editorForm, request);
1367 return super.navigate(editorForm, result, request, response);
1368 }
1369
1370 @RequestMapping(params = "methodToCall=removeField")
1371 public ModelAndView removeField(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
1372 HttpServletRequest request, HttpServletResponse response) {
1373 if (!isFormInitialized) {
1374 super.start(form, result, request, response);
1375 isFormInitialized = true;
1376 }
1377 EditorForm editorForm = (EditorForm) form;
1378 String docCategory = request.getParameter("docCategory");
1379 String docType = request.getParameter("docType");
1380 String docFormat = request.getParameter("docFormat");
1381 if (docCategory == null) {
1382 docCategory = editorForm.getDocCategory();
1383 }
1384 if (docType == null) {
1385 docType = editorForm.getDocType();
1386 }
1387 if (docFormat == null) {
1388 docFormat = editorForm.getDocFormat();
1389 }
1390
1391 DocumentEditor documentEditor = DocumentEditorFactory.getInstance()
1392 .getDocumentEditor(docCategory, docType, docFormat);
1393
1394 editorForm = documentEditor.addORDeleteFields(editorForm, request);
1395 return super.navigate(editorForm, result, request, response);
1396 }
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408 protected ModelAndView callSuper(BindingResult result, HttpServletRequest request, HttpServletResponse response,
1409 EditorForm editorForm) {
1410 return super.navigate(editorForm, result, request, response);
1411 }
1412
1413 @RequestMapping(params = "methodToCall=addItemNote")
1414 public ModelAndView addItemNote(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
1415 HttpServletRequest request, HttpServletResponse response) {
1416 if (!isFormInitialized) {
1417 super.start(form, result, request, response);
1418 isFormInitialized = true;
1419 }
1420 EditorForm editorForm = (EditorForm) form;
1421 String docCategory = request.getParameter("docCategory");
1422 String docType = request.getParameter("docType");
1423 String docFormat = request.getParameter("docFormat");
1424 if (docCategory == null) {
1425 docCategory = editorForm.getDocCategory();
1426 }
1427 if (docType == null) {
1428 docType = editorForm.getDocType();
1429 }
1430 if (docFormat == null) {
1431 docFormat = editorForm.getDocFormat();
1432 }
1433
1434 DocumentEditor documentEditor = DocumentEditorFactory.getInstance()
1435 .getDocumentEditor(docCategory, docType, docFormat);
1436
1437 editorForm = documentEditor.addORRemoveItemNote(editorForm, request);
1438 return super.navigate(editorForm, result, request, response);
1439 }
1440
1441 @RequestMapping(params = "methodToCall=addDonorToItem")
1442 public ModelAndView addDonorToItem(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
1443 HttpServletRequest request, HttpServletResponse response) {
1444 EditorForm editorForm = (EditorForm) form;
1445 WorkInstanceOlemlForm workInstanceOlemlForm = (WorkInstanceOlemlForm) editorForm.getDocumentForm();
1446 List<DonorInfo> donorInfoList = workInstanceOlemlForm.getSelectedItem().getDonorInfo();
1447 String selectedCollectionPath = form.getActionParamaterValue(UifParameters.SELLECTED_COLLECTION_PATH);
1448 CollectionGroup collectionGroup = form.getPostedView().getViewIndex().getCollectionGroupByPath(
1449 selectedCollectionPath);
1450 String addLinePath = collectionGroup.getAddLineBindingInfo().getBindingPath();
1451 Object eventObject = ObjectPropertyUtils.getPropertyValue(form, addLinePath);
1452 DonorInfo donorInfo = (DonorInfo) eventObject;
1453 if (donorInfo != null && StringUtils.isNotEmpty(donorInfo.getDonorCode())) {
1454 Map map = new HashMap();
1455 map.put("donorCode", donorInfo.getDonorCode());
1456 OLEDonor oleDonor = KRADServiceLocator.getBusinessObjectService().findByPrimaryKey(OLEDonor.class, map);
1457 if (oleDonor != null) {
1458 for (DonorInfo donor : donorInfoList) {
1459 if (donor.getDonorCode().equals(donorInfo.getDonorCode())) {
1460 GlobalVariables.getMessageMap().putErrorForSectionId("OleDonorInformation-ListOfDonors", "error.donor.code.exist");
1461 return getUIFModelAndView(form);
1462 }
1463 }
1464 } else {
1465 GlobalVariables.getMessageMap().putErrorForSectionId("OleDonorInformation-ListOfDonors", "error.donor.code.doesnt.exist");
1466 return getUIFModelAndView(form);
1467 }
1468 }
1469 View view = form.getPostedView();
1470 view.getViewHelperService().processCollectionAddLine(view, form, selectedCollectionPath);
1471 return getUIFModelAndView(form);
1472 }
1473
1474 @RequestMapping(params = "methodToCall=addDonorToEInstance")
1475 public ModelAndView addDonorToEInstance(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
1476 HttpServletRequest request, HttpServletResponse response) {
1477 EditorForm editorForm = (EditorForm) form;
1478 WorkEInstanceOlemlForm workEInstanceOlemlForm = (WorkEInstanceOlemlForm) editorForm.getDocumentForm();
1479 List<DonorInfo> donorInfoList = workEInstanceOlemlForm.getSelectedEHoldings().getDonorInfo();
1480 String selectedCollectionPath = form.getActionParamaterValue(UifParameters.SELLECTED_COLLECTION_PATH);
1481 CollectionGroup collectionGroup = form.getPostedView().getViewIndex().getCollectionGroupByPath(
1482 selectedCollectionPath);
1483 String addLinePath = collectionGroup.getAddLineBindingInfo().getBindingPath();
1484 Object eventObject = ObjectPropertyUtils.getPropertyValue(form, addLinePath);
1485 DonorInfo donorInfo = (DonorInfo) eventObject;
1486 if (donorInfo != null && StringUtils.isNotEmpty(donorInfo.getDonorCode())) {
1487 Map map = new HashMap();
1488 map.put("donorCode", donorInfo.getDonorCode());
1489 OLEDonor oleDonor = KRADServiceLocator.getBusinessObjectService().findByPrimaryKey(OLEDonor.class, map);
1490 if (oleDonor != null) {
1491 for (DonorInfo donor : donorInfoList) {
1492 if (donor.getDonorCode().equals(donorInfo.getDonorCode())) {
1493 GlobalVariables.getMessageMap().putErrorForSectionId("OleEInstanceDonorInformation-ListOfDonors", "error.donor.code.exist");
1494 return getUIFModelAndView(form);
1495 }
1496 }
1497 } else {
1498 GlobalVariables.getMessageMap().putErrorForSectionId("OleEInstanceDonorInformation-ListOfDonors", "error.donor.code.doesnt.exist");
1499 return getUIFModelAndView(form);
1500 }
1501 }
1502 View view = form.getPostedView();
1503 view.getViewHelperService().processCollectionAddLine(view, form, selectedCollectionPath);
1504 return getUIFModelAndView(form);
1505 }
1506
1507 @RequestMapping(params = "methodToCall=removeItemNote")
1508 public ModelAndView removeItemNote(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
1509 HttpServletRequest request, HttpServletResponse response) {
1510 if (!isFormInitialized) {
1511 super.start(form, result, request, response);
1512 isFormInitialized = true;
1513 }
1514 EditorForm editorForm = (EditorForm) form;
1515 String docCategory = request.getParameter("docCategory");
1516 String docType = request.getParameter("docType");
1517 String docFormat = request.getParameter("docFormat");
1518 if (docCategory == null) {
1519 docCategory = editorForm.getDocCategory();
1520 }
1521 if (docType == null) {
1522 docType = editorForm.getDocType();
1523 }
1524 if (docFormat == null) {
1525 docFormat = editorForm.getDocFormat();
1526 }
1527
1528 DocumentEditor documentEditor = DocumentEditorFactory.getInstance()
1529 .getDocumentEditor(docCategory, docType, docFormat);
1530
1531 editorForm = documentEditor.addORRemoveItemNote(editorForm, request);
1532 return super.navigate(editorForm, result, request, response);
1533 }
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544 @RequestMapping(params = "methodToCall=showBibs")
1545 public ModelAndView showBibs(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
1546 HttpServletRequest request, HttpServletResponse response) {
1547 EditorForm documentForm = null;
1548 if (!isFormInitialized) {
1549 super.start(form, result, request, response);
1550 isFormInitialized = true;
1551 }
1552
1553 String docCategory = request.getParameter("docCategory");
1554 String docType = request.getParameter("docType");
1555 String docFormat = request.getParameter("docFormat");
1556 String docId = request.getParameter("docId");
1557 String instanceId = request.getParameter("instanceId");
1558 String editable = request.getParameter("editable");
1559
1560
1561 if ((null == editable) || (editable.length() == 0)) {
1562 editable = ((EditorForm) form).getEditable();
1563 }
1564
1565
1566 if (null == editable || editable.length() == 0) {
1567 editable = "true";
1568 }
1569
1570 ((EditorForm) form).setEditable(editable);
1571 ((EditorForm) form).setDocCategory(docCategory);
1572 ((EditorForm) form).setDocType(docType);
1573 ((EditorForm) form).setDocFormat(docFormat);
1574 ((EditorForm) form).setDocId(docId);
1575 ((EditorForm) form).setInstanceId(instanceId);
1576
1577
1578 DocumentEditor documentEditor = DocumentEditorFactory.getInstance()
1579 .getDocumentEditor(docCategory, docType, docFormat);
1580
1581 documentForm = documentEditor.showBibs((EditorForm) form);
1582
1583 ((EditorForm) form).setDocumentForm(documentForm);
1584
1585
1586 ModelAndView modelAndView = getUIFModelAndView(form, ((EditorForm) form).getDocumentForm().getViewId());
1587 return modelAndView;
1588 }
1589
1590
1591 @RequestMapping(params = "methodToCall=leaderFieldReset")
1592 public ModelAndView resetLeaderField(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
1593 HttpServletRequest request, HttpServletResponse response) {
1594 LOG.debug("Inside the clear leader method");
1595 EditorForm editForm = (EditorForm) form;
1596 WorkBibMarcForm workBibMarcForm = (WorkBibMarcForm) editForm.getDocumentForm();
1597 workBibMarcForm.setLeaderField(new LeaderField());
1598 ((EditorForm) form).setDocumentForm(workBibMarcForm);
1599 return navigate(form, result, request, response);
1600 }
1601
1602
1603 @RequestMapping(params = "methodToCall=createSerialReceiving")
1604 public ModelAndView createSerialReceiving(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
1605 HttpServletRequest request, HttpServletResponse response) {
1606 LOG.debug("Inside the createSerialReceiving method");
1607 ModelAndView modelAndView = getUIFModelAndView(form, ((EditorForm) form).getDocumentForm().getViewId());
1608 return modelAndView;
1609
1610 }
1611
1612
1613 @RequestMapping(params = "methodToCall=loadControlField006")
1614 public ModelAndView loadControlField006(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
1615 HttpServletRequest request, HttpServletResponse response) {
1616 ((EditorForm) form).setDisplayField006("true");
1617 WorkBibMarcForm workBibMarcForm = (WorkBibMarcForm) ((EditorForm) form).getDocumentForm();
1618 String controlField006Format = workBibMarcForm.getMarcControlFields().getValue();
1619 if(workBibMarcForm.getMarcControlFields().getControlField006()==null){
1620 ControlField006 controlField006 = new ControlField006();
1621 workBibMarcForm.getMarcControlFields().setControlField006(controlField006);
1622 }
1623 String controlField006Format1 = workBibMarcForm.getMarcControlFields().getControlField006().getFormat();
1624 if(controlField006Format1!=null){
1625 controlField006Format=controlField006Format1;
1626 }
1627 ControlField006 controlFiled006 = new ControlField006();
1628 controlFiled006.setFormat(workBibMarcForm.getMarcControlFields().getValue());
1629 if(controlField006Format1==null){
1630 controlFiled006.setFormat(workBibMarcForm.getMarcControlFields().getValue());
1631 workBibMarcForm.getMarcControlFields().setControlField006(controlFiled006);
1632 }else {
1633 controlFiled006.setFormat(controlField006Format1);
1634 workBibMarcForm.getMarcControlFields().setControlField006(controlFiled006);
1635
1636 }
1637 workBibMarcForm.getMarcControlFields().setMapVisible("false");
1638 workBibMarcForm.getMarcControlFields().setBooksVisible("false");
1639 workBibMarcForm.getMarcControlFields().setMusicVisible("false");
1640 workBibMarcForm.getMarcControlFields().setComputerFilesVisible("false");
1641 workBibMarcForm.getMarcControlFields().setContinuingResourcesVisible("false");
1642 workBibMarcForm.getMarcControlFields().setMixedMaterialVisible("false");
1643 workBibMarcForm.getMarcControlFields().setVisualMaterialsVisible("false");
1644
1645 if (controlField006Format.equalsIgnoreCase("e") || controlField006Format.equalsIgnoreCase("f")) {
1646 workBibMarcForm.getMarcControlFields().setMapVisible("true");
1647 } else if (controlField006Format.equalsIgnoreCase("a") || controlField006Format.equalsIgnoreCase("t")) {
1648 workBibMarcForm.getMarcControlFields().setBooksVisible("true");
1649 } else if (controlField006Format.equalsIgnoreCase("c") || controlField006Format.equalsIgnoreCase("d") ||
1650 controlField006Format.equalsIgnoreCase("i") || controlField006Format.equalsIgnoreCase("j")) {
1651 workBibMarcForm.getMarcControlFields().setMusicVisible("true");
1652 } else if (controlField006Format.equalsIgnoreCase("m")) {
1653 workBibMarcForm.getMarcControlFields().setComputerFilesVisible("true");
1654 } else if (controlField006Format.equalsIgnoreCase("s")) {
1655 workBibMarcForm.getMarcControlFields().setContinuingResourcesVisible("true");
1656 } else if (controlField006Format.equalsIgnoreCase("p")) {
1657 workBibMarcForm.getMarcControlFields().setMixedMaterialVisible("true");
1658 } else if (controlField006Format.equalsIgnoreCase("g") || controlField006Format.equalsIgnoreCase("k") ||
1659 controlField006Format.equalsIgnoreCase("o") || controlField006Format.equalsIgnoreCase("r")) {
1660 workBibMarcForm.getMarcControlFields().setVisualMaterialsVisible("true");
1661 }
1662 ((EditorForm) form).setDocumentForm(workBibMarcForm);
1663 return navigate(form, result, request, response);
1664 }
1665
1666 @RequestMapping(params = "methodToCall=loadControlField007")
1667 public ModelAndView loadControlField007(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
1668 HttpServletRequest request, HttpServletResponse response) {
1669 ((EditorForm) form).setDisplayField007("true");
1670 WorkBibMarcForm workBibMarcForm = (WorkBibMarcForm) ((EditorForm) form).getDocumentForm();
1671 if(workBibMarcForm.getMarcControlFields().getControlField007()==null){
1672 ControlField007 controlField007 = new ControlField007();
1673 workBibMarcForm.getMarcControlFields().setControlField007(controlField007);
1674 }
1675
1676 String controlField007Format = workBibMarcForm.getMarcControlFields().getValue007();
1677 String controlField007Format1 = workBibMarcForm.getMarcControlFields().getControlField007().getFormat();
1678
1679 ControlField007 controlFiled007 = new ControlField007();
1680
1681 if(controlField007Format1!=null){
1682 controlField007Format=controlField007Format1;
1683 }
1684 if(controlField007Format1!=null){
1685 controlFiled007.setFormat(controlField007Format1);
1686 workBibMarcForm.getMarcControlFields().setControlField007(controlFiled007);
1687 } else{
1688 controlFiled007.setFormat(controlField007Format);
1689 workBibMarcForm.getMarcControlFields().setControlField007(controlFiled007);
1690 }
1691
1692 workBibMarcForm.getMarcControlFields().setMapVisible007("false");
1693 workBibMarcForm.getMarcControlFields().setElectronicResourcesVisible007("false");
1694 workBibMarcForm.getMarcControlFields().setGlobeVisible007("false");
1695 workBibMarcForm.getMarcControlFields().setTactileMaterialVisible007("false");
1696 workBibMarcForm.getMarcControlFields().setProjectGraphicVisible007("false");
1697 workBibMarcForm.getMarcControlFields().setMicroFormVisible007("false");
1698 workBibMarcForm.getMarcControlFields().setNonProjectedGraphicVisible007("false");
1699 workBibMarcForm.getMarcControlFields().setMotionPictureVisible007("false");
1700 workBibMarcForm.getMarcControlFields().setKitVisible007("false");
1701 workBibMarcForm.getMarcControlFields().setNotatedMusicVisible007("false");
1702 workBibMarcForm.getMarcControlFields().setRemoteSensingImageVisible007("false");
1703 workBibMarcForm.getMarcControlFields().setSoundRecordingVisible007("false");
1704 workBibMarcForm.getMarcControlFields().setTextVisible007("false");
1705 workBibMarcForm.getMarcControlFields().setVideoRecordingVisible007("false");
1706 workBibMarcForm.getMarcControlFields().setUnspecifiedVisible007("false");
1707
1708 if (controlField007Format.equalsIgnoreCase("a")) {
1709 workBibMarcForm.getMarcControlFields().setMapVisible007("true");
1710 } else if (controlField007Format.equalsIgnoreCase("c")) {
1711 workBibMarcForm.getMarcControlFields().setElectronicResourcesVisible007("true");
1712 } else if (controlField007Format.equalsIgnoreCase("d")) {
1713 workBibMarcForm.getMarcControlFields().setGlobeVisible007("true");
1714 } else if (controlField007Format.equalsIgnoreCase("f")) {
1715 workBibMarcForm.getMarcControlFields().setTactileMaterialVisible007("true");
1716 } else if (controlField007Format.equalsIgnoreCase("g")) {
1717 workBibMarcForm.getMarcControlFields().setProjectGraphicVisible007("true");
1718 } else if (controlField007Format.equalsIgnoreCase("h")) {
1719 workBibMarcForm.getMarcControlFields().setMicroFormVisible007("true");
1720 } else if (controlField007Format.equalsIgnoreCase("k")) {
1721 workBibMarcForm.getMarcControlFields().setNonProjectedGraphicVisible007("true");
1722 } else if (controlField007Format.equalsIgnoreCase("m")) {
1723 workBibMarcForm.getMarcControlFields().setMotionPictureVisible007("true");
1724 } else if (controlField007Format.equalsIgnoreCase("o")) {
1725 workBibMarcForm.getMarcControlFields().setKitVisible007("true");
1726 } else if (controlField007Format.equalsIgnoreCase("q")) {
1727 workBibMarcForm.getMarcControlFields().setNotatedMusicVisible007("true");
1728 } else if (controlField007Format.equalsIgnoreCase("r")) {
1729 workBibMarcForm.getMarcControlFields().setRemoteSensingImageVisible007("true");
1730 } else if (controlField007Format.equalsIgnoreCase("s")) {
1731 workBibMarcForm.getMarcControlFields().setSoundRecordingVisible007("true");
1732 } else if (controlField007Format.equalsIgnoreCase("t")) {
1733 workBibMarcForm.getMarcControlFields().setTextVisible007("true");
1734 } else if (controlField007Format.equalsIgnoreCase("v")) {
1735 workBibMarcForm.getMarcControlFields().setVideoRecordingVisible007("true");
1736 } else if (controlField007Format.equalsIgnoreCase("z")) {
1737 workBibMarcForm.getMarcControlFields().setUnspecifiedVisible007("true");
1738 }
1739 ((EditorForm) form).setDocumentForm(workBibMarcForm);
1740
1741 return navigate(form, result, request, response);
1742 }
1743
1744 @RequestMapping(params = "methodToCall=loadControlField008")
1745 public ModelAndView loadControlField008(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
1746 HttpServletRequest request, HttpServletResponse response) {
1747 ((EditorForm) form).setDisplayField008("true");
1748 WorkBibMarcForm workBibMarcForm = (WorkBibMarcForm) ((EditorForm) form).getDocumentForm();
1749
1750 if(workBibMarcForm.getMarcControlFields().getControlField008()==null){
1751 ControlField008 controlField008 = new ControlField008();
1752 workBibMarcForm.getMarcControlFields().setControlField008(controlField008);
1753 }
1754 String controlField008Format = workBibMarcForm.getMarcControlFields().getValue008();
1755 workBibMarcForm.getMarcControlFields().setControlField008(new ControlField008());
1756
1757
1758 workBibMarcForm.getMarcControlFields().setMapVisible008("false");
1759 workBibMarcForm.getMarcControlFields().setBooksVisible008("false");
1760 workBibMarcForm.getMarcControlFields().setMusicVisible008("false");
1761 workBibMarcForm.getMarcControlFields().setComputerFilesVisible008("false");
1762 workBibMarcForm.getMarcControlFields().setContinuingResourcesVisible008("false");
1763 workBibMarcForm.getMarcControlFields().setMixedMaterialVisible008("false");
1764 workBibMarcForm.getMarcControlFields().setVisualMaterialsVisible008("false");
1765
1766 if (controlField008Format.equalsIgnoreCase("map")) {
1767 workBibMarcForm.getMarcControlFields().setMapVisible008("true");
1768 } else if (controlField008Format.equalsIgnoreCase("books")) {
1769 workBibMarcForm.getMarcControlFields().setBooksVisible008("true");
1770 } else if (controlField008Format.equalsIgnoreCase("music")) {
1771 workBibMarcForm.getMarcControlFields().setMusicVisible008("true");
1772 } else if (controlField008Format.equalsIgnoreCase("computer")) {
1773 workBibMarcForm.getMarcControlFields().setComputerFilesVisible008("true");
1774 } else if (controlField008Format.equalsIgnoreCase("countRes")) {
1775 workBibMarcForm.getMarcControlFields().setContinuingResourcesVisible008("true");
1776 } else if (controlField008Format.equalsIgnoreCase("mixMat")) {
1777 workBibMarcForm.getMarcControlFields().setMixedMaterialVisible008("true");
1778 } else if (controlField008Format.equalsIgnoreCase("visMat")) {
1779 workBibMarcForm.getMarcControlFields().setVisualMaterialsVisible008("true");
1780 }
1781
1782 ((EditorForm) form).setDocumentForm(workBibMarcForm);
1783 return navigate(form, result, request, response);
1784 }
1785
1786 @RequestMapping(params = "methodToCall=addCoverageSection")
1787 public ModelAndView addCoverageSection(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
1788 HttpServletRequest request, HttpServletResponse response) {
1789 if (!isFormInitialized) {
1790 super.start(form, result, request, response);
1791 isFormInitialized = true;
1792 }
1793 EditorForm editorForm = (EditorForm) form;
1794 String docCategory = request.getParameter("docCategory");
1795 String docType = request.getParameter("docType");
1796 String docFormat = request.getParameter("docFormat");
1797 if (docCategory == null) {
1798 docCategory = editorForm.getDocCategory();
1799 }
1800 if (docType == null) {
1801 docType = editorForm.getDocType();
1802 }
1803 if (docFormat == null) {
1804 docFormat = editorForm.getDocFormat();
1805 }
1806
1807 DocumentEditor documentEditor = DocumentEditorFactory.getInstance()
1808 .getDocumentEditor(docCategory, docType, docFormat);
1809
1810 WorkEInstanceOlemlForm workEInstanceOlemlForm = (WorkEInstanceOlemlForm) editorForm.getDocumentForm();
1811 int index = Integer.parseInt(form.getActionParamaterValue(UifParameters.SELECTED_LINE_INDEX));
1812 workEInstanceOlemlForm.getSelectedEHoldings().getExtentOfOwnership().get(0).getCoverages().getCoverage().add(new Coverage());
1813 return super.navigate(editorForm, result, request, response);
1814 }
1815
1816 @RequestMapping(params = "methodToCall=removeCoverageSection")
1817 public ModelAndView removeCoverageSection(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
1818 HttpServletRequest request, HttpServletResponse response) {
1819 if (!isFormInitialized) {
1820 super.start(form, result, request, response);
1821 isFormInitialized = true;
1822 }
1823 EditorForm editorForm = (EditorForm) form;
1824 String docCategory = request.getParameter("docCategory");
1825 String docType = request.getParameter("docType");
1826 String docFormat = request.getParameter("docFormat");
1827 if (docCategory == null) {
1828 docCategory = editorForm.getDocCategory();
1829 }
1830 if (docType == null) {
1831 docType = editorForm.getDocType();
1832 }
1833 if (docFormat == null) {
1834 docFormat = editorForm.getDocFormat();
1835 }
1836
1837 DocumentEditor documentEditor = DocumentEditorFactory.getInstance()
1838 .getDocumentEditor(docCategory, docType, docFormat);
1839
1840 WorkEInstanceOlemlForm workEInstanceOlemlForm = (WorkEInstanceOlemlForm) editorForm.getDocumentForm();
1841 int index = Integer.parseInt(form.getActionParamaterValue(UifParameters.SELECTED_LINE_INDEX));
1842 if (workEInstanceOlemlForm.getSelectedEHoldings().getExtentOfOwnership().get(0).getCoverages().getCoverage().size() > 1) {
1843 workEInstanceOlemlForm.getSelectedEHoldings().getExtentOfOwnership().get(0).getCoverages().getCoverage().remove(index);
1844 } else {
1845 if (workEInstanceOlemlForm.getSelectedEHoldings().getExtentOfOwnership().get(0).getCoverages().getCoverage().size() == 1) {
1846 workEInstanceOlemlForm.getSelectedEHoldings().getExtentOfOwnership().get(0).getCoverages().getCoverage().remove(index);
1847 Coverage coverage = new Coverage();
1848 workEInstanceOlemlForm.getSelectedEHoldings().getExtentOfOwnership().get(0).getCoverages().getCoverage().add(coverage);
1849 }
1850 }
1851 return super.navigate(editorForm, result, request, response);
1852 }
1853
1854 @RequestMapping(params = "methodToCall=addLink")
1855 public ModelAndView addLink(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
1856 HttpServletRequest request, HttpServletResponse response) {
1857 if (!isFormInitialized) {
1858 super.start(form, result, request, response);
1859 isFormInitialized = true;
1860 }
1861 EditorForm editorForm = (EditorForm) form;
1862 String docCategory = request.getParameter("docCategory");
1863 String docType = request.getParameter("docType");
1864 String docFormat = request.getParameter("docFormat");
1865 if (docCategory == null) {
1866 docCategory = editorForm.getDocCategory();
1867 }
1868 if (docType == null) {
1869 docType = editorForm.getDocType();
1870 }
1871 if (docFormat == null) {
1872 docFormat = editorForm.getDocFormat();
1873 }
1874
1875 DocumentEditor documentEditor = DocumentEditorFactory.getInstance()
1876 .getDocumentEditor(docCategory, docType, docFormat);
1877
1878 WorkEInstanceOlemlForm workEInstanceOlemlForm = (WorkEInstanceOlemlForm) editorForm.getDocumentForm();
1879 int index = Integer.parseInt(form.getActionParamaterValue(UifParameters.SELECTED_LINE_INDEX));
1880 workEInstanceOlemlForm.getSelectedEHoldings().getLink().add(index+1,new Link());
1881 return super.navigate(editorForm, result, request, response);
1882 }
1883
1884 @RequestMapping(params = "methodToCall=deleteLink")
1885 public ModelAndView deleteLink(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
1886 HttpServletRequest request, HttpServletResponse response) {
1887 if (!isFormInitialized) {
1888 super.start(form, result, request, response);
1889 isFormInitialized = true;
1890 }
1891 EditorForm editorForm = (EditorForm) form;
1892 String docCategory = request.getParameter("docCategory");
1893 String docType = request.getParameter("docType");
1894 String docFormat = request.getParameter("docFormat");
1895 if (docCategory == null) {
1896 docCategory = editorForm.getDocCategory();
1897 }
1898 if (docType == null) {
1899 docType = editorForm.getDocType();
1900 }
1901 if (docFormat == null) {
1902 docFormat = editorForm.getDocFormat();
1903 }
1904
1905 DocumentEditor documentEditor = DocumentEditorFactory.getInstance()
1906 .getDocumentEditor(docCategory, docType, docFormat);
1907
1908 WorkEInstanceOlemlForm workEInstanceOlemlForm = (WorkEInstanceOlemlForm) editorForm.getDocumentForm();
1909 int index = Integer.parseInt(form.getActionParamaterValue(UifParameters.SELECTED_LINE_INDEX));
1910 if (workEInstanceOlemlForm.getSelectedEHoldings().getLink().size() > 1) {
1911 workEInstanceOlemlForm.getSelectedEHoldings().getLink().remove(index);
1912 } else {
1913 if (workEInstanceOlemlForm.getSelectedEHoldings().getLink().size() == 1) {
1914 workEInstanceOlemlForm.getSelectedEHoldings().getLink().remove(index);
1915 Link link = new Link();
1916 workEInstanceOlemlForm.getSelectedEHoldings().getLink().add(link);
1917 }
1918 }
1919 return super.navigate(editorForm, result, request, response);
1920 }
1921
1922 @RequestMapping(params = "methodToCall=addPerpetualAccessSection")
1923 public ModelAndView addPerpetualAccessSection(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
1924 HttpServletRequest request, HttpServletResponse response) {
1925 if (!isFormInitialized) {
1926 super.start(form, result, request, response);
1927 isFormInitialized = true;
1928 }
1929 EditorForm editorForm = (EditorForm) form;
1930 String docCategory = request.getParameter("docCategory");
1931 String docType = request.getParameter("docType");
1932 String docFormat = request.getParameter("docFormat");
1933 if (docCategory == null) {
1934 docCategory = editorForm.getDocCategory();
1935 }
1936 if (docType == null) {
1937 docType = editorForm.getDocType();
1938 }
1939 if (docFormat == null) {
1940 docFormat = editorForm.getDocFormat();
1941 }
1942
1943 DocumentEditor documentEditor = DocumentEditorFactory.getInstance()
1944 .getDocumentEditor(docCategory, docType, docFormat);
1945
1946 WorkEInstanceOlemlForm workEInstanceOlemlForm = (WorkEInstanceOlemlForm) editorForm.getDocumentForm();
1947
1948
1949
1950
1951
1952 workEInstanceOlemlForm.getSelectedEHoldings().getExtentOfOwnership().get(0).getPerpetualAccesses().getPerpetualAccess().add(new PerpetualAccess());
1953 return super.navigate(editorForm, result, request, response);
1954 }
1955
1956 @RequestMapping(params = "methodToCall=removePerpetualAccessSection")
1957 public ModelAndView removePerpetualAccessSection(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
1958 HttpServletRequest request, HttpServletResponse response) {
1959 if (!isFormInitialized) {
1960 super.start(form, result, request, response);
1961 isFormInitialized = true;
1962 }
1963 EditorForm editorForm = (EditorForm) form;
1964 String docCategory = request.getParameter("docCategory");
1965 String docType = request.getParameter("docType");
1966 String docFormat = request.getParameter("docFormat");
1967 if (docCategory == null) {
1968 docCategory = editorForm.getDocCategory();
1969 }
1970 if (docType == null) {
1971 docType = editorForm.getDocType();
1972 }
1973 if (docFormat == null) {
1974 docFormat = editorForm.getDocFormat();
1975 }
1976
1977 DocumentEditor documentEditor = DocumentEditorFactory.getInstance()
1978 .getDocumentEditor(docCategory, docType, docFormat);
1979
1980 WorkEInstanceOlemlForm workEInstanceOlemlForm = (WorkEInstanceOlemlForm) editorForm.getDocumentForm();
1981 int index = Integer.parseInt(form.getActionParamaterValue(UifParameters.SELECTED_LINE_INDEX));
1982 if (workEInstanceOlemlForm.getSelectedEHoldings().getExtentOfOwnership().get(0).getPerpetualAccesses().getPerpetualAccess().size() > 1) {
1983 workEInstanceOlemlForm.getSelectedEHoldings().getExtentOfOwnership().get(0).getPerpetualAccesses().getPerpetualAccess().remove(index);
1984 } else {
1985 if (workEInstanceOlemlForm.getSelectedEHoldings().getExtentOfOwnership().get(0).getPerpetualAccesses().getPerpetualAccess().size() == 1) {
1986 workEInstanceOlemlForm.getSelectedEHoldings().getExtentOfOwnership().get(0).getPerpetualAccesses().getPerpetualAccess().remove(index);
1987 PerpetualAccess perpetualAccess = new PerpetualAccess();
1988 workEInstanceOlemlForm.getSelectedEHoldings().getExtentOfOwnership().get(0).getPerpetualAccesses().getPerpetualAccess().add(perpetualAccess);
1989 }
1990 }
1991 return super.navigate(editorForm, result, request, response);
1992 }
1993
1994 @RequestMapping(params = "methodToCall=addOleEInstanceHoldingNotes")
1995 public ModelAndView addOleEInstanceHoldingNotes(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
1996 HttpServletRequest request, HttpServletResponse response) {
1997 if (!isFormInitialized) {
1998 super.start(form, result, request, response);
1999 isFormInitialized = true;
2000 }
2001 EditorForm editorForm = (EditorForm) form;
2002 String docCategory = request.getParameter("docCategory");
2003 String docType = request.getParameter("docType");
2004 String docFormat = request.getParameter("docFormat");
2005 if (docCategory == null) {
2006 docCategory = editorForm.getDocCategory();
2007 }
2008 if (docType == null) {
2009 docType = editorForm.getDocType();
2010 }
2011 if (docFormat == null) {
2012 docFormat = editorForm.getDocFormat();
2013 }
2014
2015 DocumentEditor documentEditor = DocumentEditorFactory.getInstance()
2016 .getDocumentEditor(docCategory, docType, docFormat);
2017
2018 WorkEInstanceOlemlForm workEInstanceOlemlForm = (WorkEInstanceOlemlForm) editorForm.getDocumentForm();
2019 workEInstanceOlemlForm.getSelectedEHoldings().getNote().add(new Note());
2020 return super.navigate(editorForm, result, request, response);
2021 }
2022
2023 @RequestMapping(params = "methodToCall=removeOleEInstanceHoldingNotes")
2024 public ModelAndView removeOleEInstanceHoldingNotes(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
2025 HttpServletRequest request, HttpServletResponse response) {
2026 if (!isFormInitialized) {
2027 super.start(form, result, request, response);
2028 isFormInitialized = true;
2029 }
2030 EditorForm editorForm = (EditorForm) form;
2031 String docCategory = request.getParameter("docCategory");
2032 String docType = request.getParameter("docType");
2033 String docFormat = request.getParameter("docFormat");
2034 if (docCategory == null) {
2035 docCategory = editorForm.getDocCategory();
2036 }
2037 if (docType == null) {
2038 docType = editorForm.getDocType();
2039 }
2040 if (docFormat == null) {
2041 docFormat = editorForm.getDocFormat();
2042 }
2043
2044 DocumentEditor documentEditor = DocumentEditorFactory.getInstance()
2045 .getDocumentEditor(docCategory, docType, docFormat);
2046
2047 WorkEInstanceOlemlForm workEInstanceOlemlForm = (WorkEInstanceOlemlForm) editorForm.getDocumentForm();
2048 int index = Integer.parseInt(form.getActionParamaterValue(UifParameters.SELECTED_LINE_INDEX));
2049 if (workEInstanceOlemlForm.getSelectedEHoldings().getNote().size() > 1) {
2050 workEInstanceOlemlForm.getSelectedEHoldings().getNote().remove(index);
2051 } else {
2052 if (workEInstanceOlemlForm.getSelectedEHoldings().getNote().size() == 1) {
2053 workEInstanceOlemlForm.getSelectedEHoldings().getNote().remove(index);
2054 Note note = new Note();
2055 workEInstanceOlemlForm.getSelectedEHoldings().getNote().add(note);
2056 }
2057 }
2058 return super.navigate(editorForm, result, request, response);
2059 }
2060
2061
2062 @RequestMapping(params = "methodToCall=globalEditSave")
2063 public ModelAndView globalEditSave(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
2064 HttpServletRequest request, HttpServletResponse response) {
2065 if (!isFormInitialized) {
2066 super.start(form, result, request, response);
2067 isFormInitialized = true;
2068 }
2069 EditorForm editorForm = (EditorForm) form;
2070 String docCategory = request.getParameter("docCategory");
2071 String docType = request.getParameter("docType");
2072 String docFormat = request.getParameter("docFormat");
2073 List<String> ids = (List<String>) request.getSession().getAttribute("Ids");
2074 if (docCategory == null) {
2075 docCategory = editorForm.getDocCategory();
2076 }
2077 if (docType == null) {
2078 docType = editorForm.getDocType();
2079 }
2080 if (docFormat == null) {
2081 docFormat = editorForm.getDocFormat();
2082 }
2083
2084 ((EditorForm) form).setDocCategory(docCategory);
2085 ((EditorForm) form).setDocType(docType);
2086 ((EditorForm) form).setDocFormat(docFormat);
2087 DocumentEditor documentEditor = DocumentEditorFactory.getInstance()
2088 .getDocumentEditor(docCategory, docType, docFormat);
2089
2090 if (documentEditor != null && documentEditor.isValidUpdate((EditorForm) form) || ((EditorForm) form).getAllowUpdate().equals
2091 ("true")) {
2092
2093 EditorForm documentForm = documentEditor.bulkUpdate((EditorForm) form, ids);
2094
2095 ((EditorForm) form).setDocumentForm(documentForm);
2096 ((EditorForm) form).setAllowUpdate(" ");
2097 } else {
2098 ((EditorForm) form).setAllowUpdate("false");
2099 }
2100 return super.navigate(editorForm, result, request, response);
2101 }
2102
2103
2104 @RequestMapping(params = "methodToCall=printCallSlip")
2105 public void printCallSlip(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result, HttpServletRequest request, HttpServletResponse response) {
2106 String formKey = request.getParameter("formKey");
2107 EditorForm editorForm = (EditorForm) GlobalVariables.getUifFormManager().getSessionForm(formKey);
2108 generateCallSlip(editorForm, response);
2109 }
2110
2111 private void generateCallSlip(EditorForm editorForm, HttpServletResponse response) {
2112 LOG.debug("Creating pdf");
2113 String title = "", author = "", callNumber = "", location = "", copyNumber = "", enumeration = "", chronology = "", barcode = "";
2114 SearchResponse searchResponse = null;
2115 SearchParams searchParams = new SearchParams();
2116 SearchField searchField1 = searchParams.buildSearchField("item", "ItemIdentifier_search", editorForm.getDocId());
2117 searchParams.getSearchConditions().add(searchParams.buildSearchCondition("OR", searchField1, "AND"));
2118 searchParams.getSearchResultFields().add(searchParams.buildSearchResultField("bibliographic", "Title"));
2119 searchParams.getSearchResultFields().add(searchParams.buildSearchResultField("bibliographic", "Author"));
2120 searchParams.getSearchResultFields().add(searchParams.buildSearchResultField("item", "CallNumber"));
2121 searchParams.getSearchResultFields().add(searchParams.buildSearchResultField("item", "LocationName"));
2122 searchParams.getSearchResultFields().add(searchParams.buildSearchResultField("item", "CopyNumber"));
2123 searchParams.getSearchResultFields().add(searchParams.buildSearchResultField("item", "enumeration"));
2124 searchParams.getSearchResultFields().add(searchParams.buildSearchResultField("item", "chronology"));
2125 searchParams.getSearchResultFields().add(searchParams.buildSearchResultField("item", "ItemBarcode"));
2126 searchParams.getSearchResultFields().add(searchParams.buildSearchResultField("holdings", "CallNumber"));
2127 searchParams.getSearchResultFields().add(searchParams.buildSearchResultField("holdings", "LocationName"));
2128 try {
2129 searchResponse = getDocstoreClientLocator().getDocstoreClient().search(searchParams);
2130 } catch (Exception e) {
2131 LOG.error(e, e);
2132 }
2133 if (CollectionUtils.isNotEmpty(searchResponse.getSearchResults())) {
2134 for (SearchResultField searchResultField : searchResponse.getSearchResults().get(0).getSearchResultFields()) {
2135 if (searchResultField.getDocType().equalsIgnoreCase(DocType.BIB.getCode()) && searchResultField.getFieldName().equalsIgnoreCase("Title")) {
2136 if (StringUtils.isBlank(title)) {
2137 title = searchResultField.getFieldValue() != null ? searchResultField.getFieldValue() : "";
2138 }
2139 } else if (searchResultField.getDocType().equalsIgnoreCase(DocType.BIB.getCode()) && searchResultField.getFieldName().equalsIgnoreCase("Author")) {
2140 if (StringUtils.isBlank(author)) {
2141 author = searchResultField.getFieldValue() != null ? searchResultField.getFieldValue() : "";
2142 }
2143 } else if (searchResultField.getDocType().equalsIgnoreCase(DocType.ITEM.getCode()) && searchResultField.getFieldName().equalsIgnoreCase("CallNumber")) {
2144 callNumber = searchResultField.getFieldValue() != null ? searchResultField.getFieldValue() : "";
2145 } else if (searchResultField.getDocType().equalsIgnoreCase(DocType.ITEM.getCode()) && searchResultField.getFieldName().equalsIgnoreCase("LocationName")) {
2146 location = searchResultField.getFieldValue() != null ? searchResultField.getFieldValue() : "";
2147 } else if (searchResultField.getDocType().equalsIgnoreCase(DocType.ITEM.getCode()) && searchResultField.getFieldName().equalsIgnoreCase("CopyNumber")) {
2148 copyNumber = searchResultField.getFieldValue() != null ? searchResultField.getFieldValue() : "";
2149 } else if (searchResultField.getDocType().equalsIgnoreCase(DocType.ITEM.getCode()) && searchResultField.getFieldName().equalsIgnoreCase("enumeration")) {
2150 enumeration = searchResultField.getFieldValue() != null ? searchResultField.getFieldValue() : "";
2151 } else if (searchResultField.getDocType().equalsIgnoreCase(DocType.ITEM.getCode()) && searchResultField.getFieldName().equalsIgnoreCase("chronology")) {
2152 chronology = searchResultField.getFieldValue() != null ? searchResultField.getFieldValue() : "";
2153 } else if (searchResultField.getDocType().equalsIgnoreCase(DocType.ITEM.getCode()) && searchResultField.getFieldName().equalsIgnoreCase("ItemBarcode")) {
2154 barcode = searchResultField.getFieldValue() != null ? searchResultField.getFieldValue() : "";
2155 } else if (searchResultField.getDocType().equalsIgnoreCase(DocType.HOLDINGS.getCode()) && searchResultField.getFieldName().equalsIgnoreCase("CallNumber")) {
2156 if (StringUtils.isBlank(callNumber)) {
2157 callNumber = searchResultField.getFieldValue() != null ? searchResultField.getFieldValue() : "";
2158 }
2159 } else if (searchResultField.getDocType().equalsIgnoreCase(DocType.HOLDINGS.getCode()) && searchResultField.getFieldName().equalsIgnoreCase("LocationName")) {
2160 if (StringUtils.isBlank(location)) {
2161 location = searchResultField.getFieldValue() != null ? searchResultField.getFieldValue() : "";
2162 }
2163 }
2164 }
2165 }
2166 String fileName = "Call/Paging Slip" + "_" + (editorForm.getTitle() != null ? editorForm.getTitle() : "") + "_" + new Date(System.currentTimeMillis()) + ".pdf";
2167 if (LOG.isInfoEnabled()) {
2168 LOG.info("File Created :" + title + "file name ::" + fileName + "::");
2169 }
2170 try {
2171 Document document = this.getDocument(0, 0, 5, 5);
2172 OutputStream outputStream = null;
2173 response.setContentType("application/pdf");
2174
2175 outputStream = response.getOutputStream();
2176 PdfWriter.getInstance(document, outputStream);
2177 Font boldFont = new Font(Font.TIMES_ROMAN, 15, Font.BOLD);
2178 document.open();
2179 document.newPage();
2180 PdfPTable pdfTable = new PdfPTable(3);
2181 pdfTable.setWidths(new int[]{20, 2, 30});
2182 Paragraph paraGraph = new Paragraph();
2183 paraGraph.setAlignment(Element.ALIGN_CENTER);
2184 paraGraph.add(new Chunk("Call/Paging Slip", boldFont));
2185 paraGraph.add(Chunk.NEWLINE);
2186 paraGraph.add(Chunk.NEWLINE);
2187 paraGraph.add(Chunk.NEWLINE);
2188 document.add(paraGraph);
2189
2190 pdfTable.addCell(getPdfPCellInJustified("Title"));
2191 pdfTable.addCell(getPdfPCellInLeft(":"));
2192 pdfTable.addCell(getPdfPCellInJustified(title));
2193
2194 pdfTable.addCell(getPdfPCellInJustified("Author"));
2195 pdfTable.addCell(getPdfPCellInLeft(":"));
2196 pdfTable.addCell(getPdfPCellInJustified(author));
2197
2198 pdfTable.addCell(getPdfPCellInJustified("Call Number"));
2199 pdfTable.addCell(getPdfPCellInLeft(":"));
2200 pdfTable.addCell(getPdfPCellInJustified(callNumber));
2201
2202 pdfTable.addCell(getPdfPCellInJustified("Location"));
2203 pdfTable.addCell(getPdfPCellInLeft(":"));
2204 pdfTable.addCell(getPdfPCellInJustified(location));
2205
2206 pdfTable.addCell(getPdfPCellInJustified("Copy Number"));
2207 pdfTable.addCell(getPdfPCellInLeft(":"));
2208 pdfTable.addCell(getPdfPCellInJustified(copyNumber));
2209
2210 pdfTable.addCell(getPdfPCellInJustified("Enumeration"));
2211 pdfTable.addCell(getPdfPCellInLeft(":"));
2212 pdfTable.addCell(getPdfPCellInJustified(enumeration));
2213
2214 pdfTable.addCell(getPdfPCellInJustified("Chronology"));
2215 pdfTable.addCell(getPdfPCellInLeft(":"));
2216 pdfTable.addCell(getPdfPCellInJustified(chronology));
2217
2218 pdfTable.addCell(getPdfPCellInJustified("Barcode"));
2219 pdfTable.addCell(getPdfPCellInLeft(":"));
2220 pdfTable.addCell(getPdfPCellInJustified(barcode));
2221
2222 document.add(pdfTable);
2223 document.close();
2224 outputStream.flush();
2225 outputStream.close();
2226 } catch (Exception e) {
2227 LOG.error(e, e);
2228 }
2229 }
2230
2231 private PdfPCell getPdfPCellInJustified(String chunk) {
2232 PdfPCell pdfPCell = new PdfPCell(new Paragraph(new Chunk(chunk)));
2233 pdfPCell.setBorder(pdfPCell.NO_BORDER);
2234 pdfPCell.setHorizontalAlignment(pdfPCell.ALIGN_JUSTIFIED);
2235 return pdfPCell;
2236 }
2237
2238 private PdfPCell getPdfPCellInLeft(String chunk) {
2239 PdfPCell pdfPCell = new PdfPCell(new Paragraph(new Chunk(chunk)));
2240 pdfPCell.setBorder(pdfPCell.NO_BORDER);
2241 pdfPCell.setHorizontalAlignment(pdfPCell.ALIGN_LEFT);
2242 return pdfPCell;
2243 }
2244
2245 public Document getDocument(float f1, float f2, float f3, float f4) {
2246 Document document = new Document(PageSize.A4);
2247 document.setMargins(f1, f2, f3, f4);
2248 return document;
2249 }
2250
2251
2252 private void prepareGlobalEditFields(EditorForm editorForm, String docType) {
2253
2254 if (DocType.INSTANCE.getCode().equals(docType) || DocType.HOLDINGS.getCode().equals(docType)) {
2255 editorForm.setHeaderText(OLEConstants.GLOBAL_EDIT_HOLDINGS_HEADER_MESSAGE);
2256 } else if (DocType.EINSTANCE.getCode().equals(docType) || DocType.EHOLDINGS.getCode().equals(docType)) {
2257 editorForm.setHeaderText(OLEConstants.GLOBAL_EDIT_EHOLDINGS_HEADER_MESSAGE);
2258 } else if (DocType.ITEM.getCode().equals(docType)) {
2259 editorForm.setHeaderText(OLEConstants.GLOBAL_EDIT_ITEM_HEADER_MESSAGE);
2260 }
2261
2262 DocumentSearchConfig documentSearchConfig = DocumentSearchConfig.getDocumentSearchConfig();
2263 List<DocTypeConfig> docTypeFields = documentSearchConfig.getDocTypeConfigs();
2264
2265 for (DocTypeConfig docTypeConfig : docTypeFields) {
2266
2267 List<DocFormatConfig> docFormatConfigList = docTypeConfig.getDocFormatConfigList();
2268
2269 if (DocType.HOLDINGS.getCode().equals(docTypeConfig.getName()) && DocType.HOLDINGS.getCode().equals(docType)) {
2270 setGlobalEditFlagValues(editorForm, docFormatConfigList, docType);
2271 } else if (DocType.EHOLDINGS.getCode().equals(docTypeConfig.getName()) && DocType.EHOLDINGS.getCode().equals(docType)) {
2272 setGlobalEditFlagValues(editorForm, docFormatConfigList, docType);
2273 } else if (DocType.ITEM.getCode().equals(docType) && DocType.ITEM.getCode().equals(docTypeConfig.getName())) {
2274 setGlobalEditFlagValues(editorForm, docFormatConfigList, docType);
2275 }
2276
2277 }
2278
2279 }
2280
2281 private void setGlobalEditFlagValues(EditorForm editorForm, List<DocFormatConfig> docFormatConfigList, String docType) {
2282
2283 for (DocFormatConfig docFormatConfig : docFormatConfigList) {
2284
2285 List<DocFieldConfig> docFieldConfigList = docFormatConfig.getDocFieldConfigList();
2286
2287 if (OLEConstants.OLEML_FORMAT.equals(docFormatConfig.getName())) {
2288 if (DocType.INSTANCE.getCode().equals(docType) || DocType.HOLDINGS.getCode().equals(docType)) {
2289 GlobalEditHoldingsFieldsFlagBO globalEditHoldingsFieldsFlagBO = editorForm.getGlobalEditHoldingsFieldsFlagBO();
2290 for (DocFieldConfig docFieldConfig : docFieldConfigList) {
2291
2292 if (docFieldConfig.isGloballyEditable()) {
2293
2294 if (OLEConstants.CALL_NUMBER.equals(docFieldConfig.getName())) {
2295 globalEditHoldingsFieldsFlagBO.setCallNumberEditFlag(true);
2296 } else if (OLEConstants.CALL_NUMBER_PREFIX.equals(docFieldConfig.getName())) {
2297 globalEditHoldingsFieldsFlagBO.setCallNumberPrefixEditFlag(true);
2298 } else if (OLEConstants.CALL_NUMBER_TYPE_CODE.equals(docFieldConfig.getName())) {
2299 globalEditHoldingsFieldsFlagBO.setCallNumberTypeEditFlag(true);
2300 } else if (OLEConstants.SHELVING_ORDER.equals(docFieldConfig.getName())) {
2301 globalEditHoldingsFieldsFlagBO.setShelvingOrderEditFlag(true);
2302 } else if (OLEConstants.LOCATION_LEVEL.equals(docFieldConfig.getName())) {
2303 globalEditHoldingsFieldsFlagBO.setLocationEditFlag(true);
2304 } else if (OLEConstants.HOLDINGS_NOTE.equals(docFieldConfig.getName())) {
2305 globalEditHoldingsFieldsFlagBO.setHoldingsNoteEditFlag(true);
2306 } else if (OLEConstants.URI.equals(docFieldConfig.getName())) {
2307 globalEditHoldingsFieldsFlagBO.setAccessInformationEditFlag(true);
2308 } else if (OLEConstants.RECEIPT_STATUS_CODE.equals(docFieldConfig.getName())) {
2309 globalEditHoldingsFieldsFlagBO.setReceiptStatusEditFlag(true);
2310 } else if (OLEConstants.COPY_NUMBER_LABEL.equals(docFieldConfig.getName())) {
2311 globalEditHoldingsFieldsFlagBO.setCopyNumberEditFlag(true);
2312 } else if (OLEConstants.EXTENTOFOWNERSHIP_NOTE_VALUE_DISPLAY.equals(docFieldConfig.getName()) || OLEConstants.EXTENTOFOWNERSHIP_NOTE_TYPE_DISPLAY.equals(docFieldConfig.getName()) || OLEConstants.EXTENTOFOWNERSHIP_Type_display.equals(docFieldConfig.getName())) {
2313 globalEditHoldingsFieldsFlagBO.setExtentOwnerShipEditFlag(true);
2314 } else if (OLEConstants.URI_SEARCH.equals(docFieldConfig.getName()) || OLEConstants.URI_DISPLAY.equals(docFieldConfig.getName())) {
2315 globalEditHoldingsFieldsFlagBO.setExtendedInfoEditFlag(true);
2316 }
2317
2318 }
2319 }
2320 } else if (DocType.EINSTANCE.getCode().equals(docType) || DocType.EHOLDINGS.getCode().equals(docType)) {
2321 GlobalEditEHoldingsFieldsFlagBO globalEditEHoldingsFieldsFlagBO = editorForm.getGlobalEditEHoldingsFieldsFlagBO();
2322 for (DocFieldConfig docFieldConfig : docFieldConfigList) {
2323
2324 if (docFieldConfig.isGloballyEditable()) {
2325 if (OLEConstants.CALL_NUMBER.equals(docFieldConfig.getName())) {
2326 globalEditEHoldingsFieldsFlagBO.setCallNumberEditFlag(true);
2327 } else if (OLEConstants.CALL_NUMBER_PREFIX.equals(docFieldConfig.getName())) {
2328 globalEditEHoldingsFieldsFlagBO.setCallNumberPrefixEditFlag(true);
2329 } else if (OLEConstants.CALL_NUMBER_TYPE_CODE.equals(docFieldConfig.getName())) {
2330 globalEditEHoldingsFieldsFlagBO.setCallNumberTypeEditFlag(true);
2331 } else if (OLEConstants.SHELVING_ORDER.equals(docFieldConfig.getName())) {
2332 globalEditEHoldingsFieldsFlagBO.setShelvingOrderEditFlag(true);
2333 } else if (OLEConstants.LOCATION_LEVEL.equals(docFieldConfig.getName())) {
2334 globalEditEHoldingsFieldsFlagBO.setLocationEditFlag(true);
2335 } else if (OLEConstants.EHOLDING_ACCESS_STATUS.equals(docFieldConfig.getName())) {
2336 globalEditEHoldingsFieldsFlagBO.setAccessStatusEditFlag(true);
2337 } else if (OLEConstants.EHOLDING_PLATFORM_DISPLAY.equals(docFieldConfig.getName())) {
2338 globalEditEHoldingsFieldsFlagBO.setPlatformEditFlag(true);
2339 } else if (OLEConstants.EHOLDING_IMPRINT.equals(docFieldConfig.getName())) {
2340 globalEditEHoldingsFieldsFlagBO.setImprintEditFlag(true);
2341 } else if (OLEConstants.EHOLDING_E_PUBLISHER.equals(docFieldConfig.getName())) {
2342 globalEditEHoldingsFieldsFlagBO.setPublisherEditFlag(true);
2343 } else if (OLEConstants.EHOLDING_STATISTICAL_CODE.equals(docFieldConfig.getName())) {
2344 globalEditEHoldingsFieldsFlagBO.setStatisticalCodeEditFlag(true);
2345 }
2346
2347
2348 else if (OLEConstants.EHOLDING_SUBSCRIPTION_STATUS.equals(docFieldConfig.getName())) {
2349 globalEditEHoldingsFieldsFlagBO.setAcquisitionInformationEditFlag(true);
2350 globalEditEHoldingsFieldsFlagBO.setSubscriptionEditFlag(true);
2351 } else if (OLEConstants.EHOLDING_LINK.equals(docFieldConfig.getName())) {
2352 globalEditEHoldingsFieldsFlagBO.setLinkEditFlag(true);
2353 globalEditEHoldingsFieldsFlagBO.setAccessInformationEditFlag(true);
2354 } else if (OLEConstants.EHOLDING_SIMULTANEOUS_USER.equals(docFieldConfig.getName())) {
2355 globalEditEHoldingsFieldsFlagBO.setSimultaneousEditFlag(true);
2356 globalEditEHoldingsFieldsFlagBO.setAccessInformationEditFlag(true);
2357 } else if (OLEConstants.EHOLDING_PERSIST_LINK.equals(docFieldConfig.getName())) {
2358 globalEditEHoldingsFieldsFlagBO.setPersistentLinkEditFlag(true);
2359 globalEditEHoldingsFieldsFlagBO.setAccessInformationEditFlag(true);
2360 } else if (OLEConstants.EHOLDING_ACCESS_LOCATION.equals(docFieldConfig.getName())) {
2361 globalEditEHoldingsFieldsFlagBO.setAccessInformationEditFlag(true);
2362 globalEditEHoldingsFieldsFlagBO.setAccessLocationEditFlag(true);
2363 } else if (OLEConstants.EHOLDING_LINK_TEXT.equals(docFieldConfig.getName())) {
2364 globalEditEHoldingsFieldsFlagBO.setLinkTextEditFlag(true);
2365 } else if (OLEConstants.EHOLDING_ADMIN_USER.equals(docFieldConfig.getName())) {
2366 globalEditEHoldingsFieldsFlagBO.setAdminUserNameEditFlag(true);
2367 } else if (OLEConstants.EHOLDING_ADMIN_PWSD.equals(docFieldConfig.getName())) {
2368 globalEditEHoldingsFieldsFlagBO.setAdminPasswordEditFlag(true);
2369 } else if (OLEConstants.EHOLDING_ACCESS_USR_NAME.equals(docFieldConfig.getName())) {
2370 globalEditEHoldingsFieldsFlagBO.setAccessUserNameEditFlag(true);
2371 } else if (OLEConstants.EHOLDING_ACCESS_PSWD.equals(docFieldConfig.getName())) {
2372 globalEditEHoldingsFieldsFlagBO.setAccessPasswordEditFlag(true);
2373 } else if (OLEConstants.EHOLDING_ADMIN_URL.equals(docFieldConfig.getName())) {
2374 globalEditEHoldingsFieldsFlagBO.setAdminUrlEditFlag(true);
2375 } else if (OLEConstants.EHOLDING_AUTHENTICATION_TYPE.equals(docFieldConfig.getName())) {
2376 globalEditEHoldingsFieldsFlagBO.setAuthenticationEditFlag(true);
2377 } else if (OLEConstants.EHOLDING_PROXIED.equals(docFieldConfig.getName())) {
2378 globalEditEHoldingsFieldsFlagBO.setProxiedEditFlag(true);
2379 } else if (OLEConstants.EHOLDING_ILL_IND.equals(docFieldConfig.getName())) {
2380 globalEditEHoldingsFieldsFlagBO.setLicenseDetailsEditFlag(true);
2381 globalEditEHoldingsFieldsFlagBO.setIllEditFlag(true);
2382 } else if (OLEConstants.EHOLDING_COVERAGE.equals(docFieldConfig.getName())) {
2383
2384 globalEditEHoldingsFieldsFlagBO.setCoverageExtentOfOwnerShipEditFlag(true);
2385 } else if (OLEConstants.EHOLDING_PERPETUAL.equals(docFieldConfig.getName())) {
2386 globalEditEHoldingsFieldsFlagBO.setExtentOfOwnerShipEditFlag(true);
2387 globalEditEHoldingsFieldsFlagBO.setPerpetualAccessEditFlag(true);
2388 } else if (OLEConstants.HOLDINGS_NOTE.equals(docFieldConfig.getName())) {
2389 globalEditEHoldingsFieldsFlagBO.seteHoldingsNoteEditFlag(true);
2390 } else if (OLEConstants.DONOR_CODE_DISPLAY.equals(docFieldConfig.getName())) {
2391 globalEditEHoldingsFieldsFlagBO.setDonorCodeEditFlag(true);
2392 } else if (OLEConstants.EHOLDING_DONOR_PUBLIC_DISPLAY.equals(docFieldConfig.getName())) {
2393 globalEditEHoldingsFieldsFlagBO.setDonorPublicDisplayEditFlag(true);
2394 } else if (OLEConstants.EHOLDING_DONOR_NOTE.equals(docFieldConfig.getName())) {
2395 globalEditEHoldingsFieldsFlagBO.setDonorNoteEditFlag(true);
2396 }
2397 }
2398 }
2399
2400
2401
2402 } else if (DocType.ITEM.getCode().equals(docType)) {
2403
2404 GlobalEditItemFieldsFlagBO globalEditItemFieldsFlagBO = editorForm.getGlobalEditItemFieldsFlagBO();
2405 for (DocFieldConfig docFieldConfig : docFieldConfigList) {
2406 if (docFieldConfig.isGloballyEditable()) {
2407
2408 if (OLEConstants.CALL_NUMBER.equals(docFieldConfig.getName())) {
2409 globalEditItemFieldsFlagBO.setCallNumberEditFlag(true);
2410 } else if (OLEConstants.CALL_NUMBER_PREFIX.equals(docFieldConfig.getName())) {
2411 globalEditItemFieldsFlagBO.setCallNumberPrefixEditFlag(true);
2412 } else if (OLEConstants.CALL_NUMBER_TYPE_CODE.equals(docFieldConfig.getName())) {
2413 globalEditItemFieldsFlagBO.setCallNumberTypeEditFlag(true);
2414 } else if (OLEConstants.SHELVING_ORDER.equals(docFieldConfig.getName())) {
2415 globalEditItemFieldsFlagBO.setShelvingOrderEditFlag(true);
2416 } else if (OLEConstants.LOCATION_LEVEL.equals(docFieldConfig.getName())) {
2417 globalEditItemFieldsFlagBO.setLocationEditFlag(true);
2418 } else if (OLEConstants.ITEM_STATUS_CODE_VALUE.equals(docFieldConfig.getName())) {
2419 globalEditItemFieldsFlagBO.setItemStatusEditFlag(true);
2420 globalEditItemFieldsFlagBO.setAccessInfoEditFlag(true);
2421 } else if (OLEConstants.PO_LINE_ITEM_IDENTIFIER.equals(docFieldConfig.getName())) {
2422 globalEditItemFieldsFlagBO.setCallNumberTypeEditFlag(true);
2423 } else if (OLEConstants.VENDOR_LINE_ITEM_IDENTIFIER.equals(docFieldConfig.getName())) {
2424 globalEditItemFieldsFlagBO.setVendorLineItemIDEditFlag(true);
2425 } else if (OLEConstants.BAR_CODE_ARSL.equals(docFieldConfig.getName())) {
2426 globalEditItemFieldsFlagBO.setBarcodeARSLEditFlag(true);
2427 } else if (OLEConstants.STATISTICAL_SEARCH_CODE.equals(docFieldConfig.getName())) {
2428 globalEditItemFieldsFlagBO.setStatisticalSearchingCodesEditFlag(true);
2429 } else if (OLEConstants.ITEM_TYPE_CODE_VALUE.equals(docFieldConfig.getName())) {
2430 globalEditItemFieldsFlagBO.setItemTypeEditFlag(true);
2431 } else if (OLEConstants.COPY_NUMBER_LABEL.equals(docFieldConfig.getName())) {
2432 globalEditItemFieldsFlagBO.setCopyNumberEditFlag(true);
2433 } else if (OLEConstants.VOLUME_NUMBER.equals(docFieldConfig.getName()) || OLEConstants.VOLUME_NUMBER_LABEL.equals(docFieldConfig.getName())) {
2434
2435 } else if (OLEConstants.ENUMARATION.equals(docFieldConfig.getName())) {
2436 globalEditItemFieldsFlagBO.setEnumerationEditFlag(true);
2437 } else if (OLEConstants.CHRONOLOGY.equals(docFieldConfig.getName())) {
2438 globalEditItemFieldsFlagBO.setChronologyEditFlag(true);
2439 } else if (OLEConstants.DONORPUBLIC_DISPLAY.equals(docFieldConfig.getName())) {
2440 globalEditItemFieldsFlagBO.setDonorPublicDisplayEditFlag(true);
2441 } else if (OLEConstants.DONORNOTE_DISPLAY.equals(docFieldConfig.getName())) {
2442 globalEditItemFieldsFlagBO.setDonorNoteEditFlag(true);
2443 } else if (OLEConstants.ITEMNOTE_TYPE_DISPLAY.equals(docFieldConfig.getName()) ) {
2444 globalEditItemFieldsFlagBO.setExtndInfoEditFlag(true);
2445 } else if (OLEConstants.ITEMBARCODE_DISPLAY.equals(docFieldConfig.getName()) || OLEConstants.ITEMBARCODE_SEARCH.equals(docFieldConfig.getName())) {
2446 globalEditItemFieldsFlagBO.setBarcodeEditFlag(true);
2447 } else if (OLEConstants.TEMPITEMTYPE_DISPLAY.equals(docFieldConfig.getName())) {
2448 globalEditItemFieldsFlagBO.setTempItemTypeEditFlag(true);
2449 } else if (OLEConstants.DONORCODE_DISPLAY.equals(docFieldConfig.getName())) {
2450 globalEditItemFieldsFlagBO.setDonorCodeEditFlag(true);
2451 } else if (OLEConstants.FORMERIDENTIFIER_DISPLAY.equals(docFieldConfig.getName())) {
2452 globalEditItemFieldsFlagBO.setFormerIdentifiersEditFlag(true);
2453 } else if (OLEConstants.FASTADD_DISPLAY.equals(docFieldConfig.getName())) {
2454 globalEditItemFieldsFlagBO.setFastAddEditFlag(true);
2455 } else if (OLEConstants.PIECES_DISPLAY.equals(docFieldConfig.getName())) {
2456 globalEditItemFieldsFlagBO.setNumberOfPiecesEditFlag(true);
2457 } else if (OLEConstants.ITEMSTATUSDATE_DISPLAY.equals(docFieldConfig.getName())) {
2458 globalEditItemFieldsFlagBO.setItemStatusDateEditFlag(true);
2459 } else if (OLEConstants.CHECKINNOTE_DISPLAY.equals(docFieldConfig.getName())) {
2460 globalEditItemFieldsFlagBO.setCheckinNoteEditFlag(true);
2461 } else if (OLEConstants.DUEDATETIME_DISPLAY.equals(docFieldConfig.getName())) {
2462 globalEditItemFieldsFlagBO.setDueDatetimeEditFlag(true);
2463 } else if (OLEConstants.CLAIMSRETURNFLAG_DISPLAY.equals(docFieldConfig.getName())) {
2464 globalEditItemFieldsFlagBO.setClaimsReturnEditFlag(true);
2465 } else if (OLEConstants.MISSINGPIECEFLAG_DISPLAY.equals(docFieldConfig.getName())) {
2466 globalEditItemFieldsFlagBO.setMissingPieceEditFlag(true);
2467 } else if (OLEConstants.ITEMDAMAGEDSTATUS_DISPLAY.equals(docFieldConfig.getName())) {
2468 globalEditItemFieldsFlagBO.setItemDamagedStatusEditFlag(true);
2469 }
2470
2471
2472 }
2473 }
2474 }
2475 }
2476
2477
2478 }
2479
2480
2481 }
2482
2483 }