List of usage examples for org.joda.time DateTime getSecondOfMinute
public int getSecondOfMinute()
From source file:net.tourbook.printing.DialogPrintTour.java
License:Open Source License
/** * Overwrite filename with the first tour date/time when the tour is not merged *//* w ww . j a v a 2s . c o m*/ private void setFileName() { // search for the first tour TourData minTourData = null; final long minTourMillis = 0; for (final TourData tourData : _tourDataList) { final DateTime checkingTourDate = TourManager.getTourDateTime(tourData); if (minTourData == null) { minTourData = tourData; } else { final long tourMillis = checkingTourDate.getMillis(); if (tourMillis < minTourMillis) { minTourData = tourData; } } } if ((_tourDataList.size() == 1) && (_tourStartIndex != -1) && (_tourEndIndex != -1)) { // display the start date/time final DateTime dtTour = new DateTime(minTourData.getStartYear(), minTourData.getStartMonth(), minTourData.getStartDay(), minTourData.getStartHour(), minTourData.getStartMinute(), minTourData.getStartSecond(), 0); final int startTime = minTourData.timeSerie[_tourStartIndex]; final DateTime tourTime = dtTour.plusSeconds(startTime); _comboFile.setText(UI.format_yyyymmdd_hhmmss(tourTime.getYear(), tourTime.getMonthOfYear(), tourTime.getDayOfMonth(), tourTime.getHourOfDay(), tourTime.getMinuteOfHour(), tourTime.getSecondOfMinute())); } else { // display the tour date/time _comboFile.setText(UI.format_yyyymmdd_hhmmss(minTourData)); } }
From source file:net.tourbook.tour.DialogExtractTour.java
License:Open Source License
/** * Create a new tour with the extracted time slices *//*from ww w . j ava 2 s . co m*/ private boolean extractTour() { /* * get data series */ final int[] tourAltitudeSerie = _tourDataSource.altitudeSerie; final int[] tourCadenceSerie = _tourDataSource.cadenceSerie; final int[] tourDistanceSerie = _tourDataSource.distanceSerie; final double[] tourLatitudeSerie = _tourDataSource.latitudeSerie; final double[] tourLongitudeSerie = _tourDataSource.longitudeSerie; final int[] tourPulseSerie = _tourDataSource.pulseSerie; final int[] tourTemperatureSerie = _tourDataSource.temperatureSerie; final int[] tourTimeSerie = _tourDataSource.timeSerie; final boolean isTourAltitude = (tourAltitudeSerie != null) && (tourAltitudeSerie.length > 0); final boolean isTourCadence = (tourCadenceSerie != null) && (tourCadenceSerie.length > 0); final boolean isTourDistance = (tourDistanceSerie != null) && (tourDistanceSerie.length > 0); final boolean isTourLat = (tourLatitudeSerie != null) && (tourLatitudeSerie.length > 0); final boolean isTourLon = (tourLongitudeSerie != null) && (tourLongitudeSerie.length > 0); final boolean isTourPulse = (tourPulseSerie != null) && (tourPulseSerie.length > 0); final boolean isTourTemperature = (tourTemperatureSerie != null) && (tourTemperatureSerie.length > 0); final boolean isTourTime = (tourTimeSerie != null) && (tourTimeSerie.length > 0); /* * get speed/power data when data are created by the device */ int[] tourPowerSerie = null; int[] tourSpeedSerie = null; final boolean isTourPower = _tourDataSource.isPowerSerieFromDevice(); final boolean isTourSpeed = _tourDataSource.isSpeedSerieFromDevice(); if (isTourPower) { tourPowerSerie = _tourDataSource.getPowerSerie(); } if (isTourSpeed) { tourSpeedSerie = _tourDataSource.getSpeedSerie(); } int dataSerieLength = -1; if (isTourAltitude) { dataSerieLength = tourAltitudeSerie.length; } else if (isTourCadence) { dataSerieLength = tourCadenceSerie.length; } else if (isTourDistance) { dataSerieLength = tourDistanceSerie.length; } else if (isTourLat) { dataSerieLength = tourLatitudeSerie.length; } else if (isTourLon) { dataSerieLength = tourLongitudeSerie.length; } else if (isTourPower) { dataSerieLength = tourPowerSerie.length; } else if (isTourPulse) { dataSerieLength = tourPulseSerie.length; } else if (isTourSpeed) { dataSerieLength = tourSpeedSerie.length; } else if (isTourTemperature) { dataSerieLength = tourTemperatureSerie.length; } else if (isTourTime) { dataSerieLength = tourTimeSerie.length; } if (dataSerieLength == -1) { StatusUtil.showStatus(Messages.NT001_DialogExtractTour_InvalidTourData); return false; } if (_isSplitTour) { // _extractEndIndex contains -1, set end index to the last time slice _extractEndIndex = dataSerieLength - 1; } final int extractSerieLength = _extractEndIndex - _extractStartIndex + 1; final int[] extractAltitudeSerie = new int[extractSerieLength]; final int[] extractCadenceSerie = new int[extractSerieLength]; final int[] extractDistanceSerie = new int[extractSerieLength]; final double[] extractLatitudeSerie = new double[extractSerieLength]; final double[] extractLongitudeSerie = new double[extractSerieLength]; final int[] extractPowerSerie = new int[extractSerieLength]; final int[] extractPulseSerie = new int[extractSerieLength]; final int[] extractSpeedSerie = new int[extractSerieLength]; final int[] extractTemperatureSerie = new int[extractSerieLength]; final int[] extractTimeSerie = new int[extractSerieLength]; final HashSet<TourMarker> extractedTourMarker = new HashSet<TourMarker>(); final ArrayList<TourWayPoint> extractedWayPoints = new ArrayList<TourWayPoint>(); /* * get start date/time */ DateTime extractedTourStart = null; final boolean isOriginalTime = _chkKeepOriginalDateTime.getSelection(); if (isOriginalTime) { extractedTourStart = _extractedTourStartTime; } else { extractedTourStart = new DateTime(_dtTourDate.getYear(), _dtTourDate.getMonth() + 1, _dtTourDate.getDay(), _dtTourTime.getHours(), _dtTourTime.getMinutes(), _dtTourTime.getSeconds(), 0); } int relTourStartTime = 0; int extractedRecordingTime = 0; if (isTourTime) { relTourStartTime = tourTimeSerie[_extractStartIndex]; extractedRecordingTime = tourTimeSerie[_extractEndIndex] - relTourStartTime; } // get distance int extractedDistance = 0; int relTourStartDistance = 0; if (isTourDistance) { relTourStartDistance = tourDistanceSerie[_extractStartIndex]; extractedDistance = tourDistanceSerie[_extractEndIndex] - relTourStartDistance; } /* * copy existing data series */ int extractedSerieIndex = 0; for (int sourceSerieIndex = _extractStartIndex; sourceSerieIndex <= _extractEndIndex; sourceSerieIndex++) { if (isTourTime) { extractTimeSerie[extractedSerieIndex] = tourTimeSerie[sourceSerieIndex] - relTourStartTime; } if (isTourAltitude) { extractAltitudeSerie[extractedSerieIndex] = tourAltitudeSerie[sourceSerieIndex]; } if (isTourCadence) { extractCadenceSerie[extractedSerieIndex] = tourCadenceSerie[sourceSerieIndex]; } if (isTourDistance) { extractDistanceSerie[extractedSerieIndex] = tourDistanceSerie[sourceSerieIndex] - relTourStartDistance; } if (isTourPulse) { extractPulseSerie[extractedSerieIndex] = tourPulseSerie[sourceSerieIndex]; } if (isTourLat) { extractLatitudeSerie[extractedSerieIndex] = tourLatitudeSerie[sourceSerieIndex]; } if (isTourLon) { extractLongitudeSerie[extractedSerieIndex] = tourLongitudeSerie[sourceSerieIndex]; } if (isTourTemperature) { extractTemperatureSerie[extractedSerieIndex] = tourTemperatureSerie[sourceSerieIndex]; } if (isTourPower) { extractPowerSerie[extractedSerieIndex] = tourPowerSerie[sourceSerieIndex]; } if (isTourSpeed) { extractSpeedSerie[extractedSerieIndex] = tourSpeedSerie[sourceSerieIndex]; } extractedSerieIndex++; } /* * get tour markers, way points */ final Set<TourMarker> tourMarkers = _tourDataSource.getTourMarkers(); if (_chkIncludeMarkerWaypoints.getSelection()) { for (final TourMarker tourMarker : tourMarkers) { final int markerSerieIndex = tourMarker.getSerieIndex(); // skip marker which are not within the extracted time slices if (markerSerieIndex < _extractStartIndex || markerSerieIndex > _extractEndIndex) { continue; } final int extractedMarkerIndex = markerSerieIndex - _extractStartIndex; final TourMarker extractedMarker = tourMarker.clone(_tourDataTarget); // adjust marker position, position is relativ to the tour start extractedMarker.setSerieIndex(extractedMarkerIndex); if (isTourTime) { tourMarker.setTime(extractTimeSerie[extractedMarkerIndex]); } if (isTourDistance) { tourMarker.setDistance(extractDistanceSerie[extractedMarkerIndex]); } extractedTourMarker.add(extractedMarker); } /* * copy all way points, they can be independant of the tour */ for (final TourWayPoint wayPoint : _tourDataSource.getTourWayPoints()) { extractedWayPoints.add((TourWayPoint) wayPoint.clone()); } } // get description String extractedDescription = UI.EMPTY_STRING; if (_chkIncludeDescription.getSelection()) { extractedDescription = _tourDataSource.getTourDescription(); } /* * get calories */ int extractedCalories = 0; if (_extractStartIndex == 0 && _extractEndIndex == (dataSerieLength - 1)) { // tour is copied, the calories can also be copied extractedCalories = _tourDataSource.getCalories(); } else { // TODO calories should be set when they are computed } /* * set target tour data */ _tourDataTarget.setStartYear((short) extractedTourStart.getYear()); _tourDataTarget.setStartMonth((short) extractedTourStart.getMonthOfYear()); _tourDataTarget.setStartDay((short) extractedTourStart.getDayOfMonth()); _tourDataTarget.setStartHour((short) extractedTourStart.getHourOfDay()); _tourDataTarget.setStartMinute((short) extractedTourStart.getMinuteOfHour()); _tourDataTarget.setStartSecond((short) extractedTourStart.getSecondOfMinute()); _tourDataTarget.setWeek(extractedTourStart); // tour id must be created after the tour date/time is set _tourDataTarget.createTourId(); _tourDataTarget.setTourTitle(_txtTourTitle.getText()); _tourDataTarget.setTourDescription(extractedDescription.toString()); _tourDataTarget.setTourMarkers(extractedTourMarker); _tourDataTarget.setWayPoints(extractedWayPoints); _tourDataTarget.setDeviceName(_isSplitTour ? Messages.Dialog_SplitTour_Label_DeviceName : Messages.Dialog_ExtractTour_Label_DeviceName); _tourDataTarget.setIsDistanceFromSensor(_tourDataSource.isDistanceSensorPresent()); _tourDataTarget.setDeviceTimeInterval(_tourDataSource.getDeviceTimeInterval()); _tourDataTarget.setTourRecordingTime(extractedRecordingTime); _tourDataTarget.setTourDistance(extractedDistance); _tourDataTarget.setWeather(_tourDataSource.getWeather()); _tourDataTarget.setWeatherClouds(_tourDataSource.getWeatherClouds()); _tourDataTarget.setWeatherWindDir(_tourDataSource.getWeatherWindDir()); _tourDataTarget.setWeatherWindSpeed(_tourDataSource.getWeatherWindSpeed()); _tourDataTarget.setRestPulse(_tourDataSource.getRestPulse()); _tourDataTarget.setCalories(extractedCalories); _tourDataTarget.setDpTolerance(_tourDataSource.getDpTolerance()); if (isTourAltitude) { _tourDataTarget.altitudeSerie = extractAltitudeSerie; } if (isTourDistance) { _tourDataTarget.distanceSerie = extractDistanceSerie; } if (isTourCadence) { _tourDataTarget.cadenceSerie = extractCadenceSerie; } if (isTourLat) { _tourDataTarget.latitudeSerie = extractLatitudeSerie; } if (isTourLon) { _tourDataTarget.longitudeSerie = extractLongitudeSerie; } if (isTourPower) { _tourDataTarget.setPowerSerie(extractPowerSerie); } if (isTourPulse) { _tourDataTarget.pulseSerie = extractPulseSerie; } if (isTourSpeed) { _tourDataTarget.setSpeedSerie(extractSpeedSerie); } if (isTourTemperature) { _tourDataTarget.temperatureSerie = extractTemperatureSerie; } if (isTourTime) { _tourDataTarget.timeSerie = extractTimeSerie; } _tourDataTarget.setTemperatureScale(_tourDataSource.getTemperatureScale()); _tourDataTarget.computeAltitudeUpDown(); _tourDataTarget.computeTourDrivingTime(); _tourDataTarget.computeComputedValues(); // set person which is required to save a tour _tourDataTarget.setTourPerson(getSelectedPerson()); /* * check size of the fields */ if (_tourDataTarget.isValidForSave() == false) { return false; } TourManager.saveModifiedTour(_tourDataTarget); // check if time slices should be removed if (getStateSplitMethod().equals(STATE_EXTRACT_METHOD_REMOVE)) { TourManager.removeTimeSlices(_tourDataSource, _extractStartIndex, _extractEndIndex, true); _tourDataEditor.updateUI(_tourDataSource, true); TourManager.fireEvent(TourEventId.TOUR_CHANGED, new TourEvent(_tourDataSource)); } return true; }
From source file:net.tourbook.tour.DialogJoinTours.java
License:Open Source License
/** * Join the tours and create a new tour//www .j a v a 2s .c o m */ private boolean joinTours() { final boolean isOriginalTime = getStateJoinMethod().equals(STATE_JOIN_METHOD_ORIGINAL); /** * number of slices, time series are already checked in ActionJoinTours */ int joinedSliceCounter = 0; for (final TourData tourData : _selectedTours) { final int[] tourTimeSerie = tourData.timeSerie; final int[] tourDistanceSerie = tourData.distanceSerie; final double[] tourLatitudeSerie = tourData.latitudeSerie; final boolean isTourTime = (tourTimeSerie != null) && (tourTimeSerie.length > 0); final boolean isTourDistance = (tourDistanceSerie != null) && (tourDistanceSerie.length > 0); final boolean isTourLat = (tourLatitudeSerie != null) && (tourLatitudeSerie.length > 0); if (isTourTime) { joinedSliceCounter += tourTimeSerie.length; } else if (isTourDistance) { joinedSliceCounter += tourDistanceSerie.length; } else if (isTourLat) { joinedSliceCounter += tourLatitudeSerie.length; } } boolean isJoinAltitude = false; boolean isJoinDistance = false; boolean isJoinCadence = false; boolean isJoinLat = false; boolean isJoinLon = false; boolean isJoinPower = false; boolean isJoinPulse = false; boolean isJoinSpeed = false; // boolean isJoinTemperature = false; boolean isJoinTime = false; final int[] joinedAltitudeSerie = new int[joinedSliceCounter]; final int[] joinedCadenceSerie = new int[joinedSliceCounter]; final int[] joinedDistanceSerie = new int[joinedSliceCounter]; final double[] joinedLatitudeSerie = new double[joinedSliceCounter]; final double[] joinedLongitudeSerie = new double[joinedSliceCounter]; final int[] joinedPowerSerie = new int[joinedSliceCounter]; final int[] joinedPulseSerie = new int[joinedSliceCounter]; final int[] joinedSpeedSerie = new int[joinedSliceCounter]; final int[] joinedTemperatureSerie = new int[joinedSliceCounter]; final int[] joinedTimeSerie = new int[joinedSliceCounter]; final StringBuilder joinedDescription = new StringBuilder(); final HashSet<TourMarker> joinedTourMarker = new HashSet<TourMarker>(); final ArrayList<TourWayPoint> joinedWayPoints = new ArrayList<TourWayPoint>(); int joinedSerieIndex = 0; int joinedTourStartIndex = 0; int joinedTourStartDistance = 0; int joinedRecordingTime = 0; int joinedDrivingTime = 0; int joinedDistance = 0; int joinedCalories = 0; boolean isJoinedDistanceFromSensor = false; short joinedDeviceTimeInterval = -1; String joinedWeatherClouds = UI.EMPTY_STRING; String joinedWeather = UI.EMPTY_STRING; int joinedWeatherWindDir = 0; int joinedWeatherWindSpeed = 0; int joinedRestPulse = 0; int joinedTemperatureScale = 1; int relTourTime = 0; long relTourTimeOffset = 0; long absFirstTourStartTimeSec = 0; long absJoinedTourStartTimeSec = 0; DateTime joinedTourStart = null; boolean isFirstTour = true; /* * copy tour data series into joined data series */ for (final TourData tourTourData : _selectedTours) { final int[] tourAltitudeSerie = tourTourData.altitudeSerie; final int[] tourCadenceSerie = tourTourData.cadenceSerie; final int[] tourDistanceSerie = tourTourData.distanceSerie; final double[] tourLatitudeSerie = tourTourData.latitudeSerie; final double[] tourLongitudeSerie = tourTourData.longitudeSerie; final int[] tourPulseSerie = tourTourData.pulseSerie; final int[] tourTemperatureSerie = tourTourData.temperatureSerie; final int[] tourTimeSerie = tourTourData.timeSerie; final boolean isTourAltitude = (tourAltitudeSerie != null) && (tourAltitudeSerie.length > 0); final boolean isTourCadence = (tourCadenceSerie != null) && (tourCadenceSerie.length > 0); final boolean isTourDistance = (tourDistanceSerie != null) && (tourDistanceSerie.length > 0); final boolean isTourLat = (tourLatitudeSerie != null) && (tourLatitudeSerie.length > 0); final boolean isTourLon = (tourLongitudeSerie != null) && (tourLongitudeSerie.length > 0); final boolean isTourPulse = (tourPulseSerie != null) && (tourPulseSerie.length > 0); final boolean isTourTemperature = (tourTemperatureSerie != null) && (tourTemperatureSerie.length > 0); final boolean isTourTime = (tourTimeSerie != null) && (tourTimeSerie.length > 0); /* * get speed/power data when it's from the device */ int[] tourPowerSerie = null; int[] tourSpeedSerie = null; final boolean isTourPower = tourTourData.isPowerSerieFromDevice(); final boolean isTourSpeed = tourTourData.isSpeedSerieFromDevice(); if (isTourPower) { tourPowerSerie = tourTourData.getPowerSerie(); } if (isTourSpeed) { tourSpeedSerie = tourTourData.getSpeedSerie(); } /* * set tour time */ final DateTime tourStartTime = new DateTime(tourTourData.getStartYear(), tourTourData.getStartMonth(), tourTourData.getStartDay(), tourTourData.getStartHour(), tourTourData.getStartMinute(), tourTourData.getStartSecond(), 0); if (isFirstTour) { // get start date/time if (isOriginalTime) { joinedTourStart = tourStartTime; } else { joinedTourStart = new DateTime(_dtTourDate.getYear(), _dtTourDate.getMonth() + 1, _dtTourDate.getDay(), _dtTourTime.getHours(), _dtTourTime.getMinutes(), _dtTourTime.getSeconds(), 0); } // tour start in absolute seconds absJoinedTourStartTimeSec = joinedTourStart.getMillis() / 1000; absFirstTourStartTimeSec = absJoinedTourStartTimeSec; } else { // get relative time offset if (isOriginalTime) { final DateTime tourStart = tourStartTime; final long absTourStartTimeSec = tourStart.getMillis() / 1000; // keep original time relTourTimeOffset = absTourStartTimeSec - absFirstTourStartTimeSec; } else { /* * remove time gaps between tours, add relative time from the last tour and add * 1 second for the start of the next tour */ relTourTimeOffset += relTourTime + 1; } } /* * get number of slices */ int tourSliceCounter = 0; if (isTourTime) { tourSliceCounter = tourTimeSerie.length; } else if (isTourDistance) { tourSliceCounter = tourDistanceSerie.length; } else if (isTourLat) { tourSliceCounter = tourLatitudeSerie.length; } int relTourDistance = 0; /* * copy data series */ for (int tourSerieIndex = 0; tourSerieIndex < tourSliceCounter; tourSerieIndex++) { if (isTourTime) { relTourTime = tourTimeSerie[tourSerieIndex]; joinedTimeSerie[joinedSerieIndex] = (int) (relTourTimeOffset + relTourTime); isJoinTime = true; } if (isTourAltitude) { joinedAltitudeSerie[joinedSerieIndex] = tourAltitudeSerie[tourSerieIndex]; isJoinAltitude = true; } if (isTourCadence) { joinedCadenceSerie[joinedSerieIndex] = tourCadenceSerie[tourSerieIndex]; isJoinCadence = true; } if (isTourDistance) { relTourDistance = tourDistanceSerie[tourSerieIndex]; joinedDistanceSerie[joinedSerieIndex] = joinedTourStartDistance + relTourDistance; isJoinDistance = true; } if (isTourPulse) { joinedPulseSerie[joinedSerieIndex] = tourPulseSerie[tourSerieIndex]; isJoinPulse = true; } if (isTourLat) { joinedLatitudeSerie[joinedSerieIndex] = tourLatitudeSerie[tourSerieIndex]; isJoinLat = true; } if (isTourLon) { joinedLongitudeSerie[joinedSerieIndex] = tourLongitudeSerie[tourSerieIndex]; isJoinLon = true; } if (isTourTemperature) { joinedTemperatureSerie[joinedSerieIndex] = tourTemperatureSerie[tourSerieIndex]; } else { // set temperature to temporarily value joinedTemperatureSerie[joinedSerieIndex] = Integer.MIN_VALUE; } if (isTourPower) { joinedPowerSerie[joinedSerieIndex] = tourPowerSerie[tourSerieIndex]; isJoinPower = true; } if (isTourSpeed) { joinedSpeedSerie[joinedSerieIndex] = tourSpeedSerie[tourSerieIndex]; isJoinSpeed = true; } joinedSerieIndex++; } final Set<TourMarker> tourMarkers = tourTourData.getTourMarkers(); if (_chkIncludeMarkerWaypoints.getSelection()) { /* * copy tour markers */ for (final TourMarker tourMarker : tourMarkers) { final TourMarker clonedMarker = tourMarker.clone(_joinedTourData); int joinMarkerIndex = joinedTourStartIndex + clonedMarker.getSerieIndex(); if (joinMarkerIndex >= joinedSliceCounter) { joinMarkerIndex = joinedSliceCounter - 1; } // adjust marker position, position is relativ to the tour start clonedMarker.setSerieIndex(joinMarkerIndex); if (isJoinTime) { clonedMarker.setTime(joinedTimeSerie[joinMarkerIndex]); } if (isJoinDistance) { clonedMarker.setDistance(joinedDistanceSerie[joinMarkerIndex]); } joinedTourMarker.add(clonedMarker); } /* * copy way points */ for (final TourWayPoint wayPoint : tourTourData.getTourWayPoints()) { joinedWayPoints.add((TourWayPoint) wayPoint.clone()); } } if (_chkCreateTourMarker.getSelection()) { /* * create a tour marker */ // first find a free marker position in the tour int tourMarkerIndex = -1; for (int tourSerieIndex = 0; tourSerieIndex < tourSliceCounter; tourSerieIndex++) { boolean isIndexAvailable = true; // check if a marker occupies the current index for (final TourMarker tourMarker : tourMarkers) { if (tourMarker.getSerieIndex() == tourSerieIndex) { isIndexAvailable = false; break; } } if (isIndexAvailable) { // free index was found tourMarkerIndex = tourSerieIndex; break; } } if (tourMarkerIndex != -1) { // create tour marker label final String stateTourMarker = getStateTourMarker(); final long tourStartTimeMS = tourStartTime.getMillis(); String markerLabel = UI.EMPTY_STRING; if (stateTourMarker.equals(STATE_MARKER_TYPE_SMALL)) { markerLabel = _dtFormatterShort.print(tourStartTimeMS); } else if (stateTourMarker.equals(STATE_MARKER_TYPE_MEDIUM)) { markerLabel = _dtFormatterMedium.print(tourStartTimeMS); } else if (stateTourMarker.equals(STATE_MARKER_TYPE_LARGE)) { markerLabel = _dtFormatterFull.print(tourStartTimeMS); } final int joinMarkerIndex = joinedTourStartIndex + tourMarkerIndex; final TourMarker tourMarker = new TourMarker(_joinedTourData, ChartLabel.MARKER_TYPE_CUSTOM); tourMarker.setSerieIndex(joinMarkerIndex); tourMarker.setLabel(markerLabel); tourMarker.setVisualPosition(ChartLabel.VISUAL_VERTICAL_ABOVE_GRAPH); if (isJoinTime) { tourMarker.setTime(joinedTimeSerie[joinMarkerIndex]); } if (isJoinDistance) { tourMarker.setDistance(joinedDistanceSerie[joinMarkerIndex]); } joinedTourMarker.add(tourMarker); } } /* * create description */ if (_chkIncludeDescription.getSelection()) { final String tourDescription = tourTourData.getTourDescription(); if (joinedDescription.length() > 0) { // set space between two tours joinedDescription.append(UI.NEW_LINE2); } joinedDescription.append(Messages.Dialog_JoinTours_Label_Tour); joinedDescription.append(TourManager.getTourTitleDetailed(tourTourData)); if (tourDescription.length() > 0) { joinedDescription.append(UI.NEW_LINE); joinedDescription.append(tourDescription); } } /* * other tour values */ if (isFirstTour) { isJoinedDistanceFromSensor = tourTourData.isDistanceSensorPresent(); joinedDeviceTimeInterval = tourTourData.getDeviceTimeInterval(); joinedWeather = tourTourData.getWeather(); joinedWeatherClouds = tourTourData.getWeatherClouds(); joinedWeatherWindDir = tourTourData.getWeatherWindDir(); joinedWeatherWindSpeed = tourTourData.getWeatherWindSpeed(); joinedRestPulse = tourTourData.getRestPulse(); joinedTemperatureScale = tourTourData.getTemperatureScale(); } else { if (isJoinedDistanceFromSensor && tourTourData.isDistanceSensorPresent()) { // keep TRUE state } else { isJoinedDistanceFromSensor = false; } if (joinedDeviceTimeInterval == tourTourData.getDeviceTimeInterval()) { // keep value } else { joinedDeviceTimeInterval = -1; } } /* * summarize other fields */ tourTourData.computeTourDrivingTime(); joinedRecordingTime += tourTourData.getTourRecordingTime(); joinedDrivingTime += tourTourData.getTourDrivingTime(); joinedDistance += tourTourData.getTourDistance(); joinedCalories += tourTourData.getCalories(); /* * init next tour */ isFirstTour = false; joinedTourStartIndex = joinedSerieIndex; joinedTourStartDistance += relTourDistance; } /* * setup tour data */ _joinedTourData.setStartHour((short) joinedTourStart.getHourOfDay()); _joinedTourData.setStartMinute((short) joinedTourStart.getMinuteOfHour()); _joinedTourData.setStartSecond((short) joinedTourStart.getSecondOfMinute()); _joinedTourData.setStartYear((short) joinedTourStart.getYear()); _joinedTourData.setStartMonth((short) joinedTourStart.getMonthOfYear()); _joinedTourData.setStartDay((short) joinedTourStart.getDayOfMonth()); _joinedTourData.setWeek(joinedTourStart); // tour id must be created after the tour date/time is set _joinedTourData.createTourId(); _joinedTourData.setTourTitle(_txtTourTitle.getText()); _joinedTourData.setTourDescription(joinedDescription.toString()); _joinedTourData.setTourMarkers(joinedTourMarker); _joinedTourData.setWayPoints(joinedWayPoints); _joinedTourData.setDeviceName(Messages.Dialog_JoinTours_Label_DeviceName); _joinedTourData.setIsDistanceFromSensor(isJoinedDistanceFromSensor); _joinedTourData.setDeviceTimeInterval(joinedDeviceTimeInterval); _joinedTourData.setCalories(joinedCalories); _joinedTourData.setRestPulse(joinedRestPulse); _joinedTourData.setWeather(joinedWeather); _joinedTourData.setWeatherClouds(joinedWeatherClouds); _joinedTourData.setWeatherWindDir(joinedWeatherWindDir); _joinedTourData.setWeatherWindSpeed(joinedWeatherWindSpeed); _joinedTourData.setTourRecordingTime(joinedRecordingTime); _joinedTourData.setTourDrivingTime(joinedDrivingTime); _joinedTourData.setTourDistance(joinedDistance); // !! tour type and tour tags are already set !! if (isJoinAltitude) { _joinedTourData.altitudeSerie = joinedAltitudeSerie; } if (isJoinDistance) { _joinedTourData.distanceSerie = joinedDistanceSerie; } if (isJoinCadence) { _joinedTourData.cadenceSerie = joinedCadenceSerie; } if (isJoinLat) { _joinedTourData.latitudeSerie = joinedLatitudeSerie; } if (isJoinLon) { _joinedTourData.longitudeSerie = joinedLongitudeSerie; } if (isJoinPower) { _joinedTourData.setPowerSerie(joinedPowerSerie); } if (isJoinPulse) { _joinedTourData.pulseSerie = joinedPulseSerie; } if (isJoinSpeed) { _joinedTourData.setSpeedSerie(joinedSpeedSerie); } _joinedTourData.temperatureSerie = joinedTemperatureSerie; _joinedTourData.setTemperatureScale(joinedTemperatureScale); if (isJoinTime) { _joinedTourData.timeSerie = joinedTimeSerie; } _joinedTourData.computeAltitudeUpDown(); _joinedTourData.computeComputedValues(); // set person which is required to save a tour _joinedTourData.setTourPerson(getSelectedPerson()); /* * check size of the fields */ if (_joinedTourData.isValidForSave() == false) { return false; } /* * TourData.computeComputedValues() creates speed data serie which must be removed that * cleanupDataSeries() works correctly */ _joinedTourData.setSpeedSerie(null); _joinedTourData.cleanupDataSeries(); _joinedTourData = TourManager.saveModifiedTour(_joinedTourData); return true; }
From source file:nl.mpi.oai.harvester.cycle.EndpointAdapter.java
License:Open Source License
@Override public void doneHarvesting(Boolean done) { /* Store the current date in a XMLGregorianCalendar object. Note: at the XML level, the date will be represented in ISO8601 format. *//*from w ww . j a v a 2 s . c o m*/ XMLGregorianCalendar xmlGregorianCalendar; try { // get current time in the UTC zone DateTime dateTime = new DateTime(DateTimeZone.UTC); // create XML calendar xmlGregorianCalendar = DatatypeFactory.newInstance().newXMLGregorianCalendar(); // set the date related fields xmlGregorianCalendar.setDay(dateTime.getDayOfMonth()); xmlGregorianCalendar.setMonth(dateTime.getMonthOfYear()); xmlGregorianCalendar.setYear(dateTime.getYear()); // set the calendar to UTC, this zone sets off 0 minutes from UTC xmlGregorianCalendar.setTimezone(0); // set the time related fields xmlGregorianCalendar.setHour(dateTime.getHourOfDay()); xmlGregorianCalendar.setMinute(dateTime.getMinuteOfHour()); xmlGregorianCalendar.setSecond(dateTime.getSecondOfMinute()); // represent milliseconds as a fraction of a second BigDecimal s = BigDecimal.valueOf(dateTime.getMillisOfSecond()); s = s.divide(BigDecimal.valueOf(1000)); xmlGregorianCalendar.setFractionalSecond(s); // set the property representing the date of the attempt endpointType.setAttempted(xmlGregorianCalendar); if (done) { // successful attempt, also set attribute representing this endpointType.setHarvested(xmlGregorianCalendar); } xmlOverview.save(); } catch (DatatypeConfigurationException e) { // report the error, we cannot continue Logger.getLogger(EndpointAdapter.class.getName()).log(Level.SEVERE, null, endpointType); } }
From source file:op.care.dfn.PnlDFN.java
License:Open Source License
private java.util.List<Component> addCommands() { java.util.List<Component> list = new ArrayList<Component>(); /***/* ww w.jav a 2 s . c o m*/ * _ _ _ _ _ * | |__ | |_ _ __ / \ __| | __| | * | '_ \| __| '_ \ / _ \ / _` |/ _` | * | |_) | |_| | | |/ ___ \ (_| | (_| | * |_.__/ \__|_| |_/_/ \_\__,_|\__,_| * */ if (OPDE.getAppInfo().isAllowedTo(InternalClassACL.UPDATE, internalClassID)) { final JideButton btnAdd = GUITools.createHyperlinkButton(SYSTools.xx("nursingrecords.dfn.btnadd"), SYSConst.icon22add, null); btnAdd.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent actionEvent) { if (!resident.isActive()) { OPDE.getDisplayManager() .addSubMessage(new DisplayMessage("misc.msg.cantChangeInactiveResident")); return; } final JidePopup popup = new JidePopup(); popup.setMovable(false); PnlSelectIntervention pnl = new PnlSelectIntervention(new Closure() { @Override public void execute(Object o) { popup.hidePopup(); if (o != null) { Object[] objects = (Object[]) o; EntityManager em = OPDE.createEM(); try { em.getTransaction().begin(); em.lock(em.merge(resident), LockModeType.OPTIMISTIC); for (Object obj : objects) { Intervention intervention = em.merge((Intervention) obj); DFN dfn = em.merge(new DFN(resident, intervention)); // Set Target and Actual according to the setting of JDCDate DateTime now = new DateTime(); DateMidnight onDemandPIT = new DateMidnight(jdcDate.getDate()); DateTime newDateTime = onDemandPIT.toDateTime() .plusHours(now.getHourOfDay()).plusMinutes(now.getMinuteOfHour()) .plusSeconds(now.getSecondOfMinute()); dfn.setSoll(newDateTime.toDate()); dfn.setIst(newDateTime.toDate()); CollapsiblePane cp1 = createCP4(dfn); synchronized (mapDFN2Pane) { mapDFN2Pane.put(dfn, cp1); } synchronized (mapShift2DFN) { mapShift2DFN.get(dfn.getShift()).add(dfn); } } em.getTransaction().commit(); CollapsiblePane cp2 = createCP4(DFNTools.SHIFT_ON_DEMAND); synchronized (mapShift2Pane) { mapShift2Pane.put(DFNTools.SHIFT_ON_DEMAND, cp2); } buildPanel(false); try { synchronized (mapShift2Pane) { mapShift2Pane.get(DFNTools.SHIFT_ON_DEMAND).setCollapsed(false); } } catch (PropertyVetoException e) { OPDE.debug(e); } } catch (OptimisticLockException ole) { OPDE.warn(ole); if (em.getTransaction().isActive()) { em.getTransaction().rollback(); } if (ole.getMessage().indexOf("Class> entity.info.Resident") > -1) { OPDE.getMainframe().emptyFrame(); OPDE.getMainframe().afterLogin(); } OPDE.getDisplayManager().addSubMessage(DisplayManager.getLockMessage()); } catch (Exception e) { if (em.getTransaction().isActive()) { em.getTransaction().rollback(); } OPDE.fatal(e); } finally { em.close(); } } } }); popup.getContentPane().setLayout(new BoxLayout(popup.getContentPane(), BoxLayout.LINE_AXIS)); popup.getContentPane().add(pnl); popup.setOwner(btnAdd); popup.removeExcludedComponent(pnl); popup.setDefaultFocusComponent(pnl); GUITools.showPopup(popup, SwingConstants.NORTH); } }); list.add(btnAdd); } final JideButton printPrescription = GUITools.createHyperlinkButton("nursingrecords.dfn.print", SYSConst.icon22print2, new ActionListener() { @Override public void actionPerformed(ActionEvent actionEvent) { String html = ""; synchronized (mapShift2DFN) { html += "<h1 id=\"fonth1\" >" + ResidentTools.getFullName(resident) + "</h1>"; html += SYSConst.html_h2(SYSTools.xx("nursingrecords.bhp") + ": " + SYSConst.html_bold(DateFormat.getDateInstance().format(jdcDate.getDate()))); for (Byte shift : new Byte[] { DFNTools.SHIFT_ON_DEMAND, DFNTools.SHIFT_VERY_EARLY, DFNTools.SHIFT_EARLY, DFNTools.SHIFT_LATE, DFNTools.SHIFT_VERY_LATE }) { html += DFNTools.getDFNsAsHTMLtable(mapShift2DFN.get(shift)); } } SYSFilesTools.print(html, true); } }); list.add(printPrescription); return list; }
From source file:op.tools.SYSCalendar.java
License:Open Source License
/** * determines to which timeofday code a given date object belongs. The settings in SYSProps are taken into account. * or in short: it answers a question like "is 0800h early, noon or early in the morning ?" * * @param date/*from w w w. ja va 2 s .c om*/ * @return timecode */ public static byte whatTimeIDIs(Date date) { byte timeid; DateTimeFormatter parser = DateTimeFormat.forPattern("HH:mm"); DateTime early_in_the_morning = parser .parseDateTime(OPDE.getProps().getProperty(DFNTools.STRING_EARLY_IN_THE_MORNING)); DateTime morning = parser.parseDateTime(OPDE.getProps().getProperty(DFNTools.STRING_MORNING)); DateTime noon = parser.parseDateTime(OPDE.getProps().getProperty(DFNTools.STRING_NOON)); DateTime afternoon = parser.parseDateTime(OPDE.getProps().getProperty(DFNTools.STRING_AFTERNOON)); DateTime evening = parser.parseDateTime(OPDE.getProps().getProperty(DFNTools.STRING_EVENING)); DateTime late_at_night = parser.parseDateTime(OPDE.getProps().getProperty(DFNTools.STRING_LATE_AT_NIGHT)); Period period_early_in_the_morning = new Period(early_in_the_morning.getHourOfDay(), early_in_the_morning.getMinuteOfHour(), early_in_the_morning.getSecondOfMinute(), early_in_the_morning.getMillisOfSecond()); Period period_morning = new Period(morning.getHourOfDay(), morning.getMinuteOfHour(), morning.getSecondOfMinute(), morning.getMillisOfSecond()); Period period_noon = new Period(noon.getHourOfDay(), noon.getMinuteOfHour(), noon.getSecondOfMinute(), noon.getMillisOfSecond()); Period period_afternoon = new Period(afternoon.getHourOfDay(), afternoon.getMinuteOfHour(), afternoon.getSecondOfMinute(), afternoon.getMillisOfSecond()); Period period_evening = new Period(evening.getHourOfDay(), evening.getMinuteOfHour(), evening.getSecondOfMinute(), evening.getMillisOfSecond()); Period period_late_at_night = new Period(late_at_night.getHourOfDay(), late_at_night.getMinuteOfHour(), late_at_night.getSecondOfMinute(), late_at_night.getMillisOfSecond()); DateTime ref = new DateTime(date); DateTime eitm = new DateMidnight(date).toDateTime().plus(period_early_in_the_morning); DateTime m = new DateMidnight(date).toDateTime().plus(period_morning); DateTime n = new DateMidnight(date).toDateTime().plus(period_noon); DateTime a = new DateMidnight(date).toDateTime().plus(period_afternoon); DateTime e = new DateMidnight(date).toDateTime().plus(period_evening); DateTime lan = new DateMidnight(date).toDateTime().plus(period_late_at_night); if (eitm.compareTo(ref) <= 0 && ref.compareTo(m) < 0) { timeid = DFNTools.BYTE_EARLY_IN_THE_MORNING; } else if (m.compareTo(ref) <= 0 && ref.compareTo(n) < 0) { timeid = DFNTools.BYTE_MORNING; } else if (n.compareTo(ref) <= 0 && ref.compareTo(a) < 0) { timeid = DFNTools.BYTE_NOON; } else if (a.compareTo(ref) <= 0 && ref.compareTo(e) < 0) { timeid = DFNTools.BYTE_AFTERNOON; } else if (e.compareTo(ref) <= 0 && ref.compareTo(lan) < 0) { timeid = DFNTools.BYTE_EVENING; } else { timeid = DFNTools.BYTE_LATE_AT_NIGHT; } return timeid; }
From source file:org.adl.datamodels.datatypes.DateTimeValidatorImpl.java
/** * Compares two valid data model elements for equality. * /* w w w . j a v a2 s . c o m*/ * @param iFirst The first value being compared. * * @param iSecond The second value being compared. * * @param iDelimiters The common set of delimiters associated with the * values being compared. * * @return Returns <code>true</code> if the two values are equal, otherwise * <code>false</code>. */ @Override public boolean compare(String iFirst, String iSecond, List<DMDelimiter> iDelimiters) { boolean equal = true; DateTimeFormatter dtp = ISODateTimeFormat.dateTimeParser(); try { // Parse the first string and remove the sub-seconds DateTime dt1 = dtp.parseDateTime(iFirst); dt1 = new DateTime(dt1.getYear(), dt1.getMonthOfYear(), dt1.getDayOfMonth(), dt1.getHourOfDay(), dt1.getMinuteOfHour(), dt1.getSecondOfMinute(), 0); // Parse the second string and remove the sub-seconds DateTime dt2 = dtp.parseDateTime(iSecond); dt2 = new DateTime(dt2.getYear(), dt2.getMonthOfYear(), dt2.getDayOfMonth(), dt2.getHourOfDay(), dt2.getMinuteOfHour(), dt2.getSecondOfMinute(), 0); equal = dt1.equals(dt2); } catch (Exception e) { // String format error -- these cannot be equal equal = false; } return equal; }
From source file:org.aludratest.cloud.web.report.ResourceReportUtil.java
License:Apache License
private static JavaScriptObject createTimeEntry(DateTime time, int activeResources) { JavaScriptObject result = new JavaScriptObject(); time = time.toDateTime(DateTimeZone.UTC); // convert time to JavaScript UTC time StringBuilder sbDateTime = new StringBuilder(); sbDateTime.append("Date.UTC("); sbDateTime.append(time.getYear()).append(", "); sbDateTime.append(time.getMonthOfYear() - 1).append(", "); sbDateTime.append(time.getDayOfMonth()).append(", "); sbDateTime.append(time.getHourOfDay()).append(", "); sbDateTime.append(time.getMinuteOfHour()).append(", "); sbDateTime.append(time.getSecondOfMinute()).append(", "); sbDateTime.append(time.getMillisOfSecond()).append(")"); result.set("x", new JavaScriptCodeFragment(sbDateTime.toString())); result.set("y", new JavaScriptCodeFragment("" + activeResources)); return result; }
From source file:org.apache.beam.sdk.io.jdbc.JdbcUtil.java
License:Apache License
private static Calendar getDateOrTimeOnly(DateTime dateTime, boolean wantDateOnly) { Calendar cal = Calendar.getInstance(); cal.setTimeZone(TimeZone.getTimeZone(dateTime.getZone().getID())); if (wantDateOnly) { // return date only cal.set(Calendar.YEAR, dateTime.getYear()); cal.set(Calendar.MONTH, dateTime.getMonthOfYear() - 1); cal.set(Calendar.DATE, dateTime.getDayOfMonth()); cal.set(Calendar.HOUR_OF_DAY, 0); cal.set(Calendar.MINUTE, 0); cal.set(Calendar.SECOND, 0); cal.set(Calendar.MILLISECOND, 0); } else { // return time only cal.set(Calendar.YEAR, 1970); cal.set(Calendar.MONTH, Calendar.JANUARY); cal.set(Calendar.DATE, 1); cal.set(Calendar.HOUR_OF_DAY, dateTime.getHourOfDay()); cal.set(Calendar.MINUTE, dateTime.getMinuteOfHour()); cal.set(Calendar.SECOND, dateTime.getSecondOfMinute()); cal.set(Calendar.MILLISECOND, dateTime.getMillisOfSecond()); }//from w ww .jav a2s . c o m return cal; }
From source file:org.apache.isis.applib.value.Time.java
License:Apache License
/** * Create a Time object for storing a time with the time set to the * specified time of the Joda Time DateTime object. */// www. j av a 2 s . c om public Time(final DateTime dateTime) { this.time = newDateTime(dateTime.getHourOfDay(), dateTime.getMinuteOfHour(), dateTime.getSecondOfMinute()); }