Clover Coverage Report - Kuali Student 1.2-M5-SNAPSHOT (Aggregated)
Coverage timestamp: Mon Aug 29 2011 05:04:27 EDT
../../../../../../../../../img/srcFileCovDistChart0.png 42% of files have more coverage
84   178   37   6.46
40   152   0.44   13
13     2.85  
1    
 
  SummaryTable       Line # 14 84 0% 37 137 0% 0.0
 
No Tests
 
1    package org.kuali.student.common.ui.client.widgets.table.summary;
2   
3    import java.util.HashMap;
4   
5    import org.kuali.student.common.ui.client.widgets.field.layout.element.AbbrPanel;
6   
7    import com.google.gwt.user.client.Element;
8    import com.google.gwt.user.client.ui.Anchor;
9    import com.google.gwt.user.client.ui.FlexTable;
10    import com.google.gwt.user.client.ui.HasVerticalAlignment;
11    import com.google.gwt.user.client.ui.HorizontalPanel;
12    import com.google.gwt.user.client.ui.Label;
13   
 
14    public class SummaryTable extends FlexTable{
15    private SummaryTableModel model = new SummaryTableModel();
16    private int rowIndex = 0;
17    private HashMap<String, Integer> rowMap = new HashMap<String, Integer>();
18   
 
19  0 toggle public SummaryTable(){
20  0 setStyleName("summaryTable");
21   
22  0 getColumnFormatter().setStyleName(0, "rowTitleColunm");
23  0 getColumnFormatter().setStyleName(1, "cell1Colunm");
24  0 getColumnFormatter().setStyleName(2, "cell2Colunm");
25    }
26   
 
27  0 toggle public SummaryTableModel getModel() {
28  0 return model;
29    }
30   
 
31  0 toggle public void setModel(SummaryTableModel model) {
32  0 this.model = model;
33  0 doLayout();
34    }
35   
 
36  0 toggle public void doLayout(){
37  0 rowIndex = 0;
38  0 this.removeAllRows();
39  0 if(model.getContentColumnHeader1() != null && model.getContentColumnHeader2() != null){
40  0 super.setText(rowIndex, 1, model.getContentColumnHeader1());
41  0 super.setText(rowIndex, 2, model.getContentColumnHeader2());
42  0 getFlexCellFormatter().setStyleName(rowIndex,1, "columnTitle");
43  0 getFlexCellFormatter().setStyleName(rowIndex,2, "columnTitle");
44   
45  0 rowIndex++;
46    }
47  0 for(SummaryTableBlock section: model.getSectionList()){
48  0 addSection(section);
49    }
50   
51    }
52   
 
53  0 toggle public void markDiffs(String style){
54    //skip first row, will always be title related
55  0 for(int i = 1; i < rowIndex; i++){
56  0 if(getFlexCellFormatter().getColSpan(i, 0) == 1 && getFlexCellFormatter().getColSpan(i, 1) == 1
57    && getFlexCellFormatter().getColSpan(i, 2) == 1){
58  0 Element cell1 = this.getCellFormatter().getElement(i, 1);
59  0 Element cell2 = this.getCellFormatter().getElement(i, 2);
60  0 if(!cell1.getInnerText().equals(cell2.getInnerText())){
61  0 this.getRowFormatter().addStyleName(i, style);
62    }
63    else{
64  0 this.getRowFormatter().removeStyleName(i, style);
65    }
66    }
67    }
68    }
69   
 
70  0 toggle public boolean containsKey(String key){
71  0 return rowMap.containsKey(key);
72    }
73   
 
74  0 toggle public void highlightRow(String rowKey, String style){
75  0 if(rowMap.containsKey(rowKey)){
76  0 this.getRowFormatter().setStyleName(rowMap.get(rowKey).intValue(), style);
77    }
78    }
79   
 
80  0 toggle public void clearHighlightRow(String rowKey, String removeThisStyle){
81  0 if(rowMap.containsKey(rowKey)){
82  0 this.getRowFormatter().removeStyleName(rowMap.get(rowKey).intValue(), removeThisStyle);
83    }
84    }
85   
 
86  0 toggle public void clearHighlightedRows(String removeThisStyle){
87  0 for(int i = 0; i < rowIndex; i++){
88  0 this.getRowFormatter().removeStyleName(i, removeThisStyle);
89    }
90    }
91   
 
92  0 toggle public void highlightCell(String rowKey, int cellIndex, String style){
93  0 if(rowMap.containsKey(rowKey)){
94  0 this.getCellFormatter().setStyleName(rowMap.get(rowKey).intValue(),cellIndex, style);
95    }
96    }
97   
 
98  0 toggle public void clearHighlightCell(String rowKey, int cellIndex){
99  0 if(rowMap.containsKey(rowKey)){
100  0 this.getCellFormatter().setStyleName(rowMap.get(rowKey).intValue(),cellIndex,"");
101    }
102   
103    }
 
104  0 toggle private void addSection(SummaryTableBlock section){
105  0 int topRowIndex = -1;
106  0 if(section.getTitle() != null && !section.getTitle().isEmpty()){
107  0 getFlexCellFormatter().setStyleName(rowIndex,0, "sectionTitleRow");
108  0 getFlexCellFormatter().setColSpan(rowIndex, 0, 3);
109  0 getFlexCellFormatter().setVerticalAlignment(rowIndex, 0, HasVerticalAlignment.ALIGN_BOTTOM);
110  0 HorizontalPanel sectionTitlePanel = new HorizontalPanel();
111  0 Label sectionTitle = new Label(section.getTitle());
112  0 sectionTitlePanel.setVerticalAlignment(HasVerticalAlignment.ALIGN_BOTTOM);
113  0 sectionTitle.setStyleName("sectionTitle");
114  0 sectionTitlePanel.add(sectionTitle);
115   
116  0 if(model.isEditable()){
117  0 Anchor sectionEditLink = new Anchor("Edit");
118  0 sectionEditLink.setStyleName("sectionEditLink");
119  0 if(section.getEditingHandler() != null){
120  0 sectionEditLink.addClickHandler(section.getEditingHandler());
121    }
122  0 sectionTitlePanel.add(sectionEditLink);
123   
124    }
125  0 setWidget(rowIndex,0, sectionTitlePanel);
126  0 rowIndex++;
127    }
128    else{
129  0 topRowIndex = rowIndex;
130    }
131   
132  0 for(SummaryTableRow row: section.getSectionRowList()){
133  0 addSectionRow(row);
134    }
135   
136  0 if(topRowIndex != -1){
137  0 this.getRowFormatter().addStyleName(topRowIndex, "firstRowInUnnamedBlock");
138    }
139   
140    }
 
141  0 toggle private void addSectionRow(SummaryTableRow row){
142  0 if(row.isShown()){
143  0 if(row.isRequired()){
144  0 AbbrPanel required = new AbbrPanel("Required", "ks-form-module-elements-required", " * ");
145  0 setHTML(rowIndex,0, row.getTitle() + required.toString());
146    }
147    else{
148  0 setText(rowIndex,0, row.getTitle());
149    }
150  0 getFlexCellFormatter().setStyleName(rowIndex,0, "rowTitle");
151  0 if(row.getTitleCellStyleName() != null){
152  0 getFlexCellFormatter().addStyleName(rowIndex,0, row.getTitleCellStyleName());
153    }
154  0 if(row.getContentCellCount() == 1){
155  0 setWidget(rowIndex,1, row.getCell1());
156  0 getFlexCellFormatter().setStyleName(rowIndex,1, "cell1");
157  0 getFlexCellFormatter().setColSpan(rowIndex, 1,2);
158  0 if(row.getContentCellStyleName() != null){
159  0 getFlexCellFormatter().addStyleName(rowIndex,1, row.getContentCellStyleName());
160    }
161  0 }else if(row.getContentCellCount() == 2){
162  0 setWidget(rowIndex,1, row.getCell1());
163  0 setWidget(rowIndex,2,row.getCell2());
164  0 getFlexCellFormatter().setColSpan(rowIndex, 1,1);
165  0 getFlexCellFormatter().setColSpan(rowIndex, 2,1);
166  0 getFlexCellFormatter().setStyleName(rowIndex,1, "cell1");
167  0 getFlexCellFormatter().setStyleName(rowIndex,2, "cell2");
168  0 if(row.getContentCellStyleName() != null){
169  0 getFlexCellFormatter().addStyleName(rowIndex,1, row.getContentCellStyleName());
170  0 getFlexCellFormatter().addStyleName(rowIndex,2, row.getContentCellStyleName());
171    }
172    }
173  0 rowMap.put(row.getKey(), rowIndex);
174  0 rowIndex++;
175    }
176    }
177   
178    }