* Updated Category and Event toString methods to report the duration alongside
the description.
* Updated QD TicketCategorizationPlan to reflect previous changes to
CategorizationPlan interface.
build.xml
---------
Added `build-shell` target. This creates a folder, `build/shell` and copies all
of the required libraries and class files to that folder, excluding the
groovy-all jar that conflicts with groovysh's internal classpath.
Category.groovy
---------------
Fixed a bug in the `addEvent()` function.
CategorizationPlan.groovy
-------------------------
* Rewrote this as groovy code.
* Now is an abstract class instead of an interface.
* Added a property, `newCatSetupFun`, which is a closure that will be run
whenever this categorization plan creates a new category. A caller can set
this via the constructor.
* Added a function, `setupNewCategory()` that should be called inside of all
`newCategory()` implementations. This allows the user to have categorization
plans added to the subcategories dynamically.
* Updated all the CategorizationPlan implementations to respect this new
behavior.
start-script.groovy
-------------------
Implemented a more comprehensive analysis.
Description based category is now case-insensitive.
Fixed bug where description categories and plans were not agreeing on how
to categories items.
Updated startscript.groovy to be aware of new changes with events.
Update build script properties.
Added findEntriesToRecategorize() to CategorizationPlan
Refactored createNewCategory() to newCategory() on CategorizationPlan
Refactored Category to use CategorizationPlans
Created CatPlan for DescriptionBasedCategory
Made Event cloneable.
Refactored Category implementations to be aware of the single arg
Category constructor.
Created TwoLevelCategory, for entries which inherently have two levels
of categorization in them.
Created a CatPlan for TwoLevelCategory
Removed the specialization implementation, ITHelpCategory: the new
TwoLevelCategory is a more general version of the same.
Created CatPlan for TicketCategory
Fixed TicketCategory and TicketPlan to adjust for small difference between
the old behavour of ITHelpCategory and new TwoLevelCategory
Updated testing starter script.
Added FilteredCategory, filters by arbitrary CategoryFilters.
Started on Util class with code to create charts based on categories.
Fixed ITHelp ticket matching to swallow optional space after "ITHelp:"
Fixed TicketCategory to use it's own addEvent logic instead of inheriting the
default Category implementation.
Updated startscript.groovy to reflect test data for recent changes.