Clone Tools
  • last updated a few minutes ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
ERRAI-1075: Create APT generator for errai-marshalling (#296)

* Create APT generator for NavigationGraphGenerator

* Start to move errai-marshalling configuration out of EnvUtil clas

* Fixed exposed and nonExposed portable types

* Inline methods and add comment

* Fix NullPointerException

* Move Marshalling configuration out of EnvUtil

* Create MarshallersAptGenerator (not working)

* Prepare MarshallersGenerator to run in APT environment too

* Make errai-marshalling use completely interchangeable ErraiConfiguration implementations

* Fix ClassScanner parameters to use reflections while searching @Portable types

* Make MetaClassFinder available for DefinitionsFactoryImpl

* Add @MappingAlias annotation to ErraiConfiguration

* Make MarshallerAptGenerator work, but with errors

* Scan @ServerMarshallers with MetaClassFinder

* Fix tests and improve GWT environment MetaClassFinder

* Improve MarshallerAptGenerator. References not yet resolved in MarshallerFactoryImpl

* Make ErraiMarshalling.gwt.xml use APT generators and skip creation of abstract classes in generated marshallers

* MarshallerAptGenerator working with both GWT and APT generators

* MarshallerAptGenerator working and generating every Marshaller

* Fix logging in errai-demos

* Fix X marshaller not found (generics)

* Little refactors

* Remove static initialization of ErraiAppPropertiesConfiguration in MarshallingConfiguration

* Remove QualifyingMetaDataFactory property

* Remove unsafe call from errai-ioc decorators logic

* Add PageRequest in ErraiMarshallingModule's configuration

* Rollback parameter type to erased

* Revert "Remove unsafe call from errai-ioc decorators logic"

This reverts commit b496229be2f7ecaa50e9ea4c5951035772d10487.

* Fix issue with generic field/parameters. Add time logs to files generation in APT environment.

* Remove @Portable annotation added by mistake

* Remove unsafeIsAnnotationPresent from HasAnnotations

* Remove unsafe methods from HasAnnotations

* Remove AbstractHasAnnotations class

* Refactor configuration files

* Add tests to new properties in @ErraiApp

* Update comments

* PR final pass

* Remove even more unsafe calls from HasAnnotations implementation

* Removed annotation caches and unnecessary methods from subclasses of HasAnnotations

  1. … 157 more files in changeset.
Rename classes and add clarifying comment

  1. … 14 more files in changeset.
Create APT generators for errai-ioc module

    • -11
    • +26
    ./api/DependencyGraphBuilder.java
    • -20
    • +23
    ./impl/DefaultQualifierFactory.java
    • -4
    • +5
    ./impl/DependencyGraphBuilderImpl.java
  1. … 248 more files in changeset.
Add Errai APT Generators mechanism

    • -26
    • +24
    ./impl/DependencyGraphBuilderImpl.java
  1. … 268 more files in changeset.
ERRAI-1018: Support for javax.enterprise.inject.Typed

* Rework implementation of injectables matching sites of the exact type.

Now uses a predicate on the path of references used to resolve a dependency

in order to determine if a resolved candidate satisfies an injection site.

* Use path predicate to support @Typed for resolution of dependencies at

compile time.

* When @Typed is present, only use types in @Type for assignable types.

This allows beans to only be looked up dynamically by types in @Typed.

    • -1
    • +2
    ./impl/DefaultCustomFactoryInjectable.java
    • -53
    • +90
    ./impl/DependencyGraphBuilderImpl.java
  1. … 22 more files in changeset.
Make toString for injectables and references better. Delete InjectableType.Reference.

Temporarily revert ERRAI-1018 commit because of downstream project issues.

This reverts commit a35e7f90a7d23ce5595da188f55d1c954c14c8c6.

    • -2
    • +1
    ./impl/DefaultCustomFactoryInjectable.java
    • -51
    • +53
    ./impl/DependencyGraphBuilderImpl.java
  1. … 18 more files in changeset.
ERRAI-1018: Support for javax.enterprise.inject.Typed

* Rework the mechanism for having injectables satisfy only injection

sites. Now each injectable supplies a predicate that evaluates the

path used to resolve itself for a given site. The predicate can veto

a path so that the injectable is not resolved for that site.

* Use new path predicate mechanism to support @Typed. Beans with

@Typed have a predicate that only returns true if the injection

site is one of the types declared in the @Typed annotation.

    • -1
    • +2
    ./impl/DefaultCustomFactoryInjectable.java
    • -53
    • +51
    ./impl/DependencyGraphBuilderImpl.java
  1. … 18 more files in changeset.
Reduce code size of IOC factories by removing 'addQualifier' invocations.

    • -4
    • +14
    ./impl/DefaultQualifierFactory.java
  1. … 4 more files in changeset.
Cleanup and fixes based on FindBugs analysis

  1. … 35 more files in changeset.
Generate factory for types from ContextualTypeProviders.

  1. … 17 more files in changeset.
Minor javadoc fix + add GWT script folder to gitignore.

  1. … 3 more files in changeset.
ERRAI-950: Errai Templated ClientBundle names too long

  1. … 2 more files in changeset.
Test IOC extension sees correct values of nonbinding qualifier properties.

    • -0
    • +7
    ./impl/DefaultCustomFactoryInjectable.java
  1. … 5 more files in changeset.
Add low-level logging to the dependency graph builder.

    • -4
    • +41
    ./impl/DependencyGraphBuilderImpl.java
  1. … 1 more file in changeset.
Fix IOC generation infinite loop when a parameterized type is injected with and without type arguments.

    • -1
    • +1
    ./impl/DependencyGraphBuilderImpl.java
  1. … 6 more files in changeset.
Add wiring type for pseudo-scopes, validate lack of pseudo-scope cycles (with tests).

This commit changes @EntryPoint and @Singleton to pseudo-scopes, meaning

they are not proxied and cannot be in a cycle that does not contain a

normal-scoped bean.

    • -1
    • +2
    ./impl/DependencyGraphBuilderImpl.java
  1. … 19 more files in changeset.
Support dynamic serialization of qualifiers on the server and introduce minor changes to CDIAnnotationUtil (description below).

* Create DynamicEventQualifierSerializer that uses reflection to access qualifier properties.

* Use the DynamicEventQualifierSerializer if CDIExtensionPoints can't load or generate a static impl.

* Fix the package name of CDIAnnotationUtils (still had ioc in it but it is now in codegen).

* Support getting qualifier properties with reflection as well as codegen API (in CDIAnnotationUtils).

  1. … 9 more files in changeset.
Add aggressive reachability analysis for dynamic runtime modules.

When the errai.ioc.reachability system property is set to "Aggressive"

only @EntryPoints and @JsTypes will be bootstrapped in the IoC.

    • -4
    • +20
    ./impl/DependencyGraphBuilderImpl.java
  1. … 1 more file in changeset.
Rename External to Shared and WindowScope to SharedSingleton, +javadoc

  1. … 11 more files in changeset.
Support sharing a single instance of a JsType defined in two scripts via new window scope.

  1. … 15 more files in changeset.
Refactor DependencyGraphBuilder (descriptions below).

* Change AbstractInjectable to InjectableReference.

* Make InjectableReference not an instance of Injectable.

* Move inner types of DependencyGraphBuilderImpl to their own files.

* Move many methods out of DependencyGraphBuilderImpl into utility

class to reduce class size.

    • -0
    • +43
    ./api/HasInjectableHandle.java
    • -0
    • +38
    ./impl/AsyncValidator.java
    • -0
    • +101
    ./impl/CycleValidator.java
    • -1
    • +1
    ./impl/DefaultCustomFactoryInjectable.java
    • -513
    • +177
    ./impl/DependencyGraphBuilderImpl.java
    • -0
    • +54
    ./impl/DependencyGraphImpl.java
    • -1
    • +7
    ./impl/DisposerMethodDependencyImpl.java
    • -0
    • +220
    ./impl/GraphUtil.java
  1. … 8 more files in changeset.
Mention matching disabled alternatives in hint when a dependency is unsatisfied.

    • -23
    • +86
    ./impl/DependencyGraphBuilderImpl.java
  1. … 11 more files in changeset.
Satisfy @JsType injection points with local implementations first.

    • -0
    • +2
    ./impl/DependencyGraphBuilderImpl.java
  1. … 3 more files in changeset.
Fix for JavaReflectionClass.getSuperClass caching bug and add logging.

* Add debug/trace logging to MetaClassCache.

* Add more specific error reporting in DependencyGraphBuilderImpl

* Allow null Context in BuildMetaClass. This makes non-code-generating

methods safe for use between threads, fixing a JavaReflectionClass

caching bug.

    • -1
    • +5
    ./impl/DependencyGraphBuilderImpl.java
  1. … 3 more files in changeset.
Allow reuse of extension provided injectables (description below).

Now injectable providers can reuse a single injectable for multiple

injection sites. This allows the WidgetIOCExtension to generate at

most one factory per Widget type, rather than one factory per

injection site.

    • -0
    • +30
    ./api/CustomFactoryInjectable.java
    • -0
    • +109
    ./api/InjectionSite.java
    • -0
    • +48
    ./impl/DefaultCustomFactoryInjectable.java
    • -55
    • +68
    ./impl/DependencyGraphBuilderImpl.java
  1. … 7 more files in changeset.
Add missing license headers and update copyright notice in existing headers.

    • -2
    • +2
    ./impl/DependencyGraphBuilderImpl.java
    • -3
    • +3
    ./impl/DisposerMethodDependencyImpl.java
  1. … 3042 more files in changeset.
Revert "Remove old JBoss and Red Hat license headers. Add new "Red Hat and affiliates" header."

Changes from the reverted commit did not preserve original copyright dates.

This reverts commit d8e735dfe2f6ed25fe9e06b753ae2f6154d76b02.

    • -3
    • +3
    ./impl/DependencyGraphBuilderImpl.java
    • -4
    • +4
    ./impl/DisposerMethodDependencyImpl.java
  1. … 3068 more files in changeset.
Remove old JBoss and Red Hat license headers. Add new "Red Hat and affiliates" header.

    • -3
    • +3
    ./impl/DependencyGraphBuilderImpl.java
    • -4
    • +4
    ./impl/DisposerMethodDependencyImpl.java
  1. … 3150 more files in changeset.
Fix static producer/disposer method bugs with uninstantiable types and support producers for JsTypes.

Fixed bug where producers and disposers required a producer instance even

if the methods/fields were static.

    • -0
    • +17
    ./impl/DependencyGraphBuilderImpl.java
  1. … 17 more files in changeset.