Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
ISIS-1976: finding a shorter name also fixes typo -> 'explicitIdOfType'

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

    • -1
    • +1
    ./ObjectSpecIdFacetDerivedFromClassNameFactory.java
  1. … 2 more files in changeset.
ISIS-1976: further cleanup ServiceUtil, fixes a NPE regression

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

    • -1
    • +2
    ./ObjectSpecIdFacetDerivedFromClassNameFactory.java
  1. … 2 more files in changeset.
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()

-

    • -1
    • +5
    ./ObjectSpecIdFacetDerivedFromClassNameFactory.java
  1. … 37 more files in changeset.
ISIS-1976: cleanup ServiceUtil

improve ServiceInjector's service list validation for uniqueness to

print all! duplicates

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

    • -1
    • +1
    ./ObjectSpecIdFacetDerivedFromClassNameFactory.java
  1. … 7 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

    • -7
    • +4
    ./ObjectSpecIdFacetDerivedFromClassNameFactory.java
    • -2
    • +0
    ./ObjectSpecIdFacetDerivedFromDomainServiceAnnotationElseGetId.java
  1. … 557 more files in changeset.
ISIS-1841 automated source cleanup

Add missing '@Override' annotations

Remove trailing white spaces on all lines

Correct indentation

    • -1
    • +1
    ./ObjectSpecIdFacetDerivedFromClassNameFactory.java
  1. … 1410 more files in changeset.
ISIS-1848: ensures that FreeStandingList does not incorrectly return java.lang.Object's specId, and adds new metamodel validator to detect this situation in future.

    • -0
    • +31
    ./ObjectSpecIdFacetOnStandaloneList.java
  1. … 10 more files in changeset.
ISIS-1689: ObjectSpecIdFacetDerivedFromClassName is now a derived facet so will not clobber object spec id facet from JDO PersistenceCapable#schema

    • -1
    • +1
    ./ObjectSpecIdFacetDerivedFromClassName.java
  1. … 1 more file in changeset.
ISIS-1587: makes the check to filter ObjectSpecifications (for 'explicitObjectTypes') public so can be used elsewhere.

    • -39
    • +40
    ./ObjectSpecIdFacetDerivedFromClassNameFactory.java
ISIS-1587: for 'explicitObjectTypes' exclude mixins and contributed services. Also JAXB DTO view models.

    • -10
    • +18
    ./ObjectSpecIdFacetDerivedFromClassNameFactory.java
ISIS-1587: excludes JAXB DTO view models from objectType checking.

These are often code-generated from XSD schemas.

    • -0
    • +7
    ./ObjectSpecIdFacetDerivedFromClassNameFactory.java
ISIS-1587: extends explicitObjectType checking to take in view models.

Updated 3 view models defined by framework itself so as not to trigger validation error

    • -0
    • +6
    ./ObjectSpecIdFacetDerivedFromClassNameFactory.java
  1. … 8 more files in changeset.
ISIS-1582: generalizes checking for unique objectTypes to be unique across entities and domain services.

    • -0
    • +3
    ./ObjectSpecIdFacetDerivedFromClassName.java
    • -11
    • +49
    ./ObjectSpecIdFacetDerivedFromClassNameFactory.java
    • -2
    • +3
    ./ObjectSpecIdFacetDerivedFromDomainServiceAnnotationElseGetId.java
  1. … 11 more files in changeset.
ISIS-1586: adds @DomainService(objectType) and rationalizes w.r.t getId()

Also updates to documentation, to make clear what the precedence is for objectType (for both domain objects and domain services).

    • -1
    • +17
    ./ObjectSpecIdFacetDerivedFromClassNameFactory.java
    • -0
    • +32
    ./ObjectSpecIdFacetDerivedFromDomainServiceAnnotationElseGetId.java
  1. … 11 more files in changeset.
ISIS-1584: adds validator to prohibit contributed services (nature=VIEW or nature=VIEW_CONTRIBUTIONS_ONLY)

Disabled by default, can enable using a new configuration property.

Also:

- improved validation messages, indicating the config property that controls them

- changed existing mixins to use @Mixin(method="exec") so easier to read

- refactored the two contributed domain services (BookmarkHolder{Action/Association}Contributions) into mixins

- minor fix to simpleapp to remove its contributed domain service also (HomePageService).

    • -2
    • +2
    ./ObjectSpecIdFacetDerivedFromClassNameFactory.java
  1. … 15 more files in changeset.
ISIS-1583: already implemented, so this commit is just some tidy up ofcomments and trivial refactorig.

    • -2
    • +1
    ./ObjectSpecIdFacetDerivedFromClassNameFactory.java
  1. … 2 more files in changeset.
ISIS-1581: adds metamodel validator that ObjectSpecIdFacet is provided explicitly.

This is disabled by default, can be enabled using configuration property.

    • -1
    • +53
    ./ObjectSpecIdFacetDerivedFromClassNameFactory.java
  1. … 7 more files in changeset.
ISIS-939: pruning defunct uses of CollectionTypeRegistry and other subcomponents.

    • -1
    • +1
    ./ObjectSpecIdFacetDerivedFromClassNameFactory.java
  1. … 15 more files in changeset.
ISIS-939: simplified ClassSubstitutor and ObjectFactory.

    • -8
    • +2
    ./ObjectSpecIdFacetDerivedFromClassNameFactory.java
  1. … 35 more files in changeset.
ISIS-831: digression: moving progmodel/facets into metamodel/facets

... and getting names consistent.

    • -0
    • +30
    ./ObjectSpecIdFacetDerivedFromClassName.java
    • -0
    • +55
    ./ObjectSpecIdFacetDerivedFromClassNameFactory.java
  1. … 1823 more files in changeset.