");
// writer.println("");
//
// writer.println("");
//
// }
public static String renderRequiredKeysJavaScript(ServletContext sc,
SignatureInformation signatureInfo, String name_prefix)
{
StringWriter sw = new StringWriter();
PrintWriter writer = new PrintWriter(sw);
String[] rkeys = REQUIRED_SIG_KEYS;
PdfAsInternal pdfAsInternal = ApiHelper.getPdfAsInternalFromContext(sc);
for (int key_idx = 0; key_idx < rkeys.length; key_idx++)
{
String key = rkeys[key_idx];
SignatureEntry entry = pdfAsInternal.getSignatureEntryFromSignatureInformation(key, signatureInfo);
String value = entry.getValue();
if ("SIG_ID".equals(key) && value == null)
{
continue;
}
if ("SIG_KZ".equals(key) && value == null)
{
continue;
}
value = value.replaceAll("\\s", " ");
value = value.replaceAll("\\\"", "\\\"");
String input_key = name_prefix + key;
writer.println(" document.submitform." + input_key + ".value = \"" + value + "\";");
}
return sw.toString();
}
public static String renderRequiredKeys(ServletContext sc, SignatureInformation signatureInfo,
String name_prefix, boolean write_value)
{
StringWriter sw = new StringWriter();
PrintWriter writer = new PrintWriter(sw);
writer.println("
");
String[] rkeys = REQUIRED_SIG_KEYS;
PdfAsInternal pdfAsInternal = ApiHelper.getPdfAsInternalFromContext(sc);
for (int key_idx = 0; key_idx < rkeys.length; key_idx++)
{
String key = rkeys[key_idx];
SignatureEntry entry = pdfAsInternal.getSignatureEntryFromSignatureInformation(key, signatureInfo);
String caption = entry.getCaption();
String value = entry.getValue();
if ("SIG_ID".equals(key) && value == null)
{
continue;
}
if ("SIG_KZ".equals(key) && value == null)
{
continue;
}
writer.println("
");
writer.println("
" + caption + ":
");
writer.println("
");
value = value.replaceAll("\\s", " ");
// wuhu! replacing all \" with \"
value = value.replaceAll("\\\"", "\\\"");
String input_key = name_prefix + key;
writer.println(" ");
writer.println("
");
writer.println("
");
}
writer.println("
");
return sw.toString();
}
public static String renderRequiredKeysText(ServletContext sc, SignatureInformation signatureInformation)
{
StringWriter sw = new StringWriter();
PrintWriter writer = new PrintWriter(sw);
writer.println("
");
// just render useful information
// FIXME: NPE in case SignatureTypes.SIG_NAME is not used (in case of friendly signer name)
// Problem: SignatureTypes.SIG_NAME is defined as Signer-RFC2253Name, but there is not certain
// key for friendly name (e.g. SIG_SUBJECT or SIG_FOO), therefore we do not know which key contains
// the friendly signer name
// workaround: include "SIG_SUBJECT" since it is usually used
String[] rkeys = { "SIG_NAME", "SIG_SUBJECT", "SIG_DATE", "SIG_ISSUER", "SIG_NUMBER"}; // SignatureTypes.REQUIRED_SIG_KEYS;
PdfAsInternal pdfAsInternal = ApiHelper.getPdfAsInternalFromContext(sc);
for (int key_idx = 0; key_idx < rkeys.length; key_idx++)
{
String key = rkeys[key_idx];
SignatureEntry entry = pdfAsInternal.getSignatureEntryFromSignatureInformation(key, signatureInformation);
if (entry == null) {
continue;
}
String caption = entry.getCaption();
String value = entry.getValue();
if (caption == null || value == null) {
continue;
}
// if (SignatureTypes.SIG_KZ.equals(key) && value == null)
// {
// continue;
// }
writer.println("
");
writer.println("
" + caption + ":
");
writer.println("
");
value = value.replaceAll("\\s", " ");
value = value.replaceAll("\\\"", "\\\"");
writer.println(" " + value);
writer.println("