Clone Tools
  • last updated 26 mins ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Merge remote-tracking branch 'origin/master' into v2

    • -0
    • +149
    ./integtests/mml/MetaModelService_IntegTest.java
  1. … 143 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()

-

    • -0
    • +304
    ./integtests/mml/approved/domainapp.application.fixture.scenarios.DomainAppDemo.xml
    • -24
    • +0
    ./integtests/mml/approved/domainapp.application.services.homepage.HomePageViewModel.xml
    • -36
    • +0
    ./integtests/mml/approved/domainapp.modules.simple.dom.impl.SimpleObject.xml
    • -2
    • +1
    ./integtests/mml/approved/domainapp.modules.simple.dom.impl.SimpleObjects.xml
  1. … 34 more files in changeset.
ISIS-2003: minor update to approvals for SimpleObjects

    • -1
    • +0
    ./integtests/mml/approved/domainapp.modules.simple.dom.impl.SimpleObjects.xml
ISIS-2003: uses folders instead of filenames for received vs approved

    • -3
    • +26
    ./integtests/mml/MetaModelService_IntegTest.java
    • -50
    • +0
    ./integtests/mml/_domainapp.application.fixture.DomainAppFixtureScriptsSpecificationProvider.approved.xml
    • -49
    • +0
    ./integtests/mml/_domainapp.application.services.homepage.HomePageService.approved.xml
    • -412
    • +0
    ./integtests/mml/_domainapp.application.services.homepage.HomePageViewModel.approved.xml
    • -1075
    • +0
    ./integtests/mml/_domainapp.modules.simple.dom.impl.SimpleObject.approved.xml
    • -330
    • +0
    ./integtests/mml/_domainapp.modules.simple.dom.impl.SimpleObjects.approved.xml
    • -2
    • +0
    ./integtests/mml/_java.lang.Long.approved.xml
    • -2
    • +0
    ./integtests/mml/_java.lang.Object.approved.xml
    • -2
    • +0
    ./integtests/mml/_java.lang.String.approved.xml
    • -2
    • +0
    ./integtests/mml/_java.net.URL.approved.xml
    • -2
    • +0
    ./integtests/mml/_java.sql.Timestamp.approved.xml
    • -2
    • +0
    ./integtests/mml/_java.util.List.approved.xml
    • -2
    • +0
    ./integtests/mml/_org.apache.isis.applib.services.layout.LayoutService$Style.approved.xml
    • -2
    • +0
    ./integtests/mml/_org.apache.isis.applib.value.Clob.approved.xml
  1. … 16 more files in changeset.
ISIS-2003: breaks out approvals into separate files

    • -0
    • +1
    ./integtests/mml/.gitignore
    • -0
    • +126
    ./integtests/mml/MetaModelService_IntegTest.java
    • -0
    • +50
    ./integtests/mml/_domainapp.application.fixture.DomainAppFixtureScriptsSpecificationProvider.approved.xml
    • -0
    • +49
    ./integtests/mml/_domainapp.application.services.homepage.HomePageService.approved.xml
    • -0
    • +412
    ./integtests/mml/_domainapp.application.services.homepage.HomePageViewModel.approved.xml
    • -0
    • +1075
    ./integtests/mml/_domainapp.modules.simple.dom.impl.SimpleObject.approved.xml
    • -0
    • +330
    ./integtests/mml/_domainapp.modules.simple.dom.impl.SimpleObjects.approved.xml
    • -0
    • +2
    ./integtests/mml/_java.lang.Long.approved.xml
    • -0
    • +2
    ./integtests/mml/_java.lang.Object.approved.xml
    • -0
    • +2
    ./integtests/mml/_java.lang.String.approved.xml
    • -0
    • +2
    ./integtests/mml/_java.net.URL.approved.xml
    • -0
    • +2
    ./integtests/mml/_java.sql.Timestamp.approved.xml
    • -0
    • +2
    ./integtests/mml/_java.util.List.approved.xml
    • -0
    • +2
    ./integtests/mml/_org.apache.isis.applib.services.layout.LayoutService$Style.approved.xml
    • -0
    • +2
    ./integtests/mml/_org.apache.isis.applib.value.Clob.approved.xml
  1. … 8 more files in changeset.
ISIS-2003: updates approvals

    • -2
    • +0
    ./integtests/tests/mml/MetaModelService_IntegTest.exports.approved.xml
ISIS-2003: adds more control in serialization of metamodel

    • -44628
    • +245
    ./integtests/tests/mml/MetaModelService_IntegTest.exports.approved.xml
  1. … 8 more files in changeset.
ISIS-2003: fine-tuning

    • -0
    • +1
    ./integtests/tests/mml/.gitignore
    • -12639
    • +0
    ./integtests/tests/mml/MetaModelService_IntegTest.exports.approved.txt
    • -0
    • +47128
    ./integtests/tests/mml/MetaModelService_IntegTest.exports.approved.xml
    • -12639
    • +0
    ./integtests/tests/mml/MetaModelService_IntegTest.exports.received.txt
  1. … 6 more files in changeset.
ISIS-2003: fixes some compile issues, fine-tuning names

    • -2842
    • +11323
    ./integtests/tests/mml/MetaModelService_IntegTest.exports.approved.txt
    • -2842
    • +11323
    ./integtests/tests/mml/MetaModelService_IntegTest.exports.received.txt
  1. … 5 more files in changeset.
adds FacetWithAttributes interface

makes existing facets implement

    • -11037
    • +2847
    ./integtests/tests/mml/MetaModelService_IntegTest.exports.approved.txt
    • -11037
    • +2847
    ./integtests/tests/mml/MetaModelService_IntegTest.exports.received.txt
  1. … 159 more files in changeset.
ISIS-2003: first cut, specs and facet/attributes

    • -0
    • +12348
    ./integtests/tests/mml/MetaModelService_IntegTest.exports.approved.txt
    • -0
    • +12348
    ./integtests/tests/mml/MetaModelService_IntegTest.exports.received.txt
    • -0
    • +62
    ./integtests/tests/mml/MetaModelService_IntegTest.java
    • -0
    • +96
    ./integtests/tests/smoke/Smoke_IntegTest.java
  1. … 8 more files in changeset.
ISIS-1954: adds BootstrappingGlueAbstract for BDD tests on Junit 5

calls ModuleBuilder to set up additional services.

Also removed the Util class that was acting as a wrapper for ModuleBuilder and also TransactionRule support.

    • -0
    • +32
    ./bdd/specglue/BootstrappingGlueAbstract.java
  1. … 8 more files in changeset.
ISIS-1820: fixes BDD tests in simpleapp example application

    • -2
    • +14
    ./bdd/specglue/BootstrappingGlue.java
  1. … 5 more files in changeset.
ISIS-1791 and ISIS-1794: refactorings of ClockFixture and TickingClockFixture.

Also documentation of this and persona builder scripts

  1. … 22 more files in changeset.
ISIS-1794: cleans up BDD classes (deprecating old stuff), and updates docs

    • -11
    • +3
    ./bdd/specglue/CatalogOfFixturesGlue.java
    • -0
    • +43
    ./bdd/specs/RunBddSpecs.java
  1. … 17 more files in changeset.
ISIS-1782: refactors/simplifies ModuleAbstract and AppManifest2, factors out ModuleOrBuilderAbstract as non-API internal class

Also:

- renames new adapter classes to HeadlessAbstract, HeadlessWithBootstrappingAbstact, and moves to runtime.

- updates docs

    • -14
    • +2
    ./bdd/specglue/BootstrappingGlue.java
    • -2
    • +2
    ./bdd/specglue/CatalogOfFixturesGlue.java
  1. … 40 more files in changeset.
ISIS-1794: simplifies and unifies the bootstrapping for BDD and integ tests.

Also:

- for IsisSystem, remove all the listener stuff

- deprecates ScenarioExecution

- fixes up/simplifies the simpleapp bdd features

    • -1
    • +15
    ./bdd/specglue/BootstrappingGlue.java
    • -3
    • +3
    ./bdd/specglue/CatalogOfFixturesGlue.java
    • -1
    • +0
    ./bdd/specs/SimpleObjectSpec_listAllAndCreate.feature
  1. … 10 more files in changeset.
isis-1782: (WIP) factors out IsisSystemBootstrapper, and IsisSystem (from IsisSystemForTest)

... with idea being that this can be reused by BDD glue also.

    • -28
    • +3
    ./bdd/specglue/BootstrappingGlue.java
    • -0
    • +60
    ./bdd/specglue/BootstrappingGlueAbstract.java
  1. … 9 more files in changeset.
ISIS-1794: reworks BDD bootstrapping to support dependency injection

... to use new integrationTest3, and have a consistent programming model for the glue, similar to integration tests.

Currently this is just in the example simpleapp, need to generalize and refactor.

    • -2
    • +15
    ./bdd/specglue/BootstrappingGlue.java
    • -1
    • +7
    ./bdd/specglue/CatalogOfFixturesGlue.java
    • -2
    • +2
    ./bdd/specs/SimpleObjectSpec_listAllAndCreate.feature
    • -8
    • +5
    ./integtests/DomainAppIntegTestAbstract.java
  1. … 20 more files in changeset.
ISIS-1686: simpleapp archetype now uses new AppManifestAbstract etc.

also renames the Builder's withModules to forModules, to avoid possible confusion with the withAdditionalModules method

    • -30
    • +3
    ./integtests/DomainAppIntegTestAbstract.java
  1. … 9 more files in changeset.
ISIS-1559: removes the mixins from SimpleObject, and simplifies code elsewhere also where possible.

Also moves the specglue from the application module to the module-simple module.

    • -3
    • +3
    ./bdd/specglue/CatalogOfFixturesGlue.java
    • -50
    • +0
    ./bdd/specglue/SimpleObjectGlue.java
    • -1
    • +1
    ./bdd/specs/SimpleObjectSpec_listAllAndCreate.feature
  1. … 19 more files in changeset.
ISIS-1559: removes the mixins from SimpleObject, and simplifies code elsewhere also where possible.

Also moves the specglue from the application module to the module-simple module.

    • -3
    • +3
    ./bdd/specglue/CatalogOfFixturesGlue.java
    • -50
    • +0
    ./bdd/specglue/SimpleObjectGlue.java
    • -1
    • +1
    ./bdd/specs/SimpleObjectSpec_listAllAndCreate.feature
  1. … 19 more files in changeset.
ISIS-1548: extends @Mixin and @DomainObject to accept (mixin)method() attribute; updates facets; updates algorithm for inferring mixin name/id based on when the name of the method being processed matches this attribute (rather than hard-coded "$$" as previously).

Also, supports using "$" (as well as "_") as the separator for MixinType_mixinName (ie for nested static classes).

Most of the stuff in ObjectMemberAbstract, plus the three Mixin classes, ObjectActionMixedIn, OneToOneAssociationMixedIn, OneToManyAssociationMixedIn.

  1. … 19 more files in changeset.
ISIS-1538: reworks simpleapp into more modular structure; now uses mavenmixin's.

Backported from master (1.14.0 development)

    • -0
    • +41
    ./bdd/specglue/BootstrappingGlue.java
    • -0
    • +31
    ./bdd/specglue/CatalogOfFixturesGlue.java
    • -0
    • +50
    ./bdd/specglue/SimpleObjectGlue.java
    • -0
    • +39
    ./bdd/specs/RunIntegBddSpecs.java
    • -0
    • +26
    ./bdd/specs/SimpleObjectSpec_listAllAndCreate.feature
    • -0
    • +61
    ./integtests/DomainAppIntegTestAbstract.java
    • -0
    • +110
    ./integtests/Smoke_IntegTest.java
  1. … 117 more files in changeset.