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 983269415b8a8588d7a4e5f13a44944460518e0f Author: servantie <servantie.c@gmail.com> Date: Fri Jun 17 10:38:34 2016 +0200 added a method to remove a sync URL, added more return codes. --- .../java/org/chorem/jtimer/entities/TimerTask.java | 38 +++++++++++++++------- .../chorem/jtimer/io/GTimerIncrementalSaver.java | 2 -- .../chorem/jtimer/io/TimerTaskSynchronizer.java | 6 ++-- .../jtimer/ui/report/TimerTaskUpdaterView.java | 34 ++++++++++++------- 4 files changed, 53 insertions(+), 27 deletions(-) diff --git a/src/main/java/org/chorem/jtimer/entities/TimerTask.java b/src/main/java/org/chorem/jtimer/entities/TimerTask.java index ac18c14..34a1675 100644 --- a/src/main/java/org/chorem/jtimer/entities/TimerTask.java +++ b/src/main/java/org/chorem/jtimer/entities/TimerTask.java @@ -304,17 +304,6 @@ public class TimerTask implements Cloneable, } /** - * Add one URL to the task's syncURLList - * @param urlToAdd : the url to add - */ - public void addURLToSyncList(String urlToAdd) { - //no need to have redundant elements - if (!getSynchronizingURLAsString().contains(urlToAdd)) { - synchronisingInfoList.add(new SyncInfo(urlToAdd)); - } - } - - /** * Adds a new synchronization info if the url isn't already present * @param url a string * @param time a LocalDateTime @@ -327,6 +316,24 @@ public class TimerTask implements Cloneable, } /** + * Removes a synchronisation info attached to a url if it exists + * @param url : the url of the info to remove + * + */ + public void removeSyncInfo(String url) { + List<SyncInfo> copySyncList = new ArrayList<>(synchronisingInfoList); + if (getSynchronizingURLList().contains(url)) { + int a = getSynchronizingURLList().size(); + for (int i = 0; i<a ; ++i) { + if (synchronisingInfoList.get(i).getSyncURL().equals(url)) { + copySyncList.remove(synchronisingInfoList.get(i)); + } + } + } + synchronisingInfoList = copySyncList; + } + + /** * Returns all the synchronization info * @return a list of TimerTask.SyncInfo */ @@ -351,6 +358,15 @@ public class TimerTask implements Cloneable, } /** + * sets the activity of a sync info + * @param isActive a boolean + * @param syncInfo the SyncInfo + */ + public void setIsActive(boolean isActive, SyncInfo syncInfo) { + syncInfo.setActiveSync(isActive); + } + + /** * Add task's subtask. * * Also add parent reference. diff --git a/src/main/java/org/chorem/jtimer/io/GTimerIncrementalSaver.java b/src/main/java/org/chorem/jtimer/io/GTimerIncrementalSaver.java index 757e583..b4f4888 100644 --- a/src/main/java/org/chorem/jtimer/io/GTimerIncrementalSaver.java +++ b/src/main/java/org/chorem/jtimer/io/GTimerIncrementalSaver.java @@ -608,7 +608,6 @@ public class GTimerIncrementalSaver extends AbstractSaver implements Saver, String line = parseIn.readLine(); while ((line = parseIn.readLine()) != null) { line = line.trim(); - if ((!line.isEmpty())) { String[] urlArray = line.split(" "); //if there is no lastSyncTime @@ -619,7 +618,6 @@ public class GTimerIncrementalSaver extends AbstractSaver implements Saver, else { task.addSyncInfo(urlArray[0], LocalDateTime.MIN, false); } - } //else if there is lastSyncTime else if (urlArray.length == 3) { diff --git a/src/main/java/org/chorem/jtimer/io/TimerTaskSynchronizer.java b/src/main/java/org/chorem/jtimer/io/TimerTaskSynchronizer.java index 0fececb..51bcde0 100644 --- a/src/main/java/org/chorem/jtimer/io/TimerTaskSynchronizer.java +++ b/src/main/java/org/chorem/jtimer/io/TimerTaskSynchronizer.java @@ -121,7 +121,9 @@ public class TimerTaskSynchronizer implements DataEventListener { //-> do not change last sync time else { log.debug("Sync failed on " + object.get("URL").getAsString()); - + //deactivate autosync if the sync failed + task.getSynchronizingInfo(object.get("URL").getAsString()).setActiveSync(false); + log.info("Adress deactivated"); } } @@ -153,7 +155,7 @@ public class TimerTaskSynchronizer implements DataEventListener { postDataBytes = updateJsonString.getBytes(charset); connection.getOutputStream().write(postDataBytes); int code = connection.getResponseCode(); - if (code == 200) { + if ((code == 200) || (code == 201) || (code == 202)){ hasUpdated = 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 3b6058f..7220cb6 100644 --- a/src/main/java/org/chorem/jtimer/ui/report/TimerTaskUpdaterView.java +++ b/src/main/java/org/chorem/jtimer/ui/report/TimerTaskUpdaterView.java @@ -387,12 +387,12 @@ public class TimerTaskUpdaterView extends FrameView implements DocumentListener, } } updateArea.setText(builder.toString()); - if (task.getSynchronizingInfo(urlSelected).getLastSync().isAfter(LocalDateTime.MIN)) { - lastUpdate.setText(task.getSynchronizingInfo(urlSelected).getLastSync().toString()); - } - else { - lastUpdate.setText(""); - } +// if (task.getSynchronizingInfo(urlSelected).getLastSync().isAfter(LocalDateTime.MIN)) { +// lastUpdate.setText(task.getSynchronizingInfo(urlSelected).getLastSync().toString()); +// } +// else { +// lastUpdate.setText(""); +// } } else { @@ -442,12 +442,12 @@ public class TimerTaskUpdaterView extends FrameView implements DocumentListener, if (urlSelected.equals(object.get("URL").getAsString())) { synchronizeTaskOnURL(task, object); } - } - if (task.getSynchronizingInfo(urlSelected).getLastSync().isAfter(LocalDateTime.MIN)) { - lastUpdate.setText(task.getSynchronizingInfo(urlSelected).getLastSync().toString()); - } - else { - lastUpdate.setText(""); +// } +// if (task.getSynchronizingInfo(urlSelected).getLastSync().isAfter(LocalDateTime.MIN)) { +// lastUpdate.setText(task.getSynchronizingInfo(urlSelected).getLastSync().toString()); +// } +// else { +// lastUpdate.setText(""); } } @@ -570,6 +570,16 @@ public class TimerTaskUpdaterView extends FrameView implements DocumentListener, task.addSyncInfo(urlToAdd, LocalDateTime.MIN, true); core.getData().changeSyncInfo(task, urlToAdd); } + if (lastUpdate != null) { + if (task.getSynchronizingInfo(urlToAdd).getLastSync().isAfter(LocalDateTime.MIN)) { + lastUpdate.setText(task.getSynchronizingInfo(urlToAdd).getLastSync().toString()); + core.getData().changeSyncInfo(task, urlToAdd); + } + else { + lastUpdate.setText(""); + } + + } } @Override public void actionPerformed(ActionEvent actionEvent) { -- To stop receiving notification emails like this one, please contact chorem.org SCM administrator <admin+scm@chorem.org>.