@eclipse-glsp/server 2.1.0-next.75 → 2.1.0-next.77

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,7 +13,7 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
- import { GEdge, GModelElement, GModelElementConstructor, GModelRoot, GNode } from '@eclipse-glsp/graph';
16
+ import { GEdge, GModelElement, GModelElementConstructor, GModelRoot } from '@eclipse-glsp/graph';
17
17
  import { TypeGuard } from '@eclipse-glsp/protocol';
18
18
  /**
19
19
  * Is used to index all child elements of a {@link GModelRoot} by their id. Offers a set
@@ -72,17 +72,17 @@ export declare class GModelIndex {
72
72
  */
73
73
  typeCount(type: string): number;
74
74
  /**
75
- * Returns all incoming edges for a node.
75
+ * Returns all incoming edges for a node (or port).
76
76
  *
77
- * @param node The node where the edges are connected.
77
+ * @param node The node (or port) where the edges are connected.
78
78
  *
79
79
  * @returns All incoming edges.
80
80
  */
81
- getIncomingEdges(node: GNode): GEdge[];
81
+ getIncomingEdges(node: GModelElement): GEdge[];
82
82
  /**
83
- * Returns all outgoing edges for a node.
83
+ * Returns all outgoing edges for a node (or port).
84
84
  *
85
- * @param node The node where the edges are connected.
85
+ * @param node The node (or port) where the edges are connected.
86
86
  *
87
87
  * @returns All outgoing edges.
88
88
  */
@@ -1 +1 @@
1
- {"version":3,"file":"gmodel-index.d.ts","sourceRoot":"","sources":["../../../../src/common/features/model/gmodel-index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,wBAAwB,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACxG,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAInD;;;GAGG;AACH,qBACa,WAAW;IACpB,SAAS,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAClD,SAAS,CAAC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;;IAOvD,KAAK,IAAI,IAAI;IAKb,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAKjC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAiB/C,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,OAAO,GAAG,aAAa,GAAG,SAAS;IAQhG,WAAW,CAAC,CAAC,SAAS,aAAa,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,wBAAwB,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS;IAQpH;;;;;OAKG;IACH,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa;IAIrC;;;;;OAKG;IACH,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,aAAa,EAAE;IAI7C;;;;;;OAMG;IACH,aAAa,CAAC,CAAC,SAAS,aAAa,EAAE,WAAW,EAAE,wBAAwB,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE;IAIrF;;;;OAIG;IACH,MAAM,IAAI,MAAM,EAAE;IAIlB;;;;;OAKG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,EAAE;IAI1C;;;;;;OAMG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAI/B;;;;;;OAMG;IACH,gBAAgB,CAAC,IAAI,EAAE,KAAK,GAAG,KAAK,EAAE;IAItC;;;;;;OAMG;IACH,gBAAgB,CAAC,IAAI,EAAE,aAAa,GAAG,KAAK,EAAE;IAI9C;;;;OAIG;IACH,WAAW,IAAI,KAAK,EAAE;IAItB;;;;;;;OAOG;IACH,iBAAiB,CAAC,CAAC,SAAS,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS;IAKjG,SAAS,CAAC,YAAY,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS;CAYxF"}
1
+ {"version":3,"file":"gmodel-index.d.ts","sourceRoot":"","sources":["../../../../src/common/features/model/gmodel-index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,wBAAwB,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjG,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAInD;;;GAGG;AACH,qBACa,WAAW;IACpB,SAAS,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAClD,SAAS,CAAC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;;IAOvD,KAAK,IAAI,IAAI;IAKb,SAAS,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAKjC,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAiB/C,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,OAAO,GAAG,aAAa,GAAG,SAAS;IAQhG,WAAW,CAAC,CAAC,SAAS,aAAa,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,wBAAwB,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS;IAQpH;;;;;OAKG;IACH,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa;IAIrC;;;;;OAKG;IACH,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,aAAa,EAAE;IAI7C;;;;;;OAMG;IACH,aAAa,CAAC,CAAC,SAAS,aAAa,EAAE,WAAW,EAAE,wBAAwB,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE;IAIrF;;;;OAIG;IACH,MAAM,IAAI,MAAM,EAAE;IAIlB;;;;;OAKG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,EAAE;IAI1C;;;;;;OAMG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAI/B;;;;;;OAMG;IACH,gBAAgB,CAAC,IAAI,EAAE,aAAa,GAAG,KAAK,EAAE;IAI9C;;;;;;OAMG;IACH,gBAAgB,CAAC,IAAI,EAAE,aAAa,GAAG,KAAK,EAAE;IAI9C;;;;OAIG;IACH,WAAW,IAAI,KAAK,EAAE;IAItB;;;;;;;OAOG;IACH,iBAAiB,CAAC,CAAC,SAAS,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS;IAKjG,SAAS,CAAC,YAAY,CAAC,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS;CAYxF"}
@@ -133,9 +133,9 @@ let GModelIndex = class GModelIndex {
133
133
  return this.getElements(type).length;
134
134
  }
135
135
  /**
136
- * Returns all incoming edges for a node.
136
+ * Returns all incoming edges for a node (or port).
137
137
  *
138
- * @param node The node where the edges are connected.
138
+ * @param node The node (or port) where the edges are connected.
139
139
  *
140
140
  * @returns All incoming edges.
141
141
  */
@@ -143,9 +143,9 @@ let GModelIndex = class GModelIndex {
143
143
  return this.getAllEdges().filter(edge => edge.targetId === node.id);
144
144
  }
145
145
  /**
146
- * Returns all outgoing edges for a node.
146
+ * Returns all outgoing edges for a node (or port).
147
147
  *
148
- * @param node The node where the edges are connected.
148
+ * @param node The node (or port) where the edges are connected.
149
149
  *
150
150
  * @returns All outgoing edges.
151
151
  */
@@ -1 +1 @@
1
- {"version":3,"file":"gmodel-index.js","sourceRoot":"","sources":["../../../../src/common/features/model/gmodel-index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gmodel-index.js","sourceRoot":"","sources":["../../../../src/common/features/model/gmodel-index.ts"],"names":[],"mappings":"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"}
@@ -26,7 +26,6 @@ export declare class GModelDeleteOperationHandler extends GModelOperationHandler
26
26
  createCommand(operation: DeleteElementOperation): MaybePromise<Command | undefined>;
27
27
  deleteElements(elementIds: string[]): MaybePromise<void>;
28
28
  protected delete(elementId: string, index: GModelIndex): boolean;
29
- protected collectDependents(dependents: Set<GModelElement>, nodeToDelete: GModelElement, isChild: boolean): void;
30
- protected findTopLevelElement(element: GModelElement): GModelElement;
29
+ protected collectDependents(dependents: Set<GModelElement>, elementToDelete: GModelElement, isChild: boolean): void;
31
30
  }
32
31
  //# sourceMappingURL=delete-operation-handler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"delete-operation-handler.d.ts","sourceRoot":"","sources":["../../../src/common/gmodel/delete-operation-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAS,aAAa,EAAS,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE9E,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAEpE,qBACa,4BAA6B,SAAQ,sBAAsB;IAEpE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IAEzB,SAAS,CAAC,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAExC,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,aAAa,CAAC,SAAS,EAAE,sBAAsB,GAAG,YAAY,CAAC,OAAO,GAAG,SAAS,CAAC;IASnF,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC;IAaxD,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO;IA+BhE,SAAS,CAAC,iBAAiB,CAAC,UAAU,EAAE,GAAG,CAAC,aAAa,CAAC,EAAE,YAAY,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAuBhH,SAAS,CAAC,mBAAmB,CAAC,OAAO,EAAE,aAAa,GAAG,aAAa;CAWvE"}
1
+ {"version":3,"file":"delete-operation-handler.d.ts","sourceRoot":"","sources":["../../../src/common/gmodel/delete-operation-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;kFAckF;AAClF,OAAO,EAAE,aAAa,EAAgB,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE9E,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAEpE,qBACa,4BAA6B,SAAQ,sBAAsB;IAEpE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IAEzB,SAAS,CAAC,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAExC,IAAI,aAAa,IAAI,MAAM,CAE1B;IAED,aAAa,CAAC,SAAS,EAAE,sBAAsB,GAAG,YAAY,CAAC,OAAO,GAAG,SAAS,CAAC;IASnF,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC;IAaxD,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO;IA8BhE,SAAS,CAAC,iBAAiB,CAAC,UAAU,EAAE,GAAG,CAAC,aAAa,CAAC,EAAE,eAAe,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;CAuBtH"}
@@ -63,49 +63,40 @@ let GModelDeleteOperationHandler = class GModelDeleteOperationHandler extends gm
63
63
  this.logger.warn('Element not found: ' + elementId);
64
64
  return false;
65
65
  }
66
- const nodeToDelete = this.findTopLevelElement(element);
67
- if (!nodeToDelete.parent) {
68
- this.logger.warn("The requested node doesn't have a parent; it can't be deleted");
66
+ if (!element.parent) {
67
+ this.logger.warn("The requested element doesn't have a parent; it can't be deleted");
69
68
  return false;
70
69
  }
71
70
  const dependents = new Set();
72
- this.collectDependents(dependents, nodeToDelete, false);
71
+ this.collectDependents(dependents, element, false);
73
72
  dependents.forEach(dependant => {
74
- const index = this.modelState.root.children.findIndex(element => element === dependant);
73
+ const index = dependant.parent.children.findIndex(element => element === dependant);
75
74
  if (index > -1) {
76
- this.modelState.root.children.splice(index, 1);
75
+ dependant.parent.children.splice(index, 1);
77
76
  }
78
77
  this.allDependentsIds.add(dependant.id);
79
78
  });
80
79
  return true;
81
80
  }
82
- collectDependents(dependents, nodeToDelete, isChild) {
83
- if (dependents.has(nodeToDelete)) {
81
+ collectDependents(dependents, elementToDelete, isChild) {
82
+ if (dependents.has(elementToDelete)) {
84
83
  return;
85
84
  }
86
- if (nodeToDelete.children.length > 0) {
87
- nodeToDelete.children.forEach(child => this.collectDependents(dependents, child, true));
85
+ if (elementToDelete.children.length > 0) {
86
+ elementToDelete.children.forEach(child => this.collectDependents(dependents, child, true));
88
87
  }
89
- if (nodeToDelete instanceof graph_1.GNode) {
88
+ if (elementToDelete instanceof graph_1.GNode || elementToDelete instanceof graph_1.GPort) {
90
89
  const index = this.modelState.index;
91
- index.getIncomingEdges(nodeToDelete).forEach(incoming => {
90
+ index.getIncomingEdges(elementToDelete).forEach(incoming => {
92
91
  dependents.add(incoming);
93
92
  });
94
- index.getOutgoingEdges(nodeToDelete).forEach(outgoing => {
93
+ index.getOutgoingEdges(elementToDelete).forEach(outgoing => {
95
94
  dependents.add(outgoing);
96
95
  });
97
96
  }
98
- dependents.add(nodeToDelete);
99
- }
100
- findTopLevelElement(element) {
101
- if (element instanceof graph_1.GNode || element instanceof graph_1.GEdge) {
102
- return element;
103
- }
104
- const parent = element.parent;
105
- if (!parent) {
106
- return element;
97
+ if (!isChild) {
98
+ dependents.add(elementToDelete);
107
99
  }
108
- return this.findTopLevelElement(parent);
109
100
  }
110
101
  };
111
102
  exports.GModelDeleteOperationHandler = GModelDeleteOperationHandler;
@@ -1 +1 @@
1
- {"version":3,"file":"delete-operation-handler.js","sourceRoot":"","sources":["../../../src/common/gmodel/delete-operation-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"delete-operation-handler.js","sourceRoot":"","sources":["../../../src/common/gmodel/delete-operation-handler.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;;;;;;;;;;;;kFAckF;AAClF,+CAAkE;AAClE,qDAA8E;AAC9E,yCAA+C;AAG/C,4CAAyC;AACzC,yEAAoE;AAG7D,IAAM,4BAA4B,GAAlC,MAAM,4BAA6B,SAAQ,iDAAsB;IAMpE,IAAI,aAAa;QACb,OAAO,iCAAsB,CAAC,IAAI,CAAC;IACvC,CAAC;IAED,aAAa,CAAC,SAAiC;QAC3C,MAAM,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC;QACxC,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;YACxC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;YACzD,OAAO,SAAS,CAAC;SACpB;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;IACjE,CAAC;IAED,cAAc,CAAC,UAAoB;QAC/B,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;YACxC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;YACzD,OAAO;SACV;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QACpC,IAAI,CAAC,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;QAC1C,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;QACjE,IAAI,CAAC,OAAO,EAAE;YACV,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iFAAiF,CAAC,CAAC;SACvG;IACL,CAAC;IAES,MAAM,CAAC,SAAiB,EAAE,KAAkB;QAClD,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;YACtC,OAAO,IAAI,CAAC;SACf;QAED,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtC,IAAI,CAAC,OAAO,EAAE;YACV,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,GAAG,SAAS,CAAC,CAAC;YACpD,OAAO,KAAK,CAAC;SAChB;QAED,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;YACjB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC;YACrF,OAAO,KAAK,CAAC;SAChB;QAED,MAAM,UAAU,GAAG,IAAI,GAAG,EAAiB,CAAC;QAC5C,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAEnD,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YAC3B,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC;YACpF,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;gBACZ,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;aAC9C;YACD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IAChB,CAAC;IAES,iBAAiB,CAAC,UAA8B,EAAE,eAA8B,EAAE,OAAgB;QACxG,IAAI,UAAU,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE;YACjC,OAAO;SACV;QAED,IAAI,eAAe,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YACrC,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;SAC9F;QAED,IAAI,eAAe,YAAY,aAAK,IAAI,eAAe,YAAY,aAAK,EAAE;YACtE,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;YAEpC,KAAK,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;gBACvD,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC7B,CAAC,CAAC,CAAC;YACH,KAAK,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;gBACvD,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC7B,CAAC,CAAC,CAAC;SACN;QACD,IAAI,CAAC,OAAO,EAAE;YACV,UAAU,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;SACnC;IACL,CAAC;CACJ,CAAA;AArFY,oEAA4B;AAE3B;IADT,IAAA,kBAAM,EAAC,eAAM,CAAC;8BACG,eAAM;4DAAC;uCAFhB,4BAA4B;IADxC,IAAA,sBAAU,GAAE;GACA,4BAA4B,CAqFxC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eclipse-glsp/server",
3
- "version": "2.1.0-next.75+9f86a52",
3
+ "version": "2.1.0-next.77+1a0997e",
4
4
  "description": "A js server framework for Eclipse GLSP",
5
5
  "keywords": [
6
6
  "eclipse",
@@ -59,7 +59,7 @@
59
59
  "watch": "tsc -w"
60
60
  },
61
61
  "dependencies": {
62
- "@eclipse-glsp/graph": "2.1.0-next.75+9f86a52",
62
+ "@eclipse-glsp/graph": "2.1.0-next.77+1a0997e",
63
63
  "@eclipse-glsp/protocol": "next",
64
64
  "@types/uuid": "8.3.1",
65
65
  "commander": "^8.3.0",
@@ -76,5 +76,5 @@
76
76
  "publishConfig": {
77
77
  "access": "public"
78
78
  },
79
- "gitHead": "9f86a52adb3d5ae444f8aeeed842fc01b443bd4e"
79
+ "gitHead": "1a0997e056ff19b4435fa94e9ccda5f3957ed199"
80
80
  }
@@ -13,10 +13,10 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
- import { GEdge, GModelElement, GModelElementConstructor, GModelRoot, GNode } from '@eclipse-glsp/graph';
16
+ import { GEdge, GModelElement, GModelElementConstructor, GModelRoot } from '@eclipse-glsp/graph';
17
17
  import { TypeGuard } from '@eclipse-glsp/protocol';
18
18
  import { injectable } from 'inversify';
19
- import { getOrThrow, GLSPServerError } from '../../utils/glsp-server-error';
19
+ import { GLSPServerError, getOrThrow } from '../../utils/glsp-server-error';
20
20
 
21
21
  /**
22
22
  * Is used to index all child elements of a {@link GModelRoot} by their id. Offers a set
@@ -137,20 +137,20 @@ export class GModelIndex {
137
137
  }
138
138
 
139
139
  /**
140
- * Returns all incoming edges for a node.
140
+ * Returns all incoming edges for a node (or port).
141
141
  *
142
- * @param node The node where the edges are connected.
142
+ * @param node The node (or port) where the edges are connected.
143
143
  *
144
144
  * @returns All incoming edges.
145
145
  */
146
- getIncomingEdges(node: GNode): GEdge[] {
146
+ getIncomingEdges(node: GModelElement): GEdge[] {
147
147
  return this.getAllEdges().filter(edge => edge.targetId === node.id);
148
148
  }
149
149
 
150
150
  /**
151
- * Returns all outgoing edges for a node.
151
+ * Returns all outgoing edges for a node (or port).
152
152
  *
153
- * @param node The node where the edges are connected.
153
+ * @param node The node (or port) where the edges are connected.
154
154
  *
155
155
  * @returns All outgoing edges.
156
156
  */
@@ -13,7 +13,7 @@
13
13
  *
14
14
  * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
15
  ********************************************************************************/
16
- import { GEdge, GModelElement, GNode } from '@eclipse-glsp/graph';
16
+ import { GModelElement, GNode, GPort } from '@eclipse-glsp/graph';
17
17
  import { DeleteElementOperation, MaybePromise } from '@eclipse-glsp/protocol';
18
18
  import { inject, injectable } from 'inversify';
19
19
  import { Command } from '../command/command';
@@ -65,19 +65,18 @@ export class GModelDeleteOperationHandler extends GModelOperationHandler {
65
65
  return false;
66
66
  }
67
67
 
68
- const nodeToDelete = this.findTopLevelElement(element);
69
- if (!nodeToDelete.parent) {
70
- this.logger.warn("The requested node doesn't have a parent; it can't be deleted");
68
+ if (!element.parent) {
69
+ this.logger.warn("The requested element doesn't have a parent; it can't be deleted");
71
70
  return false;
72
71
  }
73
72
 
74
73
  const dependents = new Set<GModelElement>();
75
- this.collectDependents(dependents, nodeToDelete, false);
74
+ this.collectDependents(dependents, element, false);
76
75
 
77
76
  dependents.forEach(dependant => {
78
- const index = this.modelState.root.children.findIndex(element => element === dependant);
77
+ const index = dependant.parent.children.findIndex(element => element === dependant);
79
78
  if (index > -1) {
80
- this.modelState.root.children.splice(index, 1);
79
+ dependant.parent.children.splice(index, 1);
81
80
  }
82
81
  this.allDependentsIds.add(dependant.id);
83
82
  });
@@ -85,38 +84,27 @@ export class GModelDeleteOperationHandler extends GModelOperationHandler {
85
84
  return true;
86
85
  }
87
86
 
88
- protected collectDependents(dependents: Set<GModelElement>, nodeToDelete: GModelElement, isChild: boolean): void {
89
- if (dependents.has(nodeToDelete)) {
87
+ protected collectDependents(dependents: Set<GModelElement>, elementToDelete: GModelElement, isChild: boolean): void {
88
+ if (dependents.has(elementToDelete)) {
90
89
  return;
91
90
  }
92
91
 
93
- if (nodeToDelete.children.length > 0) {
94
- nodeToDelete.children.forEach(child => this.collectDependents(dependents, child, true));
92
+ if (elementToDelete.children.length > 0) {
93
+ elementToDelete.children.forEach(child => this.collectDependents(dependents, child, true));
95
94
  }
96
95
 
97
- if (nodeToDelete instanceof GNode) {
96
+ if (elementToDelete instanceof GNode || elementToDelete instanceof GPort) {
98
97
  const index = this.modelState.index;
99
98
 
100
- index.getIncomingEdges(nodeToDelete).forEach(incoming => {
99
+ index.getIncomingEdges(elementToDelete).forEach(incoming => {
101
100
  dependents.add(incoming);
102
101
  });
103
- index.getOutgoingEdges(nodeToDelete).forEach(outgoing => {
102
+ index.getOutgoingEdges(elementToDelete).forEach(outgoing => {
104
103
  dependents.add(outgoing);
105
104
  });
106
105
  }
107
-
108
- dependents.add(nodeToDelete);
109
- }
110
-
111
- protected findTopLevelElement(element: GModelElement): GModelElement {
112
- if (element instanceof GNode || element instanceof GEdge) {
113
- return element;
114
- }
115
-
116
- const parent = element.parent;
117
- if (!parent) {
118
- return element;
106
+ if (!isChild) {
107
+ dependents.add(elementToDelete);
119
108
  }
120
- return this.findTopLevelElement(parent);
121
109
  }
122
110
  }