00001
00025 package org.openmobileis.services.util;
00026
00027 import java.util.Calendar;
00028
00029 import org.openmobileis.common.util.collection.Array;
00030 import org.openmobileis.modules.common.data.Label;
00031
00032 import freemarker.template.SimpleHash;
00033 import freemarker.template.SimpleList;
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043 public final class TemplateUtils {
00044
00045
00046
00068 public static SimpleHash getInputDate(
00069 int selectedDay,
00070 int selectedMonth,
00071 int selectedYear,
00072 int selectedHours,
00073 int selectedMinutes
00074 ) {
00075
00076 SimpleHash inputDate = new SimpleHash();
00077 int cpt;
00078 SimpleList list;
00079 SimpleHash element;
00080
00081 list = new SimpleList();
00082 for (cpt = 1; cpt <= 31; cpt++) {
00083 element = new SimpleHash();
00084 element.put("select", selectedDay == cpt);
00085 element.put("value", format(cpt));
00086 list.add(element);
00087 }
00088 inputDate.put("dayList", list);
00089
00090 list = new SimpleList();
00091 for (cpt = 1; cpt <= 12; cpt++) {
00092 element = new SimpleHash();
00093 element.put("select", selectedMonth + 1 == cpt);
00094 element.put("value", format(cpt));
00095 list.add(element);
00096 }
00097 inputDate.put("monthList", list);
00098
00099 list = new SimpleList();
00100 Calendar cal = Calendar.getInstance();
00101 int currentYear = cal.get(Calendar.YEAR);
00102 for (cpt = currentYear - 1; cpt <= currentYear + 3; cpt++) {
00103 element = new SimpleHash();
00104 element.put("value", String.valueOf(cpt));
00105 element.put("select", selectedYear == cpt);
00106 list.add(element);
00107 }
00108 inputDate.put("yearList", list);
00109
00110 list = new SimpleList();
00111 for (cpt = 0; cpt <= 23; cpt++) {
00112 element = new SimpleHash();
00113 element.put("value", format(cpt));
00114 element.put("select", selectedHours == cpt);
00115 list.add(element);
00116 }
00117 inputDate.put("hourList", list);
00118
00119 list = new SimpleList();
00120 for (cpt = 0; cpt <= 59; cpt += 5) {
00121 element = new SimpleHash();
00122 element.put("value", format(cpt));
00123 element.put("select", selectedMinutes == cpt);
00124 list.add(element);
00125 }
00126 inputDate.put("minutesList", list);
00127
00128
00129 return inputDate;
00130 }
00131
00132 public static SimpleHash getInputDuration(int selectedHours, int selectedMinutes, int maxHour){
00133 SimpleList list;
00134 SimpleHash element;
00135 SimpleHash inputDuration = new SimpleHash();
00136 int cpt;
00137
00138 list = new SimpleList();
00139 for (cpt = 0; cpt <= maxHour; cpt++) {
00140 element = new SimpleHash();
00141 element.put("value", format(cpt));
00142 element.put("select", selectedHours == cpt);
00143 list.add(element);
00144 }
00145 inputDuration.put("hourList", list);
00146
00147 list = new SimpleList();
00148 for (cpt = 0; cpt <= 59; cpt += 5) {
00149 element = new SimpleHash();
00150 element.put("value", format(cpt));
00151 element.put("select", selectedMinutes == cpt);
00152 list.add(element);
00153 }
00154 inputDuration.put("minutesList", list);
00155
00156 return inputDuration;
00157 }
00158
00159 public static String format(int value) {
00160 if (value < 10) {
00161 return "0" + value;
00162 } else {
00163 return String.valueOf(value);
00164 }
00165 }
00166
00167
00182 public static SimpleList fillFormPopUpWithLabel(Array labelArray, String selectedId) {
00183 SimpleList list = new SimpleList();
00184 SimpleHash listElement;
00185 for (int i=0; i<labelArray.size(); i++) {
00186 Label lab = (Label) labelArray.get(i);
00187 listElement = new SimpleHash();
00188 listElement.put("name", lab.getLabel());
00189 if ((selectedId!=null)&&(selectedId.equals(lab.getLabelId()))) {
00190 listElement.put("selected", true);
00191 } else {
00192 listElement.put("selected", false);
00193 }
00194 listElement.put("value", lab.getLabelId());
00195 list.add(listElement);
00196 }
00197 return list;
00198 }
00199
00200 }