Example usage for java.util Calendar SATURDAY

List of usage examples for java.util Calendar SATURDAY

Introduction

In this page you can find the example usage for java.util Calendar SATURDAY.

Prototype

int SATURDAY

To view the source code for java.util Calendar SATURDAY.

Click Source Link

Document

Value of the #DAY_OF_WEEK field indicating Saturday.

Usage

From source file:org.exist.xquery.modules.mail.SendEmailFunction.java

/**
 * Returns the current date and time in an RFC822 format, suitable for an email Date Header
 *
 * @return      RFC822 formated date and time as a String
 *//*  w  w w.  jav  a  2s . c  o m*/
private String getDateRFC822() {

    String dateString = new String();
    final Calendar rightNow = Calendar.getInstance();

    //Day of the week
    switch (rightNow.get(Calendar.DAY_OF_WEEK)) {
    case Calendar.MONDAY:
        dateString = "Mon";
        break;

    case Calendar.TUESDAY:
        dateString = "Tue";
        break;

    case Calendar.WEDNESDAY:
        dateString = "Wed";
        break;

    case Calendar.THURSDAY:
        dateString = "Thu";
        break;

    case Calendar.FRIDAY:
        dateString = "Fri";
        break;

    case Calendar.SATURDAY:
        dateString = "Sat";
        break;

    case Calendar.SUNDAY:
        dateString = "Sun";
        break;
    }

    dateString += ", ";

    //Date
    dateString += rightNow.get(Calendar.DAY_OF_MONTH);
    dateString += " ";

    //Month
    switch (rightNow.get(Calendar.MONTH)) {
    case Calendar.JANUARY:
        dateString += "Jan";
        break;

    case Calendar.FEBRUARY:
        dateString += "Feb";
        break;

    case Calendar.MARCH:
        dateString += "Mar";
        break;

    case Calendar.APRIL:
        dateString += "Apr";
        break;

    case Calendar.MAY:
        dateString += "May";
        break;

    case Calendar.JUNE:
        dateString += "Jun";
        break;

    case Calendar.JULY:
        dateString += "Jul";
        break;

    case Calendar.AUGUST:
        dateString += "Aug";
        break;

    case Calendar.SEPTEMBER:
        dateString += "Sep";
        break;

    case Calendar.OCTOBER:
        dateString += "Oct";
        break;

    case Calendar.NOVEMBER:
        dateString += "Nov";
        break;

    case Calendar.DECEMBER:
        dateString += "Dec";
        break;
    }
    dateString += " ";

    //Year
    dateString += rightNow.get(Calendar.YEAR);
    dateString += " ";

    //Time
    String tHour = Integer.toString(rightNow.get(Calendar.HOUR_OF_DAY));
    if (tHour.length() == 1) {
        tHour = "0" + tHour;
    }

    String tMinute = Integer.toString(rightNow.get(Calendar.MINUTE));
    if (tMinute.length() == 1) {
        tMinute = "0" + tMinute;
    }

    String tSecond = Integer.toString(rightNow.get(Calendar.SECOND));
    if (tSecond.length() == 1) {
        tSecond = "0" + tSecond;
    }

    dateString += tHour + ":" + tMinute + ":" + tSecond + " ";

    //TimeZone Correction
    String tzSign = new String();
    String tzHours = new String();
    String tzMinutes = new String();

    final TimeZone thisTZ = rightNow.getTimeZone();
    int tzOffset = thisTZ.getOffset(rightNow.getTime().getTime()); //get timezone offset in milliseconds
    tzOffset = (tzOffset / 1000); //convert to seconds
    tzOffset = (tzOffset / 60); //convert to minutes

    //Sign
    if (tzOffset > 1) {
        tzSign = "+";
    } else {
        tzSign = "-";
        tzOffset *= -1;
    }

    //Calc Hours and Minutes?
    if (tzOffset >= 60) {
        //Minutes and Hours
        tzHours += (tzOffset / 60); //hours

        // do we need to prepend a 0
        if (tzHours.length() == 1) {
            tzHours = "0" + tzHours;
        }

        tzMinutes += (tzOffset % 60); //minutes

        // do we need to prepend a 0
        if (tzMinutes.length() == 1) {
            tzMinutes = "0" + tzMinutes;
        }
    } else {
        //Just Minutes
        tzHours = "00";
        tzMinutes += tzOffset;
        // do we need to prepend a 0
        if (tzMinutes.length() == 1) {
            tzMinutes = "0" + tzMinutes;
        }
    }

    dateString += tzSign + tzHours + tzMinutes;

    return dateString;
}

From source file:com.alkacon.opencms.v8.calendar.CmsSerialDateWidget.java

/**
 * Returns the macro resolver with initialized macros to generate the serial date input form.<p>
 * //from  ww  w.j  a  v a 2  s  . c o  m
 * @param cms an initialized instance of a CmsObject
 * @param widgetDialog the dialog where the widget is used on
 * @param param the widget parameter to generate the widget for
 * @return the macro resolver with initialized macros
 */
protected CmsMacroResolver getMacroResolverForForm(CmsObject cms, I_CmsWidgetDialog widgetDialog,
        I_CmsWidgetParameter param) {

    CmsMacroResolver resolver = CmsMacroResolver.newInstance();
    // set cms object and localized messages in resolver
    resolver.setCmsObject(cms);
    CmsMessages messages = new CmsMessages(CmsSerialDateWidget.class.getPackage().getName() + ".messages",
            widgetDialog.getLocale());
    resolver.setMessages(messages);
    // delete empty macros which were not replaced
    resolver.setKeepEmptyMacros(false);

    // create the serial entry date object
    String paramValue = param.getStringValue(cms);
    Map<String, String> params = CmsStringUtil.splitAsMap(paramValue,
            String.valueOf(CmsProperty.VALUE_LIST_DELIMITER), String.valueOf(CmsProperty.VALUE_MAP_DELIMITER));
    // create the entry date from the field values
    CmsCalendarEntryDateSerial entryDate = CmsCalendarSerialDateFactory.getSerialDate(params,
            widgetDialog.getLocale());
    if (entryDate == null) {
        // no entry date created yet, build an empty default date
        Calendar start = new GregorianCalendar(widgetDialog.getLocale());
        Calendar end = (Calendar) start.clone();
        entryDate = new CmsCalendarEntryDateSerial(start, end);
        entryDate.setSerialEndType(I_CmsCalendarSerialDateOptions.END_TYPE_NEVER);
    }

    // vars for daily options
    String dayDailyInterval = "1";
    boolean dayEveryWorkingDay = false;
    // vars for weekly options
    String weekWeeklyInterval = "1";
    // vars for monthly options
    int monthSelectedIndexWeekDayOfMonth = 0;
    int monthSelectedWeekDay = -1;
    String monthDayOfMonth = "1";
    String monthMonthlyInterval = "1";
    String monthMonthlyIntervalWeekDay = "1";
    boolean monthUseWeekday = false;
    // vars for yearly options
    String yearDayOfMonth = "1";
    boolean yearUseWeekday = false;
    int yearSelectedIndexMonth = 0;
    int yearSelectedIndexWeekDayOfMonth = 0;
    int yearSelectedWeekDayDay = -1;
    int yearSelectedIndexWeekDayMonth = 0;

    if (entryDate.getSerialOptions() != null) {
        // fill the variables depending on the selected serial date type
        String serialTypeMacroPrefix = MACRO_PREFIX_PARAMVALUE + PARAM_SERIALTYPE + ".";
        // set serial type radio selection
        resolver.addMacro(serialTypeMacroPrefix + entryDate.getSerialOptions().getSerialType(), ATTR_CHECKED);
        switch (entryDate.getSerialOptions().getSerialType()) {
        // set values for the selected serial type
        case I_CmsCalendarSerialDateOptions.TYPE_DAILY:
            CmsCalendarSerialDateDailyOptions dailyOptions = (CmsCalendarSerialDateDailyOptions) entryDate
                    .getSerialOptions();
            dayEveryWorkingDay = dailyOptions.isEveryWorkingDay();
            dayDailyInterval = String.valueOf(dailyOptions.getDailyInterval());
            break;
        case I_CmsCalendarSerialDateOptions.TYPE_WEEKLY:
            CmsCalendarSerialDateWeeklyOptions weeklyOptions = (CmsCalendarSerialDateWeeklyOptions) entryDate
                    .getSerialOptions();
            weekWeeklyInterval = String.valueOf(weeklyOptions.getWeeklyInterval());
            // check the chosen week day checkboxes
            serialTypeMacroPrefix = MACRO_PREFIX_PARAMVALUE + PARAM_WEEK_WEEKDAY + ".";
            if (weeklyOptions.getWeekDays().contains(new Integer(Calendar.MONDAY))) {
                resolver.addMacro(serialTypeMacroPrefix + Calendar.MONDAY, ATTR_CHECKED);
            }
            if (weeklyOptions.getWeekDays().contains(new Integer(Calendar.TUESDAY))) {
                resolver.addMacro(serialTypeMacroPrefix + Calendar.TUESDAY, ATTR_CHECKED);
            }
            if (weeklyOptions.getWeekDays().contains(new Integer(Calendar.WEDNESDAY))) {
                resolver.addMacro(serialTypeMacroPrefix + Calendar.WEDNESDAY, ATTR_CHECKED);
            }
            if (weeklyOptions.getWeekDays().contains(new Integer(Calendar.THURSDAY))) {
                resolver.addMacro(serialTypeMacroPrefix + Calendar.THURSDAY, ATTR_CHECKED);
            }
            if (weeklyOptions.getWeekDays().contains(new Integer(Calendar.FRIDAY))) {
                resolver.addMacro(serialTypeMacroPrefix + Calendar.FRIDAY, ATTR_CHECKED);
            }
            if (weeklyOptions.getWeekDays().contains(new Integer(Calendar.SATURDAY))) {
                resolver.addMacro(serialTypeMacroPrefix + Calendar.SATURDAY, ATTR_CHECKED);
            }
            if (weeklyOptions.getWeekDays().contains(new Integer(Calendar.SUNDAY))) {
                resolver.addMacro(serialTypeMacroPrefix + Calendar.SUNDAY, ATTR_CHECKED);
            }
            break;
        case I_CmsCalendarSerialDateOptions.TYPE_MONTHLY:
            CmsCalendarSerialDateMonthlyOptions monthlyOptions = (CmsCalendarSerialDateMonthlyOptions) entryDate
                    .getSerialOptions();
            monthUseWeekday = monthlyOptions.isUseWeekDay();
            if (!monthlyOptions.isUseWeekDay()) {
                monthDayOfMonth = String.valueOf(monthlyOptions.getDayOfMonth());
                monthMonthlyInterval = String.valueOf(monthlyOptions.getMonthlyInterval());
            } else {
                // set selected index of select boxes
                monthSelectedIndexWeekDayOfMonth = monthlyOptions.getDayOfMonth() - 1;
                monthSelectedWeekDay = monthlyOptions.getWeekDay();
                monthMonthlyIntervalWeekDay = String.valueOf(monthlyOptions.getMonthlyInterval());
            }
            break;
        case I_CmsCalendarSerialDateOptions.TYPE_YEARLY:
            CmsCalendarSerialDateYearlyOptions yearlyOptions = (CmsCalendarSerialDateYearlyOptions) entryDate
                    .getSerialOptions();
            yearUseWeekday = yearlyOptions.isUseWeekDay();
            if (!yearlyOptions.isUseWeekDay()) {
                yearDayOfMonth = String.valueOf(yearlyOptions.getDayOfMonth());
                yearSelectedIndexMonth = yearlyOptions.getMonth();
            } else {
                yearSelectedIndexWeekDayOfMonth = yearlyOptions.getDayOfMonth() - 1;
                yearSelectedWeekDayDay = yearlyOptions.getWeekDay();
                yearSelectedIndexWeekDayMonth = yearlyOptions.getMonth();
            }
            break;
        default:
            // nothing do do here, should never happen
        }
    } else {
        // no serial entry created yet, add some defaults
        resolver.addMacro(
                MACRO_PREFIX_PARAMVALUE + PARAM_SERIALTYPE + "." + I_CmsCalendarSerialDateOptions.TYPE_DAILY,
                ATTR_CHECKED);
        resolver.addMacro(MACRO_PREFIX_PARAMVALUE + PARAM_WEEK_WEEKDAY + "." + Calendar.MONDAY, ATTR_CHECKED);

    }
    // set time settings
    String startTime = getCalendarLocalizedTime(widgetDialog.getLocale(), widgetDialog.getMessages(),
            entryDate.getStartDate().getTimeInMillis(), false, true);
    resolver.addMacro(MACRO_PREFIX_PARAMVALUE + PARAM_STARTTIME, startTime);

    String endTime = "";
    if (!entryDate.getStartDate().equals(entryDate.getEndDate())) {
        // end time is different from start time, get localized value
        endTime = getCalendarLocalizedTime(widgetDialog.getLocale(), widgetDialog.getMessages(),
                entryDate.getEndDate().getTimeInMillis(), false, true);
    }
    resolver.addMacro(MACRO_PREFIX_PARAMVALUE + PARAM_ENDTIME, endTime);

    resolver.addMacro("select.durationdays",
            buildSelectDurationDays(PARAM_DURATIONDAYS, messages, entryDate.getDuration()));

    // set found values to serial option tabs
    // daily options
    resolver.addMacro(MACRO_PREFIX_PARAMVALUE + PARAM_DAY_DAILYINTERVAL, dayDailyInterval);
    resolver.addMacro(MACRO_PREFIX_PARAMVALUE + PARAM_DAY_EVERYWORKINGDAY + "." + dayEveryWorkingDay,
            ATTR_CHECKED);

    // weekly options
    resolver.addMacro(MACRO_PREFIX_PARAMVALUE + PARAM_WEEK_WEEKLYINTERVAL, weekWeeklyInterval);

    // monthly options
    // mark the correct radio
    resolver.addMacro(MACRO_PREFIX_PARAMVALUE + PARAM_MONTH_SERIALMONTHDAY + "." + monthUseWeekday,
            ATTR_CHECKED);
    // set the macros for the day of month options
    resolver.addMacro(MACRO_PREFIX_PARAMVALUE + PARAM_MONTH_DAYOFMONTH, monthDayOfMonth);
    resolver.addMacro(MACRO_PREFIX_PARAMVALUE + PARAM_MONTH_MONTHLYINTERVAL, monthMonthlyInterval);
    // set the macros for the week day of month options
    resolver.addMacro(MACRO_PREFIX_PARAMVALUE + PARAM_MONTH_MONTHLYINTERVALWEEKDAY,
            monthMonthlyIntervalWeekDay);
    // build the select boxes
    resolver.addMacro("select.monthnumberofweekday",
            buildSelectNumberOfWeekDayOfMonth(
                    PARAM_MONTH_NUMBEROFWEEKDAYOFMONTH, "onfocus=\"document.getElementById('"
                            + PARAM_MONTH_SERIALMONTHDAY + ".true').checked = true;\"",
                    messages, monthSelectedIndexWeekDayOfMonth));
    resolver.addMacro("select.monthweekday",
            buildSelectWeekDay(PARAM_MONTH_WEEKDAY, "onfocus=\"document.getElementById('"
                    + PARAM_MONTH_SERIALMONTHDAY + ".true').checked = true;\"", messages,
                    monthSelectedWeekDay));

    // yearly options
    // mark the correct radio
    resolver.addMacro(MACRO_PREFIX_PARAMVALUE + PARAM_YEAR_SERIALYEARDAY + "." + yearUseWeekday, ATTR_CHECKED);
    // set the macros for the day of month options
    resolver.addMacro(MACRO_PREFIX_PARAMVALUE + PARAM_YEAR_DAYOFMONTH, yearDayOfMonth);
    resolver.addMacro("select.yearmonth", buildSelectMonth(PARAM_YEAR_MONTH,
            "onfocus=\"document.getElementById('" + PARAM_YEAR_SERIALYEARDAY + ".false').checked = true;\"",
            messages, yearSelectedIndexMonth));
    // set the macros for the week day of month options
    resolver.addMacro("select.yearnumberofweekday",
            buildSelectNumberOfWeekDayOfMonth(PARAM_YEAR_WEEKDAYOFMONTH, "onfocus=\"document.getElementById('"
                    + PARAM_YEAR_SERIALYEARDAY + ".true').checked = true;\"", messages,
                    yearSelectedIndexWeekDayOfMonth));
    resolver.addMacro("select.yearweekday",
            buildSelectWeekDay(PARAM_YEAR_WEEKDAY, "onfocus=\"document.getElementById('"
                    + PARAM_YEAR_SERIALYEARDAY + ".true').checked = true;\"", messages,
                    yearSelectedWeekDayDay));
    resolver.addMacro("select.yearmonthweekday",
            buildSelectMonth(PARAM_YEAR_WEEKDAYMONTH, "onfocus=\"document.getElementById('"
                    + PARAM_YEAR_SERIALYEARDAY + ".true').checked = true;\"", messages,
                    yearSelectedIndexWeekDayMonth));

    // set serial duration values

    // set start date
    resolver.addMacro("calendar.startdate",
            buildDateInput("startdate", widgetDialog, entryDate.getStartDate()));
    Calendar serialEndDate = entryDate.getSerialEndDate();
    if (serialEndDate == null) {
        serialEndDate = entryDate.getStartDate();
    }
    resolver.addMacro("calendar.serialenddate", buildDateInput("serialenddate", widgetDialog, serialEndDate));

    // set occurences
    int occurences = 10;
    if (entryDate.getSerialEndType() == I_CmsCalendarSerialDateOptions.END_TYPE_TIMES) {
        occurences = entryDate.getOccurences();
    }
    resolver.addMacro(MACRO_PREFIX_PARAMVALUE + PARAM_OCCURENCES, String.valueOf(occurences));

    // set the end type radio buttons
    resolver.addMacro(MACRO_PREFIX_PARAMVALUE + PARAM_ENDTYPE + "." + entryDate.getSerialEndType(),
            ATTR_CHECKED);

    return resolver;
}

From source file:com.autentia.intra.bean.activity.ActivityBean.java

private void fillHolidays(SimpleScheduleModel model) {

    Calendar calMin = Calendar.getInstance();
    Calendar calMax = Calendar.getInstance();

    calMin.setTime(selectedDate);/*ww  w.  java  2 s. c o  m*/
    calMin.set(Calendar.DAY_OF_MONTH, cal.getMinimum(Calendar.DAY_OF_MONTH));
    calMin.set(Calendar.HOUR_OF_DAY, cal.getMinimum(Calendar.HOUR_OF_DAY));
    calMin.set(Calendar.MINUTE, cal.getMinimum(Calendar.MINUTE));
    calMin.set(Calendar.SECOND, cal.getMinimum(Calendar.SECOND));
    calMin.set(Calendar.MILLISECOND, cal.getMinimum(Calendar.MILLISECOND));

    calMax.setTime(selectedDate);
    calMax.set(Calendar.DAY_OF_MONTH, cal.getMaximum(Calendar.DAY_OF_MONTH));
    calMax.set(Calendar.HOUR_OF_DAY, cal.getMaximum(Calendar.HOUR_OF_DAY));
    calMax.set(Calendar.MINUTE, cal.getMaximum(Calendar.MINUTE));
    calMax.set(Calendar.SECOND, cal.getMaximum(Calendar.SECOND));
    calMax.set(Calendar.MILLISECOND, cal.getMaximum(Calendar.MILLISECOND));

    if (((SettingBean) FacesUtils.getBean("settingBean")).getMySettings().getLoadExtraDays()) {
        calMin.add(Calendar.MONTH, -1);
        calMax.add(Calendar.MONTH, 1);
    }

    RequestHolidayManager rhManager = RequestHolidayManager.getDefault();
    RequestHolidaySearch rhSearch = new RequestHolidaySearch();
    rhSearch.setUserRequest(authManager.getCurrentPrincipal().getUser());
    rhSearch.setState(HolidayState.ACCEPT);
    rhSearch.setStartBeginDate(calMin.getTime());
    rhSearch.setEndBeginDate(calMax.getTime());
    rhSearch.setStartFinalDate(calMin.getTime());
    rhSearch.setEndFinalDate(calMax.getTime());

    List<RequestHoliday> listH = rhManager.getAllEntities(rhSearch, null);

    for (RequestHoliday rH : listH) {
        Calendar cActual = Calendar.getInstance();
        cActual.setTime(rH.getBeginDate());
        while (!cActual.getTime().after(rH.getFinalDate())) {
            if (cActual.get(Calendar.DAY_OF_WEEK) != Calendar.SATURDAY
                    && cActual.get(Calendar.DAY_OF_WEEK) != Calendar.SUNDAY) {
                model.setHoliday(cActual.getTime(), FacesUtils.getMessage("activity.acceptedHolidays"));
            }
            cActual.add(Calendar.DAY_OF_MONTH, 1);
        }

    }

    HolidaySearch monthSearch = new HolidaySearch();

    monthSearch.setStartDate(calMin.getTime());
    monthSearch.setEndDate(calMax.getTime());
    List<Holiday> listaHolidays = holidayManager.getAllEntities(monthSearch, null);

    for (Holiday holiday : listaHolidays) {
        model.setHoliday(holiday.getDate(), holiday.getDescription());
    }

}

From source file:com.s3d.webapps.util.time.DateUtils.java

/**
 * <p>This constructs an <code>Iterator</code> over each day in a date
 * range defined by a focus date and range style.</p>
 *
 * <p>For instance, passing Thursday, July 4, 2002 and a
 * <code>RANGE_MONTH_SUNDAY</code> will return an <code>Iterator</code>
 * that starts with Sunday, June 30, 2002 and ends with Saturday, August 3,
 * 2002, returning a Calendar instance for each intermediate day.</p>
 *
 * <p>This method provides an iterator that returns Calendar objects.
 * The days are progressed using {@link Calendar#add(int, int)}.</p>
 *
 * @param focus  the date to work with/*from  w  w  w .  j a v  a2s  . c om*/
 * @param rangeStyle  the style constant to use. Must be one of
 * {@link DateUtils#RANGE_MONTH_SUNDAY}, 
 * {@link DateUtils#RANGE_MONTH_MONDAY},
 * {@link DateUtils#RANGE_WEEK_SUNDAY},
 * {@link DateUtils#RANGE_WEEK_MONDAY},
 * {@link DateUtils#RANGE_WEEK_RELATIVE},
 * {@link DateUtils#RANGE_WEEK_CENTER}
 * @return the date iterator
 * @throws IllegalArgumentException if the date is <code>null</code>
 * @throws IllegalArgumentException if the rangeStyle is invalid
 */
@SuppressWarnings("rawtypes")
public static Iterator iterator(Calendar focus, int rangeStyle) {
    if (focus == null) {
        throw new IllegalArgumentException("The date must not be null");
    }
    Calendar start = null;
    Calendar end = null;
    int startCutoff = Calendar.SUNDAY;
    int endCutoff = Calendar.SATURDAY;
    switch (rangeStyle) {
    case RANGE_MONTH_SUNDAY:
    case RANGE_MONTH_MONDAY:
        //Set start to the first of the month
        start = truncate(focus, Calendar.MONTH);
        //Set end to the last of the month
        end = (Calendar) start.clone();
        end.add(Calendar.MONTH, 1);
        end.add(Calendar.DATE, -1);
        //Loop start back to the previous sunday or monday
        if (rangeStyle == RANGE_MONTH_MONDAY) {
            startCutoff = Calendar.MONDAY;
            endCutoff = Calendar.SUNDAY;
        }
        break;
    case RANGE_WEEK_SUNDAY:
    case RANGE_WEEK_MONDAY:
    case RANGE_WEEK_RELATIVE:
    case RANGE_WEEK_CENTER:
        //Set start and end to the current date
        start = truncate(focus, Calendar.DATE);
        end = truncate(focus, Calendar.DATE);
        switch (rangeStyle) {
        case RANGE_WEEK_SUNDAY:
            //already set by default
            break;
        case RANGE_WEEK_MONDAY:
            startCutoff = Calendar.MONDAY;
            endCutoff = Calendar.SUNDAY;
            break;
        case RANGE_WEEK_RELATIVE:
            startCutoff = focus.get(Calendar.DAY_OF_WEEK);
            endCutoff = startCutoff - 1;
            break;
        case RANGE_WEEK_CENTER:
            startCutoff = focus.get(Calendar.DAY_OF_WEEK) - 3;
            endCutoff = focus.get(Calendar.DAY_OF_WEEK) + 3;
            break;
        }
        break;
    default:
        throw new IllegalArgumentException("The range style " + rangeStyle + " is not valid.");
    }
    if (startCutoff < Calendar.SUNDAY) {
        startCutoff += 7;
    }
    if (startCutoff > Calendar.SATURDAY) {
        startCutoff -= 7;
    }
    if (endCutoff < Calendar.SUNDAY) {
        endCutoff += 7;
    }
    if (endCutoff > Calendar.SATURDAY) {
        endCutoff -= 7;
    }
    while (start.get(Calendar.DAY_OF_WEEK) != startCutoff) {
        start.add(Calendar.DATE, -1);
    }
    while (end.get(Calendar.DAY_OF_WEEK) != endCutoff) {
        end.add(Calendar.DATE, 1);
    }
    return new DateIterator(start, end);
}

From source file:com.l2jfree.gameserver.model.entity.Siege.java

/** Set the date for the next siege. */
private void setNextSiegeDate() {
    while (getCastle().getSiegeDate().getTimeInMillis() < System.currentTimeMillis()) {
        if (getCastle().getSiegeDate().get(Calendar.DAY_OF_WEEK) != Calendar.SATURDAY
                && getCastle().getSiegeDate().get(Calendar.DAY_OF_WEEK) != Calendar.SUNDAY)
            getCastle().getSiegeDate().set(Calendar.DAY_OF_WEEK, Calendar.SATURDAY);

        // from CT2.3 Castle sieges are on Sunday, but if server admins allow to set day of the siege
        // than sieges can occur on Saturdays as well
        if (getCastle().getSiegeDate().get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY
                && !Config.CL_SET_SIEGE_TIME_LIST.contains("day"))
            getCastle().getSiegeDate().set(Calendar.DAY_OF_WEEK, Calendar.SUNDAY);

        // set the next siege day to the next weekend
        getCastle().getSiegeDate().add(Calendar.DAY_OF_MONTH, 7);
    }//from  w  w  w. j  a  v  a2s .c o  m

    if (!SevenSigns.getInstance().isDateInSealValidPeriod(getCastle().getSiegeDate()))
        getCastle().getSiegeDate().add(Calendar.DAY_OF_MONTH, 7);

    _isRegistrationOver = false; // Allow registration for next siege
}

From source file:saphion.services.ForegroundService.java

public String setNotText(String subtext, String mainText, int choice) {
    switch (choice) {
    case 0://w w  w  .  j  ava 2s.co m
        return level + "% remaining";
    case 1:
        return "Temperature: " + temperature;
    case 2:
        return health + ", " + "Temperature: " + temperature;
    case 3:
        return subtext;
    case 4:
        Calendar cal = Calendar.getInstance();
        cal.setTime(new Date(System.currentTimeMillis() + (reqTime * 1000)));
        String day1 = "";
        switch (cal.get(Calendar.DAY_OF_WEEK)) {
        case Calendar.MONDAY:
            day1 = "Monday";
            break;
        case Calendar.TUESDAY:
            day1 = "Tuesday";
            break;
        case Calendar.WEDNESDAY:
            day1 = "Wednesday";
            break;
        case Calendar.THURSDAY:
            day1 = "Thursday";
            break;
        case Calendar.FRIDAY:
            day1 = "Friday";
            break;
        case Calendar.SATURDAY:
            day1 = "Saturday";
            break;
        case Calendar.SUNDAY:
            day1 = "Sunday";
            break;
        }
        String str = "";
        if (isconnected) {
            str = "Full Charge at ";
        } else {
            str = "Empty at ";
        }
        if (cal.get(Calendar.DAY_OF_WEEK) == Calendar.getInstance().get(Calendar.DAY_OF_WEEK)) {
            return str + ((cal.get(Calendar.HOUR) == 0) ? 12 : cal.get(Calendar.HOUR)) + ":"
                    + ((cal.get(Calendar.MINUTE) + "").length() == 1 ? ("0" + cal.get(Calendar.MINUTE))
                            : cal.get(Calendar.MINUTE))
                    + (cal.get(Calendar.AM_PM) == Calendar.AM ? " AM" : " PM");
        } else {
            int d = Calendar.getInstance().get(Calendar.DAY_OF_WEEK) + 1;
            if (d == 8)
                d = 1;
            if (cal.get(Calendar.DAY_OF_WEEK) == d)
                day1 = "Tomorrow";
            return str + ((cal.get(Calendar.HOUR) == 0) ? 12 : cal.get(Calendar.HOUR)) + ":"
                    + ((cal.get(Calendar.MINUTE) + "").length() == 1 ? ("0" + cal.get(Calendar.MINUTE))
                            : cal.get(Calendar.MINUTE))
                    + (cal.get(Calendar.AM_PM) == Calendar.AM ? " AM" : " PM") + ", " + day1;
        }
    case 5:
        Date mydate = TimeFuncs
                .GetItemDate(mPref.getString(PreferenceHelper.LAST_CHARGED, TimeFuncs.getCurrentTimeStamp()));
        Calendar c = Calendar.getInstance();
        c.setTime(mydate);
        String day = "";
        switch (c.get(Calendar.DAY_OF_WEEK)) {
        case Calendar.MONDAY:
            day = "Monday";
            break;
        case Calendar.TUESDAY:
            day = "Tuesday";
            break;
        case Calendar.WEDNESDAY:
            day = "Wednesday";
            break;
        case Calendar.THURSDAY:
            day = "Thursday";
            break;
        case Calendar.FRIDAY:
            day = "Friday";
            break;
        case Calendar.SATURDAY:
            day = "Saturday";
            break;
        case Calendar.SUNDAY:
            day = "Sunday";
            break;
        }

        if (c.get(Calendar.DAY_OF_WEEK) == Calendar.getInstance().get(Calendar.DAY_OF_WEEK)) {
            if (isconnected)
                return "Plugged at " + ((c.get(Calendar.HOUR) == 0) ? 12 : c.get(Calendar.HOUR)) + ":"
                        + ((c.get(Calendar.MINUTE) + "").length() == 1 ? ("0" + c.get(Calendar.MINUTE))
                                : c.get(Calendar.MINUTE))
                        + (c.get(Calendar.AM_PM) == Calendar.AM ? " AM" : " PM");
            else
                return "Unplugged at " + ((c.get(Calendar.HOUR) == 0) ? 12 : c.get(Calendar.HOUR)) + ":"
                        + ((c.get(Calendar.MINUTE) + "").length() == 1 ? ("0" + c.get(Calendar.MINUTE))
                                : c.get(Calendar.MINUTE))
                        + (c.get(Calendar.AM_PM) == Calendar.AM ? " AM" : " PM");
        } else {
            int d = Calendar.getInstance().get(Calendar.DAY_OF_WEEK) - 1;
            if (d == 0)
                d = 7;
            if (c.get(Calendar.DAY_OF_WEEK) == d)
                day = "Yesterday";
            if (isconnected)
                return "Plugged at " + ((c.get(Calendar.HOUR) == 0) ? 12 : c.get(Calendar.HOUR)) + ":"
                        + ((c.get(Calendar.MINUTE) + "").length() == 1 ? ("0" + c.get(Calendar.MINUTE))
                                : c.get(Calendar.MINUTE))
                        + (c.get(Calendar.AM_PM) == Calendar.AM ? " AM" : " PM") + ", " + day;
            else
                return "Unplugged at " + ((c.get(Calendar.HOUR) == 0) ? 12 : c.get(Calendar.HOUR)) + ":"
                        + ((c.get(Calendar.MINUTE) + "").length() == 1 ? ("0" + c.get(Calendar.MINUTE))
                                : c.get(Calendar.MINUTE))
                        + (c.get(Calendar.AM_PM) == Calendar.AM ? " AM" : " PM") + ", " + day;
        }

    case 6:
        return mainText;
    }
    return mainText;

}

From source file:com.autentia.tnt.bean.activity.ActivityBean.java

/**
 * @return//from  ww  w .j  a v a  2  s  .c  o m
 */
public float getMonthTotalHours() {

    ArrayList<Integer> diasContemplados = new ArrayList<Integer>();

    cal.setTime(selectedDate);

    float hoursPerDay = ((SettingBean) FacesUtils.getBean("settingBean")).getMySettings().getWorkingHours();

    int weekendsInMonth = 0;

    int daysInMonth = cal.getActualMaximum(Calendar.DAY_OF_MONTH);

    for (int i = 1; i <= daysInMonth; i++) {
        cal.set(Calendar.DAY_OF_MONTH, i);
        if (cal.get(Calendar.DAY_OF_WEEK) == Calendar.SATURDAY
                || cal.get(Calendar.DAY_OF_WEEK) == Calendar.SUNDAY) {
            weekendsInMonth++;
            diasContemplados.add(i);
        }
    }

    // Restamos das de vacaciones aceptadas y dias de fiesta

    Calendar calMin = Calendar.getInstance();
    Calendar calMax = Calendar.getInstance();
    Calendar calAux = Calendar.getInstance();

    calMin.setTime(selectedDate);
    calMin.set(Calendar.DAY_OF_MONTH, cal.getMinimum(Calendar.DAY_OF_MONTH));
    calMin.set(Calendar.HOUR_OF_DAY, cal.getMinimum(Calendar.HOUR_OF_DAY));
    calMin.set(Calendar.MINUTE, cal.getMinimum(Calendar.MINUTE));
    calMin.set(Calendar.SECOND, cal.getMinimum(Calendar.SECOND));
    calMin.set(Calendar.MILLISECOND, cal.getMinimum(Calendar.MILLISECOND));

    calMax.setTime(selectedDate);
    calMax.set(Calendar.DAY_OF_MONTH, cal.getMaximum(Calendar.DAY_OF_MONTH));
    calMax.set(Calendar.HOUR_OF_DAY, cal.getMaximum(Calendar.HOUR_OF_DAY));
    calMax.set(Calendar.MINUTE, cal.getMaximum(Calendar.MINUTE));
    calMax.set(Calendar.SECOND, cal.getMaximum(Calendar.SECOND));
    calMax.set(Calendar.MILLISECOND, cal.getMaximum(Calendar.MILLISECOND));

    HolidaySearch monthSearch = new HolidaySearch();

    monthSearch.setStartDate(calMin.getTime());
    monthSearch.setEndDate(calMax.getTime());
    List<Holiday> listaHolidays = holidayManager.getAllEntities(monthSearch, null);

    int holidays = 0;
    for (Holiday holiday : listaHolidays) {
        calAux.setTime(holiday.getDate());
        int day = calAux.get(Calendar.DAY_OF_MONTH);
        if (!diasContemplados.contains(day)) {
            holidays++;
            diasContemplados.add(day);
        }
    }

    int requestedHolidays = 0;
    RequestHolidayManager rhManager = RequestHolidayManager.getDefault();
    RequestHolidaySearch rhSearch = new RequestHolidaySearch();
    rhSearch.setUserRequest(authManager.getCurrentPrincipal().getUser());
    rhSearch.setState(HolidayState.ACCEPT);
    rhSearch.setStartBeginDate(calMin.getTime());
    rhSearch.setEndBeginDate(calMax.getTime());
    rhSearch.setStartFinalDate(calMin.getTime());
    rhSearch.setEndFinalDate(calMax.getTime());

    List<RequestHoliday> listH = rhManager.getAllEntities(rhSearch, null);

    for (RequestHoliday rH : listH) {
        Calendar cActual = Calendar.getInstance();
        cActual.setTime(rH.getBeginDate());
        while (!cActual.getTime().after(rH.getFinalDate())) {
            int day = cActual.get(Calendar.DAY_OF_MONTH);
            if (!diasContemplados.contains(day)) {
                requestedHolidays++;
                diasContemplados.add(day);
            }
            cActual.add(Calendar.DAY_OF_MONTH, 1);
        }

    }

    return (daysInMonth - weekendsInMonth - holidays - requestedHolidays) * hoursPerDay;
}

From source file:com.sonyericsson.hudson.plugins.gerrit.trigger.GerritServer.java

/**
 * Generates a list of helper objects for the jelly view.
 *
 * @return a list of helper objects./*from ww w  . j ava2  s .  c o  m*/
 */
public List<ExceptionDataHelper> generateHelper() {
    WatchTimeExceptionData data = config.getExceptionData();
    List<ExceptionDataHelper> list = new LinkedList<ExceptionDataHelper>();
    list.add(new ExceptionDataHelper(Messages.MondayDisplayName(), Calendar.MONDAY, data));
    list.add(new ExceptionDataHelper(Messages.TuesdayDisplayName(), Calendar.TUESDAY, data));
    list.add(new ExceptionDataHelper(Messages.WednesdayDisplayName(), Calendar.WEDNESDAY, data));
    list.add(new ExceptionDataHelper(Messages.ThursdayDisplayName(), Calendar.THURSDAY, data));
    list.add(new ExceptionDataHelper(Messages.FridayDisplayName(), Calendar.FRIDAY, data));
    list.add(new ExceptionDataHelper(Messages.SaturdayDisplayName(), Calendar.SATURDAY, data));
    list.add(new ExceptionDataHelper(Messages.SundayDisplayName(), Calendar.SUNDAY, data));
    return list;
}

From source file:com.xunlei.util.DateUtils.java

/**
 * <p>/*from   w  w  w. j a  v  a  2s.  c  om*/
 * This constructs an <code>Iterator</code> over each day in a date range defined by a focus date and range style.
 * </p>
 * <p>
 * For instance, passing Thursday, July 4, 2002 and a <code>RANGE_MONTH_SUNDAY</code> will return an <code>Iterator</code> that starts with Sunday, June 30, 2002 and ends with Saturday, August 3,
 * 2002, returning a Calendar instance for each intermediate day.
 * </p>
 * <p>
 * This method provides an iterator that returns Calendar objects. The days are progressed using {@link Calendar#add(int, int)}.
 * </p>
 * 
 * @param focus the date to work with
 * @param rangeStyle the style constant to use. Must be one of {@link DateUtils#RANGE_MONTH_SUNDAY}, {@link DateUtils#RANGE_MONTH_MONDAY}, {@link DateUtils#RANGE_WEEK_SUNDAY},
 *        {@link DateUtils#RANGE_WEEK_MONDAY}, {@link DateUtils#RANGE_WEEK_RELATIVE}, {@link DateUtils#RANGE_WEEK_CENTER}
 * @return the date iterator
 * @throws IllegalArgumentException if the date is <code>null</code>
 * @throws IllegalArgumentException if the rangeStyle is invalid
 */
public static Iterator iterator(Calendar focus, int rangeStyle) {
    if (focus == null) {
        throw new IllegalArgumentException("The date must not be null");
    }
    Calendar start = null;
    Calendar end = null;
    int startCutoff = Calendar.SUNDAY;
    int endCutoff = Calendar.SATURDAY;
    switch (rangeStyle) {
    case RANGE_MONTH_SUNDAY:
    case RANGE_MONTH_MONDAY:
        // Set start to the first of the month
        start = truncate(focus, Calendar.MONTH);
        // Set end to the last of the month
        end = (Calendar) start.clone();
        end.add(Calendar.MONTH, 1);
        end.add(Calendar.DATE, -1);
        // Loop start back to the previous sunday or monday
        if (rangeStyle == RANGE_MONTH_MONDAY) {
            startCutoff = Calendar.MONDAY;
            endCutoff = Calendar.SUNDAY;
        }
        break;
    case RANGE_WEEK_SUNDAY:
    case RANGE_WEEK_MONDAY:
    case RANGE_WEEK_RELATIVE:
    case RANGE_WEEK_CENTER:
        // Set start and end to the current date
        start = truncate(focus, Calendar.DATE);
        end = truncate(focus, Calendar.DATE);
        switch (rangeStyle) {
        case RANGE_WEEK_SUNDAY:
            // already set by default
            break;
        case RANGE_WEEK_MONDAY:
            startCutoff = Calendar.MONDAY;
            endCutoff = Calendar.SUNDAY;
            break;
        case RANGE_WEEK_RELATIVE:
            startCutoff = focus.get(Calendar.DAY_OF_WEEK);
            endCutoff = startCutoff - 1;
            break;
        case RANGE_WEEK_CENTER:
            startCutoff = focus.get(Calendar.DAY_OF_WEEK) - 3;
            endCutoff = focus.get(Calendar.DAY_OF_WEEK) + 3;
            break;
        }
        break;
    default:
        throw new IllegalArgumentException("The range style " + rangeStyle + " is not valid.");
    }
    if (startCutoff < Calendar.SUNDAY) {
        startCutoff += 7;
    }
    if (startCutoff > Calendar.SATURDAY) {
        startCutoff -= 7;
    }
    if (endCutoff < Calendar.SUNDAY) {
        endCutoff += 7;
    }
    if (endCutoff > Calendar.SATURDAY) {
        endCutoff -= 7;
    }
    while (start.get(Calendar.DAY_OF_WEEK) != startCutoff) {
        start.add(Calendar.DATE, -1);
    }
    while (end.get(Calendar.DAY_OF_WEEK) != endCutoff) {
        end.add(Calendar.DATE, 1);
    }
    return new DateIterator(start, end);
}

From source file:org.sakaiproject.sitestats.impl.chart.ChartServiceImpl.java

private Map<Integer, String> getWeekDaysMap() {
    weekDaysMap = new HashMap<Integer, String>();
    weekDaysMap.put(Calendar.SUNDAY, msgs.getString("day_sun"));
    weekDaysMap.put(Calendar.MONDAY, msgs.getString("day_mon"));
    weekDaysMap.put(Calendar.TUESDAY, msgs.getString("day_tue"));
    weekDaysMap.put(Calendar.WEDNESDAY, msgs.getString("day_wed"));
    weekDaysMap.put(Calendar.THURSDAY, msgs.getString("day_thu"));
    weekDaysMap.put(Calendar.FRIDAY, msgs.getString("day_fri"));
    weekDaysMap.put(Calendar.SATURDAY, msgs.getString("day_sat"));
    return weekDaysMap;
}