You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by mm...@apache.org on 2006/02/04 12:17:11 UTC
svn commit: r374858 - in /myfaces/tomahawk/trunk/examples/simple/src/main:
java/org/apache/myfaces/examples/aliasexample/ webapp/ webapp/WEB-INF/
Author: mmarinschek
Date: Sat Feb 4 03:17:01 2006
New Revision: 374858
URL: http://svn.apache.org/viewcvs?rev=374858&view=rev
Log:
added test-case for component-binding
Added:
myfaces/tomahawk/trunk/examples/simple/src/main/java/org/apache/myfaces/examples/aliasexample/ComponentBindingHolderBase.java
myfaces/tomahawk/trunk/examples/simple/src/main/java/org/apache/myfaces/examples/aliasexample/FirstComponentBindingHolder.java
myfaces/tomahawk/trunk/examples/simple/src/main/java/org/apache/myfaces/examples/aliasexample/SecondComponentBindingHolder.java
Modified:
myfaces/tomahawk/trunk/examples/simple/src/main/webapp/WEB-INF/examples-config.xml
myfaces/tomahawk/trunk/examples/simple/src/main/webapp/aliasBean.jsp
Added: myfaces/tomahawk/trunk/examples/simple/src/main/java/org/apache/myfaces/examples/aliasexample/ComponentBindingHolderBase.java
URL: http://svn.apache.org/viewcvs/myfaces/tomahawk/trunk/examples/simple/src/main/java/org/apache/myfaces/examples/aliasexample/ComponentBindingHolderBase.java?rev=374858&view=auto
==============================================================================
--- myfaces/tomahawk/trunk/examples/simple/src/main/java/org/apache/myfaces/examples/aliasexample/ComponentBindingHolderBase.java (added)
+++ myfaces/tomahawk/trunk/examples/simple/src/main/java/org/apache/myfaces/examples/aliasexample/ComponentBindingHolderBase.java Sat Feb 4 03:17:01 2006
@@ -0,0 +1,62 @@
+/*
+ * Copyright 2004 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.
+ */
+package org.apache.myfaces.examples.aliasexample;
+
+import javax.faces.component.html.HtmlPanelGroup;
+import javax.faces.component.html.HtmlOutputText;
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+
+/**
+ * @author Martin Marinschek (latest modification by $Author: matzew $)
+ * @version $Revision: 167718 $ $Date: 2005-03-24 17:47:11 +0100 (Do, 24 Mär 2005) $
+ */
+public abstract class ComponentBindingHolderBase
+{
+ protected HtmlPanelGroup _panelGroup;
+
+ public HtmlPanelGroup getPanelGroup()
+ {
+ if(_panelGroup == null)
+ {
+ _panelGroup = (HtmlPanelGroup) createComponent(HtmlPanelGroup.COMPONENT_TYPE);
+ _panelGroup.getChildren().add(createOutputText());
+ }
+
+ return _panelGroup;
+ }
+
+ public void setPanelGroup(HtmlPanelGroup panelGroup)
+ {
+ _panelGroup = panelGroup;
+ _panelGroup.getChildren().add(createOutputText());
+ }
+
+ protected UIComponent createComponent(String type)
+ {
+ return FacesContext.getCurrentInstance().getApplication().createComponent(type);
+ }
+
+ private HtmlOutputText createOutputText()
+ {
+ HtmlOutputText text = (HtmlOutputText) createComponent(HtmlOutputText.COMPONENT_TYPE);
+ text.setValue(getText());
+ return text;
+ }
+
+ protected abstract String getText();
+
+}
Added: myfaces/tomahawk/trunk/examples/simple/src/main/java/org/apache/myfaces/examples/aliasexample/FirstComponentBindingHolder.java
URL: http://svn.apache.org/viewcvs/myfaces/tomahawk/trunk/examples/simple/src/main/java/org/apache/myfaces/examples/aliasexample/FirstComponentBindingHolder.java?rev=374858&view=auto
==============================================================================
--- myfaces/tomahawk/trunk/examples/simple/src/main/java/org/apache/myfaces/examples/aliasexample/FirstComponentBindingHolder.java (added)
+++ myfaces/tomahawk/trunk/examples/simple/src/main/java/org/apache/myfaces/examples/aliasexample/FirstComponentBindingHolder.java Sat Feb 4 03:17:01 2006
@@ -0,0 +1,19 @@
+package org.apache.myfaces.examples.aliasexample;
+
+import javax.faces.component.html.HtmlPanelGroup;
+import javax.faces.component.html.HtmlOutputText;
+
+/**
+ * @author Martin Marinschek (latest modification by $Author: matzew $)
+ * @version $Revision: 167718 $ $Date: 2005-03-24 17:47:11 +0100 (Do, 24 Mär 2005) $
+ */
+public class FirstComponentBindingHolder extends ComponentBindingHolderBase
+{
+
+ protected String getText()
+ {
+ return "first";
+ }
+
+
+}
Added: myfaces/tomahawk/trunk/examples/simple/src/main/java/org/apache/myfaces/examples/aliasexample/SecondComponentBindingHolder.java
URL: http://svn.apache.org/viewcvs/myfaces/tomahawk/trunk/examples/simple/src/main/java/org/apache/myfaces/examples/aliasexample/SecondComponentBindingHolder.java?rev=374858&view=auto
==============================================================================
--- myfaces/tomahawk/trunk/examples/simple/src/main/java/org/apache/myfaces/examples/aliasexample/SecondComponentBindingHolder.java (added)
+++ myfaces/tomahawk/trunk/examples/simple/src/main/java/org/apache/myfaces/examples/aliasexample/SecondComponentBindingHolder.java Sat Feb 4 03:17:01 2006
@@ -0,0 +1,17 @@
+package org.apache.myfaces.examples.aliasexample;
+
+import javax.faces.component.html.HtmlPanelGroup;
+import javax.faces.component.html.HtmlOutputText;
+
+/**
+ * @author Martin Marinschek (latest modification by $Author: matzew $)
+ * @version $Revision: 167718 $ $Date: 2005-03-24 17:47:11 +0100 (Do, 24 Mär 2005) $
+ */
+public class SecondComponentBindingHolder extends ComponentBindingHolderBase
+{
+
+ protected String getText()
+ {
+ return "second";
+ }
+}
Modified: myfaces/tomahawk/trunk/examples/simple/src/main/webapp/WEB-INF/examples-config.xml
URL: http://svn.apache.org/viewcvs/myfaces/tomahawk/trunk/examples/simple/src/main/webapp/WEB-INF/examples-config.xml?rev=374858&r1=374857&r2=374858&view=diff
==============================================================================
--- myfaces/tomahawk/trunk/examples/simple/src/main/webapp/WEB-INF/examples-config.xml (original)
+++ myfaces/tomahawk/trunk/examples/simple/src/main/webapp/WEB-INF/examples-config.xml Sat Feb 4 03:17:01 2006
@@ -72,6 +72,18 @@
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
+ <managed-bean>
+ <managed-bean-name>firstComponentBindingHolder</managed-bean-name>
+ <managed-bean-class>org.apache.myfaces.examples.aliasexample.FirstComponentBindingHolder</managed-bean-class>
+ <managed-bean-scope>request</managed-bean-scope>
+ </managed-bean>
+
+ <managed-bean>
+ <managed-bean-name>secondComponentBindingHolder</managed-bean-name>
+ <managed-bean-class>org.apache.myfaces.examples.aliasexample.SecondComponentBindingHolder</managed-bean-class>
+ <managed-bean-scope>request</managed-bean-scope>
+ </managed-bean>
+
<!-- Managed Beans for collapsiblePanel.jsp -->
<managed-bean>
<managed-bean-name>firstCollapsiblePanelBean</managed-bean-name>
Modified: myfaces/tomahawk/trunk/examples/simple/src/main/webapp/aliasBean.jsp
URL: http://svn.apache.org/viewcvs/myfaces/tomahawk/trunk/examples/simple/src/main/webapp/aliasBean.jsp?rev=374858&r1=374857&r2=374858&view=diff
==============================================================================
--- myfaces/tomahawk/trunk/examples/simple/src/main/webapp/aliasBean.jsp (original)
+++ myfaces/tomahawk/trunk/examples/simple/src/main/webapp/aliasBean.jsp Sat Feb 4 03:17:01 2006
@@ -85,6 +85,21 @@
</t:div>
</t:aliasBeansScope>
+ <h2>aliasBean with component-binding - if everything works, you should see 'first' followed by 'second'</h2>
+ <t:aliasBean alias="#{holder}" value="#{firstComponentBindingHolder}" >
+ <f:subview id="simulatedIncludedSubform3">
+ <%-- The next tags could be inserted by an %@ include or jsp:include --%>
+ <h:panelGroup binding="#{firstComponentBindingHolder.panelGroup}"/>
+ </f:subview>
+ </t:aliasBean>
+
+ <t:aliasBean alias="#{holder}" value="#{firstComponentBindingHolder}" >
+ <f:subview id="simulatedIncludedSubform3">
+ <%-- The next tags could be inserted by an %@ include or jsp:include --%>
+ <h:panelGroup binding="#{secondComponentBindingHolder.panelGroup}"/>
+ </f:subview>
+ </t:aliasBean>
+
<br/><br/>
<h:commandButton/>