Bug 103297

Summary: Unable to add a Section to a MultiPartArticle
Product: [Retired] Red Hat Enterprise CMS Reporter: Daniel Berrangé <berrange>
Component: otherAssignee: ccm-bugs-list
Status: CLOSED NOTABUG QA Contact: Jon Orris <jorris>
Severity: high Docs Contact:
Priority: medium    
Version: nightly   
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2003-08-29 17:01:09 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Error Report none

Description Daniel Berrangé 2003-08-28 16:12:13 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 Galeon/1.2.9 (X11; Linux i686; U;) Gecko/20030314

Description of problem:
When I attempt to add a section to a multi-part article I get the following
exception:

com.arsdigita.persistence.FlushException:  (root cause:
com.redhat.persistence.FlushException: Unable to send all events to database for
object [com.arsdigita.cms.TextAsset:{id=35015}] because these required
properties are null:
 [com.arsdigita.cms.TextAsset:{id=35015}].item)
	at
com.arsdigita.persistence.PersistenceException.newInstance(PersistenceException.java:134)
	at
com.arsdigita.persistence.PersistenceException.newInstance(PersistenceException.java:109)
	at com.arsdigita.persistence.DataObjectImpl.save(DataObjectImpl.java:397)
	at com.arsdigita.domain.DomainObject.save(DomainObject.java:315)
	at
com.arsdigita.cms.contenttypes.ui.mparticle.SectionEditForm.process(SectionEditForm.java:285)
	at com.arsdigita.bebop.FormSection.fireProcess(FormSection.java:491)
	at com.arsdigita.bebop.FormSection$4.process(FormSection.java:465)
	at com.arsdigita.bebop.FormModel.fireFormProcess(FormModel.java:478)
	at com.arsdigita.bebop.FormModel.process(FormModel.java:345)
	at com.arsdigita.bebop.Form.process(Form.java:440)
	at com.arsdigita.bebop.Form.respond(Form.java:281)
	at com.arsdigita.bebop.PageState.respond(PageState.java:368)
	at com.arsdigita.bebop.Page.process(Page.java:696)
	at com.arsdigita.bebop.Page.process(Page.java:678)
	at com.arsdigita.bebop.Page.buildDocument(Page.java:732)
	at com.arsdigita.cms.dispatcher.CMSPage$1.excurse(CMSPage.java:280)
	at com.arsdigita.cms.CMSExcursion$1.excurse(CMSExcursion.java:82)
	at com.arsdigita.kernel.KernelExcursion.run(KernelExcursion.java:57)
	at com.arsdigita.cms.CMSExcursion.run(CMSExcursion.java:77)
	at com.arsdigita.cms.dispatcher.CMSPage.dispatch(CMSPage.java:294)
	at
_packages._content_22dsection._www._admin._item__jsp._jspService(_item__jsp.java:60)
	at com.caucho.jsp.JavaPage.service(JavaPage.java:75)
	at com.caucho.jsp.Page.subservice(Page.java:506)
	at com.caucho.server.http.FilterChainPage.doFilter(FilterChainPage.java:182)
	at com.caucho.server.http.Invocation.service(Invocation.java:315)
	at com.caucho.server.http.QRequestDispatcher.forward(QRequestDispatcher.java:222)
	at com.caucho.server.http.QRequestDispatcher.forward(QRequestDispatcher.java:103)
	at com.caucho.server.http.QRequestDispatcher.forward(QRequestDispatcher.java:80)
	at
com.arsdigita.dispatcher.DispatcherHelper.forwardHelper(DispatcherHelper.java:177)
	at
com.arsdigita.dispatcher.DispatcherHelper.forwardRequestByPath(DispatcherHelper.java:206)
	at
com.arsdigita.dispatcher.DispatcherHelper.forwardRequestByPath(DispatcherHelper.java:219)
	at
com.arsdigita.cms.dispatcher.FileDispatcher.chainedDispatch(FileDispatcher.java:63)
	at com.arsdigita.dispatcher.DispatcherChain.dispatch(DispatcherChain.java:74)
	at
com.arsdigita.cms.ContentSectionServlet.doService(ContentSectionServlet.java:143)
	at
com.arsdigita.web.BaseApplicationServlet$1.excurse(BaseApplicationServlet.java:111)
	at com.arsdigita.kernel.KernelExcursion.run(KernelExcursion.java:57)
	at
com.arsdigita.web.BaseApplicationServlet.doService(BaseApplicationServlet.java:105)
	at com.arsdigita.web.BaseServlet$1.excurse(BaseServlet.java:119)
	at com.arsdigita.kernel.KernelExcursion.run(KernelExcursion.java:57)
	at com.arsdigita.web.BaseServlet.internalService(BaseServlet.java:94)
	at com.arsdigita.web.BaseServlet.doPost(BaseServlet.java:229)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:165)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:103)
	at com.caucho.server.http.FilterChainServlet.doFilter(FilterChainServlet.java:96)
	at com.caucho.server.http.Invocation.service(Invocation.java:315)
	at com.caucho.server.http.QRequestDispatcher.forward(QRequestDispatcher.java:222)
	at com.caucho.server.http.QRequestDispatcher.forward(QRequestDispatcher.java:103)
	at com.caucho.server.http.QRequestDispatcher.forward(QRequestDispatcher.java:80)
	at com.arsdigita.web.BaseDispatcher.forward(BaseDispatcher.java:214)
	at com.arsdigita.web.BaseDispatcher.forward(BaseDispatcher.java:200)
	at com.arsdigita.web.BaseDispatcher.dispatch(BaseDispatcher.java:132)
	at com.arsdigita.web.DispatcherServlet.service(DispatcherServlet.java:136)
	at com.caucho.server.http.FilterChainServlet.doFilter(FilterChainServlet.java:96)
	at com.caucho.server.http.Invocation.service(Invocation.java:315)
	at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:246)
	at com.caucho.server.http.HttpRequest.handleConnection(HttpRequest.java:164)
	at com.caucho.server.TcpConnection.run(TcpConnection.java:139)
	at java.lang.Thread.run(Thread.java:513)


Version-Release number of selected component (if applicable):


How reproducible:
Always

Steps to Reproduce:
1. Create a MultipartArticle
2. Add a section
3. Save the section
    

Actual Results:  Exception is thrown

Expected Results:  Section is created

Additional info:

Comment 1 Daniel Berrangé 2003-08-28 16:13:19 UTC
Created attachment 94038 [details]
Error Report

Comment 2 Daniel Berrangé 2003-08-29 17:01:09 UTC
For the record, another content type has defined a compulsory association
against Asset:

association {
     composite FreeformContentItem[1..1] freeformItem = join cms_assets.asset_id to
                                         ff_content_item_asset_map.asset_id,
                                    join ff_content_item_asset_map.item_id to
                                         ff_freeform_content_items.item_id;
     component Asset[0..n] assets = join ff_freeform_content_items.item_id to
                                         ff_content_item_asset_map.item_id,
                                      join ff_content_item_asset_map.asset_id to
                                         cms_assets.asset_id;
 
     Integer[1..1] rank = ff_content_item_asset_map.rank;
 }

CHanging this to '0..1' instead of '1..1' solved the immediate problem.