Clone Tools
  • last updated 22 mins ago
Constraints: committers
Constraints: files
Constraints: dates
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...


- 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

  1. … 74 more files in changeset.
ISIS-1988: Move isis-core-wrapper into isis-core-runtime.


  1. … 34 more files in changeset.
ISIS-1949: cleanup plugin dependencies


  1. … 4 more files in changeset.
ISIS-1948: Adds unit test for ProxyCreator


    • -0
    • +87
ISIS-1893 fixes wrapper test dependencies and tests

  1. … 7 more files in changeset.
ISIS-1870: fixes wrapper factory tests

ISIS-1742: globally replaces imports on applib.filter.Predicate for guava's equiv, deletes applib.filter.Predicate

  1. … 31 more files in changeset.
ISIS-1742: renames applib.filter.Filter to applib.filter.Predicate, same as guava's similar class.

  1. … 34 more files in changeset.
ISIS-1742: moves to

  1. … 125 more files in changeset.
ISIS-1742: deletes AbstractService, AbstractViewModel, AbstractContainedObject, AbstractDomainObject, AbstractFactoryAndRepository, AbstractHomePageDashboardService. Also deletes allInstances/allMatches/firstMatch/uniqueMatch from DomainObjectContainer.

In so doing, allows us to remove QueryFindByPattern and QueryFindByTitle and corresponding PersistenceQuery... and to simplify those hierarchies.

  1. … 30 more files in changeset.
ISIS-1742: deletes When enum from @Hidden, @Disabled, @Immutable

  1. … 74 more files in changeset.
ISIS-1742: delets @Named annotation and corresponding facets and facet factories.

Also updates .adocs.

Also adds in todo list of deprecations to work through.

  1. … 17 more files in changeset.
ISIS-1592: extends ixn.xsd and cmd.xsd

to include logicalMemberIdentifier.


- extended OTOA and OTMA so have getOnType, same as ObjectAction. Required in order to be able to obtain the objectSpec in order to populate the new logicalMemberIdentifier field

  1. … 24 more files in changeset.
ISIS-1393: removes MessageServiceInternal as an internal API, and instead has two implementations of MessageService (a noop one, and a default one)

  1. … 11 more files in changeset.
ISIS-1427: consolidating to only necessary calls to IsisContext#getIsisSessionFactory; also fully qualify @Inject (as either javax or throughout.

The rationale is to use dependency injection where possible, and where have all code that requires components to do so through IsisContext#getIsisSessionFactory (and nowhere else).

  1. … 169 more files in changeset.
ISIS-1408: removing RuntimeContext, ObjectSpecificationDependencies, ObjectMemberDependencies (WIP)

Also adding some micro-caching/helper methods in ServicesInjector (not sure if significant).

WIP - runs up ok, but unit tests failing.

  1. … 105 more files in changeset.
ISIS-1409: removing the *Aware interfaces for the internal components of RuntimeContext (PersistenceSession, Localization, MessageBroker, TranState), also removing AdapterManagerAware.

  1. … 59 more files in changeset.
ISIS-1409: internal components of RuntimeContext subclasses are now internal domain services; RuntimeContext hierarchy collapsed into a single class.

  1. … 124 more files in changeset.
ISIS-1407: removed SpecificationLoaderAware.


- minor extension to ServiceRegistry2

- collapsed ServicesInjector, ServicesInjectorSpi and ServicesInjectorDefault to just ServicesInjector.

  1. … 270 more files in changeset.
ISIS-1407: SpecificationLoader is now a concrete class (rolled ObjectReflector up into it).

  1. … 155 more files in changeset.
ISIS-1404: AuthenticationSessionProvider is now a domain service; removed the AuthenticationSessionProviderAbstract and Aware interfaces.

In addition, FacetFactoryAbstract now implements ServiceInjectorAware, none of the subclass FacetFactorys do. The intention here is that we can just let FacetFactory reach into ServicesInjector to pull out the domain services, such as AuthenticationSessionProvider impl'n.

    • -0
    • +275
  1. … 69 more files in changeset.
ISIS-1398: moving the command stuff to PropertySetter/ClearFacetForDomainEventAbstract, and out of the wrapped original PropertySetterFacet or PropertyClearFacet.


- remove DomainEventHelper#hasEventBusService() since will always return true

  1. … 21 more files in changeset.
ISIS-1213: renamed metamodel classes ("...Impl" to "...Default"); derive name of ObjectActionMixedIn from mixin type (if "_"); simplified logic of #getParameters; also...


- ObjectActionImpl to ObjectActionDefault

- OneToOneAssociationImpl to OneToOneAssociationDefault

- OneToManyAssociationImpl to OneToManyAssociationDefault

- OneToOneActionParameterImpl to OneToOneActionParameterDefault


- reduced number of methods subclassed under ObjectMemberAbstract by introducing overridable getFacetHolder()

- OneToOneAssociationContributee

- OneToManyAssociationContributee

- similarly for ObjectActionParameterAbstract

  1. … 25 more files in changeset.
ISIS-1194: remove AdapterManager from ObjectMemberDependencies context class, use PersistenceSessionService instead.

  1. … 15 more files in changeset.
ISIS-1194: reverting the move of AdapterManager and AdapterManagerAware, as unnecessarily breaks addons (devutils)

  1. … 144 more files in changeset.
ISIS-1194: moving AdapterManager interface to same package as other "runtimecontext" interfaces

  1. … 144 more files in changeset.
ISIS-1194: removing MessageBrokerService from ObjectMemberDependencies

  1. … 9 more files in changeset.
ISIS-1194: renamed ObjectPersistor interface to PersistenceSessionService

  1. … 28 more files in changeset.
ISIS-1194: renaming QuerySubmitter interface (currently empty) to MessageBrokerService

  1. … 19 more files in changeset.