Commit c1577646 authored by Philip Makedonski's avatar Philip Makedonski
Browse files

* split generated TTCN-3 into separate files per module, &27

parent 630e6d57
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -104,11 +104,11 @@ public class TTCN3Renderer {
			output+=render(e, indent+this.indent);
		}
		output +="}"+LF;
		//TODO: split nested into files?
		//TODO: split nested into files? -> handle upstream
		//TODO: prefix nested?
		for (var n : p.getNestedPackage()) {
			output+=render(n, indent);
		}
//		for (var n : p.getNestedPackage()) {
//			output+=render(n, indent);
//		}
		return output;
	}

+18 −17
Original line number Diff line number Diff line
@@ -2,6 +2,7 @@ package org.etsi.mts.tdl.tools.rt.ui.handlers;

import java.util.Arrays;
import java.util.LinkedHashMap;
import java.util.List;

import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.core.commands.ExecutionEvent;
@@ -26,6 +27,7 @@ import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.dialogs.ElementListSelectionDialog;
import org.eclipse.ui.handlers.HandlerUtil;
import org.eclipse.ui.part.FileEditorInput;
import org.eclipse.xtext.EcoreUtil2;
import org.eclipse.xtext.resource.XtextResourceSet;
import org.etsi.mts.tdl.Package;
import org.etsi.mts.tdl.tools.rt.renderers.TTCN3Renderer;
@@ -115,19 +117,16 @@ public class RendererHandler extends AbstractHandler {
				String selected = (String)result[0];
				RendererHandler.translationTarget = selected;
				String extension = targetFormats.get(selected);
				URI targetURI = URI.createURI(uri.toString()+"."+extension);
				
				TTCN3Renderer ttcn3 = new TTCN3Renderer();

				Package p = (Package) r.getContents().get(0);
				String output = ""; 
				output += ttcn3.render(p, "  ");
				//TODO: store
//				System.out.println(output);
				
				List<Package> packages = EcoreUtil2.getAllContentsOfType(r, Package.class);
				IWorkspace workspace = ResourcesPlugin.getWorkspace();
				IWorkspaceRoot root = workspace.getRoot();
		        IPath target = file.getFullPath().addFileExtension("ttcn");
				for (Package p : packages) {
					String output = ""; 
					output += ttcn3.render(p, "  ");
					IPath target = file.getFullPath().removeLastSegments(1).append(p.getName()).addFileExtension(extension);
					IFile targetFile = root.getFile(target);
					try {
						if (!targetFile.exists()) {
@@ -138,6 +137,8 @@ public class RendererHandler extends AbstractHandler {
					} catch (CoreException e) {
						e.printStackTrace();
					}
					
				}
			}
		}
		return null;