[
https://jira.jboss.org/jira/browse/JBPORTAL-2089?page=com.atlassian.jira....
]
Sohil Shah commented on JBPORTAL-2089:
--------------------------------------
as prabhat pointed out, option 1 (cascading delete of pending workflow items is the best
option from a usability standpoint)
however, after looking into implementing the feature I realized this will require an
eventing/syncing mechanism between the cms workflow engine, and the cms storage/jcr
engine.
There needs to be a way to keep the states of these two components in sync, instead of
hacking at the higher level and fixing it for one usecase/scenario at a time. (this case
speaks about direct delete of a file)
There are also various other usecases like (moving a file, recursive deleting of node
tree, recursive moving of node tree etc). Integration at the storage level should take
care of all usecases.
the feature also needs to be consistent in a cluster setup
This mechanism is not trivial to develop for the 2.6.6 timeframe (shipping in a few
hours).
I will have to schedule this for a later release
NPE with deleting a file in pending stage
-----------------------------------------
Key: JBPORTAL-2089
URL:
https://jira.jboss.org/jira/browse/JBPORTAL-2089
Project: JBoss Portal
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: Portal CMS
Affects Versions: 2.6.6 Final
Reporter: Prabhat Jha
Assignee: Sohil Shah
- Create a file.
- Keep it in pending state
- Select pending items from drop down menu
- Click on the the file you just created
- Select Delete file from drop down and confirm deletion
- Select pending items from drop down and hit approve. You will get NPE which is
expected. Once file is deleted, it should not be in any list.
java.lang.NullPointerException
at
org.jboss.portal.core.cms.ui.admin.CMSAdminPortlet.internalDoView(CMSAdminPortlet.java:341)
at org.jboss.portal.core.cms.ui.admin.CMSAdminPortlet.doView(CMSAdminPortlet.java:184)
at org.jboss.portlet.JBossPortlet.doDispatch(JBossPortlet.java:257)
at org.jboss.portlet.JBossPortlet.render(JBossPortlet.java:244)
at org.jboss.portlet.JBossPortlet.render(JBossPortlet.java:390)
at
org.jboss.portal.portlet.impl.jsr168.PortletContainerImpl.invokeRender(PortletContainerImpl.java:483)
at
org.jboss.portal.portlet.impl.jsr168.PortletContainerImpl.dispatch(PortletContainerImpl.java:405)
at
org.jboss.portal.portlet.container.PortletContainerInvoker$1.invoke(PortletContainerInvoker.java:86)
at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:131)
at
org.jboss.portal.core.aspects.portlet.TransactionInterceptor.org$jboss$portal$core$aspects$portlet$TransactionInterceptor$invokeRequired$aop(TransactionInterceptor.java:106)
at
org.jboss.portal.core.aspects.portlet.TransactionInterceptor$invokeRequired_9103964459766407072.invokeNext(TransactionInterceptor$invokeRequired_9103964459766407072.java)
at org.jboss.aspects.tx.TxPolicy.invokeInCallerTx(TxPolicy.java:126)
at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:195)
at
org.jboss.portal.core.aspects.portlet.TransactionInterceptor$invokeRequired_9103964459766407072.invokeNext(TransactionInterceptor$invokeRequired_9103964459766407072.java)
at org.jboss.aspects.tx.TxPolicy.invokeInCallerTx(TxPolicy.java:126)
at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:195)
at
org.jboss.portal.core.aspects.portlet.TransactionInterceptor$invokeRequired_9103964459766407072.invokeNext(TransactionInterceptor$invokeRequired_9103964459766407072.java)
at
org.jboss.portal.core.aspects.portlet.TransactionInterceptor.invokeRequired(TransactionInterceptor.java)
at
org.jboss.portal.core.aspects.portlet.TransactionInterceptor.invoke(TransactionInterceptor.java:72)
at
org.jboss.portal.portlet.invocation.PortletInterceptor.invoke(PortletInterceptor.java:38)
at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
at
org.jboss.portal.core.aspects.portlet.HeaderInterceptor.invoke(HeaderInterceptor.java:50)
at
org.jboss.portal.portlet.invocation.PortletInterceptor.invoke(PortletInterceptor.java:38)
at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
at
org.jboss.portal.portlet.aspects.portlet.ProducerCacheInterceptor.invoke(ProducerCacheInterceptor.java:58)
at
org.jboss.portal.portlet.invocation.PortletInterceptor.invoke(PortletInterceptor.java:38)
at org.jboss.portal.common.invocation.Invocation.invokeNext(Invocation.java:115)
at org.jboss.portal.core.aspects.portlet.AjaxInterceptor.invoke(AjaxInterceptor
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira