diff --git a/src/main/java/org/gcube/portlets/widgets/wsthreddssync/client/WsThreddsWidget.java b/src/main/java/org/gcube/portlets/widgets/wsthreddssync/client/WsThreddsWidget.java index 56ef683..839dc95 100644 --- a/src/main/java/org/gcube/portlets/widgets/wsthreddssync/client/WsThreddsWidget.java +++ b/src/main/java/org/gcube/portlets/widgets/wsthreddssync/client/WsThreddsWidget.java @@ -96,9 +96,7 @@ public class WsThreddsWidget { viewManager.showMonitorSyncToFolder(folder); return; } - - - + final Modal box = new Modal(true); box.setTitle("Checking configurations..."); LoaderIcon loader = new LoaderIcon("Checking folder configurations..."); diff --git a/src/main/java/org/gcube/portlets/widgets/wsthreddssync/client/view/WsThreddsWidgetViewManager.java b/src/main/java/org/gcube/portlets/widgets/wsthreddssync/client/view/WsThreddsWidgetViewManager.java index 1cc87dd..2b3d0d8 100644 --- a/src/main/java/org/gcube/portlets/widgets/wsthreddssync/client/view/WsThreddsWidgetViewManager.java +++ b/src/main/java/org/gcube/portlets/widgets/wsthreddssync/client/view/WsThreddsWidgetViewManager.java @@ -56,15 +56,11 @@ public class WsThreddsWidgetViewManager { */ public void cancelMonitor(WsFolder folder) { try { - MonitorFolderSyncStatusView monitorView = getMonitor(folder); - if(monitorView.getSchedulerTime()!=null) { - GWT.log("Removed sheduler time on folder: "+folder.getFolderId()); - monitorView.getSchedulerTime().cancel(); - } - GWT.log("Removed monitor on folder: "+folder.getFolderId()); - mapMonitor.remove(folder.getFolderId()); + MonitorFolderSyncStatusView monitor = cancelScheduler(folder); + if(monitor!=null) + mapMonitor.remove(folder.getFolderId()); }catch (Exception e) { - GWT.log("Error on removing map monitor for id: "+folder.getFolderId());; + GWT.log("Error on removing map monitor for id: "+folder.getFolderId()); } } @@ -96,6 +92,24 @@ public class WsThreddsWidgetViewManager { } + /** + * Cancel scheduler. + * + * @param folder the folder + * @return + */ + private MonitorFolderSyncStatusView cancelScheduler(final WsFolder folder) { + + MonitorFolderSyncStatusView monitor = getMonitor(folder); + if(monitor.getSchedulerTime()!=null) { + GWT.log("Cancelling scheduler time on folder: "+folder.getFolderId()); + monitor.getSchedulerTime().cancel(); + } + + return monitor; + + } + /** * Show monitor sync to folder. * @@ -116,12 +130,12 @@ public class WsThreddsWidgetViewManager { @Override public void closeHandler() { - cancelMonitor(folder); + //cancelScheduler(folder); box.hide(); } }; - + if(monitorView==null) { monitorView = new MonitorFolderSyncStatusView() { @@ -138,10 +152,11 @@ public class WsThreddsWidgetViewManager { panelView.setError(visible, error); } }; + } //Removing old monitor - cancelMonitor(folder); + //cancelMonitor(folder); //Creating new one final MonitorFolderSyncStatusView currentMonitor = monitorView; @@ -178,7 +193,7 @@ public class WsThreddsWidgetViewManager { schedulingTimer.scheduleRepeating(2000); currentMonitor.setScheduler(schedulingTimer); saveMonitor(folder, currentMonitor); - + panelView.addViewAsWidget(monitorView); box.add(panelView); box.show();