control: Bug 490322: command support for enabling specific event by name
authorBruno Roy <bruno.roy@ericsson.com>
Mon, 16 May 2016 18:27:52 +0000 (14:27 -0400)
committerBernd Hufmann <bernd.hufmann@ericsson.com>
Tue, 21 Jun 2016 12:53:37 +0000 (08:53 -0400)
Change-Id: I14628d04a7546c10f518c84a2b64be4069cd9196
Signed-off-by: Bruno Roy <bruno.roy@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/72838
Reviewed-by: Hudson CI
Reviewed-by: Bernd Hufmann <bernd.hufmann@ericsson.com>
Tested-by: Bernd Hufmann <bernd.hufmann@ericsson.com>
Reviewed-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
lttng/org.eclipse.tracecompass.lttng2.control.ui/src/org/eclipse/tracecompass/internal/lttng2/control/ui/views/dialogs/EnableKernelEventComposite.java
lttng/org.eclipse.tracecompass.lttng2.control.ui/src/org/eclipse/tracecompass/internal/lttng2/control/ui/views/messages/Messages.java
lttng/org.eclipse.tracecompass.lttng2.control.ui/src/org/eclipse/tracecompass/internal/lttng2/control/ui/views/messages/messages.properties

index ae63d4f6a9133b78910bef6effb7abe8e2af25cd..3bd14717a4d3bab621c8a04e232ba2b47b3b5a0b 100644 (file)
@@ -13,7 +13,9 @@
 package org.eclipse.tracecompass.internal.lttng2.control.ui.views.dialogs;
 
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
+import java.util.stream.Collectors;
 
 import org.eclipse.jface.dialogs.MessageDialog;
 import org.eclipse.jface.viewers.CheckStateChangedEvent;
@@ -75,6 +77,10 @@ public class EnableKernelEventComposite extends Composite implements IEnableKern
      * A button to enable/disable the syscalls group
      */
     private Button fSysCallsActivateButton;
+    /**
+     * A Text field for the specific event name.
+     */
+    private Text fSpecificEventText;
     /**
      * A button to enable or disable the dynamic probe group.
      */
@@ -304,6 +310,16 @@ public class EnableKernelEventComposite extends Composite implements IEnableKern
                 nbEvents += comp.getChildren().length;
             }
             fIsAllTracepoints = (nbEvents == fSelectedEvents.size());
+            String tmpSpecificEvent = fSpecificEventText.getText();
+            if (!fIsAllTracepoints && !tmpSpecificEvent.trim().isEmpty()) {
+                // Format the text to a List<String>
+                // Removing all non visible characters
+                tmpSpecificEvent = tmpSpecificEvent.replaceAll("\\s", ""); //$NON-NLS-1$ //$NON-NLS-2$
+                // Splitting the different events that are separated by commas
+                List<String> list = Arrays.asList(tmpSpecificEvent.split(",")); //$NON-NLS-1$
+                fSelectedEvents.addAll(list);
+                fSelectedEvents = fSelectedEvents.stream().distinct().collect(Collectors.toList());
+            }
         }
 
         if (fIsDynamicProbe) {
@@ -445,6 +461,24 @@ public class EnableKernelEventComposite extends Composite implements IEnableKern
                 treeViewer.expandAll();
             }
         };
+
+        Group specificEventGroup = new Group(tracepointsGroup, SWT.SHADOW_NONE);
+        specificEventGroup.setText(Messages.TraceControl_EnableEventsSpecificEventGroupName);
+        layout = new GridLayout(4, true);
+        specificEventGroup.setLayout(layout);
+        specificEventGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+
+        Label specificEventLabel = new Label(specificEventGroup, SWT.LEFT);
+        specificEventLabel.setText(Messages.TraceControl_EnableEventsSpecificEventLabel);
+        data = new GridData(GridData.FILL_HORIZONTAL);
+        data.horizontalSpan = 1;
+        specificEventLabel.setLayoutData(data);
+
+        fSpecificEventText = new Text(specificEventGroup, SWT.LEFT);
+        fSpecificEventText.setToolTipText(Messages.TraceControl_EnableEventsSpecificEventTooltip);
+        data = new GridData(GridData.FILL_HORIZONTAL);
+        data.horizontalSpan = 3;
+        fSpecificEventText.setLayoutData(data);
     }
 
     /**
@@ -612,6 +646,7 @@ public class EnableKernelEventComposite extends Composite implements IEnableKern
         fAllActivateButton.setSelection(group == KernelGroupEnum.ALL);
         fTracepointsActivateButton.setSelection(group == KernelGroupEnum.TRACEPOINTS);
         fTracepointsViewer.getTree().setEnabled(group == KernelGroupEnum.TRACEPOINTS);
+        fSpecificEventText.setEnabled(group == KernelGroupEnum.TRACEPOINTS);
 
         fSysCallsActivateButton.setSelection(group == KernelGroupEnum.SYSCALLS);
 
index ba9e39b4563a2fb35d1052b250cd1b71b84a711a..9d72260993cf111a0cc3d852d3837de3c3655289 100644 (file)
@@ -203,6 +203,9 @@ public final class Messages extends NLS {
     public static String TraceControl_EnableGroupSelectionName;
     public static String TraceControl_EnableEventsAllEventsLabel;
     public static String TraceControl_EnableEventsAllEventsTooltip;
+    public static String TraceControl_EnableEventsSpecificEventGroupName;
+    public static String TraceControl_EnableEventsSpecificEventLabel;
+    public static String TraceControl_EnableEventsSpecificEventTooltip;
     public static String TraceControl_EnableEventsTracepointGroupName;
     public static String TraceControl_EnableEventsTracepointTreeTooltip;
     public static String TraceControl_EnableEventsTracepointTreeAllLabel;
index 5f980989d53f518895ae5f494ac4cd4e19298957..90aa4f8e8b4810f89039601e1faae5f50be4171a 100644 (file)
@@ -191,6 +191,9 @@ TraceControl_EnableEventsNoChannelError=No channel from channel list is selected
 TraceControl_EnableGroupSelectionName=Select
 TraceControl_EnableEventsAllEventsLabel=All Tracepoint Events and Syscalls
 TraceControl_EnableEventsAllEventsTooltip=Enable all tracepoint events and all Syscalls
+TraceControl_EnableEventsSpecificEventGroupName=Specific event
+TraceControl_EnableEventsSpecificEventLabel=Event type
+TraceControl_EnableEventsSpecificEventTooltip=Enable event by specifying the name
 TraceControl_EnableEventsTracepointGroupName=Tracepoint Events
 TraceControl_EnableEventsTracepointTreeTooltip=List of available kernel tracepoint events
 TraceControl_EnableEventsTracepointTreeAllLabel=All
@@ -218,7 +221,7 @@ TraceControl_EnableEventsLoglevelEventNameTooltip=Event name for enabling log le
 TraceControl_EnableEventsFilterGroupName=Filter Expression
 TraceControl_EnableEventsFilterTooltip=Filter expression on event field.
 
-TraceControl_InvalidProbeNameError=The probe name is invalid or empty 
+TraceControl_InvalidProbeNameError=The probe name is invalid or empty
 TraceControl_InvalidWildcardError=The wild card name is invalid or empty
 TraceControl_InvalidLogLevelEventNameError=The event name for log level is invalid or empty
 TraceControl_InvalidLogLevel=No log level selected
This page took 0.037918 seconds and 5 git commands to generate.