[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