Skip to content
Snippets Groups Projects
Commit 6baa6e8b authored by Sebastian Ebert's avatar Sebastian Ebert
Browse files

Merge branch 'devel'

parents 7e486c36 00a58fd7
Branches master
No related tags found
No related merge requests found
...@@ -7,7 +7,7 @@ buildscript { ...@@ -7,7 +7,7 @@ buildscript {
} }
group 'de.tudresden.inf.st' group 'de.tudresden.inf.st'
version '0.3' version '0.4'
apply plugin: 'java' apply plugin: 'java'
apply plugin: 'java-library' apply plugin: 'java-library'
...@@ -44,9 +44,6 @@ configurations { ...@@ -44,9 +44,6 @@ configurations {
} }
dependencies { dependencies {
// implementation project(':pnml-relast-base')
implementation group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: "${jackson_version}" implementation group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: "${jackson_version}"
implementation group: 'net.sf.beaver', name: 'beaver-rt', version: '0.9.11' implementation group: 'net.sf.beaver', name: 'beaver-rt', version: '0.9.11'
implementation group: 'org.slf4j', name: 'slf4j-api', version: '1.7.30' implementation group: 'org.slf4j', name: 'slf4j-api', version: '1.7.30'
...@@ -67,7 +64,7 @@ dependencies { ...@@ -67,7 +64,7 @@ dependencies {
// https://mvnrepository.com/artifact/xalan/xalan // https://mvnrepository.com/artifact/xalan/xalan
implementation group: 'xalan', name: 'xalan', version: '2.7.2' implementation group: 'xalan', name: 'xalan', version: '2.7.2'
compile group: 'org.apache.commons', name: 'commons-lang3', version: '3.0' implementation group: 'org.apache.commons', name: 'commons-lang3', version: '3.0'
implementation group: 'org.apache.commons', name: 'commons-collections4', version: '4.4' implementation group: 'org.apache.commons', name: 'commons-collections4', version: '4.4'
jastadd2 "org.jastadd:jastadd:2.3.4" jastadd2 "org.jastadd:jastadd:2.3.4"
...@@ -96,8 +93,31 @@ jar { ...@@ -96,8 +93,31 @@ jar {
duplicatesStrategy = DuplicatesStrategy.EXCLUDE duplicatesStrategy = DuplicatesStrategy.EXCLUDE
archiveBaseName = 'pnml-splitter' archiveBaseName = 'pnml-relast-splitter'
}
task fatJar(type: Jar) {
group = "build"
archiveAppendix = "fatjar"
// Include the compiled output and runtime dependencies
from sourceSets.main.output
from sourceSets.main.allSource
from {
configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) }
}
// Ensure the correct Main-Class is specified
manifest {
attributes "Main-Class": "de.tudresden.inf.st.pnml.splitter.Main"
}
// Exclude unnecessary files
exclude 'META-INF/*.RSA', 'META-INF/*.SF', 'META-INF/*.DSA'
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
archiveBaseName = 'pnml-relast-splitter'
} }
// Generated files // Generated files
......
...@@ -8,24 +8,48 @@ import org.slf4j.Logger; ...@@ -8,24 +8,48 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.List; import java.util.List;
public class Main { public class Main {
private static final Logger logger = LoggerFactory.getLogger(Main.class); private static final Logger logger = LoggerFactory.getLogger(Main.class);
public static void main(String[] args) { // Utility to extract argument value by flag
private static String getArgumentValue(String[] args, String flag, String defaultValue) {
for (int i = 0; i < args.length; i++) {
if (args[i].equals(flag) && i + 1 < args.length) {
return args[i + 1];
}
}
return defaultValue;
}
// Print help/usage instructions
private static void printUsage() {
System.out.println("Options:");
System.out.println(" --pnml <path> Path to the PNML file (required)");
System.out.println(" --help Show this help message and exit");
}
String inputPath = (args.length > 0) ? args[0] : null; public static void main(String[] args) {
//String inputPath = "/home/sebastian/git/dineros-public/dineros/" +
// "journal-paper-evaluation/full/model-v4/sorting-wf-synced-safe-sensor-grpn-sig.pnml";
if (inputPath == null) { if (args.length == 0 || Arrays.asList(args).contains("--help")) {
logger.error("No model found on given input path."); printUsage();
return; return;
} }
List<PetriNet> petriNets = PnmlParser.parsePnml(inputPath, false); // String configPath = getArgumentValue(args, "--config", null);
String pnmlPath = getArgumentValue(args, "--pnml", null);
// Validate required arguments
if (pnmlPath == null) {
System.err.println("Error: --pnml <path> is required.");
printUsage();
System.exit(1);
}
List<PetriNet> petriNets = PnmlParser.parsePnml(pnmlPath, true);
JastAddList<ToolInfo> ti = petriNets.get(0).getToolspecificList().treeCopy(); JastAddList<ToolInfo> ti = petriNets.get(0).getToolspecificList().treeCopy();
List<List<PetriNet>> disconnectedPetriNets = new ArrayList<>(); List<List<PetriNet>> disconnectedPetriNets = new ArrayList<>();
......
...@@ -60,7 +60,8 @@ public class GlobalToLocalNetsPostProcessor implements PostProcessor<PetriNet> { ...@@ -60,7 +60,8 @@ public class GlobalToLocalNetsPostProcessor implements PostProcessor<PetriNet> {
for (String location : locations) { for (String location : locations) {
System.out.println("Creating deep copy for: " + location); System.out.println("Creating deep copy for: " + location);
List<PetriNet> reParsedPetriNets = PnmlParser.parsePnml(serializedNetPath, false); List<PetriNet> reParsedPetriNets = PnmlParser.parsePnml(serializedNetPath, true);
for (PetriNet pn : reParsedPetriNets) { for (PetriNet pn : reParsedPetriNets) {
PetriNet separatedNet = createdSeparatedNetByNode(pn, location); PetriNet separatedNet = createdSeparatedNetByNode(pn, location);
separatedNet.setId(separatedNet.getType() + "-" + netSuffix); separatedNet.setId(separatedNet.getType() + "-" + netSuffix);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment