Esempio n. 1
0
 public void createCalendar() {
   List<Service> services = db.getCalendars();
   Calendar start = null;
   Calendar end = null;
   int doyStart, doyEnd, dow = -1;
   int[] validityVector = null;
   boolean[] validity = null;
   String dbVector = null;
   for (Service s : services) {
     start = new GregorianCalendar();
     end = new GregorianCalendar();
     start.setFirstDayOfWeek(Calendar.MONDAY);
     end.setFirstDayOfWeek(Calendar.MONDAY);
     validityVector = new int[366];
     dbVector = new String();
     for (int i = 0; i < 366; i++) validityVector[i] = 0;
     start.setTimeInMillis(parseDateToMillis(s.getStartDate()));
     end.setTimeInMillis(parseDateToMillis(s.getEndDate()));
     doyStart = start.get(Calendar.DAY_OF_YEAR);
     doyEnd = end.get(Calendar.DAY_OF_YEAR);
     validity = s.getValidity();
     Calendar c = (Calendar) start.clone();
     while (doyStart <= doyEnd) {
       dow = c.get(Calendar.DAY_OF_WEEK);
       if (validity[dow - 1]) validityVector[doyStart - 1] = 1;
       c.add(Calendar.DAY_OF_YEAR, +1);
       doyStart = c.get(Calendar.DAY_OF_YEAR);
     }
     for (int i = 0; i < 366; i++) dbVector += validityVector[i];
     db.insertService(s.getId(), s.getStartDate(), s.getEndDate(), dbVector, city);
   }
 }