Repository: isis
Updated Branches:
  refs/heads/master faf70c06e -> 3b1d857d5


http://git-wip-us.apache.org/repos/asf/isis/blob/67e234b8/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/ProgrammingModelFacetsJava5.java
----------------------------------------------------------------------
diff --git 
a/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/ProgrammingModelFacetsJava5.java
 
b/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/ProgrammingModelFacetsJava5.java
index 0643ace..5a6e10c 100644
--- 
a/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/ProgrammingModelFacetsJava5.java
+++ 
b/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/ProgrammingModelFacetsJava5.java
@@ -20,6 +20,8 @@
 package org.apache.isis.progmodels.dflt;
 
 import 
org.apache.isis.core.metamodel.facets.actions.action.ActionAnnotationFacetFactory;
+import 
org.apache.isis.core.metamodel.facets.actions.contributing.maxlenannot.MaxLengthFacetOnActionAnnotationFactory;
+import 
org.apache.isis.core.metamodel.facets.actions.contributing.paged.PagedFacetOnActionFactory;
 import 
org.apache.isis.core.metamodel.facets.actions.debug.annotation.DebugFacetAnnotationFactory;
 import 
org.apache.isis.core.metamodel.facets.actions.defaults.method.ActionDefaultsFacetViaMethodFactory;
 import 
org.apache.isis.core.metamodel.facets.actions.exploration.annotation.ExplorationFacetAnnotationFactory;
@@ -31,9 +33,8 @@ import 
org.apache.isis.core.metamodel.facets.actions.notcontributed.derived.NotC
 import 
org.apache.isis.core.metamodel.facets.actions.notinservicemenu.annotation.NotInServiceMenuFacetAnnotationFactory;
 import 
org.apache.isis.core.metamodel.facets.actions.notinservicemenu.derived.NotInServiceMenuFacetDerivedFromDomainServiceFacetFactory;
 import 
org.apache.isis.core.metamodel.facets.actions.notinservicemenu.method.NotInServiceMenuFacetViaMethodFactory;
-import 
org.apache.isis.core.metamodel.facets.actions.contributing.paged.PagedFacetOnActionFactory;
 import 
org.apache.isis.core.metamodel.facets.actions.validate.method.ActionValidationFacetViaMethodFactory;
-import 
org.apache.isis.core.metamodel.facets.actions.contributing.maxlenannot.MaxLengthFacetOnActionAnnotationFactory;
+import org.apache.isis.core.metamodel.facets.all.i18n.I18nFacetFactory;
 import 
org.apache.isis.core.metamodel.facets.collections.accessor.CollectionAccessorFacetViaAccessorFactory;
 import 
org.apache.isis.core.metamodel.facets.collections.clear.CollectionClearFacetFactory;
 import 
org.apache.isis.core.metamodel.facets.collections.collection.CollectionAnnotationFacetFactory;
@@ -50,12 +51,12 @@ import 
org.apache.isis.core.metamodel.facets.members.cssclass.annotprop.CssClass
 import 
org.apache.isis.core.metamodel.facets.members.cssclassfa.annotprop.CssClassFaFacetOnMemberFactory;
 import 
org.apache.isis.core.metamodel.facets.members.describedas.annotprop.DescribedAsFacetOnMemberFactory;
 import 
org.apache.isis.core.metamodel.facets.members.describedas.staticmethod.DescribedAsFacetStaticMethodFactory;
-import 
org.apache.isis.core.metamodel.facets.members.disabled.layout.DisabledFacetOnMemberFromPropertiesFactory;
 import 
org.apache.isis.core.metamodel.facets.members.disabled.forsession.DisableForSessionFacetViaMethodFactory;
+import 
org.apache.isis.core.metamodel.facets.members.disabled.layout.DisabledFacetOnMemberFromPropertiesFactory;
 import 
org.apache.isis.core.metamodel.facets.members.disabled.method.DisableForContextFacetViaMethodFactory;
 import 
org.apache.isis.core.metamodel.facets.members.disabled.staticmethod.DisabledFacetStaticMethodFacetFactory;
-import 
org.apache.isis.core.metamodel.facets.members.hidden.layout.HiddenFacetOnMemberFromPropertiesFactory;
 import 
org.apache.isis.core.metamodel.facets.members.hidden.forsession.HideForSessionFacetViaMethodFactory;
+import 
org.apache.isis.core.metamodel.facets.members.hidden.layout.HiddenFacetOnMemberFromPropertiesFactory;
 import 
org.apache.isis.core.metamodel.facets.members.hidden.method.HideForContextFacetViaMethodFactory;
 import 
org.apache.isis.core.metamodel.facets.members.hidden.staticmethod.HiddenFacetStaticMethodFactory;
 import 
org.apache.isis.core.metamodel.facets.members.named.annotprop.NamedFacetOnMemberFactory;
@@ -493,11 +494,13 @@ public final class ProgrammingModelFacetsJava5 extends 
ProgrammingModelAbstract
         // should come near the end, after any facets that install 
PropertySetterFacet have run.
         addFactory(DisabledFacetOnPropertyInferredFactory.class);
 
-
         addFactory(AuditableFacetMarkerInterfaceFactory.class);
 
         addFactory(FacetsFacetAnnotationFactory.class);
 
+        // must be after all named facets and description facets have been 
installed
+        addFactory(I18nFacetFactory.class);
+
         addFactory(ViewModelSemanticCheckingFacetFactory.class);
     }
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/67e234b8/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
new file mode 100644
index 0000000..dcf4ed0
--- /dev/null
+++ 
b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/ServicesInstallerFallback.java
@@ -0,0 +1,52 @@
+/*
+ *  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.TranslationServiceLogging;
+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 TranslationServiceLogging(), 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/67e234b8/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 44dbd52..9ae9429 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,6 +38,7 @@ public class ServicesInstallerFromConfigurationAndAnnotation 
extends InstallerAb
     private final ServiceInstantiator serviceInstantiator;
     private final ServicesInstallerFromConfiguration 
servicesInstallerFromConfiguration;
     private final ServicesInstallerFromAnnotation 
servicesInstallerFromAnnotation;
+    private final ServicesInstallerFallback servicesInstallerDefaults;
 
 
     public ServicesInstallerFromConfigurationAndAnnotation() {
@@ -50,6 +51,7 @@ public class ServicesInstallerFromConfigurationAndAnnotation 
extends InstallerAb
         this.serviceInstantiator = serviceInstantiator;
         servicesInstallerFromConfiguration = new 
ServicesInstallerFromConfiguration(serviceInstantiator);
         servicesInstallerFromAnnotation = new 
ServicesInstallerFromAnnotation(serviceInstantiator);
+        servicesInstallerDefaults = new ServicesInstallerFallback();
     }
 
     public void setIgnoreFailures(boolean ignoreFailures) {
@@ -60,22 +62,26 @@ 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();
     }
 
     // //////////////////////////////////////
@@ -96,6 +102,10 @@ 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/67e234b8/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 9a57b37..3cafcdd 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
@@ -160,19 +160,6 @@ isis.value.format.date=dd-MM-yyyy
 
 
#################################################################################
 #
-# Facet Decorators
-#
-#################################################################################
-
-#
-# Providing such capabilities as i18n
-#
-
-isis.reflector.facet-decorators=org.apache.isis.core.metamodel.facetdecorator.i18n.resourcebundle.I18nDecoratorUsingResourceBundleInstaller
-
-
-#################################################################################
-#
 # Application Services and fixtures
 #
 
#################################################################################

Reply via email to