diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ca292082c738da9c82d7aeaff1aa5e03d2186792..6a9321461e0fa6583e06be6674caeabdc250efe9 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -90,7 +90,8 @@ variables: # for verifying and deploying images # Maven 3.8.x REQUIRES HTTPS repositories. # See https://maven.apache.org/docs/3.8.1/release-notes.html#how-to-fix-when-i-get-a-http-repository-blocked for more. -image: maven:3-openjdk-11 +image: maven:3.9.5-eclipse-temurin-17 + # Cache downloaded dependencies and plugins between builds. # To keep cache across branches add 'key: "$CI_JOB_NAME"' @@ -236,16 +237,15 @@ pages: artifacts: true script: # Get the previous GitLab Pages content (otherwise other beta/stable branch gets removed..) - # - rm -rf /var/lib/apt/lists/* - # - apt update - # - apt-cache gencaches - # - apt install -y zip unzip - # - zip --help + - rm -rf /var/lib/apt/lists/* + - apt update + - apt-cache gencaches + - apt install -y zip unzip + - zip --help # - set +e # - curl --fail "$CI_PAGES_URL/content.zip" -o "content.zip" # - if [ -e "content.zip" ]; then unzip "content.zip"; rm "content.zip"; fi # - set -e - # - ls -la $RELEASE_PATH # Cleanup content? -> remove content in release path? # Add/update content - echo $CI_PAGES_URL diff --git a/Readme.md b/Readme.md index 50b2df448c9216f278d3ed2788e74908df2d2291..44373af75d8def3787cd6095ab5a4ebf00189286 100644 --- a/Readme.md +++ b/Readme.md @@ -6,7 +6,7 @@ More info at [TDL website](https://tdl.etsi.org) ## Installing the plug-ins -The TDL tools are available as a set of Eclipse plug-ins. You need to first be able to run Eclipse. The [Eclipse Modeling Tools (2022-12)](https://www.eclipse.org/downloads/packages/release/2022-12/r/eclipse-modeling-tools) distribution contains most of the necessary prerequisites for the TDL tools. Newer versions should be compatible but have not been extensively tested yet. +The TDL tools are available as a set of Eclipse plug-ins. You need to first be able to run Eclipse. The [Eclipse Modeling Tools (2023-09)](https://www.eclipse.org/downloads/packages/release/2023-09/r/eclipse-modeling-tools) distribution contains most of the necessary prerequisites for the TDL tools. Newer versions should be compatible but have not been extensively tested yet. Once Eclipse is up and running, the easiest way to install the TOP tools is from the Eclipse Marketplace - simply search for TDL in the Eclipse Marketplace client within Eclipse, or go to the [TOP Marketplace Listing](https://marketplace.eclipse.org/content/top-tdl-open-source-project) and drag the install button into the Eclipse window. @@ -83,10 +83,10 @@ The following steps are needed to setup a local development environment. * Download and install Eclipse Modeling Tools package * Install following additional components from Eclipse Marketplace * Sirius (v7) - * Eclipse Xtext (v2.29 or newer) + * Eclipse Xtext (v2.32 or newer) * Epsilon (v2.x) * Eclipse OCL (v6.x) - * Eclise Maven Integration m2e (v2.1.x) + * Eclipse Maven Integration m2e (v2.1.x) * Check out the repository * Import the plug-ins in the Eclipse workspace * Import -> Existing Projects into Workspace diff --git a/features/org.etsi.mts.tdl.converters.feature/feature.xml b/features/org.etsi.mts.tdl.converters.feature/feature.xml index a967bf73bc8ebc7f2ef03e33db504af7e8be99ce..4a6703c6e62a86b87deb914fb818136d69225f8f 100644 --- a/features/org.etsi.mts.tdl.converters.feature/feature.xml +++ b/features/org.etsi.mts.tdl.converters.feature/feature.xml @@ -323,6 +323,7 @@ any resulting litigation. + - - diff --git a/org.etsi.mts.tdl.parent/pom.xml b/org.etsi.mts.tdl.parent/pom.xml index a7ef160e421e48b15957018aeeb1eb7c1acc0f1c..aa2787de938ec6f08c9b6e2a83651ae6bdc9da32 100644 --- a/org.etsi.mts.tdl.parent/pom.xml +++ b/org.etsi.mts.tdl.parent/pom.xml @@ -30,7 +30,6 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xs ../plugins/org.etsi.mts.tdl.tools.to.docx.poi ../plugins/org.etsi.mts.tdl.tools.to.docx.poi.ui - ../plugins/org.etsi.mts.tdl.openapi.generator.wrapper ../plugins/org.etsi.mts.tdl.openapi.generator.ui ../plugins/org.etsi.mts.tdl.openapi2tdl.next ../plugins/org.etsi.mts.tdl.json2tdl @@ -77,9 +76,10 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xs 11 11 - 2.7.5 + 3.0.5 + 2.15.0 UTF-8 - 2.30.0 + 2.32.0 true 3.9.0 3.3.0 @@ -133,6 +133,19 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xs true + + + org.eclipse.tycho + tycho-compiler-plugin + ${tycho-version} + + -err:-forbidden + false + + org.apache.maven.plugins @@ -175,6 +188,21 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xs ${tycho-version} true + + + org.eclipse.tycho + tycho-p2-plugin + ${tycho-version} + + + attach-p2-metadata + package + + p2-metadata + + + + org.eclipse.tycho @@ -209,6 +237,23 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xs x86_64 + + + + eclipse-plugin + org.eclipse.xtext.logging + 1.2.24 + + + + eclipse-feature + org.eclipse.rcp + 0.0.0 + + + @@ -289,4 +334,28 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xs + + + macos + + + mac + + + + + -XstartOnFirstThread + + + + jdk9-or-newer + + [9,) + + + --add-modules=ALL-SYSTEM + + + + diff --git a/org.etsi.mts.tdl.parent/top.target b/org.etsi.mts.tdl.parent/top.target index be35dace81e9688810a10b54e26745e018510f0a..8e9b747c643f4f7130d4e81ea3060f8f478066f0 100644 --- a/org.etsi.mts.tdl.parent/top.target +++ b/org.etsi.mts.tdl.parent/top.target @@ -12,15 +12,15 @@ - + - + - + @@ -40,6 +40,9 @@ + + + @@ -56,9 +59,15 @@ + + + + + + \ No newline at end of file diff --git a/plugins/org.etsi.mts.tdl.execution.java/META-INF/MANIFEST.MF b/plugins/org.etsi.mts.tdl.execution.java/META-INF/MANIFEST.MF index 84580e2431a04e94f96f4b5e3c8c2c64eba65038..726531d0902c90ccca0a6b8865a95bd47a7bea50 100644 --- a/plugins/org.etsi.mts.tdl.execution.java/META-INF/MANIFEST.MF +++ b/plugins/org.etsi.mts.tdl.execution.java/META-INF/MANIFEST.MF @@ -18,3 +18,4 @@ Require-Bundle: org.eclipse.core.runtime, com.fasterxml.jackson.core.jackson-core, com.fasterxml.jackson.core.jackson-databind, com.fasterxml.jackson.core.jackson-annotations + diff --git a/plugins/org.etsi.mts.tdl.execution.java/pom.xml b/plugins/org.etsi.mts.tdl.execution.java/pom.xml index dc5f353c86704cf9a93b52839a8db8acfda40d29..8ec52ddda7a2871218b74d46c3b72fbb5c82e408 100644 --- a/plugins/org.etsi.mts.tdl.execution.java/pom.xml +++ b/plugins/org.etsi.mts.tdl.execution.java/pom.xml @@ -57,11 +57,6 @@ junit-jupiter-api 5.9.2 - - com.fasterxml.jackson.core - jackson-databind - 2.14.1 - org.assertj assertj-core diff --git a/plugins/org.etsi.mts.tdl.helper/src/org/etsi/mts/tdl/helper/TDLHelper.java b/plugins/org.etsi.mts.tdl.helper/src/org/etsi/mts/tdl/helper/TDLHelper.java index 3a8a9d6ca5f5135b8fc1cfbfedde422f15d977ec..5bc4994f83abafd885da27469a0cd9f77c6ac9c7 100644 --- a/plugins/org.etsi.mts.tdl.helper/src/org/etsi/mts/tdl/helper/TDLHelper.java +++ b/plugins/org.etsi.mts.tdl.helper/src/org/etsi/mts/tdl/helper/TDLHelper.java @@ -204,6 +204,7 @@ public class TDLHelper { modelFile = ws.getFile(new Path(resourceUri.toPlatformString(true))); } else if (resourceUri.isFile()) { // TODO + modelFile = ws.getFile(new Path(resourceUri.toFileString())); // String uriString = resourceUri.toFileString(); // java.net.URI uri = new java.net.URI(uriString); // IFile[] files = ws.findFilesForLocationURI(uri); diff --git a/plugins/org.etsi.mts.tdl.model/src-gen/org/etsi/mts/tdl/Element.java b/plugins/org.etsi.mts.tdl.model/src-gen/org/etsi/mts/tdl/Element.java index 4cd18a136175e0393d7bceb448feba1dbe83c6be..cb201dfeb0a81fe47d07338b7c45ed9461fe9d6b 100644 --- a/plugins/org.etsi.mts.tdl.model/src-gen/org/etsi/mts/tdl/Element.java +++ b/plugins/org.etsi.mts.tdl.model/src-gen/org/etsi/mts/tdl/Element.java @@ -88,7 +88,7 @@ public interface Element extends EObject * * * @model kind="operation" - * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body=' \n if (not self.container().oclIsUndefined()) then\n if (self.container().oclIsKindOf(TestDescription)) then\n self.container().oclAsType(TestDescription)\n else\n self.container().getParentTestDescription()\n endif\n else \n null\n endif'" + * annotation="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot body=' \n if (self.oclContainer().oclIsUndefined()) then\n null\n else \n if (self.container().oclIsKindOf(TestDescription)) then\n self.container().oclAsType(TestDescription)\n else\n self.container().getParentTestDescription()\n endif\n endif'" * @generated */ TestDescription getParentTestDescription(); diff --git a/plugins/org.etsi.mts.tdl.model/src-gen/org/etsi/mts/tdl/impl/tdlPackageImpl.java b/plugins/org.etsi.mts.tdl.model/src-gen/org/etsi/mts/tdl/impl/tdlPackageImpl.java index 8db1b70afb4808fb4e92863428a1228642b14f4c..d445d66add1e299bb8c67066b937f95a0ea782dd 100644 --- a/plugins/org.etsi.mts.tdl.model/src-gen/org/etsi/mts/tdl/impl/tdlPackageImpl.java +++ b/plugins/org.etsi.mts.tdl.model/src-gen/org/etsi/mts/tdl/impl/tdlPackageImpl.java @@ -5371,7 +5371,7 @@ public class tdlPackageImpl extends EPackageImpl implements tdlPackage source, new String[] { - "body", " \n if (not self.container().oclIsUndefined()) then\n if (self.container().oclIsKindOf(TestDescription)) then\n self.container().oclAsType(TestDescription)\n else\n self.container().getParentTestDescription()\n endif\n else \n null\n endif" + "body", " \n if (self.oclContainer().oclIsUndefined()) then\n null\n else \n if (self.container().oclIsKindOf(TestDescription)) then\n self.container().oclAsType(TestDescription)\n else\n self.container().getParentTestDescription()\n endif\n endif" }); addAnnotation (getPackageableElement__ConformsTo__String(), diff --git a/plugins/org.etsi.mts.tdl.openapi.generator.ui/META-INF/MANIFEST.MF b/plugins/org.etsi.mts.tdl.openapi.generator.ui/META-INF/MANIFEST.MF index 38138a204367b1b265d956248af57b42cd88de9f..1917c926a10fc4e9e1e7bb3d546acb2d0395a344 100644 --- a/plugins/org.etsi.mts.tdl.openapi.generator.ui/META-INF/MANIFEST.MF +++ b/plugins/org.etsi.mts.tdl.openapi.generator.ui/META-INF/MANIFEST.MF @@ -10,6 +10,6 @@ Require-Bundle: org.eclipse.ui, org.eclipse.ui.editors;bundle-version="3.5.0", org.eclipse.ui.ide;bundle-version="3.5.0", org.eclipse.ui.workbench, - org.etsi.mts.tdl.openapi.generator.wrapper + org.etsi.mts.tdl.extras.openapi.generator.wrapper Bundle-ActivationPolicy: lazy Import-Package: org.eclipse.emf.common.util diff --git a/plugins/org.etsi.mts.tdl.openapi2tdl.next/META-INF/MANIFEST.MF b/plugins/org.etsi.mts.tdl.openapi2tdl.next/META-INF/MANIFEST.MF index e196d606a95e4174bd70c00fc8257a4220e77c1a..08da303baf9af736775a8c06505d8685b1c80df9 100644 --- a/plugins/org.etsi.mts.tdl.openapi2tdl.next/META-INF/MANIFEST.MF +++ b/plugins/org.etsi.mts.tdl.openapi2tdl.next/META-INF/MANIFEST.MF @@ -7,7 +7,7 @@ Bundle-Vendor: European Telecommunications Standards Institute (ETSI) Automatic-Module-Name: org.etsi.mts.tdl.openapi2tdl.next Require-Bundle: org.etsi.mts.tdl.model, org.etsi.mts.tdl.common, - org.etsi.mts.tdl.openapi.generator.wrapper, + org.etsi.mts.tdl.extras.openapi.generator.wrapper, org.etsi.mts.tdl.helper, org.eclipse.ui;resolution:=optional, org.eclipse.core.resources;resolution:=optional, diff --git a/plugins/org.etsi.mts.tdl.openapi2tdl.next/src/org/etsi/mts/tdl/openapi2tdl/next/OpenAPI2TDLTranslatorNext.java b/plugins/org.etsi.mts.tdl.openapi2tdl.next/src/org/etsi/mts/tdl/openapi2tdl/next/OpenAPI2TDLTranslatorNext.java index 42f73fd5397f8c6a81c8b60a526f926d9ff36657..c67bbf76fde6a0aab1d2dea258ee659c674f9f7a 100644 --- a/plugins/org.etsi.mts.tdl.openapi2tdl.next/src/org/etsi/mts/tdl/openapi2tdl/next/OpenAPI2TDLTranslatorNext.java +++ b/plugins/org.etsi.mts.tdl.openapi2tdl.next/src/org/etsi/mts/tdl/openapi2tdl/next/OpenAPI2TDLTranslatorNext.java @@ -144,7 +144,7 @@ public class OpenAPI2TDLTranslatorNext extends AbstractTranslator { boolean generateJavaMappings = true; if (preferences != null) generateJavaMappings = preferences.getBoolean(PropertyPage.GENERATE_JAVA_MAPPING, false); - if (generateJavaMappings) { + if (generateJavaMappings && theTdlPackage!=null) { mappingsPackage = tdlFactory.eINSTANCE.createPackage(); mappingsPackage.setName("JavaMapping"); getGeneratedPackage().getNestedPackage().add(mappingsPackage); @@ -270,7 +270,7 @@ public class OpenAPI2TDLTranslatorNext extends AbstractTranslator { } } - if (generateJavaMappings) + if (generateJavaMappings && mappingsPackage!=null) addMappings(filename, mappingsPackage, drmTarget, javaPackage); ensureUniqueNames(getGeneratedPackage()); diff --git a/plugins/org.etsi.mts.tdl.tools.to.docx.poi.ui/src/org/etsi/mts/tdl/tools/to/docx/poi/ui/handlers/GenerationHandler.java b/plugins/org.etsi.mts.tdl.tools.to.docx.poi.ui/src/org/etsi/mts/tdl/tools/to/docx/poi/ui/handlers/GenerationHandler.java index c6443edbb58624099fe95b50a59f80a722a490c9..f7cfb2d72bca91734f93b4a1424ca98533b280cf 100644 --- a/plugins/org.etsi.mts.tdl.tools.to.docx.poi.ui/src/org/etsi/mts/tdl/tools/to/docx/poi/ui/handlers/GenerationHandler.java +++ b/plugins/org.etsi.mts.tdl.tools.to.docx.poi.ui/src/org/etsi/mts/tdl/tools/to/docx/poi/ui/handlers/GenerationHandler.java @@ -1,13 +1,11 @@ package org.etsi.mts.tdl.tools.to.docx.poi.ui.handlers; -import java.io.File; import java.util.Arrays; import org.eclipse.core.commands.AbstractHandler; import org.eclipse.core.commands.ExecutionEvent; import org.eclipse.core.commands.ExecutionException; import org.eclipse.core.resources.IFile; -import org.eclipse.core.resources.IProject; import org.eclipse.emf.common.util.URI; import org.eclipse.emf.ecore.resource.Resource; import org.eclipse.emf.ecore.resource.ResourceSet; diff --git a/plugins/org.etsi.mts.tdl.tools.to.docx.poi/.classpath b/plugins/org.etsi.mts.tdl.tools.to.docx.poi/.classpath index 58c609fb72f5fbc5c3a25185f20f936a7e6b85a4..685a6999c9acba0d0158b0929d7a4d384644452e 100644 --- a/plugins/org.etsi.mts.tdl.tools.to.docx.poi/.classpath +++ b/plugins/org.etsi.mts.tdl.tools.to.docx.poi/.classpath @@ -7,24 +7,5 @@ - - - - - - - - - - - - - - - - - - - diff --git a/plugins/org.etsi.mts.tdl.tools.to.docx.poi/META-INF/MANIFEST.MF b/plugins/org.etsi.mts.tdl.tools.to.docx.poi/META-INF/MANIFEST.MF index db22fbf690e270f9a9add64f3456f557e0c09d18..84a83b475965c2fa8b1e955f7f3e38850ba76ae4 100644 --- a/plugins/org.etsi.mts.tdl.tools.to.docx.poi/META-INF/MANIFEST.MF +++ b/plugins/org.etsi.mts.tdl.tools.to.docx.poi/META-INF/MANIFEST.MF @@ -13,28 +13,12 @@ Require-Bundle: org.eclipse.core.runtime, org.etsi.mts.tdl.TPLan2, org.eclipse.emf.mwe.utils, org.eclipse.ocl.xtext.essentialocl, - org.etsi.mts.tdl.common + org.etsi.mts.tdl.common, + org.apache.poi, + org.apache.poi.ooxml, + org.apache.poi.ooxml.schemas, + org.apache.xmlbeans Bundle-RequiredExecutionEnvironment: JavaSE-11 Automatic-Module-Name: org.etsi.mts.tdl.tools.to.docx.poi Bundle-ActivationPolicy: lazy Export-Package: org.etsi.mts.tdl.tools.to.docx.poi -Bundle-ClassPath: lib/activation-1.1.1.jar, - lib/commons-codec-1.11.jar, - lib/commons-collections4-4.2.jar, - lib/commons-compress-1.18.jar, - lib/commons-logging-1.2.jar, - lib/commons-math3-3.6.1.jar, - lib/curvesapi-1.05.jar, - lib/jaxb-api-2.3.0.jar, - lib/jaxb-core-2.3.0.1.jar, - lib/jaxb-impl-2.3.0.1.jar, - lib/junit-4.12.jar, - lib/log4j-1.2.17.jar, - lib/poi-4.0.1.jar, - lib/poi-examples-4.0.1.jar, - lib/poi-excelant-4.0.1.jar, - lib/poi-ooxml-4.0.1.jar, - lib/poi-ooxml-schemas-4.0.1.jar, - lib/poi-scratchpad-4.0.1.jar, - lib/xmlbeans-3.0.2.jar, - . diff --git a/plugins/org.etsi.mts.tdl.tools.to.docx.poi/build.properties b/plugins/org.etsi.mts.tdl.tools.to.docx.poi/build.properties index 64438d01edf7c556c578696fdb20a9123b39c563..96c0f3779dfcdae2800a39f4fd2de5c35172d56d 100644 --- a/plugins/org.etsi.mts.tdl.tools.to.docx.poi/build.properties +++ b/plugins/org.etsi.mts.tdl.tools.to.docx.poi/build.properties @@ -2,24 +2,5 @@ source.. = src/ output.. = target/classes/ bin.includes = META-INF/,\ .,\ - lib/activation-1.1.1.jar,\ - lib/commons-codec-1.11.jar,\ - lib/commons-collections4-4.2.jar,\ - lib/commons-compress-1.18.jar,\ - lib/commons-logging-1.2.jar,\ - lib/commons-math3-3.6.1.jar,\ - lib/curvesapi-1.05.jar,\ - lib/jaxb-api-2.3.0.jar,\ - lib/jaxb-core-2.3.0.1.jar,\ - lib/jaxb-impl-2.3.0.1.jar,\ - lib/junit-4.12.jar,\ - lib/log4j-1.2.17.jar,\ - lib/poi-4.0.1.jar,\ - lib/poi-examples-4.0.1.jar,\ - lib/poi-excelant-4.0.1.jar,\ - lib/poi-ooxml-4.0.1.jar,\ - lib/poi-ooxml-schemas-4.0.1.jar,\ - lib/poi-scratchpad-4.0.1.jar,\ - lib/xmlbeans-3.0.2.jar,\ resource/ src.includes = resource/ diff --git a/plugins/org.etsi.mts.tdl.tools.to.docx.poi/src/org/etsi/mts/tdl/tools/to/docx/poi/Generator.java b/plugins/org.etsi.mts.tdl.tools.to.docx.poi/src/org/etsi/mts/tdl/tools/to/docx/poi/Generator.java index 8462282e879e29babc900181f80c119cbf79bc5e..9fbb491620adeb22c9045c281e471456ba351dd1 100644 --- a/plugins/org.etsi.mts.tdl.tools.to.docx.poi/src/org/etsi/mts/tdl/tools/to/docx/poi/Generator.java +++ b/plugins/org.etsi.mts.tdl.tools.to.docx.poi/src/org/etsi/mts/tdl/tools/to/docx/poi/Generator.java @@ -1,16 +1,10 @@ package org.etsi.mts.tdl.tools.to.docx.poi; -import java.io.File; -import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.math.BigInteger; import java.net.URI; -import java.net.URISyntaxException; -import java.net.URL; -import java.security.CodeSource; -import java.security.ProtectionDomain; import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.LinkedHashSet; @@ -30,18 +24,15 @@ import org.apache.poi.xwpf.usermodel.XWPFTable; import org.apache.poi.xwpf.usermodel.XWPFTableCell; import org.apache.poi.xwpf.usermodel.XWPFTableRow; import org.apache.xmlbeans.XmlException; -import org.eclipse.core.runtime.Platform; import org.eclipse.emf.common.util.EList; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.resource.Resource; import org.eclipse.xtext.EcoreUtil2; import org.eclipse.xtext.nodemodel.util.NodeModelUtils; -import org.etsi.mts.tdl.Annotation; import org.etsi.mts.tdl.Behaviour; import org.etsi.mts.tdl.Block; import org.etsi.mts.tdl.CompoundBehaviour; import org.etsi.mts.tdl.Package; -import org.etsi.mts.tdl.SingleCombinedBehaviour; import org.etsi.mts.tdl.TestConfiguration; import org.etsi.mts.tdl.TestDescription; import org.etsi.mts.tdl.resources.ResourceHandler; @@ -49,7 +40,6 @@ import org.etsi.mts.tdl.structuredobjectives.StructuredTestObjective; import org.etsi.mts.tdl.structuredobjectives.TestObjectiveVariant; import org.etsi.mts.tdl.structuredobjectives.VariantBinding; import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTbl; -import org.osgi.framework.Bundle; public class Generator { @@ -151,6 +141,7 @@ public class Generator { titleRun.setText(p.getName()); } + //TODO: extract and reuse private List getContentsOfType(Resource resource, Class type) { List elements = resource.getContents() .stream() diff --git a/plugins/org.etsi.mts.tdl.tx.ui/templates/HTTP.tdltx b/plugins/org.etsi.mts.tdl.tx.ui/templates/HTTP.tdltx index cc499b5315df393478da024c79a1bb1f3b9c44b8..b1a4f2f0302a374641989f934db04e6e73cee91d 100644 --- a/plugins/org.etsi.mts.tdl.tx.ui/templates/HTTP.tdltx +++ b/plugins/org.etsi.mts.tdl.tx.ui/templates/HTTP.tdltx @@ -17,13 +17,14 @@ Package HTTP { Package MessageBased { Import all from Standard - //Generic Method type - Type Method - Method mGET - Method mPOST - Method mPUT - Method mPATCH - Method mDELETE + //Generic Method type -> required for generation!!! + Enumerated Method { + Method GET, + Method POST, + Method PUT, + Method PATCH, + Method DELETE + } //Generic Request type Structure Request ( diff --git a/plugins/org.etsi.mts.tdl.wizards/src/org/etsi/mts/tdl/wizards/importWizards/ImportWizardPage.java b/plugins/org.etsi.mts.tdl.wizards/src/org/etsi/mts/tdl/wizards/importWizards/ImportWizardPage.java index 2cf154faff0a1c0fc10398ba4ee9eeec05f13d87..cb4c3d56ec93db4db13f8353b0ca881f495de6ce 100644 --- a/plugins/org.etsi.mts.tdl.wizards/src/org/etsi/mts/tdl/wizards/importWizards/ImportWizardPage.java +++ b/plugins/org.etsi.mts.tdl.wizards/src/org/etsi/mts/tdl/wizards/importWizards/ImportWizardPage.java @@ -6,6 +6,9 @@ import java.util.Collection; import java.util.LinkedHashMap; import java.util.List; +import org.eclipse.core.resources.IWorkspace; +import org.eclipse.core.resources.IWorkspaceRoot; +import org.eclipse.core.resources.ResourcesPlugin; import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Path; @@ -71,7 +74,7 @@ public class ImportWizardPage extends WizardNewFileCreationPage { editor = new FileFieldEditor("fileSelect","Select Data File: ",fileSelectionArea); //NON-NLS-1 //NON-NLS-2 editor.getTextControl(fileSelectionArea).addModifyListener(e -> { setSourcePath(new Path(ImportWizardPage.this.editor.getStringValue())); - if (!getSourcePath().lastSegment().equals("null")) { + if (getSourcePath().lastSegment()!=null && !getSourcePath().lastSegment().equals("null")) { preferences.put(lastUsed, getSourcePath().toOSString()); setFileName(getSourcePath().lastSegment()+".tdltx"); //TODO: generalise } @@ -127,8 +130,13 @@ public class ImportWizardPage extends WizardNewFileCreationPage { if (editor.getStringValue().endsWith(".yaml")) { //YAML System.out.println("From OpenAPI YAML..."); +// IWorkspace workspace = ResourcesPlugin.getWorkspace(); +// IWorkspaceRoot root = workspace.getRoot(); +// IPath location = root.getLocation(); String content = ConverterNext.processToString(editor.getStringValue(), - editor.getStringValue()+".tdltx", +// editor.getStringValue()+".tdltx", +// location.append(getContainerFullPath()).append(getFileName()).toOSString(), + getContainerFullPath().append(getFileName()).toOSString(), "SOURCE_MAPPING", "TARGET_MAPPING", inline diff --git a/updatesite/org.etsi.mts.tdl.updatesite/category.xml b/updatesite/org.etsi.mts.tdl.updatesite/category.xml index 011992158bdcd03942eff5b74691013a647951b2..56a013c59b35a1277170607ba1a352374f38fa35 100644 --- a/updatesite/org.etsi.mts.tdl.updatesite/category.xml +++ b/updatesite/org.etsi.mts.tdl.updatesite/category.xml @@ -36,4 +36,5 @@ + diff --git a/wiki/images/Toolbar.PNG b/wiki/images/Toolbar.PNG deleted file mode 100644 index e4b370e595834b7e51f121f634bd188c4ad107a9..0000000000000000000000000000000000000000 Binary files a/wiki/images/Toolbar.PNG and /dev/null differ diff --git a/wiki/pages/1st-TDL-Open-Source-Meeting.md b/wiki/pages/1st-TDL-Open-Source-Meeting.md deleted file mode 100644 index 4bb2a0129b086a13ec4f0558048f94e863d6db8a..0000000000000000000000000000000000000000 --- a/wiki/pages/1st-TDL-Open-Source-Meeting.md +++ /dev/null @@ -1,88 +0,0 @@ -## Agenda - -| | Topic | Speaker | Materials | -| :---: | :---------------------------------------------: | :----------------------------------------------------------: | :----------------------------------------------------------: | -| 14:00 | Welcoming | Andreas Urlich, TDL Steering Group | | -| 14:15 | Introduction/Tutorial to TDL | Philip Makedonski, TDL Open Source Leadership | [Slides](https://tdl.etsi.org/uploads/TDL_Workshop_2018_PM.pdf) | -| 14:45 | Presentation of TOP and current available tools | Martti Kaarik, TDL Open Source Leadership | | -| 15:15 | BREAK | | | -| 15:30 | Current usage inside/outside ETSI | | | -| 15:35 | Usage of TDL in MTS TST | Axel Rennoch, MTS-TST WG Chairman | [Slides](https://tdl.etsi.org/uploads/TDL4TST_AR.pdf) | -| 15:45 | Usage of TDL in ETSI CTI projects | Sebastian Mueller, ETSI Center for Testing and Interoperability | [Slides](https://tdl.etsi.org/uploads/UPDATE_TDL_TO_USAGE_SM.ppt) | -| 16:00 | Needs for the community for future development | | | -| 16:45 | Wrap up/Next steps | | | - -## Notes - -1. Welcoming from Andreas Ulrich - -1. Round table of presentations - - In the room: Philip, Martti, Dirk, Axel, André, Sascha, Yens, Alexander Kaiser, Sebastian, Alex, Michele - - Remote: Finn, Bostjan, Andreas, Gary, Eric, Jan -2. Overview on TDL and Latest from standardization (Philip) -3. Q&A - - Jan: Open Source project, is there a grammar available? - - Philip: The implementation is based on Xtext, it is published in the repository. Also there is a BNF grammar in the Annex of the Metamodel Standards - - Martti: The Xtext grammar is for the informative textual grammar but what is normatively specified is the Meta Model -4. TOP Tooling (Martti) - - Installation information are available at https://labs.etsi.org/rep/top/ide -5. Q&A - - Andreas: We do have full implementation of the language and is available to everyone via the links pasted in the chat and -6. Discussion on applications of TDL: - - The results from the Survey on TDL were presented - - Andreas: is there a need for participants on UML integration? - - No comments provided - -### Open discussion on TDL and TOP - -#### Discussion on TDL language - -- Andreas: Reported experiences focus on TDL-TO. Have you - TDL-TO users- tried other approaches? How does it relate? - - Axel: I used Tplan in the past. Feels quite similar. - - Jens: In our application domain we did not have an internal testing framework for SW. -- Philip: Quite a lot of interest in TDL-TO but not much interest in TDL. Could you elaborate on why is that so? TDL too big? Too foreign? TDL-TO more familiar? - - Axel: Coming from INT work, the methodology is composed by TPs and TTCN3 code. TP languages seem lightweight and are complementary to TTCN3. - - Sebastian:We do see the use of TDL as somehow overlapping with TTCN3. We could not see advantages of TDL over TTNC3. ETSI CTI will keep evaluating TDL and maybe Interoperaility Testing could be a valuable application. - - Andreas: I think there are abstract TDL features which are handy, we may need to focus more on the translation features of TDL to TTCN3 -- Philip: The implementation of tools translating from TDL to TTCN3 is still in the pipe and we do not have detailed plans at the moment. The level and quality of expertise required is not easy to meet. -- Andreas: Looking back at the results from the Survey, there seems to be the need to provide translation to more than just TTCN3, therefore some flexibility in the mapping may be needed. -- Philip: The intention of the TDL to TTCN3 was to show the way on the possibility to translate into executable languages. May be the case to extend documentation (e.g. on the wiki) on the goal and methodology to enable third parties to develop their own translators. -- Andreas: Important to support the community and the request for the users. -- Philip: The users are invited to share their experiences/materials on the wiki. -- Michele: My proposal Use the bugzilla as much as possible so that to keep any feedback -- Andres: Better documentation should be provided on the wiki/website -- Dirk: Maybe a Forum can be easier and enable search engines to track information (as it is done in TTCN3) - -- Reported issues: - - Group element could not be used - - defining constants (#14) - - issue11 - Configuration connection cannot be resolved - - issue10 - Group does not work (references to the domain elements not found) - - issue12 - NOT keyword required - - issue13 - WORD conversion - - issue14 - how to define a constant? entity keyword not required containing semi colons; use meaningful tabulation Test Config : make the gate /PDU declaration optional mix of upper and lower case. why? - -#### Discussion on TDL language - -- Reported issues: - - no distinction among literals/content and package definition references (event, entity, pics) - - Possible way to include comments into word export (e.g. under final condition) - - Configuration connection not resolver (#11) - - Group does not work (#10) - - NOT keyword (#12) - - (#13) - - entity keyword not required - - Q: containing semi colons ; use meaningful tabulation - - A: needs to be further evaluated - - test config: make the gate / PDU declaration optional - - mix of upper and lower case. why? - -- Michele: Important to lower the barrier for developers and allow the possiblity to host/link other tools/projects. Is there anybody interested in developing TDL tools? -- Philip: As said before, the level of expertise required is a difficulty to onboard contributors -- Andreas: Better documentation on the website could help. -- Andreas: What are the expectations/intentions from newcomers? (participants who are not TDL users). - -#### Providing more documentation - -- Advertise a link to the TP created in MTS TST should be referenced on TDL website -- TDL team is asked to provide examples as well \ No newline at end of file diff --git a/wiki/pages/Governance.md b/wiki/pages/Governance.md deleted file mode 100644 index 95f5be43222e867fd8d6e142c05cca35da34afc5..0000000000000000000000000000000000000000 --- a/wiki/pages/Governance.md +++ /dev/null @@ -1,69 +0,0 @@ -The TOP project has been created to grow a community around TDL the test description language. The language is specified by ETSI Methods for Testing and Specification committe (TC MTS) as an independent, extensible testing language. - -You can find more information about ETSI (European Telecommunication Standards Institute) at [www.etsi.org](http://www.etsi.org/) and the information and work program of TC MTS [here](https://portal.etsi.org/tb.aspx?tbid=97&SubTB=97). - -The governing rules are decided within TC MTS itself. - -## TOP Governing groups - -### Project lead (PL) - -This is a small group of people from from TC MTS and ETSI CTI that deals with: - -* Providing project timeline and roadmap, -* Ensuring IP compliance of code base, -* Deciding on TOP roles assignement. - -### Steering Group (SG) - -TOP Steering Group is formed by the people in the TDL Steering Group. Its tasks: - -* To coordinate TOP's technical activities -* To provide guidelines for future development -* To resolve conflicts at technical level -* To guarantee neutrality from contributors - -### Advisory group (AG) - -The Advisory Group for TOP is ETSI TC MTS itself. Decisions regarding TOP are taken at MTS meetings, held usually every 3 months. The advisory groups goals are: -* To set the policies of the project -* To make administrative decisions -* To coordinate marketing efforts - -Find out [how to participate in TC MTS](mailto:membership@etsi.org). - -## Roles - -### User - -* Browse and download code base. -* Join the mailing list or forum, access to wiki - -### Contributor - -Same as user plus: -* Create a new issue / bug report -* Provide bug fixes as code patches -* Create new feature requests -* Provide code and tests for new features -* Contribute to the TOP wiki - -Anybody is welcome to contribute code and ideas to the TOP project. - -Find out [how to contribute](How-to-contribute). - -### Committer - -Same as contributor plus: -* Consolidate code changes -* Ensure software quality and validate bug fixes -* Manage new versions and branches - -## Access Rights - -The following rules are used to assign access rights to the TOP Group and Projects on the ETSI Labs Gitlab server, for both members of Testing Task Forces assigned to develop the project, and to volunteers who have signed the Contributors License Agreement: - -- TTF Leader and MTS Chair get Maintainer level rights to the whole TDL Open Source group, for as long as they are in these roles. -- Individuals or representatives of an organisation which has signed a Contributor License Agreement get Developer level access to the TOP IDE group. -- Members of a current TTF get Developer access at TDL Open Source group level. They also get assigned Developer access to their specific TTF project. This level of access can be upgraded to Maintainer (for the TTF or for the group) if required - TTF leader to decide. -- Members of a closed TTF retain their Developer access to that TTF project but lose it for all other groups, unless they've signed the CLA or are on another active TTF. diff --git a/wiki/pages/Home.md b/wiki/pages/Home.md deleted file mode 100644 index 1088d35d981c4451a135c43090be368ec8b63a83..0000000000000000000000000000000000000000 --- a/wiki/pages/Home.md +++ /dev/null @@ -1,60 +0,0 @@ -# Welcome to TOP - TDL Open source Project! - -The TDL Open Source Project (TOP) fosters the shared development and testing of contributed tools to manage TDL files, generate documentation and code. - -The project is an initiative of ETSI TC MTS – the ETSI committee that standardizes methods for testing and specification. - -[Subscribe here](https://tdl.etsi.org/index.php/contact) to the TDL public mailing list to keep in touch with TDL community, receive news and find support on the TDL public mailing list. - -## Quick links - - - - - - - - -
- -**Discover the project** - -* [[Governance | Governance]] -* [[Legal framework]] -* [[Learn about TDL]] - - - -**Users** - -* [[Installation]] -* [[Usage]] - - - -**Developers** - -* [[How to contribute]] - -
- -
- -## Meetings - -[[1st TDL Open Source Meeting]] - -## Software - -### TDL Open Source Implementation - -To accelerate the adoption of TDL, TC MTS has commissioned an open source implementation of TDL in order to lower the barrier to entry for both users and tool vendors in getting started with using TDL. The open source implementation comprises graphical and textual editors, validation facilities, as well as a UML profile for TDL to enable the application of TDL in UML-based working environments. It will be made available later in 2017 as an ETSI open source software project accessible from the TDL website and enabling contributions from the community. - -The open source implementation is based on the Eclipse XText toolset to provide a set of Java libraries and Eclipse plugins to support development of TDL specifications. - -### How to contribute - -Are you a test designer, a test developer or a tool vendor? Your contribution is most welcome! Active contributions to the TDL standardisation require an ETSI membership. Any interested company can find how to become an ETSI member here. - -The TOP source base is openly accessible. Its usage is governed by the Eclipse Public License (EPLv1). A source code contribution to TOP (merge request) requires adhering to EPLv1 and signing a Contributor Agreement between the developer and ETSI TC MTS beforehand. Find out more about TOP governance on the Governance wiki page. -Find out more information on how to contribute here. diff --git a/wiki/pages/How-to-contribute.md b/wiki/pages/How-to-contribute.md deleted file mode 100644 index d6fb11712f1d030f23f119baf9723ecd3e858e33..0000000000000000000000000000000000000000 --- a/wiki/pages/How-to-contribute.md +++ /dev/null @@ -1,15 +0,0 @@ -## Are you a test designer, a test developer or a tool vendor? - -**Your contribution is most welcome!** - -Active contributions to the TDL standardisation require an ETSI membership. - -Any interested company can find how to become an ETSI member [here](http://www.etsi.org/membership/apply). - -## The TOP source base is openly accessible - -Its usage is governed by the Eclipse Public License (EPLv1). A source code contribution to TOP (merge request) requires adhering to EPLv1 and signing a Contributor Agreement between the developer and ETSI TC MTS beforehand. - -* Find out more about TOP governance on the [Governance wiki page](Governance). -* Find out more information on how to contribute here. -* Find out more information on how to set up a development environment in the [Readme](https://labs.etsi.org/rep/top/ide). diff --git a/wiki/pages/Installation.md b/wiki/pages/Installation.md deleted file mode 100644 index 75a7422661aa2189aa9a5e4cfb427a4bf52687de..0000000000000000000000000000000000000000 --- a/wiki/pages/Installation.md +++ /dev/null @@ -1,24 +0,0 @@ -The TDL tools are available as a set of Eclipse plug-ins. You need to first be able to run Eclipse. The [Eclipse Modeling Tools](https://www.eclipse.org/downloads/packages/release/2021-06/r/eclipse-modeling-tools) distribution contains most of the necessary prerequisites for the TDL tools. - -Once Eclipse is up and running, the easiest way to install the TOP tools is from the Eclipse Marketplace - simply search for TDL in the Eclipse Marketplace client within Eclipse, or go to the [TOP Marketplace Listing](https://marketplace.eclipse.org/content/top-tdl-open-source-project) and drag the install button into the Eclipse window. - -Alternatively, you can install the plug-ins manually from an update site. In this case, you need to add the [update site](https://tdl.etsi.org/eclipse/latest/) for the TDL tools: - - https://tdl.etsi.org/eclipse/latest/ - -After the update site is added, the list of plug-ins and features shall be shown in the installation dialog (menu item Help->Install New Software..). Select the desired features and proceed with the installation, which will require Eclipse to be restarted once the installation is finished. - -To add the new repository to Eclipse, follow these steps: - -1. Open the menu item *Help* and select the item *Install new software* -1. Click *Add...* button to add a new repository -1. Insert the required information: - * Name: TOP Plugins - * Location: https://tdl.etsi.org/eclipse/latest/ -1. Click Ok. In the window, a new set of plugins called TDL should appear -1. Click on the checkbox to select all the plugins, then click *Next*. -1. Now follow the instructions to complete the installation - -After the installation Eclipse will need to be restarted. - -Next step: [Usage of the installed plugins.](Usage) diff --git a/wiki/pages/Learn-about-TDL.md b/wiki/pages/Learn-about-TDL.md deleted file mode 100644 index 39fc3cbd0c9ccd2a65fa6d144f063312a19acc8b..0000000000000000000000000000000000000000 --- a/wiki/pages/Learn-about-TDL.md +++ /dev/null @@ -1,3 +0,0 @@ -The Test Description Language (TDL) is a standardized testing technology developed and maintained by the [European Telecommunication Standards Institute](http://etsi.org) (ETSI) and specifically designed for high-level test specification. - -Find the introduction, materials and more at [tdl.etsi.org](http://tdl.etsi.org/). diff --git a/wiki/pages/Legal-framework.md b/wiki/pages/Legal-framework.md deleted file mode 100644 index e524e7503192b75ae1c670eb80a49e00a8ad534d..0000000000000000000000000000000000000000 --- a/wiki/pages/Legal-framework.md +++ /dev/null @@ -1,25 +0,0 @@ - -## Intellectual Properties - -The content shared within the TOP project is covered by the [Eclipse Public License v1](https://www.eclipse.org/legal/epl-v10.html), as decided by ETSI TC MTS. - -## Contributor agreements - -### Corporate Contribution License Agreement -The Contributor License Agreements (CLA) define terms and conditions for any contribution to the TOP project. - -Contributions in name of a company (which should be a member of ETSI TC MTS) are covered by the Corporate CLA. This document is to be signed once by the company and covers the contribution from any employee. - -[Download the CCLA here](https://tdl.etsi.org/files/CCLA_TC-MTS_29-May-2017.pdf) - -### Individual Contributor License Agreement - -Covers people contributing in their own name, employees are still allowed to register both under corporate and as individuals. - -[Download the ICLA here](https://tdl.etsi.org/files/ICLA_TC-MTS_29-May-2017.pdf) - -### How to submit the Agreement - -CCLA should be filled in and sent to this email address. - -ICLA is to be accepted during the registration phase for individual accounts. diff --git a/wiki/pages/Usage.md b/wiki/pages/Usage.md deleted file mode 100644 index 3bf30a45b12d738fe388fa9dc31bfac5874a5bd5..0000000000000000000000000000000000000000 --- a/wiki/pages/Usage.md +++ /dev/null @@ -1,44 +0,0 @@ -# TDL editor plugin - -To create a new TDL model by means of the TDLan2 textual representation, follow these steps: - -- right click on a project or a folder in the package explorer and select New -> File, -- type the filename ending with **.tdlan2** -- the corresponding editor shall be automatically opened. - -# TDL-TO editor plugin - -To create a new TDL model by means of the TPlan2 textual representation for structured test objectives, follow this steps: - -- right click on a project or a folder in the package explorer and select New -> File, -- type the filename ending with **.tplan2** , -- the corresponding editor shall be automatically opened. - -# Convert the text into XF Format - -- To translate a TDL model from the TDLan2 textual representation to the XF format (or the other way around), open the source model and press the "T" icon on the toolbar. The resulting model shall be stored in the same folder as the source model with the type of the model (**.tdlan2** or **.tdl**) appended to the name of the source model. - -# Export TDL Test Objectives as Word tables - -## Install the plugin - -Make sure that the TDL Word export plugin is installed. Find here [how to install the plugins](Installation). After the plugin is installed, you will be asked to restart the Eclipse environment. - -After Eclipse restarts, you should be able to see a `W` button in the toolbar below the main menu. - -![Toolbar.PNG](https://labs.etsi.org/rep/top/ide/-/raw/master/wiki/images/Toolbar.PNG) - -## Use the export button! - -1. Open a **tplan2** document in Eclipse like this - -[![Tdlan example.PNG](https://tdl.etsi.org/wiki/images/8/8a/Tdlan_example.PNG)](https://tdl.etsi.org/wiki/index.php/File:Tdlan_example.PNG) - -1. Click on the `W` button in the toolbar and wait for a few seconds. It may happen that the Eclipse window is not responsive to clicks during the export execution, it does not mean that it is an error. - -1. When the processing is done, the newly created Word document will be in the same folder of the tplan file and should appear in the Project explorer -2. If the file is not shown, select the project, right click and select *Refresh* (or hit F5 on the keyboard) - -The result will look like: - -[![Word.PNG](https://tdl.etsi.org/wiki/images/8/8b/Word.PNG)](https://tdl.etsi.org/wiki/index.php/File:Word.PNG) \ No newline at end of file