import org.eclipse.tracecompass.statesystem.core.ITmfStateSystem;
import org.eclipse.tracecompass.tmf.core.signal.TmfSignalManager;
import org.eclipse.tracecompass.tmf.core.signal.TmfTraceOpenedSignal;
+import org.eclipse.tracecompass.tmf.core.statesystem.Messages;
import org.eclipse.tracecompass.tmf.core.statesystem.TmfStateSystemAnalysisModule;
import org.eclipse.tracecompass.tmf.core.tests.shared.TmfTestTrace;
+import org.eclipse.tracecompass.tmf.tests.stubs.analysis.TestStateSystemModule;
import org.eclipse.tracecompass.tmf.tests.stubs.trace.TmfTraceStub;
import org.junit.After;
import org.junit.Before;
@Test
public void testProperties() {
- TmfStateSystemAnalysisModule mod = module;
- assertNotNull(mod);
+ assertTrue(module instanceof TestStateSystemModule);
+ TestStateSystemModule mod = (TestStateSystemModule) module;
- /* The stub state system has in mem backend so only 1 property */
+ /* The stub state system has in mem backend 2 properties */
Map<String, String> properties = mod.getProperties();
- assertEquals(1, properties.size());
-
+ assertEquals(mod.getBackendName(), properties.get(Messages.TmfStateSystemAnalysisModule_PropertiesBackend));
+ assertEquals(mod.getId(), properties.get(org.eclipse.tracecompass.tmf.core.analysis.Messages.TmfAbstractAnalysisModule_LabelId));
}
}
return StateSystemBackendType.INMEM;
}
+ /**
+ * Get the name of the backend
+ *
+ * @return The name of the backend used
+ */
+ public String getBackendName() {
+ return StateSystemBackendType.INMEM.name();
+ }
+
}
/** The trace to set was null */
public static String TmfAbstractAnalysisModule_NullTrace;
+ /** The label for the ID property
+ * @since 2.0*/
+ public static String TmfAbstractAnalysisModule_LabelId;
+
/** Additional information on a requirement */
public static String TmfAnalysis_RequirementInformation;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.core.runtime.Status;
import org.eclipse.core.runtime.jobs.Job;
+import org.eclipse.jdt.annotation.NonNull;
import org.eclipse.jdt.annotation.NonNullByDefault;
import org.eclipse.jdt.annotation.Nullable;
import org.eclipse.osgi.util.NLS;
import org.eclipse.tracecompass.tmf.core.analysis.TmfAnalysisRequirement.ValuePriorityLevel;
import org.eclipse.tracecompass.tmf.core.component.TmfComponent;
import org.eclipse.tracecompass.tmf.core.exceptions.TmfAnalysisException;
+import org.eclipse.tracecompass.tmf.core.project.model.ITmfPropertiesProvider;
import org.eclipse.tracecompass.tmf.core.signal.TmfSignalHandler;
import org.eclipse.tracecompass.tmf.core.signal.TmfStartAnalysisSignal;
import org.eclipse.tracecompass.tmf.core.signal.TmfTraceClosedSignal;
* @author Geneviève Bastien
*/
@NonNullByDefault
-public abstract class TmfAbstractAnalysisModule extends TmfComponent implements IAnalysisModule {
+public abstract class TmfAbstractAnalysisModule extends TmfComponent
+ implements IAnalysisModule, ITmfPropertiesProvider {
private @Nullable String fId;
private boolean fAutomatic = false, fStarted = false;
public Iterable<TmfAnalysisRequirement> getAnalysisRequirements() {
return Collections.EMPTY_SET;
}
+
+ // ------------------------------------------------------------------------
+ // ITmfPropertiesProvider
+ // ------------------------------------------------------------------------
+
+ /**
+ * @since 2.0
+ */
+ @Override
+ public Map<@NonNull String, @NonNull String> getProperties() {
+ Map<@NonNull String, @NonNull String> properties = new HashMap<>();
+
+ properties.put(NonNullUtils.checkNotNull(Messages.TmfAbstractAnalysisModule_LabelId), getId());
+
+ return properties;
+ }
}
TmfAbstractAnalysisModule_AnalysisForTrace=Analysis module: {0} for trace {1}
TmfAbstractAnalysisModule_AnalysisModule=Analysis module: {0}
TmfAbstractAnalysisModule_InvalidParameter=Parameter {0} is not valid for analysis module {1}
+TmfAbstractAnalysisModule_LabelId=ID
TmfAbstractAnalysisModule_NullTrace=Setting a null trace to analysis module
TmfAnalysis_RequirementInformation=Additional information: {0}
TmfAnalysis_RequirementMandatoryValues=Mandatory values: {0}
import java.io.File;
import java.io.IOException;
import java.util.Collections;
-import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.CountDownLatch;
import org.eclipse.tracecompass.tmf.core.analysis.TmfAbstractAnalysisModule;
import org.eclipse.tracecompass.tmf.core.event.ITmfEvent;
import org.eclipse.tracecompass.tmf.core.exceptions.TmfTraceException;
-import org.eclipse.tracecompass.tmf.core.project.model.ITmfPropertiesProvider;
import org.eclipse.tracecompass.tmf.core.request.ITmfEventRequest;
import org.eclipse.tracecompass.tmf.core.request.TmfEventRequest;
import org.eclipse.tracecompass.tmf.core.signal.TmfSignalHandler;
* @author Geneviève Bastien
*/
public abstract class TmfStateSystemAnalysisModule extends TmfAbstractAnalysisModule
- implements ITmfAnalysisModuleWithStateSystems, ITmfPropertiesProvider {
+ implements ITmfAnalysisModuleWithStateSystems {
private static final String EXTENSION = ".ht"; //$NON-NLS-1$
*/
@Override
public @NonNull Map<@NonNull String, @NonNull String> getProperties() {
- Map<@NonNull String, @NonNull String> properties = new HashMap<>();
+ Map<@NonNull String, @NonNull String> properties = super.getProperties();
StateSystemBackendType backend = getBackendType();
properties.put(NonNullUtils.checkNotNull(Messages.TmfStateSystemAnalysisModule_PropertiesBackend), backend.name());