Hi,

I'm trying to integrate ADF Faces EA19, Seam beta2 CVS version, and MyFaces 
1.1.1
using this guidelines ( 
http://www.oracle.com/technology/products/jdev/101/howtos/myfaces/index.html ).

To do that, I hack the issues example that come from Seam beta2 by keeping ONLY 
the java sources code. 
This will create the same ejb3 file as if we build it originally.
For the war file, I just picked up the index.html, login.jsp, and home.jsp.

In order to build it, I have to modify the following files:
1. faces config :

  | <faces-config>
  | 
  |     <application>
  |         <!-- Oracle ADF Faces -->
  |         <default-render-kit-id>oracle.adf.core</default-render-kit-id>
  | 
  |         <locale-config>
  |             <default-locale>en_GB</default-locale>
  |             <supported-locale>fr</supported-locale>
  |         </locale-config>
  |     </application>
  |     
  |     <!-- Standard persistence lifecycle models for the Seam application --> 
  |     <lifecycle>
  |             
<phase-listener>org.jboss.seam.jsf.SeamExtendedManagedPersistencePhaseListener</phase-listener>
  |     </lifecycle>
  |     
  |     <navigation-rule>
  |         <navigation-case>
  |         <from-outcome>home</from-outcome>
  |                 <to-view-id>/home.jsp</to-view-id>
  |         </navigation-case>
  |     </navigation-rule>
  | 
  | </faces-config>
  | 

2. web.xml :

  | <web-app id="SimpleADF">
  | 
  |     <display-name>SimpleADF</display-name>
  |     
  |     <context-param>
  |         <param-name>javax.faces.CONFIG_FILES</param-name>
  |         <param-value>/WEB-INF/simpleadf-config.xml</param-value>
  |     </context-param>
  |     
  |     <context-param>
  |         <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
  |         <param-value>client</param-value>
  |     </context-param>
  | 
  |     <context-param>
  |         <param-name>org.apache.myfaces.AUTO_SCROLL</param-name>
  |         <param-value>true</param-value>
  |     </context-param>
  |     
  |     <!-- Needed to ensure safe tx cleanup when using Seam-managed 
sessions/persistence contexts --> 
  |     <filter>
  |             <filter-name>Seam Exception Filter</filter-name>
  |             
<filter-class>org.jboss.seam.servlet.SeamExceptionFilter</filter-class>
  |     </filter>
  |     
  |     <!-- Oracle ADF Faces Filter -->
  |     <filter>
  |             <filter-name>ADF Faces</filter-name>
  |             
<filter-class>oracle.adf.view.faces.webapp.AdfFacesFilter</filter-class>
  |     </filter>
  |     
  |     <filter-mapping>
  |             <filter-name>Seam Exception Filter</filter-name>
  |             <servlet-name>Faces Servlet</servlet-name>
  |     </filter-mapping>
  |     
  |     <filter-mapping>
  |             <filter-name>ADF Faces</filter-name>
  |             <servlet-name>Faces Servlet</servlet-name>
  |     </filter-mapping>
  | 
  |     <!-- Seam listener -->
  |     <listener>        
  |         <listener-class>org.jboss.seam.servlet.SeamListener</listener-class>
  |     </listener>
  |     
  |     <!-- MyFaces listener -->
  |     <listener>        
  |         
<listener-class>org.apache.myfaces.webapp.StartupServletContextListener</listener-class>
  |     </listener>
  |     
  |     <!-- Oracle ADF resource loader servlet -->
  |     <servlet>
  |         <servlet-name>ADF Resources</servlet-name>
  |         
<servlet-class>oracle.adf.view.faces.webapp.ResourceServlet</servlet-class>
  |     </servlet>
  |     
  |     <!-- Faces Servlet Mapping -->
  |     <servlet>
  |             <servlet-name>Faces Servlet</servlet-name>
  |             <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
  |             <load-on-startup>1</load-on-startup>
  |     </servlet>
  |     
  |     <!-- Faces Servlet Mapping -->
  |     <servlet-mapping>
  |         <servlet-name>ADF Resources</servlet-name>
  |         <url-pattern>/adf/*</url-pattern>
  |     </servlet-mapping>
  |     
  |     <servlet-mapping>
  |             <servlet-name>Faces Servlet</servlet-name>
  |         <url-pattern>*.jsf</url-pattern>
  |     </servlet-mapping>
  |         
  | </web-app>
  | 
3. login.jsp modified to use the ADF syntax :

  | <?xml version="1.0" encoding="iso-8859-1" standalone="yes" ?>
  | 
  | <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page"; version="2.0"
  |     xmlns:f="http://java.sun.com/jsf/core";
  |     xmlns:af="http://xmlns.oracle.com/adf/faces";>
  | 
  | <jsp:directive.page contentType="text/html;charset=utf-8" />
  | 
  | <f:view>
  |     
  |     <f:loadBundle basename="messages" var="msg"/>
  |     
  |     <af:document title="#{msg.BrowserTitle}">
  |     <af:form>
  |         <af:panelPage title="#{msg.LoginTitle}">
  | 
  |             <f:facet name="messages">
  |                 <af:messages />
  |             </f:facet>
  | 
  |             <af:panelForm rows="4">
  |                 <af:inputText label="#{msg.Login}" 
value="#{login.instance.username}" />
  |                 <af:inputText label="#{msg.Password}" 
value="#{login.instance.password}" secret="true" />
  | 
  |                 <af:panelLabelAndMessage>
  |                     <af:panelGroup layout="vertical">
  |                         <af:objectSpacer height="10" />
  |                         <af:panelGroup layout="horizontal">
  |                             <af:commandButton text="#{msg.LoginButton}" 
action="#{login.login}" />
  |                         </af:panelGroup>
  |                     </af:panelGroup>
  |                 </af:panelLabelAndMessage>
  |             </af:panelForm>
  | 
  |         </af:panelPage>
  |     </af:form>
  |     </af:document>
  | </f:view>
  | 
  | </jsp:root>
  | 
4. home.jsp modified as well :

  | <?xml version="1.0" encoding="iso-8859-1" standalone="yes" ?>
  | 
  | <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page"; version="2.0"
  |     xmlns:f="http://java.sun.com/jsf/core";
  |     xmlns:h="http://java.sun.com/jsf/html";
  |     xmlns:af="http://xmlns.oracle.com/adf/faces"; >
  | 
  | <jsp:directive.page contentType="text/html;charset=utf-8" />
  | 
  | <f:view>
  | 
  |     <f:loadBundle basename="messages" var="msg"/>
  | 
  |     <af:document title="#{msg.BrowserTitle}">
  |     <af:form>
  |             <af:panelPage title="#{msg.LoginTitle}">
  | 
  |                     <f:facet name="messages">
  |                 <af:messages />
  |             </f:facet>
  |             
  |             </af:panelPage>            
  |     </af:form>
  |     </af:document>
  | </f:view>
  | 
  | </jsp:root>
  | 

Then I modify accordingly the messages.properties, persistence.xml, import.sql, 
etc.
As you can see in login.jsp, I keep using the same java sources as the original 
( issues example ).
When I deploy the ear file, the entity bean are loaded correctly :

  | ...
  | 14:09:11,879 INFO  [org.hibernate.ejb.Ejb3Configuration] found EJB3 Entity 
bean: org.jboss.seam.example.issues.Comment
  | 14:09:11,879 INFO  [org.hibernate.ejb.Ejb3Configuration] found EJB3 Entity 
bean: org.jboss.seam.example.issues.Issue
  | 14:09:11,889 INFO  [org.hibernate.ejb.Ejb3Configuration] found EJB3 Entity 
bean: org.jboss.seam.example.issues.Project
  | 14:09:11,899 INFO  [org.hibernate.ejb.Ejb3Configuration] found EJB3 Entity 
bean: org.jboss.seam.example.issues.User
  | ...
  | 
the import.sql file is executed properly :

  | ...
  | 14:09:13,712 INFO  [org.hibernate.tool.hbm2ddl.SchemaExport] Executing 
import script: /import.sql
  | 14:09:13,712 DEBUG [org.hibernate.tool.hbm2ddl.SchemaExport] insert into 
user values ('gavin', 'Gavin King', 'foobar')
  | 14:09:13,712 DEBUG [org.hibernate.tool.hbm2ddl.SchemaExport] insert into 
user values ('emmanuel', 'Emmanuel Bernard', 'secret')
  | ...
  | 
the messages is loaded correctly :

  | ...
  | 14:09:14,523 DEBUG [org.jboss.seam.Component] instantiating Seam component: 
resourceBundle
  | 14:09:14,543 INFO  [org.jboss.seam.core.ResourceBundle] loaded resource 
bundle: messages
  | 14:09:14,553 TRACE [org.jboss.seam.Component] class=class 
java.util.PropertyResourceBundle; [EMAIL PROTECTED]; locale=; 
  | ...
  | 

But when I point to http://localhost:8080/SimpleADF/login.jsf, I got these 
strange error :

  | ...
  | 14:19:03,519 DEBUG [org.jboss.seam.jsf.SeamVariableResolver] resolving 
name: msg
  | 14:19:03,519 ERROR [org.jboss.seam.servlet.SeamExceptionFilter] uncaught 
exception handled by Seam
  | javax.servlet.ServletException: Cannot get value for expression 
'#{msg.BrowserTitle}'
  |     at javax.faces.webapp.FacesServlet.service(FacesServlet.java:121)
  |     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
  |     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
  |     at 
oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._invokeDoFilter(AdfFacesFilterImpl.java:356)
  |     at 
oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._doFilterImpl(AdfFacesFilterImpl.java:325)
  |     at 
oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl.doFilter(AdfFacesFilterImpl.java:190)
  |     at 
oracle.adf.view.faces.webapp.AdfFacesFilter.doFilter(AdfFacesFilter.java:87)
  |     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
  |     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
  |     at 
org.jboss.seam.servlet.SeamExceptionFilter.doFilter(SeamExceptionFilter.java:44)
  |     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
  |     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
  |     at 
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
  |     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.CustomPrincipalValve.invoke(CustomPrincipalValve.java:39)
  |     at 
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:159)
  |     at 
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:59)
  |     at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
  |     at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
  |     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:856)
  |     at 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
  |     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:595)
  | 14:19:03,519 DEBUG [org.jboss.seam.contexts.Lifecycle] After request, 
destroying contexts
  | 14:19:03,519 DEBUG [org.jboss.seam.contexts.Lifecycle] <<< End web request
  | 14:19:03,519 DEBUG [org.jboss.seam.util.NamingHelper] JNDI InitialContext 
properties:{}
  | 14:19:03,519 ERROR 
[org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/SimpleADF].[Faces
 Servlet]] Servlet.service() for servlet Faces Servlet threw exception
  | javax.faces.el.EvaluationException: Cannot get value for expression 
'#{msg.BrowserTitle}'
  |     at 
org.apache.myfaces.el.ValueBindingImpl.getValue(ValueBindingImpl.java:397)
  |     at 
oracle.adf.view.faces.bean.FacesBeanImpl.getProperty(FacesBeanImpl.java:55)
  |     at oracle.adf.view.faces.bean.util.ValueMap.get(ValueMap.java:54)
  |     at 
oracle.adf.view.faces.bean.util.ValueMap$EntryImpl.getValue(ValueMap.java:175)
  |     at 
org.apache.myfaces.util.DebugUtils.printComponent(DebugUtils.java:187)
  |     at 
org.apache.myfaces.util.DebugUtils.printComponent(DebugUtils.java:313)
  |     at org.apache.myfaces.util.DebugUtils.printView(DebugUtils.java:147)
  |     at org.apache.myfaces.util.DebugUtils.traceView(DebugUtils.java:139)
  |     at org.apache.myfaces.util.DebugUtils.traceView(DebugUtils.java:119)
  |     at 
org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:363)
  |     at javax.faces.webapp.FacesServlet.service(FacesServlet.java:107)
  |     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
  |     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
  |     at 
oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._invokeDoFilter(AdfFacesFilterImpl.java:356)
  |     at 
oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl._doFilterImpl(AdfFacesFilterImpl.java:325)
  |     at 
oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl.doFilter(AdfFacesFilterImpl.java:190)
  |     at 
oracle.adf.view.faces.webapp.AdfFacesFilter.doFilter(AdfFacesFilter.java:87)
  |     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
  |     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
  |     at 
org.jboss.seam.servlet.SeamExceptionFilter.doFilter(SeamExceptionFilter.java:44)
  |     at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
  |     at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
  |     at 
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:81)
  |     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.CustomPrincipalValve.invoke(CustomPrincipalValve.java:39)
  |     at 
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:159)
  |     at 
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:59)
  |     at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
  |     at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
  |     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:856)
  |     at 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
  |     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:595)
  | Caused by: java.lang.IllegalStateException: No active application scope
  |     at org.jboss.seam.core.Init.instance(Init.java:84)
  |     at org.jboss.seam.Component.getInstanceFromFactory(Component.java:1061)
  |     at org.jboss.seam.Component.getInstance(Component.java:1034)
  |     at org.jboss.seam.Component.getInstance(Component.java:1020)
  |     at 
org.jboss.seam.jsf.SeamVariableResolver.resolveVariable(SeamVariableResolver.java:43)
  |     at 
org.apache.myfaces.el.ValueBindingImpl$ELVariableResolver.resolveVariable(ValueBindingImpl.java:569)
  |     at org.apache.commons.el.NamedValue.evaluate(NamedValue.java:124)
  |     at org.apache.commons.el.ComplexValue.evaluate(ComplexValue.java:140)
  |     at 
org.apache.myfaces.el.ValueBindingImpl.getValue(ValueBindingImpl.java:378)
  |     ... 38 more
  | 14:19:13,995 DEBUG 
[org.jboss.ejb3.cache.simple.StatefulSessionFilePersistenceManager] Attempting 
to passivate; id=5c4om2l-qqny64-ei34tnw7-1-ei35c5fq-c
  | 14:19:13,995 DEBUG 
[org.jboss.ejb3.cache.simple.StatefulSessionFilePersistenceManager] Saving 
session state to: 
C:\Java\Software\jboss-4.0.3\server\default\tmp\sessions\org.jboss.seam.example.issues.LoginBean-ei34zj0o-9\5c4om2l-qqny64-ei34tnw7-1-ei35c5fq-c.ser
  | 14:19:14,015 INFO  [STDOUT] Exception in thread "Timer-3" 
  | 14:19:14,015 INFO  [STDOUT] javax.ejb.EJBException: Could not passivate; 
failed to save state; CausedByException is:
  |     org.jboss.seam.example.issues.LoginBean
  | 14:19:14,015 INFO  [STDOUT]     at 
org.jboss.ejb3.cache.simple.StatefulSessionFilePersistenceManager.passivateSession(StatefulSessionFilePersistenceManager.java:333)
  | 14:19:14,015 INFO  [STDOUT]     at 
org.jboss.ejb3.cache.simple.SimpleStatefulCache.passivate(SimpleStatefulCache.java:143)
  | 14:19:14,015 INFO  [STDOUT]     at 
org.jboss.ejb3.cache.simple.SimpleStatefulCache$SessionTimeoutTask.run(SimpleStatefulCache.java:92)
  | 14:19:14,015 INFO  [STDOUT]     at 
java.util.TimerThread.mainLoop(Timer.java:512)
  | 14:19:14,015 INFO  [STDOUT]     at java.util.TimerThread.run(Timer.java:462)
  | 14:19:14,015 INFO  [STDOUT] java.io.NotSerializableException: 
org.jboss.seam.example.issues.LoginBean
  | 14:19:14,015 INFO  [STDOUT]     at 
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1075)
  | 14:19:14,015 INFO  [STDOUT]     at 
java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:291)
  | 14:19:14,025 INFO  [STDOUT]     at 
org.jboss.aop.metadata.SimpleMetaData.writeExternal(SimpleMetaData.java:211)
  | 14:19:14,025 INFO  [STDOUT]     at 
java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1304)
  | 14:19:14,025 INFO  [STDOUT]     at 
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1282)
  | 14:19:14,025 INFO  [STDOUT]     at 
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1073)
  | 14:19:14,025 INFO  [STDOUT]     at 
java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:291)
  | 14:19:14,025 INFO  [STDOUT]     at 
java.rmi.MarshalledObject.<init>(MarshalledObject.java:92)
  | 14:19:14,025 INFO  [STDOUT]     at 
org.jboss.ejb3.stateful.StatefulBeanContext.writeExternal(StatefulBeanContext.java:153)
  | 14:19:14,025 INFO  [STDOUT]     at 
java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1304)
  | 14:19:14,025 INFO  [STDOUT]     at 
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1282)
  | 14:19:14,025 INFO  [STDOUT]     at 
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1073)
  | 14:19:14,025 INFO  [STDOUT]     at 
java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:291)
  | 14:19:14,025 INFO  [STDOUT]     at 
org.jboss.ejb3.cache.simple.StatefulSessionFilePersistenceManager.passivateSession(StatefulSessionFilePersistenceManager.java:324)
  | 14:19:14,025 INFO  [STDOUT]     at 
org.jboss.ejb3.cache.simple.SimpleStatefulCache.passivate(SimpleStatefulCache.java:143)
  | 14:19:14,025 INFO  [STDOUT]     at 
org.jboss.ejb3.cache.simple.SimpleStatefulCache$SessionTimeoutTask.run(SimpleStatefulCache.java:92)
  | 14:19:14,025 INFO  [STDOUT]     at 
java.util.TimerThread.mainLoop(Timer.java:512)
  | 14:19:14,025 INFO  [STDOUT]     at java.util.TimerThread.run(Timer.java:462)
  | 14:25:59,328 DEBUG [javax.faces.webapp.FacesServlet] service begin
  | ...
  | 

Strange because the messages are displayed correctly and I still can navigate 
from login page to home page.
Just FYI, I'm using hibernate 3.1, Hibernate Annotation 3.1beta7, and Hibernate 
EntityManager 3.1beta5.
Do you have any comment/suggestion ? Do you want to give it a try ?

Thanks.

View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3915827#3915827

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3915827


-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
_______________________________________________
JBoss-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to