1 /*******************************************************************************
2 * Copyright (c) 2013 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
.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
.ui
.project
.model
.TmfTraceType
;
23 import org
.eclipse
.linuxtools
.tmf
.ui
.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 elem
: TmfTraceType
.getInstance().getTraceCategories()) {
44 fTraceCategory
.add(elem
);
46 for (String key
: fTraceCategory
) {
47 List
<TraceTypeHelper
> value
= TmfTraceType
.getInstance().getTraceTypes(key
);
48 fTraceType
.put(key
, value
);
54 public void dispose() {
58 public void inputChanged(Viewer viewer
, Object oldInput
, Object newInput
) {
63 public Object
[] getElements(Object inputElement
) {
64 return fTraceCategory
.toArray(new String
[0]);
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]);
79 public Object
getParent(Object element
) {
80 if (element
instanceof TraceTypeHelper
) {
81 for (String key
: fTraceCategory
) {
82 List
<TraceTypeHelper
> traceSet
= fTraceType
.get(key
);
83 if (traceSet
!= null) {
84 if (traceSet
.contains(element
)) {
94 public boolean hasChildren(Object element
) {
95 if (element
instanceof String
) {
96 String key
= (String
) element
;
97 return fTraceType
.containsKey(key
);
This page took 0.034753 seconds and 5 git commands to generate.