This is an automated email from the ASF dual-hosted git repository. ahuber pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/isis.git.
from 3a21e6a ISIS-1974: port latest changes (2.0.0-M2) PersistenceSessionFactory5 to PersistenceSessionFactory4 add 9d64857 ISIS-1976: add layer of abstraction as first step to deprecate ObjectAdapter caching add 1a7bb26 ISIS-1976: experimental refactoring add d43ad07 ISIS-1976: make ObjectAdapter's Oid final add a0e04a1 ISIS-1976: minor simplification add 6e21d73 ISIS-1976: make RootAndCollectionAdapters package private add 791fc65 ISIS-1976: add some comments add 246db19 ISIS-1976: decouple PojoAdapter from DN add ccb1571 ISIS-1976: decouple ObjectAdapter creation from PersistenceSession add 4130493 ISIS-1976: remove AdapterManagerBase add 62e3128 ISIS-1976: rename some methods in AdapterManager add 29fbfff ISIS-1976: rename IsisLifeCycleListener2 -> IsisLifeCycleListener add 5e59bd3 ISIS-1976: minor simplifications, also reduce compiler warnings add 3812bc1 ISIS-1976: decouple metamodel's facets from AdapterManager add 663cbd5 ISIS-1976: add missing license header add 48e4be1 ISIS-1976: further decouple factets add 83f6173 ISIS-1976: remove unused spec-loader from some facet constructors add ee9ce0f ISIS-1976: further decouple from AdapterManager add 9ef889f ISIS-1976: let PersistenceSession no longer implement AdapterManager add a7ccf6a ISIS-1976: decouple implementations of PersistenceSession and ObjcetAdapterProvider from each other add 1cf124b ISIS-1976: move responsibility for pre-loading service adapters from PersistenceSession to ObjectAdapterContext add 93ac9f2 ISIS-1976: PersistentSession: remove virtually unreachable code add 7770404 ISIS-1976: moving responsibilities from PersistenceSession to ObjectAdapterProvider add 6955272 ISIS-1976: minor cleanup add 2c70410 ISIS-1976: fixes StackOverflow with ObjectAdapterContext.specificationForViewModel() new 3d49fc7 Merge pull request #120 from apache/ISIS-1976-rethink-object-adapters The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../annotcfg/EncodableFacetAnnotation.java | 10 +- .../annotcfg/ParseableFacetAnnotation.java | 8 +- ...bleFacetAnnotationElseConfigurationFactory.java | 16 +- .../container/DomainObjectContainerDefault.java | 13 +- .../RepositoryServiceLegacyInternalDefault.java | 13 +- .../isis/core/metamodel/adapter/ObjectAdapter.java | 46 +- .../metamodel/adapter/ObjectAdapterProvider.java | 107 +++ .../adapter/concurrency/ConcurrencyChecking.java | 123 +++ .../core/metamodel/adapter/mgr/AdapterManager.java | 162 ---- .../metamodel/adapter/mgr/AdapterManagerBase.java | 50 -- .../core/metamodel/facets/CollectionUtils.java | 12 +- ...ctionInvocationFacetForDomainEventAbstract.java | 16 +- .../actions/action/invocation/CommandUtil.java | 6 +- .../CollectionAccessorFacetViaAccessor.java | 6 +- .../CollectionAccessorFacetViaAccessorFactory.java | 8 +- .../clear/CollectionClearFacetFactory.java | 12 +- .../clear/CollectionClearFacetViaAccessor.java | 13 +- .../javautilcollection/CollectionFacetFactory.java | 10 +- .../javautilcollection/JavaArrayFacet.java | 49 +- .../javautilcollection/JavaCollectionFacet.java | 51 +- .../autocomplete/AutoCompleteFacetAbstract.java | 8 +- .../DomainObjectAnnotationFacetFactory.java | 11 +- ...atableObjectFacetForDomainObjectAnnotation.java | 14 +- .../object/encodeable/EncodableFacetAbstract.java | 14 +- .../annotcfg/EncodableFacetFromConfiguration.java | 4 +- .../encoder/EncodableFacetUsingEncoderDecoder.java | 14 +- .../facets/object/mixin/MixinFacetAbstract.java | 6 +- .../annotcfg/ParseableFacetFromConfiguration.java | 4 +- .../parser/ParseableFacetUsingParser.java | 16 +- .../RecreatableObjectFacetAbstract.java | 37 +- ...ObjectFacetDeclarativeInitializingAbstract.java | 132 +-- .../recreatable/RecreatableObjectFacetFactory.java | 12 +- ...eObjectFacetForRecreatableObjectAnnotation.java | 8 +- ...creatableObjectFacetForViewModelAnnotation.java | 8 +- .../annotation/TitleAnnotationFacetFactory.java | 8 +- .../annotation/TitleFacetViaTitleAnnotation.java | 10 +- .../facets/object/value/ValueFacetAbstract.java | 14 +- .../ValueSemanticsProviderAndFacetAbstract.java | 6 +- .../ActionParameterAutoCompleteFacetAbstract.java | 12 +- .../ActionParameterAutoCompleteFacetViaMethod.java | 8 +- ...ParameterAutoCompleteFacetViaMethodFactory.java | 9 +- .../ActionParameterChoicesFacetAbstract.java | 12 +- .../choices/ActionParameterChoicesFacetNone.java | 6 +- ...rameterChoicesFacetDerivedFromChoicesFacet.java | 8 +- ...ChoicesFacetDerivedFromChoicesFacetFactory.java | 8 +- .../method/ActionChoicesFacetViaMethod.java | 16 +- .../method/ActionChoicesFacetViaMethodFactory.java | 8 +- .../ActionParameterChoicesFacetViaMethod.java | 12 +- ...ctionParameterChoicesFacetViaMethodFactory.java | 7 +- .../ActionParameterDefaultsFacetViaMethod.java | 15 +- ...tionParameterDefaultsFacetViaMethodFactory.java | 8 +- .../PropertyOrCollectionAccessorFacetAbstract.java | 12 +- .../accessor/PropertyAccessorFacetViaAccessor.java | 8 +- .../PropertyAccessorFacetViaAccessorFactory.java | 8 +- .../method/PropertyAutoCompleteFacetMethod.java | 19 +- .../PropertyAutoCompleteFacetMethodFactory.java | 8 +- .../method/PropertyChoicesFacetViaMethod.java | 24 +- .../PropertyChoicesFacetViaMethodFactory.java | 8 +- ...pertyDefaultFacetDerivedFromDefaultedFacet.java | 18 +- ...PropertyDefaultFacetDerivedFromTypeFactory.java | 8 +- .../method/PropertyDefaultFacetViaMethod.java | 16 +- .../PropertyDefaultFacetViaMethodFactory.java | 8 +- .../ValueSemanticsProviderAbstractTemporal.java | 2 +- .../bytes/ByteValueSemanticsProviderAbstract.java | 2 +- .../chars/CharValueSemanticsProviderAbstract.java | 2 +- .../value/color/ColorValueSemanticsProvider.java | 2 +- .../Jdk8LocalDateValueSemanticsProvider.java | 2 +- .../JodaLocalDateValueSemanticsProvider.java | 2 +- .../Jdk8LocalDateTimeValueSemanticsProvider.java | 2 +- .../JodaLocalDateTimeValueSemanticsProvider.java | 2 +- .../DoubleValueSemanticsProviderAbstract.java | 2 +- .../FloatValueSemanticsProviderAbstract.java | 2 +- .../value/image/ImageValueSemanticsProvider.java | 2 +- .../JavaAwtImageValueSemanticsProvider.java | 2 +- .../integer/IntValueSemanticsProviderAbstract.java | 2 +- .../LocalResourcePathValueSemanticsProvider.java | 2 +- .../longs/LongValueSemanticsProviderAbstract.java | 2 +- .../value/markup/MarkupValueSemanticsProvider.java | 2 +- .../value/money/MoneyValueSemanticsProvider.java | 2 +- .../password/PasswordValueSemanticsProvider.java | 2 +- .../PercentageValueSemanticsProvider.java | 2 +- .../ShortValueSemanticsProviderAbstract.java | 2 +- .../value/string/StringValueSemanticsProvider.java | 2 +- .../value/url/URLValueSemanticsProvider.java | 2 +- .../value/uuid/UUIDValueSemanticsProvider.java | 2 +- ...onParameterDefaultsAndChoicesPostProcessor.java | 8 +- ...arameterChoicesFacetFromParentedCollection.java | 6 +- .../PersistenceSessionServiceInternal.java | 9 +- .../PersistenceSessionServiceInternalNoop.java | 38 +- .../RepositoryServiceInternalDefault.java | 15 +- .../services/title/TitleServiceDefault.java | 14 +- .../metamodel/specloader/SpecificationLoader.java | 2 +- .../specimpl/ObjectActionParameterAbstract.java | 16 +- .../specloader/specimpl/ObjectMemberAbstract.java | 7 +- .../specimpl/OneToManyAssociationContributee.java | 2 - .../specimpl/OneToManyAssociationDefault.java | 2 +- .../specimpl/OneToOneAssociationDefault.java | 19 +- .../collections/JavaCollectionFacetTest.java | 6 +- .../CollectionAnnotationFacetFactoryTest.java | 3 +- .../TitleFacetViaTitleAnnotationTest.java | 10 +- .../PropertyAnnotationFacetFactoryTest.java | 3 +- .../ValueSemanticsProviderAbstractTestCase.java | 32 +- .../services/jdosupport/IsisJdoSupportDN4.java | 2 +- ...leListener2.java => IsisLifecycleListener.java} | 31 +- .../system/persistence/PersistenceSession4.java | 877 +++----------------- .../persistence/PersistenceSession4_Decouple.java | 213 +++++ .../persistence/IsisLifecycleListener.java | 38 - .../queries/PersistenceQueryProcessorAbstract.java | 7 +- .../WrapperFactoryDefaultTest_wrappedObject.java | 8 +- ...FactoryDefaultTest_wrappedObject_transient.java | 8 +- .../services/jdosupport/IsisJdoSupportDN5.java | 2 +- .../runtime/persistence/adapter/PojoAdapter.java | 442 ---------- ...leListener2.java => IsisLifecycleListener.java} | 31 +- .../system/persistence/PersistenceSession5.java | 894 +++------------------ .../persistence/PersistenceSession5_Decouple.java | 213 +++++ .../persistence/IsisLifecycleListener.java | 39 - .../queries/PersistenceQueryProcessorAbstract.java | 7 +- .../WrapperFactoryDefaultTest_wrappedObject.java | 16 +- ...FactoryDefaultTest_wrappedObject_transient.java | 14 +- .../isis/core/runtime/memento/CollectionData.java | 9 + .../apache/isis/core/runtime/memento/Memento.java | 199 +---- .../runtime/persistence/adapter/PojoAdapter.java | 70 +- .../background/BackgroundServiceDefault.java | 11 +- .../background/CommandExecutorServiceDefault.java | 44 +- .../background/CommandInvocationHandler.java | 20 +- .../changes/ChangedObjectsServiceInternal.java | 4 +- .../command/CommandDtoServiceInternalDefault.java | 4 +- .../PersistenceSessionServiceInternalDefault.java | 36 +- .../AbstractIsisSessionTemplate.java | 93 +-- .../persistence/PersistenceQueryFactory.java | 16 +- .../system/persistence/PersistenceSession.java | 47 +- .../system/persistence/PersistenceSessionBase.java | 34 +- .../adaptermanager/ObjectAdapterContext.java | 470 +++++++++++ .../ObjectAdapterContext_AdapterManager.java | 193 +++++ .../ObjectAdapterContext_Consistency.java | 122 +++ .../ObjectAdapterContext_Factories.java | 106 +++ .../ObjectAdapterContext_MementoSupport.java} | 264 ++---- ...ObjectAdapterContext_ObjectAdapterProvider.java | 178 ++++ .../adaptermanager/ObjectAdapterLegacy.java | 98 +++ .../adaptermanager/OidAdapterHashMap.java | 4 +- .../adaptermanager/PojoAdapterHashMap.java | 6 +- .../adaptermanager/RootAndCollectionAdapters.java | 13 +- .../system/ObjectActionLayoutXmlDefaultTest.java | 15 +- .../restfulobjects/rendering/RendererContext.java | 7 - .../rendering/domainobjects/JsonValueEncoder.java | 10 +- .../JsonValueEncoderTest_appendValueAndFormat.java | 12 +- .../JsonValueEncoderTest_asAdapter.java | 14 +- .../JsonValueEncoderTest_asObject.java | 12 +- .../restfulobjects/server/ResourceContext.java | 10 - .../server/resources/DomainResourceHelper.java | 6 - .../wicket/ConverterForObjectAdapter.java | 8 +- .../wicket/ConverterForObjectAdapterMemento.java | 10 +- .../integration/wicket/WebRequestCycleForIsis.java | 6 +- .../wicket/model/mementos/ActionMemento.java | 2 +- .../model/mementos/ObjectAdapterMemento.java | 112 +-- .../viewer/wicket/model/models/ActionModel.java | 2 +- .../wicket/model/models/EntityCollectionModel.java | 2 +- .../viewer/wicket/model/models/EntityModel.java | 2 +- .../viewer/wicket/model/models/ScalarModel.java | 2 +- .../model/models/ScalarModelWithPending.java | 2 +- .../viewer/wicket/model/models/ValueModel.java | 2 +- .../actionresponse/ActionResultResponseType.java | 4 +- .../entityactions/EntityActionLinkFactory.java | 2 +- .../actionmenu/entityactions/LinkAndLabelUtil.java | 4 +- .../actionmenu/serviceactions/CssMenuItem.java | 4 +- .../serviceactions/ServiceActionLinkFactory.java | 2 +- .../collection/AssociatedWithActionsHelper.java | 4 +- .../ui/components/collection/CollectionPanel.java | 4 +- .../collection/bulk/BulkActionsLinkFactory.java | 2 +- .../CollectionContentsAsAjaxTablePanel.java | 2 +- .../columns/ObjectAdapterToggleboxColumn.java | 2 +- .../entity/EntityComponentFactoryAbstract.java | 2 +- .../components/entity/fieldset/PropertyGroup.java | 6 +- .../entity/icontitle/EntityIconAndTitlePanel.java | 2 +- .../property/PropertyFormExecutorStrategy.java | 4 +- .../PropertyEditPromptHeaderPanel.java | 4 +- .../ui/components/scalars/ScalarPanelAbstract.java | 6 +- .../components/scalars/ScalarPanelAbstract2.java | 4 +- .../scalars/ScalarPanelSelect2Abstract.java | 4 +- .../scalars/ScalarPanelTextFieldAbstract.java | 4 +- .../ui/components/scalars/TextFieldValueModel.java | 6 +- .../scalars/reference/ReferencePanel.java | 2 +- .../widgets/breadcrumbs/BreadcrumbPanel.java | 4 +- .../entitysimplelink/EntityLinkSimplePanel.java | 4 +- .../linkandlabel/ActionLinkFactoryAbstract.java | 8 +- .../ObjectAdapterMementoProviderAbstract.java | 2 +- .../isis/viewer/wicket/ui/panels/FormAbstract.java | 2 +- .../wicket/ui/panels/FormExecutorDefault.java | 4 +- .../handlers/DomainObjectInvocationHandler.java | 13 +- 189 files changed, 2928 insertions(+), 3863 deletions(-) create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/ObjectAdapterProvider.java create mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/concurrency/ConcurrencyChecking.java delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/mgr/AdapterManager.java delete mode 100644 core/metamodel/src/main/java/org/apache/isis/core/metamodel/adapter/mgr/AdapterManagerBase.java rename core/plugins/jdo-datanucleus-4/src/main/java/org/apache/isis/core/runtime/system/persistence/{IsisLifecycleListener2.java => IsisLifecycleListener.java} (87%) create mode 100644 core/plugins/jdo-datanucleus-4/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSession4_Decouple.java delete mode 100644 core/plugins/jdo-datanucleus-4/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/persistence/IsisLifecycleListener.java delete mode 100644 core/plugins/jdo-datanucleus-5/src/main/java/org/apache/isis/core/runtime/persistence/adapter/PojoAdapter.java rename core/plugins/jdo-datanucleus-5/src/main/java/org/apache/isis/core/runtime/system/persistence/{IsisLifecycleListener2.java => IsisLifecycleListener.java} (87%) create mode 100644 core/plugins/jdo-datanucleus-5/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSession5_Decouple.java delete mode 100644 core/plugins/jdo-datanucleus-5/src/main/java/org/apache/isis/objectstore/jdo/datanucleus/persistence/IsisLifecycleListener.java rename core/{plugins/jdo-datanucleus-4 => runtime}/src/main/java/org/apache/isis/core/runtime/persistence/adapter/PojoAdapter.java (89%) create mode 100644 core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/adaptermanager/ObjectAdapterContext.java create mode 100644 core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/adaptermanager/ObjectAdapterContext_AdapterManager.java create mode 100644 core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/adaptermanager/ObjectAdapterContext_Consistency.java create mode 100644 core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/adaptermanager/ObjectAdapterContext_Factories.java copy core/runtime/src/main/java/org/apache/isis/core/runtime/{memento/Memento.java => system/persistence/adaptermanager/ObjectAdapterContext_MementoSupport.java} (54%) create mode 100644 core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/adaptermanager/ObjectAdapterContext_ObjectAdapterProvider.java create mode 100644 core/runtime/src/main/java/org/apache/isis/core/runtime/system/persistence/adaptermanager/ObjectAdapterLegacy.java