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