You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@shale.apache.org by cr...@apache.org on 2007/01/07 05:33:12 UTC

svn commit: r493642 - in /shale/framework/trunk/shale-test: pom.xml src/main/java/org/apache/shale/test/config/ConfigParser.java src/test/java/org/apache/shale/test/config/ConfigParserTestCase.java

Author: craigmcc
Date: Sat Jan  6 20:33:12 2007
New Revision: 493642

URL: http://svn.apache.org/viewvc?view=rev&rev=493642
Log:
SHALE-262 finish up our first feature for 1.1 by providing an easy way to
use the configuration resources from whatever JSF implementation you are
running to configure the mock objects hierarchy with "real" configuration
info.

Modified:
    shale/framework/trunk/shale-test/pom.xml
    shale/framework/trunk/shale-test/src/main/java/org/apache/shale/test/config/ConfigParser.java
    shale/framework/trunk/shale-test/src/test/java/org/apache/shale/test/config/ConfigParserTestCase.java

Modified: shale/framework/trunk/shale-test/pom.xml
URL: http://svn.apache.org/viewvc/shale/framework/trunk/shale-test/pom.xml?view=diff&rev=493642&r1=493641&r2=493642
==============================================================================
--- shale/framework/trunk/shale-test/pom.xml (original)
+++ shale/framework/trunk/shale-test/pom.xml Sat Jan  6 20:33:12 2007
@@ -104,6 +104,12 @@
                     <scope>provided</scope>
                 </dependency>
                 <dependency>
+                    <groupId>org.apache.myfaces.core</groupId>
+                    <artifactId>myfaces-impl</artifactId>
+                    <version>1.1.4</version>
+                    <scope>test</scope>
+                </dependency>
+                <dependency>
                     <groupId>javax.servlet</groupId>
                     <artifactId>servlet-api</artifactId>
                     <version>2.4</version>
@@ -146,6 +152,12 @@
                     <artifactId>jsf-api</artifactId>
                     <version>1.2_02</version>
                     <scope>provided</scope>
+                </dependency>
+                <dependency>
+                    <groupId>javax.faces</groupId>
+                    <artifactId>jsf-impl</artifactId>
+                    <version>1.2_02</version>
+                    <scope>test</scope>
                 </dependency>
                 <dependency>
                     <groupId>javax.servlet</groupId>

Modified: shale/framework/trunk/shale-test/src/main/java/org/apache/shale/test/config/ConfigParser.java
URL: http://svn.apache.org/viewvc/shale/framework/trunk/shale-test/src/main/java/org/apache/shale/test/config/ConfigParser.java?view=diff&rev=493642&r1=493641&r2=493642
==============================================================================
--- shale/framework/trunk/shale-test/src/main/java/org/apache/shale/test/config/ConfigParser.java (original)
+++ shale/framework/trunk/shale-test/src/main/java/org/apache/shale/test/config/ConfigParser.java Sat Jan  6 20:33:12 2007
@@ -66,6 +66,25 @@
     }
     
 
+    // ------------------------------------------------------ Manifest Constants
+
+
+    /**
+     * <p>Configuration resource URLs for the JSF RI.</p>
+     */
+    private static final String[] JSFRI_RESOURCES =
+    { "/com/sun/faces/jsf-ri-runtime.xml",
+    };
+
+
+    /**
+     * <p>Configuration resource URLs for Apache MyFaces.</p>
+     */
+    private static final String[] MYFACES_RESOURCES =
+    { "/org/apache/myfaces/resource/standard-faces-config.xml",
+    };
+
+
     // ------------------------------------------------------ Instance Variables
 
 
@@ -78,6 +97,28 @@
     // ------------------------------------------------------- Public Properties
 
 
+    /**
+     * <p>Return the URLs of the platform configuration resources for this
+     * application.  The following platforms are currently supported:</p>
+     * <ul>
+     * <li>JavaServer Faces Reference Implementation (version 1.0 - 1.2)</li>
+     * <li>MyFaces (version 1.1)</li>
+     * </ul>
+     *
+     * <p>If MyFaces (version 1.2), currently under development, does not change
+     * the name of the configuration resource, it will be supported as well.</p>
+     */
+    public URL[] getPlatformURLs() {
+
+        URL[] urls = translate(JSFRI_RESOURCES);
+        if (urls[0] == null) {
+            urls = translate(MYFACES_RESOURCES);
+        }
+        return urls;
+
+    }
+
+
     // ---------------------------------------------------------- Public Methods
 
 
@@ -169,6 +210,22 @@
         }
         return this.digester;
 
+    }
+
+
+    /**
+     * <p>Translate an array of resource names into an array of resource URLs.</p>
+     *
+     * @param names Resource names to translate
+     */
+    private URL[] translate(String[] names) {
+
+        URL[] results = new URL[names.length];
+        for (int i = 0; i < names.length; i++) {
+            results[i] = this.getClass().getResource(names[i]);
+        }
+        return results;
+        
     }
 
 

Modified: shale/framework/trunk/shale-test/src/test/java/org/apache/shale/test/config/ConfigParserTestCase.java
URL: http://svn.apache.org/viewvc/shale/framework/trunk/shale-test/src/test/java/org/apache/shale/test/config/ConfigParserTestCase.java?view=diff&rev=493642&r1=493641&r2=493642
==============================================================================
--- shale/framework/trunk/shale-test/src/test/java/org/apache/shale/test/config/ConfigParserTestCase.java (original)
+++ shale/framework/trunk/shale-test/src/test/java/org/apache/shale/test/config/ConfigParserTestCase.java Sat Jan  6 20:33:12 2007
@@ -81,6 +81,21 @@
     // ------------------------------------------------- Individual Test Methods
 
 
+    // Test access to the platform configuration resources
+    public void testPlatform() throws Exception {
+
+        // Make sure we can acquire a good set of URLs
+        URL[] urls = parser.getPlatformURLs();
+        assertNotNull(urls);
+        assertEquals(1, urls.length);
+        assertNotNull(urls[0]);
+
+        // Now can we actually parse them?
+        parser.parse(urls);
+
+    }
+
+
     // Test a pristine instance
     public void testPristine() {