Skip to content

Commit

Permalink
KOGITO-6781: XML Prolog support for .scesim files (apache#4205) (apac…
Browse files Browse the repository at this point in the history
…he#4247)

* KOGITO-6781: XML Prolog support in for .scesim files

* KOGITO-6781: Add unit tests for the ScesimXMLPersistence (#3)

Co-authored-by: Jozef Marko <jomarko@redhat.com>

Co-authored-by: Jozef Marko <jomarko@redhat.com>
  • Loading branch information
yesamer and Jozef Marko committed Mar 9, 2022
1 parent dee4d15 commit fbd737c
Show file tree
Hide file tree
Showing 15 changed files with 32 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@
import org.w3c.dom.Document;

import static org.drools.scenariosimulation.api.utils.ConstantsHolder.BACKGROUND_NODE;
import static org.drools.scenariosimulation.api.utils.ConstantsHolder.SCENARIO_SIMULATION_MODEL_NODE;
import static org.drools.scenariosimulation.api.utils.ConstantsHolder.SCESIM_MODEL_DESCRIPTOR_NODE;
import static org.drools.scenariosimulation.api.utils.ConstantsHolder.SETTINGS;
import static org.drools.scenariosimulation.api.utils.ConstantsHolder.SIMULATION_DESCRIPTOR_NODE;
Expand All @@ -50,7 +51,7 @@ public class ScenarioSimulationXMLPersistence {

private static final ScenarioSimulationXMLPersistence INSTANCE = new ScenarioSimulationXMLPersistence();
private static final String CURRENT_VERSION = new ScenarioSimulationModel().getVersion();
private static final Pattern p = Pattern.compile("version=\"([0-9]+\\.[0-9]+)");
private static final Pattern p = Pattern.compile(SCENARIO_SIMULATION_MODEL_NODE + " version=\"([0-9]+\\.[0-9]+)");

private XStream xt;
private MigrationStrategy migrationStrategy = new InMemoryMigrationStrategy();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -305,6 +305,22 @@ public void extractVersion() {
assertEquals("1.0", version);
}

@Test
public void extractVersionWhenXmlPrologIsPresent() {
String version = instance.extractVersion("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +
"<ScenarioSimulationModel version=\"1.1\">");
assertEquals("1.1", version);
}

@Test
public void extractVersionWhenMoreVersionAttributesArePresent() {
String version = instance.extractVersion("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +
"<ScenarioSimulationModel version=\"1.2\">\n" +
"<someUnknownTag version=\"1.1\"/>\n" +
"</ScenarioSimulationModel>");
assertEquals("1.2", version);
}

@Test(expected = IllegalArgumentException.class)
public void unmarshalEmptyContent() throws Exception {
ScenarioSimulationXMLPersistence.getInstance().unmarshal("");
Expand Down Expand Up @@ -334,6 +350,7 @@ public void unmarshalDMN() throws Exception {
/**
* Verify the given <code>Map</code> has one single entry, whose <code>List</code> value also has a single children.
* If <b>expectedTextContent</b> is given, it also check the children text content match
*
* @param toCheck
* @param expectedTextContent
*/
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<?xml version="1.1" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>
<ScenarioSimulationModel version="1.1">
<simulation>
<simulationDescriptor>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<ScenarioSimulationModel version="1.2">
<simulation>
<simulationDescriptor>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<ScenarioSimulationModel version="1.3">
<simulation>
<simulationDescriptor>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<ScenarioSimulationModel version="1.3">
<simulation>
<simulationDescriptor>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<ScenarioSimulationModel version="1.3">
<simulation>
<simulationDescriptor>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<ScenarioSimulationModel version="1.4">
<simulation>
<simulationDescriptor>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<ScenarioSimulationModel version="1.5">
<simulation>
<simulationDescriptor>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<ScenarioSimulationModel version="1.6">
<simulation>
<simulationDescriptor>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<ScenarioSimulationModel version="1.6">
<simulation>
<simulationDescriptor>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<ScenarioSimulationModel version="1.7">
<simulation>
<simulationDescriptor>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<ScenarioSimulationModel version="1.7">
<simulation>
<simulationDescriptor>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<ScenarioSimulationModel version="1.8">
<simulation>
<simulationDescriptor>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<ScenarioSimulationModel version="1.8">
<simulation>
<simulationDescriptor>
Expand Down

0 comments on commit fbd737c

Please sign in to comment.