From 234a64ee0042166b29f56d0d585b404315283f51 Mon Sep 17 00:00:00 2001 From: Francesco Mangiacrapa Date: Thu, 30 Aug 2018 13:19:49 +0000 Subject: [PATCH] Working on Task #12286: Align portlet container labels to the new CKAN mapping git-svn-id: http://svn.d4science-ii.research-infrastructures.eu/gcube/trunk/portlets/user/gcube-ckan-datacatalog@171245 82a268e6-3cf1-43bd-a215-b396298e98cf --- distro/changelog.xml | 5 ++ pom.xml | 2 +- .../client/GCubeCkanDataCatalog.java | 2 +- .../view/CkanMetadataManagementPanel.java | 35 ++++++++-- .../view/GCubeCkanDataCatalogPanel.java | 66 +++++++++++-------- 5 files changed, 76 insertions(+), 34 deletions(-) diff --git a/distro/changelog.xml b/distro/changelog.xml index 55e0e4e..82c798c 100644 --- a/distro/changelog.xml +++ b/distro/changelog.xml @@ -1,4 +1,9 @@ + + [Task #12286]: Align portlet container labels to the new CKAN + mapping + Minor fix diff --git a/pom.xml b/pom.xml index 8af0297..62c6603 100644 --- a/pom.xml +++ b/pom.xml @@ -13,7 +13,7 @@ org.gcube.portlets.gcubeckan gcube-ckan-datacatalog war - 1.5.3-SNAPSHOT + 1.6.0-SNAPSHOT gCube CKAN Data Catalog The gCube CKAN Data Catalog portlet diff --git a/src/main/java/org/gcube/portlets/gcubeckan/gcubeckandatacatalog/client/GCubeCkanDataCatalog.java b/src/main/java/org/gcube/portlets/gcubeckan/gcubeckandatacatalog/client/GCubeCkanDataCatalog.java index 575c956..d3c3dd4 100644 --- a/src/main/java/org/gcube/portlets/gcubeckan/gcubeckandatacatalog/client/GCubeCkanDataCatalog.java +++ b/src/main/java/org/gcube/portlets/gcubeckan/gcubeckandatacatalog/client/GCubeCkanDataCatalog.java @@ -34,7 +34,7 @@ public class GCubeCkanDataCatalog implements EntryPoint { */ public void onModuleLoad() { - GCubeCkanDataCatalogPanel panel =new GCubeCkanDataCatalogPanel(RootPanel.get(DIV_PORTLET_ID), eventManager.getEventBus()); + GCubeCkanDataCatalogPanel panel = new GCubeCkanDataCatalogPanel(RootPanel.get(DIV_PORTLET_ID), eventManager.getEventBus()); eventManager.setPanel(panel); } diff --git a/src/main/java/org/gcube/portlets/gcubeckan/gcubeckandatacatalog/client/view/CkanMetadataManagementPanel.java b/src/main/java/org/gcube/portlets/gcubeckan/gcubeckandatacatalog/client/view/CkanMetadataManagementPanel.java index 8d61e57..2e086b8 100644 --- a/src/main/java/org/gcube/portlets/gcubeckan/gcubeckandatacatalog/client/view/CkanMetadataManagementPanel.java +++ b/src/main/java/org/gcube/portlets/gcubeckan/gcubeckandatacatalog/client/view/CkanMetadataManagementPanel.java @@ -108,7 +108,7 @@ public class CkanMetadataManagementPanel extends FlowPanel{ insertMeta.setIcon(IconType.FILE); editMeta.setIcon(IconType.EDIT_SIGN); statistics.setIcon(IconType.BAR_CHART); - manageProduct.setIcon(IconType.CHECK_SIGN); + manageProduct.setIcon(IconType.CHECK_SIGN); // hide edit and insert shareLink.setEnabled(false); @@ -152,7 +152,7 @@ public class CkanMetadataManagementPanel extends FlowPanel{ /** * */ - private void addHandlers() { + private void addHandlers() { home.addClickHandler(new ClickHandler() { @@ -193,7 +193,7 @@ public class CkanMetadataManagementPanel extends FlowPanel{ } }); - + types.addClickHandler(new ClickHandler() { @Override @@ -308,7 +308,7 @@ public class CkanMetadataManagementPanel extends FlowPanel{ /** * Button to manage the product.. for example in grsf case * @param value true or false - * @param isManageProductEnabled + * @param isManageProductEnabled */ public void showManageProductButton(boolean value){ manageProduct.setVisible(value); @@ -359,6 +359,31 @@ public class CkanMetadataManagementPanel extends FlowPanel{ myGroups.setVisible(false); statistics.setVisible(false); manageProduct.setVisible(false); - + + } + + + /** + * Customize label according translate. + * + * @param labelName the label name + * @param translateValue the translate value + */ + public void customizeLabelAccordingTranslate(String labelName, String translateValue){ + + + if(labelName==null || labelName.isEmpty() || translateValue==null || translateValue.isEmpty()) + return; + + if(labelName==organizations.getText()){ + organizations.setText(translateValue); + }else if(labelName==groups.getText()){ + groups.setText(translateValue); + }else if(labelName==items.getText()){ + items.setText(translateValue); + }else if(labelName==types.getText()){ + types.setText(translateValue); + } + } } 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 5299ff7..4a38747 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 @@ -68,21 +68,21 @@ public class GCubeCkanDataCatalogPanel extends BaseViewTemplate { this.rootPanel = rootPanel; this.eventBus = eventManager; - + //postMessage(obj.toString(), ckanFramePanel.getFrame()); // send message about gateway url obj = new JSONObject(); String landingPageVREs = Window.Location.getProtocol() + "//" + Window.Location.getHostName() + "/explore"; JSONString value = new JSONString(landingPageVREs); obj.put("explore_vres_landing_page", value); - + ckanFramePanel = new CkanFramePanel(eventBus); managementPanel = new CkanMetadataManagementPanel(eventBus); ckanOrganizationsPanel = new CkanOrganizationsPanel(this); ckanGroupsPanel = new CkanGroupsPanel(this); initPanel(); setTopPanelVisible(true); - + // decode parameters (they could have been encoded) final Map paramsMap = new HashMap(2); String queryParameters = Window.Location.getQueryString(); @@ -151,34 +151,34 @@ public class GCubeCkanDataCatalogPanel extends BaseViewTemplate { } }); - + // check if management buttons need to be removed GCubeCkanDataCatalog.service.isViewPerVREEnabled(new AsyncCallback() { - + @Override public void onSuccess(String result) { - + if(result != null && !result.isEmpty()){ // hide all management buttons managementPanel.removeGenericManagementButtons(); - + // set real relative path ckanAccessPoint.addPathInfo(result); - + // save this information viewPerVREPath = result; } - + } - + @Override public void onFailure(Throwable caught) { - + // ? - + } }); - + // retrieve organizations GCubeCkanDataCatalog.service.getCkanOrganizationsNamesAndUrlsForUser(new AsyncCallback>() { @@ -207,15 +207,15 @@ public class GCubeCkanDataCatalogPanel extends BaseViewTemplate { ckanGroupsPanel.setGroups(null); } }); - + // check if the url encodes a revert operation to be performed - if(paramsMap.containsKey(GCubeCkanDataCatalog.REVERT_QUERY_PARAM) && + if(paramsMap.containsKey(GCubeCkanDataCatalog.REVERT_QUERY_PARAM) && paramsMap.get(GCubeCkanDataCatalog.REVERT_QUERY_PARAM).equals("true")){ - + eventBus.fireEvent(new ShowRevertOperationWidgetEvent(Window.Location.getHref())); - + } - + /** * Just check if it is enabled.. then we need to listen for dom events coming */ @@ -410,11 +410,23 @@ public class GCubeCkanDataCatalogPanel extends BaseViewTemplate { JSONObject object = parsedJSON.isObject(); GWT.log("Object is " + object); if(object != null){ - height = object.get("height").isString().stringValue(); - if(object.containsKey("product")) - productId = object.get("product").isString().stringValue(); - else - isProductKeyMissing = true; + //Supporting Task #12286: parsing the translate values for 'dataset', 'organization' and so on + if(object.containsKey("translate")){ + JSONObject theTranslate = (JSONObject) object.get("translate"); + for (String key : theTranslate.keySet()) { + String value = object.get(key).isString().stringValue(); + GWT.log("Customizing key " + key +" with translate: "+value); + managementPanel.customizeLabelAccordingTranslate(key,value); + } + + }else if(object.containsKey("height")){ + + height = object.get("height").isString().stringValue(); + if(object.containsKey("product")) + productId = object.get("product").isString().stringValue(); + else + isProductKeyMissing = true; + } } }catch(Exception e){ GWT.log("Exception is " + e); @@ -524,15 +536,15 @@ public class GCubeCkanDataCatalogPanel extends BaseViewTemplate { ckanOrganizationsPanel.setVisible(false); ckanFramePanel.setVisible(false); } - + /** * Show management panel * @param show */ public void showManagementPanel(boolean show){ - + managementPanel.showManageProductButton(show); - + } /** @@ -541,5 +553,5 @@ public class GCubeCkanDataCatalogPanel extends BaseViewTemplate { public boolean isViewPerVREEnabled() { return viewPerVREPath != null; } - + }