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() {