2010-11-09 Francois Chouinard <fchouinard@gmail.com> Contribution for Bug315307
[deliverable/tracecompass.git] / org.eclipse.linuxtools.tmf.ui / src / org / eclipse / linuxtools / tmf / ui / parsers / custom / CustomParserProvider.java
CommitLineData
c3c5c786
FC
1/*******************************************************************************\r
2 * Copyright (c) 2010 Ericsson\r
3 * \r
4 * All rights reserved. This program and the accompanying materials are\r
5 * made available under the terms of the Eclipse Public License v1.0 which\r
6 * accompanies this distribution, and is available at\r
7 * http://www.eclipse.org/legal/epl-v10.html\r
8 * \r
9 * Contributors:\r
10 * Patrick Tasse - Initial API and implementation\r
11 *******************************************************************************/\r
12\r
13package org.eclipse.linuxtools.tmf.ui.parsers.custom;\r
14\r
15import java.io.FileNotFoundException;\r
16import java.util.LinkedHashMap;\r
17import java.util.Map;\r
18\r
19import org.eclipse.core.resources.IResource;\r
20import org.eclipse.linuxtools.tmf.trace.ITmfTrace;\r
21import org.eclipse.linuxtools.tmf.ui.parsers.IParserProvider;\r
22import org.eclipse.linuxtools.tmf.ui.viewers.events.TmfEventsTable;\r
23import org.eclipse.swt.widgets.Composite;\r
24\r
25public class CustomParserProvider implements IParserProvider {\r
26\r
d4011df2 27 @Override\r
c3c5c786 28 public String getCategory() {\r
3b38ea61 29 return "Custom"; //$NON-NLS-1$\r
c3c5c786
FC
30 }\r
31\r
d4011df2 32 @Override\r
c3c5c786
FC
33 public ITmfTrace getTraceForParser(String parser, IResource resource) {\r
34 try {\r
35 String name = resource.getName();\r
36 String path = resource.getLocation().toOSString();\r
37 for (CustomTxtTraceDefinition def : CustomTxtTraceDefinition.loadAll()) {\r
3b38ea61 38 if (parser.equals(CustomTxtTrace.class.getCanonicalName() + "." + def.definitionName)) { //$NON-NLS-1$\r
c3c5c786
FC
39 return new CustomTxtTrace(name, def, path, 100);\r
40 }\r
41 }\r
42 for (CustomXmlTraceDefinition def : CustomXmlTraceDefinition.loadAll()) {\r
3b38ea61 43 if (parser.equals(CustomXmlTrace.class.getCanonicalName() + "." + def.definitionName)) { //$NON-NLS-1$\r
c3c5c786
FC
44 return new CustomXmlTrace(name, def, path, 100);\r
45 }\r
46 }\r
47 } catch (FileNotFoundException e) {\r
48 e.printStackTrace();\r
49 }\r
50 return null;\r
51 }\r
52\r
d4011df2 53 @Override\r
c3c5c786
FC
54 public ITmfTrace getTraceForContentType(String contentTypeId, IResource resource) {\r
55 return null;\r
56 }\r
57\r
d4011df2
FC
58 @Override\r
59 public String getEditorIdForParser(String parser) {\r
c3c5c786
FC
60 return null;\r
61 }\r
62\r
d4011df2 63 @Override\r
c3c5c786
FC
64 public Map<String, String> getParserMap() {\r
65 Map<String, String> parserMap = new LinkedHashMap<String, String>();\r
66 for (CustomTxtTraceDefinition def : CustomTxtTraceDefinition.loadAll()) {\r
3b38ea61 67 parserMap.put(def.definitionName, CustomTxtTrace.class.getCanonicalName() + "." + def.definitionName); //$NON-NLS-1$\r
c3c5c786
FC
68 }\r
69 for (CustomXmlTraceDefinition def : CustomXmlTraceDefinition.loadAll()) {\r
3b38ea61 70 parserMap.put(def.definitionName, CustomXmlTrace.class.getCanonicalName() + "." + def.definitionName); //$NON-NLS-1$\r
c3c5c786
FC
71 }\r
72 return parserMap;\r
73 }\r
74\r
d4011df2 75 @Override\r
c3c5c786
FC
76 public TmfEventsTable getEventsTable(ITmfTrace trace, Composite parent, int cacheSize) {\r
77 if (trace instanceof CustomTxtTrace) {\r
78 return new CustomEventsTable(((CustomTxtTrace) trace).getDefinition(), parent, cacheSize);\r
79 } else if (trace instanceof CustomXmlTrace) {\r
80 return new CustomEventsTable(((CustomXmlTrace) trace).getDefinition(), parent, cacheSize);\r
81 }\r
82 return null;\r
83 }\r
84\r
85}\r
This page took 0.028098 seconds and 5 git commands to generate.