This is an automated email from the ASF dual-hosted git repository. ahuber pushed a commit to branch ISIS-1976-rethink-object-adapters in repository https://gitbox.apache.org/repos/asf/isis.git
commit 69552727226ac65dfec4ab83f47444a08f12783b Author: Andi Huber <ahu...@apache.org> AuthorDate: Tue Sep 4 12:44:11 2018 +0200 ISIS-1976: minor cleanup Task-Url: https://issues.apache.org/jira/browse/ISIS-1976 --- .../adapter/concurrency/ConcurrencyChecking.java | 19 +++++++++++++++++++ .../system/persistence/PersistenceSession4.java | 4 +--- .../system/persistence/PersistenceSession5.java | 3 +-- .../background/CommandExecutorServiceDefault.java | 4 ---- .../adaptermanager/ObjectAdapterContext.java | 15 ++++++++++++++- .../ObjectAdapterContext_AdapterManager.java | 4 ++++ .../ObjectAdapterContext_Consistency.java | 5 ++++- .../ObjectAdapterContext_Factories.java | 5 ++++- .../ObjectAdapterContext_MementoSupport.java | 5 ++++- .../ObjectAdapterContext_ObjectAdapterProvider.java | 5 ++++- .../adaptermanager/ObjectAdapterLegacy.java | 15 --------------- 11 files changed, 55 insertions(+), 29 deletions(-) diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/concurrency/ConcurrencyChecking.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/concurrency/ConcurrencyChecking.java index 355b4be..1632f6f 100644 --- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/concurrency/ConcurrencyChecking.java +++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/concurrency/ConcurrencyChecking.java @@ -1,3 +1,22 @@ +/* + * 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.adapter.concurrency; import java.util.concurrent.Callable; diff --git a/core/plugins/jdo-datanucleus-4/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSession4.java b/core/plugins/jdo-datanucleus-4/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSession4.java index a758032..7c554f6 100644 --- a/core/plugins/jdo-datanucleus-4/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSession4.java +++ b/core/plugins/jdo-datanucleus-4/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSession4.java @@ -92,7 +92,6 @@ import org.apache.isis.core.metamodel.spec.ObjectSpecId; import org.apache.isis.core.metamodel.spec.ObjectSpecification; 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; import org.apache.isis.core.runtime.persistence.FixturesInstalledFlag; import org.apache.isis.core.runtime.persistence.NotPersistableException; import org.apache.isis.core.runtime.persistence.ObjectNotFoundException; @@ -107,7 +106,6 @@ import org.apache.isis.core.runtime.persistence.query.PersistenceQueryFindUsingA import org.apache.isis.core.runtime.services.RequestScopedService; import org.apache.isis.core.runtime.system.persistence.adaptermanager.ObjectAdapterContext; import org.apache.isis.core.runtime.system.persistence.adaptermanager.ObjectAdapterContext.MementoRecreateObjectSupport; -import org.apache.isis.core.runtime.system.persistence.adaptermanager.ObjectAdapterLegacy; import org.apache.isis.core.runtime.system.transaction.IsisTransaction; import org.apache.isis.core.runtime.system.transaction.IsisTransactionManager; import org.apache.isis.core.runtime.system.transaction.TransactionalClosure; @@ -171,7 +169,7 @@ implements IsisLifecycleListener.PersistenceSessionLifecycleManagement { PersistenceQueryFindUsingApplibQueryDefault.class, new PersistenceQueryFindUsingApplibQueryProcessor(this)); - objectAdapterContext = ObjectAdapterLegacy.openContext(servicesInjector, authenticationSession, specificationLoader, this); + objectAdapterContext = ObjectAdapterContext.openContext(servicesInjector, authenticationSession, specificationLoader, this); mixin = new PersistenceSession4_Decouple(this, objectAdapterContext); // tell the proxy of all request-scoped services to instantiate the underlying diff --git a/core/plugins/jdo-datanucleus-5/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSession5.java b/core/plugins/jdo-datanucleus-5/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSession5.java index e5bc65c..be0c296 100644 --- a/core/plugins/jdo-datanucleus-5/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSession5.java +++ b/core/plugins/jdo-datanucleus-5/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSession5.java @@ -106,7 +106,6 @@ import org.apache.isis.core.runtime.persistence.query.PersistenceQueryFindUsingA import org.apache.isis.core.runtime.services.RequestScopedService; import org.apache.isis.core.runtime.system.persistence.adaptermanager.ObjectAdapterContext; import org.apache.isis.core.runtime.system.persistence.adaptermanager.ObjectAdapterContext.MementoRecreateObjectSupport; -import org.apache.isis.core.runtime.system.persistence.adaptermanager.ObjectAdapterLegacy; import org.apache.isis.core.runtime.system.transaction.IsisTransaction; import org.apache.isis.core.runtime.system.transaction.IsisTransactionManager; import org.apache.isis.core.runtime.system.transaction.TransactionalClosure; @@ -170,7 +169,7 @@ implements IsisLifecycleListener.PersistenceSessionLifecycleManagement { PersistenceQueryFindUsingApplibQueryDefault.class, new PersistenceQueryFindUsingApplibQueryProcessor(this)); - objectAdapterContext = ObjectAdapterLegacy.openContext(servicesInjector, authenticationSession, specificationLoader, this); + objectAdapterContext = ObjectAdapterContext.openContext(servicesInjector, authenticationSession, specificationLoader, this); mixin = new PersistenceSession5_Decouple(this, objectAdapterContext); // tell the proxy of all request-scoped services to instantiate the underlying diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/background/CommandExecutorServiceDefault.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/background/CommandExecutorServiceDefault.java index ef6910a..a654bfd 100644 --- a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/background/CommandExecutorServiceDefault.java +++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/background/CommandExecutorServiceDefault.java @@ -44,7 +44,6 @@ import org.apache.isis.applib.services.xactn.Transaction; import org.apache.isis.applib.services.xactn.TransactionService; import org.apache.isis.applib.services.xactn.TransactionState; import org.apache.isis.core.metamodel.adapter.ObjectAdapter; -import org.apache.isis.core.metamodel.adapter.oid.RootOid; import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy; import org.apache.isis.core.metamodel.facets.actions.action.invocation.CommandUtil; import org.apache.isis.core.metamodel.spec.ObjectSpecification; @@ -64,12 +63,9 @@ import org.apache.isis.schema.cmd.v1.MemberDto; import org.apache.isis.schema.cmd.v1.ParamDto; import org.apache.isis.schema.cmd.v1.ParamsDto; import org.apache.isis.schema.cmd.v1.PropertyDto; -import org.apache.isis.schema.common.v1.CollectionDto; import org.apache.isis.schema.common.v1.InteractionType; import org.apache.isis.schema.common.v1.OidDto; import org.apache.isis.schema.common.v1.OidsDto; -import org.apache.isis.schema.common.v1.ValueDto; -import org.apache.isis.schema.common.v1.ValueType; import org.apache.isis.schema.common.v1.ValueWithTypeDto; import org.apache.isis.schema.utils.CommandDtoUtils; import org.apache.isis.schema.utils.CommonDtoUtils; diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/adaptermanager/ObjectAdapterContext.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/adaptermanager/ObjectAdapterContext.java index 0a37968..1c57ebf 100644 --- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/adaptermanager/ObjectAdapterContext.java +++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/adaptermanager/ObjectAdapterContext.java @@ -44,6 +44,7 @@ import org.apache.isis.core.runtime.memento.Data; import org.apache.isis.core.runtime.system.persistence.PersistenceSession; /** + * Encapsulate ObjectAdpater life-cycling. * * @since 2.0.0-M2 */ @@ -51,6 +52,18 @@ public class ObjectAdapterContext { private static final Logger LOG = LoggerFactory.getLogger(ObjectAdapterContext.class); + public static ObjectAdapterContext openContext( + ServicesInjector servicesInjector, + AuthenticationSession authenticationSession, + SpecificationLoader specificationLoader, + PersistenceSession persistenceSession) { + final ObjectAdapterContext objectAdapterContext = + new ObjectAdapterContext(servicesInjector, authenticationSession, + specificationLoader, persistenceSession); + objectAdapterContext.open(); + return objectAdapterContext; + } + private final PojoAdapterHashMap pojoAdapterMap = new PojoAdapterHashMap(); private final OidAdapterHashMap oidAdapterMap = new OidAdapterHashMap(); private final PersistenceSession persistenceSession; @@ -61,7 +74,7 @@ public class ObjectAdapterContext { private final ObjectAdapterContext_AdapterManager adapterManagerMixin; private final ObjectAdapterContext_MementoSupport mementoSupportMixin; - ObjectAdapterContext( + private ObjectAdapterContext( ServicesInjector servicesInjector, AuthenticationSession authenticationSession, SpecificationLoader specificationLoader, diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/adaptermanager/ObjectAdapterContext_AdapterManager.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/adaptermanager/ObjectAdapterContext_AdapterManager.java index 25febc8..f88f5f8 100644 --- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/adaptermanager/ObjectAdapterContext_AdapterManager.java +++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/adaptermanager/ObjectAdapterContext_AdapterManager.java @@ -32,6 +32,10 @@ import org.apache.isis.core.metamodel.services.ServicesInjector; import org.apache.isis.core.runtime.system.persistence.PersistenceSession; /** + * package private mixin for ObjectAdapterContext + * <p> + * Responsibility: AdapterManager 'legacy' support + * </p> * * @since 2.0.0-M2 */ diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/adaptermanager/ObjectAdapterContext_Consistency.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/adaptermanager/ObjectAdapterContext_Consistency.java index 94b94d8..d078639 100644 --- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/adaptermanager/ObjectAdapterContext_Consistency.java +++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/adaptermanager/ObjectAdapterContext_Consistency.java @@ -30,7 +30,10 @@ import org.apache.isis.core.metamodel.adapter.ObjectAdapter; import org.apache.isis.core.metamodel.adapter.oid.Oid; /** - * + * package private mixin for ObjectAdapterContext + * <p> + * Responsibility: ObjectAdapter Cache/Map consistency + * </p> * @since 2.0.0-M2 */ class ObjectAdapterContext_Consistency { diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/adaptermanager/ObjectAdapterContext_Factories.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/adaptermanager/ObjectAdapterContext_Factories.java index 4256a02..e1d77db 100644 --- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/adaptermanager/ObjectAdapterContext_Factories.java +++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/adaptermanager/ObjectAdapterContext_Factories.java @@ -33,7 +33,10 @@ import org.apache.isis.core.runtime.system.persistence.PersistenceSession; import org.apache.isis.core.runtime.system.persistence.adaptermanager.ObjectAdapterContext.ObjectAdapterFactories; /** - * + * package private mixin for ObjectAdapterContext + * <p> + * Responsibility: provides ObjectAdapter factories + * </p> * @since 2.0.0-M2 */ class ObjectAdapterContext_Factories implements ObjectAdapterFactories { diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/adaptermanager/ObjectAdapterContext_MementoSupport.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/adaptermanager/ObjectAdapterContext_MementoSupport.java index d4a028d..acb2e11 100644 --- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/adaptermanager/ObjectAdapterContext_MementoSupport.java +++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/adaptermanager/ObjectAdapterContext_MementoSupport.java @@ -48,7 +48,10 @@ import org.apache.isis.core.runtime.system.persistence.PersistenceSession; import org.apache.isis.core.runtime.system.persistence.adaptermanager.ObjectAdapterContext.MementoRecreateObjectSupport; /** - * + * package private mixin for ObjectAdapterContext + * <p> + * Responsibility: provides object recreation to mementos + * </p> * @since 2.0.0-M2 */ class ObjectAdapterContext_MementoSupport implements MementoRecreateObjectSupport { diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/adaptermanager/ObjectAdapterContext_ObjectAdapterProvider.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/adaptermanager/ObjectAdapterContext_ObjectAdapterProvider.java index 483b2ab..7867db6 100644 --- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/adaptermanager/ObjectAdapterContext_ObjectAdapterProvider.java +++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/adaptermanager/ObjectAdapterContext_ObjectAdapterProvider.java @@ -38,7 +38,10 @@ import org.apache.isis.core.metamodel.specloader.SpecificationLoader; import org.apache.isis.core.runtime.system.persistence.PersistenceSession; /** - * + * package private mixin for ObjectAdapterContext + * <p> + * Responsibility: provides ObjectAdapterProvider implementation + * </p> * @since 2.0.0-M2 */ class ObjectAdapterContext_ObjectAdapterProvider implements ObjectAdapterProvider { diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/adaptermanager/ObjectAdapterLegacy.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/adaptermanager/ObjectAdapterLegacy.java index af9930f..3c07a49 100644 --- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/adaptermanager/ObjectAdapterLegacy.java +++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/adaptermanager/ObjectAdapterLegacy.java @@ -27,11 +27,8 @@ import org.slf4j.LoggerFactory; import org.apache.isis.applib.services.bookmark.Bookmark; import org.apache.isis.commons.internal.exceptions._Exceptions; -import org.apache.isis.core.commons.authentication.AuthenticationSession; import org.apache.isis.core.metamodel.adapter.ObjectAdapter; import org.apache.isis.core.metamodel.adapter.oid.RootOid; -import org.apache.isis.core.metamodel.services.ServicesInjector; -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.schema.common.v1.CollectionDto; @@ -47,18 +44,6 @@ public class ObjectAdapterLegacy { static final Logger LOG = LoggerFactory.getLogger(ObjectAdapterLegacy.class); - public static ObjectAdapterContext openContext( - ServicesInjector servicesInjector, - AuthenticationSession authenticationSession, - SpecificationLoader specificationLoader, - PersistenceSession persistenceSession) { - final ObjectAdapterContext objectAdapterContext = - new ObjectAdapterContext(servicesInjector, authenticationSession, - specificationLoader, persistenceSession); - objectAdapterContext.open(); - return objectAdapterContext; - } - // -- CommandExecutorServiceDefault -------------------------------------------------------- public static class __CommandExecutorServiceDefault {