| Classes in this File | Line Coverage | Branch Coverage | Complexity | ||||
| SwapCondition |
|
| 2.5;2.5 |
| 1 | package org.kuali.student.common.ui.client.configurable.mvc.multiplicity; | |
| 2 | ||
| 3 | import java.util.List; | |
| 4 | import java.util.Map; | |
| 5 | ||
| 6 | import org.kuali.student.common.ui.client.configurable.mvc.FieldDescriptor; | |
| 7 | import org.kuali.student.common.ui.client.configurable.mvc.sections.GroupSection; | |
| 8 | import org.kuali.student.common.ui.client.widgets.list.KSSelectItemWidgetAbstract; | |
| 9 | import org.kuali.student.common.ui.client.widgets.search.KSPicker; | |
| 10 | ||
| 11 | import com.google.gwt.user.client.ui.Widget; | |
| 12 | ||
| 13 | 0 | public class SwapCondition { |
| 14 | private FieldDescriptor fd; | |
| 15 | private String value; | |
| 16 | public FieldDescriptor getFd() { | |
| 17 | 0 | return fd; |
| 18 | } | |
| 19 | public void setFd(FieldDescriptor fd) { | |
| 20 | 0 | this.fd = fd; |
| 21 | 0 | } |
| 22 | public String getValue() { | |
| 23 | 0 | return value; |
| 24 | } | |
| 25 | public void setValue(String value) { | |
| 26 | 0 | this.value = value; |
| 27 | 0 | } |
| 28 | private String nvl(String inString) { | |
| 29 | 0 | return (inString == null)? "" : inString; |
| 30 | } | |
| 31 | public boolean evaluate(GroupSection section, Map<String, String> helperFieldKeys) { | |
| 32 | 0 | boolean result = false; |
| 33 | 0 | String widgetValue = null; |
| 34 | // could have used getField(String) method here but the getField method does | |
| 35 | // not check the fields of sub sections. | |
| 36 | 0 | List<FieldDescriptor> sectionFds = section.getFields(); |
| 37 | 0 | Widget fieldWidget = null; |
| 38 | 0 | if (sectionFds != null) { |
| 39 | 0 | for (FieldDescriptor sectionFd : sectionFds) { |
| 40 | 0 | if (sectionFd.getFieldKey().equals(helperFieldKeys.get(fd.getFieldKey()))) { |
| 41 | 0 | fieldWidget = sectionFd.getFieldWidget(); |
| 42 | } | |
| 43 | } | |
| 44 | } | |
| 45 | 0 | if (fieldWidget != null && fieldWidget instanceof KSSelectItemWidgetAbstract) { |
| 46 | 0 | widgetValue = ((KSSelectItemWidgetAbstract)fieldWidget).getSelectedItem(); |
| 47 | 0 | } else if (fieldWidget != null && fieldWidget instanceof KSPicker) { |
| 48 | 0 | Widget inputWidget = ((KSPicker)fieldWidget).getInputWidget(); |
| 49 | 0 | widgetValue = ((KSSelectItemWidgetAbstract)inputWidget).getSelectedItem(); |
| 50 | } | |
| 51 | 0 | if (nvl(this.value).equals(widgetValue)) { |
| 52 | 0 | result = true; |
| 53 | } | |
| 54 | 0 | return result; |
| 55 | } | |
| 56 | } |