ISIS-903: reducing logging noise / improving flow control if translations accessed from RO viewer (when locale not available).
Project: http://git-wip-us.apache.org/repos/asf/isis/repo Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/e32e2e03 Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/e32e2e03 Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/e32e2e03 Branch: refs/heads/master Commit: e32e2e03b72a28c24e2cac0ed13bf9f922ffdf48 Parents: 362a5bf Author: Dan Haywood <[email protected]> Authored: Wed Feb 18 11:54:47 2015 +0000 Committer: Dan Haywood <[email protected]> Committed: Wed Feb 18 14:07:55 2015 +0000 ---------------------------------------------------------------------- .../viewer/wicket/viewer/services/LocaleProviderWicket.java | 5 +++++ .../org/apache/isis/applib/services/i18n/LocaleProvider.java | 1 - .../isis/core/runtime/services/i18n/po/ContextAndMsgId.java | 8 ++++++++ .../apache/isis/core/runtime/services/i18n/po/PoReader.java | 8 +++++++- 4 files changed, 20 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/isis/blob/e32e2e03/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/services/LocaleProviderWicket.java ---------------------------------------------------------------------- diff --git a/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/services/LocaleProviderWicket.java b/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/services/LocaleProviderWicket.java index 966f8fb..1b94cb6 100644 --- a/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/services/LocaleProviderWicket.java +++ b/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/services/LocaleProviderWicket.java @@ -19,6 +19,7 @@ package org.apache.isis.viewer.wicket.viewer.services; import java.util.Locale; +import org.apache.wicket.Application; import org.apache.wicket.Session; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -38,6 +39,10 @@ public class LocaleProviderWicket implements LocaleProvider { @Programmatic @Override public Locale getLocale() { + if(!Application.exists()) { + // eg if request from RO viewer + return null; + } return getSession().getLocale(); } http://git-wip-us.apache.org/repos/asf/isis/blob/e32e2e03/core/applib/src/main/java/org/apache/isis/applib/services/i18n/LocaleProvider.java ---------------------------------------------------------------------- diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/i18n/LocaleProvider.java b/core/applib/src/main/java/org/apache/isis/applib/services/i18n/LocaleProvider.java index 9fe73d3..9bb5c3d 100644 --- a/core/applib/src/main/java/org/apache/isis/applib/services/i18n/LocaleProvider.java +++ b/core/applib/src/main/java/org/apache/isis/applib/services/i18n/LocaleProvider.java @@ -25,5 +25,4 @@ public interface LocaleProvider { @Programmatic Locale getLocale(); - } http://git-wip-us.apache.org/repos/asf/isis/blob/e32e2e03/core/runtime/src/main/java/org/apache/isis/core/runtime/services/i18n/po/ContextAndMsgId.java ---------------------------------------------------------------------- diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/i18n/po/ContextAndMsgId.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/i18n/po/ContextAndMsgId.java index d00d08a..c20058b 100644 --- a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/i18n/po/ContextAndMsgId.java +++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/i18n/po/ContextAndMsgId.java @@ -87,4 +87,12 @@ public class ContextAndMsgId implements Comparable<ContextAndMsgId> { } return context.compareTo(o.context); } + + @Override + public String toString() { + return "ContextAndMsgId{" + + "context='" + context + '\'' + + ", msgId='" + msgId + '\'' + + '}'; + } } http://git-wip-us.apache.org/repos/asf/isis/blob/e32e2e03/core/runtime/src/main/java/org/apache/isis/core/runtime/services/i18n/po/PoReader.java ---------------------------------------------------------------------- diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/i18n/po/PoReader.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/i18n/po/PoReader.java index 03cb9ed..6eb2c3f 100644 --- a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/i18n/po/PoReader.java +++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/i18n/po/PoReader.java @@ -94,6 +94,10 @@ class PoReader extends PoAbstract { final Locale targetLocale; try { targetLocale = translationServicePo.getLocaleProvider().getLocale(); + if(targetLocale == null) { + // eg if request from RO viewer and the (default) LocaleProviderWicket is being used. + return msgId; + } } catch(final RuntimeException ex){ LOG.warn("Failed to obtain locale, returning the original msgId"); return msgId; @@ -113,7 +117,9 @@ class PoReader extends PoAbstract { return translationNoContext; } - LOG.warn("No translation found for: " + key); + if(translation == null && translationNoContext == null) { + LOG.warn("No translation found for: " + key); + } return msgId; }
