package com.indexdata.mkjsf.pazpar2.data;\r
\r
+import java.io.IOException;\r
import java.io.Serializable;\r
+import java.io.UnsupportedEncodingException;\r
import java.util.List;\r
import java.util.Map;\r
import java.util.concurrent.ConcurrentHashMap;\r
\r
import javax.enterprise.context.SessionScoped;\r
+import javax.faces.context.ExternalContext;\r
+import javax.faces.context.FacesContext;\r
import javax.inject.Named;\r
\r
+import org.apache.commons.io.FilenameUtils;\r
import org.apache.log4j.Logger;\r
\r
import com.indexdata.mkjsf.errors.ErrorHelper;\r
return null;\r
}\r
\r
-}\r
+ public void download(String commandName) throws UnsupportedEncodingException, IOException {\r
+ logger.info(Utils.objectId(this) + " got a download request for "\r
+ + commandName);\r
+ FacesContext facesContext = FacesContext.getCurrentInstance();\r
+ ExternalContext externalContext = facesContext.getExternalContext();\r
+ externalContext.setResponseHeader("Content-Type","application/xml; charset=\"utf-8\"");\r
+ externalContext.setResponseHeader("Content-Length",String.valueOf(dataObjects.get(commandName).getXml().getBytes("UTF-8").length));\r
+ externalContext.setResponseHeader("Content-Disposition","attachment;filename=\"" + commandName + ".xml\"");\r
+ externalContext.getResponseOutputStream().write(dataObjects.get(commandName).getXml().getBytes("UTF-8"));\r
+ facesContext.responseComplete();\r
+ }\r
+}
\ No newline at end of file