@eclipse-glsp-examples/workflow-server 1.1.0-next.e49c816.56 → 1.1.0-next.f0fc2cf.63

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -13,11 +13,12 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
- import { GModelElement, Marker, ModelState, ModelValidator } from '@eclipse-glsp/server';
16
+ import { AbstractModelValidator, GModelElement, Marker, ModelState } from '@eclipse-glsp/server';
17
17
  import { ActivityNode, TaskNode } from '../graph-extension';
18
- export declare class WorkflowModelValidator implements ModelValidator {
18
+ export declare class WorkflowModelValidator extends AbstractModelValidator {
19
19
  protected readonly modelState: ModelState;
20
- validate(elements: GModelElement[]): Marker[];
20
+ doLiveValidation(element: GModelElement): Marker[];
21
+ doBatchValidation(element: GModelElement): Marker[];
21
22
  protected validateTaskNode(taskNode: TaskNode): Marker[];
22
23
  protected validateTaskNode_isAutomated(taskNode: TaskNode): Marker | undefined;
23
24
  protected validateTaskNode_labelStartsUpperCase(taskNode: TaskNode): Marker | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-model-validator.d.ts","sourceRoot":"","sources":["../../../src/common/marker/workflow-model-validator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAwB,aAAa,EAAE,MAAM,EAAc,UAAU,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3H,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE5D,qBACa,sBAAuB,YAAW,cAAc;IAEzD,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAE1C,QAAQ,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,MAAM,EAAE;IAmB7C,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,EAAE;IAaxD,SAAS,CAAC,4BAA4B,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS;IAO9E,SAAS,CAAC,qCAAqC,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS;IAgBvF,SAAS,CAAC,oBAAoB,CAAC,YAAY,EAAE,YAAY,GAAG,MAAM,EAAE;IASpE,SAAS,CAAC,uCAAuC,CAAC,YAAY,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS;IAoBjG,SAAS,CAAC,iBAAiB,CAAC,SAAS,EAAE,YAAY,GAAG,MAAM,EAAE;IAS9D,SAAS,CAAC,oCAAoC,CAAC,SAAS,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS;CAmB9F"}
1
+ {"version":3,"file":"workflow-model-validator.d.ts","sourceRoot":"","sources":["../../../src/common/marker/workflow-model-validator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAE,sBAAsB,EAAwB,aAAa,EAAE,MAAM,EAAc,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEnI,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE5D,qBACa,sBAAuB,SAAQ,sBAAsB;IAE9D,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAEjC,gBAAgB,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,EAAE;IAYlD,iBAAiB,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,EAAE;IAQ5D,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,EAAE;IAaxD,SAAS,CAAC,4BAA4B,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS;IAO9E,SAAS,CAAC,qCAAqC,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,GAAG,SAAS;IAgBvF,SAAS,CAAC,oBAAoB,CAAC,YAAY,EAAE,YAAY,GAAG,MAAM,EAAE;IASpE,SAAS,CAAC,uCAAuC,CAAC,YAAY,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS;IAoBjG,SAAS,CAAC,iBAAiB,CAAC,SAAS,EAAE,YAAY,GAAG,MAAM,EAAE;IAS9D,SAAS,CAAC,oCAAoC,CAAC,SAAS,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS;CAmB9F"}
@@ -28,27 +28,26 @@ exports.WorkflowModelValidator = void 0;
28
28
  const server_1 = require("@eclipse-glsp/server");
29
29
  const inversify_1 = require("inversify");
30
30
  const graph_extension_1 = require("../graph-extension");
31
- let WorkflowModelValidator = exports.WorkflowModelValidator = class WorkflowModelValidator {
32
- validate(elements) {
31
+ let WorkflowModelValidator = exports.WorkflowModelValidator = class WorkflowModelValidator extends server_1.AbstractModelValidator {
32
+ doLiveValidation(element) {
33
33
  const markers = [];
34
- for (const element of elements) {
35
- if (element instanceof graph_extension_1.TaskNode) {
36
- markers.push(...this.validateTaskNode(element));
34
+ if (element instanceof graph_extension_1.ActivityNode) {
35
+ if (element.nodeType === 'decisionNode') {
36
+ markers.push(...this.validateDecisionNode(element));
37
37
  }
38
- else if (element instanceof graph_extension_1.ActivityNode) {
39
- if (element.nodeType === 'decisionNode') {
40
- markers.push(...this.validateDecisionNode(element));
41
- }
42
- else if (element.nodeType === 'mergeNode') {
43
- markers.push(...this.validateMergeNode(element));
44
- }
45
- }
46
- if (element.children) {
47
- markers.push(...this.validate(element.children));
38
+ else if (element.nodeType === 'mergeNode') {
39
+ markers.push(...this.validateMergeNode(element));
48
40
  }
49
41
  }
50
42
  return markers;
51
43
  }
44
+ doBatchValidation(element) {
45
+ const markers = [];
46
+ if (element instanceof graph_extension_1.TaskNode) {
47
+ markers.push(...this.validateTaskNode(element));
48
+ }
49
+ return markers;
50
+ }
52
51
  validateTaskNode(taskNode) {
53
52
  const markers = [];
54
53
  const automated = this.validateTaskNode_isAutomated(taskNode);
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-model-validator.js","sourceRoot":"","sources":["../../../src/common/marker/workflow-model-validator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow-model-validator.js","sourceRoot":"","sources":["../../../src/common/marker/workflow-model-validator.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eclipse-glsp-examples/workflow-server",
3
- "version": "1.1.0-next.e49c816.56+e49c816",
3
+ "version": "1.1.0-next.f0fc2cf.63+f0fc2cf",
4
4
  "description": "GLSP node server for the workflow example",
5
5
  "keywords": [
6
6
  "eclipse",
@@ -56,8 +56,8 @@
56
56
  "watch": "tsc -w"
57
57
  },
58
58
  "dependencies": {
59
- "@eclipse-glsp/layout-elk": "1.1.0-next.e49c816.56+e49c816",
60
- "@eclipse-glsp/server": "1.1.0-next.e49c816.56+e49c816",
59
+ "@eclipse-glsp/layout-elk": "1.1.0-next.f0fc2cf.63+f0fc2cf",
60
+ "@eclipse-glsp/server": "1.1.0-next.f0fc2cf.63+f0fc2cf",
61
61
  "inversify": "^6.0.1"
62
62
  },
63
63
  "devDependencies": {
@@ -68,5 +68,5 @@
68
68
  "publishConfig": {
69
69
  "access": "public"
70
70
  },
71
- "gitHead": "e49c8161b27481e4861b9429b7cab85946ce6700"
71
+ "gitHead": "f0fc2cff642fb4a62729d618b2fdd1bbb1041581"
72
72
  }
@@ -13,34 +13,35 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
- import { GCompartment, GLabel, GModelElement, Marker, MarkerKind, ModelState, ModelValidator } from '@eclipse-glsp/server';
16
+ import { AbstractModelValidator, GCompartment, GLabel, GModelElement, Marker, MarkerKind, ModelState } from '@eclipse-glsp/server';
17
17
  import { inject, injectable } from 'inversify';
18
18
  import { ActivityNode, TaskNode } from '../graph-extension';
19
19
 
20
20
  @injectable()
21
- export class WorkflowModelValidator implements ModelValidator {
21
+ export class WorkflowModelValidator extends AbstractModelValidator {
22
22
  @inject(ModelState)
23
23
  protected readonly modelState: ModelState;
24
24
 
25
- validate(elements: GModelElement[]): Marker[] {
25
+ override doLiveValidation(element: GModelElement): Marker[] {
26
26
  const markers: Marker[] = [];
27
- for (const element of elements) {
28
- if (element instanceof TaskNode) {
29
- markers.push(...this.validateTaskNode(element));
30
- } else if (element instanceof ActivityNode) {
31
- if (element.nodeType === 'decisionNode') {
32
- markers.push(...this.validateDecisionNode(element));
33
- } else if (element.nodeType === 'mergeNode') {
34
- markers.push(...this.validateMergeNode(element));
35
- }
36
- }
37
- if (element.children) {
38
- markers.push(...this.validate(element.children));
27
+ if (element instanceof ActivityNode) {
28
+ if (element.nodeType === 'decisionNode') {
29
+ markers.push(...this.validateDecisionNode(element));
30
+ } else if (element.nodeType === 'mergeNode') {
31
+ markers.push(...this.validateMergeNode(element));
39
32
  }
40
33
  }
41
34
  return markers;
42
35
  }
43
36
 
37
+ override doBatchValidation(element: GModelElement): Marker[] {
38
+ const markers: Marker[] = [];
39
+ if (element instanceof TaskNode) {
40
+ markers.push(...this.validateTaskNode(element));
41
+ }
42
+ return markers;
43
+ }
44
+
44
45
  protected validateTaskNode(taskNode: TaskNode): Marker[] {
45
46
  const markers: Marker[] = [];
46
47
  const automated = this.validateTaskNode_isAutomated(taskNode);