timestamper/startscript.groovy

57 lines
1.9 KiB
Groovy
Raw Normal View History

import com.jdbernard.timeanalyzer.*
import com.jdbernard.timestamper.core.*
import com.quantumdigital.ithelp.timeanalyzer.*
import org.joda.time.*
import org.joda.time.format.*
import org.jfree.chart.*
import org.jfree.data.general.*
import org.jfree.util.SortOrder
tep = new TimelineEventProcessor()
tep.exclusions << ~/Going Home/
pf = PeriodFormat.getDefault()
fileSource = new FileTimelineSource(new File("timeline.jdbernard.txt").toURI())
timeline = fileSource.read()
events = tep.process(timeline)
topcat = new FilteredCategory("Top Category")
topcat.filters << new TimeIntervalCategoryFilter(
new DateTime(2011, 1, 2, 0, 0, 0, 0), new DateTime(2011, 1, 9, 0, 0, 0, 0))
twoLevelCatPlan = new TwoLevelCategorizationPlan()
descriptionBasedCatPlan = new DescriptionBasedCategorizationPlan()
topcat.categorizationPlans << twoLevelCatPlan
topcat.categorizationPlans << descriptionBasedCatPlan
ithelpcat = new TwoLevelCategory("ITHelp")
ticketCatPlan = new TicketCategorizationPlan()
ithelpcat.categorizationPlans << ticketCatPlan
ithelpcat.categorizationPlans << descriptionBasedCatPlan
topcat.categories << ithelpcat
//events.each { if (topcat.matchesEvent(it)) topcat.addEvent(it) }
makePieDataset = { category ->
DefaultPieDataset dpds = new DefaultPieDataset()
category.categories.each { cat ->
dpds.setValue(cat.description, cat.duration.standardSeconds) }
category.entries.each { entry ->
dpds.setValue(entry.description, entry.duration.standardSeconds) }
dpds.sortByValues(SortOrder.DESCENDING)
return dpds
}
//topcatDataset = makePieDataset(topcat)
//ithelpDataset = makePieDataset(ithelpcat)
//topcatFrame = new ChartFrame("Top Category",
//ChartFactory.createPieChart("Time Spent", topcatDataset, true, true, false))
//ithelpFrame = new ChartFrame("ITHelp",
//ChartFactory.createPieChart("Time Spent", ithelpDataset, true, true, false))