Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -32,14 +32,15 @@ public class C4ExecuteCommandProvider {
public static final String REFRESH_PREVIEW = "c4.refresh";
public static final String SEND_SNIPPET_TELEMETRY = "c4-server.send-snippet-telemetry";
public static final String SEND_DEPLOYMENT_TELEMETRY = "c4-server.send-deployment-telemetry";
public static final String SEND_PATTERN_TELEMETRY = "c4-server.send-pattern-telemetry";
public static final String SVG_LAYOUT = "c4-server.svg-layout";
public static final String WORKSPACE_2_DOT = "c4-server.workspace-2-dot";
public static final String VIEW_2_MX = "c4-server.view-2-mx";

private static final Logger logger = LoggerFactory.getLogger(C4ExecuteCommandProvider.class);

public static final List<String> SERVER_COMMANDS = Arrays.asList(UPDATE_CONFIGURATION,
CALCULATE_TEXT_DECORATIONS, AUTO_FORMAT_INDENT, REFRESH_PREVIEW, SEND_SNIPPET_TELEMETRY, SEND_DEPLOYMENT_TELEMETRY, SVG_LAYOUT, WORKSPACE_2_DOT, VIEW_2_MX);
CALCULATE_TEXT_DECORATIONS, AUTO_FORMAT_INDENT, REFRESH_PREVIEW, SEND_SNIPPET_TELEMETRY, SEND_DEPLOYMENT_TELEMETRY, SVG_LAYOUT, WORKSPACE_2_DOT, VIEW_2_MX, SEND_PATTERN_TELEMETRY);

public static C4ExecuteCommandResult execute(String command, List<Object> arguments, C4DocumentManager documentManager) {

Expand Down
7 changes: 7 additions & 0 deletions c4-server/src/main/java/ru/beeatlas/c4/custom/Custom.java
Original file line number Diff line number Diff line change
Expand Up @@ -974,6 +974,13 @@ private void startTelemetry() {
});
}

public void patternTelemetry(String patternId) {
String message = MessageFormat.format(
"'{'\"version\": \"{0}\", \"action\": \"pattern\", \"pattern_id\": \"{1}\", \"user\": \"{2}\", \"cmdb\": \"{3}\"'}'", version,
patternId, username, cmdb);
CompletableFuture.runAsync(() -> sendTelemetry(message));
}

public void hoverTelemetry() {
String message = MessageFormat.format(
"'{'\"version\": \"{0}\", \"action\": \"hover\", \"user\": \"{1}\", \"cmdb\": \"{2}\"'}'", version,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,15 +20,13 @@
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.structurizr.Workspace;
import com.structurizr.export.Diagram;
import com.structurizr.util.WorkspaceUtils;
import com.structurizr.view.ModelView;
import com.structurizr.view.ThemeUtils;
import com.structurizr.view.View;

import ru.beeatlas.c4.dto.RefreshOptions;
import ru.beeatlas.c4.utils.C4Utils;
import ru.beeatlas.c4.utils.MxExporter;
import ru.beeatlas.c4.utils.SVGReader;
import ru.beeatlas.c4.commands.C4ExecuteCommandProvider;
import ru.beeatlas.c4.commands.C4ExecuteCommandResult;
Expand Down Expand Up @@ -106,8 +104,9 @@ public CompletableFuture<Object> executeCommand(ExecuteCommandParams params) {
String jsonContent = WorkspaceUtils.toJson(workspace, false);
return C4ExecuteCommandResult.OK.setMessage(jsonContent).toJson();
} catch (Exception e) {
return C4ExecuteCommandResult.OK;
logger.error(e.getMessage());
}
return C4ExecuteCommandResult.OK;
}
case C4ExecuteCommandProvider.AUTO_FORMAT_INDENT:
var newIndent = ((JsonObject) params.getArguments().get(0)).get("indent").getAsJsonPrimitive()
Expand Down Expand Up @@ -149,8 +148,9 @@ public CompletableFuture<Object> executeCommand(ExecuteCommandParams params) {
String jsonContent = WorkspaceUtils.toJson(workspace, false);
return C4ExecuteCommandResult.OK.setMessage(jsonContent).toJson();
} catch (Exception e) {
return C4ExecuteCommandResult.OK;
logger.error(e.getMessage());
}
return C4ExecuteCommandResult.OK;
}
case C4ExecuteCommandProvider.VIEW_2_MX: {
RefreshOptions refreshOptions = RefreshOptions.fromJson((JsonObject) params.getArguments().get(0));
Expand All @@ -171,11 +171,17 @@ public CompletableFuture<Object> executeCommand(ExecuteCommandParams params) {
String content = C4Utils.export2Mx(modelView);
return C4ExecuteCommandResult.OK.setMessage(content).toJson();
}
return C4ExecuteCommandResult.OK;
} catch (Exception e) {
return C4ExecuteCommandResult.OK;
logger.error(e.getMessage());
}
}
return C4ExecuteCommandResult.OK;
}
case C4ExecuteCommandProvider.SEND_PATTERN_TELEMETRY: {
String patternId = ((JsonObject) params.getArguments().get(0)).get("patternId").getAsJsonPrimitive()
.getAsString();
Custom.getInstance().patternTelemetry(patternId);
return C4ExecuteCommandResult.OK;
}
default:
return C4ExecuteCommandProvider.execute(params.getCommand(), params.getArguments(), null).toJson();
}
Expand Down
43 changes: 24 additions & 19 deletions c4-server/src/main/java/ru/beeatlas/c4/utils/MxExporter.java
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,8 @@ public class MxExporter extends AbstractDiagramExporter {
private static final String DEFAULT_FONT = "Helvetica";
private static final int BOUNDARY_FONT_SIZE = 24;
private static final int BOUNDARYMETA_FONT_SIZE = BOUNDARY_FONT_SIZE - 5;
private final String rootId = UUID.randomUUID().toString();
private final String parentId = UUID.randomUUID().toString();

private class GroupBoundary {
public GroupBoundary(String name, String fullName) {
Expand Down Expand Up @@ -81,7 +83,7 @@ private class DeploymentNodeBoundary {
public int minX = Integer.MAX_VALUE;
public int minY = Integer.MAX_VALUE;
public int maxX = Integer.MIN_VALUE;
public int maxY = Integer.MIN_VALUE;
public int maxY = Integer.MIN_VALUE;
public DeploymentNode deploymentNode;
public HashSet<GroupBoundary> groupBoundaries = new HashSet<>();
public LinkedList<Element> elements = new LinkedList<>();
Expand All @@ -98,7 +100,7 @@ private class ContainerBoundary {
public ContainerBoundary(Container container) {
this.container = container;
}
}
}

private HashMap<String, GroupBoundary> groupBoundaries = new HashMap<>();
private LinkedList<SoftwareSystemBoundary> softwareSystemBoundaries = new LinkedList<>();
Expand All @@ -125,25 +127,28 @@ protected void writeHeader(ModelView view, IndentingWriter writer) {
sb.append("\">");
writer.writeLine(sb.toString());
sb.setLength(0);
//writer.writeLine("<diagram name=\"Страница — 1\" id=\"NeoCpV-NzOcwAlcAnlzz\">");
writer.indent();

sb.append("<mxGraphModel dx=\"0\" dy=\"0\" grid=\"1\" gridSize=\"10\" guides=\"1\" tooltips=\"1\" connect=\"1\" arrows=\"1\" fold=\"1\" page=\"1\" pageScale=\"1\" pageWidth=\"").append(view.getPaperSize().getWidth());
sb.append("\" pageHeight=\"").append(view.getPaperSize().getHeight());
sb.append("\" math=\"0\" shadow=\"0\">");
writer.writeLine(sb.toString());
sb.setLength(0);
writer.indent();
writer.writeLine("<root>");
writer.indent();
writer.writeLine("<mxCell id=\"0\" />");
writer.writeLine("<mxCell id=\"1\" parent=\"0\" />");
sb.append("<mxCell id=\"").append(rootId).append("\" />");
writer.writeLine(sb.toString());
sb.setLength(0);
sb.append("<mxCell id=\"").append(parentId).append("\" parent=\"").append(rootId).append("\" />");
writer.writeLine(sb.toString());
}

private void updateGroupBoundary(GroupBoundary groupBoundary, ModelView view) {
for(GroupBoundary gb : groupBoundary.groupBoundaries.values()) {
updateGroupBoundary(gb, view);
}
for(GroupBoundary gb : groupBoundary.groupBoundaries.values()) {
for(GroupBoundary gb : groupBoundary.groupBoundaries.values()) {
groupBoundary.minX = Math.min(groupBoundary.minX, gb.minX);
groupBoundary.minY = Math.min(groupBoundary.minY, gb.minY);
groupBoundary.maxX = Math.max(groupBoundary.maxX, gb.maxX);
Expand Down Expand Up @@ -224,9 +229,9 @@ private void writeGroupBoundary(GroupBoundary group, ModelView view, IndentingWr
sb.append(";whiteSpace=wrap;html=1;dashed=1;arcSize=20;fillColor=none;strokeColor=").append(stroke);
sb.append(";fontColor=").append(color);
sb.append(";strokeWidth=").append(strokeWidth);
sb.append(";labelBackgroundColor=none;align=left;verticalAlign=bottom;labelBorderColor=none;spacingTop=0;spacing=10;dashPattern=1 2;metaEdit=1;rotatable=0;perimeter=rectanglePerimeter;noLabel=0;labelPadding=0;allowArrows=0;connectable=0;expand=0;recursiveResize=0;editable=1;pointerEvents=0;absoluteArcSize=1;points=[[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0.25,0],[1,0.5,0],[1,0.75,0],[0.75,1,0],[0.5,1,0],[0.25,1,0],[0,0.75,0],[0,0.5,0],[0,0.25,0]];\" vertex=\"1\" parent=\"1\">");
sb.append(";labelBackgroundColor=none;align=left;verticalAlign=bottom;labelBorderColor=none;spacingTop=0;spacing=10;dashPattern=1 2;metaEdit=1;rotatable=0;perimeter=rectanglePerimeter;noLabel=0;labelPadding=0;allowArrows=0;connectable=0;expand=0;recursiveResize=0;editable=1;pointerEvents=0;absoluteArcSize=1;points=[[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0.25,0],[1,0.5,0],[1,0.75,0],[0.75,1,0],[0.5,1,0],[0.25,1,0],[0,0.75,0],[0,0.5,0],[0,0.25,0]];\" vertex=\"1\" parent=\"").append(parentId).append("\">");
writer.writeLine(sb.toString());
sb.setLength(0);
sb.setLength(0);
writer.indent();
sb.append("<mxGeometry x=\"").append(group.minX);
sb.append("\" y=\"").append(group.minY);
Expand Down Expand Up @@ -298,7 +303,7 @@ private void writeSoftwareSystemBoundary(SoftwareSystemBoundary softwareSystemBo
sb.append(";whiteSpace=wrap;html=1;dashed=1;arcSize=20;fillColor=none;strokeColor=").append(stroke);
sb.append(";fontColor=").append(stroke);
sb.append(";strokeWidth=").append(strokeWidth);
sb.append(";labelBackgroundColor=none;align=left;verticalAlign=bottom;labelBorderColor=none;spacingTop=0;spacing=10;dashPattern=8 8;metaEdit=1;rotatable=0;perimeter=rectanglePerimeter;noLabel=0;labelPadding=0;allowArrows=0;connectable=0;expand=0;recursiveResize=0;editable=1;pointerEvents=0;absoluteArcSize=1;points=[[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0.25,0],[1,0.5,0],[1,0.75,0],[0.75,1,0],[0.5,1,0],[0.25,1,0],[0,0.75,0],[0,0.5,0],[0,0.25,0]];\" vertex=\"1\" parent=\"1\">");
sb.append(";labelBackgroundColor=none;align=left;verticalAlign=bottom;labelBorderColor=none;spacingTop=0;spacing=10;dashPattern=8 8;metaEdit=1;rotatable=0;perimeter=rectanglePerimeter;noLabel=0;labelPadding=0;allowArrows=0;connectable=0;expand=0;recursiveResize=0;editable=1;pointerEvents=0;absoluteArcSize=1;points=[[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0.25,0],[1,0.5,0],[1,0.75,0],[0.75,1,0],[0.5,1,0],[0.25,1,0],[0,0.75,0],[0,0.5,0],[0,0.25,0]];\" vertex=\"1\" parent=\"").append(parentId).append("\">");
writer.writeLine(sb.toString());
sb.setLength(0);
writer.indent();
Expand Down Expand Up @@ -378,7 +383,7 @@ private void writeContainerBoundary(ContainerBoundary containerBoundary, ModelVi
sb.append(";whiteSpace=wrap;html=1;dashed=1;arcSize=20;fillColor=none;strokeColor=").append(stroke);
sb.append(";fontColor=").append(color);
sb.append(";strokeWidth=").append(strokeWidth);
sb.append(";labelBackgroundColor=none;align=left;verticalAlign=bottom;labelBorderColor=none;spacingTop=0;spacing=10;dashPattern=8 8;metaEdit=1;rotatable=0;perimeter=rectanglePerimeter;noLabel=0;labelPadding=0;allowArrows=0;connectable=0;expand=0;recursiveResize=0;editable=1;pointerEvents=0;absoluteArcSize=1;points=[[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0.25,0],[1,0.5,0],[1,0.75,0],[0.75,1,0],[0.5,1,0],[0.25,1,0],[0,0.75,0],[0,0.5,0],[0,0.25,0]];\" vertex=\"1\" parent=\"1\">");
sb.append(";labelBackgroundColor=none;align=left;verticalAlign=bottom;labelBorderColor=none;spacingTop=0;spacing=10;dashPattern=8 8;metaEdit=1;rotatable=0;perimeter=rectanglePerimeter;noLabel=0;labelPadding=0;allowArrows=0;connectable=0;expand=0;recursiveResize=0;editable=1;pointerEvents=0;absoluteArcSize=1;points=[[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0.25,0],[1,0.5,0],[1,0.75,0],[0.75,1,0],[0.5,1,0],[0.25,1,0],[0,0.75,0],[0,0.5,0],[0,0.25,0]];\" vertex=\"1\" parent=\"").append(parentId).append("\">");
writer.writeLine(sb.toString());
sb.setLength(0);
writer.indent();
Expand Down Expand Up @@ -572,7 +577,7 @@ private void writeDeploymentNodeBoundary(DeploymentNodeBoundary deploymentNodeBo
sb.append(";whiteSpace=wrap;html=1;arcSize=20;fillColor=none;strokeColor=").append(strokeColor);
sb.append(";fontColor=").append(color);
sb.append(";strokeWidth=").append(strokeWidth);
sb.append(";labelBackgroundColor=none;align=left;verticalAlign=bottom;labelBorderColor=none;spacingTop=0;spacing=10;metaEdit=1;rotatable=0;perimeter=rectanglePerimeter;noLabel=0;labelPadding=0;allowArrows=0;connectable=0;expand=0;recursiveResize=0;editable=1;pointerEvents=0;absoluteArcSize=1;points=[[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0.25,0],[1,0.5,0],[1,0.75,0],[0.75,1,0],[0.5,1,0],[0.25,1,0],[0,0.75,0],[0,0.5,0],[0,0.25,0]];\" vertex=\"1\" parent=\"1\">");
sb.append(";labelBackgroundColor=none;align=left;verticalAlign=bottom;labelBorderColor=none;spacingTop=0;spacing=10;metaEdit=1;rotatable=0;perimeter=rectanglePerimeter;noLabel=0;labelPadding=0;allowArrows=0;connectable=0;expand=0;recursiveResize=0;editable=1;pointerEvents=0;absoluteArcSize=1;points=[[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0.25,0],[1,0.5,0],[1,0.75,0],[0.75,1,0],[0.5,1,0],[0.25,1,0],[0,0.75,0],[0,0.5,0],[0,0.25,0]];\" vertex=\"1\" parent=\"").append(parentId).append("\">");
writer.writeLine(sb.toString());
sb.setLength(0);
writer.indent();
Expand Down Expand Up @@ -725,7 +730,7 @@ private void person(IndentingWriter writer, String name, String description, Str
sb.append(";dashed=0;whiteSpace=wrap;fillColor=").append(background);
sb.append(";strokeColor=").append(stroke);
sb.append(";fontColor=").append(color);
sb.append(";shape=mxgraph.c4.person2;align=center;metaEdit=1;points=[[0.5,0,0],[1,0.5,0],[1,0.75,0],[0.75,1,0],[0.5,1,0],[0.25,1,0],[0,0.75,0],[0,0.5,0]];resizable=0;\" vertex=\"1\" parent=\"1\">");
sb.append(";shape=mxgraph.c4.person2;align=center;metaEdit=1;points=[[0.5,0,0],[1,0.5,0],[1,0.75,0],[0.75,1,0],[0.5,1,0],[0.25,1,0],[0,0.75,0],[0,0.5,0]];resizable=0;\" vertex=\"1\" parent=\"").append(parentId).append("\">");
writer.writeLine(sb.toString());
sb.setLength(0);
writer.indent();
Expand Down Expand Up @@ -765,7 +770,7 @@ private void box(IndentingWriter writer, String type, String name, String techno
sb.append(";labelBackgroundColor=none;fillColor=").append(background);
sb.append(";fontColor=").append(color);
sb.append(";align=center;arcSize=10;strokeColor=").append(stroke);
sb.append(";metaEdit=1;resizable=0;points=[[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0.25,0],[1,0.5,0],[1,0.75,0],[0.75,1,0],[0.5,1,0],[0.25,1,0],[0,0.75,0],[0,0.5,0],[0,0.25,0]];\" vertex=\"1\" parent=\"1\">");
sb.append(";metaEdit=1;resizable=0;points=[[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0.25,0],[1,0.5,0],[1,0.75,0],[0.75,1,0],[0.5,1,0],[0.25,1,0],[0,0.75,0],[0,0.5,0],[0,0.25,0]];\" vertex=\"1\" parent=\"").append(parentId).append("\">");
writer.writeLine(sb.toString());
sb.setLength(0);
writer.indent();
Expand Down Expand Up @@ -805,7 +810,7 @@ private void roundedBox(IndentingWriter writer, String type, String name, String
sb.append(";labelBackgroundColor=none;fillColor=").append(background);
sb.append(";fontColor=").append(color);
sb.append(";align=center;arcSize=10;strokeColor=").append(stroke);
sb.append(";metaEdit=1;resizable=0;points=[[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0.25,0],[1,0.5,0],[1,0.75,0],[0.75,1,0],[0.5,1,0],[0.25,1,0],[0,0.75,0],[0,0.5,0],[0,0.25,0]];\" vertex=\"1\" parent=\"1\">");
sb.append(";metaEdit=1;resizable=0;points=[[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0.25,0],[1,0.5,0],[1,0.75,0],[0.75,1,0],[0.5,1,0],[0.25,1,0],[0,0.75,0],[0,0.5,0],[0,0.25,0]];\" vertex=\"1\" parent=\"").append(parentId).append("\">");
writer.writeLine(sb.toString());
sb.setLength(0);
writer.indent();
Expand Down Expand Up @@ -845,7 +850,7 @@ private void hexagon(IndentingWriter writer, String type, String name, String te
sb.append(";labelBackgroundColor=none;fillColor=").append(background);
sb.append(";fontColor=").append(color);
sb.append(";align=center;arcSize=10;strokeColor=").append(stroke);
sb.append(";metaEdit=1;resizable=0;points=[[0.5,0,0],[1,0.25,0],[1,0.5,0],[1,0.75,0],[0.5,1,0],[0,0.75,0],[0,0.5,0],[0,0.25,0]];\" vertex=\"1\" parent=\"1\">");
sb.append(";metaEdit=1;resizable=0;points=[[0.5,0,0],[1,0.25,0],[1,0.5,0],[1,0.75,0],[0.5,1,0],[0,0.75,0],[0,0.5,0],[0,0.25,0]];\" vertex=\"1\" parent=\"").append(parentId).append("\">");
writer.writeLine(sb.toString());
sb.setLength(0);
writer.indent();
Expand Down Expand Up @@ -886,7 +891,7 @@ private void cylinder(IndentingWriter writer, String type, String name, String t
sb.append(";labelBackgroundColor=none;fillColor=").append(background);
sb.append(";fontColor=").append(color);
sb.append(";align=center;arcSize=10;strokeColor=").append(stroke);
sb.append(";metaEdit=1;resizable=0;points=[[0.5,0,0],[1,0.25,0],[1,0.5,0],[1,0.75,0],[0.5,1,0],[0,0.75,0],[0,0.5,0],[0,0.25,0]];\" vertex=\"1\" parent=\"1\">");
sb.append(";metaEdit=1;resizable=0;points=[[0.5,0,0],[1,0.25,0],[1,0.5,0],[1,0.75,0],[0.5,1,0],[0,0.75,0],[0,0.5,0],[0,0.25,0]];\" vertex=\"1\" parent=\"").append(parentId).append("\">");
writer.writeLine(sb.toString());
sb.setLength(0);
writer.indent();
Expand Down Expand Up @@ -926,7 +931,7 @@ private void pipe(IndentingWriter writer, String type, String name, String techn
sb.append(";labelBackgroundColor=none;fillColor=").append(background);
sb.append(";fontColor=").append(color);
sb.append(";align=center;arcSize=10;strokeColor=").append(stroke);
sb.append(";metaEdit=1;resizable=0;points=[[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0.25,0],[1,0.5,0],[1,0.75,0],[0.75,1,0],[0.5,1,0],[0.25,1,0],[0,0.75,0],[0,0.5,0],[0,0.25,0]];\" vertex=\"1\" parent=\"1\">");
sb.append(";metaEdit=1;resizable=0;points=[[0.25,0,0],[0.5,0,0],[0.75,0,0],[1,0.25,0],[1,0.5,0],[1,0.75,0],[0.75,1,0],[0.5,1,0],[0.25,1,0],[0,0.75,0],[0,0.5,0],[0,0.25,0]];\" vertex=\"1\" parent=\"").append(parentId).append("\">");
writer.writeLine(sb.toString());
sb.setLength(0);
writer.indent();
Expand Down Expand Up @@ -966,7 +971,7 @@ private void webBrowser(IndentingWriter writer, String type, String name, String
sb.append(";labelBackgroundColor=none;fillColor=").append(background);
sb.append(";fontColor=").append(color);
sb.append(";align=center;arcSize=10;strokeColor=").append(stroke);
sb.append(";metaEdit=1;resizable=0;points=[[0.5,0,0],[1,0.25,0],[1,0.5,0],[1,0.75,0],[0.5,1,0],[0,0.75,0],[0,0.5,0],[0,0.25,0]];\" vertex=\"1\" parent=\"1\">");
sb.append(";metaEdit=1;resizable=0;points=[[0.5,0,0],[1,0.25,0],[1,0.5,0],[1,0.75,0],[0.5,1,0],[0,0.75,0],[0,0.5,0],[0,0.25,0]];\" vertex=\"1\" parent=\"").append(parentId).append("\">");
writer.writeLine(sb.toString());
sb.setLength(0);
writer.indent();
Expand Down Expand Up @@ -1053,7 +1058,7 @@ protected void writeRelationship(ModelView view, RelationshipView relationshipVi
}
}
sb.append(";endFill=1;strokeColor=").append(color);
sb.append(";elbow=vertical;metaEdit=1;endSize=20;startSize=20;jumpStyle=arc;jumpSize=16;rounded=0;\" edge=\"1\" parent=\"1\" source=\"").append(source.getId());
sb.append(";elbow=vertical;metaEdit=1;endSize=20;startSize=20;jumpStyle=arc;jumpSize=16;rounded=0;\" edge=\"1\" parent=\"").append(parentId).append("\" source=\"").append(source.getId());
sb.append("\" target=\"").append(destination.getId());
sb.append("\">");
writer.writeLine(sb.toString());
Expand Down
4 changes: 4 additions & 0 deletions extension/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# Change Log

## 1.0.6

- Fix drawio export error

## 1.0.4

- Bump lang server to Structurizr v4.1.0
Expand Down
2 changes: 1 addition & 1 deletion extension/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
},
"license": "Apache-2.0",
"icon": "images/logo.png",
"version": "1.0.5",
"version": "1.0.6",
"engines": {
"vscode": "^1.73.0"
},
Expand Down
2 changes: 1 addition & 1 deletion extension/src/custom/ArchitectureAsACodeView.ts
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ export class PatternProvider implements vscode.TreeDataProvider<Pattern> {
getTreeItem(element: Pattern): vscode.TreeItem {
return element;
}

initChapter(patterns: Pattern[]) : Pattern[] {
patterns.forEach(pattern => {
if (pattern.childrens.length === 0) {
Expand Down
Loading