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 2016/05/20 07:04:28 UTC
[07/31] isis git commit: ISIS-1407: SpecificationLoader is now a
concrete class (rolled ObjectReflector up into it).
http://git-wip-us.apache.org/repos/asf/isis/blob/04bf1f22/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/FacetedMethodsBuilder.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/FacetedMethodsBuilder.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/FacetedMethodsBuilder.java
index 2c3f87c..3517aa0 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/FacetedMethodsBuilder.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/FacetedMethodsBuilder.java
@@ -53,7 +53,7 @@ import org.apache.isis.core.metamodel.layoutmetadata.LayoutMetadataReader.Reader
import org.apache.isis.core.metamodel.layoutmetadata.LayoutMetadataReader2;
import org.apache.isis.core.metamodel.methodutils.MethodScope;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.SpecificationLoader;
+import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
import org.apache.isis.core.metamodel.specloader.classsubstitutor.ClassSubstitutor;
import org.apache.isis.core.metamodel.specloader.facetprocessor.FacetProcessor;
import org.apache.isis.core.metamodel.specloader.traverser.SpecificationTraverser;
http://git-wip-us.apache.org/repos/asf/isis/blob/04bf1f22/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/FacetedMethodsBuilderContext.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/FacetedMethodsBuilderContext.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/FacetedMethodsBuilderContext.java
index c9802c8..e75c2b3 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/FacetedMethodsBuilderContext.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/FacetedMethodsBuilderContext.java
@@ -18,7 +18,7 @@ package org.apache.isis.core.metamodel.specloader.specimpl;
import java.util.List;
import org.apache.isis.core.metamodel.layoutmetadata.LayoutMetadataReader;
-import org.apache.isis.core.metamodel.spec.SpecificationLoader;
+import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
import org.apache.isis.core.metamodel.specloader.facetprocessor.FacetProcessor;
public class FacetedMethodsBuilderContext {
http://git-wip-us.apache.org/repos/asf/isis/blob/04bf1f22/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionParameterAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionParameterAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionParameterAbstract.java
index d3f31ef..0dd0d1a 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionParameterAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionParameterAbstract.java
@@ -58,7 +58,7 @@ import org.apache.isis.core.metamodel.runtimecontext.PersistenceSessionService;
import org.apache.isis.core.metamodel.spec.DomainModelException;
import org.apache.isis.core.metamodel.spec.Instance;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.SpecificationLoader;
+import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
import org.apache.isis.core.metamodel.spec.feature.ObjectActionParameter;
http://git-wip-us.apache.org/repos/asf/isis/blob/04bf1f22/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 dd9ccd2..3306a6e 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
@@ -58,7 +58,7 @@ import org.apache.isis.core.metamodel.runtimecontext.PersistenceSessionService;
import org.apache.isis.core.metamodel.runtimecontext.ServicesInjector;
import org.apache.isis.core.metamodel.services.command.CommandDtoServiceInternal;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.SpecificationLoader;
+import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
import org.apache.isis.core.metamodel.spec.feature.ObjectMember;
import org.apache.isis.core.metamodel.spec.feature.ObjectMemberDependencies;
import org.apache.isis.core.metamodel.specloader.collectiontyperegistry.CollectionTypeRegistry;
http://git-wip-us.apache.org/repos/asf/isis/blob/04bf1f22/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 68eaf9b..0ca7200 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
@@ -90,7 +90,7 @@ import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.core.metamodel.spec.ObjectSpecificationDependencies;
import org.apache.isis.core.metamodel.spec.ObjectSpecificationException;
import org.apache.isis.core.metamodel.spec.Persistability;
-import org.apache.isis.core.metamodel.spec.SpecificationLoader;
+import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
import org.apache.isis.core.metamodel.spec.feature.Contributed;
import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
import org.apache.isis.core.metamodel.spec.feature.ObjectActionParameter;
http://git-wip-us.apache.org/repos/asf/isis/blob/04bf1f22/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToManyAssociationContributee.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToManyAssociationContributee.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToManyAssociationContributee.java
index 8c6d1bf..633d354 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToManyAssociationContributee.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToManyAssociationContributee.java
@@ -37,7 +37,7 @@ import org.apache.isis.core.metamodel.interactions.InteractionUtils;
import org.apache.isis.core.metamodel.interactions.UsabilityContext;
import org.apache.isis.core.metamodel.interactions.VisibilityContext;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.SpecificationLoader;
+import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
import org.apache.isis.core.metamodel.spec.feature.ObjectMemberDependencies;
http://git-wip-us.apache.org/repos/asf/isis/blob/04bf1f22/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToManyAssociationMixedIn.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToManyAssociationMixedIn.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToManyAssociationMixedIn.java
index 3ccf7c8..5d0ec7b 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToManyAssociationMixedIn.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/OneToManyAssociationMixedIn.java
@@ -42,7 +42,7 @@ import org.apache.isis.core.metamodel.interactions.UsabilityContext;
import org.apache.isis.core.metamodel.interactions.VisibilityContext;
import org.apache.isis.core.metamodel.services.publishing.PublishingServiceInternal;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.SpecificationLoader;
+import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
import org.apache.isis.core.metamodel.spec.feature.ObjectMemberDependencies;
public class OneToManyAssociationMixedIn extends OneToManyAssociationDefault implements MixedInMember2 {
http://git-wip-us.apache.org/repos/asf/isis/blob/04bf1f22/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/validator/MetaModelValidator.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/validator/MetaModelValidator.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/validator/MetaModelValidator.java
index 17b151f..42349d9 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/validator/MetaModelValidator.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/validator/MetaModelValidator.java
@@ -20,7 +20,7 @@
package org.apache.isis.core.metamodel.specloader.validator;
import org.apache.isis.core.commons.components.ApplicationScopedComponent;
-import org.apache.isis.core.metamodel.spec.SpecificationLoaderAware;
+import org.apache.isis.core.metamodel.specloader.SpecificationLoaderAware;
public interface MetaModelValidator extends SpecificationLoaderAware, ApplicationScopedComponent {
http://git-wip-us.apache.org/repos/asf/isis/blob/04bf1f22/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/validator/MetaModelValidatorAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/validator/MetaModelValidatorAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/validator/MetaModelValidatorAbstract.java
index 85224d5..1f194db 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/validator/MetaModelValidatorAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/validator/MetaModelValidatorAbstract.java
@@ -23,7 +23,7 @@ import static org.apache.isis.core.commons.ensure.Ensure.ensureThatState;
import static org.hamcrest.CoreMatchers.is;
import static org.hamcrest.CoreMatchers.notNullValue;
-import org.apache.isis.core.metamodel.spec.SpecificationLoader;
+import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
public abstract class MetaModelValidatorAbstract implements MetaModelValidator {
http://git-wip-us.apache.org/repos/asf/isis/blob/04bf1f22/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/validator/MetaModelValidatorComposite.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/validator/MetaModelValidatorComposite.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/validator/MetaModelValidatorComposite.java
index 053b4d8..99ee00c 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/validator/MetaModelValidatorComposite.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/validator/MetaModelValidatorComposite.java
@@ -19,12 +19,11 @@
package org.apache.isis.core.metamodel.specloader.validator;
-import java.util.Collections;
import java.util.List;
import com.google.common.collect.Lists;
-import org.apache.isis.core.metamodel.spec.SpecificationLoader;
+import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
public class MetaModelValidatorComposite extends MetaModelValidatorAbstract {
http://git-wip-us.apache.org/repos/asf/isis/blob/04bf1f22/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/JavaReflectorHelper.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/JavaReflectorHelper.java b/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/JavaReflectorHelper.java
index e1ed792..fefcecb 100644
--- a/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/JavaReflectorHelper.java
+++ b/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/JavaReflectorHelper.java
@@ -24,14 +24,14 @@ import java.util.List;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+
import org.apache.isis.core.commons.config.IsisConfiguration;
import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
import org.apache.isis.core.metamodel.facetapi.MetaModelRefiner;
import org.apache.isis.core.metamodel.layoutmetadata.LayoutMetadataReader;
import org.apache.isis.core.metamodel.progmodel.ProgrammingModel;
import org.apache.isis.core.metamodel.services.ServicesInjectorSpi;
-import org.apache.isis.core.metamodel.spec.SpecificationLoader;
-import org.apache.isis.core.metamodel.specloader.ObjectReflectorDefault;
+import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidator;
import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorComposite;
@@ -62,7 +62,7 @@ public final class JavaReflectorHelper {
programmingModel.refineMetaModelValidator(metaModelValidator, configuration);
}
- return new ObjectReflectorDefault(
+ return new SpecificationLoader(
deploymentCategory, configuration,
programmingModel, metaModelValidator, layoutMetadataReaders, servicesInjector);
}
http://git-wip-us.apache.org/repos/asf/isis/blob/04bf1f22/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/JavaReflectorInstaller.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/JavaReflectorInstaller.java b/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/JavaReflectorInstaller.java
index a6018de..60c9093 100644
--- a/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/JavaReflectorInstaller.java
+++ b/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/JavaReflectorInstaller.java
@@ -19,10 +19,173 @@
package org.apache.isis.progmodels.dflt;
+import java.util.Collection;
+import java.util.List;
+
+import com.google.common.collect.Lists;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import org.apache.isis.core.commons.components.InstallerAbstract;
+import org.apache.isis.core.commons.config.ConfigurationConstants;
+import org.apache.isis.core.commons.config.IsisConfiguration;
import org.apache.isis.core.commons.config.IsisConfigurationDefault;
+import org.apache.isis.core.commons.factory.InstanceUtil;
+import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
+import org.apache.isis.core.metamodel.facetapi.MetaModelRefiner;
+import org.apache.isis.core.metamodel.facets.FacetFactory;
+import org.apache.isis.core.metamodel.layoutmetadata.LayoutMetadataReader;
+import org.apache.isis.core.metamodel.progmodel.ProgrammingModel;
+import org.apache.isis.core.metamodel.services.ServicesInjectorSpi;
+import org.apache.isis.core.metamodel.specloader.SpecificationLoaderInstaller;
+import org.apache.isis.core.metamodel.specloader.ReflectorConstants;
+import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
+import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidator;
+
+public class JavaReflectorInstaller extends InstallerAbstract implements SpecificationLoaderInstaller {
+
+ //region > constants
+
+ private static final Logger LOG = LoggerFactory.getLogger(JavaReflectorInstaller.class);
+
+ public static final String PROPERTY_BASE = ConfigurationConstants.ROOT;
+
+ //endregion
+
+ //region > constructor
-public class JavaReflectorInstaller extends JavaReflectorInstallerNoDecorators {
public JavaReflectorInstaller(final IsisConfigurationDefault isisConfiguration) {
- super(isisConfiguration);
+ this("java", isisConfiguration);
+ }
+
+ public JavaReflectorInstaller(final String name, final IsisConfigurationDefault isisConfiguration) {
+ super(SpecificationLoaderInstaller.TYPE, name, isisConfiguration);
+
+ }
+ //endregion
+
+ //region > createReflector, doCreateReflector
+
+ @Override
+ public SpecificationLoader createReflector(
+ final DeploymentCategory deploymentCategory,
+ final Collection<MetaModelRefiner> metaModelRefiners,
+ final ServicesInjectorSpi servicesInjector) {
+
+ final ProgrammingModel programmingModel = createProgrammingModel(getConfiguration());
+ final MetaModelValidator mmv = createMetaModelValidator(getConfiguration());
+ final List<LayoutMetadataReader> layoutMetadataReaders = createLayoutMetadataReaders(getConfiguration());
+
+ return JavaReflectorHelper.createObjectReflector(deploymentCategory, getConfiguration(), programmingModel, metaModelRefiners,
+ layoutMetadataReaders, mmv,
+ servicesInjector);
+ }
+
+ //endregion
+
+ //region > createProgrammingModel
+
+ /**
+ * Hook method to allow subclasses to specify a different implementations
+ * (that is, sets of {@link ProgrammingModel} .
+ *
+ * <p>
+ * By default, looks up implementation from provided
+ * {@link IsisConfiguration} using
+ * {@link ReflectorConstants#PROGRAMMING_MODEL_FACETS_CLASS_NAME}. If not
+ * specified, then defaults to
+ * {@link ReflectorConstants#PROGRAMMING_MODEL_FACETS_CLASS_NAME_DEFAULT}.
+ *
+ * <p>
+ * The list of facets can be adjusted using
+ * {@link ReflectorConstants#FACET_FACTORY_INCLUDE_CLASS_NAME_LIST} to
+ * specify additional {@link FacetFactory factories} to include, and
+ * {@link ReflectorConstants#FACET_FACTORY_EXCLUDE_CLASS_NAME_LIST} to
+ * exclude.
+ */
+ protected ProgrammingModel createProgrammingModel(final IsisConfiguration configuration) {
+ final ProgrammingModel programmingModel = lookupAndCreateProgrammingModelFacets(configuration);
+ includeAndExcludeFacetFactories(configuration, programmingModel);
+ return programmingModel;
+ }
+
+ private ProgrammingModel lookupAndCreateProgrammingModelFacets(final IsisConfiguration configuration) {
+ final String progModelFacetsClassName = configuration.getString(ReflectorConstants.PROGRAMMING_MODEL_FACETS_CLASS_NAME, ReflectorConstants.PROGRAMMING_MODEL_FACETS_CLASS_NAME_DEFAULT);
+ final ProgrammingModel programmingModel = InstanceUtil.createInstance(progModelFacetsClassName, ProgrammingModel.class);
+ return programmingModel;
}
+
+ private void includeAndExcludeFacetFactories(final IsisConfiguration configuration, final ProgrammingModel programmingModel) {
+ includeFacetFactories(configuration, programmingModel);
+ excludeFacetFactories(configuration, programmingModel);
+ }
+
+ //endregion
+
+ //region > includeFacetFactories, excludeFacetFactories
+
+ /**
+ * Factored out of {@link #createProgrammingModel(IsisConfiguration)}
+ * so that subclasses that choose to override can still support
+ * customization of their {@link ProgrammingModel} in a similar way.
+ */
+ protected void includeFacetFactories(final IsisConfiguration configuration, final ProgrammingModel programmingModel) {
+ ProgrammingModel.Util.includeFacetFactories(configuration, programmingModel);
+ }
+
+ /**
+ * Factored out of {@link #createProgrammingModel(IsisConfiguration)}
+ * so that subclasses that choose to override can still support
+ * customization of their {@link ProgrammingModel} in a similar way.
+ */
+ protected void excludeFacetFactories(final IsisConfiguration configuration, final ProgrammingModel programmingModel) {
+ ProgrammingModel.Util.excludeFacetFactories(configuration, programmingModel);
+ }
+
+ //endregion
+
+ //region > createMetaModelValidator
+
+ /**
+ * Hook method to allow subclasses to specify a different implementation of
+ * {@link MetaModelValidator}.
+ *
+ * <p>
+ * By default, looks up implementation from provided
+ * {@link IsisConfiguration} using
+ * {@link ReflectorConstants#META_MODEL_VALIDATOR_CLASS_NAME}.
+ */
+ protected MetaModelValidator createMetaModelValidator(final IsisConfiguration configuration) {
+ final String metaModelValidatorClassName = configuration.getString(ReflectorConstants.META_MODEL_VALIDATOR_CLASS_NAME, ReflectorConstants.META_MODEL_VALIDATOR_CLASS_NAME_DEFAULT);
+ return InstanceUtil.createInstance(metaModelValidatorClassName, MetaModelValidator.class);
+ }
+
+ //endregion
+
+ //region > createLayoutMetadataReaders
+
+ protected List<LayoutMetadataReader> createLayoutMetadataReaders(final IsisConfiguration configuration) {
+ final List<LayoutMetadataReader> layoutMetadataReaders = Lists.newArrayList();
+ final String[] layoutMetadataReaderClassNames = configuration.getList(ReflectorConstants.LAYOUT_METADATA_READER_LIST, ReflectorConstants.LAYOUT_METADATA_READER_LIST_DEFAULT);
+ if (layoutMetadataReaderClassNames != null) {
+ for (final String layoutMetadataReaderClassName : layoutMetadataReaderClassNames) {
+ final LayoutMetadataReader layoutMetadataReader = InstanceUtil.createInstance(layoutMetadataReaderClassName, LayoutMetadataReader.class);
+ layoutMetadataReaders.add(layoutMetadataReader);
+ }
+ }
+ return layoutMetadataReaders;
+ }
+
+ //endregion
+
+ //region > getTypes
+
+ @Override
+ public List<Class<?>> getTypes() {
+ return listOf(SpecificationLoader.class);
+ }
+
+ //endregion
+
}
http://git-wip-us.apache.org/repos/asf/isis/blob/04bf1f22/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/JavaReflectorInstallerNoDecorators.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/JavaReflectorInstallerNoDecorators.java b/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/JavaReflectorInstallerNoDecorators.java
deleted file mode 100644
index e4d3379..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/progmodels/dflt/JavaReflectorInstallerNoDecorators.java
+++ /dev/null
@@ -1,191 +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.progmodels.dflt;
-
-import java.util.Collection;
-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.ConfigurationConstants;
-import org.apache.isis.core.commons.components.InstallerAbstract;
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.commons.config.IsisConfigurationDefault;
-import org.apache.isis.core.commons.factory.InstanceUtil;
-import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
-import org.apache.isis.core.metamodel.facetapi.MetaModelRefiner;
-import org.apache.isis.core.metamodel.facets.FacetFactory;
-import org.apache.isis.core.metamodel.layoutmetadata.LayoutMetadataReader;
-import org.apache.isis.core.metamodel.progmodel.ProgrammingModel;
-import org.apache.isis.core.metamodel.services.ServicesInjectorSpi;
-import org.apache.isis.core.metamodel.spec.SpecificationLoader;
-import org.apache.isis.core.metamodel.specloader.ObjectReflectorInstaller;
-import org.apache.isis.core.metamodel.specloader.ReflectorConstants;
-import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidator;
-
-public class JavaReflectorInstallerNoDecorators extends InstallerAbstract implements ObjectReflectorInstaller {
-
- //region > constants
-
- private static final Logger LOG = LoggerFactory.getLogger(JavaReflectorInstallerNoDecorators.class);
-
- public static final String PROPERTY_BASE = ConfigurationConstants.ROOT;
-
- //endregion
-
- //region > constructor
-
- public JavaReflectorInstallerNoDecorators(final IsisConfigurationDefault isisConfiguration) {
- this("java", isisConfiguration);
- }
-
- public JavaReflectorInstallerNoDecorators(final String name, final IsisConfigurationDefault isisConfiguration) {
- super(ObjectReflectorInstaller.TYPE, name, isisConfiguration);
-
- }
- //endregion
-
- //region > createReflector, doCreateReflector
-
- @Override
- public SpecificationLoader createReflector(
- final DeploymentCategory deploymentCategory,
- final Collection<MetaModelRefiner> metaModelRefiners,
- final ServicesInjectorSpi servicesInjector) {
-
- final ProgrammingModel programmingModel = createProgrammingModel(getConfiguration());
- final MetaModelValidator mmv = createMetaModelValidator(getConfiguration());
- final List<LayoutMetadataReader> layoutMetadataReaders = createLayoutMetadataReaders(getConfiguration());
-
- return JavaReflectorHelper.createObjectReflector(deploymentCategory, getConfiguration(), programmingModel, metaModelRefiners,
- layoutMetadataReaders, mmv,
- servicesInjector);
- }
-
- //endregion
-
- //region > createProgrammingModel
-
- /**
- * Hook method to allow subclasses to specify a different implementations
- * (that is, sets of {@link ProgrammingModel} .
- *
- * <p>
- * By default, looks up implementation from provided
- * {@link IsisConfiguration} using
- * {@link ReflectorConstants#PROGRAMMING_MODEL_FACETS_CLASS_NAME}. If not
- * specified, then defaults to
- * {@link ReflectorConstants#PROGRAMMING_MODEL_FACETS_CLASS_NAME_DEFAULT}.
- *
- * <p>
- * The list of facets can be adjusted using
- * {@link ReflectorConstants#FACET_FACTORY_INCLUDE_CLASS_NAME_LIST} to
- * specify additional {@link FacetFactory factories} to include, and
- * {@link ReflectorConstants#FACET_FACTORY_EXCLUDE_CLASS_NAME_LIST} to
- * exclude.
- */
- protected ProgrammingModel createProgrammingModel(final IsisConfiguration configuration) {
- final ProgrammingModel programmingModel = lookupAndCreateProgrammingModelFacets(configuration);
- includeAndExcludeFacetFactories(configuration, programmingModel);
- return programmingModel;
- }
-
- private ProgrammingModel lookupAndCreateProgrammingModelFacets(final IsisConfiguration configuration) {
- final String progModelFacetsClassName = configuration.getString(ReflectorConstants.PROGRAMMING_MODEL_FACETS_CLASS_NAME, ReflectorConstants.PROGRAMMING_MODEL_FACETS_CLASS_NAME_DEFAULT);
- final ProgrammingModel programmingModel = InstanceUtil.createInstance(progModelFacetsClassName, ProgrammingModel.class);
- return programmingModel;
- }
-
- private void includeAndExcludeFacetFactories(final IsisConfiguration configuration, final ProgrammingModel programmingModel) {
- includeFacetFactories(configuration, programmingModel);
- excludeFacetFactories(configuration, programmingModel);
- }
-
- //endregion
-
- //region > includeFacetFactories, excludeFacetFactories
-
- /**
- * Factored out of {@link #createProgrammingModel(IsisConfiguration)}
- * so that subclasses that choose to override can still support
- * customization of their {@link ProgrammingModel} in a similar way.
- */
- protected void includeFacetFactories(final IsisConfiguration configuration, final ProgrammingModel programmingModel) {
- ProgrammingModel.Util.includeFacetFactories(configuration, programmingModel);
- }
-
- /**
- * Factored out of {@link #createProgrammingModel(IsisConfiguration)}
- * so that subclasses that choose to override can still support
- * customization of their {@link ProgrammingModel} in a similar way.
- */
- protected void excludeFacetFactories(final IsisConfiguration configuration, final ProgrammingModel programmingModel) {
- ProgrammingModel.Util.excludeFacetFactories(configuration, programmingModel);
- }
-
- //endregion
-
- //region > createMetaModelValidator
-
- /**
- * Hook method to allow subclasses to specify a different implementation of
- * {@link MetaModelValidator}.
- *
- * <p>
- * By default, looks up implementation from provided
- * {@link IsisConfiguration} using
- * {@link ReflectorConstants#META_MODEL_VALIDATOR_CLASS_NAME}.
- */
- protected MetaModelValidator createMetaModelValidator(final IsisConfiguration configuration) {
- final String metaModelValidatorClassName = configuration.getString(ReflectorConstants.META_MODEL_VALIDATOR_CLASS_NAME, ReflectorConstants.META_MODEL_VALIDATOR_CLASS_NAME_DEFAULT);
- return InstanceUtil.createInstance(metaModelValidatorClassName, MetaModelValidator.class);
- }
-
- //endregion
-
- //region > createLayoutMetadataReaders
-
- protected List<LayoutMetadataReader> createLayoutMetadataReaders(final IsisConfiguration configuration) {
- final List<LayoutMetadataReader> layoutMetadataReaders = Lists.newArrayList();
- final String[] layoutMetadataReaderClassNames = configuration.getList(ReflectorConstants.LAYOUT_METADATA_READER_LIST, ReflectorConstants.LAYOUT_METADATA_READER_LIST_DEFAULT);
- if (layoutMetadataReaderClassNames != null) {
- for (final String layoutMetadataReaderClassName : layoutMetadataReaderClassNames) {
- final LayoutMetadataReader layoutMetadataReader = InstanceUtil.createInstance(layoutMetadataReaderClassName, LayoutMetadataReader.class);
- layoutMetadataReaders.add(layoutMetadataReader);
- }
- }
- return layoutMetadataReaders;
- }
-
- //endregion
-
- //region > getTypes
-
- @Override
- public List<Class<?>> getTypes() {
- return listOf(SpecificationLoader.class);
- }
-
- //endregion
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/04bf1f22/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/AbstractFacetFactoryJUnit4TestCase.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/AbstractFacetFactoryJUnit4TestCase.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/AbstractFacetFactoryJUnit4TestCase.java
index 75feaff..dd73306 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/AbstractFacetFactoryJUnit4TestCase.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/AbstractFacetFactoryJUnit4TestCase.java
@@ -43,7 +43,7 @@ import org.apache.isis.core.metamodel.facets.object.domainobject.autocomplete.Au
import org.apache.isis.core.metamodel.runtimecontext.ConfigurationServiceInternal;
import org.apache.isis.core.metamodel.runtimecontext.ServicesInjector;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.SpecificationLoader;
+import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
import org.apache.isis.core.metamodel.spec.feature.OneToManyAssociation;
import org.apache.isis.core.metamodel.spec.feature.OneToOneActionParameter;
import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
http://git-wip-us.apache.org/repos/asf/isis/blob/04bf1f22/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/AbstractFacetFactoryTest.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/AbstractFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/AbstractFacetFactoryTest.java
index 5375a62..a1514ef 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/AbstractFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/AbstractFacetFactoryTest.java
@@ -39,7 +39,7 @@ import org.apache.isis.core.metamodel.facetapi.IdentifiedHolder;
import org.apache.isis.core.metamodel.runtimecontext.ConfigurationServiceInternal;
import org.apache.isis.core.metamodel.runtimecontext.ServicesInjector;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.SpecificationLoader;
+import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
import junit.framework.TestCase;
http://git-wip-us.apache.org/repos/asf/isis/blob/04bf1f22/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/ValueSemanticsProviderAbstractTestCase.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/ValueSemanticsProviderAbstractTestCase.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/ValueSemanticsProviderAbstractTestCase.java
index 5b44f54..86acf64 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/ValueSemanticsProviderAbstractTestCase.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/value/ValueSemanticsProviderAbstractTestCase.java
@@ -42,7 +42,7 @@ import org.apache.isis.core.metamodel.facets.object.parseable.parser.ParseableFa
import org.apache.isis.core.metamodel.facets.object.value.vsp.ValueSemanticsProviderAndFacetAbstract;
import org.apache.isis.core.metamodel.facets.object.value.vsp.ValueSemanticsProviderContext;
import org.apache.isis.core.metamodel.runtimecontext.ServicesInjector;
-import org.apache.isis.core.metamodel.spec.SpecificationLoader;
+import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
http://git-wip-us.apache.org/repos/asf/isis/blob/04bf1f22/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/ObjectReflectorDefaultTestAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/ObjectReflectorDefaultTestAbstract.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/ObjectReflectorDefaultTestAbstract.java
deleted file mode 100644
index 40c7332..0000000
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/ObjectReflectorDefaultTestAbstract.java
+++ /dev/null
@@ -1,185 +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.specloader;
-
-import java.util.Collections;
-
-import com.google.common.collect.Lists;
-
-import org.jmock.Expectations;
-import org.jmock.auto.Mock;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.rules.ExpectedException;
-
-import org.apache.isis.applib.services.grid.GridService;
-import org.apache.isis.core.commons.authentication.AuthenticationSessionProvider;
-import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.commons.config.IsisConfigurationDefault;
-import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
-import org.apache.isis.core.metamodel.deployment.DeploymentCategoryProvider;
-import org.apache.isis.core.metamodel.facetapi.Facet;
-import org.apache.isis.core.metamodel.facets.actcoll.typeof.TypeOfFacet;
-import org.apache.isis.core.metamodel.facets.all.describedas.DescribedAsFacet;
-import org.apache.isis.core.metamodel.facets.all.named.NamedFacet;
-import org.apache.isis.core.metamodel.facets.collections.modify.CollectionFacet;
-import org.apache.isis.core.metamodel.facets.object.plural.PluralFacet;
-import org.apache.isis.core.metamodel.layoutmetadata.LayoutMetadataReader;
-import org.apache.isis.core.metamodel.layoutmetadata.json.LayoutMetadataReaderFromJson;
-import org.apache.isis.core.metamodel.metamodelvalidator.dflt.MetaModelValidatorDefault;
-import org.apache.isis.core.metamodel.runtimecontext.ConfigurationServiceInternal;
-import org.apache.isis.core.metamodel.runtimecontext.RuntimeContext;
-import org.apache.isis.core.metamodel.runtimecontext.noruntime.RuntimeContextNoRuntime;
-import org.apache.isis.core.metamodel.services.ServicesInjectorDefault;
-import org.apache.isis.core.metamodel.services.ServicesInjectorSpi;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
-import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
-import org.apache.isis.progmodels.dflt.ProgrammingModelFacetsJava5;
-
-public abstract class ObjectReflectorDefaultTestAbstract {
-
- @Rule
- public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(Mode.INTERFACES_ONLY);
-
- @Rule
- public ExpectedException expectedException = ExpectedException.none();
-
- private RuntimeContext runtimeContext;
-
- @Mock
- private IsisConfiguration mockConfiguration;
- @Mock
- private DeploymentCategoryProvider mockDeploymentCategoryProvider;
- @Mock
- private AuthenticationSessionProvider mockAuthenticationSessionProvider;
- @Mock
- private ServicesInjectorSpi mockServicesInjector;
- @Mock
- private GridService mockGridService;
-
- // is loaded by subclasses
- protected ObjectSpecification specification;
-
-
- @Before
- public void setUp() throws Exception {
-
- context.checking(new Expectations() {{
- ignoring(mockConfiguration);
-
- allowing(mockServicesInjector).lookupService(ConfigurationServiceInternal.class);
- will(returnValue(new IsisConfigurationDefault(null)));
-
- allowing(mockServicesInjector).lookupService(DeploymentCategoryProvider.class);
- will(returnValue(mockDeploymentCategoryProvider));
-
- allowing(mockDeploymentCategoryProvider).getDeploymentCategory();
- will(returnValue(DeploymentCategory.PRODUCTION));
-
- allowing(mockServicesInjector).lookupService(AuthenticationSessionProvider.class);
- will(returnValue(mockAuthenticationSessionProvider));
-
- allowing(mockServicesInjector).lookupService(GridService.class);
- will(returnValue(mockGridService));
-
- ignoring(mockGridService).existsFor(with(any(Class.class)));
-
- ignoring(mockServicesInjector).getRegisteredServices();
-
- ignoring(mockServicesInjector).isRegisteredService(with(any(Class.class)));
- }});
-
- final ObjectReflectorDefault reflector =
- new ObjectReflectorDefault(DeploymentCategory.PRODUCTION,
- mockConfiguration,
- new ProgrammingModelFacetsJava5(),
- new MetaModelValidatorDefault(),
- Lists.<LayoutMetadataReader>newArrayList(
- new LayoutMetadataReaderFromJson()), mockServicesInjector);
- runtimeContext =
- new RuntimeContextNoRuntime(
- new ServicesInjectorDefault(Collections.emptyList()), reflector);
- reflector.init(runtimeContext);
-
- specification = loadSpecification(reflector);
- }
-
- protected abstract ObjectSpecification loadSpecification(ObjectReflectorDefault reflector);
-
- @Test
- public void testLayoutMetadataReaderEmptyList() {
- expectedException.expect(IllegalArgumentException.class);
- expectedException.expectMessage("illegal argument, expected: is not an empty collection");
-
- new ObjectReflectorDefault(DeploymentCategory.PRODUCTION ,
- mockConfiguration,
- new ProgrammingModelFacetsJava5(),
- new MetaModelValidatorDefault(),
- Lists.<LayoutMetadataReader>newArrayList(),
- mockServicesInjector);
- }
-
- @Test
- public void testLayoutMetadataReaderNull() {
- expectedException.expect(IllegalArgumentException.class);
- expectedException.expectMessage("illegal argument, expected: is not null");
-
- new ObjectReflectorDefault(DeploymentCategory.PRODUCTION,
- mockConfiguration,
- new ProgrammingModelFacetsJava5(),
- new MetaModelValidatorDefault(),
- null,
- mockServicesInjector);
- }
-
- @Test
- public void testCollectionFacet() throws Exception {
- final Facet facet = specification.getFacet(CollectionFacet.class);
- Assert.assertNull(facet);
- }
-
- @Test
- public void testTypeOfFacet() throws Exception {
- final TypeOfFacet facet = specification.getFacet(TypeOfFacet.class);
- Assert.assertNull(facet);
- }
-
- @Test
- public void testNamedFaced() throws Exception {
- final Facet facet = specification.getFacet(NamedFacet.class);
- Assert.assertNotNull(facet);
- }
-
- @Test
- public void testPluralFaced() throws Exception {
- final Facet facet = specification.getFacet(PluralFacet.class);
- Assert.assertNotNull(facet);
- }
-
- @Test
- public void testDescriptionFacet() throws Exception {
- final Facet facet = specification.getFacet(DescribedAsFacet.class);
- Assert.assertNotNull(facet);
- }
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/04bf1f22/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/ObjectReflectorDefaultTest_array.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/ObjectReflectorDefaultTest_array.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/ObjectReflectorDefaultTest_array.java
deleted file mode 100644
index 86639ea..0000000
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/ObjectReflectorDefaultTest_array.java
+++ /dev/null
@@ -1,62 +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.specloader;
-
-import org.junit.Assert;
-import org.junit.Test;
-
-import org.apache.isis.core.metamodel.facetapi.Facet;
-import org.apache.isis.core.metamodel.facets.collections.modify.CollectionFacet;
-import org.apache.isis.core.metamodel.facets.actcoll.typeof.TypeOfFacet;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-
-public class ObjectReflectorDefaultTest_array extends ObjectReflectorDefaultTestAbstract {
-
- @Override
- protected ObjectSpecification loadSpecification(final ObjectReflectorDefault reflector) {
- return reflector.loadSpecification(ReflectorTestPojo[].class);
- }
-
- @Test
- public void testType() throws Exception {
- Assert.assertTrue(specification.isParentedOrFreeCollection());
- }
-
- @Test
- public void testName() throws Exception {
- Assert.assertEquals(ReflectorTestPojo[].class.getName(), specification.getFullIdentifier());
- }
-
- @Test
- @Override
- public void testCollectionFacet() throws Exception {
- final Facet facet = specification.getFacet(CollectionFacet.class);
- Assert.assertNotNull(facet);
- }
-
- @Test
- @Override
- public void testTypeOfFacet() throws Exception {
- final TypeOfFacet facet = specification.getFacet(TypeOfFacet.class);
- Assert.assertNotNull(facet);
- Assert.assertEquals(ReflectorTestPojo.class, facet.value());
- }
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/04bf1f22/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/ObjectReflectorDefaultTest_collection.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/ObjectReflectorDefaultTest_collection.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/ObjectReflectorDefaultTest_collection.java
deleted file mode 100644
index a673884..0000000
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/ObjectReflectorDefaultTest_collection.java
+++ /dev/null
@@ -1,64 +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.specloader;
-
-import java.util.Vector;
-
-import org.junit.Assert;
-import org.junit.Test;
-
-import org.apache.isis.core.metamodel.facetapi.Facet;
-import org.apache.isis.core.metamodel.facets.collections.modify.CollectionFacet;
-import org.apache.isis.core.metamodel.facets.actcoll.typeof.TypeOfFacet;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-
-public class ObjectReflectorDefaultTest_collection extends ObjectReflectorDefaultTestAbstract {
-
- @Override
- protected ObjectSpecification loadSpecification(final ObjectReflectorDefault reflector) {
- return reflector.loadSpecification(Vector.class);
- }
-
- @Test
- public void testType() throws Exception {
- Assert.assertTrue(specification.isParentedOrFreeCollection());
- }
-
- @Test
- public void testName() throws Exception {
- Assert.assertEquals(Vector.class.getName(), specification.getFullIdentifier());
- }
-
- @Test
- @Override
- public void testCollectionFacet() throws Exception {
- final Facet facet = specification.getFacet(CollectionFacet.class);
- Assert.assertNotNull(facet);
- }
-
- @Test
- @Override
- public void testTypeOfFacet() throws Exception {
- final TypeOfFacet facet = specification.getFacet(TypeOfFacet.class);
- Assert.assertNotNull(facet);
- Assert.assertEquals(Object.class, facet.value());
- }
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/04bf1f22/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/ObjectReflectorDefaultTest_object.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/ObjectReflectorDefaultTest_object.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/ObjectReflectorDefaultTest_object.java
index 30f354f..8f5d2d5 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/ObjectReflectorDefaultTest_object.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/ObjectReflectorDefaultTest_object.java
@@ -33,14 +33,14 @@ import org.apache.isis.core.metamodel.facets.actcoll.typeof.TypeOfFacet;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.core.metamodel.facets.object.objectvalidprops.ObjectValidPropertiesFacet;
-public class ObjectReflectorDefaultTest_object extends ObjectReflectorDefaultTestAbstract {
+public class ObjectReflectorDefaultTest_object extends SpecificationLoaderTestAbstract {
public static class TestDomainObject {
}
@Override
- protected ObjectSpecification loadSpecification(final ObjectReflectorDefault reflector) {
+ protected ObjectSpecification loadSpecification(final SpecificationLoader reflector) {
return reflector.loadSpecification(TestDomainObject.class);
}
http://git-wip-us.apache.org/repos/asf/isis/blob/04bf1f22/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/ObjectReflectorDefaultTest_value.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/ObjectReflectorDefaultTest_value.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/ObjectReflectorDefaultTest_value.java
deleted file mode 100644
index cb7c488..0000000
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/ObjectReflectorDefaultTest_value.java
+++ /dev/null
@@ -1,44 +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.specloader;
-
-import org.junit.Assert;
-import org.junit.Test;
-
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-
-public class ObjectReflectorDefaultTest_value extends ObjectReflectorDefaultTestAbstract {
-
- @Override
- protected ObjectSpecification loadSpecification(final ObjectReflectorDefault reflector) {
- return reflector.loadSpecification(String.class);
- }
-
- @Test
- public void testType() throws Exception {
- Assert.assertTrue(specification.isNotCollection());
- }
-
- @Test
- public void testName() throws Exception {
- Assert.assertEquals(String.class.getName(), specification.getFullIdentifier());
- }
-
-}
http://git-wip-us.apache.org/repos/asf/isis/blob/04bf1f22/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/SpecificationLoaderTestAbstract.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/SpecificationLoaderTestAbstract.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/SpecificationLoaderTestAbstract.java
new file mode 100644
index 0000000..26faff6
--- /dev/null
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/SpecificationLoaderTestAbstract.java
@@ -0,0 +1,185 @@
+/*
+ * 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.specloader;
+
+import java.util.Collections;
+
+import com.google.common.collect.Lists;
+
+import org.jmock.Expectations;
+import org.jmock.auto.Mock;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.ExpectedException;
+
+import org.apache.isis.applib.services.grid.GridService;
+import org.apache.isis.core.commons.authentication.AuthenticationSessionProvider;
+import org.apache.isis.core.commons.config.IsisConfiguration;
+import org.apache.isis.core.commons.config.IsisConfigurationDefault;
+import org.apache.isis.core.metamodel.deployment.DeploymentCategory;
+import org.apache.isis.core.metamodel.deployment.DeploymentCategoryProvider;
+import org.apache.isis.core.metamodel.facetapi.Facet;
+import org.apache.isis.core.metamodel.facets.actcoll.typeof.TypeOfFacet;
+import org.apache.isis.core.metamodel.facets.all.describedas.DescribedAsFacet;
+import org.apache.isis.core.metamodel.facets.all.named.NamedFacet;
+import org.apache.isis.core.metamodel.facets.collections.modify.CollectionFacet;
+import org.apache.isis.core.metamodel.facets.object.plural.PluralFacet;
+import org.apache.isis.core.metamodel.layoutmetadata.LayoutMetadataReader;
+import org.apache.isis.core.metamodel.layoutmetadata.json.LayoutMetadataReaderFromJson;
+import org.apache.isis.core.metamodel.metamodelvalidator.dflt.MetaModelValidatorDefault;
+import org.apache.isis.core.metamodel.runtimecontext.ConfigurationServiceInternal;
+import org.apache.isis.core.metamodel.runtimecontext.RuntimeContext;
+import org.apache.isis.core.metamodel.runtimecontext.noruntime.RuntimeContextNoRuntime;
+import org.apache.isis.core.metamodel.services.ServicesInjectorDefault;
+import org.apache.isis.core.metamodel.services.ServicesInjectorSpi;
+import org.apache.isis.core.metamodel.spec.ObjectSpecification;
+import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
+import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2.Mode;
+import org.apache.isis.progmodels.dflt.ProgrammingModelFacetsJava5;
+
+public abstract class SpecificationLoaderTestAbstract {
+
+ @Rule
+ public JUnitRuleMockery2 context = JUnitRuleMockery2.createFor(Mode.INTERFACES_ONLY);
+
+ @Rule
+ public ExpectedException expectedException = ExpectedException.none();
+
+ private RuntimeContext runtimeContext;
+
+ @Mock
+ private IsisConfiguration mockConfiguration;
+ @Mock
+ private DeploymentCategoryProvider mockDeploymentCategoryProvider;
+ @Mock
+ private AuthenticationSessionProvider mockAuthenticationSessionProvider;
+ @Mock
+ private ServicesInjectorSpi mockServicesInjector;
+ @Mock
+ private GridService mockGridService;
+
+ // is loaded by subclasses
+ protected ObjectSpecification specification;
+
+
+ @Before
+ public void setUp() throws Exception {
+
+ context.checking(new Expectations() {{
+ ignoring(mockConfiguration);
+
+ allowing(mockServicesInjector).lookupService(ConfigurationServiceInternal.class);
+ will(returnValue(new IsisConfigurationDefault(null)));
+
+ allowing(mockServicesInjector).lookupService(DeploymentCategoryProvider.class);
+ will(returnValue(mockDeploymentCategoryProvider));
+
+ allowing(mockDeploymentCategoryProvider).getDeploymentCategory();
+ will(returnValue(DeploymentCategory.PRODUCTION));
+
+ allowing(mockServicesInjector).lookupService(AuthenticationSessionProvider.class);
+ will(returnValue(mockAuthenticationSessionProvider));
+
+ allowing(mockServicesInjector).lookupService(GridService.class);
+ will(returnValue(mockGridService));
+
+ ignoring(mockGridService).existsFor(with(any(Class.class)));
+
+ ignoring(mockServicesInjector).getRegisteredServices();
+
+ ignoring(mockServicesInjector).isRegisteredService(with(any(Class.class)));
+ }});
+
+ final SpecificationLoader reflector =
+ new SpecificationLoader(DeploymentCategory.PRODUCTION,
+ mockConfiguration,
+ new ProgrammingModelFacetsJava5(),
+ new MetaModelValidatorDefault(),
+ Lists.<LayoutMetadataReader>newArrayList(
+ new LayoutMetadataReaderFromJson()), mockServicesInjector);
+ runtimeContext =
+ new RuntimeContextNoRuntime(
+ new ServicesInjectorDefault(Collections.emptyList()), reflector);
+ reflector.init(runtimeContext);
+
+ specification = loadSpecification(reflector);
+ }
+
+ protected abstract ObjectSpecification loadSpecification(SpecificationLoader reflector);
+
+ @Test
+ public void testLayoutMetadataReaderEmptyList() {
+ expectedException.expect(IllegalArgumentException.class);
+ expectedException.expectMessage("illegal argument, expected: is not an empty collection");
+
+ new SpecificationLoader(DeploymentCategory.PRODUCTION ,
+ mockConfiguration,
+ new ProgrammingModelFacetsJava5(),
+ new MetaModelValidatorDefault(),
+ Lists.<LayoutMetadataReader>newArrayList(),
+ mockServicesInjector);
+ }
+
+ @Test
+ public void testLayoutMetadataReaderNull() {
+ expectedException.expect(IllegalArgumentException.class);
+ expectedException.expectMessage("illegal argument, expected: is not null");
+
+ new SpecificationLoader(DeploymentCategory.PRODUCTION,
+ mockConfiguration,
+ new ProgrammingModelFacetsJava5(),
+ new MetaModelValidatorDefault(),
+ null,
+ mockServicesInjector);
+ }
+
+ @Test
+ public void testCollectionFacet() throws Exception {
+ final Facet facet = specification.getFacet(CollectionFacet.class);
+ Assert.assertNull(facet);
+ }
+
+ @Test
+ public void testTypeOfFacet() throws Exception {
+ final TypeOfFacet facet = specification.getFacet(TypeOfFacet.class);
+ Assert.assertNull(facet);
+ }
+
+ @Test
+ public void testNamedFaced() throws Exception {
+ final Facet facet = specification.getFacet(NamedFacet.class);
+ Assert.assertNotNull(facet);
+ }
+
+ @Test
+ public void testPluralFaced() throws Exception {
+ final Facet facet = specification.getFacet(PluralFacet.class);
+ Assert.assertNotNull(facet);
+ }
+
+ @Test
+ public void testDescriptionFacet() throws Exception {
+ final Facet facet = specification.getFacet(DescribedAsFacet.class);
+ Assert.assertNotNull(facet);
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/04bf1f22/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/SpecificationLoaderTest_array.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/SpecificationLoaderTest_array.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/SpecificationLoaderTest_array.java
new file mode 100644
index 0000000..25065c0
--- /dev/null
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/SpecificationLoaderTest_array.java
@@ -0,0 +1,62 @@
+/*
+ * 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.specloader;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+import org.apache.isis.core.metamodel.facetapi.Facet;
+import org.apache.isis.core.metamodel.facets.collections.modify.CollectionFacet;
+import org.apache.isis.core.metamodel.facets.actcoll.typeof.TypeOfFacet;
+import org.apache.isis.core.metamodel.spec.ObjectSpecification;
+
+public class SpecificationLoaderTest_array extends SpecificationLoaderTestAbstract {
+
+ @Override
+ protected ObjectSpecification loadSpecification(final SpecificationLoader reflector) {
+ return reflector.loadSpecification(ReflectorTestPojo[].class);
+ }
+
+ @Test
+ public void testType() throws Exception {
+ Assert.assertTrue(specification.isParentedOrFreeCollection());
+ }
+
+ @Test
+ public void testName() throws Exception {
+ Assert.assertEquals(ReflectorTestPojo[].class.getName(), specification.getFullIdentifier());
+ }
+
+ @Test
+ @Override
+ public void testCollectionFacet() throws Exception {
+ final Facet facet = specification.getFacet(CollectionFacet.class);
+ Assert.assertNotNull(facet);
+ }
+
+ @Test
+ @Override
+ public void testTypeOfFacet() throws Exception {
+ final TypeOfFacet facet = specification.getFacet(TypeOfFacet.class);
+ Assert.assertNotNull(facet);
+ Assert.assertEquals(ReflectorTestPojo.class, facet.value());
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/04bf1f22/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/SpecificationLoaderTest_collection.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/SpecificationLoaderTest_collection.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/SpecificationLoaderTest_collection.java
new file mode 100644
index 0000000..6a6df8b
--- /dev/null
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/SpecificationLoaderTest_collection.java
@@ -0,0 +1,64 @@
+/*
+ * 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.specloader;
+
+import java.util.Vector;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+import org.apache.isis.core.metamodel.facetapi.Facet;
+import org.apache.isis.core.metamodel.facets.collections.modify.CollectionFacet;
+import org.apache.isis.core.metamodel.facets.actcoll.typeof.TypeOfFacet;
+import org.apache.isis.core.metamodel.spec.ObjectSpecification;
+
+public class SpecificationLoaderTest_collection extends SpecificationLoaderTestAbstract {
+
+ @Override
+ protected ObjectSpecification loadSpecification(final SpecificationLoader reflector) {
+ return reflector.loadSpecification(Vector.class);
+ }
+
+ @Test
+ public void testType() throws Exception {
+ Assert.assertTrue(specification.isParentedOrFreeCollection());
+ }
+
+ @Test
+ public void testName() throws Exception {
+ Assert.assertEquals(Vector.class.getName(), specification.getFullIdentifier());
+ }
+
+ @Test
+ @Override
+ public void testCollectionFacet() throws Exception {
+ final Facet facet = specification.getFacet(CollectionFacet.class);
+ Assert.assertNotNull(facet);
+ }
+
+ @Test
+ @Override
+ public void testTypeOfFacet() throws Exception {
+ final TypeOfFacet facet = specification.getFacet(TypeOfFacet.class);
+ Assert.assertNotNull(facet);
+ Assert.assertEquals(Object.class, facet.value());
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/04bf1f22/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/SpecificationLoaderTest_value.java
----------------------------------------------------------------------
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/SpecificationLoaderTest_value.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/SpecificationLoaderTest_value.java
new file mode 100644
index 0000000..f942a0a
--- /dev/null
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/SpecificationLoaderTest_value.java
@@ -0,0 +1,44 @@
+/*
+ * 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.specloader;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+import org.apache.isis.core.metamodel.spec.ObjectSpecification;
+
+public class SpecificationLoaderTest_value extends SpecificationLoaderTestAbstract {
+
+ @Override
+ protected ObjectSpecification loadSpecification(final SpecificationLoader reflector) {
+ return reflector.loadSpecification(String.class);
+ }
+
+ @Test
+ public void testType() throws Exception {
+ Assert.assertTrue(specification.isNotCollection());
+ }
+
+ @Test
+ public void testName() throws Exception {
+ Assert.assertEquals(String.class.getName(), specification.getFullIdentifier());
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/isis/blob/04bf1f22/core/runtime/src/main/java/org/apache/isis/core/runtime/fixturedomainservice/ObjectFixtureFilePersistor.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/fixturedomainservice/ObjectFixtureFilePersistor.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/fixturedomainservice/ObjectFixtureFilePersistor.java
index 9c124d5..b7d4390 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/fixturedomainservice/ObjectFixtureFilePersistor.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/fixturedomainservice/ObjectFixtureFilePersistor.java
@@ -42,7 +42,7 @@ import org.apache.isis.core.metamodel.facets.collections.modify.CollectionFacetU
import org.apache.isis.core.metamodel.facets.object.parseable.ParseableFacet;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.core.metamodel.spec.ObjectSpecificationException;
-import org.apache.isis.core.metamodel.spec.SpecificationLoader;
+import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
import org.apache.isis.core.metamodel.spec.feature.Contributed;
import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
import org.apache.isis.core.metamodel.spec.feature.OneToOneAssociation;
http://git-wip-us.apache.org/repos/asf/isis/blob/04bf1f22/core/runtime/src/main/java/org/apache/isis/core/runtime/installerregistry/InstallerLookup.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/installerregistry/InstallerLookup.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/installerregistry/InstallerLookup.java
index eba4cf5..6d27751 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/installerregistry/InstallerLookup.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/installerregistry/InstallerLookup.java
@@ -43,7 +43,7 @@ import org.apache.isis.core.commons.factory.InstanceUtil;
import org.apache.isis.core.commons.factory.UnavailableClassException;
import org.apache.isis.core.commons.lang.ObjectExtensions;
import org.apache.isis.core.commons.lang.StringExtensions;
-import org.apache.isis.core.metamodel.specloader.ObjectReflectorInstaller;
+import org.apache.isis.core.metamodel.specloader.SpecificationLoaderInstaller;
import org.apache.isis.core.runtime.IsisInstallerRegistry;
import org.apache.isis.core.runtime.about.AboutIsis;
import org.apache.isis.core.runtime.about.ComponentDetails;
@@ -152,8 +152,8 @@ public class InstallerLookup implements InstallerRepository, ApplicationScopedCo
//region > metamodel
- public ObjectReflectorInstaller reflectorInstaller(final String requested) {
- return getInstaller(ObjectReflectorInstaller.class, requested, SystemConstants.REFLECTOR_KEY, SystemConstants.REFLECTOR_DEFAULT);
+ public SpecificationLoaderInstaller reflectorInstaller(final String requested) {
+ return getInstaller(SpecificationLoaderInstaller.class, requested, SystemConstants.REFLECTOR_KEY, SystemConstants.REFLECTOR_DEFAULT);
}
//endregion
http://git-wip-us.apache.org/repos/asf/isis/blob/04bf1f22/core/runtime/src/main/java/org/apache/isis/core/runtime/memento/Memento.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/memento/Memento.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/memento/Memento.java
index f8599f7..3ebbb98 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/memento/Memento.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/memento/Memento.java
@@ -41,7 +41,7 @@ import org.apache.isis.core.metamodel.facets.object.encodeable.EncodableFacet;
import org.apache.isis.core.metamodel.facets.propcoll.accessor.PropertyOrCollectionAccessorFacet;
import org.apache.isis.core.metamodel.facets.properties.update.modify.PropertySetterFacet;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.SpecificationLoader;
+import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
import org.apache.isis.core.metamodel.spec.feature.Contributed;
import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
import org.apache.isis.core.metamodel.spec.feature.OneToManyAssociation;
http://git-wip-us.apache.org/repos/asf/isis/blob/04bf1f22/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/adapter/PojoAdapter.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/adapter/PojoAdapter.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/adapter/PojoAdapter.java
index 9b2db6a..89ab049 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/adapter/PojoAdapter.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/adapter/PojoAdapter.java
@@ -41,7 +41,7 @@ import org.apache.isis.core.metamodel.spec.Instance;
import org.apache.isis.core.metamodel.spec.InstanceAbstract;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.core.metamodel.spec.Specification;
-import org.apache.isis.core.metamodel.spec.SpecificationLoader;
+import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
import org.apache.isis.core.metamodel.spec.feature.OneToManyAssociation;
import org.apache.isis.core.runtime.system.persistence.PersistenceSession;
http://git-wip-us.apache.org/repos/asf/isis/blob/04bf1f22/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/container/DomainObjectContainerResolve.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/container/DomainObjectContainerResolve.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/container/DomainObjectContainerResolve.java
index acbbe6f..58d0f89 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/container/DomainObjectContainerResolve.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/container/DomainObjectContainerResolve.java
@@ -27,7 +27,7 @@ import org.apache.isis.core.metamodel.adapter.oid.Oid;
import org.apache.isis.core.metamodel.adapter.oid.RootOid;
import org.apache.isis.core.metamodel.services.ServicesInjectorSpi;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.SpecificationLoader;
+import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
import org.apache.isis.core.runtime.system.context.IsisContext;
import org.apache.isis.core.runtime.system.persistence.PersistenceSession;
http://git-wip-us.apache.org/repos/asf/isis/blob/04bf1f22/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/internal/RuntimeContextFromSession.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/internal/RuntimeContextFromSession.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/internal/RuntimeContextFromSession.java
index f6df1e4..ced961a 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/internal/RuntimeContextFromSession.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/internal/RuntimeContextFromSession.java
@@ -39,7 +39,7 @@ import org.apache.isis.core.metamodel.runtimecontext.PersistenceSessionServiceAb
import org.apache.isis.core.metamodel.runtimecontext.RuntimeContextAbstract;
import org.apache.isis.core.metamodel.runtimecontext.ServicesInjector;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.SpecificationLoader;
+import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
import org.apache.isis.core.metamodel.spec.feature.OneToManyAssociation;
import org.apache.isis.core.metamodel.transactions.TransactionState;
import org.apache.isis.core.metamodel.transactions.TransactionStateProvider;
http://git-wip-us.apache.org/repos/asf/isis/blob/04bf1f22/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/query/PersistenceQueryAbstract.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/query/PersistenceQueryAbstract.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/query/PersistenceQueryAbstract.java
index f46eb2d..cbdd81b 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/query/PersistenceQueryAbstract.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/query/PersistenceQueryAbstract.java
@@ -25,7 +25,7 @@ import org.apache.isis.core.commons.encoding.DataInputExtended;
import org.apache.isis.core.commons.encoding.DataOutputExtended;
import org.apache.isis.core.commons.encoding.Encodable;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.SpecificationLoader;
+import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
import org.apache.isis.core.runtime.system.context.IsisContext;
import org.apache.isis.core.runtime.system.persistence.PersistenceQuery;
http://git-wip-us.apache.org/repos/asf/isis/blob/04bf1f22/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/Constants.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/Constants.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/Constants.java
index 54d5a48..21f37e4 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/Constants.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/Constants.java
@@ -19,8 +19,7 @@
package org.apache.isis.core.runtime.runner;
-import org.apache.isis.core.metamodel.specloader.ObjectReflectorInstaller;
-import org.apache.isis.core.runtime.installerregistry.installerapi.PersistenceMechanismInstaller;
+import org.apache.isis.core.metamodel.specloader.SpecificationLoaderInstaller;
import org.apache.isis.core.runtime.logging.LoggingConstants;
import org.apache.isis.core.runtime.system.DeploymentType;
@@ -36,7 +35,7 @@ public final class Constants {
public static final String TYPE_SERVER = DeploymentType.SERVER.friendlyName();
public static final String REFLECTOR_OPT = "l";
- public static final String REFLECTOR_LONG_OPT = ObjectReflectorInstaller.TYPE;
+ public static final String REFLECTOR_LONG_OPT = SpecificationLoaderInstaller.TYPE;
public static final String CONFIGURATION_OPT = "c";
public static final String CONFIGURATION_LONG_OPT = "config";
http://git-wip-us.apache.org/repos/asf/isis/blob/04bf1f22/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerReflector.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerReflector.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerReflector.java
index 684874b..4ac20dc 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerReflector.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/runner/opts/OptionHandlerReflector.java
@@ -25,7 +25,7 @@ import org.apache.commons.cli.OptionBuilder;
import org.apache.commons.cli.Options;
import org.apache.isis.core.commons.configbuilder.IsisConfigurationBuilder;
-import org.apache.isis.core.metamodel.specloader.ObjectReflectorInstaller;
+import org.apache.isis.core.metamodel.specloader.SpecificationLoaderInstaller;
import org.apache.isis.core.runtime.installerregistry.InstallerRepository;
import org.apache.isis.core.runtime.optionhandler.BootPrinter;
import org.apache.isis.core.runtime.optionhandler.OptionHandlerAbstract;
@@ -51,7 +51,7 @@ public class OptionHandlerReflector extends OptionHandlerAbstract {
@Override
@SuppressWarnings("static-access")
public void addOption(final Options options) {
- final Object[] reflectors = installerRepository.getInstallers(ObjectReflectorInstaller.class);
+ final Object[] reflectors = installerRepository.getInstallers(SpecificationLoaderInstaller.class);
final Option option = OptionBuilder.withArgName("name|class name").hasArg().withLongOpt(REFLECTOR_LONG_OPT).withDescription("reflector to use (ignored if type is prototype or client): " + availableInstallers(reflectors) + "; or class name").create(REFLECTOR_OPT);
options.addOption(option);
http://git-wip-us.apache.org/repos/asf/isis/blob/04bf1f22/core/runtime/src/main/java/org/apache/isis/core/runtime/services/background/BackgroundServiceDefault.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/background/BackgroundServiceDefault.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/background/BackgroundServiceDefault.java
index c93e844..74929e5 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/background/BackgroundServiceDefault.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/background/BackgroundServiceDefault.java
@@ -43,7 +43,7 @@ import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager;
import org.apache.isis.core.metamodel.facets.actions.action.invocation.CommandUtil;
import org.apache.isis.core.metamodel.services.command.CommandDtoServiceInternal;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.SpecificationLoader;
+import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
import org.apache.isis.core.metamodel.spec.feature.Contributed;
import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
import org.apache.isis.core.metamodel.spec.feature.ObjectMember;
http://git-wip-us.apache.org/repos/asf/isis/blob/04bf1f22/core/runtime/src/main/java/org/apache/isis/core/runtime/services/command/CommandDtoServiceInternalDefault.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/command/CommandDtoServiceInternalDefault.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/command/CommandDtoServiceInternalDefault.java
index 3022223..4e7b16b 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/command/CommandDtoServiceInternalDefault.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/command/CommandDtoServiceInternalDefault.java
@@ -37,7 +37,7 @@ import org.apache.isis.core.metamodel.adapter.oid.RootOid;
import org.apache.isis.core.metamodel.facets.actions.action.invocation.CommandUtil;
import org.apache.isis.core.metamodel.services.command.CommandDtoServiceInternal;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.SpecificationLoader;
+import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
import org.apache.isis.core.metamodel.spec.feature.ObjectActionParameter;
import org.apache.isis.core.metamodel.spec.feature.ObjectMember;
http://git-wip-us.apache.org/repos/asf/isis/blob/04bf1f22/core/runtime/src/main/java/org/apache/isis/core/runtime/sessiontemplate/AbstractIsisSessionTemplate.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/sessiontemplate/AbstractIsisSessionTemplate.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/sessiontemplate/AbstractIsisSessionTemplate.java
index fa7b036..324dd6c 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/sessiontemplate/AbstractIsisSessionTemplate.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/sessiontemplate/AbstractIsisSessionTemplate.java
@@ -20,7 +20,7 @@ import org.apache.isis.core.commons.authentication.AuthenticationSession;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager;
import org.apache.isis.core.metamodel.adapter.oid.RootOid;
-import org.apache.isis.core.metamodel.spec.SpecificationLoader;
+import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
import org.apache.isis.core.runtime.system.context.IsisContext;
import org.apache.isis.core.runtime.system.persistence.PersistenceSession;
import org.apache.isis.core.runtime.system.session.IsisSession;
http://git-wip-us.apache.org/repos/asf/isis/blob/04bf1f22/core/runtime/src/main/java/org/apache/isis/core/runtime/system/IsisSystem.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/IsisSystem.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/IsisSystem.java
index d65e23d..3f82837 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/IsisSystem.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/IsisSystem.java
@@ -44,7 +44,7 @@ import org.apache.isis.core.metamodel.runtimecontext.ConfigurationServiceInterna
import org.apache.isis.core.metamodel.services.ServicesInjectorDefault;
import org.apache.isis.core.metamodel.services.ServicesInjectorSpi;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.spec.SpecificationLoader;
+import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
import org.apache.isis.core.metamodel.specloader.ServiceInitializer;
import org.apache.isis.core.metamodel.specloader.validator.MetaModelInvalidException;
import org.apache.isis.core.runtime.authentication.AuthenticationManager;