[
https://issues.apache.org/jira/browse/ISIS-2050?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16723806#comment-16723806
]
ASF subversion and git services commented on ISIS-2050:
-------------------------------------------------------
Commit c29c565cdd45a0a56c481f5fe1cd882285309fd3 in isis's branch
refs/heads/ISIS-2050 from danhaywood
[ https://gitbox.apache.org/repos/asf?p=isis.git;h=c29c565 ]
ISIS-2050: reworks order and depth of introspection.
Squashed from previous commits:
ISIS-2050: uses simpler overload that defaults IntrospectionState to
TYPE_INTROSPECTED.
Also introduces overload for className as well as Class<?>
ISIS-2050: only contribute to entities and view models; improves MetaModel
exporter
to also dump out the facets of any "discovered" domain types.
ISIS-2050: load specs only to TYPE (not MEMBERS) everywhere; only adds
described as facet (derived from type) if is do-op.
ISIS-2050: fixes for unit tests and reorder introspection slightly in order
to fix lockdown
ISIS-2050: adds ValueFacet for Joda LocalTime
Uses a very simple implementation, because I suspect that the other
capabilities of ValueFacet simply aren't needed anymore...
ISIS-2050:
- removes contributingDomainServiceTypes from AppManifest.Registry once
more ... will just eagerly introspect type and members for all domain services
- fixes introspectUpTo algorithm
- skip type hierarchy traversal for domain services with
natureOfService=DOMAIN
- improves/reduces logging
- lazily introspect up to type and members whenever any of the members
(properties/collections/actions) are referenced of an ObjectSpecAbstract
ISIS-2050: introduces config property to enable/disable full introspection
of metamodel
If disabled, then metamodel validation is skipped
ISIS-2050: moves introspectObjectSpecId() so called directly from
constructor of ObjectSpec.
ISIS-2050: postProcessor now called by ObjectSpecAbstract after fully
introspected, rather than by SpecificationLoader
ISIS-2050: passes PostProcessor into ObjectSpecificationAbstract's
constructor
ISIS-2050: scales back the depth of introspection when introspecting members
- only need to introspect the type for parameters and return types.
ISIS-2050: removes SpecificationLoader#state; now responsibility of each
ObjectSpecification to keep track of its own introspectionState.
ISIS-2050: eagerly introspects contributing specs, lazily introspecs the
remainder.
ISIS-2050: updates AppManifest.Registry to also hold all
contributingDomainServiceTypes
This is so that we can eagerly build the ObjectSpecs for these types and
mixins, but leave everything else to be built lazily.
ISIS-2050: when traversing type hierarchy, now only introspect super types
up to the TYPE, not their MEMBERs as well.
ISIS-2050: renames two of the IntrospectionStates
ISIS-2050: pulls upTo introspectionState into a parameter for all of
SpecificationLoaders methods
... so that the caller can decide the level of introspection that needs to
be performed.
ISIS-2050: extends IntrospectionState with additional states for type vs
member introspection; inlining methods to simplify
... with the aim of exposing the IntrospectionState upTo so can pass
through and honour the phases.
Removed the guards in introspectTypeHierarchy, don't think they are needed
any more since only ever called from its caller which checks the
introspectionState anyway
ISIS-2050: breaks out introspectTypeHierarchyAndMembers into two.
ISIS-2050: replaces IntrospectionStrategy with the concept of introspecting
"up to" a certain state.
ISIS-2050: refactors responsibilities of SpecLoader vs ObjectSpec
just the management of introspectionState on ObjectSpec
ISIS-2050: introduces ObjectSpecIdFacetFactory
and additional process(ProcessObjectSpecIdContext) for FacetProcessor
> Install ObjectSpecIdFacet immediately on creation of ObjectSpecification so
> can be cached.
> ------------------------------------------------------------------------------------------
>
> Key: ISIS-2050
> URL: https://issues.apache.org/jira/browse/ISIS-2050
> Project: Isis
> Issue Type: Improvement
> Affects Versions: 1.16.2
> Reporter: Dan Haywood
> Assignee: Dan Haywood
> Priority: Minor
> Fix For: 1.16.3
>
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)