Skip to content
This repository was archived by the owner on May 14, 2025. It is now read-only.

Commit bc69177

Browse files
BoykoAlexjvalkeal
authored andcommitted
Fix parser app-property spacing
1 parent 0d64040 commit bc69177

File tree

2 files changed

+13
-6
lines changed

2 files changed

+13
-6
lines changed

ui/src/app/streams/components/flo/text-to-graph.spec.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,14 @@ describe('text-to-graph', () => {
7474
expect(graph.links.length).toEqual(0);
7575
});
7676

77+
it('jsongraph: app properties computed dsl', () => {
78+
const dsl = 'aaa --server.port=9002 --server.addr=uuu||bbb --server.port=4567';
79+
graph = getGraph('aaa --server.port=9002 --server.addr=uuu||bbb --server.port=4567');
80+
expect(graph.links.length).toEqual(0);
81+
expect(graph.streamdefs.length).toEqual(1);
82+
expect(graph.streamdefs[0].def).toEqual('aaa --server.port=9002 --server.addr=uuu || bbb --server.port=4567');
83+
});
84+
7785
it('jsongraph: two separate apps should be unconnected: 2', () => {
7886
graph = getGraph('aaa || bbb');
7987
expect(graph.streamdefs.length).toEqual(1);

ui/src/app/streams/components/flo/text-to-graph.ts

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ export class TextToGraphConverter {
169169
parsedNode.name) {
170170
if (n > 0) {
171171
if (parsedNode.type !== 'app') {
172-
streamdef = streamdef + '| ';
172+
streamdef = streamdef + ' | ';
173173
} else {
174174
streamdef = streamdef + ' || ';
175175
}
@@ -206,13 +206,12 @@ export class TextToGraphConverter {
206206
if (parsedNode.label) {
207207
streamdef = streamdef + parsedNode.label + ': ';
208208
}
209-
streamdef = streamdef + graphNode.name + ((parsedNode.type !== 'app') ? ' ' : '' );
209+
streamdef = streamdef + graphNode.name;
210210
if (parsedNode.options.size !== 0) {
211211
graphNode.properties = parsedNode.options;
212212
graphNode.propertiesranges = parsedNode.optionsranges;
213-
for (const key of Array.from(graphNode.properties.keys())) {
214-
streamdef = streamdef + '--' + key + '=' + graphNode.properties.get(key) + ' ';
215-
}
213+
// Add a space before each property to separate from the app node and between each property
214+
Array.from(graphNode.properties.keys()).forEach(key => streamdef += ` --${key}=${graphNode.properties.get(key)}`);
216215
}
217216
if (parsedNode.range) {
218217
graphNode.range = parsedNode.range;
@@ -251,7 +250,7 @@ export class TextToGraphConverter {
251250
linkFrom = graphNode.id;
252251
if (!parsedNode.sourceChannelName || parsedNode.name !== 'bridge') {
253252
// if it is a bridge then the source channel already added a '>'
254-
streamdef = streamdef + '> ';
253+
streamdef = streamdef + ' > ';
255254
}
256255
streamdef = streamdef + ':' + channelText;
257256
}

0 commit comments

Comments
 (0)