tmf : Introduce the modules for the XML pattern analysis
[deliverable/tracecompass.git] / tmf / org.eclipse.tracecompass.tmf.analysis.xml.core / src / org / eclipse / tracecompass / tmf / analysis / xml / core / module / TmfAnalysisModuleHelperXml.java
index 79d42453cae0c9ed6ef525541405e94f5a17008f..bd0b97d7bbc5c1a604388babf156a2cc174edf65 100644 (file)
@@ -9,8 +9,6 @@
 
 package org.eclipse.tracecompass.tmf.analysis.xml.core.module;
 
-import static org.eclipse.tracecompass.common.core.NonNullUtils.checkNotNull;
-
 import java.io.File;
 import java.util.Collections;
 import java.util.HashMap;
@@ -21,6 +19,7 @@ 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.internal.tmf.analysis.xml.core.pattern.stateprovider.XmlPatternAnalysis;
 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.IAnalysisModule;
@@ -48,7 +47,14 @@ public class TmfAnalysisModuleHelperXml implements IAnalysisModuleHelper, ITmfPr
      */
     public enum XmlAnalysisModuleType {
         /** Analysis will be of type XmlStateSystemModule */
-        STATE_SYSTEM
+        STATE_SYSTEM,
+
+        /**
+         * Analysis will be of type XmlPatternAnalysisModule
+         *
+         * @since 2.0
+         */
+        PATTERN
     }
 
     private final File fSourceFile;
@@ -77,7 +83,7 @@ public class TmfAnalysisModuleHelperXml implements IAnalysisModuleHelper, ITmfPr
          * The attribute ID cannot be null because the XML has been validated
          * and it is mandatory
          */
-        return checkNotNull(fSourceElement.getAttribute(TmfXmlStrings.ID));
+        return fSourceElement.getAttribute(TmfXmlStrings.ID);
     }
 
     @Override
@@ -184,6 +190,19 @@ public class TmfAnalysisModuleHelperXml implements IAnalysisModuleHelper, ITmfPr
              */
             ssModule.setAutomatic(true);
 
+            break;
+        case PATTERN:
+            module = new XmlPatternAnalysis();
+            module.setName(getName());
+            module.setId(analysisid);
+            XmlPatternAnalysis paModule = (XmlPatternAnalysis) module;
+            paModule.setXmlFile(new Path(fSourceFile.getAbsolutePath()));
+
+            /*
+             * FIXME: Maybe the pattern analysis should not be automatic.
+             */
+            paModule.setAutomatic(true);
+
             break;
         default:
             break;
This page took 0.026031 seconds and 5 git commands to generate.