tmf: lttngControl: LogLevelType: mi support + utility function
authorJonathan Rajotte Julien <jonathan.rajotte-julien@ericsson.com>
Mon, 4 Aug 2014 15:18:20 +0000 (11:18 -0400)
committerBernd Hufmann <bernd.hufmann@ericsson.com>
Wed, 27 Aug 2014 15:26:35 +0000 (11:26 -0400)
Change-Id: I6614b61ffa3f21caeaea1a0b03801dda237624a2
Signed-off-by: Jonathan Rajotte Julien <jonathan.rajotte-julien@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/30975
Tested-by: Hudson CI
Reviewed-by: Bernd Hufmann <bernd.hufmann@ericsson.com>
Tested-by: Bernd Hufmann <bernd.hufmann@ericsson.com>
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
org.eclipse.linuxtools.lttng2.control.core.tests/src/org/eclipse/linuxtools/lttng2/control/core/tests/model/impl/EventInfoTest.java
org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/LogLevelType.java
org.eclipse.linuxtools.lttng2.control.core/src/org/eclipse/linuxtools/internal/lttng2/control/core/model/impl/EventInfo.java

index 2affb71d160065172f490e8c99cf5682f06fb966..bc15edd028291d600cb03d7e47f89fb75284b095 100644 (file)
@@ -197,6 +197,7 @@ public class EventInfoTest {
         assertEquals("ENABLED", state.toString());
         assertEquals(1, state.ordinal());
 
+        // setLogLevelType(String name)
         fixture.setLogLevelType("==");
         assertEquals("LOGLEVEL_ONLY", fixture.getLogLevelType().name());
         assertEquals("==", fixture.getLogLevelType().getShortName());
@@ -206,12 +207,43 @@ public class EventInfoTest {
         assertEquals("<=", fixture.getLogLevelType().getShortName());
 
         fixture.setLogLevelType("");
-        assertEquals("LOGLEVEL_NONE", fixture.getLogLevelType().name());
+        assertEquals("LOGLEVEL_ALL", fixture.getLogLevelType().name());
         assertEquals("", fixture.getLogLevelType().getShortName());
 
         fixture.setLogLevelType(LogLevelType.LOGLEVEL_ONLY);
         assertEquals("LOGLEVEL_ONLY", fixture.getLogLevelType().name());
         assertEquals("==", fixture.getLogLevelType().getShortName());
+
+        fixture.setLogLevelType(LogLevelType.LOGLEVEL);
+        assertEquals("LOGLEVEL", fixture.getLogLevelType().name());
+        assertEquals("<=", fixture.getLogLevelType().getShortName());
+
+        fixture.setLogLevelType(LogLevelType.LOGLEVEL_ALL);
+        assertEquals("LOGLEVEL_ALL", fixture.getLogLevelType().name());
+        assertEquals("", fixture.getLogLevelType().getShortName());
+
+        fixture.setLogLevelType(LogLevelType.LOGLEVEL_NONE);
+        assertEquals("LOGLEVEL_NONE", fixture.getLogLevelType().name());
+        assertEquals("", fixture.getLogLevelType().getShortName());
+
+        // setLogLevelType(String name)
+        // machine interface
+        fixture.setLogLevelType("SINGLE");
+        assertEquals("LOGLEVEL_ONLY", fixture.getLogLevelType().name());
+        assertEquals("SINGLE", fixture.getLogLevelType().getMiName());
+
+        fixture.setLogLevelType("RANGE");
+        assertEquals("LOGLEVEL", fixture.getLogLevelType().name());
+        assertEquals("RANGE", fixture.getLogLevelType().getMiName());
+
+        fixture.setLogLevelType("ALL");
+        assertEquals("LOGLEVEL_ALL", fixture.getLogLevelType().name());
+        assertEquals("ALL", fixture.getLogLevelType().getMiName());
+
+        fixture.setLogLevelType("UNKNOWN");
+        assertEquals("LOGLEVEL_NONE", fixture.getLogLevelType().name());
+        assertEquals("UNKNOWN", fixture.getLogLevelType().getMiName());
+
     }
 
     /**
index ab0c405f56180829d9e32fdb614851ea0f4efbb7..7f6f2cef5049ff5b44fedf091036e949d1ae7576 100644 (file)
  *********************************************************************/
 package org.eclipse.linuxtools.internal.lttng2.control.core.model;
 
+
 /**
- * <p>
  * Type of log Level enumeration.
- * </p>
  *
  * @author Bernd Hufmann
  */
@@ -24,13 +23,16 @@ public enum LogLevelType {
     // Enum definition
     // ------------------------------------------------------------------------
     /** range of log levels [0,logLevel] */
-    LOGLEVEL("<="), //$NON-NLS-1$
+    LOGLEVEL("<=", "RANGE"), //$NON-NLS-1$ //$NON-NLS-2$
+
+    /** all log level */
+    LOGLEVEL_ALL("", "ALL"), //$NON-NLS-1$//$NON-NLS-2$
 
     /** single log level */
-    LOGLEVEL_ONLY("=="), //$NON-NLS-1$
+    LOGLEVEL_ONLY("==", "SINGLE"), //$NON-NLS-1$ //$NON-NLS-2$
 
     /** no log level */
-    LOGLEVEL_NONE(""); //$NON-NLS-1$
+    LOGLEVEL_NONE("", "UNKNOWN"); //$NON-NLS-1$ //$NON-NLS-2$
 
     // ------------------------------------------------------------------------
     // Constuctors
@@ -38,19 +40,23 @@ public enum LogLevelType {
 
     /**
      * Private constructor
-     * @param name the name of state
+     *
+     * @param name
+     *            the name of state
      */
-    private LogLevelType(String shortName) {
+    private LogLevelType(String shortName, String miName) {
         fShortName = shortName;
+        fMiName = miName;
     }
 
-     // ------------------------------------------------------------------------
+    // ------------------------------------------------------------------------
     // Attributes
     // ------------------------------------------------------------------------
     /**
      * Name of enum.
      */
     private final String fShortName;
+    private final String fMiName;
 
     // ------------------------------------------------------------------------
     // Accessors
@@ -62,4 +68,37 @@ public enum LogLevelType {
         return fShortName;
     }
 
+    /**
+     * @return machine interface name string
+     */
+    public String getMiName() {
+        return fMiName;
+    }
+
+    // ------------------------------------------------------------------------
+    // Utility
+    // ------------------------------------------------------------------------
+    /**
+     * Return the corresponding {@link LogLevelType} to String "name"
+     *
+     * @param name
+     *            String to compare to retrieve the good LogLevelType
+     * @return the corresponding {@link LogLevelType}
+     */
+    public static LogLevelType valueOfString(String name) {
+        if (name == null) {
+            throw new IllegalArgumentException();
+        }
+        for (LogLevelType lltype : LogLevelType.values()) {
+            if (!lltype.equals(LOGLEVEL_NONE)) {
+                boolean isEqual = lltype.fShortName.equalsIgnoreCase(name) || lltype.fMiName.equalsIgnoreCase(name);
+                if (isEqual) {
+                    return lltype;
+                }
+            }
+        }
+
+        // No match
+        return LogLevelType.LOGLEVEL_NONE;
+    }
 }
index ffc84d2146e0029d1b440e7ff57e2732acaa1607..7da1b6b3fab0112ce1204d1a9ee7384272869165 100644 (file)
@@ -94,13 +94,7 @@ public class EventInfo extends BaseEventInfo implements IEventInfo {
 
     @Override
     public void setLogLevelType(String shortName) {
-        if (LogLevelType.LOGLEVEL.getShortName().equals(shortName)) {
-            fLogLevelType = LogLevelType.LOGLEVEL;
-        } else if (LogLevelType.LOGLEVEL_ONLY.getShortName().equals(shortName)) {
-            fLogLevelType = LogLevelType.LOGLEVEL_ONLY;
-        } else {
-            fLogLevelType= LogLevelType.LOGLEVEL_NONE;
-        }
+        fLogLevelType = LogLevelType.valueOfString(shortName);
     }
 
 
This page took 0.028384 seconds and 5 git commands to generate.