|
|
@@ -1,17 +1,9 @@
|
|
|
-import { readFileSync, writeFileSync } from "node:fs";
|
|
|
-import BPMNError from "./v1/errors/BPMNError.js";
|
|
|
-import Edge from "./v1/graph/edge/Edge.js";
|
|
|
-import Graph from "./v1/graph/Graph.js";
|
|
|
-import Node from "./v1/graph/node/Node.js";
|
|
|
-import CoordinateAssignmentStep from "./v1/optimizer/steps/CoordinateAssignmentStep.js";
|
|
|
-import CycleRemoveStep from "./v1/optimizer/steps/CycleRemoveStep.js";
|
|
|
-import LayerAssignmentStep from "./v1/optimizer/steps/LayerAssignmentStep.js";
|
|
|
-import NodeOrderingStep from "./v1/optimizer/steps/NodeOrderingStep.js";
|
|
|
-import SiguiyamaAlgorithm from "./v1/optimizer/siguiyama/SiguiyamaAlgorithm.js";
|
|
|
-import { SiguiyamaContext } from "./v1/optimizer/siguiyama/SiguiyamaContext.js";
|
|
|
-import DzwfJsonDeserializer from "./v1/io/deserialize/json/DzwfJsonDeserializer.js";
|
|
|
-import DzwfJsonSerializer from "./v1/io/serialize/json/DzwfJsonSerializer.js";
|
|
|
-import EdgeRoutingStep from "./v1/optimizer/steps/EdgeRoutingStep.js";
|
|
|
+import SiguiyamaAlgorithm from "./optimizer/siguiyama/SiguiyamaAlgorithm.js";
|
|
|
+import Graph from "./graph/Graph.js";
|
|
|
+import Node from "./graph/node/Node.js";
|
|
|
+import Edge from "./graph/edge/Edge.js";
|
|
|
+import BPMNError from "./errors/BPMNError.js";
|
|
|
+import {SiguiyamaContext} from "./optimizer/siguiyama/SiguiyamaContext.js";
|
|
|
|
|
|
export class BPMNOptimizer {
|
|
|
private _optimizationAlgorithm?: SiguiyamaAlgorithm;
|
|
|
@@ -27,17 +19,3 @@ export class BPMNOptimizer {
|
|
|
return this._optimizationAlgorithm.run(graph);
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
-const algorithm = new SiguiyamaAlgorithm()
|
|
|
- .addStep(new CycleRemoveStep())
|
|
|
- .addStep(new LayerAssignmentStep())
|
|
|
- .addStep(new NodeOrderingStep())
|
|
|
- .addStep(new CoordinateAssignmentStep(60, 100))
|
|
|
- .addStep(new EdgeRoutingStep());
|
|
|
-const optimizer = new BPMNOptimizer().setOptimizationAlgorithm(algorithm);
|
|
|
-
|
|
|
-const data = readFileSync("./data/bpmn-graph.json").toString();
|
|
|
-const { dzwfData, graph } = new DzwfJsonDeserializer().deserialize(data);
|
|
|
-const result = optimizer.run(graph);
|
|
|
-
|
|
|
-writeFileSync(`./data/document.dzwf`, new DzwfJsonSerializer().serialize({ dzwfData, graph: result.graph }));
|