Clone Tools
  • last updated 11 mins ago
Constraints
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...

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

    • -0
    • +50
    ./ValueFacetSimple.java
  1. … 74 more files in changeset.
2039 redesign of config (#134)

* ISIS-2039: major refactoring

move config code into its own module

remove number of classes in metamodel, that hold a reference to

IsisConfiguration or its implementation

hide the mutable IsisConfigurationDefault

Task-Url: https://issues.apache.org/jira/browse/ISIS-2039

* ISIS-2039: reduce visibility of some config classes

Task-Url: https://issues.apache.org/jira/browse/ISIS-2039

* ISIS-2039: simplify config access

Task-Url: https://issues.apache.org/jira/browse/ISIS-2039

* ISIS-2039: cleaning up the component-provider mess

for web-modules: no longer negotiate by writing attributes to the

servlet-context, instead use a java class for that

Task-Url: https://issues.apache.org/jira/browse/ISIS-2039

* ISIS-2039: fixing some tests

Task-Url: https://issues.apache.org/jira/browse/ISIS-2039

* ISIS-2039: removing arguments of @PostConstruct methods

Task-Url: https://issues.apache.org/jira/browse/ISIS-2039

* ISIS-2039: lazy binding to config for wicket

Task-Url: https://issues.apache.org/jira/browse/ISIS-2039

* ISIS-2039: proposed test fix

also cleaning up verbose tests

Task-Url: https://issues.apache.org/jira/browse/ISIS-2039

* ISIS-2039: more test fixes

Task-Url: https://issues.apache.org/jira/browse/ISIS-2039

* ISIS-2039: experimenting with AppConfig managed by Guice

Task-Url: https://issues.apache.org/jira/browse/ISIS-2039

* ISIS-2039: solving the AppManifest lookup problem independently of the

configuration bootstrapping

Task-Url: https://issues.apache.org/jira/browse/ISIS-2039

* ISIS-2039: simplify helloworld

Task-Url: https://issues.apache.org/jira/browse/ISIS-2039

* ISIS-2039: moving type discovery to an earlier stage in bootstrapping

Integration Test Bootstrapping works.

Task-Url: https://issues.apache.org/jira/browse/ISIS-2039

* ISIS-2039: on web-context: move the config bootstrapping from wicket

module to the main ServletContextListener

such that the wicket module is no longer responsible for initiating the

framework

Task-Url: https://issues.apache.org/jira/browse/ISIS-2039

* ISIS-2039: config bootstrapping: fixes the resource chain

Task-Url: https://issues.apache.org/jira/browse/ISIS-2039

* ISIS-2039: allow ServiceLoader lookup for AppConfig to fallback ...

to previous behavior, that is to lookup the AppManifest from config

property 'isis.appManifest'

Task-Url: https://issues.apache.org/jira/browse/ISIS-2039

* ISIS-2039: fixes concurrent modification with _Context

add a property 'isUnitTesting' to the IsisSystemEnvironment, to help

with the decision on how to bootstrap the configuration

also doing some cleaning up

Task-Url: https://issues.apache.org/jira/browse/ISIS-2039

* ISIS-2039: fixing junit tests ...

by having the IsisSystemEnvironment#isUnitTesting correctly setup by

JunitRuleMocker2

Task-Url: https://issues.apache.org/jira/browse/ISIS-2039

* ISIS-2039: further fixing tests ...

also moving ExceptionRecognizer services that depend on the 'config'

module from 'applib' to 'runtime'

Task-Url: https://issues.apache.org/jira/browse/ISIS-2039

* ISIS-2039: fixing tests, that fail due to new domain object annot.

processing

Task-Url: https://issues.apache.org/jira/browse/ISIS-2039

* ISIS-2039: unify config bootstrapping code for maven-plugin,

wicket-viewer and headless

Task-Url: https://issues.apache.org/jira/browse/ISIS-2039

* ISIS-2039: to fix prev. commit: let the maven-plugin bootstrap the

configuration properly

Task-Url: https://issues.apache.org/jira/browse/ISIS-2039

* ISIS-2039: fixing mm verification tests

Task-Url: https://issues.apache.org/jira/browse/ISIS-2039

* ISIS-2039: reinstating the ConfigurationServiceDefault

also renaming packages within the 'config' module -> 'o.a.i.config'

Task-Url: https://issues.apache.org/jira/browse/ISIS-2039

* ISIS-2039: removing the ConfigurationService interface

use the singleton IsisConfiguration instead

for the UI, the ConfigurationServiceMenu was renamed to

ConfigurationMenu which uses a ConfigurationViewService for the single

purpose of displaying config values

Task-Url: https://issues.apache.org/jira/browse/ISIS-2039

* ISIS-2039: reorg. packages

Task-Url: https://issues.apache.org/jira/browse/ISIS-2039

    • -7
    • +20
    ./annotcfg/ValueFacetAnnotation.java
    • -3
    • +4
    ./vsp/ValueSemanticsProviderAndFacetAbstract.java
  1. … 423 more files in changeset.
ISIS-1991: major: removing the DeploymentCategory

also rolling up RenderContext2-6

Task-Url: https://issues.apache.org/jira/browse/ISIS-1991

  1. … 131 more files in changeset.
Merge remote-tracking branch 'origin/master' into v2

    • -0
    • +11
    ./vsp/ValueSemanticsProviderAndFacetAbstract.java
  1. … 142 more files in changeset.
adds FacetWithAttributes interface

makes existing facets implement

    • -0
    • +11
    ./vsp/ValueSemanticsProviderAndFacetAbstract.java
  1. … 160 more files in changeset.
ISIS-1976: cleaning up some raw types, unchecked casts and incomplete switches

Task-Url: https://issues.apache.org/jira/browse/ISIS-1976

    • -4
    • +12
    ./vsp/ValueSemanticsProviderUtil.java
  1. … 46 more files in changeset.
    • -3
    • +2
    ./annotcfg/ValueFacetAnnotationOrConfigurationFactory.java
  1. … 313 more files in changeset.
ISIS-1976: removes OA map, stream for metamodel, excising guava

Key achievements:

Metamodel: almost all guava Function and Predicate idioms removed

Metamodel: slight API improvements, such that some of the internal meta-data that is kept in Java

Collections is no longer copied into immutable lists for any calling client, instead Java Streams are returned (which treat the underlying collections un-modifiable by design)

the ObjectAdapter per-session map/cache is history

the legacy modules have been removed, for convenince and ease of migration the legacy/transition-1-2- module remains and shall provide legacy glue code

shiro was moved to plugins, and its artifact renamed, to be inline with the other plugins

    • -0
    • +66
    ./MaxLengthFacetUsingParser.java
    • -1
    • +0
    ./annotcfg/ValueFacetAnnotationOrConfigurationFactory.java
    • -2
    • +0
    ./annotcfg/ValueFacetFromConfiguration.java
    • -1
    • +0
    ./vsp/ValueFacetUsingSemanticsProviderFactory.java
    • -5
    • +4
    ./vsp/ValueSemanticsProviderAndFacetAbstract.java
  1. … 550 more files in changeset.
ISIS-1976: decouple metamodel's facets from AdapterManager

introduces ObjectAdapterProvider

Task-Url: https://issues.apache.org/jira/browse/ISIS-1976

    • -3
    • +3
    ./vsp/ValueSemanticsProviderAndFacetAbstract.java
  1. … 79 more files in changeset.
ISIS-1841 automated source cleanup

Add missing '@Override' annotations

Remove trailing white spaces on all lines

Correct indentation

    • -1
    • +1
    ./annotcfg/ValueFacetAnnotationOrConfigurationFactory.java
    • -8
    • +8
    ./vsp/ValueSemanticsProviderAndFacetAbstract.java
  1. … 1406 more files in changeset.
ISIS-1871 minor cleanup and refactoring

  1. … 6 more files in changeset.
ISIS-1632: converts facet factories to support meta annotations ... code now compiles

but haven't tried unit tests yet, let alone integ tests etc..

Also:

- removed support for boolean flags in annotations, replaced with enums. Need to review to ensure is complete.

    • -1
    • +1
    ./annotcfg/ValueFacetAnnotationOrConfigurationFactory.java
  1. … 94 more files in changeset.
ISIS-1632: converts a number of facet factories to handle Lists of annotations (WORK IN PROGRESS, CODE STILL DOES NOT COMPILE)

  1. … 20 more files in changeset.
ISIS-1632: generalises Annotations utility to return a list of annotations rather than first matching. (INCOMPLETE, DOESN'T EVEN COMPILE)

The idea here is that the calling code can look for the first non-default value for whichever attribute of the annotation that they might be interested in.

    • -1
    • +1
    ./annotcfg/ValueFacetAnnotationOrConfigurationFactory.java
  1. … 42 more files in changeset.
ISIS-1742: deletes When enum from @Hidden, @Disabled, @Immutable

    • -2
    • +1
    ./ImmutableFacetViaValueSemantics.java
  1. … 74 more files in changeset.
ISIS-1427: fix up unit tests that are failing...

... per the preceding deletion of Localization and also the IsisContext refactoring

    • -3
    • +2
    ./vsp/ValueSemanticsProviderAndFacetAbstract.java
  1. … 15 more files in changeset.
ISIS-1427: simplifying IsisContext and minimizing calls to it; also removed Localization (unused)

    • -9
    • +9
    ./vsp/ValueSemanticsProviderAndFacetAbstract.java
  1. … 214 more files in changeset.
ISIS-1422: refactoring (no functional change) - completely eliminated ValueSemanticsProviderContext, just use ServicesInjector throughout, and don't pass IsisConfiguration to VSP either, since derivable from ServicesInjector.

Also:

- made ConfigurationServiceInternal extend from IsisConfiguration (IsisConfigurationDefault is the only impl anyway)

- removed unnecessary casts to IsisConfiguration

- removed components passed into AutoCompleteFacetAbstract, since all derivable from ServicesInjector.

    • -19
    • +3
    ./annotcfg/ValueFacetAnnotationOrConfigurationFactory.java
    • -3
    • +4
    ./annotcfg/ValueFacetFromConfiguration.java
    • -1
    • +2
    ./vsp/ValueFacetUsingSemanticsProvider.java
    • -21
    • +2
    ./vsp/ValueFacetUsingSemanticsProviderFactory.java
    • -7
    • +6
    ./vsp/ValueSemanticsProviderAndFacetAbstract.java
    • -57
    • +0
    ./vsp/ValueSemanticsProviderContext.java
  1. … 178 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
    • +1
    ./annotcfg/ValueFacetAnnotationOrConfigurationFactory.java
    • -1
    • +1
    ./vsp/ValueFacetUsingSemanticsProviderFactory.java
  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.

    • -13
    • +9
    ./annotcfg/ValueFacetAnnotationOrConfigurationFactory.java
    • -7
    • +8
    ./vsp/ValueFacetUsingSemanticsProviderFactory.java
  1. … 59 more files in changeset.
ISIS-1407: removed SpecificationLoaderAware.

Also:

- minor extension to ServiceRegistry2

- collapsed ServicesInjector, ServicesInjectorSpi and ServicesInjectorDefault to just ServicesInjector.

    • -5
    • +1
    ./vsp/ValueFacetUsingSemanticsProviderFactory.java
    • -1
    • +1
    ./vsp/ValueSemanticsProviderAndFacetAbstract.java
    • -1
    • +1
    ./vsp/ValueSemanticsProviderContext.java
  1. … 266 more files in changeset.
ISIS-1407: SpecificationLoader is now a concrete class (rolled ObjectReflector up into it).

    • -1
    • +1
    ./vsp/ValueSemanticsProviderAndFacetAbstract.java
    • -2
    • +1
    ./vsp/ValueSemanticsProviderContext.java
  1. … 155 more files in changeset.
ISIS-1406: lots more refactoring around IsisConfiguration and IsisConfigurationBuilder.

specifically:

- simplified IsisConfigurationBuilder, now a single class (rather than an interface with 4 different impls, only 2 of which were used).

- removed IsisRunner, so that the command line options are now a responsibility of the IsisConfigurationBuilder

- IsisConfigurationBuilder is passed from o.a.i.WebServer to IsisWicketApplication (not just the "primers"

- removed OptionValidator, wasn't being used

- FacetFactoryAbstract responsible for providing IsisConfiguration to all subclass impls

- InstallerLookup simplified, no longer responsible for appending to the IsisConfigurationBuilder

- InstallerAbstract impls now all have the IsisConfiguration injected into them (constructor injection).

- removed duplication between IsisWebAppBootstrapper and IsisWicketApplication

As of this commit the app runs, but the fixtures are not being automatically installed.

    • -21
    • +3
    ./annotcfg/ValueFacetAnnotationOrConfigurationFactory.java
    • -14
    • +0
    ./vsp/ValueFacetUsingSemanticsProviderFactory.java
  1. … 104 more files in changeset.
ISIS-1405: removing IsisConfigurationAware.

    • -3
    • +9
    ./annotcfg/ValueFacetAnnotationOrConfigurationFactory.java
    • -3
    • +8
    ./vsp/ValueFacetUsingSemanticsProviderFactory.java
  1. … 89 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.

    • -25
    • +2
    ./annotcfg/ValueFacetAnnotationOrConfigurationFactory.java
    • -15
    • +2
    ./vsp/ValueFacetUsingSemanticsProviderFactory.java
    • -10
    • +3
    ./vsp/ValueSemanticsProviderAndFacetAbstract.java
    • -11
    • +8
    ./vsp/ValueSemanticsProviderContext.java
  1. … 68 more files in changeset.
ISIS-1194: reverting the move of AdapterManager and AdapterManagerAware, as unnecessarily breaks addons (devutils)

    • -2
    • +2
    ./annotcfg/ValueFacetAnnotationOrConfigurationFactory.java
    • -2
    • +2
    ./vsp/ValueFacetUsingSemanticsProviderFactory.java
    • -1
    • +1
    ./vsp/ValueSemanticsProviderAndFacetAbstract.java
    • -1
    • +1
    ./vsp/ValueSemanticsProviderContext.java
  1. … 141 more files in changeset.
ISIS-1194: moving AdapterManager interface to same package as other "runtimecontext" interfaces

    • -2
    • +2
    ./annotcfg/ValueFacetAnnotationOrConfigurationFactory.java
    • -2
    • +2
    ./vsp/ValueFacetUsingSemanticsProviderFactory.java
    • -1
    • +1
    ./vsp/ValueSemanticsProviderAndFacetAbstract.java
    • -1
    • +1
    ./vsp/ValueSemanticsProviderContext.java
  1. … 141 more files in changeset.
ISIS-1194: simplified the Oid hierarchy to just two : RootOid and ParentedCollectionOid

* RootOid is the rename of RootOidDefault, and incorporates the original RootOid interface and the TypedOid interface. (TypedOid previously was also a supertype of AggregatedOid, but this was removed in a previous commit).

* ParentedCollectionOid is the rename of CollectionOid, and incorporates the original ParentOid supertype interface. (ParentOid previously was also a supertype of AggregatedOid, but this was removed in a previous commit).

    • -2
    • +2
    ./annotcfg/ValueFacetAnnotationOrConfigurationFactory.java
  1. … 67 more files in changeset.
ISIS-1194: FacetFactorys no longer implement RuntimeContextAware.

... those that required this instead implement TransactionStateProviderAware.

    • -14
    • +5
    ./annotcfg/ValueFacetAnnotationOrConfigurationFactory.java
    • -10
    • +1
    ./vsp/ValueFacetUsingSemanticsProviderFactory.java
  1. … 9 more files in changeset.
ISIS-1044: removed AuthenticationSession and DeploymentCategory from facet API that call ObjectAdapter.Util#isVisible (either directly or indirectly).

Instead, the facet can obtain the auth session from the AuthenticationSessionProvider injected in the constructor by the facet factory; DeploymentCategory is similarly injected via the constructor.

Updated:

- ActionChoicesFacet

- ActionInvocationFacet

- ActionParameterAutoCompleteFacet

- ActionParameterChoicesFacet

- AutoCompleteFacet

- ChoicesFacet

- CollectionAccessorFacetViaAccessor

- CollectionAddToFacet ... ForDomainEventAbstract

- CollectionRemoveFromFacet ... ForDomainEventAbstract

- PropertyAccessorFacetViaAccessor

- PropertyAutoCompleteFacet

- PropertyChoicesFacetDerivedFromChoicesFacet

- PropertyClearFacet ... ForDomainEventAbstract

- PropertySetterFacet ... ForDomainEventAbstract

... and their respective implementations and facet factories

... the ... ForDomainEventAbstract are because require access to read current state in order to emit event

    • -7
    • +0
    ./annotcfg/ValueFacetAnnotationOrConfigurationFactory.java
    • -7
    • +0
    ./vsp/ValueFacetUsingSemanticsProviderFactory.java
  1. … 71 more files in changeset.