You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ah...@apache.org on 2019/03/16 13:29:32 UTC
[isis] branch ISIS-2033-IoC_spring updated: ISIS-2033: prepare for
spec-loading to be initialized by spring
This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch ISIS-2033-IoC_spring
in repository https://gitbox.apache.org/repos/asf/isis.git
The following commit(s) were added to refs/heads/ISIS-2033-IoC_spring by this push:
new de99e94 ISIS-2033: prepare for spec-loading to be initialized by spring
de99e94 is described below
commit de99e945a144da34e2f930ab69d5a3e2efac4c10
Author: Andi Huber <ah...@apache.org>
AuthorDate: Sat Mar 16 14:29:28 2019 +0100
ISIS-2033: prepare for spec-loading to be initialized by spring
Task-Url: https://issues.apache.org/jira/browse/ISIS-2033
---
.../org/apache/isis/applib/AppTypeRegistry.java | 155 ---------------------
.../isis/applib/fixturescripts/FixtureScripts.java | 8 +-
.../apache/isis/config/beans/BeanTypeRegistry.java | 155 +++++++++++++++++++++
.../isis/config/builder/ModulePackageHelper.java | 8 +-
core/log4j/pom.xml | 4 +-
.../metamodel/specloader/SpecificationLoader.java | 20 +--
.../specimpl/ObjectSpecificationAbstract.java | 6 +-
.../SpecificationLoaderTestAbstract.java | 16 +--
core/{log4j => plugins/legacy}/pom.xml | 104 +++++++++-----
.../classdiscovery/ClassDiscoveryService.java | 0
.../ClassDiscoveryServiceDefault.java | 4 +-
.../services/classdiscovery/package-info.java | 0
example/application/springapp/pom.xml | 8 +-
13 files changed, 265 insertions(+), 223 deletions(-)
diff --git a/core/applib/src/main/java/org/apache/isis/applib/AppTypeRegistry.java b/core/applib/src/main/java/org/apache/isis/applib/AppTypeRegistry.java
deleted file mode 100644
index 45af56d..0000000
--- a/core/applib/src/main/java/org/apache/isis/applib/AppTypeRegistry.java
+++ /dev/null
@@ -1,155 +0,0 @@
-package org.apache.isis.applib;
-
-import java.util.Collection;
-import java.util.List;
-import java.util.Set;
-import java.util.stream.Stream;
-
-import org.apache.isis.applib.fixturescripts.FixtureScript;
-import org.apache.isis.commons.internal.collections._Lists;
-
-/**
- * Holds the set of domain services, persistent entities and fixture scripts.services
- */
- public final class AppTypeRegistry {
-
- public final static List<String> FRAMEWORK_PROVIDED_SERVICE_PACKAGES = _Lists.of(
- "org.apache.isis.applib",
- "org.apache.isis.core.wrapper" ,
- "org.apache.isis.core.metamodel.services" ,
- "org.apache.isis.core.runtime.services" ,
- "org.apache.isis.schema.services" ,
- "org.apache.isis.objectstore.jdo.applib.service" ,
- "org.apache.isis.viewer.restfulobjects.rendering.service" ,
- "org.apache.isis.objectstore.jdo.datanucleus.service.support" ,
- "org.apache.isis.objectstore.jdo.datanucleus.service.eventbus" ,
- "org.apache.isis.viewer.wicket.viewer.services",
- "org.apache.isis.core.integtestsupport.components");
-
- public final static List<String> FRAMEWORK_PROVIDED_TYPES_FOR_SCANNING = _Lists.of(
- "org.apache.isis.config.AppConfig",
- "org.apache.isis.applib.IsisApplibModule",
- "org.apache.isis.core.wrapper.WrapperFactoryDefault",
- "org.apache.isis.core.metamodel.MetamodelModule",
- "org.apache.isis.core.runtime.RuntimeModule",
- "org.apache.isis.core.runtime.services.RuntimeServicesModule",
- "org.apache.isis.jdo.JdoModule",
- "org.apache.isis.viewer.restfulobjects.rendering.RendererContext"
-
-
-// "org.apache.isis.objectstore.jdo.applib.service" ,
-// "org.apache.isis.objectstore.jdo.datanucleus.service.support" ,
-// "org.apache.isis.objectstore.jdo.datanucleus.service.eventbus" ,
-// "org.apache.isis.viewer.wicket.viewer.services",
-// "org.apache.isis.core.integtestsupport.components"
-
-
- );
-
- private static AppTypeRegistry instance = new AppTypeRegistry();
- public static AppTypeRegistry instance() {
- return instance;
- }
-
- // -- persistenceCapableTypes
- private Set<Class<?>> persistenceCapableTypes;
- /**
- * @return <tt>null</tt> if no appManifest is defined
- */
- public Set<Class<?>> getPersistenceCapableTypes() {
- return persistenceCapableTypes;
- }
- public void setPersistenceCapableTypes(final Set<Class<?>> persistenceCapableTypes) {
- this.persistenceCapableTypes = persistenceCapableTypes;
- }
-
-
- // -- mixinTypes
- private Set<Class<?>> mixinTypes;
-
- /**
- * Along with {@link #getDomainServiceTypes()}, these are introspected eagerly.
- *
- * @return <tt>null</tt> if no appManifest is defined
- */
- public Set<Class<?>> getMixinTypes() {
- return mixinTypes;
- }
- public void setMixinTypes(final Set<Class<?>> mixinTypes) {
- this.mixinTypes = mixinTypes;
- }
-
-
- // -- fixtureScriptTypes
- private Set<Class<? extends FixtureScript>> fixtureScriptTypes;
-
- /**
- * @return <tt>null</tt> if no appManifest is defined
- */
- public Set<Class<? extends FixtureScript>> getFixtureScriptTypes() {
- return fixtureScriptTypes;
- }
- public void setFixtureScriptTypes(final Set<Class<? extends FixtureScript>> fixtureScriptTypes) {
- this.fixtureScriptTypes = fixtureScriptTypes;
- }
-
-
-
- // -- domainServiceTypes
- private Set<Class<?>> domainServiceTypes;
- /**
- * @return <tt>null</tt> if no appManifest is defined
- */
- public Set<Class<?>> getDomainServiceTypes() {
- return domainServiceTypes;
- }
- public void setDomainServiceTypes(final Set<Class<?>> domainServiceTypes) {
- this.domainServiceTypes = domainServiceTypes;
- }
-
-
- private Set<Class<?>> domainObjectTypes;
- private Set<Class<?>> viewModelTypes;
- private Set<Class<?>> xmlElementTypes;
-
- public Set<Class<?>> getDomainObjectTypes() {
- return domainObjectTypes;
- }
- public void setDomainObjectTypes(final Set<Class<?>> domainObjectTypes) {
- this.domainObjectTypes = domainObjectTypes;
- }
-
- public Set<Class<?>> getViewModelTypes() {
- return viewModelTypes;
- }
- public void setViewModelTypes(final Set<Class<?>> viewModelTypes) {
- this.viewModelTypes = viewModelTypes;
- }
-
- public Set<Class<?>> getXmlElementTypes() {
- return xmlElementTypes;
- }
- public void setXmlElementTypes(final Set<Class<?>> xmlElementTypes) {
- this.xmlElementTypes = xmlElementTypes;
- }
-
- // -- STREAM ALL
-
- /**
- * @since 2.0.0-M2
- */
- public Stream<Class<?>> streamAllTypes() {
-
- return _Lists.of(persistenceCapableTypes,
- mixinTypes,
- fixtureScriptTypes,
- domainServiceTypes,
- domainObjectTypes,
- viewModelTypes,
- xmlElementTypes)
- .stream()
- .flatMap(Collection::stream)
- ;
- }
-
- }
\ No newline at end of file
diff --git a/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/FixtureScripts.java b/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/FixtureScripts.java
index 5095d59..c0e4758 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/FixtureScripts.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/FixtureScripts.java
@@ -42,7 +42,7 @@ import org.apache.isis.applib.annotation.ParameterLayout;
import org.apache.isis.applib.annotation.Programmatic;
import org.apache.isis.applib.annotation.RestrictTo;
import org.apache.isis.applib.services.bookmark.BookmarkService;
-import org.apache.isis.applib.services.classdiscovery.ClassDiscoveryService;
+//import org.apache.isis.applib.services.classdiscovery.ClassDiscoveryService;
import org.apache.isis.applib.services.factory.FactoryService;
import org.apache.isis.applib.services.fixturespec.FixtureScriptsDefault;
import org.apache.isis.applib.services.fixturespec.FixtureScriptsSpecification;
@@ -243,7 +243,9 @@ public abstract class FixtureScripts extends AbstractService {
}
private <T> Set<Class<? extends T>> findSubTypesOfClasses(Class<T> cls, final String packagePrefix) {
- return classDiscoveryService.findSubTypesOfClasses(cls, packagePrefix);
+ //FIXME [2033] utilize the TypeRegistry to find sub-classes
+ throw _Exceptions.notImplemented();
+ //return classDiscoveryService.findSubTypesOfClasses(cls, packagePrefix);
}
private FixtureScript newFixtureScript(final Class<? extends FixtureScript> fixtureScriptCls) {
@@ -475,7 +477,7 @@ public abstract class FixtureScripts extends AbstractService {
@Inject ServiceInjector serviceInjector;
@Inject RepositoryService repositoryService;
@Inject TransactionService transactionService;
- @Inject ClassDiscoveryService classDiscoveryService;
+ //@Inject ClassDiscoveryService classDiscoveryService;
@Inject ExecutionParametersService executionParametersService;
}
\ No newline at end of file
diff --git a/core/config/src/main/java/org/apache/isis/config/beans/BeanTypeRegistry.java b/core/config/src/main/java/org/apache/isis/config/beans/BeanTypeRegistry.java
new file mode 100644
index 0000000..dca7b9a
--- /dev/null
+++ b/core/config/src/main/java/org/apache/isis/config/beans/BeanTypeRegistry.java
@@ -0,0 +1,155 @@
+package org.apache.isis.config.beans;
+
+import java.util.Collection;
+import java.util.List;
+import java.util.Set;
+import java.util.stream.Stream;
+
+import org.apache.isis.applib.fixturescripts.FixtureScript;
+import org.apache.isis.commons.internal.collections._Lists;
+
+/**
+ * Holds the set of domain services, persistent entities and fixture scripts.services
+ */
+public final class BeanTypeRegistry {
+
+ public final static List<String> FRAMEWORK_PROVIDED_SERVICE_PACKAGES = _Lists.of(
+ "org.apache.isis.applib",
+ "org.apache.isis.core.wrapper" ,
+ "org.apache.isis.core.metamodel.services" ,
+ "org.apache.isis.core.runtime.services" ,
+ "org.apache.isis.schema.services" ,
+ "org.apache.isis.objectstore.jdo.applib.service" ,
+ "org.apache.isis.viewer.restfulobjects.rendering.service" ,
+ "org.apache.isis.objectstore.jdo.datanucleus.service.support" ,
+ "org.apache.isis.objectstore.jdo.datanucleus.service.eventbus" ,
+ "org.apache.isis.viewer.wicket.viewer.services",
+ "org.apache.isis.core.integtestsupport.components");
+
+ public final static List<String> FRAMEWORK_PROVIDED_TYPES_FOR_SCANNING = _Lists.of(
+ "org.apache.isis.config.AppConfig",
+ "org.apache.isis.applib.IsisApplibModule",
+ "org.apache.isis.core.wrapper.WrapperFactoryDefault",
+ "org.apache.isis.core.metamodel.MetamodelModule",
+ "org.apache.isis.core.runtime.RuntimeModule",
+ "org.apache.isis.core.runtime.services.RuntimeServicesModule",
+ "org.apache.isis.jdo.JdoModule",
+ "org.apache.isis.viewer.restfulobjects.rendering.RendererContext"
+
+
+ // "org.apache.isis.objectstore.jdo.applib.service" ,
+ // "org.apache.isis.objectstore.jdo.datanucleus.service.support" ,
+ // "org.apache.isis.objectstore.jdo.datanucleus.service.eventbus" ,
+ // "org.apache.isis.viewer.wicket.viewer.services",
+ // "org.apache.isis.core.integtestsupport.components"
+
+
+ );
+
+ private static BeanTypeRegistry instance = new BeanTypeRegistry();
+ public static BeanTypeRegistry instance() {
+ return instance;
+ }
+
+ // -- persistenceCapableTypes
+ private Set<Class<?>> persistenceCapableTypes;
+ /**
+ * @return <tt>null</tt> if no appManifest is defined
+ */
+ public Set<Class<?>> getPersistenceCapableTypes() {
+ return persistenceCapableTypes;
+ }
+ public void setPersistenceCapableTypes(final Set<Class<?>> persistenceCapableTypes) {
+ this.persistenceCapableTypes = persistenceCapableTypes;
+ }
+
+
+ // -- mixinTypes
+ private Set<Class<?>> mixinTypes;
+
+ /**
+ * Along with {@link #getDomainServiceTypes()}, these are introspected eagerly.
+ *
+ * @return <tt>null</tt> if no appManifest is defined
+ */
+ public Set<Class<?>> getMixinTypes() {
+ return mixinTypes;
+ }
+ public void setMixinTypes(final Set<Class<?>> mixinTypes) {
+ this.mixinTypes = mixinTypes;
+ }
+
+
+ // -- fixtureScriptTypes
+ private Set<Class<? extends FixtureScript>> fixtureScriptTypes;
+
+ /**
+ * @return <tt>null</tt> if no appManifest is defined
+ */
+ public Set<Class<? extends FixtureScript>> getFixtureScriptTypes() {
+ return fixtureScriptTypes;
+ }
+ public void setFixtureScriptTypes(final Set<Class<? extends FixtureScript>> fixtureScriptTypes) {
+ this.fixtureScriptTypes = fixtureScriptTypes;
+ }
+
+
+
+ // -- domainServiceTypes
+ private Set<Class<?>> domainServiceTypes;
+ /**
+ * @return <tt>null</tt> if no appManifest is defined
+ */
+ public Set<Class<?>> getDomainServiceTypes() {
+ return domainServiceTypes;
+ }
+ public void setDomainServiceTypes(final Set<Class<?>> domainServiceTypes) {
+ this.domainServiceTypes = domainServiceTypes;
+ }
+
+
+ private Set<Class<?>> domainObjectTypes;
+ private Set<Class<?>> viewModelTypes;
+ private Set<Class<?>> xmlElementTypes;
+
+ public Set<Class<?>> getDomainObjectTypes() {
+ return domainObjectTypes;
+ }
+ public void setDomainObjectTypes(final Set<Class<?>> domainObjectTypes) {
+ this.domainObjectTypes = domainObjectTypes;
+ }
+
+ public Set<Class<?>> getViewModelTypes() {
+ return viewModelTypes;
+ }
+ public void setViewModelTypes(final Set<Class<?>> viewModelTypes) {
+ this.viewModelTypes = viewModelTypes;
+ }
+
+ public Set<Class<?>> getXmlElementTypes() {
+ return xmlElementTypes;
+ }
+ public void setXmlElementTypes(final Set<Class<?>> xmlElementTypes) {
+ this.xmlElementTypes = xmlElementTypes;
+ }
+
+ // -- STREAM ALL
+
+ /**
+ * @since 2.0.0-M2
+ */
+ public Stream<Class<?>> streamAllTypes() {
+
+ return _Lists.of(persistenceCapableTypes,
+ mixinTypes,
+ fixtureScriptTypes,
+ domainServiceTypes,
+ domainObjectTypes,
+ viewModelTypes,
+ xmlElementTypes)
+ .stream()
+ .flatMap(Collection::stream)
+ ;
+ }
+
+}
\ No newline at end of file
diff --git a/core/config/src/main/java/org/apache/isis/config/builder/ModulePackageHelper.java b/core/config/src/main/java/org/apache/isis/config/builder/ModulePackageHelper.java
index 84464b0..de50143 100644
--- a/core/config/src/main/java/org/apache/isis/config/builder/ModulePackageHelper.java
+++ b/core/config/src/main/java/org/apache/isis/config/builder/ModulePackageHelper.java
@@ -31,7 +31,6 @@ import java.util.stream.Stream;
import javax.xml.bind.annotation.XmlElement;
import org.apache.isis.applib.AppManifest;
-import org.apache.isis.applib.AppTypeRegistry;
import org.apache.isis.applib.annotation.DomainObject;
import org.apache.isis.applib.annotation.DomainObjectLayout;
import org.apache.isis.applib.annotation.DomainService;
@@ -47,6 +46,7 @@ import org.apache.isis.commons.internal.collections._Sets;
import org.apache.isis.commons.internal.context._Context;
import org.apache.isis.commons.internal.exceptions._Exceptions;
import org.apache.isis.commons.internal.reflection._Reflect;
+import org.apache.isis.config.beans.BeanTypeRegistry;
import org.apache.isis.core.plugins.classdiscovery.ClassDiscovery;
import org.apache.isis.core.plugins.classdiscovery.ClassDiscoveryPlugin;
@@ -98,7 +98,7 @@ class ModulePackageHelper {
val typesForScanning = new HashSet<Class<?>>();
- AppTypeRegistry.FRAMEWORK_PROVIDED_TYPES_FOR_SCANNING.stream()
+ BeanTypeRegistry.FRAMEWORK_PROVIDED_TYPES_FOR_SCANNING.stream()
.map(name -> {
try {
return _Context.loadClass(name);
@@ -116,10 +116,10 @@ class ModulePackageHelper {
//FIXME [2033] at this point we should have all we need, let CDI take over
// and let then CDI Bean intercepter make entries into the registry
- final AppTypeRegistry registry = AppTypeRegistry.instance();
+ final BeanTypeRegistry registry = BeanTypeRegistry.instance();
final Set<String> moduleAndFrameworkPackages = new HashSet<>();
- moduleAndFrameworkPackages.addAll(AppTypeRegistry.FRAMEWORK_PROVIDED_SERVICE_PACKAGES);
+ moduleAndFrameworkPackages.addAll(BeanTypeRegistry.FRAMEWORK_PROVIDED_SERVICE_PACKAGES);
modulePackageNamesFrom(appManifest)
.forEach(moduleAndFrameworkPackages::add);
moduleAndFrameworkPackages.add(appManifest.getClass().getPackage().getName());
diff --git a/core/log4j/pom.xml b/core/log4j/pom.xml
index 06012af..8ba6508 100644
--- a/core/log4j/pom.xml
+++ b/core/log4j/pom.xml
@@ -36,14 +36,16 @@
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
+ <scope>provided</scope>
</dependency>
+
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
+ <scope>provided</scope>
</dependency>
<!-- JEE API -->
- <!-- (replaces org.apache.geronimo.specs:geronimo-javamail_1.4_spec for javax.mail:mail) -->
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/SpecificationLoader.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/SpecificationLoader.java
index c630fb3..6344db6 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/SpecificationLoader.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/SpecificationLoader.java
@@ -25,22 +25,18 @@ import java.util.stream.Stream;
import javax.enterprise.inject.Vetoed;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.apache.isis.applib.AppTypeRegistry;
import org.apache.isis.applib.annotation.DomainService;
import org.apache.isis.applib.annotation.NatureOfService;
import org.apache.isis.applib.annotation.Programmatic;
import org.apache.isis.applib.services.inject.ServiceInjector;
import org.apache.isis.applib.services.registry.ServiceRegistry;
import org.apache.isis.applib.services.registry.ServiceRegistry.BeanAdapter;
-import org.apache.isis.applib.services.registry.ServiceRegistry.LifecycleContext;
import org.apache.isis.commons.internal.base._NullSafe;
-import org.apache.isis.commons.internal.base._Tuples.Tuple2;
import org.apache.isis.commons.internal.collections._Lists;
import org.apache.isis.commons.internal.context._Context;
import org.apache.isis.commons.internal.debug._Probe;
import org.apache.isis.config.IsisConfiguration;
+import org.apache.isis.config.beans.BeanTypeRegistry;
import org.apache.isis.config.internal._Config;
import org.apache.isis.config.property.ConfigPropertyBoolean;
import org.apache.isis.config.property.ConfigPropertyEnum;
@@ -69,6 +65,10 @@ import org.apache.isis.core.runtime.threadpool.ThreadPoolExecutionMode;
import org.apache.isis.core.runtime.threadpool.ThreadPoolSupport;
import org.apache.isis.progmodels.dflt.ProgrammingModelFacetsJava5;
import org.apache.isis.schema.utils.CommonDtoUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import lombok.val;
/**
* Builds the meta-model.
@@ -156,6 +156,8 @@ public class SpecificationLoader {
// need to completely load services and mixins (synchronously)
LOG.info("Loading all specs (up to state of {})", IntrospectionState.NOT_INTROSPECTED);
+ val typeRegistry = BeanTypeRegistry.instance();
+
final List<ObjectSpecification> specificationsFromRegistry = _Lists.newArrayList();
// we use allServiceClasses() - obtained from servicesInjector - rather than reading from the
@@ -168,7 +170,7 @@ public class SpecificationLoader {
);
final List<ObjectSpecification> mixinSpecs =
loadSpecificationsFor(
- AppTypeRegistry.instance().getMixinTypes().stream(), null,
+ typeRegistry.getMixinTypes().stream(), null,
specificationsFromRegistry, IntrospectionState.NOT_INTROSPECTED
);
loadSpecificationsFor(
@@ -176,15 +178,15 @@ public class SpecificationLoader {
specificationsFromRegistry, IntrospectionState.NOT_INTROSPECTED
);
loadSpecificationsFor(
- AppTypeRegistry.instance().getDomainObjectTypes().stream(), null,
+ typeRegistry.getDomainObjectTypes().stream(), null,
specificationsFromRegistry, IntrospectionState.NOT_INTROSPECTED
);
loadSpecificationsFor(
- AppTypeRegistry.instance().getViewModelTypes().stream(), null,
+ typeRegistry.getViewModelTypes().stream(), null,
specificationsFromRegistry, IntrospectionState.NOT_INTROSPECTED
);
loadSpecificationsFor(
- AppTypeRegistry.instance().getXmlElementTypes().stream(), null,
+ typeRegistry.getXmlElementTypes().stream(), null,
specificationsFromRegistry, IntrospectionState.NOT_INTROSPECTED
);
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 a7610d8..c107c14 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
@@ -33,7 +33,6 @@ import java.util.stream.Stream;
import javax.enterprise.inject.Vetoed;
import org.apache.isis.applib.Identifier;
-import org.apache.isis.applib.AppTypeRegistry;
import org.apache.isis.applib.annotation.Where;
import org.apache.isis.applib.metamodel.ManagedObjectSort;
import org.apache.isis.commons.internal.base._NullSafe;
@@ -41,6 +40,7 @@ import org.apache.isis.commons.internal.base._Strings;
import org.apache.isis.commons.internal.collections._Lists;
import org.apache.isis.commons.internal.collections._Maps;
import org.apache.isis.commons.internal.context._Context;
+import org.apache.isis.config.beans.BeanTypeRegistry;
import org.apache.isis.core.commons.exceptions.UnknownTypeException;
import org.apache.isis.core.commons.lang.ClassExtensions;
import org.apache.isis.core.commons.util.ToString;
@@ -850,7 +850,7 @@ public abstract class ObjectSpecificationAbstract extends FacetHolderImpl implem
return Collections.emptyList();
}
- final Set<Class<?>> mixinTypes = AppTypeRegistry.instance().getMixinTypes();
+ final Set<Class<?>> mixinTypes = BeanTypeRegistry.instance().getMixinTypes();
if(mixinTypes == null) {
return Collections.emptyList();
}
@@ -1034,7 +1034,7 @@ public abstract class ObjectSpecificationAbstract extends FacetHolderImpl implem
if (isBean() || isValue()) {
return Collections.emptyList();
}
- final Set<Class<?>> mixinTypes = AppTypeRegistry.instance().getMixinTypes();
+ final Set<Class<?>> mixinTypes = BeanTypeRegistry.instance().getMixinTypes();
if(mixinTypes == null) {
return Collections.emptyList();
}
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
index aca8881..fddc47a 100644
--- 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
@@ -29,13 +29,13 @@ import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.mockito.Mockito;
-import org.apache.isis.applib.AppTypeRegistry;
import org.apache.isis.applib.services.grid.GridService2;
import org.apache.isis.applib.services.i18n.TranslationService;
import org.apache.isis.applib.services.i18n.TranslationService.Mode;
import org.apache.isis.applib.services.message.MessageService;
import org.apache.isis.commons.internal.base._Timing;
import org.apache.isis.commons.internal.collections._Sets;
+import org.apache.isis.config.beans.BeanTypeRegistry;
import org.apache.isis.core.metamodel.BeansForTesting;
import org.apache.isis.core.metamodel.facetapi.Facet;
import org.apache.isis.core.metamodel.facets.actcoll.typeof.TypeOfFacet;
@@ -127,13 +127,13 @@ abstract class SpecificationLoaderTestAbstract {
// PRODUCTION
- AppTypeRegistry.instance().setDomainServiceTypes(_Sets.newHashSet());
- AppTypeRegistry.instance().setFixtureScriptTypes(_Sets.newHashSet());
- AppTypeRegistry.instance().setDomainObjectTypes(_Sets.newHashSet());
- AppTypeRegistry.instance().setMixinTypes(_Sets.newHashSet());
- AppTypeRegistry.instance().setViewModelTypes(_Sets.newHashSet());
- AppTypeRegistry.instance().setPersistenceCapableTypes(_Sets.newHashSet());
- AppTypeRegistry.instance().setXmlElementTypes(_Sets.newHashSet());
+ BeanTypeRegistry.instance().setDomainServiceTypes(_Sets.newHashSet());
+ BeanTypeRegistry.instance().setFixtureScriptTypes(_Sets.newHashSet());
+ BeanTypeRegistry.instance().setDomainObjectTypes(_Sets.newHashSet());
+ BeanTypeRegistry.instance().setMixinTypes(_Sets.newHashSet());
+ BeanTypeRegistry.instance().setViewModelTypes(_Sets.newHashSet());
+ BeanTypeRegistry.instance().setPersistenceCapableTypes(_Sets.newHashSet());
+ BeanTypeRegistry.instance().setXmlElementTypes(_Sets.newHashSet());
_Timing.runVerbose("specificationLoader.init()", specificationLoader::init);
diff --git a/core/log4j/pom.xml b/core/plugins/legacy/pom.xml
similarity index 50%
copy from core/log4j/pom.xml
copy to core/plugins/legacy/pom.xml
index 06012af..0117cc6 100644
--- a/core/log4j/pom.xml
+++ b/core/plugins/legacy/pom.xml
@@ -1,56 +1,93 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!-- 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. -->
+<!--
+ 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.
+-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.apache.isis.core</groupId>
<artifactId>isis</artifactId>
- <version>${revision}</version>
+ <version>${revision}</version>
+ <relativePath>../../pom.xml</relativePath>
</parent>
- <artifactId>isis-core-log4j</artifactId>
- <name>Apache Isis Log4j Impls</name>
+ <artifactId>isis-core-plugins-legacy</artifactId>
+
+ <name>Apache Isis Legacy Support</name>
+ <description>
+ </description>
<properties>
- <jar-plugin.automaticModuleName>org.apache.isis.core.log4j</jar-plugin.automaticModuleName>
- <git-plugin.propertiesDir>org/apache/isis/core/log4j</git-plugin.propertiesDir>
+ <jar-plugin.automaticModuleName>org.apache.isis.plugins.legacy</jar-plugin.automaticModuleName>
+ <git-plugin.propertiesDir>org/apache/isis/plugins/legacy</git-plugin.propertiesDir>
</properties>
+ <build>
+ <resources>
+ <resource>
+ <filtering>false</filtering>
+ <directory>src/main/resources</directory>
+ </resource>
+ <resource>
+ <filtering>false</filtering>
+ <directory>src/main/java</directory>
+ <includes>
+ <include>**</include>
+ </includes>
+ <excludes>
+ <exclude>**/*.java</exclude>
+ </excludes>
+ </resource>
+ </resources>
+ </build>
+
<dependencies>
- <dependency>
+
+ <dependency>
<groupId>org.apache.isis.core</groupId>
- <artifactId>isis-core-unittestsupport</artifactId>
- <scope>test</scope>
+ <artifactId>isis-core-applib</artifactId>
</dependency>
-
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-log4j12</artifactId>
+
+ <dependency>
+ <groupId>org.apache.isis.core</groupId>
+ <artifactId>isis-core-config</artifactId>
</dependency>
+
+
+ <!-- TESTS -->
<dependency>
- <groupId>log4j</groupId>
- <artifactId>log4j</artifactId>
+ <groupId>org.apache.isis.core</groupId>
+ <artifactId>isis-core-unittestsupport</artifactId>
+ <scope>test</scope>
+ <exclusions>
+ <!-- whatever unittestsupport is dependent on, it should not be transitive -->
+ <exclusion>
+ <groupId>org.reflections</groupId>
+ <artifactId>reflections</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>com.google.guava</groupId>
+ <artifactId>guava</artifactId>
+ </exclusion>
+ </exclusions>
</dependency>
- <!-- JEE API -->
- <!-- (replaces org.apache.geronimo.specs:geronimo-javamail_1.4_spec for javax.mail:mail) -->
- <dependency>
- <groupId>javax</groupId>
- <artifactId>javaee-api</artifactId>
- <optional>true</optional>
- <scope>provided</scope>
- </dependency>
-
</dependencies>
<profiles>
@@ -98,5 +135,4 @@
</profile>
</profiles>
-
</project>
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/classdiscovery/ClassDiscoveryService.java b/core/plugins/legacy/src/main/java/org/apache/isis/applib/services/classdiscovery/ClassDiscoveryService.java
similarity index 100%
rename from core/applib/src/main/java/org/apache/isis/applib/services/classdiscovery/ClassDiscoveryService.java
rename to core/plugins/legacy/src/main/java/org/apache/isis/applib/services/classdiscovery/ClassDiscoveryService.java
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/classdiscovery/ClassDiscoveryServiceDefault.java b/core/plugins/legacy/src/main/java/org/apache/isis/applib/services/classdiscovery/ClassDiscoveryServiceDefault.java
similarity index 94%
rename from core/applib/src/main/java/org/apache/isis/applib/services/classdiscovery/ClassDiscoveryServiceDefault.java
rename to core/plugins/legacy/src/main/java/org/apache/isis/applib/services/classdiscovery/ClassDiscoveryServiceDefault.java
index cd0efd3..32ee9f5 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/classdiscovery/ClassDiscoveryServiceDefault.java
+++ b/core/plugins/legacy/src/main/java/org/apache/isis/applib/services/classdiscovery/ClassDiscoveryServiceDefault.java
@@ -22,12 +22,12 @@ import java.util.Collections;
import java.util.Set;
import org.apache.isis.applib.AbstractService;
-import org.apache.isis.applib.AppTypeRegistry;
import org.apache.isis.applib.annotation.DomainService;
import org.apache.isis.applib.annotation.NatureOfService;
import org.apache.isis.applib.annotation.Programmatic;
import org.apache.isis.applib.fixturescripts.FixtureScript;
import org.apache.isis.commons.internal.base._Casts;
+import org.apache.isis.config.beans.BeanTypeRegistry;
import org.apache.isis.core.plugins.classdiscovery.ClassDiscoveryPlugin;
/**
@@ -63,7 +63,7 @@ implements ClassDiscoveryService {
// -- HELPER
private static <T> Set<Class<? extends T>> getFixtureScriptTypes() {
- Set<?> fixtureScriptTypes = AppTypeRegistry.instance().getFixtureScriptTypes();
+ Set<?> fixtureScriptTypes = BeanTypeRegistry.instance().getFixtureScriptTypes();
if (fixtureScriptTypes != null) {
return _Casts.uncheckedCast(fixtureScriptTypes);
}
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/classdiscovery/package-info.java b/core/plugins/legacy/src/main/java/org/apache/isis/applib/services/classdiscovery/package-info.java
similarity index 100%
rename from core/applib/src/main/java/org/apache/isis/applib/services/classdiscovery/package-info.java
rename to core/plugins/legacy/src/main/java/org/apache/isis/applib/services/classdiscovery/package-info.java
diff --git a/example/application/springapp/pom.xml b/example/application/springapp/pom.xml
index 4216036..9a902bf 100644
--- a/example/application/springapp/pom.xml
+++ b/example/application/springapp/pom.xml
@@ -110,10 +110,10 @@
<!-- ISIS CORE PLUGINS -->
- <dependency>
- <groupId>org.apache.isis.core</groupId>
- <artifactId>isis-core-plugins-ioc-weld</artifactId>
- </dependency>
+<!-- <dependency> -->
+<!-- <groupId>org.apache.isis.core</groupId> -->
+<!-- <artifactId>isis-core-plugins-ioc-weld</artifactId> -->
+<!-- </dependency> -->
<dependency>
<groupId>org.apache.isis.core</groupId>