Browse Source

Anpassungsmoeglichkeit Exportdateinamen

kern5.0-HHU
Meikel Bisping 3 weeks ago
parent
commit
401f00bc73
  1. 29
      src/de/superx/common/Maske.java
  2. 12
      src/de/superx/servlet/SuperXmlTabelle.java

29
src/de/superx/common/Maske.java

@ -2531,17 +2531,24 @@ public class Maske extends NamedIdObject implements Serializable {
return result; return result;
} }
/** /**
* Normalerweise Maskenname nur bei JasperReports der Stylesheetname * Normalerweise Maskenname nur bei JasperReports der Stylesheetname
* *
* @return * @return
*/ */
public String getExportName() { public String getExportName() {
String result = getName(); String result = getName();
if (selectedTableStylesheet != null && selectedTableStylesheet.getFilename().indexOf(".jrxml") > -1) if (selectedTableStylesheet != null && selectedTableStylesheet.getFilename().indexOf(".jrxml") > -1) result = selectedTableStylesheet.getCaption();
result = selectedTableStylesheet.getCaption(); if (map.containsKey("exportfilename"))
return result; {
} if (map.get("exportfilename")==null||map.get("exportfilename").toString().trim().equals(""))
{
throw new IllegalStateException("Die Maske definiert exportfilename, dieser ist aber leer. Masken-SQL prüfen");
}
result=map.get("exportfilename").toString();
}
return result;
}
public String getFullTableXml(String mandantenId, SxUser sxuser, HttpServletRequest request, Locale locale) public String getFullTableXml(String mandantenId, SxUser sxuser, HttpServletRequest request, Locale locale)
throws TransformerConfigurationException, TemplateException, IOException, SQLException, throws TransformerConfigurationException, TemplateException, IOException, SQLException,

12
src/de/superx/servlet/SuperXmlTabelle.java

@ -501,7 +501,7 @@ public class SuperXmlTabelle extends AbstractSuperXServlet {
response.reset(); response.reset();
//response.setContentType("application/vnd.ms-excel"); //response.setContentType("application/vnd.ms-excel");
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"); response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
response.setHeader("Content-disposition", "attachment; filename=" + FileUtils.removeProblemChars(maske.getName()) + ".xlsx"); response.setHeader("Content-disposition", "attachment; filename=" + FileUtils.removeProblemChars(maske.getExportName()) + ".xlsx");
response.setHeader("Cache-Control", "expires=0"); response.setHeader("Cache-Control", "expires=0");
response.setContentLength(outStream.size()); response.setContentLength(outStream.size());
ServletOutputStream sos; ServletOutputStream sos;
@ -921,7 +921,7 @@ public class SuperXmlTabelle extends AbstractSuperXServlet {
// neu MB // neu MB
if (maske.getSelectedTableStylesheetFilename() != null && maske.getSelectedTableStylesheetFilename().equals("tabelle_xml.xsl")) { if (maske.getSelectedTableStylesheetFilename() != null && maske.getSelectedTableStylesheetFilename().equals("tabelle_xml.xsl")) {
response.setContentType("application/x-xml; charset=" + SqlStringUtils.getEncoding()); response.setContentType("application/x-xml; charset=" + SqlStringUtils.getEncoding());
response.setHeader("Content-disposition", "attachment; filename=" + FileUtils.removeProblemChars(maske.getName()) + ".xml"); response.setHeader("Content-disposition", "attachment; filename=" + FileUtils.removeProblemChars(maske.getExportName()) + ".xml");
response.setHeader("Cache-Control", "expires=0"); response.setHeader("Cache-Control", "expires=0");
// hier wird für xml-output localiziert für andere // hier wird für xml-output localiziert für andere
// formate in xmlTransformer könnte // formate in xmlTransformer könnte
@ -1011,7 +1011,7 @@ public class SuperXmlTabelle extends AbstractSuperXServlet {
// open browser download dialogue // open browser download dialogue
response.setContentType("application/x-xml; charset=" + SqlStringUtils.getEncoding()); response.setContentType("application/x-xml; charset=" + SqlStringUtils.getEncoding());
response.setHeader("Content-disposition", "attachment; filename=" + FileUtils.removeProblemChars(maske.getName()) + filename_extension); response.setHeader("Content-disposition", "attachment; filename=" + FileUtils.removeProblemChars(maske.getExportName()) + filename_extension);
response.setHeader("Cache-Control", "expires=0"); response.setHeader("Cache-Control", "expires=0");
} }
} }
@ -1019,7 +1019,7 @@ public class SuperXmlTabelle extends AbstractSuperXServlet {
getServletConfig(), request, response, getServletConfig(), request, response,
getMandantenID(), getBrowser()); getMandantenID(), getBrowser());
xmlTransformer.setMaske(maske); xmlTransformer.setMaske(maske);
xmlTransformer.transform(maske.getName(), xmlTransformer.transform(maske.getExportName(),
maske.getTmpFiles(), currentXml, desiredLocale, maske.getTmpFiles(), currentXml, desiredLocale,
maske.getSelectedTableStylesheetFilename(), maske.getSelectedTableStylesheetFilename(),
maske.getSelectedTableStylesheetContenttype(contenttype), maske.getSelectedTableStylesheetContenttype(contenttype),
@ -1060,7 +1060,7 @@ public class SuperXmlTabelle extends AbstractSuperXServlet {
private void csvExport() throws IOException { private void csvExport() throws IOException {
StringBuffer csv = maske.getCSV(getMandantenID()); StringBuffer csv = maske.getCSV(getMandantenID());
response.setHeader("Content-disposition", "attachment; filename=" + FileUtils.removeProblemChars(maske.getName()) + ".csv"); response.setHeader("Content-disposition", "attachment; filename=" + FileUtils.removeProblemChars(maske.getExportName()) + ".csv");
response.setHeader("Cache-Control", "expires=0"); response.setHeader("Cache-Control", "expires=0");
sendBack(csv.toString(), "text/csv", de.superx.servlet.SuperXManager.csvEncoding); sendBack(csv.toString(), "text/csv", de.superx.servlet.SuperXManager.csvEncoding);
@ -1860,7 +1860,7 @@ public class SuperXmlTabelle extends AbstractSuperXServlet {
String filename_extension=".jrxml"; String filename_extension=".jrxml";
OutputStream out = response.getOutputStream(); OutputStream out = response.getOutputStream();
// open browser download dialogue // open browser download dialogue
response.setHeader("Content-disposition", "attachment; filename=" + FileUtils.removeProblemChars(maske.getName()) + filename_extension); response.setHeader("Content-disposition", "attachment; filename=" + FileUtils.removeProblemChars(maske.getExportName()) + filename_extension);
response.setHeader("Cache-Control", "expires=0"); response.setHeader("Cache-Control", "expires=0");
String jrxmlFileContent = de.memtext.util.FileUtils.getFileContentsWithEncoding(jrxmlFilePath, SqlStringUtils.getEncoding()); String jrxmlFileContent = de.memtext.util.FileUtils.getFileContentsWithEncoding(jrxmlFilePath, SqlStringUtils.getEncoding());

Loading…
Cancel
Save