package org.eclipse.tracecompass.tmf.analysis.xml.core.tests.module;
+import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import java.io.File;
+import java.util.Map;
+import java.util.stream.StreamSupport;
+import org.eclipse.tracecompass.tmf.analysis.xml.core.module.TmfAnalysisModuleHelperXml.XmlAnalysisModuleType;
import org.eclipse.tracecompass.tmf.analysis.xml.core.module.XmlAnalysisModuleSource;
import org.eclipse.tracecompass.tmf.analysis.xml.core.module.XmlUtils;
import org.eclipse.tracecompass.tmf.analysis.xml.core.tests.common.TmfXmlTestFiles;
import org.eclipse.tracecompass.tmf.core.analysis.IAnalysisModuleHelper;
import org.eclipse.tracecompass.tmf.core.analysis.TmfAnalysisManager;
+import org.eclipse.tracecompass.tmf.core.project.model.ITmfPropertiesProvider;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
assertTrue(findModule(modules.values(), SS_MODULE));
assertTrue(findModule(modules.values(), BUILTIN_MODULE));
}
+
+ /**
+ * Test that helper returns the right properties
+ */
+ @Test
+ public void testProperties() {
+
+ /* Get the helper for the builtin module */
+ XmlAnalysisModuleSource module = new XmlAnalysisModuleSource();
+
+ Iterable<IAnalysisModuleHelper> modules = module.getAnalysisModules();
+
+ IAnalysisModuleHelper helper = StreamSupport.stream(modules.spliterator(), false)
+ .filter(h -> h.getId().equals(BUILTIN_MODULE))
+ .findFirst()
+ .get();
+ assertNotNull(helper);
+
+ /* Verify the helper is a properties provider */
+ assertTrue(helper instanceof ITmfPropertiesProvider);
+ ITmfPropertiesProvider provider = (ITmfPropertiesProvider) helper;
+ Map<String, String> properties = provider.getProperties();
+ assertEquals(2, properties.size());
+
+ /*
+ * The text is externalized, so we're not sure about the property key,
+ * but we know the values that should be present
+ */
+ assertTrue(properties.containsValue(XmlAnalysisModuleType.STATE_SYSTEM.name()));
+ assertTrue(properties.containsValue("test_builtin.xml"));
+ }
+
}
public class Messages extends NLS {
private static final String BUNDLE_NAME = "org.eclipse.tracecompass.tmf.analysis.xml.core.module.messages"; //$NON-NLS-1$
+ /** Property name for file
+ * @since 2.0
+ */
+ public static String XmlModuleHelper_PropertyFile;
+
+ /** Property name for type
+ * @since 2.0
+ */
+ public static String XmlModuleHelper_PropertyType;
+
/** Error copying XML file to workspace folder */
public static String XmlUtils_ErrorCopyingFile;
/** XML parse error */
import java.io.File;
import java.util.Collections;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
import org.eclipse.core.runtime.Path;
import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.tracecompass.common.core.NonNullUtils;
import org.eclipse.tracecompass.internal.tmf.analysis.xml.core.Activator;
import org.eclipse.tracecompass.tmf.analysis.xml.core.stateprovider.TmfXmlStrings;
import org.eclipse.tracecompass.tmf.analysis.xml.core.stateprovider.XmlStateSystemModule;
import org.eclipse.tracecompass.tmf.core.analysis.TmfAnalysisManager;
import org.eclipse.tracecompass.tmf.core.analysis.TmfAnalysisRequirement;
import org.eclipse.tracecompass.tmf.core.exceptions.TmfAnalysisException;
+import org.eclipse.tracecompass.tmf.core.project.model.ITmfPropertiesProvider;
import org.eclipse.tracecompass.tmf.core.project.model.TmfTraceType;
import org.eclipse.tracecompass.tmf.core.project.model.TraceTypeHelper;
import org.eclipse.tracecompass.tmf.core.trace.ITmfTrace;
* @author Geneviève Bastien
* @since 2.0
*/
-public class TmfAnalysisModuleHelperXml implements IAnalysisModuleHelper {
+public class TmfAnalysisModuleHelperXml implements IAnalysisModuleHelper, ITmfPropertiesProvider {
/**
* The types of analysis that can be XML-defined
return module;
}
+ // ------------------------------------------------------------------------
+ // ITmfPropertiesProvider
+ // ------------------------------------------------------------------------
+
+ @Override
+ public @NonNull Map<@NonNull String, @NonNull String> getProperties() {
+ Map<@NonNull String, @NonNull String> properties = new HashMap<>();
+ properties.put(NonNullUtils.checkNotNull(Messages.XmlModuleHelper_PropertyFile), fSourceFile.getName());
+ properties.put(NonNullUtils.checkNotNull(Messages.XmlModuleHelper_PropertyType), fType.name());
+ return properties;
+ }
+
}
# Contributors:
# Ericsson - Initial API and implementation
###############################################################################
+XmlModuleHelper_PropertyFile=Source XML File
+XmlModuleHelper_PropertyType=Type of analysis
XmlUtils_ErrorCopyingFile=An error occurred while copying the XML file to the TMF directory. The file was not imported.
XmlUtils_XmlParseError=XML Parsing error at line {0}: {1}
XmlUtils_XmlValidateError=An error occurred while validating the XML file.