ISIS-903: fixing integ tests for simpleapp with PoReader
Project: http://git-wip-us.apache.org/repos/asf/isis/repo Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/05127812 Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/05127812 Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/05127812 Branch: refs/heads/master Commit: 0512781294469cd017a9855b1ddbe009d5afd9ba Parents: f690db3 Author: Dan Haywood <[email protected]> Authored: Tue Feb 17 14:02:50 2015 +0000 Committer: Dan Haywood <[email protected]> Committed: Wed Feb 18 14:07:42 2015 +0000 ---------------------------------------------------------------------- .../wicket/AuthenticatedWebSessionForIsis.java | 18 ++++---- .../metamodel/services/i18n/po/PoReader.java | 9 +++- .../metamodel/services/i18n/po/PoWriter.java | 48 ++++++++++++++------ .../services/i18n/po/TranslationServicePo.java | 2 +- .../persistence/adapter/PojoAdapter.java | 6 +-- 5 files changed, 51 insertions(+), 32 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/isis/blob/05127812/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/AuthenticatedWebSessionForIsis.java ---------------------------------------------------------------------- diff --git a/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/AuthenticatedWebSessionForIsis.java b/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/AuthenticatedWebSessionForIsis.java index ccff458..f98284d 100644 --- a/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/AuthenticatedWebSessionForIsis.java +++ b/component/viewer/wicket/impl/src/main/java/org/apache/isis/viewer/wicket/viewer/integration/wicket/AuthenticatedWebSessionForIsis.java @@ -19,21 +19,16 @@ package org.apache.isis.viewer.wicket.viewer.integration.wicket; -import static org.hamcrest.Matchers.is; -import static org.hamcrest.Matchers.not; -import static org.hamcrest.Matchers.nullValue; - import java.util.Arrays; -import java.util.Date; import java.util.List; import java.util.concurrent.Callable; - -import org.apache.isis.applib.services.session.SessionLoggingService; import org.apache.wicket.Session; import org.apache.wicket.authroles.authentication.AuthenticatedWebSession; import org.apache.wicket.authroles.authorization.strategies.role.Roles; import org.apache.wicket.request.Request; - +import org.apache.wicket.request.cycle.RequestCycle; +import org.apache.isis.applib.clock.Clock; +import org.apache.isis.applib.services.session.SessionLoggingService; import org.apache.isis.core.commons.authentication.AuthenticationSession; import org.apache.isis.core.commons.authentication.AuthenticationSessionProvider; import org.apache.isis.core.commons.authentication.AuthenticationSessionProviderAware; @@ -46,7 +41,10 @@ import org.apache.isis.viewer.wicket.model.models.BookmarkedPagesModel; import org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModel; import org.apache.isis.viewer.wicket.ui.components.widgets.breadcrumbs.BreadcrumbModelProvider; import org.apache.isis.viewer.wicket.ui.pages.BookmarkedPagesModelProvider; -import org.apache.wicket.request.cycle.RequestCycle; + +import static org.hamcrest.Matchers.is; +import static org.hamcrest.Matchers.not; +import static org.hamcrest.Matchers.nullValue; /** * Viewer-specific implementation of {@link AuthenticatedWebSession}, which @@ -159,7 +157,7 @@ public class AuthenticatedWebSessionForIsis extends AuthenticatedWebSession impl public void run() { // use hashcode as session identifier, to avoid re-binding http sessions if using Session#getId() int sessionHashCode = System.identityHashCode(AuthenticatedWebSessionForIsis.this); - sessionLoggingService.log(type, username, new Date(), causedBy, Integer.toString(sessionHashCode)); + sessionLoggingService.log(type, username, Clock.getTimeAsDateTime().toDate(), causedBy, Integer.toString(sessionHashCode)); } }); } http://git-wip-us.apache.org/repos/asf/isis/blob/05127812/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/i18n/po/PoReader.java ---------------------------------------------------------------------- diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/i18n/po/PoReader.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/i18n/po/PoReader.java index b6b4ddf..24d96db 100644 --- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/i18n/po/PoReader.java +++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/i18n/po/PoReader.java @@ -27,6 +27,7 @@ import com.google.common.collect.Lists; import com.google.common.collect.Maps; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.apache.isis.applib.services.i18n.UrlResolver; class PoReader extends PoAbstract { @@ -54,7 +55,7 @@ class PoReader extends PoAbstract { //region > init, shutdown void init(final Map<String,String> config) { - fallback = readPoElseNull(Locale.ROOT); + fallback = readUrl(basename + ".po"); if(fallback == null) { LOG.warn("No fallback translations found"); fallback = Collections.emptyList(); @@ -143,7 +144,11 @@ class PoReader extends PoAbstract { } private List<String> readUrl(final String candidate) { - return translationServicePo.urlResolver.readLines(candidate); + final UrlResolver urlResolver = translationServicePo.urlResolver; + if(urlResolver == null) { + return null; + } + return urlResolver.readLines(candidate); } } http://git-wip-us.apache.org/repos/asf/isis/blob/05127812/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/i18n/po/PoWriter.java ---------------------------------------------------------------------- diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/i18n/po/PoWriter.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/i18n/po/PoWriter.java index 372a2df..d2182de 100644 --- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/i18n/po/PoWriter.java +++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/i18n/po/PoWriter.java @@ -42,20 +42,38 @@ class PoWriter extends PoAbstract { } void shutdown() { - LOG.info(""); - LOG.info(""); - LOG.info("################################################################################"); - LOG.info("#"); - LOG.info("# " + LocalDateTime.now().toString("yyyy-MM-dd HH:mm:ss")); - LOG.info("#"); - LOG.info("################################################################################"); - LOG.info(""); - LOG.info(""); - LOG.info(""); - LOG.info(toPo()); - LOG.info(""); - LOG.info(""); - LOG.info(""); + final StringBuilder buf = new StringBuilder(); + buf.append("\n"); + buf.append("\n"); + buf.append("\n##############################################################################"); + buf.append("\n#"); + buf.append("\n# .pot file"); + buf.append("\n#"); + buf.append("\n# generated at: ").append(LocalDateTime.now().toString("yyyy-MM-dd HH:mm:ss")); + buf.append("\n# generated by: ").append(TranslationServicePo.class.getSimpleName()); + buf.append("\n#"); + buf.append("\n# Translate this file to each required language and place in WEB-INF, eg:"); + buf.append("\n#"); + buf.append("\n# /WEB-INF/translations_en-US.po"); + buf.append("\n# /WEB-INF/translations_en.po"); + buf.append("\n# /WEB-INF/translations_fr-FR.po"); + buf.append("\n# /WEB-INF/translations_fr.po"); + buf.append("\n# /WEB-INF/translations.po"); + buf.append("\n#"); + buf.append("\n##############################################################################"); + buf.append("\n"); + buf.append("\n"); + buf.append(toPot()); + buf.append("\n"); + buf.append("\n"); + buf.append("\n##############################################################################"); + buf.append("\n#"); + buf.append("\n# end of .pot file"); + buf.append("\n#"); + buf.append("\n##############################################################################"); + buf.append("\n"); + buf.append("\n"); + LOG.info(buf.toString()); } //endregion @@ -69,7 +87,7 @@ class PoWriter extends PoAbstract { /** * Not API */ - String toPo() { + String toPot() { final Map<String, Collection<String>> messages = messagesWithContext(); final StringBuilder buf = new StringBuilder(); for (String message : messages.keySet()) { http://git-wip-us.apache.org/repos/asf/isis/blob/05127812/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/i18n/po/TranslationServicePo.java ---------------------------------------------------------------------- diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/i18n/po/TranslationServicePo.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/i18n/po/TranslationServicePo.java index 5bebc99..785f334 100644 --- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/i18n/po/TranslationServicePo.java +++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/i18n/po/TranslationServicePo.java @@ -91,7 +91,7 @@ public class TranslationServicePo implements TranslationService { if (!prototype) { throw new IllegalStateException("Not in prototype mode"); } - return ((PoWriter)po).toPo(); + return ((PoWriter)po).toPot(); } @Inject http://git-wip-us.apache.org/repos/asf/isis/blob/05127812/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/adapter/PojoAdapter.java ---------------------------------------------------------------------- diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/adapter/PojoAdapter.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/adapter/PojoAdapter.java index 8df358b..98c4cc5 100644 --- a/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/adapter/PojoAdapter.java +++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/adapter/PojoAdapter.java @@ -59,8 +59,6 @@ public class PojoAdapter extends InstanceAbstract implements ObjectAdapter { private Oid oid; private ResolveState resolveState; - private String defaultTitle; - private ElementSpecificationProvider elementSpecificationProvider; private AuthenticationSession authenticationSession; @@ -92,7 +90,7 @@ public class PojoAdapter extends InstanceAbstract implements ObjectAdapter { @Override protected ObjectSpecification loadSpecification() { final ObjectSpecification specification = specificationLoader.loadSpecification(getObject().getClass()); - this.defaultTitle = "A" + (" " + specification.getSingularName()).toLowerCase(); + //String defaultTitle = "A" + (" " + specification.getSingularName()).toLowerCase(); return specification; } @@ -443,7 +441,7 @@ public class PojoAdapter extends InstanceAbstract implements ObjectAdapter { } protected String getDefaultTitle() { - return defaultTitle; + return "A" + (" " + getSpecification().getSingularName()).toLowerCase(); } protected void toString(final ToString str) {
