ISIS-903: simplifying design...

... get rid of the ServicesInstallerFallback hack, now register 
TranslationServicePo as a regular @DomainService.  Also remove the 
LocaleProviderDefault.  Use the absence of a TranslationResolver and/or 
LocaleProviderDefault as a hint to put the TranslationService into write mode


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/b71bee5e
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/b71bee5e
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/b71bee5e

Branch: refs/heads/master
Commit: b71bee5e99841f9b2a664c9944e0c78674fa1475
Parents: de6b070
Author: Dan Haywood <[email protected]>
Authored: Wed Feb 18 09:48:58 2015 +0000
Committer: Dan Haywood <[email protected]>
Committed: Wed Feb 18 14:07:52 2015 +0000

----------------------------------------------------------------------
 .../all/i18n/DescribedAsFacetTranslated.java    | 11 ++-
 .../facets/all/i18n/NamedFacetTranslated.java   | 11 ++-
 .../all/i18n/TranslationFacetFactory.java       | 30 ++-----
 .../services/i18n/LocaleProviderDefault.java    | 36 --------
 .../services/i18n/po/TranslationServicePo.java  | 42 ++++-----
 .../services/ServicesInstallerFallback.java     | 52 ------------
 ...InstallerFromConfigurationAndAnnotation.java | 10 ---
 .../src/main/webapp/WEB-INF/isis.properties     |  2 +-
 .../src/main/webapp/WEB-INF/logging.properties  | 11 +--
 .../src/main/webapp/WEB-INF/translations.po     | 89 ++++++++++++++++++++
 10 files changed, 136 insertions(+), 158 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/b71bee5e/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/i18n/DescribedAsFacetTranslated.java
----------------------------------------------------------------------
diff --git 
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/i18n/DescribedAsFacetTranslated.java
 
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/i18n/DescribedAsFacetTranslated.java
index 0d432a4..380f7e8 100644
--- 
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/i18n/DescribedAsFacetTranslated.java
+++ 
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/i18n/DescribedAsFacetTranslated.java
@@ -40,6 +40,11 @@ public class DescribedAsFacetTranslated extends 
FacetAbstract implements Describ
         this.context = context;
         this.originalText = originalText;
         this.translationService = translationService;
+
+        if(translationService.getMode().isWrite()) {
+            // force PoWriter to be called to capture this text that needs 
translating
+            translateText();
+        }
     }
 
     @Override
@@ -53,18 +58,18 @@ public class DescribedAsFacetTranslated extends 
FacetAbstract implements Describ
         // if we find that we're in read mode (after init of the 
TranslationServicePo).
         switch (translationService.getMode()) {
             case WRITE:
-                return translated();
+                return translateText();
             case READ:
                 // don't cache
                 if(value == null) {
-                    value = translated();
+                    value = translateText();
                 }
                 break;
         }
         return value;
     }
 
-    private String translated() {
+    private String translateText() {
         return translationService.translate(context, originalText);
     }
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/b71bee5e/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/i18n/NamedFacetTranslated.java
----------------------------------------------------------------------
diff --git 
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/i18n/NamedFacetTranslated.java
 
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/i18n/NamedFacetTranslated.java
index 3f3359a..15800d9 100644
--- 
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/i18n/NamedFacetTranslated.java
+++ 
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/i18n/NamedFacetTranslated.java
@@ -40,6 +40,11 @@ public class NamedFacetTranslated extends FacetAbstract 
implements NamedFacet {
         this.context = context;
         this.originalText = originalText;
         this.translationService = translationService;
+
+        if(translationService.getMode().isWrite()) {
+            // force PoWriter to be called to capture this text that needs 
translating
+            translateText();
+        }
     }
 
     @Override
@@ -53,18 +58,18 @@ public class NamedFacetTranslated extends FacetAbstract 
implements NamedFacet {
         // if we find that we're in read mode (after init of the 
TranslationServicePo).
         switch (translationService.getMode()) {
             case WRITE:
-                return translated();
+                return translateText();
             case READ:
                 // don't cache
                 if(value == null) {
-                    value = translated();
+                    value = translateText();
                 }
                 break;
         }
         return value;
     }
 
-    private String translated() {
+    private String translateText() {
         return translationService.translate(context, originalText);
     }
 

http://git-wip-us.apache.org/repos/asf/isis/blob/b71bee5e/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/i18n/TranslationFacetFactory.java
----------------------------------------------------------------------
diff --git 
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/i18n/TranslationFacetFactory.java
 
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/i18n/TranslationFacetFactory.java
index 9dc4e36..4200a95 100644
--- 
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/i18n/TranslationFacetFactory.java
+++ 
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/all/i18n/TranslationFacetFactory.java
@@ -97,11 +97,7 @@ public class TranslationFacetFactory extends 
FacetFactoryAbstract implements Con
         }
 
         final TranslationService translationService = 
lookupTranslationService();
-        final LocaleProvider localeProvider = lookupLocaleProvider();
-
-        if(translationService != null && localeProvider != null) {
-            FacetUtil.addFacet(new NamedFacetTranslated(context, originalText, 
translationService, facetHolder));
-        }
+        FacetUtil.addFacet(new NamedFacetTranslated(context, originalText, 
translationService, facetHolder));
     }
 
     void translateDescription(final FacetHolder facetHolder, final String 
context) {
@@ -117,11 +113,7 @@ public class TranslationFacetFactory extends 
FacetFactoryAbstract implements Con
         }
 
         final TranslationService translationService = 
lookupTranslationService();
-        final LocaleProvider localeProvider = lookupLocaleProvider();
-
-        if(translationService != null && localeProvider != null) {
-            FacetUtil.addFacet(new DescribedAsFacetTranslated(context, 
originalText, translationService, holder));
-        }
+        FacetUtil.addFacet(new DescribedAsFacetTranslated(context, 
originalText, translationService, holder));
 
     }
 
@@ -132,19 +124,11 @@ public class TranslationFacetFactory extends 
FacetFactoryAbstract implements Con
     // //////////////////////////////////////
 
     /**
-     * Looks up from {@link 
org.apache.isis.core.metamodel.runtimecontext.ServicesInjector}, otherwise 
defaults to
-     * {@link 
org.apache.isis.core.metamodel.services.i18n.LocaleProviderDefault}.
-     */
-    LocaleProvider lookupLocaleProvider() {
-        if(localeProvider == null) {
-            localeProvider = 
servicesInjector.lookupService(LocaleProvider.class);
-        }
-        return localeProvider;
-    }
-
-    /**
-     * Looks up from {@link 
org.apache.isis.core.metamodel.runtimecontext.ServicesInjector}, otherwise 
defaults to
-     * {@link 
org.apache.isis.core.metamodel.services.i18n.po.TranslationServicePo}.
+     * Looks up from {@link 
org.apache.isis.core.metamodel.runtimecontext.ServicesInjector}.
+     *
+     * <p>
+     *     There is guaranteed to be an instance because {@link 
org.apache.isis.core.metamodel.services.i18n.po.TranslationServicePo} is 
annotated as a {@link org.apache.isis.applib.annotation.DomainService 
&#64;DomainService}.
+     * </p>
      */
     TranslationService lookupTranslationService() {
         if(translationService == null) {

http://git-wip-us.apache.org/repos/asf/isis/blob/b71bee5e/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/i18n/LocaleProviderDefault.java
----------------------------------------------------------------------
diff --git 
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/i18n/LocaleProviderDefault.java
 
b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/i18n/LocaleProviderDefault.java
deleted file mode 100644
index 6df4111..0000000
--- 
a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/i18n/LocaleProviderDefault.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package org.apache.isis.core.metamodel.services.i18n;
-
-
-import java.util.Locale;
-import org.apache.isis.applib.annotation.Programmatic;
-import org.apache.isis.applib.services.i18n.LocaleProvider;
-
-/**
- * Not annotated with &#64;DomainService, but is registered as a fallback by 
<tt>ServicesInstallerFallback</tt>.
- */
-public class LocaleProviderDefault implements LocaleProvider {
-
-    @Programmatic
-    @Override
-    public Locale getLocale() {
-        return Locale.getDefault();
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/b71bee5e/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 abde47b..5dda93b 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
@@ -24,14 +24,13 @@ import javax.annotation.PreDestroy;
 import javax.inject.Inject;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.apache.isis.applib.annotation.DomainService;
 import org.apache.isis.applib.annotation.Programmatic;
 import org.apache.isis.applib.services.i18n.LocaleProvider;
 import org.apache.isis.applib.services.i18n.TranslationService;
 import org.apache.isis.applib.services.i18n.TranslationsResolver;
 
-/**
- * Not annotated with &#64;DomainService, but is registered as a fallback by 
<tt>ServicesInstallerFallback</tt>.
- */
+@DomainService
 public class TranslationServicePo implements TranslationService {
 
     public static Logger LOG = 
LoggerFactory.getLogger(TranslationServicePo.class);
@@ -39,13 +38,11 @@ public class TranslationServicePo implements 
TranslationService {
     public static final String KEY_DEPLOYMENT_TYPE = "isis.deploymentType";
     public static final String KEY_PO_MODE = 
"isis.services.translation.po.mode";
 
-    private boolean prototype;
-
     private PoAbstract po;
 
     /**
-     * Defaults to writer mode because the service isn't available while the 
metamodel is bring instantiated,
-     * however we want to force the translations to be cached in case required 
later.
+     * Defaults to writer mode because the service won't have been init'd 
while the metamodel is bring instantiated,
+     * and we want to ensure that we capture all requests for translation.
      */
     public TranslationServicePo() {
         po = new PoWriter(this);
@@ -57,22 +54,31 @@ public class TranslationServicePo implements 
TranslationService {
     @PostConstruct
     public void init(final Map<String,String> config) {
 
+        if(getLocaleProvider() == null || getTranslationsResolver() == null) {
+            // remain in write mode
+            return;
+        }
+
         final String deploymentType = config.get(KEY_DEPLOYMENT_TYPE);
-        prototype = deploymentType==null ||
+        boolean prototypeOrTest = deploymentType==null ||
                     deploymentType.toLowerCase().contains("prototype") ||
                     deploymentType.toLowerCase().contains("test") ;
 
-        String translationMode = config.get(KEY_PO_MODE);
+        final String translationMode = config.get(KEY_PO_MODE);
         final boolean forceRead =
                 translationMode != null &&
                         ("read".equalsIgnoreCase(translationMode) ||
                          "reader".equalsIgnoreCase(translationMode));
 
-        if (!prototype || forceRead) {
-            final PoReader poReader = new PoReader(this);
-            poReader.init(config);
-            po = poReader;
+        if(prototypeOrTest && !forceRead) {
+            // remain in write mode
+            return;
         }
+
+        // switch to read mode
+        final PoReader poReader = new PoReader(this);
+        poReader.init(config);
+        po = poReader;
     }
 
     @Programmatic
@@ -82,10 +88,6 @@ public class TranslationServicePo implements 
TranslationService {
     }
     //endregion
 
-    boolean isPrototype() {
-        return prototype;
-    }
-
 
     @Override
     @Programmatic
@@ -106,9 +108,10 @@ public class TranslationServicePo implements 
TranslationService {
     /**
      * Not API
      */
+    @Programmatic
     public String toPo() {
-        if (!prototype) {
-            throw new IllegalStateException("Not in prototype mode");
+        if (!getMode().isWrite()) {
+            throw new IllegalStateException("Not in write mode");
         }
         return  ((PoWriter)po).toPot();
     }
@@ -132,5 +135,4 @@ public class TranslationServicePo implements 
TranslationService {
     LocaleProvider getLocaleProvider() {
         return localeProvider;
     }
-
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/b71bee5e/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServicesInstallerFallback.java
----------------------------------------------------------------------
diff --git 
a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServicesInstallerFallback.java
 
b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServicesInstallerFallback.java
deleted file mode 100644
index 9f560ce..0000000
--- 
a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServicesInstallerFallback.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.runtime.services;
-
-import java.util.List;
-import com.google.common.collect.Lists;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.apache.isis.core.commons.config.InstallerAbstract;
-import org.apache.isis.core.metamodel.services.i18n.LocaleProviderDefault;
-import org.apache.isis.core.metamodel.services.i18n.po.TranslationServicePo;
-import org.apache.isis.core.runtime.system.DeploymentType;
-
-public class ServicesInstallerFallback extends InstallerAbstract implements 
ServicesInstaller {
-
-    private static final Logger LOG = 
LoggerFactory.getLogger(ServicesInstallerFallback.class);
-
-    public ServicesInstallerFallback() {
-        super(ServicesInstaller.TYPE, "fallback");
-    }
-
-    @Override
-    public List<Object> getServices(final DeploymentType deploymentType) {
-        return Lists.newArrayList(new TranslationServicePo(), new 
LocaleProviderDefault());
-    }
-
-    @Override
-    public void setIgnoreFailures(final boolean ignoreFailures) {
-    }
-
-    @Override
-    public List<Class<?>> getTypes() {
-        return listOf(List.class); // ie List<Object.class>, of services
-    }
-}

http://git-wip-us.apache.org/repos/asf/isis/blob/b71bee5e/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServicesInstallerFromConfigurationAndAnnotation.java
----------------------------------------------------------------------
diff --git 
a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServicesInstallerFromConfigurationAndAnnotation.java
 
b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServicesInstallerFromConfigurationAndAnnotation.java
index 9ae9429..44dbd52 100644
--- 
a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServicesInstallerFromConfigurationAndAnnotation.java
+++ 
b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServicesInstallerFromConfigurationAndAnnotation.java
@@ -38,7 +38,6 @@ public class ServicesInstallerFromConfigurationAndAnnotation 
extends InstallerAb
     private final ServiceInstantiator serviceInstantiator;
     private final ServicesInstallerFromConfiguration 
servicesInstallerFromConfiguration;
     private final ServicesInstallerFromAnnotation 
servicesInstallerFromAnnotation;
-    private final ServicesInstallerFallback servicesInstallerDefaults;
 
 
     public ServicesInstallerFromConfigurationAndAnnotation() {
@@ -51,7 +50,6 @@ public class ServicesInstallerFromConfigurationAndAnnotation 
extends InstallerAb
         this.serviceInstantiator = serviceInstantiator;
         servicesInstallerFromConfiguration = new 
ServicesInstallerFromConfiguration(serviceInstantiator);
         servicesInstallerFromAnnotation = new 
ServicesInstallerFromAnnotation(serviceInstantiator);
-        servicesInstallerDefaults = new ServicesInstallerFallback();
     }
 
     public void setIgnoreFailures(boolean ignoreFailures) {
@@ -62,26 +60,22 @@ public class 
ServicesInstallerFromConfigurationAndAnnotation extends InstallerAb
     public void setConfigurationBuilder(IsisConfigurationBuilder 
isisConfigurationBuilder) {
         
servicesInstallerFromConfiguration.setConfigurationBuilder(isisConfigurationBuilder);
         
servicesInstallerFromAnnotation.setConfigurationBuilder(isisConfigurationBuilder);
-        
servicesInstallerDefaults.setConfigurationBuilder(isisConfigurationBuilder);
     }
 
     @Override
     public void setConfiguration(IsisConfiguration configuration) {
         servicesInstallerFromConfiguration.setConfiguration(configuration);
         servicesInstallerFromAnnotation.setConfiguration(configuration);
-        servicesInstallerDefaults.setConfiguration(configuration);
     }
 
     public void init() {
         servicesInstallerFromConfiguration.init();
         servicesInstallerFromAnnotation.init();
-        servicesInstallerDefaults.init();
     }
 
     public void shutdown() {
         servicesInstallerFromConfiguration.shutdown();
         servicesInstallerFromAnnotation.shutdown();
-        servicesInstallerDefaults.shutdown();
     }
 
     // //////////////////////////////////////
@@ -102,10 +96,6 @@ public class 
ServicesInstallerFromConfigurationAndAnnotation extends InstallerAb
 
             serviceList = 
ServicesInstallerUtils.instantiateServicesFrom(positionedServices, 
serviceInstantiator);
 
-            // add defaults to the end
-            final List<Object> defaultServices = 
servicesInstallerDefaults.getServices(deploymentType);
-            serviceList.addAll(defaultServices);
-
             servicesByDeploymentType.put(deploymentType, serviceList);
         }
 

http://git-wip-us.apache.org/repos/asf/isis/blob/b71bee5e/example/application/simpleapp/webapp/src/main/webapp/WEB-INF/isis.properties
----------------------------------------------------------------------
diff --git 
a/example/application/simpleapp/webapp/src/main/webapp/WEB-INF/isis.properties 
b/example/application/simpleapp/webapp/src/main/webapp/WEB-INF/isis.properties
index f0c1287..feff771 100644
--- 
a/example/application/simpleapp/webapp/src/main/webapp/WEB-INF/isis.properties
+++ 
b/example/application/simpleapp/webapp/src/main/webapp/WEB-INF/isis.properties
@@ -272,7 +272,7 @@ isis.fixtures=fixture.simple.scenario.RecreateSimpleObjects
 #
 # force read translations, even if running in prototype mode
 #
-isis.services.translation.po.mode=read
+#isis.services.translation.po.mode=read
 
 
 

http://git-wip-us.apache.org/repos/asf/isis/blob/b71bee5e/example/application/simpleapp/webapp/src/main/webapp/WEB-INF/logging.properties
----------------------------------------------------------------------
diff --git 
a/example/application/simpleapp/webapp/src/main/webapp/WEB-INF/logging.properties
 
b/example/application/simpleapp/webapp/src/main/webapp/WEB-INF/logging.properties
index 6b6086b..83dfcd5 100644
--- 
a/example/application/simpleapp/webapp/src/main/webapp/WEB-INF/logging.properties
+++ 
b/example/application/simpleapp/webapp/src/main/webapp/WEB-INF/logging.properties
@@ -68,12 +68,6 @@ log4j.appender.connection.Append=false
 log4j.appender.connection.layout=org.apache.log4j.PatternLayout
 log4j.appender.connection.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSS} 
%m%n
 
-log4j.appender.i18n-po=org.apache.log4j.FileAppender
-log4j.appender.i18n-po.File=./logs/i18n-po.log
-log4j.appender.i18n-po.Append=false
-log4j.appender.i18n-po.layout=org.apache.log4j.PatternLayout
-log4j.appender.i18n-po.layout.ConversionPattern=%m%n
-
 
 
 
@@ -83,7 +77,7 @@ log4j.appender.i18n-po.layout.ConversionPattern=%m%n
 
 # DataNucleus
 # the first two log the DML and DDL (if set to DEBUG)
-log4j.logger.DataNucleus.Datastore.Native=DEBUG, Console
+log4j.logger.DataNucleus.Datastore.Native=WARN, Console
 log4j.logger.DataNucleus.Datastore.Schema=DEBUG, Console
 # the remainder can probably be left to WARN
 log4j.logger.DataNucleus.Persistence=WARN, Console
@@ -183,9 +177,6 @@ 
log4j.logger.org.apache.isis.core.runtime.installers.InstallerLookupDefault=WARN
 
log4j.additivity.org.apache.isis.core.runtime.installers.InstallerLookupDefault=false
 
 
-log4j.logger.org.apache.isis.core.metamodel.services.i18n.po.PoWriter=INFO,i18n-po
-log4j.additivity.org.apache.isis.core.metamodel.services.i18n.po.PoWriter=false
-
 
 # Application-specific logging
 log4j.logger.dom.simple.SimpleObject=DEBUG, Stderr

http://git-wip-us.apache.org/repos/asf/isis/blob/b71bee5e/example/application/simpleapp/webapp/src/main/webapp/WEB-INF/translations.po
----------------------------------------------------------------------
diff --git 
a/example/application/simpleapp/webapp/src/main/webapp/WEB-INF/translations.po 
b/example/application/simpleapp/webapp/src/main/webapp/WEB-INF/translations.po
index b9fd68c..c38c34f 100644
--- 
a/example/application/simpleapp/webapp/src/main/webapp/WEB-INF/translations.po
+++ 
b/example/application/simpleapp/webapp/src/main/webapp/WEB-INF/translations.po
@@ -12,21 +12,48 @@
 #
 ##############################################################################
 
+#: 
org.apache.isis.core.metamodel.services.i18n.TranslationServicePoMenu#downloadPotFile(java.lang.String)
+msgid ".pot file name"
+msgstr ""
+
+
 #: dom.simple.SimpleObjects#create()
 msgid "Create"
 msgstr ""
 
 
+#: 
org.apache.isis.core.metamodel.services.i18n.TranslationServicePoMenu#downloadPotFile()
+msgid "Download Pot File"
+msgstr ""
+
+
 #: dom.simple.SimpleObject#updateName()
 msgid "Exclamation mark is not allowed"
 msgstr ""
 
 
+#: org.apache.isis.applib.fixturescripts.FixtureResult#fixtureScriptClassName
+msgid "Fixture script"
+msgstr ""
+
+
+#: 
org.apache.isis.core.metamodel.services.container.DomainObjectContainerDefault#isViewModel()
+msgid "Is View Model"
+msgstr ""
+
+
 #: dom.simple.SimpleObjects#listAll()
 msgid "List All"
 msgstr ""
 
 
+#: fixture.simple.scenario.RecreateSimpleObjects#lookup()
+#: org.apache.isis.applib.fixturescripts.FixtureScript#lookup()
+#: 
org.apache.isis.applib.services.bookmark.BookmarkHolderActionContributions#lookup()
+msgid "Lookup"
+msgstr ""
+
+
 #: dom.simple.SimpleObjects#create(java.lang.String)
 msgid "Name"
 msgstr ""
@@ -37,19 +64,81 @@ msgid "New name"
 msgstr ""
 
 
+#: 
org.apache.isis.applib.services.bookmark.BookmarkHolderAssociationContributions#object()
+msgid "Object"
+msgstr ""
+
+
 #: dom.simple.SimpleObject#title()
 msgid "Object: {name}"
 msgstr "'{name}'"
 
 
+#: 
fixture.simple.SimpleObjectsFixturesService#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
+#: 
org.apache.isis.applib.fixturescripts.FixtureScripts#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
+msgid "Parameters"
+msgstr ""
+
+
+#: fixture.simple.SimpleObjectsFixturesService
+#: org.apache.isis.core.metamodel.services.i18n.TranslationServicePoMenu
+msgid "Prototyping"
+msgstr ""
+
+
+#: fixture.simple.SimpleObjectsFixturesService#recreateObjectsAndReturnFirst()
+msgid "Recreate Objects And Return First"
+msgstr ""
+
+
+#: org.apache.isis.applib.fixturescripts.FixtureResult#object
+msgid "Result"
+msgstr ""
+
+
+#: org.apache.isis.applib.fixturescripts.FixtureResult#className
+msgid "Result class"
+msgstr ""
+
+
+#: org.apache.isis.applib.fixturescripts.FixtureResult#key
+msgid "Result key"
+msgstr ""
+
+
+#: fixture.simple.SimpleObjectsFixturesService#runFixtureScript()
+#: org.apache.isis.applib.fixturescripts.FixtureScripts#runFixtureScript()
+msgid "Run Fixture Script"
+msgstr ""
+
+
+#: fixture.simple.scenario.RecreateSimpleObjects
+#: org.apache.isis.applib.fixturescripts.FixtureScript
+msgid "Script"
+msgstr ""
+
+
+#: 
fixture.simple.SimpleObjectsFixturesService#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
+#: 
org.apache.isis.applib.fixturescripts.FixtureScripts#runFixtureScript(org.apache.isis.applib.fixturescripts.FixtureScript,java.lang.String)
+msgid "Script-specific parameters (if any).  The format depends on the script 
implementation (eg key=value, CSV, JSON, XML etc)"
+msgstr ""
+
+
 #: dom.simple.SimpleObject#updateName()
 msgid "Update Name"
 msgstr ""
 
 
+#: fixture.simple.scenario.RecreateSimpleObjects#withDiscoverability()
+#: org.apache.isis.applib.fixturescripts.FixtureScript#withDiscoverability()
+msgid "With Discoverability"
+msgstr ""
+
+
 
 
 
 ##############################################################################
 # end of .pot file
 ##############################################################################
+

Reply via email to