Error Details
XML does not match control XML
org.custommonkey.xmlunit.Diff
[different] Expected attribute value 'true' but was '${1==1}' - comparing <condition expression="true"...> at /applicationReference[1]/pages[1]/page[1]/structure[1]/section[1]/element[1]/action[1]/config[1]/meta-data[1]/field[1]/condition[1]/@expression to <condition expression="${1==1}"...> at /applicationReference[1]/pages[1]/page[1]/structure[1]/section[1]/element[1]/action[1]/config[1]/meta-data[1]/field[1]/condition[1]/@expression
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<applicationReference xmlns="http://www.appng.org/schema/platform" id="demo-application" version="1.5.2">
<config>
<title id="plugintitle">A Test-Plugin</title>
<permissions>
<permission ref="debug" mode="set"></permission>
</permissions>
<session>
<session-params>
<session-param name="sessionparam1"></session-param>
<session-param name="sessionparam2"></session-param>
</session-params>
</session>
</config>
<pages>
<page id="entity" type="index" executionTime="23">
<config>
<title id="entity">Entity</title>
<description></description>
<permissions>
<permission ref="page.entity" mode="set"></permission>
</permissions>
<url-schema>
<url-params>
<url-param name="action">update</url-param>
<url-param name="entityId">1</url-param>
<url-param name="entityAction"/>
<url-param name="entityId">1</url-param>
</url-params>
<get-params>
<get-param name="form_action"></get-param>
</get-params>
<post-params>
<post-param name="form_action">update</post-param>
</post-params>
</url-schema>
<linkpanel id="page-nav" location="top">
<link id="page-nav[1]" target="/page0" mode="intern">
<label id="page0">Page 0</label>
</link>
<link id="page-nav[2]" target="/page1" mode="intern">
<condition expression="${1==1}"/>
<label id="page1">Page 1</label>
</link>
<link id="page-nav[4]" target="/page3" mode="intern">
<permissions>
<permission ref="page3" mode="set"></permission>
</permissions>
<label id="page3">Page 3</label>
</link>
</linkpanel>
</config>
<structure>
<section executionTime="21" id="42">
<element passive="true" executionTime="21">
<title id="update.entity" params="#{name},${entityId}">Update entity Anakin (ID: 1)</title>
<action id="update" eventId="events" async="false">
<config>
<title id="update.entity" params="#{name},${entityId}">Update entity Anakin (ID: 1)</title>
<permissions>
<permission ref="update.entity" mode="set"></permission>
</permissions>
<params>
<param name="entityId">1</param>
<param name="form_action">update</param>
<param name="action">update</param>
</params>
<meta-data bindClass="org.appng.testapplication.TestEntity">
<field name="id" type="int" format="#" readonly="true" hidden="true" binding="id">
<label id="id">ID</label>
<condition expression="${1==1}"/>
</field>
<field name="name" type="text" binding="name">
<label id="name">Name</label>
<validation>
<notNull>
<message ref="name" class="ERROR" code="{validation.notNull}">Field must not be empty</message>
</notNull>
</validation>
</field>
<field name="integerValue" type="list:checkbox" binding="integerValue">
<label id="integerValue">integer value</label>
</field>
<field name="doubleValue" type="decimal" format="#.##" binding="doubleValue">
<label id="doubleValue">double value</label>
</field>
<field name="booleanValue" type="checkbox" binding="booleanValue">
<label id="booleanValue">boolean value</label>
</field>
<field name="enumValue" type="list:radio" binding="enumValue">
<label id="enumValue">enumValue</label>
</field>
<field name="parent" type="object" binding="parent">
<field name="name" type="text" binding="parent.name">
<validation>
<notNull>
<message ref="parent.name" class="ERROR" code="{validation.notNull}">Field must not be empty</message>
</notNull>
</validation>
</field>
<field name="integerValue" type="int" format="#" binding="parent.integerValue"/>
</field>
<field name="children" type="list:object" binding="children">
<field name="children[0]" type="object" binding="children[0]">
<field name="name" type="text" binding="children[0].name">
<validation>
<notNull>
<message ref="children[0].name" class="ERROR" code="{validation.notNull}">Field must not be empty</message>
</notNull>
</validation>
</field>
<field name="integerValue" type="int" format="#" binding="children[0].integerValue"/>
</field>
<field name="children[1]" type="object" binding="children[1]">
<field name="name" type="text" binding="children[1].name">
<validation>
<notNull>
<message ref="children[1].name" class="ERROR" code="{validation.notNull}">Field must not be empty</message>
</notNull>
</validation>
</field>
<field name="integerValue" type="int" format="#" binding="children[1].integerValue"/>
</field>
</field>
</meta-data>
</config>
<condition expression="${form_action eq 'update' and action eq 'update' and not empty entityId}"/>
<messages>
<message ref="update" class="OK">executed action update</message>
</messages>
<datasource id="entity">
<params>
<param name="entityId">1</param>
</params>
</datasource>
<data>
<selection id="integerValue" type="checkbox">
<title id="integerValue">integer value</title>
<option value="1" name="1" selected="false"/>
<option value="2" name="2" selected="false"/>
<option value="3" name="3" selected="false"/>
<option value="4" name="4" selected="false"/>
<option value="5" name="5" selected="true"/>
</selection>
<selection id="enumValue">
<option value="ACME" name="acme" selected="true"/>
<option value="WARNER" name="warner" selected="false"/>
</selection>
<result>
<field name="id" type="int">
<value>1</value>
</field>
<field name="name" type="text">
<value>Anakin</value>
</field>
<field name="integerValue" type="list:checkbox">
<value>5</value>
</field>
<field name="doubleValue" type="decimal">
<value>5.5</value>
</field>
<field name="booleanValue" type="checkbox">
<value>false</value>
</field>
<field name="enumValue" type="list:radio">
<value>ACME</value>
</field>
<field name="parent" type="object">
<field name="name" type="text">
<value>Anakin</value>
</field>
<field name="integerValue" type="int">
<value>5</value>
</field>
<value></value>
</field>
<field name="children" type="list:object">
<field name="children[0]" type="object">
<field name="name" type="text">
<value>Luke</value>
</field>
<field name="integerValue" type="int">
<value></value>
</field>
<value></value>
</field>
<field name="children[1]" type="object">
<field name="name" type="text">
<value>Lea</value>
</field>
<field name="integerValue" type="int">
<value></value>
</field>
<value></value>
</field>
</field>
</result>
</data>
<bean id="entities">
<option name="action" id="update"/>
<option name="entity" id="1"/>
</bean>
</action>
</element>
</section>
</structure>
</page>
</pages>
</applicationReference>
, org.custommonkey.xmlunit.Diff
[different] Expected attribute value 'true' but was '${1==1}' - comparing <condition expression="true"...> at /applicationReference[1]/pages[1]/page[1]/structure[1]/section[1]/element[1]/action[1]/config[1]/meta-data[1]/field[1]/condition[1]/@expression to <condition expression="${1==1}"...> at /applicationReference[1]/pages[1]/page[1]/structure[1]/section[1]/element[1]/action[1]/config[1]/meta-data[1]/field[1]/condition[1]/@expression
Stack Trace
junit.framework.AssertionFailedError:
XML does not match control XML
org.custommonkey.xmlunit.Diff
[different] Expected attribute value 'true' but was '${1==1}' - comparing <condition expression="true"...> at /applicationReference[1]/pages[1]/page[1]/structure[1]/section[1]/element[1]/action[1]/config[1]/meta-data[1]/field[1]/condition[1]/@expression to <condition expression="${1==1}"...> at /applicationReference[1]/pages[1]/page[1]/structure[1]/section[1]/element[1]/action[1]/config[1]/meta-data[1]/field[1]/condition[1]/@expression
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<applicationReference xmlns="http://www.appng.org/schema/platform" id="demo-application" version="1.5.2">
<config>
<title id="plugintitle">A Test-Plugin</title>
<permissions>
<permission ref="debug" mode="set"></permission>
</permissions>
<session>
<session-params>
<session-param name="sessionparam1"></session-param>
<session-param name="sessionparam2"></session-param>
</session-params>
</session>
</config>
<pages>
<page id="entity" type="index" executionTime="23">
<config>
<title id="entity">Entity</title>
<description></description>
<permissions>
<permission ref="page.entity" mode="set"></permission>
</permissions>
<url-schema>
<url-params>
<url-param name="action">update</url-param>
<url-param name="entityId">1</url-param>
<url-param name="entityAction"/>
<url-param name="entityId">1</url-param>
</url-params>
<get-params>
<get-param name="form_action"></get-param>
</get-params>
<post-params>
<post-param name="form_action">update</post-param>
</post-params>
</url-schema>
<linkpanel id="page-nav" location="top">
<link id="page-nav[1]" target="/page0" mode="intern">
<label id="page0">Page 0</label>
</link>
<link id="page-nav[2]" target="/page1" mode="intern">
<condition expression="${1==1}"/>
<label id="page1">Page 1</label>
</link>
<link id="page-nav[4]" target="/page3" mode="intern">
<permissions>
<permission ref="page3" mode="set"></permission>
</permissions>
<label id="page3">Page 3</label>
</link>
</linkpanel>
</config>
<structure>
<section executionTime="21" id="42">
<element passive="true" executionTime="21">
<title id="update.entity" params="#{name},${entityId}">Update entity Anakin (ID: 1)</title>
<action id="update" eventId="events" async="false">
<config>
<title id="update.entity" params="#{name},${entityId}">Update entity Anakin (ID: 1)</title>
<permissions>
<permission ref="update.entity" mode="set"></permission>
</permissions>
<params>
<param name="entityId">1</param>
<param name="form_action">update</param>
<param name="action">update</param>
</params>
<meta-data bindClass="org.appng.testapplication.TestEntity">
<field name="id" type="int" format="#" readonly="true" hidden="true" binding="id">
<label id="id">ID</label>
<condition expression="${1==1}"/>
</field>
<field name="name" type="text" binding="name">
<label id="name">Name</label>
<validation>
<notNull>
<message ref="name" class="ERROR" code="{validation.notNull}">Field must not be empty</message>
</notNull>
</validation>
</field>
<field name="integerValue" type="list:checkbox" binding="integerValue">
<label id="integerValue">integer value</label>
</field>
<field name="doubleValue" type="decimal" format="#.##" binding="doubleValue">
<label id="doubleValue">double value</label>
</field>
<field name="booleanValue" type="checkbox" binding="booleanValue">
<label id="booleanValue">boolean value</label>
</field>
<field name="enumValue" type="list:radio" binding="enumValue">
<label id="enumValue">enumValue</label>
</field>
<field name="parent" type="object" binding="parent">
<field name="name" type="text" binding="parent.name">
<validation>
<notNull>
<message ref="parent.name" class="ERROR" code="{validation.notNull}">Field must not be empty</message>
</notNull>
</validation>
</field>
<field name="integerValue" type="int" format="#" binding="parent.integerValue"/>
</field>
<field name="children" type="list:object" binding="children">
<field name="children[0]" type="object" binding="children[0]">
<field name="name" type="text" binding="children[0].name">
<validation>
<notNull>
<message ref="children[0].name" class="ERROR" code="{validation.notNull}">Field must not be empty</message>
</notNull>
</validation>
</field>
<field name="integerValue" type="int" format="#" binding="children[0].integerValue"/>
</field>
<field name="children[1]" type="object" binding="children[1]">
<field name="name" type="text" binding="children[1].name">
<validation>
<notNull>
<message ref="children[1].name" class="ERROR" code="{validation.notNull}">Field must not be empty</message>
</notNull>
</validation>
</field>
<field name="integerValue" type="int" format="#" binding="children[1].integerValue"/>
</field>
</field>
</meta-data>
</config>
<condition expression="${form_action eq 'update' and action eq 'update' and not empty entityId}"/>
<messages>
<message ref="update" class="OK">executed action update</message>
</messages>
<datasource id="entity">
<params>
<param name="entityId">1</param>
</params>
</datasource>
<data>
<selection id="integerValue" type="checkbox">
<title id="integerValue">integer value</title>
<option value="1" name="1" selected="false"/>
<option value="2" name="2" selected="false"/>
<option value="3" name="3" selected="false"/>
<option value="4" name="4" selected="false"/>
<option value="5" name="5" selected="true"/>
</selection>
<selection id="enumValue">
<option value="ACME" name="acme" selected="true"/>
<option value="WARNER" name="warner" selected="false"/>
</selection>
<result>
<field name="id" type="int">
<value>1</value>
</field>
<field name="name" type="text">
<value>Anakin</value>
</field>
<field name="integerValue" type="list:checkbox">
<value>5</value>
</field>
<field name="doubleValue" type="decimal">
<value>5.5</value>
</field>
<field name="booleanValue" type="checkbox">
<value>false</value>
</field>
<field name="enumValue" type="list:radio">
<value>ACME</value>
</field>
<field name="parent" type="object">
<field name="name" type="text">
<value>Anakin</value>
</field>
<field name="integerValue" type="int">
<value>5</value>
</field>
<value></value>
</field>
<field name="children" type="list:object">
<field name="children[0]" type="object">
<field name="name" type="text">
<value>Luke</value>
</field>
<field name="integerValue" type="int">
<value></value>
</field>
<value></value>
</field>
<field name="children[1]" type="object">
<field name="name" type="text">
<value>Lea</value>
</field>
<field name="integerValue" type="int">
<value></value>
</field>
<value></value>
</field>
</field>
</result>
</data>
<bean id="entities">
<option name="action" id="update"/>
<option name="entity" id="1"/>
</bean>
</action>
</element>
</section>
</structure>
</page>
</pages>
</applicationReference>
, org.custommonkey.xmlunit.Diff
[different] Expected attribute value 'true' but was '${1==1}' - comparing <condition expression="true"...> at /applicationReference[1]/pages[1]/page[1]/structure[1]/section[1]/element[1]/action[1]/config[1]/meta-data[1]/field[1]/condition[1]/@expression to <condition expression="${1==1}"...> at /applicationReference[1]/pages[1]/page[1]/structure[1]/section[1]/element[1]/action[1]/config[1]/meta-data[1]/field[1]/condition[1]/@expression
at org.appng.core.model.ApplicationProviderTest.runMonitoredTest(ApplicationProviderTest.java:292)
at org.appng.core.model.ApplicationProviderTest.testUpdateExecute(ApplicationProviderTest.java:171)
Standard Output
2023-01-16 15:59:17,766 WARN [main] org.appng.forms.impl.RequestBean: parameter form_action is alread present with value [update], tried to add [update]
2023-01-16 15:59:17,767 WARN [main] org.appng.forms.impl.RequestBean: parameter action is alread present with value [update], tried to add [update]
2023-01-16 15:59:17,767 WARN [main] org.appng.forms.impl.RequestBean: parameter entityId is alread present with value [1], tried to add [1]