Author: craigmcc
Date: Sat Apr  2 17:08:34 2005
New Revision: 159858

URL: http://svn.apache.org/viewcvs?view=rev&rev=159858
Log:
Use Spring's JSF integration to look up the business logic and DAO for the
logon dialog (instead of JSF managed beans).  Note that the application logic,
which uses a value binding expression to perform the lookup, did *not* have
to change because Spring provides a JSF VariableResolver that transparently
invokes the bean factory in the appropriate WebApplicationContext if no
standard JSF managed bean exists for a given name.

Added:
    struts/shale/trunk/use-cases/src/web/WEB-INF/applicationContext.xml
    struts/shale/trunk/use-cases/src/web/WEB-INF/daoContext.xml
Modified:
    struts/shale/trunk/use-cases/build.xml
    struts/shale/trunk/use-cases/src/web/WEB-INF/faces-config.xml
    struts/shale/trunk/use-cases/src/web/WEB-INF/web.xml

Modified: struts/shale/trunk/use-cases/build.xml
URL: 
http://svn.apache.org/viewcvs/struts/shale/trunk/use-cases/build.xml?view=diff&r1=159857&r2=159858
==============================================================================
--- struts/shale/trunk/use-cases/build.xml (original)
+++ struts/shale/trunk/use-cases/build.xml Sat Apr  2 17:08:34 2005
@@ -40,6 +40,7 @@
   <property name="jstl.home"        
value="/usr/local/jakarta-taglibs-standard-1.1.2"/>
   <property name="junit.home"       value="/usr/local/junit-3.8.1"/>
   <property name="server.home"      value="/usr/local/jakarta-tomcat-5.0.28"/>
+  <property name="spring.home"      value="/usr/local/spring-framework-1.1.5"/>
 
 
   <!-- Dependency library defaults -->
@@ -60,7 +61,11 @@
   <property name="junit.jar"        value="${junit.home}/junit.jar"/>
   <property name="servlet-api.jar"  
value="${server.home}/common/lib/servlet-api.jar"/>
   <property name="shale.jar"        
value="${basedir}/../core-library/target/lib/shale.jar"/>
+  <property name="shale-spring.jar" 
value="${basedir}/../core-library/target/lib/shale-spring.jar"/>
   <property name="shale-test.jar"   
value="${basedir}/../test-framework/target/lib/shale-test.jar"/>
+  <property name="spring-context.jar" 
value="${spring.home}/dist/spring-context.jar"/>
+  <property name="spring-core.jar"  
value="${spring.home}/dist/spring-core.jar"/>
+  <property name="spring-web.jar"   
value="${spring.home}/dist/spring-web.jar"/>
   <property name="standard.jar"     value="${jstl.home}/lib/standard.jar"/>
 
 
@@ -208,6 +213,14 @@
                   file="${commons-logging.jar}"/>
     <copy        todir="${build.home}/${context.path}/WEB-INF/lib"
                   file="${shale.jar}"/>
+    <copy        todir="${build.home}/${context.path}/WEB-INF/lib"
+                  file="${shale-spring.jar}"/>
+    <copy        todir="${build.home}/${context.path}/WEB-INF/lib"
+                  file="${spring-context.jar}"/>
+    <copy        todir="${build.home}/${context.path}/WEB-INF/lib"
+                  file="${spring-core.jar}"/>
+    <copy        todir="${build.home}/${context.path}/WEB-INF/lib"
+                  file="${spring-web.jar}"/>
 
   </target>
 

Added: struts/shale/trunk/use-cases/src/web/WEB-INF/applicationContext.xml
URL: 
http://svn.apache.org/viewcvs/struts/shale/trunk/use-cases/src/web/WEB-INF/applicationContext.xml?view=auto&rev=159858
==============================================================================
--- struts/shale/trunk/use-cases/src/web/WEB-INF/applicationContext.xml (added)
+++ struts/shale/trunk/use-cases/src/web/WEB-INF/applicationContext.xml Sat Apr 
 2 17:08:34 2005
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+ Copyright 2004-2005 The Apache Software Foundation.
+ 
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+ 
+      http://www.apache.org/licenses/LICENSE-2.0
+ 
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+-->
+<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
+                       "http://www.springframework.org/dtd/spring-beans.dtd";>
+
+<!-- Application Bean Configuration for Use Cases Example -->
+
+<beans>
+
+
+  <!-- Business logic used to manipulate registered user profile
+       information, and authenticate logons -->
+  <bean        name="logon$logic"
+              class="org.apache.shale.usecases.logic.LogonLogic"
+          singleton="false">
+    <property  name="dao">
+      <ref     bean="logon$users"/>
+    </property>
+  </bean>
+
+
+</beans>

Added: struts/shale/trunk/use-cases/src/web/WEB-INF/daoContext.xml
URL: 
http://svn.apache.org/viewcvs/struts/shale/trunk/use-cases/src/web/WEB-INF/daoContext.xml?view=auto&rev=159858
==============================================================================
--- struts/shale/trunk/use-cases/src/web/WEB-INF/daoContext.xml (added)
+++ struts/shale/trunk/use-cases/src/web/WEB-INF/daoContext.xml Sat Apr  2 
17:08:34 2005
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+ Copyright 2004-2005 The Apache Software Foundation.
+ 
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+ 
+      http://www.apache.org/licenses/LICENSE-2.0
+ 
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+-->
+<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
+                       "http://www.springframework.org/dtd/spring-beans.dtd";>
+
+<!-- DAO Bean Configuration for Use Cases Example -->
+
+<beans>
+
+  <!-- Data Access Object (DAO) used to manipuate registered
+       user profile information -->
+  <bean        name="logon$users"
+              class="org.apache.shale.usecases.model.minimal.MinimalUsersDAO"
+          singleton="true">
+  </bean>
+
+
+</beans>

Modified: struts/shale/trunk/use-cases/src/web/WEB-INF/faces-config.xml
URL: 
http://svn.apache.org/viewcvs/struts/shale/trunk/use-cases/src/web/WEB-INF/faces-config.xml?view=diff&r1=159857&r2=159858
==============================================================================
--- struts/shale/trunk/use-cases/src/web/WEB-INF/faces-config.xml (original)
+++ struts/shale/trunk/use-cases/src/web/WEB-INF/faces-config.xml Sat Apr  2 
17:08:34 2005
@@ -340,6 +340,7 @@
   </managed-bean>
 
 
+<!-- Comment out to use Spring BeanFactory for instantiation
   <managed-bean>
     <description>
       Business logic used to manipulate registered user profile
@@ -356,8 +357,10 @@
       <value>#{logon$users}</value>
     </managed-property>
   </managed-bean>
+-->
 
 
+<!-- Comment out to use Spring BeanFactory for instantiation
   <managed-bean>
     <description>
       Data Access Object (DAO) used to manipulate registered user profile
@@ -369,6 +372,11 @@
     </managed-bean-class>
     <managed-bean-scope>application</managed-bean-scope>
   </managed-bean>
+-->
 
 
 </faces-config>
+
+
+
+

Modified: struts/shale/trunk/use-cases/src/web/WEB-INF/web.xml
URL: 
http://svn.apache.org/viewcvs/struts/shale/trunk/use-cases/src/web/WEB-INF/web.xml?view=diff&r1=159857&r2=159858
==============================================================================
--- struts/shale/trunk/use-cases/src/web/WEB-INF/web.xml (original)
+++ struts/shale/trunk/use-cases/src/web/WEB-INF/web.xml Sat Apr  2 17:08:34 
2005
@@ -38,6 +38,12 @@
     <param-value>/WEB-INF/chain-config.xml</param-value>
   </context-param>
 
+  <!-- Spring ApplicationContext Configuration -->
+  <context-param>
+    <param-name>contextConfigLocation</param-name>
+    <param-value>/WEB-INF/daoContext.xml 
/WEB-INF/applicationContext.xml</param-value>
+  </context-param>
+
   <!-- Shale Application Controller Filter -->
   <filter>
     <filter-name>shale</filter-name>
@@ -64,6 +70,13 @@
   <listener>
     <listener-class>
       org.apache.commons.chain.web.ChainListener
+    </listener-class>
+  </listener>
+
+  <!-- Spring ApplicationContext Configuration Listener -->
+  <listener>
+    <listener-class>
+      org.springframework.web.context.ContextLoaderListener
     </listener-class>
   </listener>
 



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to