|
|
-
Re: Review Request: FLUME-1777: AbstractSource does not provide enough implementation for sub-classesBrock Noland 2012-12-13, 14:56
> On Dec. 13, 2012, 12:13 a.m., Hari Shreedharan wrote: > > flume-ng-core/src/main/java/org/apache/flume/source/BasicSourceSemantics.java, line 44 > > <https://reviews.apache.org/r/8558/diff/2/?file=237514#file237514line44> > > > > Looks like this class implements all the methods from AbstractSource. Is there a reason you chose not to inherit from the same class? I'd like to see AbstractSource deprecated. It for example requires the use of super when overriding methods such as start(), and stop(). This is a a poor practice and I think it's better to provide explicit hooks which is what BasicSourceSemantics does. > On Dec. 13, 2012, 12:13 a.m., Hari Shreedharan wrote: > > flume-ng-core/src/test/java/org/apache/flume/source/TestAbstractPollableSource.java, line 70 > > <https://reviews.apache.org/r/8558/diff/2/?file=237516#file237516line70> > > > > I prefer using @Test (expected = FlumeException.class). It is often cleaner Yeah I think this was a copy paste error. I like expected = as well except in the case where a prerequisite method could throw the same exception. That is not the case here. - Brock ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/8558/#review14408 ----------------------------------------------------------- On Dec. 12, 2012, 9:17 p.m., Brock Noland wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/8558/ > ----------------------------------------------------------- > > (Updated Dec. 12, 2012, 9:17 p.m.) > > > Review request for Flume. > > > Description > ------- > > Adds BasicSourceSemantics (named similar to the Channel abstract classes) which sets the life cycle state appropriate, doesn't require the use of super, and allows subclasses to set the lifecycle state. Additionall adds AbstractPollableSource and AbstractEventDrivenSource. > > > This addresses bug FLUME-1777. > https://issues.apache.org/jira/browse/FLUME-1777 > > > Diffs > ----- > > flume-ng-core/src/main/java/org/apache/flume/source/AbstractEventDrivenSource.java PRE-CREATION > flume-ng-core/src/main/java/org/apache/flume/source/AbstractPollableSource.java PRE-CREATION > flume-ng-core/src/main/java/org/apache/flume/source/BasicSourceSemantics.java PRE-CREATION > flume-ng-core/src/main/java/org/apache/flume/source/http/HTTPSource.java d4d818a > flume-ng-core/src/test/java/org/apache/flume/source/TestAbstractPollableSource.java PRE-CREATION > flume-ng-core/src/test/java/org/apache/flume/source/TestBasicSourceSemantics.java PRE-CREATION > > Diff: https://reviews.apache.org/r/8558/diff/ > > > Testing > ------- > > Unit tests added, pass. > > > Thanks, > > Brock Noland > > |