This is an automated email from the git hooks/post-receive script. New commit to branch feature/sync in repository jtimer. See https://gitlab.nuiton.org/chorem/jtimer.git commit df1422c476a44effea2069d630c5e9841549c2d3 Author: servantie <servantie.c@gmail.com> Date: Wed Jun 22 17:52:52 2016 +0200 deletion of url saved to sync file properly + corrected parsing of syncInfo (catching a DateTimeParseException, and taking a 00:00:00 instead of 00:00:00.000 format) --- .../org/chorem/jtimer/data/TimerDataManager.java | 2 ++ .../chorem/jtimer/io/GTimerIncrementalSaver.java | 10 ++++++++-- .../jtimer/ui/report/TimerTaskUpdaterView.java | 21 +++++++-------------- .../resources/TimerTaskUpdaterView.properties | 5 +++++ .../resources/TimerTaskUpdaterView_fr.properties | 4 ++++ 5 files changed, 26 insertions(+), 16 deletions(-) diff --git a/src/main/java/org/chorem/jtimer/data/TimerDataManager.java b/src/main/java/org/chorem/jtimer/data/TimerDataManager.java index faac507..46e79dd 100644 --- a/src/main/java/org/chorem/jtimer/data/TimerDataManager.java +++ b/src/main/java/org/chorem/jtimer/data/TimerDataManager.java @@ -646,6 +646,7 @@ public class TimerDataManager { for (DataEventListener dataEventListener : dataEventListeners) { dataEventListener.changeSyncInfo(task, url); } + log.info("SyncInfo changed: " + url); } /** @@ -658,5 +659,6 @@ public class TimerDataManager { for (DataEventListener dataEventListener : dataEventListeners) { dataEventListener.deleteSyncInfo(task, url); } + log.info("SyncInfo deleted: " + url); } } diff --git a/src/main/java/org/chorem/jtimer/io/GTimerIncrementalSaver.java b/src/main/java/org/chorem/jtimer/io/GTimerIncrementalSaver.java index d821000..720b82e 100644 --- a/src/main/java/org/chorem/jtimer/io/GTimerIncrementalSaver.java +++ b/src/main/java/org/chorem/jtimer/io/GTimerIncrementalSaver.java @@ -43,6 +43,7 @@ import java.text.DateFormat; import java.text.SimpleDateFormat; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; +import java.time.format.DateTimeParseException; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; @@ -621,8 +622,13 @@ public class GTimerIncrementalSaver extends AbstractSaver implements Saver, } //else if there is lastSyncTime else if (urlArray.length == 3) { - DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSS"); - LocalDateTime date = LocalDateTime.parse(urlArray[2], formatter); + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss"); + LocalDateTime date = null; + try { + date = LocalDateTime.parse(urlArray[2], formatter); + } catch (DateTimeParseException e) { + log.error("Error parsing SyncTime for " + urlArray[0]); + } if ("true".equals(urlArray[1])) { task.addSyncInfo(urlArray[0], date, true); } else { diff --git a/src/main/java/org/chorem/jtimer/ui/report/TimerTaskUpdaterView.java b/src/main/java/org/chorem/jtimer/ui/report/TimerTaskUpdaterView.java index 522a60e..e912b4d 100644 --- a/src/main/java/org/chorem/jtimer/ui/report/TimerTaskUpdaterView.java +++ b/src/main/java/org/chorem/jtimer/ui/report/TimerTaskUpdaterView.java @@ -248,8 +248,7 @@ public class TimerTaskUpdaterView extends FrameView implements DocumentListener, } //option to delete url - //todo : properties ! - deleteButton = new JButton("Delete"); + deleteButton = new JButton(getResourceMap().getString("deleteButton")); deleteButton.addActionListener(this); deleteButton.setActionCommand("deleteURL"); @@ -411,7 +410,7 @@ public class TimerTaskUpdaterView extends FrameView implements DocumentListener, updateArea.setText(""); updateJson = new ArrayList<>(); //get the various objects for updates (on several urls) - updateJson = taskToJSONFormat(task, datePickerFrom.getDate(), + updateJson = taskToJSONFormat(task, datePickerFrom.getDate(), datePickerTo.getDate(), isIncludingAnnotations(), timezone); if (!updateJson.isEmpty()) { String urlSelected = (String) urlComboBox.getSelectedItem(); @@ -423,15 +422,11 @@ public class TimerTaskUpdaterView extends FrameView implements DocumentListener, builder.append(gson.toJson(object)); } } - if (!task.getSynchronizingInfo(urlSelected).getActiveSync()) { - updateArea.setText(getResourceMap().getString("isNotActiveURL")); - } - else { + if (task.getSynchronizingInfo(urlSelected).getActiveSync()) { updateArea.setText(builder.toString()); } - } - else { - updateArea.setText("No data"); + } else { + updateArea.setText(getResourceMap().getString("isNotActiveURL")); } } @@ -573,7 +568,7 @@ public class TimerTaskUpdaterView extends FrameView implements DocumentListener, */ public void itemAdded(){ String urlToAdd = (String) urlComboBox.getSelectedItem(); - if ((!urlToAdd.isEmpty()) && (!task.getSynchronizingURLList().contains(urlToAdd))) { + if ((urlToAdd != null) && (!urlToAdd.isEmpty()) && (!task.getSynchronizingURLList().contains(urlToAdd))) { urlComboBox.addItem(urlToAdd); task.addSyncInfo(urlToAdd); core.getData().changeSyncInfo(task, urlToAdd); @@ -630,12 +625,10 @@ public class TimerTaskUpdaterView extends FrameView implements DocumentListener, if ((urlToUse != null) && !urlToUse.isEmpty() && (task.getSynchronizingURLList().contains(urlToUse))) { task.removeSyncInfo(urlToUse); urlComboBox.removeItem(urlToUse); - log.info("SyncInfo deleted " + urlToUse); core.getData().deleteSyncInfo(task, urlToUse); } else { - //todo : properties! - errorBox("No task to delete", "Error"); + errorBox(getResourceMap().getString("deleteErrorMessage"), getResourceMap().getString("deleteErrorTitle")); } } else { diff --git a/src/main/resources/org/chorem/jtimer/ui/report/resources/TimerTaskUpdaterView.properties b/src/main/resources/org/chorem/jtimer/ui/report/resources/TimerTaskUpdaterView.properties index 2b669a8..6de32f8 100644 --- a/src/main/resources/org/chorem/jtimer/ui/report/resources/TimerTaskUpdaterView.properties +++ b/src/main/resources/org/chorem/jtimer/ui/report/resources/TimerTaskUpdaterView.properties @@ -66,4 +66,9 @@ action.updateErrorTitle = Synchronization error action.updateEncodingError = Encoding error action.updateURLError = URL error +deleteButton = Delete URL + +deleteErrorMessage = No URL to delete +deleteErrorTitle = Deletion error + isActiveSync.Action.text = Active synchronization \ No newline at end of file diff --git a/src/main/resources/org/chorem/jtimer/ui/report/resources/TimerTaskUpdaterView_fr.properties b/src/main/resources/org/chorem/jtimer/ui/report/resources/TimerTaskUpdaterView_fr.properties index db5d2a1..768678c 100644 --- a/src/main/resources/org/chorem/jtimer/ui/report/resources/TimerTaskUpdaterView_fr.properties +++ b/src/main/resources/org/chorem/jtimer/ui/report/resources/TimerTaskUpdaterView_fr.properties @@ -66,4 +66,8 @@ action.update500 = Erreur du serveur action.updateEncodingError = Erreur d'encodage action.updateURLError = Erreur d'URL +deleteButton = Supprimer l'URL +deleteErrorMessage = Aucune URL \u00E0 supprimer +deleteErrorTitle = Erreur de suppression + isActiveSync.Action.text = Synchronisation Active \ No newline at end of file -- To stop receiving notification emails like this one, please contact chorem.org SCM administrator <admin+scm@chorem.org>.