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

Norman Richards norman.richards at jboss.com
Mon Dec 3 12:25:44 EST 2007


  User: nrichards
  Date: 07/12/03 12:25:44

  Modified:    src/pdf/org/jboss/seam/pdf     DocumentData.java
                        DocumentStore.java DocumentStorePhaseListener.java
                        DocumentStoreServlet.java
  Log:
  JBSEAM-2000
  
  Revision  Changes    Path
  1.3       +15 -19    jboss-seam/src/pdf/org/jboss/seam/pdf/DocumentData.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: DocumentData.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/src/pdf/org/jboss/seam/pdf/DocumentData.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -b -r1.2 -r1.3
  --- DocumentData.java	9 May 2007 19:08:42 -0000	1.2
  +++ DocumentData.java	3 Dec 2007 17:25:44 -0000	1.3
  @@ -2,39 +2,34 @@
   
   public class DocumentData {
       byte[] data;
  -    DocType docType;
  +    DocumentType documentType;
       String baseName;
       
  -    public DocumentData(String baseName, DocType docType, byte[] data) {
  +    public DocumentData(String baseName, DocumentType documentType, byte[] data) {
           super();
           this.data = data;
  -        this.docType = docType;
  +        this.documentType = documentType;
           this.baseName = baseName;
       }
       public byte[] getData() {
           return data;
       }
  -    public DocType getDocType() {
  -        return docType;
  +    public DocumentType getDocumentType() {
  +        return documentType;
       }
       public String getBaseName() {
           return baseName;
       }
           
       public String getFileName() {
  -        return getBaseName() + "." + getDocType().getExtension();
  +        return getBaseName() + "." + getDocumentType().getExtension();
       }
       
  -    public enum DocType { 
  -        PDF("pdf", "application/pdf"), 
  -        JPEG("jpg", "image/jpeg"), 
  -        RTF("rtf", "text/rtf"),
  -        HTML("html", "text/html");
  -        
  +    static public class DocumentType {
           private String mimeType;
           private String extension;
   
  -        DocType(String extension, String mimeType) {
  +        public DocumentType(String extension, String mimeType) {
               this.extension = extension;
               this.mimeType = mimeType;
           }
  @@ -46,5 +41,6 @@
           public String getExtension(){
               return extension;
           }
  +
       }
   }
  \ No newline at end of file
  
  
  
  1.13      +23 -17    jboss-seam/src/pdf/org/jboss/seam/pdf/DocumentStore.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: DocumentStore.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/src/pdf/org/jboss/seam/pdf/DocumentStore.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -b -r1.12 -r1.13
  --- DocumentStore.java	18 Jul 2007 14:37:32 -0000	1.12
  +++ DocumentStore.java	3 Dec 2007 17:25:44 -0000	1.13
  @@ -4,6 +4,7 @@
   import java.util.HashMap;
   import java.util.Map;
   
  +import javax.faces.application.ViewHandler;
   import javax.faces.context.FacesContext;
   
   import org.jboss.seam.Component;
  @@ -11,7 +12,7 @@
   import org.jboss.seam.annotations.Install;
   import org.jboss.seam.annotations.Name;
   import org.jboss.seam.annotations.Scope;
  -import org.jboss.seam.pdf.DocumentData.DocType;
  +import org.jboss.seam.pdf.DocumentData.DocumentType;
   import org.jboss.seam.ui.util.Faces;
   
   @Name("org.jboss.seam.pdf.documentStore")
  @@ -68,22 +69,27 @@
       }
     
   
  -    public String preferredUrlForContent(String baseName, DocType docType, String contentId) 
  +    public String preferredUrlForContent(String baseName, String extension, String contentId) 
       {
  -       FacesContext context = FacesContext.getCurrentInstance();
  -       String url = context.getApplication().getViewHandler().getActionURL(context, "/seam-doc" + Faces.getDefaultSuffix(context));
  -       String baseUrl = context.getExternalContext().encodeActionURL(url);
  -      
  -       if (useExtensions) 
  -       {
  -           baseUrl = baseName + "." + docType.getExtension();
  +        return baseUrlForContent(baseName, extension) + "?docId=" + contentId;
          } 
           
  -       return baseUrl + "?docId=" + contentId;
  +    protected String baseUrlForContent(String baseName, String extension) {
  +        if (useExtensions) {
  +            return baseName + "." + extension;
  +        } else { 
  +            FacesContext context = FacesContext.getCurrentInstance();
  +            ViewHandler handler = context.getApplication().getViewHandler();
  +            String url = handler.getActionURL(context, "/seam-doc" + Faces.getDefaultSuffix(context));
  +            return context.getExternalContext().encodeActionURL(url);
  +        }
       }
       
  -    
  -    
  +//    @Deprecated
  +//    public String preferredUrlForContent(String baseName, DocType docType, String contentId) 
  +//    {
  +//        return preferredUrlForContent(baseName, docType.getExtension(), contentId);
  +//    }
       
   }
      
  
  
  
  1.8       +1 -1      jboss-seam/src/pdf/org/jboss/seam/pdf/DocumentStorePhaseListener.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: DocumentStorePhaseListener.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/src/pdf/org/jboss/seam/pdf/DocumentStorePhaseListener.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -b -r1.7 -r1.8
  --- DocumentStorePhaseListener.java	19 Jun 2007 20:11:06 -0000	1.7
  +++ DocumentStorePhaseListener.java	3 Dec 2007 17:25:44 -0000	1.8
  @@ -47,7 +47,7 @@
               byte[] data = documentData.getData();
   
               HttpServletResponse response = (HttpServletResponse) context.getExternalContext().getResponse();
  -            response.setContentType( documentData.getDocType().getMimeType() );
  +            response.setContentType( documentData.getDocumentType().getMimeType() );
               
               response.setHeader("Content-Disposition", "inline; filename=\"" + documentData.getFileName() + "\"");
               
  
  
  
  1.15      +8 -16     jboss-seam/src/pdf/org/jboss/seam/pdf/DocumentStoreServlet.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: DocumentStoreServlet.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/src/pdf/org/jboss/seam/pdf/DocumentStoreServlet.java,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -b -r1.14 -r1.15
  --- DocumentStoreServlet.java	22 Jun 2007 16:01:05 -0000	1.14
  +++ DocumentStoreServlet.java	3 Dec 2007 17:25:44 -0000	1.15
  @@ -39,34 +39,26 @@
                   
           DocumentStore store = DocumentStore.instance();
           
  -        if ( store.idIsValid(contentId) ) 
  -        {
  +        if (store.idIsValid(contentId)) {
               DocumentData documentData = store.getDocumentData(contentId);
               
               byte[] data = documentData.getData();       
   
  -            response.setContentType( documentData.getDocType().getMimeType() );
  +            response.setContentType(documentData.getDocumentType().getMimeType());
               response.setHeader("Content-Disposition", 
                       "inline; filename=\"" + documentData.getFileName() + "\"");
   
  -            if (data != null) 
  -            {
  +            if (data != null) {
                   response.getOutputStream().write(data);
               }
  -        } 
  -        else 
  -        {
  +        } else{
                String error = store.getErrorPage();             
  -             if (error != null) 
  -             {      
  -                 if (error.startsWith("/")) 
  -                 {
  +             if (error != null) {      
  +                 if (error.startsWith("/")) {
                        error = request.getContextPath() + error;
                    }
                    response.sendRedirect(error);
  -             } 
  -             else 
  -             {
  +             } else {
                    response.sendError(404);
                }
           }
  
  
  



More information about the jboss-cvs-commits mailing list