[
https://issues.apache.org/jira/browse/FUNCTOR-1?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Simone Tripodi moved SANDBOX-341 to FUNCTOR-1:
----------------------------------------------
Component/s: (was: Functor)
Issue Type: New Feature (was: Improvement)
Key: FUNCTOR-1 (was: SANDBOX-341)
Project: Commons Functor (was: Commons Sandbox)
> [functor] New components: summarize and aggregate
> -------------------------------------------------
>
> Key: FUNCTOR-1
> URL: https://issues.apache.org/jira/browse/FUNCTOR-1
> Project: Commons Functor
> Issue Type: New Feature
> Environment: JDK 1.6.0_25 but should work with any JDK 5+ (possibly
> 1.4 though I haven't tested).
> Reporter: Liviu Tudor
> Priority: Minor
> Labels: features
> Attachments: commons-functor-aggregate+summarizer.zip,
> commons-functor.patch.bz2
>
>
> This is the next step from https://issues.apache.org/jira/browse/SANDBOX-340
> -- as instructed I'm finally hoping to get the code in the right place and
> hopefully this is something that the functor component could do with.
> Whereas initially I just started with the summarizer component, I have added
> now the second one, the "aggregator" as they are somehow related. If this
> code proves to be useful to functor in any way, it would actually be good to
> get some feedback on these 2 to see if the class hierarchy can in fact be
> changed to share some common functionality as I feel (probably due to the
> similar needs that lead to writing/using these components) that somehow they
> should share a common base.
> In brief, the 2 components:
> * aggregator: this just allows for data to be aggregated in a user defined
> way (e.g. stored in a list for the purpose of averaging, computing the
> arithmetic median etc). The classes provided actually offer the
> implementation for storing data in a list and computing the above-mentioned
> values or summing up everything.
> * timed summarizer: this is another variation of the aggreator, however, it
> adds the idea of regular "flushes", so based on a timer it will reset the
> value and start summing/aggregating the data again. Rather than using an
> aggregator which would store the whole data series (possibly for applying
> more complex formulas), this component just computes on the fly on each
> request the formula and stores the result of it. (Which does mean things like
> computing arithmetic mean, median etc would be difficult to compute without
> knowing upfront how many calls will be received -- i.e. how many elements we
> will be required to summarize/aggregate.) So the memory footprint of running
> this is much smaller -- even though, as I said, it achieves similar results.
> I have only provided a summarizer which operates on integers, but obviously
> others for float, double etc can be created if we go ahead with this design.
> Hopefully the above make sense; this code has resulted from finding myself
> writing similar components to these a few times and because it's always been
> either one type (e.g. aggregator) or another (summarizer) I haven't given
> quite possibly enough thought to the class design to join these 2. Also,
> unfortunately, the time I sat down to make these components a bit more
> general and submitted issue 340 was nearly 3 months ago so I'm trying to
> remember myself all the ideas I had at a time so bear with me please if these
> are still a bit fuzzy :) However, if you can make use of these I'm quite
> happy to elaborate on areas that are unclear and obviously put some effort
> into getting these components to the standards required to put these into a
> release.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira