Clone Tools
  • last updated a few minutes ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
ERRAI-590, ERRAI-850, ERRAI-851: Implement new IOC container (more description below).

The new container uses code genererated in multiple files instead

of a single monolithic file. At compile time an implementation of

org.jboss.errai.ioc.client.container.Factory is generated for each bean.

The factory is responsible for requesting dependencies from other

factories to wire the bean, running code generated by decorators,

and cleaning up when the bean is destroyed.

The GWT.create calls for the factories are generated in the

BootstrapperImpl. The BootstrapperImpl now only registers

factories with their respective contexts.

This container has the following differences from behaviour

in the 3.x version of errai-ioc:

* Normal scoped beans must be proxiable.

* The @New qualifier is not supported.

* Normal scoped beans (except @Entrypoint or with @Startup) are lazily instatiated.

* @Alternative beans must be explicitly enabled (even if no other beans match).

* Resolution of types behaves like CDI. Some cases that worked in 3.x may now be ambiguous.

** Injecting a common supertype of multiple concrete classes is ambiguous.

* Different API for programmtically adding beans to bean manager.

    • -34
    • +0
    ./JSR330QualifyingMetadataFactory.java
  1. … 378 more files in changeset.
Fix for ERRAI-340

The qualifier matcher, as well as the behaviour of implicit qualifiers

@Any and @Default, now works as described in the CDI specification.

  1. … 23 more files in changeset.
Improved fix for ERRAI-597: IOC fails for inherited @Templated beans that are not marked as @Dependent

  1. … 2 more files in changeset.
add more documentation to IOC

  1. … 11 more files in changeset.
- @Specialization fully implemented - Added facility to bean manager to understand the difference between concrete and non-concrete beans so proper resolution can be performed. - Additional unit tests added for aforementioned

  1. … 16 more files in changeset.
- some progress on getting producer injectors to register as regular beans (only singleton scopes working properly)

  1. … 64 more files in changeset.
- move the javax.enterprise support package to be a top-level module so both errai-ioc and errai-cdi can depend on it. - add support for @Specializes in errai-cdi. - cleanup the way that event qualification is handled to make it more clear and consistent. - introduce the @Default qualifier to be consistent with server-side CDI.

  1. … 68 more files in changeset.
Fix to IOC container: now more discerning about when to use proxies with dependent scoped beans.

  1. … 9 more files in changeset.
Make annotation matching honor @Nonbinding for attributes. Also, no longer generate unnecessary proxies for interface-based lookups.

  1. … 6 more files in changeset.
refactoring: removed framework from root package name in codegen

  1. … 620 more files in changeset.
add support for List, Set, Map literal encoding.

  1. … 39 more files in changeset.
refactor IOC SPIs to support easier extension and configuration

  1. … 20 more files in changeset.
major refactoring of Errai IOC -- also, achieved 100% code coverage of the core TypeInjector and ProxyInjector classes. Yay!

    • -6
    • +1
    ./JSR330QualifyingMetadataFactory.java
  1. … 87 more files in changeset.