Example usage for org.apache.commons.lang.time DateUtils isSameDay

List of usage examples for org.apache.commons.lang.time DateUtils isSameDay

Introduction

In this page you can find the example usage for org.apache.commons.lang.time DateUtils isSameDay.

Prototype

public static boolean isSameDay(Calendar cal1, Calendar cal2) 

Source Link

Document

Checks if two calendar objects are on the same day ignoring time.

28 Mar 2002 13:45 and 28 Mar 2002 06:01 would return true.

Usage

From source file:com.pureinfo.tgirls.servlet.GetWelcomeMsg.java

@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    JsonBase result = new JsonBase();
    response.setContentType("text/json; charset=utf-8");

    User loginUser = CookieUtils.getLoginUser(request, response);
    if (loginUser == null) {
        result.setErrorCode(JsonBase.ErrorCode.ERROR.getCode());
        result.setErrorMsg("");
        response.getWriter().write(result.toString());
        return;//from  www .ja  va 2 s.  c  o m
    }

    IUserMgr usermgr = null;//(IUserMgr) ArkContentHelper.getContentMgrOf(User.class);
    try {
        usermgr = (IUserMgr) ArkContentHelper.getContentMgrOf(User.class);
        if (loginUser.getLastLoginTime() == null) {
            loginUser.setLastLoginTime(new Date());
            usermgr.save(loginUser);
        }
    } catch (PureException e1) {
        logger.error(e1);
        result.setErrorCode(JsonBase.ErrorCode.ERROR.getCode());
        if (StringUtils.isNotEmpty(e1.getMessage())) {
            result.setErrorMsg(e1.getMessage());
        } else {
            result.setErrorMsg("");
        }
        response.getWriter().write(result.toString());
        return;
    }

    if (DateUtils.isSameDay(loginUser.getLastLoginTime(), new Date())) {
        result.setErrorCode(JsonBase.ErrorCode.ERROR.getCode());
        result.setErrorMsg("???");
        response.getWriter().write(result.toString());
        return;
    } else {
        //????
        createNormalRandomEvent(loginUser);
    }

    Calendar now = Calendar.getInstance();
    int m = now.get(Calendar.MONTH);
    int d = now.get(Calendar.DAY_OF_MONTH);

    List<RandomEvent> todayEvents = (List<RandomEvent>) cache.get(WELCOME_EVENT_KEY + "." + m + "." + d);
    if (todayEvents == null) {
        todayEvents = new ArrayList<RandomEvent>();

        logger.debug("today events is empty. reload.");

        List<RandomEvent> allWelcomeRandomEvents = null;
        try {
            allWelcomeRandomEvents = getWelcomeEvents();
        } catch (PureException e) {
            logger.error("error when get welcome events.", e);
        }

        if (allWelcomeRandomEvents == null || allWelcomeRandomEvents.isEmpty()) {

            logger.debug("all welcome events is empty.");

            result.setErrorCode(JsonBase.ErrorCode.ERROR.getCode());
            result.setErrorMsg("?");
            response.getWriter().write(result.toString());
            return;
        }

        List<RandomEvent> normalEvents = new ArrayList<RandomEvent>();// 

        Calendar c1 = Calendar.getInstance();// Calendar.getInstance();
        Calendar today = Calendar.getInstance();
        for (Iterator<RandomEvent> iterator = allWelcomeRandomEvents.iterator(); iterator.hasNext();) {
            RandomEvent randomEvent = iterator.next();
            String month_day = randomEvent.getEventMonthDay();
            if (StringUtils.isNotEmpty(month_day)) {
                try {
                    int i = month_day.indexOf("-");
                    int month = NumberUtils.toInt(month_day.substring(0, i), -1);
                    int day = NumberUtils.toInt(month_day.substring(i + 1), -1);
                    c1.clear();
                    c1 = Calendar.getInstance();

                    //                        logger.debug("the random event [" + randomEvent.getEventInfo() + "]  month:" + month
                    //                                + " ,day: " + day);

                    if (month != -1) {
                        c1.set(Calendar.MONTH, month - 1);
                    }
                    if (day != -1) {
                        c1.set(Calendar.DAY_OF_MONTH, day);
                    }

                    if (DateUtils.isSameDay(c1, today)) {
                        todayEvents.add(randomEvent);
                    }
                } catch (Exception e) {
                }
            } else {
                normalEvents.add(randomEvent);
            }
        }

        if (todayEvents == null || todayEvents.isEmpty()) {
            if (normalEvents.isEmpty()) {

                logger.debug("today events is empty, and normal events is empty too.");

                result.setErrorCode(JsonBase.ErrorCode.ERROR.getCode());
                result.setErrorMsg("?");
                response.getWriter().write(result.toString());
                return;
            } else {
                todayEvents.addAll(normalEvents);
            }
        }

        Collections.sort(todayEvents, new BeanComparator("eventScale"));
        todayTotalScale = 0;
        for (Iterator<RandomEvent> iterator = todayEvents.iterator(); iterator.hasNext();) {
            RandomEvent randomEvent2 = iterator.next();
            todayTotalScale += randomEvent2.getEventScale();
        }
        cache.put(WELCOME_EVENT_KEY + "." + m + "." + d, todayEvents);

    }

    if (todayEvents == null || todayEvents.isEmpty()) {
        logger.debug("today events is empty, system events is empty .");

        result.setErrorCode(JsonBase.ErrorCode.ERROR.getCode());
        result.setErrorMsg("?");
        response.getWriter().write(result.toString());
        return;
    }

    int random = new Random().nextInt(todayTotalScale);
    RandomEvent todayEvent = null;
    int start = 0;
    int end = 0;
    for (int i = 0; i < todayEvents.size(); i++) {
        if (i == 0) {
            start = 0;
            end = todayEvents.get(i).getEventScale();
        } else {
            start = end;
            end = end + todayEvents.get(i).getEventScale();
        }

        if (random >= start && random < end) {
            todayEvent = todayEvents.get(i);
            break;
        }
    }
    if (todayEvent == null) {
        result.setErrorCode(JsonBase.ErrorCode.ERROR.getCode());
        result.setErrorMsg("?");
        response.getWriter().write(result.toString());
        return;
    }

    try {
        result.put("event", new JSONObject(todayEvent));

        logger.info("welcome event[" + todayEvent.getEventInfo() + "]");

        loginUser.setFunds(loginUser.getFunds() + todayEvent.getEventMoney());
        loginUser.setAssets(loginUser.getAssets() + todayEvent.getEventMoney());
        loginUser.setLastLoginTime(new Date());

        usermgr.save(loginUser);

        request.getSession().setAttribute(ArkHelper.ATTR_LOGIN_USER, loginUser);

    } catch (Exception e) {
        logger.error(e);
        result.setErrorCode(JsonBase.ErrorCode.ERROR.getCode());
        if (StringUtils.isNotEmpty(e.getMessage())) {
            result.setErrorMsg(e.getMessage());
        } else {
            result.setErrorMsg("");
        }
        response.getWriter().write(result.toString());
        return;
    }

    logger.debug("event:" + result.toString());

    request.getSession().setAttribute(ArkHelper.ATTR_LOGIN_USER, loginUser);
    response.getWriter().write(result.toString());
    return;
}

From source file:net.audumla.irrigation.IrrigationZone.java

@Override
public List<Event> getIrrigationEventsForDay(Date day) {
    return irrigationEvents.stream().filter(e -> DateUtils.isSameDay(e.getEventStartTime(), day))
            .collect(Collectors.toCollection(ArrayList::new));
}

From source file:lovelmimica.app.DivingClub.java

private List<Dive> getSameDayDives(Dive dive) {
    List<Dive> sameDayDives = new ArrayList<Dive>();
    for (Dive u : this.dives) {
        if (DateUtils.isSameDay(dive.getDate(), u.getDate()))
            sameDayDives.add(u);//w w  w  . j a  v  a  2 s  .  com

    }
    return sameDayDives;
}

From source file:de.knurt.fam.news.NewsSourceForYourBookings.java

private NewsItem getNewsItemOf(Booking booking, TimeFrame from) {
    NewsItem result = null;//from   w  w  w .java  2 s  .c  o m
    if ((booking.isCanceled() && from.contains(booking.getCancelation().getDateCanceled()))
            || (!booking.isCanceled() && !booking.sessionAlreadyMade())) {
        result = new NewsItemDefault();
        String facilityLabel = booking.getFacility().getLabel();
        String bOrA = booking.isApplication() ? "application" : "booking"; // INTLANG
        String desc = "";
        if (booking.isCanceled()) {
            String reason = booking.getCancelation().getReason();
            desc = String.format("Your %s for %s was canceled.", bOrA, facilityLabel); // INTLANG
            if (reason != null && !reason.isEmpty()) {
                desc += " Reason: " + reason;
            }
            result.setEventStarts(booking.getCancelation().getDateCanceled());
        } else { // uncanceled booking
            if (booking.isQueueBased() && !booking.sessionAlreadyMade()) {
                //  booking in queue and not made
                desc = String.format("Expected start of your session on %s. Your position in queue: %s.",
                        facilityLabel, ((QueueBooking) booking).getCurrentQueuePosition()); // INTLANG
                result.setEventStarts(((QueueBooking) booking).getExpectedSessionStart().getTime());
                if (booking.sessionAlreadyBegun()) {
                    result.setLinkToFurtherInformation(
                            TemplateHtml.href("viewrequest") + QueryStringBuilder.getQueryString(booking));
                } else {
                    result.setLinkToFurtherInformation(
                            TemplateHtml.href("editrequest") + QueryStringBuilder.getQueryString(booking));
                }
            } else { // booking has session start time
                Calendar today = Calendar.getInstance();
                if (DateUtils.isSameDay(today.getTime(), booking.getSessionTimeFrame().getDateStart())) {
                    // session is today
                    if (DateUtils.isSameDay(today.getTime(), booking.getSessionTimeFrame().getDateEnd())) {
                        desc = String.format("Your session on %s.", facilityLabel); // INTLANG
                        result.setEventStarts(booking.getSessionTimeFrame().getDateStart());
                        result.setEventEnds(booking.getSessionTimeFrame().getDateEnd());
                    } else {
                        desc = String.format("Your session on %s (ends on %s).", facilityLabel,
                                FamDateFormat.getDateAndTimeShort(booking.getSessionTimeFrame().getDateEnd())); // INTLANG
                        result.setEventStarts(booking.getSessionTimeFrame().getDateStart());
                    }
                    if (booking.sessionAlreadyBegun()) {
                        result.setLinkToFurtherInformation(
                                TemplateHtml.href("viewrequest") + QueryStringBuilder.getQueryString(booking));
                    } else {
                        result.setLinkToFurtherInformation(
                                TemplateHtml.href("editrequest") + QueryStringBuilder.getQueryString(booking));
                    }
                } else { // session starts in future
                    Calendar booking_c = booking.getSessionTimeFrame().getCalendarStart();
                    if (booking_c.before(today)) {
                        desc = String.format("your session on %s.", facilityLabel); // INTLANG
                    } else {
                        long days = CalendarUtil.me().daysBetween(today, booking_c);
                        desc = String.format("%s %s to your session on %s.", days, days == 1 ? "day" : "days",
                                facilityLabel); // INTLANG
                    }
                    result.setEventStarts(booking_c.getTime());
                    if (booking.getSessionTimeFrame().getCalendarEnd() != null) {
                        result.setEventEnds(booking.getSessionTimeFrame().getCalendarEnd().getTime());
                    }
                    result.setLinkToFurtherInformation(
                            TemplateHtml.href("editrequest") + QueryStringBuilder.getQueryString(booking));
                }
            }
            if (booking.getNotice() != null && !booking.getNotice().isEmpty()) {
                desc += " Notice: " + booking.getNotice();
            }
        }
        if (result != null && desc != null) {
            result.setDescription(desc);
        }
    }
    return result;
}

From source file:com.pureinfo.tgirls.servlet.NormalRandomEventMsg.java

public void createEvent(User loginUser) throws ServletException, IOException {
    if (loginUser == null) {
        return;/*from w  ww . ja  v  a  2 s.  c  om*/
    }

    Calendar now = Calendar.getInstance();
    int m = now.get(Calendar.MONTH);
    int d = now.get(Calendar.DAY_OF_MONTH);

    List<RandomEvent> todayEvents = (List<RandomEvent>) cache.get(NORMAL_EVENT_KEY + "." + m + "." + d);
    if (todayEvents == null) {
        todayEvents = new ArrayList<RandomEvent>();

        logger.debug("today events is empty. reload.");

        List<RandomEvent> allNormalEvents = null;
        try {
            allNormalEvents = getNormalEvents();
            // cache.put(WELCOME_EVENT_KEY, allWelcomeRandomEvents);
        } catch (PureException e) {
            logger.error("error when get normal events.", e);
        }

        if (allNormalEvents == null || allNormalEvents.isEmpty()) {

            logger.debug("all normal events is empty.");

            return;
        }

        List<RandomEvent> noDayEvents = new ArrayList<RandomEvent>();// 

        Calendar c1 = Calendar.getInstance();// Calendar.getInstance();
        Calendar today = Calendar.getInstance();
        for (Iterator iterator = allNormalEvents.iterator(); iterator.hasNext();) {
            RandomEvent randomEvent = (RandomEvent) iterator.next();
            String month_day = randomEvent.getEventMonthDay();
            if (StringUtils.isNotEmpty(month_day)) {
                try {
                    int i = month_day.indexOf("-");
                    int month = NumberUtils.toInt(month_day.substring(0, i), -1);
                    int day = NumberUtils.toInt(month_day.substring(i + 1), -1);
                    c1.clear();
                    c1 = Calendar.getInstance();

                    //                        logger.debug("the random event [" + randomEvent.getEventInfo() + "] month:" + month + " day:"
                    //                                + day);

                    if (month != -1) {
                        c1.set(Calendar.MONTH, month - 1);
                    }
                    if (day != -1) {
                        c1.set(Calendar.DAY_OF_MONTH, day);
                    }

                    if (DateUtils.isSameDay(c1, today)) {

                        logger.debug("today event:" + randomEvent.getEventInfo());

                        todayEvents.add(randomEvent);
                    }
                } catch (Exception e) {
                }
            } else {
                noDayEvents.add(randomEvent);
            }
        }

        if (todayEvents == null || todayEvents.isEmpty()) {
            if (noDayEvents.isEmpty()) {

                logger.debug("today events is empty, and noDay events is empty too.");

                return;
            }
        }

        // //////////////////////////////
        // //////////////////////////////
        todayEvents.addAll(noDayEvents);
        // //////////////////////
        // //////////////////////

        Collections.sort(todayEvents, new BeanComparator("eventScale"));
        todayTotalScale = 0;
        for (Iterator iterator = todayEvents.iterator(); iterator.hasNext();) {
            RandomEvent randomEvent2 = (RandomEvent) iterator.next();
            todayTotalScale += randomEvent2.getEventScale();
        }
        cache.put(NORMAL_EVENT_KEY + "." + m + "." + d, todayEvents);
    }

    int random = new Random().nextInt(todayTotalScale);
    RandomEvent todayEvent = null;
    int start = 0;
    int end = 0;
    for (int i = 0; i < todayEvents.size(); i++) {
        if (i == 0) {
            start = 0;
            end = todayEvents.get(i).getEventScale();
        } else {
            start = end;
            end = end + todayEvents.get(i).getEventScale();
        }

        if (random >= start && random < end) {
            todayEvent = todayEvents.get(i);
            break;
        }
    }
    if (todayEvent == null) {
        return;
    }

    try {

        logger.info("normal event[" + todayEvent.getEventInfo() + "]");

        //            loginUser.setFunds(loginUser.getFunds() + todayEvent.getEventMoney());
        //            loginUser.setAssets(loginUser.getAssets() + todayEvent.getEventMoney());

        createInformation(loginUser, todayEvent);

        UserMoneySaveEntry userMoney = new UserMoneySaveEntry();

        userMoney.setTaobaoId(loginUser.getTaobaoID());
        userMoney.setFunds(todayEvent.getEventMoney());
        userMoney.setAssets(todayEvent.getEventMoney());

        UserMoneySaveCache.getInstance().add(userMoney);

        //            UserInfoSaveCache.getInstance().add(loginUser);

    } catch (Exception e) {
        logger.error(e);
        return;
    }

    return;
}

From source file:net.audumla.scheduler.quartz.SunScheduleTest.java

@Test
public void testRise3Times() throws Exception {
    AstronomicEvent event = getSunRiseEvent();
    Date now = new Date();
    if (event.getCalculatedEventTime().before(now)) {
        now = DateUtils.addDays(now, 1);
    }/* www .jav a  2 s. c  om*/
    AstronomicTriggerImpl trigger = (AstronomicTriggerImpl) AstronomicScheduleBuilder.astronomicalSchedule()
            .startEvent(event).startEventOffset(0).withEventCount(3).build();
    trigger.computeFirstFireTime(null);
    Date fire = trigger.getNextFireTime();
    assert DateUtils.isSameDay(fire, now);
    trigger.triggered(null);
    fire = trigger.getNextFireTime();
    assert DateUtils.isSameDay(fire, DateUtils.addDays(now, 1));
    trigger.triggered(null);
    fire = trigger.getNextFireTime();
    assert DateUtils.isSameDay(fire, DateUtils.addDays(now, 2));
    trigger.triggered(null);
    fire = trigger.getNextFireTime();
    assert fire == null;

}

From source file:com.cse3310.phms.ui.fragments.DietScreenFragment.java

private void populateCardList(Date date) {
    User user = UserSingleton.INSTANCE.getCurrentUser();
    cardList.clear();//  w ww . jav a2  s. com

    for (Food food : user.getDiet().getFoods()) { // iterate over all the food in the user's diet
        // check if the day the food was added is the same
        // as the current selected day
        if (DateUtils.isSameDay(new Date((long) food.getTime()), date)) {
            cardList.add(createFoodCard(food)); // if so, create a card for that food and add it to the list
        }
    }
}

From source file:de.fme.topx.component.TopXUpdateComponent.java

/**
 * increase the hitcount for the given noderef by using the aspect
 * <code>topx:countable</code>. Does not fire events for other behaviours.
 * Using admin use to increment because not everybody has
 * /*from  w ww  .jav  a2  s . c  o m*/
 * @param nodeRef
 * @param userName
 *            current user who reads or updates the document.
 * @param counterUserProperty
 * @throws SystemException
 * @throws NotSupportedException
 * @throws HeuristicRollbackException
 * @throws HeuristicMixedException
 * @throws RollbackException
 * @throws IllegalStateException
 * @throws SecurityException
 */
@SuppressWarnings("unchecked")
public Integer increaseHitcount(final NodeRef nodeRef, final String userName, final QName counterProperty,
        final QName counterDateProperty, final QName counterUserProperty)
        throws NotSupportedException, SystemException, SecurityException, IllegalStateException,
        RollbackException, HeuristicMixedException, HeuristicRollbackException {
    UserTransaction transaction = transactionService.getNonPropagatingUserTransaction(false);
    transaction.begin();

    try {
        Preconditions.checkNotNull(nodeRef, "Passed noderef should not be null");
        Preconditions.checkArgument(nodeService.exists(nodeRef),
                "Node[" + nodeRef + "] must exist in the repository");
        filter.disableAllBehaviours();
        Map<QName, Serializable> newProperties = Maps.newHashMap();
        Integer counter = (Integer) nodeService.getProperty(nodeRef, counterProperty);
        if (counter == null) {
            counter = setHitCountProperties(nodeRef, counterProperty, counterDateProperty, counterUserProperty,
                    newProperties, 1, userName);
        } else {
            boolean shouldCount = true;
            Map<QName, Serializable> properties = nodeService.getProperties(nodeRef);
            Serializable usersValue = properties.get(counterUserProperty);

            List<String> users;
            if (!(usersValue instanceof List)) {
                users = Lists.newArrayList((String) usersValue);
            } else {
                users = (List<String>) usersValue;
            }

            if (users != null) {
                int userIndex = users.indexOf(userName);
                if (userIndex != -1) {
                    List<Date> counterDates = (List<Date>) properties.get(counterDateProperty);
                    Date lastUserReadDate = counterDates.get(userIndex);
                    // only count one download for a
                    // document of
                    // a user per day
                    if (DateUtils.isSameDay(lastUserReadDate, new Date())) {
                        shouldCount = false;
                        LOG.info("User " + userName + " already downloads/updates document " + nodeRef
                                + " today. Skip counting.");
                    }
                }
            }
            if (shouldCount) {
                counter = setHitCountProperties(nodeRef, counterProperty, counterDateProperty,
                        counterUserProperty, newProperties, counter, userName);
            }

        }
        transaction.commit();
        LOG.info("Commiting transaction for Node " + nodeRef);
        return counter;
    } finally {
        filter.enableAllBehaviours();
        if (transaction.getStatus() == javax.transaction.Status.STATUS_ACTIVE) {
            transaction.rollback();
            LOG.warn("Had to rollback the transaction for Node " + nodeRef);
        }

    }
}

From source file:com.delicious.deliciousfeeds4J.DeliciousUtilTest.java

@Test
public void testDeserializeUsersFromJson() throws Exception {

    final String SAMPLE_DATA = "[{\"dt\": \"2012-10-29T12:42:29Z\", \"user\": \"testuser\"}]";

    final Set<User> users = DeliciousUtil.deserializeUsersFromJson(SAMPLE_DATA);

    assertNotNull(users);//from   ww w . j a va 2  s  .c o  m
    assertFalse(users.isEmpty());

    final User user = users.iterator().next();

    assertNotNull(user);
    assertEquals("testuser", user.getUser());

    final Calendar calendar = new GregorianCalendar();
    calendar.set(Calendar.DAY_OF_MONTH, 29);
    calendar.set(Calendar.MONTH, Calendar.OCTOBER);
    calendar.set(Calendar.YEAR, 2012);

    assertTrue(DateUtils.isSameDay(calendar.getTime(), user.getAddedDate()));
}

From source file:com.cse3310.phms.ui.fragments.AppointmentScreenFragment.java

@Override
public void onDateSelected(Date date) {
    if (isAddMode) {
        // start an activity to add new appointment
        isAddMode = false;/* ww w  .jav a  2  s  .  c om*/
        Intent intent = new Intent(getActivity(), AddAppointmentActivity_.class);
        intent.putExtra("date", date);
        startActivity(intent);
    } else { // use has not click the add icon i.e. not in add mode
        final List<Card> cardList = new ArrayList<Card>();
        cardList.clear();

        // get appointment with the same date as the selected date
        for (Appointment appointment : mUser.getAppointments()) {
            if (DateUtils.isSameDay(date, new Date(appointment.getTime()))) {
                cardList.add(new AppointmentCard(getActivity(), appointment));
            }
        }

        // open up a dialog with a list of appointments for dates that have appointment
        if (!cardList.isEmpty()) {
            Collections.sort(cardList, AppointmentCardComparator.TIME_SORT);
            CardListDialogFragment_.newInstance(cardList, "Appointments").show(getFragmentManager(), "tag");
        }
    }
}