Clone Tools
  • last updated 12 mins ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
ISIS-1974: fixes to ensure new algorithm generates same metamodel as previously.

More or less, that is.

The main change here is that some facet factories have been reimplemented in the SpecLoader PostProcessor, namely those that derive facets on object members based on the facets from the type of those members ... typical length, described as, immutable => disabled, param defaults.

- for now, the unused facets have been left in the codebase, commented out of ProgrammingModelFacetsJava5; the post-processor's name (ActionCollectionParameterDefaultsAndChoicesPostProcessor) is unchanged even though it now does much more than it used to

This results in some minor differences... ImmutableFacet is no longer always installed, for example, if DisabledFacet is present instead.

In addition to the PostProcessor changes:

- call post processing without requiring there to be an open session. Note that this requires a minor refactor in OneTo{One/Many}ActionParameterContributee - these take the servicePojo rather than the serviceAdapter

- refactor SpecificationCacheDefault, init() semantics are now cleaner

- it no longer takes a map (and the old init is now internalInit)

- SpecificationLoader#cacheBySpecId now removed - this is basically what is in the new version of init in SpecificationCacheDefault

- also search for @DomainServiceLayout, @DomainObjectLayout, @ViewModelLayout to find classes to introspect during bootstrapping

- don't introspect @Programmatic fixture scripts (unless they are explicitly discoverable by implementing DiscoverableFixtureScript)

- don't create any associations/actions for any domain services that have a nature of DOMAIN (unless they are also @HomePage domain service)

- don't create any associations/actions for fixture scripts

- OneTo{One/Many}AssociationContributee now implement getOnType (was throwing an NPE) & OneToManyAssociationMixedIn now implements getOnType (OTOAMI was already)

- these are to allow the implementatoin of the post-processor to look up the parent spec if the member is a mixin or contributee

- MetaModelExporter now includes a check that the objectSpecId -> ObjectSpecification is one-to-one.

- this is what precipitated the refactoring of SpecificationCacheDefault

- adds a guard in TypicalLengthFacetOnPropertyDerivedFromType, which was NPE'ing

- in the metamodel validator, as an ugly special case, allow ObjectSpecIdFacet to be derived from class name

- seems ok, since no longer have actoins on fixture scripts in the metamodel. Also, there are fixtures in the incode platform that fall foul of this check

- allow @Programmatic to be specified on fields

- annotate various fixture scripts as @Programmatic (so that they will be skipped completely from the metamodel)

- BuilderFixtureScript, TeardownFixtureScriptAbstract, PersonaEnumPersistAll, ClockFixture, TickingClockFixture

- fixed bug with MetaModelService6.Config class for getPackagePrefixes()

-

    • -16
    • +3
    ./describedas/annotprop/DescribedAsFacetOnMemberFactory.java
  1. … 37 more files in changeset.
adds FacetWithAttributes interface

makes existing facets implement

    • -4
    • +11
    ./cssclass/CssClassFacetAbstract.java
    • -0
    • +5
    ./cssclassfa/CssClassFaFacetAbstract.java
    • -1
    • +6
    ./disabled/DisabledFacetAbstractImpl.java
    • -0
    • +6
    ./disabled/method/DisableForContextFacetViaMethod.java
    • -0
    • +5
    ./hidden/method/HideForContextFacetViaMethod.java
  1. … 151 more files in changeset.
ISIS-1974: forward ports improvements on parallelisation bootstrapping from master up to v2

    • -2
    • +1
    ./cssclass/annotprop/CssClassFacetOnActionFromConfiguredRegexFactory.java
  1. … 13 more files in changeset.
ISIS-1976: fixing tests that that fail on mockup service lookup now being Optionals

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

    • -1
    • +1
    ./disabled/method/DisableForContextFacetViaMethodFactory.java
  1. … 34 more files in changeset.
ISIS-1976: polishing ServiceInjector and ServiceRegistry API

let ServiceInjector implement ServiceRegistry

service lookup result is now an Optional instead of a nullable Object

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

    • -1
    • +1
    ./disabled/method/DisableForContextFacetViaMethodFactory.java
  1. … 86 more files in changeset.
ISIS-1976: finally removing guava from metamodel

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

    • -8
    • +6
    ./cssclassfa/CssClassFaFacetAbstract.java
  1. … 50 more files in changeset.
ISIS-1974: now eagerly creates stub specifications for services, @DomainObjects, view models and primitives.

No longer performing any introspection for any of these, so removed the ProgrammingModelForObjectSpecIdFacet kludge; semantics of caching of specifications now clearer.

Also added some diagnostics around ServicesInjector#lookupServices, added ServiceInjector#isService for use of CssClassFacetOn...Factory (less of a kludge).

    • -2
    • +1
    ./cssclass/annotprop/CssClassFacetOnActionFromConfiguredRegexFactory.java
  1. … 6 more files in changeset.
ISIS-1976: introduces ManagedObject to replace OA within most of metamodel

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

    • -2
    • +2
    ./disabled/DisabledFacetAbstractAlwaysEverywhere.java
    • -2
    • +2
    ./disabled/DisabledFacetAbstractImpl.java
    • -1
    • +2
    ./disabled/method/DisableForContextFacetViaMethod.java
    • -2
    • +2
    ./hidden/HiddenFacetAbstractAlwaysEverywhere.java
    • -2
    • +2
    ./hidden/HiddenFacetFromLayoutPropertiesAbstract.java
    • -1
    • +2
    ./hidden/method/HideForContextFacetViaMethod.java
  1. … 130 more files in changeset.
ISIS-1976: changes API ObjectSpecification.getCssClass(ObjectAdapter)

-> ObjectSpecification.getCssClass(Instance)

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

  1. … 5 more files in changeset.
    • -3
    • +2
    ./cssclass/annotprop/CssClassFacetOnActionFromConfiguredRegexFactory.java
    • -1
    • +1
    ./cssclassfa/CssClassFaFacetAbstract.java
    • -3
    • +2
    ./cssclassfa/annotprop/CssClassFaFacetOnMemberFactory.java
    • -3
    • +2
    ./disabled/DisabledFacetAbstractImpl.java
    • -3
    • +2
    ./hidden/HiddenFacetFromLayoutPropertiesAbstract.java
  1. … 310 more files in changeset.
    • -2
    • +2
    ./cssclassfa/CssClassFaFacetAbstract.java
  1. … 25 more files in changeset.
    • -3
    • +3
    ./cssclass/annotprop/CssClassFacetOnActionFromConfiguredRegexFactory.java
    • -3
    • +3
    ./cssclassfa/annotprop/CssClassFaFacetOnMemberFactory.java
  1. … 38 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

    • -1
    • +1
    ./cssclassfa/annotprop/CssClassFaFacetOnMemberFromConfiguredRegex.java
    • -1
    • +1
    ./cssclassfa/annotprop/CssClassFaFacetOnMemberFromProperties.java
    • -0
    • +1
    ./disabled/forsession/DisableForSessionFacetViaMethodFactory.java
    • -2
    • +4
    ./disabled/method/DisableForContextFacetViaMethod.java
    • -10
    • +10
    ./hidden/HiddenFacetAbstract.java
    • -0
    • +1
    ./hidden/HiddenFacetFromLayoutPropertiesAbstract.java
    • -1
    • +1
    ./hidden/forsession/HideForSessionFacetViaMethodFactory.java
    • -1
    • +3
    ./hidden/method/HideForContextFacetViaMethod.java
    • -1
    • +1
    ./hidden/method/HideForContextFacetViaMethodFactory.java
  1. … 549 more files in changeset.
ISIS-1841 automated source cleanup

Add missing '@Override' annotations

Remove trailing white spaces on all lines

Correct indentation

    • -3
    • +3
    ./cssclass/annotprop/CssClassFacetOnActionFromConfiguredRegexFactory.java
    • -1
    • +1
    ./cssclassfa/CssClassFaFacetAbstract.java
    • -1
    • +1
    ./cssclassfa/annotprop/CssClassFaFacetOnMemberFactory.java
    • -2
    • +2
    ./cssclassfa/annotprop/CssClassFaFacetOnMemberFromProperties.java
    • -2
    • +2
    ./describedas/annotprop/DescribedAsFacetOnMemberFactory.java
    • -1
    • +1
    ./disabled/method/DisableForContextFacetNone.java
    • -2
    • +2
    ./disabled/method/DisableForContextFacetViaMethodFactory.java
  1. … 1396 more files in changeset.
ISIS-1841 comments: further remove visual clutter

    • -1
    • +1
    ./cssclass/annotprop/CssClassFacetOnActionFromConfiguredRegexFactory.java
  1. … 80 more files in changeset.
ISIS-1841 comments: reduce visual clutter

replace 'region .. endregion' comment markers with just headers

    • -1
    • +1
    ./cssclass/annotprop/CssClassFacetOnActionFromConfiguredRegexFactory.java
  1. … 122 more files in changeset.
ISIS-1841 java-doc: purge occurrences of @author

  1. … 9 more files in changeset.
ISIS-1870: fixes compile issue

Merge branch 'maint-1.16.2'

  1. … 5 more files in changeset.
ISIS-1813: fixes java7/8 compilation issue (unused import from Java 8)

ISIS-1585: adds @Action(associateWith=...)

    • -5
    • +16
    ./order/MemberOrderFacetAbstract.java
    • -0
    • +34
    ./order/annotprop/MemberOrderFacetForActionAnnotation.java
  1. … 8 more files in changeset.
ISIS-1743: fixes backport issue

ISIS-1743: also supports mixins specified using @Mixin(method="...") eg "act" or "coll" as well as the default "$$"

    • -1
    • +1
    ./cssclassfa/annotprop/CssClassFaFacetOnMemberFactory.java
  1. … 3 more files in changeset.
ISIS-1743: also supports mixins specified using @Mixin(method="...") eg "act" or "coll" as well as the default "$$"

    • -1
    • +1
    ./cssclassfa/annotprop/CssClassFaFacetOnMemberFactory.java
  1. … 3 more files in changeset.
ISIS-1743 fa-Icon mapping for mixins using '$$' method names

    • -7
    • +2
    ./cssclassfa/annotprop/CssClassFaFacetOnMemberFactory.java
    • -0
    • +75
    ./cssclassfa/annotprop/MixinInterceptor.java
ISIS-1743 fa-Icon mapping for mixins using '$$' method names

    • -7
    • +2
    ./cssclassfa/annotprop/CssClassFaFacetOnMemberFactory.java
    • -0
    • +75
    ./cssclassfa/annotprop/MixinInterceptor.java
ISIS-1632 , ISIS-1763: converts some more facet factories to handle Lists of annotations (WORK IN PROGRESS, CODE STILL DOES NOT COMPILE)

  1. … 30 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. … 42 more files in changeset.
ISIS-1742: removes "notInServiceMenu" prefix, "name" prefix, "plural" prefix, "description", "optional", "alwaysHide", "protect" prefixes.

    • -119
    • +0
    ./describedas/staticmethod/DescribedAsFacetStaticMethodFactory.java
    • -120
    • +0
    ./disabled/staticmethod/DisabledFacetStaticMethodFacetFactory.java
  1. … 16 more files in changeset.
ISIS-1742: globally replaces imports on applib.filter.Predicate for guava's equiv, deletes applib.filter.Predicate

  1. … 31 more files in changeset.