Refactor the Histogram View (Bug352885)
[deliverable/tracecompass.git] / org.eclipse.linuxtools.lttng.ui / src / org / eclipse / linuxtools / lttng / ui / views / histogram / HistogramRequest.java
1 /*******************************************************************************
2 * Copyright (c) 2009, 2011 Ericsson
3 *
4 * All rights reserved. This program and the accompanying materials are
5 * made available under the terms of the Eclipse Public License v1.0 which
6 * accompanies this distribution, and is available at
7 * http://www.eclipse.org/legal/epl-v10.html
8 *
9 * Contributors:
10 * William Bourque - Initial API and implementation
11 * Yuriy Vashchuk - Heritage correction.
12 * Francois Chouinard - Cleanup and refactoring
13 *******************************************************************************/
14
15 package org.eclipse.linuxtools.lttng.ui.views.histogram;
16
17 import org.eclipse.linuxtools.lttng.LttngConstants;
18 import org.eclipse.linuxtools.lttng.event.LttngEvent;
19 import org.eclipse.linuxtools.tmf.event.TmfTimeRange;
20 import org.eclipse.linuxtools.tmf.request.ITmfDataRequest;
21 import org.eclipse.linuxtools.tmf.request.TmfEventRequest;
22
23 /**
24 * <b><u>HistogramRequest</u></b>
25 * <p>
26 */
27 public class HistogramRequest extends TmfEventRequest<LttngEvent> {
28
29 // ------------------------------------------------------------------------
30 // Attributes
31 // ------------------------------------------------------------------------
32
33 private final Histogram fHistogram;
34
35 // ------------------------------------------------------------------------
36 // Constructor
37 // ------------------------------------------------------------------------
38
39 public HistogramRequest(Histogram histogram, TmfTimeRange range, int nbEvents, ITmfDataRequest.ExecutionType execType) {
40 super(LttngEvent.class, range, nbEvents, LttngConstants.DEFAULT_BLOCK_SIZE, execType);
41 fHistogram = histogram;
42 }
43
44 public HistogramRequest(Histogram histogram, TmfTimeRange range, ITmfDataRequest.ExecutionType execType) {
45 this(histogram, range, ALL_DATA, execType);
46 }
47
48 // ------------------------------------------------------------------------
49 // TmfEventRequest
50 // ------------------------------------------------------------------------
51
52 @Override
53 public void handleData(LttngEvent event) {
54 super.handleData(event);
55 if (event != null) {
56 long timestamp = event.getTimestamp().getValue();
57 fHistogram.countEvent(timestamp);
58 }
59 }
60
61 @Override
62 public void handleCompleted() {
63 fHistogram.refresh();
64 super.handleCompleted();
65 }
66
67 @Override
68 public void handleCancel() {
69 fHistogram.refresh();
70 super.handleCancel();
71 }
72
73 }
This page took 0.037654 seconds and 5 git commands to generate.