9484a764f94e98a22403705b27c009540faff4e1
[deliverable/tracecompass.git] / tmf / org.eclipse.tracecompass.tmf.ui / src / org / eclipse / tracecompass / internal / tmf / ui / markers / ConfigurableMarkerEventSourceFactory.java
1 /*******************************************************************************
2 * Copyright (c) 2017 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 * Patrick Tasse - Initial API and implementation
11 *******************************************************************************/
12
13 package org.eclipse.tracecompass.internal.tmf.ui.markers;
14
15 import org.eclipse.tracecompass.internal.tmf.core.markers.MarkerConfigXmlParser;
16 import org.eclipse.tracecompass.internal.tmf.core.markers.MarkerSet;
17 import org.eclipse.tracecompass.tmf.core.trace.AbstractTmfTraceAdapterFactory;
18 import org.eclipse.tracecompass.tmf.core.trace.ITmfTrace;
19 import org.eclipse.tracecompass.tmf.ui.widgets.timegraph.model.IMarkerEventSource;
20
21 /**
22 * Configurable marker event source factory.
23 */
24 public class ConfigurableMarkerEventSourceFactory extends AbstractTmfTraceAdapterFactory {
25
26 @Override
27 protected <T> T getTraceAdapter(ITmfTrace trace, Class<T> adapterType) {
28 if (IMarkerEventSource.class.equals(adapterType)) {
29 ConfigurableMarkerEventSource adapter = new ConfigurableMarkerEventSource(trace);
30 configure(adapter);
31 return adapterType.cast(adapter);
32 }
33 return null;
34 }
35
36 @Override
37 public Class<?>[] getAdapterList() {
38 return new Class[] {
39 IMarkerEventSource.class
40 };
41 }
42
43 private static void configure(ConfigurableMarkerEventSource source) {
44 String defaultMarkerSetId = MarkerUtils.getDefaultMarkerSetId();
45 for (MarkerSet markerSet : MarkerConfigXmlParser.getMarkerSets()) {
46 if (markerSet.getId().equals(defaultMarkerSetId)) {
47 source.configure(markerSet);
48 }
49 }
50 }
51 }
This page took 0.039176 seconds and 4 git commands to generate.