Clone Tools
  • last updated a few minutes ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Load async types with only sync dependencies.

  1. … 28 more files in changeset.
Support CDI events across dynamic modules

    • -2
    • +27
    ./jboss/errai/enterprise/client/cdi/api/CDI.java
  1. … 4 more files in changeset.
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.

  1. … 380 more files in changeset.
Remove java 8 incompatible generic signatures

Implemented isUnsatisfied and isAmbiguous for Instance<T>

  1. … 3 more files in changeset.
Fixed ERRAI-781: deleted outdated eager observer registration logic

Conflicts:

errai-cdi/weld-integration/src/main/java/org/jboss/errai/cdi/server/CDIExtensionPoints.java

  1. … 3 more files in changeset.
Fixed ERRAI-781: deleted outdated eager observer registration logic

  1. … 3 more files in changeset.
Moved all test base classes to src/test/java

- This makes sure applications can compile in strict

mode without inheriting the JUnit GWT module

- To use our test base classes for application tests

the corresponding test-jar has to be included i.e.

<dependency>

<groupId>org.jboss.errai</groupId>

<artifactId>errai-cdi-client</artifactId>

<type>test-jar</type>

<scope>test</scope>

</dependency>

Conflicts:

errai-bom/pom.xml

errai-cdi/weld-integration/pom.xml

errai-ioc/pom.xml

  1. … 35 more files in changeset.
Moved all test base classes to src/test/java

- This makes sure applications can compile in strict

mode without inheriting the JUnit GWT module

- To use our test base classes for application tests

the corresponding test-jar has to be included i.e.

<dependency>

<groupId>org.jboss.errai</groupId>

<artifactId>errai-cdi-client</artifactId>

<type>test-jar</type>

<scope>test</scope>

</dependency>

  1. … 35 more files in changeset.
Refactoring: clarifying comment in AbstractCDIEventCallback

Resolve ERRAI-766: add destroy method to client-side Instance implementation.

  1. … 1 more file in changeset.
Fix select method in client-side Instance implementation.

Fix select method in client-side Instance implementation.

Make sure test failures in asyncTest don't get swallowed

Use one-time init callback in AbstractErraiCDITest.asyncTest (fixes test failures in errai-cdi-async-tests).

Performance improvement for IOC generation (faster method param scanning)

- Scanning only methods in reloadable classes manually, relying on reflections for the rest

  1. … 4 more files in changeset.
Fixed ERRAI-679: Observing java.lang.Object leads to code overload in BootsrapperImpl

  1. … 1 more file in changeset.
Fixed event advertising tests

- Now tearing down and stopping the fake bus instance

- Depending on the executing order, our event advertising tests caused failures in other CDI tests. The reason was that CDIClientBoostrap held on to static references of errai bus.

  1. … 1 more file in changeset.
Fixed bug that caused intermittent failures in EventObserverIntegrationTest

The problem was that we relied on a runtime check (canMarshall) to decided whether or not to advertise a CDI event type to the server. However, this check will always fail for abstract types as canMarshall will return false. So whenever the bus reconnected we failed to advertise observable interfaces and abstract types to the server. Since we already collect all local-only event types on startup this check can now be removed.

    • -17
    • +8
    ./jboss/errai/enterprise/client/cdi/api/CDI.java
  1. … 1 more file in changeset.
Perf. improvement for IOC bootstrapper generation

Only consider reloadable types when scanning for subtypes in the metaclass cache. Non-reloadable types (types in JARs that can't change in devmode) can be scanned using reflections which is significantly faster because the data is already cached.

  1. … 5 more files in changeset.
Replace framework calls from LogUtil to gwt-slf4j.

    • -3
    • +6
    ./jboss/errai/enterprise/client/cdi/api/CDI.java
  1. … 19 more files in changeset.
Don't attempt to send RemoteSubscribe if bus is disconnected.

Doing so was causing RemoteSubscribes to be issued twice at startup.

    • -2
    • +14
    ./jboss/errai/enterprise/client/cdi/api/CDI.java
Follow-up for ERRAI-649

Had previously overlooked CDI#resendSubscriptionRequestForAllEventTypes

which remotely registers all event beans.

I have added a set which tracks local event bean types so that they are

not registered when that method is called.

    • -22
    • +34
    ./jboss/errai/enterprise/client/cdi/api/CDI.java
ERRAI-649: @LocalEvent prevents remote subscription @Portable typed events.

  1. … 2 more files in changeset.
Fixed ERRAI-646: Destroying beans that have observers no longer causes unconditional CDI remote unsubscribe messages

We now first check if other matching local observers are present before unsubscribing from remote events of that type and qualifiers.

    • -14
    • +15
    ./jboss/errai/enterprise/client/cdi/api/CDI.java
  1. … 2 more files in changeset.
Fixed ERRAI-632: ConcurrentModificationException during client-side CDI event dispatch

    • -1
    • +1
    ./jboss/errai/enterprise/client/cdi/api/CDI.java
  1. … 1 more file in changeset.
Fixed bug that caused client to request non-portable CDI events from server after a bus reconnect

    • -8
    • +12
    ./jboss/errai/enterprise/client/cdi/api/CDI.java
  1. … 1 more file in changeset.
Fixed ERRAI-592: CDI observers on client don't see server events after QueueSession or HttpSession is renewed

    • -9
    • +37
    ./jboss/errai/enterprise/client/cdi/api/CDI.java
  1. … 3 more files in changeset.
Ensured CDI subsystem is activated (and @AfterInitialization fires) even if weld-integration is not used on the server.

This is part of the fix to ERRAI-599.

Fixed ERRAI-599: Client side CDI module cannot be used without the server side weld integration module