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
.linuxtools
.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
.linuxtools
.tmf
.core
.project
.model
.TmfTraceType
;
23 import org
.eclipse
.linuxtools
.tmf
.core
.project
.model
.TraceTypeHelper
;
26 * Trace type content provider, a helper for showing trace types
28 * @author Matthew Khouzam
31 public class TraceTypeContentProvider
implements ITreeContentProvider
{
33 private final List
<String
> fTraceCategory
= new ArrayList
<>();
34 private final Map
<String
, List
<TraceTypeHelper
>> fTraceType
= new HashMap
<>();
39 public TraceTypeContentProvider() {
41 fTraceCategory
.clear();
43 for (String category
: TmfTraceType
.getTraceCategories()) {
44 List
<TraceTypeHelper
> value
= TmfTraceType
.getTraceTypes(category
);
45 if (!value
.isEmpty()) {
46 fTraceCategory
.add(category
);
47 fTraceType
.put(category
, value
);
53 public void dispose() {
57 public void inputChanged(Viewer viewer
, Object oldInput
, Object newInput
) {
62 public Object
[] getElements(Object inputElement
) {
63 return fTraceCategory
.toArray(new String
[0]);
67 public Object
[] getChildren(Object parentElement
) {
68 if (parentElement
instanceof String
) {
69 final List
<TraceTypeHelper
> children
= fTraceType
.get(parentElement
);
70 if (children
!= null) {
71 return children
.toArray(new TraceTypeHelper
[0]);
78 public Object
getParent(Object element
) {
79 if (element
instanceof TraceTypeHelper
) {
80 for (String key
: fTraceCategory
) {
81 List
<TraceTypeHelper
> traceSet
= fTraceType
.get(key
);
82 if (traceSet
!= null) {
83 if (traceSet
.contains(element
)) {
93 public boolean hasChildren(Object element
) {
94 if (element
instanceof String
) {
95 String key
= (String
) element
;
96 return fTraceType
.containsKey(key
);
This page took 0.034794 seconds and 6 git commands to generate.