[ 
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)

Reply via email to