Seam SVN: r8589 - in trunk/src: excel/org/jboss/seam/excel and 10 other directories.
by seam-commits@lists.jboss.org
Author: norman.richards(a)jboss.com
Date: 2008-08-05 15:05:20 -0400 (Tue, 05 Aug 2008)
New Revision: 8589
Added:
trunk/src/main/org/jboss/seam/document/
trunk/src/main/org/jboss/seam/document/DocumentData.java
trunk/src/main/org/jboss/seam/document/DocumentStore.java
trunk/src/main/org/jboss/seam/document/DocumentStorePhaseListener.java
trunk/src/main/org/jboss/seam/document/DocumentStoreServlet.java
Removed:
trunk/src/excel/org/jboss/seam/excel/DocumentData.java
trunk/src/…
[View More]excel/org/jboss/seam/excel/DocumentStore.java
trunk/src/excel/org/jboss/seam/excel/DocumentStorePhaseListener.java
trunk/src/excel/org/jboss/seam/excel/DocumentStoreServlet.java
trunk/src/pdf/org/jboss/seam/pdf/DocumentData.java
trunk/src/pdf/org/jboss/seam/pdf/DocumentStore.java
trunk/src/pdf/org/jboss/seam/pdf/DocumentStorePhaseListener.java
trunk/src/pdf/org/jboss/seam/pdf/DocumentStoreServlet.java
Modified:
trunk/src/excel/META-INF/faces-config.xml
trunk/src/excel/org/jboss/seam/excel/ExcelWorkbook.java
trunk/src/excel/org/jboss/seam/excel/csv/CsvExcelWorkbook.java
trunk/src/excel/org/jboss/seam/excel/jxl/JXLExcelWorkbook.java
trunk/src/excel/org/jboss/seam/excel/jxl/exporter/ExcelExporter.java
trunk/src/excel/org/jboss/seam/excel/ui/UIWorkbook.java
trunk/src/main/META-INF/faces-config.xml
trunk/src/pdf/org/jboss/seam/pdf/ui/UIDocument.java
trunk/src/test/excel/unit/org/jboss/seam/test/excel/unit/JXLExcelWorkbookTest.java
Log:
JBSEAM-3220
Modified: trunk/src/excel/META-INF/faces-config.xml
===================================================================
--- trunk/src/excel/META-INF/faces-config.xml 2008-08-05 18:40:02 UTC (rev 8588)
+++ trunk/src/excel/META-INF/faces-config.xml 2008-08-05 19:05:20 UTC (rev 8589)
@@ -116,9 +116,4 @@
<component-type>org.jboss.seam.excel.ui.UIExcelExport</component-type>
<component-class>org.jboss.seam.excel.ui.UIExcelExport</component-class>
</component>
-
- <lifecycle>
- <phase-listener>org.jboss.seam.excel.DocumentStorePhaseListener</phase-listener>
- </lifecycle>
-
</faces-config>
Deleted: trunk/src/excel/org/jboss/seam/excel/DocumentData.java
===================================================================
--- trunk/src/excel/org/jboss/seam/excel/DocumentData.java 2008-08-05 18:40:02 UTC (rev 8588)
+++ trunk/src/excel/org/jboss/seam/excel/DocumentData.java 2008-08-05 19:05:20 UTC (rev 8589)
@@ -1,76 +0,0 @@
-package org.jboss.seam.excel;
-
-import java.io.Serializable;
-
-public class DocumentData implements Serializable
-{
- private static final long serialVersionUID = -7473346073592279335L;
- byte[] data;
- DocumentType documentType;
- String baseName;
-
- String disposition = "inline";
-
- public DocumentData(String baseName, DocumentType documentType, byte[] data)
- {
- super();
- this.data = data;
- this.documentType = documentType;
- this.baseName = baseName;
- }
-
- public byte[] getData()
- {
- return data;
- }
-
- public DocumentType getDocumentType()
- {
- return documentType;
- }
-
- public String getBaseName()
- {
- return baseName;
- }
-
- public String getFileName()
- {
- return getBaseName() + "." + getDocumentType().getExtension();
- }
-
- public void setDisposition(String disposition)
- {
- this.disposition = disposition;
- }
-
- public String getDisposition()
- {
- return disposition;
- }
-
- static public class DocumentType implements Serializable
- {
- private static final long serialVersionUID = 1L;
-
- private String mimeType;
- private String extension;
-
- public DocumentType(String extension, String mimeType)
- {
- this.extension = extension;
- this.mimeType = mimeType;
- }
-
- public String getMimeType()
- {
- return mimeType;
- }
-
- public String getExtension()
- {
- return extension;
- }
-
- }
-}
\ No newline at end of file
Deleted: trunk/src/excel/org/jboss/seam/excel/DocumentStore.java
===================================================================
--- trunk/src/excel/org/jboss/seam/excel/DocumentStore.java 2008-08-05 18:40:02 UTC (rev 8588)
+++ trunk/src/excel/org/jboss/seam/excel/DocumentStore.java 2008-08-05 19:05:20 UTC (rev 8589)
@@ -1,92 +0,0 @@
-package org.jboss.seam.excel;
-
-import java.io.Serializable;
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.faces.application.ViewHandler;
-import javax.faces.context.FacesContext;
-
-import org.jboss.seam.Component;
-import org.jboss.seam.ScopeType;
-import org.jboss.seam.annotations.Install;
-import org.jboss.seam.annotations.Name;
-import org.jboss.seam.annotations.Scope;
-import org.jboss.seam.ui.util.Faces;
-
-@Name("org.jboss.seam.excel.documentStore")
-(a)Scope(ScopeType.CONVERSATION)
-@Install(precedence = Install.BUILT_IN)
-public class DocumentStore implements Serializable
-{
- private static final long serialVersionUID = -357154201942127711L;
-
- public final static String EXCEL_DOC = "/seam-excel";
-
- Map<String, DocumentData> dataStore = new HashMap<String, DocumentData>();
-
- long nextId = 1;
- boolean useExtensions = false;
- String errorPage = null;
-
- public void setUseExtensions(boolean useExtensions)
- {
- this.useExtensions = useExtensions;
- }
-
- public void setErrorPage(String errorPage)
- {
- this.errorPage = errorPage;
- }
-
- public String getErrorPage()
- {
- return errorPage;
- }
-
- public String newId()
- {
- return String.valueOf(nextId++);
- }
-
- public void saveData(String id, DocumentData documentData)
- {
- dataStore.put(id, documentData);
- }
-
- public boolean idIsValid(String id)
- {
- return dataStore.get(id) != null;
- }
-
- public DocumentData getDocumentData(String id)
- {
- return dataStore.get(id);
- }
-
- public static DocumentStore instance()
- {
- return (DocumentStore) Component.getInstance(DocumentStore.class);
- }
-
- public String preferredUrlForContent(String baseName, String extension, String contentId)
- {
- return baseUrlForContent(baseName, extension) + "?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, EXCEL_DOC + Faces.getDefaultSuffix(context));
- return context.getExternalContext().encodeActionURL(url);
- }
- }
-
-}
Deleted: trunk/src/excel/org/jboss/seam/excel/DocumentStorePhaseListener.java
===================================================================
--- trunk/src/excel/org/jboss/seam/excel/DocumentStorePhaseListener.java 2008-08-05 18:40:02 UTC (rev 8588)
+++ trunk/src/excel/org/jboss/seam/excel/DocumentStorePhaseListener.java 2008-08-05 19:05:20 UTC (rev 8589)
@@ -1,65 +0,0 @@
-package org.jboss.seam.excel;
-
-import java.io.IOException;
-
-import javax.faces.context.FacesContext;
-import javax.faces.event.PhaseEvent;
-import javax.faces.event.PhaseId;
-import javax.faces.event.PhaseListener;
-import javax.servlet.http.HttpServletResponse;
-
-import org.jboss.seam.navigation.Pages;
-import org.jboss.seam.web.Parameters;
-
-public class DocumentStorePhaseListener implements PhaseListener
-{
- private static final long serialVersionUID = 7308251684939658978L;
-
- public PhaseId getPhaseId()
- {
- return PhaseId.RENDER_RESPONSE;
- }
-
- public void afterPhase(PhaseEvent phaseEvent)
- {
- // ...
- }
-
- public void beforePhase(PhaseEvent phaseEvent)
- {
- String rootId = Pages.getViewId(phaseEvent.getFacesContext());
-
- Parameters params = Parameters.instance();
- String id = (String) params.convertMultiValueRequestParameter(params.getRequestParameters(), "docId", String.class);
- if (rootId.contains(DocumentStore.EXCEL_DOC))
- {
- sendContent(phaseEvent.getFacesContext(), id);
- }
- }
-
- public void sendContent(FacesContext context, String contentId)
- {
- try
- {
- DocumentData documentData = DocumentStore.instance().getDocumentData(contentId);
-
- byte[] data = documentData.getData();
-
- HttpServletResponse response = (HttpServletResponse) context.getExternalContext().getResponse();
- response.setContentType(documentData.getDocumentType().getMimeType());
-
- response.setHeader("Content-Disposition", documentData.getDisposition() + "; filename=\"" + documentData.getFileName() + "\"");
-
- if (data != null)
- {
- response.getOutputStream().write(data);
- }
- context.responseComplete();
- }
- catch (IOException e)
- {
- e.printStackTrace();
- }
- }
-
-}
Deleted: trunk/src/excel/org/jboss/seam/excel/DocumentStoreServlet.java
===================================================================
--- trunk/src/excel/org/jboss/seam/excel/DocumentStoreServlet.java 2008-08-05 18:40:02 UTC (rev 8588)
+++ trunk/src/excel/org/jboss/seam/excel/DocumentStoreServlet.java 2008-08-05 19:05:20 UTC (rev 8589)
@@ -1,68 +0,0 @@
-package org.jboss.seam.excel;
-
-import java.io.IOException;
-
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.jboss.seam.servlet.ContextualHttpServletRequest;
-import org.jboss.seam.web.Parameters;
-
-public class DocumentStoreServlet extends HttpServlet
-{
- private static final long serialVersionUID = 5196002741557182072L;
-
- @Override
- protected void doGet(final HttpServletRequest request, final HttpServletResponse response) throws ServletException, IOException
- {
- new ContextualHttpServletRequest(request)
- {
- @Override
- public void process() throws ServletException, IOException
- {
- doWork(request, response);
- }
- }.run();
- }
-
- private static void doWork(HttpServletRequest request, HttpServletResponse response) throws IOException
- {
- Parameters params = Parameters.instance();
- String contentId = (String) params.convertMultiValueRequestParameter(params.getRequestParameters(), "docId", String.class);
-
- DocumentStore store = DocumentStore.instance();
-
- if (store.idIsValid(contentId))
- {
- DocumentData documentData = store.getDocumentData(contentId);
-
- byte[] data = documentData.getData();
-
- response.setContentType(documentData.getDocumentType().getMimeType());
- response.setHeader("Content-Disposition", documentData.getDisposition() + "; filename=\"" + documentData.getFileName() + "\"");
-
- if (data != null)
- {
- response.getOutputStream().write(data);
- }
- }
- else
- {
- String error = store.getErrorPage();
- if (error != null)
- {
- if (error.startsWith("/"))
- {
- error = request.getContextPath() + error;
- }
- response.sendRedirect(error);
- }
- else
- {
- response.sendError(404);
- }
- }
- }
-}
Modified: trunk/src/excel/org/jboss/seam/excel/ExcelWorkbook.java
===================================================================
--- trunk/src/excel/org/jboss/seam/excel/ExcelWorkbook.java 2008-08-05 18:40:02 UTC (rev 8588)
+++ trunk/src/excel/org/jboss/seam/excel/ExcelWorkbook.java 2008-08-05 19:05:20 UTC (rev 8589)
@@ -1,6 +1,6 @@
package org.jboss.seam.excel;
-import org.jboss.seam.excel.DocumentData.DocumentType;
+import org.jboss.seam.document.DocumentData.DocumentType;
import org.jboss.seam.excel.ui.UIColumn;
import org.jboss.seam.excel.ui.UIWorkbook;
import org.jboss.seam.excel.ui.UIWorksheet;
Modified: trunk/src/excel/org/jboss/seam/excel/csv/CsvExcelWorkbook.java
===================================================================
--- trunk/src/excel/org/jboss/seam/excel/csv/CsvExcelWorkbook.java 2008-08-05 18:40:02 UTC (rev 8588)
+++ trunk/src/excel/org/jboss/seam/excel/csv/CsvExcelWorkbook.java 2008-08-05 19:05:20 UTC (rev 8589)
@@ -10,12 +10,12 @@
import org.jboss.seam.annotations.Scope;
import org.jboss.seam.annotations.intercept.BypassInterceptors;
import org.jboss.seam.excel.Command;
-import org.jboss.seam.excel.DocumentData;
+import org.jboss.seam.document.DocumentData;
import org.jboss.seam.excel.ExcelWorkbook;
import org.jboss.seam.excel.ExcelWorkbookException;
import org.jboss.seam.excel.Template;
import org.jboss.seam.excel.WorksheetItem;
-import org.jboss.seam.excel.DocumentData.DocumentType;
+import org.jboss.seam.document.DocumentData.DocumentType;
import org.jboss.seam.excel.ui.UICell;
import org.jboss.seam.excel.ui.UIColumn;
import org.jboss.seam.excel.ui.UIImage;
Modified: trunk/src/excel/org/jboss/seam/excel/jxl/JXLExcelWorkbook.java
===================================================================
--- trunk/src/excel/org/jboss/seam/excel/jxl/JXLExcelWorkbook.java 2008-08-05 18:40:02 UTC (rev 8588)
+++ trunk/src/excel/org/jboss/seam/excel/jxl/JXLExcelWorkbook.java 2008-08-05 19:05:20 UTC (rev 8589)
@@ -26,12 +26,12 @@
import org.jboss.seam.annotations.intercept.BypassInterceptors;
import org.jboss.seam.core.Interpolator;
import org.jboss.seam.excel.Command;
-import org.jboss.seam.excel.DocumentData;
+import org.jboss.seam.document.DocumentData;
import org.jboss.seam.excel.ExcelWorkbook;
import org.jboss.seam.excel.ExcelWorkbookException;
import org.jboss.seam.excel.Template;
import org.jboss.seam.excel.WorksheetItem;
-import org.jboss.seam.excel.DocumentData.DocumentType;
+import org.jboss.seam.document.DocumentData.DocumentType;
import org.jboss.seam.excel.jxl.JXLTemplates.CellInfo;
import org.jboss.seam.excel.ui.UICell;
import org.jboss.seam.excel.ui.UIColumn;
Modified: trunk/src/excel/org/jboss/seam/excel/jxl/exporter/ExcelExporter.java
===================================================================
--- trunk/src/excel/org/jboss/seam/excel/jxl/exporter/ExcelExporter.java 2008-08-05 18:40:02 UTC (rev 8588)
+++ trunk/src/excel/org/jboss/seam/excel/jxl/exporter/ExcelExporter.java 2008-08-05 19:05:20 UTC (rev 8589)
@@ -17,8 +17,8 @@
import org.jboss.seam.annotations.intercept.BypassInterceptors;
import org.jboss.seam.core.Interpolator;
import org.jboss.seam.core.Manager;
-import org.jboss.seam.excel.DocumentData;
-import org.jboss.seam.excel.DocumentStore;
+import org.jboss.seam.document.DocumentData;
+import org.jboss.seam.document.DocumentStore;
import org.jboss.seam.excel.ExcelFactory;
import org.jboss.seam.excel.ExcelWorkbook;
import org.jboss.seam.excel.ExcelWorkbookException;
Modified: trunk/src/excel/org/jboss/seam/excel/ui/UIWorkbook.java
===================================================================
--- trunk/src/excel/org/jboss/seam/excel/ui/UIWorkbook.java 2008-08-05 18:40:02 UTC (rev 8588)
+++ trunk/src/excel/org/jboss/seam/excel/ui/UIWorkbook.java 2008-08-05 19:05:20 UTC (rev 8589)
@@ -8,12 +8,12 @@
import javax.faces.context.FacesContext;
import org.jboss.seam.core.Manager;
-import org.jboss.seam.excel.DocumentData;
-import org.jboss.seam.excel.DocumentStore;
+import org.jboss.seam.document.DocumentData;
+import org.jboss.seam.document.DocumentStore;
import org.jboss.seam.excel.ExcelFactory;
import org.jboss.seam.excel.ExcelWorkbook;
import org.jboss.seam.excel.Template;
-import org.jboss.seam.excel.DocumentData.DocumentType;
+import org.jboss.seam.document.DocumentData.DocumentType;
import org.jboss.seam.log.Log;
import org.jboss.seam.log.Logging;
import org.jboss.seam.navigation.Pages;
Modified: trunk/src/main/META-INF/faces-config.xml
===================================================================
--- trunk/src/main/META-INF/faces-config.xml 2008-08-05 18:40:02 UTC (rev 8588)
+++ trunk/src/main/META-INF/faces-config.xml 2008-08-05 19:05:20 UTC (rev 8589)
@@ -19,5 +19,8 @@
<lifecycle>
<phase-listener>org.jboss.seam.jsf.SeamPhaseListener</phase-listener>
</lifecycle>
-
+
+ <lifecycle>
+ <phase-listener>org.jboss.seam.document.DocumentStorePhaseListener</phase-listener>
+ </lifecycle>
</faces-config>
Added: trunk/src/main/org/jboss/seam/document/DocumentData.java
===================================================================
--- trunk/src/main/org/jboss/seam/document/DocumentData.java (rev 0)
+++ trunk/src/main/org/jboss/seam/document/DocumentData.java 2008-08-05 19:05:20 UTC (rev 8589)
@@ -0,0 +1,73 @@
+package org.jboss.seam.document;
+
+import java.io.Serializable;
+
+public class DocumentData
+ implements Serializable
+{
+ byte[] data;
+ DocumentType documentType;
+ String baseName;
+
+ String disposition = "inline";
+ String fileName;
+
+ public DocumentData(String baseName, DocumentType documentType, byte[] data) {
+ super();
+ this.data = data;
+ this.documentType = documentType;
+ this.baseName = baseName;
+ }
+
+ public byte[] getData() {
+ return data;
+ }
+ public DocumentType getDocumentType() {
+ return documentType;
+ }
+ public String getBaseName() {
+ return baseName;
+ }
+
+
+ public void setFilename(String fileName) {
+ this.fileName = fileName;
+ }
+
+ public String getFileName() {
+ if (fileName == null) {
+ return getBaseName() + "." + getDocumentType().getExtension();
+ } else {
+ return fileName;
+ }
+ }
+
+ public void setDisposition(String disposition) {
+ this.disposition = disposition;
+ }
+
+ public String getDisposition() {
+ return disposition;
+ }
+
+ static public class DocumentType
+ implements Serializable
+ {
+ private String mimeType;
+ private String extension;
+
+ public DocumentType(String extension, String mimeType) {
+ this.extension = extension;
+ this.mimeType = mimeType;
+ }
+
+ public String getMimeType() {
+ return mimeType;
+ }
+
+ public String getExtension(){
+ return extension;
+ }
+
+ }
+}
\ No newline at end of file
Added: trunk/src/main/org/jboss/seam/document/DocumentStore.java
===================================================================
--- trunk/src/main/org/jboss/seam/document/DocumentStore.java (rev 0)
+++ trunk/src/main/org/jboss/seam/document/DocumentStore.java 2008-08-05 19:05:20 UTC (rev 8589)
@@ -0,0 +1,100 @@
+package org.jboss.seam.document;
+
+import java.io.Serializable;
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.faces.FacesException;
+import javax.faces.application.ViewHandler;
+import javax.faces.context.FacesContext;
+
+import org.jboss.seam.Component;
+import org.jboss.seam.ScopeType;
+import org.jboss.seam.annotations.Install;
+import org.jboss.seam.annotations.Name;
+import org.jboss.seam.annotations.Scope;
+
+@Name("org.jboss.seam.document.documentStore")
+(a)Scope(ScopeType.CONVERSATION)
+(a)Install(precedence=Install.BUILT_IN)
+public class DocumentStore
+ implements Serializable
+{
+ public static final String DOCSTORE_BASE_URL = "/seam-docstore";
+
+ private static final long serialVersionUID = -357154201942127711L;
+
+ Map<String,DocumentData> dataStore = new HashMap<String,DocumentData>();
+
+ long nextId = 1;
+
+
+ boolean useExtensions = false;
+ String errorPage = null;
+
+ public void setUseExtensions(boolean useExtensions)
+ {
+ this.useExtensions = useExtensions;
+ }
+
+ public void setErrorPage(String errorPage)
+ {
+ this.errorPage = errorPage;
+ }
+
+ public String getErrorPage()
+ {
+ return errorPage;
+ }
+
+ public String newId()
+ {
+ return String.valueOf(nextId++);
+ }
+
+ public void saveData(String id, DocumentData documentData)
+ {
+ dataStore.put(id, documentData);
+ }
+
+ public boolean idIsValid(String id)
+ {
+ return dataStore.get(id) != null;
+ }
+
+ public DocumentData getDocumentData(String id)
+ {
+ return dataStore.get(id);
+ }
+
+ public static DocumentStore instance()
+ {
+ return (DocumentStore) Component.getInstance(DocumentStore.class);
+ }
+
+
+ public String preferredUrlForContent(String baseName, String extension, String contentId)
+ {
+ return baseUrlForContent(baseName, extension) + "?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,
+ DOCSTORE_BASE_URL + getDefaultSuffix(context));
+ return context.getExternalContext().encodeActionURL(url);
+ }
+ }
+
+ public static String getDefaultSuffix(FacesContext context)
+ throws FacesException
+ {
+ String viewSuffix = context.getExternalContext().getInitParameter(ViewHandler.DEFAULT_SUFFIX_PARAM_NAME);
+ return (viewSuffix != null) ? viewSuffix : ViewHandler.DEFAULT_SUFFIX;
+ }
+}
+
Added: trunk/src/main/org/jboss/seam/document/DocumentStorePhaseListener.java
===================================================================
--- trunk/src/main/org/jboss/seam/document/DocumentStorePhaseListener.java (rev 0)
+++ trunk/src/main/org/jboss/seam/document/DocumentStorePhaseListener.java 2008-08-05 19:05:20 UTC (rev 8589)
@@ -0,0 +1,66 @@
+package org.jboss.seam.document;
+
+import java.io.IOException;
+
+import javax.faces.context.FacesContext;
+import javax.faces.event.PhaseEvent;
+import javax.faces.event.PhaseId;
+import javax.faces.event.PhaseListener;
+import javax.servlet.http.HttpServletResponse;
+
+import org.jboss.seam.navigation.Pages;
+import org.jboss.seam.web.Parameters;
+
+
+public class DocumentStorePhaseListener
+ implements PhaseListener
+{
+ private static final long serialVersionUID = 7308251684939658978L;
+
+ public PhaseId getPhaseId()
+ {
+ return PhaseId.RENDER_RESPONSE;
+ }
+
+ public void afterPhase(PhaseEvent phaseEvent) {
+ // ...
+ }
+
+ public void beforePhase(PhaseEvent phaseEvent)
+ {
+ String rootId = Pages.getViewId( phaseEvent.getFacesContext() );
+
+ Parameters params = Parameters.instance();
+ String id = (String) params.convertMultiValueRequestParameter(params.getRequestParameters(), "docId", String.class);
+ if (rootId.contains(DocumentStore.DOCSTORE_BASE_URL)) {
+ sendContent(phaseEvent.getFacesContext(), id);
+ }
+ }
+
+ public void sendContent(FacesContext context, String contentId)
+ {
+ try
+ {
+ DocumentData documentData = DocumentStore.instance().getDocumentData(contentId);
+
+ if (documentData != null) {
+ byte[] data = documentData.getData();
+
+ HttpServletResponse response = (HttpServletResponse) context.getExternalContext().getResponse();
+ response.setContentType( documentData.getDocumentType().getMimeType() );
+
+ response.setHeader("Content-Disposition",
+ documentData.getDisposition() +
+ "; filename=\"" + documentData.getFileName() + "\"");
+
+ if (data != null) {
+ response.getOutputStream().write(data);
+ }
+ context.responseComplete();
+ }
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+
+}
Added: trunk/src/main/org/jboss/seam/document/DocumentStoreServlet.java
===================================================================
--- trunk/src/main/org/jboss/seam/document/DocumentStoreServlet.java (rev 0)
+++ trunk/src/main/org/jboss/seam/document/DocumentStoreServlet.java 2008-08-05 19:05:20 UTC (rev 8589)
@@ -0,0 +1,67 @@
+package org.jboss.seam.document;
+
+import java.io.IOException;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.jboss.seam.servlet.ContextualHttpServletRequest;
+import org.jboss.seam.web.Parameters;
+
+public class DocumentStoreServlet
+ extends HttpServlet
+{
+ private static final long serialVersionUID = 5196002741557182072L;
+
+ @Override
+ protected void doGet(final HttpServletRequest request, final HttpServletResponse response)
+ throws ServletException, IOException
+ {
+ new ContextualHttpServletRequest(request)
+ {
+ @Override
+ public void process()
+ throws ServletException, IOException
+ {
+ doWork(request, response);
+ }
+ }.run();
+ }
+
+
+ private static void doWork(HttpServletRequest request, HttpServletResponse response)
+ throws IOException
+ {
+ Parameters params = Parameters.instance();
+ String contentId = (String) params.convertMultiValueRequestParameter(params.getRequestParameters(), "docId", String.class);
+
+ DocumentStore store = DocumentStore.instance();
+
+ if (store.idIsValid(contentId)) {
+ DocumentData documentData = store.getDocumentData(contentId);
+
+ byte[] data = documentData.getData();
+
+ response.setContentType(documentData.getDocumentType().getMimeType());
+ response.setHeader("Content-Disposition",
+ documentData.getDisposition() +
+ "; filename=\"" + documentData.getFileName() + "\"");
+
+ if (data != null) {
+ response.getOutputStream().write(data);
+ }
+ } else{
+ String error = store.getErrorPage();
+ if (error != null) {
+ if (error.startsWith("/")) {
+ error = request.getContextPath() + error;
+ }
+ response.sendRedirect(error);
+ } else {
+ response.sendError(404);
+ }
+ }
+ }
+}
Deleted: trunk/src/pdf/org/jboss/seam/pdf/DocumentData.java
===================================================================
--- trunk/src/pdf/org/jboss/seam/pdf/DocumentData.java 2008-08-05 18:40:02 UTC (rev 8588)
+++ trunk/src/pdf/org/jboss/seam/pdf/DocumentData.java 2008-08-05 19:05:20 UTC (rev 8589)
@@ -1,74 +0,0 @@
-package org.jboss.seam.pdf;
-
-import java.io.Serializable;
-
-public class DocumentData
- implements Serializable
-{
- byte[] data;
- DocumentType documentType;
- String baseName;
-
- String disposition = "inline";
- String fileName;
-
- public DocumentData(String baseName, DocumentType documentType, byte[] data) {
- super();
- this.data = data;
- this.documentType = documentType;
- this.baseName = baseName;
- }
-
-
- public byte[] getData() {
- return data;
- }
- public DocumentType getDocumentType() {
- return documentType;
- }
- public String getBaseName() {
- return baseName;
- }
-
-
- public void setFilename(String fileName) {
- this.fileName = fileName;
- }
-
- public String getFileName() {
- if (fileName == null) {
- return getBaseName() + "." + getDocumentType().getExtension();
- } else {
- return fileName;
- }
- }
-
- public void setDisposition(String disposition) {
- this.disposition = disposition;
- }
-
- public String getDisposition() {
- return disposition;
- }
-
- static public class DocumentType
- implements Serializable
- {
- private String mimeType;
- private String extension;
-
- public DocumentType(String extension, String mimeType) {
- this.extension = extension;
- this.mimeType = mimeType;
- }
-
- public String getMimeType() {
- return mimeType;
- }
-
- public String getExtension(){
- return extension;
- }
-
- }
-}
\ No newline at end of file
Deleted: trunk/src/pdf/org/jboss/seam/pdf/DocumentStore.java
===================================================================
--- trunk/src/pdf/org/jboss/seam/pdf/DocumentStore.java 2008-08-05 18:40:02 UTC (rev 8588)
+++ trunk/src/pdf/org/jboss/seam/pdf/DocumentStore.java 2008-08-05 19:05:20 UTC (rev 8589)
@@ -1,94 +0,0 @@
-package org.jboss.seam.pdf;
-
-import java.io.Serializable;
-import java.util.HashMap;
-import java.util.Map;
-
-import javax.faces.application.ViewHandler;
-import javax.faces.context.FacesContext;
-
-import org.jboss.seam.Component;
-import org.jboss.seam.ScopeType;
-import org.jboss.seam.annotations.Install;
-import org.jboss.seam.annotations.Name;
-import org.jboss.seam.annotations.Scope;
-import org.jboss.seam.ui.util.Faces;
-
-@Name("org.jboss.seam.pdf.documentStore")
-(a)Scope(ScopeType.CONVERSATION)
-(a)Install(precedence=Install.BUILT_IN)
-public class DocumentStore implements Serializable
-{
- private static final long serialVersionUID = -357154201942127711L;
-
- Map<String,DocumentData> dataStore = new HashMap<String,DocumentData>();
-
- long nextId = 1;
- boolean useExtensions = false;
- String errorPage = null;
-
- public void setUseExtensions(boolean useExtensions)
- {
- this.useExtensions = useExtensions;
- }
-
- public void setErrorPage(String errorPage)
- {
- this.errorPage = errorPage;
- }
-
- public String getErrorPage()
- {
- return errorPage;
- }
-
- public String newId()
- {
- return String.valueOf(nextId++);
- }
-
- public void saveData(String id, DocumentData documentData)
- {
- dataStore.put(id, documentData);
- }
-
- public boolean idIsValid(String id)
- {
- return dataStore.get(id) != null;
- }
-
- public DocumentData getDocumentData(String id)
- {
- return dataStore.get(id);
- }
-
- public static DocumentStore instance()
- {
- return (DocumentStore) Component.getInstance(DocumentStore.class);
- }
-
-
- public String preferredUrlForContent(String baseName, String extension, String contentId)
- {
- return baseUrlForContent(baseName, extension) + "?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);
-// }
-
-}
-
Deleted: trunk/src/pdf/org/jboss/seam/pdf/DocumentStorePhaseListener.java
===================================================================
--- trunk/src/pdf/org/jboss/seam/pdf/DocumentStorePhaseListener.java 2008-08-05 18:40:02 UTC (rev 8588)
+++ trunk/src/pdf/org/jboss/seam/pdf/DocumentStorePhaseListener.java 2008-08-05 19:05:20 UTC (rev 8589)
@@ -1,67 +0,0 @@
-package org.jboss.seam.pdf;
-
-import java.io.IOException;
-
-import javax.faces.context.FacesContext;
-import javax.faces.event.PhaseEvent;
-import javax.faces.event.PhaseId;
-import javax.faces.event.PhaseListener;
-import javax.servlet.http.HttpServletResponse;
-
-import org.jboss.seam.navigation.Pages;
-import org.jboss.seam.web.Parameters;
-
-
-public class DocumentStorePhaseListener
- implements PhaseListener
-{
- private static final long serialVersionUID = 7308251684939658978L;
-
- public PhaseId getPhaseId()
- {
- return PhaseId.RENDER_RESPONSE;
- }
-
- public void afterPhase(PhaseEvent phaseEvent) {
- // ...
- }
-
- public void beforePhase(PhaseEvent phaseEvent)
- {
- String rootId = Pages.getViewId( phaseEvent.getFacesContext() );
-
- Parameters params = Parameters.instance();
- String id = (String) params.convertMultiValueRequestParameter(params.getRequestParameters(), "docId", String.class);
- if ( rootId.contains("/seam-doc") )
- {
- sendContent(phaseEvent.getFacesContext(), id);
- }
- }
-
- public void sendContent(FacesContext context, String contentId)
- {
- try
- {
- DocumentData documentData = DocumentStore.instance().getDocumentData(contentId);
-
- byte[] data = documentData.getData();
-
- HttpServletResponse response = (HttpServletResponse) context.getExternalContext().getResponse();
- response.setContentType( documentData.getDocumentType().getMimeType() );
-
- response.setHeader("Content-Disposition",
- documentData.getDisposition() +
- "; filename=\"" + documentData.getFileName() + "\"");
-
- if (data != null)
- {
- response.getOutputStream().write(data);
- }
- context.responseComplete();
- }
- catch (IOException e) {
- e.printStackTrace();
- }
- }
-
-}
Deleted: trunk/src/pdf/org/jboss/seam/pdf/DocumentStoreServlet.java
===================================================================
--- trunk/src/pdf/org/jboss/seam/pdf/DocumentStoreServlet.java 2008-08-05 18:40:02 UTC (rev 8588)
+++ trunk/src/pdf/org/jboss/seam/pdf/DocumentStoreServlet.java 2008-08-05 19:05:20 UTC (rev 8589)
@@ -1,67 +0,0 @@
-package org.jboss.seam.pdf;
-
-import java.io.IOException;
-
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.jboss.seam.servlet.ContextualHttpServletRequest;
-import org.jboss.seam.web.Parameters;
-
-public class DocumentStoreServlet
- extends HttpServlet
-{
- private static final long serialVersionUID = 5196002741557182072L;
-
- @Override
- protected void doGet(final HttpServletRequest request, final HttpServletResponse response)
- throws ServletException, IOException
- {
- new ContextualHttpServletRequest(request)
- {
- @Override
- public void process()
- throws ServletException, IOException
- {
- doWork(request, response);
- }
- }.run();
- }
-
-
- private static void doWork(HttpServletRequest request, HttpServletResponse response)
- throws IOException
- {
- Parameters params = Parameters.instance();
- String contentId = (String) params.convertMultiValueRequestParameter(params.getRequestParameters(), "docId", String.class);
-
- DocumentStore store = DocumentStore.instance();
-
- if (store.idIsValid(contentId)) {
- DocumentData documentData = store.getDocumentData(contentId);
-
- byte[] data = documentData.getData();
-
- response.setContentType(documentData.getDocumentType().getMimeType());
- response.setHeader("Content-Disposition",
- documentData.getDisposition() +
- "; filename=\"" + documentData.getFileName() + "\"");
-
- if (data != null) {
- response.getOutputStream().write(data);
- }
- } else{
- String error = store.getErrorPage();
- if (error != null) {
- if (error.startsWith("/")) {
- error = request.getContextPath() + error;
- }
- response.sendRedirect(error);
- } else {
- response.sendError(404);
- }
- }
- }
-}
Modified: trunk/src/pdf/org/jboss/seam/pdf/ui/UIDocument.java
===================================================================
--- trunk/src/pdf/org/jboss/seam/pdf/ui/UIDocument.java 2008-08-05 18:40:02 UTC (rev 8588)
+++ trunk/src/pdf/org/jboss/seam/pdf/ui/UIDocument.java 2008-08-05 19:05:20 UTC (rev 8589)
@@ -10,10 +10,10 @@
import org.jboss.seam.core.Manager;
import org.jboss.seam.navigation.Pages;
-import org.jboss.seam.pdf.DocumentData;
-import org.jboss.seam.pdf.DocumentStore;
+import org.jboss.seam.document.DocumentData;
+import org.jboss.seam.document.DocumentStore;
+import org.jboss.seam.document.DocumentData.DocumentType;
import org.jboss.seam.pdf.ITextUtils;
-import org.jboss.seam.pdf.DocumentData.DocumentType;
import com.lowagie.text.DocWriter;
import com.lowagie.text.Document;
Modified: trunk/src/test/excel/unit/org/jboss/seam/test/excel/unit/JXLExcelWorkbookTest.java
===================================================================
--- trunk/src/test/excel/unit/org/jboss/seam/test/excel/unit/JXLExcelWorkbookTest.java 2008-08-05 18:40:02 UTC (rev 8588)
+++ trunk/src/test/excel/unit/org/jboss/seam/test/excel/unit/JXLExcelWorkbookTest.java 2008-08-05 19:05:20 UTC (rev 8589)
@@ -9,7 +9,7 @@
import jxl.format.BorderLineStyle;
import jxl.format.Colour;
-import org.jboss.seam.excel.DocumentData;
+import org.jboss.seam.document.DocumentData;
import org.jboss.seam.excel.ExcelWorkbook;
import org.jboss.seam.excel.ExcelWorkbookException;
import org.jboss.seam.excel.jxl.JXLExcelWorkbook;
[View Less]
16 years, 7 months
Seam SVN: r8588 - trunk/build and 1 other directory.
by seam-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2008-08-05 14:40:02 -0400 (Tue, 05 Aug 2008)
New Revision: 8588
Modified:
branches/Seam_2_0/build/root.pom.xml
trunk/build/root.pom.xml
Log:
Revert jbpm upgrade due to bug in jbpm (not fixed in any released version)
Modified: branches/Seam_2_0/build/root.pom.xml
===================================================================
--- branches/Seam_2_0/build/root.pom.xml 2008-08-05 18:10:19 UTC (rev 8587)
+++ branches/Seam_2_0/build/root.pom.xml 2008-08-…
[View More]05 18:40:02 UTC (rev 8588)
@@ -218,7 +218,7 @@
<dependency>
<groupId>org.jbpm</groupId>
<artifactId>jbpm-jpdl</artifactId>
- <version>3.2.3</version>
+ <version>3.2.2</version>
</dependency>
<dependency>
Modified: trunk/build/root.pom.xml
===================================================================
--- trunk/build/root.pom.xml 2008-08-05 18:10:19 UTC (rev 8587)
+++ trunk/build/root.pom.xml 2008-08-05 18:40:02 UTC (rev 8588)
@@ -232,7 +232,7 @@
<dependency>
<groupId>org.jbpm</groupId>
<artifactId>jbpm-jpdl</artifactId>
- <version>3.2.3</version>
+ <version>3.2.2</version>
</dependency>
<dependency>
[View Less]
16 years, 7 months
Seam SVN: r8587 - trunk/doc/Seam_Reference_Guide/en-US and 1 other directory.
by seam-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2008-08-05 14:10:19 -0400 (Tue, 05 Aug 2008)
New Revision: 8587
Modified:
branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/Persistence.xml
trunk/doc/Seam_Reference_Guide/en-US/Persistence.xml
Log:
JBSEAM-3001
Modified: branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/Persistence.xml
===================================================================
--- branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/Persistence.xml 2008-08-05 18:08:03 UTC (rev 8586)
…
[View More]+++ branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/Persistence.xml 2008-08-05 18:10:19 UTC (rev 8587)
@@ -594,10 +594,10 @@
<persistence:managed-persistence-context name="personDatabase"
persistence-unit-jndi-name="java:/EntityManagerFactories/personDatabase">
- <core:filters>
+ <persistence:filters>
<value>#{regionFilter}</value>
<value>#{currentFilter}</value>
- </core:filters>
+ </persistence:filters>
</persistence:managed-persistence-context>]]></programlisting>
</section>
Modified: trunk/doc/Seam_Reference_Guide/en-US/Persistence.xml
===================================================================
--- trunk/doc/Seam_Reference_Guide/en-US/Persistence.xml 2008-08-05 18:08:03 UTC (rev 8586)
+++ trunk/doc/Seam_Reference_Guide/en-US/Persistence.xml 2008-08-05 18:10:19 UTC (rev 8587)
@@ -604,10 +604,10 @@
<persistence:managed-persistence-context name="personDatabase"
persistence-unit-jndi-name="java:/EntityManagerFactories/personDatabase">
- <core:filters>
+ <persistence:filters>
<value>#{regionFilter}</value>
<value>#{currentFilter}</value>
- </core:filters>
+ </persistence:filters>
</persistence:managed-persistence-context>]]></programlisting>
</section>
[View Less]
16 years, 7 months
Seam SVN: r8586 - trunk/src/main/org/jboss/seam/persistence.
by seam-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2008-08-05 14:08:03 -0400 (Tue, 05 Aug 2008)
New Revision: 8586
Modified:
trunk/src/main/org/jboss/seam/persistence/HibernatePersistenceProvider.java
trunk/src/main/org/jboss/seam/persistence/ManagedHibernateSession.java
Log:
JBSEAM-3097, thanks to Craig Savolainen
Modified: trunk/src/main/org/jboss/seam/persistence/HibernatePersistenceProvider.java
===================================================================
--- trunk/src/main/org/jboss/seam/…
[View More]persistence/HibernatePersistenceProvider.java 2008-08-05 17:59:05 UTC (rev 8585)
+++ trunk/src/main/org/jboss/seam/persistence/HibernatePersistenceProvider.java 2008-08-05 18:08:03 UTC (rev 8586)
@@ -4,6 +4,7 @@
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
+import java.util.Collection;
import java.util.Map;
import javax.persistence.EntityManager;
@@ -212,7 +213,12 @@
org.hibernate.Filter filter = getSession(entityManager).enableFilter( f.getName() );
for ( Map.Entry<String, ValueExpression> me: f.getParameters().entrySet() )
{
- filter.setParameter( me.getKey(), me.getValue().getValue() );
+ Object filterValue = me.getValue().getValue();
+ if ( filterValue instanceof Collection ) {
+ filter.setParameterList(me.getKey(), (Collection) filterValue);
+ } else {
+ filter.setParameter(me.getKey(), filterValue);
+ }
}
filter.validate();
}
Modified: trunk/src/main/org/jboss/seam/persistence/ManagedHibernateSession.java
===================================================================
--- trunk/src/main/org/jboss/seam/persistence/ManagedHibernateSession.java 2008-08-05 17:59:05 UTC (rev 8585)
+++ trunk/src/main/org/jboss/seam/persistence/ManagedHibernateSession.java 2008-08-05 18:08:03 UTC (rev 8586)
@@ -3,6 +3,7 @@
import java.io.Serializable;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.List;
import java.util.Map;
@@ -101,7 +102,12 @@
org.hibernate.Filter filter = session.enableFilter( f.getName() );
for ( Map.Entry<String, ValueExpression> me: f.getParameters().entrySet() )
{
- filter.setParameter( me.getKey(), me.getValue().getValue() );
+ Object filterValue = me.getValue().getValue();
+ if ( filterValue instanceof Collection ) {
+ filter.setParameterList(me.getKey(), (Collection) filterValue);
+ } else {
+ filter.setParameter(me.getKey(), filterValue);
+ }
}
filter.validate();
}
[View Less]
16 years, 7 months
Seam SVN: r8585 - trunk/src/main/org/jboss/seam/exception and 1 other directory.
by seam-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2008-08-05 13:59:05 -0400 (Tue, 05 Aug 2008)
New Revision: 8585
Modified:
branches/Seam_2_0/src/main/org/jboss/seam/exception/ConfigRedirectHandler.java
branches/Seam_2_0/src/main/org/jboss/seam/exception/Exceptions.java
trunk/src/main/org/jboss/seam/exception/ConfigRedirectHandler.java
trunk/src/main/org/jboss/seam/exception/Exceptions.java
Log:
JBSEAM-3190
Modified: branches/Seam_2_0/src/main/org/jboss/seam/exception/ConfigRedirectHandler.java
…
[View More]===================================================================
--- branches/Seam_2_0/src/main/org/jboss/seam/exception/ConfigRedirectHandler.java 2008-08-05 17:26:27 UTC (rev 8584)
+++ branches/Seam_2_0/src/main/org/jboss/seam/exception/ConfigRedirectHandler.java 2008-08-05 17:59:05 UTC (rev 8585)
@@ -47,7 +47,14 @@
@Override
protected String getViewId(Exception e)
{
- return id.getValue();
+ if (id != null)
+ {
+ return id.getValue();
+ }
+ else
+ {
+ return null;
+ }
}
@Override
Modified: branches/Seam_2_0/src/main/org/jboss/seam/exception/Exceptions.java
===================================================================
--- branches/Seam_2_0/src/main/org/jboss/seam/exception/Exceptions.java 2008-08-05 17:26:27 UTC (rev 8584)
+++ branches/Seam_2_0/src/main/org/jboss/seam/exception/Exceptions.java 2008-08-05 17:59:05 UTC (rev 8585)
@@ -161,7 +161,8 @@
Severity severity = severityName==null ?
FacesMessage.SEVERITY_INFO :
Pages.getFacesMessageValuesMap().get( severityName.toUpperCase() );
- return new ConfigRedirectHandler(Expressions.instance().createValueExpression(viewId, String.class), clazz, endConversation, message, severity);
+ return new ConfigRedirectHandler(viewId == null ? null : Expressions.instance().createValueExpression(
+ viewId, String.class), clazz, endConversation, message, severity);
}
Element error = exception.element("http-error");
Modified: trunk/src/main/org/jboss/seam/exception/ConfigRedirectHandler.java
===================================================================
--- trunk/src/main/org/jboss/seam/exception/ConfigRedirectHandler.java 2008-08-05 17:26:27 UTC (rev 8584)
+++ trunk/src/main/org/jboss/seam/exception/ConfigRedirectHandler.java 2008-08-05 17:59:05 UTC (rev 8585)
@@ -47,7 +47,14 @@
@Override
protected String getViewId(Exception e)
{
- return id.getValue();
+ if (id != null)
+ {
+ return id.getValue();
+ }
+ else
+ {
+ return null;
+ }
}
@Override
Modified: trunk/src/main/org/jboss/seam/exception/Exceptions.java
===================================================================
--- trunk/src/main/org/jboss/seam/exception/Exceptions.java 2008-08-05 17:26:27 UTC (rev 8584)
+++ trunk/src/main/org/jboss/seam/exception/Exceptions.java 2008-08-05 17:59:05 UTC (rev 8585)
@@ -206,14 +206,14 @@
Element redirect = exception.element("redirect");
if (redirect!=null)
{
- final String viewId = redirect.attributeValue("view-id");
+ String viewId = redirect.attributeValue("view-id");
Element messageElement = redirect.element("message");
final String message = messageElement==null ? null : messageElement.getTextTrim();
String severityName = messageElement==null ? null : messageElement.attributeValue("severity");
Severity severity = severityName==null ?
FacesMessage.SEVERITY_INFO :
Pages.getFacesMessageValuesMap().get( severityName.toUpperCase() );
- return new ConfigRedirectHandler(Expressions.instance().createValueExpression(
+ return new ConfigRedirectHandler(viewId == null ? null : Expressions.instance().createValueExpression(
viewId, String.class), clazz, endConversation, message, severity);
}
[View Less]
16 years, 7 months
Seam SVN: r8584 - trunk/build and 1 other directory.
by seam-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2008-08-05 13:26:27 -0400 (Tue, 05 Aug 2008)
New Revision: 8584
Modified:
branches/Seam_2_0/build/root.pom.xml
trunk/build/root.pom.xml
Log:
Update to jbpm 3.2.3
Modified: branches/Seam_2_0/build/root.pom.xml
===================================================================
--- branches/Seam_2_0/build/root.pom.xml 2008-08-05 16:50:30 UTC (rev 8583)
+++ branches/Seam_2_0/build/root.pom.xml 2008-08-05 17:26:27 UTC (rev 8584)
@@ -218,7 +218,7 @@
…
[View More]<dependency>
<groupId>org.jbpm</groupId>
<artifactId>jbpm-jpdl</artifactId>
- <version>3.2.2</version>
+ <version>3.2.3</version>
</dependency>
<dependency>
Modified: trunk/build/root.pom.xml
===================================================================
--- trunk/build/root.pom.xml 2008-08-05 16:50:30 UTC (rev 8583)
+++ trunk/build/root.pom.xml 2008-08-05 17:26:27 UTC (rev 8584)
@@ -232,7 +232,7 @@
<dependency>
<groupId>org.jbpm</groupId>
<artifactId>jbpm-jpdl</artifactId>
- <version>3.2.2</version>
+ <version>3.2.3</version>
</dependency>
<dependency>
[View Less]
16 years, 7 months
Seam SVN: r8583 - branches/Seam_2_0/doc/Seam_Reference_Guide/en-US.
by seam-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2008-08-05 12:50:30 -0400 (Tue, 05 Aug 2008)
New Revision: 8583
Modified:
branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/Controls.xml
Log:
Backport JBSEAM-3118
Modified: branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/Controls.xml
===================================================================
--- branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/Controls.xml 2008-08-05 16:47:36 UTC (rev 8582)
+++ branches/Seam_2_0/doc/Seam_Reference_Guide/en-US/…
[View More]Controls.xml 2008-08-05 16:50:30 UTC (rev 8583)
@@ -1132,23 +1132,23 @@
</term>
<listitem>
<programlisting role="JAVA"><![CDATA[@Name("itemConverter")
- @BypassInterceptors
- @Converter
- public class ItemConverter implements Converter {
-
- @Transactional
- public Object getAsObject(FacesContext context, UIComponent cmp, String value) {
- EntityManager entityManager = (EntityManager) Component.getInstance("entityManager");
- entityManager.joinTransaction();
- // Do the conversion
- }
-
- public String getAsString(FacesContext context, UIComponent cmp, Object value) {
- // Do the conversion
- }
-
- }]]></programlisting>
+@BypassInterceptors
+@Converter
+public class ItemConverter implements Converter {
+ @Transactional
+ public Object getAsObject(FacesContext context, UIComponent cmp, String value) {
+ EntityManager entityManager = (EntityManager) Component.getInstance("entityManager");
+ entityManager.joinTransaction();
+ // Do the conversion
+ }
+
+ public String getAsString(FacesContext context, UIComponent cmp, Object value) {
+ // Do the conversion
+ }
+
+}]]></programlisting>
+
<programlisting role="XHTML"><![CDATA[<h:inputText value="#{shop.item}" converter="itemConverter" />]]></programlisting>
<para>
@@ -1165,17 +1165,19 @@
</term>
<listitem>
<programlisting role="JAVA"><![CDATA[@Name("itemValidator")
- @BypassInterceptors
- @Validator
- public class ItemValidator implements Validator {
+@BypassInterceptors
+(a)org.jboss.seam.annotations.faces.Validator
+public class ItemValidator implements javax.faces.validator.Validator {
- public void validate(FacesContext context, UIComponent cmp, Object value)
- throws ValidatorException {
- ItemController ItemController = (ItemController) Component.getInstance("itemController");
- return itemController.validate(value);
- }
-
- }]]></programlisting>
+ public void validate(FacesContext context, UIComponent cmp, Object value)
+ throws ValidatorException {
+ ItemController ItemController = (ItemController) Component.getInstance("itemController");
+ boolean valid = itemController.validate(value);
+ if (!valid) {
+ throw ValidatorException("Invalid value " + value);
+ }
+ }
+}]]></programlisting>
<programlisting role="XHTML"><![CDATA[<h:inputText value="#{shop.item}" validator="itemValidator" />]]></programlisting>
<para>
[View Less]
16 years, 7 months
Seam SVN: r8582 - branches/Seam_2_0/build.
by seam-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2008-08-05 12:47:36 -0400 (Tue, 05 Aug 2008)
New Revision: 8582
Modified:
branches/Seam_2_0/build/default.build.properties
Log:
Update to point at JBoss 4.2.3
Modified: branches/Seam_2_0/build/default.build.properties
===================================================================
--- branches/Seam_2_0/build/default.build.properties 2008-08-05 16:38:17 UTC (rev 8581)
+++ branches/Seam_2_0/build/default.build.properties 2008-08-05 16:47:36 UTC (rev …
[View More]8582)
@@ -12,5 +12,5 @@
#
# Other program locations
# -----------------------
-jboss.home /Applications/jboss-4.2.2.GA
+jboss.home /Applications/jboss-4.2.3.GA
tomcat.home /Applications/apache-tomcat-6.0
[View Less]
16 years, 7 months
Seam SVN: r8581 - trunk/doc/Seam_Reference_Guide/en-US.
by seam-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2008-08-05 12:38:17 -0400 (Tue, 05 Aug 2008)
New Revision: 8581
Modified:
trunk/doc/Seam_Reference_Guide/en-US/Controls.xml
Log:
JBSEAM-3118
Modified: trunk/doc/Seam_Reference_Guide/en-US/Controls.xml
===================================================================
--- trunk/doc/Seam_Reference_Guide/en-US/Controls.xml 2008-08-05 16:22:46 UTC (rev 8580)
+++ trunk/doc/Seam_Reference_Guide/en-US/Controls.xml 2008-08-05 16:38:17 UTC (rev 8581)
@@ -1224,23 …
[View More]+1224,23 @@
</term>
<listitem>
<programlisting role="JAVA"><![CDATA[@Name("itemConverter")
- @BypassInterceptors
- @Converter
- public class ItemConverter implements Converter {
-
- @Transactional
- public Object getAsObject(FacesContext context, UIComponent cmp, String value) {
- EntityManager entityManager = (EntityManager) Component.getInstance("entityManager");
- entityManager.joinTransaction();
- // Do the conversion
- }
-
- public String getAsString(FacesContext context, UIComponent cmp, Object value) {
- // Do the conversion
- }
-
- }]]></programlisting>
+@BypassInterceptors
+@Converter
+public class ItemConverter implements Converter {
+ @Transactional
+ public Object getAsObject(FacesContext context, UIComponent cmp, String value) {
+ EntityManager entityManager = (EntityManager) Component.getInstance("entityManager");
+ entityManager.joinTransaction();
+ // Do the conversion
+ }
+
+ public String getAsString(FacesContext context, UIComponent cmp, Object value) {
+ // Do the conversion
+ }
+
+}]]></programlisting>
+
<programlisting role="XHTML"><![CDATA[<h:inputText value="#{shop.item}" converter="itemConverter" />]]></programlisting>
<para>
@@ -1257,17 +1257,19 @@
</term>
<listitem>
<programlisting role="JAVA"><![CDATA[@Name("itemValidator")
- @BypassInterceptors
- @Validator
- public class ItemValidator implements Validator {
+@BypassInterceptors
+(a)org.jboss.seam.annotations.faces.Validator
+public class ItemValidator implements javax.faces.validator.Validator {
- public void validate(FacesContext context, UIComponent cmp, Object value)
- throws ValidatorException {
- ItemController ItemController = (ItemController) Component.getInstance("itemController");
- return itemController.validate(value);
- }
-
- }]]></programlisting>
+ public void validate(FacesContext context, UIComponent cmp, Object value)
+ throws ValidatorException {
+ ItemController ItemController = (ItemController) Component.getInstance("itemController");
+ boolean valid = itemController.validate(value);
+ if (!valid) {
+ throw ValidatorException("Invalid value " + value);
+ }
+ }
+}]]></programlisting>
<programlisting role="XHTML"><![CDATA[<h:inputText value="#{shop.item}" validator="itemValidator" />]]></programlisting>
<para>
[View Less]
16 years, 7 months
Seam SVN: r8580 - in trunk: ui/src/main/java/org/jboss/seam/ui/facelet and 1 other directory.
by seam-commits@lists.jboss.org
Author: pete.muir(a)jboss.org
Date: 2008-08-05 12:22:46 -0400 (Tue, 05 Aug 2008)
New Revision: 8580
Modified:
trunk/src/main/org/jboss/seam/mock/MockServletContext.java
trunk/ui/src/main/java/org/jboss/seam/ui/facelet/FaceletCompiler.java
Log:
JBSEAM-3014
Modified: trunk/src/main/org/jboss/seam/mock/MockServletContext.java
===================================================================
--- trunk/src/main/org/jboss/seam/mock/MockServletContext.java 2008-08-05 16:19:32 UTC (rev 8579)
+…
[View More]++ trunk/src/main/org/jboss/seam/mock/MockServletContext.java 2008-08-05 16:22:46 UTC (rev 8580)
@@ -10,6 +10,7 @@
import java.util.Enumeration;
import java.util.HashMap;
import java.util.HashSet;
+import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -18,13 +19,16 @@
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
+import org.dom4j.Document;
+import org.dom4j.DocumentException;
+import org.dom4j.Node;
+import org.dom4j.io.SAXReader;
import org.jboss.seam.util.IteratorEnumeration;
public class MockServletContext implements ServletContext
{
private Map<String, String> initParameters = new HashMap<String, String>();
-
private Map<String, Object> attributes = new HashMap<String, Object>();
private File webappRoot;
@@ -45,33 +49,56 @@
webappRoot = webInfRoot.getParentFile();
}
}
+ // call processing of context parameters
+ processContextParameters();
}
catch (URISyntaxException e)
{
throw new IllegalStateException(e);
}
}
+
+ private void processContextParameters()
+ {
+ SAXReader reader = new SAXReader();
+ Document document;
+ try
+ {
+ document = reader.read(getClass().getResourceAsStream("/WEB-INF/web.xml"));
+ List<Node> nodes = document.selectNodes("//*[name()='context-param']");
+ for (Node node : nodes)
+ {
+ getInitParameters().put(node.selectSingleNode("*[name()='param-name']").getText(), node.selectSingleNode("*[name()='param-value']").getText());
+ }
+ }
+ catch (DocumentException e)
+ {
+ throw new RuntimeException("Error processing web.xml", e);
+ }
+
+ }
+
public Map<String, String> getInitParameters()
{
return initParameters;
}
-
+
public Map<String, Object> getAttributes()
{
return attributes;
}
-
+
public ServletContext getContext(String name)
{
return this;
}
-
+
public int getMajorVersion()
{
return 2;
}
-
+
public int getMinorVersion()
{
return 4;
@@ -81,7 +108,7 @@
{
return null;
}
-
+
public Set getResourcePaths(String name)
{
Enumeration<URL> enumeration = null;
@@ -107,7 +134,7 @@
}
return result;
}
-
+
private static void addPaths(Set<String> result, File[] files, String rootPath)
{
for (File file : files)
@@ -125,38 +152,37 @@
}
/**
- * Get the URL for a particular resource that is relative to the web app root directory.
+ * Get the URL for a particular resource that is relative to the web app root
+ * directory.
*
- * @param name
- * The name of the resource to get
+ * @param name The name of the resource to get
* @return The resource, or null if resource not found
- * @throws MalformedURLException
- * If the URL is invalid
+ * @throws MalformedURLException If the URL is invalid
*/
public URL getResource(String name) throws MalformedURLException
{
- File f = getFile(name, webappRoot);
+ File file = getFile(name, webappRoot);
- if (f == null)
+ if (file == null)
{
- f = getFile(name, webInfRoot);
+ file = getFile(name, webInfRoot);
}
- if (f == null)
+ if (file == null)
{
- f = getFile(name, webInfClassesRoot);
+ file = getFile(name, webInfClassesRoot);
}
- if (f != null)
+ if (file != null)
{
- return f.toURI().toURL();
+ return file.toURI().toURL();
}
else
{
return null;
}
}
-
+
private static File getFile(String name, File root)
{
if (root == null)
@@ -168,7 +194,7 @@
{
name = name.substring(1);
}
-
+
File f = new File(root, name);
if (!f.exists())
{
Modified: trunk/ui/src/main/java/org/jboss/seam/ui/facelet/FaceletCompiler.java
===================================================================
--- trunk/ui/src/main/java/org/jboss/seam/ui/facelet/FaceletCompiler.java 2008-08-05 16:19:32 UTC (rev 8579)
+++ trunk/ui/src/main/java/org/jboss/seam/ui/facelet/FaceletCompiler.java 2008-08-05 16:22:46 UTC (rev 8580)
@@ -1,7 +1,17 @@
package org.jboss.seam.ui.facelet;
+import static com.sun.facelets.FaceletViewHandler.PARAM_DECORATORS;
+import static com.sun.facelets.FaceletViewHandler.PARAM_LIBRARIES;
+import static com.sun.facelets.FaceletViewHandler.PARAM_SKIP_COMMENTS;
import static org.jboss.seam.ScopeType.APPLICATION;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.net.URL;
+
+import javax.faces.context.ExternalContext;
+import javax.faces.context.FacesContext;
+
import org.jboss.seam.Component;
import org.jboss.seam.ScopeType;
import org.jboss.seam.annotations.AutoCreate;
@@ -12,9 +22,15 @@
import org.jboss.seam.annotations.Unwrap;
import org.jboss.seam.annotations.intercept.BypassInterceptors;
import org.jboss.seam.contexts.Contexts;
+import org.jboss.seam.log.LogProvider;
+import org.jboss.seam.log.Logging;
import com.sun.facelets.compiler.Compiler;
import com.sun.facelets.compiler.SAXCompiler;
+import com.sun.facelets.compiler.TagLibraryConfig;
+import com.sun.facelets.tag.TagDecorator;
+import com.sun.facelets.tag.TagLibrary;
+import com.sun.facelets.util.ReflectionUtil;
@Name("org.jboss.seam.ui.facelet.faceletCompiler")
@Scope(APPLICATION)
@@ -23,15 +39,84 @@
@Install(value = true, precedence = Install.BUILT_IN, classDependencies="com.sun.facelets.Facelet")
public class FaceletCompiler
{
-
+
+ private LogProvider log = Logging.getLogProvider(FaceletCompiler.class);
private Compiler compiler;
@Create
public void create()
{
compiler = new SAXCompiler();
+ // fill the necessary parameters
+ initializeCompiler(compiler);
}
+ /*
+ * This method cribbed from FaceletViewHandler
+ */
+ protected void initializeCompiler(Compiler compiler)
+ {
+ FacesContext facesContext = FacesContext.getCurrentInstance();
+ ExternalContext externalContext = facesContext.getExternalContext();
+
+ // load libraries
+ String libraryParameter = externalContext.getInitParameter(PARAM_LIBRARIES);
+ if (libraryParameter != null)
+ {
+ libraryParameter = libraryParameter.trim();
+ String[] libraries = libraryParameter.split(";");
+ URL src;
+ TagLibrary libraryObject;
+ for (int i = 0; i < libraries.length; i++)
+ {
+ try
+ {
+ src = externalContext.getResource(libraries[i].trim());
+ if (src == null)
+ {
+ throw new FileNotFoundException(libraries[i]);
+ }
+ libraryObject = TagLibraryConfig.create(src);
+ compiler.addTagLibrary(libraryObject);
+ log.trace("Successfully Loaded Library: " + libraries[i]);
+ }
+ catch (IOException e)
+ {
+ log.error("Error Loading Library: " + libraries[i], e);
+ }
+ }
+ }
+
+ // load decorators
+ String decoratorParameter = externalContext.getInitParameter(PARAM_DECORATORS);
+ if (decoratorParameter != null)
+ {
+ decoratorParameter = decoratorParameter.trim();
+ String[] decorators = decoratorParameter.split(";");
+ TagDecorator decoratorObject;
+ for (int i = 0; i < decorators.length; i++)
+ {
+ try
+ {
+ decoratorObject = (TagDecorator) ReflectionUtil.forName(decorators[i]).newInstance();
+ compiler.addTagDecorator(decoratorObject);
+ log.trace("Successfully Loaded Decorator: " + decorators[i]);
+ }
+ catch (Exception e)
+ {
+ log.error("Error Loading Decorator: " + decorators[i], e);
+ }
+ }
+ }
+
+ // skip params?
+ String skipParameters = externalContext.getInitParameter(PARAM_SKIP_COMMENTS);
+ if (skipParameters != null && "true".equals(skipParameters))
+ {
+ compiler.setTrimmingComments(true);
+ }
+ }
+
@Unwrap
public Compiler unwrap()
{
[View Less]
16 years, 7 months