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

heneveld pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/brooklyn-ui.git

commit 8a0ad3f5939b029c1cbaa1d690ce8a7f6d6eae07
Author: Alex Heneveld <[email protected]>
AuthorDate: Wed Apr 21 15:28:59 2021 +0100

    fix dsl detection edge case debug message for numbers and boolean values
---
 .../app/components/providers/blueprint-service.provider.js  |  2 +-
 .../app/components/util/model/dsl.model.js                  | 13 ++++++++++---
 2 files changed, 11 insertions(+), 4 deletions(-)

diff --git 
a/ui-modules/blueprint-composer/app/components/providers/blueprint-service.provider.js
 
b/ui-modules/blueprint-composer/app/components/providers/blueprint-service.provider.js
index 7f78da1..1639577 100644
--- 
a/ui-modules/blueprint-composer/app/components/providers/blueprint-service.provider.js
+++ 
b/ui-modules/blueprint-composer/app/components/providers/blueprint-service.provider.js
@@ -485,7 +485,7 @@ function BlueprintService($log, $q, $sce, paletteApi, 
iconGenerator, dslService)
                     resolve(parsed);
                 }
             } catch (ex) {
-                $log.debug(ex);
+                $log.debug("Cannot detect whether this is a DSL expression; 
assuming not", ex);
                 reject(ex, input);
             }
         });
diff --git 
a/ui-modules/blueprint-composer/app/components/util/model/dsl.model.js 
b/ui-modules/blueprint-composer/app/components/util/model/dsl.model.js
index 7b78a0a..323d73d 100644
--- a/ui-modules/blueprint-composer/app/components/util/model/dsl.model.js
+++ b/ui-modules/blueprint-composer/app/components/util/model/dsl.model.js
@@ -37,6 +37,7 @@ export const KIND = {
     ENTITY  : {family: FAMILY.REFERENCE, name: 'entity object'},
     STRING  : {family: FAMILY.CONSTANT,  name: 'constant string'},
     NUMBER  : {family: FAMILY.CONSTANT,  name: 'constant number'},
+    OTHER   : {family: FAMILY.CONSTANT,  name: 'constant other'},
     PORT    : {family: FAMILY.CONSTANT,  name: 'constant port'},
 };
 
@@ -656,10 +657,16 @@ export class DslParser {
         if (this.s instanceof String || typeof this.s === 'string') {
             return this.parseString(this.s.toString().trim(), entity, 
entityResolver);
         }
-        // else ... TODO support JSON objects (for YAML syntax)
-        else {
-            throw new DslError("Unable to parse: " + typeof this.s);
+        // NUMBER and OTHER kinds are in the CONSTANT family which means they 
aren't DSL expressions
+        // (API here could be improved!)
+        if (typeof this.s === 'number') {
+            return new Dsl(KIND.NUMBER, this.s)
+        }
+        if (typeof this.s === 'boolean') {
+            return new Dsl(KIND.OTHER, this.s)
         }
+        // TODO support JSON objects (for YAML syntax)
+        throw new DslError("Unable to parse: " + typeof this.s);
     }
 
     /**

Reply via email to