Merge branch 'master' into lttng_2_0_control_dev
[deliverable/tracecompass.git] / org.eclipse.linuxtools.lttng.ui / src / org / eclipse / linuxtools / lttng / ui / views / control / model / impl / BaseEventInfo.java
CommitLineData
eb1bab5b
BH
1/**********************************************************************
2 * Copyright (c) 2012 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 * Bernd Hufmann - Initial API and implementation
11 **********************************************************************/
12package org.eclipse.linuxtools.lttng.ui.views.control.model.impl;
13
14import org.eclipse.linuxtools.lttng.ui.views.control.model.IBaseEventInfo;
15import org.eclipse.linuxtools.lttng.ui.views.control.model.TraceEventType;
16import org.eclipse.linuxtools.lttng.ui.views.control.model.TraceLogLevel;
17
18/**
19* <b><u>BaseEventInfo</u></b>
20* <p>
21* Implementation of the basic trace event interface (IEventInfo) to store event
22* related data.
23* </p>
24*/
25public class BaseEventInfo extends TraceInfo implements IBaseEventInfo {
26
27 // ------------------------------------------------------------------------
28 // Attributes
29 // ------------------------------------------------------------------------
30 /**
31 * The trace event type.
32 */
33 private TraceEventType fEventType = TraceEventType.UNKNOWN;
34 /**
35 * The trace log level.
36 */
4775bcbf 37 private TraceLogLevel fLogLevel = TraceLogLevel.TRACE_DEBUG;
eb1bab5b
BH
38
39 // ------------------------------------------------------------------------
40 // Constructors
41 // ------------------------------------------------------------------------
42 /**
43 * Constructor
44 * @param name - name of base event
45 */
46 public BaseEventInfo(String name) {
47 super(name);
48 }
49
50 /**
51 * Copy constructor
52 * @param other - the instance to copy
53 */
54 public BaseEventInfo(BaseEventInfo other) {
55 super(other);
56 fEventType = other.fEventType;
57 }
58
59 // ------------------------------------------------------------------------
60 // Accessors
61 // ------------------------------------------------------------------------
62 /*
63 * (non-Javadoc)
64 * @see org.eclipse.linuxtools.lttng.ui.views.control.model.IBaseEventInfo#getEventType()
65 */
66 @Override
67 public TraceEventType getEventType() {
68 return fEventType;
69 }
70
71 /*
72 * (non-Javadoc)
73 * @see org.eclipse.linuxtools.lttng.ui.views.control.model.IBaseEventInfo#setEventType(org.eclipse.linuxtools.lttng.ui.views.control.model.TraceEventType)
74 */
75 @Override
76 public void setEventType(TraceEventType type) {
77 fEventType = type;
78 }
79
80 /*
81 * (non-Javadoc)
82 * @see org.eclipse.linuxtools.lttng.ui.views.control.model.IBaseEventInfo#setEventType(java.lang.String)
83 */
84 @Override
85 public void setEventType(String typeName) {
86 if(TraceEventType.TRACEPOINT.getInName().equals(typeName)) {
87 fEventType = TraceEventType.TRACEPOINT;
3e91c9c0
BH
88 } else if(TraceEventType.SYSCALL.getInName().equals(typeName)) {
89 fEventType = TraceEventType.SYSCALL;
90 }
91 else {
eb1bab5b
BH
92 fEventType = TraceEventType.UNKNOWN;
93 }
94 }
95
96 /*
97 * (non-Javadoc)
98 * @see org.eclipse.linuxtools.lttng.ui.views.control.model.IBaseEventInfo#getLogLevel()
99 */
100 @Override
101 public TraceLogLevel getLogLevel() {
102 return fLogLevel;
103 }
104
105 /*
106 * (non-Javadoc)
107 * @see org.eclipse.linuxtools.lttng.ui.views.control.model.IBaseEventInfo#setLogLevel(org.eclipse.linuxtools.lttng.ui.views.control.model.TraceLogLevel)
108 */
109 @Override
110 public void setLogLevel(TraceLogLevel level) {
111 fLogLevel = level;
112 }
113
114 /*
115 * (non-Javadoc)
116 * @see org.eclipse.linuxtools.lttng.ui.views.control.model.IBaseEventInfo#setLogLevel(java.lang.String)
117 */
118 @Override
119 public void setLogLevel(String levelName) {
120 if(TraceLogLevel.TRACE_EMERG.getInName().equals(levelName)) {
121 fLogLevel = TraceLogLevel.TRACE_EMERG;
122 } else if(TraceLogLevel.TRACE_ALERT.getInName().equals(levelName)) {
123 fLogLevel = TraceLogLevel.TRACE_ALERT;
124 } else if(TraceLogLevel.TRACE_CRIT.getInName().equals(levelName)) {
125 fLogLevel = TraceLogLevel.TRACE_CRIT;
126 } else if(TraceLogLevel.TRACE_ERR.getInName().equals(levelName)) {
127 fLogLevel = TraceLogLevel.TRACE_ERR;
128 } else if(TraceLogLevel.TRACE_WARNING.getInName().equals(levelName)) {
129 fLogLevel = TraceLogLevel.TRACE_WARNING;
130 } else if(TraceLogLevel.TRACE_NOTICE.getInName().equals(levelName)) {
131 fLogLevel = TraceLogLevel.TRACE_NOTICE;
132 } else if(TraceLogLevel.TRACE_INFO.getInName().equals(levelName)) {
133 fLogLevel = TraceLogLevel.TRACE_INFO;
4775bcbf
BH
134 } else if(TraceLogLevel.TRACE_DEBUG_SYSTEM.getInName().equals(levelName)) {
135 fLogLevel = TraceLogLevel.TRACE_DEBUG_SYSTEM;
136 } else if(TraceLogLevel.TRACE_DEBUG_PROGRAM.getInName().equals(levelName)) {
137 fLogLevel = TraceLogLevel.TRACE_DEBUG_PROGRAM;
138 } else if(TraceLogLevel.TRACE_DEBUG_PROCESS.getInName().equals(levelName)) {
139 fLogLevel = TraceLogLevel.TRACE_DEBUG_PROCESS;
140 } else if(TraceLogLevel.TRACE_DEBUG_MODULE.getInName().equals(levelName)) {
141 fLogLevel = TraceLogLevel.TRACE_DEBUG_MODULE;
142 } else if(TraceLogLevel.TRACE_DEBUG_UNIT.getInName().equals(levelName)) {
143 fLogLevel = TraceLogLevel.TRACE_DEBUG_UNIT;
144 } else if(TraceLogLevel.TRACE_DEBUG_FUNCTION.getInName().equals(levelName)) {
145 fLogLevel = TraceLogLevel.TRACE_DEBUG_FUNCTION;
146 } else if(TraceLogLevel.TRACE_DEBUG_LINE.getInName().equals(levelName)) {
147 fLogLevel = TraceLogLevel.TRACE_DEBUG_LINE;
eb1bab5b
BH
148 } else if(TraceLogLevel.TRACE_DEBUG.getInName().equals(levelName)) {
149 fLogLevel = TraceLogLevel.TRACE_DEBUG;
4775bcbf
BH
150 } else if(TraceLogLevel.LEVEL_UNKNOWN.getInName().equals(levelName)) {
151 fLogLevel = TraceLogLevel.LEVEL_UNKNOWN;
eb1bab5b 152 } else {
4775bcbf 153 fLogLevel = TraceLogLevel.TRACE_DEBUG;
eb1bab5b
BH
154 }
155 }
156
157 /*
158 * (non-Javadoc)
159 * @see org.eclipse.linuxtools.lttng.ui.views.control.model.impl.TraceInfo#hashCode()
160 */
161 @Override
162 public int hashCode() {
163 int result = 17;
164 result = 37 * result + super.hashCode();
165 result = 37 * result + fEventType.ordinal();
166 result = 37 * result + fLogLevel.ordinal();
167 return result;
168 }
169
170 /*
171 * (non-Javadoc)
172 * @see org.eclipse.linuxtools.lttng.ui.views.control.model.impl.TraceInfo#equals(java.lang.Object)
173 */
174 @Override
175 public boolean equals(Object other) {
176 if (!(other instanceof BaseEventInfo)) {
177 return false;
178 }
179
180 BaseEventInfo otherInfo = (BaseEventInfo) other;
181 if (!super.equals(otherInfo)) {
182 return false;
183 }
184
185 if (fEventType.ordinal() != otherInfo.fEventType.ordinal()) {
186 return false;
187 }
188
189 if (fLogLevel.ordinal() != otherInfo.fLogLevel.ordinal()) {
190 return false;
191 }
192 return true;
193 }
194
195 /*
196 * (non-Javadoc)
197 * @see org.eclipse.linuxtools.lttng.ui.views.control.model.impl.TraceInfo#toString()
198 */
199 @SuppressWarnings("nls")
200 @Override
201 public String toString() {
202 StringBuffer output = new StringBuffer();
203 output.append("[BaseEventInfo(");
204 output.append(super.toString());
205 output.append(",type=");
206 output.append(fEventType);
207 output.append(",level=");
208 output.append(fLogLevel);
209 output.append(")]");
210 return output.toString();
211 }
212}
This page took 0.03702 seconds and 5 git commands to generate.