1 /**********************************************************************
2 * Copyright (c) 2012 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 * Bernd Hufmann - Initial API and implementation
11 **********************************************************************/
12 package org
.eclipse
.linuxtools
.internal
.lttng2
.ui
.views
.control
.model
.impl
;
14 import org
.eclipse
.linuxtools
.internal
.lttng2
.ui
.views
.control
.model
.IBaseEventInfo
;
15 import org
.eclipse
.linuxtools
.internal
.lttng2
.ui
.views
.control
.model
.TraceEventType
;
16 import org
.eclipse
.linuxtools
.internal
.lttng2
.ui
.views
.control
.model
.TraceLogLevel
;
19 * <b><u>BaseEventInfo</u></b>
21 * Implementation of the basic trace event interface (IEventInfo) to store event
25 public class BaseEventInfo
extends TraceInfo
implements IBaseEventInfo
{
27 // ------------------------------------------------------------------------
29 // ------------------------------------------------------------------------
31 * The trace event type.
33 private TraceEventType fEventType
= TraceEventType
.UNKNOWN
;
35 * The trace log level.
37 private TraceLogLevel fLogLevel
= TraceLogLevel
.TRACE_DEBUG
;
39 // ------------------------------------------------------------------------
41 // ------------------------------------------------------------------------
44 * @param name - name of base event
46 public BaseEventInfo(String name
) {
52 * @param other - the instance to copy
54 public BaseEventInfo(BaseEventInfo other
) {
56 fEventType
= other
.fEventType
;
59 // ------------------------------------------------------------------------
61 // ------------------------------------------------------------------------
64 * @see org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.IBaseEventInfo#getEventType()
67 public TraceEventType
getEventType() {
73 * @see org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.IBaseEventInfo#setEventType(org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.TraceEventType)
76 public void setEventType(TraceEventType type
) {
82 * @see org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.IBaseEventInfo#setEventType(java.lang.String)
85 public void setEventType(String typeName
) {
86 if(TraceEventType
.TRACEPOINT
.getInName().equals(typeName
)) {
87 fEventType
= TraceEventType
.TRACEPOINT
;
88 } else if(TraceEventType
.SYSCALL
.getInName().equals(typeName
)) {
89 fEventType
= TraceEventType
.SYSCALL
;
90 } else if (TraceEventType
.PROBE
.getInName().equals(typeName
)) {
91 fEventType
= TraceEventType
.PROBE
;
93 fEventType
= TraceEventType
.UNKNOWN
;
99 * @see org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.IBaseEventInfo#getLogLevel()
102 public TraceLogLevel
getLogLevel() {
108 * @see org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.IBaseEventInfo#setLogLevel(org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.TraceLogLevel)
111 public void setLogLevel(TraceLogLevel level
) {
117 * @see org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.IBaseEventInfo#setLogLevel(java.lang.String)
120 public void setLogLevel(String levelName
) {
121 if(TraceLogLevel
.TRACE_EMERG
.getInName().equals(levelName
)) {
122 fLogLevel
= TraceLogLevel
.TRACE_EMERG
;
123 } else if(TraceLogLevel
.TRACE_ALERT
.getInName().equals(levelName
)) {
124 fLogLevel
= TraceLogLevel
.TRACE_ALERT
;
125 } else if(TraceLogLevel
.TRACE_CRIT
.getInName().equals(levelName
)) {
126 fLogLevel
= TraceLogLevel
.TRACE_CRIT
;
127 } else if(TraceLogLevel
.TRACE_ERR
.getInName().equals(levelName
)) {
128 fLogLevel
= TraceLogLevel
.TRACE_ERR
;
129 } else if(TraceLogLevel
.TRACE_WARNING
.getInName().equals(levelName
)) {
130 fLogLevel
= TraceLogLevel
.TRACE_WARNING
;
131 } else if(TraceLogLevel
.TRACE_NOTICE
.getInName().equals(levelName
)) {
132 fLogLevel
= TraceLogLevel
.TRACE_NOTICE
;
133 } else if(TraceLogLevel
.TRACE_INFO
.getInName().equals(levelName
)) {
134 fLogLevel
= TraceLogLevel
.TRACE_INFO
;
135 } else if(TraceLogLevel
.TRACE_DEBUG_SYSTEM
.getInName().equals(levelName
)) {
136 fLogLevel
= TraceLogLevel
.TRACE_DEBUG_SYSTEM
;
137 } else if(TraceLogLevel
.TRACE_DEBUG_PROGRAM
.getInName().equals(levelName
)) {
138 fLogLevel
= TraceLogLevel
.TRACE_DEBUG_PROGRAM
;
139 } else if(TraceLogLevel
.TRACE_DEBUG_PROCESS
.getInName().equals(levelName
)) {
140 fLogLevel
= TraceLogLevel
.TRACE_DEBUG_PROCESS
;
141 } else if(TraceLogLevel
.TRACE_DEBUG_MODULE
.getInName().equals(levelName
)) {
142 fLogLevel
= TraceLogLevel
.TRACE_DEBUG_MODULE
;
143 } else if(TraceLogLevel
.TRACE_DEBUG_UNIT
.getInName().equals(levelName
)) {
144 fLogLevel
= TraceLogLevel
.TRACE_DEBUG_UNIT
;
145 } else if(TraceLogLevel
.TRACE_DEBUG_FUNCTION
.getInName().equals(levelName
)) {
146 fLogLevel
= TraceLogLevel
.TRACE_DEBUG_FUNCTION
;
147 } else if(TraceLogLevel
.TRACE_DEBUG_LINE
.getInName().equals(levelName
)) {
148 fLogLevel
= TraceLogLevel
.TRACE_DEBUG_LINE
;
149 } else if(TraceLogLevel
.TRACE_DEBUG
.getInName().equals(levelName
)) {
150 fLogLevel
= TraceLogLevel
.TRACE_DEBUG
;
151 } else if(TraceLogLevel
.LEVEL_UNKNOWN
.getInName().equals(levelName
)) {
152 fLogLevel
= TraceLogLevel
.LEVEL_UNKNOWN
;
154 fLogLevel
= TraceLogLevel
.TRACE_DEBUG
;
160 * @see org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.ITraceInfo#formatString()
162 @SuppressWarnings("nls")
164 public String
formatString() {
165 StringBuffer output
= new StringBuffer();
166 // ust_tests_hello:tptest_sighandler (loglevel: TRACE_DEBUG_MODULE (10)) (type: tracepoint)");
167 output
.append("\n ");
168 output
.append(getName());
169 if (fLogLevel
!= TraceLogLevel
.LEVEL_UNKNOWN
) {
170 output
.append(" (loglevel: ");
171 output
.append(fLogLevel
.getInName());
173 output
.append(fLogLevel
.ordinal());
176 output
.append(" (type: ");
177 output
.append(fEventType
.getInName());
179 return output
.toString();
184 * @see org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl.TraceInfo#hashCode()
187 public int hashCode() {
188 final int prime
= 31;
189 int result
= super.hashCode();
190 result
= prime
* result
+ ((fEventType
== null) ?
0 : (fEventType
.ordinal() + 1));
191 result
= prime
* result
+ ((fLogLevel
== null) ?
0 : (fLogLevel
.ordinal() + 1));
197 * @see org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl.TraceInfo#equals(java.lang.Object)
200 public boolean equals(Object obj
) {
204 if (!super.equals(obj
)) {
207 if (getClass() != obj
.getClass()) {
210 BaseEventInfo other
= (BaseEventInfo
) obj
;
211 if (fEventType
!= other
.fEventType
) {
214 if (fLogLevel
!= other
.fLogLevel
) {
222 * @see org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl.TraceInfo#toString()
224 @SuppressWarnings("nls")
226 public String
toString() {
227 StringBuffer output
= new StringBuffer();
228 output
.append("[BaseEventInfo(");
229 output
.append(super.toString());
230 output
.append(",type=");
231 output
.append(fEventType
);
232 output
.append(",level=");
233 output
.append(fLogLevel
);
235 return output
.toString();