Added properties implementation
authorBernd Hufmann <bhufmann@gmail.com>
Thu, 9 Feb 2012 13:01:23 +0000 (08:01 -0500)
committerBernd Hufmann <bhufmann@gmail.com>
Thu, 9 Feb 2012 13:01:23 +0000 (08:01 -0500)
22 files changed:
org.eclipse.linuxtools.lttng.ui.tests/src/org/eclipse/linuxtools/lttng/ui/tests/control/model/component/AllTests.java
org.eclipse.linuxtools.lttng.ui.tests/src/org/eclipse/linuxtools/lttng/ui/tests/control/model/component/TraceControlPropertiesTest.java [new file with mode: 0644]
org.eclipse.linuxtools.lttng.ui.tests/src/org/eclipse/linuxtools/lttng/ui/tests/control/model/component/TraceControlTreeModelTest.java
org.eclipse.linuxtools.lttng.ui/src/org/eclipse/linuxtools/lttng/ui/views/control/Messages.java
org.eclipse.linuxtools.lttng.ui/src/org/eclipse/linuxtools/lttng/ui/views/control/messages.properties
org.eclipse.linuxtools.lttng.ui/src/org/eclipse/linuxtools/lttng/ui/views/control/model/impl/BaseEventComponent.java
org.eclipse.linuxtools.lttng.ui/src/org/eclipse/linuxtools/lttng/ui/views/control/model/impl/KernelProviderComponent.java
org.eclipse.linuxtools.lttng.ui/src/org/eclipse/linuxtools/lttng/ui/views/control/model/impl/TargetNodeComponent.java
org.eclipse.linuxtools.lttng.ui/src/org/eclipse/linuxtools/lttng/ui/views/control/model/impl/TraceChannelComponent.java
org.eclipse.linuxtools.lttng.ui/src/org/eclipse/linuxtools/lttng/ui/views/control/model/impl/TraceDomainComponent.java
org.eclipse.linuxtools.lttng.ui/src/org/eclipse/linuxtools/lttng/ui/views/control/model/impl/TraceEventComponent.java
org.eclipse.linuxtools.lttng.ui/src/org/eclipse/linuxtools/lttng/ui/views/control/model/impl/TraceSessionComponent.java
org.eclipse.linuxtools.lttng.ui/src/org/eclipse/linuxtools/lttng/ui/views/control/model/impl/UstProviderComponent.java
org.eclipse.linuxtools.lttng.ui/src/org/eclipse/linuxtools/lttng/ui/views/control/property/BaseEventPropertySource.java [new file with mode: 0644]
org.eclipse.linuxtools.lttng.ui/src/org/eclipse/linuxtools/lttng/ui/views/control/property/BasePropertySource.java [new file with mode: 0644]
org.eclipse.linuxtools.lttng.ui/src/org/eclipse/linuxtools/lttng/ui/views/control/property/KernelProviderPropertySource.java [new file with mode: 0644]
org.eclipse.linuxtools.lttng.ui/src/org/eclipse/linuxtools/lttng/ui/views/control/property/TargetNodePropertySource.java
org.eclipse.linuxtools.lttng.ui/src/org/eclipse/linuxtools/lttng/ui/views/control/property/TraceChannelPropertySource.java [new file with mode: 0644]
org.eclipse.linuxtools.lttng.ui/src/org/eclipse/linuxtools/lttng/ui/views/control/property/TraceDomainPropertySource.java [new file with mode: 0644]
org.eclipse.linuxtools.lttng.ui/src/org/eclipse/linuxtools/lttng/ui/views/control/property/TraceEventPropertySource.java [new file with mode: 0644]
org.eclipse.linuxtools.lttng.ui/src/org/eclipse/linuxtools/lttng/ui/views/control/property/TraceSessionPropertySource.java [new file with mode: 0644]
org.eclipse.linuxtools.lttng.ui/src/org/eclipse/linuxtools/lttng/ui/views/control/property/UstProviderPropertySource.java [new file with mode: 0644]

index af2b6a7193e005da9b977e3ea9e64f26166f0aa7..76064d27d300aed3940596962b126ad6312d5482 100644 (file)
@@ -22,6 +22,7 @@ public class AllTests {
         //$JUnit-BEGIN$
         suite.addTestSuite(TraceControlComponentTest.class);
         suite.addTestSuite(TraceControlTreeModelTest.class);
+        suite.addTestSuite(TraceControlPropertiesTest.class);
         //$JUnit-END$
         return new ModelImplTestSetup(suite);
     }
diff --git a/org.eclipse.linuxtools.lttng.ui.tests/src/org/eclipse/linuxtools/lttng/ui/tests/control/model/component/TraceControlPropertiesTest.java b/org.eclipse.linuxtools.lttng.ui.tests/src/org/eclipse/linuxtools/lttng/ui/tests/control/model/component/TraceControlPropertiesTest.java
new file mode 100644 (file)
index 0000000..a7aa792
--- /dev/null
@@ -0,0 +1,286 @@
+/**********************************************************************
+ * Copyright (c) 2012 Ericsson
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors: 
+ *   Bernd Hufmann - Initial API and implementation
+ **********************************************************************/
+package org.eclipse.linuxtools.lttng.ui.tests.control.model.component;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+import org.eclipse.linuxtools.lttng.stubs.service.TestRemoteSystemProxy;
+import org.eclipse.linuxtools.lttng.ui.views.control.model.IChannelInfo;
+import org.eclipse.linuxtools.lttng.ui.views.control.model.ITraceControlComponent;
+import org.eclipse.linuxtools.lttng.ui.views.control.model.TargetNodeState;
+import org.eclipse.linuxtools.lttng.ui.views.control.model.TraceEnablement;
+import org.eclipse.linuxtools.lttng.ui.views.control.model.TraceEventType;
+import org.eclipse.linuxtools.lttng.ui.views.control.model.TraceLogLevel;
+import org.eclipse.linuxtools.lttng.ui.views.control.model.TraceSessionState;
+import org.eclipse.linuxtools.lttng.ui.views.control.model.impl.BaseEventComponent;
+import org.eclipse.linuxtools.lttng.ui.views.control.model.impl.KernelProviderComponent;
+import org.eclipse.linuxtools.lttng.ui.views.control.model.impl.TargetNodeComponent;
+import org.eclipse.linuxtools.lttng.ui.views.control.model.impl.TraceChannelComponent;
+import org.eclipse.linuxtools.lttng.ui.views.control.model.impl.TraceDomainComponent;
+import org.eclipse.linuxtools.lttng.ui.views.control.model.impl.TraceEventComponent;
+import org.eclipse.linuxtools.lttng.ui.views.control.model.impl.TraceSessionComponent;
+import org.eclipse.linuxtools.lttng.ui.views.control.model.impl.UstProviderComponent;
+import org.eclipse.linuxtools.lttng.ui.views.control.property.BaseEventPropertySource;
+import org.eclipse.linuxtools.lttng.ui.views.control.property.KernelProviderPropertySource;
+import org.eclipse.linuxtools.lttng.ui.views.control.property.TargetNodePropertySource;
+import org.eclipse.linuxtools.lttng.ui.views.control.property.TraceChannelPropertySource;
+import org.eclipse.linuxtools.lttng.ui.views.control.property.TraceDomainPropertySource;
+import org.eclipse.linuxtools.lttng.ui.views.control.property.TraceEventPropertySource;
+import org.eclipse.linuxtools.lttng.ui.views.control.property.TraceSessionPropertySource;
+import org.eclipse.linuxtools.lttng.ui.views.control.property.UstProviderPropertySource;
+import org.eclipse.rse.core.model.Host;
+import org.eclipse.rse.core.model.IHost;
+import org.eclipse.rse.internal.core.model.SystemProfile;
+import org.eclipse.ui.views.properties.IPropertySource;
+import org.junit.After;
+import org.junit.Before;
+
+/**
+ * The class <code>TraceControlPropertiesTest</code> contains tests for the all property class</code>.
+ *
+ */
+@SuppressWarnings("nls")
+public class TraceControlPropertiesTest extends TestCase {
+    
+    // ------------------------------------------------------------------------
+    // Test data
+    // ------------------------------------------------------------------------
+    
+    // ------------------------------------------------------------------------
+    // Static methods
+    // ------------------------------------------------------------------------
+
+    /**
+     * Returns test setup used when executing test case stand-alone.
+     * @return Test setup class 
+     */
+    public static Test suite() {
+        return new ModelImplTestSetup(new TestSuite(TraceControlPropertiesTest.class));
+    }
+
+    // ------------------------------------------------------------------------
+    // Housekeeping
+    // ------------------------------------------------------------------------
+
+    /**
+     * Perform pre-test initialization.
+     *
+     * @throws Exception
+     *         if the initialization fails for some reason
+     *
+     */
+    @Override
+    @Before
+    public void setUp() throws Exception {
+    }
+
+    /**
+     * Perform post-test clean-up.
+     *
+     * @throws Exception
+     *         if the clean-up fails for some reason
+     *
+     */
+    @Override
+    @After
+    public void tearDown()  throws Exception {
+    }
+    
+    /**
+     * Run the TraceControlComponent.
+     */
+    public void testTraceControlComponents()
+        throws Exception {
+        
+        TestRemoteSystemProxy proxy = new TestRemoteSystemProxy();
+
+        ITraceControlComponent root = TraceControlTestFacility.getInstance().getControlView().getTraceControlRoot();
+
+        @SuppressWarnings("restriction")
+        IHost host = new Host(new SystemProfile("myProfile", true));
+        host.setHostName("127.0.0.1");
+
+        TargetNodeComponent node = new TargetNodeComponent("myNode", root, host, proxy);
+
+        root.addChild(node);
+        node.connect();
+
+        TraceControlTestFacility.getInstance().waitForJobs();
+
+        // ------------------------------------------------------------------------
+        // Verify Node Properties (adapter)
+        // ------------------------------------------------------------------------
+        Object adapter = node.getAdapter(IPropertySource.class);
+        assertNotNull(adapter);
+        assertTrue(adapter instanceof TargetNodePropertySource);
+
+        TargetNodePropertySource source = (TargetNodePropertySource)adapter;
+
+        assertNull(source.getEditableValue());
+        assertFalse(source.isPropertySet(TargetNodePropertySource.TARGET_NODE_NAME_PROPERTY_ID));
+        assertNotNull(source.getPropertyDescriptors());
+
+        assertEquals("myNode", source.getPropertyValue(TargetNodePropertySource.TARGET_NODE_NAME_PROPERTY_ID));
+        assertEquals("127.0.0.1",  source.getPropertyValue(TargetNodePropertySource.TARGET_NODE_ADDRESS_PROPERTY_ID));
+        assertEquals(TargetNodeState.CONNECTED.name(), source.getPropertyValue(TargetNodePropertySource.TARGET_NODE_STATE_PROPERTY_ID));
+        assertNull(source.getPropertyValue("test"));
+
+        adapter = node.getAdapter(IChannelInfo.class);
+        assertNull(adapter);
+        
+        ITraceControlComponent[] groups = node.getChildren();
+        assertNotNull(groups);
+        assertEquals(2, groups.length);
+        
+        ITraceControlComponent[] providers = groups[0].getChildren();
+
+        assertNotNull(providers);
+        assertEquals(3, providers.length);
+
+        // ------------------------------------------------------------------------
+        // Verify Kernel Provider Properties (adapter)
+        // ------------------------------------------------------------------------
+        KernelProviderComponent kernelProvider = (KernelProviderComponent) providers[0];
+        
+        adapter = kernelProvider.getAdapter(IPropertySource.class);
+        assertNotNull(adapter);
+        assertTrue(adapter instanceof KernelProviderPropertySource);
+
+        KernelProviderPropertySource kernelSource = (KernelProviderPropertySource)adapter;
+        assertNotNull(kernelSource.getPropertyDescriptors());
+
+        assertEquals("Kernel", kernelSource.getPropertyValue(KernelProviderPropertySource.KERNEL_PROVIDER_NAME_PROPERTY_ID));
+
+        // ------------------------------------------------------------------------
+        // Verify UST Provider Properties (adapter)
+        // ------------------------------------------------------------------------
+        UstProviderComponent ustProvider = (UstProviderComponent) providers[1];
+        
+        adapter = ustProvider.getAdapter(IPropertySource.class);
+        assertNotNull(adapter);
+        assertTrue(adapter instanceof UstProviderPropertySource);
+
+        UstProviderPropertySource ustSource = (UstProviderPropertySource)adapter;
+        assertNotNull(ustSource.getPropertyDescriptors());
+
+        assertEquals("/home/user/git/lttng-ust/tests/hello.cxx/.libs/lt-hello", ustSource.getPropertyValue(UstProviderPropertySource.UST_PROVIDER_NAME_PROPERTY_ID));
+        assertEquals(String.valueOf(9379), ustSource.getPropertyValue(UstProviderPropertySource.UST_PROVIDER_PID_PROPERTY_ID));
+
+        // ------------------------------------------------------------------------
+        // Verify Base Event Properties (adapter)
+        // ------------------------------------------------------------------------
+        ITraceControlComponent[] events = ustProvider.getChildren();
+        assertNotNull(events);
+        assertEquals(2, events.length);
+
+        BaseEventComponent baseEventInfo = (BaseEventComponent) events[0];
+        assertNotNull(baseEventInfo);
+        
+        adapter = baseEventInfo.getAdapter(IPropertySource.class);
+        assertNotNull(adapter);
+        assertTrue(adapter instanceof BaseEventPropertySource);
+
+        BaseEventPropertySource baseSource = (BaseEventPropertySource)adapter;
+        assertNotNull(baseSource.getPropertyDescriptors());
+
+        assertEquals("ust_tests_hello:tptest_sighandler", baseSource.getPropertyValue(BaseEventPropertySource.BASE_EVENT_NAME_PROPERTY_ID));
+        assertEquals(TraceEventType.TRACEPOINT.name(), baseSource.getPropertyValue(BaseEventPropertySource.BASE_EVENT_TYPE_PROPERTY_ID));
+        assertEquals(TraceLogLevel.TRACE_MODULE.name(), baseSource.getPropertyValue(BaseEventPropertySource.BASE_EVENT_LOGLEVEL_PROPERTY_ID));
+
+        // ------------------------------------------------------------------------
+        // Verify Session Properties (adapter)
+        // ------------------------------------------------------------------------
+        ITraceControlComponent[] sessions = groups[1].getChildren();
+        assertNotNull(sessions);
+        assertEquals(2, sessions.length);
+
+        TraceSessionComponent session = (TraceSessionComponent)sessions[1];
+
+        adapter = session.getAdapter(IPropertySource.class);
+        assertNotNull(adapter);
+        assertTrue(adapter instanceof TraceSessionPropertySource);
+
+        TraceSessionPropertySource sessionSource = (TraceSessionPropertySource)adapter;
+        assertNotNull(sessionSource.getPropertyDescriptors());
+
+        assertEquals("mysession", sessionSource.getPropertyValue(TraceSessionPropertySource.TRACE_SESSION_NAME_PROPERTY_ID));
+        assertEquals("/home/user/lttng-traces/mysession-20120129-084256", sessionSource.getPropertyValue(TraceSessionPropertySource.TRACE_SESSION_PATH_PROPERTY_ID));
+        assertEquals(TraceSessionState.ACTIVE.name(), sessionSource.getPropertyValue(TraceSessionPropertySource.TRACE_SESSION_STATE_PROPERTY_ID));
+
+        // ------------------------------------------------------------------------
+        // Verify Domain Provider Properties (adapter)
+        // ------------------------------------------------------------------------
+        ITraceControlComponent[] domains = session.getChildren();
+        assertNotNull(domains);
+        assertEquals(2, domains.length);
+
+        TraceDomainComponent domain = (TraceDomainComponent) domains[0];
+        adapter = domain.getAdapter(IPropertySource.class);
+        assertNotNull(adapter);
+        assertTrue(adapter instanceof TraceDomainPropertySource);
+
+        TraceDomainPropertySource domainSource = (TraceDomainPropertySource)adapter;
+        assertNotNull(domainSource.getPropertyDescriptors());
+
+        assertEquals("Kernel", domainSource.getPropertyValue(TraceDomainPropertySource.TRACE_DOMAIN_NAME_PROPERTY_ID));
+        
+        ITraceControlComponent[] channels =  domains[0].getChildren();
+        assertNotNull(channels);
+        assertEquals(2, channels.length);
+
+        // ------------------------------------------------------------------------
+        // Verify Channel Properties (adapter)
+        // ------------------------------------------------------------------------
+        assertTrue(channels[0] instanceof TraceChannelComponent);
+        TraceChannelComponent channel = (TraceChannelComponent) channels[0];
+        
+        adapter = channel.getAdapter(IPropertySource.class);
+        assertNotNull(adapter);
+        assertTrue(adapter instanceof TraceChannelPropertySource);
+
+        TraceChannelPropertySource channelSource = (TraceChannelPropertySource)adapter;
+        assertNotNull(channelSource.getPropertyDescriptors());
+
+        assertEquals("channel0", channelSource.getPropertyValue(TraceChannelPropertySource.TRACE_CHANNEL_NAME_PROPERTY_ID));
+        assertEquals(String.valueOf(4), channelSource.getPropertyValue(TraceChannelPropertySource.TRACE_CHANNEL_NO_SUBBUFFERS_PROPERTY_ID));
+        assertEquals(TraceEnablement.ENABLED.name(), channelSource.getPropertyValue(TraceChannelPropertySource.TRACE_CHANNEL_STATE_PROPERTY_ID));
+        assertEquals(String.valueOf(false), channelSource.getPropertyValue(TraceChannelPropertySource.TRACE_CHANNEL_OVERWRITE_MODE_PROPERTY_ID));
+        assertEquals("splice()", channelSource.getPropertyValue(TraceChannelPropertySource.TRACE_CHANNEL_OUTPUT_TYPE_PROPERTY_ID));
+        assertEquals(String.valueOf(200), channelSource.getPropertyValue(TraceChannelPropertySource.TRACE_CHANNEL_READ_TIMER_PROPERTY_ID));
+        assertEquals(String.valueOf(262144), channelSource.getPropertyValue(TraceChannelPropertySource.TRACE_CHANNEL_SUBBUFFER_SIZE_PROPERTY_ID));
+        assertEquals(String.valueOf(0), channelSource.getPropertyValue(TraceChannelPropertySource.TRACE_CHANNEL_SWITCH_TIMER_PROPERTY_ID));
+        
+        // ------------------------------------------------------------------------
+        // Verify Event Properties (adapter)
+        // ------------------------------------------------------------------------
+        ITraceControlComponent[] channel0Events = channel.getChildren();
+        assertNotNull(channel0Events);
+        assertEquals(2, channel0Events.length);
+        assertTrue(channel0Events[0] instanceof TraceEventComponent);
+        
+        TraceEventComponent event = (TraceEventComponent) channel0Events[0];
+        
+        adapter = event.getAdapter(IPropertySource.class);
+        assertNotNull(adapter);
+        assertTrue(adapter instanceof TraceEventPropertySource);
+
+        TraceEventPropertySource eventSource = (TraceEventPropertySource)adapter;
+        assertNotNull(eventSource.getPropertyDescriptors());
+        
+        assertEquals("block_rq_remap", eventSource.getPropertyValue(TraceEventPropertySource.TRACE_EVENT_NAME_PROPERTY_ID));
+        assertEquals(TraceLogLevel.TRACE_EMERG.name(), eventSource.getPropertyValue(TraceEventPropertySource.TRACE_EVENT_LOGLEVEL_PROPERTY_ID));
+        assertEquals(TraceEventType.TRACEPOINT.name(), eventSource.getPropertyValue(TraceEventPropertySource.TRACE_EVENT_TYPE_PROPERTY_ID));
+        assertEquals(TraceEnablement.ENABLED.name(), eventSource.getPropertyValue(TraceEventPropertySource.TRACE_EVENT_STATE_PROPERTY_ID));
+    }
+}
\ No newline at end of file
index ee19a1346a845155bce09594d1e9f6aa31024d80..bc7c604ef15191ab6d3c90956038c35a697cffc6 100644 (file)
@@ -45,8 +45,7 @@ import org.junit.After;
 import org.junit.Before;
 
 /**
- * The class <code>TraceControlComponentTest</code> contains tests for the class <code>{@link TraceControlComponent}</code>.
- *
+ * The class <code>TraceControlTreeModelTest</code> contains tests for the tree component classes.
  */
 @SuppressWarnings("nls")
 public class TraceControlTreeModelTest extends TestCase {
@@ -116,26 +115,6 @@ public class TraceControlTreeModelTest extends TestCase {
 
         TraceControlTestFacility.getInstance().waitForJobs();
 
-        // ------------------------------------------------------------------------
-        // Verify Node Properties (adapter)
-        // ------------------------------------------------------------------------
-        Object adapter = node.getAdapter(IPropertySource.class);
-        assertNotNull(adapter);
-        assertTrue(adapter instanceof TargetNodePropertySource);
-
-        TargetNodePropertySource source = (TargetNodePropertySource)adapter;
-
-        assertNull(source.getEditableValue());
-        assertFalse(source.isPropertySet(TargetNodePropertySource.TARGET_NODE_NAME_PROPERTY_ID));
-        assertNotNull(source.getPropertyDescriptors());
-
-        assertEquals("myNode", source.getPropertyValue(TargetNodePropertySource.TARGET_NODE_NAME_PROPERTY_ID));
-        assertEquals("127.0.0.1",  source.getPropertyValue(TargetNodePropertySource.TARGET_NODE_ADDRESS_PROPERTY_ID));
-        assertNull(source.getPropertyValue("test"));
-
-        adapter = node.getAdapter(IChannelInfo.class);
-        assertNull(adapter);
-
         // ------------------------------------------------------------------------
         // Verify Parameters of TargetNodeComponent
         // ------------------------------------------------------------------------
@@ -592,5 +571,4 @@ public class TraceControlTreeModelTest extends TestCase {
         ustProvider.setPid(pid);
     }
 
-    
 }
\ No newline at end of file
index 220c58e84a3cc9a4fa4ed7c4f42124918431bc76..edc486ea0edc27198fa94499651974b885daa83d 100644 (file)
@@ -62,6 +62,28 @@ final public class Messages extends NLS {
     public static String TraceControl_ProviderDisplayName;
     public static String TraceControl_KernelProviderDisplayName;
     
+    // Property names
+    public static String TraceControl_SessionNamePropertyName;
+    public static String TraceControl_EventNamePropertyName;
+    public static String TraceControl_EventTypePropertyName;
+    public static String TraceControl_LogLevelPropertyName;
+    public static String TraceControl_StatePropertyName;
+    public static String TraceControl_DomainNamePropertyName;
+    public static String TraceControl_ChannelNamePropertyName;
+    public static String TraceControl_OverwriteModePropertyName;
+    public static String TraceControl_SubBufferSizePropertyName;
+    public static String TraceControl_NbSubBuffersPropertyName;
+    public static String TraceControl_SwitchTimerPropertyName;
+    public static String TraceControl_ReadTimerPropertyName;
+    public static String TraceControl_OutputTypePropertyName;
+    public static String TraceControl_HostNamePropertyName;
+    public static String TraceControl_HostAddressPropertyName;
+    public static String TraceControl_SessionPathPropertyName;
+    public static String TraceControl_ProviderNamePropertyName;
+    public static String TraceControl_ProcessIdPropertyName;
+    
+    
     static {
         // initialize resource bundle
         NLS.initializeMessages(BUNDLE_NAME, Messages.class);
index 2fbf6d9d809bb846044784cddddc1f45c212d76c..d6252261ca4dbcd20c16e6e62bef90652248b4b5 100644 (file)
@@ -17,11 +17,11 @@ TraceControl_NewNodeCreationFailure=Creation of new connection failed
 # Dialogs
 TraceControl_NewDialogTitle=New Connection
 TraceControl_NewNodeExistingConnetionsGroupName=Existing Connections
-TraceControl_NewNodeEditButtonName=Edit host information
-TraceControl_NewNodeComboToolTip=List of existing connections (host name - host address
-TraceControl_NewNodeNameLabel=Node Name
+TraceControl_NewNodeEditButtonName=Edit connection information
+TraceControl_NewNodeComboToolTip=List of existing connections (connection name - host name)
+TraceControl_NewNodeNameLabel=Connection Name
 TraceControl_NewNodeNameTooltip=Alias to be displayed for node to connect to. 
-TraceControl_NewNodeAddressLabel=Node Address
+TraceControl_NewNodeAddressLabel=Host Name
 TraceControl_NewNodeAddressTooltip=IP Address or DNS name of node to connect to.
 TraceControl_AlreadyExistsError=Node name already exists in Control View
 
@@ -35,3 +35,23 @@ TraceControl_ChannelDisplayName=Channel
 TraceControl_EventDisplayName=Event
 TraceControl_ProviderDisplayName=Provider
 TraceControl_KernelProviderDisplayName=Kernel
+
+# Property names
+TraceControl_SessionNamePropertyName=Session Name
+TraceControl_EventNamePropertyName=Event Name
+TraceControl_EventTypePropertyName=Event Type
+TraceControl_LogLevelPropertyName=Log Level
+TraceControl_StatePropertyName=State
+TraceControl_DomainNamePropertyName=Domain Name
+TraceControl_ChannelNamePropertyName=Channel Name
+TraceControl_OverwriteModePropertyName=Overwrite Mode
+TraceControl_SubBufferSizePropertyName=Sub Buffer Size
+TraceControl_NbSubBuffersPropertyName=Number of Sub Buffers
+TraceControl_SwitchTimerPropertyName=Switch Timer Interval
+TraceControl_ReadTimerPropertyName=Read Timer Interval
+TraceControl_OutputTypePropertyName=Output Type
+TraceControl_HostNamePropertyName=Connection Name
+TraceControl_HostAddressPropertyName=Host Name
+TraceControl_SessionPathPropertyName=Session Path
+TraceControl_ProviderNamePropertyName=Provider Name
+TraceControl_ProcessIdPropertyName=Process ID
index 14fc9dac1371f760deda154c0eb5310341044f20..a0eea7de01238294df5dbc8f7b5b3d076347fcca 100644 (file)
@@ -15,6 +15,8 @@ import org.eclipse.linuxtools.lttng.ui.views.control.model.IBaseEventInfo;
 import org.eclipse.linuxtools.lttng.ui.views.control.model.ITraceControlComponent;
 import org.eclipse.linuxtools.lttng.ui.views.control.model.TraceEventType;
 import org.eclipse.linuxtools.lttng.ui.views.control.model.TraceLogLevel;
+import org.eclipse.linuxtools.lttng.ui.views.control.property.BaseEventPropertySource;
+import org.eclipse.ui.views.properties.IPropertySource;
 
 /**
  * <b><u>BaseEventComponent</u></b>
@@ -111,6 +113,18 @@ public class BaseEventComponent extends TraceControlComponent {
         fEventInfo.setLogLevel(levelName);
     }
 
+    /*
+     * (non-Javadoc)
+     * @see org.eclipse.linuxtools.lttng.ui.views.control.model.impl.TraceControlComponent#getAdapter(java.lang.Class)
+     */
+    @SuppressWarnings("rawtypes")
+    @Override
+    public Object getAdapter(Class adapter) {
+        if (adapter == IPropertySource.class) {
+            return new BaseEventPropertySource(this);
+        }
+        return null;
+    } 
     // ------------------------------------------------------------------------
     // Operations
     // ------------------------------------------------------------------------
index bb3e80922610c129112bab7337c28eb0c30fbe73..6bd35375dc85f07b0c55b5c344c9266419c5e0c4 100644 (file)
@@ -17,6 +17,8 @@ import java.util.List;
 
 import org.eclipse.linuxtools.lttng.ui.views.control.model.IBaseEventInfo;
 import org.eclipse.linuxtools.lttng.ui.views.control.model.ITraceControlComponent;
+import org.eclipse.linuxtools.lttng.ui.views.control.property.KernelProviderPropertySource;
+import org.eclipse.ui.views.properties.IPropertySource;
 
 /**
  * <b><u>KernelProviderComponent</u></b>
@@ -67,9 +69,21 @@ public class KernelProviderComponent extends TraceControlComponent {
         }
     }
 
+    /*
+     * (non-Javadoc)
+     * @see org.eclipse.linuxtools.lttng.ui.views.control.model.impl.TraceControlComponent#getAdapter(java.lang.Class)
+     */
+    @SuppressWarnings("rawtypes")
+    @Override
+    public Object getAdapter(Class adapter) {
+        if (adapter == IPropertySource.class) {
+            return new KernelProviderPropertySource(this);
+        }
+        return null;
+    } 
+
     // ------------------------------------------------------------------------
     // Operations
     // ------------------------------------------------------------------------
     
-    
 }
index d0758dbb407e67f49a6a842ff133f766ca9fb53a..fa65f35be8708cc47fedc10f2bb38ffd1a469dfc 100644 (file)
@@ -226,6 +226,8 @@ public class TargetNodeComponent extends TraceControlComponent implements ICommu
                        // Note: result might be null!
                        if(status.isOK()) {
                            handleConnected();
+                       } else {
+                           handleDisconnected();
                        }
                    }
                });
index ec037c6e094973ec2276b81be87756ed7b831a37..f443d28d668735e04d2ad0dba020e6c2afd2ca5c 100644 (file)
@@ -17,7 +17,9 @@ import org.eclipse.linuxtools.lttng.ui.views.control.model.IChannelInfo;
 import org.eclipse.linuxtools.lttng.ui.views.control.model.IEventInfo;
 import org.eclipse.linuxtools.lttng.ui.views.control.model.ITraceControlComponent;
 import org.eclipse.linuxtools.lttng.ui.views.control.model.TraceEnablement;
+import org.eclipse.linuxtools.lttng.ui.views.control.property.TraceChannelPropertySource;
 import org.eclipse.swt.graphics.Image;
+import org.eclipse.ui.views.properties.IPropertySource;
 
 
 /**
@@ -194,6 +196,19 @@ public class TraceChannelComponent extends TraceControlComponent {
     public void setState(String stateName) {
         fChannelInfo.setState(stateName);
     }
+    /*
+     * (non-Javadoc)
+     * @see org.eclipse.linuxtools.lttng.ui.views.control.model.impl.TraceControlComponent#getAdapter(java.lang.Class)
+     */
+    @SuppressWarnings("rawtypes")
+    @Override
+    public Object getAdapter(Class adapter) {
+        if (adapter == IPropertySource.class) {
+            return new TraceChannelPropertySource(this);
+        }
+        return null;
+    } 
+    
     
     // ------------------------------------------------------------------------
     // Operations
index 36ed3400cf80ac361d563a7dab1d79f70ada6861..ec1febbde522fd6f8aa720e013b8345dcb994e96 100644 (file)
@@ -15,6 +15,8 @@ import org.eclipse.linuxtools.lttng.ui.views.control.Messages;
 import org.eclipse.linuxtools.lttng.ui.views.control.model.IChannelInfo;
 import org.eclipse.linuxtools.lttng.ui.views.control.model.IDomainInfo;
 import org.eclipse.linuxtools.lttng.ui.views.control.model.ITraceControlComponent;
+import org.eclipse.linuxtools.lttng.ui.views.control.property.TraceDomainPropertySource;
+import org.eclipse.ui.views.properties.IPropertySource;
 
 /**
  * <b><u>TraceDomainComponent</u></b>
@@ -71,6 +73,18 @@ public class TraceDomainComponent extends TraceControlComponent {
         }
     }
 
+    /*
+     * (non-Javadoc)
+     * @see org.eclipse.linuxtools.lttng.ui.views.control.model.impl.TraceControlComponent#getAdapter(java.lang.Class)
+     */
+    @SuppressWarnings("rawtypes")
+    @Override
+    public Object getAdapter(Class adapter) {
+        if (adapter == IPropertySource.class) {
+            return new TraceDomainPropertySource(this);
+        }
+        return null;
+    } 
     // ------------------------------------------------------------------------
     // Operations
     // ------------------------------------------------------------------------
index 49c00d4f5c6023d59d035e47b6be6253e883481a..6e7660102413f997f4d379e98cfa0d1b1660f8a0 100644 (file)
@@ -18,7 +18,9 @@ import org.eclipse.linuxtools.lttng.ui.views.control.model.ITraceControlComponen
 import org.eclipse.linuxtools.lttng.ui.views.control.model.TraceEnablement;
 import org.eclipse.linuxtools.lttng.ui.views.control.model.TraceEventType;
 import org.eclipse.linuxtools.lttng.ui.views.control.model.TraceLogLevel;
+import org.eclipse.linuxtools.lttng.ui.views.control.property.TraceEventPropertySource;
 import org.eclipse.swt.graphics.Image;
+import org.eclipse.ui.views.properties.IPropertySource;
 
 
 /**
@@ -160,6 +162,19 @@ public class TraceEventComponent extends TraceControlComponent {
         fEventInfo.setLogLevel(levelName);
     }
     
+    /*
+     * (non-Javadoc)
+     * @see org.eclipse.linuxtools.lttng.ui.views.control.model.impl.TraceControlComponent#getAdapter(java.lang.Class)
+     */
+    @SuppressWarnings("rawtypes")
+    @Override
+    public Object getAdapter(Class adapter) {
+        if (adapter == IPropertySource.class) {
+            return new TraceEventPropertySource(this);
+        }
+        return null;
+    } 
+    
     // ------------------------------------------------------------------------
     // Operations
     // ------------------------------------------------------------------------
index 4376cce7490ad85df9d549cd96ae075578e9b69a..b7c29acaafa2d08b52d011077084f1f8c03e0a9a 100644 (file)
@@ -20,7 +20,9 @@ import org.eclipse.linuxtools.lttng.ui.views.control.model.IDomainInfo;
 import org.eclipse.linuxtools.lttng.ui.views.control.model.ISessionInfo;
 import org.eclipse.linuxtools.lttng.ui.views.control.model.ITraceControlComponent;
 import org.eclipse.linuxtools.lttng.ui.views.control.model.TraceSessionState;
+import org.eclipse.linuxtools.lttng.ui.views.control.property.TraceSessionPropertySource;
 import org.eclipse.swt.graphics.Image;
+import org.eclipse.ui.views.properties.IPropertySource;
 
 /**
  * <b><u>TraceSessionComponent</u></b>
@@ -157,6 +159,19 @@ public class TraceSessionComponent extends TraceControlComponent {
         fSessionInfo.setSessionPath(sessionPath);
     }
 
+    /*
+     * (non-Javadoc)
+     * @see org.eclipse.linuxtools.lttng.ui.views.control.model.impl.TraceControlComponent#getAdapter(java.lang.Class)
+     */
+    @SuppressWarnings("rawtypes")
+    @Override
+    public Object getAdapter(Class adapter) {
+        if (adapter == IPropertySource.class) {
+            return new TraceSessionPropertySource(this);
+        }
+        return null;
+    } 
+    
     // ------------------------------------------------------------------------
     // Operations
     // ------------------------------------------------------------------------
index 102edae67ccfa6a57e518f96be3d3f559d1e6d96..58269c44421119a0559686a28dceab3fb2540178 100644 (file)
@@ -15,6 +15,8 @@ package org.eclipse.linuxtools.lttng.ui.views.control.model.impl;
 import org.eclipse.linuxtools.lttng.ui.views.control.model.IBaseEventInfo;
 import org.eclipse.linuxtools.lttng.ui.views.control.model.ITraceControlComponent;
 import org.eclipse.linuxtools.lttng.ui.views.control.model.IUstProviderInfo;
+import org.eclipse.linuxtools.lttng.ui.views.control.property.UstProviderPropertySource;
+import org.eclipse.ui.views.properties.IPropertySource;
 
 /**
  * <b><u>UstProviderComponent</u></b>
@@ -87,6 +89,19 @@ public class UstProviderComponent extends TraceControlComponent {
         fProviderInfo.setPid(pid);
     }
 
+    /*
+     * (non-Javadoc)
+     * @see org.eclipse.linuxtools.lttng.ui.views.control.model.impl.TraceControlComponent#getAdapter(java.lang.Class)
+     */
+    @SuppressWarnings("rawtypes")
+    @Override
+    public Object getAdapter(Class adapter) {
+        if (adapter == IPropertySource.class) {
+            return new UstProviderPropertySource(this);
+        }
+        return null;
+    } 
     // ------------------------------------------------------------------------
     // Operations
     // ------------------------------------------------------------------------
diff --git a/org.eclipse.linuxtools.lttng.ui/src/org/eclipse/linuxtools/lttng/ui/views/control/property/BaseEventPropertySource.java b/org.eclipse.linuxtools.lttng.ui/src/org/eclipse/linuxtools/lttng/ui/views/control/property/BaseEventPropertySource.java
new file mode 100644 (file)
index 0000000..05ab56c
--- /dev/null
@@ -0,0 +1,108 @@
+/**********************************************************************
+ * Copyright (c) 2012 Ericsson
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors: 
+ *   Bernd Hufmann - Initial API and implementation
+ **********************************************************************/
+package org.eclipse.linuxtools.lttng.ui.views.control.property;
+
+import org.eclipse.linuxtools.lttng.ui.views.control.Messages;
+import org.eclipse.linuxtools.lttng.ui.views.control.model.impl.BaseEventComponent;
+import org.eclipse.ui.views.properties.IPropertyDescriptor;
+import org.eclipse.ui.views.properties.TextPropertyDescriptor;
+
+/**
+ * <b><u>BaseEventPropertySource</u></b>
+ * <p>
+ * Property source implementation for the base event component.
+ * </p>
+ */
+public class BaseEventPropertySource extends BasePropertySource {
+
+    // ------------------------------------------------------------------------
+    // Constants
+    // ------------------------------------------------------------------------
+
+    /**
+     * The base event 'name' property ID.
+     */
+    public static final String BASE_EVENT_NAME_PROPERTY_ID = "base.event.name"; //$NON-NLS-1$
+    /**
+     * The base event 'type' property ID.
+     */
+    public static final String BASE_EVENT_TYPE_PROPERTY_ID = "base.event.type"; //$NON-NLS-1$
+    /**
+     * The base event 'log level' property ID.
+     */
+    public static final String BASE_EVENT_LOGLEVEL_PROPERTY_ID = "base.event.loglevel"; //$NON-NLS-1$
+    /**
+     *  The base event 'name' property name. 
+     */
+    public static final String BASE_EVENT_NAME_PROPERTY_NAME = Messages.TraceControl_EventNamePropertyName;
+    /**
+     * The base event 'type' property name.
+     */
+    public static final String BASE_EVENT_TYPE_PROPERTY_NAME = Messages.TraceControl_EventTypePropertyName;
+    /**
+     * The base event 'log level' property name.
+     */
+    public static final String BASE_EVENT_LOGLEVEL_PROPERTY_NAME = Messages.TraceControl_LogLevelPropertyName;
+    
+    // ------------------------------------------------------------------------
+    // Attributes
+    // ------------------------------------------------------------------------
+    /**
+     * The base event component which this property source is for. 
+     */
+    private final BaseEventComponent fBaseEvent;
+    
+    // ------------------------------------------------------------------------
+    // Constructors
+    // ------------------------------------------------------------------------
+    /**
+     * Constructor
+     * @param component - the base event component
+     */
+    public BaseEventPropertySource(BaseEventComponent component) {
+        fBaseEvent = component;
+    }
+    
+    // ------------------------------------------------------------------------
+    // Operations
+    // ------------------------------------------------------------------------
+    /*
+     * (non-Javadoc)
+     * @see org.eclipse.linuxtools.lttng.ui.views.control.property.BasePropertySource#getPropertyDescriptors()
+     */
+    @Override
+    public IPropertyDescriptor[] getPropertyDescriptors() {
+        return new IPropertyDescriptor[] {
+                new TextPropertyDescriptor(BASE_EVENT_NAME_PROPERTY_ID, BASE_EVENT_NAME_PROPERTY_NAME),
+                new TextPropertyDescriptor(BASE_EVENT_TYPE_PROPERTY_ID, BASE_EVENT_TYPE_PROPERTY_NAME),
+                new TextPropertyDescriptor(BASE_EVENT_LOGLEVEL_PROPERTY_ID, BASE_EVENT_LOGLEVEL_PROPERTY_NAME)};
+    }
+
+    /*
+     * (non-Javadoc)
+     * @see org.eclipse.linuxtools.lttng.ui.views.control.property.BasePropertySource#getPropertyValue(java.lang.Object)
+     */
+    @Override
+    public Object getPropertyValue(Object id) {
+        if(BASE_EVENT_NAME_PROPERTY_ID.equals(id)) {
+            return fBaseEvent.getName();
+        }
+        if (BASE_EVENT_TYPE_PROPERTY_ID.equals(id)) {
+            return fBaseEvent.getEventType().name();
+        }
+        if (BASE_EVENT_LOGLEVEL_PROPERTY_ID.equals(id)) {
+            return fBaseEvent.getLogLevel().name();
+        }
+        return null;
+    }
+
+}
diff --git a/org.eclipse.linuxtools.lttng.ui/src/org/eclipse/linuxtools/lttng/ui/views/control/property/BasePropertySource.java b/org.eclipse.linuxtools.lttng.ui/src/org/eclipse/linuxtools/lttng/ui/views/control/property/BasePropertySource.java
new file mode 100644 (file)
index 0000000..27c2646
--- /dev/null
@@ -0,0 +1,75 @@
+/**********************************************************************
+ * Copyright (c) 2012 Ericsson
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors: 
+ *   Bernd Hufmann - Initial API and implementation
+ **********************************************************************/
+package org.eclipse.linuxtools.lttng.ui.views.control.property;
+
+import org.eclipse.ui.views.properties.IPropertyDescriptor;
+import org.eclipse.ui.views.properties.IPropertySource;
+
+/**
+ * <b><u>BaseEventPropertySource</u></b>
+ * <p>
+ * Base property source implementation.
+ * </p>
+ */
+abstract public class BasePropertySource implements IPropertySource {
+
+    // ------------------------------------------------------------------------
+    // Operations
+    // ------------------------------------------------------------------------
+    /*
+     * (non-Javadoc)
+     * @see org.eclipse.ui.views.properties.IPropertySource#getEditableValue()
+     */
+    @Override
+    public Object getEditableValue() {
+        return null;
+    }
+
+    /*
+     * (non-Javadoc)
+     * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyDescriptors()
+     */
+    @Override
+    abstract public IPropertyDescriptor[] getPropertyDescriptors();
+
+    /*
+     * (non-Javadoc)
+     * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyValue(java.lang.Object)
+     */
+    @Override
+    abstract public Object getPropertyValue(Object id);
+
+    /*
+     * (non-Javadoc)
+     * @see org.eclipse.ui.views.properties.IPropertySource#isPropertySet(java.lang.Object)
+     */
+    @Override
+    public boolean isPropertySet(Object id) {
+        return false;
+    }
+
+    /*
+     * (non-Javadoc)
+     * @see org.eclipse.ui.views.properties.IPropertySource#resetPropertyValue(java.lang.Object)
+     */
+    @Override
+    public void resetPropertyValue(Object id) {
+    }
+
+    /*
+     * (non-Javadoc)
+     * @see org.eclipse.ui.views.properties.IPropertySource#setPropertyValue(java.lang.Object, java.lang.Object)
+     */
+    @Override
+    public void setPropertyValue(Object id, Object value) {
+    }
+}
diff --git a/org.eclipse.linuxtools.lttng.ui/src/org/eclipse/linuxtools/lttng/ui/views/control/property/KernelProviderPropertySource.java b/org.eclipse.linuxtools.lttng.ui/src/org/eclipse/linuxtools/lttng/ui/views/control/property/KernelProviderPropertySource.java
new file mode 100644 (file)
index 0000000..a9e72a9
--- /dev/null
@@ -0,0 +1,83 @@
+/**********************************************************************
+ * Copyright (c) 2012 Ericsson
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors: 
+ *   Bernd Hufmann - Initial API and implementation
+ **********************************************************************/
+package org.eclipse.linuxtools.lttng.ui.views.control.property;
+
+import org.eclipse.linuxtools.lttng.ui.views.control.Messages;
+import org.eclipse.linuxtools.lttng.ui.views.control.model.impl.KernelProviderComponent;
+import org.eclipse.ui.views.properties.IPropertyDescriptor;
+import org.eclipse.ui.views.properties.TextPropertyDescriptor;
+
+/**
+ * <b><u>KernelProviderPropertySource</u></b>
+ * <p>
+ * Property source implementation for the kernl provider component.
+ * </p>
+ */
+public class KernelProviderPropertySource extends BasePropertySource {
+
+    // ------------------------------------------------------------------------
+    // Constants
+    // ------------------------------------------------------------------------
+    /**
+     * The kernel provider 'name' property ID.
+     */
+    public static final String KERNEL_PROVIDER_NAME_PROPERTY_ID = "ust.provider.name"; //$NON-NLS-1$
+    /**
+     *  The kernel provider 'name' property name. 
+     */
+    public static final String KERNEL_PROVIDER_NAME_PROPERTY_NAME = Messages.TraceControl_ProviderNamePropertyName;
+
+    // ------------------------------------------------------------------------
+    // Attributes
+    // ------------------------------------------------------------------------
+    /**
+     * The kernel provider component which this property source is for. 
+     */
+    private KernelProviderComponent fProvider;
+    
+    // ------------------------------------------------------------------------
+    // Constructors
+    // ------------------------------------------------------------------------
+    /**
+     * Constructor
+     * @param component - the kernel provider component
+     */
+    public KernelProviderPropertySource(KernelProviderComponent component) {
+        fProvider = component;
+    }
+
+    // ------------------------------------------------------------------------
+    // Operations
+    // ------------------------------------------------------------------------
+    /*
+     * (non-Javadoc)
+     * @see org.eclipse.linuxtools.lttng.ui.views.control.property.BasePropertySource#getPropertyDescriptors()
+     */
+    @Override
+    public IPropertyDescriptor[] getPropertyDescriptors() {
+        return new IPropertyDescriptor[] {
+                new TextPropertyDescriptor(KERNEL_PROVIDER_NAME_PROPERTY_ID, KERNEL_PROVIDER_NAME_PROPERTY_NAME)};
+    }
+
+    /*
+     * (non-Javadoc)
+     * @see org.eclipse.linuxtools.lttng.ui.views.control.property.BasePropertySource#getPropertyValue(java.lang.Object)
+     */
+    @Override
+    public Object getPropertyValue(Object id) {
+        if(KERNEL_PROVIDER_NAME_PROPERTY_ID.equals(id)) {
+            return fProvider.getName();
+        }
+        return null;
+    }
+
+}
index 1a785b69699a5744be1ac47b7c180e3f4f58fc81..e44d01335c38614631d3eb5d18a0a6436d3cc348 100644 (file)
@@ -11,9 +11,9 @@
  **********************************************************************/
 package org.eclipse.linuxtools.lttng.ui.views.control.property;
 
+import org.eclipse.linuxtools.lttng.ui.views.control.Messages;
 import org.eclipse.linuxtools.lttng.ui.views.control.model.impl.TargetNodeComponent;
 import org.eclipse.ui.views.properties.IPropertyDescriptor;
-import org.eclipse.ui.views.properties.IPropertySource;
 import org.eclipse.ui.views.properties.TextPropertyDescriptor;
 
 /**
@@ -22,7 +22,7 @@ import org.eclipse.ui.views.properties.TextPropertyDescriptor;
  * Property source implementation for the target node component.
  * </p>
  */
-public class TargetNodePropertySource implements IPropertySource {
+public class TargetNodePropertySource extends BasePropertySource {
 
     // ------------------------------------------------------------------------
     // Constants
@@ -35,14 +35,22 @@ public class TargetNodePropertySource implements IPropertySource {
      * The node address property ID.
      */
     public static final String TARGET_NODE_ADDRESS_PROPERTY_ID = "target.node.address"; //$NON-NLS-1$
+    /**
+     * The state property ID.
+     */
+    public static final String TARGET_NODE_STATE_PROPERTY_ID = "target.node.state"; //$NON-NLS-1$
     /**
      *  The node name property name. 
      */
-    public static final String TARGET_NODE_NAME_PROPERTY_NAME = "Name"; //$NON-NLS-1$
+    public static final String TARGET_NODE_NAME_PROPERTY_NAME = Messages.TraceControl_HostNamePropertyName;
     /**
      * The node address property name.
      */
-    public static final String TARGET_NODE_ADDRESS_PROPERTY_NAME = "Address"; //$NON-NLS-1$
+    public static final String TARGET_NODE_ADDRESS_PROPERTY_NAME = Messages.TraceControl_HostAddressPropertyName;
+    /**
+     * The state address property name.
+     */
+    public static final String TARGET_NODE_STATE_PROPERTY_NAME = Messages.TraceControl_StatePropertyName;
     
     // ------------------------------------------------------------------------
     // Attributes
@@ -50,7 +58,7 @@ public class TargetNodePropertySource implements IPropertySource {
     /**
      * The node component which this property source is for. 
      */
-    final private TargetNodeComponent fTargetNode;
+    private final TargetNodeComponent fTargetNode;
     
     // ------------------------------------------------------------------------
     // Constructors
@@ -68,28 +76,19 @@ public class TargetNodePropertySource implements IPropertySource {
     // ------------------------------------------------------------------------
     /*
      * (non-Javadoc)
-     * @see org.eclipse.ui.views.properties.IPropertySource#getEditableValue()
-     */
-    @Override
-    public Object getEditableValue() {
-        return null;
-    }
-
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyDescriptors()
+     * @see org.eclipse.linuxtools.lttng.ui.views.control.property.BasePropertySource#getPropertyDescriptors()
      */
     @Override
     public IPropertyDescriptor[] getPropertyDescriptors() {
         return new IPropertyDescriptor[] {
                 new TextPropertyDescriptor(TARGET_NODE_NAME_PROPERTY_ID, TARGET_NODE_NAME_PROPERTY_NAME),
                 new TextPropertyDescriptor(TARGET_NODE_ADDRESS_PROPERTY_ID, TARGET_NODE_ADDRESS_PROPERTY_NAME),
-        };
+                new TextPropertyDescriptor(TARGET_NODE_STATE_PROPERTY_ID, TARGET_NODE_STATE_PROPERTY_NAME)};
     }
 
     /*
      * (non-Javadoc)
-     * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyValue(java.lang.Object)
+     * @see org.eclipse.linuxtools.lttng.ui.views.control.property.BasePropertySource#getPropertyValue(java.lang.Object)
      */
     @Override
     public Object getPropertyValue(Object id) {
@@ -99,33 +98,9 @@ public class TargetNodePropertySource implements IPropertySource {
         if (TARGET_NODE_ADDRESS_PROPERTY_ID.equals(id)) {
             return fTargetNode.getHostName();
         }
+        if (TARGET_NODE_STATE_PROPERTY_ID.equals(id)) {
+            return fTargetNode.getTargetNodeState().name();
+        }
         return null;
     }
-
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.ui.views.properties.IPropertySource#isPropertySet(java.lang.Object)
-     */
-    @Override
-    public boolean isPropertySet(Object id) {
-        return false;
-    }
-
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.ui.views.properties.IPropertySource#resetPropertyValue(java.lang.Object)
-     */
-    @Override
-    public void resetPropertyValue(Object id) {
-        
-    }
-
-    /*
-     * (non-Javadoc)
-     * @see org.eclipse.ui.views.properties.IPropertySource#setPropertyValue(java.lang.Object, java.lang.Object)
-     */
-    @Override
-    public void setPropertyValue(Object id, Object value) {
-    }
-
 }
diff --git a/org.eclipse.linuxtools.lttng.ui/src/org/eclipse/linuxtools/lttng/ui/views/control/property/TraceChannelPropertySource.java b/org.eclipse.linuxtools.lttng.ui/src/org/eclipse/linuxtools/lttng/ui/views/control/property/TraceChannelPropertySource.java
new file mode 100644 (file)
index 0000000..c9fa6af
--- /dev/null
@@ -0,0 +1,168 @@
+/**********************************************************************
+ * Copyright (c) 2012 Ericsson
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors: 
+ *   Bernd Hufmann - Initial API and implementation
+ **********************************************************************/
+package org.eclipse.linuxtools.lttng.ui.views.control.property;
+
+import org.eclipse.linuxtools.lttng.ui.views.control.Messages;
+import org.eclipse.linuxtools.lttng.ui.views.control.model.impl.TraceChannelComponent;
+import org.eclipse.ui.views.properties.IPropertyDescriptor;
+import org.eclipse.ui.views.properties.TextPropertyDescriptor;
+
+/**
+ * <b><u>TraceChannelPropertySource</u></b>
+ * <p>
+ * Property source implementation for the trace channel component.
+ * </p>
+ */
+public class TraceChannelPropertySource extends BasePropertySource {
+
+    // ------------------------------------------------------------------------
+    // Constants
+    // ------------------------------------------------------------------------
+    /**
+     * The trace channel 'name' property ID.
+     */
+    public static final String TRACE_CHANNEL_NAME_PROPERTY_ID = "trace.channel.name"; //$NON-NLS-1$
+    /**
+     * The trace channel 'state' ID.
+     */
+    public static final String TRACE_CHANNEL_STATE_PROPERTY_ID = "trace.channel.state"; //$NON-NLS-1$
+    /**
+     * The trace channel 'overwrite mode' property ID.
+     */
+    public static final String TRACE_CHANNEL_OVERWRITE_MODE_PROPERTY_ID = "trace.channel.overwrite.mode"; //$NON-NLS-1$
+    /**
+     * The trace channel 'sub-buffer size' property ID.
+     */
+    public static final String TRACE_CHANNEL_SUBBUFFER_SIZE_PROPERTY_ID = "trace.channel.subbuffer.size"; //$NON-NLS-1$
+    /**
+     * The trace channel 'number of sub-buffers' property ID.
+     */
+    public static final String TRACE_CHANNEL_NO_SUBBUFFERS_PROPERTY_ID = "trace.channel.no.subbuffers"; //$NON-NLS-1$
+    /**
+     * The trace channel 'switch timer interval' property ID.
+     */
+    public static final String TRACE_CHANNEL_SWITCH_TIMER_PROPERTY_ID = "trace.channel.switch.timer"; //$NON-NLS-1$
+    /**
+     * The trace channel 'read timer interval' property ID.
+     */
+    public static final String TRACE_CHANNEL_READ_TIMER_PROPERTY_ID = "trace.channel.read.timer"; //$NON-NLS-1$
+    /**
+     * The trace channel 'output type' property ID.
+     */
+    public static final String TRACE_CHANNEL_OUTPUT_TYPE_PROPERTY_ID = "trace.channel.output.type"; //$NON-NLS-1$
+    /**
+     *  The trace channel 'name' property name. 
+     */
+    public static final String TRACE_CHANNEL_NAME_PROPERTY_NAME = Messages.TraceControl_ChannelNamePropertyName;
+    /**
+     * The trace channel 'state' property name.
+     */
+    public static final String TRACE_CHANNEL_STATE_PROPERTY_NAME = Messages.TraceControl_StatePropertyName;
+    /**
+     *  The trace channel 'overwrite mode' property name. 
+     */
+    public static final String TRACE_CHANNEL_OVERWRITE_MODE_PROPERTY_NAME = Messages.TraceControl_OverwriteModePropertyName;
+    /**
+     *  The trace channel 'sub-buffer size' property name. 
+     */
+    public static final String TRACE_CHANNEL_SUBBUFFER_SIZE_PROPERTY_NAME = Messages.TraceControl_SubBufferSizePropertyName;
+    /**
+     *  The trace channel 'sub-buffer size' property name. 
+     */
+    public static final String TRACE_CHANNEL_NO_SUBBUFFERS_PROPERTY_NAME = Messages.TraceControl_NbSubBuffersPropertyName;
+    /**
+     *  The trace channel 'switch timer interval' property name. 
+     */
+    public static final String TRACE_CHANNEL_SWITCH_TIMER_PROPERTY_NAME = Messages.TraceControl_SwitchTimerPropertyName;
+    /**
+     *  The trace channel 'read timer interval' property name. 
+     */
+    public static final String TRACE_CHANNEL_READ_TIMER_PROPERTY_NAME = Messages.TraceControl_ReadTimerPropertyName;
+    /**
+     *  The trace channel 'output type' property name. 
+     */
+    public static final String TRACE_CHANNEL_OUTPUT_TYPEPROPERTY_NAME = Messages.TraceControl_OutputTypePropertyName;
+
+    // ------------------------------------------------------------------------
+    // Attributes
+    // ------------------------------------------------------------------------
+    /**
+     * The channel component which this property source is for. 
+     */
+    private final TraceChannelComponent fChannel;
+
+    // ------------------------------------------------------------------------
+    // Constructors
+    // ------------------------------------------------------------------------
+    /**
+     * Constructor
+     * @param component - the channel component
+     */
+    public TraceChannelPropertySource(TraceChannelComponent component) {
+        fChannel = component;
+    }
+    
+    // ------------------------------------------------------------------------
+    // Operations
+    // ------------------------------------------------------------------------
+
+    /*
+     * (non-Javadoc)
+     * @see org.eclipse.linuxtools.lttng.ui.views.control.property.BasePropertySource#getPropertyDescriptors()
+     */
+    @Override
+    public IPropertyDescriptor[] getPropertyDescriptors() {
+        return new IPropertyDescriptor[] {
+                new TextPropertyDescriptor(TRACE_CHANNEL_NAME_PROPERTY_ID, TRACE_CHANNEL_NAME_PROPERTY_NAME),
+                new TextPropertyDescriptor(TRACE_CHANNEL_STATE_PROPERTY_ID, TRACE_CHANNEL_STATE_PROPERTY_NAME),
+                new TextPropertyDescriptor(TRACE_CHANNEL_OVERWRITE_MODE_PROPERTY_ID, TRACE_CHANNEL_OVERWRITE_MODE_PROPERTY_NAME),
+                new TextPropertyDescriptor(TRACE_CHANNEL_SUBBUFFER_SIZE_PROPERTY_ID, TRACE_CHANNEL_SUBBUFFER_SIZE_PROPERTY_NAME),
+                new TextPropertyDescriptor(TRACE_CHANNEL_NO_SUBBUFFERS_PROPERTY_ID, TRACE_CHANNEL_NO_SUBBUFFERS_PROPERTY_NAME),
+                new TextPropertyDescriptor(TRACE_CHANNEL_SWITCH_TIMER_PROPERTY_ID, TRACE_CHANNEL_SWITCH_TIMER_PROPERTY_NAME),
+                new TextPropertyDescriptor(TRACE_CHANNEL_READ_TIMER_PROPERTY_ID, TRACE_CHANNEL_READ_TIMER_PROPERTY_NAME),
+                new TextPropertyDescriptor(TRACE_CHANNEL_OUTPUT_TYPE_PROPERTY_ID, TRACE_CHANNEL_OUTPUT_TYPEPROPERTY_NAME)};
+    }
+
+    /*
+     * (non-Javadoc)
+     * @see org.eclipse.linuxtools.lttng.ui.views.control.property.BasePropertySource#getPropertyValue(java.lang.Object)
+     */
+    @Override
+    public Object getPropertyValue(Object id) {
+        if(TRACE_CHANNEL_NAME_PROPERTY_ID.equals(id)) {
+            return fChannel.getName();
+        }
+        if (TRACE_CHANNEL_STATE_PROPERTY_ID.equals(id)) {
+            return fChannel.getState().name();
+        }
+        if(TRACE_CHANNEL_OVERWRITE_MODE_PROPERTY_ID.equals(id)) {
+            return String.valueOf(fChannel.isOverwriteMode());
+        }
+        if(TRACE_CHANNEL_SUBBUFFER_SIZE_PROPERTY_ID.equals(id)) {
+            return String.valueOf(fChannel.getSubBufferSize());
+        }
+        if(TRACE_CHANNEL_NO_SUBBUFFERS_PROPERTY_ID.equals(id)) {
+            return String.valueOf(fChannel.getNumberOfSubBuffers());
+        }
+        if(TRACE_CHANNEL_SWITCH_TIMER_PROPERTY_ID.equals(id)) {
+            return String.valueOf(fChannel.getSwitchTimer());
+        }
+        if(TRACE_CHANNEL_READ_TIMER_PROPERTY_ID.equals(id)) {
+            return String.valueOf(fChannel.getReadTimer());
+        }
+        if(TRACE_CHANNEL_OUTPUT_TYPE_PROPERTY_ID.equals(id)) {
+            return fChannel.getOutputType();
+        }
+        return null;
+    }
+
+}
diff --git a/org.eclipse.linuxtools.lttng.ui/src/org/eclipse/linuxtools/lttng/ui/views/control/property/TraceDomainPropertySource.java b/org.eclipse.linuxtools.lttng.ui/src/org/eclipse/linuxtools/lttng/ui/views/control/property/TraceDomainPropertySource.java
new file mode 100644 (file)
index 0000000..875ecb3
--- /dev/null
@@ -0,0 +1,84 @@
+/**********************************************************************
+ * Copyright (c) 2012 Ericsson
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors: 
+ *   Bernd Hufmann - Initial API and implementation
+ **********************************************************************/
+package org.eclipse.linuxtools.lttng.ui.views.control.property;
+
+import org.eclipse.linuxtools.lttng.ui.views.control.Messages;
+import org.eclipse.linuxtools.lttng.ui.views.control.model.impl.TraceDomainComponent;
+import org.eclipse.ui.views.properties.IPropertyDescriptor;
+import org.eclipse.ui.views.properties.TextPropertyDescriptor;
+
+/**
+ * <b><u>TraceDomainPropertySource</u></b>
+ * <p>
+ * Property source implementation for the trace domain component.
+ * </p>
+ */
+public class TraceDomainPropertySource extends BasePropertySource {
+
+    // ------------------------------------------------------------------------
+    // Constants
+    // ------------------------------------------------------------------------
+
+    /**
+     * The trace domain 'name' property ID.
+     */
+    public static final String TRACE_DOMAIN_NAME_PROPERTY_ID = "trace.domain.name"; //$NON-NLS-1$
+    /**
+     *  The trace domain 'name' property name. 
+     */
+    public static final String TRACE_DOMAIN_NAME_PROPERTY_NAME = Messages.TraceControl_DomainNamePropertyName;
+    
+    // ------------------------------------------------------------------------
+    // Attributes
+    // ------------------------------------------------------------------------
+    /**
+     * The trace domain component which this property source is for. 
+     */
+    private final TraceDomainComponent fBaseEvent;
+    
+    // ------------------------------------------------------------------------
+    // Constructors
+    // ------------------------------------------------------------------------
+    /**
+     * Constructor
+     * @param component - the trace domain component
+     */
+    public TraceDomainPropertySource(TraceDomainComponent component) {
+        fBaseEvent = component;
+    }
+    
+    // ------------------------------------------------------------------------
+    // Operations
+    // ------------------------------------------------------------------------
+    /*
+     * (non-Javadoc)
+     * @see org.eclipse.linuxtools.lttng.ui.views.control.property.BasePropertySource#getPropertyDescriptors()
+     */
+    @Override
+    public IPropertyDescriptor[] getPropertyDescriptors() {
+        return new IPropertyDescriptor[] {
+                new TextPropertyDescriptor(TRACE_DOMAIN_NAME_PROPERTY_ID, TRACE_DOMAIN_NAME_PROPERTY_NAME)};
+    }
+
+    /*
+     * (non-Javadoc)
+     * @see org.eclipse.linuxtools.lttng.ui.views.control.property.BasePropertySource#getPropertyValue(java.lang.Object)
+     */
+    @Override
+    public Object getPropertyValue(Object id) {
+        if(TRACE_DOMAIN_NAME_PROPERTY_ID.equals(id)) {
+            return fBaseEvent.getName();
+        }
+        return null;
+    }
+
+}
diff --git a/org.eclipse.linuxtools.lttng.ui/src/org/eclipse/linuxtools/lttng/ui/views/control/property/TraceEventPropertySource.java b/org.eclipse.linuxtools.lttng.ui/src/org/eclipse/linuxtools/lttng/ui/views/control/property/TraceEventPropertySource.java
new file mode 100644 (file)
index 0000000..9d5e69b
--- /dev/null
@@ -0,0 +1,119 @@
+/**********************************************************************
+ * Copyright (c) 2012 Ericsson
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors: 
+ *   Bernd Hufmann - Initial API and implementation
+ **********************************************************************/
+package org.eclipse.linuxtools.lttng.ui.views.control.property;
+
+import org.eclipse.linuxtools.lttng.ui.views.control.Messages;
+import org.eclipse.linuxtools.lttng.ui.views.control.model.impl.TraceEventComponent;
+import org.eclipse.ui.views.properties.IPropertyDescriptor;
+import org.eclipse.ui.views.properties.TextPropertyDescriptor;
+
+/**
+ * <b><u>TraceEventPropertySource</u></b>
+ * <p>
+ * Property source implementation for the trace event component.
+ * </p>
+ */
+public class TraceEventPropertySource extends BasePropertySource {
+
+    // ------------------------------------------------------------------------
+    // Constants
+    // ------------------------------------------------------------------------
+    /**
+     * The trace event 'name' property ID.
+     */
+    public static final String TRACE_EVENT_NAME_PROPERTY_ID = "trace.event.name"; //$NON-NLS-1$
+    /**
+     * The trace event 'type' property ID.
+     */
+    public static final String TRACE_EVENT_TYPE_PROPERTY_ID = "trace.event.type"; //$NON-NLS-1$
+    /**
+     * The trace event 'log level' property ID.
+     */
+    public static final String TRACE_EVENT_LOGLEVEL_PROPERTY_ID = "trace.event.loglevel"; //$NON-NLS-1$
+    /**
+     * The trace event 'state' property ID.
+     */
+    public static final String TRACE_EVENT_STATE_PROPERTY_ID = "trace.event.state"; //$NON-NLS-1$
+    /**
+     *  The trace event 'name' property name. 
+     */
+    public static final String TRACE_EVENT_NAME_PROPERTY_NAME = Messages.TraceControl_EventNamePropertyName;
+    /**
+     * The trace event 'type' property name.
+     */
+    public static final String TRACE_EVENT_TYPE_PROPERTY_NAME = Messages.TraceControl_EventTypePropertyName;
+    /**
+     * The trace event 'log level' property name.
+     */
+    public static final String TRACE_EVENT_LOGLEVEL_PROPERTY_NAME = Messages.TraceControl_LogLevelPropertyName;
+    /**
+     * The trace event 'state' property name.
+     */
+    public static final String TRACE_EVENT_STATE_PROPERTY_NAME = Messages.TraceControl_StatePropertyName;
+
+    // ------------------------------------------------------------------------
+    // Attributes
+    // ------------------------------------------------------------------------
+    /**
+     * The event component which this property source is for. 
+     */
+    private final TraceEventComponent fEvent;
+    
+    // ------------------------------------------------------------------------
+    // Constructors
+    // ------------------------------------------------------------------------
+    /**
+     * Constructor
+     * @param component - the base event component
+     */
+    public TraceEventPropertySource(TraceEventComponent component) {
+        fEvent = component;
+    }
+    
+    // ------------------------------------------------------------------------
+    // Operations
+    // ------------------------------------------------------------------------
+    /*
+     * (non-Javadoc)
+     * @see org.eclipse.linuxtools.lttng.ui.views.control.property.BasePropertySource#getPropertyDescriptors()
+     */
+    @Override
+    public IPropertyDescriptor[] getPropertyDescriptors() {
+        return new IPropertyDescriptor[] {
+                new TextPropertyDescriptor(TRACE_EVENT_NAME_PROPERTY_ID, TRACE_EVENT_NAME_PROPERTY_NAME),
+                new TextPropertyDescriptor(TRACE_EVENT_TYPE_PROPERTY_ID, TRACE_EVENT_TYPE_PROPERTY_NAME),
+                new TextPropertyDescriptor(TRACE_EVENT_LOGLEVEL_PROPERTY_ID, TRACE_EVENT_LOGLEVEL_PROPERTY_NAME),
+                new TextPropertyDescriptor(TRACE_EVENT_STATE_PROPERTY_ID, TRACE_EVENT_STATE_PROPERTY_NAME)};
+    }
+
+    /*
+     * (non-Javadoc)
+     * @see org.eclipse.linuxtools.lttng.ui.views.control.property.BasePropertySource#getPropertyValue(java.lang.Object)
+     */
+    @Override
+    public Object getPropertyValue(Object id) {
+        if(TRACE_EVENT_NAME_PROPERTY_ID.equals(id)) {
+            return fEvent.getName();
+        }
+        if (TRACE_EVENT_TYPE_PROPERTY_ID.equals(id)) {
+            return fEvent.getEventType().name();
+        }
+        if (TRACE_EVENT_LOGLEVEL_PROPERTY_ID.equals(id)) {
+            return fEvent.getLogLevel().name();
+        }
+        if (TRACE_EVENT_STATE_PROPERTY_ID.equals(id)) {
+            return fEvent.getState().name();
+        }
+        return null;
+    }
+
+}
diff --git a/org.eclipse.linuxtools.lttng.ui/src/org/eclipse/linuxtools/lttng/ui/views/control/property/TraceSessionPropertySource.java b/org.eclipse.linuxtools.lttng.ui/src/org/eclipse/linuxtools/lttng/ui/views/control/property/TraceSessionPropertySource.java
new file mode 100644 (file)
index 0000000..bfff2b9
--- /dev/null
@@ -0,0 +1,106 @@
+/**********************************************************************
+ * Copyright (c) 2012 Ericsson
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors: 
+ *   Bernd Hufmann - Initial API and implementation
+ **********************************************************************/
+package org.eclipse.linuxtools.lttng.ui.views.control.property;
+
+import org.eclipse.linuxtools.lttng.ui.views.control.Messages;
+import org.eclipse.linuxtools.lttng.ui.views.control.model.impl.TraceSessionComponent;
+import org.eclipse.ui.views.properties.IPropertyDescriptor;
+import org.eclipse.ui.views.properties.TextPropertyDescriptor;
+
+/**
+ * <b><u>TraceSessionPropertySource</u></b>
+ * <p>
+ * Property source implementation for the trace session component.
+ * </p>
+ */
+public class TraceSessionPropertySource extends BasePropertySource {
+
+    // ------------------------------------------------------------------------
+    // Constants
+    // ------------------------------------------------------------------------
+    /**
+     * The trace session name property ID.
+     */
+    public static final String TRACE_SESSION_NAME_PROPERTY_ID = "trace.session.name"; //$NON-NLS-1$
+    /**
+     * The trace session path property ID.
+     */
+    public static final String TRACE_SESSION_PATH_PROPERTY_ID = "trace.session.path"; //$NON-NLS-1$
+    /**
+     * The trace session state ID.
+     */
+    public static final String TRACE_SESSION_STATE_PROPERTY_ID = "trace.session.state"; //$NON-NLS-1$
+    /**
+     *  The trace session name property name. 
+     */
+    public static final String TRACE_SESSION_NAME_PROPERTY_NAME = Messages.TraceControl_SessionNamePropertyName;
+    /**
+     *  The trace session path property name. 
+     */
+    public static final String TRACE_SESSION_PATH_PROPERTY_NAME = Messages.TraceControl_SessionPathPropertyName;
+    /**
+     * The trace session state property name.
+     */
+    public static final String TRACE_SESSION_STATE_PROPERTY_NAME = Messages.TraceControl_StatePropertyName;
+    
+    // ------------------------------------------------------------------------
+    // Attributes
+    // ------------------------------------------------------------------------
+    /**
+     * The session component which this property source is for. 
+     */
+    private final TraceSessionComponent fSession;
+
+    // ------------------------------------------------------------------------
+    // Constructors
+    // ------------------------------------------------------------------------
+    /**
+     * Constructor
+     * @param component - the session component
+     */
+    public TraceSessionPropertySource(TraceSessionComponent component) {
+        fSession = component;
+    }
+    
+    // ------------------------------------------------------------------------
+    // Operations
+    // ------------------------------------------------------------------------
+    /*
+     * (non-Javadoc)
+     * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyDescriptors()
+     */
+    @Override
+    public IPropertyDescriptor[] getPropertyDescriptors() {
+        return new IPropertyDescriptor[] {
+                new TextPropertyDescriptor(TRACE_SESSION_NAME_PROPERTY_ID, TRACE_SESSION_NAME_PROPERTY_NAME),
+                new TextPropertyDescriptor(TRACE_SESSION_PATH_PROPERTY_ID, TRACE_SESSION_PATH_PROPERTY_NAME),
+                new TextPropertyDescriptor(TRACE_SESSION_STATE_PROPERTY_ID, TRACE_SESSION_STATE_PROPERTY_NAME)};
+    }
+
+    /*
+     * (non-Javadoc)
+     * @see org.eclipse.ui.views.properties.IPropertySource#getPropertyValue(java.lang.Object)
+     */
+    @Override
+    public Object getPropertyValue(Object id) {
+        if(TRACE_SESSION_NAME_PROPERTY_ID.equals(id)) {
+            return fSession.getName();
+        }
+        if(TRACE_SESSION_PATH_PROPERTY_ID.equals(id)) {
+            return fSession.getSessionPath();
+        }
+        if (TRACE_SESSION_STATE_PROPERTY_ID.equals(id)) {
+            return fSession.getSessionState().name();
+        }
+        return null;
+    }
+}
diff --git a/org.eclipse.linuxtools.lttng.ui/src/org/eclipse/linuxtools/lttng/ui/views/control/property/UstProviderPropertySource.java b/org.eclipse.linuxtools.lttng.ui/src/org/eclipse/linuxtools/lttng/ui/views/control/property/UstProviderPropertySource.java
new file mode 100644 (file)
index 0000000..a239d7e
--- /dev/null
@@ -0,0 +1,95 @@
+/**********************************************************************
+ * Copyright (c) 2012 Ericsson
+ * 
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * 
+ * Contributors: 
+ *   Bernd Hufmann - Initial API and implementation
+ **********************************************************************/
+package org.eclipse.linuxtools.lttng.ui.views.control.property;
+
+import org.eclipse.linuxtools.lttng.ui.views.control.Messages;
+import org.eclipse.linuxtools.lttng.ui.views.control.model.impl.UstProviderComponent;
+import org.eclipse.ui.views.properties.IPropertyDescriptor;
+import org.eclipse.ui.views.properties.TextPropertyDescriptor;
+
+/**
+ * <b><u>UstProviderPropertySource</u></b>
+ * <p>
+ * Property source implementation for the UST provider component.
+ * </p>
+ */
+public class UstProviderPropertySource extends BasePropertySource {
+
+    // ------------------------------------------------------------------------
+    // Constants
+    // ------------------------------------------------------------------------
+    /**
+     * The UST provider 'name' property ID.
+     */
+    public static final String UST_PROVIDER_NAME_PROPERTY_ID = "ust.provider.name"; //$NON-NLS-1$
+    /**
+     * The UST provider 'PID' property ID.
+     */
+    public static final String UST_PROVIDER_PID_PROPERTY_ID = "ust.provider.pid"; //$NON-NLS-1$
+    /**
+     *  The UST provider 'name' property name. 
+     */
+    public static final String UST_PROVIDER_NAME_PROPERTY_NAME = Messages.TraceControl_ProviderNamePropertyName;
+    /**
+     * The UST provider 'type' property name.
+     */
+    public static final String UST_PROVIDER_PID_PROPERTY_NAME = Messages.TraceControl_ProcessIdPropertyName;
+
+    // ------------------------------------------------------------------------
+    // Attributes
+    // ------------------------------------------------------------------------
+    /**
+     * The UST provider component which this property source is for. 
+     */
+    private UstProviderComponent fUstProvider;
+    
+    // ------------------------------------------------------------------------
+    // Constructors
+    // ------------------------------------------------------------------------
+    /**
+     * Constructor
+     * @param component - the UST provider component
+     */
+    public UstProviderPropertySource(UstProviderComponent component) {
+        fUstProvider = component;
+    }
+    
+    // ------------------------------------------------------------------------
+    // Operations
+    // ------------------------------------------------------------------------
+    /*
+     * (non-Javadoc)
+     * @see org.eclipse.linuxtools.lttng.ui.views.control.property.BasePropertySource#getPropertyDescriptors()
+     */
+    @Override
+    public IPropertyDescriptor[] getPropertyDescriptors() {
+        return new IPropertyDescriptor[] {
+                new TextPropertyDescriptor(UST_PROVIDER_NAME_PROPERTY_ID, UST_PROVIDER_NAME_PROPERTY_NAME),
+                new TextPropertyDescriptor(UST_PROVIDER_PID_PROPERTY_ID, UST_PROVIDER_PID_PROPERTY_NAME)};
+    }
+
+    /*
+     * (non-Javadoc)
+     * @see org.eclipse.linuxtools.lttng.ui.views.control.property.BasePropertySource#getPropertyValue(java.lang.Object)
+     */
+    @Override
+    public Object getPropertyValue(Object id) {
+        if(UST_PROVIDER_NAME_PROPERTY_ID.equals(id)) {
+            return fUstProvider.getName();
+        }
+        if (UST_PROVIDER_PID_PROPERTY_ID.equals(id)) {
+            return String.valueOf(fUstProvider.getPid());
+        }
+        return null;
+    }
+
+}
This page took 0.055326 seconds and 5 git commands to generate.