Loading plugins/org.etsi.mts.tdl.common/src/org/etsi/mts/tdl/resources/ResourceHandler.java +46 −4 Original line number Diff line number Diff line Loading @@ -6,18 +6,14 @@ import java.io.IOException; import java.net.URI; import java.net.URISyntaxException; import java.net.URL; import java.nio.file.FileSystems; import java.nio.file.Files; import java.nio.file.PathMatcher; import java.nio.file.Paths; import java.util.ArrayList; import java.util.Collections; import java.util.Enumeration; import java.util.HashSet; import java.util.List; import java.util.Optional; import java.util.Set; import java.util.stream.Collectors; import java.util.stream.Stream; import org.eclipse.core.resources.IFile; Loading @@ -32,6 +28,7 @@ import org.eclipse.core.runtime.Path; import org.eclipse.core.runtime.Platform; import org.eclipse.emf.ecore.resource.Resource; import org.eclipse.emf.ecore.resource.ResourceSet; import org.eclipse.emf.ecore.util.EcoreUtil; import org.eclipse.xtext.GrammarUtil; import org.eclipse.xtext.IGrammarAccess; import org.eclipse.xtext.resource.IResourceServiceProvider; Loading Loading @@ -88,6 +85,51 @@ public class ResourceHandler { return create(getResourceSet(), filename); } /** * Loads an existing resource from a file. * @param filename location of the resource to be loaded. * @return A resource loaded from the file. */ public static Resource load(String filename) { Resource resource = getResourceSet().getResource(org.eclipse.emf.common.util.URI.createURI(filename), true); return resource; } /** * Link / resolve all loaded resources. */ public static void link() { EcoreUtil.resolveAll(getResourceSet()); } /** * Check all resources in the shared resourceSet. */ public static void check() { //TODO: check automatically? make optional in case of performance or redundancy concerns? // TDLHelper.link(); getResourceSet().getResources().forEach(ResourceHandler::check); } /** * Check resource in the shared resourceSet. Load if needed. * @param filename location of the resource to be checked. */ public static void check(String filename) { Resource r = ResourceHandler.load(filename); check(r); } /** * Check resource. * @param r the resource to be checked. */ public static void check(Resource r) { r.getErrors().forEach(e -> System.out.println("Error: "+r.getURI().lastSegment()+": "+e.getLine()+": "+e.getMessage())); r.getWarnings().forEach(e -> System.out.println("Warning: "+r.getURI().lastSegment()+": "+e.getLine()+": "+e.getMessage())); } /** * Store resource contents in a file. * @param resource A resource to be saved. Loading plugins/org.etsi.mts.tdl.helper/src/org/etsi/mts/tdl/helper/TDLHelper.java +6 −27 Original line number Diff line number Diff line Loading @@ -2,31 +2,18 @@ package org.etsi.mts.tdl.helper; import java.io.ByteArrayInputStream; import java.io.IOException; import java.util.ArrayList; import java.util.Collections; import java.util.HashSet; import java.util.Set; import org.apache.log4j.Level; import org.apache.log4j.Logger; import org.eclipse.core.resources.IFile; import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.IResource; import org.eclipse.core.resources.IResourceVisitor; import org.eclipse.core.resources.IWorkspaceRoot; import org.eclipse.core.resources.ResourcesPlugin; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.NullProgressMonitor; import org.eclipse.core.runtime.Path; import org.eclipse.core.runtime.Platform; import org.eclipse.emf.common.util.URI; import org.eclipse.emf.ecore.EOperation; import org.eclipse.emf.ecore.EStructuralFeature; import org.eclipse.emf.ecore.EValidator; import org.eclipse.emf.ecore.resource.Resource; import org.eclipse.emf.ecore.util.EcoreUtil; import org.eclipse.emf.mwe.utils.StandaloneSetup; import org.eclipse.ocl.common.OCLConstants; import org.eclipse.ocl.pivot.internal.delegate.OCLInvocationDelegateFactory; Loading @@ -38,8 +25,6 @@ import org.eclipse.xtext.GrammarUtil; import org.eclipse.xtext.IGrammarAccess; import org.eclipse.xtext.resource.IResourceServiceProvider; import org.eclipse.xtext.resource.XtextResourceSet; import org.eclipse.xtext.serializer.impl.Serializer; import org.etsi.mts.tdl.Package; import org.etsi.mts.tdl.TDLan2StandaloneSetup; import org.etsi.mts.tdl.TDLtxStandaloneSetup; import org.etsi.mts.tdl.TDLtxiStandaloneSetup; Loading @@ -47,7 +32,6 @@ import org.etsi.mts.tdl.TPLan2StandaloneSetup; import org.etsi.mts.tdl.impl.tdlPackageImpl; import org.etsi.mts.tdl.resources.ResourceHandler; import org.etsi.mts.tdl.structuredobjectives.impl.StructuredObjectivesPackageImpl; import org.osgi.framework.Bundle; import com.google.inject.Injector; Loading Loading @@ -84,15 +68,14 @@ public class TDLHelper { * @return A resource loaded from the file. */ public static Resource load(String filename) { Resource resource = resourceSet.getResource(org.eclipse.emf.common.util.URI.createURI(filename), true); return resource; return ResourceHandler.load(filename); } /** * Link / resolve all loaded resources. */ public static void link() { EcoreUtil.resolveAll(resourceSet); ResourceHandler.link(); } /** Loading @@ -100,8 +83,7 @@ public class TDLHelper { */ public static void check() { //TODO: check automatically? make optional in case of performance or redundancy concerns? // TDLHelper.link(); resourceSet.getResources().forEach(TDLHelper::check); ResourceHandler.check(); } /** Loading @@ -109,20 +91,17 @@ public class TDLHelper { * @param filename location of the resource to be checked. */ public static void check(String filename) { Resource r = TDLHelper.load(filename); check(r); ResourceHandler.check(filename); } /** * Check resource. * @param r the resource to be checked. */ private static void check(Resource r) { r.getErrors().forEach(e -> System.out.println("Error: "+r.getURI().lastSegment()+": "+e.getLine()+": "+e.getMessage())); r.getWarnings().forEach(e -> System.out.println("Warning: "+r.getURI().lastSegment()+": "+e.getLine()+": "+e.getMessage())); public static void check(Resource r) { ResourceHandler.check(r); } /** * Creates a new resource at the specified location. * @param filename Location of the resource to be loaded. Loading plugins/org.etsi.mts.tdl.standalone/src/org/etsi/mts/tdl/standalone/Standalone.java +33 −42 Original line number Diff line number Diff line package org.etsi.mts.tdl.standalone; import de.ugoe.cs.swe.TTCN3StandaloneSetup; import java.io.File; import java.io.FilenameFilter; import java.net.URL; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.security.CodeSource; import java.security.ProtectionDomain; import java.util.ArrayList; import java.util.Arrays; import java.util.Comparator; import java.util.List; import java.util.function.Consumer; import java.util.stream.Collectors; import org.eclipse.emf.common.util.EList; import org.eclipse.emf.common.util.URI; import org.eclipse.emf.ecore.EClass; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.resource.Resource; Loading @@ -29,19 +22,14 @@ import org.eclipse.ocl.pivot.utilities.ParserException; import org.eclipse.ocl.pivot.utilities.Query; import org.eclipse.xtext.EcoreUtil2; import org.eclipse.xtext.nodemodel.util.NodeModelUtils; import org.etsi.mts.tdl.Behaviour; import org.etsi.mts.tdl.ComponentInstance; import org.etsi.mts.tdl.ComponentInstanceRole; import org.etsi.mts.tdl.CompoundBehaviour; import org.etsi.mts.tdl.Extension; import org.etsi.mts.tdl.GateType; import org.etsi.mts.tdl.Package; import org.etsi.mts.tdl.Behaviour; import org.etsi.mts.tdl.CompoundBehaviour; import org.etsi.mts.tdl.BoundedLoopBehaviour; import org.etsi.mts.tdl.AlternativeBehaviour; import org.etsi.mts.tdl.ConditionalBehaviour; import org.etsi.mts.tdl.ProcedureCall; import org.etsi.mts.tdl.Interaction; import org.etsi.mts.tdl.Message; import org.etsi.mts.tdl.Package; import org.etsi.mts.tdl.StructuredDataType; import org.etsi.mts.tdl.TestConfiguration; import org.etsi.mts.tdl.TestDescription; Loading @@ -49,16 +37,18 @@ import org.etsi.mts.tdl.tdlPackage; import org.etsi.mts.tdl.asn2tdl.ASN2TDLTranslator; import org.etsi.mts.tdl.constraints.evl.Validator; import org.etsi.mts.tdl.helper.TDLHelper; import org.etsi.mts.tdl.impl.CompoundBehaviourImpl; import org.etsi.mts.tdl.json2tdl.JSON2TDLTranslator; import org.etsi.mts.tdl.json2tdl.TDL2JSONTranslator; import org.etsi.mts.tdl.openapi2tdl.next.OpenAPI2TDLTranslatorNext; import org.etsi.mts.tdl.openapi2tdl.next.doc.Doc; import org.etsi.mts.tdl.resources.ResourceHandler; import org.etsi.mts.tdl.tools.to.docx.poi.Generator; import org.etsi.mts.tdl.transform.AbstractTranslator; import org.etsi.mts.tdl.ttcn3.Transform; import org.etsi.mts.tdl.yang2tdl.Yang2TDLTranslator; import de.ugoe.cs.swe.TTCN3StandaloneSetup; public class Standalone { static String sourceExtension = "tdltx"; static String targetExtension = "tdltx"; Loading @@ -80,6 +70,7 @@ public class Standalone { } public static void main(String[] args) throws Exception { TDLHelper.init(); Standalone app = new Standalone(); //TODO: expose as arguments Loading Loading @@ -230,7 +221,7 @@ public class Standalone { } private void processElements(String path, Consumer<String> operation) throws Exception { TDLHelper.resetResourceSet(); // TDLHelper.resetResourceSet(); processElements(path, sourceExtension, operation); } Loading @@ -247,9 +238,9 @@ public class Standalone { if (extension.contains("tdl")) { Files.walk(Path.of(path)) .filter(e->e.getFileName().toString().endsWith(extension)) .forEach(e->TDLHelper.load(e.toAbsolutePath().toString())); TDLHelper.link(); TDLHelper.check(); .forEach(e->ResourceHandler.load(e.toAbsolutePath().toString())); ResourceHandler.link(); ResourceHandler.check(); } Files.walk(Path.of(path)) .filter(e->e.getFileName().toString().endsWith(extension)) Loading @@ -267,10 +258,10 @@ public class Standalone { if (extension.contains("tdl")) { for (File f : files) { System.out.println("Loading: "+f.getAbsolutePath()); TDLHelper.load(f.getAbsolutePath()); ResourceHandler.load(f.getAbsolutePath()); } TDLHelper.link(); TDLHelper.check(); ResourceHandler.link(); ResourceHandler.check(); } for (File f : files) { System.out.println("Processing: "+f.getAbsolutePath()); Loading @@ -279,9 +270,9 @@ public class Standalone { } else { if (extension.contains("tdl")) { System.out.println("Loading: "+target.getAbsolutePath()); TDLHelper.load(target.getAbsolutePath()); TDLHelper.link(); TDLHelper.check(); ResourceHandler.load(target.getAbsolutePath()); ResourceHandler.link(); ResourceHandler.check(); } System.out.println("Processing: "+target.getAbsolutePath()); operation.accept(target.getAbsolutePath()); Loading @@ -289,7 +280,7 @@ public class Standalone { } private void listElements(String path) { Resource resource = TDLHelper.load(path); Resource resource = ResourceHandler.load(path); Package p = (Package) resource.getContents().get(0); System.out.println("Package: "+p.getName()); p.getNestedPackage().forEach(e -> { Loading @@ -312,7 +303,7 @@ public class Standalone { } private void validate(String path) { Resource resource = TDLHelper.load(path); Resource resource = ResourceHandler.load(path); Validator validator = new Validator(); //TODO: make robust against unresolved imports //TODO: report parsing / resolution errors Loading @@ -325,14 +316,14 @@ public class Standalone { } private void validateOCL(String path) { Resource resource = TDLHelper.load(path); Resource resource = ResourceHandler.load(path); Validator validator = new Validator(); validator.validateOCL2(resource); } private void evaluateOCLInline(String path) { Resource resource = TDLHelper.load(path); OCL ocl = OCL.newInstance(TDLHelper.getResourceSet()); Resource resource = ResourceHandler.load(path); OCL ocl = OCL.newInstance(ResourceHandler.getResourceSet()); EClass contextEClass = tdlPackage.Literals.GATE_TYPE; try { ExpressionInOCL query = ocl.createQuery(contextEClass, Loading @@ -350,11 +341,11 @@ public class Standalone { } private void translate(String path) { Resource resource = TDLHelper.load(path); Resource resource = ResourceHandler.load(path); try { Resource target = TDLHelper.create(resource.getURI().path() + "." + targetExtension); Resource target = ResourceHandler.create(resource.getURI().path() + "." + targetExtension); target.getContents().addAll(EcoreUtil.copyAll(resource.getContents())); TDLHelper.store(target, true); ResourceHandler.store(target, true); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); Loading @@ -364,10 +355,10 @@ public class Standalone { private void importData(String path, AbstractTranslator translator) { File source = new File(path); try { translator.setTargetResource(TDLHelper.create(source.getAbsolutePath()+"-generated."+targetExtension)); translator.setTargetResource(ResourceHandler.create(source.getAbsolutePath()+"-generated."+targetExtension)); translator.initTargetResource(translator.cleanName(source.getName())); translator.translate(source.getAbsolutePath()); TDLHelper.store(translator.getTargetResource(), false); ResourceHandler.store(translator.getTargetResource(), false); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); Loading @@ -392,7 +383,7 @@ public class Standalone { } private void generateDiagrams(String path) { Resource resource = TDLHelper.load(path); Resource resource = ResourceHandler.load(path); //export to external generator EObject model = resource.getContents().get(0); generateConfiguration(path, model); Loading Loading @@ -582,13 +573,13 @@ public class Standalone { } private void exportJSON(String path) { Resource resource = TDLHelper.load(path); Resource resource = ResourceHandler.load(path); TDL2JSONTranslator translator = new TDL2JSONTranslator(); translator.transform((Package) resource.getContents().get(0)); } private void exportDoc(String path) { Resource resource = TDLHelper.load(path); Resource resource = ResourceHandler.load(path); Generator generator = new Generator(); String target = path+".docx"; try { Loading @@ -606,13 +597,13 @@ public class Standalone { private void exportTTCN3(String path) { try { new TTCN3StandaloneSetup().createInjectorAndDoEMFRegistration(); Resource resource = TDLHelper.load(path); Resource resource = ResourceHandler.load(path); Transform transformer = new Transform(); Resource ir = TDLHelper.create(path+"-generated.ttcn3m"); Resource ir = ResourceHandler.create(path+"-generated.ttcn3m"); transformer.transform(resource, ir); //This is important otherwise ghost references may occur ir.unload(); Resource tr = TDLHelper.create(path+"-generated.ttcn3"); Resource tr = ResourceHandler.create(path+"-generated.ttcn3"); transformer.transform(resource, tr); } catch (Exception e) { e.printStackTrace(); Loading Loading
plugins/org.etsi.mts.tdl.common/src/org/etsi/mts/tdl/resources/ResourceHandler.java +46 −4 Original line number Diff line number Diff line Loading @@ -6,18 +6,14 @@ import java.io.IOException; import java.net.URI; import java.net.URISyntaxException; import java.net.URL; import java.nio.file.FileSystems; import java.nio.file.Files; import java.nio.file.PathMatcher; import java.nio.file.Paths; import java.util.ArrayList; import java.util.Collections; import java.util.Enumeration; import java.util.HashSet; import java.util.List; import java.util.Optional; import java.util.Set; import java.util.stream.Collectors; import java.util.stream.Stream; import org.eclipse.core.resources.IFile; Loading @@ -32,6 +28,7 @@ import org.eclipse.core.runtime.Path; import org.eclipse.core.runtime.Platform; import org.eclipse.emf.ecore.resource.Resource; import org.eclipse.emf.ecore.resource.ResourceSet; import org.eclipse.emf.ecore.util.EcoreUtil; import org.eclipse.xtext.GrammarUtil; import org.eclipse.xtext.IGrammarAccess; import org.eclipse.xtext.resource.IResourceServiceProvider; Loading Loading @@ -88,6 +85,51 @@ public class ResourceHandler { return create(getResourceSet(), filename); } /** * Loads an existing resource from a file. * @param filename location of the resource to be loaded. * @return A resource loaded from the file. */ public static Resource load(String filename) { Resource resource = getResourceSet().getResource(org.eclipse.emf.common.util.URI.createURI(filename), true); return resource; } /** * Link / resolve all loaded resources. */ public static void link() { EcoreUtil.resolveAll(getResourceSet()); } /** * Check all resources in the shared resourceSet. */ public static void check() { //TODO: check automatically? make optional in case of performance or redundancy concerns? // TDLHelper.link(); getResourceSet().getResources().forEach(ResourceHandler::check); } /** * Check resource in the shared resourceSet. Load if needed. * @param filename location of the resource to be checked. */ public static void check(String filename) { Resource r = ResourceHandler.load(filename); check(r); } /** * Check resource. * @param r the resource to be checked. */ public static void check(Resource r) { r.getErrors().forEach(e -> System.out.println("Error: "+r.getURI().lastSegment()+": "+e.getLine()+": "+e.getMessage())); r.getWarnings().forEach(e -> System.out.println("Warning: "+r.getURI().lastSegment()+": "+e.getLine()+": "+e.getMessage())); } /** * Store resource contents in a file. * @param resource A resource to be saved. Loading
plugins/org.etsi.mts.tdl.helper/src/org/etsi/mts/tdl/helper/TDLHelper.java +6 −27 Original line number Diff line number Diff line Loading @@ -2,31 +2,18 @@ package org.etsi.mts.tdl.helper; import java.io.ByteArrayInputStream; import java.io.IOException; import java.util.ArrayList; import java.util.Collections; import java.util.HashSet; import java.util.Set; import org.apache.log4j.Level; import org.apache.log4j.Logger; import org.eclipse.core.resources.IFile; import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.IResource; import org.eclipse.core.resources.IResourceVisitor; import org.eclipse.core.resources.IWorkspaceRoot; import org.eclipse.core.resources.ResourcesPlugin; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.NullProgressMonitor; import org.eclipse.core.runtime.Path; import org.eclipse.core.runtime.Platform; import org.eclipse.emf.common.util.URI; import org.eclipse.emf.ecore.EOperation; import org.eclipse.emf.ecore.EStructuralFeature; import org.eclipse.emf.ecore.EValidator; import org.eclipse.emf.ecore.resource.Resource; import org.eclipse.emf.ecore.util.EcoreUtil; import org.eclipse.emf.mwe.utils.StandaloneSetup; import org.eclipse.ocl.common.OCLConstants; import org.eclipse.ocl.pivot.internal.delegate.OCLInvocationDelegateFactory; Loading @@ -38,8 +25,6 @@ import org.eclipse.xtext.GrammarUtil; import org.eclipse.xtext.IGrammarAccess; import org.eclipse.xtext.resource.IResourceServiceProvider; import org.eclipse.xtext.resource.XtextResourceSet; import org.eclipse.xtext.serializer.impl.Serializer; import org.etsi.mts.tdl.Package; import org.etsi.mts.tdl.TDLan2StandaloneSetup; import org.etsi.mts.tdl.TDLtxStandaloneSetup; import org.etsi.mts.tdl.TDLtxiStandaloneSetup; Loading @@ -47,7 +32,6 @@ import org.etsi.mts.tdl.TPLan2StandaloneSetup; import org.etsi.mts.tdl.impl.tdlPackageImpl; import org.etsi.mts.tdl.resources.ResourceHandler; import org.etsi.mts.tdl.structuredobjectives.impl.StructuredObjectivesPackageImpl; import org.osgi.framework.Bundle; import com.google.inject.Injector; Loading Loading @@ -84,15 +68,14 @@ public class TDLHelper { * @return A resource loaded from the file. */ public static Resource load(String filename) { Resource resource = resourceSet.getResource(org.eclipse.emf.common.util.URI.createURI(filename), true); return resource; return ResourceHandler.load(filename); } /** * Link / resolve all loaded resources. */ public static void link() { EcoreUtil.resolveAll(resourceSet); ResourceHandler.link(); } /** Loading @@ -100,8 +83,7 @@ public class TDLHelper { */ public static void check() { //TODO: check automatically? make optional in case of performance or redundancy concerns? // TDLHelper.link(); resourceSet.getResources().forEach(TDLHelper::check); ResourceHandler.check(); } /** Loading @@ -109,20 +91,17 @@ public class TDLHelper { * @param filename location of the resource to be checked. */ public static void check(String filename) { Resource r = TDLHelper.load(filename); check(r); ResourceHandler.check(filename); } /** * Check resource. * @param r the resource to be checked. */ private static void check(Resource r) { r.getErrors().forEach(e -> System.out.println("Error: "+r.getURI().lastSegment()+": "+e.getLine()+": "+e.getMessage())); r.getWarnings().forEach(e -> System.out.println("Warning: "+r.getURI().lastSegment()+": "+e.getLine()+": "+e.getMessage())); public static void check(Resource r) { ResourceHandler.check(r); } /** * Creates a new resource at the specified location. * @param filename Location of the resource to be loaded. Loading
plugins/org.etsi.mts.tdl.standalone/src/org/etsi/mts/tdl/standalone/Standalone.java +33 −42 Original line number Diff line number Diff line package org.etsi.mts.tdl.standalone; import de.ugoe.cs.swe.TTCN3StandaloneSetup; import java.io.File; import java.io.FilenameFilter; import java.net.URL; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.security.CodeSource; import java.security.ProtectionDomain; import java.util.ArrayList; import java.util.Arrays; import java.util.Comparator; import java.util.List; import java.util.function.Consumer; import java.util.stream.Collectors; import org.eclipse.emf.common.util.EList; import org.eclipse.emf.common.util.URI; import org.eclipse.emf.ecore.EClass; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.resource.Resource; Loading @@ -29,19 +22,14 @@ import org.eclipse.ocl.pivot.utilities.ParserException; import org.eclipse.ocl.pivot.utilities.Query; import org.eclipse.xtext.EcoreUtil2; import org.eclipse.xtext.nodemodel.util.NodeModelUtils; import org.etsi.mts.tdl.Behaviour; import org.etsi.mts.tdl.ComponentInstance; import org.etsi.mts.tdl.ComponentInstanceRole; import org.etsi.mts.tdl.CompoundBehaviour; import org.etsi.mts.tdl.Extension; import org.etsi.mts.tdl.GateType; import org.etsi.mts.tdl.Package; import org.etsi.mts.tdl.Behaviour; import org.etsi.mts.tdl.CompoundBehaviour; import org.etsi.mts.tdl.BoundedLoopBehaviour; import org.etsi.mts.tdl.AlternativeBehaviour; import org.etsi.mts.tdl.ConditionalBehaviour; import org.etsi.mts.tdl.ProcedureCall; import org.etsi.mts.tdl.Interaction; import org.etsi.mts.tdl.Message; import org.etsi.mts.tdl.Package; import org.etsi.mts.tdl.StructuredDataType; import org.etsi.mts.tdl.TestConfiguration; import org.etsi.mts.tdl.TestDescription; Loading @@ -49,16 +37,18 @@ import org.etsi.mts.tdl.tdlPackage; import org.etsi.mts.tdl.asn2tdl.ASN2TDLTranslator; import org.etsi.mts.tdl.constraints.evl.Validator; import org.etsi.mts.tdl.helper.TDLHelper; import org.etsi.mts.tdl.impl.CompoundBehaviourImpl; import org.etsi.mts.tdl.json2tdl.JSON2TDLTranslator; import org.etsi.mts.tdl.json2tdl.TDL2JSONTranslator; import org.etsi.mts.tdl.openapi2tdl.next.OpenAPI2TDLTranslatorNext; import org.etsi.mts.tdl.openapi2tdl.next.doc.Doc; import org.etsi.mts.tdl.resources.ResourceHandler; import org.etsi.mts.tdl.tools.to.docx.poi.Generator; import org.etsi.mts.tdl.transform.AbstractTranslator; import org.etsi.mts.tdl.ttcn3.Transform; import org.etsi.mts.tdl.yang2tdl.Yang2TDLTranslator; import de.ugoe.cs.swe.TTCN3StandaloneSetup; public class Standalone { static String sourceExtension = "tdltx"; static String targetExtension = "tdltx"; Loading @@ -80,6 +70,7 @@ public class Standalone { } public static void main(String[] args) throws Exception { TDLHelper.init(); Standalone app = new Standalone(); //TODO: expose as arguments Loading Loading @@ -230,7 +221,7 @@ public class Standalone { } private void processElements(String path, Consumer<String> operation) throws Exception { TDLHelper.resetResourceSet(); // TDLHelper.resetResourceSet(); processElements(path, sourceExtension, operation); } Loading @@ -247,9 +238,9 @@ public class Standalone { if (extension.contains("tdl")) { Files.walk(Path.of(path)) .filter(e->e.getFileName().toString().endsWith(extension)) .forEach(e->TDLHelper.load(e.toAbsolutePath().toString())); TDLHelper.link(); TDLHelper.check(); .forEach(e->ResourceHandler.load(e.toAbsolutePath().toString())); ResourceHandler.link(); ResourceHandler.check(); } Files.walk(Path.of(path)) .filter(e->e.getFileName().toString().endsWith(extension)) Loading @@ -267,10 +258,10 @@ public class Standalone { if (extension.contains("tdl")) { for (File f : files) { System.out.println("Loading: "+f.getAbsolutePath()); TDLHelper.load(f.getAbsolutePath()); ResourceHandler.load(f.getAbsolutePath()); } TDLHelper.link(); TDLHelper.check(); ResourceHandler.link(); ResourceHandler.check(); } for (File f : files) { System.out.println("Processing: "+f.getAbsolutePath()); Loading @@ -279,9 +270,9 @@ public class Standalone { } else { if (extension.contains("tdl")) { System.out.println("Loading: "+target.getAbsolutePath()); TDLHelper.load(target.getAbsolutePath()); TDLHelper.link(); TDLHelper.check(); ResourceHandler.load(target.getAbsolutePath()); ResourceHandler.link(); ResourceHandler.check(); } System.out.println("Processing: "+target.getAbsolutePath()); operation.accept(target.getAbsolutePath()); Loading @@ -289,7 +280,7 @@ public class Standalone { } private void listElements(String path) { Resource resource = TDLHelper.load(path); Resource resource = ResourceHandler.load(path); Package p = (Package) resource.getContents().get(0); System.out.println("Package: "+p.getName()); p.getNestedPackage().forEach(e -> { Loading @@ -312,7 +303,7 @@ public class Standalone { } private void validate(String path) { Resource resource = TDLHelper.load(path); Resource resource = ResourceHandler.load(path); Validator validator = new Validator(); //TODO: make robust against unresolved imports //TODO: report parsing / resolution errors Loading @@ -325,14 +316,14 @@ public class Standalone { } private void validateOCL(String path) { Resource resource = TDLHelper.load(path); Resource resource = ResourceHandler.load(path); Validator validator = new Validator(); validator.validateOCL2(resource); } private void evaluateOCLInline(String path) { Resource resource = TDLHelper.load(path); OCL ocl = OCL.newInstance(TDLHelper.getResourceSet()); Resource resource = ResourceHandler.load(path); OCL ocl = OCL.newInstance(ResourceHandler.getResourceSet()); EClass contextEClass = tdlPackage.Literals.GATE_TYPE; try { ExpressionInOCL query = ocl.createQuery(contextEClass, Loading @@ -350,11 +341,11 @@ public class Standalone { } private void translate(String path) { Resource resource = TDLHelper.load(path); Resource resource = ResourceHandler.load(path); try { Resource target = TDLHelper.create(resource.getURI().path() + "." + targetExtension); Resource target = ResourceHandler.create(resource.getURI().path() + "." + targetExtension); target.getContents().addAll(EcoreUtil.copyAll(resource.getContents())); TDLHelper.store(target, true); ResourceHandler.store(target, true); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); Loading @@ -364,10 +355,10 @@ public class Standalone { private void importData(String path, AbstractTranslator translator) { File source = new File(path); try { translator.setTargetResource(TDLHelper.create(source.getAbsolutePath()+"-generated."+targetExtension)); translator.setTargetResource(ResourceHandler.create(source.getAbsolutePath()+"-generated."+targetExtension)); translator.initTargetResource(translator.cleanName(source.getName())); translator.translate(source.getAbsolutePath()); TDLHelper.store(translator.getTargetResource(), false); ResourceHandler.store(translator.getTargetResource(), false); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); Loading @@ -392,7 +383,7 @@ public class Standalone { } private void generateDiagrams(String path) { Resource resource = TDLHelper.load(path); Resource resource = ResourceHandler.load(path); //export to external generator EObject model = resource.getContents().get(0); generateConfiguration(path, model); Loading Loading @@ -582,13 +573,13 @@ public class Standalone { } private void exportJSON(String path) { Resource resource = TDLHelper.load(path); Resource resource = ResourceHandler.load(path); TDL2JSONTranslator translator = new TDL2JSONTranslator(); translator.transform((Package) resource.getContents().get(0)); } private void exportDoc(String path) { Resource resource = TDLHelper.load(path); Resource resource = ResourceHandler.load(path); Generator generator = new Generator(); String target = path+".docx"; try { Loading @@ -606,13 +597,13 @@ public class Standalone { private void exportTTCN3(String path) { try { new TTCN3StandaloneSetup().createInjectorAndDoEMFRegistration(); Resource resource = TDLHelper.load(path); Resource resource = ResourceHandler.load(path); Transform transformer = new Transform(); Resource ir = TDLHelper.create(path+"-generated.ttcn3m"); Resource ir = ResourceHandler.create(path+"-generated.ttcn3m"); transformer.transform(resource, ir); //This is important otherwise ghost references may occur ir.unload(); Resource tr = TDLHelper.create(path+"-generated.ttcn3"); Resource tr = ResourceHandler.create(path+"-generated.ttcn3"); transformer.transform(resource, tr); } catch (Exception e) { e.printStackTrace(); Loading