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 }