From a669e619e465cfc6bcbc3e793ae4b4b821a2d3ff Mon Sep 17 00:00:00 2001 From: Thomas Bouffard <27200110+tbouffard@users.noreply.github.com> Date: Thu, 22 Aug 2024 15:15:38 +0200 Subject: [PATCH 01/12] START refactor: more usage of jdk17 syntax --- .../analytics/tools/bpmn/generator/internal/XmlParser.java | 1 - 1 file changed, 1 deletion(-) diff --git a/java/src/main/java/io/process/analytics/tools/bpmn/generator/internal/XmlParser.java b/java/src/main/java/io/process/analytics/tools/bpmn/generator/internal/XmlParser.java index 4e5536f4..148822b7 100644 --- a/java/src/main/java/io/process/analytics/tools/bpmn/generator/internal/XmlParser.java +++ b/java/src/main/java/io/process/analytics/tools/bpmn/generator/internal/XmlParser.java @@ -15,7 +15,6 @@ */ package io.process.analytics.tools.bpmn.generator.internal; -import java.io.File; import java.io.StringReader; import java.io.StringWriter; From 25efe4d3cf5be8cebeda7f68af617fc569a45a8e Mon Sep 17 00:00:00 2001 From: Thomas Bouffard <27200110+tbouffard@users.noreply.github.com> Date: Thu, 22 Aug 2024 15:17:44 +0200 Subject: [PATCH 02/12] EXTRA update usage of java api new in jdk17+ --- .../analytics/tools/bpmn/generator/internal/Semantic.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/java/src/main/java/io/process/analytics/tools/bpmn/generator/internal/Semantic.java b/java/src/main/java/io/process/analytics/tools/bpmn/generator/internal/Semantic.java index ae90aa0d..79767ce2 100644 --- a/java/src/main/java/io/process/analytics/tools/bpmn/generator/internal/Semantic.java +++ b/java/src/main/java/io/process/analytics/tools/bpmn/generator/internal/Semantic.java @@ -53,7 +53,7 @@ public Optional getCollaboration() { .map(JAXBElement::getValue) .filter(TCollaboration.class::isInstance) .map(TCollaboration.class::cast) - .collect(Collectors.toList()); + .toList(); // TODO check at most 1 otherwise error // TODO refactor into a more functional way From 0f25cc541de0a362a960bcfe76eed927d563c4d8 Mon Sep 17 00:00:00 2001 From: Thomas Bouffard <27200110+tbouffard@users.noreply.github.com> Date: Thu, 22 Aug 2024 15:18:05 +0200 Subject: [PATCH 03/12] remove unused import --- .../analytics/tools/bpmn/generator/internal/BpmnInOut.java | 1 - 1 file changed, 1 deletion(-) diff --git a/java/src/main/java/io/process/analytics/tools/bpmn/generator/internal/BpmnInOut.java b/java/src/main/java/io/process/analytics/tools/bpmn/generator/internal/BpmnInOut.java index f8bf4f5a..8a6f0b64 100644 --- a/java/src/main/java/io/process/analytics/tools/bpmn/generator/internal/BpmnInOut.java +++ b/java/src/main/java/io/process/analytics/tools/bpmn/generator/internal/BpmnInOut.java @@ -15,7 +15,6 @@ */ package io.process.analytics.tools.bpmn.generator.internal; -import static io.process.analytics.tools.bpmn.generator.internal.FileUtils.createParents; import static io.process.analytics.tools.bpmn.generator.internal.FileUtils.fileContent; import java.io.File; From 14479101154012eb5d65947a1a91c85373cb6ba1 Mon Sep 17 00:00:00 2001 From: Thomas Bouffard <27200110+tbouffard@users.noreply.github.com> Date: Thu, 22 Aug 2024 15:19:24 +0200 Subject: [PATCH 04/12] Semantic: add TODO --- .../tools/bpmn/generator/internal/Semantic.java | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/java/src/main/java/io/process/analytics/tools/bpmn/generator/internal/Semantic.java b/java/src/main/java/io/process/analytics/tools/bpmn/generator/internal/Semantic.java index 79767ce2..9253acf5 100644 --- a/java/src/main/java/io/process/analytics/tools/bpmn/generator/internal/Semantic.java +++ b/java/src/main/java/io/process/analytics/tools/bpmn/generator/internal/Semantic.java @@ -31,6 +31,8 @@ * Helper to access to the BPMN semantic part */ @RequiredArgsConstructor +// TODO switch to record +// TODO lombok getter on class public class Semantic { @NonNull @@ -42,12 +44,6 @@ public static String getId(Object object) { return ((TBaseElement) object).getId(); } - public List getParticipants() { - return getCollaboration() - .map(TCollaboration::getParticipant) - .orElseGet(Collections::emptyList); - } - public Optional getCollaboration() { List collaborations = definitions.getRootElement().stream() .map(JAXBElement::getValue) @@ -106,9 +102,7 @@ public void add(TProcess process) { public static void addFlowNodes(TProcess process, Collection flowElements) { flowElements.stream() - .map(f -> { - return new JAXBElement<>(bpmnElementQName(f), TFlowNode.class, null, f); - }) + .map(f -> new JAXBElement<>(bpmnElementQName(f), TFlowNode.class, null, f)) .forEach(f -> process.getFlowElement().add(f)); } @@ -123,7 +117,7 @@ private static QName bpmnElementQName(String bpmnElement) { } //TODO add other type of flow node elements - private static final Map, String> bpmnElementBindings = new HashMap, String>() {{ + private static final Map, String> bpmnElementBindings = new HashMap<>() {{ put(TParallelGateway.class, "parallelGateway"); put(TInclusiveGateway.class, "inclusiveGateway"); put(TExclusiveGateway.class, "exclusiveGateway"); From 010ce752fddf71e378afb301c139adf3eefe9d80 Mon Sep 17 00:00:00 2001 From: Thomas Bouffard <27200110+tbouffard@users.noreply.github.com> Date: Thu, 22 Aug 2024 15:22:44 +0200 Subject: [PATCH 05/12] XmlParser add todo --- .../analytics/tools/bpmn/generator/internal/XmlParser.java | 1 + 1 file changed, 1 insertion(+) diff --git a/java/src/main/java/io/process/analytics/tools/bpmn/generator/internal/XmlParser.java b/java/src/main/java/io/process/analytics/tools/bpmn/generator/internal/XmlParser.java index 148822b7..077b4e0c 100644 --- a/java/src/main/java/io/process/analytics/tools/bpmn/generator/internal/XmlParser.java +++ b/java/src/main/java/io/process/analytics/tools/bpmn/generator/internal/XmlParser.java @@ -55,6 +55,7 @@ private Marshaller createMarshaller() throws JAXBException { } catch(PropertyException e) { // In case another JAXB implementation is used // do not stop processing, namespace prefixes will be generated automatically in that case + // TODO switch to logger e.printStackTrace(); } return marshaller; From f668e1bc36d95fae046b342825328a528d526ae9 Mon Sep 17 00:00:00 2001 From: Thomas Bouffard <27200110+tbouffard@users.noreply.github.com> Date: Thu, 22 Aug 2024 15:25:16 +0200 Subject: [PATCH 06/12] EXTRA update usage of java api new in jdk17+ --- .../tools/bpmn/generator/algo/ShapeLayouter.java | 10 +++++----- .../analytics/tools/bpmn/generator/model/Shape.java | 1 + 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/java/src/main/java/io/process/analytics/tools/bpmn/generator/algo/ShapeLayouter.java b/java/src/main/java/io/process/analytics/tools/bpmn/generator/algo/ShapeLayouter.java index a3b6d3c6..767f629c 100644 --- a/java/src/main/java/io/process/analytics/tools/bpmn/generator/algo/ShapeLayouter.java +++ b/java/src/main/java/io/process/analytics/tools/bpmn/generator/algo/ShapeLayouter.java @@ -4,7 +4,6 @@ import static io.process.analytics.tools.bpmn.generator.model.Position.position; import java.util.List; -import java.util.stream.Collectors; import io.process.analytics.tools.bpmn.generator.model.Edge; import io.process.analytics.tools.bpmn.generator.model.Grid; @@ -22,6 +21,7 @@ public Grid layout(Diagram diagram) { for (Shape shape : diagram.getShapes()) { Position positionOfCurrentShape = positionShape(diagram, grid, shape); putOnGrid(grid, positionOfCurrentShape); + // TODO check usage of supplier, intellij says it is deprecated log.debug("Adding {}:\n{}", shape::getName, () -> toAscii(grid)); addRowsWhenShapeIsASplit(diagram, grid, shape, positionOfCurrentShape); } @@ -76,8 +76,8 @@ private Position positionShape(Diagram diagram, Grid grid, Shape shape) { private void compactGrid(Grid grid) { int i = 0; while (i < grid.getLastRowIndex()) { - List currentRow = grid.getRow(i).stream().map(Position::getX).collect(Collectors.toList()); - List nextRow = grid.getRow(i + 1).stream().map(Position::getX).collect(Collectors.toList()); + List currentRow = grid.getRow(i).stream().map(Position::getX).toList(); + List nextRow = grid.getRow(i + 1).stream().map(Position::getX).toList(); boolean currentRowCanBeMovedBelow = true; for (Integer shapeIndexInCurrentRow : currentRow) { @@ -109,7 +109,7 @@ private Position addStartShape(Grid grid, Shape shape) { private Position addSplit(Grid grid, Shape shape, String previousShapeID, List outgoingEdgesOfPreviousShape) { Position previousShapePosition = grid.getPosition(previousShapeID); int numberOfShapesInTheSplit = outgoingEdgesOfPreviousShape.size(); - int indexOfCurrentShape = outgoingEdgesOfPreviousShape.stream().map(Edge::getTo).collect(Collectors.toList()).indexOf(shape.getId()); + int indexOfCurrentShape = outgoingEdgesOfPreviousShape.stream().map(Edge::getTo).toList().indexOf(shape.getId()); //put element right to the split vertically distributed according to the index int relativeYPosition; if (numberOfShapesInTheSplit % 2 == 0 && indexOfCurrentShape >= numberOfShapesInTheSplit / 2) { @@ -124,7 +124,7 @@ private Position addSplit(Grid grid, Shape shape, String previousShapeID, List incomingEdges) { //first implementation: middle of elements it joins // later we should also try yo find the split to align it to that if possible - List positions = incomingEdges.stream().map(Edge::getFrom).map(grid::getPosition).collect(Collectors.toList()); + List positions = incomingEdges.stream().map(Edge::getFrom).map(grid::getPosition).toList(); int xMax = positions.stream().map(Position::getX).reduce(0, Math::max); int yMax = positions.stream().map(Position::getY).reduce(0, Math::max); int yMin = positions.stream().map(Position::getY).reduce(Integer.MAX_VALUE, Math::min); diff --git a/java/src/main/java/io/process/analytics/tools/bpmn/generator/model/Shape.java b/java/src/main/java/io/process/analytics/tools/bpmn/generator/model/Shape.java index a8f65b9b..64a4b764 100644 --- a/java/src/main/java/io/process/analytics/tools/bpmn/generator/model/Shape.java +++ b/java/src/main/java/io/process/analytics/tools/bpmn/generator/model/Shape.java @@ -24,6 +24,7 @@ @Data @Builder(toBuilder = true) @RequiredArgsConstructor +// TODO switch to record public class Shape { private final String id; // the bpmnElement id From b6787d51868a91b97c1600f3dc166c52830be728 Mon Sep 17 00:00:00 2001 From: Thomas Bouffard <27200110+tbouffard@users.noreply.github.com> Date: Thu, 22 Aug 2024 15:27:05 +0200 Subject: [PATCH 07/12] ShapeSorter simplify code --- .../tools/bpmn/generator/algo/ShapeSorter.java | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/java/src/main/java/io/process/analytics/tools/bpmn/generator/algo/ShapeSorter.java b/java/src/main/java/io/process/analytics/tools/bpmn/generator/algo/ShapeSorter.java index ba15d8f5..adf6ad52 100644 --- a/java/src/main/java/io/process/analytics/tools/bpmn/generator/algo/ShapeSorter.java +++ b/java/src/main/java/io/process/analytics/tools/bpmn/generator/algo/ShapeSorter.java @@ -35,7 +35,6 @@ */ public class ShapeSorter { - /** * sort nodes of a diagram in topological order * @@ -78,12 +77,9 @@ private boolean isAJoinInOriginalDiagram(Diagram diagram, Shape currentElement) } private Diagram doSort(Diagram diagram) { - List shapeToSort = new ArrayList<>(); - List remainingEdges = new ArrayList<>(); - List finalEdges = new ArrayList<>(); - shapeToSort.addAll(diagram.getShapes()); - remainingEdges.addAll(diagram.getEdges()); - finalEdges.addAll(diagram.getEdges()); + List shapeToSort = new ArrayList<>(diagram.getShapes()); + List remainingEdges = new ArrayList<>(diagram.getEdges()); + List finalEdges = new ArrayList<>(diagram.getEdges()); List joins = findAllJoins(shapeToSort, remainingEdges); Diagram.DiagramBuilder sortedDiagram = Diagram.builder(); From 4c99e33bebe6eef2747bfaf3b24f7e65a7ec62e8 Mon Sep 17 00:00:00 2001 From: Thomas Bouffard <27200110+tbouffard@users.noreply.github.com> Date: Thu, 22 Aug 2024 15:28:40 +0200 Subject: [PATCH 08/12] CSVtoBPMN simplify --- .../analytics/tools/bpmn/generator/input/CSVtoBPMN.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/java/src/main/java/io/process/analytics/tools/bpmn/generator/input/CSVtoBPMN.java b/java/src/main/java/io/process/analytics/tools/bpmn/generator/input/CSVtoBPMN.java index 118f454b..eede81d2 100644 --- a/java/src/main/java/io/process/analytics/tools/bpmn/generator/input/CSVtoBPMN.java +++ b/java/src/main/java/io/process/analytics/tools/bpmn/generator/input/CSVtoBPMN.java @@ -71,8 +71,6 @@ private List getFlowNodeElements(String nodes) { flowNode = new TEndEvent(); break; case "gateway": - flowNode = new TParallelGateway(); - break; case "parallel_gateway": flowNode = new TParallelGateway(); break; @@ -191,7 +189,7 @@ private static boolean isNumeric(String s) { private static class EdgeRelation { public final List incoming = new ArrayList<>(); - public final List outgoing = new ArrayList<>();; + public final List outgoing = new ArrayList<>(); } From 32b41f9a64177911a6b64d781cc507fee0bdfc1e Mon Sep 17 00:00:00 2001 From: Thomas Bouffard <27200110+tbouffard@users.noreply.github.com> Date: Thu, 22 Aug 2024 15:29:56 +0200 Subject: [PATCH 09/12] CSVtoBPMN simplify switch with newer syntax --- .../tools/bpmn/generator/input/CSVtoBPMN.java | 38 +++++-------------- 1 file changed, 10 insertions(+), 28 deletions(-) diff --git a/java/src/main/java/io/process/analytics/tools/bpmn/generator/input/CSVtoBPMN.java b/java/src/main/java/io/process/analytics/tools/bpmn/generator/input/CSVtoBPMN.java index eede81d2..f11345ad 100644 --- a/java/src/main/java/io/process/analytics/tools/bpmn/generator/input/CSVtoBPMN.java +++ b/java/src/main/java/io/process/analytics/tools/bpmn/generator/input/CSVtoBPMN.java @@ -62,34 +62,16 @@ private List getFlowNodeElements(String nodes) { } String[] node = line.split(","); String type = removeEnclosingDoubleQuote(node[3]); - TFlowNode flowNode; - switch (type) { - case "start_event": - flowNode = new TStartEvent(); - break; - case "end_event": - flowNode = new TEndEvent(); - break; - case "gateway": - case "parallel_gateway": - flowNode = new TParallelGateway(); - break; - case "exclusive_gateway": - flowNode = new TExclusiveGateway(); - break; - case "inclusive_gateway": - flowNode = new TInclusiveGateway(); - break; - case "user_task": - flowNode = new TUserTask(); - break; - case "service_task": - flowNode = new TServiceTask(); - break; - case "task": - default: - flowNode = new TTask(); - } + TFlowNode flowNode = switch (type) { + case "start_event" -> new TStartEvent(); + case "end_event" -> new TEndEvent(); + case "gateway", "parallel_gateway" -> new TParallelGateway(); + case "exclusive_gateway" -> new TExclusiveGateway(); + case "inclusive_gateway" -> new TInclusiveGateway(); + case "user_task" -> new TUserTask(); + case "service_task" -> new TServiceTask(); + default -> new TTask(); + }; flowNode.setName(removeEnclosingDoubleQuote(node[2])); String originalId = node[1]; From f986df500069242b41e4846cb91d8301b3e204ff Mon Sep 17 00:00:00 2001 From: Thomas Bouffard <27200110+tbouffard@users.noreply.github.com> Date: Thu, 22 Aug 2024 15:32:03 +0200 Subject: [PATCH 10/12] CSVtoBPMN extract method --- .../tools/bpmn/generator/input/CSVtoBPMN.java | 27 +++++++++++-------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/java/src/main/java/io/process/analytics/tools/bpmn/generator/input/CSVtoBPMN.java b/java/src/main/java/io/process/analytics/tools/bpmn/generator/input/CSVtoBPMN.java index f11345ad..31d280e2 100644 --- a/java/src/main/java/io/process/analytics/tools/bpmn/generator/input/CSVtoBPMN.java +++ b/java/src/main/java/io/process/analytics/tools/bpmn/generator/input/CSVtoBPMN.java @@ -61,17 +61,7 @@ private List getFlowNodeElements(String nodes) { continue; } String[] node = line.split(","); - String type = removeEnclosingDoubleQuote(node[3]); - TFlowNode flowNode = switch (type) { - case "start_event" -> new TStartEvent(); - case "end_event" -> new TEndEvent(); - case "gateway", "parallel_gateway" -> new TParallelGateway(); - case "exclusive_gateway" -> new TExclusiveGateway(); - case "inclusive_gateway" -> new TInclusiveGateway(); - case "user_task" -> new TUserTask(); - case "service_task" -> new TServiceTask(); - default -> new TTask(); - }; + TFlowNode flowNode = gettFlowNode(node); flowNode.setName(removeEnclosingDoubleQuote(node[2])); String originalId = node[1]; @@ -87,6 +77,21 @@ private List getFlowNodeElements(String nodes) { return flowElements; } + private static TFlowNode gettFlowNode(String[] node) { + String type = removeEnclosingDoubleQuote(node[3]); + TFlowNode flowNode = switch (type) { + case "start_event" -> new TStartEvent(); + case "end_event" -> new TEndEvent(); + case "gateway", "parallel_gateway" -> new TParallelGateway(); + case "exclusive_gateway" -> new TExclusiveGateway(); + case "inclusive_gateway" -> new TInclusiveGateway(); + case "user_task" -> new TUserTask(); + case "service_task" -> new TServiceTask(); + default -> new TTask(); + }; + return flowNode; + } + private void assignIncomingAndOutgoingReferences(List flowNodeElements) { for (TFlowNode flowNode : flowNodeElements) { EdgeRelation edgeRelation = this.shapeRelations.get(flowNode.getId()); From 2a7dff7d378a64c8bcea0750ca18f4ba5b9c9dff Mon Sep 17 00:00:00 2001 From: Thomas Bouffard <27200110+tbouffard@users.noreply.github.com> Date: Thu, 22 Aug 2024 15:34:45 +0200 Subject: [PATCH 11/12] syntax improvements + add TODO --- .../io/process/analytics/tools/bpmn/generator/model/Grid.java | 4 ++-- .../analytics/tools/bpmn/generator/model/ShapeType.java | 2 +- .../tools/bpmn/generator/model/display/DisplayDimension.java | 1 + .../tools/bpmn/generator/model/display/DisplayEdge.java | 2 +- .../tools/bpmn/generator/model/display/DisplayFlowNode.java | 1 + .../tools/bpmn/generator/model/display/DisplayLabel.java | 1 + .../tools/bpmn/generator/model/display/DisplayModel.java | 1 + .../tools/bpmn/generator/model/display/DisplayPoint.java | 1 + 8 files changed, 9 insertions(+), 4 deletions(-) diff --git a/java/src/main/java/io/process/analytics/tools/bpmn/generator/model/Grid.java b/java/src/main/java/io/process/analytics/tools/bpmn/generator/model/Grid.java index ee0836fe..08c217e5 100644 --- a/java/src/main/java/io/process/analytics/tools/bpmn/generator/model/Grid.java +++ b/java/src/main/java/io/process/analytics/tools/bpmn/generator/model/Grid.java @@ -1,13 +1,12 @@ package io.process.analytics.tools.bpmn.generator.model; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; /** * - * Represent a grid with coordinate as follow + * Represent a grid with coordinate as follows * *
  *  + ➞ x
@@ -15,6 +14,7 @@
  *  y
  * 
*/ +// TODO use lombok getter? public class Grid { private final List positions = new ArrayList<>(); diff --git a/java/src/main/java/io/process/analytics/tools/bpmn/generator/model/ShapeType.java b/java/src/main/java/io/process/analytics/tools/bpmn/generator/model/ShapeType.java index 5324ec9d..3f89aa8d 100644 --- a/java/src/main/java/io/process/analytics/tools/bpmn/generator/model/ShapeType.java +++ b/java/src/main/java/io/process/analytics/tools/bpmn/generator/model/ShapeType.java @@ -16,5 +16,5 @@ package io.process.analytics.tools.bpmn.generator.model; public enum ShapeType { - ACTIVITY, EVENT, GATEWAY; + ACTIVITY, EVENT, GATEWAY } diff --git a/java/src/main/java/io/process/analytics/tools/bpmn/generator/model/display/DisplayDimension.java b/java/src/main/java/io/process/analytics/tools/bpmn/generator/model/display/DisplayDimension.java index e207ba0e..a550a7b7 100644 --- a/java/src/main/java/io/process/analytics/tools/bpmn/generator/model/display/DisplayDimension.java +++ b/java/src/main/java/io/process/analytics/tools/bpmn/generator/model/display/DisplayDimension.java @@ -15,6 +15,7 @@ import lombok.RequiredArgsConstructor; @RequiredArgsConstructor +// TODO switch to record public class DisplayDimension { public final int x; diff --git a/java/src/main/java/io/process/analytics/tools/bpmn/generator/model/display/DisplayEdge.java b/java/src/main/java/io/process/analytics/tools/bpmn/generator/model/display/DisplayEdge.java index 7240a3b4..a25a0a33 100644 --- a/java/src/main/java/io/process/analytics/tools/bpmn/generator/model/display/DisplayEdge.java +++ b/java/src/main/java/io/process/analytics/tools/bpmn/generator/model/display/DisplayEdge.java @@ -12,7 +12,6 @@ */ package io.process.analytics.tools.bpmn.generator.model.display; -import io.process.analytics.tools.bpmn.generator.model.display.DisplayPoint; import lombok.Builder; import lombok.RequiredArgsConstructor; @@ -20,6 +19,7 @@ @RequiredArgsConstructor @Builder +// TODO switch to record public class DisplayEdge { public final String bpmnElementId; diff --git a/java/src/main/java/io/process/analytics/tools/bpmn/generator/model/display/DisplayFlowNode.java b/java/src/main/java/io/process/analytics/tools/bpmn/generator/model/display/DisplayFlowNode.java index d103af29..c14517b3 100644 --- a/java/src/main/java/io/process/analytics/tools/bpmn/generator/model/display/DisplayFlowNode.java +++ b/java/src/main/java/io/process/analytics/tools/bpmn/generator/model/display/DisplayFlowNode.java @@ -18,6 +18,7 @@ @RequiredArgsConstructor @Builder +// TODO switch to record public class DisplayFlowNode { public final String bpmnElementId; diff --git a/java/src/main/java/io/process/analytics/tools/bpmn/generator/model/display/DisplayLabel.java b/java/src/main/java/io/process/analytics/tools/bpmn/generator/model/display/DisplayLabel.java index 268298d4..5fc61d47 100644 --- a/java/src/main/java/io/process/analytics/tools/bpmn/generator/model/display/DisplayLabel.java +++ b/java/src/main/java/io/process/analytics/tools/bpmn/generator/model/display/DisplayLabel.java @@ -15,6 +15,7 @@ import lombok.RequiredArgsConstructor; @RequiredArgsConstructor +// TODO switch to record public class DisplayLabel { public final String text; // for non BPMN exporters only diff --git a/java/src/main/java/io/process/analytics/tools/bpmn/generator/model/display/DisplayModel.java b/java/src/main/java/io/process/analytics/tools/bpmn/generator/model/display/DisplayModel.java index ee0a3093..1ec7440f 100644 --- a/java/src/main/java/io/process/analytics/tools/bpmn/generator/model/display/DisplayModel.java +++ b/java/src/main/java/io/process/analytics/tools/bpmn/generator/model/display/DisplayModel.java @@ -20,6 +20,7 @@ @RequiredArgsConstructor @Builder +// TODO switch to record public class DisplayModel { public final int width; public final int height; diff --git a/java/src/main/java/io/process/analytics/tools/bpmn/generator/model/display/DisplayPoint.java b/java/src/main/java/io/process/analytics/tools/bpmn/generator/model/display/DisplayPoint.java index 9494885d..e6530378 100644 --- a/java/src/main/java/io/process/analytics/tools/bpmn/generator/model/display/DisplayPoint.java +++ b/java/src/main/java/io/process/analytics/tools/bpmn/generator/model/display/DisplayPoint.java @@ -17,6 +17,7 @@ @RequiredArgsConstructor @ToString +// TODO switch to record public class DisplayPoint { public final int x; From f66a592b9d07a4bdd0b15c69854fd9ace6cf274b Mon Sep 17 00:00:00 2001 From: Thomas Bouffard <27200110+tbouffard@users.noreply.github.com> Date: Thu, 22 Aug 2024 15:35:37 +0200 Subject: [PATCH 12/12] syntax improvements + add TODO --- .../analytics/tools/bpmn/generator/App.java | 2 -- .../bpmn/generator/BPMNLayoutGenerator.java | 21 +++++++------------ 2 files changed, 7 insertions(+), 16 deletions(-) diff --git a/java/src/main/java/io/process/analytics/tools/bpmn/generator/App.java b/java/src/main/java/io/process/analytics/tools/bpmn/generator/App.java index 96b45800..1c219367 100644 --- a/java/src/main/java/io/process/analytics/tools/bpmn/generator/App.java +++ b/java/src/main/java/io/process/analytics/tools/bpmn/generator/App.java @@ -21,7 +21,6 @@ import java.io.File; import java.nio.file.Files; import java.nio.file.NoSuchFileException; -import java.nio.file.Path; import java.util.concurrent.Callable; import io.process.analytics.tools.bpmn.generator.BPMNLayoutGenerator.ExportType; @@ -54,7 +53,6 @@ public class App implements Callable { private File[] inputFiles; public static void main(String[] args) throws Exception { - int exitCode = runApp(args); System.exit(exitCode); } diff --git a/java/src/main/java/io/process/analytics/tools/bpmn/generator/BPMNLayoutGenerator.java b/java/src/main/java/io/process/analytics/tools/bpmn/generator/BPMNLayoutGenerator.java index 7252eceb..8848c2a0 100644 --- a/java/src/main/java/io/process/analytics/tools/bpmn/generator/BPMNLayoutGenerator.java +++ b/java/src/main/java/io/process/analytics/tools/bpmn/generator/BPMNLayoutGenerator.java @@ -3,9 +3,6 @@ import static io.process.analytics.tools.bpmn.generator.export.BPMNExporter.defaultBpmnExporter; import static io.process.analytics.tools.bpmn.generator.internal.BpmnInOut.defaultBpmnInOut; -import java.io.File; -import java.io.IOException; - import io.process.analytics.tools.bpmn.generator.algo.ShapeLayouter; import io.process.analytics.tools.bpmn.generator.algo.ShapeSorter; import io.process.analytics.tools.bpmn.generator.converter.BpmnToAlgoModelConverter; @@ -13,7 +10,6 @@ import io.process.analytics.tools.bpmn.generator.export.SVGExporter; import io.process.analytics.tools.bpmn.generator.input.CSVtoBPMN; import io.process.analytics.tools.bpmn.generator.internal.BpmnInOut; -import io.process.analytics.tools.bpmn.generator.internal.FileUtils; import io.process.analytics.tools.bpmn.generator.internal.generated.model.TDefinitions; import io.process.analytics.tools.bpmn.generator.model.Diagram; import io.process.analytics.tools.bpmn.generator.model.Grid; @@ -93,20 +89,17 @@ private String exportToSvg(LayoutSortedDiagram diagram) { private String export(LayoutSortedDiagram layout, ExportType exportType) { - switch (exportType) { - case ASCII: - return exportToAscii(layout); - case BPMN: - return exportToBpmn(layout); - case SVG: - return exportToSvg(layout); - default: - throw new IllegalStateException("Unexpected Export Type: " + exportType); - } + return switch (exportType) { + case ASCII -> exportToAscii(layout); + case BPMN -> exportToBpmn(layout); + case SVG -> exportToSvg(layout); + default -> throw new IllegalStateException("Unexpected Export Type: " + exportType); + }; } @RequiredArgsConstructor @Getter + // TODO switch to record public static class LayoutSortedDiagram { private final TDefinitions originalDefinitions;