+ fields.put(field.getName(), field.getValue(event, scenarioInfo));
+ }
+ if (scenarioInfo != null) {
+ addStoredFieldsContent(event, fields, scenarioInfo);
+ }
+ }
+
+ /**
+ * Query the stored fields path and add them to the content of the pattern
+ * segment. This is specific to pattern analysis.
+ *
+ * @param event
+ * The active event
+ * @param fields
+ * The segment fields
+ * @param info
+ * The active scenario details
+ */
+ protected void addStoredFieldsContent(ITmfEvent event, Map<String, ITmfStateValue> fields, final TmfXmlScenarioInfo info) {
+ if (fContainer instanceof XmlPatternStateProvider) {
+ for (Entry<String, String> entry : ((XmlPatternStateProvider) fContainer).getStoredFields().entrySet()) {
+ ITmfStateValue value = ((XmlPatternStateProvider) fContainer).getHistoryBuilder().getStoredFieldValue(fContainer, entry.getValue(), info, event);
+ if (!value.isNull()) {
+ fields.put(entry.getValue(), value);
+ }
+ }