1 /*******************************************************************************
2 * Copyright (c) 2013, 2014 Ericsson
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
10 * Matthew Khouzam - Initial API and implementation
11 *******************************************************************************/
13 package org
.eclipse
.tracecompass
.internal
.tmf
.ui
.project
.wizards
.importtrace
;
15 import java
.util
.ArrayList
;
16 import java
.util
.HashMap
;
17 import java
.util
.List
;
20 import org
.eclipse
.jface
.viewers
.ITreeContentProvider
;
21 import org
.eclipse
.jface
.viewers
.Viewer
;
22 import org
.eclipse
.tracecompass
.tmf
.core
.project
.model
.TmfTraceType
;
23 import org
.eclipse
.tracecompass
.tmf
.core
.project
.model
.TraceTypeHelper
;
26 * Trace type content provider, a helper for showing trace types
28 * @author Matthew Khouzam
30 public class TraceTypeContentProvider
implements ITreeContentProvider
{
32 private final List
<String
> fTraceCategory
= new ArrayList
<>();
33 private final Map
<String
, List
<TraceTypeHelper
>> fTraceType
= new HashMap
<>();
38 public TraceTypeContentProvider() {
40 fTraceCategory
.clear();
42 for (String category
: TmfTraceType
.getTraceCategories()) {
43 List
<TraceTypeHelper
> value
= TmfTraceType
.getTraceTypes(category
);
44 if (!value
.isEmpty()) {
45 fTraceCategory
.add(category
);
46 fTraceType
.put(category
, value
);
52 public void dispose() {
56 public void inputChanged(Viewer viewer
, Object oldInput
, Object newInput
) {
61 public Object
[] getElements(Object inputElement
) {
62 return fTraceCategory
.toArray(new String
[0]);
66 public Object
[] getChildren(Object parentElement
) {
67 if (parentElement
instanceof String
) {
68 final List
<TraceTypeHelper
> children
= fTraceType
.get(parentElement
);
69 if (children
!= null) {
70 return children
.toArray(new TraceTypeHelper
[0]);
77 public Object
getParent(Object element
) {
78 if (element
instanceof TraceTypeHelper
) {
79 for (String key
: fTraceCategory
) {
80 List
<TraceTypeHelper
> traceSet
= fTraceType
.get(key
);
81 if (traceSet
!= null) {
82 if (traceSet
.contains(element
)) {
92 public boolean hasChildren(Object element
) {
93 if (element
instanceof String
) {
94 String key
= (String
) element
;
95 return fTraceType
.containsKey(key
);
This page took 0.033372 seconds and 5 git commands to generate.