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 # #################################################################################
