diff --git a/src/main/java/org/gcube/portlets/gcubeckan/gcubeckandatacatalog/client/view/GCubeCkanDataCatalogPanel.java b/src/main/java/org/gcube/portlets/gcubeckan/gcubeckandatacatalog/client/view/GCubeCkanDataCatalogPanel.java index f23351d..f2ff593 100644 --- a/src/main/java/org/gcube/portlets/gcubeckan/gcubeckandatacatalog/client/view/GCubeCkanDataCatalogPanel.java +++ b/src/main/java/org/gcube/portlets/gcubeckan/gcubeckandatacatalog/client/view/GCubeCkanDataCatalogPanel.java @@ -63,6 +63,7 @@ public class GCubeCkanDataCatalogPanel extends BaseViewTemplate { Window.Location.getParameter(GCubeCkanDataCatalog.GET_PATH_PARAMETER); String queryParameter = Window.Location.getParameter(GCubeCkanDataCatalog.GET_QUERY_PARAMETER); + GCubeCkanDataCatalog.service.getCKanConnector( pathParameter, queryParameter, new AsyncCallback() { @@ -73,6 +74,76 @@ public class GCubeCkanDataCatalogPanel extends BaseViewTemplate { ckanAccessPoint = ckan; instanceCkanFrame(ckan.buildURI()); GCubeCkanDataCatalogPanel.this.rootPanel.remove(loading); + + // now perform the other requests + GCubeCkanDataCatalog.service.outsidePortal(new AsyncCallback() { + + @Override + public void onSuccess(Boolean result) { + + if (result) { + // the portlet is outside the portal and no user is logged + // in + // show only home and statistics + managementPanel.doNotShowUserRelatedInfo(); + } + else { + // polling for session expired check + CheckSession.getInstance().startPolling(); + + // RETRIEVE USER'S ORGANIZATIONS + GCubeCkanDataCatalog.service.getCkanOrganizationsNamesAndUrlsForUser(new AsyncCallback>() { + + @Override + public void onSuccess(Map result) { + + if (result != null) + ckanOrganizationsPanel.setOrganizations(result); + } + + @Override + public void onFailure(Throwable caught) { + + } + }); + + // MANAGE CKAN MANAGEMENT PANEL ACCORDING TO MY ROLE + GCubeCkanDataCatalog.service.getMyRole(new AsyncCallback() { + + @Override + public void onFailure(Throwable caught) { + showEditInsertButtons(false); + } + + @Override + public void onSuccess(CkanRole result) { + switch (result) { + case ADMIN: + showEditInsertButtons(true); + break; + case EDITOR: + showEditInsertButtons(false); // because the editor has some limitations TODO + break; + case MEMBER: + showEditInsertButtons(false); + break; + default: + showEditInsertButtons(false); + break; + } + } + }); + } + } + + @Override + public void onFailure(Throwable caught) { + + // the portlet is outside the portal and no user is logged in + // show only home and statistics + managementPanel.doNotShowUserRelatedInfo(); + } + }); } @Override @@ -82,72 +153,6 @@ public class GCubeCkanDataCatalogPanel extends BaseViewTemplate { Window.alert("Sorry, An error occurred during contacting Gcube Ckan Data Catalogue!"); } }); - GCubeCkanDataCatalog.service.outsidePortal(new AsyncCallback() { - - @Override - public void onSuccess(Boolean result) { - - if (result) { - // the portlet is outside the portal and no user is logged - // in - // show only home and statistics - managementPanel.doNotShowUserRelatedInfo(); - } - else { - // polling for session expired check - CheckSession.getInstance().startPolling(); - // RETRIEVE USER'S ORGANIZATIONS - GCubeCkanDataCatalog.service.getCkanOrganizationsNamesAndUrlsForUser(new AsyncCallback>() { - - @Override - public void onSuccess(Map result) { - - if (result != null) - ckanOrganizationsPanel.setOrganizations(result); - } - - @Override - public void onFailure(Throwable caught) { - - } - }); - // MANAGE CKAN MANAGEMENT PANEL ACCORDING TO MY ROLE - GCubeCkanDataCatalog.service.getMyRole(new AsyncCallback() { - - @Override - public void onFailure(Throwable caught) { - - } - - @Override - public void onSuccess(CkanRole result) { - switch (result) { - case ADMIN: - showEditInsertButtons(true); - break; - case EDITOR: - showEditInsertButtons(false); // because the editor has some limitations TODO - break; - case MEMBER: - showEditInsertButtons(false); - break; - default: - showEditInsertButtons(false); - break; - } - } - }); - } - } - - @Override - public void onFailure(Throwable caught) { - - // the portlet is outside the portal and no user is logged in - // show only home and statistics - managementPanel.doNotShowUserRelatedInfo(); - } - }); Window.addResizeHandler(new ResizeHandler() { @Override