Commit 799d6b9b authored by Philip Makedonski's avatar Philip Makedonski
Browse files

+ formatting improvements for data uses

parent 42c947ca
Loading
Loading
Loading
Loading
+38 −0
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ import org.eclipse.xtext.xbase.lib.Procedures.Procedure1;
import org.etsi.mts.tdl.Element;
import org.etsi.mts.tdl.ElementImport;
import org.etsi.mts.tdl.PackageableElement;
import org.etsi.mts.tdl.ParameterBinding;
import org.etsi.mts.tdl.ParameterMapping;
import org.etsi.mts.tdl.StructuredDataType;
import org.etsi.mts.tdl.EnumDataType;
@@ -32,6 +33,8 @@ import org.etsi.mts.tdl.Connection;
import org.etsi.mts.tdl.Annotation;
import org.etsi.mts.tdl.Extension;
import org.etsi.mts.tdl.DataElementMapping;
import org.etsi.mts.tdl.DataElementUse;
import org.etsi.mts.tdl.DataUse;
import org.etsi.mts.tdl.TestConfiguration;
import org.etsi.mts.tdl.TestDescription;
import org.etsi.mts.tdl.Behaviour;
@@ -240,6 +243,12 @@ public class TDLtxFormatter extends AbstractJavaFormatter {
//				doc.append(m, p->p.newLine());
				doc.format(m);
			}
			
			List<ISemanticRegion> close = this.textRegionExtensions.regionFor(e).ruleCallsTo(this._grammarAccess.getENDRule());
			if (!close.isEmpty()) {
				doc.prepend(close.get(0), p->p.newLine());
			}

		}
		
		//Test Objective Only
@@ -319,6 +328,35 @@ public class TDLtxFormatter extends AbstractJavaFormatter {
		}
	}

	protected void format(org.etsi.mts.tdl.DataUse e, IFormattableDocument doc) {
		for (ParameterBinding m : e.getArgument()) {
			doc.prepend(m, p->p.newLine());
			doc.surround(m, p->p.indent());
//			doc.append(m, p->p.newLine());
			doc.format(m);
		}
		if (e instanceof DataElementUse) {
			for (DataUse m : ((DataElementUse) e).getItem()) {
				doc.prepend(m, p->p.newLine());
				doc.surround(m, p->p.indent());
//			doc.append(m, p->p.newLine());
				doc.format(m);
			}
		}
		
		List<ISemanticRegion> closeParen = this.textRegionExtensions.regionFor(e).ruleCallsTo(this._grammarAccess.getRParenRule());
		if (!closeParen.isEmpty()) {
			doc.prepend(closeParen.get(0), p->p.newLine());
		}
		List<ISemanticRegion> closeItems = this.textRegionExtensions.regionFor(e).keywords("]");
		if (!closeItems.isEmpty()) {
			doc.prepend(closeItems.get(0), p->p.newLine());
		}


	}

	
	protected void format(org.etsi.mts.tdl.Package _package, IFormattableDocument doc) {
		// TODO: format HiddenRegions around keywords, attributes, cross references, etc.
		if (getPreferences() instanceof MapBasedPreferenceValues) {