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 private static String INVALID_BARCODE_ID = "InvalidBarcode-MessageBox";
52
53 /**
54 * The following actions are performed:
55 *
56 * <ul>
57 * <li>Sets the bindByNamePrefix if blank on any InputField and
58 * FieldGroup instances within the items List</li>
59 * </ul>
60 *
61 * @see org.kuali.rice.krad.uif.component.ComponentBase#performInitialization(org.kuali.rice.krad.uif.view.View,
62 * java.lang.Object)
63 */
64 @Override
65 public void performInitialization(View view, Object form) {
66
67 super.performInitialization(view, form);
68
69 // boolean alterDueDate = ((OleLoanForm) form).isAlterDueDateFlag();
70 // boolean renewDueDateFlag = ((OleLoanForm) form).isRenewDueDateFlag();
71 // boolean realPatronFlag = ((OleLoanForm) form).isRealPatronFlag();
72 // boolean missingPieceDialog = ((OleLoanForm) form).isMissingPieceDialog();
73 // boolean damagedItemDialog = ((OleLoanForm) form).isDamagedItemDialog();
74 // boolean claimsReturnFlag = ((OleLoanForm) form).isClaimsReturnFlag();
75 // boolean overrideFlag = ((OleLoanForm) form).isOverrideFlag();
76 // boolean patronNoteFlag = ((OleLoanForm) form).isPatronNoteFlag();
77 // boolean changeLocationFlag = ((OleLoanForm) form).isChangeLocationFlag();
78 // boolean displayMissingPieceNotePopup = ((OleLoanForm) form).isDisplayMissingPieceNotePopup();
79 // boolean displayDamagedRecordNotePopup = ((OleLoanForm) form).isDisplayDamagedRecordNotePopup();
80 // boolean claimsFlag = ((OleLoanForm) form).isClaimsFlag();
81 // LOG.info("alterDueDate " + alterDueDate);
82 // List<? extends Component> items = getItems();
83 // Iterator<? extends Component> itemIterator = items.iterator();
84 // while (itemIterator.hasNext()) {
85 // Component component = itemIterator.next();
86 // if (component == null) {
87 // continue;
88 // }
89 //
90 // LOG.info("checking component " + component.getId());
91 //
92 //
93 // if (ALTER_DUE_DATE_ID.equals(component.getId())
94 // && !alterDueDate) {
95 // LOG.info("Omitting "+component.getId()+" from lifecycle");
96 // itemIterator.remove();
97 // }else if(RENEWAL_ID.equals(component.getId())
98 // && !renewDueDateFlag){
99 // LOG.info("Omitting "+component.getId()+" from lifecycle");
100 // itemIterator.remove();
101 // }else if(PROXY_PATRON_ID.equals(component.getId())
102 // && !realPatronFlag){
103 // LOG.info("Omitting "+component.getId()+" from lifecycle");
104 // itemIterator.remove();
105 // }else if(DAMAGED_ITEM_ID.equals(component.getId())
106 // && !damagedItemDialog){
107 // LOG.info("Omitting "+component.getId()+" from lifecycle");
108 // itemIterator.remove();
109 // }else if(MISSING_PIECE_ID.equals(component.getId())
110 // && !missingPieceDialog){
111 // LOG.info("Omitting "+component.getId()+" from lifecycle");
112 // itemIterator.remove();
113 // }else if(CLAIMS_RETURN_ID.equals(component.getId())
114 // && !claimsReturnFlag){
115 // LOG.info("Omitting "+component.getId()+" from lifecycle");
116 // itemIterator.remove();
117 // }else if(OVERRIDE_LOGIN.equals(component.getId())
118 // && !overrideFlag){
119 // LOG.info("Omitting "+component.getId()+" from lifecycle");
120 // itemIterator.remove();
121 // }else if(PATRON_NOTE_ID.equals(component.getId())
122 // && !patronNoteFlag){
123 // LOG.info("Omitting "+component.getId()+" from lifecycle");
124 // itemIterator.remove();
125 // }else if(CONFIRM_CIRULATION_LOCATION.equals(component.getId())
126 // && !changeLocationFlag){
127 // LOG.info("Omitting "+component.getId()+" from lifecycle");
128 // itemIterator.remove();
129 // }else if(MISSING_PIECE_RECORD_NOTE.equals(component.getId())
130 // && !displayMissingPieceNotePopup){
131 // LOG.info("Omitting "+component.getId()+" from lifecycle");
132 // itemIterator.remove();
133 // }else if(DAMAGED_RECORD_NOTE.equals(component.getId())
134 // && !displayDamagedRecordNotePopup){
135 // LOG.info("Omitting "+component.getId()+" from lifecycle");
136 // itemIterator.remove();
137 // }else if(LOAN_CLAIMS_OPTIONS.equals(component.getId())
138 // && !claimsFlag){
139 // LOG.info("Omitting "+component.getId()+" from lifecycle");
140 // itemIterator.remove();
141 // }
142 // }
143 }
144
145 /**
146 * Filters {@link OleComponent} instances based on
147 * {@link OleComponent#getFilterModelProperty()}, if the current model is
148 * available.
149 */
150 @Override
151 protected <T> void copyProperties(T component) {
152 List<? extends Component> srcitems = getItems();
153
154 // prevent super() from copying items
155 setItems(null);
156 super.copyProperties(component);
157 setItems(srcitems);
158
159 Group groupCopy = (Group) component;
160 groupCopy.setItems(OleComponentUtils.filterItems(srcitems));
161 }
162
163 }