You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@plc4x.apache.org by cd...@apache.org on 2019/02/25 17:23:44 UTC
[incubator-plc4x] 01/01: - Updated the
This is an automated email from the ASF dual-hosted git repository.
cdutz pushed a commit to branch feature/daffodil-2.3.0
in repository https://gitbox.apache.org/repos/asf/incubator-plc4x.git
commit 49a6a164a529d96ef1a8fdc9cab04a49bfd96cf0
Author: Christofer Dutz <ch...@c-ware.de>
AuthorDate: Mon Feb 25 18:23:30 2019 +0100
- Updated the
---
examples/hello-world-plc4x/pom.xml | 6 +
pom.xml | 19 +-
protocols/s7/pom.xml | 22 +-
.../apache/plc4x/protocols/s7/protocol.dfdl.xsd | 38 ++--
.../plc4x/protocols/AbstractProtocolTest.java | 6 +-
.../org/apache/plc4x/protocols/s7/ManualTest.java | 82 ++++++++
.../org/apache/plc4x/protocols/s7/protocol.tdml | 223 ++++++++++-----------
sandbox/dynamic-driver-base/pom.xml | 13 +-
8 files changed, 268 insertions(+), 141 deletions(-)
diff --git a/examples/hello-world-plc4x/pom.xml b/examples/hello-world-plc4x/pom.xml
index fbd1b74..7374b3b 100644
--- a/examples/hello-world-plc4x/pom.xml
+++ b/examples/hello-world-plc4x/pom.xml
@@ -50,6 +50,12 @@
<scope>runtime</scope>
</dependency>
<dependency>
+ <groupId>org.apache.plc4x.sandbox</groupId>
+ <artifactId>plc4j-dynamic-driver-s7</artifactId>
+ <version>0.4.0-SNAPSHOT</version>
+ <scope>runtime</scope>
+ </dependency>
+ <dependency>
<groupId>org.apache.plc4x</groupId>
<artifactId>plc4j-driver-simulated</artifactId>
<version>0.4.0-SNAPSHOT</version>
diff --git a/pom.xml b/pom.xml
index d259a84..81b0d27 100644
--- a/pom.xml
+++ b/pom.xml
@@ -110,7 +110,7 @@
<commons-pool2.version>2.6.0</commons-pool2.version>
<commons-text.version>1.4</commons-text.version>
<crc.version>1.0.1</crc.version>
- <daffodil.version>2.2.0</daffodil.version>
+ <daffodil.version>2.3.0</daffodil.version>
<elasticsearch.version>6.4.2</elasticsearch.version>
<equalsverifier.version>3.0.2</equalsverifier.version>
<findbugs.version>3.0.1</findbugs.version>
@@ -367,7 +367,12 @@
</dependency>
<dependency>
<groupId>org.apache.daffodil</groupId>
- <artifactId>daffodil-tdml_2.12</artifactId>
+ <artifactId>daffodil-tdml-lib_2.12</artifactId>
+ <version>${daffodil.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.daffodil</groupId>
+ <artifactId>daffodil-tdml-processor_2.12</artifactId>
<version>${daffodil.version}</version>
</dependency>
<dependency>
@@ -1311,6 +1316,16 @@
<enabled>true</enabled>
</snapshots>
</repository>
+ <repository>
+ <id>daffodil-release</id>
+ <url>https://repository.apache.org/content/repositories/orgapachedaffodil-1008/</url>
+ <releases>
+ <enabled>true</enabled>
+ </releases>
+ <snapshots>
+ <enabled>true</enabled>
+ </snapshots>
+ </repository>
</repositories>
<profiles>
diff --git a/protocols/s7/pom.xml b/protocols/s7/pom.xml
index ca8211d..1d72079 100644
--- a/protocols/s7/pom.xml
+++ b/protocols/s7/pom.xml
@@ -35,7 +35,7 @@
<dependencies>
<dependency>
<groupId>org.apache.daffodil</groupId>
- <artifactId>daffodil-tdml_2.12</artifactId>
+ <artifactId>daffodil-tdml-lib_2.12</artifactId>
<scope>test</scope>
</dependency>
<dependency>
@@ -44,10 +44,30 @@
<scope>test</scope>
</dependency>
<dependency>
+ <groupId>org.apache.daffodil</groupId>
+ <artifactId>daffodil-tdml-lib_2.12</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.daffodil</groupId>
+ <artifactId>daffodil-japi_2.12</artifactId>
+ <version>${daffodil.version}</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.daffodil</groupId>
+ <artifactId>daffodil-tdml-processor_2.12</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-library</artifactId>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>commons-codec</groupId>
+ <artifactId>commons-codec</artifactId>
+ </dependency>
</dependencies>
</project>
\ No newline at end of file
diff --git a/protocols/s7/src/main/resources/org/apache/plc4x/protocols/s7/protocol.dfdl.xsd b/protocols/s7/src/main/resources/org/apache/plc4x/protocols/s7/protocol.dfdl.xsd
index 8f3e640..6b8745c 100644
--- a/protocols/s7/src/main/resources/org/apache/plc4x/protocols/s7/protocol.dfdl.xsd
+++ b/protocols/s7/src/main/resources/org/apache/plc4x/protocols/s7/protocol.dfdl.xsd
@@ -35,10 +35,12 @@
alignment="1" alignmentUnits="bits"
leadingSkip="0" trailingSkip="0"
textPadKind="none" ignoreCase="no"
+ textBidi="no" floating="no"
encoding="utf-8" truncateSpecifiedLengthString="no"
initiator="" terminator=""
sequenceKind="ordered" separator=""
- escapeSchemeRef="" initiatedContent="no"/>
+ escapeSchemeRef="" initiatedContent="no"
+ encodingErrorPolicy="replace"/>
</dfdl:defineFormat>
<dfdl:format ref="s7:s7FullFormat"/>
</xs:appinfo>
@@ -167,7 +169,7 @@
<!-- Length of the COTP header data -->
<xs:element name="headerLength" type="s7:byte"/>
<xs:element name="type" type="s7:CotpTpduType"/>
- <xs:choice dfdl:choiceDispatchKey="{type}">
+ <xs:choice dfdl:choiceDispatchKey="{xs:string(type)}">
<xs:element dfdl:choiceBranchKey="224" ref="s7:CotpTpduConnectionRequest"/>
<xs:element dfdl:choiceBranchKey="208" ref="s7:CotpTpduConnectionResponse"/>
<xs:element dfdl:choiceBranchKey="128" ref="s7:CotpTpduDisconnectRequest"/>
@@ -268,7 +270,7 @@
<xs:sequence>
<xs:element name="type" type="s7:CotpParameterType"/>
<xs:element name="parameterLength" type="s7:byte"/>
- <xs:choice dfdl:choiceDispatchKey="{type}">
+ <xs:choice dfdl:choiceDispatchKey="{xs:string(type)}">
<xs:element dfdl:choiceBranchKey="192" ref="s7:CotpParameterTpduSize"/>
<xs:element dfdl:choiceBranchKey="193" ref="s7:CotpParameterCallingTsap"/>
<xs:element dfdl:choiceBranchKey="194" ref="s7:CotpParameterCalledTsap"/>
@@ -349,7 +351,7 @@
(no error code or error class). As mapping to the same type is not allowed,
we map to strings and use that as choice-key.
-->
- <xs:choice dfdl:choiceDispatchKey="{type}">
+ <xs:choice dfdl:choiceDispatchKey="{xs:string(type)}">
<xs:element dfdl:choiceBranchKey="1" ref="s7:S7RequestMessage"/>
<xs:element dfdl:choiceBranchKey="3" ref="s7:S7ResponseMessage"/>
<xs:element dfdl:choiceBranchKey="7" ref="s7:S7UserDataMessage"/>
@@ -375,7 +377,7 @@
<xs:complexType>
<xs:sequence>
<xs:element name="type" type="s7:byte"/>
- <xs:choice dfdl:choiceDispatchKey="{type}">
+ <xs:choice dfdl:choiceDispatchKey="{xs:string(type)}">
<xs:element dfdl:choiceBranchKey="240"
ref="s7:S7GeneralParameterSetupCommunication"/>
<xs:element dfdl:choiceBranchKey="4" ref="s7:S7RequestParameterReadVar"/>
@@ -412,7 +414,7 @@
<xs:complexType>
<xs:sequence>
<xs:choice
- dfdl:choiceDispatchKey="{../../parameters[1]/parameter[dfdl:occursIndex()]/type}">
+ dfdl:choiceDispatchKey="{xs:string(../../parameters[1]/parameter[dfdl:occursIndex()]/type)}">
<xs:element dfdl:choiceBranchKey="240"
ref="s7:S7GeneralPayloadSetupCommunication"/>
<xs:element dfdl:choiceBranchKey="4" ref="s7:S7RequestPayloadReadVar"/>
@@ -451,7 +453,7 @@
<xs:complexType>
<xs:sequence>
<xs:element name="type" type="s7:byte"/>
- <xs:choice dfdl:choiceDispatchKey="{type}">
+ <xs:choice dfdl:choiceDispatchKey="{xs:string(type)}">
<xs:element dfdl:choiceBranchKey="240"
ref="s7:S7GeneralParameterSetupCommunication"/>
<xs:element dfdl:choiceBranchKey="4" ref="s7:S7ResponseParameterReadVar"/>
@@ -488,7 +490,7 @@
<xs:complexType>
<xs:sequence>
<xs:choice
- dfdl:choiceDispatchKey="{../../parameters[1]/parameter[dfdl:occursIndex()]/type}">
+ dfdl:choiceDispatchKey="{xs:string(../../parameters[1]/parameter[dfdl:occursIndex()]/type)}">
<xs:element dfdl:choiceBranchKey="240"
ref="s7:S7GeneralPayloadSetupCommunication"/>
<xs:element dfdl:choiceBranchKey="4" ref="s7:S7ResponsePayloadReadVar"/>
@@ -523,7 +525,7 @@
<xs:complexType>
<xs:sequence>
<xs:element name="type" type="s7:byte"/>
- <xs:choice dfdl:choiceDispatchKey="{type}">
+ <xs:choice dfdl:choiceDispatchKey="{xs:string(type)}">
<xs:element dfdl:choiceBranchKey="0"
ref="s7:S7UserDataParameterCPUService"/>
</xs:choice>
@@ -558,7 +560,7 @@
<xs:complexType>
<xs:sequence>
<xs:choice
- dfdl:choiceDispatchKey="{../../parameters[1]/parameter[dfdl:occursIndex()]/type}">
+ dfdl:choiceDispatchKey="{xs:string(../../parameters[1]/parameter[dfdl:occursIndex()]/type)}">
<xs:element dfdl:choiceBranchKey="0"
ref="s7:S7UserDataPayloadCpuServices"/>
</xs:choice>
@@ -632,7 +634,7 @@
<xs:complexType>
<xs:sequence>
<xs:element name="type" type="s7:byte"/>
- <xs:choice dfdl:choiceDispatchKey="{type}">
+ <xs:choice dfdl:choiceDispatchKey="{xs:string(type)}">
<xs:element dfdl:choiceBranchKey="18"
ref="s7:S7RequestParameterReadVarAnyItem"/>
</xs:choice>
@@ -690,7 +692,7 @@
<xs:complexType>
<xs:sequence>
<xs:element name="type" type="s7:byte"/>
- <xs:choice dfdl:choiceDispatchKey="{type}">
+ <xs:choice dfdl:choiceDispatchKey="{xs:string(type)}">
<xs:element dfdl:choiceBranchKey="18"
ref="s7:S7RequestParameterWriteVarAnyItem"/>
</xs:choice>
@@ -769,7 +771,7 @@
dfdl:occursCountKind="expression" dfdl:occursCount="{../../partialListCount}">
<xs:complexType>
<xs:sequence>
- <xs:choice dfdl:choiceDispatchKey="{../../../sslId[1]}">
+ <xs:choice dfdl:choiceDispatchKey="{xs:string(../../../sslId[1])}">
<xs:element dfdl:choiceBranchKey="17"
ref="s7:S7ResponsePayloadCpuServicesSslDataRecordModuleIdentification"/>
</xs:choice>
@@ -822,9 +824,9 @@
the rest is transferred in "bytes"
-->
<xs:element name="lengthInBytes" type="s7:short" dfdl:inputValueCalc="{
- if((../transportSize eq 3) or (../transportSize eq 4) or (../transportSize eq 5))
- then fn:ceiling(../rawLength div 8)
- else ../rawLength}"/>
+ xs:unsignedShort(if((../transportSize eq 3) or (../transportSize eq 4) or (../transportSize eq 5))
+ then fn:ceiling(xs:double(../rawLength div 8))
+ else ../rawLength)}"/>
<xs:element name="data" type="xs:hexBinary"
dfdl:byteOrder="bigEndian" dfdl:lengthUnits="bytes" dfdl:lengthKind="explicit"
dfdl:length="{../lengthInBytes}"/>
@@ -863,9 +865,9 @@
the rest is transferred in "bytes"
-->
<xs:element name="lengthInBytes" type="s7:short" dfdl:inputValueCalc="{
- if((../transportSize eq 3) or (../transportSize eq 4) or (../transportSize eq 5))
+ xs:unsignedShort(if((../transportSize eq 3) or (../transportSize eq 4) or (../transportSize eq 5))
then fn:ceiling(../rawLength div 8)
- else ../rawLength}"/>
+ else ../rawLength)}"/>
<xs:element name="data" type="xs:hexBinary"
dfdl:byteOrder="bigEndian" dfdl:lengthUnits="bytes" dfdl:lengthKind="explicit"
dfdl:length="{../lengthInBytes}"/>
diff --git a/protocols/s7/src/test/java/org/apache/plc4x/protocols/AbstractProtocolTest.java b/protocols/s7/src/test/java/org/apache/plc4x/protocols/AbstractProtocolTest.java
index 70efdbc..2301e61 100644
--- a/protocols/s7/src/test/java/org/apache/plc4x/protocols/AbstractProtocolTest.java
+++ b/protocols/s7/src/test/java/org/apache/plc4x/protocols/AbstractProtocolTest.java
@@ -40,7 +40,11 @@ public abstract class AbstractProtocolTest {
@TestFactory
public List<DynamicTest> getTestsuiteTests() {
DFDLTestSuite testSuite = new DFDLTestSuite(Misc.getRequiredResource(testsuiteName), true, true, false,
- Runner.defaultRoundTripDefaultDefault(), Runner.defaultValidationDefaultDefault());
+ Runner.defaultRoundTripDefaultDefault(),
+ Runner.defaultValidationDefaultDefault(),
+ Runner.defaultImplementationsDefaultDefault(),
+ Runner.defaultShouldDoErrorComparisonOnCrossTests(),
+ Runner.defaultShouldDoWarningComparisonOnCrossTests());
List<DynamicTest> dynamicTests = new LinkedList<>();
Iterator<String> iterator = testSuite.testCaseMap().keySet().iterator();
while (iterator.hasNext()) {
diff --git a/protocols/s7/src/test/java/org/apache/plc4x/protocols/s7/ManualTest.java b/protocols/s7/src/test/java/org/apache/plc4x/protocols/s7/ManualTest.java
new file mode 100644
index 0000000..f95251d
--- /dev/null
+++ b/protocols/s7/src/test/java/org/apache/plc4x/protocols/s7/ManualTest.java
@@ -0,0 +1,82 @@
+/*
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+ */
+
+package org.apache.plc4x.protocols.s7;
+
+import org.apache.commons.codec.binary.Hex;
+import org.apache.daffodil.japi.Compiler;
+import org.apache.daffodil.japi.*;
+import org.apache.daffodil.japi.infoset.JDOMInfosetOutputter;
+import org.apache.daffodil.japi.io.InputSourceDataInputStream;
+import org.jdom2.Document;
+import org.jdom2.output.Format;
+import org.jdom2.output.XMLOutputter;
+
+import java.io.ByteArrayInputStream;
+import java.net.URI;
+import java.net.URL;
+import java.util.List;
+
+public class ManualTest {
+
+ public static void main(String[] args) throws Exception {
+ Compiler c = Daffodil.compiler();
+ c.setValidateDFDLSchemas(true);
+ URL schemaUrl = ManualTest.class.getClassLoader().getResource("org/apache/plc4x/protocols/s7/protocol.dfdl.xsd");
+ if (schemaUrl != null) {
+ URI schemaUri = schemaUrl.toURI();
+ ProcessorFactory pf = c.compileSource(schemaUri);
+ DataProcessor dp = pf.onPath("/");
+ logDiagnosticInformation(dp);
+
+ /*byte[] packet = Hex.decodeHex(
+ "0300004002f080320300" +
+ "0000010002002b000004" +
+ "07ff0300010000ff04002000000000ff0400080000ff0500100000ff0400080000ff0400100000ff04000800");*/
+ byte[] packet = Hex.decodeHex(
+ "0300004002f080320300" +
+ "0000010002002b000004" +
+ "07ff0300010000ff04002000000000ff0400080000ff0500100000ff0400080000ff0400100000ff04000800");
+
+
+ // After having enough bytes available, process the current package.
+ JDOMInfosetOutputter outputter = new JDOMInfosetOutputter();
+ ParseResult byteMessage = dp.parse(
+ new InputSourceDataInputStream(new ByteArrayInputStream(packet)), outputter);
+ if (byteMessage.isError()) {
+ logDiagnosticInformation(byteMessage);
+ return;
+ }
+
+ // Get the resulting XML document from the parser.
+ Document message = outputter.getResult();
+
+ System.out.println(new XMLOutputter(Format.getPrettyFormat()).outputString(message));
+ }
+ }
+
+ protected static void logDiagnosticInformation(WithDiagnostics withDiagnostics) {
+ List<Diagnostic> diags = withDiagnostics.getDiagnostics();
+ for (Diagnostic d : diags) {
+ System.err.println(d.getSomeMessage());
+ }
+ }
+
+
+}
diff --git a/protocols/s7/src/test/resources/org/apache/plc4x/protocols/s7/protocol.tdml b/protocols/s7/src/test/resources/org/apache/plc4x/protocols/s7/protocol.tdml
index 5efa67d..ae5bddc 100644
--- a/protocols/s7/src/test/resources/org/apache/plc4x/protocols/s7/protocol.tdml
+++ b/protocols/s7/src/test/resources/org/apache/plc4x/protocols/s7/protocol.tdml
@@ -19,7 +19,6 @@
-->
<testSuite xmlns:dfdl="http://www.ogf.org/dfdl/dfdl-1.0/"
- xmlns:test="plc4x-protocol-test"
xmlns:tdml="http://www.ibm.com/xmlns/dfdl/testData"
xmlns:s7="http://plc4x.apache.org/s7"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
@@ -36,7 +35,7 @@
<dfdl:format ref="s7:s7FullFormat"/>
<!-- Define the root element name and type -->
- <xs:element name="tpktMessage" type="s7:TpktMessageType"/>
+ <!--xs:element name="TpktMessage" type="s7:TpktMessageType"/-->
</tdml:defineSchema>
<!--
@@ -44,7 +43,7 @@
It's a TPKT package containing a COTP connection-response payload.
-->
<tdml:parserTestCase name="TPKT: tpktPacketContainingCotpConnectResponse"
- root="tpktMessage"
+ root="TpktMessage"
model="s7Schema"
description="Simple TKPT packet which contains a COTP Connection-Response as payload.">
<!-- Define the input -->
@@ -56,7 +55,7 @@
<tdml:infoset>
<tdml:dfdlInfoset>
<!-- Referencing what we defined as root element in the defineSchema section -->
- <test:tpktMessage>
+ <s7:TpktMessage>
<magicByte>3</magicByte>
<reserved>0</reserved>
<length>22</length>
@@ -92,7 +91,7 @@
</parameters>
</CotpTpduConnectionResponse>
</userData>
- </test:tpktMessage>
+ </s7:TpktMessage>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
@@ -101,7 +100,7 @@
In this test-case the packet doesn't start with the required magic byte 0x03.
-->
<tdml:parserTestCase name="TPKT: invalidMagicByte"
- root="tpktMessage"
+ root="TpktMessage"
model="s7Schema">
<tdml:document>
<tdml:documentPart type="byte">0400001611D00001000200C00109C1020100C2020102</tdml:documentPart>
@@ -117,7 +116,7 @@
length provided in the packet header (Too short)
-->
<tdml:parserTestCase name="TPKT: tooShortPayload"
- root="tpktMessage"
+ root="TpktMessage"
model="s7Schema">
<tdml:document>
<tdml:documentPart type="byte">0300001611D00001000200C00109C102010</tdml:documentPart>
@@ -133,7 +132,7 @@
length provided in the packet header (Too long)
-->
<tdml:parserTestCase name="TPKT: tooLongPayload"
- root="tpktMessage"
+ root="TpktMessage"
model="s7Schema">
<tdml:document>
<tdml:documentPart type="byte">0300001611D00001000200C00109C1020100C20201021234567890</tdml:documentPart>
@@ -151,7 +150,7 @@
-->
<tdml:parserTestCase name="COTP: typeConnectionRequest"
- root="tpktMessage"
+ root="TpktMessage"
model="s7Schema"
description="Minimal valid COTP Connection Request TPDU">
<tdml:document>
@@ -160,7 +159,7 @@
<tdml:infoset>
<tdml:dfdlInfoset>
- <test:tpktMessage>
+ <s7:TpktMessage>
<magicByte>3</magicByte>
<reserved>0</reserved>
<length>7</length>
@@ -173,13 +172,13 @@
<protocolClass>0</protocolClass>
</CotpTpduConnectionRequest>
</userData>
- </test:tpktMessage>
+ </s7:TpktMessage>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<tdml:parserTestCase name="COTP: typeConnectionResponse"
- root="tpktMessage"
+ root="TpktMessage"
model="s7Schema"
description="Minimal valid COTP Connection Response TPDU">
<tdml:document>
@@ -188,7 +187,7 @@
<tdml:infoset>
<tdml:dfdlInfoset>
- <test:tpktMessage>
+ <s7:TpktMessage>
<magicByte>3</magicByte>
<reserved>0</reserved>
<length>7</length>
@@ -201,13 +200,13 @@
<protocolClass>0</protocolClass>
</CotpTpduConnectionResponse>
</userData>
- </test:tpktMessage>
+ </s7:TpktMessage>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<tdml:parserTestCase name="COTP: typeDisconnectionRequest"
- root="tpktMessage"
+ root="TpktMessage"
model="s7Schema"
description="Minimal valid COTP Disconnection Request TPDU">
<!-- Define the input -->
@@ -218,7 +217,7 @@
<!-- Define the expected output -->
<tdml:infoset>
<tdml:dfdlInfoset>
- <test:tpktMessage>
+ <s7:TpktMessage>
<magicByte>3</magicByte>
<reserved>0</reserved>
<length>7</length>
@@ -231,13 +230,13 @@
<disconnectReason>0</disconnectReason>
</CotpTpduDisconnectRequest>
</userData>
- </test:tpktMessage>
+ </s7:TpktMessage>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<tdml:parserTestCase name="COTP: typeDisconnectionResponse"
- root="tpktMessage"
+ root="TpktMessage"
model="s7Schema"
description="Minimal valid COTP Disconnection Response TPDU">
<!-- Define the input -->
@@ -248,7 +247,7 @@
<!-- Define the expected output -->
<tdml:infoset>
<tdml:dfdlInfoset>
- <test:tpktMessage>
+ <s7:TpktMessage>
<magicByte>3</magicByte>
<reserved>0</reserved>
<length>6</length>
@@ -260,13 +259,13 @@
<sourceReference>2</sourceReference>
</CotpTpduDisconnectResponse>
</userData>
- </test:tpktMessage>
+ </s7:TpktMessage>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<tdml:parserTestCase name="COTP: typeError"
- root="tpktMessage"
+ root="TpktMessage"
model="s7Schema"
description="Minimal valid COTP Error TPDU">
<!-- Define the input -->
@@ -277,7 +276,7 @@
<!-- Define the expected output -->
<tdml:infoset>
<tdml:dfdlInfoset>
- <test:tpktMessage>
+ <s7:TpktMessage>
<magicByte>3</magicByte>
<reserved>0</reserved>
<length>5</length>
@@ -289,13 +288,13 @@
<rejectCause>2</rejectCause>
</CotpTpduError>
</userData>
- </test:tpktMessage>
+ </s7:TpktMessage>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<tdml:parserTestCase name="COTP: typeData"
- root="tpktMessage"
+ root="TpktMessage"
model="s7Schema"
description="Minimal valid COTP Data TPDU">
<!-- Define the input -->
@@ -306,7 +305,7 @@
<!-- Define the expected output -->
<tdml:infoset>
<tdml:dfdlInfoset>
- <test:tpktMessage>
+ <s7:TpktMessage>
<magicByte>3</magicByte>
<reserved>0</reserved>
<length>3</length>
@@ -318,13 +317,13 @@
<tpduRef>2</tpduRef>
</CotpTpduData>
</userData>
- </test:tpktMessage>
+ </s7:TpktMessage>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<tdml:parserTestCase name="COTP: typeDataEndOfTransmission"
- root="tpktMessage"
+ root="TpktMessage"
model="s7Schema"
description="Minimal valid COTP Data (End Of Transmission) TPDU">
<!-- Define the input -->
@@ -335,7 +334,7 @@
<!-- Define the expected output -->
<tdml:infoset>
<tdml:dfdlInfoset>
- <test:tpktMessage>
+ <s7:TpktMessage>
<magicByte>3</magicByte>
<reserved>0</reserved>
<length>3</length>
@@ -347,13 +346,13 @@
<tpduRef>2</tpduRef>
</CotpTpduData>
</userData>
- </test:tpktMessage>
+ </s7:TpktMessage>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<tdml:parserTestCase name="COTP: invalid type"
- root="tpktMessage"
+ root="TpktMessage"
model="s7Schema"
description="Invalid type code">
<tdml:document>
@@ -372,7 +371,7 @@
-->
<tdml:parserTestCase name="COTP: parameterTpduSize"
- root="tpktMessage"
+ root="TpktMessage"
model="s7Schema"
description="parameterTpduSize">
<!-- Define the input -->
@@ -383,7 +382,7 @@
<!-- Define the expected output -->
<tdml:infoset>
<tdml:dfdlInfoset>
- <test:tpktMessage>
+ <s7:TpktMessage>
<magicByte>3</magicByte>
<reserved>0</reserved>
<length>10</length>
@@ -405,13 +404,13 @@
</parameters>
</CotpTpduConnectionRequest>
</userData>
- </test:tpktMessage>
+ </s7:TpktMessage>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<tdml:parserTestCase name="COTP: parameterCallingTsap"
- root="tpktMessage"
+ root="TpktMessage"
model="s7Schema"
description="parameterCallingTsap">
<!-- Define the input -->
@@ -422,7 +421,7 @@
<!-- Define the expected output -->
<tdml:infoset>
<tdml:dfdlInfoset>
- <test:tpktMessage>
+ <s7:TpktMessage>
<magicByte>3</magicByte>
<reserved>0</reserved>
<length>11</length>
@@ -444,13 +443,13 @@
</parameters>
</CotpTpduConnectionRequest>
</userData>
- </test:tpktMessage>
+ </s7:TpktMessage>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<tdml:parserTestCase name="COTP: parameterCalledTsap"
- root="tpktMessage"
+ root="TpktMessage"
model="s7Schema"
description="parameterCalledTsap">
<!-- Define the input -->
@@ -461,7 +460,7 @@
<!-- Define the expected output -->
<tdml:infoset>
<tdml:dfdlInfoset>
- <test:tpktMessage>
+ <s7:TpktMessage>
<magicByte>3</magicByte>
<reserved>0</reserved>
<length>11</length>
@@ -483,13 +482,13 @@
</parameters>
</CotpTpduConnectionRequest>
</userData>
- </test:tpktMessage>
+ </s7:TpktMessage>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<tdml:parserTestCase name="COTP: parameterChecksum"
- root="tpktMessage"
+ root="TpktMessage"
model="s7Schema"
description="parameterChecksum">
<!-- Define the input -->
@@ -500,7 +499,7 @@
<!-- Define the expected output -->
<tdml:infoset>
<tdml:dfdlInfoset>
- <test:tpktMessage>
+ <s7:TpktMessage>
<magicByte>3</magicByte>
<reserved>0</reserved>
<length>10</length>
@@ -522,13 +521,13 @@
</parameters>
</CotpTpduConnectionRequest>
</userData>
- </test:tpktMessage>
+ </s7:TpktMessage>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<tdml:parserTestCase name="COTP: parameterDisconnectAdditionalInformation"
- root="tpktMessage"
+ root="TpktMessage"
model="s7Schema"
description="parameterDisconnectAdditionalInformation">
<!-- Define the input -->
@@ -539,7 +538,7 @@
<!-- Define the expected output -->
<tdml:infoset>
<tdml:dfdlInfoset>
- <test:tpktMessage>
+ <s7:TpktMessage>
<magicByte>3</magicByte>
<reserved>0</reserved>
<length>15</length>
@@ -561,13 +560,13 @@
</parameters>
</CotpTpduConnectionRequest>
</userData>
- </test:tpktMessage>
+ </s7:TpktMessage>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<tdml:parserTestCase name="COTP: invalid parameter type"
- root="tpktMessage"
+ root="TpktMessage"
model="s7Schema"
description="Invalid parameter type">
<tdml:document>
@@ -586,7 +585,7 @@
-->
<tdml:parserTestCase name="COTP: scenarioConnectionRequest"
- root="tpktMessage"
+ root="TpktMessage"
model="s7Schema"
description="COTP Connection request used for initiating an S7 protocol connection.">
<!-- Define the input -->
@@ -597,7 +596,7 @@
<!-- Define the expected output -->
<tdml:infoset>
<tdml:dfdlInfoset>
- <test:tpktMessage>
+ <s7:TpktMessage>
<magicByte>3</magicByte>
<reserved>0</reserved>
<length>18</length>
@@ -633,13 +632,13 @@
</parameters>
</CotpTpduConnectionRequest>
</userData>
- </test:tpktMessage>
+ </s7:TpktMessage>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<tdml:parserTestCase name="COTP: scenarioConnectionResponse"
- root="tpktMessage"
+ root="TpktMessage"
model="s7Schema"
description="Minimal valid COTP Message">
<!-- Define the input -->
@@ -650,7 +649,7 @@
<!-- Define the expected output -->
<tdml:infoset>
<tdml:dfdlInfoset>
- <test:tpktMessage>
+ <s7:TpktMessage>
<magicByte>3</magicByte>
<reserved>0</reserved>
<length>18</length>
@@ -686,13 +685,13 @@
</parameters>
</CotpTpduConnectionResponse>
</userData>
- </test:tpktMessage>
+ </s7:TpktMessage>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<tdml:parserTestCase name="COTP: scenarioDataTpdu"
- root="tpktMessage"
+ root="TpktMessage"
model="s7Schema"
description="Typical Data TPDU used for transferring S7 packets.">
<!-- Define the input -->
@@ -704,7 +703,7 @@
<!-- Define the expected output -->
<tdml:infoset>
<tdml:dfdlInfoset>
- <test:tpktMessage>
+ <s7:TpktMessage>
<magicByte>3</magicByte>
<reserved>0</reserved>
<length>31</length>
@@ -754,13 +753,13 @@
</S7RequestMessage>
</userData>
</userData>
- </test:tpktMessage>
+ </s7:TpktMessage>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<tdml:parserTestCase name="S7: Setup Communication Request"
- root="tpktMessage"
+ root="TpktMessage"
model="s7Schema">
<!-- Define the input -->
<tdml:document>
@@ -770,7 +769,7 @@
<!-- Define the expected output -->
<tdml:infoset>
<tdml:dfdlInfoset>
- <test:tpktMessage>
+ <s7:TpktMessage>
<magicByte>3</magicByte>
<reserved>0</reserved>
<length>25</length>
@@ -808,13 +807,13 @@
</S7RequestMessage>
</userData>
</userData>
- </test:tpktMessage>
+ </s7:TpktMessage>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<tdml:parserTestCase name="S7: Setup Communication Response"
- root="tpktMessage"
+ root="TpktMessage"
model="s7Schema">
<!-- Define the input -->
<tdml:document>
@@ -824,7 +823,7 @@
<!-- Define the expected output -->
<tdml:infoset>
<tdml:dfdlInfoset>
- <test:tpktMessage>
+ <s7:TpktMessage>
<magicByte>3</magicByte>
<reserved>0</reserved>
<length>27</length>
@@ -864,13 +863,13 @@
</S7ResponseMessage>
</userData>
</userData>
- </test:tpktMessage>
+ </s7:TpktMessage>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<tdml:parserTestCase name="S7: Read SZL CPU Function Request"
- root="tpktMessage"
+ root="TpktMessage"
model="s7Schema">
<!-- Define the input -->
<tdml:document>
@@ -881,7 +880,7 @@
<!-- Define the expected output -->
<tdml:infoset>
<tdml:dfdlInfoset>
- <test:tpktMessage>
+ <s7:TpktMessage>
<magicByte>3</magicByte>
<reserved>0</reserved>
<length>33</length>
@@ -928,13 +927,13 @@
</S7UserDataMessage>
</userData>
</userData>
- </test:tpktMessage>
+ </s7:TpktMessage>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<tdml:parserTestCase name="S7: Read SZL CPU Function Response"
- root="tpktMessage"
+ root="TpktMessage"
model="s7Schema">
<!-- Define the input -->
<tdml:document>
@@ -946,7 +945,7 @@
<!-- Define the expected output -->
<tdml:infoset>
<tdml:dfdlInfoset>
- <test:tpktMessage>
+ <s7:TpktMessage>
<magicByte>3</magicByte>
<reserved>0</reserved>
<length>153</length>
@@ -1038,13 +1037,13 @@
</S7UserDataMessage>
</userData>
</userData>
- </test:tpktMessage>
+ </s7:TpktMessage>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<tdml:parserTestCase name="S7: Read Var Request (Single Item)"
- root="tpktMessage"
+ root="TpktMessage"
model="s7Schema">
<!-- Define the input -->
<tdml:document>
@@ -1055,7 +1054,7 @@
<!-- Define the expected output -->
<tdml:infoset>
<tdml:dfdlInfoset>
- <test:tpktMessage>
+ <s7:TpktMessage>
<magicByte>3</magicByte>
<reserved>0</reserved>
<length>31</length>
@@ -1105,13 +1104,13 @@
</S7RequestMessage>
</userData>
</userData>
- </test:tpktMessage>
+ </s7:TpktMessage>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<tdml:parserTestCase name="S7: Read Var Response (Single Item)"
- root="tpktMessage"
+ root="TpktMessage"
model="s7Schema">
<!-- Define the input -->
<tdml:document>
@@ -1122,7 +1121,7 @@
<!-- Define the expected output -->
<tdml:infoset>
<tdml:dfdlInfoset>
- <test:tpktMessage>
+ <s7:TpktMessage>
<magicByte>3</magicByte>
<reserved>0</reserved>
<length>29</length>
@@ -1168,13 +1167,13 @@
</S7ResponseMessage>
</userData>
</userData>
- </test:tpktMessage>
+ </s7:TpktMessage>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<tdml:parserTestCase name="S7: Read Var Request (Mixed Items)"
- root="tpktMessage"
+ root="TpktMessage"
model="s7Schema">
<!-- Define the input -->
<tdml:document>
@@ -1185,7 +1184,7 @@
<tdml:infoset>
<tdml:dfdlInfoset>
- <test:tpktMessage>
+ <s7:TpktMessage>
<magicByte>3</magicByte>
<reserved>0</reserved>
<length>103</length>
@@ -1313,13 +1312,13 @@
</S7RequestMessage>
</userData>
</userData>
- </test:tpktMessage>
+ </s7:TpktMessage>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<tdml:parserTestCase name="S7: Read Var Response (Mixed Items)"
- root="tpktMessage"
+ root="TpktMessage"
model="s7Schema">
<!-- Define the input -->
<tdml:document>
@@ -1330,7 +1329,7 @@
<tdml:infoset>
<tdml:dfdlInfoset>
- <test:tpktMessage>
+ <s7:TpktMessage>
<magicByte>3</magicByte>
<reserved>0</reserved>
<length>64</length>
@@ -1421,13 +1420,13 @@
</S7ResponseMessage>
</userData>
</userData>
- </test:tpktMessage>
+ </s7:TpktMessage>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<tdml:parserTestCase name="S7: Read Var Response (Mixed Items with odd number of bytes)"
- root="tpktMessage"
+ root="TpktMessage"
model="s7Schema">
<!-- Define the input -->
<tdml:document>
@@ -1438,7 +1437,7 @@
<tdml:infoset>
<tdml:dfdlInfoset>
- <test:tpktMessage>
+ <s7:TpktMessage>
<magicByte>3</magicByte>
<reserved>0</reserved>
<length>40</length>
@@ -1500,13 +1499,13 @@
</S7ResponseMessage>
</userData>
</userData>
- </test:tpktMessage>
+ </s7:TpktMessage>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<tdml:parserTestCase name="S7: Read Var Request (No Filling Bytes)"
- root="tpktMessage"
+ root="TpktMessage"
model="s7Schema">
<!-- Define the input -->
<tdml:document>
@@ -1517,7 +1516,7 @@
<tdml:infoset>
<tdml:dfdlInfoset>
- <test:tpktMessage>
+ <s7:TpktMessage>
<magicByte>3</magicByte>
<reserved>0</reserved>
<length>55</length>
@@ -1593,13 +1592,13 @@
</S7RequestMessage>
</userData>
</userData>
- </test:tpktMessage>
+ </s7:TpktMessage>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<tdml:parserTestCase name="S7: Read Var Response (No Filling Bytes)"
- root="tpktMessage"
+ root="TpktMessage"
model="s7Schema">
<!-- Define the input -->
<tdml:document>
@@ -1610,7 +1609,7 @@
<tdml:infoset>
<tdml:dfdlInfoset>
- <test:tpktMessage>
+ <s7:TpktMessage>
<magicByte>3</magicByte>
<reserved>0</reserved>
<length>41</length>
@@ -1670,13 +1669,13 @@
</S7ResponseMessage>
</userData>
</userData>
- </test:tpktMessage>
+ </s7:TpktMessage>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<tdml:parserTestCase name="S7: Read Var Request (With Filling Bytes)"
- root="tpktMessage"
+ root="TpktMessage"
model="s7Schema">
<!-- Define the input -->
<tdml:document>
@@ -1687,7 +1686,7 @@
<tdml:infoset>
<tdml:dfdlInfoset>
- <test:tpktMessage>
+ <s7:TpktMessage>
<magicByte>3</magicByte>
<reserved>0</reserved>
<length>67</length>
@@ -1776,13 +1775,13 @@
</S7RequestMessage>
</userData>
</userData>
- </test:tpktMessage>
+ </s7:TpktMessage>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<tdml:parserTestCase name="S7: Read Var Response (With Filling Bytes)"
- root="tpktMessage"
+ root="TpktMessage"
model="s7Schema">
<!-- Define the input -->
<tdml:document>
@@ -1793,7 +1792,7 @@
<tdml:infoset>
<tdml:dfdlInfoset>
- <test:tpktMessage>
+ <s7:TpktMessage>
<magicByte>3</magicByte>
<reserved>0</reserved>
<length>44</length>
@@ -1863,13 +1862,13 @@
</S7ResponseMessage>
</userData>
</userData>
- </test:tpktMessage>
+ </s7:TpktMessage>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<tdml:parserTestCase name="S7: Write Var Request (Single Item)"
- root="tpktMessage"
+ root="TpktMessage"
model="s7Schema">
<!-- Define the input -->
<tdml:document>
@@ -1881,7 +1880,7 @@
<!-- Define the expected output -->
<tdml:infoset>
<tdml:dfdlInfoset>
- <test:tpktMessage>
+ <s7:TpktMessage>
<magicByte>3</magicByte>
<reserved>0</reserved>
<length>39</length>
@@ -1940,13 +1939,13 @@
</S7RequestMessage>
</userData>
</userData>
- </test:tpktMessage>
+ </s7:TpktMessage>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<tdml:parserTestCase name="S7: Write Var Response (Single Item)"
- root="tpktMessage"
+ root="TpktMessage"
model="s7Schema">
<!-- Define the input -->
<tdml:document>
@@ -1956,7 +1955,7 @@
<!-- Define the expected output -->
<tdml:infoset>
<tdml:dfdlInfoset>
- <test:tpktMessage>
+ <s7:TpktMessage>
<magicByte>3</magicByte>
<reserved>0</reserved>
<length>22</length>
@@ -1998,13 +1997,13 @@
</S7ResponseMessage>
</userData>
</userData>
- </test:tpktMessage>
+ </s7:TpktMessage>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<tdml:parserTestCase name="S7: Read Var Request (Multiple Items)"
- root="tpktMessage"
+ root="TpktMessage"
model="s7Schema">
<!-- Define the input -->
<tdml:document>
@@ -2016,7 +2015,7 @@
<!-- Define the expected output -->
<tdml:infoset>
<tdml:dfdlInfoset>
- <test:tpktMessage>
+ <s7:TpktMessage>
<magicByte>3</magicByte>
<reserved>0</reserved>
<length>79</length>
@@ -2118,13 +2117,13 @@
</S7RequestMessage>
</userData>
</userData>
- </test:tpktMessage>
+ </s7:TpktMessage>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<tdml:parserTestCase name="S7: Read Var Response (Multiple Items)"
- root="tpktMessage"
+ root="TpktMessage"
model="s7Schema">
<!-- Define the input -->
<tdml:document>
@@ -2136,7 +2135,7 @@
<!-- Define the expected output -->
<tdml:infoset>
<tdml:dfdlInfoset>
- <test:tpktMessage>
+ <s7:TpktMessage>
<magicByte>3</magicByte>
<reserved>0</reserved>
<length>121</length>
@@ -2210,13 +2209,13 @@
</S7ResponseMessage>
</userData>
</userData>
- </test:tpktMessage>
+ </s7:TpktMessage>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<tdml:parserTestCase name="S7: Write Var Request (Multiple Items)"
- root="tpktMessage"
+ root="TpktMessage"
model="s7Schema">
<!-- Define the input -->
<tdml:document>
@@ -2228,7 +2227,7 @@
<!-- Define the expected output -->
<tdml:infoset>
<tdml:dfdlInfoset>
- <test:tpktMessage>
+ <s7:TpktMessage>
<magicByte>3</magicByte>
<reserved>0</reserved>
<length>195</length>
@@ -2367,13 +2366,13 @@
</S7RequestMessage>
</userData>
</userData>
- </test:tpktMessage>
+ </s7:TpktMessage>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
<tdml:parserTestCase name="S7: Write Var Response (Multiple Items)"
- root="tpktMessage"
+ root="TpktMessage"
model="s7Schema">
<!-- Define the input -->
<tdml:document>
@@ -2383,7 +2382,7 @@
<!-- Define the expected output -->
<tdml:infoset>
<tdml:dfdlInfoset>
- <test:tpktMessage>
+ <s7:TpktMessage>
<magicByte>3</magicByte>
<reserved>0</reserved>
<length>26</length>
@@ -2437,7 +2436,7 @@
</S7ResponseMessage>
</userData>
</userData>
- </test:tpktMessage>
+ </s7:TpktMessage>
</tdml:dfdlInfoset>
</tdml:infoset>
</tdml:parserTestCase>
diff --git a/sandbox/dynamic-driver-base/pom.xml b/sandbox/dynamic-driver-base/pom.xml
index ea25bac..bb34128 100644
--- a/sandbox/dynamic-driver-base/pom.xml
+++ b/sandbox/dynamic-driver-base/pom.xml
@@ -51,7 +51,12 @@
<dependency>
<groupId>org.apache.daffodil</groupId>
<artifactId>daffodil-japi_2.12</artifactId>
- <version>2.2.0</version>
+ <version>${daffodil.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.daffodil</groupId>
+ <artifactId>daffodil-runtime1_2.12</artifactId>
+ <version>${daffodil.version}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
@@ -64,14 +69,8 @@
<version>2.0.6</version>
</dependency>
<dependency>
- <groupId>org.apache.daffodil</groupId>
- <artifactId>daffodil-runtime1_2.12</artifactId>
- <version>2.2.0</version>
- </dependency>
- <dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-library</artifactId>
- <version>2.12.6</version>
</dependency>
<dependency>