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 import org.openmobileis.modules.common.data.LabelManager;
00032
00033 import freemarker.template.SimpleHash;
00034 import freemarker.template.SimpleList;
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044 public final class TemplateUtils {
00045
00046
00047
00069 public static SimpleHash getInputDate(
00070 int selectedDay,
00071 int selectedMonth,
00072 int selectedYear,
00073 int selectedHours,
00074 int selectedMinutes
00075 ) {
00076
00077 SimpleHash inputDate = new SimpleHash();
00078 int cpt;
00079 SimpleList list;
00080 SimpleHash element;
00081
00082 list = new SimpleList();
00083 for (cpt = 1; cpt <= 31; cpt++) {
00084 element = new SimpleHash();
00085 element.put("select", selectedDay == cpt);
00086 element.put("value", format(cpt));
00087 list.add(element);
00088 }
00089 inputDate.put("dayList", list);
00090
00091 list = new SimpleList();
00092 for (cpt = 1; cpt <= 12; cpt++) {
00093 element = new SimpleHash();
00094 element.put("select", selectedMonth + 1 == cpt);
00095 element.put("value", format(cpt));
00096 list.add(element);
00097 }
00098 inputDate.put("monthList", list);
00099
00100 list = new SimpleList();
00101 Calendar cal = Calendar.getInstance();
00102 int currentYear = cal.get(Calendar.YEAR);
00103 for (cpt = currentYear - 1; cpt <= currentYear + 3; cpt++) {
00104 element = new SimpleHash();
00105 element.put("value", String.valueOf(cpt));
00106 element.put("select", selectedYear == cpt);
00107 list.add(element);
00108 }
00109 inputDate.put("yearList", list);
00110
00111 list = new SimpleList();
00112 for (cpt = 0; cpt <= 23; cpt++) {
00113 element = new SimpleHash();
00114 element.put("value", format(cpt));
00115 element.put("select", selectedHours == cpt);
00116 list.add(element);
00117 }
00118 inputDate.put("hourList", list);
00119
00120 list = new SimpleList();
00121 for (cpt = 0; cpt <= 59; cpt += 5) {
00122 element = new SimpleHash();
00123 element.put("value", format(cpt));
00124 element.put("select", selectedMinutes == cpt);
00125 list.add(element);
00126 }
00127 inputDate.put("minutesList", list);
00128
00129
00130 return inputDate;
00131 }
00132
00133 public static SimpleHash getInputDuration(int selectedHours, int selectedMinutes, int maxHour){
00134 SimpleList list;
00135 SimpleHash element;
00136 SimpleHash inputDuration = new SimpleHash();
00137 int cpt;
00138
00139 list = new SimpleList();
00140 for (cpt = 0; cpt <= maxHour; cpt++) {
00141 element = new SimpleHash();
00142 element.put("value", format(cpt));
00143 element.put("select", selectedHours == cpt);
00144 list.add(element);
00145 }
00146 inputDuration.put("hourList", list);
00147
00148 list = new SimpleList();
00149 for (cpt = 0; cpt <= 59; cpt += 5) {
00150 element = new SimpleHash();
00151 element.put("value", format(cpt));
00152 element.put("select", selectedMinutes == cpt);
00153 list.add(element);
00154 }
00155 inputDuration.put("minutesList", list);
00156
00157 return inputDuration;
00158 }
00159
00160 public static String format(int value) {
00161 if (value < 10) {
00162 return "0" + value;
00163 } else {
00164 return String.valueOf(value);
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 }