View Javadoc

1   package org.kuali.ole.select.bo;
2   
3   import org.kuali.ole.module.purap.PurapConstants;
4   import org.kuali.ole.select.form.OLESerialReceivingForm;
5   import org.kuali.rice.kew.api.KewApiConstants;
6   import org.kuali.rice.kew.api.KewApiServiceLocator;
7   import org.kuali.rice.kew.api.doctype.DocumentType;
8   import org.kuali.rice.kew.framework.postprocessor.DocumentRouteStatusChange;
9   import org.kuali.rice.krad.document.TransactionalDocumentBase;
10  import org.kuali.rice.krad.util.KRADConstants;
11  
12  import java.sql.Timestamp;
13  import java.util.Date;
14  import java.util.List;
15  
16  /**
17   * Created with IntelliJ IDEA.
18   * User: vivekb
19   * Date: 6/26/13
20   * Time: 3:56 PM
21   * To change this template use File | Settings | File Templates.
22   */
23  public class OLESerialReceivingDocument extends TransactionalDocumentBase {
24      private static final org.apache.log4j.Logger LOG = org.apache.log4j.Logger.getLogger(OLESerialReceivingDocument.class);
25      private String serialReceivingRecordId;
26      private Date actionDate;
27      private String actionInterval;
28      private String bibId;
29      private String boundLocation;
30      private String callNumber;
31      private String receivingRecordType;
32      private String chronologyCaptionLevel1;
33      private String chronologyCaptionLevel2;
34      private String chronologyCaptionLevel3;
35      private String chronologyCaptionLevel4;
36      private boolean claim;
37      private String claimIntervalInformation;
38      private String copyNumber;
39      private String corporateAuthor;
40      private boolean createItem;
41      private String enumerationCaptionLevel1;
42      private String enumerationCaptionLevel2;
43      private String enumerationCaptionLevel3;
44      private String enumerationCaptionLevel4;
45      private String enumerationCaptionLevel5;
46      private String enumerationCaptionLevel6;
47      private String generalReceivingNote;
48      private String instanceId;
49      private String issn;
50      private String poId;
51      private boolean printLabel;
52      private String publisher;
53      private String serialReceiptLocation;
54      private String serialReceivingRecord;
55      private String subscriptionStatus;
56      private String title;
57      private String treatmentInstructionNote;
58      private String unboundLocation;
59      private String urgentNote;
60      private String vendorId;
61      private Timestamp createDate;
62      private String operatorId;
63      private String machineId;
64      private boolean publicDisplay;
65      private Timestamp subscriptionStatusDate;
66      private boolean specialIssueFlag;
67      private String specialIssueNote;
68      private boolean treatmentNoteFlag;
69      private boolean active = true;
70      private String treatmentDialogNote;
71      private List<OLESerialReceivingHistory> oleSerialReceivingHistoryList;
72      private List<OLESerialReceivingHistory> mainSerialReceivingHistoryList;
73      private List<OLESerialReceivingHistory> supplementSerialReceivingHistoryList;
74      private List<OLESerialReceivingHistory> indexSerialReceivingHistoryList;
75      private String itemUUID;
76      private String enumCaption1;
77      private String enumCaption2;
78      private String enumCaption3;
79      private String enumCaption4;
80      private String enumCaption5;
81      private String enumCaption6;
82      private String enumLevel1;
83      private String enumLevel2;
84      private String enumLevel3;
85      private String enumLevel4;
86      private String enumLevel5;
87      private String enumLevel6;
88      private String chronCaption1;
89      private String chronCaption2;
90      private String chronCaption3;
91      private String chronCaption4;
92      private String chronLevel1;
93      private String chronLevel2;
94      private String chronLevel3;
95      private String chronLevel4;
96      private String serialReceiptHistoryId;
97      private boolean returnToSearch;
98      private String confirmMessage;
99      private String urgentDialogNote;
100     private boolean urgentNoteFlag;
101     private String vendorAliasName;
102     private String vendorName;
103     private String searchLimit;
104     private String poIdLink;
105     private String statusCode;
106     private List<OLESerialRelatedPODocument> oleSerialRelatedPODocuments;
107     private List<OLESerialReceivingType> oleSerialReceivingTypes;
108     private boolean linkPO;
109 
110     private String serialPOErrMsg ;
111 
112 
113     public List<OLESerialReceivingType> getOleSerialReceivingTypes() {
114         return oleSerialReceivingTypes;
115     }
116 
117     public void setOleSerialReceivingTypes(List<OLESerialReceivingType> oleSerialReceivingTypes) {
118         this.oleSerialReceivingTypes = oleSerialReceivingTypes;
119     }
120 
121     public String getSerialPOErrMsg() {
122         return serialPOErrMsg;
123     }
124 
125     public void setSerialPOErrMsg(String serialPOErrMsg) {
126         this.serialPOErrMsg = serialPOErrMsg;
127     }
128 
129     public boolean isLinkPO() {
130         return linkPO;
131     }
132 
133     public void setLinkPO(boolean linkPO) {
134         this.linkPO = linkPO;
135     }
136 
137     public List<OLESerialRelatedPODocument> getOleSerialRelatedPODocuments() {
138         return oleSerialRelatedPODocuments;
139     }
140 
141     public void setOleSerialRelatedPODocuments(List<OLESerialRelatedPODocument> oleSerialRelatedPODocuments) {
142         this.oleSerialRelatedPODocuments = oleSerialRelatedPODocuments;
143     }
144 
145     public String getStatusCode() {
146         return statusCode;
147     }
148 
149     public void setStatusCode(String statusCode) {
150         this.statusCode = statusCode;
151     }
152 
153     public String getPoIdLink() {
154         return poIdLink;
155     }
156 
157     public void setPoIdLink(String poDocNumber) {
158         String documentTypeName = PurapConstants.PurchaseOrderDocTypes.PURCHASE_ORDER_DOCUMENT;
159         DocumentType docType = KewApiServiceLocator.getDocumentTypeService().getDocumentTypeByName(documentTypeName);
160         String docHandlerUrl = docType.getResolvedDocumentHandlerUrl();
161         int endSubString = docHandlerUrl.lastIndexOf("/");
162         String serverName = docHandlerUrl.substring(0, endSubString);
163         String handler = docHandlerUrl.substring(endSubString + 1, docHandlerUrl.lastIndexOf("?"));
164         this.poIdLink = serverName + "/" + KRADConstants.PORTAL_ACTION + "?channelTitle=" + docType.getName() + "&channelUrl=" + handler + "?" + KRADConstants.DISPATCH_REQUEST_PARAMETER + "=" + KRADConstants.DOC_HANDLER_METHOD + "&" + KRADConstants.PARAMETER_DOC_ID + "=" + poDocNumber + "&" + KRADConstants.PARAMETER_COMMAND + "=" + KewApiConstants.DOCSEARCH_COMMAND;
165     }
166 
167     public List<OLESerialReceivingHistory> getMainSerialReceivingHistoryList() {
168         return mainSerialReceivingHistoryList;
169     }
170 
171     public void setMainSerialReceivingHistoryList(List<OLESerialReceivingHistory> mainSerialReceivingHistoryList) {
172         this.mainSerialReceivingHistoryList = mainSerialReceivingHistoryList;
173     }
174 
175     public List<OLESerialReceivingHistory> getSupplementSerialReceivingHistoryList() {
176         return supplementSerialReceivingHistoryList;
177     }
178 
179     public void setSupplementSerialReceivingHistoryList(List<OLESerialReceivingHistory> supplementSerialReceivingHistoryList) {
180         this.supplementSerialReceivingHistoryList = supplementSerialReceivingHistoryList;
181     }
182 
183     public List<OLESerialReceivingHistory> getIndexSerialReceivingHistoryList() {
184         return indexSerialReceivingHistoryList;
185     }
186 
187     public void setIndexSerialReceivingHistoryList(List<OLESerialReceivingHistory> indexSerialReceivingHistoryList) {
188         this.indexSerialReceivingHistoryList = indexSerialReceivingHistoryList;
189     }
190 
191     public String getChronCaption1() {
192         return chronCaption1;
193     }
194 
195     public void setChronCaption1(String chronCaption1) {
196         this.chronCaption1 = chronCaption1;
197     }
198 
199     public String getChronCaption2() {
200         return chronCaption2;
201     }
202 
203     public void setChronCaption2(String chronCaption2) {
204         this.chronCaption2 = chronCaption2;
205     }
206 
207     public String getChronCaption3() {
208         return chronCaption3;
209     }
210 
211     public void setChronCaption3(String chronCaption3) {
212         this.chronCaption3 = chronCaption3;
213     }
214 
215     public String getChronCaption4() {
216         return chronCaption4;
217     }
218 
219     public void setChronCaption4(String chronCaption4) {
220         this.chronCaption4 = chronCaption4;
221     }
222 
223     public String getChronLevel1() {
224         return chronLevel1;
225     }
226 
227     public void setChronLevel1(String chronLevel1) {
228         this.chronLevel1 = chronLevel1;
229     }
230 
231     public String getChronLevel2() {
232         return chronLevel2;
233     }
234 
235     public void setChronLevel2(String chronLevel2) {
236         this.chronLevel2 = chronLevel2;
237     }
238 
239     public String getChronLevel3() {
240         return chronLevel3;
241     }
242 
243     public void setChronLevel3(String chronLevel3) {
244         this.chronLevel3 = chronLevel3;
245     }
246 
247     public String getChronLevel4() {
248         return chronLevel4;
249     }
250 
251     public void setChronLevel4(String chronLevel4) {
252         this.chronLevel4 = chronLevel4;
253     }
254 
255     public String getUrgentDialogNote() {
256         return urgentDialogNote;
257     }
258 
259     public void setUrgentDialogNote(String urgentDialogNote) {
260         this.urgentDialogNote = urgentDialogNote;
261     }
262 
263     public boolean isUrgentNoteFlag() {
264         return urgentNoteFlag;
265     }
266 
267     public void setUrgentNoteFlag(boolean urgentNoteFlag) {
268         this.urgentNoteFlag = urgentNoteFlag;
269     }
270 
271     public String getConfirmMessage() {
272         return confirmMessage;
273     }
274 
275     public void setConfirmMessage(String confirmMessage) {
276         this.confirmMessage = confirmMessage;
277     }
278 
279     public boolean isReturnToSearch() {
280         return returnToSearch;
281     }
282 
283     public void setReturnToSearch(boolean returnToSearch) {
284         this.returnToSearch = returnToSearch;
285     }
286 
287     public String getSerialReceiptHistoryId() {
288         return serialReceiptHistoryId;
289     }
290 
291     public void setSerialReceiptHistoryId(String serialReceiptHistoryId) {
292         this.serialReceiptHistoryId = serialReceiptHistoryId;
293     }
294 
295     public OLESerialReceivingForm form;
296 
297     public OLESerialReceivingForm getForm() {
298         return form;
299     }
300 
301     public void setForm(OLESerialReceivingForm form) {
302         this.form = form;
303     }
304 
305     public String getSerialReceivingRecordId() {
306         return serialReceivingRecordId;
307     }
308 
309     public void setSerialReceivingRecordId(String serialReceivingRecordId) {
310         this.serialReceivingRecordId = serialReceivingRecordId;
311     }
312 
313     public Date getActionDate() {
314         return actionDate;
315     }
316 
317     public void setActionDate(Date actionDate) {
318         this.actionDate = actionDate;
319     }
320 
321     public String getActionInterval() {
322         return actionInterval;
323     }
324 
325     public void setActionInterval(String actionInterval) {
326         this.actionInterval = actionInterval;
327     }
328 
329     public String getBibId() {
330         return bibId;
331     }
332 
333     public void setBibId(String bibId) {
334         this.bibId = bibId;
335     }
336 
337     public String getBoundLocation() {
338         return boundLocation;
339     }
340 
341     public void setBoundLocation(String boundLocation) {
342         this.boundLocation = boundLocation;
343     }
344 
345     public String getCallNumber() {
346         return callNumber;
347     }
348 
349     public void setCallNumber(String callNumber) {
350         this.callNumber = callNumber;
351     }
352 
353     public String getReceivingRecordType() {
354         return receivingRecordType;
355     }
356 
357     public void setReceivingRecordType(String receivingRecordType) {
358         this.receivingRecordType = receivingRecordType;
359     }
360 
361     public String getChronologyCaptionLevel1() {
362         return chronologyCaptionLevel1;
363     }
364 
365     public void setChronologyCaptionLevel1(String chronologyCaptionLevel1) {
366         this.chronologyCaptionLevel1 = chronologyCaptionLevel1;
367     }
368 
369     public String getChronologyCaptionLevel2() {
370         return chronologyCaptionLevel2;
371     }
372 
373     public void setChronologyCaptionLevel2(String chronologyCaptionLevel2) {
374         this.chronologyCaptionLevel2 = chronologyCaptionLevel2;
375     }
376 
377     public String getChronologyCaptionLevel3() {
378         return chronologyCaptionLevel3;
379     }
380 
381     public void setChronologyCaptionLevel3(String chronologyCaptionLevel3) {
382         this.chronologyCaptionLevel3 = chronologyCaptionLevel3;
383     }
384 
385     public String getChronologyCaptionLevel4() {
386         return chronologyCaptionLevel4;
387     }
388 
389     public void setChronologyCaptionLevel4(String chronologyCaptionLevel4) {
390         this.chronologyCaptionLevel4 = chronologyCaptionLevel4;
391     }
392 
393     public boolean isClaim() {
394         return claim;
395     }
396 
397     public void setClaim(boolean claim) {
398         this.claim = claim;
399     }
400 
401     public String getClaimIntervalInformation() {
402         return claimIntervalInformation;
403     }
404 
405     public void setClaimIntervalInformation(String claimIntervalInformation) {
406         this.claimIntervalInformation = claimIntervalInformation;
407     }
408 
409     public String getCopyNumber() {
410         return copyNumber;
411     }
412 
413     public void setCopyNumber(String copyNumber) {
414         this.copyNumber = copyNumber;
415     }
416 
417     public String getCorporateAuthor() {
418         return corporateAuthor;
419     }
420 
421     public void setCorporateAuthor(String corporateAuthor) {
422         this.corporateAuthor = corporateAuthor;
423     }
424 
425     public boolean isCreateItem() {
426         return createItem;
427     }
428 
429     public void setCreateItem(boolean createItem) {
430         this.createItem = createItem;
431     }
432 
433     public String getEnumerationCaptionLevel1() {
434         return enumerationCaptionLevel1;
435     }
436 
437     public void setEnumerationCaptionLevel1(String enumerationCaptionLevel1) {
438         this.enumerationCaptionLevel1 = enumerationCaptionLevel1;
439     }
440 
441     public String getEnumerationCaptionLevel2() {
442         return enumerationCaptionLevel2;
443     }
444 
445     public void setEnumerationCaptionLevel2(String enumerationCaptionLevel2) {
446         this.enumerationCaptionLevel2 = enumerationCaptionLevel2;
447     }
448 
449     public String getEnumerationCaptionLevel3() {
450         return enumerationCaptionLevel3;
451     }
452 
453     public void setEnumerationCaptionLevel3(String enumerationCaptionLevel3) {
454         this.enumerationCaptionLevel3 = enumerationCaptionLevel3;
455     }
456 
457     public boolean isPublicDisplay() {
458         return publicDisplay;
459     }
460 
461     public void setPublicDisplay(boolean publicDisplay) {
462         this.publicDisplay = publicDisplay;
463     }
464 
465     public String getEnumerationCaptionLevel4() {
466         return enumerationCaptionLevel4;
467     }
468 
469     public void setEnumerationCaptionLevel4(String enumerationCaptionLevel4) {
470         this.enumerationCaptionLevel4 = enumerationCaptionLevel4;
471     }
472 
473     public String getEnumerationCaptionLevel5() {
474         return enumerationCaptionLevel5;
475     }
476 
477     public void setEnumerationCaptionLevel5(String enumerationCaptionLevel5) {
478         this.enumerationCaptionLevel5 = enumerationCaptionLevel5;
479     }
480 
481     public String getEnumerationCaptionLevel6() {
482         return enumerationCaptionLevel6;
483     }
484 
485     public void setEnumerationCaptionLevel6(String enumerationCaptionLevel6) {
486         this.enumerationCaptionLevel6 = enumerationCaptionLevel6;
487     }
488 
489     public String getGeneralReceivingNote() {
490         return generalReceivingNote;
491     }
492 
493     public void setGeneralReceivingNote(String generalReceivingNote) {
494         this.generalReceivingNote = generalReceivingNote;
495     }
496 
497     public String getInstanceId() {
498         return instanceId;
499     }
500 
501     public void setInstanceId(String instanceId) {
502         this.instanceId = instanceId;
503     }
504 
505     public String getIssn() {
506         return issn;
507     }
508 
509     public void setIssn(String issn) {
510         this.issn = issn;
511     }
512 
513     public String getPoId() {
514         return poId;
515     }
516 
517     public void setPoId(String poId) {
518         this.poId = poId;
519     }
520 
521     public boolean isPrintLabel() {
522         return printLabel;
523     }
524 
525     public void setPrintLabel(boolean printLabel) {
526         this.printLabel = printLabel;
527     }
528 
529     public String getPublisher() {
530         return publisher;
531     }
532 
533     public void setPublisher(String publisher) {
534         this.publisher = publisher;
535     }
536 
537     public String getSerialReceiptLocation() {
538         return serialReceiptLocation;
539     }
540 
541     public void setSerialReceiptLocation(String serialReceiptLocation) {
542         this.serialReceiptLocation = serialReceiptLocation;
543     }
544 
545     public String getSerialReceivingRecord() {
546         return serialReceivingRecord;
547     }
548 
549     public void setSerialReceivingRecord(String serialReceivingRecord) {
550         this.serialReceivingRecord = serialReceivingRecord;
551     }
552 
553     public String getSubscriptionStatus() {
554         return subscriptionStatus;
555     }
556 
557     public void setSubscriptionStatus(String subscriptionStatus) {
558         this.subscriptionStatus = subscriptionStatus;
559     }
560 
561     public String getTitle() {
562         return title;
563     }
564 
565     public void setTitle(String title) {
566         this.title = title;
567     }
568 
569     public String getTreatmentInstructionNote() {
570         return treatmentInstructionNote;
571     }
572 
573     public void setTreatmentInstructionNote(String treatmentInstructionNote) {
574         this.treatmentInstructionNote = treatmentInstructionNote;
575     }
576 
577     public String getUnboundLocation() {
578         return unboundLocation;
579     }
580 
581     public void setUnboundLocation(String unboundLocation) {
582         this.unboundLocation = unboundLocation;
583     }
584 
585     public String getUrgentNote() {
586         return urgentNote;
587     }
588 
589     public void setUrgentNote(String urgentNote) {
590         this.urgentNote = urgentNote;
591     }
592 
593     public String getVendorId() {
594         return vendorId;
595     }
596 
597     public void setVendorId(String vendorId) {
598         this.vendorId = vendorId;
599     }
600 
601     public Timestamp getCreateDate() {
602         return createDate;
603     }
604 
605     public void setCreateDate(Timestamp createDate) {
606         this.createDate = createDate;
607     }
608 
609     public String getOperatorId() {
610         return operatorId;
611     }
612 
613     public void setOperatorId(String operatorId) {
614         this.operatorId = operatorId;
615     }
616 
617     public String getMachineId() {
618         return machineId;
619     }
620 
621     public void setMachineId(String machineId) {
622         this.machineId = machineId;
623     }
624 
625     public Timestamp getSubscriptionStatusDate() {
626         return subscriptionStatusDate;
627     }
628 
629     public void setSubscriptionStatusDate(Timestamp subscriptionStatusDate) {
630         this.subscriptionStatusDate = subscriptionStatusDate;
631     }
632 
633     public List<OLESerialReceivingHistory> getOleSerialReceivingHistoryList() {
634         return oleSerialReceivingHistoryList;
635     }
636 
637     public void setOleSerialReceivingHistoryList(List<OLESerialReceivingHistory> oleSerialReceivingHistoryList) {
638         this.oleSerialReceivingHistoryList = oleSerialReceivingHistoryList;
639     }
640 
641     public boolean isSpecialIssueFlag() {
642         return specialIssueFlag;
643     }
644 
645     public void setSpecialIssueFlag(boolean specialIssueFlag) {
646         this.specialIssueFlag = specialIssueFlag;
647     }
648 
649     public String getSpecialIssueNote() {
650         return specialIssueNote;
651     }
652 
653     public void setSpecialIssueNote(String specialIssueNote) {
654         this.specialIssueNote = specialIssueNote;
655     }
656 
657     public boolean isTreatmentNoteFlag() {
658         return treatmentNoteFlag;
659     }
660 
661     public void setTreatmentNoteFlag(boolean treatmentNoteFlag) {
662         this.treatmentNoteFlag = treatmentNoteFlag;
663     }
664 
665     public String getTreatmentDialogNote() {
666         return treatmentDialogNote;
667     }
668 
669     public void setTreatmentDialogNote(String treatmentDialogNote) {
670         this.treatmentDialogNote = treatmentDialogNote;
671     }
672 
673 
674     public boolean isActive() {
675         return active;
676     }
677 
678     public void setActive(boolean active) {
679         this.active = active;
680     }
681 
682     public String getItemUUID() {
683         return itemUUID;
684     }
685 
686     public void setItemUUID(String itemUUID) {
687         this.itemUUID = itemUUID;
688     }
689 
690     public String getEnumCaption1() {
691         return enumCaption1;
692     }
693 
694     public void setEnumCaption1(String enumCaption1) {
695         this.enumCaption1 = enumCaption1;
696     }
697 
698     public String getEnumCaption2() {
699         return enumCaption2;
700     }
701 
702     public void setEnumCaption2(String enumCaption2) {
703         this.enumCaption2 = enumCaption2;
704     }
705 
706     public String getEnumCaption3() {
707         return enumCaption3;
708     }
709 
710     public void setEnumCaption3(String enumCaption3) {
711         this.enumCaption3 = enumCaption3;
712     }
713 
714     public String getEnumCaption4() {
715         return enumCaption4;
716     }
717 
718     public void setEnumCaption4(String enumCaption4) {
719         this.enumCaption4 = enumCaption4;
720     }
721 
722     public String getEnumCaption5() {
723         return enumCaption5;
724     }
725 
726     public void setEnumCaption5(String enumCaption5) {
727         this.enumCaption5 = enumCaption5;
728     }
729 
730     public String getEnumCaption6() {
731         return enumCaption6;
732     }
733 
734     public void setEnumCaption6(String enumCaption6) {
735         this.enumCaption6 = enumCaption6;
736     }
737 
738     public String getEnumLevel1() {
739         return enumLevel1;
740     }
741 
742     public void setEnumLevel1(String enumLevel1) {
743         this.enumLevel1 = enumLevel1;
744     }
745 
746     public String getEnumLevel2() {
747         return enumLevel2;
748     }
749 
750     public void setEnumLevel2(String enumLevel2) {
751         this.enumLevel2 = enumLevel2;
752     }
753 
754     public String getEnumLevel3() {
755         return enumLevel3;
756     }
757 
758     public void setEnumLevel3(String enumLevel3) {
759         this.enumLevel3 = enumLevel3;
760     }
761 
762     public String getEnumLevel4() {
763         return enumLevel4;
764     }
765 
766     public void setEnumLevel4(String enumLevel4) {
767         this.enumLevel4 = enumLevel4;
768     }
769 
770     public String getEnumLevel5() {
771         return enumLevel5;
772     }
773 
774     public void setEnumLevel5(String enumLevel5) {
775         this.enumLevel5 = enumLevel5;
776     }
777 
778     public String getEnumLevel6() {
779         return enumLevel6;
780     }
781 
782     public void setEnumLevel6(String enumLevel6) {
783         this.enumLevel6 = enumLevel6;
784     }
785 
786     public String getVendorAliasName() {
787         return vendorAliasName;
788     }
789 
790     public void setVendorAliasName(String vendorAliasName) {
791         this.vendorAliasName = vendorAliasName;
792     }
793 
794     public String getVendorName() {
795         return vendorName;
796     }
797 
798     public void setVendorName(String vendorName) {
799         this.vendorName = vendorName;
800     }
801 
802     public String getSearchLimit() {
803         return searchLimit;
804     }
805 
806     public void setSearchLimit(String searchLimit) {
807         this.searchLimit = searchLimit;
808     }
809 
810     @Override
811     public void doRouteStatusChange(DocumentRouteStatusChange statusChangeEvent) {
812         LOG.debug("doRouteStatusChange() starting");
813         super.doRouteStatusChange(statusChangeEvent);
814 
815         try {
816             if (this.getDocumentHeader().getWorkflowDocument().isFinal() || this.getDocumentHeader().getWorkflowDocument().isDisapproved()) {
817                 this.setActive(false);
818             }
819         } catch (Exception e) {
820             LOG.error("Error saving routing data while saving document with id " + getDocumentNumber(), e);
821         }
822         LOG.debug("doRouteStatusChange() ending");
823     }
824 }