[ 
https://issues.apache.org/jira/browse/ONAMI-97?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13598181#comment-13598181
 ] 

Hudson commented on ONAMI-97:
-----------------------------

Integrated in Onami-Scopes #9 (See 
[https://builds.apache.org/job/Onami-Scopes/9/])
    ONAMI-97
Major refactoring of Lifecycle module. Split into separate sub-modules. The 
previous implementation is moved
to org.apache.onami.lifecycle.standard. A new module, 
org.apache.onami.lifecycle.core, contains refactored
code that supports more generalized features such as ordered post injection 
annotations and staged container
style injections. org.apache.onami.lifecycle.standard is completely backward 
compatible (other than the new
package name). (Revision 1454749)

     Result = FAILURE
randgalt : 
Files : 
* /incubator/onami/trunk/lifecycle/core
* /incubator/onami/trunk/lifecycle/core/main
* /incubator/onami/trunk/lifecycle/core/main/java
* /incubator/onami/trunk/lifecycle/core/main/java/org
* /incubator/onami/trunk/lifecycle/core/main/java/org/apache
* /incubator/onami/trunk/lifecycle/core/main/java/org/apache/onami
* /incubator/onami/trunk/lifecycle/core/main/java/org/apache/onami/lifecycle
* 
/incubator/onami/trunk/lifecycle/core/main/java/org/apache/onami/lifecycle/core
* 
/incubator/onami/trunk/lifecycle/core/main/java/org/apache/onami/lifecycle/core/AbstractLifeCycleModule.java
* 
/incubator/onami/trunk/lifecycle/core/main/java/org/apache/onami/lifecycle/core/AbstractMethodTypeListener.java
* 
/incubator/onami/trunk/lifecycle/core/main/java/org/apache/onami/lifecycle/core/DefaultStageableFactory.java
* 
/incubator/onami/trunk/lifecycle/core/main/java/org/apache/onami/lifecycle/core/DefaultStager.java
* 
/incubator/onami/trunk/lifecycle/core/main/java/org/apache/onami/lifecycle/core/LifeCycleModule.java
* 
/incubator/onami/trunk/lifecycle/core/main/java/org/apache/onami/lifecycle/core/LifeCycleStageModule.java
* 
/incubator/onami/trunk/lifecycle/core/main/java/org/apache/onami/lifecycle/core/ListBuilder.java
* 
/incubator/onami/trunk/lifecycle/core/main/java/org/apache/onami/lifecycle/core/NoOpStageHandler.java
* 
/incubator/onami/trunk/lifecycle/core/main/java/org/apache/onami/lifecycle/core/StageHandler.java
* 
/incubator/onami/trunk/lifecycle/core/main/java/org/apache/onami/lifecycle/core/Stageable.java
* 
/incubator/onami/trunk/lifecycle/core/main/java/org/apache/onami/lifecycle/core/StageableFactory.java
* 
/incubator/onami/trunk/lifecycle/core/main/java/org/apache/onami/lifecycle/core/StageableMethod.java
* 
/incubator/onami/trunk/lifecycle/core/main/java/org/apache/onami/lifecycle/core/Stager.java
* /incubator/onami/trunk/lifecycle/core/pom.xml
* /incubator/onami/trunk/lifecycle/core/test
* /incubator/onami/trunk/lifecycle/core/test/java
* /incubator/onami/trunk/lifecycle/core/test/java/org
* /incubator/onami/trunk/lifecycle/core/test/java/org/apache
* /incubator/onami/trunk/lifecycle/core/test/java/org/apache/onami
* /incubator/onami/trunk/lifecycle/core/test/java/org/apache/onami/lifecycle
* 
/incubator/onami/trunk/lifecycle/core/test/java/org/apache/onami/lifecycle/core
* 
/incubator/onami/trunk/lifecycle/core/test/java/org/apache/onami/lifecycle/core/MultiLifeCycleObject.java
* 
/incubator/onami/trunk/lifecycle/core/test/java/org/apache/onami/lifecycle/core/MultiLifeCycleTestCase.java
* 
/incubator/onami/trunk/lifecycle/core/test/java/org/apache/onami/lifecycle/core/StageObject1.java
* 
/incubator/onami/trunk/lifecycle/core/test/java/org/apache/onami/lifecycle/core/StageObject2.java
* 
/incubator/onami/trunk/lifecycle/core/test/java/org/apache/onami/lifecycle/core/StagingOrderTestCase.java
* 
/incubator/onami/trunk/lifecycle/core/test/java/org/apache/onami/lifecycle/core/TestAnnotationA.java
* 
/incubator/onami/trunk/lifecycle/core/test/java/org/apache/onami/lifecycle/core/TestAnnotationB.java
* 
/incubator/onami/trunk/lifecycle/core/test/java/org/apache/onami/lifecycle/core/TestAnnotationC.java
* /incubator/onami/trunk/lifecycle/pom.xml
* 
/incubator/onami/trunk/lifecycle/src/main/java/org/apache/onami/lifecycle/AbstractLifeCycleModule.java
* 
/incubator/onami/trunk/lifecycle/src/main/java/org/apache/onami/lifecycle/AbstractMethodTypeListener.java
* 
/incubator/onami/trunk/lifecycle/src/main/java/org/apache/onami/lifecycle/AfterInjection.java
* 
/incubator/onami/trunk/lifecycle/src/main/java/org/apache/onami/lifecycle/AfterInjectionModule.java
* 
/incubator/onami/trunk/lifecycle/src/main/java/org/apache/onami/lifecycle/DefaultDisposer.java
* 
/incubator/onami/trunk/lifecycle/src/main/java/org/apache/onami/lifecycle/Disposable.java
* 
/incubator/onami/trunk/lifecycle/src/main/java/org/apache/onami/lifecycle/Dispose.java
* 
/incubator/onami/trunk/lifecycle/src/main/java/org/apache/onami/lifecycle/DisposeHandler.java
* 
/incubator/onami/trunk/lifecycle/src/main/java/org/apache/onami/lifecycle/DisposeModule.java
* 
/incubator/onami/trunk/lifecycle/src/main/java/org/apache/onami/lifecycle/Disposer.java
* 
/incubator/onami/trunk/lifecycle/src/main/java/org/apache/onami/lifecycle/MethodDisposable.java
* 
/incubator/onami/trunk/lifecycle/src/main/java/org/apache/onami/lifecycle/package-info.java
* 
/incubator/onami/trunk/lifecycle/src/test/java/org/apache/onami/lifecycle/AfterInjectionTestCase.java
* 
/incubator/onami/trunk/lifecycle/src/test/java/org/apache/onami/lifecycle/DisposableObject.java
* 
/incubator/onami/trunk/lifecycle/src/test/java/org/apache/onami/lifecycle/DisposeModuleTestCase.java
* 
/incubator/onami/trunk/lifecycle/src/test/java/org/apache/onami/lifecycle/DisposeTestCase.java
* 
/incubator/onami/trunk/lifecycle/src/test/java/org/apache/onami/lifecycle/ThrowingExceptionAfterInjectionMethod.java
* 
/incubator/onami/trunk/lifecycle/src/test/java/org/apache/onami/lifecycle/ThrowingExceptionConstructor.java
* 
/incubator/onami/trunk/lifecycle/src/test/java/org/apache/onami/lifecycle/ThrowingExceptionConstructor2.java
* 
/incubator/onami/trunk/lifecycle/src/test/java/org/apache/onami/lifecycle/ThrowingExceptionDisposeMethod.java
* 
/incubator/onami/trunk/lifecycle/src/test/java/org/apache/onami/lifecycle/WrongAfterInjectionMethod.java
* 
/incubator/onami/trunk/lifecycle/src/test/java/org/apache/onami/lifecycle/WrongDisposeMethod.java
* /incubator/onami/trunk/lifecycle/standard
* /incubator/onami/trunk/lifecycle/standard/main
* /incubator/onami/trunk/lifecycle/standard/main/java
* /incubator/onami/trunk/lifecycle/standard/main/java/org
* /incubator/onami/trunk/lifecycle/standard/main/java/org/apache
* /incubator/onami/trunk/lifecycle/standard/main/java/org/apache/onami
* /incubator/onami/trunk/lifecycle/standard/main/java/org/apache/onami/lifecycle
* 
/incubator/onami/trunk/lifecycle/standard/main/java/org/apache/onami/lifecycle/standard
* 
/incubator/onami/trunk/lifecycle/standard/main/java/org/apache/onami/lifecycle/standard/AfterInjection.java
* 
/incubator/onami/trunk/lifecycle/standard/main/java/org/apache/onami/lifecycle/standard/AfterInjectionModule.java
* 
/incubator/onami/trunk/lifecycle/standard/main/java/org/apache/onami/lifecycle/standard/DefaultDisposer.java
* 
/incubator/onami/trunk/lifecycle/standard/main/java/org/apache/onami/lifecycle/standard/Disposable.java
* 
/incubator/onami/trunk/lifecycle/standard/main/java/org/apache/onami/lifecycle/standard/Dispose.java
* 
/incubator/onami/trunk/lifecycle/standard/main/java/org/apache/onami/lifecycle/standard/DisposeHandler.java
* 
/incubator/onami/trunk/lifecycle/standard/main/java/org/apache/onami/lifecycle/standard/DisposeModule.java
* 
/incubator/onami/trunk/lifecycle/standard/main/java/org/apache/onami/lifecycle/standard/Disposer.java
* 
/incubator/onami/trunk/lifecycle/standard/main/java/org/apache/onami/lifecycle/standard/StagerWrapper.java
* /incubator/onami/trunk/lifecycle/standard/pom.xml
* /incubator/onami/trunk/lifecycle/standard/test
* /incubator/onami/trunk/lifecycle/standard/test/java
* /incubator/onami/trunk/lifecycle/standard/test/java/org
* /incubator/onami/trunk/lifecycle/standard/test/java/org/apache
* /incubator/onami/trunk/lifecycle/standard/test/java/org/apache/onami
* /incubator/onami/trunk/lifecycle/standard/test/java/org/apache/onami/lifecycle
* 
/incubator/onami/trunk/lifecycle/standard/test/java/org/apache/onami/lifecycle/standard
* 
/incubator/onami/trunk/lifecycle/standard/test/java/org/apache/onami/lifecycle/standard/AfterInjectionTestCase.java
* 
/incubator/onami/trunk/lifecycle/standard/test/java/org/apache/onami/lifecycle/standard/DisposableObject.java
* 
/incubator/onami/trunk/lifecycle/standard/test/java/org/apache/onami/lifecycle/standard/DisposeModuleTestCase.java
* 
/incubator/onami/trunk/lifecycle/standard/test/java/org/apache/onami/lifecycle/standard/DisposeTestCase.java
* 
/incubator/onami/trunk/lifecycle/standard/test/java/org/apache/onami/lifecycle/standard/ThrowingExceptionAfterInjectionMethod.java
* 
/incubator/onami/trunk/lifecycle/standard/test/java/org/apache/onami/lifecycle/standard/ThrowingExceptionConstructor.java
* 
/incubator/onami/trunk/lifecycle/standard/test/java/org/apache/onami/lifecycle/standard/ThrowingExceptionConstructor2.java
* 
/incubator/onami/trunk/lifecycle/standard/test/java/org/apache/onami/lifecycle/standard/ThrowingExceptionDisposeMethod.java
* 
/incubator/onami/trunk/lifecycle/standard/test/java/org/apache/onami/lifecycle/standard/WrongAfterInjectionMethod.java
* 
/incubator/onami/trunk/lifecycle/standard/test/java/org/apache/onami/lifecycle/standard/WrongDisposeMethod.java
* /incubator/onami/trunk/scopes/pom.xml
* 
/incubator/onami/trunk/scopes/src/test/java/org/apache/onami/scopes/AnnotatedConcurrentLazySingletonObject.java
* 
/incubator/onami/trunk/scopes/src/test/java/org/apache/onami/scopes/AnnotatedLazySingletonObject.java
* 
/incubator/onami/trunk/scopes/src/test/java/org/apache/onami/scopes/LazySingletonObject.java
* 
/incubator/onami/trunk/scopes/src/test/java/org/apache/onami/scopes/TestConcurrentLazySingleton.java
* 
/incubator/onami/trunk/scopes/src/test/java/org/apache/onami/scopes/TestLazySingleton.java

                
> Refactoring/generalization of Onami LifeCycle.
> ----------------------------------------------
>
>                 Key: ONAMI-97
>                 URL: https://issues.apache.org/jira/browse/ONAMI-97
>             Project: Apache Onami
>          Issue Type: Improvement
>          Components: lifecycle
>            Reporter: Jordan Zimmerman
>            Assignee: Jordan Zimmerman
>         Attachments: lifecycle.zip, ONAMI-97.patch
>
>
> Currently, Onami LifeCycle supports multiple post injection annotations that 
> are 
> invoked after instantiated by Guice. It also supports a Dispose container that
> holds references to injected objects whereby annotated methods will be invoked
> in reverse injection order when the user calls a container method.
> I'd like to generalize both post injection and container to support
> more open-ended features. The features are being driven by functionality in 
> Governator.
> For post injection, Governator supports ordering of annotations. i.e. 
> @PreConfiguration 
> methods are invoked before @PostConstruct methods. For the life cycle 
> container,
> Governator supports a @Warmup annotation and others. @Warmup methods are 
> invoked by user
> direction after the Guice Injector has been created. 
> The change to post injection is straightforward. Instead of specifying a 
> single post
> injection annotation, an ordered list of annotations is specified. The Guice
> injection listener is modified to iterate over the annotation list in order 
> looking
> for matching methods.
> The change to the life cycle container is more involved. For clarity, the 
> various classes
> and methods are renamed from "Dispose*" to "Stage*". The DefaultStager 
> (formerly DefaultDisposer)
> takes a new argument that determines if objects are processed 
> first-in-first-out or 
> first-in-last-out. The Stager interface is now parameterized with the 
> Annotation
> that represents the "stage". The LifeCycleStageModule now binds with its 
> parameterized
> annotation so that Stagers of each stage type can be injected. i.e.
>       @Inject
>       public Foo( Stager<Dispose> disposer )
>       
> ...
>       @Inject
>       public Bar( Stager<Warmup> warmups )
>       
> Obviously this is a very big change. My goal is to enhance Onami Lifecycle so 
> that I
> can use it in Governator. I've enclosed the implementation as a zip file 
> instead of a
> patch to make things easier to look at.
> I look forward to discussion/ideas on this!

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to