Package org.jbpm.pvm.internal.cal

Examples of org.jbpm.pvm.internal.cal.Day


    ProvidedObjectDescriptor descriptor = new ProvidedObjectDescriptor(businessCalendar, true);
    return descriptor;
  }

  private Day parseDay(Element daysElement, String dayText, DateFormat hourFormat, BusinessCalendar businessCalendar, Parse parse) {
    Day day = new Day();
    day.setBusinessCalendar(businessCalendar);

    Element dayElement = XmlUtil.element(daysElement, dayText);
    if (dayElement!=null) {
      List<DayPart> dayParts = new ArrayList<DayPart>();
     
      if (dayElement.hasAttribute("hours")) {
        int dayPartIndex = 0;
        String hours = dayElement.getAttribute("hours");
        for (String part: StringUtil.tokenize(hours, "and")) {
          try {
            int separatorIndex = part.indexOf('-');
            if (separatorIndex==-1) throw new IllegalArgumentException("no dash (-)");
            String fromText = part.substring(0, separatorIndex).trim().toLowerCase();
            String toText = part.substring(separatorIndex+1).trim().toLowerCase();
           
            Date from = hourFormat.parse(fromText);
            Date to = hourFormat.parse(toText);
           
            Calendar calendar = new GregorianCalendar();
            calendar.setTime(from);
            int fromHour = calendar.get(Calendar.HOUR_OF_DAY);
            int fromMinute = calendar.get(Calendar.MINUTE);

            calendar.setTime(to);
            int toHour = calendar.get(Calendar.HOUR_OF_DAY);
            if (toHour==0) {
              toHour=24;
            }
            int toMinute = calendar.get(Calendar.MINUTE);

            DayPart dayPart = new DayPart();
            dayPart.setDay(day);
            dayPart.setIndex(dayPartIndex);
            dayPart.setFromHour(fromHour);
            dayPart.setFromMinute(fromMinute);
            dayPart.setToHour(toHour);
            dayPart.setToMinute(toMinute);
            dayParts.add(dayPart);
           
          } catch(Exception e) {
            parse.addProblem(dayText+" has invalid hours part '"+part+"': "+e.getMessage(), dayElement)
          }
         
          dayPartIndex++;
        }
       
      } else {
        parse.addProblem(dayText+" must have attribute 'hours'", dayElement);
      }
     
      DayPart[] dayPartArray = new DayPart[dayParts.size()];
      dayPartArray = dayParts.toArray(dayPartArray);
      day.setDayParts(dayPartArray);
    }
    return day;
  }
View Full Code Here


    ProvidedObjectDescriptor descriptor = new ProvidedObjectDescriptor(businessCalendarImpl, true);
    return descriptor;
  }

  private Day parseDay(Element daysElement, String dayText, DateFormat hourFormat, BusinessCalendarImpl businessCalendarImpl, Parse parse) {
    Day day = new Day();
    day.setBusinessCalendar(businessCalendarImpl);

    Element dayElement = XmlUtil.element(daysElement, dayText);
    if (dayElement!=null) {
      List<DayPart> dayParts = new ArrayList<DayPart>();
     
      if (dayElement.hasAttribute("hours")) {
        int dayPartIndex = 0;
        String hours = dayElement.getAttribute("hours");
        for (String part: StringUtil.tokenize(hours, "and")) {
          try {
            int separatorIndex = part.indexOf('-');
            if (separatorIndex==-1) throw new IllegalArgumentException("no dash (-)");
            String fromText = part.substring(0, separatorIndex).trim().toLowerCase();
            String toText = part.substring(separatorIndex+1).trim().toLowerCase();
           
            Date from = hourFormat.parse(fromText);
            Date to = hourFormat.parse(toText);
           
            Calendar calendar = new GregorianCalendar();
            calendar.setTime(from);
            int fromHour = calendar.get(Calendar.HOUR_OF_DAY);
            int fromMinute = calendar.get(Calendar.MINUTE);

            calendar.setTime(to);
            int toHour = calendar.get(Calendar.HOUR_OF_DAY);
            if (toHour==0) {
              toHour=24;
            }
            int toMinute = calendar.get(Calendar.MINUTE);

            DayPart dayPart = new DayPart();
            dayPart.setDay(day);
            dayPart.setIndex(dayPartIndex);
            dayPart.setFromHour(fromHour);
            dayPart.setFromMinute(fromMinute);
            dayPart.setToHour(toHour);
            dayPart.setToMinute(toMinute);
            dayParts.add(dayPart);
           
          } catch(Exception e) {
            parse.addProblem(dayText+" has invalid hours part '"+part+"': "+e.getMessage(), dayElement)
          }
         
          dayPartIndex++;
        }
       
      } else {
        parse.addProblem(dayText+" must have attribute 'hours'", dayElement);
      }
     
      DayPart[] dayPartArray = new DayPart[dayParts.size()];
      dayPartArray = dayParts.toArray(dayPartArray);
      day.setDayParts(dayPartArray);
    }
    return day;
  }
View Full Code Here

TOP

Related Classes of org.jbpm.pvm.internal.cal.Day

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.