On Tue, May 20, 2014 at 7:21 PM, Matt Sicker <boa...@gmail.com> wrote:

> When I tried doing that LifeCycle refactoring on my own, I came across the
> issue that most of the life cycle type classes only have a boolean running
> state.
>

The LifeCycle refactoring is done, now it is time to see what additional,
if any, life-cycle-like types should be refactored. Please dig in ;)

Gary


>
> On 19 May 2014 22:33, Ralph Goers <ralph.go...@dslextreme.com> wrote:
>
>>
>> Yes, but it will be a bit of a chore. The following classes extend
>> AbstractFilterable.
>>
>> 1. AbstractConfiguration already has start and stop methods so should
>> implement LifeCycle. However, it also uses a setup method which isn’t part
>> of Lifecycle but that should be OK the way it is.
>> 2. LoggerConfig - It currently doesn’t have anything equivalent to the
>> LifeCycle methods but they probably will come in handy.
>>  AbstractConfiguration is already calling startFilter and stopFilter so the
>> start and stop methods could be called at the same time.
>> 3. AppenderControl - This is the one I see an issue with. It is created
>> when an appender is added to a LoggerConfig as a reference.  It probably
>> should implement LifeCycle as it calls startFilter in the constructor but
>> it doesn’t look like it calls stopFilter anywhere. I guess the start and
>> stop should be called in the addAppender and removeAppender methods.
>>
>> Ralph
>>
>> On May 19, 2014, at 6:39 PM, Gary Gregory <garydgreg...@gmail.com> wrote:
>>
>> On Mon, May 19, 2014 at 9:34 PM, Gary Gregory <garydgreg...@gmail.com>wrote:
>>
>>> Let's start with a specific case: AbstractAppender clearly has life
>>> cycle features (start/stop) but it subclasses AbstractFilterable.
>>>
>>> Would it be correct for AbstractFilterable to be a life cycle and
>>> subclass AbstractLifeCycle?
>>>
>>
>> Let me clarify that AbstractAppender implements Appender which extends
>> LifeCycle, so the formal definition is OK: An AbstractAppender is indeed a
>> LifeCycle.
>>
>> I am looking to answer if we can make AbstractFilterable extend
>> AbstractLifeCycle to inherit the pre-canned life cycle behavior.
>>
>> Gary
>>
>>>
>>> Gary
>>>
>>>
>>> On Mon, May 19, 2014 at 9:29 PM, Ralph Goers <ralph.go...@dslextreme.com
>>> > wrote:
>>>
>>>> I think there is a Jira about that.  I have a feeling that there are
>>>> more classes that should use LifeCycle but don’t and do their
>>>> initialization a little differently, but it would require going and looking
>>>> through all the classes to determine that.
>>>>
>>>> Ralph
>>>>
>>>> On May 19, 2014, at 12:37 PM, Gary Gregory <garydgreg...@gmail.com>
>>>> wrote:
>>>>
>>>> All:
>>>>
>>>> I abstracted out the life cycle management code out of LoggerContext
>>>> into it's own abstract class and reused it in (now) subclasses that
>>>> provided the same kind of functionality (please see revision 1596001.)
>>>>
>>>> The next question is: The AbstractAppender extends AbstractFilterable
>>>> and also has life cycle management features (isStarted()/isStopped()). If
>>>> AbstractFilterable would extend AbstractLifeCycle, then more classes would
>>>> carry the state ivar. I did not do that because it did not feel right
>>>> without more consideration.
>>>>
>>>> I know someone else had mentioned life cycle work as a to-do so here's
>>>> a start in a manner that is reused now in a few different places.
>>>>
>>>> Thoughts?
>>>>
>>>> --
>>>> E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
>>>> Java Persistence with Hibernate, Second 
>>>> Edition<http://www.manning.com/bauer3/>
>>>> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
>>>> Spring Batch in Action <http://www.manning.com/templier/>
>>>> Blog: http://garygregory.wordpress.com
>>>> Home: http://garygregory.com/
>>>> Tweet! http://twitter.com/GaryGregory
>>>>
>>>>
>>>>
>>>
>>>
>>> --
>>> E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
>>> Java Persistence with Hibernate, Second 
>>> Edition<http://www.manning.com/bauer3/>
>>> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
>>> Spring Batch in Action <http://www.manning.com/templier/>
>>> Blog: http://garygregory.wordpress.com
>>> Home: http://garygregory.com/
>>> Tweet! http://twitter.com/GaryGregory
>>>
>>
>>
>>
>> --
>> E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
>> Java Persistence with Hibernate, Second 
>> Edition<http://www.manning.com/bauer3/>
>> JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
>> Spring Batch in Action <http://www.manning.com/templier/>
>> Blog: http://garygregory.wordpress.com
>> Home: http://garygregory.com/
>> Tweet! http://twitter.com/GaryGregory
>>
>>
>>
>
>
> --
> Matt Sicker <boa...@gmail.com>
>



-- 
E-Mail: garydgreg...@gmail.com | ggreg...@apache.org
Java Persistence with Hibernate, Second Edition<http://www.manning.com/bauer3/>
JUnit in Action, Second Edition <http://www.manning.com/tahchiev/>
Spring Batch in Action <http://www.manning.com/templier/>
Blog: http://garygregory.wordpress.com
Home: http://garygregory.com/
Tweet! http://twitter.com/GaryGregory

Reply via email to