[jbossseam-issues] [JBoss JIRA] Closed: (JBSEAM-835) After Upload the Conversation id seems to be lost when use a button to move forward from the "upload" screen.
Tony Herstell (JIRA)
jira-events at lists.jboss.org
Wed Mar 21 17:58:49 EDT 2007
[ http://jira.jboss.com/jira/browse/JBSEAM-835?page=all ]
Tony Herstell closed JBSEAM-835.
--------------------------------
Fix Version/s: 1.2.1.GA
Resolution: Cannot Reproduce Bug
Gone since Development Drop 1.6.0.DR1.
> After Upload the Conversation id seems to be lost when use a button to move forward from the "upload" screen.
> -------------------------------------------------------------------------------------------------------------
>
> Key: JBSEAM-835
> URL: http://jira.jboss.com/jira/browse/JBSEAM-835
> Project: JBoss Seam
> Issue Type: Bug
> Components: ICE Faces Integration
> Affects Versions: 1.1.6.GA
> Reporter: Tony Herstell
> Assigned To: Gregory Dick
> Fix For: 1.2.1.GA
>
>
> 11:13:27,070 ERROR [[Blocking Servlet]] Servlet.service() for servlet Blocking Servlet threw exception
> javax.faces.FacesException: Error calling action method of component with id _id62:done
> at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:74)
> at javax.faces.component.UICommand.broadcast(UICommand.java:106)
> at javax.faces.component.UIViewRoot._broadcastForPhase(UIViewRoot.java:94)
> at javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:136)
> at org.apache.myfaces.lifecycle.LifecycleImpl.applyRequestValues(LifecycleImpl.java:219)
> at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:71)
> at com.icesoft.faces.webapp.xmlhttp.BlockingServlet.renderCycle(BlockingServlet.java:456)
> at com.icesoft.faces.webapp.xmlhttp.BlockingServlet.receiveUpdates(BlockingServlet.java:444)
> at com.icesoft.faces.webapp.xmlhttp.BlockingServlet.executeRequest(BlockingServlet.java:324)
> at com.icesoft.faces.webapp.xmlhttp.BlockingServlet.service(BlockingServlet.java:186)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
> at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
> at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
> at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
> at org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
> at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
> at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
> at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
> at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
> at java.lang.Thread.run(Thread.java:619)
> Caused by: javax.faces.el.EvaluationException: /upload.xhtml @61,49 action="#{uploadController.done}": javax.ejb.EJBException: java.lang.IllegalStateException: no long-running conversation for @Conversational bean: uploadController
> at com.sun.facelets.el.LegacyMethodBinding.invoke(LegacyMethodBinding.java:73)
> at org.apache.myfaces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:63)
> ... 29 more
> Caused by: javax.ejb.EJBException: java.lang.IllegalStateException: no long-running conversation for @Conversational bean: uploadController
> at org.jboss.ejb3.tx.Ejb3TxPolicy.handleExceptionInOurTx(Ejb3TxPolicy.java:69)
> at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:83)
> at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:191)
> at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
> at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76)
> at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
> at org.jboss.ejb3.stateful.StatefulInstanceInterceptor.invoke(StatefulInstanceInterceptor.java:83)
> at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
> at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77)
> at org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:102)
> at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
> at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:47)
> at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
> at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
> at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
> at org.jboss.ejb3.stateful.StatefulContainer.localInvoke(StatefulContainer.java:203)
> at org.jboss.ejb3.stateful.StatefulLocalProxy.invoke(StatefulLocalProxy.java:98)
> at $Proxy129.done(Unknown Source)
> at nz.co.risingstars.actions.upload.UploadController$$FastClassByCGLIB$$cd1d79c6.invoke(<generated>)
> at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
> at org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:45)
> at org.jboss.seam.intercept.ClientSideInterceptor$1.proceed(ClientSideInterceptor.java:74)
> at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:55)
> at org.jboss.seam.interceptors.RemoveInterceptor.removeIfNecessary(RemoveInterceptor.java:40)
> at sun.reflect.GeneratedMethodAccessor181.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at org.jboss.seam.util.Reflections.invoke(Reflections.java:18)
> at org.jboss.seam.intercept.Interceptor.aroundInvoke(Interceptor.java:169)
> at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:64)
> at org.jboss.seam.intercept.RootInterceptor.createSeamInvocationContext(RootInterceptor.java:144)
> at org.jboss.seam.intercept.RootInterceptor.invokeInContexts(RootInterceptor.java:129)
> at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:102)
> at org.jboss.seam.intercept.ClientSideInterceptor.interceptInvocation(ClientSideInterceptor.java:83)
> at org.jboss.seam.intercept.ClientSideInterceptor.intercept(ClientSideInterceptor.java:52)
> at nz.co.risingstars.actions.upload.UploadController$$EnhancerByCGLIB$$f25dc804.done(<generated>)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at com.sun.el.parser.AstValue.invoke(AstValue.java:130)
> at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:274)
> at com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:68)
> at com.sun.facelets.el.LegacyMethodBinding.invoke(LegacyMethodBinding.java:69)
> ... 30 more
> Caused by: java.lang.IllegalStateException: no long-running conversation for @Conversational bean: uploadController
> at org.jboss.seam.interceptors.ConversationalInterceptor.checkConversationForConversationalBean(ConversationalInterceptor.java:52)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at org.jboss.seam.util.Reflections.invoke(Reflections.java:18)
> at org.jboss.seam.intercept.Interceptor.aroundInvoke(Interceptor.java:169)
> at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:64)
> at org.jboss.seam.interceptors.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:27)
> at sun.reflect.GeneratedMethodAccessor99.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at org.jboss.seam.util.Reflections.invoke(Reflections.java:18)
> at org.jboss.seam.intercept.Interceptor.aroundInvoke(Interceptor.java:169)
> at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:64)
> at org.jboss.seam.intercept.RootInterceptor.createSeamInvocationContext(RootInterceptor.java:144)
> at org.jboss.seam.intercept.RootInterceptor.invokeInContexts(RootInterceptor.java:129)
> at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:102)
> at org.jboss.seam.intercept.SessionBeanInterceptor.aroundInvoke(SessionBeanInterceptor.java:50)
> at sun.reflect.GeneratedMethodAccessor180.invoke(Unknown Source)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:118)
> at org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63)
> at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
> at org.jboss.ejb3.entity.ExtendedPersistenceContextPropagationInterceptor.invoke(ExtendedPersistenceContextPropagationInterceptor.java:71)
> at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
> at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54)
> at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
> at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:46)
> at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
> at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79)
> ... 72 more
> From code:
> <ice:panelGrid columns="1">
> <ice:inputFile style="border:none; width:400px; height:70px;"
> actionListener="#{uploadController.action}"/> <!-- progressListener="#{uploadController.progress}" -->
> <ice:outputProgress id="progress" value="#{uploadController.percent}"/>
> </ice:panelGrid>
> <ice:panelGrid columns="1" width="100%">
> <div align="right">
> <ice:commandButton action="#{uploadController.cancel}"
> value="#{messages.button_cancel}" immediate="true"
> type="submit" />
> <ice:commandButton id="done" type="submit"
> value="#{messages.button_done}" immediate="true"
> action="#{uploadController.done}" />
> </div>
> </ice:panelGrid>
> @TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
> public void action(ActionEvent event) {
> log.info("> action");
> InputFile inputFile = (InputFile) event.getSource();
> if (inputFile.getStatus() == InputFile.SAVED) {
> String fileName = inputFile.getFileInfo().getFileName();
> String contentType = inputFile.getFileInfo().getContentType();
> File file = inputFile.getFile();
> byte[] inputFileAsBytes = getAsBytes(file);
>
> Image image = (Image)Component.getInstance("image", true);
> image.setName(fileName);
> image.setType(contentType);
> image.setThumbnail(inputFileAsBytes);
> image.setImage(inputFileAsBytes);
> image.setVersion(0);
> em.persist(image);
> if (parentObjectKind == ParentObjectKind.ORGANISATION) {
> Organisation organisationToBeUploadedTo = em.find(Organisation.class, primaryKey);
> if (organisationToBeUploadedTo == null) {
> log.warn("Organisation to be Uploaded to is not found." + primaryKey);
> } else {
> organisationToBeUploadedTo.setPicture(image);
> em.persist(organisationToBeUploadedTo);
> }
> } else if (parentObjectKind == ParentObjectKind.USER) {
> User userToBeUploadedTo = em.find(User.class, primaryKey);
> if (userToBeUploadedTo == null) {
> log.warn("User to be Uploaded to is not found." + primaryKey);
> } else {
> userToBeUploadedTo.setPicture(image);
> em.persist(userToBeUploadedTo);
> }
> } else {
> log.error("action called with object type not supported.");
> }
> } else if (inputFile.getStatus() == InputFile.INVALID) {
> inputFile.getFileInfo().getException().printStackTrace();
> } else if (inputFile.getStatus() == InputFile.SIZE_LIMIT_EXCEEDED) {
> inputFile.getFileInfo().getException().printStackTrace();
> } else if (inputFile.getStatus() == InputFile.UNKNOWN_SIZE) {
> inputFile.getFileInfo().getException().printStackTrace();
> }
> log.info("< action");
> }
> @TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
> private byte[] getAsBytes(File file) {
> byte[] valueToReturn = null;
> log.info("> getAsBytes");
> InputStream in = null;
> OutputStream out = null;
> try {
> in = new BufferedInputStream(new FileInputStream(file));
> ByteArrayOutputStream baos = new ByteArrayOutputStream();
> out = new BufferedOutputStream(baos);
> final int toRead = 1024;
> byte[] buffy = new byte[toRead];
> int read;
>
> while ((read = in.read(buffy)) != -1) {
> out.write(buffy, 0, read);
> out.flush();
> }
> valueToReturn = baos.toByteArray();
> } catch (IOException e) {
> throw new IllegalStateException(e.getMessage());
> } finally { // Try to release any resources.
> try {
> if (in != null) {
> in.close();
> }
> } catch (IOException ignored) {}
> try {
> if (out != null) {
> out.close();
> }
> } catch (IOException ignored) {}
> }
> log.info("< getAsBytes");
> return valueToReturn;
> }
>
>
> @End
> public String done() {
> log.info("> done");
> String valueToReturn = null;
> if (parentObjectKind == ParentObjectKind.ORGANISATION) {
> valueToReturn = "findOrganisation";
> } else if (parentObjectKind == ParentObjectKind.USER) {
> valueToReturn = "findUser";
> } else {
> log.error("done called with object type not supported.");
> }
> log.info("< done");
> return valueToReturn;
> }
>
--
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 seam-issues
mailing list