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 697a2d0..64c17a8 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 @@ -56,11 +56,7 @@ public class WsThreddsWidget implements HasWsSyncNotificationListner { private final List syncEventsListeners = new ArrayList(); - public static final String MISSING_THREDDS_ADMIN_RIGHTS = "It seems you are not authorized to create a configuration towards THREDDS Catalogue. Request it to the VRE manager or the portal administrator."; - - public static final String MISSING_THREDDS_PUBLISHER_RIGHTS = "It seems you are not authorized to run a syncronization task towards THREDDS Catalogue. Request it to the VRE manager or the portal administrator."; - - public static final String MISSING_THREDDS_RIGHTS = "It seems you are not authorized to interact with the facility 'Sync with THREDDS'. Request authorization to the VRE manager or the portal administrator."; + private Map mapScopeThreddsRoles = null; /** * This is the entry point method. @@ -152,7 +148,7 @@ public class WsThreddsWidget implements HasWsSyncNotificationListner { } final Modal box = new Modal(true); - box.setTitle("Checking configurations..."); + box.setTitle("Checking authorizations and configurations..."); final HorizontalPanel hpLoader = new HorizontalPanel(); LoaderIcon loader = new LoaderIcon("Checking authorizations and folder configurations..."); hpLoader.add(loader); @@ -161,6 +157,8 @@ public class WsThreddsWidget implements HasWsSyncNotificationListner { //LAOADING ROLES WsThreddsWidget.wsThreddsSyncService.getScopesWithThreddsRolesForLoggedUser(new AsyncCallback>() { + + @Override public void onFailure(Throwable caught) { hpLoader.clear(); @@ -173,76 +171,57 @@ public class WsThreddsWidget implements HasWsSyncNotificationListner { @Override public void onSuccess(Map result) { - try { - hpLoader.clear(); - hpLoader.setVisible(false); - }catch (Exception e) { - //Silent - } + GWT.log("Returned Map(Scope,Role): "+result); + mapScopeThreddsRoles = result; - if(result!=null) { - - GWT.log("Returned Map(Scope,Role): "+result); - final boolean isThreddsPubliser = result.containsValue(GatewayRolesThredds.DATA_EDITOR); - final boolean isThreddsAdmin = result.containsValue(GatewayRolesThredds.DATA_MANAGER); - - //no rights assigned - if(!isThreddsAdmin && !isThreddsPubliser) { - showMissingRights(box); - return; + //at least one THREDDS rights is assigned + GWT.log("Performing isItemSynched: "+folder.getFolderId()); + WsThreddsWidget.wsThreddsSyncService.isItemSynched(folder.getFolderId(), new AsyncCallback() { + + @Override + public void onSuccess(WsThreddsSynchFolderDescriptor result) { + try { + hpLoader.clear(); + hpLoader.setVisible(false); + }catch (Exception e) { + //Silent + } + + + box.hide(); + //GWT.log("WsThreddsSynchFolderDescriptor result: "+result); + viewManager.showThreddsFolderInfo(folder, result, mapScopeThreddsRoles); + } - - //at least one THREDDS rights is assigned - GWT.log("Performing isItemSynched: "+folder.getFolderId()); - WsThreddsWidget.wsThreddsSyncService.isItemSynched(folder.getFolderId(), new AsyncCallback() { - @Override - public void onSuccess(WsThreddsSynchFolderDescriptor result) { - box.hide(); - //GWT.log("WsThreddsSynchFolderDescriptor result: "+result); - viewManager.showThreddsFolderInfo(folder, result, isThreddsAdmin, isThreddsPubliser); + @Override + public void onFailure(Throwable caught) { + box.hide(); + if(caught instanceof WorkspaceFolderLocked){ + viewManager.showMonitorSyncToFolder(folder,syncEventsListeners); + return; } - @Override - public void onFailure(Throwable caught) { - box.hide(); - - if(caught instanceof WorkspaceFolderLocked){ - viewManager.showMonitorSyncToFolder(folder,syncEventsListeners); - return; - } - - viewManager.cancelMonitor(folder); - Window.alert(caught.getMessage()); - } - }); - - - - - }else { - //no rights detected - showMissingRights(box); - return; - } - + viewManager.cancelMonitor(folder); + Window.alert(caught.getMessage()); + } + }); } }); - box.show(); } - private void showMissingRights(Modal box) { - Alert alert = new Alert(); - alert.setType(AlertType.WARNING); - alert.setText(MISSING_THREDDS_RIGHTS); - alert.setClose(false); - box.add(alert); - } +// private void showMissingRights(Modal box) { +// Alert alert = new Alert(); +// alert.setType(AlertType.WARNING); +// alert.setText(MISSING_THREDDS_RIGHTS); +// alert.setClose(false); +// box.add(alert); +// } private void performFolderUnSync(final WsFolder folder) { GWT.log("Performing doSyncFolder on: "+folder);