Skip to content

Commit b94027e

Browse files
Merge pull request #3 from AlexanderSchultheiss/develop
Develop
2 parents b2fc69f + 2f61b94 commit b94027e

11 files changed

Lines changed: 89 additions & 126 deletions

File tree

Dockerfile

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# syntax=docker/dockerfile:1
2-
FROM alpine:3.14
2+
FROM alpine:3.15
33

44
# Prepare the environment
55
RUN apk add maven
@@ -12,13 +12,13 @@ COPY pom.xml .
1212
RUN mvn package || exit
1313

1414

15-
FROM alpine:3.14
15+
FROM alpine:3.15
1616

1717
# Create a user
1818
RUN adduser --disabled-password --home /home/user --gecos '' user
1919

2020
RUN apk add --no-cache --upgrade bash
21-
RUN apk add --update openjdk11 unzip
21+
RUN apk add --update openjdk17 unzip
2222
RUN apk add --no-cache msttcorefonts-installer fontconfig
2323
RUN update-ms-fonts
2424
RUN apk add --no-cache tesseract-ocr python3 py3-pip py3-numpy && \

experiment.bat

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
@echo Starting %*
2-
@if not exist "results" mkdir results
32

43
@docker run --rm -v "%cd%/results":"/home/user/results" match-experiments %*
54

pom.xml

Lines changed: 4 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,15 @@
66

77
<groupId>de.variantsync.matching</groupId>
88
<artifactId>RaQuN</artifactId>
9-
<version>1.0</version>
9+
<version>1.1</version>
1010

1111
<properties>
1212
<!-- Adjust your java version here (It might not work for Java Versions < 11 -->
13-
<java.version>11</java.version>
13+
<java.version>17</java.version>
1414
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
1515
<junit.jupiter.version>5.6.0</junit.jupiter.version>
1616
</properties>
1717

18-
<!--
19-
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
20-
INFO: If you want to run RaQuN as jar file you should run the RaQuN-1.0-jar-with-dependencies.jar
21-
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
22-
-->
2318
<build>
2419
<plugins>
2520
<plugin>
@@ -31,18 +26,6 @@
3126
<target>${java.version}</target>
3227
</configuration>
3328
</plugin>
34-
<plugin>
35-
<groupId>org.apache.maven.plugins</groupId>
36-
<artifactId>maven-jar-plugin</artifactId>
37-
<version>3.2.0</version>
38-
<configuration>
39-
<archive>
40-
<manifest>
41-
<mainClass>de.variantsync.matching.experiments.RQ1Runner</mainClass>
42-
</manifest>
43-
</archive>
44-
</configuration>
45-
</plugin>
4629
<plugin>
4730
<artifactId>maven-assembly-plugin</artifactId>
4831
<executions>
@@ -53,10 +36,11 @@
5336
<goal>single</goal>
5437
</goals>
5538
<configuration>
56-
<finalName>RaQuN</finalName>
39+
<finalName>RaQuN-${project.version}</finalName>
5740
<descriptorRefs>
5841
<descriptorRef>jar-with-dependencies</descriptorRef>
5942
</descriptorRefs>
43+
<appendAssemblyId>false</appendAssemblyId>
6044
</configuration>
6145
</execution>
6246
<execution>

src/main/java/de/variantsync/matching/emf2csv/Architecture2CSV.java

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -25,45 +25,45 @@
2525
*/
2626
public class Architecture2CSV {
2727

28-
public static void main(String[] args) throws Exception {
28+
public static void main(final String[] args) throws Exception {
2929
System.out.println("Running Architecture2CSV...");
3030

3131
if (args.length != 1) {
3232
System.err.println("Required arguments: <model-directory>");
3333
System.exit(0);
3434
}
3535

36-
File inFolder = new File(args[0]);
36+
final File inFolder = new File(args[0]);
3737
if (!inFolder.exists() || !inFolder.isDirectory()) {
3838
System.err.println("Directory does not exist: " + inFolder.getAbsolutePath());
3939
System.exit(0);
4040
}
4141
System.out.println("Model Directory: " + inFolder.getAbsolutePath());
4242

43-
File outFile = new File("csv-models/" + inFolder.getName() + ".csv");
43+
final File outFile = new File("csv-models/" + inFolder.getName() + ".csv");
4444
outFile.getParentFile().mkdirs();
4545

46-
List<EClass> elementTypes = new ArrayList<EClass>();
46+
final List<EClass> elementTypes = new ArrayList<EClass>();
4747
elementTypes.add(ArchitecturePackage.eINSTANCE.getComponent());
4848
elementTypes.add(ArchitecturePackage.eINSTANCE.getConnector());
4949

5050
convert(inFolder, outFile, elementTypes);
5151
}
5252

53-
private static void convert(File inFolder, File outFile, List<EClass> elementTypes) throws Exception {
54-
List<String[]> allElementRecords = new ArrayList<String[]>();
53+
private static void convert(final File inFolder, final File outFile, final List<EClass> elementTypes) throws Exception {
54+
final List<String[]> allElementRecords = new ArrayList<>();
5555

56-
File modelFiles[] = inFolder.listFiles();
57-
for (File file : modelFiles) {
56+
final File[] modelFiles = inFolder.listFiles();
57+
for (final File file : modelFiles) {
5858
System.out.println("Processing " + file.getAbsolutePath());
59-
Architecture model = ModelUtil.loadArchitectureModel(file.getAbsolutePath());
59+
final Architecture model = ModelUtil.loadArchitectureModel(file.getAbsolutePath());
6060
String modelId = file.getName();
6161
modelId = modelId.substring(0, modelId.length() - 5);
6262

6363
// Elements
64-
for (EClass elementType : elementTypes) {
65-
for (Element element : ModelUtil.getAllElements(model, elementType)) {
66-
String[] elementRecord = new String[4];
64+
for (final EClass elementType : elementTypes) {
65+
for (final Element element : ModelUtil.getAllElements(model, elementType)) {
66+
final String[] elementRecord = new String[4];
6767
elementRecord[0] = modelId;
6868
elementRecord[1] = ModelUtil.getXmiId(element);
6969
elementRecord[2] = element.getName();
@@ -84,24 +84,24 @@ private static void convert(File inFolder, File outFile, List<EClass> elementTyp
8484
writeCSV(allElementRecords, outFile.getAbsolutePath());
8585
}
8686

87-
private static String getComponentPropertyString(Component component) {
87+
private static String getComponentPropertyString(final Component component) {
8888
String propertyString = "Component";
8989

90-
for (Port port : component.getPorts()) {
90+
for (final Port port : component.getPorts()) {
9191
propertyString += ";" + port.getName();
9292

93-
for (Connector c : port.getOutgoings()) {
93+
for (final Connector c : port.getOutgoings()) {
9494
propertyString += ";out_" + c.getName();
9595
}
96-
for (Connector c : port.getIncomings()) {
96+
for (final Connector c : port.getIncomings()) {
9797
propertyString += ";in_" + c.getName();
9898
}
9999
}
100100

101101
return propertyString;
102102
}
103103

104-
private static String getConnectorPropertyString(Connector connector) {
104+
private static String getConnectorPropertyString(final Connector connector) {
105105
String propertyString = "Connector";
106106

107107
propertyString += ";" + connector.getType().toString();
@@ -112,9 +112,9 @@ private static String getConnectorPropertyString(Connector connector) {
112112
return propertyString;
113113
}
114114

115-
private static void writeCSV(List<String[]> stringArray, String path) throws Exception {
115+
private static void writeCSV(final List<String[]> stringArray, final String path) throws Exception {
116116
System.out.println("Writing Output CSV: " + path);
117-
CSVWriter writer = new CSVWriter(new FileWriter(path.toString()), ',', Character.MIN_VALUE);
117+
final CSVWriter writer = new CSVWriter(new FileWriter(path.toString()), ',', Character.MIN_VALUE);
118118
writer.writeAll(stringArray);
119119
writer.close();
120120
}

src/main/java/de/variantsync/matching/emf2csv/ModelUtil.java

Lines changed: 26 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -32,25 +32,25 @@ public class ModelUtil {
3232

3333
static {
3434
// Register the proper EMF resource factories
35-
Resource.Factory.Registry reg = Resource.Factory.Registry.INSTANCE;
36-
Map<String, Object> m = reg.getExtensionToFactoryMap();
35+
final Resource.Factory.Registry reg = Resource.Factory.Registry.INSTANCE;
36+
final Map<String, Object> m = reg.getExtensionToFactoryMap();
3737
m.put("xmi", new XMIResourceFactoryImpl());
3838
m.put("arch", new XMIResourceFactoryImpl());
3939
m.put("ecore", new EcoreResourceFactoryImpl());
4040
}
4141

42-
public static List<Feature> getAllFeatures(Class clazz) {
43-
List<Feature> properties = new ArrayList<Feature>();
42+
public static List<Feature> getAllFeatures(final Class clazz) {
43+
final List<Feature> properties = new ArrayList<>();
4444
properties.addAll(clazz.getAttributes());
4545
properties.addAll(clazz.getOperations());
4646

4747
return properties;
4848
}
4949

50-
public static List<NamedElement> getAllElements(Model model, EClass eClass) {
51-
List<NamedElement> elements = new ArrayList<NamedElement>();
52-
for (Iterator<EObject> iterator = model.eAllContents(); iterator.hasNext();) {
53-
EObject eObject = (EObject) iterator.next();
50+
public static List<NamedElement> getAllElements(final Model model, final EClass eClass) {
51+
final List<NamedElement> elements = new ArrayList<>();
52+
for (final Iterator<EObject> iterator = model.eAllContents(); iterator.hasNext();) {
53+
final EObject eObject = iterator.next();
5454
if (eObject.eClass() == eClass) {
5555
elements.add((NamedElement) eObject);
5656
}
@@ -59,10 +59,10 @@ public static List<NamedElement> getAllElements(Model model, EClass eClass) {
5959
return elements;
6060
}
6161

62-
public static List<Element> getAllElements(Architecture model, EClass eClass) {
63-
List<Element> elements = new ArrayList<Element>();
64-
for (Iterator<EObject> iterator = model.eAllContents(); iterator.hasNext();) {
65-
EObject eObject = (EObject) iterator.next();
62+
public static List<Element> getAllElements(final Architecture model, final EClass eClass) {
63+
final List<Element> elements = new ArrayList<>();
64+
for (final Iterator<EObject> iterator = model.eAllContents(); iterator.hasNext();) {
65+
final EObject eObject = iterator.next();
6666
if (eObject.eClass() == eClass) {
6767
elements.add((Element) eObject);
6868
}
@@ -71,43 +71,39 @@ public static List<Element> getAllElements(Architecture model, EClass eClass) {
7171
return elements;
7272
}
7373

74-
public static String getXmiId(EObject eObject) {
74+
public static String getXmiId(final EObject eObject) {
7575
assert (eObject != null && eObject.eResource() instanceof XMIResource);
7676

77-
String objectID = ((XMIResource) eObject.eResource()).getID(eObject);
78-
79-
return objectID;
77+
return ((XMIResource) eObject.eResource()).getID(eObject);
8078
}
8179

82-
public static Model loadModel(String path) {
83-
ResourceSet resourceSet = new ResourceSetImpl();
80+
public static Model loadModel(final String path) {
81+
final ResourceSet resourceSet = new ResourceSetImpl();
8482
UMLResourcesUtil.init(resourceSet);
85-
Resource resource = resourceSet.getResource(URI.createFileURI(path), true);
86-
Model model = (Model) resource.getContents().get(0);
83+
final Resource resource = resourceSet.getResource(URI.createFileURI(path), true);
8784

88-
return model;
85+
return (Model) resource.getContents().get(0);
8986
}
9087

91-
public static Architecture loadArchitectureModel(String path) {
92-
ResourceSet resourceSet = new ResourceSetImpl();
88+
public static Architecture loadArchitectureModel(final String path) {
89+
final ResourceSet resourceSet = new ResourceSetImpl();
9390
UMLResourcesUtil.init(resourceSet);
94-
Resource resource = resourceSet.getResource(URI.createFileURI(path), true);
95-
Architecture model = (Architecture) resource.getContents().get(0);
91+
final Resource resource = resourceSet.getResource(URI.createFileURI(path), true);
9692

97-
return model;
93+
return (Architecture) resource.getContents().get(0);
9894
}
9995

100-
public static void saveModel(Model model, String path) {
96+
public static void saveModel(final Model model, final String path) {
10197
System.out.println(path);
102-
ResourceSet resourceSet = new ResourceSetImpl();
98+
final ResourceSet resourceSet = new ResourceSetImpl();
10399
UMLResourcesUtil.init(resourceSet);
104-
Resource resource = resourceSet.createResource(URI.createFileURI(path));
100+
final Resource resource = resourceSet.createResource(URI.createFileURI(path));
105101
resource.getContents().add(model);
106102

107103
// now save the content.
108104
try {
109105
resource.save(Collections.EMPTY_MAP);
110-
} catch (IOException e) {
106+
} catch (final IOException e) {
111107
e.printStackTrace();
112108
}
113109
}

0 commit comments

Comments
 (0)