Skip to content

Failed

org.appng.application.manager.business.RepositoriesTest.testCreateRepositoryNameExists

Failing for the past 1 build (Since Failed#140 )
Took 0.41 sec.

Error Message

XML does not match control XML
org.custommonkey.xmlunit.Diff
[different] Expected number of child nodes '3' but was '2' - comparing <field...> at /action[1]/config[1]/meta-data[1]/field[1] to <field...> at /action[1]/config[1]/meta-data[1]/field[1]

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<action xmlns="http://www.appng.org/schema/platform" id="create" eventId="repositoryEvent" async="false">
    <config>
        <title id="repository.create">Create repository</title>
        <permissions>
            <permission ref="repository.create" mode="set"></permission>
        </permissions>
        <params>
            <param name="form_action">create</param>
        </params>
        <meta-data binding="repository" bindClass="org.appng.application.manager.form.RepositoryForm">
            <field name="name" type="text" binding="repository.name">
                <label id="name">Name</label>
                <validation>
                    <notNull>
                        <message ref="repository.name" class="ERROR" code="{validation.notNull}">Field must not be empty</message>
                    </notNull>
                    <size min="0" max="64">
                        <message ref="repository.name" class="ERROR" code="{validation.string.max}">Enter at most 64 characters</message>
                    </size>
                </validation>
            </field>
            <field name="description" type="text" binding="repository.description">
                <label id="description">Description</label>
                <validation>
                    <size min="0" max="8192">
                        <message ref="repository.description" class="ERROR" code="{validation.string.max}">Enter at most 8192 characters</message>
                    </size>
                </validation>
            </field>
            <field name="repositoryType" type="list:select" binding="repository.repositoryType">
                <label id="type">Type</label>
            </field>
            <field name="uri" type="text" binding="repository.uri">
                <label id="uri">URI</label>
            </field>
            <field name="active" type="checkbox" binding="repository.active">
                <label id="active">Active</label>
            </field>
        </meta-data>
    </config>
    <condition expression="${form_action eq 'create'}"/>
    <messages>
        <message ref="create" class="ERROR">Failed to create the repository.</message>
    </messages>
    <datasource id="new-repository"/>
    <userdata/>
    <data>
        <selection id="repositoryType">
            <title id="repositoryType">repositoryType</title>
            <option value="LOCAL" name="Local Repository" selected="false"/>
            <option value="REMOTE" name="Published Repository" selected="false"/>
        </selection>
        <selection id="repositoryMode">
            <title id="repositoryMode">repositoryMode</title>
            <option value="ALL" name="All Applications" selected="false"/>
            <option value="STABLE" name="Only Stable-Applications" selected="false"/>
            <option value="SNAPSHOT" name="Only Snapshot-Applications" selected="false"/>
        </selection>
        <result>
            <field name="name" type="text">
                <value></value>
            </field>
            <field name="description" type="text">
                <value></value>
            </field>
            <field name="repositoryType" type="list:select">
                <value>LOCAL</value>
            </field>
            <field name="uri" type="text">
                <value></value>
            </field>
            <field name="active" type="checkbox">
                <value>false</value>
            </field>
        </result>
    </data>
    <bean id="repositories">
        <option name="action" id="create"/>
    </bean>
</action>
, org.custommonkey.xmlunit.Diff
[different] Expected number of child nodes '3' but was '2' - comparing <field...> at /action[1]/config[1]/meta-data[1]/field[1] to <field...> at /action[1]/config[1]/meta-data[1]/field[1]

Stacktrace

junit.framework.AssertionFailedError: 
XML does not match control XML
org.custommonkey.xmlunit.Diff
[different] Expected number of child nodes '3' but was '2' - comparing <field...> at /action[1]/config[1]/meta-data[1]/field[1] to <field...> at /action[1]/config[1]/meta-data[1]/field[1]

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<action xmlns="http://www.appng.org/schema/platform" id="create" eventId="repositoryEvent" async="false">
    <config>
        <title id="repository.create">Create repository</title>
        <permissions>
            <permission ref="repository.create" mode="set"></permission>
        </permissions>
        <params>
            <param name="form_action">create</param>
        </params>
        <meta-data binding="repository" bindClass="org.appng.application.manager.form.RepositoryForm">
            <field name="name" type="text" binding="repository.name">
                <label id="name">Name</label>
                <validation>
                    <notNull>
                        <message ref="repository.name" class="ERROR" code="{validation.notNull}">Field must not be empty</message>
                    </notNull>
                    <size min="0" max="64">
                        <message ref="repository.name" class="ERROR" code="{validation.string.max}">Enter at most 64 characters</message>
                    </size>
                </validation>
            </field>
            <field name="description" type="text" binding="repository.description">
                <label id="description">Description</label>
                <validation>
                    <size min="0" max="8192">
                        <message ref="repository.description" class="ERROR" code="{validation.string.max}">Enter at most 8192 characters</message>
                    </size>
                </validation>
            </field>
            <field name="repositoryType" type="list:select" binding="repository.repositoryType">
                <label id="type">Type</label>
            </field>
            <field name="uri" type="text" binding="repository.uri">
                <label id="uri">URI</label>
            </field>
            <field name="active" type="checkbox" binding="repository.active">
                <label id="active">Active</label>
            </field>
        </meta-data>
    </config>
    <condition expression="${form_action eq 'create'}"/>
    <messages>
        <message ref="create" class="ERROR">Failed to create the repository.</message>
    </messages>
    <datasource id="new-repository"/>
    <userdata/>
    <data>
        <selection id="repositoryType">
            <title id="repositoryType">repositoryType</title>
            <option value="LOCAL" name="Local Repository" selected="false"/>
            <option value="REMOTE" name="Published Repository" selected="false"/>
        </selection>
        <selection id="repositoryMode">
            <title id="repositoryMode">repositoryMode</title>
            <option value="ALL" name="All Applications" selected="false"/>
            <option value="STABLE" name="Only Stable-Applications" selected="false"/>
            <option value="SNAPSHOT" name="Only Snapshot-Applications" selected="false"/>
        </selection>
        <result>
            <field name="name" type="text">
                <value></value>
            </field>
            <field name="description" type="text">
                <value></value>
            </field>
            <field name="repositoryType" type="list:select">
                <value>LOCAL</value>
            </field>
            <field name="uri" type="text">
                <value></value>
            </field>
            <field name="active" type="checkbox">
                <value>false</value>
            </field>
        </result>
    </data>
    <bean id="repositories">
        <option name="action" id="create"/>
    </bean>
</action>
, org.custommonkey.xmlunit.Diff
[different] Expected number of child nodes '3' but was '2' - comparing <field...> at /action[1]/config[1]/meta-data[1]/field[1] to <field...> at /action[1]/config[1]/meta-data[1]/field[1]

	at org.appng.application.manager.business.RepositoriesTest.testCreateRepositoryNameExists(RepositoriesTest.java:63)

Standard Error

[main] ERROR org.appng.application.manager.business.Repositories - Failed to create the repository.
org.appng.api.BusinessException: org.springframework.dao.InvalidDataAccessApiUsageException: org.springframework.context.support.GenericApplicationContext@4a22f9e2 has been closed already; nested exception is java.lang.IllegalStateException: org.springframework.context.support.GenericApplicationContext@4a22f9e2 has been closed already
	at org.appng.api.support.RequestSupportImpl.handleException(RequestSupportImpl.java:200)
	at org.appng.api.support.ApplicationRequest.handleException(ApplicationRequest.java:134)
	at org.appng.application.manager.service.ManagerService.createRepository(ManagerService.java:874)
	at org.appng.application.manager.service.ManagerService$$FastClassBySpringCGLIB$$bbf10b1e.invoke(<generated>)
	at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:737)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
	at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
	at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:283)
	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:672)
	at org.appng.application.manager.service.ManagerService$$EnhancerBySpringCGLIB$$845e3b03.createRepository(<generated>)
	at org.appng.application.manager.business.Repositories.perform(Repositories.java:64)
	at org.appng.application.manager.business.Repositories.perform(Repositories.java:44)
	at org.appng.api.support.CallableAction.execute(CallableAction.java:438)
	at org.appng.api.support.CallableAction.perform(CallableAction.java:336)
	at org.appng.api.support.CallableAction.perform(CallableAction.java:308)
	at org.appng.application.manager.business.RepositoriesTest.testCreateRepositoryNameExists(RepositoriesTest.java:62)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)
	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
	at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75)
	at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86)
	at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84)
	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366)
	at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:252)
	at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:94)
	at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
	at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
	at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)
	at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)
	at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
	at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:191)
	at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:365)
	at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:273)
	at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:238)
	at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:159)
	at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:384)
	at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:345)
	at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:126)
	at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:418)
Caused by: org.springframework.dao.InvalidDataAccessApiUsageException: org.springframework.context.support.GenericApplicationContext@4a22f9e2 has been closed already; nested exception is java.lang.IllegalStateException: org.springframework.context.support.GenericApplicationContext@4a22f9e2 has been closed already
	at org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:387)
	at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:526)
	at org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:59)
	at org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:209)
	at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:147)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:140)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$ExposeRepositoryInvocationInterceptor.invoke(CrudMethodMetadataPostProcessor.java:347)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at org.springframework.data.repository.core.support.SurroundingTransactionDetectorMethodInterceptor.invoke(SurroundingTransactionDetectorMethodInterceptor.java:57)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
	at com.sun.proxy.$Proxy136.save(Unknown Source)
	at org.appng.core.service.CoreService.createRepository(CoreService.java:927)
	at org.appng.application.manager.service.ManagerService.createRepository(ManagerService.java:872)
	... 49 more
Caused by: java.lang.IllegalStateException: org.springframework.context.support.GenericApplicationContext@4a22f9e2 has been closed already
	at org.springframework.context.support.AbstractApplicationContext.assertBeanFactoryActive(AbstractApplicationContext.java:1066)
	at org.springframework.context.support.AbstractApplicationContext.getBeansOfType(AbstractApplicationContext.java:1189)
	at org.appng.core.domain.PlatformEventListener.getEventProvider(PlatformEventListener.java:143)
	at org.appng.core.domain.PlatformEventListener.createEvent(PlatformEventListener.java:114)
	at org.appng.core.domain.PlatformEventListener.createEvent(PlatformEventListener.java:106)
	at org.appng.core.domain.PlatformEventListener.createEvent(PlatformEventListener.java:100)
	at org.appng.core.domain.PlatformEventListener.beforeCreate(PlatformEventListener.java:86)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.hibernate.jpa.event.internal.ListenerCallback.performCallback(ListenerCallback.java:35)
	at org.hibernate.jpa.event.internal.CallbackRegistryImpl.callback(CallbackRegistryImpl.java:95)
	at org.hibernate.jpa.event.internal.CallbackRegistryImpl.preCreate(CallbackRegistryImpl.java:55)
	at org.hibernate.event.internal.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:108)
	at org.hibernate.event.internal.DefaultPersistEventListener.entityIsTransient(DefaultPersistEventListener.java:185)
	at org.hibernate.event.internal.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:128)
	at org.hibernate.event.internal.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:55)
	at org.hibernate.event.service.internal.EventListenerGroupImpl.fireEventOnEachListener(EventListenerGroupImpl.java:99)
	at org.hibernate.internal.SessionImpl.firePersist(SessionImpl.java:720)
	at org.hibernate.internal.SessionImpl.persist(SessionImpl.java:706)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke(SharedEntityManagerCreator.java:301)
	at com.sun.proxy.$Proxy124.persist(Unknown Source)
	at org.springframework.data.jpa.repository.support.SimpleJpaRepository.save(SimpleJpaRepository.java:531)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.executeMethodOn(RepositoryFactorySupport.java:515)
	at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.doInvoke(RepositoryFactorySupport.java:500)
	at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.invoke(RepositoryFactorySupport.java:477)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:56)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
	at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:283)
	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:136)
	... 62 more