/**********************************************************************
- * Copyright (c) 2012 Ericsson
+ * Copyright (c) 2012, 2014 Ericsson
*
* All rights reserved. This program and the accompanying materials are
* made available under the terms of the Eclipse Public License v1.0 which
*
* Contributors:
* Bernd Hufmann - Initial API and implementation
+ * Jonathan Rajotte - Utility function
*********************************************************************/
package org.eclipse.linuxtools.internal.lttng2.control.core.model;
+
/**
- * <p>
* Log Level enumeration.
- * </p>
*
* @author Bernd Hufmann
*/
/**
* Private constructor
- * @param name the name of state
+ *
+ * @param name
+ * the name of state
*/
private TraceLogLevel(String name) {
fInName = name;
public String getInName() {
return fInName;
}
+
+ // ------------------------------------------------------------------------
+ // Utility
+ // ------------------------------------------------------------------------
+ /**
+ * Return the corresponding {@link TraceLogLevel} to String "name"
+ *
+ * @param name
+ * String to compare to retrieve the good {@link TraceLogLevel}
+ * @return the corresponding {@link TraceLogLevel}
+ */
+ public static TraceLogLevel valueOfString(String name) {
+ if (name == null) {
+ throw new IllegalArgumentException();
+ }
+ for (TraceLogLevel tllevel : TraceLogLevel.values()) {
+ if (tllevel.getInName().equalsIgnoreCase(name)) {
+ return tllevel;
+ }
+ }
+ // No match
+ return LEVEL_UNKNOWN;
+ }
}
@Override
public void setLogLevel(String levelName) {
- if(TraceLogLevel.TRACE_EMERG.getInName().equalsIgnoreCase(levelName)) {
- fLogLevel = TraceLogLevel.TRACE_EMERG;
- } else if(TraceLogLevel.TRACE_ALERT.getInName().equalsIgnoreCase(levelName)) {
- fLogLevel = TraceLogLevel.TRACE_ALERT;
- } else if(TraceLogLevel.TRACE_CRIT.getInName().equalsIgnoreCase(levelName)) {
- fLogLevel = TraceLogLevel.TRACE_CRIT;
- } else if(TraceLogLevel.TRACE_ERR.getInName().equalsIgnoreCase(levelName)) {
- fLogLevel = TraceLogLevel.TRACE_ERR;
- } else if(TraceLogLevel.TRACE_WARNING.getInName().equalsIgnoreCase(levelName)) {
- fLogLevel = TraceLogLevel.TRACE_WARNING;
- } else if(TraceLogLevel.TRACE_NOTICE.getInName().equalsIgnoreCase(levelName)) {
- fLogLevel = TraceLogLevel.TRACE_NOTICE;
- } else if(TraceLogLevel.TRACE_INFO.getInName().equalsIgnoreCase(levelName)) {
- fLogLevel = TraceLogLevel.TRACE_INFO;
- } else if(TraceLogLevel.TRACE_DEBUG_SYSTEM.getInName().equalsIgnoreCase(levelName)) {
- fLogLevel = TraceLogLevel.TRACE_DEBUG_SYSTEM;
- } else if(TraceLogLevel.TRACE_DEBUG_PROGRAM.getInName().equalsIgnoreCase(levelName)) {
- fLogLevel = TraceLogLevel.TRACE_DEBUG_PROGRAM;
- } else if(TraceLogLevel.TRACE_DEBUG_PROCESS.getInName().equalsIgnoreCase(levelName)) {
- fLogLevel = TraceLogLevel.TRACE_DEBUG_PROCESS;
- } else if(TraceLogLevel.TRACE_DEBUG_MODULE.getInName().equalsIgnoreCase(levelName)) {
- fLogLevel = TraceLogLevel.TRACE_DEBUG_MODULE;
- } else if(TraceLogLevel.TRACE_DEBUG_UNIT.getInName().equalsIgnoreCase(levelName)) {
- fLogLevel = TraceLogLevel.TRACE_DEBUG_UNIT;
- } else if(TraceLogLevel.TRACE_DEBUG_FUNCTION.getInName().equalsIgnoreCase(levelName)) {
- fLogLevel = TraceLogLevel.TRACE_DEBUG_FUNCTION;
- } else if(TraceLogLevel.TRACE_DEBUG_LINE.getInName().equalsIgnoreCase(levelName)) {
- fLogLevel = TraceLogLevel.TRACE_DEBUG_LINE;
- } else if(TraceLogLevel.TRACE_DEBUG.getInName().equalsIgnoreCase(levelName)) {
- fLogLevel = TraceLogLevel.TRACE_DEBUG;
- } else if(TraceLogLevel.LEVEL_UNKNOWN.getInName().equalsIgnoreCase(levelName)) {
- fLogLevel = TraceLogLevel.LEVEL_UNKNOWN;
- } else {
- fLogLevel = TraceLogLevel.TRACE_DEBUG;
- }
+ fLogLevel = TraceLogLevel.valueOfString(levelName);
}
@Override