Clone Tools
  • last updated a few minutes ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
ISIS-2158: non-invasive preparations for ISIS-1998

adding tests first (test driven development) before actually modifying

the programming model ...

1. facet processing tests

2. smoketests to test whether the generated meta-model is as expected

  1. … 24 more files in changeset.
ISIS-2158: fixes NamedFacet picking up on empty 'named' attribute

  1. … 3 more files in changeset.
ISIS-2158: fixes the annotation syntesizer (proxy generator)

- did fail when a method had multiple annotations sharing the same

attribute

  1. … 9 more files in changeset.
ISIS-2158: annotation scanning: minor performance tweaks

- also adding caches, but these are all disabled for now

- we'll need a large sample domain to actually measure performance

  1. … 12 more files in changeset.
ISIS-2158: have IsisSystemEnvironment cleanup Isis' _Context

- also tries to ensure, there can be only one IsisSystemEnvironment

instance at any time

- moving IsisSystemEnvironment one up in package hierarchy

- we hook into the Spring context's life-cycle and call _Context.clear()

when Spring is about to start the @PostConstuct phase

- also fixes a concurrent testing issue

  1. … 32 more files in changeset.
ISIS-2158: let have the ServiceInjector use the same injection point resolving logic (ordering) as Spring does

- @Primary is used prior to others regardless of @Order

ServiceInjector provides backward-compatibility, but maybe we are able

to remove it entirely later.

  1. … 12 more files in changeset.
ISIS-2158: more workarounds to fix running a batch of smoketests

  1. … 1 more file in changeset.
ISIS-2158: removes the IsisSystemEnvironmentProvider

- this indirection is not required

  1. … 3 more files in changeset.
ISIS-2158: move JdoPersistenceLifecycleService -> jdo-common

- fixes smoketests with headless config

  1. … 3 more files in changeset.
ISIS-2158: smoketests to have their individual in-mem connections

- adds new 'IsisPresets.H2InMemory_withUniqueSchema'

- also converts DN plugin to use new config bean 'DataNucleusSettings'

However, there might be a random number collision when generating unique

schema names, though highly unlikely. Unfortunately using a UUID as

schema name does not seem to work, its too long (has too many

characters).

  1. … 5 more files in changeset.
ISIS-2158: config-beans: adding test case for 'ConnectionURL'

  1. … 3 more files in changeset.
ISIS-2158: MethodRemover: using Set<Method> instead of List<Method>

- should(!?) perform better on classes with lots of methods

- also solving concurrent modification issues when stress testing

spec-loading

  1. … 5 more files in changeset.
ISIS-2158: refine MethodRemover interface

- less List instances required during spec-loading

- also makes the FacetHolderImpl thread-safe, which is required for

concurrent spec-loading

  1. … 11 more files in changeset.
ISIS-2158: performance regression?

  1. … 12 more files in changeset.
ISIS-2158: spec-loading: minor tweaks

- profiling data shows, that basically most of the time is spent doing

reflective stuff like finding annotations including meta-annotations

Instead of writing or own reflection tools (with caching), we could

utilize those that Spring already provides.

  1. … 7 more files in changeset.
ISIS-2158: spec-loading: simplify spec-cache

  1. … 4 more files in changeset.
ISIS-2158: spec-loading: some refinement and polishing

  1. … 17 more files in changeset.
ISIS-2158: attempt to simplify some of the spec-loading code

  1. … 8 more files in changeset.
ISIS-2158: fixes all core tests; maven core standard build works

  1. … 3 more files in changeset.
ISIS-2158: fixing build issues after merge

  1. … 2 more files in changeset.
ISIS-2158: wrapper: extend async programming model to also match method references that don't return a value (like Runnable)

- BackgroundService seems now obsolete, need to check whether it can be

removed

  1. … 7 more files in changeset.
ISIS-2158: wrapper: redesigns recently introduced async execution

- new programming model allows to get hold of the Future that is

associated with the async action invocation

- type-safe async action invocation supports up to 4 arguments

(extensible)

- users are free to pick an ExecutorService for each individual async

execution, we default to the common ForkJoinPool

- handling of exceptions that occur during async invocation is not yet

well designed (API) or tested

  1. … 6 more files in changeset.
ISIS-2158: minor: java-doc copy & paste error, missing header

    • -2
    • +2
    ./apache/isis/testdomain/Smoketest.java
ISIS-2086: refactors a bunch of isis.reflector.facet.XxxAnnotation.YyyEvent.postForDefault properties to type-safe config

  1. … 15 more files in changeset.
ISIS-2158: class discovery: removes the need for a custom scan-filter

- @Singleton is no longer discovered!

- use @Service or @DomainService instead

- the IsisBeanScanInterceptorForSpring is now a NoOp, waiting to be

removed

- IsisBoot installs the IsisBeanFactoryPostProcessorForSpring which is

the replacement for the filter above

  1. … 89 more files in changeset.
ISIS-2086: disable class-path scanning for the 'config' module

- also removes the @Configuration annotation from 'IsisConfiguration'

which is just a bean

- instead annotate 'IsisConfigModule' with @Configuration

also fixes the sample apps and smoketests that got broken with one of

the previous config related commits today

  1. … 5 more files in changeset.
ISIS-2086: adds and fixes smoketest for loading IsisConfiguration

- includes simplifications on how we might want to use lombok here

    • -0
    • +13
    ./apache/isis/testdomain/config/FooProperties.java
    • -0
    • +58
    ./apache/isis/testdomain/config/FooTest.java
    • -0
    • +54
    ./apache/isis/testdomain/config/IsisConfigBeanTest.java
  1. … 3 more files in changeset.
ISIS-2158: fixes several bugs introduced with previous commit

  1. … 5 more files in changeset.
ISIS-2158: internal API: add shortcuts for trimmed string splitting

- also resurrecting smoketest 'SpringServiceProvisioningTest'

  1. … 7 more files in changeset.
ISIS-2158: annotate incubating smoketests and provide reasons

- such as @Incubating("does not work with surefire")

    • -2
    • +8
    ./apache/isis/testdomain/Incubating.java