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

Commit 2c77559

Browse files
authored
Merge pull request #4 from DataFlowAnalysis/converter
Feat: Adjust to new converter semantics
2 parents fbb1105 + c94694a commit 2c77559

2 files changed

Lines changed: 25 additions & 22 deletions

File tree

bundles/org.dataflowanalysis.standalone/src/org/dataflowanalysis/standalone/analysis/Converter.java

Lines changed: 24 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,15 @@
1515
import org.dataflowanalysis.analysis.dsl.AnalysisConstraint;
1616
import org.dataflowanalysis.analysis.dsl.result.DSLResult;
1717
import org.dataflowanalysis.analysis.utils.StringView;
18-
import org.dataflowanalysis.converter.DataFlowDiagramAndDictionary;
19-
import org.dataflowanalysis.converter.DataFlowDiagramConverter;
20-
import org.dataflowanalysis.converter.PCMConverter;
21-
import org.dataflowanalysis.converter.WebEditorConverter;
22-
import org.dataflowanalysis.converter.webdfd.WebEditorDfd;
23-
import org.dataflowanalysis.converter.webdfd.Child;
24-
import org.dataflowanalysis.converter.webdfd.Annotation;
18+
import org.dataflowanalysis.converter.dfd2web.DataFlowDiagramAndDictionary;
19+
import org.dataflowanalysis.converter.dfd2web.DFD2WebConverter;
20+
import org.dataflowanalysis.converter.pcm2dfd.PCM2DFDConverter;
21+
import org.dataflowanalysis.converter.pcm2dfd.PCMConverterModel;
22+
import org.dataflowanalysis.converter.web2dfd.Web2DFDConverter;
23+
import org.dataflowanalysis.converter.web2dfd.WebEditorConverterModel;
24+
import org.dataflowanalysis.converter.web2dfd.model.WebEditorDfd;
25+
import org.dataflowanalysis.converter.web2dfd.model.Child;
26+
import org.dataflowanalysis.converter.web2dfd.model.Annotation;
2527
import org.dataflowanalysis.dfd.datadictionary.DataDictionary;
2628
import org.dataflowanalysis.dfd.datadictionary.datadictionaryPackage;
2729
import org.dataflowanalysis.dfd.dataflowdiagram.DataFlowDiagram;
@@ -46,7 +48,7 @@ public class Converter {
4648
*/
4749
public static WebEditorDfd convertDFD(File dfd, File dd){
4850
try {
49-
var converter = new DataFlowDiagramConverter();
51+
var converter = new DFD2WebConverter();
5052

5153
ResourceSet rs = new ResourceSetImpl();
5254
rs.getResourceFactoryRegistry().getExtensionToFactoryMap().put(Resource.Factory.Registry.DEFAULT_EXTENSION, new XMIResourceFactoryImpl());
@@ -62,9 +64,9 @@ public static WebEditorDfd convertDFD(File dfd, File dd){
6264
EcoreUtil.resolveAll(dfdResource);
6365
DataFlowDiagramAndDictionary dfdAndDD = new DataFlowDiagramAndDictionary((DataFlowDiagram)dfdResource.getContents().get(0), (DataDictionary)ddResource.getContents().get(0));
6466

65-
var newJson = converter.dfdToWeb(dfdAndDD);
67+
var newJson = converter.convert(dfdAndDD);
6668

67-
return newJson;
69+
return newJson.getModel();
6870

6971
} catch (Exception e) {
7072
e.printStackTrace();
@@ -82,12 +84,13 @@ public static WebEditorDfd convertDFD(File dfd, File dd){
8284
*/
8385
public static WebEditorDfd convertPCM(File usageModelFile, File allocationModelFile, File nodeCharacteristicsFile){
8486
try {
85-
var converter = new PCMConverter();
86-
var dfd = converter.pcmToDFD("", usageModelFile.toString(), allocationModelFile.toString(), nodeCharacteristicsFile.toString());
87+
var converter = new PCM2DFDConverter();
88+
var dfd = converter.convert(new PCMConverterModel(usageModelFile.toString(), allocationModelFile.toString(), nodeCharacteristicsFile.toString()));
8789

8890

89-
var dfdConverter = new DataFlowDiagramConverter();
90-
return dfdConverter.dfdToWebAndAnalyzeAndAnnotateWithCustomTFGFinder(dfd, null, DFDSimpleTransposeFlowGraphFinder.class);
91+
var dfdConverter = new DFD2WebConverter();
92+
dfdConverter.setTransposeFlowGraphFinder(DFDSimpleTransposeFlowGraphFinder.class);
93+
return dfdConverter.convert(dfd).getModel();
9194

9295
} catch (Exception e) {
9396
e.printStackTrace();
@@ -102,10 +105,10 @@ public static WebEditorDfd convertPCM(File usageModelFile, File allocationModelF
102105
*/
103106
public static WebEditorDfd analyzeAnnotate(WebEditorDfd webEditorDfd) {
104107
try {
105-
var webEditorconverter = new WebEditorConverter();
106-
var dd = webEditorconverter.webToDfd(webEditorDfd);
107-
var dfdConverter = new DataFlowDiagramConverter();
108-
var newJson = dfdConverter.dfdToWeb(dd);
108+
var webEditorconverter = new Web2DFDConverter();
109+
var dd = webEditorconverter.convert(new WebEditorConverterModel(webEditorDfd));
110+
var dfdConverter = new DFD2WebConverter();
111+
var newJson = dfdConverter.convert(dd).getModel();
109112
if (webEditorDfd.constraints() != null && !webEditorDfd.constraints().isEmpty()) {
110113
var constraints = parseConstraints(webEditorDfd);
111114
var violations = runAnalysis(dd, constraints);
@@ -127,12 +130,12 @@ public static WebEditorDfd analyzeAnnotate(WebEditorDfd webEditorDfd) {
127130
*/
128131
public static String convertToDFDandStringify(WebEditorDfd webEditorDfd, String name) {
129132
try {
130-
var converter = new WebEditorConverter();
131-
var dfd = converter.webToDfd(webEditorDfd);
133+
var converter = new Web2DFDConverter();
134+
var dfd = converter.convert(new WebEditorConverterModel(webEditorDfd));
132135
String tempDir = System.getProperty("java.io.tmpdir");
133136
var dfdFile = new File(tempDir, name + ".dataflowdiagram");
134137
var ddFile = new File(tempDir, name + ".datadictionary");
135-
converter.storeDFD(dfd, dfdFile.getParent() + "/" + name);
138+
dfd.save(dfdFile.getParent(), name);
136139

137140
String dfdContent = Files.readString(dfdFile.toPath());
138141
String ddContent = Files.readString(ddFile.toPath());

bundles/org.dataflowanalysis.standalone/src/org/dataflowanalysis/standalone/websocket/WebSocketServerHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import java.io.IOException;
55
import java.util.Map;
66
import java.util.HashMap;
7-
import org.dataflowanalysis.converter.webdfd.WebEditorDfd;
7+
import org.dataflowanalysis.converter.web2dfd.model.WebEditorDfd;
88
import org.dataflowanalysis.standalone.analysis.Converter;
99
import org.eclipse.jetty.websocket.api.Session;
1010
import org.eclipse.jetty.websocket.api.WebSocketAdapter;

0 commit comments

Comments
 (0)