Commit 60e3c677 authored by Martti Käärik's avatar Martti Käärik
Browse files

CastDataUse support for Java code generator

parent 1c205f12
Loading
Loading
Loading
Loading
+16 −3
Original line number Diff line number Diff line
@@ -27,6 +27,7 @@ import org.etsi.mts.tdl.Behaviour;
import org.etsi.mts.tdl.Block;
import org.etsi.mts.tdl.BoundedLoopBehaviour;
import org.etsi.mts.tdl.Break;
import org.etsi.mts.tdl.CastDataUse;
import org.etsi.mts.tdl.CollectionDataType;
import org.etsi.mts.tdl.CombinedBehaviour;
import org.etsi.mts.tdl.ComponentInstance;
@@ -1703,6 +1704,15 @@ public class JUnitTestGenerator extends Renderer {
		PredefinedFunction predefinedFunction = null;
		List<MemberAssignment> memberAssignments = null;
		List<DataUse> collectionItems = null;
		DataType castTo = null;

		String ref = dataUseVariables.get(d);
		List<ParameterBinding> arguments = getDataUseArguments(d);
		
		if (d instanceof CastDataUse) {
			castTo = ((CastDataUse) d).getDataType();
			d = ((CastDataUse) d).getDataUse();
		}

		if (d instanceof DataElementUse) {
			NamedElement element = ((DataElementUse) d).getDataElement();
@@ -1747,10 +1757,13 @@ public class JUnitTestGenerator extends Renderer {
			predefinedFunction = ((PredefinedFunctionCall) d).getFunction();
		}

		String ref = dataUseVariables.get(d);
		append(ref);
		if (!isUnmapped()) {
			append(" = ");
			if (castTo != null) {
				DataElementMapping m = getMappingChecked(castTo);
				append("(" + m.getElementURI() + ")");
			}
		}

		String typeName = declaredTypes.get(d.resolveDataType());
@@ -1884,8 +1897,8 @@ public class JUnitTestGenerator extends Renderer {

		line(";");

		if (!getDataUseArguments(d).isEmpty()) {
			for (ParameterBinding arg : getDataUseArguments(d)) {
		if (!arguments.isEmpty()) {
			for (ParameterBinding arg : arguments) {
				// TODO members of collection type
				append(ref);
				append(".");