Skip to content

Commit fbd737c

Browse files
yesamerJozef Marko
andauthored
KOGITO-6781: XML Prolog support for .scesim files (#4205) (#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>
1 parent dee4d15 commit fbd737c

15 files changed

Lines changed: 32 additions & 2 deletions

File tree

drools-scenario-simulation/drools-scenario-simulation-backend/src/main/java/org/drools/scenariosimulation/backend/util/ScenarioSimulationXMLPersistence.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
import org.w3c.dom.Document;
4242

4343
import static org.drools.scenariosimulation.api.utils.ConstantsHolder.BACKGROUND_NODE;
44+
import static org.drools.scenariosimulation.api.utils.ConstantsHolder.SCENARIO_SIMULATION_MODEL_NODE;
4445
import static org.drools.scenariosimulation.api.utils.ConstantsHolder.SCESIM_MODEL_DESCRIPTOR_NODE;
4546
import static org.drools.scenariosimulation.api.utils.ConstantsHolder.SETTINGS;
4647
import static org.drools.scenariosimulation.api.utils.ConstantsHolder.SIMULATION_DESCRIPTOR_NODE;
@@ -50,7 +51,7 @@ public class ScenarioSimulationXMLPersistence {
5051

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

5556
private XStream xt;
5657
private MigrationStrategy migrationStrategy = new InMemoryMigrationStrategy();

drools-scenario-simulation/drools-scenario-simulation-backend/src/test/java/org/drools/scenariosimulation/backend/util/ScenarioSimulationXMLPersistenceTest.java

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -305,6 +305,22 @@ public void extractVersion() {
305305
assertEquals("1.0", version);
306306
}
307307

308+
@Test
309+
public void extractVersionWhenXmlPrologIsPresent() {
310+
String version = instance.extractVersion("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +
311+
"<ScenarioSimulationModel version=\"1.1\">");
312+
assertEquals("1.1", version);
313+
}
314+
315+
@Test
316+
public void extractVersionWhenMoreVersionAttributesArePresent() {
317+
String version = instance.extractVersion("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" +
318+
"<ScenarioSimulationModel version=\"1.2\">\n" +
319+
"<someUnknownTag version=\"1.1\"/>\n" +
320+
"</ScenarioSimulationModel>");
321+
assertEquals("1.2", version);
322+
}
323+
308324
@Test(expected = IllegalArgumentException.class)
309325
public void unmarshalEmptyContent() throws Exception {
310326
ScenarioSimulationXMLPersistence.getInstance().unmarshal("");
@@ -334,6 +350,7 @@ public void unmarshalDMN() throws Exception {
334350
/**
335351
* Verify the given <code>Map</code> has one single entry, whose <code>List</code> value also has a single children.
336352
* If <b>expectedTextContent</b> is given, it also check the children text content match
353+
*
337354
* @param toCheck
338355
* @param expectedTextContent
339356
*/

drools-scenario-simulation/drools-scenario-simulation-backend/src/test/resources/folderToTest/scesim-1-1.scesim

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<?xml version="1.1" encoding="UTF-8"?>
1+
<?xml version="1.0" encoding="UTF-8"?>
22
<ScenarioSimulationModel version="1.1">
33
<simulation>
44
<simulationDescriptor>

drools-scenario-simulation/drools-scenario-simulation-backend/src/test/resources/folderToTest/scesim-1-2.scesim

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
12
<ScenarioSimulationModel version="1.2">
23
<simulation>
34
<simulationDescriptor>

drools-scenario-simulation/drools-scenario-simulation-backend/src/test/resources/folderToTest/scesim-1-3-dmn_1.scesim

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
12
<ScenarioSimulationModel version="1.3">
23
<simulation>
34
<simulationDescriptor>

drools-scenario-simulation/drools-scenario-simulation-backend/src/test/resources/folderToTest/scesim-1-3-dmn_2.scesim

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
12
<ScenarioSimulationModel version="1.3">
23
<simulation>
34
<simulationDescriptor>

drools-scenario-simulation/drools-scenario-simulation-backend/src/test/resources/folderToTest/scesim-1-3-rule.scesim

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
12
<ScenarioSimulationModel version="1.3">
23
<simulation>
34
<simulationDescriptor>

drools-scenario-simulation/drools-scenario-simulation-backend/src/test/resources/folderToTest/scesim-1-4-rule.scesim

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
12
<ScenarioSimulationModel version="1.4">
23
<simulation>
34
<simulationDescriptor>

drools-scenario-simulation/drools-scenario-simulation-backend/src/test/resources/folderToTest/scesim-1-5-dmn.scesim

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
12
<ScenarioSimulationModel version="1.5">
23
<simulation>
34
<simulationDescriptor>

drools-scenario-simulation/drools-scenario-simulation-backend/src/test/resources/folderToTest/scesim-1-6-dmn.scesim

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
12
<ScenarioSimulationModel version="1.6">
23
<simulation>
34
<simulationDescriptor>

0 commit comments

Comments
 (0)