Author: craigmcc
Date: Sat Jan 6 19:06:03 2007
New Revision: 493637
URL: http://svn.apache.org/viewvc?view=rev&rev=493637
Log:
SHALE-262 Create a concrete Converter and Renderer so we can exercise all
of the configuration processing. Need to add one more feature so that you
can optionally load the standard component/converter/renderer/validator
implementations from the (platform-specific) configuration resources for
whichever JSF implementation you are using.
Added:
shale/framework/trunk/shale-test/src/test/java/org/apache/shale/test/config/MyConverter.java
(with props)
shale/framework/trunk/shale-test/src/test/java/org/apache/shale/test/config/MyRenderer.java
(with props)
Modified:
shale/framework/trunk/shale-test/src/test/java/org/apache/shale/test/config/ConfigParserTestCase.java
shale/framework/trunk/shale-test/src/test/resources/org/apache/shale/test/config/faces-config-1.xml
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=493637&r1=493636&r2=493637
==============================================================================
---
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 19:06:03 2007
@@ -21,6 +21,8 @@
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
+import javax.faces.convert.Converter;
+import javax.faces.render.Renderer;
import junit.framework.Test;
import junit.framework.TestSuite;
import org.apache.shale.test.base.AbstractJsfTestCase;
@@ -112,6 +114,10 @@
assertTrue(list.contains("converter-id-1"));
assertTrue(list.contains("converter-id-2"));
+ Converter converter = application.createConverter(Integer.class);
+ assertNotNull(converter);
+ assertTrue(converter instanceof MyConverter);
+
items = application.getValidatorIds();
list.clear();
while (items.hasNext()) {
@@ -120,6 +126,14 @@
assertTrue(list.contains("validator-id-1"));
assertTrue(list.contains("validator-id-2"));
+ Renderer renderer = renderKit.getRenderer("component-family-1",
"renderer-type-1");
+ assertNotNull(renderer);
+ assertTrue(renderer instanceof MyRenderer);
+
+ renderer = renderKit.getRenderer("component-family-2",
"renderer-type-2");
+ assertNotNull(renderer);
+ assertTrue(renderer instanceof MyRenderer);
+
}
Added:
shale/framework/trunk/shale-test/src/test/java/org/apache/shale/test/config/MyConverter.java
URL:
http://svn.apache.org/viewvc/shale/framework/trunk/shale-test/src/test/java/org/apache/shale/test/config/MyConverter.java?view=auto&rev=493637
==============================================================================
---
shale/framework/trunk/shale-test/src/test/java/org/apache/shale/test/config/MyConverter.java
(added)
+++
shale/framework/trunk/shale-test/src/test/java/org/apache/shale/test/config/MyConverter.java
Sat Jan 6 19:06:03 2007
@@ -0,0 +1,37 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to you 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.
+ */
+
+package org.apache.shale.test.config;
+
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+import javax.faces.convert.Converter;
+
+/**
+ * <p>Concrete converter implementation for testing.</p>
+ */
+public class MyConverter implements Converter {
+
+ public Object getAsObject(FacesContext context, UIComponent component,
String value) {
+ throw new UnsupportedOperationException();
+ }
+
+ public String getAsString(FacesContext context, UIComponent component,
Object value) {
+ throw new UnsupportedOperationException();
+ }
+
+}
Propchange:
shale/framework/trunk/shale-test/src/test/java/org/apache/shale/test/config/MyConverter.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
shale/framework/trunk/shale-test/src/test/java/org/apache/shale/test/config/MyConverter.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Added:
shale/framework/trunk/shale-test/src/test/java/org/apache/shale/test/config/MyRenderer.java
URL:
http://svn.apache.org/viewvc/shale/framework/trunk/shale-test/src/test/java/org/apache/shale/test/config/MyRenderer.java?view=auto&rev=493637
==============================================================================
---
shale/framework/trunk/shale-test/src/test/java/org/apache/shale/test/config/MyRenderer.java
(added)
+++
shale/framework/trunk/shale-test/src/test/java/org/apache/shale/test/config/MyRenderer.java
Sat Jan 6 19:06:03 2007
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to you 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.
+ */
+
+package org.apache.shale.test.config;
+
+import javax.faces.render.Renderer;
+
+/**
+ * <p>Concrete renderer implementation for testing.</p>
+ */
+public class MyRenderer extends Renderer {
+
+}
Propchange:
shale/framework/trunk/shale-test/src/test/java/org/apache/shale/test/config/MyRenderer.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange:
shale/framework/trunk/shale-test/src/test/java/org/apache/shale/test/config/MyRenderer.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Modified:
shale/framework/trunk/shale-test/src/test/resources/org/apache/shale/test/config/faces-config-1.xml
URL:
http://svn.apache.org/viewvc/shale/framework/trunk/shale-test/src/test/resources/org/apache/shale/test/config/faces-config-1.xml?view=diff&rev=493637&r1=493636&r2=493637
==============================================================================
---
shale/framework/trunk/shale-test/src/test/resources/org/apache/shale/test/config/faces-config-1.xml
(original)
+++
shale/framework/trunk/shale-test/src/test/resources/org/apache/shale/test/config/faces-config-1.xml
Sat Jan 6 19:06:03 2007
@@ -39,7 +39,10 @@
<converter-class>com.mycompany.MyConverter2</converter-class>
</converter>
- <!-- FIXME - need a real converter for by-class registration -->
+ <converter>
+ <converter-for-class>java.lang.Integer</converter-for-class>
+
<converter-class>org.apache.shale.test.config.MyConverter</converter-class>
+ </converter>
<validator>
<validator-id>validator-id-1</validator-id>
@@ -51,22 +54,20 @@
<validator-class>com.mycompany.MyValidator2</validator-class>
</validator>
-<!-- FIXME - need some real Renderer classes
<render-kit>
<renderer>
<component-family>component-family-1</component-family>
<renderer-type>renderer-type-1</renderer-type>
- <renderer-class>com.mycompany.MyRenderer1</renderer-class>
+
<renderer-class>org.apache.shale.test.config.MyRenderer</renderer-class>
</renderer>
<renderer>
<component-family>component-family-2</component-family>
<renderer-type>renderer-type-2</renderer-type>
- <renderer-class>com.mycompany.MyRenderer2</renderer-class>
+
<renderer-class>org.apache.shale.test.config.MyRenderer</renderer-class>
</renderer>
</render-kit>
--->
</faces-config>