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
.core
.control
.model
.impl
;
14 import org
.eclipse
.linuxtools
.internal
.lttng2
.core
.control
.model
.IBaseEventInfo
;
15 import org
.eclipse
.linuxtools
.internal
.lttng2
.core
.control
.model
.TraceEventType
;
16 import org
.eclipse
.linuxtools
.internal
.lttng2
.core
.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.impl.TraceInfo#hashCode()
163 public int hashCode() {
164 final int prime
= 31;
165 int result
= super.hashCode();
166 result
= prime
* result
+ ((fEventType
== null) ?
0 : (fEventType
.ordinal() + 1));
167 result
= prime
* result
+ ((fLogLevel
== null) ?
0 : (fLogLevel
.ordinal() + 1));
173 * @see org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl.TraceInfo#equals(java.lang.Object)
176 public boolean equals(Object obj
) {
180 if (!super.equals(obj
)) {
183 if (getClass() != obj
.getClass()) {
186 BaseEventInfo other
= (BaseEventInfo
) obj
;
187 if (fEventType
!= other
.fEventType
) {
190 if (fLogLevel
!= other
.fLogLevel
) {
198 * @see org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl.TraceInfo#toString()
200 @SuppressWarnings("nls")
202 public String
toString() {
203 StringBuffer output
= new StringBuffer();
204 output
.append("[BaseEventInfo(");
205 output
.append(super.toString());
206 output
.append(",type=");
207 output
.append(fEventType
);
208 output
.append(",level=");
209 output
.append(fLogLevel
);
211 return output
.toString();