diff --git a/src/main/java/de/tudresden/inf/st/pnml/splitter/export/ComplexElementsConverter.java b/src/main/java/de/tudresden/inf/st/pnml/splitter/export/ComplexElementsConverter.java index d9965b0a6dabbbe04ba076c70c849d64aaaaf644..314c6db10580315abec9c2cd7ad26589a9d8db43 100644 --- a/src/main/java/de/tudresden/inf/st/pnml/splitter/export/ComplexElementsConverter.java +++ b/src/main/java/de/tudresden/inf/st/pnml/splitter/export/ComplexElementsConverter.java @@ -49,9 +49,17 @@ public class ComplexElementsConverter { pn.setTypeHLAPI(PNType.PTNET); } - petriNet.getToolspecificList().forEach(toolInfo -> - pn.addToolspecificsHLAPI(new ToolInfoHLAPI(toolInfo.getTool(), toolInfo.getVersion(), - clipToolSpecificsFormattedXmlBuffer(toolInfo.getTool(), toolInfo.getVersion(), toolInfo.getFormattedXMLBuffer()), toolInfo.getToolInfoGrammarURI(), null))); + for(int i = 0; i < petriNet.getNumToolspecific(); i++){ + if(petriNet.getToolspecific(i).getFormattedXMLBuffer().indexOf("</toolspecific>") > -1){ + + pn.addToolspecificsHLAPI(new ToolInfoHLAPI(petriNet.getToolspecific(i).getTool(), petriNet.getToolspecific(i).getVersion(), + clipToolSpecificsFormattedXmlBuffer(petriNet.getToolspecific(i).getTool(), petriNet.getToolspecific(i).getVersion(), + petriNet.getToolspecific(i).getFormattedXMLBuffer()), petriNet.getToolspecific(i).getToolInfoGrammarURI(), null)); + }else{ + pn.addToolspecificsHLAPI(new ToolInfoHLAPI(petriNet.getToolspecific(i).getTool(), petriNet.getToolspecific(i).getVersion(), petriNet.getToolspecific(i).getFormattedXMLBuffer() + , petriNet.getToolspecific(i).getToolInfoGrammarURI(), null)); + } + } return pn; diff --git a/src/main/java/de/tudresden/inf/st/pnml/splitter/export/PnmlExporter.java b/src/main/java/de/tudresden/inf/st/pnml/splitter/export/PnmlExporter.java index c3ee9d1b43dbb2be3a55b0eb32d5e203cdee870b..5a736f129c8c2c96d89bb70407e786c3f430d0cb 100644 --- a/src/main/java/de/tudresden/inf/st/pnml/splitter/export/PnmlExporter.java +++ b/src/main/java/de/tudresden/inf/st/pnml/splitter/export/PnmlExporter.java @@ -62,7 +62,7 @@ public class PnmlExporter { try { PnmlExport pex = new PnmlExport(); - pex.exportObject(doc, targetPath); + pex.exportObject(doc, targetPath, true); } catch (UnhandledNetType | OCLValidationFailed unhandledNetType) { logger.error("EXCEPTION: " + Arrays.toString(unhandledNetType.getStackTrace())); hasFailed = true; diff --git a/src/main/java/de/tudresden/inf/st/pnml/splitter/export/PrimitiveElementsConverter.java b/src/main/java/de/tudresden/inf/st/pnml/splitter/export/PrimitiveElementsConverter.java index 66d595a7942eb717e16b170b55a8d7ff8fcaf20b..faa335305c255e3f66762aa2b7f6b38ffb476ae3 100644 --- a/src/main/java/de/tudresden/inf/st/pnml/splitter/export/PrimitiveElementsConverter.java +++ b/src/main/java/de/tudresden/inf/st/pnml/splitter/export/PrimitiveElementsConverter.java @@ -9,7 +9,7 @@ public class PrimitiveElementsConverter { private static StringBuffer clipToolSpecificsFormattedXmlBuffer(String toolName, String toolVersion, StringBuffer formattedXmlBuffer) { - if (formattedXmlBuffer != null) { + if (formattedXmlBuffer != null && formattedXmlBuffer.indexOf("</toolspecific>") > -1) { int endCharsLength = 15; int toolNameLenth = (toolName == null) ? 0 : toolName.length();