TemplateUtils.java

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  * Title:        OpenMobileIS project source <BR>
00038  * Description:
00039  * @author      Philippe Delrieu
00040  * @since       JDK 1.1
00041  * @version 1.0.
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         // fill day
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         // fill month
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         // fill hours
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         // fill minutes
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         // return the input date
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       // fill hours
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         // fill minutes
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 }

Generated on Mon Jan 11 21:19:17 2010 for OpenMobileIS by  doxygen 1.5.4