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.
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>