1 package com.calipso.reportgenerator.userinterface; 2 3 import com.calipso.reportgenerator.reportcalculator.SharedDate; 4 import com.calipso.reportgenerator.reportdefinitions.types.ReportDataType; 5 import com.calipso.common.DateEx; 6 7 import javax.swing.*; 8 import java.awt.*; 9 import java.util.Map ; 10 import java.util.HashMap ; 11 import java.util.Iterator ; 12 13 18 19 public class UPValuePanel extends UPPanel implements ParameterPanelConstructor{ 20 21 public UPValuePanel(UPValueElement owner) { 22 this.owner = owner; 23 initialize(); 24 } 25 26 private void initialize() { 27 setLayout(new GridLayout(1, 1)); 28 add(getWestPanel()); 29 add(getCenterPanel()); 30 } 31 32 private JPanel getCenterPanel() { 33 JPanel pnlCenter = new JPanel(new GridLayout(1, 1)); 34 String dimensioName = owner.getFilterDefinition().getDimensionName(); 35 int type; 36 if(dimensioName!=null && !dimensioName.equalsIgnoreCase("")){ 37 type = owner.getReportSpec().getDimensionFromName(dimensioName).getDataType().getType(); 38 }else{ 39 type = owner.getFilterDefinition().getDataType().getType(); 40 } 41 fillCenterPanel(pnlCenter, type); 42 return pnlCenter; 43 } 44 45 private void fillCenterPanel(JPanel pnlCenter, int type) { 46 switch(type) { 47 case ReportDataType.DATETIME_TYPE: 48 case ReportDataType.DATE_TYPE: 49 addWithDateTextField(pnlCenter); 50 break; 51 case ReportDataType.STRING_TYPE: 52 addWithStringTextField(pnlCenter); 53 break; 54 case ReportDataType.INTEGER_TYPE: 55 addWithIntegerTextField(pnlCenter); 56 break; 57 case ReportDataType.FLOAT_TYPE: 58 addWithFloatTextField(pnlCenter); 59 break; 60 case ReportDataType.BOOLEAN_TYPE: 61 addWithBooleanCheckBox(pnlCenter); 62 break; 63 } 64 } 65 66 public void addWithBooleanCheckBox(JPanel pnlCenter) { 67 String key = owner.getFilterDefinition().getName() + ((UPValueElement)owner).getUniqueArgument(); 68 UPBooleanCheckBox booleanCheckBox = new UPBooleanCheckBox(); 69 pnlCenter.add(booleanCheckBox); 70 super.addUPTextField(key, booleanCheckBox); 71 } 72 73 public void addWithFloatTextField(JPanel pnlCenter) { 74 pnlCenter.add(new Label(((UPValueElement)owner).getUniqueTfCaption())); 75 String key = owner.getFilterDefinition().getName() + ((UPValueElement)owner).getUniqueArgument(); 76 Object object = owner.getReportSpec().getParamValues(false).get(key); 77 UPTextField textField = new UPFloatTextField(object.toString()); 78 pnlCenter.add(textField); 79 super.addUPTextField(key, textField); 80 } 81 82 public void addWithIntegerTextField(JPanel pnlCenter) { 83 pnlCenter.add(new Label(((UPValueElement)owner).getUniqueTfCaption())); 84 String key = owner.getFilterDefinition().getName() + ((UPValueElement)owner).getUniqueArgument(); 85 Object object = owner.getReportSpec().getParamValues(false).get(key); 86 UPTextField textField = new UPIntegerTextField(object.toString()); 87 pnlCenter.add(textField); 88 super.addUPTextField(key, textField); 89 } 90 91 public void addWithStringTextField(JPanel pnlCenter) { 92 pnlCenter.add(new Label(((UPValueElement)owner).getUniqueTfCaption())); 93 String key = owner.getFilterDefinition().getName() + ((UPValueElement)owner).getUniqueArgument(); 94 Object object = owner.getReportSpec().getParamValues(false).get(key); 95 if(object == null){ 96 object = ""; 97 } 98 UPTextField textField = new UPStringTextField(object.toString()); 99 pnlCenter.add(textField); 100 super.addUPTextField(key, textField); 101 } 102 103 public void addWithDateTextField(JPanel pnlCenter) { 104 pnlCenter.add(new Label(((UPValueElement)owner).getUniqueTfCaption())); 105 String key = owner.getFilterDefinition().getName() + ((UPValueElement)owner).getUniqueArgument(); 106 Object object = owner.getReportSpec().getParamValues(false).get(key); 107 UPTextField textField; 108 if(object instanceof SharedDate || object instanceof DateEx){ 109 textField = new UPDateTextField(object.toString()); 110 }else{ 111 textField = new UPDateTextField(super.getDateFormatFrom(object.toString())); 112 } 113 pnlCenter.add(textField); 114 super.addUPTextField(key, textField); 115 } 116 117 130 131 public boolean fillParamsMap(Map params) { 132 Map elements = super.getUpTextFieldCollection(); 133 Iterator keysIterator = elements.keySet().iterator(); 134 String key = (String ) keysIterator.next(); 135 UPComponent upComponent = (UPTextField) elements.get(key); 136 params.put(key, upComponent.getComponentValue()); 137 return true; 138 } 139 140 } 141 | Popular Tags |