tmf: Switch tmf.ui to Java 7 + fix warnings
[deliverable/tracecompass.git] / org.eclipse.linuxtools.tmf.ui / src / org / eclipse / linuxtools / tmf / ui / project / wizards / importtrace / TraceTypeContentProvider.java
CommitLineData
d04ec5a7
MK
1/*******************************************************************************
2 * Copyright (c) 2013 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 * Matthew Khouzam - Initial API and implementation
11 *******************************************************************************/
12
13package org.eclipse.linuxtools.tmf.ui.project.wizards.importtrace;
14
15import java.util.ArrayList;
16import java.util.HashMap;
17import java.util.List;
18import java.util.Map;
19
20import org.eclipse.jface.viewers.ITreeContentProvider;
21import org.eclipse.jface.viewers.Viewer;
22import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceType;
23import org.eclipse.linuxtools.tmf.ui.project.model.TraceTypeHelper;
24
25/**
26 * Trace type content provider, a helper for showing trace types
27 *
28 * @author Matthew Khouzam
29 * @since 2.0
30 */
31public class TraceTypeContentProvider implements ITreeContentProvider {
32
507b1336
AM
33 private final List<String> fTraceCategory = new ArrayList<>();
34 private final Map<String, List<TraceTypeHelper>> fTraceType = new HashMap<>();
d04ec5a7
MK
35
36 /**
37 * Default Constructor
38 */
39 public TraceTypeContentProvider() {
40 fTraceType.clear();
41 fTraceCategory.clear();
42
43 for (String elem : TmfTraceType.getInstance().getTraceCategories()) {
44 fTraceCategory.add(elem);
45 }
46 for (String key : fTraceCategory) {
47 List<TraceTypeHelper> value = TmfTraceType.getInstance().getTraceTypes(key);
48 fTraceType.put(key, value);
49 }
50
51 }
52
53 @Override
54 public void dispose() {
55 }
56
57 @Override
58 public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
59 // Do nothing
60 }
61
62 @Override
63 public Object[] getElements(Object inputElement) {
64 return fTraceCategory.toArray(new String[0]);
65 }
66
67 @Override
68 public Object[] getChildren(Object parentElement) {
69 if (parentElement instanceof String) {
70 final List<TraceTypeHelper> children = fTraceType.get(parentElement);
71 if (children != null) {
72 return children.toArray(new TraceTypeHelper[0]);
73 }
74 }
75 return null;
76 }
77
78 @Override
79 public Object getParent(Object element) {
a36bfd38 80 if (element instanceof TraceTypeHelper) {
d04ec5a7
MK
81 for (String key : fTraceCategory) {
82 List<TraceTypeHelper> traceSet = fTraceType.get(key);
83 if (traceSet != null) {
84 if (traceSet.contains(element)) {
85 return key;
86 }
87 }
88 }
89 }
90 return null;
91 }
92
93 @Override
94 public boolean hasChildren(Object element) {
95 if (element instanceof String) {
96 String key = (String) element;
97 return fTraceType.containsKey(key);
98 }
99 return false;
100 }
101
102}
This page took 0.031488 seconds and 5 git commands to generate.