You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by bo...@apache.org on 2007/03/13 00:42:12 UTC

svn commit: r517460 - in /myfaces/tobago/trunk: contrib/fileupload/src/main/java/org/apache/myfaces/tobago/fileupload/ core/src/main/java/org/apache/myfaces/tobago/servlet/ example/addressbook/ example/addressbook/src/main/java/org/apache/myfaces/tobag...

Author: bommel
Date: Mon Mar 12 16:42:11 2007
New Revision: 517460

URL: http://svn.apache.org/viewvc?view=rev&rev=517460
Log:
some improvements

Modified:
    myfaces/tobago/trunk/contrib/fileupload/src/main/java/org/apache/myfaces/tobago/fileupload/FileUploadFacesContextFactoryImpl.java
    myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/servlet/NonFacesRequestServlet.java
    myfaces/tobago/trunk/example/addressbook/pom.xml
    myfaces/tobago/trunk/example/addressbook/src/main/java/org/apache/myfaces/tobago/example/addressbook/web/PictureServlet.java
    myfaces/tobago/trunk/example/addressbook/src/main/webapp/WEB-INF/web.xml

Modified: myfaces/tobago/trunk/contrib/fileupload/src/main/java/org/apache/myfaces/tobago/fileupload/FileUploadFacesContextFactoryImpl.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/contrib/fileupload/src/main/java/org/apache/myfaces/tobago/fileupload/FileUploadFacesContextFactoryImpl.java?view=diff&rev=517460&r1=517459&r2=517460
==============================================================================
--- myfaces/tobago/trunk/contrib/fileupload/src/main/java/org/apache/myfaces/tobago/fileupload/FileUploadFacesContextFactoryImpl.java (original)
+++ myfaces/tobago/trunk/contrib/fileupload/src/main/java/org/apache/myfaces/tobago/fileupload/FileUploadFacesContextFactoryImpl.java Mon Mar 12 16:42:11 2007
@@ -99,7 +99,7 @@
         // ignore
       }
     } catch (NamingException e) {
-      LOG.error("Error getting env-entry", e);
+      //ignore no naming available 
     }
     LOG.info("Configure uploadMaxFileSize for "+ getClass().getName() + " to "+ this.maxSize);
     LOG.info("Configure uploadRepositryPath for "+ getClass().getName() + " to "+ this.repositoryPath);

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/servlet/NonFacesRequestServlet.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/servlet/NonFacesRequestServlet.java?view=diff&rev=517460&r1=517459&r2=517460
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/servlet/NonFacesRequestServlet.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/servlet/NonFacesRequestServlet.java Mon Mar 12 16:42:11 2007
@@ -66,6 +66,9 @@
     // invoke application
     String outcome = invokeApplication(facesContext);
 
+    if (facesContext.getResponseComplete()) {
+        return;
+    }
     if (LOG.isDebugEnabled()) {
       LOG.debug("outcome = '" + outcome + "'");
     }

Modified: myfaces/tobago/trunk/example/addressbook/pom.xml
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/example/addressbook/pom.xml?view=diff&rev=517460&r1=517459&r2=517460
==============================================================================
--- myfaces/tobago/trunk/example/addressbook/pom.xml (original)
+++ myfaces/tobago/trunk/example/addressbook/pom.xml Mon Mar 12 16:42:11 2007
@@ -94,6 +94,11 @@
     </dependency>
     <dependency>
       <groupId>org.apache.myfaces.tobago</groupId>
+      <artifactId>tobago-fileupload</artifactId>
+      <version>${project.version}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.myfaces.tobago</groupId>
       <artifactId>tobago-theme-charlotteville</artifactId>
       <version>${project.version}</version>
     </dependency>

Modified: myfaces/tobago/trunk/example/addressbook/src/main/java/org/apache/myfaces/tobago/example/addressbook/web/PictureServlet.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/example/addressbook/src/main/java/org/apache/myfaces/tobago/example/addressbook/web/PictureServlet.java?view=diff&rev=517460&r1=517459&r2=517460
==============================================================================
--- myfaces/tobago/trunk/example/addressbook/src/main/java/org/apache/myfaces/tobago/example/addressbook/web/PictureServlet.java (original)
+++ myfaces/tobago/trunk/example/addressbook/src/main/java/org/apache/myfaces/tobago/example/addressbook/web/PictureServlet.java Mon Mar 12 16:42:11 2007
@@ -20,43 +20,40 @@
 import org.apache.myfaces.tobago.util.VariableResolverUtil;
 import org.apache.myfaces.tobago.example.addressbook.Address;
 import org.apache.myfaces.tobago.example.addressbook.Picture;
+import org.apache.myfaces.tobago.servlet.NonFacesRequestServlet;
 import org.apache.commons.io.IOUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import javax.servlet.ServletException;
-import javax.faces.context.FacesContextFactory;
 import javax.faces.context.FacesContext;
-import javax.faces.FactoryFinder;
-import javax.faces.lifecycle.LifecycleFactory;
-import javax.faces.lifecycle.Lifecycle;
 import java.io.IOException;
 import java.io.ByteArrayInputStream;
 
 
-public class PictureServlet extends HttpServlet {
+public class PictureServlet extends NonFacesRequestServlet {
+  private static final Log LOG = LogFactory.getLog(PictureServlet.class);
 
-  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
-    LifecycleFactory lFactory = (LifecycleFactory) FactoryFinder.getFactory(FactoryFinder.LIFECYCLE_FACTORY);
-    Lifecycle lifecycle = lFactory.getLifecycle(LifecycleFactory.DEFAULT_LIFECYCLE);
-    FacesContextFactory fcFactory =
-        (FacesContextFactory) FactoryFinder.getFactory(FactoryFinder.FACES_CONTEXT_FACTORY);
-    FacesContext facesContext = fcFactory.getFacesContext(getServletContext(), request, response, lifecycle);
+  public String invokeApplication(FacesContext facesContext) {
     Controller controller = (Controller) VariableResolverUtil.resolveVariable(facesContext, "controller");
     Address address = controller.getCurrentAddress();
     if (address.hasPicture()) {
       Picture picture = address.getPicture();
       byte[] content = picture.getContent();
+      HttpServletResponse response = (HttpServletResponse) facesContext.getExternalContext().getResponse();
       if (content != null && content.length > 0) {
         response.setContentType(picture.getContentType());
         ByteArrayInputStream inputStream = new ByteArrayInputStream(content);
         try {
           IOUtils.copy(inputStream, response.getOutputStream());
+        } catch (IOException e) {
+          LOG.error("", e);
         } finally{
           IOUtils.closeQuietly(inputStream);
         }
       }
+      facesContext.responseComplete();
     }
+    return null;  
   }
 }

Modified: myfaces/tobago/trunk/example/addressbook/src/main/webapp/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/example/addressbook/src/main/webapp/WEB-INF/web.xml?view=diff&rev=517460&r1=517459&r2=517460
==============================================================================
--- myfaces/tobago/trunk/example/addressbook/src/main/webapp/WEB-INF/web.xml (original)
+++ myfaces/tobago/trunk/example/addressbook/src/main/webapp/WEB-INF/web.xml Mon Mar 12 16:42:11 2007
@@ -24,15 +24,6 @@
 
   <display-name>A simple addressbook demo with Tobago</display-name>
 
-  <filter>
-     <filter-name>multipartFormdataFilter</filter-name>
-     <filter-class>org.apache.myfaces.tobago.webapp.TobagoMultipartFormdataFilter</filter-class>
-   </filter>
-
-   <filter-mapping>
-     <filter-name>multipartFormdataFilter</filter-name>
-     <url-pattern>/faces/*</url-pattern>
-   </filter-mapping>
 
   <!--  workaround for a bug in Oracle AS (e.g. 10.1.2.0.0)-->
   <listener>