[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