You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by pr...@apache.org on 2005/11/23 00:17:17 UTC

svn commit: r348285 - in /myfaces/sandbox/trunk: conf/faces-config.xml src/java/org/apache/myfaces/custom/inputAjax/HtmlMessageRenderer.java src/java/org/apache/myfaces/custom/inputAjax/HtmlMessageTag.java

Author: prophecy
Date: Tue Nov 22 15:17:14 2005
New Revision: 348285

URL: http://svn.apache.org/viewcvs?rev=348285&view=rev
Log:
- made a sandbox MessageTag so it could change default behaviour for client side updating

Added:
    myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/inputAjax/HtmlMessageRenderer.java
Modified:
    myfaces/sandbox/trunk/conf/faces-config.xml
    myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/inputAjax/HtmlMessageTag.java

Modified: myfaces/sandbox/trunk/conf/faces-config.xml
URL: http://svn.apache.org/viewcvs/myfaces/sandbox/trunk/conf/faces-config.xml?rev=348285&r1=348284&r2=348285&view=diff
==============================================================================
--- myfaces/sandbox/trunk/conf/faces-config.xml (original)
+++ myfaces/sandbox/trunk/conf/faces-config.xml Tue Nov 22 15:17:14 2005
@@ -216,6 +216,12 @@
         <renderer-class>org.apache.myfaces.custom.picklist.HtmlPicklistRenderer</renderer-class>
     </renderer>
 
+    <renderer>
+        <component-family>javax.faces.Message</component-family>
+        <renderer-type>org.apache.myfaces.MessageSandbox</renderer-type>
+        <renderer-class>org.apache.myfaces.custom.inputAjax.HtmlMessageRenderer</renderer-class>
+    </renderer>
+
   </render-kit>
 
 

Added: myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/inputAjax/HtmlMessageRenderer.java
URL: http://svn.apache.org/viewcvs/myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/inputAjax/HtmlMessageRenderer.java?rev=348285&view=auto
==============================================================================
--- myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/inputAjax/HtmlMessageRenderer.java (added)
+++ myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/inputAjax/HtmlMessageRenderer.java Tue Nov 22 15:17:14 2005
@@ -0,0 +1,21 @@
+package org.apache.myfaces.custom.inputAjax;
+
+import javax.faces.context.FacesContext;
+import javax.faces.component.UIComponent;
+import java.io.IOException;
+
+/**
+ * User: treeder
+ * Date: Nov 22, 2005
+ * Time: 2:17:13 PM
+ */
+public class HtmlMessageRenderer extends org.apache.myfaces.renderkit.html.ext.HtmlMessageRenderer
+{
+    public void encodeEnd(FacesContext facesContext, UIComponent component) throws IOException
+    {
+        System.out.println("ENCODEEND IN New Message Renderer");
+        //super.encodeEnd(facesContext, component);
+        // Make sure a span is output
+        renderMessage(facesContext, component, true);
+    }
+}

Modified: myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/inputAjax/HtmlMessageTag.java
URL: http://svn.apache.org/viewcvs/myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/inputAjax/HtmlMessageTag.java?rev=348285&r1=348284&r2=348285&view=diff
==============================================================================
--- myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/inputAjax/HtmlMessageTag.java (original)
+++ myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/inputAjax/HtmlMessageTag.java Tue Nov 22 15:17:14 2005
@@ -6,6 +6,7 @@
 import javax.faces.component.UIComponent;
 import javax.faces.context.FacesContext;
 import javax.servlet.jsp.JspException;
+import java.io.IOException;
 
 /**
  * User: treeder
@@ -17,31 +18,57 @@
     private static final Log log = LogFactory.getLog(HtmlMessageTag.class);
 
 
+    protected void encodeEnd() throws IOException
+    {
+        super.encodeEnd();
+    }
+
+    public String getRendererType()
+    {
+        return "org.apache.myfaces.MessageSandbox";
+    }
+
+
     public void setFor(String aFor)
     {
         super.setFor(aFor);
+        String id = getId();
+        //UIComponent comp = getComponentInstance();
+        log.debug("setFor ID WAS: " + id); // Are these tags reused??  The id at this point is set to the last s:message on the page?
 
-       /* String id = getId();
-        UIComponent comp = getComponentInstance();
-        log.debug("ID WAS: " + id);
-        if (id == null)
-        {
+        /*if (id == null)
+        {*/
             // default id so client side scripts can use this (ie: ajax), this will obviously break things if someone specifies an id, so please don't specify an id if using Ajax components!
             id = "msgFor_" + getFor();
             log.debug("Setting id on MessageTag: " + id);
             setId(id);
             setForceId("true");
-            if(comp != null){
+            /*if(comp != null){
                 log.debug("SETTING COMP ID");
                 comp.setId(id);
-            }
-        }*/
+            }*/
+        //}
 
     }
 
     protected UIComponent findComponent(FacesContext context) throws JspException
     {
         log.debug("FINDCOMPONENT");
+        String id = getId();
+        //UIComponent comp = getComponentInstance();
+        log.debug("ID WAS: " + id);
+        if (id == null)
+        {
+            // default id so client side scripts can use this (ie: ajax), this will obviously break things if someone specifies an id, so please don't specify an id if using Ajax components!
+            id = "msgFor_" + getFor();
+            log.debug("Setting id on MessageTag: " + id);
+            setId(id);
+            setForceId("true");
+            /*if(comp != null){
+                log.debug("SETTING COMP ID");
+                comp.setId(id);
+            }*/
+        }
         return super.findComponent(context);
     }
 }