Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenrik Rentz-Reichert2012-04-17 16:19:13 +0000
committerHenrik Rentz-Reichert2012-04-17 16:19:13 +0000
commit94fdf179624d27bcc3615c76cc745b0babfd86c0 (patch)
tree21e77e2a4fe0471bbe30b030b61890a69ef815e1
parent8b9d6b1e70cb9d47c399fade8b2298f725986c6a (diff)
downloadorg.eclipse.etrice-94fdf179624d27bcc3615c76cc745b0babfd86c0.tar.gz
org.eclipse.etrice-94fdf179624d27bcc3615c76cc745b0babfd86c0.tar.xz
org.eclipse.etrice-94fdf179624d27bcc3615c76cc745b0babfd86c0.zip
[etunit.converter] new converter from etu to JUnit xml
-rw-r--r--runtime/org.eclipse.etrice.etunit.converter/.classpath7
-rw-r--r--runtime/org.eclipse.etrice.etunit.converter/.gitignore2
-rw-r--r--runtime/org.eclipse.etrice.etunit.converter/.project28
-rw-r--r--runtime/org.eclipse.etrice.etunit.converter/.settings/org.eclipse.core.resources.prefs3
-rw-r--r--runtime/org.eclipse.etrice.etunit.converter/.settings/org.eclipse.jdt.core.prefs12
-rw-r--r--runtime/org.eclipse.etrice.etunit.converter/META-INF/MANIFEST.MF16
-rw-r--r--runtime/org.eclipse.etrice.etunit.converter/build.properties14
-rw-r--r--runtime/org.eclipse.etrice.etunit.converter/model/etunit.ecore275
-rw-r--r--runtime/org.eclipse.etrice.etunit.converter/model/etunit.genmodel52
-rw-r--r--runtime/org.eclipse.etrice.etunit.converter/model/etunit.xsd83
-rw-r--r--runtime/org.eclipse.etrice.etunit.converter/plugin.properties8
-rw-r--r--runtime/org.eclipse.etrice.etunit.converter/plugin.xml26
-rw-r--r--runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/EtUnitReportConverter.java200
-rw-r--r--runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/DocumentRoot.java139
-rw-r--r--runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/ErrorType.java102
-rw-r--r--runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/EtunitFactory.java100
-rw-r--r--runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/EtunitPackage.java1234
-rw-r--r--runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/FailureType.java102
-rw-r--r--runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/TestcaseType.java149
-rw-r--r--runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/Testsuite.java327
-rw-r--r--runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/TestsuiteType.java22
-rw-r--r--runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/TestsuitesType.java47
-rw-r--r--runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/impl/DocumentRootImpl.java327
-rw-r--r--runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/impl/ErrorTypeImpl.java241
-rw-r--r--runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/impl/EtunitFactoryImpl.java263
-rw-r--r--runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/impl/EtunitPackageImpl.java942
-rw-r--r--runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/impl/FailureTypeImpl.java241
-rw-r--r--runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/impl/TestcaseTypeImpl.java425
-rw-r--r--runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/impl/TestsuiteImpl.java690
-rw-r--r--runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/impl/TestsuiteTypeImpl.java42
-rw-r--r--runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/impl/TestsuitesTypeImpl.java156
-rw-r--r--runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/util/EtunitAdapterFactory.java232
-rw-r--r--runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/util/EtunitResourceFactoryImpl.java74
-rw-r--r--runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/util/EtunitResourceImpl.java32
-rw-r--r--runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/util/EtunitSwitch.java241
-rw-r--r--runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/util/EtunitValidator.java274
-rw-r--r--runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/util/EtunitXMLProcessor.java56
37 files changed, 7184 insertions, 0 deletions
diff --git a/runtime/org.eclipse.etrice.etunit.converter/.classpath b/runtime/org.eclipse.etrice.etunit.converter/.classpath
new file mode 100644
index 000000000..ed2bc1287
--- /dev/null
+++ b/runtime/org.eclipse.etrice.etunit.converter/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/runtime/org.eclipse.etrice.etunit.converter/.gitignore b/runtime/org.eclipse.etrice.etunit.converter/.gitignore
new file mode 100644
index 000000000..28d2f11b9
--- /dev/null
+++ b/runtime/org.eclipse.etrice.etunit.converter/.gitignore
@@ -0,0 +1,2 @@
+
+/bin \ No newline at end of file
diff --git a/runtime/org.eclipse.etrice.etunit.converter/.project b/runtime/org.eclipse.etrice.etunit.converter/.project
new file mode 100644
index 000000000..b45219769
--- /dev/null
+++ b/runtime/org.eclipse.etrice.etunit.converter/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.etrice.etunit.converter</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ </natures>
+</projectDescription>
diff --git a/runtime/org.eclipse.etrice.etunit.converter/.settings/org.eclipse.core.resources.prefs b/runtime/org.eclipse.etrice.etunit.converter/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 000000000..1ba5d9093
--- /dev/null
+++ b/runtime/org.eclipse.etrice.etunit.converter/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,3 @@
+#Tue Apr 17 09:38:18 CEST 2012
+eclipse.preferences.version=1
+encoding//model/etunit.xsd=UTF8
diff --git a/runtime/org.eclipse.etrice.etunit.converter/.settings/org.eclipse.jdt.core.prefs b/runtime/org.eclipse.etrice.etunit.converter/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 000000000..84193b1b2
--- /dev/null
+++ b/runtime/org.eclipse.etrice.etunit.converter/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,12 @@
+#Mon Apr 16 21:05:31 CEST 2012
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
diff --git a/runtime/org.eclipse.etrice.etunit.converter/META-INF/MANIFEST.MF b/runtime/org.eclipse.etrice.etunit.converter/META-INF/MANIFEST.MF
new file mode 100644
index 000000000..a79ce01f7
--- /dev/null
+++ b/runtime/org.eclipse.etrice.etunit.converter/META-INF/MANIFEST.MF
@@ -0,0 +1,16 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.etrice.etunit.converter;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-ClassPath: .
+Bundle-Vendor: %providerName
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Export-Package: org.eclipse.etrice.etunit.converter.Etunit,
+ org.eclipse.etrice.etunit.converter.Etunit.impl,
+ org.eclipse.etrice.etunit.converter.Etunit.util
+Require-Bundle: org.eclipse.core.runtime,
+ org.eclipse.emf.ecore;visibility:=reexport,
+ org.eclipse.emf.ecore.xmi;visibility:=reexport
+Bundle-ActivationPolicy: lazy
diff --git a/runtime/org.eclipse.etrice.etunit.converter/build.properties b/runtime/org.eclipse.etrice.etunit.converter/build.properties
new file mode 100644
index 000000000..1a3a48b22
--- /dev/null
+++ b/runtime/org.eclipse.etrice.etunit.converter/build.properties
@@ -0,0 +1,14 @@
+
+# <copyright>
+# </copyright>
+#
+# $Id$
+
+bin.includes = .,\
+ model/,\
+ META-INF/,\
+ plugin.xml,\
+ plugin.properties
+jars.compile.order = .
+source.. = src/
+output.. = bin/
diff --git a/runtime/org.eclipse.etrice.etunit.converter/model/etunit.ecore b/runtime/org.eclipse.etrice.etunit.converter/model/etunit.ecore
new file mode 100644
index 000000000..552d60258
--- /dev/null
+++ b/runtime/org.eclipse.etrice.etunit.converter/model/etunit.ecore
@@ -0,0 +1,275 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="Etunit"
+ nsURI="platform:/resource/org.eclipse.etrice.etunit.converter/model/etunit.xsd"
+ nsPrefix="Etunit">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="etUnit test result schema.&#xA; "/>
+ </eAnnotations>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="qualified" value="false"/>
+ </eAnnotations>
+ <eClassifiers xsi:type="ecore:EClass" name="DocumentRoot">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="name" value=""/>
+ <details key="kind" value="mixed"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="mixed" unique="false" upperBound="-1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="elementWildcard"/>
+ <details key="name" value=":mixed"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="xMLNSPrefixMap" upperBound="-1"
+ eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EStringToStringMapEntry"
+ transient="true" containment="true" resolveProxies="false">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="attribute"/>
+ <details key="name" value="xmlns:prefix"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="xSISchemaLocation" upperBound="-1"
+ eType="ecore:EClass http://www.eclipse.org/emf/2002/Ecore#//EStringToStringMapEntry"
+ transient="true" containment="true" resolveProxies="false">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="attribute"/>
+ <details key="name" value="xsi:schemaLocation"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="testsuite" upperBound="-2"
+ eType="#//Testsuite" volatile="true" transient="true" derived="true" containment="true"
+ resolveProxies="false">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="element"/>
+ <details key="name" value="testsuite"/>
+ <details key="namespace" value="##targetNamespace"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="testsuites" upperBound="-2"
+ eType="#//TestsuitesType" volatile="true" transient="true" derived="true"
+ containment="true" resolveProxies="false">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="element"/>
+ <details key="name" value="testsuites"/>
+ <details key="namespace" value="##targetNamespace"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ErrorType">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="name" value="error_._type"/>
+ <details key="kind" value="mixed"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="mixed" unique="false" upperBound="-1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="elementWildcard"/>
+ <details key="name" value=":mixed"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="expected" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String" volatile="true"
+ transient="true" derived="true">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="element"/>
+ <details key="name" value="expected"/>
+ <details key="namespace" value="##targetNamespace"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="actual" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String" volatile="true"
+ transient="true" derived="true">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="element"/>
+ <details key="name" value="actual"/>
+ <details key="namespace" value="##targetNamespace"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="FailureType">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="name" value="failure_._type"/>
+ <details key="kind" value="mixed"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="mixed" unique="false" upperBound="-1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EFeatureMapEntry">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="elementWildcard"/>
+ <details key="name" value=":mixed"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="expected" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String" volatile="true"
+ transient="true" derived="true">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="element"/>
+ <details key="name" value="expected"/>
+ <details key="namespace" value="##targetNamespace"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="actual" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//String" volatile="true"
+ transient="true" derived="true">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="element"/>
+ <details key="name" value="actual"/>
+ <details key="namespace" value="##targetNamespace"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EDataType" name="ISO8601DATETIMEPATTERN" instanceClassName="javax.xml.datatype.XMLGregorianCalendar">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="name" value="ISO8601_DATETIME_PATTERN"/>
+ <details key="baseType" value="http://www.eclipse.org/emf/2003/XMLType#dateTime"/>
+ <details key="pattern" value="[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}"/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EDataType" name="NameType" instanceClassName="java.lang.String">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="name" value="name_._type"/>
+ <details key="baseType" value="http://www.eclipse.org/emf/2003/XMLType#token"/>
+ <details key="minLength" value="1"/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EDataType" name="PreString" instanceClassName="java.lang.String">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="name" value="pre-string"/>
+ <details key="baseType" value="http://www.eclipse.org/emf/2003/XMLType#string"/>
+ <details key="whiteSpace" value="preserve"/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="TestcaseType">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="name" value="testcase_._type"/>
+ <details key="kind" value="elementOnly"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="error" eType="#//ErrorType"
+ containment="true" resolveProxies="false">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="element"/>
+ <details key="name" value="error"/>
+ <details key="namespace" value="##targetNamespace"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="failure" eType="#//FailureType"
+ containment="true" resolveProxies="false">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="element"/>
+ <details key="name" value="failure"/>
+ <details key="namespace" value="##targetNamespace"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="classname" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Token">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="attribute"/>
+ <details key="name" value="classname"/>
+ <details key="namespace" value="##targetNamespace"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Token">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="attribute"/>
+ <details key="name" value="name"/>
+ <details key="namespace" value="##targetNamespace"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="time" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Decimal">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="attribute"/>
+ <details key="name" value="time"/>
+ <details key="namespace" value="##targetNamespace"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Testsuite">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="name" value="testsuite"/>
+ <details key="kind" value="elementOnly"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="testcase" upperBound="-1"
+ eType="#//TestcaseType" containment="true" resolveProxies="false">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="element"/>
+ <details key="name" value="testcase"/>
+ <details key="namespace" value="##targetNamespace"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="errors" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Int" unsettable="true">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="attribute"/>
+ <details key="name" value="errors"/>
+ <details key="namespace" value="##targetNamespace"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="failures" lowerBound="1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Int" unsettable="true">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="attribute"/>
+ <details key="name" value="failures"/>
+ <details key="namespace" value="##targetNamespace"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="#//NameType">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="attribute"/>
+ <details key="name" value="name"/>
+ <details key="namespace" value="##targetNamespace"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="skipped" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Int"
+ unsettable="true">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="attribute"/>
+ <details key="name" value="skipped"/>
+ <details key="namespace" value="##targetNamespace"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="tests" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Int"
+ unsettable="true">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="attribute"/>
+ <details key="name" value="tests"/>
+ <details key="namespace" value="##targetNamespace"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="time" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2003/XMLType#//Decimal">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="attribute"/>
+ <details key="name" value="time"/>
+ <details key="namespace" value="##targetNamespace"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="timestamp" lowerBound="1"
+ eType="#//ISO8601DATETIMEPATTERN">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="attribute"/>
+ <details key="name" value="timestamp"/>
+ <details key="namespace" value="##targetNamespace"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="TestsuitesType">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="name" value="testsuites_._type"/>
+ <details key="kind" value="elementOnly"/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="testsuite" upperBound="-1"
+ eType="#//TestsuiteType" containment="true" resolveProxies="false">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="kind" value="element"/>
+ <details key="name" value="testsuite"/>
+ <details key="namespace" value="##targetNamespace"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="TestsuiteType" eSuperTypes="#//Testsuite">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <details key="name" value="testsuite_._type"/>
+ <details key="kind" value="elementOnly"/>
+ </eAnnotations>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/runtime/org.eclipse.etrice.etunit.converter/model/etunit.genmodel b/runtime/org.eclipse.etrice.etunit.converter/model/etunit.genmodel
new file mode 100644
index 000000000..6dc7b3a5f
--- /dev/null
+++ b/runtime/org.eclipse.etrice.etunit.converter/model/etunit.genmodel
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+ xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.etrice.etunit.converter/src"
+ modelPluginID="org.eclipse.etrice.etunit.converter" modelName="Etunit" importerID="org.eclipse.xsd.ecore.importer"
+ complianceLevel="6.0" copyrightFields="false">
+ <foreignModel>etunit.xsd</foreignModel>
+ <genPackages prefix="Etunit" basePackage="org.eclipse.etrice.etunit.converter" resource="XML"
+ disposableProviderFactory="true" ecorePackage="etunit.ecore#/">
+ <genDataTypes ecoreDataType="etunit.ecore#//ISO8601DATETIMEPATTERN"/>
+ <genDataTypes ecoreDataType="etunit.ecore#//NameType"/>
+ <genDataTypes ecoreDataType="etunit.ecore#//PreString"/>
+ <genClasses ecoreClass="etunit.ecore#//DocumentRoot">
+ <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EAttribute etunit.ecore#//DocumentRoot/mixed"/>
+ <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference etunit.ecore#//DocumentRoot/xMLNSPrefixMap"/>
+ <genFeatures property="None" notify="false" createChild="false" ecoreFeature="ecore:EReference etunit.ecore#//DocumentRoot/xSISchemaLocation"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference etunit.ecore#//DocumentRoot/testsuite"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference etunit.ecore#//DocumentRoot/testsuites"/>
+ </genClasses>
+ <genClasses ecoreClass="etunit.ecore#//ErrorType">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EAttribute etunit.ecore#//ErrorType/mixed"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute etunit.ecore#//ErrorType/expected"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute etunit.ecore#//ErrorType/actual"/>
+ </genClasses>
+ <genClasses ecoreClass="etunit.ecore#//FailureType">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EAttribute etunit.ecore#//FailureType/mixed"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute etunit.ecore#//FailureType/expected"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute etunit.ecore#//FailureType/actual"/>
+ </genClasses>
+ <genClasses ecoreClass="etunit.ecore#//TestcaseType">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference etunit.ecore#//TestcaseType/error"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference etunit.ecore#//TestcaseType/failure"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute etunit.ecore#//TestcaseType/classname"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute etunit.ecore#//TestcaseType/name"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute etunit.ecore#//TestcaseType/time"/>
+ </genClasses>
+ <genClasses ecoreClass="etunit.ecore#//Testsuite">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference etunit.ecore#//Testsuite/testcase"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute etunit.ecore#//Testsuite/errors"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute etunit.ecore#//Testsuite/failures"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute etunit.ecore#//Testsuite/name"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute etunit.ecore#//Testsuite/skipped"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute etunit.ecore#//Testsuite/tests"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute etunit.ecore#//Testsuite/time"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute etunit.ecore#//Testsuite/timestamp"/>
+ </genClasses>
+ <genClasses ecoreClass="etunit.ecore#//TestsuitesType">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference etunit.ecore#//TestsuitesType/testsuite"/>
+ </genClasses>
+ <genClasses ecoreClass="etunit.ecore#//TestsuiteType"/>
+ </genPackages>
+</genmodel:GenModel>
diff --git a/runtime/org.eclipse.etrice.etunit.converter/model/etunit.xsd b/runtime/org.eclipse.etrice.etunit.converter/model/etunit.xsd
new file mode 100644
index 000000000..d2f22af5c
--- /dev/null
+++ b/runtime/org.eclipse.etrice.etunit.converter/model/etunit.xsd
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="unqualified" elementFormDefault="qualified">
+ <xs:annotation>
+ <xs:documentation xml:lang="en">etUnit test result schema.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:element name="testsuite" type="testsuite"/>
+ <xs:simpleType name="ISO8601_DATETIME_PATTERN">
+ <xs:restriction base="xs:dateTime">
+ <xs:pattern value="[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:element name="testsuites">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="testsuite">
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="testsuite">
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:complexType name="testsuite">
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="testcase">
+ <xs:complexType>
+ <xs:choice minOccurs="0">
+ <xs:element name="error">
+ <xs:complexType mixed="true">
+ <xs:sequence>
+ <xs:element name="expected" type="xs:string"/>
+ <xs:element name="actual" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="failure">
+ <xs:complexType mixed="true">
+ <xs:sequence>
+ <xs:element name="expected" type="xs:string"/>
+ <xs:element name="actual" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:choice>
+ <xs:attribute name="name" type="xs:token" use="required">
+ </xs:attribute>
+ <xs:attribute name="classname" type="xs:token" use="required">
+ </xs:attribute>
+ <xs:attribute name="time" type="xs:decimal" use="required">
+ </xs:attribute>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ <xs:attribute name="name" use="required">
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:minLength value="1"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="timestamp" type="ISO8601_DATETIME_PATTERN" use="required">
+ </xs:attribute>
+ <xs:attribute name="tests" type="xs:int" use="required">
+ </xs:attribute>
+ <xs:attribute name="failures" type="xs:int" use="required">
+ </xs:attribute>
+ <xs:attribute name="errors" type="xs:int" use="required">
+ </xs:attribute>
+ <xs:attribute name="skipped" type="xs:int">
+ </xs:attribute>
+ <xs:attribute name="time" type="xs:decimal" use="required">
+ </xs:attribute>
+ </xs:complexType>
+ <xs:simpleType name="pre-string">
+ <xs:restriction base="xs:string">
+ <xs:whiteSpace value="preserve"/>
+ </xs:restriction>
+ </xs:simpleType>
+</xs:schema>
diff --git a/runtime/org.eclipse.etrice.etunit.converter/plugin.properties b/runtime/org.eclipse.etrice.etunit.converter/plugin.properties
new file mode 100644
index 000000000..a61120e83
--- /dev/null
+++ b/runtime/org.eclipse.etrice.etunit.converter/plugin.properties
@@ -0,0 +1,8 @@
+
+# <copyright>
+# </copyright>
+#
+# $Id$
+
+pluginName = Etunit Model
+providerName = www.example.org
diff --git a/runtime/org.eclipse.etrice.etunit.converter/plugin.xml b/runtime/org.eclipse.etrice.etunit.converter/plugin.xml
new file mode 100644
index 000000000..8b5af8469
--- /dev/null
+++ b/runtime/org.eclipse.etrice.etunit.converter/plugin.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ <copyright>
+ </copyright>
+
+ $Id$
+-->
+
+<plugin>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <package
+ uri="platform:/resource/org.eclipse.etrice.etunit.converter/model/etunit.xsd"
+ class="org.eclipse.etrice.etunit.converter.Etunit.EtunitPackage"
+ genModel="model/etunit.genmodel"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.extension_parser">
+ <parser
+ type="etunit"
+ class="org.eclipse.etrice.etunit.converter.Etunit.util.EtunitResourceFactoryImpl"/>
+ </extension>
+
+</plugin>
diff --git a/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/EtUnitReportConverter.java b/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/EtUnitReportConverter.java
new file mode 100644
index 000000000..00b881673
--- /dev/null
+++ b/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/EtUnitReportConverter.java
@@ -0,0 +1,200 @@
+/*******************************************************************************
+ * Copyright (c) 2012 protos software gmbh (http://www.protos.de).
+ * 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:
+ * Henrik Rentz-Reichert (initial contribution)
+ *
+ *******************************************************************************/
+
+package org.eclipse.etrice.etunit.converter;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.IOException;
+import java.math.BigDecimal;
+import java.util.Collections;
+import java.util.HashMap;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
+import org.eclipse.emf.ecore.util.FeatureMapUtil;
+import org.eclipse.etrice.etunit.converter.Etunit.DocumentRoot;
+import org.eclipse.etrice.etunit.converter.Etunit.EtunitFactory;
+import org.eclipse.etrice.etunit.converter.Etunit.EtunitPackage;
+import org.eclipse.etrice.etunit.converter.Etunit.FailureType;
+import org.eclipse.etrice.etunit.converter.Etunit.TestcaseType;
+import org.eclipse.etrice.etunit.converter.Etunit.TestsuiteType;
+import org.eclipse.etrice.etunit.converter.Etunit.TestsuitesType;
+import org.eclipse.etrice.etunit.converter.Etunit.util.EtunitResourceFactoryImpl;
+
+/**
+ * @author Henrik Rentz-Reichert
+ *
+ */
+public class EtUnitReportConverter {
+
+ /**
+ * @param args
+ */
+ public static void main(String[] args) {
+ if (args.length==0) {
+ System.err.println("Error: no reports specified");
+ return;
+ }
+
+ doEMFRegistration();
+
+ ResourceSet rs = new ResourceSetImpl();
+ rs.getResourceFactoryRegistry().getExtensionToFactoryMap().put("xml", new EtunitResourceFactoryImpl());
+ for (int i = 0; i < args.length; i++) {
+ File report = new File(args[i]);
+ if (report.exists()) {
+ DocumentRoot root = createParseTree(report);
+ if (root!=null) {
+ URI uri = URI.createFileURI(report.toString());
+ uri = uri.trimFileExtension();
+ uri = uri.appendFileExtension("xml");
+ Resource resource = rs.createResource(uri);
+ resource.getContents().add(root);
+ try {
+ resource.save(Collections.EMPTY_MAP);
+ System.out.println("saved "+uri);
+ } catch (IOException e) {
+ e.printStackTrace();
+ System.err.println("Error: file "+uri+" could not be saved ("+e.getMessage()+")");
+ }
+ }
+ }
+ else {
+ System.err.println("Error: report "+args[i]+" does not exist");
+ }
+ }
+ }
+
+ /**
+ * @param string
+ * @return
+ */
+ private static DocumentRoot createParseTree(File report) {
+
+ int count = 0;
+ try {
+ FileReader input = new FileReader(report.toString());
+ BufferedReader bufRead = new BufferedReader(input);
+
+ HashMap<Integer, TestcaseType> id2case = new HashMap<Integer, TestcaseType>();
+ TestsuiteType currentSuite = null;
+ String line = bufRead.readLine();
+ ++count;
+ if (!line.equals("etUnit report")) {
+ System.err.println("Error: file "+report+", line "+line+" is missing header line - no etunit file");
+ return null;
+ }
+
+ DocumentRoot root = EtunitFactory.eINSTANCE.createDocumentRoot();
+ TestsuitesType testsuites = EtunitFactory.eINSTANCE.createTestsuitesType();
+ root.setTestsuites(testsuites);
+
+ line = bufRead.readLine();
+ ++count;
+ while (line!=null) {
+ if (line.startsWith("ts start")) {
+ currentSuite = EtunitFactory.eINSTANCE.createTestsuiteType();
+ currentSuite.setName(line.substring(9, line.length()));
+ testsuites.getTestsuite().add(currentSuite);
+ }
+ else if (line.startsWith("tc start")) {
+ int pos = line.indexOf(':');
+ int id = Integer.parseInt(line.substring(9, pos));
+ TestcaseType tc = EtunitFactory.eINSTANCE.createTestcaseType();
+ tc.setName(line.substring(pos+2));
+ id2case.put(id, tc);
+ currentSuite.getTestcase().add(tc);
+ }
+ else if (line.startsWith("tc fail")) {
+ int pos = line.indexOf(':');
+ int id = Integer.parseInt(line.substring(8, pos));
+ TestcaseType tc = id2case.get(id);
+ if (tc==null) {
+ System.err.println("Error: in file "+report+", line "+count+" - unknown test case id");
+ return null;
+ }
+ FailureType fail = EtunitFactory.eINSTANCE.createFailureType();
+ pos = line.indexOf('#')+1;
+ int end = line.indexOf('#', pos);
+ if (end>pos)
+ fail.setExpected(line.substring(pos, end));
+ pos = end+1;
+ end = line.indexOf('#', pos);
+ if (end>pos)
+ fail.setActual(line.substring(pos, end));
+ pos = end+1;
+ end = line.indexOf('#', pos);
+ String loc = (end>pos)? line.substring(pos, end) : null;
+ pos = line.lastIndexOf('#');
+ String trace = line.substring(pos+1);
+ if (loc!=null)
+ trace += "\n at "+loc;
+ FeatureMapUtil.addText(fail.getMixed(), trace);
+ tc.setFailure(fail);
+ }
+ else if (line.startsWith("tc end")) {
+ int pos = line.indexOf(':');
+ int id = Integer.parseInt(line.substring(7, pos));
+ int time = Integer.parseInt(line.substring(pos+2));
+ TestcaseType tc = id2case.get(id);
+ if (tc==null) {
+ System.err.println("Error: in file "+report+", line "+count+" - unknown test case id");
+ return null;
+ }
+ tc.setTime(BigDecimal.valueOf(time));
+ }
+ line = bufRead.readLine();
+ ++count;
+ }
+
+ bufRead.close();
+
+ for (TestsuiteType ts : testsuites.getTestsuite()) {
+ int failures = 0;
+ BigDecimal time = new BigDecimal(0);
+ for (TestcaseType tc : ts.getTestcase()) {
+ if (tc.getTime()!=null)
+ time = time.add(tc.getTime());
+ if (tc.getFailure()!=null)
+ ++failures;
+ }
+ ts.setTests(ts.getTestcase().size());
+ ts.setFailures(failures);
+ ts.setTime(time);
+ }
+
+ return root;
+ } catch (FileNotFoundException e) {
+ e.printStackTrace();
+ System.err.println("Error: file "+report+" could not be read ("+e.getMessage()+")");
+ } catch (IOException e) {
+ System.err.println("Error: file "+report+" could not be read ("+e.getMessage()+")");
+ e.printStackTrace();
+ } catch (NumberFormatException e) {
+ System.err.println("Error: in file "+report+", line "+count+" - could not read number");
+ }
+
+ return null;
+ }
+
+ private static void doEMFRegistration() {
+ if (!EPackage.Registry.INSTANCE.containsKey("platform:/resource/org.eclipse.etrice.etunit.converter/model/etunit.xsd")) {
+ EPackage.Registry.INSTANCE.put("platform:/resource/org.eclipse.etrice.etunit.converter/model/etunit.xsd", EtunitPackage.eINSTANCE);
+ }
+ }
+}
diff --git a/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/DocumentRoot.java b/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/DocumentRoot.java
new file mode 100644
index 000000000..73a677ad4
--- /dev/null
+++ b/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/DocumentRoot.java
@@ -0,0 +1,139 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.etrice.etunit.converter.Etunit;
+
+import org.eclipse.emf.common.util.EMap;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.emf.ecore.util.FeatureMap;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Document Root</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.etrice.etunit.converter.Etunit.DocumentRoot#getMixed <em>Mixed</em>}</li>
+ * <li>{@link org.eclipse.etrice.etunit.converter.Etunit.DocumentRoot#getXMLNSPrefixMap <em>XMLNS Prefix Map</em>}</li>
+ * <li>{@link org.eclipse.etrice.etunit.converter.Etunit.DocumentRoot#getXSISchemaLocation <em>XSI Schema Location</em>}</li>
+ * <li>{@link org.eclipse.etrice.etunit.converter.Etunit.DocumentRoot#getTestsuite <em>Testsuite</em>}</li>
+ * <li>{@link org.eclipse.etrice.etunit.converter.Etunit.DocumentRoot#getTestsuites <em>Testsuites</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.etrice.etunit.converter.Etunit.EtunitPackage#getDocumentRoot()
+ * @model extendedMetaData="name='' kind='mixed'"
+ * @generated
+ */
+public interface DocumentRoot extends EObject {
+ /**
+ * Returns the value of the '<em><b>Mixed</b></em>' attribute list.
+ * The list contents are of type {@link org.eclipse.emf.ecore.util.FeatureMap.Entry}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Mixed</em>' attribute list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Mixed</em>' attribute list.
+ * @see org.eclipse.etrice.etunit.converter.Etunit.EtunitPackage#getDocumentRoot_Mixed()
+ * @model unique="false" dataType="org.eclipse.emf.ecore.EFeatureMapEntry" many="true"
+ * extendedMetaData="kind='elementWildcard' name=':mixed'"
+ * @generated
+ */
+ FeatureMap getMixed();
+
+ /**
+ * Returns the value of the '<em><b>XMLNS Prefix Map</b></em>' map.
+ * The key is of type {@link java.lang.String},
+ * and the value is of type {@link java.lang.String},
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>XMLNS Prefix Map</em>' map isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>XMLNS Prefix Map</em>' map.
+ * @see org.eclipse.etrice.etunit.converter.Etunit.EtunitPackage#getDocumentRoot_XMLNSPrefixMap()
+ * @model mapType="org.eclipse.emf.ecore.EStringToStringMapEntry<org.eclipse.emf.ecore.EString, org.eclipse.emf.ecore.EString>" transient="true"
+ * extendedMetaData="kind='attribute' name='xmlns:prefix'"
+ * @generated
+ */
+ EMap<String, String> getXMLNSPrefixMap();
+
+ /**
+ * Returns the value of the '<em><b>XSI Schema Location</b></em>' map.
+ * The key is of type {@link java.lang.String},
+ * and the value is of type {@link java.lang.String},
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>XSI Schema Location</em>' map isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>XSI Schema Location</em>' map.
+ * @see org.eclipse.etrice.etunit.converter.Etunit.EtunitPackage#getDocumentRoot_XSISchemaLocation()
+ * @model mapType="org.eclipse.emf.ecore.EStringToStringMapEntry<org.eclipse.emf.ecore.EString, org.eclipse.emf.ecore.EString>" transient="true"
+ * extendedMetaData="kind='attribute' name='xsi:schemaLocation'"
+ * @generated
+ */
+ EMap<String, String> getXSISchemaLocation();
+
+ /**
+ * Returns the value of the '<em><b>Testsuite</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Testsuite</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Testsuite</em>' containment reference.
+ * @see #setTestsuite(Testsuite)
+ * @see org.eclipse.etrice.etunit.converter.Etunit.EtunitPackage#getDocumentRoot_Testsuite()
+ * @model containment="true" upper="-2" transient="true" volatile="true" derived="true"
+ * extendedMetaData="kind='element' name='testsuite' namespace='##targetNamespace'"
+ * @generated
+ */
+ Testsuite getTestsuite();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.etrice.etunit.converter.Etunit.DocumentRoot#getTestsuite <em>Testsuite</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Testsuite</em>' containment reference.
+ * @see #getTestsuite()
+ * @generated
+ */
+ void setTestsuite(Testsuite value);
+
+ /**
+ * Returns the value of the '<em><b>Testsuites</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Testsuites</em>' containment reference.
+ * @see #setTestsuites(TestsuitesType)
+ * @see org.eclipse.etrice.etunit.converter.Etunit.EtunitPackage#getDocumentRoot_Testsuites()
+ * @model containment="true" upper="-2" transient="true" volatile="true" derived="true"
+ * extendedMetaData="kind='element' name='testsuites' namespace='##targetNamespace'"
+ * @generated
+ */
+ TestsuitesType getTestsuites();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.etrice.etunit.converter.Etunit.DocumentRoot#getTestsuites <em>Testsuites</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Testsuites</em>' containment reference.
+ * @see #getTestsuites()
+ * @generated
+ */
+ void setTestsuites(TestsuitesType value);
+
+} // DocumentRoot
diff --git a/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/ErrorType.java b/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/ErrorType.java
new file mode 100644
index 000000000..5b21504be
--- /dev/null
+++ b/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/ErrorType.java
@@ -0,0 +1,102 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.etrice.etunit.converter.Etunit;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.util.FeatureMap;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Error Type</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.etrice.etunit.converter.Etunit.ErrorType#getMixed <em>Mixed</em>}</li>
+ * <li>{@link org.eclipse.etrice.etunit.converter.Etunit.ErrorType#getExpected <em>Expected</em>}</li>
+ * <li>{@link org.eclipse.etrice.etunit.converter.Etunit.ErrorType#getActual <em>Actual</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.etrice.etunit.converter.Etunit.EtunitPackage#getErrorType()
+ * @model extendedMetaData="name='error_._type' kind='mixed'"
+ * @generated
+ */
+public interface ErrorType extends EObject {
+ /**
+ * Returns the value of the '<em><b>Mixed</b></em>' attribute list.
+ * The list contents are of type {@link org.eclipse.emf.ecore.util.FeatureMap.Entry}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Mixed</em>' attribute list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Mixed</em>' attribute list.
+ * @see org.eclipse.etrice.etunit.converter.Etunit.EtunitPackage#getErrorType_Mixed()
+ * @model unique="false" dataType="org.eclipse.emf.ecore.EFeatureMapEntry" many="true"
+ * extendedMetaData="kind='elementWildcard' name=':mixed'"
+ * @generated
+ */
+ FeatureMap getMixed();
+
+ /**
+ * Returns the value of the '<em><b>Expected</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Expected</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Expected</em>' attribute.
+ * @see #setExpected(String)
+ * @see org.eclipse.etrice.etunit.converter.Etunit.EtunitPackage#getErrorType_Expected()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" required="true" transient="true" volatile="true" derived="true"
+ * extendedMetaData="kind='element' name='expected' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getExpected();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.etrice.etunit.converter.Etunit.ErrorType#getExpected <em>Expected</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Expected</em>' attribute.
+ * @see #getExpected()
+ * @generated
+ */
+ void setExpected(String value);
+
+ /**
+ * Returns the value of the '<em><b>Actual</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Actual</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Actual</em>' attribute.
+ * @see #setActual(String)
+ * @see org.eclipse.etrice.etunit.converter.Etunit.EtunitPackage#getErrorType_Actual()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" required="true" transient="true" volatile="true" derived="true"
+ * extendedMetaData="kind='element' name='actual' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getActual();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.etrice.etunit.converter.Etunit.ErrorType#getActual <em>Actual</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Actual</em>' attribute.
+ * @see #getActual()
+ * @generated
+ */
+ void setActual(String value);
+
+} // ErrorType
diff --git a/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/EtunitFactory.java b/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/EtunitFactory.java
new file mode 100644
index 000000000..f1c23187e
--- /dev/null
+++ b/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/EtunitFactory.java
@@ -0,0 +1,100 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.etrice.etunit.converter.Etunit;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.etunit.converter.Etunit.EtunitPackage
+ * @generated
+ */
+public interface EtunitFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EtunitFactory eINSTANCE = org.eclipse.etrice.etunit.converter.Etunit.impl.EtunitFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Document Root</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Document Root</em>'.
+ * @generated
+ */
+ DocumentRoot createDocumentRoot();
+
+ /**
+ * Returns a new object of class '<em>Error Type</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Error Type</em>'.
+ * @generated
+ */
+ ErrorType createErrorType();
+
+ /**
+ * Returns a new object of class '<em>Failure Type</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Failure Type</em>'.
+ * @generated
+ */
+ FailureType createFailureType();
+
+ /**
+ * Returns a new object of class '<em>Testcase Type</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Testcase Type</em>'.
+ * @generated
+ */
+ TestcaseType createTestcaseType();
+
+ /**
+ * Returns a new object of class '<em>Testsuite</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Testsuite</em>'.
+ * @generated
+ */
+ Testsuite createTestsuite();
+
+ /**
+ * Returns a new object of class '<em>Testsuites Type</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Testsuites Type</em>'.
+ * @generated
+ */
+ TestsuitesType createTestsuitesType();
+
+ /**
+ * Returns a new object of class '<em>Testsuite Type</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Testsuite Type</em>'.
+ * @generated
+ */
+ TestsuiteType createTestsuiteType();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ EtunitPackage getEtunitPackage();
+
+} //EtunitFactory
diff --git a/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/EtunitPackage.java b/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/EtunitPackage.java
new file mode 100644
index 000000000..64e9628ad
--- /dev/null
+++ b/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/EtunitPackage.java
@@ -0,0 +1,1234 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.etrice.etunit.converter.Etunit;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * etUnit test result schema.
+ *
+ * <!-- end-model-doc -->
+ * @see org.eclipse.etrice.etunit.converter.Etunit.EtunitFactory
+ * @model kind="package"
+ * extendedMetaData="qualified='false'"
+ * @generated
+ */
+public interface EtunitPackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "Etunit";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "platform:/resource/org.eclipse.etrice.etunit.converter/model/etunit.xsd";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "Etunit";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EtunitPackage eINSTANCE = org.eclipse.etrice.etunit.converter.Etunit.impl.EtunitPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.etrice.etunit.converter.Etunit.impl.DocumentRootImpl <em>Document Root</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.etunit.converter.Etunit.impl.DocumentRootImpl
+ * @see org.eclipse.etrice.etunit.converter.Etunit.impl.EtunitPackageImpl#getDocumentRoot()
+ * @generated
+ */
+ int DOCUMENT_ROOT = 0;
+
+ /**
+ * The feature id for the '<em><b>Mixed</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOCUMENT_ROOT__MIXED = 0;
+
+ /**
+ * The feature id for the '<em><b>XMLNS Prefix Map</b></em>' map.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOCUMENT_ROOT__XMLNS_PREFIX_MAP = 1;
+
+ /**
+ * The feature id for the '<em><b>XSI Schema Location</b></em>' map.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOCUMENT_ROOT__XSI_SCHEMA_LOCATION = 2;
+
+ /**
+ * The feature id for the '<em><b>Testsuite</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOCUMENT_ROOT__TESTSUITE = 3;
+
+ /**
+ * The feature id for the '<em><b>Testsuites</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOCUMENT_ROOT__TESTSUITES = 4;
+
+ /**
+ * The number of structural features of the '<em>Document Root</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DOCUMENT_ROOT_FEATURE_COUNT = 5;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.etrice.etunit.converter.Etunit.impl.ErrorTypeImpl <em>Error Type</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.etunit.converter.Etunit.impl.ErrorTypeImpl
+ * @see org.eclipse.etrice.etunit.converter.Etunit.impl.EtunitPackageImpl#getErrorType()
+ * @generated
+ */
+ int ERROR_TYPE = 1;
+
+ /**
+ * The feature id for the '<em><b>Mixed</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR_TYPE__MIXED = 0;
+
+ /**
+ * The feature id for the '<em><b>Expected</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR_TYPE__EXPECTED = 1;
+
+ /**
+ * The feature id for the '<em><b>Actual</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR_TYPE__ACTUAL = 2;
+
+ /**
+ * The number of structural features of the '<em>Error Type</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ERROR_TYPE_FEATURE_COUNT = 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.etrice.etunit.converter.Etunit.impl.FailureTypeImpl <em>Failure Type</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.etunit.converter.Etunit.impl.FailureTypeImpl
+ * @see org.eclipse.etrice.etunit.converter.Etunit.impl.EtunitPackageImpl#getFailureType()
+ * @generated
+ */
+ int FAILURE_TYPE = 2;
+
+ /**
+ * The feature id for the '<em><b>Mixed</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FAILURE_TYPE__MIXED = 0;
+
+ /**
+ * The feature id for the '<em><b>Expected</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FAILURE_TYPE__EXPECTED = 1;
+
+ /**
+ * The feature id for the '<em><b>Actual</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FAILURE_TYPE__ACTUAL = 2;
+
+ /**
+ * The number of structural features of the '<em>Failure Type</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FAILURE_TYPE_FEATURE_COUNT = 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.etrice.etunit.converter.Etunit.impl.TestcaseTypeImpl <em>Testcase Type</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.etunit.converter.Etunit.impl.TestcaseTypeImpl
+ * @see org.eclipse.etrice.etunit.converter.Etunit.impl.EtunitPackageImpl#getTestcaseType()
+ * @generated
+ */
+ int TESTCASE_TYPE = 3;
+
+ /**
+ * The feature id for the '<em><b>Error</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TESTCASE_TYPE__ERROR = 0;
+
+ /**
+ * The feature id for the '<em><b>Failure</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TESTCASE_TYPE__FAILURE = 1;
+
+ /**
+ * The feature id for the '<em><b>Classname</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TESTCASE_TYPE__CLASSNAME = 2;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TESTCASE_TYPE__NAME = 3;
+
+ /**
+ * The feature id for the '<em><b>Time</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TESTCASE_TYPE__TIME = 4;
+
+ /**
+ * The number of structural features of the '<em>Testcase Type</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TESTCASE_TYPE_FEATURE_COUNT = 5;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.etrice.etunit.converter.Etunit.impl.TestsuiteImpl <em>Testsuite</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.etunit.converter.Etunit.impl.TestsuiteImpl
+ * @see org.eclipse.etrice.etunit.converter.Etunit.impl.EtunitPackageImpl#getTestsuite()
+ * @generated
+ */
+ int TESTSUITE = 4;
+
+ /**
+ * The feature id for the '<em><b>Testcase</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TESTSUITE__TESTCASE = 0;
+
+ /**
+ * The feature id for the '<em><b>Errors</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TESTSUITE__ERRORS = 1;
+
+ /**
+ * The feature id for the '<em><b>Failures</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TESTSUITE__FAILURES = 2;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TESTSUITE__NAME = 3;
+
+ /**
+ * The feature id for the '<em><b>Skipped</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TESTSUITE__SKIPPED = 4;
+
+ /**
+ * The feature id for the '<em><b>Tests</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TESTSUITE__TESTS = 5;
+
+ /**
+ * The feature id for the '<em><b>Time</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TESTSUITE__TIME = 6;
+
+ /**
+ * The feature id for the '<em><b>Timestamp</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TESTSUITE__TIMESTAMP = 7;
+
+ /**
+ * The number of structural features of the '<em>Testsuite</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TESTSUITE_FEATURE_COUNT = 8;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.etrice.etunit.converter.Etunit.impl.TestsuitesTypeImpl <em>Testsuites Type</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.etunit.converter.Etunit.impl.TestsuitesTypeImpl
+ * @see org.eclipse.etrice.etunit.converter.Etunit.impl.EtunitPackageImpl#getTestsuitesType()
+ * @generated
+ */
+ int TESTSUITES_TYPE = 5;
+
+ /**
+ * The feature id for the '<em><b>Testsuite</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TESTSUITES_TYPE__TESTSUITE = 0;
+
+ /**
+ * The number of structural features of the '<em>Testsuites Type</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TESTSUITES_TYPE_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.etrice.etunit.converter.Etunit.impl.TestsuiteTypeImpl <em>Testsuite Type</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.etunit.converter.Etunit.impl.TestsuiteTypeImpl
+ * @see org.eclipse.etrice.etunit.converter.Etunit.impl.EtunitPackageImpl#getTestsuiteType()
+ * @generated
+ */
+ int TESTSUITE_TYPE = 6;
+
+ /**
+ * The feature id for the '<em><b>Testcase</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TESTSUITE_TYPE__TESTCASE = TESTSUITE__TESTCASE;
+
+ /**
+ * The feature id for the '<em><b>Errors</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TESTSUITE_TYPE__ERRORS = TESTSUITE__ERRORS;
+
+ /**
+ * The feature id for the '<em><b>Failures</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TESTSUITE_TYPE__FAILURES = TESTSUITE__FAILURES;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TESTSUITE_TYPE__NAME = TESTSUITE__NAME;
+
+ /**
+ * The feature id for the '<em><b>Skipped</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TESTSUITE_TYPE__SKIPPED = TESTSUITE__SKIPPED;
+
+ /**
+ * The feature id for the '<em><b>Tests</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TESTSUITE_TYPE__TESTS = TESTSUITE__TESTS;
+
+ /**
+ * The feature id for the '<em><b>Time</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TESTSUITE_TYPE__TIME = TESTSUITE__TIME;
+
+ /**
+ * The feature id for the '<em><b>Timestamp</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TESTSUITE_TYPE__TIMESTAMP = TESTSUITE__TIMESTAMP;
+
+ /**
+ * The number of structural features of the '<em>Testsuite Type</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TESTSUITE_TYPE_FEATURE_COUNT = TESTSUITE_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '<em>ISO8601DATETIMEPATTERN</em>' data type.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see javax.xml.datatype.XMLGregorianCalendar
+ * @see org.eclipse.etrice.etunit.converter.Etunit.impl.EtunitPackageImpl#getISO8601DATETIMEPATTERN()
+ * @generated
+ */
+ int ISO8601DATETIMEPATTERN = 7;
+
+ /**
+ * The meta object id for the '<em>Name Type</em>' data type.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see java.lang.String
+ * @see org.eclipse.etrice.etunit.converter.Etunit.impl.EtunitPackageImpl#getNameType()
+ * @generated
+ */
+ int NAME_TYPE = 8;
+
+ /**
+ * The meta object id for the '<em>Pre String</em>' data type.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see java.lang.String
+ * @see org.eclipse.etrice.etunit.converter.Etunit.impl.EtunitPackageImpl#getPreString()
+ * @generated
+ */
+ int PRE_STRING = 9;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.etrice.etunit.converter.Etunit.DocumentRoot <em>Document Root</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Document Root</em>'.
+ * @see org.eclipse.etrice.etunit.converter.Etunit.DocumentRoot
+ * @generated
+ */
+ EClass getDocumentRoot();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.eclipse.etrice.etunit.converter.Etunit.DocumentRoot#getMixed <em>Mixed</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Mixed</em>'.
+ * @see org.eclipse.etrice.etunit.converter.Etunit.DocumentRoot#getMixed()
+ * @see #getDocumentRoot()
+ * @generated
+ */
+ EAttribute getDocumentRoot_Mixed();
+
+ /**
+ * Returns the meta object for the map '{@link org.eclipse.etrice.etunit.converter.Etunit.DocumentRoot#getXMLNSPrefixMap <em>XMLNS Prefix Map</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the map '<em>XMLNS Prefix Map</em>'.
+ * @see org.eclipse.etrice.etunit.converter.Etunit.DocumentRoot#getXMLNSPrefixMap()
+ * @see #getDocumentRoot()
+ * @generated
+ */
+ EReference getDocumentRoot_XMLNSPrefixMap();
+
+ /**
+ * Returns the meta object for the map '{@link org.eclipse.etrice.etunit.converter.Etunit.DocumentRoot#getXSISchemaLocation <em>XSI Schema Location</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the map '<em>XSI Schema Location</em>'.
+ * @see org.eclipse.etrice.etunit.converter.Etunit.DocumentRoot#getXSISchemaLocation()
+ * @see #getDocumentRoot()
+ * @generated
+ */
+ EReference getDocumentRoot_XSISchemaLocation();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.etrice.etunit.converter.Etunit.DocumentRoot#getTestsuite <em>Testsuite</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Testsuite</em>'.
+ * @see org.eclipse.etrice.etunit.converter.Etunit.DocumentRoot#getTestsuite()
+ * @see #getDocumentRoot()
+ * @generated
+ */
+ EReference getDocumentRoot_Testsuite();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.etrice.etunit.converter.Etunit.DocumentRoot#getTestsuites <em>Testsuites</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Testsuites</em>'.
+ * @see org.eclipse.etrice.etunit.converter.Etunit.DocumentRoot#getTestsuites()
+ * @see #getDocumentRoot()
+ * @generated
+ */
+ EReference getDocumentRoot_Testsuites();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.etrice.etunit.converter.Etunit.ErrorType <em>Error Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Error Type</em>'.
+ * @see org.eclipse.etrice.etunit.converter.Etunit.ErrorType
+ * @generated
+ */
+ EClass getErrorType();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.eclipse.etrice.etunit.converter.Etunit.ErrorType#getMixed <em>Mixed</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Mixed</em>'.
+ * @see org.eclipse.etrice.etunit.converter.Etunit.ErrorType#getMixed()
+ * @see #getErrorType()
+ * @generated
+ */
+ EAttribute getErrorType_Mixed();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.etrice.etunit.converter.Etunit.ErrorType#getExpected <em>Expected</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Expected</em>'.
+ * @see org.eclipse.etrice.etunit.converter.Etunit.ErrorType#getExpected()
+ * @see #getErrorType()
+ * @generated
+ */
+ EAttribute getErrorType_Expected();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.etrice.etunit.converter.Etunit.ErrorType#getActual <em>Actual</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Actual</em>'.
+ * @see org.eclipse.etrice.etunit.converter.Etunit.ErrorType#getActual()
+ * @see #getErrorType()
+ * @generated
+ */
+ EAttribute getErrorType_Actual();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.etrice.etunit.converter.Etunit.FailureType <em>Failure Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Failure Type</em>'.
+ * @see org.eclipse.etrice.etunit.converter.Etunit.FailureType
+ * @generated
+ */
+ EClass getFailureType();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.eclipse.etrice.etunit.converter.Etunit.FailureType#getMixed <em>Mixed</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Mixed</em>'.
+ * @see org.eclipse.etrice.etunit.converter.Etunit.FailureType#getMixed()
+ * @see #getFailureType()
+ * @generated
+ */
+ EAttribute getFailureType_Mixed();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.etrice.etunit.converter.Etunit.FailureType#getExpected <em>Expected</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Expected</em>'.
+ * @see org.eclipse.etrice.etunit.converter.Etunit.FailureType#getExpected()
+ * @see #getFailureType()
+ * @generated
+ */
+ EAttribute getFailureType_Expected();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.etrice.etunit.converter.Etunit.FailureType#getActual <em>Actual</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Actual</em>'.
+ * @see org.eclipse.etrice.etunit.converter.Etunit.FailureType#getActual()
+ * @see #getFailureType()
+ * @generated
+ */
+ EAttribute getFailureType_Actual();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.etrice.etunit.converter.Etunit.TestcaseType <em>Testcase Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Testcase Type</em>'.
+ * @see org.eclipse.etrice.etunit.converter.Etunit.TestcaseType
+ * @generated
+ */
+ EClass getTestcaseType();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.etrice.etunit.converter.Etunit.TestcaseType#getError <em>Error</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Error</em>'.
+ * @see org.eclipse.etrice.etunit.converter.Etunit.TestcaseType#getError()
+ * @see #getTestcaseType()
+ * @generated
+ */
+ EReference getTestcaseType_Error();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.etrice.etunit.converter.Etunit.TestcaseType#getFailure <em>Failure</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Failure</em>'.
+ * @see org.eclipse.etrice.etunit.converter.Etunit.TestcaseType#getFailure()
+ * @see #getTestcaseType()
+ * @generated
+ */
+ EReference getTestcaseType_Failure();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.etrice.etunit.converter.Etunit.TestcaseType#getClassname <em>Classname</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Classname</em>'.
+ * @see org.eclipse.etrice.etunit.converter.Etunit.TestcaseType#getClassname()
+ * @see #getTestcaseType()
+ * @generated
+ */
+ EAttribute getTestcaseType_Classname();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.etrice.etunit.converter.Etunit.TestcaseType#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.etrice.etunit.converter.Etunit.TestcaseType#getName()
+ * @see #getTestcaseType()
+ * @generated
+ */
+ EAttribute getTestcaseType_Name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.etrice.etunit.converter.Etunit.TestcaseType#getTime <em>Time</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Time</em>'.
+ * @see org.eclipse.etrice.etunit.converter.Etunit.TestcaseType#getTime()
+ * @see #getTestcaseType()
+ * @generated
+ */
+ EAttribute getTestcaseType_Time();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.etrice.etunit.converter.Etunit.Testsuite <em>Testsuite</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Testsuite</em>'.
+ * @see org.eclipse.etrice.etunit.converter.Etunit.Testsuite
+ * @generated
+ */
+ EClass getTestsuite();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.etrice.etunit.converter.Etunit.Testsuite#getTestcase <em>Testcase</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Testcase</em>'.
+ * @see org.eclipse.etrice.etunit.converter.Etunit.Testsuite#getTestcase()
+ * @see #getTestsuite()
+ * @generated
+ */
+ EReference getTestsuite_Testcase();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.etrice.etunit.converter.Etunit.Testsuite#getErrors <em>Errors</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Errors</em>'.
+ * @see org.eclipse.etrice.etunit.converter.Etunit.Testsuite#getErrors()
+ * @see #getTestsuite()
+ * @generated
+ */
+ EAttribute getTestsuite_Errors();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.etrice.etunit.converter.Etunit.Testsuite#getFailures <em>Failures</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Failures</em>'.
+ * @see org.eclipse.etrice.etunit.converter.Etunit.Testsuite#getFailures()
+ * @see #getTestsuite()
+ * @generated
+ */
+ EAttribute getTestsuite_Failures();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.etrice.etunit.converter.Etunit.Testsuite#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.etrice.etunit.converter.Etunit.Testsuite#getName()
+ * @see #getTestsuite()
+ * @generated
+ */
+ EAttribute getTestsuite_Name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.etrice.etunit.converter.Etunit.Testsuite#getSkipped <em>Skipped</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Skipped</em>'.
+ * @see org.eclipse.etrice.etunit.converter.Etunit.Testsuite#getSkipped()
+ * @see #getTestsuite()
+ * @generated
+ */
+ EAttribute getTestsuite_Skipped();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.etrice.etunit.converter.Etunit.Testsuite#getTests <em>Tests</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Tests</em>'.
+ * @see org.eclipse.etrice.etunit.converter.Etunit.Testsuite#getTests()
+ * @see #getTestsuite()
+ * @generated
+ */
+ EAttribute getTestsuite_Tests();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.etrice.etunit.converter.Etunit.Testsuite#getTime <em>Time</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Time</em>'.
+ * @see org.eclipse.etrice.etunit.converter.Etunit.Testsuite#getTime()
+ * @see #getTestsuite()
+ * @generated
+ */
+ EAttribute getTestsuite_Time();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.etrice.etunit.converter.Etunit.Testsuite#getTimestamp <em>Timestamp</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Timestamp</em>'.
+ * @see org.eclipse.etrice.etunit.converter.Etunit.Testsuite#getTimestamp()
+ * @see #getTestsuite()
+ * @generated
+ */
+ EAttribute getTestsuite_Timestamp();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.etrice.etunit.converter.Etunit.TestsuitesType <em>Testsuites Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Testsuites Type</em>'.
+ * @see org.eclipse.etrice.etunit.converter.Etunit.TestsuitesType
+ * @generated
+ */
+ EClass getTestsuitesType();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.etrice.etunit.converter.Etunit.TestsuitesType#getTestsuite <em>Testsuite</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Testsuite</em>'.
+ * @see org.eclipse.etrice.etunit.converter.Etunit.TestsuitesType#getTestsuite()
+ * @see #getTestsuitesType()
+ * @generated
+ */
+ EReference getTestsuitesType_Testsuite();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.etrice.etunit.converter.Etunit.TestsuiteType <em>Testsuite Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Testsuite Type</em>'.
+ * @see org.eclipse.etrice.etunit.converter.Etunit.TestsuiteType
+ * @generated
+ */
+ EClass getTestsuiteType();
+
+ /**
+ * Returns the meta object for data type '{@link javax.xml.datatype.XMLGregorianCalendar <em>ISO8601DATETIMEPATTERN</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for data type '<em>ISO8601DATETIMEPATTERN</em>'.
+ * @see javax.xml.datatype.XMLGregorianCalendar
+ * @model instanceClass="javax.xml.datatype.XMLGregorianCalendar"
+ * extendedMetaData="name='ISO8601_DATETIME_PATTERN' baseType='http://www.eclipse.org/emf/2003/XMLType#dateTime' pattern='[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}'"
+ * @generated
+ */
+ EDataType getISO8601DATETIMEPATTERN();
+
+ /**
+ * Returns the meta object for data type '{@link java.lang.String <em>Name Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for data type '<em>Name Type</em>'.
+ * @see java.lang.String
+ * @model instanceClass="java.lang.String"
+ * extendedMetaData="name='name_._type' baseType='http://www.eclipse.org/emf/2003/XMLType#token' minLength='1'"
+ * @generated
+ */
+ EDataType getNameType();
+
+ /**
+ * Returns the meta object for data type '{@link java.lang.String <em>Pre String</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for data type '<em>Pre String</em>'.
+ * @see java.lang.String
+ * @model instanceClass="java.lang.String"
+ * extendedMetaData="name='pre-string' baseType='http://www.eclipse.org/emf/2003/XMLType#string' whiteSpace='preserve'"
+ * @generated
+ */
+ EDataType getPreString();
+
+ /**
+ * Returns the factory that creates the instances of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ EtunitFactory getEtunitFactory();
+
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ interface Literals {
+ /**
+ * The meta object literal for the '{@link org.eclipse.etrice.etunit.converter.Etunit.impl.DocumentRootImpl <em>Document Root</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.etunit.converter.Etunit.impl.DocumentRootImpl
+ * @see org.eclipse.etrice.etunit.converter.Etunit.impl.EtunitPackageImpl#getDocumentRoot()
+ * @generated
+ */
+ EClass DOCUMENT_ROOT = eINSTANCE.getDocumentRoot();
+
+ /**
+ * The meta object literal for the '<em><b>Mixed</b></em>' attribute list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute DOCUMENT_ROOT__MIXED = eINSTANCE.getDocumentRoot_Mixed();
+
+ /**
+ * The meta object literal for the '<em><b>XMLNS Prefix Map</b></em>' map feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DOCUMENT_ROOT__XMLNS_PREFIX_MAP = eINSTANCE.getDocumentRoot_XMLNSPrefixMap();
+
+ /**
+ * The meta object literal for the '<em><b>XSI Schema Location</b></em>' map feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DOCUMENT_ROOT__XSI_SCHEMA_LOCATION = eINSTANCE.getDocumentRoot_XSISchemaLocation();
+
+ /**
+ * The meta object literal for the '<em><b>Testsuite</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DOCUMENT_ROOT__TESTSUITE = eINSTANCE.getDocumentRoot_Testsuite();
+
+ /**
+ * The meta object literal for the '<em><b>Testsuites</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DOCUMENT_ROOT__TESTSUITES = eINSTANCE.getDocumentRoot_Testsuites();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.etrice.etunit.converter.Etunit.impl.ErrorTypeImpl <em>Error Type</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.etunit.converter.Etunit.impl.ErrorTypeImpl
+ * @see org.eclipse.etrice.etunit.converter.Etunit.impl.EtunitPackageImpl#getErrorType()
+ * @generated
+ */
+ EClass ERROR_TYPE = eINSTANCE.getErrorType();
+
+ /**
+ * The meta object literal for the '<em><b>Mixed</b></em>' attribute list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ERROR_TYPE__MIXED = eINSTANCE.getErrorType_Mixed();
+
+ /**
+ * The meta object literal for the '<em><b>Expected</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ERROR_TYPE__EXPECTED = eINSTANCE.getErrorType_Expected();
+
+ /**
+ * The meta object literal for the '<em><b>Actual</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ERROR_TYPE__ACTUAL = eINSTANCE.getErrorType_Actual();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.etrice.etunit.converter.Etunit.impl.FailureTypeImpl <em>Failure Type</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.etunit.converter.Etunit.impl.FailureTypeImpl
+ * @see org.eclipse.etrice.etunit.converter.Etunit.impl.EtunitPackageImpl#getFailureType()
+ * @generated
+ */
+ EClass FAILURE_TYPE = eINSTANCE.getFailureType();
+
+ /**
+ * The meta object literal for the '<em><b>Mixed</b></em>' attribute list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute FAILURE_TYPE__MIXED = eINSTANCE.getFailureType_Mixed();
+
+ /**
+ * The meta object literal for the '<em><b>Expected</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute FAILURE_TYPE__EXPECTED = eINSTANCE.getFailureType_Expected();
+
+ /**
+ * The meta object literal for the '<em><b>Actual</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute FAILURE_TYPE__ACTUAL = eINSTANCE.getFailureType_Actual();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.etrice.etunit.converter.Etunit.impl.TestcaseTypeImpl <em>Testcase Type</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.etunit.converter.Etunit.impl.TestcaseTypeImpl
+ * @see org.eclipse.etrice.etunit.converter.Etunit.impl.EtunitPackageImpl#getTestcaseType()
+ * @generated
+ */
+ EClass TESTCASE_TYPE = eINSTANCE.getTestcaseType();
+
+ /**
+ * The meta object literal for the '<em><b>Error</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference TESTCASE_TYPE__ERROR = eINSTANCE.getTestcaseType_Error();
+
+ /**
+ * The meta object literal for the '<em><b>Failure</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference TESTCASE_TYPE__FAILURE = eINSTANCE.getTestcaseType_Failure();
+
+ /**
+ * The meta object literal for the '<em><b>Classname</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute TESTCASE_TYPE__CLASSNAME = eINSTANCE.getTestcaseType_Classname();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute TESTCASE_TYPE__NAME = eINSTANCE.getTestcaseType_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Time</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute TESTCASE_TYPE__TIME = eINSTANCE.getTestcaseType_Time();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.etrice.etunit.converter.Etunit.impl.TestsuiteImpl <em>Testsuite</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.etunit.converter.Etunit.impl.TestsuiteImpl
+ * @see org.eclipse.etrice.etunit.converter.Etunit.impl.EtunitPackageImpl#getTestsuite()
+ * @generated
+ */
+ EClass TESTSUITE = eINSTANCE.getTestsuite();
+
+ /**
+ * The meta object literal for the '<em><b>Testcase</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference TESTSUITE__TESTCASE = eINSTANCE.getTestsuite_Testcase();
+
+ /**
+ * The meta object literal for the '<em><b>Errors</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute TESTSUITE__ERRORS = eINSTANCE.getTestsuite_Errors();
+
+ /**
+ * The meta object literal for the '<em><b>Failures</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute TESTSUITE__FAILURES = eINSTANCE.getTestsuite_Failures();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute TESTSUITE__NAME = eINSTANCE.getTestsuite_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Skipped</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute TESTSUITE__SKIPPED = eINSTANCE.getTestsuite_Skipped();
+
+ /**
+ * The meta object literal for the '<em><b>Tests</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute TESTSUITE__TESTS = eINSTANCE.getTestsuite_Tests();
+
+ /**
+ * The meta object literal for the '<em><b>Time</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute TESTSUITE__TIME = eINSTANCE.getTestsuite_Time();
+
+ /**
+ * The meta object literal for the '<em><b>Timestamp</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute TESTSUITE__TIMESTAMP = eINSTANCE.getTestsuite_Timestamp();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.etrice.etunit.converter.Etunit.impl.TestsuitesTypeImpl <em>Testsuites Type</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.etunit.converter.Etunit.impl.TestsuitesTypeImpl
+ * @see org.eclipse.etrice.etunit.converter.Etunit.impl.EtunitPackageImpl#getTestsuitesType()
+ * @generated
+ */
+ EClass TESTSUITES_TYPE = eINSTANCE.getTestsuitesType();
+
+ /**
+ * The meta object literal for the '<em><b>Testsuite</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference TESTSUITES_TYPE__TESTSUITE = eINSTANCE.getTestsuitesType_Testsuite();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.etrice.etunit.converter.Etunit.impl.TestsuiteTypeImpl <em>Testsuite Type</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.etunit.converter.Etunit.impl.TestsuiteTypeImpl
+ * @see org.eclipse.etrice.etunit.converter.Etunit.impl.EtunitPackageImpl#getTestsuiteType()
+ * @generated
+ */
+ EClass TESTSUITE_TYPE = eINSTANCE.getTestsuiteType();
+
+ /**
+ * The meta object literal for the '<em>ISO8601DATETIMEPATTERN</em>' data type.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see javax.xml.datatype.XMLGregorianCalendar
+ * @see org.eclipse.etrice.etunit.converter.Etunit.impl.EtunitPackageImpl#getISO8601DATETIMEPATTERN()
+ * @generated
+ */
+ EDataType ISO8601DATETIMEPATTERN = eINSTANCE.getISO8601DATETIMEPATTERN();
+
+ /**
+ * The meta object literal for the '<em>Name Type</em>' data type.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see java.lang.String
+ * @see org.eclipse.etrice.etunit.converter.Etunit.impl.EtunitPackageImpl#getNameType()
+ * @generated
+ */
+ EDataType NAME_TYPE = eINSTANCE.getNameType();
+
+ /**
+ * The meta object literal for the '<em>Pre String</em>' data type.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see java.lang.String
+ * @see org.eclipse.etrice.etunit.converter.Etunit.impl.EtunitPackageImpl#getPreString()
+ * @generated
+ */
+ EDataType PRE_STRING = eINSTANCE.getPreString();
+
+ }
+
+} //EtunitPackage
diff --git a/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/FailureType.java b/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/FailureType.java
new file mode 100644
index 000000000..05516dbe3
--- /dev/null
+++ b/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/FailureType.java
@@ -0,0 +1,102 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.etrice.etunit.converter.Etunit;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.util.FeatureMap;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Failure Type</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.etrice.etunit.converter.Etunit.FailureType#getMixed <em>Mixed</em>}</li>
+ * <li>{@link org.eclipse.etrice.etunit.converter.Etunit.FailureType#getExpected <em>Expected</em>}</li>
+ * <li>{@link org.eclipse.etrice.etunit.converter.Etunit.FailureType#getActual <em>Actual</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.etrice.etunit.converter.Etunit.EtunitPackage#getFailureType()
+ * @model extendedMetaData="name='failure_._type' kind='mixed'"
+ * @generated
+ */
+public interface FailureType extends EObject {
+ /**
+ * Returns the value of the '<em><b>Mixed</b></em>' attribute list.
+ * The list contents are of type {@link org.eclipse.emf.ecore.util.FeatureMap.Entry}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Mixed</em>' attribute list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Mixed</em>' attribute list.
+ * @see org.eclipse.etrice.etunit.converter.Etunit.EtunitPackage#getFailureType_Mixed()
+ * @model unique="false" dataType="org.eclipse.emf.ecore.EFeatureMapEntry" many="true"
+ * extendedMetaData="kind='elementWildcard' name=':mixed'"
+ * @generated
+ */
+ FeatureMap getMixed();
+
+ /**
+ * Returns the value of the '<em><b>Expected</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Expected</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Expected</em>' attribute.
+ * @see #setExpected(String)
+ * @see org.eclipse.etrice.etunit.converter.Etunit.EtunitPackage#getFailureType_Expected()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" required="true" transient="true" volatile="true" derived="true"
+ * extendedMetaData="kind='element' name='expected' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getExpected();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.etrice.etunit.converter.Etunit.FailureType#getExpected <em>Expected</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Expected</em>' attribute.
+ * @see #getExpected()
+ * @generated
+ */
+ void setExpected(String value);
+
+ /**
+ * Returns the value of the '<em><b>Actual</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Actual</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Actual</em>' attribute.
+ * @see #setActual(String)
+ * @see org.eclipse.etrice.etunit.converter.Etunit.EtunitPackage#getFailureType_Actual()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.String" required="true" transient="true" volatile="true" derived="true"
+ * extendedMetaData="kind='element' name='actual' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getActual();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.etrice.etunit.converter.Etunit.FailureType#getActual <em>Actual</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Actual</em>' attribute.
+ * @see #getActual()
+ * @generated
+ */
+ void setActual(String value);
+
+} // FailureType
diff --git a/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/TestcaseType.java b/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/TestcaseType.java
new file mode 100644
index 000000000..47d88618a
--- /dev/null
+++ b/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/TestcaseType.java
@@ -0,0 +1,149 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.etrice.etunit.converter.Etunit;
+
+import java.math.BigDecimal;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Testcase Type</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.etrice.etunit.converter.Etunit.TestcaseType#getError <em>Error</em>}</li>
+ * <li>{@link org.eclipse.etrice.etunit.converter.Etunit.TestcaseType#getFailure <em>Failure</em>}</li>
+ * <li>{@link org.eclipse.etrice.etunit.converter.Etunit.TestcaseType#getClassname <em>Classname</em>}</li>
+ * <li>{@link org.eclipse.etrice.etunit.converter.Etunit.TestcaseType#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.etrice.etunit.converter.Etunit.TestcaseType#getTime <em>Time</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.etrice.etunit.converter.Etunit.EtunitPackage#getTestcaseType()
+ * @model extendedMetaData="name='testcase_._type' kind='elementOnly'"
+ * @generated
+ */
+public interface TestcaseType extends EObject {
+ /**
+ * Returns the value of the '<em><b>Error</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Error</em>' containment reference.
+ * @see #setError(ErrorType)
+ * @see org.eclipse.etrice.etunit.converter.Etunit.EtunitPackage#getTestcaseType_Error()
+ * @model containment="true"
+ * extendedMetaData="kind='element' name='error' namespace='##targetNamespace'"
+ * @generated
+ */
+ ErrorType getError();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.etrice.etunit.converter.Etunit.TestcaseType#getError <em>Error</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Error</em>' containment reference.
+ * @see #getError()
+ * @generated
+ */
+ void setError(ErrorType value);
+
+ /**
+ * Returns the value of the '<em><b>Failure</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Failure</em>' containment reference.
+ * @see #setFailure(FailureType)
+ * @see org.eclipse.etrice.etunit.converter.Etunit.EtunitPackage#getTestcaseType_Failure()
+ * @model containment="true"
+ * extendedMetaData="kind='element' name='failure' namespace='##targetNamespace'"
+ * @generated
+ */
+ FailureType getFailure();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.etrice.etunit.converter.Etunit.TestcaseType#getFailure <em>Failure</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Failure</em>' containment reference.
+ * @see #getFailure()
+ * @generated
+ */
+ void setFailure(FailureType value);
+
+ /**
+ * Returns the value of the '<em><b>Classname</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Classname</em>' attribute.
+ * @see #setClassname(String)
+ * @see org.eclipse.etrice.etunit.converter.Etunit.EtunitPackage#getTestcaseType_Classname()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.Token" required="true"
+ * extendedMetaData="kind='attribute' name='classname' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getClassname();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.etrice.etunit.converter.Etunit.TestcaseType#getClassname <em>Classname</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Classname</em>' attribute.
+ * @see #getClassname()
+ * @generated
+ */
+ void setClassname(String value);
+
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.etrice.etunit.converter.Etunit.EtunitPackage#getTestcaseType_Name()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.Token" required="true"
+ * extendedMetaData="kind='attribute' name='name' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.etrice.etunit.converter.Etunit.TestcaseType#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Time</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Time</em>' attribute.
+ * @see #setTime(BigDecimal)
+ * @see org.eclipse.etrice.etunit.converter.Etunit.EtunitPackage#getTestcaseType_Time()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.Decimal" required="true"
+ * extendedMetaData="kind='attribute' name='time' namespace='##targetNamespace'"
+ * @generated
+ */
+ BigDecimal getTime();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.etrice.etunit.converter.Etunit.TestcaseType#getTime <em>Time</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Time</em>' attribute.
+ * @see #getTime()
+ * @generated
+ */
+ void setTime(BigDecimal value);
+
+} // TestcaseType
diff --git a/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/Testsuite.java b/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/Testsuite.java
new file mode 100644
index 000000000..54bcb6152
--- /dev/null
+++ b/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/Testsuite.java
@@ -0,0 +1,327 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.etrice.etunit.converter.Etunit;
+
+import java.math.BigDecimal;
+
+import javax.xml.datatype.XMLGregorianCalendar;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Testsuite</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.etrice.etunit.converter.Etunit.Testsuite#getTestcase <em>Testcase</em>}</li>
+ * <li>{@link org.eclipse.etrice.etunit.converter.Etunit.Testsuite#getErrors <em>Errors</em>}</li>
+ * <li>{@link org.eclipse.etrice.etunit.converter.Etunit.Testsuite#getFailures <em>Failures</em>}</li>
+ * <li>{@link org.eclipse.etrice.etunit.converter.Etunit.Testsuite#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.etrice.etunit.converter.Etunit.Testsuite#getSkipped <em>Skipped</em>}</li>
+ * <li>{@link org.eclipse.etrice.etunit.converter.Etunit.Testsuite#getTests <em>Tests</em>}</li>
+ * <li>{@link org.eclipse.etrice.etunit.converter.Etunit.Testsuite#getTime <em>Time</em>}</li>
+ * <li>{@link org.eclipse.etrice.etunit.converter.Etunit.Testsuite#getTimestamp <em>Timestamp</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.etrice.etunit.converter.Etunit.EtunitPackage#getTestsuite()
+ * @model extendedMetaData="name='testsuite' kind='elementOnly'"
+ * @generated
+ */
+public interface Testsuite extends EObject {
+ /**
+ * Returns the value of the '<em><b>Testcase</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.etrice.etunit.converter.Etunit.TestcaseType}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Testcase</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Testcase</em>' containment reference list.
+ * @see org.eclipse.etrice.etunit.converter.Etunit.EtunitPackage#getTestsuite_Testcase()
+ * @model containment="true"
+ * extendedMetaData="kind='element' name='testcase' namespace='##targetNamespace'"
+ * @generated
+ */
+ EList<TestcaseType> getTestcase();
+
+ /**
+ * Returns the value of the '<em><b>Errors</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Errors</em>' attribute.
+ * @see #isSetErrors()
+ * @see #unsetErrors()
+ * @see #setErrors(int)
+ * @see org.eclipse.etrice.etunit.converter.Etunit.EtunitPackage#getTestsuite_Errors()
+ * @model unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.Int" required="true"
+ * extendedMetaData="kind='attribute' name='errors' namespace='##targetNamespace'"
+ * @generated
+ */
+ int getErrors();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.etrice.etunit.converter.Etunit.Testsuite#getErrors <em>Errors</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Errors</em>' attribute.
+ * @see #isSetErrors()
+ * @see #unsetErrors()
+ * @see #getErrors()
+ * @generated
+ */
+ void setErrors(int value);
+
+ /**
+ * Unsets the value of the '{@link org.eclipse.etrice.etunit.converter.Etunit.Testsuite#getErrors <em>Errors</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSetErrors()
+ * @see #getErrors()
+ * @see #setErrors(int)
+ * @generated
+ */
+ void unsetErrors();
+
+ /**
+ * Returns whether the value of the '{@link org.eclipse.etrice.etunit.converter.Etunit.Testsuite#getErrors <em>Errors</em>}' attribute is set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return whether the value of the '<em>Errors</em>' attribute is set.
+ * @see #unsetErrors()
+ * @see #getErrors()
+ * @see #setErrors(int)
+ * @generated
+ */
+ boolean isSetErrors();
+
+ /**
+ * Returns the value of the '<em><b>Failures</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Failures</em>' attribute.
+ * @see #isSetFailures()
+ * @see #unsetFailures()
+ * @see #setFailures(int)
+ * @see org.eclipse.etrice.etunit.converter.Etunit.EtunitPackage#getTestsuite_Failures()
+ * @model unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.Int" required="true"
+ * extendedMetaData="kind='attribute' name='failures' namespace='##targetNamespace'"
+ * @generated
+ */
+ int getFailures();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.etrice.etunit.converter.Etunit.Testsuite#getFailures <em>Failures</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Failures</em>' attribute.
+ * @see #isSetFailures()
+ * @see #unsetFailures()
+ * @see #getFailures()
+ * @generated
+ */
+ void setFailures(int value);
+
+ /**
+ * Unsets the value of the '{@link org.eclipse.etrice.etunit.converter.Etunit.Testsuite#getFailures <em>Failures</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSetFailures()
+ * @see #getFailures()
+ * @see #setFailures(int)
+ * @generated
+ */
+ void unsetFailures();
+
+ /**
+ * Returns whether the value of the '{@link org.eclipse.etrice.etunit.converter.Etunit.Testsuite#getFailures <em>Failures</em>}' attribute is set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return whether the value of the '<em>Failures</em>' attribute is set.
+ * @see #unsetFailures()
+ * @see #getFailures()
+ * @see #setFailures(int)
+ * @generated
+ */
+ boolean isSetFailures();
+
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.etrice.etunit.converter.Etunit.EtunitPackage#getTestsuite_Name()
+ * @model dataType="org.eclipse.etrice.etunit.converter.Etunit.NameType" required="true"
+ * extendedMetaData="kind='attribute' name='name' namespace='##targetNamespace'"
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.etrice.etunit.converter.Etunit.Testsuite#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Skipped</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Skipped</em>' attribute.
+ * @see #isSetSkipped()
+ * @see #unsetSkipped()
+ * @see #setSkipped(int)
+ * @see org.eclipse.etrice.etunit.converter.Etunit.EtunitPackage#getTestsuite_Skipped()
+ * @model unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.Int"
+ * extendedMetaData="kind='attribute' name='skipped' namespace='##targetNamespace'"
+ * @generated
+ */
+ int getSkipped();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.etrice.etunit.converter.Etunit.Testsuite#getSkipped <em>Skipped</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Skipped</em>' attribute.
+ * @see #isSetSkipped()
+ * @see #unsetSkipped()
+ * @see #getSkipped()
+ * @generated
+ */
+ void setSkipped(int value);
+
+ /**
+ * Unsets the value of the '{@link org.eclipse.etrice.etunit.converter.Etunit.Testsuite#getSkipped <em>Skipped</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSetSkipped()
+ * @see #getSkipped()
+ * @see #setSkipped(int)
+ * @generated
+ */
+ void unsetSkipped();
+
+ /**
+ * Returns whether the value of the '{@link org.eclipse.etrice.etunit.converter.Etunit.Testsuite#getSkipped <em>Skipped</em>}' attribute is set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return whether the value of the '<em>Skipped</em>' attribute is set.
+ * @see #unsetSkipped()
+ * @see #getSkipped()
+ * @see #setSkipped(int)
+ * @generated
+ */
+ boolean isSetSkipped();
+
+ /**
+ * Returns the value of the '<em><b>Tests</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Tests</em>' attribute.
+ * @see #isSetTests()
+ * @see #unsetTests()
+ * @see #setTests(int)
+ * @see org.eclipse.etrice.etunit.converter.Etunit.EtunitPackage#getTestsuite_Tests()
+ * @model unsettable="true" dataType="org.eclipse.emf.ecore.xml.type.Int" required="true"
+ * extendedMetaData="kind='attribute' name='tests' namespace='##targetNamespace'"
+ * @generated
+ */
+ int getTests();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.etrice.etunit.converter.Etunit.Testsuite#getTests <em>Tests</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Tests</em>' attribute.
+ * @see #isSetTests()
+ * @see #unsetTests()
+ * @see #getTests()
+ * @generated
+ */
+ void setTests(int value);
+
+ /**
+ * Unsets the value of the '{@link org.eclipse.etrice.etunit.converter.Etunit.Testsuite#getTests <em>Tests</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isSetTests()
+ * @see #getTests()
+ * @see #setTests(int)
+ * @generated
+ */
+ void unsetTests();
+
+ /**
+ * Returns whether the value of the '{@link org.eclipse.etrice.etunit.converter.Etunit.Testsuite#getTests <em>Tests</em>}' attribute is set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return whether the value of the '<em>Tests</em>' attribute is set.
+ * @see #unsetTests()
+ * @see #getTests()
+ * @see #setTests(int)
+ * @generated
+ */
+ boolean isSetTests();
+
+ /**
+ * Returns the value of the '<em><b>Time</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Time</em>' attribute.
+ * @see #setTime(BigDecimal)
+ * @see org.eclipse.etrice.etunit.converter.Etunit.EtunitPackage#getTestsuite_Time()
+ * @model dataType="org.eclipse.emf.ecore.xml.type.Decimal" required="true"
+ * extendedMetaData="kind='attribute' name='time' namespace='##targetNamespace'"
+ * @generated
+ */
+ BigDecimal getTime();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.etrice.etunit.converter.Etunit.Testsuite#getTime <em>Time</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Time</em>' attribute.
+ * @see #getTime()
+ * @generated
+ */
+ void setTime(BigDecimal value);
+
+ /**
+ * Returns the value of the '<em><b>Timestamp</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Timestamp</em>' attribute.
+ * @see #setTimestamp(XMLGregorianCalendar)
+ * @see org.eclipse.etrice.etunit.converter.Etunit.EtunitPackage#getTestsuite_Timestamp()
+ * @model dataType="org.eclipse.etrice.etunit.converter.Etunit.ISO8601DATETIMEPATTERN" required="true"
+ * extendedMetaData="kind='attribute' name='timestamp' namespace='##targetNamespace'"
+ * @generated
+ */
+ XMLGregorianCalendar getTimestamp();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.etrice.etunit.converter.Etunit.Testsuite#getTimestamp <em>Timestamp</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Timestamp</em>' attribute.
+ * @see #getTimestamp()
+ * @generated
+ */
+ void setTimestamp(XMLGregorianCalendar value);
+
+} // Testsuite
diff --git a/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/TestsuiteType.java b/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/TestsuiteType.java
new file mode 100644
index 000000000..f8bb6de77
--- /dev/null
+++ b/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/TestsuiteType.java
@@ -0,0 +1,22 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.etrice.etunit.converter.Etunit;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Testsuite Type</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.etrice.etunit.converter.Etunit.EtunitPackage#getTestsuiteType()
+ * @model extendedMetaData="name='testsuite_._type' kind='elementOnly'"
+ * @generated
+ */
+public interface TestsuiteType extends Testsuite {
+
+} // TestsuiteType
diff --git a/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/TestsuitesType.java b/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/TestsuitesType.java
new file mode 100644
index 000000000..398de97d5
--- /dev/null
+++ b/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/TestsuitesType.java
@@ -0,0 +1,47 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.etrice.etunit.converter.Etunit;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Testsuites Type</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.etrice.etunit.converter.Etunit.TestsuitesType#getTestsuite <em>Testsuite</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.etrice.etunit.converter.Etunit.EtunitPackage#getTestsuitesType()
+ * @model extendedMetaData="name='testsuites_._type' kind='elementOnly'"
+ * @generated
+ */
+public interface TestsuitesType extends EObject {
+ /**
+ * Returns the value of the '<em><b>Testsuite</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.etrice.etunit.converter.Etunit.TestsuiteType}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Testsuite</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Testsuite</em>' containment reference list.
+ * @see org.eclipse.etrice.etunit.converter.Etunit.EtunitPackage#getTestsuitesType_Testsuite()
+ * @model containment="true"
+ * extendedMetaData="kind='element' name='testsuite' namespace='##targetNamespace'"
+ * @generated
+ */
+ EList<TestsuiteType> getTestsuite();
+
+} // TestsuitesType
diff --git a/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/impl/DocumentRootImpl.java b/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/impl/DocumentRootImpl.java
new file mode 100644
index 000000000..b199f3ed6
--- /dev/null
+++ b/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/impl/DocumentRootImpl.java
@@ -0,0 +1,327 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.etrice.etunit.converter.Etunit.impl;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EMap;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.emf.ecore.impl.EStringToStringMapEntryImpl;
+
+import org.eclipse.emf.ecore.util.BasicFeatureMap;
+import org.eclipse.emf.ecore.util.EcoreEMap;
+import org.eclipse.emf.ecore.util.FeatureMap;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.etrice.etunit.converter.Etunit.DocumentRoot;
+import org.eclipse.etrice.etunit.converter.Etunit.EtunitPackage;
+import org.eclipse.etrice.etunit.converter.Etunit.Testsuite;
+import org.eclipse.etrice.etunit.converter.Etunit.TestsuitesType;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Document Root</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.etrice.etunit.converter.Etunit.impl.DocumentRootImpl#getMixed <em>Mixed</em>}</li>
+ * <li>{@link org.eclipse.etrice.etunit.converter.Etunit.impl.DocumentRootImpl#getXMLNSPrefixMap <em>XMLNS Prefix Map</em>}</li>
+ * <li>{@link org.eclipse.etrice.etunit.converter.Etunit.impl.DocumentRootImpl#getXSISchemaLocation <em>XSI Schema Location</em>}</li>
+ * <li>{@link org.eclipse.etrice.etunit.converter.Etunit.impl.DocumentRootImpl#getTestsuite <em>Testsuite</em>}</li>
+ * <li>{@link org.eclipse.etrice.etunit.converter.Etunit.impl.DocumentRootImpl#getTestsuites <em>Testsuites</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class DocumentRootImpl extends EObjectImpl implements DocumentRoot {
+ /**
+ * The cached value of the '{@link #getMixed() <em>Mixed</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMixed()
+ * @generated
+ * @ordered
+ */
+ protected FeatureMap mixed;
+
+ /**
+ * The cached value of the '{@link #getXMLNSPrefixMap() <em>XMLNS Prefix Map</em>}' map.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXMLNSPrefixMap()
+ * @generated
+ * @ordered
+ */
+ protected EMap<String, String> xMLNSPrefixMap;
+
+ /**
+ * The cached value of the '{@link #getXSISchemaLocation() <em>XSI Schema Location</em>}' map.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getXSISchemaLocation()
+ * @generated
+ * @ordered
+ */
+ protected EMap<String, String> xSISchemaLocation;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DocumentRootImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return EtunitPackage.Literals.DOCUMENT_ROOT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FeatureMap getMixed() {
+ if (mixed == null) {
+ mixed = new BasicFeatureMap(this, EtunitPackage.DOCUMENT_ROOT__MIXED);
+ }
+ return mixed;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EMap<String, String> getXMLNSPrefixMap() {
+ if (xMLNSPrefixMap == null) {
+ xMLNSPrefixMap = new EcoreEMap<String,String>(EcorePackage.Literals.ESTRING_TO_STRING_MAP_ENTRY, EStringToStringMapEntryImpl.class, this, EtunitPackage.DOCUMENT_ROOT__XMLNS_PREFIX_MAP);
+ }
+ return xMLNSPrefixMap;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EMap<String, String> getXSISchemaLocation() {
+ if (xSISchemaLocation == null) {
+ xSISchemaLocation = new EcoreEMap<String,String>(EcorePackage.Literals.ESTRING_TO_STRING_MAP_ENTRY, EStringToStringMapEntryImpl.class, this, EtunitPackage.DOCUMENT_ROOT__XSI_SCHEMA_LOCATION);
+ }
+ return xSISchemaLocation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Testsuite getTestsuite() {
+ return (Testsuite)getMixed().get(EtunitPackage.Literals.DOCUMENT_ROOT__TESTSUITE, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetTestsuite(Testsuite newTestsuite, NotificationChain msgs) {
+ return ((FeatureMap.Internal)getMixed()).basicAdd(EtunitPackage.Literals.DOCUMENT_ROOT__TESTSUITE, newTestsuite, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTestsuite(Testsuite newTestsuite) {
+ ((FeatureMap.Internal)getMixed()).set(EtunitPackage.Literals.DOCUMENT_ROOT__TESTSUITE, newTestsuite);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TestsuitesType getTestsuites() {
+ return (TestsuitesType)getMixed().get(EtunitPackage.Literals.DOCUMENT_ROOT__TESTSUITES, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetTestsuites(TestsuitesType newTestsuites, NotificationChain msgs) {
+ return ((FeatureMap.Internal)getMixed()).basicAdd(EtunitPackage.Literals.DOCUMENT_ROOT__TESTSUITES, newTestsuites, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTestsuites(TestsuitesType newTestsuites) {
+ ((FeatureMap.Internal)getMixed()).set(EtunitPackage.Literals.DOCUMENT_ROOT__TESTSUITES, newTestsuites);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case EtunitPackage.DOCUMENT_ROOT__MIXED:
+ return ((InternalEList<?>)getMixed()).basicRemove(otherEnd, msgs);
+ case EtunitPackage.DOCUMENT_ROOT__XMLNS_PREFIX_MAP:
+ return ((InternalEList<?>)getXMLNSPrefixMap()).basicRemove(otherEnd, msgs);
+ case EtunitPackage.DOCUMENT_ROOT__XSI_SCHEMA_LOCATION:
+ return ((InternalEList<?>)getXSISchemaLocation()).basicRemove(otherEnd, msgs);
+ case EtunitPackage.DOCUMENT_ROOT__TESTSUITE:
+ return basicSetTestsuite(null, msgs);
+ case EtunitPackage.DOCUMENT_ROOT__TESTSUITES:
+ return basicSetTestsuites(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case EtunitPackage.DOCUMENT_ROOT__MIXED:
+ if (coreType) return getMixed();
+ return ((FeatureMap.Internal)getMixed()).getWrapper();
+ case EtunitPackage.DOCUMENT_ROOT__XMLNS_PREFIX_MAP:
+ if (coreType) return getXMLNSPrefixMap();
+ else return getXMLNSPrefixMap().map();
+ case EtunitPackage.DOCUMENT_ROOT__XSI_SCHEMA_LOCATION:
+ if (coreType) return getXSISchemaLocation();
+ else return getXSISchemaLocation().map();
+ case EtunitPackage.DOCUMENT_ROOT__TESTSUITE:
+ return getTestsuite();
+ case EtunitPackage.DOCUMENT_ROOT__TESTSUITES:
+ return getTestsuites();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case EtunitPackage.DOCUMENT_ROOT__MIXED:
+ ((FeatureMap.Internal)getMixed()).set(newValue);
+ return;
+ case EtunitPackage.DOCUMENT_ROOT__XMLNS_PREFIX_MAP:
+ ((EStructuralFeature.Setting)getXMLNSPrefixMap()).set(newValue);
+ return;
+ case EtunitPackage.DOCUMENT_ROOT__XSI_SCHEMA_LOCATION:
+ ((EStructuralFeature.Setting)getXSISchemaLocation()).set(newValue);
+ return;
+ case EtunitPackage.DOCUMENT_ROOT__TESTSUITE:
+ setTestsuite((Testsuite)newValue);
+ return;
+ case EtunitPackage.DOCUMENT_ROOT__TESTSUITES:
+ setTestsuites((TestsuitesType)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case EtunitPackage.DOCUMENT_ROOT__MIXED:
+ getMixed().clear();
+ return;
+ case EtunitPackage.DOCUMENT_ROOT__XMLNS_PREFIX_MAP:
+ getXMLNSPrefixMap().clear();
+ return;
+ case EtunitPackage.DOCUMENT_ROOT__XSI_SCHEMA_LOCATION:
+ getXSISchemaLocation().clear();
+ return;
+ case EtunitPackage.DOCUMENT_ROOT__TESTSUITE:
+ setTestsuite((Testsuite)null);
+ return;
+ case EtunitPackage.DOCUMENT_ROOT__TESTSUITES:
+ setTestsuites((TestsuitesType)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case EtunitPackage.DOCUMENT_ROOT__MIXED:
+ return mixed != null && !mixed.isEmpty();
+ case EtunitPackage.DOCUMENT_ROOT__XMLNS_PREFIX_MAP:
+ return xMLNSPrefixMap != null && !xMLNSPrefixMap.isEmpty();
+ case EtunitPackage.DOCUMENT_ROOT__XSI_SCHEMA_LOCATION:
+ return xSISchemaLocation != null && !xSISchemaLocation.isEmpty();
+ case EtunitPackage.DOCUMENT_ROOT__TESTSUITE:
+ return getTestsuite() != null;
+ case EtunitPackage.DOCUMENT_ROOT__TESTSUITES:
+ return getTestsuites() != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (mixed: ");
+ result.append(mixed);
+ result.append(')');
+ return result.toString();
+ }
+
+} //DocumentRootImpl
diff --git a/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/impl/ErrorTypeImpl.java b/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/impl/ErrorTypeImpl.java
new file mode 100644
index 000000000..e27f38e24
--- /dev/null
+++ b/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/impl/ErrorTypeImpl.java
@@ -0,0 +1,241 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.etrice.etunit.converter.Etunit.impl;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.emf.ecore.util.BasicFeatureMap;
+import org.eclipse.emf.ecore.util.FeatureMap;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.etrice.etunit.converter.Etunit.ErrorType;
+import org.eclipse.etrice.etunit.converter.Etunit.EtunitPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Error Type</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.etrice.etunit.converter.Etunit.impl.ErrorTypeImpl#getMixed <em>Mixed</em>}</li>
+ * <li>{@link org.eclipse.etrice.etunit.converter.Etunit.impl.ErrorTypeImpl#getExpected <em>Expected</em>}</li>
+ * <li>{@link org.eclipse.etrice.etunit.converter.Etunit.impl.ErrorTypeImpl#getActual <em>Actual</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ErrorTypeImpl extends EObjectImpl implements ErrorType {
+ /**
+ * The cached value of the '{@link #getMixed() <em>Mixed</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMixed()
+ * @generated
+ * @ordered
+ */
+ protected FeatureMap mixed;
+
+ /**
+ * The default value of the '{@link #getExpected() <em>Expected</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExpected()
+ * @generated
+ * @ordered
+ */
+ protected static final String EXPECTED_EDEFAULT = null;
+
+ /**
+ * The default value of the '{@link #getActual() <em>Actual</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getActual()
+ * @generated
+ * @ordered
+ */
+ protected static final String ACTUAL_EDEFAULT = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ErrorTypeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return EtunitPackage.Literals.ERROR_TYPE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FeatureMap getMixed() {
+ if (mixed == null) {
+ mixed = new BasicFeatureMap(this, EtunitPackage.ERROR_TYPE__MIXED);
+ }
+ return mixed;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getExpected() {
+ return (String)getMixed().get(EtunitPackage.Literals.ERROR_TYPE__EXPECTED, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setExpected(String newExpected) {
+ ((FeatureMap.Internal)getMixed()).set(EtunitPackage.Literals.ERROR_TYPE__EXPECTED, newExpected);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getActual() {
+ return (String)getMixed().get(EtunitPackage.Literals.ERROR_TYPE__ACTUAL, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setActual(String newActual) {
+ ((FeatureMap.Internal)getMixed()).set(EtunitPackage.Literals.ERROR_TYPE__ACTUAL, newActual);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case EtunitPackage.ERROR_TYPE__MIXED:
+ return ((InternalEList<?>)getMixed()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case EtunitPackage.ERROR_TYPE__MIXED:
+ if (coreType) return getMixed();
+ return ((FeatureMap.Internal)getMixed()).getWrapper();
+ case EtunitPackage.ERROR_TYPE__EXPECTED:
+ return getExpected();
+ case EtunitPackage.ERROR_TYPE__ACTUAL:
+ return getActual();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case EtunitPackage.ERROR_TYPE__MIXED:
+ ((FeatureMap.Internal)getMixed()).set(newValue);
+ return;
+ case EtunitPackage.ERROR_TYPE__EXPECTED:
+ setExpected((String)newValue);
+ return;
+ case EtunitPackage.ERROR_TYPE__ACTUAL:
+ setActual((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case EtunitPackage.ERROR_TYPE__MIXED:
+ getMixed().clear();
+ return;
+ case EtunitPackage.ERROR_TYPE__EXPECTED:
+ setExpected(EXPECTED_EDEFAULT);
+ return;
+ case EtunitPackage.ERROR_TYPE__ACTUAL:
+ setActual(ACTUAL_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case EtunitPackage.ERROR_TYPE__MIXED:
+ return mixed != null && !mixed.isEmpty();
+ case EtunitPackage.ERROR_TYPE__EXPECTED:
+ return EXPECTED_EDEFAULT == null ? getExpected() != null : !EXPECTED_EDEFAULT.equals(getExpected());
+ case EtunitPackage.ERROR_TYPE__ACTUAL:
+ return ACTUAL_EDEFAULT == null ? getActual() != null : !ACTUAL_EDEFAULT.equals(getActual());
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (mixed: ");
+ result.append(mixed);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ErrorTypeImpl
diff --git a/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/impl/EtunitFactoryImpl.java b/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/impl/EtunitFactoryImpl.java
new file mode 100644
index 000000000..6ce8473ca
--- /dev/null
+++ b/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/impl/EtunitFactoryImpl.java
@@ -0,0 +1,263 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.etrice.etunit.converter.Etunit.impl;
+
+import javax.xml.datatype.XMLGregorianCalendar;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.emf.ecore.xml.type.XMLTypeFactory;
+import org.eclipse.emf.ecore.xml.type.XMLTypePackage;
+
+import org.eclipse.etrice.etunit.converter.Etunit.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class EtunitFactoryImpl extends EFactoryImpl implements EtunitFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static EtunitFactory init() {
+ try {
+ EtunitFactory theEtunitFactory = (EtunitFactory)EPackage.Registry.INSTANCE.getEFactory("platform:/resource/org.eclipse.etrice.etunit.converter/model/etunit.xsd");
+ if (theEtunitFactory != null) {
+ return theEtunitFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new EtunitFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EtunitFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case EtunitPackage.DOCUMENT_ROOT: return createDocumentRoot();
+ case EtunitPackage.ERROR_TYPE: return createErrorType();
+ case EtunitPackage.FAILURE_TYPE: return createFailureType();
+ case EtunitPackage.TESTCASE_TYPE: return createTestcaseType();
+ case EtunitPackage.TESTSUITE: return createTestsuite();
+ case EtunitPackage.TESTSUITES_TYPE: return createTestsuitesType();
+ case EtunitPackage.TESTSUITE_TYPE: return createTestsuiteType();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object createFromString(EDataType eDataType, String initialValue) {
+ switch (eDataType.getClassifierID()) {
+ case EtunitPackage.ISO8601DATETIMEPATTERN:
+ return createISO8601DATETIMEPATTERNFromString(eDataType, initialValue);
+ case EtunitPackage.NAME_TYPE:
+ return createNameTypeFromString(eDataType, initialValue);
+ case EtunitPackage.PRE_STRING:
+ return createPreStringFromString(eDataType, initialValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String convertToString(EDataType eDataType, Object instanceValue) {
+ switch (eDataType.getClassifierID()) {
+ case EtunitPackage.ISO8601DATETIMEPATTERN:
+ return convertISO8601DATETIMEPATTERNToString(eDataType, instanceValue);
+ case EtunitPackage.NAME_TYPE:
+ return convertNameTypeToString(eDataType, instanceValue);
+ case EtunitPackage.PRE_STRING:
+ return convertPreStringToString(eDataType, instanceValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DocumentRoot createDocumentRoot() {
+ DocumentRootImpl documentRoot = new DocumentRootImpl();
+ return documentRoot;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ErrorType createErrorType() {
+ ErrorTypeImpl errorType = new ErrorTypeImpl();
+ return errorType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FailureType createFailureType() {
+ FailureTypeImpl failureType = new FailureTypeImpl();
+ return failureType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TestcaseType createTestcaseType() {
+ TestcaseTypeImpl testcaseType = new TestcaseTypeImpl();
+ return testcaseType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Testsuite createTestsuite() {
+ TestsuiteImpl testsuite = new TestsuiteImpl();
+ return testsuite;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TestsuitesType createTestsuitesType() {
+ TestsuitesTypeImpl testsuitesType = new TestsuitesTypeImpl();
+ return testsuitesType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TestsuiteType createTestsuiteType() {
+ TestsuiteTypeImpl testsuiteType = new TestsuiteTypeImpl();
+ return testsuiteType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XMLGregorianCalendar createISO8601DATETIMEPATTERNFromString(EDataType eDataType, String initialValue) {
+ return (XMLGregorianCalendar)XMLTypeFactory.eINSTANCE.createFromString(XMLTypePackage.Literals.DATE_TIME, initialValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertISO8601DATETIMEPATTERNToString(EDataType eDataType, Object instanceValue) {
+ return XMLTypeFactory.eINSTANCE.convertToString(XMLTypePackage.Literals.DATE_TIME, instanceValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String createNameTypeFromString(EDataType eDataType, String initialValue) {
+ return (String)XMLTypeFactory.eINSTANCE.createFromString(XMLTypePackage.Literals.TOKEN, initialValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertNameTypeToString(EDataType eDataType, Object instanceValue) {
+ return XMLTypeFactory.eINSTANCE.convertToString(XMLTypePackage.Literals.TOKEN, instanceValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String createPreStringFromString(EDataType eDataType, String initialValue) {
+ return (String)XMLTypeFactory.eINSTANCE.createFromString(XMLTypePackage.Literals.STRING, initialValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertPreStringToString(EDataType eDataType, Object instanceValue) {
+ return XMLTypeFactory.eINSTANCE.convertToString(XMLTypePackage.Literals.STRING, instanceValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EtunitPackage getEtunitPackage() {
+ return (EtunitPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static EtunitPackage getPackage() {
+ return EtunitPackage.eINSTANCE;
+ }
+
+} //EtunitFactoryImpl
diff --git a/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/impl/EtunitPackageImpl.java b/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/impl/EtunitPackageImpl.java
new file mode 100644
index 000000000..bba937c1d
--- /dev/null
+++ b/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/impl/EtunitPackageImpl.java
@@ -0,0 +1,942 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.etrice.etunit.converter.Etunit.impl;
+
+import javax.xml.datatype.XMLGregorianCalendar;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EValidator;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.emf.ecore.xml.type.XMLTypePackage;
+
+import org.eclipse.etrice.etunit.converter.Etunit.DocumentRoot;
+import org.eclipse.etrice.etunit.converter.Etunit.ErrorType;
+import org.eclipse.etrice.etunit.converter.Etunit.EtunitFactory;
+import org.eclipse.etrice.etunit.converter.Etunit.EtunitPackage;
+import org.eclipse.etrice.etunit.converter.Etunit.FailureType;
+import org.eclipse.etrice.etunit.converter.Etunit.TestcaseType;
+import org.eclipse.etrice.etunit.converter.Etunit.Testsuite;
+import org.eclipse.etrice.etunit.converter.Etunit.TestsuiteType;
+import org.eclipse.etrice.etunit.converter.Etunit.TestsuitesType;
+
+import org.eclipse.etrice.etunit.converter.Etunit.util.EtunitValidator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class EtunitPackageImpl extends EPackageImpl implements EtunitPackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass documentRootEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass errorTypeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass failureTypeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass testcaseTypeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass testsuiteEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass testsuitesTypeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass testsuiteTypeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EDataType iso8601DATETIMEPATTERNEDataType = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EDataType nameTypeEDataType = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EDataType preStringEDataType = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.eclipse.etrice.etunit.converter.Etunit.EtunitPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private EtunitPackageImpl() {
+ super(eNS_URI, EtunitFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ *
+ * <p>This method is used to initialize {@link EtunitPackage#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static EtunitPackage init() {
+ if (isInited) return (EtunitPackage)EPackage.Registry.INSTANCE.getEPackage(EtunitPackage.eNS_URI);
+
+ // Obtain or create and register package
+ EtunitPackageImpl theEtunitPackage = (EtunitPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof EtunitPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new EtunitPackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ XMLTypePackage.eINSTANCE.eClass();
+
+ // Create package meta-data objects
+ theEtunitPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theEtunitPackage.initializePackageContents();
+
+ // Register package validator
+ EValidator.Registry.INSTANCE.put
+ (theEtunitPackage,
+ new EValidator.Descriptor() {
+ public EValidator getEValidator() {
+ return EtunitValidator.INSTANCE;
+ }
+ });
+
+ // Mark meta-data to indicate it can't be changed
+ theEtunitPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(EtunitPackage.eNS_URI, theEtunitPackage);
+ return theEtunitPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getDocumentRoot() {
+ return documentRootEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDocumentRoot_Mixed() {
+ return (EAttribute)documentRootEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDocumentRoot_XMLNSPrefixMap() {
+ return (EReference)documentRootEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDocumentRoot_XSISchemaLocation() {
+ return (EReference)documentRootEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDocumentRoot_Testsuite() {
+ return (EReference)documentRootEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDocumentRoot_Testsuites() {
+ return (EReference)documentRootEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getErrorType() {
+ return errorTypeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getErrorType_Mixed() {
+ return (EAttribute)errorTypeEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getErrorType_Expected() {
+ return (EAttribute)errorTypeEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getErrorType_Actual() {
+ return (EAttribute)errorTypeEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getFailureType() {
+ return failureTypeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getFailureType_Mixed() {
+ return (EAttribute)failureTypeEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getFailureType_Expected() {
+ return (EAttribute)failureTypeEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getFailureType_Actual() {
+ return (EAttribute)failureTypeEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getTestcaseType() {
+ return testcaseTypeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTestcaseType_Error() {
+ return (EReference)testcaseTypeEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTestcaseType_Failure() {
+ return (EReference)testcaseTypeEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getTestcaseType_Classname() {
+ return (EAttribute)testcaseTypeEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getTestcaseType_Name() {
+ return (EAttribute)testcaseTypeEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getTestcaseType_Time() {
+ return (EAttribute)testcaseTypeEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getTestsuite() {
+ return testsuiteEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTestsuite_Testcase() {
+ return (EReference)testsuiteEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getTestsuite_Errors() {
+ return (EAttribute)testsuiteEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getTestsuite_Failures() {
+ return (EAttribute)testsuiteEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getTestsuite_Name() {
+ return (EAttribute)testsuiteEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getTestsuite_Skipped() {
+ return (EAttribute)testsuiteEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getTestsuite_Tests() {
+ return (EAttribute)testsuiteEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getTestsuite_Time() {
+ return (EAttribute)testsuiteEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getTestsuite_Timestamp() {
+ return (EAttribute)testsuiteEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getTestsuitesType() {
+ return testsuitesTypeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTestsuitesType_Testsuite() {
+ return (EReference)testsuitesTypeEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getTestsuiteType() {
+ return testsuiteTypeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EDataType getISO8601DATETIMEPATTERN() {
+ return iso8601DATETIMEPATTERNEDataType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EDataType getNameType() {
+ return nameTypeEDataType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EDataType getPreString() {
+ return preStringEDataType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EtunitFactory getEtunitFactory() {
+ return (EtunitFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createPackageContents() {
+ if (isCreated) return;
+ isCreated = true;
+
+ // Create classes and their features
+ documentRootEClass = createEClass(DOCUMENT_ROOT);
+ createEAttribute(documentRootEClass, DOCUMENT_ROOT__MIXED);
+ createEReference(documentRootEClass, DOCUMENT_ROOT__XMLNS_PREFIX_MAP);
+ createEReference(documentRootEClass, DOCUMENT_ROOT__XSI_SCHEMA_LOCATION);
+ createEReference(documentRootEClass, DOCUMENT_ROOT__TESTSUITE);
+ createEReference(documentRootEClass, DOCUMENT_ROOT__TESTSUITES);
+
+ errorTypeEClass = createEClass(ERROR_TYPE);
+ createEAttribute(errorTypeEClass, ERROR_TYPE__MIXED);
+ createEAttribute(errorTypeEClass, ERROR_TYPE__EXPECTED);
+ createEAttribute(errorTypeEClass, ERROR_TYPE__ACTUAL);
+
+ failureTypeEClass = createEClass(FAILURE_TYPE);
+ createEAttribute(failureTypeEClass, FAILURE_TYPE__MIXED);
+ createEAttribute(failureTypeEClass, FAILURE_TYPE__EXPECTED);
+ createEAttribute(failureTypeEClass, FAILURE_TYPE__ACTUAL);
+
+ testcaseTypeEClass = createEClass(TESTCASE_TYPE);
+ createEReference(testcaseTypeEClass, TESTCASE_TYPE__ERROR);
+ createEReference(testcaseTypeEClass, TESTCASE_TYPE__FAILURE);
+ createEAttribute(testcaseTypeEClass, TESTCASE_TYPE__CLASSNAME);
+ createEAttribute(testcaseTypeEClass, TESTCASE_TYPE__NAME);
+ createEAttribute(testcaseTypeEClass, TESTCASE_TYPE__TIME);
+
+ testsuiteEClass = createEClass(TESTSUITE);
+ createEReference(testsuiteEClass, TESTSUITE__TESTCASE);
+ createEAttribute(testsuiteEClass, TESTSUITE__ERRORS);
+ createEAttribute(testsuiteEClass, TESTSUITE__FAILURES);
+ createEAttribute(testsuiteEClass, TESTSUITE__NAME);
+ createEAttribute(testsuiteEClass, TESTSUITE__SKIPPED);
+ createEAttribute(testsuiteEClass, TESTSUITE__TESTS);
+ createEAttribute(testsuiteEClass, TESTSUITE__TIME);
+ createEAttribute(testsuiteEClass, TESTSUITE__TIMESTAMP);
+
+ testsuitesTypeEClass = createEClass(TESTSUITES_TYPE);
+ createEReference(testsuitesTypeEClass, TESTSUITES_TYPE__TESTSUITE);
+
+ testsuiteTypeEClass = createEClass(TESTSUITE_TYPE);
+
+ // Create data types
+ iso8601DATETIMEPATTERNEDataType = createEDataType(ISO8601DATETIMEPATTERN);
+ nameTypeEDataType = createEDataType(NAME_TYPE);
+ preStringEDataType = createEDataType(PRE_STRING);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized) return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Obtain other dependent packages
+ XMLTypePackage theXMLTypePackage = (XMLTypePackage)EPackage.Registry.INSTANCE.getEPackage(XMLTypePackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ testsuiteTypeEClass.getESuperTypes().add(this.getTestsuite());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(documentRootEClass, DocumentRoot.class, "DocumentRoot", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getDocumentRoot_Mixed(), ecorePackage.getEFeatureMapEntry(), "mixed", null, 0, -1, null, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getDocumentRoot_XMLNSPrefixMap(), ecorePackage.getEStringToStringMapEntry(), null, "xMLNSPrefixMap", null, 0, -1, null, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getDocumentRoot_XSISchemaLocation(), ecorePackage.getEStringToStringMapEntry(), null, "xSISchemaLocation", null, 0, -1, null, IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getDocumentRoot_Testsuite(), this.getTestsuite(), null, "testsuite", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
+ initEReference(getDocumentRoot_Testsuites(), this.getTestsuitesType(), null, "testsuites", null, 0, -2, null, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
+
+ initEClass(errorTypeEClass, ErrorType.class, "ErrorType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getErrorType_Mixed(), ecorePackage.getEFeatureMapEntry(), "mixed", null, 0, -1, ErrorType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getErrorType_Expected(), theXMLTypePackage.getString(), "expected", null, 1, 1, ErrorType.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
+ initEAttribute(getErrorType_Actual(), theXMLTypePackage.getString(), "actual", null, 1, 1, ErrorType.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
+
+ initEClass(failureTypeEClass, FailureType.class, "FailureType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getFailureType_Mixed(), ecorePackage.getEFeatureMapEntry(), "mixed", null, 0, -1, FailureType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getFailureType_Expected(), theXMLTypePackage.getString(), "expected", null, 1, 1, FailureType.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
+ initEAttribute(getFailureType_Actual(), theXMLTypePackage.getString(), "actual", null, 1, 1, FailureType.class, IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, IS_ORDERED);
+
+ initEClass(testcaseTypeEClass, TestcaseType.class, "TestcaseType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getTestcaseType_Error(), this.getErrorType(), null, "error", null, 0, 1, TestcaseType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getTestcaseType_Failure(), this.getFailureType(), null, "failure", null, 0, 1, TestcaseType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getTestcaseType_Classname(), theXMLTypePackage.getToken(), "classname", null, 1, 1, TestcaseType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getTestcaseType_Name(), theXMLTypePackage.getToken(), "name", null, 1, 1, TestcaseType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getTestcaseType_Time(), theXMLTypePackage.getDecimal(), "time", null, 1, 1, TestcaseType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(testsuiteEClass, Testsuite.class, "Testsuite", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getTestsuite_Testcase(), this.getTestcaseType(), null, "testcase", null, 0, -1, Testsuite.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getTestsuite_Errors(), theXMLTypePackage.getInt(), "errors", null, 1, 1, Testsuite.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getTestsuite_Failures(), theXMLTypePackage.getInt(), "failures", null, 1, 1, Testsuite.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getTestsuite_Name(), this.getNameType(), "name", null, 1, 1, Testsuite.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getTestsuite_Skipped(), theXMLTypePackage.getInt(), "skipped", null, 0, 1, Testsuite.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getTestsuite_Tests(), theXMLTypePackage.getInt(), "tests", null, 1, 1, Testsuite.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getTestsuite_Time(), theXMLTypePackage.getDecimal(), "time", null, 1, 1, Testsuite.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getTestsuite_Timestamp(), this.getISO8601DATETIMEPATTERN(), "timestamp", null, 1, 1, Testsuite.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(testsuitesTypeEClass, TestsuitesType.class, "TestsuitesType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getTestsuitesType_Testsuite(), this.getTestsuiteType(), null, "testsuite", null, 0, -1, TestsuitesType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(testsuiteTypeEClass, TestsuiteType.class, "TestsuiteType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ // Initialize data types
+ initEDataType(iso8601DATETIMEPATTERNEDataType, XMLGregorianCalendar.class, "ISO8601DATETIMEPATTERN", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);
+ initEDataType(nameTypeEDataType, String.class, "NameType", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);
+ initEDataType(preStringEDataType, String.class, "PreString", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);
+
+ // Create resource
+ createResource(eNS_URI);
+
+ // Create annotations
+ // http:///org/eclipse/emf/ecore/util/ExtendedMetaData
+ createExtendedMetaDataAnnotations();
+ }
+
+ /**
+ * Initializes the annotations for <b>http:///org/eclipse/emf/ecore/util/ExtendedMetaData</b>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void createExtendedMetaDataAnnotations() {
+ String source = "http:///org/eclipse/emf/ecore/util/ExtendedMetaData";
+ addAnnotation
+ (this,
+ source,
+ new String[] {
+ "qualified", "false"
+ });
+ addAnnotation
+ (documentRootEClass,
+ source,
+ new String[] {
+ "name", "",
+ "kind", "mixed"
+ });
+ addAnnotation
+ (getDocumentRoot_Mixed(),
+ source,
+ new String[] {
+ "kind", "elementWildcard",
+ "name", ":mixed"
+ });
+ addAnnotation
+ (getDocumentRoot_XMLNSPrefixMap(),
+ source,
+ new String[] {
+ "kind", "attribute",
+ "name", "xmlns:prefix"
+ });
+ addAnnotation
+ (getDocumentRoot_XSISchemaLocation(),
+ source,
+ new String[] {
+ "kind", "attribute",
+ "name", "xsi:schemaLocation"
+ });
+ addAnnotation
+ (getDocumentRoot_Testsuite(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "testsuite",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getDocumentRoot_Testsuites(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "testsuites",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (errorTypeEClass,
+ source,
+ new String[] {
+ "name", "error_._type",
+ "kind", "mixed"
+ });
+ addAnnotation
+ (getErrorType_Mixed(),
+ source,
+ new String[] {
+ "kind", "elementWildcard",
+ "name", ":mixed"
+ });
+ addAnnotation
+ (getErrorType_Expected(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "expected",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getErrorType_Actual(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "actual",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (failureTypeEClass,
+ source,
+ new String[] {
+ "name", "failure_._type",
+ "kind", "mixed"
+ });
+ addAnnotation
+ (getFailureType_Mixed(),
+ source,
+ new String[] {
+ "kind", "elementWildcard",
+ "name", ":mixed"
+ });
+ addAnnotation
+ (getFailureType_Expected(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "expected",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getFailureType_Actual(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "actual",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (iso8601DATETIMEPATTERNEDataType,
+ source,
+ new String[] {
+ "name", "ISO8601_DATETIME_PATTERN",
+ "baseType", "http://www.eclipse.org/emf/2003/XMLType#dateTime",
+ "pattern", "[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}"
+ });
+ addAnnotation
+ (nameTypeEDataType,
+ source,
+ new String[] {
+ "name", "name_._type",
+ "baseType", "http://www.eclipse.org/emf/2003/XMLType#token",
+ "minLength", "1"
+ });
+ addAnnotation
+ (preStringEDataType,
+ source,
+ new String[] {
+ "name", "pre-string",
+ "baseType", "http://www.eclipse.org/emf/2003/XMLType#string",
+ "whiteSpace", "preserve"
+ });
+ addAnnotation
+ (testcaseTypeEClass,
+ source,
+ new String[] {
+ "name", "testcase_._type",
+ "kind", "elementOnly"
+ });
+ addAnnotation
+ (getTestcaseType_Error(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "error",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getTestcaseType_Failure(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "failure",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getTestcaseType_Classname(),
+ source,
+ new String[] {
+ "kind", "attribute",
+ "name", "classname",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getTestcaseType_Name(),
+ source,
+ new String[] {
+ "kind", "attribute",
+ "name", "name",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getTestcaseType_Time(),
+ source,
+ new String[] {
+ "kind", "attribute",
+ "name", "time",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (testsuiteEClass,
+ source,
+ new String[] {
+ "name", "testsuite",
+ "kind", "elementOnly"
+ });
+ addAnnotation
+ (getTestsuite_Testcase(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "testcase",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getTestsuite_Errors(),
+ source,
+ new String[] {
+ "kind", "attribute",
+ "name", "errors",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getTestsuite_Failures(),
+ source,
+ new String[] {
+ "kind", "attribute",
+ "name", "failures",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getTestsuite_Name(),
+ source,
+ new String[] {
+ "kind", "attribute",
+ "name", "name",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getTestsuite_Skipped(),
+ source,
+ new String[] {
+ "kind", "attribute",
+ "name", "skipped",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getTestsuite_Tests(),
+ source,
+ new String[] {
+ "kind", "attribute",
+ "name", "tests",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getTestsuite_Time(),
+ source,
+ new String[] {
+ "kind", "attribute",
+ "name", "time",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (getTestsuite_Timestamp(),
+ source,
+ new String[] {
+ "kind", "attribute",
+ "name", "timestamp",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (testsuitesTypeEClass,
+ source,
+ new String[] {
+ "name", "testsuites_._type",
+ "kind", "elementOnly"
+ });
+ addAnnotation
+ (getTestsuitesType_Testsuite(),
+ source,
+ new String[] {
+ "kind", "element",
+ "name", "testsuite",
+ "namespace", "##targetNamespace"
+ });
+ addAnnotation
+ (testsuiteTypeEClass,
+ source,
+ new String[] {
+ "name", "testsuite_._type",
+ "kind", "elementOnly"
+ });
+ }
+
+} //EtunitPackageImpl
diff --git a/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/impl/FailureTypeImpl.java b/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/impl/FailureTypeImpl.java
new file mode 100644
index 000000000..45b9bd187
--- /dev/null
+++ b/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/impl/FailureTypeImpl.java
@@ -0,0 +1,241 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.etrice.etunit.converter.Etunit.impl;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+import org.eclipse.emf.ecore.util.BasicFeatureMap;
+import org.eclipse.emf.ecore.util.FeatureMap;
+import org.eclipse.emf.ecore.util.InternalEList;
+import org.eclipse.etrice.etunit.converter.Etunit.EtunitPackage;
+import org.eclipse.etrice.etunit.converter.Etunit.FailureType;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Failure Type</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.etrice.etunit.converter.Etunit.impl.FailureTypeImpl#getMixed <em>Mixed</em>}</li>
+ * <li>{@link org.eclipse.etrice.etunit.converter.Etunit.impl.FailureTypeImpl#getExpected <em>Expected</em>}</li>
+ * <li>{@link org.eclipse.etrice.etunit.converter.Etunit.impl.FailureTypeImpl#getActual <em>Actual</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class FailureTypeImpl extends EObjectImpl implements FailureType {
+ /**
+ * The cached value of the '{@link #getMixed() <em>Mixed</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMixed()
+ * @generated
+ * @ordered
+ */
+ protected FeatureMap mixed;
+
+ /**
+ * The default value of the '{@link #getExpected() <em>Expected</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExpected()
+ * @generated
+ * @ordered
+ */
+ protected static final String EXPECTED_EDEFAULT = null;
+
+ /**
+ * The default value of the '{@link #getActual() <em>Actual</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getActual()
+ * @generated
+ * @ordered
+ */
+ protected static final String ACTUAL_EDEFAULT = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FailureTypeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return EtunitPackage.Literals.FAILURE_TYPE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FeatureMap getMixed() {
+ if (mixed == null) {
+ mixed = new BasicFeatureMap(this, EtunitPackage.FAILURE_TYPE__MIXED);
+ }
+ return mixed;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getExpected() {
+ return (String)getMixed().get(EtunitPackage.Literals.FAILURE_TYPE__EXPECTED, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setExpected(String newExpected) {
+ ((FeatureMap.Internal)getMixed()).set(EtunitPackage.Literals.FAILURE_TYPE__EXPECTED, newExpected);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getActual() {
+ return (String)getMixed().get(EtunitPackage.Literals.FAILURE_TYPE__ACTUAL, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setActual(String newActual) {
+ ((FeatureMap.Internal)getMixed()).set(EtunitPackage.Literals.FAILURE_TYPE__ACTUAL, newActual);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case EtunitPackage.FAILURE_TYPE__MIXED:
+ return ((InternalEList<?>)getMixed()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case EtunitPackage.FAILURE_TYPE__MIXED:
+ if (coreType) return getMixed();
+ return ((FeatureMap.Internal)getMixed()).getWrapper();
+ case EtunitPackage.FAILURE_TYPE__EXPECTED:
+ return getExpected();
+ case EtunitPackage.FAILURE_TYPE__ACTUAL:
+ return getActual();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case EtunitPackage.FAILURE_TYPE__MIXED:
+ ((FeatureMap.Internal)getMixed()).set(newValue);
+ return;
+ case EtunitPackage.FAILURE_TYPE__EXPECTED:
+ setExpected((String)newValue);
+ return;
+ case EtunitPackage.FAILURE_TYPE__ACTUAL:
+ setActual((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case EtunitPackage.FAILURE_TYPE__MIXED:
+ getMixed().clear();
+ return;
+ case EtunitPackage.FAILURE_TYPE__EXPECTED:
+ setExpected(EXPECTED_EDEFAULT);
+ return;
+ case EtunitPackage.FAILURE_TYPE__ACTUAL:
+ setActual(ACTUAL_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case EtunitPackage.FAILURE_TYPE__MIXED:
+ return mixed != null && !mixed.isEmpty();
+ case EtunitPackage.FAILURE_TYPE__EXPECTED:
+ return EXPECTED_EDEFAULT == null ? getExpected() != null : !EXPECTED_EDEFAULT.equals(getExpected());
+ case EtunitPackage.FAILURE_TYPE__ACTUAL:
+ return ACTUAL_EDEFAULT == null ? getActual() != null : !ACTUAL_EDEFAULT.equals(getActual());
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (mixed: ");
+ result.append(mixed);
+ result.append(')');
+ return result.toString();
+ }
+
+} //FailureTypeImpl
diff --git a/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/impl/TestcaseTypeImpl.java b/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/impl/TestcaseTypeImpl.java
new file mode 100644
index 000000000..a99bdcee1
--- /dev/null
+++ b/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/impl/TestcaseTypeImpl.java
@@ -0,0 +1,425 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.etrice.etunit.converter.Etunit.impl;
+
+import java.math.BigDecimal;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.etrice.etunit.converter.Etunit.ErrorType;
+import org.eclipse.etrice.etunit.converter.Etunit.EtunitPackage;
+import org.eclipse.etrice.etunit.converter.Etunit.FailureType;
+import org.eclipse.etrice.etunit.converter.Etunit.TestcaseType;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Testcase Type</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.etrice.etunit.converter.Etunit.impl.TestcaseTypeImpl#getError <em>Error</em>}</li>
+ * <li>{@link org.eclipse.etrice.etunit.converter.Etunit.impl.TestcaseTypeImpl#getFailure <em>Failure</em>}</li>
+ * <li>{@link org.eclipse.etrice.etunit.converter.Etunit.impl.TestcaseTypeImpl#getClassname <em>Classname</em>}</li>
+ * <li>{@link org.eclipse.etrice.etunit.converter.Etunit.impl.TestcaseTypeImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.etrice.etunit.converter.Etunit.impl.TestcaseTypeImpl#getTime <em>Time</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class TestcaseTypeImpl extends EObjectImpl implements TestcaseType {
+ /**
+ * The cached value of the '{@link #getError() <em>Error</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getError()
+ * @generated
+ * @ordered
+ */
+ protected ErrorType error;
+
+ /**
+ * The cached value of the '{@link #getFailure() <em>Failure</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFailure()
+ * @generated
+ * @ordered
+ */
+ protected FailureType failure;
+
+ /**
+ * The default value of the '{@link #getClassname() <em>Classname</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getClassname()
+ * @generated
+ * @ordered
+ */
+ protected static final String CLASSNAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getClassname() <em>Classname</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getClassname()
+ * @generated
+ * @ordered
+ */
+ protected String classname = CLASSNAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getTime() <em>Time</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTime()
+ * @generated
+ * @ordered
+ */
+ protected static final BigDecimal TIME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getTime() <em>Time</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTime()
+ * @generated
+ * @ordered
+ */
+ protected BigDecimal time = TIME_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TestcaseTypeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return EtunitPackage.Literals.TESTCASE_TYPE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ErrorType getError() {
+ return error;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetError(ErrorType newError, NotificationChain msgs) {
+ ErrorType oldError = error;
+ error = newError;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, EtunitPackage.TESTCASE_TYPE__ERROR, oldError, newError);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setError(ErrorType newError) {
+ if (newError != error) {
+ NotificationChain msgs = null;
+ if (error != null)
+ msgs = ((InternalEObject)error).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - EtunitPackage.TESTCASE_TYPE__ERROR, null, msgs);
+ if (newError != null)
+ msgs = ((InternalEObject)newError).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EtunitPackage.TESTCASE_TYPE__ERROR, null, msgs);
+ msgs = basicSetError(newError, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EtunitPackage.TESTCASE_TYPE__ERROR, newError, newError));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FailureType getFailure() {
+ return failure;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetFailure(FailureType newFailure, NotificationChain msgs) {
+ FailureType oldFailure = failure;
+ failure = newFailure;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, EtunitPackage.TESTCASE_TYPE__FAILURE, oldFailure, newFailure);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFailure(FailureType newFailure) {
+ if (newFailure != failure) {
+ NotificationChain msgs = null;
+ if (failure != null)
+ msgs = ((InternalEObject)failure).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - EtunitPackage.TESTCASE_TYPE__FAILURE, null, msgs);
+ if (newFailure != null)
+ msgs = ((InternalEObject)newFailure).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - EtunitPackage.TESTCASE_TYPE__FAILURE, null, msgs);
+ msgs = basicSetFailure(newFailure, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EtunitPackage.TESTCASE_TYPE__FAILURE, newFailure, newFailure));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getClassname() {
+ return classname;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setClassname(String newClassname) {
+ String oldClassname = classname;
+ classname = newClassname;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EtunitPackage.TESTCASE_TYPE__CLASSNAME, oldClassname, classname));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EtunitPackage.TESTCASE_TYPE__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BigDecimal getTime() {
+ return time;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTime(BigDecimal newTime) {
+ BigDecimal oldTime = time;
+ time = newTime;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EtunitPackage.TESTCASE_TYPE__TIME, oldTime, time));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case EtunitPackage.TESTCASE_TYPE__ERROR:
+ return basicSetError(null, msgs);
+ case EtunitPackage.TESTCASE_TYPE__FAILURE:
+ return basicSetFailure(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case EtunitPackage.TESTCASE_TYPE__ERROR:
+ return getError();
+ case EtunitPackage.TESTCASE_TYPE__FAILURE:
+ return getFailure();
+ case EtunitPackage.TESTCASE_TYPE__CLASSNAME:
+ return getClassname();
+ case EtunitPackage.TESTCASE_TYPE__NAME:
+ return getName();
+ case EtunitPackage.TESTCASE_TYPE__TIME:
+ return getTime();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case EtunitPackage.TESTCASE_TYPE__ERROR:
+ setError((ErrorType)newValue);
+ return;
+ case EtunitPackage.TESTCASE_TYPE__FAILURE:
+ setFailure((FailureType)newValue);
+ return;
+ case EtunitPackage.TESTCASE_TYPE__CLASSNAME:
+ setClassname((String)newValue);
+ return;
+ case EtunitPackage.TESTCASE_TYPE__NAME:
+ setName((String)newValue);
+ return;
+ case EtunitPackage.TESTCASE_TYPE__TIME:
+ setTime((BigDecimal)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case EtunitPackage.TESTCASE_TYPE__ERROR:
+ setError((ErrorType)null);
+ return;
+ case EtunitPackage.TESTCASE_TYPE__FAILURE:
+ setFailure((FailureType)null);
+ return;
+ case EtunitPackage.TESTCASE_TYPE__CLASSNAME:
+ setClassname(CLASSNAME_EDEFAULT);
+ return;
+ case EtunitPackage.TESTCASE_TYPE__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case EtunitPackage.TESTCASE_TYPE__TIME:
+ setTime(TIME_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case EtunitPackage.TESTCASE_TYPE__ERROR:
+ return error != null;
+ case EtunitPackage.TESTCASE_TYPE__FAILURE:
+ return failure != null;
+ case EtunitPackage.TESTCASE_TYPE__CLASSNAME:
+ return CLASSNAME_EDEFAULT == null ? classname != null : !CLASSNAME_EDEFAULT.equals(classname);
+ case EtunitPackage.TESTCASE_TYPE__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case EtunitPackage.TESTCASE_TYPE__TIME:
+ return TIME_EDEFAULT == null ? time != null : !TIME_EDEFAULT.equals(time);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (classname: ");
+ result.append(classname);
+ result.append(", name: ");
+ result.append(name);
+ result.append(", time: ");
+ result.append(time);
+ result.append(')');
+ return result.toString();
+ }
+
+} //TestcaseTypeImpl
diff --git a/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/impl/TestsuiteImpl.java b/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/impl/TestsuiteImpl.java
new file mode 100644
index 000000000..af0a032b3
--- /dev/null
+++ b/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/impl/TestsuiteImpl.java
@@ -0,0 +1,690 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.etrice.etunit.converter.Etunit.impl;
+
+import java.math.BigDecimal;
+
+import java.util.Collection;
+
+import javax.xml.datatype.XMLGregorianCalendar;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.etrice.etunit.converter.Etunit.EtunitPackage;
+import org.eclipse.etrice.etunit.converter.Etunit.TestcaseType;
+import org.eclipse.etrice.etunit.converter.Etunit.Testsuite;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Testsuite</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.etrice.etunit.converter.Etunit.impl.TestsuiteImpl#getTestcase <em>Testcase</em>}</li>
+ * <li>{@link org.eclipse.etrice.etunit.converter.Etunit.impl.TestsuiteImpl#getErrors <em>Errors</em>}</li>
+ * <li>{@link org.eclipse.etrice.etunit.converter.Etunit.impl.TestsuiteImpl#getFailures <em>Failures</em>}</li>
+ * <li>{@link org.eclipse.etrice.etunit.converter.Etunit.impl.TestsuiteImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.etrice.etunit.converter.Etunit.impl.TestsuiteImpl#getSkipped <em>Skipped</em>}</li>
+ * <li>{@link org.eclipse.etrice.etunit.converter.Etunit.impl.TestsuiteImpl#getTests <em>Tests</em>}</li>
+ * <li>{@link org.eclipse.etrice.etunit.converter.Etunit.impl.TestsuiteImpl#getTime <em>Time</em>}</li>
+ * <li>{@link org.eclipse.etrice.etunit.converter.Etunit.impl.TestsuiteImpl#getTimestamp <em>Timestamp</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class TestsuiteImpl extends EObjectImpl implements Testsuite {
+ /**
+ * The cached value of the '{@link #getTestcase() <em>Testcase</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTestcase()
+ * @generated
+ * @ordered
+ */
+ protected EList<TestcaseType> testcase;
+
+ /**
+ * The default value of the '{@link #getErrors() <em>Errors</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getErrors()
+ * @generated
+ * @ordered
+ */
+ protected static final int ERRORS_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getErrors() <em>Errors</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getErrors()
+ * @generated
+ * @ordered
+ */
+ protected int errors = ERRORS_EDEFAULT;
+
+ /**
+ * This is true if the Errors attribute has been set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ protected boolean errorsESet;
+
+ /**
+ * The default value of the '{@link #getFailures() <em>Failures</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFailures()
+ * @generated
+ * @ordered
+ */
+ protected static final int FAILURES_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getFailures() <em>Failures</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFailures()
+ * @generated
+ * @ordered
+ */
+ protected int failures = FAILURES_EDEFAULT;
+
+ /**
+ * This is true if the Failures attribute has been set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ protected boolean failuresESet;
+
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getSkipped() <em>Skipped</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSkipped()
+ * @generated
+ * @ordered
+ */
+ protected static final int SKIPPED_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getSkipped() <em>Skipped</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSkipped()
+ * @generated
+ * @ordered
+ */
+ protected int skipped = SKIPPED_EDEFAULT;
+
+ /**
+ * This is true if the Skipped attribute has been set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ protected boolean skippedESet;
+
+ /**
+ * The default value of the '{@link #getTests() <em>Tests</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTests()
+ * @generated
+ * @ordered
+ */
+ protected static final int TESTS_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getTests() <em>Tests</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTests()
+ * @generated
+ * @ordered
+ */
+ protected int tests = TESTS_EDEFAULT;
+
+ /**
+ * This is true if the Tests attribute has been set.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ protected boolean testsESet;
+
+ /**
+ * The default value of the '{@link #getTime() <em>Time</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTime()
+ * @generated
+ * @ordered
+ */
+ protected static final BigDecimal TIME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getTime() <em>Time</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTime()
+ * @generated
+ * @ordered
+ */
+ protected BigDecimal time = TIME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getTimestamp() <em>Timestamp</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTimestamp()
+ * @generated
+ * @ordered
+ */
+ protected static final XMLGregorianCalendar TIMESTAMP_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getTimestamp() <em>Timestamp</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTimestamp()
+ * @generated
+ * @ordered
+ */
+ protected XMLGregorianCalendar timestamp = TIMESTAMP_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TestsuiteImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return EtunitPackage.Literals.TESTSUITE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<TestcaseType> getTestcase() {
+ if (testcase == null) {
+ testcase = new EObjectContainmentEList<TestcaseType>(TestcaseType.class, this, EtunitPackage.TESTSUITE__TESTCASE);
+ }
+ return testcase;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getErrors() {
+ return errors;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setErrors(int newErrors) {
+ int oldErrors = errors;
+ errors = newErrors;
+ boolean oldErrorsESet = errorsESet;
+ errorsESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EtunitPackage.TESTSUITE__ERRORS, oldErrors, errors, !oldErrorsESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetErrors() {
+ int oldErrors = errors;
+ boolean oldErrorsESet = errorsESet;
+ errors = ERRORS_EDEFAULT;
+ errorsESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET, EtunitPackage.TESTSUITE__ERRORS, oldErrors, ERRORS_EDEFAULT, oldErrorsESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetErrors() {
+ return errorsESet;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getFailures() {
+ return failures;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFailures(int newFailures) {
+ int oldFailures = failures;
+ failures = newFailures;
+ boolean oldFailuresESet = failuresESet;
+ failuresESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EtunitPackage.TESTSUITE__FAILURES, oldFailures, failures, !oldFailuresESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetFailures() {
+ int oldFailures = failures;
+ boolean oldFailuresESet = failuresESet;
+ failures = FAILURES_EDEFAULT;
+ failuresESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET, EtunitPackage.TESTSUITE__FAILURES, oldFailures, FAILURES_EDEFAULT, oldFailuresESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetFailures() {
+ return failuresESet;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EtunitPackage.TESTSUITE__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getSkipped() {
+ return skipped;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSkipped(int newSkipped) {
+ int oldSkipped = skipped;
+ skipped = newSkipped;
+ boolean oldSkippedESet = skippedESet;
+ skippedESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EtunitPackage.TESTSUITE__SKIPPED, oldSkipped, skipped, !oldSkippedESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetSkipped() {
+ int oldSkipped = skipped;
+ boolean oldSkippedESet = skippedESet;
+ skipped = SKIPPED_EDEFAULT;
+ skippedESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET, EtunitPackage.TESTSUITE__SKIPPED, oldSkipped, SKIPPED_EDEFAULT, oldSkippedESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetSkipped() {
+ return skippedESet;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getTests() {
+ return tests;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTests(int newTests) {
+ int oldTests = tests;
+ tests = newTests;
+ boolean oldTestsESet = testsESet;
+ testsESet = true;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EtunitPackage.TESTSUITE__TESTS, oldTests, tests, !oldTestsESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void unsetTests() {
+ int oldTests = tests;
+ boolean oldTestsESet = testsESet;
+ tests = TESTS_EDEFAULT;
+ testsESet = false;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.UNSET, EtunitPackage.TESTSUITE__TESTS, oldTests, TESTS_EDEFAULT, oldTestsESet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isSetTests() {
+ return testsESet;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BigDecimal getTime() {
+ return time;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTime(BigDecimal newTime) {
+ BigDecimal oldTime = time;
+ time = newTime;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EtunitPackage.TESTSUITE__TIME, oldTime, time));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public XMLGregorianCalendar getTimestamp() {
+ return timestamp;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTimestamp(XMLGregorianCalendar newTimestamp) {
+ XMLGregorianCalendar oldTimestamp = timestamp;
+ timestamp = newTimestamp;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, EtunitPackage.TESTSUITE__TIMESTAMP, oldTimestamp, timestamp));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case EtunitPackage.TESTSUITE__TESTCASE:
+ return ((InternalEList<?>)getTestcase()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case EtunitPackage.TESTSUITE__TESTCASE:
+ return getTestcase();
+ case EtunitPackage.TESTSUITE__ERRORS:
+ return getErrors();
+ case EtunitPackage.TESTSUITE__FAILURES:
+ return getFailures();
+ case EtunitPackage.TESTSUITE__NAME:
+ return getName();
+ case EtunitPackage.TESTSUITE__SKIPPED:
+ return getSkipped();
+ case EtunitPackage.TESTSUITE__TESTS:
+ return getTests();
+ case EtunitPackage.TESTSUITE__TIME:
+ return getTime();
+ case EtunitPackage.TESTSUITE__TIMESTAMP:
+ return getTimestamp();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case EtunitPackage.TESTSUITE__TESTCASE:
+ getTestcase().clear();
+ getTestcase().addAll((Collection<? extends TestcaseType>)newValue);
+ return;
+ case EtunitPackage.TESTSUITE__ERRORS:
+ setErrors((Integer)newValue);
+ return;
+ case EtunitPackage.TESTSUITE__FAILURES:
+ setFailures((Integer)newValue);
+ return;
+ case EtunitPackage.TESTSUITE__NAME:
+ setName((String)newValue);
+ return;
+ case EtunitPackage.TESTSUITE__SKIPPED:
+ setSkipped((Integer)newValue);
+ return;
+ case EtunitPackage.TESTSUITE__TESTS:
+ setTests((Integer)newValue);
+ return;
+ case EtunitPackage.TESTSUITE__TIME:
+ setTime((BigDecimal)newValue);
+ return;
+ case EtunitPackage.TESTSUITE__TIMESTAMP:
+ setTimestamp((XMLGregorianCalendar)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case EtunitPackage.TESTSUITE__TESTCASE:
+ getTestcase().clear();
+ return;
+ case EtunitPackage.TESTSUITE__ERRORS:
+ unsetErrors();
+ return;
+ case EtunitPackage.TESTSUITE__FAILURES:
+ unsetFailures();
+ return;
+ case EtunitPackage.TESTSUITE__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case EtunitPackage.TESTSUITE__SKIPPED:
+ unsetSkipped();
+ return;
+ case EtunitPackage.TESTSUITE__TESTS:
+ unsetTests();
+ return;
+ case EtunitPackage.TESTSUITE__TIME:
+ setTime(TIME_EDEFAULT);
+ return;
+ case EtunitPackage.TESTSUITE__TIMESTAMP:
+ setTimestamp(TIMESTAMP_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case EtunitPackage.TESTSUITE__TESTCASE:
+ return testcase != null && !testcase.isEmpty();
+ case EtunitPackage.TESTSUITE__ERRORS:
+ return isSetErrors();
+ case EtunitPackage.TESTSUITE__FAILURES:
+ return isSetFailures();
+ case EtunitPackage.TESTSUITE__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case EtunitPackage.TESTSUITE__SKIPPED:
+ return isSetSkipped();
+ case EtunitPackage.TESTSUITE__TESTS:
+ return isSetTests();
+ case EtunitPackage.TESTSUITE__TIME:
+ return TIME_EDEFAULT == null ? time != null : !TIME_EDEFAULT.equals(time);
+ case EtunitPackage.TESTSUITE__TIMESTAMP:
+ return TIMESTAMP_EDEFAULT == null ? timestamp != null : !TIMESTAMP_EDEFAULT.equals(timestamp);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (errors: ");
+ if (errorsESet) result.append(errors); else result.append("<unset>");
+ result.append(", failures: ");
+ if (failuresESet) result.append(failures); else result.append("<unset>");
+ result.append(", name: ");
+ result.append(name);
+ result.append(", skipped: ");
+ if (skippedESet) result.append(skipped); else result.append("<unset>");
+ result.append(", tests: ");
+ if (testsESet) result.append(tests); else result.append("<unset>");
+ result.append(", time: ");
+ result.append(time);
+ result.append(", timestamp: ");
+ result.append(timestamp);
+ result.append(')');
+ return result.toString();
+ }
+
+} //TestsuiteImpl
diff --git a/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/impl/TestsuiteTypeImpl.java b/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/impl/TestsuiteTypeImpl.java
new file mode 100644
index 000000000..b0a2bd9b8
--- /dev/null
+++ b/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/impl/TestsuiteTypeImpl.java
@@ -0,0 +1,42 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.etrice.etunit.converter.Etunit.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.etrice.etunit.converter.Etunit.EtunitPackage;
+import org.eclipse.etrice.etunit.converter.Etunit.TestsuiteType;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Testsuite Type</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class TestsuiteTypeImpl extends TestsuiteImpl implements TestsuiteType {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TestsuiteTypeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return EtunitPackage.Literals.TESTSUITE_TYPE;
+ }
+
+} //TestsuiteTypeImpl
diff --git a/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/impl/TestsuitesTypeImpl.java b/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/impl/TestsuitesTypeImpl.java
new file mode 100644
index 000000000..a450367cd
--- /dev/null
+++ b/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/impl/TestsuitesTypeImpl.java
@@ -0,0 +1,156 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.etrice.etunit.converter.Etunit.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.etrice.etunit.converter.Etunit.EtunitPackage;
+import org.eclipse.etrice.etunit.converter.Etunit.TestsuiteType;
+import org.eclipse.etrice.etunit.converter.Etunit.TestsuitesType;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Testsuites Type</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.etrice.etunit.converter.Etunit.impl.TestsuitesTypeImpl#getTestsuite <em>Testsuite</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class TestsuitesTypeImpl extends EObjectImpl implements TestsuitesType {
+ /**
+ * The cached value of the '{@link #getTestsuite() <em>Testsuite</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTestsuite()
+ * @generated
+ * @ordered
+ */
+ protected EList<TestsuiteType> testsuite;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TestsuitesTypeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return EtunitPackage.Literals.TESTSUITES_TYPE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<TestsuiteType> getTestsuite() {
+ if (testsuite == null) {
+ testsuite = new EObjectContainmentEList<TestsuiteType>(TestsuiteType.class, this, EtunitPackage.TESTSUITES_TYPE__TESTSUITE);
+ }
+ return testsuite;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case EtunitPackage.TESTSUITES_TYPE__TESTSUITE:
+ return ((InternalEList<?>)getTestsuite()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case EtunitPackage.TESTSUITES_TYPE__TESTSUITE:
+ return getTestsuite();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case EtunitPackage.TESTSUITES_TYPE__TESTSUITE:
+ getTestsuite().clear();
+ getTestsuite().addAll((Collection<? extends TestsuiteType>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case EtunitPackage.TESTSUITES_TYPE__TESTSUITE:
+ getTestsuite().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case EtunitPackage.TESTSUITES_TYPE__TESTSUITE:
+ return testsuite != null && !testsuite.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //TestsuitesTypeImpl
diff --git a/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/util/EtunitAdapterFactory.java b/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/util/EtunitAdapterFactory.java
new file mode 100644
index 000000000..4c6db78ce
--- /dev/null
+++ b/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/util/EtunitAdapterFactory.java
@@ -0,0 +1,232 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.etrice.etunit.converter.Etunit.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.etrice.etunit.converter.Etunit.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.etunit.converter.Etunit.EtunitPackage
+ * @generated
+ */
+public class EtunitAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static EtunitPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EtunitAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = EtunitPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+ * <!-- end-user-doc -->
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject)object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EtunitSwitch<Adapter> modelSwitch =
+ new EtunitSwitch<Adapter>() {
+ @Override
+ public Adapter caseDocumentRoot(DocumentRoot object) {
+ return createDocumentRootAdapter();
+ }
+ @Override
+ public Adapter caseErrorType(ErrorType object) {
+ return createErrorTypeAdapter();
+ }
+ @Override
+ public Adapter caseFailureType(FailureType object) {
+ return createFailureTypeAdapter();
+ }
+ @Override
+ public Adapter caseTestcaseType(TestcaseType object) {
+ return createTestcaseTypeAdapter();
+ }
+ @Override
+ public Adapter caseTestsuite(Testsuite object) {
+ return createTestsuiteAdapter();
+ }
+ @Override
+ public Adapter caseTestsuitesType(TestsuitesType object) {
+ return createTestsuitesTypeAdapter();
+ }
+ @Override
+ public Adapter caseTestsuiteType(TestsuiteType object) {
+ return createTestsuiteTypeAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject)target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.etrice.etunit.converter.Etunit.DocumentRoot <em>Document Root</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.etrice.etunit.converter.Etunit.DocumentRoot
+ * @generated
+ */
+ public Adapter createDocumentRootAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.etrice.etunit.converter.Etunit.ErrorType <em>Error Type</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.etrice.etunit.converter.Etunit.ErrorType
+ * @generated
+ */
+ public Adapter createErrorTypeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.etrice.etunit.converter.Etunit.FailureType <em>Failure Type</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.etrice.etunit.converter.Etunit.FailureType
+ * @generated
+ */
+ public Adapter createFailureTypeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.etrice.etunit.converter.Etunit.TestcaseType <em>Testcase Type</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.etrice.etunit.converter.Etunit.TestcaseType
+ * @generated
+ */
+ public Adapter createTestcaseTypeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.etrice.etunit.converter.Etunit.Testsuite <em>Testsuite</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.etrice.etunit.converter.Etunit.Testsuite
+ * @generated
+ */
+ public Adapter createTestsuiteAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.etrice.etunit.converter.Etunit.TestsuitesType <em>Testsuites Type</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.etrice.etunit.converter.Etunit.TestsuitesType
+ * @generated
+ */
+ public Adapter createTestsuitesTypeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.etrice.etunit.converter.Etunit.TestsuiteType <em>Testsuite Type</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.etrice.etunit.converter.Etunit.TestsuiteType
+ * @generated
+ */
+ public Adapter createTestsuiteTypeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter() {
+ return null;
+ }
+
+} //EtunitAdapterFactory
diff --git a/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/util/EtunitResourceFactoryImpl.java b/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/util/EtunitResourceFactoryImpl.java
new file mode 100644
index 000000000..6c306e79f
--- /dev/null
+++ b/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/util/EtunitResourceFactoryImpl.java
@@ -0,0 +1,74 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.etrice.etunit.converter.Etunit.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.impl.EPackageRegistryImpl;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
+
+import org.eclipse.emf.ecore.util.BasicExtendedMetaData;
+import org.eclipse.emf.ecore.util.ExtendedMetaData;
+
+import org.eclipse.emf.ecore.xmi.XMLResource;
+
+import org.eclipse.etrice.etunit.converter.Etunit.EtunitPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource Factory</b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.etunit.converter.Etunit.util.EtunitResourceImpl
+ * @generated
+ */
+public class EtunitResourceFactoryImpl extends ResourceFactoryImpl {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ExtendedMetaData extendedMetaData;
+
+ /**
+ * Creates an instance of the resource factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EtunitResourceFactoryImpl() {
+ super();
+ extendedMetaData = new BasicExtendedMetaData(new EPackageRegistryImpl(EPackage.Registry.INSTANCE));
+ extendedMetaData.putPackage(null, EtunitPackage.eINSTANCE);
+ }
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Resource createResource(URI uri) {
+ XMLResource result = new EtunitResourceImpl(uri);
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, extendedMetaData);
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, extendedMetaData);
+
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
+
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);
+ return result;
+ }
+
+} //EtunitResourceFactoryImpl
diff --git a/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/util/EtunitResourceImpl.java b/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/util/EtunitResourceImpl.java
new file mode 100644
index 000000000..d0e86de59
--- /dev/null
+++ b/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/util/EtunitResourceImpl.java
@@ -0,0 +1,32 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.etrice.etunit.converter.Etunit.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource </b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.etunit.converter.Etunit.util.EtunitResourceFactoryImpl
+ * @generated
+ */
+public class EtunitResourceImpl extends XMLResourceImpl {
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param uri the URI of the new resource.
+ * @generated
+ */
+ public EtunitResourceImpl(URI uri) {
+ super(uri);
+ }
+
+} //EtunitResourceImpl
diff --git a/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/util/EtunitSwitch.java b/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/util/EtunitSwitch.java
new file mode 100644
index 000000000..dd82999b7
--- /dev/null
+++ b/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/util/EtunitSwitch.java
@@ -0,0 +1,241 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.etrice.etunit.converter.Etunit.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.util.Switch;
+
+import org.eclipse.etrice.etunit.converter.Etunit.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.etunit.converter.Etunit.EtunitPackage
+ * @generated
+ */
+public class EtunitSwitch<T> extends Switch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static EtunitPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EtunitSwitch() {
+ if (modelPackage == null) {
+ modelPackage = EtunitPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Checks whether this is a switch for the given package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @parameter ePackage the package in question.
+ * @return whether this is a switch for the given package.
+ * @generated
+ */
+ @Override
+ protected boolean isSwitchFor(EPackage ePackage) {
+ return ePackage == modelPackage;
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ @Override
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case EtunitPackage.DOCUMENT_ROOT: {
+ DocumentRoot documentRoot = (DocumentRoot)theEObject;
+ T result = caseDocumentRoot(documentRoot);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case EtunitPackage.ERROR_TYPE: {
+ ErrorType errorType = (ErrorType)theEObject;
+ T result = caseErrorType(errorType);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case EtunitPackage.FAILURE_TYPE: {
+ FailureType failureType = (FailureType)theEObject;
+ T result = caseFailureType(failureType);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case EtunitPackage.TESTCASE_TYPE: {
+ TestcaseType testcaseType = (TestcaseType)theEObject;
+ T result = caseTestcaseType(testcaseType);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case EtunitPackage.TESTSUITE: {
+ Testsuite testsuite = (Testsuite)theEObject;
+ T result = caseTestsuite(testsuite);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case EtunitPackage.TESTSUITES_TYPE: {
+ TestsuitesType testsuitesType = (TestsuitesType)theEObject;
+ T result = caseTestsuitesType(testsuitesType);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case EtunitPackage.TESTSUITE_TYPE: {
+ TestsuiteType testsuiteType = (TestsuiteType)theEObject;
+ T result = caseTestsuiteType(testsuiteType);
+ if (result == null) result = caseTestsuite(testsuiteType);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Document Root</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Document Root</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDocumentRoot(DocumentRoot object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Error Type</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Error Type</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseErrorType(ErrorType object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Failure Type</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Failure Type</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseFailureType(FailureType object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Testcase Type</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Testcase Type</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTestcaseType(TestcaseType object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Testsuite</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Testsuite</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTestsuite(Testsuite object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Testsuites Type</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Testsuites Type</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTestsuitesType(TestsuitesType object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Testsuite Type</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Testsuite Type</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTestsuiteType(TestsuiteType object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch, but this is the last case anyway.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+ * @generated
+ */
+ @Override
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} //EtunitSwitch
diff --git a/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/util/EtunitValidator.java b/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/util/EtunitValidator.java
new file mode 100644
index 000000000..b5d7ce2f9
--- /dev/null
+++ b/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/util/EtunitValidator.java
@@ -0,0 +1,274 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.etrice.etunit.converter.Etunit.util;
+
+import java.util.Map;
+
+import javax.xml.datatype.XMLGregorianCalendar;
+
+import org.eclipse.emf.common.util.DiagnosticChain;
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.util.EObjectValidator;
+
+import org.eclipse.emf.ecore.xml.type.util.XMLTypeUtil;
+import org.eclipse.emf.ecore.xml.type.util.XMLTypeValidator;
+
+import org.eclipse.etrice.etunit.converter.Etunit.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Validator</b> for the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.etrice.etunit.converter.Etunit.EtunitPackage
+ * @generated
+ */
+public class EtunitValidator extends EObjectValidator {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final EtunitValidator INSTANCE = new EtunitValidator();
+
+ /**
+ * A constant for the {@link org.eclipse.emf.common.util.Diagnostic#getSource() source} of diagnostic {@link org.eclipse.emf.common.util.Diagnostic#getCode() codes} from this package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.common.util.Diagnostic#getSource()
+ * @see org.eclipse.emf.common.util.Diagnostic#getCode()
+ * @generated
+ */
+ public static final String DIAGNOSTIC_SOURCE = "org.eclipse.etrice.etunit.converter.Etunit";
+
+ /**
+ * A constant with a fixed name that can be used as the base value for additional hand written constants.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final int GENERATED_DIAGNOSTIC_CODE_COUNT = 0;
+
+ /**
+ * A constant with a fixed name that can be used as the base value for additional hand written constants in a derived class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static final int DIAGNOSTIC_CODE_COUNT = GENERATED_DIAGNOSTIC_CODE_COUNT;
+
+ /**
+ * The cached base package validator.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected XMLTypeValidator xmlTypeValidator;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EtunitValidator() {
+ super();
+ xmlTypeValidator = XMLTypeValidator.INSTANCE;
+ }
+
+ /**
+ * Returns the package of this validator switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EPackage getEPackage() {
+ return EtunitPackage.eINSTANCE;
+ }
+
+ /**
+ * Calls <code>validateXXX</code> for the corresponding classifier of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected boolean validate(int classifierID, Object value, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ switch (classifierID) {
+ case EtunitPackage.DOCUMENT_ROOT:
+ return validateDocumentRoot((DocumentRoot)value, diagnostics, context);
+ case EtunitPackage.ERROR_TYPE:
+ return validateErrorType((ErrorType)value, diagnostics, context);
+ case EtunitPackage.FAILURE_TYPE:
+ return validateFailureType((FailureType)value, diagnostics, context);
+ case EtunitPackage.TESTCASE_TYPE:
+ return validateTestcaseType((TestcaseType)value, diagnostics, context);
+ case EtunitPackage.TESTSUITE:
+ return validateTestsuite((Testsuite)value, diagnostics, context);
+ case EtunitPackage.TESTSUITES_TYPE:
+ return validateTestsuitesType((TestsuitesType)value, diagnostics, context);
+ case EtunitPackage.TESTSUITE_TYPE:
+ return validateTestsuiteType((TestsuiteType)value, diagnostics, context);
+ case EtunitPackage.ISO8601DATETIMEPATTERN:
+ return validateISO8601DATETIMEPATTERN((XMLGregorianCalendar)value, diagnostics, context);
+ case EtunitPackage.NAME_TYPE:
+ return validateNameType((String)value, diagnostics, context);
+ case EtunitPackage.PRE_STRING:
+ return validatePreString((String)value, diagnostics, context);
+ default:
+ return true;
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateDocumentRoot(DocumentRoot documentRoot, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(documentRoot, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateErrorType(ErrorType errorType, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(errorType, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateFailureType(FailureType failureType, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(failureType, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateTestcaseType(TestcaseType testcaseType, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(testcaseType, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateTestsuite(Testsuite testsuite, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(testsuite, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateTestsuitesType(TestsuitesType testsuitesType, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(testsuitesType, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateTestsuiteType(TestsuiteType testsuiteType, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validate_EveryDefaultConstraint(testsuiteType, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateISO8601DATETIMEPATTERN(XMLGregorianCalendar iso8601DATETIMEPATTERN, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ boolean result = validateISO8601DATETIMEPATTERN_Pattern(iso8601DATETIMEPATTERN, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @see #validateISO8601DATETIMEPATTERN_Pattern
+ */
+ public static final PatternMatcher [][] ISO8601DATETIMEPATTERN__PATTERN__VALUES =
+ new PatternMatcher [][] {
+ new PatternMatcher [] {
+ XMLTypeUtil.createPatternMatcher("[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}")
+ }
+ };
+
+ /**
+ * Validates the Pattern constraint of '<em>ISO8601DATETIMEPATTERN</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateISO8601DATETIMEPATTERN_Pattern(XMLGregorianCalendar iso8601DATETIMEPATTERN, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return validatePattern(EtunitPackage.Literals.ISO8601DATETIMEPATTERN, iso8601DATETIMEPATTERN, ISO8601DATETIMEPATTERN__PATTERN__VALUES, diagnostics, context);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateNameType(String nameType, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ boolean result = validateNameType_MinLength(nameType, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * Validates the MinLength constraint of '<em>Name Type</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validateNameType_MinLength(String nameType, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ int length = nameType.length();
+ boolean result = length >= 1;
+ if (!result && diagnostics != null)
+ reportMinLengthViolation(EtunitPackage.Literals.NAME_TYPE, nameType, length, 1, diagnostics, context);
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean validatePreString(String preString, DiagnosticChain diagnostics, Map<Object, Object> context) {
+ return true;
+ }
+
+ /**
+ * Returns the resource locator that will be used to fetch messages for this validator's diagnostics.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ // TODO
+ // Specialize this to return a resource locator for messages specific to this validator.
+ // Ensure that you remove @generated or mark it @generated NOT
+ return super.getResourceLocator();
+ }
+
+} //EtunitValidator
diff --git a/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/util/EtunitXMLProcessor.java b/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/util/EtunitXMLProcessor.java
new file mode 100644
index 000000000..c00f953f9
--- /dev/null
+++ b/runtime/org.eclipse.etrice.etunit.converter/src/org/eclipse/etrice/etunit/converter/Etunit/util/EtunitXMLProcessor.java
@@ -0,0 +1,56 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.etrice.etunit.converter.Etunit.util;
+
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.impl.EPackageRegistryImpl;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.xmi.util.XMLProcessor;
+
+import org.eclipse.etrice.etunit.converter.Etunit.EtunitPackage;
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class EtunitXMLProcessor extends XMLProcessor {
+
+ /**
+ * Public constructor to instantiate the helper.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EtunitXMLProcessor() {
+ super(new EPackageRegistryImpl(EPackage.Registry.INSTANCE));
+ extendedMetaData.putPackage(null, EtunitPackage.eINSTANCE);
+ }
+
+ /**
+ * Register for "*" and "xml" file extensions the EtunitResourceFactoryImpl factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected Map<String, Resource.Factory> getRegistrations() {
+ if (registrations == null) {
+ super.getRegistrations();
+ registrations.put(XML_EXTENSION, new EtunitResourceFactoryImpl());
+ registrations.put(STAR_EXTENSION, new EtunitResourceFactoryImpl());
+ }
+ return registrations;
+ }
+
+} //EtunitXMLProcessor

Back to the top