import org.eclipse.linuxtools.internal.lttng2.control.core.model.IChannelInfo;
import org.eclipse.linuxtools.internal.lttng2.control.core.model.IEventInfo;
+import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceChannelOutputType;
import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceEnablement;
import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.BufferType;
import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.ChannelInfo;
assertEquals("test", result.getName());
assertEquals(0, result.getNumberOfSubBuffers());
- assertEquals("", result.getOutputType());
+ assertEquals("unknown", result.getOutputType().getInName());
+ assertEquals(TraceChannelOutputType.UNKNOWN, result.getOutputType());
assertEquals(false, result.isOverwriteMode());
assertEquals(0, result.getReadTimer());
assertEquals("disabled", result.getState().getInName());
long numSubBuffers = fixture.getNumberOfSubBuffers();
assertEquals(4, numSubBuffers);
- String outputType = fixture.getOutputType();
+ String outputType = fixture.getOutputType().getInName();
assertEquals("splice()", outputType);
long subBufferSize = fixture.getSubBufferSize();
numSubBuffers = fixture.getNumberOfSubBuffers();
assertEquals(7, numSubBuffers);
- outputType = fixture.getOutputType();
+ outputType = fixture.getOutputType().getInName();
assertEquals("mmap()", outputType);
subBufferSize = fixture.getSubBufferSize();
/**
* @return the output type.
*/
- String getOutputType();
+ TraceChannelOutputType getOutputType();
/**
* Sets the output type to the given value.
* @param type - type to set.
*/
void setOutputType(String type);
+ /**
+ * Sets the output type to the given value.
+ * @param type - type to set.
+ */
+ void setOutputType(TraceChannelOutputType type);
/**
* @return the channel state (enabled or disabled).
--- /dev/null
+/**********************************************************************
+ * Copyright (c) 2014 Ericsson
+ *
+ * All rights reserved. This program and the accompanying materials are
+ * made available under the terms of the Eclipse Public License v1.0 which
+ * accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Jonathan Rajotte - Initial API and implementation
+ **********************************************************************/
+
+package org.eclipse.linuxtools.internal.lttng2.control.core.model;
+
+/**
+ * Trace domain type enumeration.
+ *
+ * @author Jonathan Rajotte
+ */
+public enum TraceChannelOutputType {
+ /** Channel output type : splice */
+ SPLICE("splice()", "SPLICE" ), //$NON-NLS-1$ //$NON-NLS-2$
+ /** Channel output type : mmap */
+ MMAP("mmap()", "MMAP"), //$NON-NLS-1$ //$NON-NLS-2$
+ /** Channel output type : unknown */
+ UNKNOWN("unknown", "unknown"); //$NON-NLS-1$ //$NON-NLS-2$
+
+ private final String fInName;
+ private final String fInMiName;
+
+ private TraceChannelOutputType(String name, String miName) {
+ fInName = name;
+ fInMiName = miName;
+ }
+
+ /**
+ * Get the type's name
+ *
+ * @return The type's name
+ */
+ public String getInName() {
+ return fInName;
+ }
+
+ /**
+ * Get the type's name
+ *
+ * @return The type's name
+ */
+ public String getInMiName() {
+ return fInMiName;
+ }
+
+ /**
+ * Return the corresponding {@link TraceChannelOutputType} of string miName
+ *
+ * @param name
+ * name of the Trace domain type to look for
+ * @return the corresponding {@link TraceChannelOutputType}
+ */
+ public static TraceChannelOutputType valueOfString(String name) {
+ if (name == null) {
+ throw new IllegalArgumentException();
+ }
+ for (TraceChannelOutputType tdType : TraceChannelOutputType.values()) {
+ boolean isEqual = tdType.getInName().equalsIgnoreCase(name) || tdType.getInMiName().equalsIgnoreCase(name);
+ if (isEqual) {
+ return tdType;
+ }
+ }
+ // Unknown domain
+ return UNKNOWN;
+ }
+}
\ No newline at end of file
import org.eclipse.linuxtools.internal.lttng2.control.core.model.IChannelInfo;
import org.eclipse.linuxtools.internal.lttng2.control.core.model.IEventInfo;
+import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceChannelOutputType;
import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceEnablement;
/**
/**
* The Output type of the channel.
*/
- private String fOutputType = ""; //$NON-NLS-1$
+ private TraceChannelOutputType fOutputType = TraceChannelOutputType.UNKNOWN;
/**
* The channel enable state.
*/
fMaxSizeTraceFiles = other.fMaxSizeTraceFiles;
fMaxNumberTraceFiles = other.fMaxNumberTraceFiles;
fBufferType = other.fBufferType;
- fOutputType = (other.fOutputType == null ? null : String.valueOf(other.fOutputType));
+ fOutputType = (other.fOutputType == null ? null : other.fOutputType);
fState = other.fState;
for (Iterator<IEventInfo> iterator = other.fEvents.iterator(); iterator.hasNext();) {
IEventInfo event = iterator.next();
}
@Override
- public String getOutputType() {
+ public TraceChannelOutputType getOutputType() {
return fOutputType;
}
@Override
public void setOutputType(String type) {
+ fOutputType = TraceChannelOutputType.valueOfString(type);
+ }
+
+ @Override
+ public void setOutputType(TraceChannelOutputType type) {
fOutputType = type;
}
output.append(",ReadTimer=");
output.append(fReadTimer);
output.append(",output=");
- output.append(fOutputType);
+ output.append(fOutputType.getInName());
if ((fBufferType != null) && !fBufferType.equals(BufferType.BUFFER_TYPE_UNKNOWN) && !fBufferType.equals(BufferType.BUFFER_SHARED)) {
output.append(",BufferType=");
output.append(fBufferType);
addElementContent(document, channelElement, SessionConfigStrings.CONFIG_ELEMENT_SWITCH_TIMER_INTERVAL, channel.getSwitchTimer());
addElementContent(document, channelElement, SessionConfigStrings.CONFIG_ELEMENT_READ_TIMER_INTERVAL, channel.getReadTimer());
- String outputType = channel.getOutputType().startsWith(SessionConfigStrings.CONFIG_OUTPUT_TYPE_MMAP) ?
+ String outputType = channel.getOutputType().getInName().startsWith(SessionConfigStrings.CONFIG_OUTPUT_TYPE_MMAP) ?
outputType = SessionConfigStrings.CONFIG_OUTPUT_TYPE_MMAP : SessionConfigStrings.CONFIG_OUTPUT_TYPE_SPLICE;
addElementContent(document, channelElement, SessionConfigStrings.CONFIG_ELEMENT_OUTPUT_TYPE, outputType);
addElementContent(document, channelElement, SessionConfigStrings.CONFIG_ELEMENT_TRACEFILE_SIZE, channel.getMaxSizeTraceFiles());
import org.eclipse.linuxtools.internal.lttng2.control.stubs.dialogs.GetEventInfoDialogStub;
import org.eclipse.linuxtools.internal.lttng2.control.stubs.service.TestRemoteSystemProxy;
import org.eclipse.linuxtools.internal.lttng2.control.core.model.TargetNodeState;
+import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceChannelOutputType;
import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceEnablement;
import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceEventType;
import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceLogLevel;
TraceChannelComponent channel = (TraceChannelComponent) channels[0];
assertEquals("channel0", channel.getName());
assertEquals(4, channel.getNumberOfSubBuffers());
- assertEquals("splice()", channel.getOutputType());
+ assertEquals("splice()", channel.getOutputType().getInName());
+ assertEquals(TraceChannelOutputType.SPLICE, channel.getOutputType());
assertEquals(false, channel.isOverwriteMode());
assertEquals(200, channel.getReadTimer());
assertEquals(TraceEnablement.ENABLED, channel.getState());
import org.eclipse.linuxtools.internal.lttng2.control.stubs.dialogs.GetEventInfoDialogStub;
import org.eclipse.linuxtools.internal.lttng2.control.stubs.service.TestRemoteSystemProxy;
import org.eclipse.linuxtools.internal.lttng2.control.core.model.TargetNodeState;
+import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceChannelOutputType;
import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceEnablement;
import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceEventType;
import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceLogLevel;
TraceChannelComponent channel = (TraceChannelComponent) channels[0];
assertEquals("mychannel", channel.getName());
assertEquals(4, channel.getNumberOfSubBuffers());
- assertEquals("splice()", channel.getOutputType());
+ assertEquals("splice()", channel.getOutputType().getInName());
+ assertEquals(TraceChannelOutputType.SPLICE, channel.getOutputType());
assertEquals(true, channel.isOverwriteMode());
assertEquals(200, channel.getReadTimer());
assertEquals(TraceEnablement.ENABLED, channel.getState());
channel = (TraceChannelComponent) channels[1];
assertEquals("mychannel2", channel.getName());
assertEquals(2, channel.getNumberOfSubBuffers());
- assertEquals("splice()", channel.getOutputType());
+ assertEquals("splice()", channel.getOutputType().getInName());
+ assertEquals(TraceChannelOutputType.SPLICE, channel.getOutputType());
assertEquals(false, channel.isOverwriteMode());
assertEquals(200, channel.getReadTimer());
assertEquals(TraceEnablement.ENABLED, channel.getState());
import org.eclipse.linuxtools.internal.lttng2.control.stubs.service.TestRemoteSystemProxy;
import org.eclipse.linuxtools.internal.lttng2.control.core.model.LogLevelType;
import org.eclipse.linuxtools.internal.lttng2.control.core.model.TargetNodeState;
+import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceChannelOutputType;
import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceEnablement;
import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceEventType;
import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceLogLevel;
TraceChannelComponent channel = (TraceChannelComponent) channels[0];
assertEquals("channel0", channel.getName());
assertEquals(4, channel.getNumberOfSubBuffers());
- assertEquals("splice()", channel.getOutputType());
+ assertEquals("splice()", channel.getOutputType().getInName());
+ assertEquals(TraceChannelOutputType.SPLICE, channel.getOutputType());
assertEquals(false, channel.isOverwriteMode());
assertEquals(200, channel.getReadTimer());
assertEquals(TraceEnablement.ENABLED, channel.getState());
assertEquals("channel1", channels[1].getName());
channel = (TraceChannelComponent) channels[1];
assertEquals(4, channel.getNumberOfSubBuffers());
- assertEquals("splice()", channel.getOutputType());
+ assertEquals("splice()", channel.getOutputType().getInName());
+ assertEquals(TraceChannelOutputType.SPLICE, channel.getOutputType());
assertEquals(true, channel.isOverwriteMode());
assertEquals(400, channel.getReadTimer());
assertEquals(TraceEnablement.DISABLED, channel.getState());
channel = (TraceChannelComponent) ustChannels[0];
assertEquals("mychannel1", channel.getName());
assertEquals(8, channel.getNumberOfSubBuffers());
- assertEquals("mmap()", channel.getOutputType());
+ assertEquals("mmap()", channel.getOutputType().getInName());
+ assertEquals(TraceChannelOutputType.MMAP, channel.getOutputType());
assertEquals(true, channel.isOverwriteMode());
assertEquals(100, channel.getReadTimer());
assertEquals(TraceEnablement.DISABLED, channel.getState());
channel = (TraceChannelComponent) ustChannels[1];
assertEquals("channel0", channel.getName());
assertEquals(4, channel.getNumberOfSubBuffers());
- assertEquals("mmap()", channel.getOutputType());
+ assertEquals("mmap()", channel.getOutputType().getInName());
+ assertEquals(TraceChannelOutputType.MMAP, channel.getOutputType());
assertEquals(false, channel.isOverwriteMode());
assertEquals(200, channel.getReadTimer());
assertEquals(TraceEnablement.ENABLED, channel.getState());
// save original values
String name = channel.getName();
int nbSubBuffers = channel.getNumberOfSubBuffers();
- String type = channel.getOutputType();
+ TraceChannelOutputType type = channel.getOutputType();
boolean mode = channel.isOverwriteMode();
long readTimer = channel.getReadTimer();
TraceEnablement state = channel.getState();
assertEquals(2, channel.getNumberOfSubBuffers());
channel.setOutputType("splice()");
- assertEquals("splice()", channel.getOutputType());
+ assertEquals("splice()", channel.getOutputType().getInName());
+ assertEquals(TraceChannelOutputType.SPLICE, channel.getOutputType());
channel.setOverwriteMode(false);
assertEquals(false, channel.isOverwriteMode());
import org.eclipse.linuxtools.internal.lttng2.control.stubs.dialogs.GetEventInfoDialogStub;
import org.eclipse.linuxtools.internal.lttng2.control.stubs.service.TestRemoteSystemProxy;
import org.eclipse.linuxtools.internal.lttng2.control.core.model.TargetNodeState;
+import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceChannelOutputType;
import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceEnablement;
import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceEventType;
import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceLogLevel;
TraceChannelComponent channel = (TraceChannelComponent) channels[0];
assertEquals("mychannel", channel.getName());
assertEquals(2, channel.getNumberOfSubBuffers());
- assertEquals("mmap()", channel.getOutputType());
+ assertEquals("mmap()", channel.getOutputType().getInName());
+ assertEquals(TraceChannelOutputType.MMAP, channel.getOutputType());
assertEquals(false, channel.isOverwriteMode());
assertEquals(100, channel.getReadTimer());
assertEquals(TraceEnablement.ENABLED, channel.getState());
import org.eclipse.linuxtools.internal.lttng2.control.stubs.service.TestRemoteSystemProxy;
import org.eclipse.linuxtools.internal.lttng2.control.core.model.LogLevelType;
import org.eclipse.linuxtools.internal.lttng2.control.core.model.TargetNodeState;
+import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceChannelOutputType;
import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceEnablement;
import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceEventType;
import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceLogLevel;
TraceChannelComponent channel = (TraceChannelComponent) channels[0];
assertEquals("mychannel", channel.getName());
assertEquals(4, channel.getNumberOfSubBuffers());
- assertEquals("mmap()", channel.getOutputType());
+ assertEquals("mmap()", channel.getOutputType().getInName());
+ assertEquals(TraceChannelOutputType.MMAP, channel.getOutputType());
assertEquals(true, channel.isOverwriteMode());
assertEquals(200, channel.getReadTimer());
assertEquals(TraceEnablement.ENABLED, channel.getState());
channel = (TraceChannelComponent) channels[1];
assertEquals("mychannel2", channel.getName());
assertEquals(2, channel.getNumberOfSubBuffers());
- assertEquals("mmap()", channel.getOutputType());
+ assertEquals("mmap()", channel.getOutputType().getInName());
+ assertEquals(TraceChannelOutputType.MMAP, channel.getOutputType());
assertEquals(false, channel.isOverwriteMode());
assertEquals(200, channel.getReadTimer());
assertEquals(TraceEnablement.ENABLED, channel.getState());
import org.eclipse.linuxtools.internal.lttng2.control.core.model.ISnapshotInfo;
import org.eclipse.linuxtools.internal.lttng2.control.core.model.IUstProviderInfo;
import org.eclipse.linuxtools.internal.lttng2.control.core.model.LogLevelType;
+import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceChannelOutputType;
import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceEnablement;
import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceEventType;
import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceLogLevel;
// Verify Kernel's channel0
assertEquals("channel0", channels[0].getName());
assertEquals(4, channels[0].getNumberOfSubBuffers());
- assertEquals("splice()", channels[0].getOutputType());
+ assertEquals("splice()", channels[0].getOutputType().getInName());
+ assertEquals(TraceChannelOutputType.SPLICE, channels[0].getOutputType());
assertEquals(false, channels[0].isOverwriteMode());
assertEquals(200, channels[0].getReadTimer());
assertEquals(TraceEnablement.ENABLED, channels[0].getState());
// Verify Kernel's channel1
assertEquals("channel1", channels[1].getName());
assertEquals(4, channels[1].getNumberOfSubBuffers());
- assertEquals("splice()", channels[1].getOutputType());
+ assertEquals("splice()", channels[1].getOutputType().getInName());
+ assertEquals(TraceChannelOutputType.SPLICE, channels[1].getOutputType());
assertEquals(true, channels[1].isOverwriteMode());
assertEquals(400, channels[1].getReadTimer());
assertEquals(TraceEnablement.DISABLED, channels[1].getState());
// Verify UST global's mychannel1
assertEquals("mychannel1", ustChannels[0].getName());
assertEquals(8, ustChannels[0].getNumberOfSubBuffers());
- assertEquals("mmap()", ustChannels[0].getOutputType());
+ assertEquals("mmap()", ustChannels[0].getOutputType().getInName());
+ assertEquals(TraceChannelOutputType.MMAP, ustChannels[0].getOutputType());
assertEquals(true, ustChannels[0].isOverwriteMode());
assertEquals(100, ustChannels[0].getReadTimer());
assertEquals(TraceEnablement.DISABLED, ustChannels[0].getState());
// Verify UST global's channel0
assertEquals("channel0", ustChannels[1].getName());
assertEquals(4, ustChannels[1].getNumberOfSubBuffers());
- assertEquals("mmap()", ustChannels[1].getOutputType());
+ assertEquals("mmap()", ustChannels[1].getOutputType().getInName());
+ assertEquals(TraceChannelOutputType.MMAP, ustChannels[1].getOutputType());
assertEquals(false, ustChannels[1].isOverwriteMode());
assertEquals(200, ustChannels[1].getReadTimer());
assertEquals(TraceEnablement.ENABLED, ustChannels[1].getState());
import org.eclipse.linuxtools.internal.lttng2.control.core.model.IChannelInfo;
import org.eclipse.linuxtools.internal.lttng2.control.core.model.IEventInfo;
import org.eclipse.linuxtools.internal.lttng2.control.core.model.LogLevelType;
+import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceChannelOutputType;
import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceEnablement;
import org.eclipse.linuxtools.internal.lttng2.control.core.model.TraceLogLevel;
import org.eclipse.linuxtools.internal.lttng2.control.core.model.impl.ChannelInfo;
/**
* @return the output type.
*/
- public String getOutputType() {
+ public TraceChannelOutputType getOutputType() {
return fChannelInfo.getOutputType();
}
+ /**
+ * Sets the output type to the given value.
+ * @param type - type to set.
+ */
+ public void setOutputType(TraceChannelOutputType type) {
+ fChannelInfo.setOutputType(type);
+ }
/**
* Sets the output type to the given value.
* @param type - type to set.
public void setOutputType(String type) {
fChannelInfo.setOutputType(type);
}
+
/**
* @return the channel state (enabled or disabled).
*/
return String.valueOf(fChannel.getReadTimer());
}
if(TRACE_CHANNEL_OUTPUT_TYPE_PROPERTY_ID.equals(id)) {
- return fChannel.getOutputType();
+ return fChannel.getOutputType().getInName();
}
return null;
}