removed handler for logout - added view per vre

git-svn-id: http://svn.d4science-ii.research-infrastructures.eu/gcube/trunk/portlets/user/gcube-ckan-datacatalog@158855 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
Costantino Perciante 2017-11-28 11:53:16 +00:00
parent 08495b225f
commit 05e287c17e
3 changed files with 70 additions and 32 deletions

View File

@ -4,6 +4,9 @@
<wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/> <wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/> <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/> <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>
<dependent-module archiveName="grsf-manage-widget-1.3.0-SNAPSHOT.jar" deploy-path="/WEB-INF/lib" handle="module:/resource/grsf-manage-widget/grsf-manage-widget">
<dependency-type>uses</dependency-type>
</dependent-module>
<property name="context-root" value="gcube-ckan-datacatalog"/> <property name="context-root" value="gcube-ckan-datacatalog"/>
<property name="java-output-path" value="/gcube-ckan-datacatalog/target/gcube-ckan-datacatalog-1.0.0-SNAPSHOT/WEB-INF/classes"/> <property name="java-output-path" value="/gcube-ckan-datacatalog/target/gcube-ckan-datacatalog-1.0.0-SNAPSHOT/WEB-INF/classes"/>
</wb-module> </wb-module>

View File

@ -138,18 +138,18 @@ public class CkanEventHandlerManager {
panel.instanceCkanFrame(request); panel.instanceCkanFrame(request);
} }
}); });
eventBus.addHandler(ShowTypesEvent.TYPE, eventBus.addHandler(ShowTypesEvent.TYPE,
new ShowTypesEventHandler() { new ShowTypesEventHandler() {
@Override @Override
public void onShowTypes(ShowTypesEvent showTypes) { public void onShowTypes(ShowTypesEvent showTypes) {
String request = getCkanRequest("/type", null); String request = getCkanRequest("/type", null);
panel.instanceCkanFrame(request); panel.instanceCkanFrame(request);
} }
}); });
eventBus.addHandler( eventBus.addHandler(
ShowOrganizationsEvent.TYPE, ShowOrganizationsEvent.TYPE,
new ShowOrganizationsEventHandler() { new ShowOrganizationsEventHandler() {
@ -193,26 +193,26 @@ public class CkanEventHandlerManager {
} }
}); });
eventBus.addHandler(NotifyLogoutEvent.TYPE, new NotifyLogoutEventHandler() { // eventBus.addHandler(NotifyLogoutEvent.TYPE, new NotifyLogoutEventHandler() {
//
@Override // @Override
public void onLogout(NotifyLogoutEvent editMetadataEvent) { // public void onLogout(NotifyLogoutEvent editMetadataEvent) {
//
// CKanLeaveFrame frame = new CKanLeaveFrame(GCubeCkanDataCatalog.CKAN_LOGUT_SERVICE); // // CKanLeaveFrame frame = new CKanLeaveFrame(GCubeCkanDataCatalog.CKAN_LOGUT_SERVICE);
// DOM.appendChild(RootPanel.getBodyElement(), frame.getElement()); // // DOM.appendChild(RootPanel.getBodyElement(), frame.getElement());
} // }
}); // });
//
eventBus.addHandler(IFrameInstanciedEvent.TYPE, new IFrameInstanciedEventHandler() { // eventBus.addHandler(IFrameInstanciedEvent.TYPE, new IFrameInstanciedEventHandler() {
//
@Override // @Override
public void onNewInstance(IFrameInstanciedEvent iFrameInstanciedEvent) { // public void onNewInstance(IFrameInstanciedEvent iFrameInstanciedEvent) {
//
panel.updateSize(); // panel.updateSize();
if(logoutFromCKANURL==null) // if(logoutFromCKANURL==null)
instanceLogoutSystem(); // instanceLogoutSystem();
} // }
}); // });
eventBus.addHandler(ShowManageProductWidgetEvent.TYPE, new ShowManageProductWidgetEventHandler() { eventBus.addHandler(ShowManageProductWidgetEvent.TYPE, new ShowManageProductWidgetEventHandler() {
@ -221,25 +221,25 @@ public class CkanEventHandlerManager {
new ManageProductWidget(event.getProductIdentifier(), eventBus); new ManageProductWidget(event.getProductIdentifier(), eventBus);
} }
}); });
eventBus.addHandler(ShareLinkEvent.TYPE, new ShareLinkEventHandler() { eventBus.addHandler(ShareLinkEvent.TYPE, new ShareLinkEventHandler() {
@Override @Override
public void onShareLink(ShareLinkEvent event) { public void onShareLink(ShareLinkEvent event) {
new ShareCatalogueWidget(event.getUuidItem()); new ShareCatalogueWidget(event.getUuidItem());
} }
}); });
// hide management panel if user is not allowed to manage // hide management panel if user is not allowed to manage
eventBus.addHandler(HideManagementPanelEvent.TYPE, new HideManagementPanelEventHandler() { eventBus.addHandler(HideManagementPanelEvent.TYPE, new HideManagementPanelEventHandler() {
@Override @Override
public void onEvent(HideManagementPanelEvent hideEvent) { public void onEvent(HideManagementPanelEvent hideEvent) {
panel.showManagementPanel(false); panel.showManagementPanel(false);
} }
}); });
} }

View File

@ -2,6 +2,8 @@ package org.gcube.portlets.gcubeckan.gcubeckandatacatalog.server;
import static org.gcube.common.authorization.client.Constants.authorizationService; import static org.gcube.common.authorization.client.Constants.authorizationService;
import java.net.URL;
import java.net.URLEncoder;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -49,6 +51,7 @@ public class GcubeCkanDataCatalogServiceImpl extends RemoteServiceServlet implem
public static String CKANCONNECTORCONTEXT = "CkanConnectorContext"; public static String CKANCONNECTORCONTEXT = "CkanConnectorContext";
public static String CKANCONNECTORLOGOUT = "CkanConnectorLogout"; public static String CKANCONNECTORLOGOUT = "CkanConnectorLogout";
private static final Log logger = LogFactoryUtil.getLog(GcubeCkanDataCatalogServiceImpl.class); private static final Log logger = LogFactoryUtil.getLog(GcubeCkanDataCatalogServiceImpl.class);
private static final String VIEW_PER_ORGANIZATION_LIFERAY_CUSTOM_FIELD = "ViewPerVRECatalogue";
/** /**
* Instanciate the ckan util library. * Instanciate the ckan util library.
@ -88,7 +91,17 @@ public class GcubeCkanDataCatalogServiceImpl extends RemoteServiceServlet implem
queryStringParameters = new String(valueDecoded); queryStringParameters = new String(valueDecoded);
logger.info("queryStringParameters detected like Base64 and decoded like: "+queryStringParameters); logger.info("queryStringParameters detected like Base64 and decoded like: "+queryStringParameters);
} }
if(pathInfoParameter == null || pathInfoParameter.isEmpty()){
boolean viewEnabled = viewPerOrganizationEnabled();
if(viewEnabled){
GroupManager gm = new LiferayGroupManager();
String groupName = gm.getGroup(gm.getGroupIdFromInfrastructureScope(scopePerCurrentUrl)).getGroupName().toLowerCase();
pathInfoParameter = "/organization_vre/" + groupName;
}
}
CkanConnectorAccessPoint ckAP = getCkanConnectorAccessPoint(pathInfoParameter, queryStringParameters, scopePerCurrentUrl); CkanConnectorAccessPoint ckAP = getCkanConnectorAccessPoint(pathInfoParameter, queryStringParameters, scopePerCurrentUrl);
SessionUtil.saveCkanAccessPoint(this.getThreadLocalRequest().getSession(), scopePerCurrentUrl, ckAP); SessionUtil.saveCkanAccessPoint(this.getThreadLocalRequest().getSession(), scopePerCurrentUrl, ckAP);
logger.info("Builded URI to CKAN Connector: "+ckAP.buildURI()); logger.info("Builded URI to CKAN Connector: "+ckAP.buildURI());
@ -537,4 +550,26 @@ public class GcubeCkanDataCatalogServiceImpl extends RemoteServiceServlet implem
} }
} }
} }
/**
* Ask to liferay
* @return
*/
public boolean viewPerOrganizationEnabled(){
boolean enabled = false;
String scopePerCurrentUrl = SessionUtil.getScopeFromClientUrl(getThreadLocalRequest());
try{
GroupManager gm = new LiferayGroupManager();
enabled = (boolean) gm.readCustomAttr(gm.getGroupIdFromInfrastructureScope(scopePerCurrentUrl), VIEW_PER_ORGANIZATION_LIFERAY_CUSTOM_FIELD);
logger.debug("Read value for " + VIEW_PER_ORGANIZATION_LIFERAY_CUSTOM_FIELD + " is " + enabled);
}catch(Exception e){
logger.error("Failed to parse custom field value", e);
}
return enabled;
}
} }