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
;
20 * Implementation of the basic trace event interface (IEventInfo) to store event
24 * @author Bernd Hufmann
26 public class BaseEventInfo
extends TraceInfo
implements IBaseEventInfo
{
28 // ------------------------------------------------------------------------
30 // ------------------------------------------------------------------------
32 * The trace event type.
34 private TraceEventType fEventType
= TraceEventType
.UNKNOWN
;
36 * The trace log level.
38 private TraceLogLevel fLogLevel
= TraceLogLevel
.TRACE_DEBUG
;
40 // ------------------------------------------------------------------------
42 // ------------------------------------------------------------------------
45 * @param name - name of base event
47 public BaseEventInfo(String name
) {
53 * @param other - the instance to copy
55 public BaseEventInfo(BaseEventInfo other
) {
57 fEventType
= other
.fEventType
;
60 // ------------------------------------------------------------------------
62 // ------------------------------------------------------------------------
65 * @see org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.IBaseEventInfo#getEventType()
68 public TraceEventType
getEventType() {
74 * @see org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.IBaseEventInfo#setEventType(org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.TraceEventType)
77 public void setEventType(TraceEventType type
) {
83 * @see org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.IBaseEventInfo#setEventType(java.lang.String)
86 public void setEventType(String typeName
) {
87 if(TraceEventType
.TRACEPOINT
.getInName().equals(typeName
)) {
88 fEventType
= TraceEventType
.TRACEPOINT
;
89 } else if(TraceEventType
.SYSCALL
.getInName().equals(typeName
)) {
90 fEventType
= TraceEventType
.SYSCALL
;
91 } else if (TraceEventType
.PROBE
.getInName().equals(typeName
)) {
92 fEventType
= TraceEventType
.PROBE
;
94 fEventType
= TraceEventType
.UNKNOWN
;
100 * @see org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.IBaseEventInfo#getLogLevel()
103 public TraceLogLevel
getLogLevel() {
109 * @see org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.IBaseEventInfo#setLogLevel(org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.TraceLogLevel)
112 public void setLogLevel(TraceLogLevel level
) {
118 * @see org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.IBaseEventInfo#setLogLevel(java.lang.String)
121 public void setLogLevel(String levelName
) {
122 if(TraceLogLevel
.TRACE_EMERG
.getInName().equals(levelName
)) {
123 fLogLevel
= TraceLogLevel
.TRACE_EMERG
;
124 } else if(TraceLogLevel
.TRACE_ALERT
.getInName().equals(levelName
)) {
125 fLogLevel
= TraceLogLevel
.TRACE_ALERT
;
126 } else if(TraceLogLevel
.TRACE_CRIT
.getInName().equals(levelName
)) {
127 fLogLevel
= TraceLogLevel
.TRACE_CRIT
;
128 } else if(TraceLogLevel
.TRACE_ERR
.getInName().equals(levelName
)) {
129 fLogLevel
= TraceLogLevel
.TRACE_ERR
;
130 } else if(TraceLogLevel
.TRACE_WARNING
.getInName().equals(levelName
)) {
131 fLogLevel
= TraceLogLevel
.TRACE_WARNING
;
132 } else if(TraceLogLevel
.TRACE_NOTICE
.getInName().equals(levelName
)) {
133 fLogLevel
= TraceLogLevel
.TRACE_NOTICE
;
134 } else if(TraceLogLevel
.TRACE_INFO
.getInName().equals(levelName
)) {
135 fLogLevel
= TraceLogLevel
.TRACE_INFO
;
136 } else if(TraceLogLevel
.TRACE_DEBUG_SYSTEM
.getInName().equals(levelName
)) {
137 fLogLevel
= TraceLogLevel
.TRACE_DEBUG_SYSTEM
;
138 } else if(TraceLogLevel
.TRACE_DEBUG_PROGRAM
.getInName().equals(levelName
)) {
139 fLogLevel
= TraceLogLevel
.TRACE_DEBUG_PROGRAM
;
140 } else if(TraceLogLevel
.TRACE_DEBUG_PROCESS
.getInName().equals(levelName
)) {
141 fLogLevel
= TraceLogLevel
.TRACE_DEBUG_PROCESS
;
142 } else if(TraceLogLevel
.TRACE_DEBUG_MODULE
.getInName().equals(levelName
)) {
143 fLogLevel
= TraceLogLevel
.TRACE_DEBUG_MODULE
;
144 } else if(TraceLogLevel
.TRACE_DEBUG_UNIT
.getInName().equals(levelName
)) {
145 fLogLevel
= TraceLogLevel
.TRACE_DEBUG_UNIT
;
146 } else if(TraceLogLevel
.TRACE_DEBUG_FUNCTION
.getInName().equals(levelName
)) {
147 fLogLevel
= TraceLogLevel
.TRACE_DEBUG_FUNCTION
;
148 } else if(TraceLogLevel
.TRACE_DEBUG_LINE
.getInName().equals(levelName
)) {
149 fLogLevel
= TraceLogLevel
.TRACE_DEBUG_LINE
;
150 } else if(TraceLogLevel
.TRACE_DEBUG
.getInName().equals(levelName
)) {
151 fLogLevel
= TraceLogLevel
.TRACE_DEBUG
;
152 } else if(TraceLogLevel
.LEVEL_UNKNOWN
.getInName().equals(levelName
)) {
153 fLogLevel
= TraceLogLevel
.LEVEL_UNKNOWN
;
155 fLogLevel
= TraceLogLevel
.TRACE_DEBUG
;
161 * @see org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl.TraceInfo#hashCode()
164 public int hashCode() {
165 final int prime
= 31;
166 int result
= super.hashCode();
167 result
= prime
* result
+ ((fEventType
== null) ?
0 : (fEventType
.ordinal() + 1));
168 result
= prime
* result
+ ((fLogLevel
== null) ?
0 : (fLogLevel
.ordinal() + 1));
174 * @see org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl.TraceInfo#equals(java.lang.Object)
177 public boolean equals(Object obj
) {
181 if (!super.equals(obj
)) {
184 if (getClass() != obj
.getClass()) {
187 BaseEventInfo other
= (BaseEventInfo
) obj
;
188 if (fEventType
!= other
.fEventType
) {
191 if (fLogLevel
!= other
.fLogLevel
) {
199 * @see org.eclipse.linuxtools.internal.lttng2.ui.views.control.model.impl.TraceInfo#toString()
201 @SuppressWarnings("nls")
203 public String
toString() {
204 StringBuffer output
= new StringBuffer();
205 output
.append("[BaseEventInfo(");
206 output
.append(super.toString());
207 output
.append(",type=");
208 output
.append(fEventType
);
209 output
.append(",level=");
210 output
.append(fLogLevel
);
212 return output
.toString();