[ https://issues.apache.org/jira/browse/ISIS-1194?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14746877#comment-14746877 ]
ASF subversion and git services commented on ISIS-1194: ------------------------------------------------------- Commit a129fd2d5b3817d682aa128086d2cfa3a02854a3 in isis's branch refs/heads/master from [~danhaywood] [ https://git-wip-us.apache.org/repos/asf?p=isis.git;h=a129fd2 ] ISIS-1194: simplfying the bootstrap and wiring of components, in particular around PersistenceSessionFactory specifically: - IsisSessionFactory - now passed in the ServicesInjector (rather than obtaining it from the PersistenceSessionFactory) - initialization of FixtureClock done in IsisSessionFactory rather than PersistenceSessionFactory - IsisSystem - createSessionFactory(), changed the order in order to remove some bidir relationships - in shutdownServices, avoid NPE if the serviceInitializer was never instantiated during init() - PersistenceSessionFactory - no longer implements MetaModelRefiner, instead moved out to separate class (PersistenceSessionFactoryMetamodelRefiner) - this allows us to break the bidir between PersistenceSessionFactory and SpecificationLoader - no longer requires a RuntimeContext - no longer requires a ServicesInjector (is provided by IsisSessionFactory when #createPersistenceSession() is called to pass onto the created PersistenceSession) - no longer implements SpecificationLoaderAware, nor requires a SpecificationLoader (is provided by IsisSessionFactory when #createPerisistenceSession is called) - similar changes to IsisMetaModel, in its constructor an init() method, to wire up components in the correct order - PersistenceSession - no longer holds reference to PersistenceSessionFactory (though does only as FixturesInstallerFlag in order that PSF can continue to cache whether fixtures installed) - is passed in the JDO PersistenceManagerFactory from Isis' PSF (rather than accessing the PSF's DataNucleusApplicationComponents, which is now wholly internal to PSF) - is passed in the ServicesInjector directly (rather than obtain from Isis' PSF) - RuntimeContextAbstract - now also passed in SpecificationLoader into its constructor (required reordering of IsisSessionFactory#init to be able to do this) - thereby remove the whole SpecificationLookupDelegator contrivance - JavaReflectorHelper - pass through deploymentType to ObjectReflectorDefault - ObjectReflectorDefault - removal of isInjectorMethodFor, instead have callers instantiate the InjectorMethodEvaluatorDefault directly also, to make caller hierarchy more useful:: - changed ApplicationScopedComponent and SessionScopedComponent into marker interfaces - removed Injectable, pushed injectInto(Object) into subtypes also: - enhanced IsisMojoAbstract and IsisMojoValidate (maven-isis-plugin) - to accept an appManifest in the pom.xml - use an AppManifest rather than MetaModel to bootstrap the system and validate - moved IsisComponentProviderDefault from core-integtest into core-runtime (renamed as ...Default2), so can be used by maven-isis-plugin also: - deleted AdapterManagerDefault, no longer used > Remove dead code, remove support for @Aggregated, for > isDirty/clearDirty/markDirty. > ----------------------------------------------------------------------------------- > > Key: ISIS-1194 > URL: https://issues.apache.org/jira/browse/ISIS-1194 > Project: Isis > Issue Type: Improvement > Components: Core > Affects Versions: 1.9.0 > Reporter: Dan Haywood > Assignee: Dan Haywood > Priority: Minor > Fix For: 1.10.0 > > > removed ResolveState concept, instead derive state from underlying pojo > - services and view models implicitly always persistent > removed support for manual dirtying of objects: > - isDirty > - clearDirty > - markDirty. > removed support for @Aggregated: > - Any @Aggregated will be picked up by the metamodel validation. > - attempting to call DomainObjectContainer#newAggregatedInstance(...) will > throw an exception. > - ObjectAdapter#isAggregated removed > - @Embedded annotation is no longer picked up as aggregated (is simply > ignored) > simplified Oid hierarchy > - RootOid > - ParentedCollectionOid > combined OidGenerator and IdentifierGenerator > simplified PersistenceSession, ObjectStore and other supporting components > - removed ObjectStore, now part of PersistenceSession > - removed PojoAdapterFactory, now part of AdapterManager > - removed PersistAlgorithm, now part of PersistenceSession > - removed FrameworkSynchronizer, now part of PersistenceSession > - IsisLifecycleListener is now request-scoped and a subcomponent of > PersistenceSession > - ObjectSpecificationDefault no longer instantiates objects, instead this is > done by PersistenceSession (remove CreateObjectContext and ObjectInstantiator) > - all subcomponents call back to PersistenceSession which delegates out as > necessary > - no longer have two impementations > - use the DataNucleus impl always (and remove unnecessary interface) -- This message was sent by Atlassian JIRA (v6.3.4#6332)