Fix for bug 383146 (enable/disable of wildcarded UST events issue)
authorBernd Hufmann <bhufmann@gmail.com>
Wed, 20 Jun 2012 19:16:41 +0000 (15:16 -0400)
committerBernd Hufmann <bhufmann@gmail.com>
Wed, 20 Jun 2012 19:16:41 +0000 (15:16 -0400)
org.eclipse.linuxtools.lttng2.ui.tests/testfiles/CreateTreeTest.cfg
org.eclipse.linuxtools.lttng2.ui/src/org/eclipse/linuxtools/internal/lttng2/ui/views/control/dialogs/EnableUstEventsComposite.java
org.eclipse.linuxtools.lttng2.ui/src/org/eclipse/linuxtools/internal/lttng2/ui/views/control/service/LTTngControlService.java
org.eclipse.linuxtools.lttng2.ui/src/org/eclipse/linuxtools/internal/lttng2/ui/views/control/service/LTTngControlServiceFactory.java

index 53fa9e463028d419d6a74341dd4a231531bc0bff..09d7c904a547525774637a2ed5d6d96bff49fdcd 100644 (file)
@@ -2258,7 +2258,7 @@ Channels:
 </COMMAND_OUTPUT>
 
 <COMMAND_INPUT>
-lttng enable-event ust* -u  -s mysession -c mychannel --tracepoint 
+lttng enable-event "ust*" -u  -s mysession -c mychannel --tracepoint 
 </COMMAND_INPUT>
 <COMMAND_RESULT>
 0
@@ -2324,7 +2324,7 @@ Channels:
 </COMMAND_OUTPUT>
 
 <COMMAND_INPUT>
-lttng enable-event ust* -u  -s mysession --tracepoint 
+lttng enable-event "ust*" -u  -s mysession --tracepoint 
 </COMMAND_INPUT>
 <COMMAND_RESULT>
 0
@@ -2391,7 +2391,7 @@ Channels:
 </COMMAND_OUTPUT>
 
 <COMMAND_INPUT>
-lttng enable-event u* -u  -s mysession --tracepoint 
+lttng enable-event "u*" -u  -s mysession --tracepoint 
 </COMMAND_INPUT>
 <COMMAND_RESULT>
 0
index 83347f1f6751ea97e9361dc470b2112da07a9b9e..8b3ff8628f203c1b6490a2426cb1c8d04a6f463a 100644 (file)
@@ -200,7 +200,7 @@ public class EnableUstEventsComposite extends Composite implements IEnableUstEve
      */
     @Override
     public String getWildcard() {
-        return "\"" + fWildcard + "\"";  //$NON-NLS-1$//$NON-NLS-2$
+        return fWildcard;
     }
 
     /*
index d5e3b03b634bf97f30a474c0452c95f9ef3181b6..fce82526eaa0217b17559a3f7b0a72f03919da49 100644 (file)
@@ -523,13 +523,15 @@ public class LTTngControlService implements ILttngControlService {
             command.append(LTTngControlServiceConstants.OPTION_ALL);
         } else {
 
+            StringBuffer eventNameParameter = new StringBuffer();
             for (Iterator<String> iterator = eventNames.iterator(); iterator.hasNext();) {
                 String event = iterator.next();
-                command.append(event);
+                eventNameParameter.append(event);
                 if (iterator.hasNext()) {
-                    command.append(',');
+                    eventNameParameter.append(',');
                 }
             }
+            command.append(formatParameter(eventNameParameter.toString()));
         }
 
         if (isKernel) {
@@ -656,18 +658,20 @@ public class LTTngControlService implements ILttngControlService {
         if (eventNames == null) {
             command.append(LTTngControlServiceConstants.OPTION_ALL);
         } else {
-            // no events to enable
+            // no events to disable
             if (eventNames.isEmpty()) {
                 return;
             }
 
+            StringBuffer eventNameParameter = new StringBuffer();
             for (Iterator<String> iterator = eventNames.iterator(); iterator.hasNext();) {
                 String event = iterator.next();
-                command.append(event);
+                eventNameParameter.append(event);
                 if (iterator.hasNext()) {
-                    command.append(',');
+                    eventNameParameter.append(',');
                 }
             }
+            command.append(formatParameter(eventNameParameter.toString()));
         }
 
         if (isKernel) {
@@ -811,7 +815,7 @@ public class LTTngControlService implements ILttngControlService {
      *            - output array
      * @return - the formatted output
      */
-    protected String formatOutput(ICommandResult result) {
+    public static String formatOutput(ICommandResult result) {
         if ((result == null) || result.getOutput() == null || result.getOutput().length == 0) {
             return ""; //$NON-NLS-1$
         }
@@ -1070,7 +1074,7 @@ public class LTTngControlService implements ILttngControlService {
             StringBuffer newString = new StringBuffer();
             newString.append(parameter);
 
-            if (parameter.contains(" ")) { //$NON-NLS-1$
+            if (parameter.contains(" ") || parameter.contains("*")) { //$NON-NLS-1$ //$NON-NLS-2$
                 newString.insert(0, "\""); //$NON-NLS-1$
                 newString.append("\""); //$NON-NLS-1$
             }
index b9def2b191d2e5bc46ab967cf5ef3f70a84da231..26649d563c97192721b96338f8349346bb35c523 100644 (file)
@@ -15,7 +15,9 @@ import java.util.regex.Matcher;
 
 import org.eclipse.core.commands.ExecutionException;
 import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.linuxtools.internal.lttng2.ui.views.control.logging.ControlCommandLogger;
 import org.eclipse.linuxtools.internal.lttng2.ui.views.control.messages.Messages;
+import org.eclipse.linuxtools.internal.lttng2.ui.views.control.preferences.ControlPreferences;
 import org.eclipse.linuxtools.internal.lttng2.ui.views.control.remote.ICommandResult;
 import org.eclipse.linuxtools.internal.lttng2.ui.views.control.remote.ICommandShell;
 
@@ -72,7 +74,17 @@ public class LTTngControlServiceFactory {
      */
     public ILttngControlService getLttngControlService(ICommandShell shell) throws ExecutionException {
         // get the version
-        ICommandResult result = shell.executeCommand(LTTngControlServiceConstants.CONTROL_COMMAND + LTTngControlServiceConstants.COMMAND_VERSION, new NullProgressMonitor());
+        String command = LTTngControlServiceConstants.CONTROL_COMMAND + LTTngControlServiceConstants.COMMAND_VERSION;
+
+        if (ControlPreferences.getInstance().isLoggingEnabled()) {
+            ControlCommandLogger.log(command);
+        }
+
+        ICommandResult result = shell.executeCommand(command, new NullProgressMonitor());
+
+        if (ControlPreferences.getInstance().isLoggingEnabled()) {
+            ControlCommandLogger.log(LTTngControlService.formatOutput(result));
+        }
 
         if ((result != null) && (result.getResult() == 0) && (result.getOutput().length >= 1) && (!LTTngControlServiceConstants.ERROR_PATTERN.matcher(result.getOutput()[0]).matches())) {
             int index = 0;
This page took 0.030616 seconds and 5 git commands to generate.