From 4b25b8dee520e8051ae05bcac3aac22aa091608c Mon Sep 17 00:00:00 2001 From: Giancarlo Panichi Date: Thu, 8 Oct 2015 17:19:31 +0000 Subject: [PATCH] 915: TDM - Support the Spanish language Task-Url: https://support.d4science.org/issues/915 Updated Spanish support git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/user/tabular-data-portlet@119548 82a268e6-3cf1-43bd-a215-b396298e98cf --- .../user/td/client/TabularDataController.java | 48 ++++++++++++++++++- 1 file changed, 47 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/gcube/portlets/user/td/client/TabularDataController.java b/src/main/java/org/gcube/portlets/user/td/client/TabularDataController.java index af1da0c..5d3cbf7 100644 --- a/src/main/java/org/gcube/portlets/user/td/client/TabularDataController.java +++ b/src/main/java/org/gcube/portlets/user/td/client/TabularDataController.java @@ -24,6 +24,7 @@ import org.gcube.portlets.user.td.extractcodelistwidget.client.ExtractCodelistWi import org.gcube.portlets.user.td.gwtservice.client.rpc.TDGWTServiceAsync; import org.gcube.portlets.user.td.gwtservice.shared.exception.TDGWTIsLockedException; import org.gcube.portlets.user.td.gwtservice.shared.exception.TDGWTSessionExpiredException; +import org.gcube.portlets.user.td.gwtservice.shared.i18n.InfoLocale; import org.gcube.portlets.user.td.gwtservice.shared.tr.TabResource; import org.gcube.portlets.user.td.gwtservice.shared.user.UserInfo; import org.gcube.portlets.user.td.jsonexportwidget.client.JSONExportWidgetTD; @@ -371,7 +372,16 @@ public class TabularDataController { LocaleInfo currentLocaleInfo = LocaleInfo.getCurrentLocale(); Log.debug("Current Locale:" + currentLocaleInfo.getLocaleName()); - + + String localeName=currentLocaleInfo.getLocaleName(); + InfoLocale infoLocale; + if(localeName==null||localeName.isEmpty()){ + infoLocale=new InfoLocale("en"); + } else { + infoLocale=new InfoLocale(localeName.substring(0, 2)); + } + setInfoLocale(infoLocale); + } protected void changeLanguage(String localeName) { @@ -385,8 +395,44 @@ public class TabularDataController { } Cookies.setCookie(Constants.TD_LANG_COOKIE, localeName, now); com.google.gwt.user.client.Window.Location.reload(); + + InfoLocale infoLocale; + if(localeName==null||localeName.isEmpty()){ + infoLocale=new InfoLocale("en"); + } else { + infoLocale=new InfoLocale(localeName); + } + setInfoLocale(infoLocale); + } + + protected void setInfoLocale(InfoLocale infoLocale){ + TDGWTServiceAsync.INSTANCE.setLocale(infoLocale, + new AsyncCallback() { + public void onFailure(Throwable caught) { + if (caught instanceof TDGWTSessionExpiredException) { + eventBus.fireEvent(new SessionExpiredEvent( + SessionExpiredType.EXPIREDONSERVER)); + } else { + if (caught instanceof TDGWTIsLockedException) { + Log.error(caught.getLocalizedMessage()); + UtilsGXT3.alert("Error Locked", + caught.getLocalizedMessage()); + } else { + UtilsGXT3.alert("Error", + caught.getLocalizedMessage()); + } + } + } + + public void onSuccess(Void result) { + Log.debug("InfoLocale set"); + } + + }); + } + // public void restoreUISession() { checkLocale();