Ejemplo n.º 1
0
  public boolean isOlder(Date receivedDate, Date lastReceivedDate) {

    // now we check to see if the timestamp of this message is newer than that of
    // the last received date, so we are getting new google voice messages only
    Calendar newMsgReceivedDate = Calendar.getInstance(TimeZone.getDefault());
    Calendar oldReceivedDate = Calendar.getInstance(TimeZone.getDefault());
    newMsgReceivedDate.setTime(receivedDate);
    oldReceivedDate.setTime(lastReceivedDate);
    if (log.isDebugEnabled())
      log.debug(
          String.format(
              "Calendar Message age check.  Sent date %s %s, received date %s %s",
              newMsgReceivedDate.getTime().getTime(),
              newMsgReceivedDate.getTime(),
              oldReceivedDate.getTime().getTime(),
              oldReceivedDate.getTime()));

    if (newMsgReceivedDate.getTime().compareTo(oldReceivedDate.getTime()) <= 0) return true;

    if (log.isDebugEnabled())
      log.debug(
          String.format(
              "Calendar explicit equal check:  Seconds %s %s \n, minutes %s %s \n, hours %s %s",
              newMsgReceivedDate.get(Calendar.SECOND),
              oldReceivedDate.get(Calendar.SECOND),
              newMsgReceivedDate.get(Calendar.MINUTE),
              oldReceivedDate.get(Calendar.MINUTE),
              newMsgReceivedDate.get(Calendar.HOUR),
              oldReceivedDate.get(Calendar.HOUR)));

    // need to an explicit check if two dates are equal
    return newMsgReceivedDate.get(Calendar.SECOND) == oldReceivedDate.get(Calendar.SECOND)
        && newMsgReceivedDate.get(Calendar.MINUTE) == oldReceivedDate.get(Calendar.MINUTE)
        && newMsgReceivedDate.get(Calendar.HOUR) == oldReceivedDate.get(Calendar.HOUR)
        && newMsgReceivedDate.get(Calendar.DAY_OF_YEAR) == oldReceivedDate.get(Calendar.DAY_OF_YEAR)
        && newMsgReceivedDate.get(Calendar.YEAR) == oldReceivedDate.get(Calendar.YEAR);
  }