You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2015/03/20 19:51:58 UTC

[1/2] isis git commit: ISIS-1103: new NamedFacetDefault to be used rather than NamedFacetNone for object members (superceding default logic in ObjectMemberAbstract#getName()).

Repository: isis
Updated Branches:
  refs/heads/master c79af4e24 -> 3044f0288


ISIS-1103: new NamedFacetDefault to be used rather than NamedFacetNone for object members (superceding default logic in ObjectMemberAbstract#getName()).

Doing it this way is more consistent and crucially gives NamedFacetTranslate gives a string (the original default value) to use as a msgId

 in addition:
- updated translations file for simpleapp, and added some partial translations for ES and NL.
- don't contribute actions to values (eg java.lang.String)


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

Branch: refs/heads/master
Commit: 53da961fb5ebc0dd36f13bd9c5d02b7ba172786b
Parents: c79af4e
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Fri Mar 20 18:46:47 2015 +0000
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Fri Mar 20 18:46:47 2015 +0000

----------------------------------------------------------------------
 .../facetdecorator/FacetDecoratorSet.java       |   4 +-
 .../facets/all/i18n/NamedFacetTranslated.java   |   2 -
 .../all/i18n/TranslationFacetFactory.java       |   2 -
 .../facets/fallback/FallbackFacetFactory.java   |  31 +--
 .../facets/fallback/NamedFacetDefault.java      |  33 ++++
 .../facets/fallback/NamedFacetNone.java         |   6 +-
 .../PropertyLayoutFacetFactory.java             |   4 +-
 .../specimpl/ObjectMemberAbstract.java          |   8 +-
 .../specimpl/ObjectSpecificationAbstract.java   |   2 +-
 .../src/main/webapp/WEB-INF/translations-en.po  | 194 +++++++++++++++++++
 .../main/webapp/WEB-INF/translations-en_GB.po   | 155 ---------------
 .../src/main/webapp/WEB-INF/translations-es.po  | 194 +++++++++++++++++++
 .../src/main/webapp/WEB-INF/translations-nl.po  | 194 +++++++++++++++++++
 .../src/main/webapp/WEB-INF/translations.po     |  45 ++++-
 14 files changed, 692 insertions(+), 182 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/53da961f/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facetdecorator/FacetDecoratorSet.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facetdecorator/FacetDecoratorSet.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facetdecorator/FacetDecoratorSet.java
index 68a9993..4e64a84 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facetdecorator/FacetDecoratorSet.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facetdecorator/FacetDecoratorSet.java
@@ -41,7 +41,7 @@ import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
 
 public class FacetDecoratorSet implements ApplicationScopedComponent {
 
-    private final Map<Class<? extends Facet>, List<FacetDecorator>> facetDecoratorByFacetType = new HashMap<Class<? extends Facet>, List<FacetDecorator>>();
+    private final Map<Class<? extends Facet>, List<FacetDecorator>> facetDecoratorByFacetType = new HashMap<>();
     private final Set<FacetDecorator> facetDecoratorSet = new LinkedHashSet<FacetDecorator>();
 
     // ////////////////////////////////////////////////////////////
@@ -71,7 +71,7 @@ public class FacetDecoratorSet implements ApplicationScopedComponent {
     private List<FacetDecorator> getFacetDecoratorList(final Class<? extends Facet> decoratedFacetType) {
         List<FacetDecorator> facetDecoratorList = facetDecoratorByFacetType.get(decoratedFacetType);
         if (facetDecoratorList == null) {
-            facetDecoratorList = new ArrayList<FacetDecorator>();
+            facetDecoratorList = new ArrayList<>();
             facetDecoratorByFacetType.put(decoratedFacetType, facetDecoratorList);
         }
         return facetDecoratorList;

http://git-wip-us.apache.org/repos/asf/isis/blob/53da961f/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 0a84993..005484b 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
@@ -30,8 +30,6 @@ public class NamedFacetTranslated extends FacetAbstract implements NamedFacet {
     String context;
     String originalText;
 
-    private String value;
-
     public NamedFacetTranslated(
             final String context, final String originalText,
             final TranslationService translationService,

http://git-wip-us.apache.org/repos/asf/isis/blob/53da961f/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 bcadd2c..c8fe2e1 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
@@ -20,7 +20,6 @@ package org.apache.isis.core.metamodel.facets.all.i18n;
 
 
 import com.google.common.base.Strings;
-import org.apache.isis.applib.services.i18n.LocaleProvider;
 import org.apache.isis.applib.services.i18n.TranslationService;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facetapi.FacetUtil;
@@ -38,7 +37,6 @@ public class TranslationFacetFactory extends FacetFactoryAbstract implements Con
     private ServicesInjector servicesInjector;
 
     private TranslationService translationService;
-    private LocaleProvider localeProvider;
 
     public TranslationFacetFactory() {
         super(FeatureType.EVERYTHING);

http://git-wip-us.apache.org/repos/asf/isis/blob/53da961f/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/fallback/FallbackFacetFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/fallback/FallbackFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/fallback/FallbackFacetFactory.java
index 10b689f..f42fac3 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/fallback/FallbackFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/fallback/FallbackFacetFactory.java
@@ -26,6 +26,7 @@ import com.google.common.collect.Lists;
 import org.apache.isis.applib.annotation.LabelPosition;
 import org.apache.isis.core.commons.config.IsisConfiguration;
 import org.apache.isis.core.commons.config.IsisConfigurationAware;
+import org.apache.isis.core.commons.lang.StringExtensions;
 import org.apache.isis.core.metamodel.facetapi.Facet;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facetapi.FacetUtil;
@@ -92,27 +93,31 @@ public class FallbackFacetFactory extends FacetFactoryAbstract implements IsisCo
     public void process(final ProcessMethodContext processMethodContext) {
         final List<Facet> facets = Lists.newArrayList();
 
-        final FacetedMethod facetHolder = processMethodContext.getFacetHolder();
-        
-        
-        facets.add(new NamedFacetNone(facetHolder));
-        facets.add(new DescribedAsFacetNone(facetHolder));
-        facets.add(new HelpFacetNone(facetHolder));
+        final FacetedMethod facetedMethod = processMethodContext.getFacetHolder();
 
 
-        final FeatureType featureType = facetHolder.getFeatureType();
+        final String id = facetedMethod.getIdentifier().getMemberName();
+        String defaultName = StringExtensions.asNaturalName2(id);
+
+        facets.add(new NamedFacetDefault(defaultName, facetedMethod));
+
+        facets.add(new DescribedAsFacetNone(facetedMethod));
+        facets.add(new HelpFacetNone(facetedMethod));
+
+
+        final FeatureType featureType = facetedMethod.getFeatureType();
         if (featureType.isProperty()) {
-            facets.add(new MaxLengthFacetUnlimited(facetHolder));
-            facets.add(new MultiLineFacetNone(true, facetHolder));
+            facets.add(new MaxLengthFacetUnlimited(facetedMethod));
+            facets.add(new MultiLineFacetNone(true, facetedMethod));
 
-            facets.add(newPropParamLayoutFacetIfAny(facetHolder, "propertyLayout"));
+            facets.add(newPropParamLayoutFacetIfAny(facetedMethod, "propertyLayout"));
         }
         if (featureType.isAction()) {
-            facets.add(new ActionDefaultsFacetNone(facetHolder));
-            facets.add(new ActionChoicesFacetNone(facetHolder));
+            facets.add(new ActionDefaultsFacetNone(facetedMethod));
+            facets.add(new ActionChoicesFacetNone(facetedMethod));
         }
         if (featureType.isCollection()) {
-            facets.add(new PagedFacetFromConfiguration(getPagedConfigSetting("parented", PAGE_SIZE_PARENTED_DEFAULT), facetHolder));
+            facets.add(new PagedFacetFromConfiguration(getPagedConfigSetting("parented", PAGE_SIZE_PARENTED_DEFAULT), facetedMethod));
         }
 
         FacetUtil.addFacets(facets);

http://git-wip-us.apache.org/repos/asf/isis/blob/53da961f/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/fallback/NamedFacetDefault.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/fallback/NamedFacetDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/fallback/NamedFacetDefault.java
new file mode 100644
index 0000000..e52034b
--- /dev/null
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/fallback/NamedFacetDefault.java
@@ -0,0 +1,33 @@
+/*
+ *  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.facets.fallback;
+
+import org.apache.isis.core.metamodel.facetapi.FacetHolder;
+import org.apache.isis.core.metamodel.facets.all.named.NamedFacetAbstract;
+
+public class NamedFacetDefault extends NamedFacetAbstract {
+
+    public static final boolean ESCAPED = true;
+
+    public NamedFacetDefault(final String value, final FacetHolder holder) {
+        super(value, ESCAPED, holder);
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/isis/blob/53da961f/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/fallback/NamedFacetNone.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/fallback/NamedFacetNone.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/fallback/NamedFacetNone.java
index 86cbbf3..419f559 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/fallback/NamedFacetNone.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/fallback/NamedFacetNone.java
@@ -24,14 +24,16 @@ import org.apache.isis.core.metamodel.facets.all.named.NamedFacetAbstract;
 
 /**
  * Has a name of <tt>null</tt>.
- * 
+ *
  * <p>
  * TODO: should this instead be the empty string?
  */
 public class NamedFacetNone extends NamedFacetAbstract {
 
+    public static final boolean ESCAPED = true;
+
     public NamedFacetNone(final FacetHolder holder) {
-        super(null, /*escaped*/ true, holder);
+        super(null, ESCAPED, holder);
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/isis/blob/53da961f/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/PropertyLayoutFacetFactory.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/PropertyLayoutFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/PropertyLayoutFacetFactory.java
index f59da25..dac5884 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/PropertyLayoutFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/propertylayout/PropertyLayoutFacetFactory.java
@@ -19,6 +19,7 @@
 
 package org.apache.isis.core.metamodel.facets.properties.propertylayout;
 
+import java.lang.reflect.Method;
 import java.util.Properties;
 import org.apache.isis.applib.annotation.PropertyLayout;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
@@ -46,13 +47,14 @@ public class PropertyLayoutFacetFactory extends FacetFactoryAbstract implements
     public void process(final ProcessMethodContext processMethodContext) {
 
         final FacetHolder holder = processMethodContext.getFacetHolder();
+        final Method method = processMethodContext.getMethod();
 
         Properties properties = processMethodContext.metadataProperties("propertyLayout");
         if(properties == null) {
             // alternate key
             properties = processMethodContext.metadataProperties("layout");
         }
-        final PropertyLayout propertyLayout = Annotations.getAnnotation(processMethodContext.getMethod(), PropertyLayout.class);
+        final PropertyLayout propertyLayout = Annotations.getAnnotation(method, PropertyLayout.class);
 
 
         // cssClass

http://git-wip-us.apache.org/repos/asf/isis/blob/53da961f/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectMemberAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectMemberAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectMemberAbstract.java
index ca267dd..04f9ec1 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectMemberAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectMemberAbstract.java
@@ -184,7 +184,13 @@ public abstract class ObjectMemberAbstract implements ObjectMember {
     public String getName() {
         final NamedFacet facet = getFacet(NamedFacet.class);
         final String name = facet.value();
-        return name != null ? name : defaultName;
+        if (name != null) {
+            return name;
+        }
+        else {
+            // this should now be redundant, see NamedFacetDefault
+            return defaultName;
+        }
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/isis/blob/53da961f/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectSpecificationAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectSpecificationAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectSpecificationAbstract.java
index 44da586..7de5520 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectSpecificationAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectSpecificationAbstract.java
@@ -1014,7 +1014,7 @@ public abstract class ObjectSpecificationAbstract extends FacetHolderImpl implem
      * then returns an empty list.
      */
     protected List<ObjectAction> createContributeeActions() {
-        if (isService()) {
+        if (isService() || isValue()) {
             return Collections.emptyList();
         }
         final List<ObjectAction> contributeeActions = Lists.newArrayList();

http://git-wip-us.apache.org/repos/asf/isis/blob/53da961f/example/application/simpleapp/webapp/src/main/webapp/WEB-INF/translations-en.po
----------------------------------------------------------------------
diff --git a/example/application/simpleapp/webapp/src/main/webapp/WEB-INF/translations-en.po b/example/application/simpleapp/webapp/src/main/webapp/WEB-INF/translations-en.po
new file mode 100644
index 0000000..b6aa415
--- /dev/null
+++ b/example/application/simpleapp/webapp/src/main/webapp/WEB-INF/translations-en.po
@@ -0,0 +1,194 @@
+##############################################################################
+#
+# .pot file
+#
+# Translate this file to each required language and place in WEB-INF, eg:
+#
+#     /WEB-INF/translations-en_US.po
+#     /WEB-INF/translations-en.po
+#     /WEB-INF/translations-fr_FR.po
+#     /WEB-INF/translations-fr.po
+#     /WEB-INF/translations.po
+#
+##############################################################################
+
+#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#downloadTranslations(java.lang.String)
+msgid ".pot file name"
+msgstr ""
+
+
+#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#resetTranslationCache()
+msgid "Clear translation cache"
+msgstr ""
+
+
+#: domainapp.dom.modules.simple.SimpleObjects#create()
+msgid "Create"
+msgstr ""
+
+
+#: org.apache.isis.applib.fixturescripts.FixtureScript#discoverable
+msgid "Discoverable"
+msgstr ""
+
+
+#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#downloadTranslations()
+msgid "Download Translations"
+msgstr ""
+
+
+#: domainapp.dom.modules.simple.SimpleObject#updateName()
+msgid "Exclamation mark is not allowed"
+msgstr ""
+
+
+#: domainapp.dom.modules.simple.SimpleObjects#findByName()
+#: java.lang.String#findByName()
+msgid "Find By Name"
+msgstr ""
+
+
+#: org.apache.isis.applib.fixturescripts.FixtureResult#fixtureScriptClassName
+msgid "Fixture script"
+msgstr ""
+
+
+#: org.apache.isis.applib.fixturescripts.FixtureScript#friendlyName
+msgid "Friendly Name"
+msgstr ""
+
+
+#: domainapp.dom.app.homepage.HomePageService#homePage()
+msgid "Home Page"
+msgstr ""
+
+
+#: domainapp.dom.modules.simple.SimpleObjects#listAll()
+msgid "List All"
+msgstr ""
+
+
+#: org.apache.isis.applib.fixturescripts.FixtureScript#localName
+msgid "Local Name"
+msgstr ""
+
+
+#: org.apache.isis.applib.fixturescripts.FixtureScript#lookup()
+#: org.apache.isis.applib.services.bookmark.BookmarkHolderActionContributions#lookup()
+msgid "Lookup"
+msgstr ""
+
+
+#: domainapp.dom.modules.simple.SimpleObject#name
+#: domainapp.dom.modules.simple.SimpleObjects#create(java.lang.String)
+#: domainapp.dom.modules.simple.SimpleObjects#findByName(java.lang.String)
+msgid "Name"
+msgstr ""
+
+
+#: domainapp.dom.modules.simple.SimpleObject#updateName(java.lang.String)
+msgid "New name"
+msgstr ""
+
+
+#: org.apache.isis.applib.services.bookmark.BookmarkHolderAssociationContributions#object()
+msgid "Object"
+msgstr ""
+
+
+#: domainapp.dom.modules.simple.SimpleObject#title()
+msgid "Object: {name}"
+msgstr ""
+
+
+#: domainapp.dom.app.homepage.HomePageViewModel#objects
+msgid "Objects"
+msgstr ""
+
+
+#: domainapp.fixture.DomainAppFixturesService#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 ""
+
+
+#: org.apache.isis.applib.fixturescripts.FixtureScript#parentPath
+msgid "Parent Path"
+msgstr ""
+
+
+#: domainapp.fixture.DomainAppFixturesService
+#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu
+msgid "Prototyping"
+msgstr ""
+
+
+#: domainapp.fixture.DomainAppFixturesService#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 ""
+
+
+#: domainapp.fixture.DomainAppFixturesService#runFixtureScript()
+#: org.apache.isis.applib.fixturescripts.FixtureScripts#runFixtureScript()
+msgid "Run Fixture Script"
+msgstr ""
+
+
+#: org.apache.isis.applib.fixturescripts.FixtureScript
+msgid "Script"
+msgstr ""
+
+
+#: domainapp.fixture.DomainAppFixturesService#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 ""
+
+
+#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#switchToReadingTranslations()
+msgid "Switch To Reading Translations"
+msgstr ""
+
+
+#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#switchToWritingTranslations()
+msgid "Switch To Writing Translations"
+msgstr ""
+
+
+#: org.apache.isis.applib.fixturescripts.FixtureScript#type
+msgid "Type"
+msgstr ""
+
+
+#: domainapp.dom.modules.simple.SimpleObject#updateName()
+msgid "Update Name"
+msgstr ""
+
+
+#: org.apache.isis.applib.fixturescripts.FixtureScript#withDiscoverability()
+msgid "With Discoverability"
+msgstr ""
+
+
+
+
+
+##############################################################################
+# end of .pot file
+##############################################################################
+

http://git-wip-us.apache.org/repos/asf/isis/blob/53da961f/example/application/simpleapp/webapp/src/main/webapp/WEB-INF/translations-en_GB.po
----------------------------------------------------------------------
diff --git a/example/application/simpleapp/webapp/src/main/webapp/WEB-INF/translations-en_GB.po b/example/application/simpleapp/webapp/src/main/webapp/WEB-INF/translations-en_GB.po
deleted file mode 100644
index 4e2c823..0000000
--- a/example/application/simpleapp/webapp/src/main/webapp/WEB-INF/translations-en_GB.po
+++ /dev/null
@@ -1,155 +0,0 @@
-##############################################################################
-#
-# .pot file
-#
-# Translate this file to each required language and place in WEB-INF, eg:
-#
-#     /WEB-INF/translations_en-US.po
-#     /WEB-INF/translations_en.po
-#     /WEB-INF/translations_fr-FR.po
-#     /WEB-INF/translations_fr.po
-#     /WEB-INF/translations.po
-#
-##############################################################################
-
-#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#downloadTranslations(java.lang.String)
-msgid ".pot file name"
-msgstr ""
-
-
-#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#resetTranslationCache()
-msgid "Clear translation cache"
-msgstr "Reload .po files"
-
-
-#: domainapp.dom.modules.simple.SimpleObjects#create()
-msgid "Create"
-msgstr ""
-
-
-#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#downloadTranslations()
-msgid "Download Translations"
-msgstr "Download .pot file"
-
-
-#: domainapp.dom.modules.simple.SimpleObject#updateName()
-msgid "Exclamation mark is not allowed"
-msgstr "No exclamation marks, chum!"
-
-
-#: domainapp.dom.modules.simple.SimpleObjects#findByName()
-msgid "Find By Name"
-msgstr ""
-
-
-#: org.apache.isis.applib.fixturescripts.FixtureResult#fixtureScriptClassName
-msgid "Fixture script"
-msgstr ""
-
-
-#: domainapp.dom.app.homepage.HomePageService#homePage()
-msgid "Home Page"
-msgstr ""
-
-
-#: domainapp.dom.modules.simple.SimpleObjects#listAll()
-msgid "List All"
-msgstr ""
-
-
-#: domainapp.fixture.scenarios.RecreateSimpleObjects#lookup()
-#: org.apache.isis.applib.fixturescripts.FixtureScript#lookup()
-#: org.apache.isis.applib.services.bookmark.BookmarkHolderActionContributions#lookup()
-msgid "Lookup"
-msgstr ""
-
-
-#: domainapp.dom.modules.simple.SimpleObjects#create(java.lang.String)
-#: domainapp.dom.modules.simple.SimpleObjects#findByName(java.lang.String)
-msgid "Name"
-msgstr ""
-
-
-#: domainapp.dom.modules.simple.SimpleObject#updateName(java.lang.String)
-msgid "New name"
-msgstr ""
-
-
-#: org.apache.isis.applib.services.bookmark.BookmarkHolderAssociationContributions#object()
-msgid "Object"
-msgstr ""
-
-
-#: domainapp.dom.modules.simple.SimpleObject#title()
-msgid "Object: {name}"
-msgstr ""
-
-
-#: domainapp.fixture.DomainAppFixturesService#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 ""
-
-
-#: domainapp.fixture.DomainAppFixturesService
-#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu
-msgid "Prototyping"
-msgstr ""
-
-
-#: domainapp.fixture.DomainAppFixturesService#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 ""
-
-
-#: domainapp.fixture.DomainAppFixturesService#runFixtureScript()
-#: org.apache.isis.applib.fixturescripts.FixtureScripts#runFixtureScript()
-msgid "Run Fixture Script"
-msgstr ""
-
-
-#: domainapp.fixture.scenarios.RecreateSimpleObjects
-#: org.apache.isis.applib.fixturescripts.FixtureScript
-msgid "Script"
-msgstr ""
-
-
-#: domainapp.fixture.DomainAppFixturesService#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 ""
-
-
-#: domainapp.dom.modules.simple.SimpleObject#updateName()
-msgid "Update Name"
-msgstr ""
-
-
-#: domainapp.fixture.scenarios.RecreateSimpleObjects#withDiscoverability()
-#: org.apache.isis.applib.fixturescripts.FixtureScript#withDiscoverability()
-msgid "With Discoverability"
-msgstr ""
-
-
-
-
-
-##############################################################################
-# end of .pot file
-##############################################################################
-

http://git-wip-us.apache.org/repos/asf/isis/blob/53da961f/example/application/simpleapp/webapp/src/main/webapp/WEB-INF/translations-es.po
----------------------------------------------------------------------
diff --git a/example/application/simpleapp/webapp/src/main/webapp/WEB-INF/translations-es.po b/example/application/simpleapp/webapp/src/main/webapp/WEB-INF/translations-es.po
new file mode 100644
index 0000000..40c24f0
--- /dev/null
+++ b/example/application/simpleapp/webapp/src/main/webapp/WEB-INF/translations-es.po
@@ -0,0 +1,194 @@
+##############################################################################
+#
+# .pot file
+#
+# Translate this file to each required language and place in WEB-INF, eg:
+#
+#     /WEB-INF/translations-en_US.po
+#     /WEB-INF/translations-en.po
+#     /WEB-INF/translations-fr_FR.po
+#     /WEB-INF/translations-fr.po
+#     /WEB-INF/translations.po
+#
+##############################################################################
+
+#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#downloadTranslations(java.lang.String)
+msgid ".pot file name"
+msgstr ""
+
+
+#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#resetTranslationCache()
+msgid "Clear translation cache"
+msgstr ""
+
+
+#: domainapp.dom.modules.simple.SimpleObjects#create()
+msgid "Create"
+msgstr "Crear"
+
+
+#: org.apache.isis.applib.fixturescripts.FixtureScript#discoverable
+msgid "Discoverable"
+msgstr ""
+
+
+#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#downloadTranslations()
+msgid "Download Translations"
+msgstr ""
+
+
+#: domainapp.dom.modules.simple.SimpleObject#updateName()
+msgid "Exclamation mark is not allowed"
+msgstr ""
+
+
+#: domainapp.dom.modules.simple.SimpleObjects#findByName()
+#: java.lang.String#findByName()
+msgid "Find By Name"
+msgstr "Buscar por Nombre"
+
+
+#: org.apache.isis.applib.fixturescripts.FixtureResult#fixtureScriptClassName
+msgid "Fixture script"
+msgstr ""
+
+
+#: org.apache.isis.applib.fixturescripts.FixtureScript#friendlyName
+msgid "Friendly Name"
+msgstr ""
+
+
+#: domainapp.dom.app.homepage.HomePageService#homePage()
+msgid "Home Page"
+msgstr ""
+
+
+#: domainapp.dom.modules.simple.SimpleObjects#listAll()
+msgid "List All"
+msgstr "Lista de Todos"
+
+
+#: org.apache.isis.applib.fixturescripts.FixtureScript#localName
+msgid "Local Name"
+msgstr ""
+
+
+#: org.apache.isis.applib.fixturescripts.FixtureScript#lookup()
+#: org.apache.isis.applib.services.bookmark.BookmarkHolderActionContributions#lookup()
+msgid "Lookup"
+msgstr ""
+
+
+#: domainapp.dom.modules.simple.SimpleObject#name
+#: domainapp.dom.modules.simple.SimpleObjects#create(java.lang.String)
+#: domainapp.dom.modules.simple.SimpleObjects#findByName(java.lang.String)
+msgid "Name"
+msgstr "Nombre"
+
+
+#: domainapp.dom.modules.simple.SimpleObject#updateName(java.lang.String)
+msgid "New name"
+msgstr "Nuevo nombre"
+
+
+#: org.apache.isis.applib.services.bookmark.BookmarkHolderAssociationContributions#object()
+msgid "Object"
+msgstr ""
+
+
+#: domainapp.dom.modules.simple.SimpleObject#title()
+msgid "Object: {name}"
+msgstr ""
+
+
+#: domainapp.dom.app.homepage.HomePageViewModel#objects
+msgid "Objects"
+msgstr ""
+
+
+#: domainapp.fixture.DomainAppFixturesService#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 ""
+
+
+#: org.apache.isis.applib.fixturescripts.FixtureScript#parentPath
+msgid "Parent Path"
+msgstr ""
+
+
+#: domainapp.fixture.DomainAppFixturesService
+#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu
+msgid "Prototyping"
+msgstr ""
+
+
+#: domainapp.fixture.DomainAppFixturesService#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 ""
+
+
+#: domainapp.fixture.DomainAppFixturesService#runFixtureScript()
+#: org.apache.isis.applib.fixturescripts.FixtureScripts#runFixtureScript()
+msgid "Run Fixture Script"
+msgstr ""
+
+
+#: org.apache.isis.applib.fixturescripts.FixtureScript
+msgid "Script"
+msgstr ""
+
+
+#: domainapp.fixture.DomainAppFixturesService#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 ""
+
+
+#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#switchToReadingTranslations()
+msgid "Switch To Reading Translations"
+msgstr ""
+
+
+#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#switchToWritingTranslations()
+msgid "Switch To Writing Translations"
+msgstr ""
+
+
+#: org.apache.isis.applib.fixturescripts.FixtureScript#type
+msgid "Type"
+msgstr ""
+
+
+#: domainapp.dom.modules.simple.SimpleObject#updateName()
+msgid "Update Name"
+msgstr "Nombre de la ActualizaciĆ³n"
+
+
+#: org.apache.isis.applib.fixturescripts.FixtureScript#withDiscoverability()
+msgid "With Discoverability"
+msgstr ""
+
+
+
+
+
+##############################################################################
+# end of .pot file
+##############################################################################
+

http://git-wip-us.apache.org/repos/asf/isis/blob/53da961f/example/application/simpleapp/webapp/src/main/webapp/WEB-INF/translations-nl.po
----------------------------------------------------------------------
diff --git a/example/application/simpleapp/webapp/src/main/webapp/WEB-INF/translations-nl.po b/example/application/simpleapp/webapp/src/main/webapp/WEB-INF/translations-nl.po
new file mode 100644
index 0000000..db50ca5
--- /dev/null
+++ b/example/application/simpleapp/webapp/src/main/webapp/WEB-INF/translations-nl.po
@@ -0,0 +1,194 @@
+##############################################################################
+#
+# .pot file
+#
+# Translate this file to each required language and place in WEB-INF, eg:
+#
+#     /WEB-INF/translations-en_US.po
+#     /WEB-INF/translations-en.po
+#     /WEB-INF/translations-fr_FR.po
+#     /WEB-INF/translations-fr.po
+#     /WEB-INF/translations.po
+#
+##############################################################################
+
+#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#downloadTranslations(java.lang.String)
+msgid ".pot file name"
+msgstr ""
+
+
+#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#resetTranslationCache()
+msgid "Clear translation cache"
+msgstr ""
+
+
+#: domainapp.dom.modules.simple.SimpleObjects#create()
+msgid "Create"
+msgstr "Creƫren"
+
+
+#: org.apache.isis.applib.fixturescripts.FixtureScript#discoverable
+msgid "Discoverable"
+msgstr ""
+
+
+#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#downloadTranslations()
+msgid "Download Translations"
+msgstr ""
+
+
+#: domainapp.dom.modules.simple.SimpleObject#updateName()
+msgid "Exclamation mark is not allowed"
+msgstr ""
+
+
+#: domainapp.dom.modules.simple.SimpleObjects#findByName()
+#: java.lang.String#findByName()
+msgid "Find By Name"
+msgstr "Zoek op Naam"
+
+
+#: org.apache.isis.applib.fixturescripts.FixtureResult#fixtureScriptClassName
+msgid "Fixture script"
+msgstr ""
+
+
+#: org.apache.isis.applib.fixturescripts.FixtureScript#friendlyName
+msgid "Friendly Name"
+msgstr ""
+
+
+#: domainapp.dom.app.homepage.HomePageService#homePage()
+msgid "Home Page"
+msgstr ""
+
+
+#: domainapp.dom.modules.simple.SimpleObjects#listAll()
+msgid "List All"
+msgstr "Lijst Alle"
+
+
+#: org.apache.isis.applib.fixturescripts.FixtureScript#localName
+msgid "Local Name"
+msgstr ""
+
+
+#: org.apache.isis.applib.fixturescripts.FixtureScript#lookup()
+#: org.apache.isis.applib.services.bookmark.BookmarkHolderActionContributions#lookup()
+msgid "Lookup"
+msgstr ""
+
+
+#: domainapp.dom.modules.simple.SimpleObject#name
+#: domainapp.dom.modules.simple.SimpleObjects#create(java.lang.String)
+#: domainapp.dom.modules.simple.SimpleObjects#findByName(java.lang.String)
+msgid "Name"
+msgstr "Naam"
+
+
+#: domainapp.dom.modules.simple.SimpleObject#updateName(java.lang.String)
+msgid "New name"
+msgstr "Nieuwe naam"
+
+
+#: org.apache.isis.applib.services.bookmark.BookmarkHolderAssociationContributions#object()
+msgid "Object"
+msgstr ""
+
+
+#: domainapp.dom.modules.simple.SimpleObject#title()
+msgid "Object: {name}"
+msgstr ""
+
+
+#: domainapp.dom.app.homepage.HomePageViewModel#objects
+msgid "Objects"
+msgstr ""
+
+
+#: domainapp.fixture.DomainAppFixturesService#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 ""
+
+
+#: org.apache.isis.applib.fixturescripts.FixtureScript#parentPath
+msgid "Parent Path"
+msgstr ""
+
+
+#: domainapp.fixture.DomainAppFixturesService
+#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu
+msgid "Prototyping"
+msgstr ""
+
+
+#: domainapp.fixture.DomainAppFixturesService#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 ""
+
+
+#: domainapp.fixture.DomainAppFixturesService#runFixtureScript()
+#: org.apache.isis.applib.fixturescripts.FixtureScripts#runFixtureScript()
+msgid "Run Fixture Script"
+msgstr ""
+
+
+#: org.apache.isis.applib.fixturescripts.FixtureScript
+msgid "Script"
+msgstr ""
+
+
+#: domainapp.fixture.DomainAppFixturesService#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 ""
+
+
+#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#switchToReadingTranslations()
+msgid "Switch To Reading Translations"
+msgstr ""
+
+
+#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#switchToWritingTranslations()
+msgid "Switch To Writing Translations"
+msgstr ""
+
+
+#: org.apache.isis.applib.fixturescripts.FixtureScript#type
+msgid "Type"
+msgstr ""
+
+
+#: domainapp.dom.modules.simple.SimpleObject#updateName()
+msgid "Update Name"
+msgstr "Updaten Naam"
+
+
+#: org.apache.isis.applib.fixturescripts.FixtureScript#withDiscoverability()
+msgid "With Discoverability"
+msgstr ""
+
+
+
+
+
+##############################################################################
+# end of .pot file
+##############################################################################
+

http://git-wip-us.apache.org/repos/asf/isis/blob/53da961f/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 bf9281a..b6aa415 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
@@ -27,6 +27,11 @@ msgid "Create"
 msgstr ""
 
 
+#: org.apache.isis.applib.fixturescripts.FixtureScript#discoverable
+msgid "Discoverable"
+msgstr ""
+
+
 #: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#downloadTranslations()
 msgid "Download Translations"
 msgstr ""
@@ -38,6 +43,7 @@ msgstr ""
 
 
 #: domainapp.dom.modules.simple.SimpleObjects#findByName()
+#: java.lang.String#findByName()
 msgid "Find By Name"
 msgstr ""
 
@@ -47,6 +53,11 @@ msgid "Fixture script"
 msgstr ""
 
 
+#: org.apache.isis.applib.fixturescripts.FixtureScript#friendlyName
+msgid "Friendly Name"
+msgstr ""
+
+
 #: domainapp.dom.app.homepage.HomePageService#homePage()
 msgid "Home Page"
 msgstr ""
@@ -57,13 +68,18 @@ msgid "List All"
 msgstr ""
 
 
-#: domainapp.fixture.scenarios.RecreateSimpleObjects#lookup()
+#: org.apache.isis.applib.fixturescripts.FixtureScript#localName
+msgid "Local Name"
+msgstr ""
+
+
 #: org.apache.isis.applib.fixturescripts.FixtureScript#lookup()
 #: org.apache.isis.applib.services.bookmark.BookmarkHolderActionContributions#lookup()
 msgid "Lookup"
 msgstr ""
 
 
+#: domainapp.dom.modules.simple.SimpleObject#name
 #: domainapp.dom.modules.simple.SimpleObjects#create(java.lang.String)
 #: domainapp.dom.modules.simple.SimpleObjects#findByName(java.lang.String)
 msgid "Name"
@@ -85,12 +101,22 @@ msgid "Object: {name}"
 msgstr ""
 
 
+#: domainapp.dom.app.homepage.HomePageViewModel#objects
+msgid "Objects"
+msgstr ""
+
+
 #: domainapp.fixture.DomainAppFixturesService#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 ""
 
 
+#: org.apache.isis.applib.fixturescripts.FixtureScript#parentPath
+msgid "Parent Path"
+msgstr ""
+
+
 #: domainapp.fixture.DomainAppFixturesService
 #: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu
 msgid "Prototyping"
@@ -123,7 +149,6 @@ msgid "Run Fixture Script"
 msgstr ""
 
 
-#: domainapp.fixture.scenarios.RecreateSimpleObjects
 #: org.apache.isis.applib.fixturescripts.FixtureScript
 msgid "Script"
 msgstr ""
@@ -135,12 +160,26 @@ msgid "Script-specific parameters (if any).  The format depends on the script im
 msgstr ""
 
 
+#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#switchToReadingTranslations()
+msgid "Switch To Reading Translations"
+msgstr ""
+
+
+#: org.apache.isis.core.runtime.services.i18n.po.TranslationServicePoMenu#switchToWritingTranslations()
+msgid "Switch To Writing Translations"
+msgstr ""
+
+
+#: org.apache.isis.applib.fixturescripts.FixtureScript#type
+msgid "Type"
+msgstr ""
+
+
 #: domainapp.dom.modules.simple.SimpleObject#updateName()
 msgid "Update Name"
 msgstr ""
 
 
-#: domainapp.fixture.scenarios.RecreateSimpleObjects#withDiscoverability()
 #: org.apache.isis.applib.fixturescripts.FixtureScript#withDiscoverability()
 msgid "With Discoverability"
 msgstr ""


[2/2] isis git commit: ISIS-1102: toggle between modes.

Posted by da...@apache.org.
ISIS-1102: toggle between modes.


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

Branch: refs/heads/master
Commit: 3044f02882278f29efb0663a1b7fdfd9e0a60c16
Parents: 53da961
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Fri Mar 20 18:47:29 2015 +0000
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Fri Mar 20 18:47:29 2015 +0000

----------------------------------------------------------------------
 .../services/i18n/po/TranslationServicePo.java  | 28 ++++++++++++
 .../i18n/po/TranslationServicePoMenu.java       | 48 ++++++++++++++++++++
 2 files changed, 76 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/3044f028/core/runtime/src/main/java/org/apache/isis/core/runtime/services/i18n/po/TranslationServicePo.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/i18n/po/TranslationServicePo.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/i18n/po/TranslationServicePo.java
index 5ec4ccf..0660219 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/i18n/po/TranslationServicePo.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/i18n/po/TranslationServicePo.java
@@ -134,6 +134,34 @@ public class TranslationServicePo implements TranslationService {
         ((PoReader)po).clearCache();
     }
 
+    private PoReader previousPoReader;
+    private PoWriter previousPoWriter;
+
+    /**
+     * Not API
+     */
+    @Programmatic
+    public void toggleMode() {
+        if(getMode().isRead()) {
+            previousPoReader = (PoReader) po;
+            if (previousPoWriter != null) {
+                po = previousPoWriter;
+            } else {
+                po = new PoWriter(this);
+            }
+        } else {
+            previousPoWriter = (PoWriter)po;
+            if(previousPoReader != null) {
+                previousPoReader.clearCache();
+                po = previousPoReader;
+            } else {
+                final PoReader poReader = new PoReader(this);
+                poReader.init();
+                po = poReader;
+            }
+        }
+    }
+
     // //////////////////////////////////////
 
     DeploymentType getDeploymentType() {

http://git-wip-us.apache.org/repos/asf/isis/blob/3044f028/core/runtime/src/main/java/org/apache/isis/core/runtime/services/i18n/po/TranslationServicePoMenu.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/i18n/po/TranslationServicePoMenu.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/i18n/po/TranslationServicePoMenu.java
index 6b737a3..a2873f1 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/i18n/po/TranslationServicePoMenu.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/i18n/po/TranslationServicePoMenu.java
@@ -112,6 +112,54 @@ public class TranslationServicePoMenu {
 
     // //////////////////////////////////////
 
+    public static class SwitchToReadingTranslationsDomainEvent extends ActionDomainEvent {
+        public SwitchToReadingTranslationsDomainEvent(final TranslationServicePoMenu source, final Identifier identifier, final Object... arguments) {
+            super(source, identifier, arguments);
+        }
+    }
+
+    @Action(
+            domainEvent = SwitchToReadingTranslationsDomainEvent.class,
+            semantics = SemanticsOf.IDEMPOTENT,
+            restrictTo = RestrictTo.PROTOTYPING
+    )
+    @ActionLayout(
+            cssClassFa = "fa-book"
+    )
+    @MemberOrder(sequence="500.500.3")
+    public void switchToReadingTranslations() {
+        translationService.toggleMode();
+    }
+    public boolean hideSwitchToReadingTranslations() {
+        return translationService.getMode().isRead();
+    }
+
+    // //////////////////////////////////////
+
+    public static class SwitchToWritingTranslationsDomainEvent extends ActionDomainEvent {
+        public SwitchToWritingTranslationsDomainEvent(final TranslationServicePoMenu source, final Identifier identifier, final Object... arguments) {
+            super(source, identifier, arguments);
+        }
+    }
+
+    @Action(
+            domainEvent = SwitchToWritingTranslationsDomainEvent.class,
+            semantics = SemanticsOf.IDEMPOTENT,
+            restrictTo = RestrictTo.PROTOTYPING
+    )
+    @ActionLayout(
+            cssClassFa = "fa-pencil"
+    )
+    @MemberOrder(sequence="500.500.4")
+    public void switchToWritingTranslations() {
+        translationService.toggleMode();
+    }
+    public boolean hideSwitchToWritingTranslations() {
+        return translationService.getMode().isWrite();
+    }
+
+    // //////////////////////////////////////
+
     @Inject
     private TranslationServicePo translationService;