Skip to content

Regression

org.appng.core.model.ApplicationProviderTest.testUpdateInclude

Failing for the past 1 build (Since Failed#143 )
Took 0.43 sec.

Error Message

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">
            <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"></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 id="42">
                    <element passive="true">
                        <title id="update.entity" params="#{name},${entityId}">Update entity entity1 (ID: 1)</title>
                        <action id="update" eventId="events">
                            <config>
<title id="update.entity" params="#{name},${entityId}">Update entity entity1 (ID: 1)</title>
<permissions>
    <permission ref="update.entity" mode="set"></permission>
</permissions>
<params>
    <param name="entityId">1</param>
    <param name="form_action"></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[]" type="object" binding="children.children[]">
            <field name="name" type="text" binding="children.children[].name">
                <validation>
                    <notNull>
                        <message ref="children.children[].name" class="ERROR" code="{validation.notNull}">Field must not be empty</message>
                    </notNull>
                </validation>
            </field>
            <field name="integerValue" type="int" format="#" binding="children.children[].integerValue"/>
        </field>
    </field>
</meta-data>
                            </config>
                            <condition expression="${form_action eq 'update' and action eq 'update' and not empty entityId}"/>
                            <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>entity1</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>entity1</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>entity2</value>
            </field>
            <field name="integerValue" type="int">
                <value>7</value>
            </field>
            <value></value>
        </field>
        <field name="children[1]" type="object">
            <field name="name" type="text">
                <value>entity3</value>
            </field>
            <field name="integerValue" type="int">
                <value>9</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

Stacktrace

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">
            <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"></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 id="42">
                    <element passive="true">
                        <title id="update.entity" params="#{name},${entityId}">Update entity entity1 (ID: 1)</title>
                        <action id="update" eventId="events">
                            <config>
<title id="update.entity" params="#{name},${entityId}">Update entity entity1 (ID: 1)</title>
<permissions>
    <permission ref="update.entity" mode="set"></permission>
</permissions>
<params>
    <param name="entityId">1</param>
    <param name="form_action"></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[]" type="object" binding="children.children[]">
            <field name="name" type="text" binding="children.children[].name">
                <validation>
                    <notNull>
                        <message ref="children.children[].name" class="ERROR" code="{validation.notNull}">Field must not be empty</message>
                    </notNull>
                </validation>
            </field>
            <field name="integerValue" type="int" format="#" binding="children.children[].integerValue"/>
        </field>
    </field>
</meta-data>
                            </config>
                            <condition expression="${form_action eq 'update' and action eq 'update' and not empty entityId}"/>
                            <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>entity1</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>entity1</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>entity2</value>
            </field>
            <field name="integerValue" type="int">
                <value>7</value>
            </field>
            <value></value>
        </field>
        <field name="children[1]" type="object">
            <field name="name" type="text">
                <value>entity3</value>
            </field>
            <field name="integerValue" type="int">
                <value>9</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.runTest(ApplicationProviderTest.java:281)
	at org.appng.core.model.ApplicationProviderTest.testUpdateInclude(ApplicationProviderTest.java:158)

Standard Output

2023-01-16 15:59:13,712 INFO  [main] org.springframework.test.context.support.DefaultTestContextBootstrapper: Loaded default TestExecutionListener class names from location [META-INF/spring.factories]: [org.springframework.test.context.web.ServletTestExecutionListener, org.springframework.test.context.support.DirtiesContextBeforeModesTestExecutionListener, org.springframework.test.context.support.DependencyInjectionTestExecutionListener, org.springframework.test.context.support.DirtiesContextTestExecutionListener, org.springframework.test.context.transaction.TransactionalTestExecutionListener, org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener]
2023-01-16 15:59:13,723 INFO  [main] org.springframework.test.context.support.DefaultTestContextBootstrapper: Using TestExecutionListeners: [org.springframework.test.context.web.ServletTestExecutionListener@36ab3814, org.springframework.test.context.support.DirtiesContextBeforeModesTestExecutionListener@2abbd0d9, org.springframework.test.context.support.DependencyInjectionTestExecutionListener@b61edb9, org.springframework.test.context.support.DirtiesContextTestExecutionListener@5d3ff859, org.springframework.test.context.transaction.TransactionalTestExecutionListener@32bb0072, org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener@467233e4]
2023-01-16 15:59:13,814 INFO  [main] org.springframework.beans.factory.xml.XmlBeanDefinitionReader: Loading XML bean definitions from class path resource [applications/application1/beans.xml]
2023-01-16 15:59:13,973 INFO  [main] org.springframework.beans.factory.xml.XmlBeanDefinitionReader: Loading XML bean definitions from class path resource [org/appng/testsupport/application-testcontext.xml]
2023-01-16 15:59:13,994 INFO  [main] org.springframework.beans.factory.xml.XmlBeanDefinitionReader: Loading XML bean definitions from class path resource [org/appng/testsupport/application-testcontext-jpa.xml]
2023-01-16 15:59:14,027 INFO  [main] org.springframework.context.support.GenericApplicationContext: Refreshing org.springframework.context.support.GenericApplicationContext@dab1f89: startup date [Mon Jan 16 15:59:14 CET 2023]; root of context hierarchy
2023-01-16 15:59:14,229 INFO  [main] org.appng.api.config.RestConfig: [localhost:demo-application] Found 0 MappingJackson2HttpMessageConverters: 
2023-01-16 15:59:14,229 INFO  [main] org.appng.api.config.RestConfig: [localhost:demo-application] Found 0 ObjectMappers: 
2023-01-16 15:59:14,230 INFO  [main] org.appng.api.config.RestConfig: [localhost:demo-application] Found 0 Modules: 
2023-01-16 15:59:14,232 INFO  [main] org.appng.api.config.RestConfig: [localhost:demo-application] Found 0 @Primary Beans: 
2023-01-16 15:59:14,232 INFO  [main] org.appng.api.config.RestConfig: [localhost:demo-application] No ObjectMapper found in context, creating default.
2023-01-16 15:59:14,238 INFO  [main] org.appng.api.config.RestConfig: [localhost:demo-application] No MappingJackson2HttpMessageConverter found in context, creating default.
2023-01-16 15:59:14,240 INFO  [main] org.appng.api.config.RestConfig: [localhost:demo-application] Registering ObjectMapper 'defaultObjectMapper'
2023-01-16 15:59:14,240 INFO  [main] org.appng.api.config.RestConfig: [localhost:demo-application] Registering MappingJackson2HttpMessageConverter 'defaultJacksonConverter'
2023-01-16 15:59:14,243 INFO  [main] org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor: JSR-330 'javax.inject.Inject' annotation found and supported for autowiring
2023-01-16 15:59:14,742 INFO  [HSQLDB Server @42297bdf] hsqldb.db.HSQLDB85BB1774A6.ENGINE: Checkpoint start
2023-01-16 15:59:14,742 INFO  [HSQLDB Server @42297bdf] hsqldb.db.HSQLDB85BB1774A6.ENGINE: checkpointClose start
2023-01-16 15:59:14,787 INFO  [HSQLDB Server @42297bdf] hsqldb.db.HSQLDB85BB1774A6.ENGINE: checkpointClose synched
2023-01-16 15:59:14,795 INFO  [HSQLDB Server @42297bdf] hsqldb.db.HSQLDB85BB1774A6.ENGINE: checkpointClose script done
2023-01-16 15:59:14,810 INFO  [HSQLDB Server @42297bdf] hsqldb.db.HSQLDB85BB1774A6.ENGINE: checkpointClose end
2023-01-16 15:59:14,810 INFO  [HSQLDB Server @42297bdf] hsqldb.db.HSQLDB85BB1774A6.ENGINE: Checkpoint end - txts: 1
2023-01-16 15:59:14,972 INFO  [main] org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean: Building JPA container EntityManagerFactory for persistence unit 'default'
2023-01-16 15:59:15,001 INFO  [main] org.hibernate.jpa.internal.util.LogHelper: HHH000204: Processing PersistenceUnitInfo [name: default]
2023-01-16 15:59:15,105 INFO  [main] org.hibernate.Version         : HHH000412: Hibernate ORM core version 5.4.32.Final
2023-01-16 15:59:15,349 INFO  [main] org.hibernate.annotations.common.Version: HCANN000001: Hibernate Commons Annotations {5.1.2.Final}
2023-01-16 15:59:15,867 INFO  [main] org.hibernate.dialect.Dialect : HHH000400: Using dialect: org.hibernate.dialect.HSQLDialect
2023-01-16 15:59:15,966 INFO  [main] org.hibernate.envers.boot.internal.EnversServiceImpl: Envers integration enabled? : true
2023-01-16 15:59:16,278 INFO  [main] org.hibernate.validator.internal.util.Version: HV000001: Hibernate Validator 6.2.0.Final
2023-01-16 15:59:16,553 INFO  [main] org.hibernate.engine.transaction.jta.platform.internal.JtaPlatformInitiator: HHH000490: Using JtaPlatform implementation: [org.hibernate.engine.transaction.jta.platform.internal.NoJtaPlatform]
2023-01-16 15:59:16,565 INFO  [main] org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean: Initialized JPA EntityManagerFactory for persistence unit 'default'
2023-01-16 15:59:17,232 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,232 WARN  [main] org.appng.forms.impl.RequestBean: parameter entityId is alread present with value [1], tried to add [1]
2023-01-16 15:59:17,371 WARN  [main] org.springframework.context.support.ResourceBundleMessageSource: ResourceBundle [messages-demo] not found for MessageSource: Can't find bundle for base name messages-demo, locale en
2023-01-16 15:59:17,372 WARN  [main] org.springframework.context.support.ResourceBundleMessageSource: ResourceBundle [testmessages] not found for MessageSource: Can't find bundle for base name testmessages, locale en

Standard Error

Jan 16, 2023 3:59:14 PM ch.sla.jdbcperflogger.Logger info
INFO: Using config file jdbcperflogger-fallback.xml