[jboss-cvs] jboss-seam/src/pdf/org/jboss/seam/pdf/ui ...

Norman Richards norman.richards at jboss.com
Thu Dec 20 18:55:38 EST 2007


  User: nrichards
  Date: 07/12/20 18:55:38

  Modified:    src/pdf/org/jboss/seam/pdf/ui  UIDocument.java
  Log:
  JBSEAM-2366
  
  Revision  Changes    Path
  1.27      +25 -47    jboss-seam/src/pdf/org/jboss/seam/pdf/ui/UIDocument.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: UIDocument.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/src/pdf/org/jboss/seam/pdf/ui/UIDocument.java,v
  retrieving revision 1.26
  retrieving revision 1.27
  diff -u -b -r1.26 -r1.27
  --- UIDocument.java	20 Dec 2007 19:34:55 -0000	1.26
  +++ UIDocument.java	20 Dec 2007 23:55:38 -0000	1.27
  @@ -10,6 +10,7 @@
   import javax.faces.component.UIComponent;
   import javax.faces.component.ValueHolder;
   import javax.faces.context.*;
  +
   import java.io.*;
   
   import com.lowagie.text.*;
  @@ -29,12 +30,10 @@
       DocWriter writer;
       Document document;
       ByteArrayOutputStream stream;
  -    String id;
  -    String baseName;
  -    String disposition;
       
       DocumentType documentType;
   
  +    String disposition;
       String type;
       String title;
       String subject;
  @@ -49,7 +48,6 @@
   
       boolean sendRedirect = true;
   
  -
       UISignature signatureField;
   
       public void setDisposition(String disposition) {
  @@ -132,7 +130,6 @@
                   Rectangle currentSize = document.getPageSize();
                   document.setPageSize(new Rectangle(currentSize.height(),
                           currentSize.width()));
  -
               } else {
                   throw new RuntimeException("orientation value " + orientation + "unknown");
               }
  @@ -154,7 +151,7 @@
           }        
       }
   
  -    private void initMetaData(FacesContext context) {
  +    protected void initMetaData(FacesContext context) {
           title = (String) valueBinding(context, "title", title);
           if (title != null) {
               document.addTitle(title);
  @@ -203,6 +200,7 @@
           this.signatureField = signatureField;
       }
   
  +    
       @Override
       public void encodeBegin(FacesContext context) 
       throws IOException
  @@ -215,42 +213,16 @@
               writer = createWriterForStream(stream);
   
               initMetaData(context);
  -
               processHeaders();
   
               document.open();
           } catch (DocumentException e) {
               throw new RuntimeException(e);
           }
  -
  -        if (sendRedirect) {
  -            DocumentStore store = DocumentStore.instance();
  -            id = store.newId();
  -
  -            ResponseWriter response = context.getResponseWriter();
  -            response.write("<!DOCTYPE composition PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\" >");
  -            response.startElement("html", this);
  -            response.writeAttribute("xmlns", "http://www.w3.org/1999/xhtml", null);
  -            response.startElement("head", this);
  -            response.startElement("meta", this);
  -            response.writeAttribute("http-equiv", "Refresh", null);
  -
  -            String viewId = Pages.getViewId(context);
  -            baseName = baseNameForViewId(viewId); 
  -            String url = store.preferredUrlForContent(baseName, documentType.getExtension(), id);
  -
  -            url = Manager.instance().encodeConversationId(url, viewId);
  -
  -            response.writeAttribute("content", "0; URL=" + url, null);
  -
  -            response.endElement("meta");
  -            response.endElement("head");
  -
  -            response.startElement("body",this);
  -        }
       }
   
  -    private void processHeaders() {
  +   
  +    protected void processHeaders() {
           Object facet = getFacet("header");      
   
           if (facet == null) {
  @@ -268,7 +240,7 @@
   
   
   
  -    private String baseNameForViewId(String viewId) {
  +    protected String baseNameForViewId(String viewId) {
           int pos = viewId.lastIndexOf("/");
           if (pos != -1) {
               viewId = viewId.substring(pos+1);
  @@ -282,6 +254,7 @@
           return viewId;
       }
   
  +    
       @Override
       public void encodeEnd(FacesContext context) 
           throws IOException
  @@ -294,23 +267,27 @@
               bytes = signatureField.sign(bytes);
           }
   
  -        DocumentData documentData = new DocumentData(baseName, documentType, bytes);
  +        String viewId = Pages.getViewId(context);        
  +        String baseName = baseNameForViewId(viewId); 
   
  +        DocumentData documentData = new DocumentData(baseName, documentType, bytes);
           String dispositionValue = (String) valueBinding(context, "disposition", disposition);
           if (dispositionValue != null) {
               documentData.setDisposition(dispositionValue);
           }
           
           if (sendRedirect) {
  -            DocumentStore.instance().saveData(id,documentData);
  +            DocumentStore store = DocumentStore.instance();
  +            String id = store.newId();
   
  -            ResponseWriter response = context.getResponseWriter();
  -            response.endElement("body");
  -            response.endElement("html");
  +            String url = store.preferredUrlForContent(baseName, documentType.getExtension(), id);
  +            url = Manager.instance().encodeConversationId(url, viewId);
  +
  +            store.saveData(id, documentData);
   
               removeITextObject();
   
  -            Manager.instance().beforeRedirect();
  +            context.getExternalContext().redirect(url);
           } else {
               UIComponent parent = getParent();
   
  @@ -321,6 +298,7 @@
           }
       }
   
  +
       public DocWriter getWriter() {
           return writer;
       }    
  @@ -339,7 +317,7 @@
       }
       
   
  -    private DocWriter createWriterForStream(OutputStream stream) 
  +    protected DocWriter createWriterForStream(OutputStream stream) 
           throws DocumentException 
       {
           if (documentType == PDF) {
  
  
  



More information about the jboss-cvs-commits mailing list