[richfaces-issues] [JBoss JIRA] Closed: (RF-1527) Drag and drop exception

Alexander Francuzov (JIRA) jira-events at lists.jboss.org
Fri Dec 7 11:19:51 EST 2007


     [ http://jira.jboss.com/jira/browse/RF-1527?page=all ]

Alexander Francuzov closed RF-1527.
-----------------------------------


> Drag and drop exception
> -----------------------
>
>                 Key: RF-1527
>                 URL: http://jira.jboss.com/jira/browse/RF-1527
>             Project: RichFaces
>          Issue Type: Bug
>    Affects Versions: 3.1.3
>         Environment: FF 2.0.0.11
> JSF 1.2 with facelets
> JDK 1.5
> Tomcat 6.0
>            Reporter: Alexander Francuzov
>         Assigned To: Nick Belaevski
>
> If page with DND has <a4j:status startText="...request..." stopText="stop" /> 
> 05.12.2007 15:38:55 com.sun.facelets.FaceletViewHandler handleRenderException
> SEVERE: Error Rendering View[/pages/Rich/Rich.xhtml]
> java.lang.IllegalStateException: duplicate Id for a component _viewRoot:status
> 	at org.ajax4jsf.application.AjaxStateManager$TreeStrutureNode.apply(AjaxStateManager.java:442)
> 	at org.ajax4jsf.application.AjaxStateManager$TreeStrutureNode.apply(AjaxStateManager.java:464)
> 	at org.ajax4jsf.application.AjaxStateManager$TreeStrutureNode.apply(AjaxStateManager.java:464)
> 	at org.ajax4jsf.application.AjaxStateManager$TreeStrutureNode.apply(AjaxStateManager.java:464)
> 	at org.ajax4jsf.application.AjaxStateManager$TreeStrutureNode.apply(AjaxStateManager.java:464)
> 	at org.ajax4jsf.application.AjaxStateManager$TreeStrutureNode.apply(AjaxStateManager.java:464)
> 	at org.ajax4jsf.application.AjaxStateManager.buildSerializedView(AjaxStateManager.java:330)
> 	at org.ajax4jsf.application.AjaxStateManager.saveSerializedView(AjaxStateManager.java:314)
> 	at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:594)
> 	at org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:108)
> 	at org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:216)
> 	at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:107)
> 	at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:245)
> 	at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:137)
> 	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:214)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> 	at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141)
> 	at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
> 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
> 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
> 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
> 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
> 	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
> 	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
> 	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
> 	at java.lang.Thread.run(Thread.java:595)
> <f:subview id="DtadAndDropSubviewID" xmlns:a4j="http://richfaces.org/a4j" xmlns:f="http://java.sun.com/jsf/core"
> 	xmlns:rich="http://richfaces.org/rich" xmlns:h="http://java.sun.com/jsf/html">
> 		<h:panelGroup id="dragValueText">
> 			<h:outputText value="#{dndBean.dragValue}" />
> 		</h:panelGroup>
> 		<h:panelGrid columns="2">
> 			<h:dataTable var="type" value="#{dndBean.types}">
> 				<h:column>
> 					<h:panelGrid styleClass="dropzoneDecoration" id="drag1">
> 						<h:outputText value="#{type} - drag" />
> 						<rich:dragSupport dragType="#{type}" dragValue="#{type} - value" oncomplete="print('oncompleteInputID', 'oncomplete work!')"
> 							ondragend="print('ondragendInputID', 'ondragend work!')" ondragstart="print('ondragstartInputID', 'ondragstart work!')"
> 							onsubmit="print('onsubmitInputID', 'onsubmit work!')" action="#{dndBean.dragAction}" dragListener="#{dndBean.processDrag}">
> 						</rich:dragSupport>
> 					</h:panelGrid>
> 				</h:column>
> 			</h:dataTable>
> 			<h:dataTable var="type" value="#{dndBean.types}">
> 				<h:column>
> 					<h:panelGrid styleClass="dropzoneDecoration" id="drop2">
> 						<h:outputText value="#{type} - drop" />
> 						<rich:dropSupport reRender="dragValueText" ondragenter="print('InputID', ' work!')" ondragexit="print('InputID', ' work!')"
> 							ondrop="print('InputID', ' work!')" ondropend="print('InputID', ' work!')"
> 							oncomplete="print('oncompleteInputID', 'oncomplete work!')" ondragend="print('ondragendInputID', 'ondragend work!')"
> 							ondragstart="print('ondragstartInputID', 'ondragstart work!')" onsubmit="print('onsubmitInputID', 'onsubmit work!')"
> 							action="#{dndBean.dropAction}" acceptedTypes="#{type}" dropListener="#{dndBean.processDrop}" dropValue="#{type} - value">
> 						</rich:dropSupport>
> 					</h:panelGrid>
> 				</h:column>
> 			</h:dataTable>
> 		</h:panelGrid>
> 		<rich:dragIndicator id="indicator" acceptClass="accept" rejectClass="reject">
> 			<f:facet name="single">
> 				<f:verbatim>{marker} <b>{testDrag}</b> {label}</f:verbatim>
> 			</f:facet>
> 			<rich:dndParam name="accept" value="ACCEPT:" />
> 			<rich:dndParam name="reject">
> 				<f:verbatim>
> 					<i style="text-decoration: line-through;">REJECT:</i>
> 				</f:verbatim>
> 			</rich:dndParam>
> 		</rich:dragIndicator>
> 		<rich:dragIndicator id="dIndicator" acceptClass="defaultIndicator" rejectClass="reject">
> 			<f:facet name="single">
> 				<f:verbatim>{marker} <b>{testDrag}</b> {label}</f:verbatim>
> 			</f:facet>
> 			<rich:dndParam name="accept" value="ACCEPT:" />
> 			<rich:dndParam name="reject">
> 				<f:verbatim>
> 					<i style="text-decoration: line-through;">REJECT:</i>
> 				</f:verbatim>
> 			</rich:dndParam>
> 		</rich:dragIndicator>
> 		<h:panelGrid columns="1" style="position: relative; left: 140px;">
> 			<h:panelGrid columns="1" style="position: absolute; top: 30px; left: 300px;">
> 				<rich:dragIndicator id="defaultIndicator">
> 				</rich:dragIndicator>
> 			</h:panelGrid>
> 		</h:panelGrid>
> 		<h:panelGrid columns="4" cellspacing="20">
> 			<h:panelGrid styleClass="dropzoneDecoration" id="grid1">
> 				<f:verbatim>Accepts file and folder... Customizes</f:verbatim>
> 				<rich:dropSupport id="zone1"
> 					oncomplete="print('oncompleteInputID', 'oncomplete work!')" ondragend="print('ondragendInputID', 'ondragend work!')" ondragstart="print('ondragstartInputID', 'ondragstart work!')"
> 					onsubmit="print('onsubmitInputID', 'onsubmit work!')" ondragenter="print('ondragenterInputID', 'ondragenter work!')" 
> 					ondragexit="print('ondragexitInputID', 'ondragexit work!')" ondropend="print('ondropendInputID', 'ondropend work!')"
> 					ondrop="print('ondropInputID', 'ondrop work!');var zone = $('DtadAndDropSubviewID:form:grid1'); zone.style.borderColor= 'red'; setTimeout( function() { this.style.borderColor= 'navy'; }.bind(zone), 300);"
> 					acceptedTypes="file, folder" typeMapping="{file: testDrop}">
> 					<rich:dndParam name="testDrop">
> 						<h:graphicImage height="16" width="16"
> 							value="#{icon.iconFileManager}" />
> 					</rich:dndParam>
> 				</rich:dropSupport>
> 			</h:panelGrid>
> 			<h:panelGrid styleClass="dropzoneDecoration" id="grid2">
> 				<f:verbatim>Accepts none</f:verbatim>
> 				<rich:dropSupport>
> 				</rich:dropSupport>
> 			</h:panelGrid>
> 			<h:panelGrid styleClass="dropzoneDecoration" id="grid3">
> 				<f:verbatim>Accepts none... Customizes</f:verbatim>
> 				<rich:dropSupport typeMapping="{file: testDrop}" oncomplete="print('oncompleteInputID', 'oncomplete work!')" 
> 				ondragenter="print('ondragenterInputID', 'ondragenter work!')" 
> 				ondragexit="print('ondragexitInputID', 'ondragexit work!')" 
> 				ondrop="print('ondropInputID', 'ondrop work!')" ondropend="print('ondropendInputID', 'ondropend work!')" 
> 				onsubmit="print('onsubmitInputID', 'onsubmit work!')">
> 					<rich:dndParam name="testDrop">
> 						<h:graphicImage height="16" width="16" value="#{icon.iconFileManagerReject}" />
> 					</rich:dndParam>
> 				</rich:dropSupport>
> 			</h:panelGrid>
> 			<h:panelGrid styleClass="dropzoneDecoration" id="grid4">
> 				<f:verbatim>Accepts file and folder</f:verbatim>
> 				<rich:dropSupport acceptedTypes="file, folder" oncomplete="print('oncompleteInputID', 'oncomplete work!')" 
> 				ondragenter="print('ondragenterInputID', 'ondragenter work!')"
> 				ondragexit="print('ondragexitInputID', 'ondragexit work!')" 
> 				ondrop="print('ondropInputID', 'ondrop work!')" ondropend="print('ondropendInputID', 'ondropend work!')" 
> 				onsubmit="print('onsubmitInputID', 'onsubmit work!')">
> 					<rich:dndParam name="testDrop" value="testDropValue" />
> 				</rich:dropSupport>
> 			</h:panelGrid>
> 			<h:panelGrid id="grid5">
> 				<rich:dragSupport dragType="file" oncomplete="print('oncompleteInputID', 'oncomplete work!')"
> 							ondragend="print('ondragendInputID', 'ondragend work!')" ondragstart="print('ondragstartInputID', 'ondragstart work!')"
> 							onsubmit="print('onsubmitInputID', 'onsubmit work!')">
> 					<rich:dndParam name="label" value="Label" />
> 					<rich:dndParam name="testDrag" value="testDragValue" />
> 				</rich:dragSupport>
> 				<f:verbatim>File Draggable - no indicator</f:verbatim>
> 			</h:panelGrid>
> 			<h:panelGrid id="grid6">
> 				<rich:dragSupport dragType="file" dragIndicator="indicator" oncomplete="print('oncompleteInputID', 'oncomplete work!')"
> 							ondragend="print('ondragendInputID', 'ondragend work!')" ondragstart="print('ondragstartInputID', 'ondragstart work!')"
> 							onsubmit="print('onsubmitInputID', 'onsubmit work!')">
> 					<rich:dndParam name="label" value="Label" />
> 					<rich:dndParam name="testDrag" value="testDragValue" />
> 				</rich:dragSupport>
> 				<f:verbatim>File Draggable with indicator</f:verbatim>
> 			</h:panelGrid>
> 			<h:panelGrid id="grid7">
> 				<rich:dragSupport dragType="folder" dragIndicator="indicator" oncomplete="print('oncompleteInputID', 'oncomplete work!')"
> 							ondragend="print('ondragendInputID', 'ondragend work!')" ondragstart="print('ondragstartInputID', 'ondragstart work!')"
> 							onsubmit="print('onsubmitInputID', 'onsubmit work!')">
> 					<rich:dndParam name="label" value="Label" />
> 					<rich:dndParam name="testDrag" value="testDragValue for Folder" />
> 				</rich:dragSupport>
> 				<f:verbatim>Folder Draggable with indicator</f:verbatim>
> 			</h:panelGrid>
> 			<h:outputText />
> 			<h:panelGrid id="grid8">
> 				<rich:dragSupport dragType="folder" oncomplete="print('oncompleteInputID', 'oncomplete work!')"
> 							ondragend="print('ondragendInputID', 'ondragend work!')" ondragstart="print('ondragstartInputID', 'ondragstart work!')"
> 							onsubmit="print('onsubmitInputID', 'onsubmit work!')">
> 					<rich:dndParam name="label" value="Label" />
> 					<rich:dndParam name="testDrag" value="testDragValue for Folder" />
> 				</rich:dragSupport>
> 				<f:verbatim>Folder Draggable - no indicator</f:verbatim>
> 			</h:panelGrid>
> 			<h:panelGrid id="grid9">
> 				<rich:dragSupport dragType="file" dragIndicator="defaultIndicator" oncomplete="print('oncompleteInputID', 'oncomplete work!')"
> 							ondragend="print('ondragendInputID', 'ondragend work!')" ondragstart="print('ondragstartInputID', 'ondragstart work!')"
> 							onsubmit="print('onsubmitInputID', 'onsubmit work!')">
> 					<rich:dndParam name="testDrag" value="testDragValue" />
> 					<rich:dndParam name="marker" value="testMarkerValue" />
> 					<rich:dndParam name="label" value="testDragValue" />
> 				</rich:dragSupport>
> 				<f:verbatim>File Draggable with defaultIndicator</f:verbatim>
> 			</h:panelGrid>
> 			<h:panelGrid id="grid10">
> 				<rich:dragSupport dragType="folder" dragIndicator="defaultIndicator" oncomplete="print('oncompleteInputID', 'oncomplete work!')"
> 							ondragend="print('ondragendInputID', 'ondragend work!')" ondragstart="print('ondragstartInputID', 'ondragstart work!')"
> 							onsubmit="print('onsubmitInputID', 'onsubmit work!')">
> 					<rich:dndParam name="label" value="testDragValue for Folder" />
> 				</rich:dragSupport>
> 				<f:verbatim>Folder Draggable with defaultIndicator</f:verbatim>
> 			</h:panelGrid>
> 			<h:outputText />
> 		</h:panelGrid>
> 		<h:panelGrid id="renderedId">
> 			<rich:dragSupport dragType="file" dragIndicator="defaultIndicator" oncomplete="print('oncompleteInputID', 'oncomplete work!')"
> 							ondragend="print('ondragendInputID', 'ondragend work!')" ondragstart="print('ondragstartInputID', 'ondragstart work!')"
> 							onsubmit="print('onsubmitInputID', 'onsubmit work!')">
> 				<rich:dndParam name="marker" value="testMarkerValue" />
> 				<rich:dndParam name="label" value="testDragValue" />
> 			</rich:dragSupport>
> 			<h:graphicImage id="dragImage" value="/pics/masshtaby_01.jpg" width="200px" height="200px" />
> 			<f:verbatim>dragSupport</f:verbatim>
> 		</h:panelGrid>
> 		<a4j:status startText="...request..." stopText="stop" />
> 		<a4j:outputPanel ajaxRendered="true">
> 			<h:messages />
> 		</a4j:outputPanel>
> </f:subview>

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the richfaces-issues mailing list