1 package org.kuali.ole.deliver; 2 3 import org.apache.log4j.Logger; 4 import org.kuali.ole.deliver.form.OleLoanForm; 5 import org.kuali.ole.describe.form.EditorForm; 6 import org.kuali.ole.krad.OleComponent; 7 import org.kuali.ole.krad.OleComponentUtils; 8 import org.kuali.rice.krad.uif.component.Component; 9 import org.kuali.rice.krad.uif.container.Group; 10 import org.kuali.rice.krad.uif.util.ObjectPropertyUtils; 11 import org.kuali.rice.krad.uif.view.View; 12 13 import java.util.Iterator; 14 import java.util.List; 15 16 /** 17 * Created with IntelliJ IDEA. 18 * User: palanivel 19 * Date: 4/29/14 20 * Time: 3:55 PM 21 * To change this template use File | Settings | File Templates. 22 */ 23 public class OleGroup extends Group { 24 private static final Logger LOG = Logger 25 .getLogger(OleGroup.class); 26 27 private static String ALTER_DUE_DATE_ID = "AlterDueDateSection-HorizontalBoxSection"; 28 29 private static String RENEWAL_ID = "RenewalDueDateSection-HorizontalBoxSection"; 30 31 private static String PROXY_PATRON_ID = "RealPatronSection-HorizontalBoxSection"; 32 33 private static String DAMAGED_ITEM_ID = "DamagedItem-HorizontalBoxSection"; 34 35 private static String MISSING_PIECE_ID = "MissingPiece-HorizontalBoxSection"; 36 37 private static String CLAIMS_RETURN_ID = "ClaimsReturn-HorizontalBoxSection"; 38 39 private static String OVERRIDE_LOGIN = "OverRideLogInSectionLink"; 40 41 private static String PATRON_NOTE_ID = "PatronUserNote-HorizontalBoxSection"; 42 43 private static String CONFIRM_CIRULATION_LOCATION = "ConfirmCirculationLocationChange"; 44 45 private static String MISSING_PIECE_RECORD_NOTE = "OLELoanView-RecordNote-MissingPiece-MessageBox"; 46 47 private static String DAMAGED_RECORD_NOTE = "OLELoanView-RecordNote-Damaged-MessageBox"; 48 49 private static String LOAN_CLAIMS_OPTIONS = "loanClaimsOption"; 50 51 52 /** 53 * The following actions are performed: 54 * 55 * <ul> 56 * <li>Sets the bindByNamePrefix if blank on any InputField and 57 * FieldGroup instances within the items List</li> 58 * </ul> 59 * 60 * @see org.kuali.rice.krad.uif.component.ComponentBase#performInitialization(org.kuali.rice.krad.uif.view.View, 61 * java.lang.Object) 62 */ 63 @Override 64 public void performInitialization(View view, Object form) { 65 66 super.performInitialization(view, form); 67 68 // boolean alterDueDate = ((OleLoanForm) form).isAlterDueDateFlag(); 69 // boolean renewDueDateFlag = ((OleLoanForm) form).isRenewDueDateFlag(); 70 // boolean realPatronFlag = ((OleLoanForm) form).isRealPatronFlag(); 71 // boolean missingPieceDialog = ((OleLoanForm) form).isMissingPieceDialog(); 72 // boolean damagedItemDialog = ((OleLoanForm) form).isDamagedItemDialog(); 73 // boolean claimsReturnFlag = ((OleLoanForm) form).isClaimsReturnFlag(); 74 // boolean overrideFlag = ((OleLoanForm) form).isOverrideFlag(); 75 // boolean patronNoteFlag = ((OleLoanForm) form).isPatronNoteFlag(); 76 // boolean changeLocationFlag = ((OleLoanForm) form).isChangeLocationFlag(); 77 // boolean displayMissingPieceNotePopup = ((OleLoanForm) form).isDisplayMissingPieceNotePopup(); 78 // boolean displayDamagedRecordNotePopup = ((OleLoanForm) form).isDisplayDamagedRecordNotePopup(); 79 // boolean claimsFlag = ((OleLoanForm) form).isClaimsFlag(); 80 // LOG.info("alterDueDate " + alterDueDate); 81 // List<? extends Component> items = getItems(); 82 // Iterator<? extends Component> itemIterator = items.iterator(); 83 // while (itemIterator.hasNext()) { 84 // Component component = itemIterator.next(); 85 // if (component == null) { 86 // continue; 87 // } 88 // 89 // LOG.info("checking component " + component.getId()); 90 // 91 // 92 // if (ALTER_DUE_DATE_ID.equals(component.getId()) 93 // && !alterDueDate) { 94 // LOG.info("Omitting "+component.getId()+" from lifecycle"); 95 // itemIterator.remove(); 96 // }else if(RENEWAL_ID.equals(component.getId()) 97 // && !renewDueDateFlag){ 98 // LOG.info("Omitting "+component.getId()+" from lifecycle"); 99 // itemIterator.remove(); 100 // }else if(PROXY_PATRON_ID.equals(component.getId()) 101 // && !realPatronFlag){ 102 // LOG.info("Omitting "+component.getId()+" from lifecycle"); 103 // itemIterator.remove(); 104 // }else if(DAMAGED_ITEM_ID.equals(component.getId()) 105 // && !damagedItemDialog){ 106 // LOG.info("Omitting "+component.getId()+" from lifecycle"); 107 // itemIterator.remove(); 108 // }else if(MISSING_PIECE_ID.equals(component.getId()) 109 // && !missingPieceDialog){ 110 // LOG.info("Omitting "+component.getId()+" from lifecycle"); 111 // itemIterator.remove(); 112 // }else if(CLAIMS_RETURN_ID.equals(component.getId()) 113 // && !claimsReturnFlag){ 114 // LOG.info("Omitting "+component.getId()+" from lifecycle"); 115 // itemIterator.remove(); 116 // }else if(OVERRIDE_LOGIN.equals(component.getId()) 117 // && !overrideFlag){ 118 // LOG.info("Omitting "+component.getId()+" from lifecycle"); 119 // itemIterator.remove(); 120 // }else if(PATRON_NOTE_ID.equals(component.getId()) 121 // && !patronNoteFlag){ 122 // LOG.info("Omitting "+component.getId()+" from lifecycle"); 123 // itemIterator.remove(); 124 // }else if(CONFIRM_CIRULATION_LOCATION.equals(component.getId()) 125 // && !changeLocationFlag){ 126 // LOG.info("Omitting "+component.getId()+" from lifecycle"); 127 // itemIterator.remove(); 128 // }else if(MISSING_PIECE_RECORD_NOTE.equals(component.getId()) 129 // && !displayMissingPieceNotePopup){ 130 // LOG.info("Omitting "+component.getId()+" from lifecycle"); 131 // itemIterator.remove(); 132 // }else if(DAMAGED_RECORD_NOTE.equals(component.getId()) 133 // && !displayDamagedRecordNotePopup){ 134 // LOG.info("Omitting "+component.getId()+" from lifecycle"); 135 // itemIterator.remove(); 136 // }else if(LOAN_CLAIMS_OPTIONS.equals(component.getId()) 137 // && !claimsFlag){ 138 // LOG.info("Omitting "+component.getId()+" from lifecycle"); 139 // itemIterator.remove(); 140 // } 141 // } 142 } 143 144 /** 145 * Filters {@link OleComponent} instances based on 146 * {@link OleComponent#getFilterModelProperty()}, if the current model is 147 * available. 148 */ 149 @Override 150 protected <T> void copyProperties(T component) { 151 List<? extends Component> srcitems = getItems(); 152 153 // prevent super() from copying items 154 setItems(null); 155 super.copyProperties(component); 156 setItems(srcitems); 157 158 Group groupCopy = (Group) component; 159 groupCopy.setItems(OleComponentUtils.filterItems(srcitems)); 160 } 161 162 }