[seam-commits] Seam SVN: r8192 - in trunk/src: main/org/jboss/seam/jsf and 1 other directory.

seam-commits at lists.jboss.org seam-commits at lists.jboss.org
Wed May 14 12:56:29 EDT 2008


Author: pete.muir at jboss.org
Date: 2008-05-14 12:56:29 -0400 (Wed, 14 May 2008)
New Revision: 8192

Added:
   trunk/src/main/org/jboss/seam/jsf/DelegatingFacesContext.java
Modified:
   trunk/src/mail/org/jboss/seam/mail/ui/context/MailFacesContextImpl.java
Log:
factor out a delegating faces context utility class

Modified: trunk/src/mail/org/jboss/seam/mail/ui/context/MailFacesContextImpl.java
===================================================================
--- trunk/src/mail/org/jboss/seam/mail/ui/context/MailFacesContextImpl.java	2008-05-14 14:13:29 UTC (rev 8191)
+++ trunk/src/mail/org/jboss/seam/mail/ui/context/MailFacesContextImpl.java	2008-05-14 16:56:29 UTC (rev 8192)
@@ -1,23 +1,15 @@
 package org.jboss.seam.mail.ui.context;
 
-import java.util.Iterator;
-
-import javax.el.ELContext;
-import javax.faces.application.Application;
-import javax.faces.application.FacesMessage;
-import javax.faces.application.FacesMessage.Severity;
-import javax.faces.component.UIViewRoot;
 import javax.faces.context.ExternalContext;
 import javax.faces.context.FacesContext;
-import javax.faces.context.ResponseStream;
 import javax.faces.context.ResponseWriter;
-import javax.faces.render.RenderKit;
 
+import org.jboss.seam.jsf.DelegatingFacesContext;
 
-public class MailFacesContextImpl extends FacesContext
+
+public class MailFacesContextImpl extends DelegatingFacesContext
 {
    
-   private FacesContext delegate;
    private ExternalContext externalContext;
    
    private ResponseWriter responseWriter;
@@ -27,132 +19,31 @@
       this(delegate, null);
    }
    
-   public MailFacesContextImpl(FacesContext facesContext, String urlBase)
+   public MailFacesContextImpl(FacesContext delegate, String urlBase)
    {
-      this.delegate = facesContext;
-      externalContext = new MailExternalContextImpl(delegate.getExternalContext(), urlBase);
-      responseWriter = new MailResponseWriter(delegate.getResponseWriter(), delegate.getResponseWriter().getContentType());
+      super(delegate);
+      externalContext = new MailExternalContextImpl(getDelegate().getExternalContext(), urlBase);
+      responseWriter = new MailResponseWriter(getDelegate().getResponseWriter(), getDelegate().getResponseWriter().getContentType());
    }
 
    @Override
-   public void addMessage(String clientId, FacesMessage message)
-   {
-      delegate.addMessage(clientId, message);
-   }
-
-   @Override
-   public Application getApplication()
-   {
-     return delegate.getApplication();
-   }
-
-   @Override
-   public Iterator getClientIdsWithMessages()
-   {
-     return delegate.getClientIdsWithMessages();
-   }
-
-   @Override
    public ExternalContext getExternalContext()
    {
       return externalContext;
    }
 
    @Override
-   public Severity getMaximumSeverity()
-   {
-      return delegate.getMaximumSeverity();
-   }
-
-   @Override
-   public Iterator getMessages()
-   {
-     return delegate.getMessages();
-   }
-
-   @Override
-   public Iterator getMessages(String clientId)
-   {
-      return delegate.getMessages(clientId);
-   }
-
-   @Override
-   public RenderKit getRenderKit()
-   {
-     return delegate.getRenderKit();
-   }
-
-   @Override
-   public boolean getRenderResponse()
-   {
-      return delegate.getRenderResponse();
-   }
-
-   @Override
-   public boolean getResponseComplete()
-   {
-     return delegate.getResponseComplete();
-   }
-
-   @Override
-   public ResponseStream getResponseStream()
-   {
-      return delegate.getResponseStream();
-   }
-
-   @Override
    public ResponseWriter getResponseWriter()
    {
       return responseWriter;
    }
 
    @Override
-   public UIViewRoot getViewRoot()
-   {
-     return delegate.getViewRoot();
-   }
-
-   @Override
-   public void release()
-   {
-      delegate.release();
-   }
-
-   @Override
-   public void renderResponse()
-   {
-     delegate.renderResponse();
-   }
-
-   @Override
-   public void responseComplete()
-   {
-      delegate.responseComplete();
-   }
-
-   @Override
-   public void setResponseStream(ResponseStream responseStream)
-   {
-      delegate.setResponseStream(responseStream);
-   }
-
-   @Override
    public void setResponseWriter(ResponseWriter responseWriter)
    {
       this.responseWriter = responseWriter;
    }
-
-   @Override
-   public void setViewRoot(UIViewRoot root)
-   {
-      delegate.setViewRoot(root);
-   }
    
-   public FacesContext getDelegate() 
-   {
-      return delegate;
-   }
-   
    public static void start(String urlBase) 
    {
       FacesContext mailFacesContext = new MailFacesContextImpl(getCurrentInstance(), urlBase);
@@ -168,12 +59,5 @@
          
       }
    }
-   
-   @Override
-   public ELContext getELContext()
-   {
-      return delegate.getELContext();
-   }
 
-
 }

Added: trunk/src/main/org/jboss/seam/jsf/DelegatingFacesContext.java
===================================================================
--- trunk/src/main/org/jboss/seam/jsf/DelegatingFacesContext.java	                        (rev 0)
+++ trunk/src/main/org/jboss/seam/jsf/DelegatingFacesContext.java	2008-05-14 16:56:29 UTC (rev 8192)
@@ -0,0 +1,165 @@
+package org.jboss.seam.jsf;
+
+import java.util.Iterator;
+
+import javax.el.ELContext;
+import javax.faces.application.Application;
+import javax.faces.application.FacesMessage;
+import javax.faces.application.FacesMessage.Severity;
+import javax.faces.component.UIViewRoot;
+import javax.faces.context.ExternalContext;
+import javax.faces.context.FacesContext;
+import javax.faces.context.ResponseStream;
+import javax.faces.context.ResponseWriter;
+import javax.faces.render.RenderKit;
+
+/**
+ * Implementation of FacesContext that delegates all calls.
+ * 
+ * Further, it exposes {@link #setCurrentInstance(FacesContext)} as a public
+ * method
+ * 
+ * @author Pete Muir
+ *
+ */
+public class DelegatingFacesContext extends FacesContext
+{
+   
+   private FacesContext delegate;
+   
+   public DelegatingFacesContext(FacesContext delegate)
+   {
+      this.delegate = delegate;
+   }
+
+   @Override
+   public void addMessage(String clientId, FacesMessage message)
+   {
+      delegate.addMessage(clientId, message);
+   }
+
+   @Override
+   public Application getApplication()
+   {
+     return delegate.getApplication();
+   }
+
+   @Override
+   public Iterator getClientIdsWithMessages()
+   {
+     return delegate.getClientIdsWithMessages();
+   }
+
+   @Override
+   public ExternalContext getExternalContext()
+   {
+      return delegate.getExternalContext();
+   }
+
+   @Override
+   public Severity getMaximumSeverity()
+   {
+      return delegate.getMaximumSeverity();
+   }
+
+   @Override
+   public Iterator getMessages()
+   {
+     return delegate.getMessages();
+   }
+
+   @Override
+   public Iterator getMessages(String clientId)
+   {
+      return delegate.getMessages(clientId);
+   }
+
+   @Override
+   public RenderKit getRenderKit()
+   {
+     return delegate.getRenderKit();
+   }
+
+   @Override
+   public boolean getRenderResponse()
+   {
+      return delegate.getRenderResponse();
+   }
+
+   @Override
+   public boolean getResponseComplete()
+   {
+     return delegate.getResponseComplete();
+   }
+
+   @Override
+   public ResponseStream getResponseStream()
+   {
+      return delegate.getResponseStream();
+   }
+
+   @Override
+   public ResponseWriter getResponseWriter()
+   {
+      return delegate.getResponseWriter();
+   }
+
+   @Override
+   public UIViewRoot getViewRoot()
+   {
+     return delegate.getViewRoot();
+   }
+
+   @Override
+   public void release()
+   {
+      delegate.release();
+   }
+
+   @Override
+   public void renderResponse()
+   {
+     delegate.renderResponse();
+   }
+
+   @Override
+   public void responseComplete()
+   {
+      delegate.responseComplete();
+   }
+
+   @Override
+   public void setResponseStream(ResponseStream responseStream)
+   {
+      delegate.setResponseStream(responseStream);
+   }
+
+   @Override
+   public void setResponseWriter(ResponseWriter responseWriter)
+   {
+      delegate.setResponseWriter(responseWriter);
+   }
+
+   @Override
+   public void setViewRoot(UIViewRoot root)
+   {
+      delegate.setViewRoot(root);
+   }
+   
+   public FacesContext getDelegate() 
+   {
+      return delegate;
+   }
+   
+   @Override
+   public ELContext getELContext()
+   {
+      return delegate.getELContext();
+   }
+
+   public static void setCurrentInstance(FacesContext context) 
+   {
+      FacesContext.setCurrentInstance(context);
+  }
+   
+}


Property changes on: trunk/src/main/org/jboss/seam/jsf/DelegatingFacesContext.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain




More information about the seam-commits mailing list