[JBoss JIRA] (GTNPORTAL-2744) Changing page size in AbstractSerializablePageList should recreate underlying lazy list
by Boleslaw Dawidowicz (JIRA)
[ https://issues.jboss.org/browse/GTNPORTAL-2744?page=com.atlassian.jira.pl... ]
Boleslaw Dawidowicz updated GTNPORTAL-2744:
-------------------------------------------
Fix Version/s: 3.6.0.Beta02
(was: 3.6.0.Beta01)
> Changing page size in AbstractSerializablePageList should recreate underlying lazy list
> ---------------------------------------------------------------------------------------
>
> Key: GTNPORTAL-2744
> URL: https://issues.jboss.org/browse/GTNPORTAL-2744
> Project: GateIn Portal
> Issue Type: Enhancement
> Security Level: Public(Everyone can see)
> Affects Versions: 3.5.0.Beta02
> Reporter: Marek Posolda
> Assignee: Marek Posolda
> Priority: Minor
> Fix For: 3.6.0.Beta02
>
>
> It seems that if we have pageList of type AbstractSerializablePageList and we want to change the size of the page via setPageSize, we should recreate underlying lazyList. Currently underlying lazyList is not recreated, which means that it's not in line with pageList and still have old pageSize.
> Example:
> - I will create pageList of size 10
> - I will call pageList.setPageSize(6) -- this will update info of pageList, but underlying lazyList will still have bad info about pageSize
> - I will call pageList.getPage(7). Now lazyList needs to load 20 items (all items from 30 to 39 and then all items from 40 to 49) instead of 6 items (items from 36 to 41).
> Unit test will follow.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years
[JBoss JIRA] (GTNPORTAL-2711) Database/jcr is not initialized before first call
by Boleslaw Dawidowicz (JIRA)
[ https://issues.jboss.org/browse/GTNPORTAL-2711?page=com.atlassian.jira.pl... ]
Boleslaw Dawidowicz updated GTNPORTAL-2711:
-------------------------------------------
Fix Version/s: 3.6.0.Beta02
(was: 3.6.0.Beta01)
> Database/jcr is not initialized before first call
> -------------------------------------------------
>
> Key: GTNPORTAL-2711
> URL: https://issues.jboss.org/browse/GTNPORTAL-2711
> Project: GateIn Portal
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Reporter: Stian Thorgersen
> Assignee: Julien Viet
> Fix For: 3.6.0.Beta02
>
>
> I believe some data structures are not initialized in chromattic/jcr until first used. If multiple threads do this at the same time it causes an ItemExistsException to be thrown.
> To reproduce this issue I've slightly modified TestGadgetTokenInfoService in gadgets/core available here https://github.com/stianst/gatein-portal/tree/GTNPORTAL-2711. It may not fail the first time, so run it a few times if it doesn't.
> Stack trace:
> {code}
> org.chromattic.api.UndeclaredRepositoryException: javax.jcr.ItemExistsException: [portal-test] ADD NODE. Item already exists. Condition: parent ID, name, index. []:1[]gadgettokens:1, ID: db7e626b7f0001013865a7c41b
> aa4a6e, ParentID: 00exo0jcr0root0uuid0000000000000. Cause >>>> integrity constraint violation: unique constraint or index violation: JCR_IDX_IPORTALTEST_PARENT: integrity constraint violation: unique constraint or
> index violation: JCR_IDX_IPORTALTEST_PARENT: [portal-test] ADD NODE. Item already exists. Condition: parent ID, name, index. []:1[]gadgettokens:1, ID: db7e626b7f0001013865a7c41baa4a6e, ParentID: 00exo0jcr0root0uu
> id0000000000000. Cause >>>> integrity constraint violation: unique constraint or index violation: JCR_IDX_IPORTALTEST_PARENT: integrity constraint violation: unique constraint or index violation: JCR_IDX_IPORTALTE
> ST_PARENT: integrity constraint violation: unique constraint or index violation: JCR_IDX_IPORTALTEST_PARENT
> at org.chromattic.core.DomainSession.save(DomainSession.java:181)
> at org.chromattic.core.api.ChromatticSessionImpl.save(ChromatticSessionImpl.java:246)
> at org.exoplatform.commons.chromattic.AbstractContext.close(AbstractContext.java:129)
> at org.exoplatform.commons.chromattic.LocalContext.close(LocalContext.java:56)
> at org.exoplatform.commons.chromattic.ChromatticLifeCycle.closeContext(ChromatticLifeCycle.java:306)
> at org.exoplatform.commons.chromattic.ContextualTask.executeWith(ContextualTask.java:49)
> at org.exoplatform.portal.gadget.core.GadgetTokenInfoService.createToken(GadgetTokenInfoService.java:50)
> at org.exoplatform.portal.gadget.TestGadgetTokenInfoService.createTokens(TestGadgetTokenInfoService.java:69)
> at org.exoplatform.portal.gadget.TestGadgetTokenInfoService.testGetToken(TestGadgetTokenInfoService.java:88)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:601)
> at junit.framework.TestCase.runTest(TestCase.java:168)
> at junit.framework.TestCase.runBare(TestCase.java:134)
> at org.exoplatform.component.test.AbstractGateInTest.runBare(AbstractGateInTest.java:91)
> at junit.framework.TestResult$1.protect(TestResult.java:110)
> at junit.framework.TestResult.runProtected(TestResult.java:128)
> at junit.framework.TestResult.run(TestResult.java:113)
> at junit.framework.TestCase.run(TestCase.java:124)
> at junit.framework.TestSuite.runTest(TestSuite.java:243)
> at junit.framework.TestSuite.run(TestSuite.java:238)
> at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:83)
> at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:234)
> at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:133)
> at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:114)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:601)
> at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:188)
> at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:166)
> at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:86)
> at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:101)
> at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:74)
> Caused by: javax.jcr.ItemExistsException: [portal-test] ADD NODE. Item already exists. Condition: parent ID, name, index. []:1[]gadgettokens:1, ID: db7e626b7f0001013865a7c41baa4a6e, ParentID: 00exo0jcr0root0uuid00
> 00000000000. Cause >>>> integrity constraint violation: unique constraint or index violation: JCR_IDX_IPORTALTEST_PARENT: integrity constraint violation: unique constraint or index violation: JCR_IDX_IPORTALTEST_P
> ARENT: [portal-test] ADD NODE. Item already exists. Condition: parent ID, name, index. []:1[]gadgettokens:1, ID: db7e626b7f0001013865a7c41baa4a6e, ParentID: 00exo0jcr0root0uuid0000000000000. Cause >>>> integrity c
> onstraint violation: unique constraint or index violation: JCR_IDX_IPORTALTEST_PARENT: integrity constraint violation: unique constraint or index violation: JCR_IDX_IPORTALTEST_PARENT: integrity constraint violati
> on: unique constraint or index violation: JCR_IDX_IPORTALTEST_PARENT
> at org.exoplatform.services.jcr.impl.core.SessionDataManager.commit(SessionDataManager.java:1565)
> at org.exoplatform.services.jcr.impl.core.ItemImpl.save(ItemImpl.java:706)
> at org.exoplatform.services.jcr.impl.core.SessionImpl.save(SessionImpl.java:1080)
> at org.exoplatform.commons.chromattic.PortalSessionLifeCycle.save(PortalSessionLifeCycle.java:56)
> at org.chromattic.core.jcr.SessionWrapperImpl.save(SessionWrapperImpl.java:274)
> at org.chromattic.core.DomainSessionImpl._save(DomainSessionImpl.java:640)
> at org.chromattic.core.DomainSession.save(DomainSession.java:178)
> ... 34 more
> Caused by: javax.jcr.ItemExistsException: [portal-test] ADD NODE. Item already exists. Condition: parent ID, name, index. []:1[]gadgettokens:1, ID: db7e626b7f0001013865a7c41baa4a6e, ParentID: 00exo0jcr0root0uuid00
> 00000000000. Cause >>>> integrity constraint violation: unique constraint or index violation: JCR_IDX_IPORTALTEST_PARENT: integrity constraint violation: unique constraint or index violation: JCR_IDX_IPORTALTEST_P
> ARENT: integrity constraint violation: unique constraint or index violation: JCR_IDX_IPORTALTEST_PARENT
> at org.exoplatform.services.jcr.impl.storage.jdbc.SQLExceptionHandler.handleAddException(SQLExceptionHandler.java:141)
> at org.exoplatform.services.jcr.impl.storage.jdbc.JDBCStorageConnection.add(JDBCStorageConnection.java:746)
> at org.exoplatform.services.jcr.impl.dataflow.persistent.WorkspacePersistentDataManager.doAdd(WorkspacePersistentDataManager.java:1009)
> at org.exoplatform.services.jcr.impl.dataflow.persistent.WorkspacePersistentDataManager$ChangesLogPersister.save(WorkspacePersistentDataManager.java:662)
> at org.exoplatform.services.jcr.impl.dataflow.persistent.WorkspacePersistentDataManager.save(WorkspacePersistentDataManager.java:333)
> at org.exoplatform.services.jcr.impl.dataflow.persistent.CacheableWorkspaceDataManager.doSave(CacheableWorkspaceDataManager.java:1102)
> at org.exoplatform.services.jcr.impl.dataflow.persistent.CacheableWorkspaceDataManager.access$800(CacheableWorkspaceDataManager.java:93)
> at org.exoplatform.services.jcr.impl.dataflow.persistent.CacheableWorkspaceDataManager$9.run(CacheableWorkspaceDataManager.java:1045)
> at org.exoplatform.services.jcr.impl.dataflow.persistent.CacheableWorkspaceDataManager$9.run(CacheableWorkspaceDataManager.java:1042)
> at org.exoplatform.commons.utils.SecurityHelper.doPrivilegedExceptionAction(SecurityHelper.java:310)
> at org.exoplatform.services.jcr.impl.dataflow.persistent.CacheableWorkspaceDataManager.save(CacheableWorkspaceDataManager.java:1041)
> at org.exoplatform.services.jcr.impl.dataflow.persistent.CacheableWorkspaceDataManager.save(CacheableWorkspaceDataManager.java:1007)
> at org.exoplatform.services.jcr.impl.dataflow.persistent.ShareableSupportedWorkspaceDataManager.save(ShareableSupportedWorkspaceDataManager.java:176)
> at org.exoplatform.services.jcr.impl.dataflow.persistent.VersionableWorkspaceDataManager.save(VersionableWorkspaceDataManager.java:334)
> at org.exoplatform.services.jcr.impl.dataflow.session.TransactionableDataManager.save(TransactionableDataManager.java:471)
> at org.exoplatform.services.jcr.impl.core.SessionDataManager.commit(SessionDataManager.java:1549)
> ... 40 more
> Caused by: java.sql.SQLException: integrity constraint violation: unique constraint or index violation: JCR_IDX_IPORTALTEST_PARENT
> at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
> at org.hsqldb.jdbc.JDBCPreparedStatement.fetchResult(Unknown Source)
> at org.hsqldb.jdbc.JDBCPreparedStatement.executeUpdate(Unknown Source)
> at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:102)
> at org.exoplatform.services.jcr.impl.storage.jdbc.optimisation.db.MultiDbJDBCConnection.addNodeRecord(MultiDbJDBCConnection.java:253)
> at org.exoplatform.services.jcr.impl.storage.jdbc.JDBCStorageConnection.add(JDBCStorageConnection.java:732)
> ... 54 more
> Caused by: org.hsqldb.HsqlException: integrity constraint violation: unique constraint or index violation: JCR_IDX_IPORTALTEST_PARENT
> at org.hsqldb.error.Error.error(Unknown Source)
> at org.hsqldb.index.IndexAVLMemory.insert(Unknown Source)
> at org.hsqldb.persist.RowStoreAVL.indexRow(Unknown Source)
> at org.hsqldb.Table.insertSingleRow(Unknown Source)
> at org.hsqldb.StatementDML.insertSingleRow(Unknown Source)
> at org.hsqldb.StatementInsert.getResult(Unknown Source)
> at org.hsqldb.StatementDMQL.execute(Unknown Source)
> at org.hsqldb.Session.executeCompiledStatement(Unknown Source)
> at org.hsqldb.Session.execute(Unknown Source)
> ... 59 more
> {code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years
[JBoss JIRA] (GTNPORTAL-2710) Context not removed from ChromatticLifeCycle#currenctContext if an exception is thrown in AbstractContext#close
by Boleslaw Dawidowicz (JIRA)
[ https://issues.jboss.org/browse/GTNPORTAL-2710?page=com.atlassian.jira.pl... ]
Boleslaw Dawidowicz updated GTNPORTAL-2710:
-------------------------------------------
Fix Version/s: 3.6.0.Beta02
(was: 3.6.0.Beta01)
> Context not removed from ChromatticLifeCycle#currenctContext if an exception is thrown in AbstractContext#close
> ---------------------------------------------------------------------------------------------------------------
>
> Key: GTNPORTAL-2710
> URL: https://issues.jboss.org/browse/GTNPORTAL-2710
> Project: GateIn Portal
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Reporter: Stian Thorgersen
> Assignee: Julien Viet
> Fix For: 3.6.0.Beta02
>
>
> If ChromatticLifeCycle#closeContext is called with save=true and a failure occurs the context is not removed from ChromatticLifeCycle#currenctContext. This is caused by AbstractContext#close only calling lifeCycle.currentContext.set(null); if no exception is thrown.
> This can be reproduced by running test specified in GTNPORTAL-2711. When this test is run the first test fails with the failure specified in that JIRA issue. However, the rest of the tests fails with the failure in this issue.
> Stack trace:
> {code}
> org.chromattic.api.UndeclaredRepositoryException: javax.jcr.RepositoryException: This kind of operation is forbidden after a session.logout().
> at org.chromattic.core.DomainSession.findByPath(DomainSession.java:199)
> at org.chromattic.core.api.ChromatticSessionImpl.findByPath(ChromatticSessionImpl.java:228)
> at org.exoplatform.portal.gadget.core.GadgetTokenInfoService$TokenTask.getGadgetTokenContainer(GadgetTokenInfoService.java:149)
> at org.exoplatform.portal.gadget.core.GadgetTokenInfoService$1.execute(GadgetTokenInfoService.java:55)
> at org.exoplatform.portal.gadget.core.GadgetTokenInfoService$1.execute(GadgetTokenInfoService.java:1)
> at org.exoplatform.portal.gadget.core.GadgetTokenInfoService$TokenTask.execute(GadgetTokenInfoService.java:165)
> at org.exoplatform.commons.chromattic.ContextualTask.executeWith(ContextualTask.java:54)
> at org.exoplatform.portal.gadget.core.GadgetTokenInfoService.createToken(GadgetTokenInfoService.java:59)
> at org.exoplatform.portal.gadget.TestGadgetTokenInfoService.createTokens(TestGadgetTokenInfoService.java:69)
> at org.exoplatform.portal.gadget.TestGadgetTokenInfoService.testSize(TestGadgetTokenInfoService.java:117)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:601)
> at junit.framework.TestCase.runTest(TestCase.java:168)
> at junit.framework.TestCase.runBare(TestCase.java:134)
> at org.exoplatform.component.test.AbstractGateInTest.runBare(AbstractGateInTest.java:91)
> at junit.framework.TestResult$1.protect(TestResult.java:110)
> at junit.framework.TestResult.runProtected(TestResult.java:128)
> at junit.framework.TestResult.run(TestResult.java:113)
> at junit.framework.TestCase.run(TestCase.java:124)
> at junit.framework.TestSuite.runTest(TestSuite.java:243)
> at junit.framework.TestSuite.run(TestSuite.java:238)
> at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:83)
> at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
> at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
> at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
> Caused by: javax.jcr.RepositoryException: This kind of operation is forbidden after a session.logout().
> at org.exoplatform.services.jcr.impl.core.SessionImpl.checkLive(SessionImpl.java:917)
> at org.exoplatform.services.jcr.impl.core.SessionImpl.getRootNode(SessionImpl.java:760)
> at org.chromattic.core.DomainSessionImpl._getRoot(DomainSessionImpl.java:809)
> at org.chromattic.core.DomainSessionImpl._findByPath(DomainSessionImpl.java:115)
> at org.chromattic.core.DomainSession.findByPath(DomainSession.java:196)
> ... 29 more
> {code}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years
[JBoss JIRA] (GTNPORTAL-2668) There is portlet named "Gadget Wrapper Portlet" in the list of available portlets
by Boleslaw Dawidowicz (JIRA)
[ https://issues.jboss.org/browse/GTNPORTAL-2668?page=com.atlassian.jira.pl... ]
Boleslaw Dawidowicz updated GTNPORTAL-2668:
-------------------------------------------
Fix Version/s: 3.6.0.Beta02
(was: 3.6.0.Beta01)
> There is portlet named "Gadget Wrapper Portlet" in the list of available portlets
> ---------------------------------------------------------------------------------
>
> Key: GTNPORTAL-2668
> URL: https://issues.jboss.org/browse/GTNPORTAL-2668
> Project: GateIn Portal
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Affects Versions: 3.4.0.Final
> Environment: JBoss AS 7.1.3
> Reporter: Vlastislav Ramik
> Priority: Minor
> Fix For: 3.6.0.Beta02
>
>
> When you adding portlet into category in application registry, there is "Gadget Wrapper Portlet" listed in available portlets. The portlet is actually Gadget Calendar.
> If the calendar should be there rename it to calendar. In that case why aren't here other gadgets.
> If the calendar shouldn't be there remove it form there.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years