Coverage Summary for Class: TiffHeader (org.kitodo.export)
Class |
Class, %
|
Method, %
|
Line, %
|
TiffHeader |
0%
(0/1)
|
0%
(0/5)
|
0%
(0/50)
|
/*
* (c) Kitodo. Key to digital objects e. V. <contact@kitodo.org>
*
* This file is part of the Kitodo project.
*
* It is licensed under GNU General Public License version 3 or later.
*
* For the full copyright and license information, please read the
* GPL3-License.txt file that was distributed with this source code.
*/
package org.kitodo.export;
import java.io.IOException;
import javax.faces.context.FacesContext;
import javax.servlet.ServletContext;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import org.kitodo.data.database.beans.Process;
import org.kitodo.data.database.beans.Property;
/**
* Die Klasse TiffHeader dient zur Generierung einer Tiffheaderdatei *.conf
*
* @author Steffen Hankiewicz
* @version 1.00 - 12.04.2005
*/
public class TiffHeader {
private String artist = "";
private String tifHeaderImageDescription = "";
private String tifHeaderDocumentName = "";
/**
* Erzeugen des Tiff-Headers anhand des übergebenen Prozesses Einlesen der
* Eigenschaften des Werkstücks bzw. der Scanvorlage
*/
public TiffHeader(Process process) {
for (Property workpieceProperty : process.getWorkpieces()) {
if (workpieceProperty.getTitle().equals("TifHeaderDocumentname")) {
this.tifHeaderDocumentName = workpieceProperty.getValue();
}
if (workpieceProperty.getTitle().equals("TifHeaderImagedescription")) {
this.tifHeaderImageDescription = workpieceProperty.getValue();
}
if (workpieceProperty.getTitle().equals("Artist")) {
this.artist = workpieceProperty.getValue();
}
}
}
/**
* Rückgabe des kompletten Tiff-Headers.
*/
public String getImageDescription() {
return this.tifHeaderImageDescription;
}
/**
* Rückgabe des kompletten Tiff-Headers.
*/
private String getDocumentName() {
return this.tifHeaderDocumentName;
}
/**
* Tiff-Header-Daten als ein grosser String.
*/
public String getTiffAlles() {
String lineBreak = "\r\n";
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("#");
stringBuilder.append(lineBreak);
stringBuilder.append("# Configuration file for TIFFWRITER.pl");
stringBuilder.append(lineBreak);
stringBuilder.append("#");
stringBuilder.append(lineBreak);
stringBuilder.append("# - overwrites tiff-tags.");
stringBuilder.append(lineBreak);
stringBuilder.append("#");
stringBuilder.append(lineBreak);
stringBuilder.append("#");
stringBuilder.append(lineBreak);
stringBuilder.append("Artist=");
stringBuilder.append(this.artist);
stringBuilder.append(lineBreak);
stringBuilder.append("Documentname=");
stringBuilder.append(getDocumentName());
stringBuilder.append(lineBreak);
stringBuilder.append("ImageDescription=");
stringBuilder.append(getImageDescription());
stringBuilder.append(lineBreak);
return stringBuilder.toString();
}
/**
* Start export.
*/
public void exportStart() throws IOException {
FacesContext facesContext = FacesContext.getCurrentInstance();
if (!facesContext.getResponseComplete()) {
HttpServletResponse response = (HttpServletResponse) facesContext.getExternalContext().getResponse();
String fileName = "tiffwriter.conf";
ServletContext servletContext = (ServletContext) facesContext.getExternalContext().getContext();
String contentType = servletContext.getMimeType(fileName);
response.setContentType(contentType);
response.setHeader("Content-Disposition", "attachment;filename=\"" + fileName + "\"");
ServletOutputStream out = response.getOutputStream();
/*
* die txt-Datei direkt in den Stream schreiben lassen
*/
out.print(getTiffAlles());
out.flush();
facesContext.responseComplete();
}
}
}