trace/traceviewer/com.nokia.traceviewer/src/com/nokia/traceviewer/engine/dataprocessor/LineCountProcessor.java
author Matti Laitinen <matti.t.laitinen@nokia.com>
Wed, 23 Jun 2010 14:49:59 +0300
changeset 11 5b9d4d8641ce
permissions -rw-r--r--
TraceViewer 2.6.0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
11
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     1
/*
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     2
 * Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies). 
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     3
 * All rights reserved.
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     4
 * This component and the accompanying materials are made available
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     5
 * under the terms of "Eclipse Public License v1.0"
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     6
 * which accompanies this distribution, and is available
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     7
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     8
 *
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
     9
 * Initial Contributors:
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    10
 * Nokia Corporation - initial contribution.
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    11
 *
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    12
 * Contributors:
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    13
 *
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    14
 * Description:
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    15
 *
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    16
 * LineCountProcessor DataProcessor
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    17
 *
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    18
 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    19
package com.nokia.traceviewer.engine.dataprocessor;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    20
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    21
import java.util.ArrayList;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    22
import java.util.List;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    23
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    24
import com.nokia.traceviewer.TraceViewerPlugin;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    25
import com.nokia.traceviewer.action.TraceViewerActionUtils;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    26
import com.nokia.traceviewer.dialog.BasePropertyDialog;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    27
import com.nokia.traceviewer.dialog.LineCountDialog;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    28
import com.nokia.traceviewer.dialog.treeitem.LineCountTreeBaseItem;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    29
import com.nokia.traceviewer.dialog.treeitem.LineCountTreeComponentItem;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    30
import com.nokia.traceviewer.dialog.treeitem.LineCountTreeItem;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    31
import com.nokia.traceviewer.dialog.treeitem.LineCountTreeTextItem;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    32
import com.nokia.traceviewer.dialog.treeitem.TreeItem;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    33
import com.nokia.traceviewer.dialog.treeitem.TreeItemContentProvider;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    34
import com.nokia.traceviewer.dialog.treeitem.TreeItemListener;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    35
import com.nokia.traceviewer.engine.TraceInformation;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    36
import com.nokia.traceviewer.engine.TraceProperties;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    37
import com.nokia.traceviewer.engine.TraceViewerGlobals;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    38
import com.nokia.traceviewer.engine.TraceViewerPropertyViewInterface;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    39
import com.nokia.traceviewer.engine.TraceViewerDialogInterface.Dialog;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    40
import com.nokia.traceviewer.engine.preferences.PreferenceConstants;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    41
import com.nokia.traceviewer.engine.preferences.XMLLineCountConfigurationImporter;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    42
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    43
/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    44
 * LineCount DataProcessor
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    45
 * 
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    46
 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    47
public final class LineCountProcessor implements DataProcessor {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    48
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    49
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    50
	 * Interval how often to update progressbar
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    51
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    52
	private static final int PROGRESSBAR_UPDATE_INTERVAL = 100;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    53
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    54
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    55
	 * Line count dialog used in setting rules
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    56
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    57
	private LineCountDialog lineCountDialog;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    58
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    59
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    60
	 * Content provider for the dialog
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    61
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    62
	private TreeItemContentProvider contentProvider;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    63
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    64
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    65
	 * First visible object in the dialog tree
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    66
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    67
	private TreeItem root;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    68
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    69
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    70
	 * Line count items array
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    71
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    72
	private final List<LineCountItem> lineCountItems;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    73
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    74
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    75
	 * Text rules that are applied
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    76
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    77
	private final List<LineCountTreeTextItem> textRules;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    78
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    79
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    80
	 * Component rules that are applied
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    81
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    82
	private final List<LineCountTreeComponentItem> componentRules;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    83
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    84
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    85
	 * Constructor
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    86
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    87
	public LineCountProcessor() {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    88
		// Create initial tree
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    89
		createInitialTree();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    90
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    91
		// Create rule arrays
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    92
		lineCountItems = new ArrayList<LineCountItem>();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    93
		textRules = new ArrayList<LineCountTreeTextItem>();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    94
		componentRules = new ArrayList<LineCountTreeComponentItem>();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    95
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    96
	}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    97
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    98
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
    99
	 * Creates initial tree
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   100
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   101
	public void createInitialTree() {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   102
		contentProvider = new TreeItemContentProvider();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   103
		// Create root node
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   104
		TreeItem treeRoot = new LineCountTreeBaseItem(contentProvider, null,
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   105
				"root", //$NON-NLS-1$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   106
				LineCountTreeItem.Rule.GROUP);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   107
		root = new LineCountTreeBaseItem(contentProvider, treeRoot,
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   108
				TraceViewerPlugin.getDefault().getPreferenceStore().getString(
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   109
						PreferenceConstants.CONFIGURATION_FILE),
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   110
				LineCountTreeItem.Rule.GROUP);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   111
		treeRoot.addChild(root);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   112
	}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   113
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   114
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   115
	 * Imports line count rules from configuration file
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   116
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   117
	public void importLineCountRules() {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   118
		// Import Line Count rules
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   119
		XMLLineCountConfigurationImporter importer = new XMLLineCountConfigurationImporter(
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   120
				root, TraceViewerPlugin.getDefault().getPreferenceStore()
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   121
						.getString(PreferenceConstants.CONFIGURATION_FILE),
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   122
				true);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   123
		importer.importData();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   124
	}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   125
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   126
	/*
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   127
	 * (non-Javadoc)
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   128
	 * 
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   129
	 * @see
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   130
	 * com.nokia.traceviewer.engine.DataProcessor#processData(com.nokia.traceviewer
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   131
	 * .engine.TraceProperties)
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   132
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   133
	public void processData(TraceProperties properties) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   134
		if (!properties.traceConfiguration.isScrolledTrace()
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   135
				&& !properties.traceConfiguration.isFilteredOut()
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   136
				&& !properties.traceConfiguration.isTriggeredOut()) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   137
			if (!lineCountItems.isEmpty()) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   138
				boolean ruleHit = false;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   139
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   140
				// Process component rules
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   141
				ruleHit = processComponentRules(properties);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   142
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   143
				// Process text rules
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   144
				if (!ruleHit) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   145
					processTextRules(properties);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   146
				}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   147
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   148
				// Update progressBar if needed
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   149
				updateProgressBar();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   150
			}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   151
		}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   152
	}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   153
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   154
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   155
	 * Process component rules
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   156
	 * 
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   157
	 * @param properties
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   158
	 *            trace properties
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   159
	 * @return true if rule hits
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   160
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   161
	private boolean processComponentRules(TraceProperties properties) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   162
		boolean ruleHit = false;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   163
		TraceInformation information = properties.information;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   164
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   165
		// Information must be defined
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   166
		if (information != null && information.isDefined()) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   167
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   168
			// Loop through component rules
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   169
			int len = componentRules.size();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   170
			LineCountTreeComponentItem rule;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   171
			for (int i = 0; i < len; i++) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   172
				rule = componentRules.get(i);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   173
				// Get component ID
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   174
				int compId = rule.getComponentId();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   175
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   176
				// Component ID matches
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   177
				if (compId == BasePropertyDialog.WILDCARD_INTEGER
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   178
						|| compId == information.getComponentId()) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   179
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   180
					// Get group ID
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   181
					int groupId = rule.getGroupId();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   182
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   183
					// Group ID matches
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   184
					if (groupId == BasePropertyDialog.WILDCARD_INTEGER
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   185
							|| groupId == information.getGroupId()) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   186
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   187
						updateLineCountItem(i);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   188
						ruleHit = true;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   189
						break;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   190
					}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   191
				}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   192
			}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   193
		}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   194
		return ruleHit;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   195
	}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   196
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   197
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   198
	 * Process text rules
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   199
	 * 
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   200
	 * @param properties
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   201
	 *            trace properties
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   202
	 * @return true if rule hits
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   203
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   204
	private boolean processTextRules(TraceProperties properties) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   205
		boolean ruleHit = false;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   206
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   207
		// Loop through text rules
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   208
		int len = textRules.size();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   209
		LineCountTreeTextItem rule;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   210
		for (int i = 0; i < len; i++) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   211
			rule = textRules.get(i);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   212
			String traceLine = ""; //$NON-NLS-1$
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   213
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   214
			// Traces missing
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   215
			if (properties.bTraceInformation.isTraceMissing()) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   216
				traceLine = TraceViewerActionUtils.TRACES_DROPPED_MSG;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   217
			}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   218
			if (properties.traceString != null) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   219
				traceLine += properties.traceString;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   220
			}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   221
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   222
			String ruleStr = rule.getTextToCompare();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   223
			if (ruleStr == null) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   224
				break;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   225
			}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   226
			if (!rule.isMatchCase()) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   227
				traceLine = traceLine.toLowerCase();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   228
			}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   229
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   230
			// Line hits
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   231
			if (traceLine.contains(ruleStr)) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   232
				// Get offset of this text rule in lineCountItems list by adding
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   233
				// i to the number of component rules existing
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   234
				updateLineCountItem(componentRules.size() + i);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   235
				ruleHit = true;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   236
			}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   237
		}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   238
		return ruleHit;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   239
	}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   240
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   241
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   242
	 * Updates Line Count Item
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   243
	 * 
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   244
	 * @param offset
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   245
	 *            offset of item to update
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   246
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   247
	private void updateLineCountItem(int offset) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   248
		LineCountItem item = lineCountItems.get(offset);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   249
		int count = item.getCount();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   250
		item.setCount(count + 1);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   251
		item.setChanged(true);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   252
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   253
		TraceViewerPropertyViewInterface view = TraceViewerGlobals
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   254
				.getTraceViewer().getPropertyView();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   255
		if (view != null) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   256
			view.setLineCountTableChanged();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   257
		}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   258
	}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   259
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   260
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   261
	 * Update progressBar if needed
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   262
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   263
	private void updateProgressBar() {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   264
		// Update possible progressBar
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   265
		if (isProcessingCounting()
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   266
				&& TraceViewerGlobals.getTraceViewer().getDataReaderAccess()
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   267
						.getCurrentDataReader().getTraceCount()
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   268
						% PROGRESSBAR_UPDATE_INTERVAL == 0) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   269
			lineCountDialog.getProgressBar().updateProgressBar(
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   270
					TraceViewerGlobals.getTraceViewer().getDataReaderAccess()
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   271
							.getCurrentDataReader().getTraceCount());
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   272
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   273
		}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   274
	}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   275
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   276
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   277
	 * Tells if initial counting is in process
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   278
	 * 
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   279
	 * @return true if initial counting is in progress
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   280
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   281
	public boolean isProcessingCounting() {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   282
		return (lineCountDialog != null
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   283
				&& lineCountDialog.getProgressBar() != null
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   284
				&& lineCountDialog.getProgressBar().getShell() != null && !lineCountDialog
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   285
				.getProgressBar().getShell().isDisposed());
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   286
	}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   287
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   288
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   289
	 * Gets lineCount dialog
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   290
	 * 
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   291
	 * @return filter dialog
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   292
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   293
	public LineCountDialog getLineCountDialog() {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   294
		if (lineCountDialog == null) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   295
			lineCountDialog = (LineCountDialog) TraceViewerGlobals
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   296
					.getTraceViewer().getDialogs().createDialog(
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   297
							Dialog.COUNTLINES);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   298
		}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   299
		return lineCountDialog;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   300
	}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   301
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   302
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   303
	 * Gets root of the filter tree
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   304
	 * 
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   305
	 * @return root
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   306
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   307
	public TreeItem getRoot() {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   308
		return root;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   309
	}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   310
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   311
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   312
	 * Gets item listener
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   313
	 * 
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   314
	 * @return the contentProvider
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   315
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   316
	public TreeItemListener getTreeItemListener() {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   317
		return contentProvider;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   318
	}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   319
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   320
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   321
	 * Gets lineCountItems
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   322
	 * 
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   323
	 * @return the lineCountItems
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   324
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   325
	public List<LineCountItem> getLineCountItems() {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   326
		return lineCountItems;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   327
	}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   328
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   329
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   330
	 * Gets text rules
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   331
	 * 
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   332
	 * @return text rules
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   333
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   334
	public List<LineCountTreeTextItem> getTextRules() {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   335
		return textRules;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   336
	}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   337
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   338
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   339
	 * Gets component rules
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   340
	 * 
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   341
	 * @return component rules
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   342
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   343
	public List<LineCountTreeComponentItem> getComponentRules() {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   344
		return componentRules;
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   345
	}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   346
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   347
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   348
	 * Empty lineCountItems
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   349
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   350
	public void emptyLineCountItems() {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   351
		for (int i = 0; i < lineCountItems.size(); i++) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   352
			lineCountItems.get(i).setCount(0);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   353
			lineCountItems.get(i).setChanged(true);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   354
		}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   355
	}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   356
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   357
	/**
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   358
	 * Enable linecount rule
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   359
	 * 
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   360
	 * @param item
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   361
	 *            the rule item
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   362
	 */
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   363
	public void enableRule(LineCountTreeItem item) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   364
		LineCountItem newItem = new LineCountItem(item.getName(), 0);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   365
		if (item instanceof LineCountTreeTextItem) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   366
			textRules.add((LineCountTreeTextItem) item);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   367
			lineCountItems.add(newItem);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   368
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   369
			// Add component item to the beginning of the list
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   370
		} else if (item instanceof LineCountTreeComponentItem) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   371
			componentRules.add((LineCountTreeComponentItem) item);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   372
			lineCountItems.add(0, newItem);
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   373
		}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   374
		if (TraceViewerGlobals.getTraceViewer().getPropertyView() != null) {
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   375
			TraceViewerGlobals.getTraceViewer().getPropertyView()
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   376
					.createNewPropertyTableItems();
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   377
		}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   378
	}
5b9d4d8641ce TraceViewer 2.6.0
Matti Laitinen <matti.t.laitinen@nokia.com>
parents:
diff changeset
   379
}