Example usage for org.joda.time Duration getStandardHours

List of usage examples for org.joda.time Duration getStandardHours

Introduction

In this page you can find the example usage for org.joda.time Duration getStandardHours.

Prototype

public long getStandardHours() 

Source Link

Document

Gets the length of this duration in hours assuming that there are the standard number of milliseconds in an hour.

Usage

From source file:au.com.scds.chats.dom.attendance.Attend.java

License:Apache License

@Property(editing = Editing.DISABLED)
@NotPersistent/* w w w .ja  v a  2s  .com*/
public String getAttendanceInterval() {
    if (getStartDateTime() != null && getEndDateTime() != null) {
        Duration duration = new Duration(getStartDateTime(), getEndDateTime());
        return String.format("%02d:%02d", duration.getStandardHours(),
                duration.getStandardMinutes() - duration.getStandardHours() * 60);
    } else
        return null;
}

From source file:au.com.scds.chats.dom.call.Call.java

License:Apache License

@Property(editing = Editing.DISABLED, notPersisted = true)
@PropertyLayout(named = "Call Length", describedAs = "The interval that the participant attended the activity (hours:minutes)")
@MemberOrder(sequence = "6")
@NotPersistent/*from  w  ww.j av a 2 s . c  o m*/
public String getCallLength() {
    if (getStartDateTime() != null && getEndDateTime() != null) {
        Duration duration = new Duration(getStartDateTime(), getEndDateTime());
        return String.format("%01d:%02d", duration.getStandardHours(),
                duration.getStandardMinutes() - duration.getStandardHours() * 60);
    } else
        return null;
}

From source file:ch.eitchnet.android.util.JodaHelper.java

License:Open Source License

public static String toDays(Duration duration) {
    Duration tmp = duration;
    double days = tmp.getStandardDays();
    if (days >= Integer.MAX_VALUE)
        throw new RuntimeException("Buffer overflow for number of days in duration: " + tmp);
    tmp = tmp.minus(Days.days((int) days).toStandardDuration());
    double hours = tmp.getStandardHours();
    if (hours >= Integer.MAX_VALUE)
        throw new RuntimeException("Buffer overflow for number of hours in duration: " + tmp);

    return Double.toString(days + (hours / 24));
}

From source file:com.aliakseipilko.flightdutytracker.presenter.impl.HourPresenter.java

License:Open Source License

@Override
public void subscribeAllCallbacks() {
    getMultipleFlightsDutyHoursCallback = new IFlightRepository.OnGetMultipleFlightsCallback() {
        @Override// w w w.ja  v  a 2s  . c  om
        public void OnSuccess(RealmResults<Flight> flights) {
            double dutyMillis = 0;

            for (Flight flight : flights) {
                dutyMillis += (flight.getEndDutyTime().getTime() - flight.getStartDutyTime().getTime());
            }

            Duration dutyDuration = Duration.millis((long) dutyMillis);
            long hours = dutyDuration.getStandardHours();
            long minutes = dutyDuration.minus(hours * 60 * 60 * 1000).getStandardMinutes();
            if (minutes < 10) {
                view.showDutyHours(hours + ":0" + minutes, dutyMillis);
            } else {
                view.showDutyHours(hours + ":" + minutes, dutyMillis);
            }
        }

        @Override
        public void OnError(String message) {
            view.showError(message);
        }
    };
    getMultipleFlightsFlightHoursCallback = new IFlightRepository.OnGetMultipleFlightsCallback() {
        @Override
        public void OnSuccess(RealmResults<Flight> flights) {
            double flightMillis = 0;

            for (Flight flight : flights) {
                flightMillis += (flight.getEndFlightTime().getTime() - flight.getStartFlightTime().getTime());
            }

            Duration dutyDuration = Duration.standardSeconds((long) (flightMillis / 1000));
            long hours = dutyDuration.getStandardHours();
            long minutes = dutyDuration.minus(hours * 60 * 60 * 1000).getStandardMinutes();
            if (minutes < 10) {
                view.showFlightHours(hours + ":0" + minutes, flightMillis);
            } else {
                view.showFlightHours(hours + ":" + minutes, flightMillis);
            }
        }

        @Override
        public void OnError(String message) {
            view.showError(message);
        }
    };
}

From source file:com.application.actify.lifecycle.ActivityFragment.java

License:Apache License

private void inflateTimerRow(final ActivityInstance ai, final ActivityPause ap) {
    scroller.setBackgroundResource(android.R.color.transparent);
    int activityid = ai.getactivityid();
    ActivitySetting as = Actify.findActivitySettingById(activityid);
    final String strActivity = as.getActivity();
    final String strLocation = as.getLocation();
    final int mode = ai.getMode();
    final long oriStart = ai.getStart().getTimeInMillis();

    LayoutInflater inflater = (LayoutInflater) act.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    final View rowView = inflater.inflate(R.layout.activity_row, null);

    final Chronometer mChronometer = (Chronometer) rowView.findViewById(R.id.chronometer);

    long base;//  w w  w.  j  av  a  2  s  . co m
    if (mode == Actify.MODE_RUNNING) {
        base = SystemClock.elapsedRealtime()
                - (Calendar.getInstance().getTimeInMillis() - ai.getStart().getTimeInMillis());
        mChronometer.setBase(base);
        mChronometer.start();

    } else if (mode == Actify.MODE_PAUSED) {
        base = SystemClock.elapsedRealtime() - ai.getEnd().getTimeInMillis();
        mChronometer.setBase(base);
    }

    final View idColor = (View) rowView.findViewById(R.id.idColor);
    idColor.setBackgroundColor(Color.parseColor(Actify.colorAdapter.getItem(ai.getactivityid()).toString()));

    final TextView txtActivity = (TextView) rowView.findViewById(R.id.txtActivity);

    final TextView txtStart = (TextView) rowView.findViewById(R.id.txtStart);
    txtStart.setText(Actify.datetimeFormat.format(ai.getStart().getTime()));

    if (mode == Actify.MODE_PAUSED) {
        txtActivity.setText(strActivity + getResources().getString(R.string.paused));
    } else {
        txtActivity.setText(strActivity);
    }

    final Button btnStop = (Button) rowView.findViewById(R.id.btnStop);
    btnStop.setOnClickListener(new OnClickListener() {
        public void onClick(View v) {
            /*alarmManager.cancel(Actify.pendingIntents.get(ai.getId()));
            Actify.pendingIntents.remove(ai.getId());
            Actify.pendingIntentTimes.remove(ai.getId());
            Actify.printIntents();
            */
            ReminderUtil.cancelAlarm(getActivity(), ai.getId());

            mChronometer.stop();
            timer_container.removeView(rowView);

            Calendar calEnd = Calendar.getInstance();
            if (ai.getMode() == Actify.MODE_PAUSED) {
                ap.setEnd(calEnd);
                db.updateActivityPause(ap);
            }

            ai.setEnd(calEnd);
            ai.setMode(Actify.MODE_INSERT);
            db.updateActivity(ai);
            db.deleteLatestActivityLog();
            db.updateActivityPause(ai.getId(), ai.getSync(), ai.getMode());

            String query = db.activityGuestQueryBuilder(Actify.VIEW_TIMER, Actify.MODE_RUNNING, ai.getId());
            List<ActivityGuest> insertList = db.getActivityGuestList(query);
            for (ActivityGuest ag : insertList) {
                ag.setMode(Actify.MODE_INSERT);
                db.updateActivityGuest(ag);
            }
            query = db.activityGuestQueryBuilder(Actify.VIEW_TIMER, Actify.MODE_DELETE, ai.getId());
            List<ActivityGuest> deleteList = db.getActivityGuestList(query);
            for (ActivityGuest ag : deleteList) {
                db.deleteActivityGuest(ag);
            }

            Toast.makeText(act, strActivity + res.getString(R.string.toastActivitySaved), Toast.LENGTH_SHORT)
                    .show();

            if (timer_container.getChildCount() == 0) {
                //setIdleReminder();
                ReminderUtil.setIdleReminder(getActivity());
            }

        }
    });

    final Button btnPause = (Button) rowView.findViewById(R.id.btnPause);
    btnPause.setOnClickListener(new OnClickListener() {
        public void onClick(View v) {
            switch (ai.getMode()) {
            case Actify.MODE_RUNNING: {
                // pausing

                Calendar calStart = Calendar.getInstance();
                ap.setStart(calStart);
                ActivityPause newap = db.addActivityPause(ap);
                ap.setId(newap.getId());

                Calendar calPaused = Calendar.getInstance();
                calPaused.setTimeInMillis(SystemClock.elapsedRealtime() - mChronometer.getBase());
                mChronometer.stop();
                ai.setMode(Actify.MODE_PAUSED);
                ai.setEnd(calPaused);
                db.updateActivity(ai);

                btnPause.setBackgroundResource(R.drawable.button_selector_resume);
                btnPause.setText(R.string.btnResume);
                txtActivity.setText(strActivity + getResources().getString(R.string.paused));
                break;
            }

            case Actify.MODE_PAUSED: {
                // resuming
                ai.setMode(Actify.MODE_RUNNING);
                db.updateActivity(ai);

                Calendar calResumed = Calendar.getInstance();
                ap.setEnd(calResumed);

                db.updateActivityPause(ap);
                db.deleteLatestActivityPauseLog();

                mChronometer.start();
                btnPause.setBackgroundResource(R.drawable.button_selector_pause);
                btnPause.setText(R.string.btnPause);
                txtActivity.setText(strActivity);

                break;
            }
            }
        }
    });
    if (mode == Actify.MODE_PAUSED) {
        btnPause.setBackgroundResource(R.drawable.button_selector_resume);
        btnPause.setText(R.string.btnResume);
    }

    final TextView txtLocation = (TextView) rowView.findViewById(R.id.txtLocation);
    txtLocation.setText(getResources().getString(R.string.txtLocation) + strLocation);

    final TextView txtGuest = (TextView) rowView.findViewById(R.id.txtGuest);
    List<String> guestList = db.getActivityGuestStringList(ai.getId());

    if (guestList.isEmpty())
        txtGuest.setText("");
    else {
        String guestNames = "";
        for (String s : guestList) {
            guestNames += s + " ";
        }
        txtGuest.setText(getResources().getString(R.string.txtGuests) + guestNames);
    }

    final LinearLayout ll = (LinearLayout) rowView.findViewById(R.id.ll);
    ll.setOnClickListener(new OnClickListener() {
        public void onClick(View v) {
            /********************************* Activity Edit *************************************/

            final AlertDialog activityEditDialog = new AlertDialog.Builder(act).create();
            LayoutInflater inflater = act.getLayoutInflater();
            View dialogView = inflater.inflate(R.layout.activity_edit, null);

            final Spinner spinnerActivity = (Spinner) dialogView.findViewById(R.id.spinnerActivity);
            spinnerActivity.setAdapter(Actify.activityAdapter);
            spinnerActivity.setSelection(Actify.findActivitySettingById(ai.getactivityid()).getOrder());
            spinnerActivity.setPadding(2, 2, 2, 2);

            final Spinner spinnerLocation = (Spinner) dialogView.findViewById(R.id.spinnerLocation);
            spinnerLocation.setAdapter(Actify.locationAdapter);
            spinnerLocation.setSelection(ai.getlocationid());
            spinnerLocation.setPadding(2, 2, 2, 2);

            final Button btnStart = (Button) dialogView.findViewById(R.id.btnStart);
            btnStart.setText(Actify.datetimeFormat.format(ai.getStart().getTime()));
            btnStart.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View v) {
                    dateTimePicker = new DateTimePicker(act, ai.getStart(),
                            new DateTimePickerListener(btnStart, ai),
                            res.getString(R.string.editActivityHeaderStartTime));
                    dateTimePicker.set24HourFormat(true);
                    dateTimePicker.showDialog();
                }

            });

            String dtReminderString = settings.getString("reminder_" + ai.getId(), "");
            DateTime dtReminder = DateTime.parse(dtReminderString, Actify.datetimeFormatJoda);
            DateTime dtNow = new DateTime();
            Duration duration = new Duration(dtNow, dtReminder);
            int hours = (int) duration.getStandardHours();
            int minutes = (int) duration.getStandardMinutes();
            int seconds = (int) duration.getStandardSeconds();
            String durationStr;

            if (seconds > 30) {
                minutes = minutes + 1;
                if (minutes % 60 == 0) {
                    hours = minutes / 60;
                }
            }

            if (hours > 0) {
                minutes = minutes - (hours * 60);
                durationStr = hours + "h " + minutes + "m from now";
            } else {
                durationStr = minutes + "m from now";
            }
            final int oldMinutes = minutes;
            final int oldHours = hours;
            changeReminder = false;

            final Button btnReminder = (Button) dialogView.findViewById(R.id.btnReminder);
            btnReminder.setText(durationStr);
            btnReminder.setOnClickListener(new OnClickListener() {
                TimePickerDialog.OnTimeSetListener nextAlarmSettingListener = new TimePickerDialog.OnTimeSetListener() {
                    @Override
                    public void onTimeSet(TimePicker view, int hour, int minute) {
                        newHour = hour;
                        newMinute = minute;
                        String durationStr;
                        if (newHour > 0)
                            durationStr = newHour + " hours " + newMinute + " mins";
                        else
                            durationStr = newMinute + " mins";
                        btnReminder.setText(durationStr);
                        changeReminder = true;
                    }
                };

                @Override
                public void onClick(View v) {
                    TimePickerDialog tpDialog = new TimePickerDialog(ActivityFragment.this.getActivity(),
                            nextAlarmSettingListener, oldHours, oldMinutes, true);
                    tpDialog.setTitle("Reminder");
                    tpDialog.setMessage("Remind me after (HH:MM)");
                    tpDialog.setOnDismissListener(new DialogInterface.OnDismissListener() {
                        @Override
                        public void onDismiss(DialogInterface dialog) {
                            dialog.dismiss();
                        }
                    });
                    tpDialog.show();
                }
            });

            final Button btnPauses = (Button) dialogView.findViewById(R.id.btnPauses);
            btnPauses.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View arg0) {
                    /********************************* Pauses Edit *************************************/
                    String query = db.activityPauseQueryBuilder(Actify.VIEW_TIMER, ai.getId());
                    List<ActivityPause> activityPauses = db.getActivityPauseList(query);

                    if (activityPauses.isEmpty()) {
                        Toast.makeText(act, res.getString(R.string.toastActivityNoPauses), Toast.LENGTH_SHORT)
                                .show();
                    } else {

                        final AlertDialog dialogPause = new AlertDialog.Builder(act).create();

                        ScrollView sv = new ScrollView(act);

                        final LinearLayout ll = new LinearLayout(act);
                        ll.setOrientation(LinearLayout.VERTICAL);
                        for (int i = 0; i < activityPauses.size(); i++) {
                            final ActivityPause ap = activityPauses.get(i);
                            LayoutInflater inflater = (LayoutInflater) act
                                    .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                            final View pauseRowView = inflater.inflate(R.layout.activity_pause_row, null);

                            final Button btnStart = (Button) pauseRowView.findViewById(R.id.btnStart);
                            final String start = Actify.dateFormat.format(ap.getStart().getTime()) + "\n"
                                    + Actify.timeFormat.format(ap.getStart().getTime());
                            btnStart.setText(start);
                            btnStart.setId(START);
                            btnStart.setOnClickListener(new OnClickListener() {

                                public void onClick(View v) {
                                    dateTimePicker = new DateTimePicker(act, ap.getStart(),
                                            new DateTimePickerListener(btnStart, ap),
                                            res.getString(R.string.datetimePickerHeader));
                                    dateTimePicker.set24HourFormat(true);
                                    dateTimePicker.showDialog();
                                }
                            });

                            final Button btnEnd = (Button) pauseRowView.findViewById(R.id.btnEnd);
                            final String end = Actify.dateFormat.format(ap.getEnd().getTime()) + "\n"
                                    + Actify.timeFormat.format(ap.getEnd().getTime());
                            btnEnd.setText(end);
                            btnEnd.setId(END);
                            btnEnd.setOnClickListener(new OnClickListener() {

                                public void onClick(View v) {
                                    dateTimePicker = new DateTimePicker(act, ap.getEnd(),
                                            new DateTimePickerListener(btnEnd, ap),
                                            res.getString(R.string.datetimePickerHeader));
                                    dateTimePicker.set24HourFormat(true);
                                    dateTimePicker.showDialog();
                                }
                            });

                            final ImageButton btnDelete = (ImageButton) pauseRowView
                                    .findViewById(R.id.btnDelete);
                            btnDelete.setOnClickListener(new OnClickListener() {
                                public void onClick(View v) {
                                    AlertDialog alertDialog = new AlertDialog.Builder(act).create();
                                    alertDialog.setMessage(res.getString(R.string.editPauseDeleteMsg));
                                    alertDialog.setButton(AlertDialog.BUTTON_POSITIVE,
                                            res.getString(R.string.btnYes),
                                            new DialogInterface.OnClickListener() {
                                                public void onClick(DialogInterface dialog, int which) {
                                                    db.deleteActivityPause(ap);
                                                    ll.removeView(pauseRowView);
                                                    activityEditDialog.dismiss();
                                                    dialog.dismiss();
                                                }
                                            });
                                    alertDialog.setButton(AlertDialog.BUTTON_NEGATIVE,
                                            res.getString(R.string.btnNo),
                                            new DialogInterface.OnClickListener() {
                                                public void onClick(DialogInterface dialog, int which) {
                                                    dialog.dismiss();
                                                }
                                            });
                                    alertDialog.show();
                                }
                            });

                            ll.addView(pauseRowView);
                        }
                        sv.addView(ll);

                        dialogPause.setView(sv);
                        dialogPause.setTitle(res.getString(R.string.editActivityTitlePauses));

                        dialogPause.setButton(AlertDialog.BUTTON_POSITIVE, res.getString(R.string.btnOk),
                                new DialogInterface.OnClickListener() {
                                    public void onClick(DialogInterface dialog, int which) {
                                        dialog.dismiss();
                                    }
                                });

                        dialogPause.setButton(AlertDialog.BUTTON_NEGATIVE, res.getString(R.string.btnCancel),
                                new DialogInterface.OnClickListener() {
                                    public void onClick(DialogInterface dialog, int which) {
                                        dialog.dismiss();
                                    }
                                });

                        dialogPause.show();
                    }
                }

            });

            final ArrayList<Guest> addGuests = new ArrayList<Guest>();
            final ArrayList<Guest> delGuests = new ArrayList<Guest>();
            final Button btnGuests = (Button) dialogView.findViewById(R.id.btnGuests);
            btnGuests.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View v) {
                    /********************************* Activity Guests Edit *************************************/
                    String query = db.guestQueryBuilder(ai, householdid);
                    final List<Guest> guests = db.getGuestList(query);
                    if (guests.isEmpty()) {
                        Toast.makeText(act, res.getString(R.string.editActivityToastNoGuest),
                                Toast.LENGTH_SHORT).show();
                    } else {
                        final AlertDialog dialogGuest = new AlertDialog.Builder(act).create();

                        ScrollView sv = new ScrollView(act);

                        final LinearLayout ll = new LinearLayout(act);
                        ll.setOrientation(LinearLayout.VERTICAL);

                        for (int i = 0; i < guests.size(); i++) {
                            Guest g = guests.get(i);
                            CheckBox ch = new CheckBox(act);
                            if (db.isActivityGuest(ai.getId(), g.getId())) {
                                ch.setChecked(true);
                            } else
                                ch.setChecked(false);
                            String start = Actify.datetimeFormat.format(g.getStart().getTime());
                            String end = "...";
                            if (g.getMode() != Actify.MODE_RUNNING)
                                end = Actify.datetimeFormat.format(g.getEnd().getTime());
                            String text = g.getName() + " (" + start + " - " + end + ")";
                            ch.setText(text);
                            ch.setTextSize(14);
                            ll.addView(ch);
                        }

                        sv.addView(ll);

                        dialogGuest.setView(sv);
                        dialogGuest.setTitle(res.getString(R.string.editActivityTitleGuest));
                        dialogGuest.setMessage(res.getString(R.string.editActivityMsgGuest));

                        dialogGuest.setButton(AlertDialog.BUTTON_POSITIVE, res.getString(R.string.btnOk),
                                new DialogInterface.OnClickListener() {
                                    public void onClick(DialogInterface dialog, int which) {
                                        for (int i = 0; i < guests.size(); i++) {
                                            CheckBox ch = (CheckBox) ll.getChildAt(i);
                                            if (ch.isChecked()) {
                                                addGuests.add(guests.get(i));
                                            } else
                                                delGuests.add(guests.get(i));
                                        }

                                        dialog.dismiss();
                                    }
                                });

                        dialogGuest.setButton(AlertDialog.BUTTON_NEGATIVE, res.getString(R.string.btnCancel),
                                new DialogInterface.OnClickListener() {
                                    public void onClick(DialogInterface dialog, int which) {
                                        dialog.dismiss();
                                    }
                                });

                        dialogGuest.show();
                    }
                }
            });

            activityEditDialog.setView(dialogView);
            activityEditDialog.setTitle(res.getString(R.string.editActivityTitleDialog));
            activityEditDialog.setButton(AlertDialog.BUTTON_POSITIVE, res.getString(R.string.btnOk),
                    new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int which) {

                            int activityid = Actify
                                    .findActivitySettingByOrder(spinnerActivity.getSelectedItemPosition())
                                    .getId();
                            int locationid = spinnerLocation.getSelectedItemPosition();
                            ai.setactivityid(activityid);
                            ai.setlocationid(locationid);
                            db.updateActivity(ai);

                            for (Guest g : addGuests) {
                                ActivityGuest ag = new ActivityGuest(ai.getId(), g.getId());
                                ag.setMode(Actify.MODE_RUNNING);
                                db.addActivityGuest(ag);
                            }
                            for (Guest g : delGuests) {
                                ActivityGuest ag = new ActivityGuest(ai.getId(), g.getId());
                                ag.setMode(Actify.MODE_DELETE);
                                db.updateActivityGuest(ag);
                            }

                            List<String> guestList = db.getActivityGuestStringList(ai.getId());

                            if (guestList.isEmpty())
                                txtGuest.setText("");
                            else {
                                String guestNames = "";
                                for (String s : guestList) {
                                    guestNames += s + " ";
                                }
                                txtGuest.setText(getResources().getString(R.string.txtGuests) + guestNames);
                            }

                            idColor.setBackgroundColor(
                                    Color.parseColor(Actify.colorAdapter.getItem(activityid).toString()));

                            txtLocation.setText(getResources().getString(R.string.txtLocation)
                                    + Actify.locationAdapter.getItem(locationid).toString());
                            txtStart.setText(Actify.datetimeFormat.format(ai.getStart().getTime()));

                            long changeStart = ai.getStart().getTimeInMillis() - oriStart;
                            long base;
                            String activityStr = Actify.findActivitySettingById(ai.getactivityid())
                                    .getActivity();

                            if (ai.getMode() == Actify.MODE_RUNNING) {
                                txtActivity.setText(activityStr);
                                mChronometer.stop();
                                base = SystemClock.elapsedRealtime() - (Calendar.getInstance().getTimeInMillis()
                                        - ai.getStart().getTimeInMillis());
                                mChronometer.setBase(base);
                                mChronometer.start();

                            } else if (ai.getMode() == Actify.MODE_PAUSED) {
                                base = SystemClock.elapsedRealtime() - ai.getEnd().getTimeInMillis()
                                        + changeStart;
                                mChronometer.setBase(base);
                                mChronometer.stop();
                                txtActivity.setText(activityStr + res.getString(R.string.paused));
                            }

                            if (changeReminder) {
                                ReminderUtil.cancelAlarm(getActivity(), ai.getId());
                                ActivitySetting as = Actify.findActivitySettingById(activityid);
                                ReminderUtil.setActivityReminder(getActivity(), ai.getId(),
                                        newHour * 60 + newMinute, as.getActivity());

                            }

                            dialog.dismiss();
                        }
                    });

            activityEditDialog.setButton(AlertDialog.BUTTON_NEGATIVE, res.getString(R.string.btnCancel),
                    new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int which) {
                            dialog.dismiss();
                        }
                    });

            activityEditDialog.show();

        }
    });
    timer_container.addView(rowView, timer_container.getChildCount());
}

From source file:com.bytestemplar.subgeniuswatchface.BT_SubgeniusWatchface.java

License:Apache License

private String getXDayCountdown() {
    DateTime today = DateTime.now();//from   w ww  .  j  ava 2  s.  c om
    //DateTime today = new DateTime( 1998, 7, 6, 4, 20, 32, 0 );
    DateTime xday = new DateTime(today.getYear(), 7, 5, 7, 0, 0, 0);

    if (today.isAfter(xday)) {
        xday = new DateTime(today.getYear() + 1, 7, 5, 7, 0, 0, 0);
    }

    Duration dur = new Duration(today, xday);

    StringBuilder sb = new StringBuilder();

    if (dur.getStandardDays() > 0) {
        sb.append(dur.getStandardDays());
        sb.append(" Day");
        if (dur.getStandardDays() > 1) {
            sb.append("s");
        }
        sb.append("\n");
    }

    long hours = dur.getStandardHours() % 24;
    if (hours > 0) {
        sb.append(hours);
        sb.append(" Hour");
        if (hours > 1) {
            sb.append("s");
        }
        sb.append("\n");
    }

    long mins = dur.getStandardMinutes() % 60;
    if (mins > 0) {
        sb.append(mins);
        sb.append(" Minute");
        if (mins > 1) {
            sb.append("s");
        }
        sb.append("\n");
    }

    long secs = dur.getStandardSeconds() % 60;
    if (secs > 0) {
        sb.append(secs);
        sb.append(" Second");
        if (secs > 1) {
            sb.append("s");
        }
        sb.append("\n");
    }

    sb.append("Until X-Day!");

    return sb.toString();
}

From source file:com.floreantpos.swing.TimerWatch.java

License:Open Source License

@Override
public void actionPerformed(ActionEvent e) {
    Interval interval = new Interval(date.getTime(), new Instant().getMillis());
    Duration duration = interval.toDuration();

    int timeOutValueYellow = 300;
    int timeOutValueRed = 600;

    if (AppConfig.getString("YellowTimeOut") != null) {
        timeOutValueYellow = Integer.parseInt(AppConfig.getString("YellowTimeOut")); //$NON-NLS-1$
    }/*from  w w  w .j a va2 s.  c  o m*/

    if (AppConfig.getString("RedTimeOut") != null) {
        timeOutValueRed = Integer.parseInt(AppConfig.getString("RedTimeOut")); //$NON-NLS-1$
    }

    if (timeOutValueYellow < duration.getStandardSeconds() && timeOutValueRed > duration.getStandardSeconds()) {
        backColor = Color.yellow;
        textColor = Color.black;
    } else if (timeOutValueRed < duration.getStandardSeconds()) {
        backColor = Color.red;
        textColor = Color.white;
    } else {
        backColor = Color.white;
        textColor = Color.black;
    }

    timerLabel.setText(duration.getStandardHours() + ":" + (duration.getStandardMinutes() % 60) + ":" //$NON-NLS-1$//$NON-NLS-2$
            + (duration.getStandardSeconds() % 60));
}

From source file:com.kopysoft.chronos.lib.Email.java

License:Open Source License

public String getBriefView() {
    String retString = "";
    List<DateTime> dates = punchTable.getDays();
    Chronos chron = new Chronos(gContext);
    Duration totalDuration = new Duration(0);

    for (DateTime date : dates) {
        DateTimeFormatter fmt = DateTimeFormat.forPattern("E, MMM d, yyyy");
        String time = fmt.print(date);

        Duration dur = PayPeriodAdapterList.getTime(punchTable.getPunchPair(date));
        retString += time/*from  ww  w  .  j a v a 2s  . co m*/
                + String.format(" - %02d:%02d\n", dur.toPeriod().getHours(), dur.toPeriod().getMinutes());

        totalDuration = totalDuration.plus(dur);
        Note note = chron.getNoteByDay(date);

        if (!note.getNote().equalsIgnoreCase("")) {
            retString += "\tNote: " + note.getNote() + "\n";
        }
    }

    retString += String.format("Total time - %02d:%02d\n", totalDuration.getStandardHours(),
            totalDuration.getStandardMinutes() % 60);

    chron.close();
    return retString;
}

From source file:com.kopysoft.chronos.lib.Email.java

License:Open Source License

public String getExpandedView() {
    String retString = "";
    List<DateTime> dates = punchTable.getDays();

    DateTimeFormatter dateFormat = DateTimeFormat.forPattern("E, MMM d, yyyy:\n");
    DateTimeFormatter fmt;/*  w ww . j a  va 2  s  . com*/
    if (!DateFormat.is24HourFormat(gContext))
        fmt = DateTimeFormat.forPattern("h:mm a");
    else
        fmt = DateTimeFormat.forPattern("HH:mm");

    Chronos chron = new Chronos(gContext);
    Duration totalDuration = new Duration(0);

    for (DateTime date : dates) {
        if (punchTable.getPunchPair(date).size() > 0)
            retString += dateFormat.print(date);

        for (PunchPair pp : punchTable.getPunchPair(date)) {
            retString += "\t" + fmt.print(pp.getInPunch().getTime()) + " - \tIN - "
                    + pp.getInPunch().getTask().getName() + "\n";
            if (pp.getOutPunch() != null) {
                retString += "\t" + fmt.print(pp.getOutPunch().getTime()) + " - \tOUT - "
                        + pp.getOutPunch().getTask().getName() + "\n";
            }
        }

        totalDuration = totalDuration.plus(PayPeriodAdapterList.getTime(punchTable.getPunchPair(date)));

        Note note = chron.getNoteByDay(date);

        if (!note.getNote().equalsIgnoreCase("")) {
            retString += "\tNote: " + note.getNote() + "\n";
        }
    }

    retString += String.format("Total time - %02d:%02d\n", totalDuration.getStandardHours(),
            totalDuration.getStandardMinutes() % 60);

    chron.close();
    return retString;
}

From source file:com.mythesis.userbehaviouranalysis.RequestServlet.java

License:Apache License

/**
 * Handles the HTTP <code>POST</code> method.
 * @param request servlet request//from w ww  .j  a  v a2  s.  co m
 * @param response servlet response
 * @throws ServletException if a servlet-specific error occurs
 * @throws IOException if an I/O error occurs
 */
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    String userPath = request.getServletPath();
    File input = new File("D://UserBehaviourAnalysisInput.txt");
    ProfileAnalysis analysis = new ProfileAnalysis();
    switch (userPath) {
    // if history is sent
    case "/history":
        String id = request.getParameter("userID");
        String[] urls = request.getParameter("urls").split(",");

        Mongo mongo = new Mongo("localhost", 27017);
        DB db = mongo.getDB("profileAnalysis");
        DBCollection userinfo = db.getCollection("userinfo");
        BasicDBObject searchQuery = new BasicDBObject();
        searchQuery.put("userID", id);
        DBCursor cursor = userinfo.find(searchQuery);
        if (cursor.hasNext()) {
            DateTime current = new DateTime();
            SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy HH:mm");
            DBObject entry = cursor.next();
            String check = (String) entry.get("timestamp");
            Date temp = null;
            try {
                temp = format.parse(check);
            } catch (ParseException ex) {
                Logger.getLogger(RequestServlet.class.getName()).log(Level.SEVERE, null, ex);
            }
            DateTime previous = new DateTime(temp);
            System.out.println("last history analysis on: " + previous);
            System.out.println("current date/time: " + current);
            Duration duration = new Duration(previous, current);
            if (duration.getStandardHours() < 24)
                break;
        }
        analysis.perform(id, urls, input);
        break;
    // if query is sent    
    case "/query":
        try {
            JSONObject data = new JSONObject(request.getParameter("data"));
            Iterator it = data.keys();

            ArrayList<String> profiles = new ArrayList<>();
            ArrayList<String> queries = new ArrayList<>();
            while (it.hasNext()) {
                String key = (String) it.next();
                profiles.add(key);
                queries.add((String) data.get(key));
            }
            analysis.storeQueries(profiles, queries, input);
        } catch (JSONException ex) {
            Logger.getLogger(RequestServlet.class.getName()).log(Level.SEVERE, null, ex);
        }
        break;
    }
}