This is an automated email from the ASF dual-hosted git repository.

davin pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/daffodil-vscode.git


The following commit(s) were added to refs/heads/main by this push:
     new b9c64ac  Add none option for tdml on the scala side
b9c64ac is described below

commit b9c64ac0001bec3818fee67312a38f1e12e69ac0
Author: NolanMatt <[email protected]>
AuthorDate: Mon Jan 22 11:40:05 2024 -0500

    Add none option for tdml on the scala side
    
    - This is to prevent error from user passing none.
    
    Closes #944
---
 .../scala/org.apache.daffodil.debugger.dap/Parse.scala   | 16 ++++++++++++++--
 .../scala/org.apache.daffodil.debugger/ParseSuite.scala  |  2 +-
 2 files changed, 15 insertions(+), 3 deletions(-)

diff --git 
a/debugger/src/main/scala/org.apache.daffodil.debugger.dap/Parse.scala 
b/debugger/src/main/scala/org.apache.daffodil.debugger.dap/Parse.scala
index d025d78..80f8c4b 100644
--- a/debugger/src/main/scala/org.apache.daffodil.debugger.dap/Parse.scala
+++ b/debugger/src/main/scala/org.apache.daffodil.debugger.dap/Parse.scala
@@ -305,7 +305,7 @@ object Parse {
     // }
     //
     // The action field is parsed first.
-    // If it is a valid action ('generate' | 'append' | 'execute'), create a 
LaunchArgs object of the appropriate type
+    // If it is a valid action ('generate' | 'append' | 'execute' | 'none'), 
create a LaunchArgs object of the appropriate type
     // If it is 'none' or missing, create a LaunchArgs.Manual object. This 
will ignore any other fields in the tdmlConfig object.
     //
     // arguments:  Launch config
@@ -369,9 +369,21 @@ object Parse {
                 parseVariables(arguments),
                 parseTunables(arguments)
               ).parMapN(LaunchArgs.TDMLConfig.Execute.apply)
+            case "none" =>
+              (
+                parseSchema(arguments),
+                parseData(arguments),
+                parseStopOnEntry(arguments),
+                parseInfosetFormat(arguments),
+                parseInfosetOutput(arguments),
+                parseRootName(arguments),
+                parseRootNamespace(arguments),
+                parseVariables(arguments),
+                parseTunables(arguments)
+              ).parMapN(LaunchArgs.Manual.apply)
             case invalidType =>
               Left(
-                s"invalid 'tdmlConfig.action': '$invalidType', must be 
'generate', 'append', or 'execute'"
+                s"invalid 'tdmlConfig.action': '$invalidType', must be 
'generate', 'append', 'none', or 'execute'"
               ).toEitherNel
           }
       }
diff --git 
a/debugger/src/test/scala/org.apache.daffodil.debugger/ParseSuite.scala 
b/debugger/src/test/scala/org.apache.daffodil.debugger/ParseSuite.scala
index 26dc539..88425de 100644
--- a/debugger/src/test/scala/org.apache.daffodil.debugger/ParseSuite.scala
+++ b/debugger/src/test/scala/org.apache.daffodil.debugger/ParseSuite.scala
@@ -138,7 +138,7 @@ class ParseSuite extends FunSuite {
     assertEquals(parseResult.isLeft, true)
     assertEquals(
       parseResult.left.get.head,
-      "invalid 'tdmlConfig.action': 'InvalidAction', must be 'generate', 
'append', or 'execute'"
+      "invalid 'tdmlConfig.action': 'InvalidAction', must be 'generate', 
'append', 'none', or 'execute'"
     )
   }
 

Reply via email to