[forge-users] Scaffold doesn't work with Seam?

Gabor Nagy nagyga1 at gmail.com
Wed Jan 4 05:32:42 EST 2012


Some updates, although I am really not working on this.

Fixed the setup by using

    @ExtensionManaged
    @Produces
    @PersistenceUnit
    @ConversationScoped
    static EntityManagerFactory producerField;

Then now the same exception is thrown both with @Inject and
@PersistenceContext(type = PersistenceContextType.EXTENDED)

Caused by: java.lang.IllegalStateException: Context is already active
    at
org.jboss.weld.context.AbstractConversationContext.activate(AbstractConversationContext.java:311)
[weld-core-1.1.2.Final.jar:2011-07-26 15:02]
    at
org.jboss.weld.jsf.WeldPhaseListener.activateConversations(WeldPhaseListener.java:114)
[weld-core-1.1.2.Final.jar:2011-07-26 15:02]
    at
org.jboss.weld.jsf.WeldPhaseListener.beforePhase(WeldPhaseListener.java:88)
[weld-core-1.1.2.Final.jar:2011-07-26 15:02]
    at com.sun.faces.lifecycle.Phase.handleBeforePhase(Phase.java:228)
[jsf-impl-2.1.3-b02-jbossorg-2.jar:2.1.3-SNAPSHOT]
    at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:99)
[jsf-impl-2.1.3-b02-jbossorg-2.jar:2.1.3-SNAPSHOT]
    at
com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:116)
[jsf-impl-2.1.3-b02-jbossorg-2.jar:2.1.3-SNAPSHOT]
    at
com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
[jsf-impl-2.1.3-b02-jbossorg-2.jar:2.1.3-SNAPSHOT]
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)
[jboss-jsf-api_2.1_spec-2.0.0.Beta1.jar:2.0.0.Beta1]
    ... 20 more

On 3 January 2012 22:47, Gabor Nagy <nagyga1 at gmail.com> wrote:

> Sorry I had the list in digest mode...
> "
> I have re-generated all scaffold code. With the stock Beta5 code this is
> the root exception, happening when I click on "Create New":
>
> Caused by: javax.el.PropertyNotFoundException:
> /scaffold/address/search.xhtml @34,85 value="#{addressBean.search.line1}":
> Target Unreachable, 'search' returned null
>     at
> com.sun.faces.facelets.el.TagValueExpression.getType(TagValueExpression.java:100)
> [jsf-impl-2.1.3-b02-jbossorg-2.jar:2.1.3-SNAPSHOT]
>     at
> com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getConvertedValue(HtmlBasicInputRenderer.java:95)
> [jsf-impl-2.1.3-b02-jbossorg-2.jar:2.1.3-SNAPSHOT]
>     at javax.faces.component.UIInput.getConvertedValue(UIInput.java:1030)
> [jboss-jsf-api_2.1_spec-2.0.0.Beta1.jar:2.0.0.Beta1]
>     at javax.faces.component.UIInput.validate(UIInput.java:960)
> [jboss-jsf-api_2.1_spec-2.0.0.Beta1.jar:2.0.0.Beta1]
>     at javax.faces.component.UIInput.executeValidate(UIInput.java:1233)
> [jboss-jsf-api_2.1_spec-2.0.0.Beta1.jar:2.0.0.Beta1]
>     at javax.faces.component.UIInput.processValidators(UIInput.java:698)
> [jboss-jsf-api_2.1_spec-2.0.0.Beta1.jar:2.0.0.Beta1]
>     at
> javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1214)
> [jboss-jsf-api_2.1_spec-2.0.0.Beta1.jar:2.0.0.Beta1]
>     at
> javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1214)
> [jboss-jsf-api_2.1_spec-2.0.0.Beta1.jar:2.0.0.Beta1]
>     at
> javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1214)
> [jboss-jsf-api_2.1_spec-2.0.0.Beta1.jar:2.0.0.Beta1]
>     at javax.faces.component.UIForm.processValidators(UIForm.java:253)
> [jboss-jsf-api_2.1_spec-2.0.0.Beta1.jar:2.0.0.Beta1]
>     at
> javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1214)
> [jboss-jsf-api_2.1_spec-2.0.0.Beta1.jar:2.0.0.Beta1]
>     at
> javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1214)
> [jboss-jsf-api_2.1_spec-2.0.0.Beta1.jar:2.0.0.Beta1]
>     at
> javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:1172)
> [jboss-jsf-api_2.1_spec-2.0.0.Beta1.jar:2.0.0.Beta1]
>     at
> com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:76)
> [jsf-impl-2.1.3-b02-jbossorg-2.jar:2.1.3-SNAPSHOT]
>
>     at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
> [jsf-impl-2.1.3-b02-jbossorg-2.jar:2.1.3-SNAPSHOT]
>     at
> com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
> [jsf-impl-2.1.3-b02-jbossorg-2.jar:2.1.3-SNAPSHOT]
>     at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)
> [jboss-jsf-api_2.1_spec-2.0.0.Beta1.jar:2.0.0.Beta1]
>     ... 27 more
>
> 22:28:44,918 ERROR
> [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/cpox].[Faces
> Servlet]] (http--127.0.0.1-8080-1) Servlet.service() for servlet Faces
> Servlet
> threw exception: java.lang.IllegalStateException: Context is already active
>     at
> org.jboss.weld.context.AbstractConversationContext.activate(AbstractConversationContext.java:311)
> [weld-core-1.1.2.Final.jar:2011-07-26 15:02]
>     at
> org.jboss.weld.jsf.WeldPhaseListener.activateConversations(WeldPhaseListener.java:114)
> [weld-core-1.1.2.Final.jar:2011-07-26 15:02]
>     at
> org.jboss.weld.jsf.WeldPhaseListener.beforePhase(WeldPhaseListener.java:88)
> [weld-core-1.1.2.Final.jar:2011-07-26 15:02]
>     at com.sun.faces.lifecycle.Phase.handleBeforePhase(Phase.java:228)
> [jsf-impl-2.1.3-b02-jbossorg-2.jar:2.1.3-SNAPSHOT]
>     at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:99)
> [jsf-impl-2.1.3-b02-jbossorg-2.jar:2.1.3-SNAPSHOT]
>     at
> com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:116)
> [jsf-impl-2.1.3-b02-jbossorg-2.jar:2.1.3-SNAPSHOT]
>     at
> com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
> [jsf-impl-2.1.3-b02-jbossorg-2.jar:2.1.3-SNAPSHOT]
>     at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)
> [jboss-jsf-api_2.1_spec-2.0.0.Beta1.jar:2.0.0.Beta1]
>     at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329)
> [jbossweb-7.0.1.Final.jar:7.0.2.Final]
>     at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
> [jbossweb-7.0.1.Final.jar:7.0.2.Final]
>     at com.ocpsoft.pretty.PrettyFilter.doFilter(PrettyFilter.java:126)
> [prettyfaces-jsf2-3.3.2.jar:]
>     at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)
> [jbossweb-7.0.1.Final.jar:7.0.2.Final]
>     at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
> [jbossweb-7.0.1.Final.jar:7.0.2.Final]
>     at
> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:734)
> [jbossweb-7.0.1.Final.jar:7.0.2.Final]
>     at
> org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:543)
> [jbossweb-7.0.1.Final.jar:7.0.2.Final]
>     at
> org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:479)
> [jbossweb-7.0.1.Final.jar:7.0.2.Final]
>     at
> org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:407)
> [jbossweb-7.0.1.Final.jar:7.0.2.Final]
>     at
> org.apache.catalina.core.StandardHostValve.custom(StandardHostValve.java:528)
> [jbossweb-7.0.1.Final.jar:7.0.2.Final]
>     at
> org.apache.catalina.core.StandardHostValve.status(StandardHostValve.java:454)
> [jbossweb-7.0.1.Final.jar:7.0.2.Final]
>     at
> org.apache.catalina.core.StandardHostValve.throwable(StandardHostValve.java:398)
> [jbossweb-7.0.1.Final.jar:7.0.2.Final]
>     at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
> [jbossweb-7.0.1.Final.jar:7.0.2.Final]
>     at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> [jbossweb-7.0.1.Final.jar:7.0.2.Final]
>     at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> [jbossweb-7.0.1.Final.jar:7.0.2.Final]
>     at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:362)
> [jbossweb-7.0.1.Final.jar:7.0.2.Final]
>     at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)
> [jbossweb-7.0.1.Final.jar:7.0.2.Final]
>     at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:667)
> [jbossweb-7.0.1.Final.jar:7.0.2.Final]
>     at
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:952)
> [jbossweb-7.0.1.Final.jar:7.0.2.Final]
>     at java.lang.Thread.run(Thread.java:662) [:1.6.0_29]
>
>
> Then I have set EntityManager* classes as here
> https://github.com/42Lines/blog-cdidemo/tree/master/src/main/java/net/ftlines/blog/cdidemo/jpaand replaced @PersistenceContext(type = PersistenceContextType.EXTENDED) to
> @Inject, then the exception is this, but
>
>
> Caused by: java.lang.NullPointerException
>     at
> org.hibernate.engine.transaction.internal.jta.JtaStatusHelper.getStatus(JtaStatusHelper.java:72)
> [hibernate-core-4.0.0.CR2.jar:4.0.0.CR2]
>     at
> org.hibernate.engine.transaction.internal.jta.JtaStatusHelper.isActive(JtaStatusHelper.java:114)
> [hibernate-core-4.0.0.CR2.jar:4.0.0.CR2]
>     at
> org.hibernate.engine.transaction.internal.jta.CMTTransaction.join(CMTTransaction.java:149)
> [hibernate-core-4.0.0.CR2.jar:4.0.0.CR2]
>     at
> org.hibernate.ejb.AbstractEntityManagerImpl.joinTransaction(AbstractEntityManagerImpl.java:1200)
> [hibernate-entitymanager-4.0.0.CR2.jar:4.0.0.CR2]
>     at
> org.hibernate.ejb.AbstractEntityManagerImpl.postInit(AbstractEntityManagerImpl.java:171)
> [hibernate-entitymanager-4.0.0.CR2.jar:4.0.0.CR2]
>     at
> org.hibernate.ejb.EntityManagerImpl.<init>(EntityManagerImpl.java:90)
> [hibernate-entitymanager-4.0.0.CR2.jar:4.0.0.CR2]
>     at
> org.hibernate.ejb.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:111)
> [hibernate-entitymanager-4.0.0.CR2.jar:4.0.0.CR2]
>     at
> org.hibernate.ejb.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:106)
> [hibernate-entitymanager-4.0.0.CR2.jar:4.0.0.CR2]
>
>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> [:1.6.0_29]
>     at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> [:1.6.0_29]
>     at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> [:1.6.0_29]
>     at java.lang.reflect.Method.invoke(Method.java:597) [:1.6.0_29]
>     at
> org.jboss.weld.bean.proxy.AbstractBeanInstance.invoke(AbstractBeanInstance.java:48)
> [weld-core-1.1.2.Final.jar:2011-07-26 15:02]
>
>     at
> org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:125)
> [weld-core-1.1.2.Final.jar:2011-07-26 15:02]
>     at
> org.jboss.weld.proxies.EntityManagerFactory$-1828776958$Proxy$_$$_WeldClientProxy.createEntityManager(EntityManagerFactory$-1828776958$Proxy$_$$_WeldClientProxy.java)
> [weld-cor
> e-1.1.2.Final.jar:]
>     at
> com.cpox.utils.EntityManagerProducer.create(EntityManagerProducer.java:17)
> [classes:]
>
>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> [:1.6.0_29]
>     at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> [:1.6.0_29]
>     at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> [:1.6.0_29]
>     at java.lang.reflect.Method.invoke(Method.java:597) [:1.6.0_29]
>     at
> org.jboss.weld.util.reflection.SecureReflections$13.work(SecureReflections.java:305)
> [weld-core-1.1.2.Final.jar:2011-07-26 15:02]
>     at
> org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:54)
> [weld-core-1.1.2.Final.jar:2011-07-26 15:02]
>     at
> org.jboss.weld.util.reflection.SecureReflectionAccess.runAsInvocation(SecureReflectionAccess.java:163)
> [weld-core-1.1.2.Final.jar:2011-07-26 15:02]
>     at
> org.jboss.weld.util.reflection.SecureReflections.invoke(SecureReflections.java:299)
> [weld-core-1.1.2.Final.jar:2011-07-26 15:02]
>      at
> org.jboss.weld.introspector.jlr.WeldMethodImpl.invokeOnInstance(WeldMethodImpl.java:188)
> [weld-core-1.1.2.Final.jar:2011-07-26 15:02]
>     at
> org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstance(MethodInjectionPoint.java:169)
> [weld-core-1.1.2.Final.jar:2011-07-26 15:02]
>     at
> org.jboss.weld.bean.ProducerMethod$1.produce(ProducerMethod.java:149)
> [weld-core-1.1.2.Final.jar:2011-07-26 15:02]
>     at
> org.jboss.weld.bean.AbstractProducerBean.create(AbstractProducerBean.java:361)
> [weld-core-1.1.2.Final.jar:2011-07-26 15:02]
>     at
> org.jboss.weld.context.AbstractContext.get(AbstractContext.java:122)
> [weld-core-1.1.2.Final.jar:2011-07-26 15:02]
>     at
> org.jboss.weld.bean.proxy.ContextBeanInstance.getInstance(ContextBeanInstance.java:99)
> [weld-core-1.1.2.Final.jar:2011-07-26 15:02]
>     at
> org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:124)
> [weld-core-1.1.2.Final.jar:2011-07-26 15:02]
>     at
> org.jboss.weld.proxies.EntityManager$-10488411$Proxy$_$$_WeldClientProxy.getCriteriaBuilder(EntityManager$-10488411$Proxy$_$$_WeldClientProxy.java)
> [weld-core-1.1.2.Final.jar:]
>     at com.cpox.view.AddressBean.paginate(AddressBean.java:156) [classes:]
>
>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> [:1.6.0_29]
>     at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> [:1.6.0_29]
>     at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> [:1.6.0_29]
>     at java.lang.reflect.Method.invoke(Method.java:597) [:1.6.0_29]
>     at
> org.jboss.as.ee.component.ManagedReferenceMethodInterceptor.processInvocation(ManagedReferenceMethodInterceptor.java:52)
>     at
> org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:287)
> [jboss-invocation-1.1.0.Final.jar:1.1.0.Final]
>     at
> org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:370)
> [jboss-invocation-1.1.0.Final.jar:1.1.0.Final]
>     at
> org.jboss.as.weld.ejb.Jsr299BindingsInterceptor.doMethodInterception(Jsr299BindingsInterceptor.java:122)
> [jboss-as-weld-7.0.2.Final.jar:7.0.2.Final]
>     at
> org.jboss.as.weld.ejb.Jsr299BindingsInterceptor.processInvocation(Jsr299BindingsInterceptor.java:130)
> [jboss-as-weld-7.0.2.Final.jar:7.0.2.Final]
>     at
> org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:287)
> [jboss-invocation-1.1.0.Final.jar:1.1.0.Final]
>     at
> org.jboss.invocation.WeavedInterceptor.processInvocation(WeavedInterceptor.java:53)
> [jboss-invocation-1.1.0.Final.jar:1.1.0.Final]
>     at
> org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:287)
> [jboss-invocation-1.1.0.Final.jar:1.1.0.Final]
>     at
> org.jboss.as.jpa.interceptor.SBInvocationInterceptor.processInvocation(SBInvocationInterceptor.java:45)
> [jboss-as-jpa-7.0.2.Final.jar:7.0.2.Final]
>     at
> org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:287)
> [jboss-invocation-1.1.0.Final.jar:1.1.0.Final]
>     at
> org.jboss.as.ejb3.component.stateful.StatefulSessionSynchronizationInterceptor.processInvocation(StatefulSessionSynchronizationInterceptor.java:132)
> [jboss-as-ejb3-7.0.2.Final.
> jar:7.0.2.Final]
>     at
> org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:287)
> [jboss-invocation-1.1.0.Final.jar:1.1.0.Final]
>     at
> org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:44)
>     at
> org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:287)
> [jboss-invocation-1.1.0.Final.jar:1.1.0.Final]
>     at
> org.jboss.as.ee.component.TCCLInterceptor.processInvocation(TCCLInterceptor.java:45)
>     at
> org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:287)
> [jboss-invocation-1.1.0.Final.jar:1.1.0.Final]
>     at
> org.jboss.invocation.InitialInterceptor.processInvocation(InitialInterceptor.java:21)
> [jboss-invocation-1.1.0.Final.jar:1.1.0.Final]
>     at
> org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:287)
> [jboss-invocation-1.1.0.Final.jar:1.1.0.Final]
>     at
> org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
> [jboss-invocation-1.1.0.Final.jar:1.1.0.Final]
>     at
> org.jboss.as.ee.component.ViewDescription$ComponentDispatcherInterceptor.processInvocation(ViewDescription.java:202)
>     at
> org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:287)
> [jboss-invocation-1.1.0.Final.jar:1.1.0.Final]
>     at
> org.jboss.as.jpa.interceptor.SFSBInvocationInterceptor.processInvocation(SFSBInvocationInterceptor.java:58)
> [jboss-as-jpa-7.0.2.Final.jar:7.0.2.Final]
>     at
> org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:287)
> [jboss-invocation-1.1.0.Final.jar:1.1.0.Final]
>     at
> org.jboss.as.ejb3.component.stateful.StatefulComponentInstanceInterceptor.processInvocation(StatefulComponentInstanceInterceptor.java:61)
> [jboss-as-ejb3-7.0.2.Final.jar:7.0.2.F
> inal]
>     at
> org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:287)
> [jboss-invocation-1.1.0.Final.jar:1.1.0.Final]
>     at
> org.jboss.as.ejb3.component.session.SessionInvocationContextInterceptor$CustomSessionInvocationContext.proceed(SessionInvocationContextInterceptor.java:126)
> [jboss-as-ejb3-7.0.
> 2.Final.jar:7.0.2.Final]
>     at
> org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInCallerTx(CMTTxInterceptor.java:194)
> [jboss-as-ejb3-7.0.2.Final.jar:7.0.2.Final]
>      ... 74 more
>
> Probably my setup is not properly done?
>
> Anyway, here is the entity class and the generated scaffold code (it is
> not mission critical, I don't really use scaffold at the moment):
>
> @Entity
> @Audited
> public class Address implements Serializable {
>     private static final long serialVersionUID = 1L;
>
>     @Id
>     @GeneratedValue
>     private Long id;
>
>     @Version
>     private Integer version;
>
>     @Column
>     @Length(max = 50)
>     private String line1;
>
>     @Column
>     @Length(max = 50)
>     private String line2;
>
>     @Column
>     @Length(max = 50)
>     private String line3;
>
>     @Column
>     @Length(max = 50)
>     private String line4;
>
>     @Column
>     @Length(max = 50)
>     private String line5;
>
>     public Long getId() {
>         return id;
>     }
>
>     public void setId(final Long id) {
>         this.id = id;
>     }
>
>     public Integer getVersion() {
>         return version;
>     }
>
>     public String getLine1() {
>         return line1;
>     }
>
>     public void setLine1(final String line1) {
>         this.line1 = line1;
>     }
>
>     public String getLine2() {
>         return line2;
>     }
>
>     public void setLine2(final String line2) {
>         this.line2 = line2;
>     }
>
>     public String getLine3() {
>         return line3;
>     }
>
>     public void setLine3(final String line3) {
>         this.line3 = line3;
>     }
>
>     public String getLine4() {
>         return line4;
>     }
>
>     public void setLine4(final String line4) {
>         this.line4 = line4;
>     }
>
>     public String getLine5() {
>         return line5;
>     }
>
>     public void setLine5(final String line5) {
>         this.line5 = line5;
>     }
> }
>
> @Named
> @Stateful
> @ConversationScoped
> public class AddressBean implements Serializable {
>
>     private static final long serialVersionUID = 1L;
>
>     /*
>      * Support creating and retrieving Address entities
>      */
>
>     private Long id;
>
>     public Long getId() {
>         return this.id;
>     }
>
>     public void setId(Long id) {
>         this.id = id;
>     }
>
>     private Address address;
>
>     public Address getAddress() {
>         return this.address;
>     }
>
>     @Inject
>     private Conversation conversation;
>
>     @PersistenceContext(type = PersistenceContextType.EXTENDED)
>     private EntityManager entityManager;
>
>     public String create() {
>
>         this.conversation.begin();
>         return "create?faces-redirect=true";
>     }
>
>     public void retrieve() {
>
>         if (FacesContext.getCurrentInstance().isPostback()) {
>             return;
>         }
>
>         if (this.conversation.isTransient()) {
>             this.conversation.begin();
>         }
>
>         if (this.id == null) {
>             this.address = this.search;
>         } else {
>             this.address = this.entityManager.find(Address.class, getId());
>         }
>     }
>
>     /*
>      * Support updating and deleting Address entities
>      */
>
>     public String update() {
>         this.conversation.end();
>
>         if (this.id == null) {
>             this.entityManager.persist(this.address);
>             return "search?faces-redirect=true";
>         } else {
>             this.entityManager.merge(this.address);
>             return "view?faces-redirect=true&id=" + this.address.getId();
>         }
>     }
>
>     public String delete() {
>         this.conversation.end();
>         this.entityManager.remove(this.entityManager.find(Address.class,
>                 getId()));
>         return "search?faces-redirect=true";
>     }
>
>     public String cancel() {
>         this.conversation.end();
>         return "search?faces-redirect=true";
>     }
>
>     /*
>      * Support searching Address entities with pagination
>      */
>
>     private int page;
>     private long count;
>     private List<Address> pageItems;
>
>     private Address search = new Address();
>
>     public int getPage() {
>         return this.page;
>     }
>
>     public void setPage(int page) {
>         this.page = page;
>     }
>
>     public int getPageSize() {
>         return 10;
>     }
>
>     public Address getSearch() {
>         return this.search;
>     }
>
>     public void setSearch(Address search) {
>         this.search = search;
>     }
>
>     public void search() {
>         this.page = 0;
>     }
>
>     public void paginate() {
>
>         CriteriaBuilder builder = this.entityManager.getCriteriaBuilder();
>
>         // Populate this.count
>
>         CriteriaQuery<Long> countCriteria =
> builder.createQuery(Long.class);
>         Root<Address> root = countCriteria.from(Address.class);
>         countCriteria = countCriteria.select(builder.count(root)).where(
>                 getSearchPredicates(root));
>         this.count = this.entityManager.createQuery(countCriteria)
>                 .getSingleResult();
>
>         // Populate this.pageItems
>
>         CriteriaQuery<Address> criteria =
> builder.createQuery(Address.class);
>         root = criteria.from(Address.class);
>         TypedQuery<Address> query = this.entityManager.createQuery(criteria
>                 .select(root).where(getSearchPredicates(root)));
>         query.setFirstResult(this.page * getPageSize()).setMaxResults(
>                 getPageSize());
>         this.pageItems = query.getResultList();
>     }
>
>     private Predicate[] getSearchPredicates(Root<Address> root) {
>
>         CriteriaBuilder builder = this.entityManager.getCriteriaBuilder();
>         List<Predicate> predicatesList = new ArrayList<Predicate>();
>
>         String line1 = this.search.getLine1();
>         if (line1 != null && !"".equals(line1)) {
>             predicatesList.add(builder.like(root.<String>get("line1"), '%'
> + line1 + '%'));
>         }
>         String line2 = this.search.getLine2();
>         if (line2 != null && !"".equals(line2)) {
>             predicatesList.add(builder.like(root.<String>get("line2"), '%'
> + line2 + '%'));
>         }
>         String line3 = this.search.getLine3();
>         if (line3 != null && !"".equals(line3)) {
>             predicatesList.add(builder.like(root.<String>get("line3"), '%'
> + line3 + '%'));
>         }
>         String line4 = this.search.getLine4();
>         if (line4 != null && !"".equals(line4)) {
>             predicatesList.add(builder.like(root.<String>get("line4"), '%'
> + line4 + '%'));
>         }
>         String line5 = this.search.getLine5();
>         if (line5 != null && !"".equals(line5)) {
>             predicatesList.add(builder.like(root.<String>get("line5"), '%'
> + line5 + '%'));
>         }
>
>         return predicatesList.toArray(new
> Predicate[predicatesList.size()]);
>     }
>
>     public List<Address> getPageItems() {
>         return this.pageItems;
>     }
>
>     public long getCount() {
>         return this.count;
>     }
>
>     /*
>      * Support listing and POSTing back Address entities (e.g. from inside
> an
>      * HtmlSelectOneMenu)
>      */
>
>     public List<Address> getAll() {
>
>         CriteriaQuery<Address> criteria = this.entityManager
>                 .getCriteriaBuilder().createQuery(Address.class);
>         return this.entityManager.createQuery(
>
> criteria.select(criteria.from(Address.class))).getResultList();
>     }
>
>     public Converter getConverter() {
>
>         return new Converter() {
>
>             @Override
>             public Object getAsObject(FacesContext context,
>                     UIComponent component, String value) {
>
>                 return AddressBean.this.entityManager.find(Address.class,
>                         Long.valueOf(value));
>             }
>
>             @Override
>             public String getAsString(FacesContext context,
>                     UIComponent component, Object value) {
>
>                 if (value == null) {
>                     return "";
>                 }
>
>                 return String.valueOf(((Address) value).getId());
>             }
>         };
>     }
> }
>
>
>
> On 3 January 2012 21:29, <forge-users-request at lists.jboss.org> wrote:
> \
>
>>   1. Re: Scaffold doesn't work with Seam? (Lincoln Baxter, III)
>>
>>
>> ----------------------------------------------------------------------
>>
>> Message: 1
>> Date: Tue, 3 Jan 2012 15:29:22 -0500
>> From: "Lincoln Baxter, III" <lincolnbaxter at gmail.com>
>> Subject: Re: [forge-users] Scaffold doesn't work with Seam?
>> To: forge-users List <forge-users at lists.jboss.org>
>> Message-ID:
>>        <
>> CAEp_U4GCD5WJpLzeRYE+4E+L7ZZsuBwd45ySH3zdtGZKeSBweQ at mail.gmail.com>
>> Content-Type: text/plain; charset="iso-8859-1"
>>
>> Do you have an EntityManagerProducer set up for Seam Persistence? It's
>> possible that Seam Persistence is starting a transaction too early, or
>> that
>> something strange is going on. Any chance you could send the app (attached
>> sources) so I can take a look?
>>
>> If so, you could try replacing the @EntityManager(type=EXTENDED)
>> annotation
>> with @Inject in your AddressBean.
>>
>> Does that work?
>>
>> Thanks!
>> ~Lincoln
>>
>>
>> On Tue, Jan 3, 2012 at 1:52 PM, Gabor Nagy <nagyga1 at gmail.com> wrote:
>>
>> > Hi All,
>> >
>> > Is that normal that I get this on any scaffold generated code if I have
>> > seam dependencies on the project?
>> > Should I report this?
>> >
>> > Bests,
>> > Gabor Nagy
>> >
>> > Caused by: javax.ejb.EJBException: Found extended persistence context in
>> > SFSB invocation call stack but that cannot be used because the
>> transaction
>> > already has a transactional cont
>> > ext associated with it.  This can be avoided by changing application
>> code,
>> > either eliminate the extended persistence context or the transactional
>> > context.  See JPA spec 2.0 section
>> >  7.6.3.1.  Scoped persistence unit name=cpox.war#forge-default,
>> > persistence context already in transaction =ExtendedEntityManager
>> > [cpox.war#forge-default], extended persistence con
>> > text =ExtendedEntityManager [cpox.war#forge-default], extended
>> persistence
>> > context underlying entity manager
>> > =org.hibernate.ejb.EntityManagerImpl at 199719b
>> >     at org.jboss.as.jpa.container.
>> > ExtendedEntityManager.getEntityManager(ExtendedEntityManager.java:88)
>> > [jboss-as-jpa-7.0.2.Final.jar:7.0.2.Final]
>> >     at
>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/forge-users/attachments/20120104/14b43c37/attachment-0001.html 


More information about the forge-users mailing list