diff options
Diffstat (limited to 'src')
44 files changed, 290 insertions, 176 deletions
| diff --git a/src/main/java/at/gv/egiz/pdfas/commandline/Main.java b/src/main/java/at/gv/egiz/pdfas/commandline/Main.java index d65ef45..c84b417 100644 --- a/src/main/java/at/gv/egiz/pdfas/commandline/Main.java +++ b/src/main/java/at/gv/egiz/pdfas/commandline/Main.java @@ -182,7 +182,10 @@ public abstract class Main                } else {
                   System.out.println("Default configuration has NOT been deployed. Maybe the configuration already exists.");
                }
 -//              System.exit(0);
 +              if (args.length == 1) {
 +                 // no other parameters supplied; exit application
 +                 System.exit(0);
 +              }
             } catch (ConfigUtilsException e) {
                System.err.println("Deployment of default configuration failed: " + e.getMessage());
                System.exit(1);
 diff --git a/src/main/java/at/gv/egiz/pdfas/exceptions/ErrorCodeHelper.java b/src/main/java/at/gv/egiz/pdfas/exceptions/ErrorCodeHelper.java index 5b37bdf..237a496 100644 --- a/src/main/java/at/gv/egiz/pdfas/exceptions/ErrorCodeHelper.java +++ b/src/main/java/at/gv/egiz/pdfas/exceptions/ErrorCodeHelper.java @@ -35,11 +35,11 @@ public class ErrorCodeHelper      }
      catch (SettingsException e)
      {
 -      log.warn(e);
 +      log.warn(e.getMessage(), e);
      }
      catch (SettingNotFoundException e)
      {
 -      log.warn(e);
 +      log.warn(e.getMessage(), e);
      }
      return null;
    }
 diff --git a/src/main/java/at/gv/egiz/pdfas/impl/api/PdfAsObject.java b/src/main/java/at/gv/egiz/pdfas/impl/api/PdfAsObject.java index 635ef89..40da270 100644 --- a/src/main/java/at/gv/egiz/pdfas/impl/api/PdfAsObject.java +++ b/src/main/java/at/gv/egiz/pdfas/impl/api/PdfAsObject.java @@ -238,8 +238,14 @@ public class PdfAsObject implements PdfAs      String connectorId = CommandlineConnectorChooser.chooseCommandlineConnectorForSign(signParameters.getSignatureDevice());
 -    SignatorInformation si = PdfAS
 -        .signCommandline(new PdfDataSourceAdapter(signParameters.getDocument()), new DataSinkAdapter(signParameters.getOutput()), signatorId, connectorId, signParameters.getSignatureProfileId(), pos);
 +    SignatorInformation si = PdfAS.signCommandline(
 +          new PdfDataSourceAdapter(signParameters.getDocument()),
 +          new DataSinkAdapter(signParameters.getOutput()),
 +          signatorId,
 +          connectorId,
 +          signParameters.getSignatureProfileId(),
 +          pos
 +    );
      return new SignResultImpl(signParameters.getOutput(), si.getSignSignatureObject().getX509Certificate(), new ActualSignaturePositionAdapter(si.getActualTablePos()));
    }
 diff --git a/src/main/java/at/gv/egiz/pdfas/impl/api/verify/VerifyResultAdapter.java b/src/main/java/at/gv/egiz/pdfas/impl/api/verify/VerifyResultAdapter.java index bf3f57b..83d4db0 100644 --- a/src/main/java/at/gv/egiz/pdfas/impl/api/verify/VerifyResultAdapter.java +++ b/src/main/java/at/gv/egiz/pdfas/impl/api/verify/VerifyResultAdapter.java @@ -8,6 +8,9 @@ import java.util.ArrayList;  import java.util.Date;
  import java.util.List;
 +import org.apache.commons.logging.Log;
 +import org.apache.commons.logging.LogFactory;
 +
  import at.gv.egiz.pdfas.api.verify.SignatureCheck;
  import at.gv.egiz.pdfas.api.verify.VerifyResult;
  import at.gv.egiz.pdfas.impl.api.commons.SignatureInformationAdapter;
 @@ -15,6 +18,7 @@ import at.knowcenter.wag.egov.egiz.exceptions.SettingNotFoundException;  import at.knowcenter.wag.egov.egiz.pdf.SignatureHolder;
  import at.knowcenter.wag.egov.egiz.sig.SignatureResponse;
 +
  /**
   * Implements the VerifyResult interface.
   * 
 @@ -24,6 +28,11 @@ public class VerifyResultAdapter extends SignatureInformationAdapter implements  {
    protected SignatureResponse sigRes = null;
 +  /**
 +   * The log.
 +   */
 +  private static final Log logger_ = LogFactory.getLog(VerifyResultAdapter.class);
 +  
    protected Date vTime = null;
    /**
 @@ -100,7 +109,7 @@ public class VerifyResultAdapter extends SignatureInformationAdapter implements      }
      catch (SettingNotFoundException e)
      {
 -      e.printStackTrace();
 +      logger_.error(e.getMessage(), e);
        return new ArrayList();
      }
    }
 diff --git a/src/main/java/at/gv/egiz/pdfas/impl/input/FileBasedPdfDataSourceImpl.java b/src/main/java/at/gv/egiz/pdfas/impl/input/FileBasedPdfDataSourceImpl.java index a3a0803..57e572f 100644 --- a/src/main/java/at/gv/egiz/pdfas/impl/input/FileBasedPdfDataSourceImpl.java +++ b/src/main/java/at/gv/egiz/pdfas/impl/input/FileBasedPdfDataSourceImpl.java @@ -97,8 +97,7 @@ public class FileBasedPdfDataSourceImpl implements PdfDataSource, FileBased      }
      catch (IOException e)
      {
 -      log.error("Couldn't create InputStream for file " + getFile() + ". Returning null.");
 -      log.error(e);
 +      log.error("Couldn't create InputStream for file " + getFile() + ". Returning null.", e);
        return null;
      }
 diff --git a/src/main/java/at/gv/egiz/pdfas/impl/input/FileBasedTextDataSourceImpl.java b/src/main/java/at/gv/egiz/pdfas/impl/input/FileBasedTextDataSourceImpl.java index 1988519..6e0f50b 100644 --- a/src/main/java/at/gv/egiz/pdfas/impl/input/FileBasedTextDataSourceImpl.java +++ b/src/main/java/at/gv/egiz/pdfas/impl/input/FileBasedTextDataSourceImpl.java @@ -88,8 +88,7 @@ public class FileBasedTextDataSourceImpl implements TextDataSource, FileBased      }
      catch (IOException e)
      {
 -      log.error("Couldn't read text for file " + getFile() + ". Returning null.");
 -      log.error(e);
 +      log.error("Couldn't read text for file " + getFile() + ". Returning null.", e);
        return null;
      }
 @@ -107,8 +106,7 @@ public class FileBasedTextDataSourceImpl implements TextDataSource, FileBased      }
      catch (IOException e)
      {
 -      log.error("Couldn't create InputStream for file " + getFile() + ". Returning null.");
 -      log.error(e);
 +      log.error("Couldn't create InputStream for file " + getFile() + ". Returning null.", e);
        return null;
      }
 diff --git a/src/main/java/at/gv/egiz/pdfas/impl/input/correction/ExternalCorrector.java b/src/main/java/at/gv/egiz/pdfas/impl/input/correction/ExternalCorrector.java index e244746..25df6a8 100644 --- a/src/main/java/at/gv/egiz/pdfas/impl/input/correction/ExternalCorrector.java +++ b/src/main/java/at/gv/egiz/pdfas/impl/input/correction/ExternalCorrector.java @@ -202,7 +202,7 @@ public class ExternalCorrector implements Corrector        }
        catch (IOException e)
        {
 -        log.error(e);
 +        log.error(e.getMessage(), e);
        }
      }
    }
 diff --git a/src/main/java/at/gv/egiz/pdfas/impl/output/FileBasedDataSink.java b/src/main/java/at/gv/egiz/pdfas/impl/output/FileBasedDataSink.java index 4e1e3b7..4631800 100644 --- a/src/main/java/at/gv/egiz/pdfas/impl/output/FileBasedDataSink.java +++ b/src/main/java/at/gv/egiz/pdfas/impl/output/FileBasedDataSink.java @@ -78,8 +78,7 @@ public class FileBasedDataSink implements DataSink, FileBased      }
      catch (IOException e)
      {
 -      log.error("Couldn't create OutputStream for file " + getFile() + ". Returning null.");
 -      log.error(e);
 +      log.error("Couldn't create OutputStream for file " + getFile() + ". Returning null.", e);
        return null;
 diff --git a/src/main/java/at/gv/egiz/pdfas/impl/verificator/binary/BinaryVerificator_1_0_0.java b/src/main/java/at/gv/egiz/pdfas/impl/verificator/binary/BinaryVerificator_1_0_0.java index b52e97f..c2ec8ff 100644 --- a/src/main/java/at/gv/egiz/pdfas/impl/verificator/binary/BinaryVerificator_1_0_0.java +++ b/src/main/java/at/gv/egiz/pdfas/impl/verificator/binary/BinaryVerificator_1_0_0.java @@ -18,22 +18,17 @@  package at.gv.egiz.pdfas.impl.verificator.binary;
  import java.io.ByteArrayOutputStream;
 -import java.io.FileOutputStream;
 -import java.io.InputStream;
  import java.util.ArrayList;
  import java.util.Iterator;
  import java.util.List;
 +import org.apache.log4j.Logger;
 +
  import at.gv.egiz.pdfas.exceptions.ErrorCode;
  import at.gv.egiz.pdfas.framework.input.PdfDataSource;
  import at.gv.egiz.pdfas.framework.verificator.Verificator;
 -import at.gv.egiz.pdfas.impl.input.ByteArrayPdfDataSourceImpl;
  import at.gv.egiz.pdfas.impl.input.CompoundPdfDataSourceImpl;
  import at.gv.egiz.pdfas.impl.input.DelimitedPdfDataSource;
 -import at.gv.egiz.pdfas.impl.input.helper.DataSourceHelper;
 -
 -import org.apache.log4j.Logger;
 -
  import at.knowcenter.wag.egov.egiz.PdfASID;
  import at.knowcenter.wag.egov.egiz.cfg.ConfigLogger;
  import at.knowcenter.wag.egov.egiz.cfg.SettingsReader;
 @@ -275,7 +270,7 @@ public class BinaryVerificator_1_0_0 implements Verificator        }
        catch (Exception e)
        {
 -        e.printStackTrace();
 +         logger_.error(e.getMessage(), e);
        }
      }
 diff --git a/src/main/java/at/gv/egiz/pdfas/web/helper/SignServletHelper.java b/src/main/java/at/gv/egiz/pdfas/web/helper/SignServletHelper.java index f9cb809..a904ad4 100644 --- a/src/main/java/at/gv/egiz/pdfas/web/helper/SignServletHelper.java +++ b/src/main/java/at/gv/egiz/pdfas/web/helper/SignServletHelper.java @@ -112,7 +112,7 @@ public class SignServletHelper      // check if document is empty
      if (si.si.getSignatureData() == null || si.si.getSignatureData().getDataSource().getLength() == 0) {
 -       throw new PDFDocumentException(250, "The document is empty.");
 +       throw new PDFDocumentException(251, "Unable to extract and textual content.");
      }
      log.debug("connector = " + si.connector); //$NON-NLS-1$
 diff --git a/src/main/java/at/knowcenter/wag/egov/egiz/PdfAS.java b/src/main/java/at/knowcenter/wag/egov/egiz/PdfAS.java index b9987ff..8593cf1 100644 --- a/src/main/java/at/knowcenter/wag/egov/egiz/PdfAS.java +++ b/src/main/java/at/knowcenter/wag/egov/egiz/PdfAS.java @@ -96,7 +96,7 @@ public abstract class PdfAS     * The current version of the pdf-as library. This version string is logged on every invocation
     * of the api or the web application.
     */
 -  public static final String PDFAS_VERSION = "3.0.6";
 +  public static final String PDFAS_VERSION = "3.0.6-20080616";
    /**
     * The key of the strict mode setting.
 @@ -143,7 +143,7 @@ public abstract class PdfAS      }
      catch (SettingsException e)
      {
 -      e.printStackTrace();
 +      log.error(e.getMessage(), e);
      }
      return false;
    }
 diff --git a/src/main/java/at/knowcenter/wag/egov/egiz/cfg/SettingsReader.java b/src/main/java/at/knowcenter/wag/egov/egiz/cfg/SettingsReader.java index c7e5933..6cd5e61 100644 --- a/src/main/java/at/knowcenter/wag/egov/egiz/cfg/SettingsReader.java +++ b/src/main/java/at/knowcenter/wag/egov/egiz/cfg/SettingsReader.java @@ -570,14 +570,14 @@ public class SettingsReader implements Serializable      {
        if (logger_.isWarnEnabled())
        {
 -        logger_.warn("Can not convert " + value + " to int.");
 +        logger_.warn("Can not convert " + value + " to int.", e);
        }
      }
      catch (SettingNotFoundException e)
      {
        if (logger_.isWarnEnabled())
        {
 -        logger_.warn("Setting " + key + " not found, return default value:" + defaultValue);
 +        logger_.warn("Setting " + key + " not found, return default value:" + defaultValue, e);
        }
      }
      return int_property;
 diff --git a/src/main/java/at/knowcenter/wag/egov/egiz/exceptions/ErrorCodeException.java b/src/main/java/at/knowcenter/wag/egov/egiz/exceptions/ErrorCodeException.java index ec21fb5..584e716 100644 --- a/src/main/java/at/knowcenter/wag/egov/egiz/exceptions/ErrorCodeException.java +++ b/src/main/java/at/knowcenter/wag/egov/egiz/exceptions/ErrorCodeException.java @@ -167,7 +167,7 @@ public class ErrorCodeException extends PresentableException        catch (SettingsException e)
        {
          String log_message = "Can not load pdf signature settings. Cause:\n" + e.getMessage();
 -        logger_.error(log_message);
 +        logger_.error(log_message, e);
        }
      }
    }
 @@ -293,7 +293,7 @@ public class ErrorCodeException extends PresentableException      }
      catch (SettingsException e)
      {
 -      e.printStackTrace();
 +      logger_.error(e.getMessage(), e);
      }
      return err_msg;
    }
 diff --git a/src/main/java/at/knowcenter/wag/egov/egiz/framework/VerificationFilter.java b/src/main/java/at/knowcenter/wag/egov/egiz/framework/VerificationFilter.java index 6309ad4..415aa04 100644 --- a/src/main/java/at/knowcenter/wag/egov/egiz/framework/VerificationFilter.java +++ b/src/main/java/at/knowcenter/wag/egov/egiz/framework/VerificationFilter.java @@ -308,7 +308,7 @@ public class VerificationFilter        }
        catch (InvalidIDException e)
        {
 -        e.printStackTrace();
 +        logger_.error(e.getMessage(), e);
        }
        if (kz != null && kz.getType().equals(SignatorFactory.TYPE_BINARY))
        {
 @@ -527,7 +527,7 @@ public class VerificationFilter        }
        catch (InvalidIDException e)
        {
 -        e.printStackTrace();
 +        logger_.error(e.getMessage(), e);
        }
        writer.println("  holder[" + i + "]: " + holder.getSignatureObject().getSignationType() + ", KZ=" + kz);
      }
 diff --git a/src/main/java/at/knowcenter/wag/egov/egiz/framework/verificators/BinaryVerificator_1_0_0.java b/src/main/java/at/knowcenter/wag/egov/egiz/framework/verificators/BinaryVerificator_1_0_0.java index b389a25..a6b87dc 100644 --- a/src/main/java/at/knowcenter/wag/egov/egiz/framework/verificators/BinaryVerificator_1_0_0.java +++ b/src/main/java/at/knowcenter/wag/egov/egiz/framework/verificators/BinaryVerificator_1_0_0.java @@ -269,7 +269,7 @@ public class BinaryVerificator_1_0_0 implements Verificator        }
        catch (Exception e)
        {
 -        e.printStackTrace();
 +        logger_.error(e.getMessage(), e);
        }
      }
 diff --git a/src/main/java/at/knowcenter/wag/egov/egiz/ldap/api/LDAPAPIImpl.java b/src/main/java/at/knowcenter/wag/egov/egiz/ldap/api/LDAPAPIImpl.java index d6f3e7c..1409ae8 100644 --- a/src/main/java/at/knowcenter/wag/egov/egiz/ldap/api/LDAPAPIImpl.java +++ b/src/main/java/at/knowcenter/wag/egov/egiz/ldap/api/LDAPAPIImpl.java @@ -81,11 +81,11 @@ public class LDAPAPIImpl implements LDAPAPI {  				}
  			} catch (SettingsException e) {
 -				this.log.error(e);
 +				this.log.error(e.getMessage(), e);
  			} catch (SettingNotFoundException e) {
 -				this.log.error(e);
 +				this.log.error(e.getMessage(), e);
  			} catch (LDAPException e) {
 -				this.log.error(e);
 +				this.log.error(e.getMessage(), e);
  			}
  			;
  		}
 @@ -98,7 +98,7 @@ public class LDAPAPIImpl implements LDAPAPI {  			LDAPClient client = this.ldapClientFactory.createClient(issuer);
  			url = client.getUrl().toString();
  		} catch (LDAPException e) {
 -			this.log.error(e);
 +			this.log.error(e.getMessage(), e);
  		}
  		return url;
  	}
 @@ -113,7 +113,7 @@ public class LDAPAPIImpl implements LDAPAPI {  				base64CertData = Util.Base64Encode(x509certificate.toByteArray());
  			}
  		} catch (LDAPException e) {
 -			this.log.error(e);
 +			this.log.error(e.getMessage(), e);
  		}
  		return base64CertData;
  	}
 diff --git a/src/main/java/at/knowcenter/wag/egov/egiz/pdf/BinarySignature.java b/src/main/java/at/knowcenter/wag/egov/egiz/pdf/BinarySignature.java index bb34040..24840e6 100644 --- a/src/main/java/at/knowcenter/wag/egov/egiz/pdf/BinarySignature.java +++ b/src/main/java/at/knowcenter/wag/egov/egiz/pdf/BinarySignature.java @@ -1526,7 +1526,7 @@ public abstract class BinarySignature      }
      catch (UnsupportedEncodingException e)
      {
 -      e.printStackTrace();
 +      logger.error(e.getMessage(), e);
      }
      // sort replaces
 @@ -1597,7 +1597,7 @@ public abstract class BinarySignature      }
      catch (UnsupportedEncodingException e)
      {
 -      e.printStackTrace();
 +       logger.error(e.getMessage(), e);
      }
      throw new KZSettingNotFoundException("Field " + SignatureTypes.SIG_KZ + " not found.");
    }
 @@ -1648,7 +1648,7 @@ public abstract class BinarySignature      }
      catch (IOException e)
      {
 -      e.printStackTrace();
 +      logger.error(e.getMessage(), e);
        return false;
      }
 @@ -1713,7 +1713,7 @@ public abstract class BinarySignature      }
      catch (UnsupportedEncodingException e)
      {
 -      e.printStackTrace();
 +      logger.error(e.getMessage(), e);
        return false;
      }
    }
 @@ -1849,7 +1849,7 @@ public abstract class BinarySignature      }
      catch (UnsupportedEncodingException e)
      {
 -      e.printStackTrace();
 +      logger.error(e.getMessage(), e);
        return -1;
      }
    }
 @@ -1893,7 +1893,7 @@ public abstract class BinarySignature      }
      catch (UnsupportedEncodingException e)
      {
 -      e.printStackTrace();
 +      logger.error(e.getMessage(), e);
      }
    }
 diff --git a/src/main/java/at/knowcenter/wag/egov/egiz/pdf/PDFSignatureObjectIText.java b/src/main/java/at/knowcenter/wag/egov/egiz/pdf/PDFSignatureObjectIText.java index ad3a24c..2053264 100644 --- a/src/main/java/at/knowcenter/wag/egov/egiz/pdf/PDFSignatureObjectIText.java +++ b/src/main/java/at/knowcenter/wag/egov/egiz/pdf/PDFSignatureObjectIText.java @@ -311,9 +311,7 @@ public class PDFSignatureObjectIText implements PDFSignatureObject          Image image = Image.getInstance(img_file.getCanonicalPath());
          logger_.debug("Using image file \"" + img_file.getCanonicalPath() + "\".");
 -        // TODO[tknall]: enable image scaling defined by configuration 
          image.scaleToFit(80.0f, 80.0f);
 -        // tknall end
          boolean fit = true; 
          Style.ImageScaleToFit istf = cell_style.getImageScaleToFit();
          if (istf != null)
 @@ -326,13 +324,6 @@ public class PDFSignatureObjectIText implements PDFSignatureObject        }
        catch (BadElementException e)
        {
 -        if (logger_.isDebugEnabled())
 -        {
 -          if (logger_.isDebugEnabled())
 -          {
 -            e.printStackTrace();
 -          }
 -        }
          if (logger_.isEnabledFor(Level.ERROR))
          {
            logger_.error("BadElementException:" + e.getMessage());
 @@ -342,10 +333,6 @@ public class PDFSignatureObjectIText implements PDFSignatureObject        }
        catch (MalformedURLException e)
        {
 -        if (logger_.isDebugEnabled())
 -        {
 -          e.printStackTrace();
 -        }
          if (logger_.isEnabledFor(Level.ERROR))
          {
            logger_.error("MalformedURLException:" + e.getMessage());
 @@ -355,10 +342,6 @@ public class PDFSignatureObjectIText implements PDFSignatureObject        }
        catch (IOException e)
        {
 -        if (logger_.isDebugEnabled())
 -        {
 -          e.printStackTrace();
 -        }
          if (logger_.isEnabledFor(Level.ERROR))
          {
            logger_.error("Error Code: 222, IOException:" + e.getMessage());
 diff --git a/src/main/java/at/knowcenter/wag/egov/egiz/pdf/Placeholder.java b/src/main/java/at/knowcenter/wag/egov/egiz/pdf/Placeholder.java index 6523db9..9155f15 100644 --- a/src/main/java/at/knowcenter/wag/egov/egiz/pdf/Placeholder.java +++ b/src/main/java/at/knowcenter/wag/egov/egiz/pdf/Placeholder.java @@ -66,7 +66,7 @@ public abstract class Placeholder      }
      catch (IOException e)
      {
 -      e.printStackTrace();
 +      logger_.error(e.getMessage(), e);
        return null;
      }
    }
 @@ -189,7 +189,7 @@ public abstract class Placeholder      }
      catch (UnsupportedEncodingException e)
      {
 -      e.printStackTrace();
 +      logger_.error(e.getMessage(), e);
        return null;
      }
      return replace_bytes;
 @@ -212,7 +212,7 @@ public abstract class Placeholder      }
      catch (UnsupportedEncodingException e)
      {
 -      e.printStackTrace();
 +      logger_.error(e.getMessage(), e);
        return null;
      }
 @@ -298,7 +298,7 @@ public abstract class Placeholder      }
      catch (UnsupportedEncodingException e)
      {
 -      e.printStackTrace();
 +      logger_.error(e.getMessage(), e);
        return null;
      }
    }
 diff --git a/src/main/java/at/knowcenter/wag/egov/egiz/pdf/StringInfo.java b/src/main/java/at/knowcenter/wag/egov/egiz/pdf/StringInfo.java index 5933e4b..d2b28a4 100644 --- a/src/main/java/at/knowcenter/wag/egov/egiz/pdf/StringInfo.java +++ b/src/main/java/at/knowcenter/wag/egov/egiz/pdf/StringInfo.java @@ -20,6 +20,9 @@ package at.knowcenter.wag.egov.egiz.pdf;  import java.io.Serializable;
  import java.io.UnsupportedEncodingException;
 +import org.apache.commons.logging.Log;
 +import org.apache.commons.logging.LogFactory;
 +
  /**
   * Specifies a certain data area within the pdf.
   * 
 @@ -37,6 +40,8 @@ public class StringInfo implements Serializable     */
    private static final long serialVersionUID = 5834801907046737048L;
 +  protected static Log logger = LogFactory.getLog(StringInfo.class);
 +
    /**
     * The PDF document this range belongs to.
     */
 @@ -85,7 +90,7 @@ public class StringInfo implements Serializable      }
      catch (UnsupportedEncodingException e)
      {
 -      e.printStackTrace();
 +       logger.error(e.getMessage(), e);
        return "(" + this.string_start + "," + this.string_length + ")";
      }
    }
 diff --git a/src/main/java/at/knowcenter/wag/egov/egiz/sig/ConnectorFactory.java b/src/main/java/at/knowcenter/wag/egov/egiz/sig/ConnectorFactory.java index 9d744e1..e8deb39 100644 --- a/src/main/java/at/knowcenter/wag/egov/egiz/sig/ConnectorFactory.java +++ b/src/main/java/at/knowcenter/wag/egov/egiz/sig/ConnectorFactory.java @@ -337,7 +337,7 @@ public abstract class ConnectorFactory  		is_id_field_visible = SettingsReader.getInstance().getValueFromKey(MOA_ID_VISIBLE_PROPERTY_KEY);
  	  } catch (SettingsException e)
  	  {
 -		e.printStackTrace();
 +        logger_.error(e.getMessage(), e);
  	  }
  	  // if not setted in config, show it
 diff --git a/src/main/java/at/knowcenter/wag/egov/egiz/sig/DummyLDAPAPI.java b/src/main/java/at/knowcenter/wag/egov/egiz/sig/DummyLDAPAPI.java index 47d1d20..0ab1d25 100644 --- a/src/main/java/at/knowcenter/wag/egov/egiz/sig/DummyLDAPAPI.java +++ b/src/main/java/at/knowcenter/wag/egov/egiz/sig/DummyLDAPAPI.java @@ -20,6 +20,9 @@ package at.knowcenter.wag.egov.egiz.sig;  import java.io.File;
  import java.io.FileInputStream;
 +import org.apache.commons.logging.Log;
 +import org.apache.commons.logging.LogFactory;
 +
  import at.knowcenter.wag.egov.egiz.cfg.SettingsReader;
  import at.knowcenter.wag.egov.egiz.ldap.api.LDAPAPIException;
  import at.knowcenter.wag.egov.egiz.ldap.client.LDAPIssuerNameFilter;
 @@ -36,6 +39,11 @@ public class DummyLDAPAPI implements LDAPAPI  {
    String url_ = null;
 +  /**
 +   * The Logger.
 +   */
 +  protected static Log logger = LogFactory.getLog(DummyLDAPAPI.class);
 +
    public DummyLDAPAPI(String url)
    {
      this.url_ = url;
 @@ -70,7 +78,7 @@ public byte[] loadBase64CertificateFromLDAP(String serial_number, String issuer)        }
        catch (Exception e)
        {
 -        e.printStackTrace();
 +         logger.error(e.getMessage(), e);
          data = null;
        }
      }
 diff --git a/src/main/java/at/knowcenter/wag/egov/egiz/sig/SignatureObject.java b/src/main/java/at/knowcenter/wag/egov/egiz/sig/SignatureObject.java index 1b9b6a6..a765e8d 100644 --- a/src/main/java/at/knowcenter/wag/egov/egiz/sig/SignatureObject.java +++ b/src/main/java/at/knowcenter/wag/egov/egiz/sig/SignatureObject.java @@ -47,7 +47,6 @@ import at.knowcenter.wag.egov.egiz.exceptions.NormalizeException;  import at.knowcenter.wag.egov.egiz.exceptions.SettingsException;
  import at.knowcenter.wag.egov.egiz.exceptions.SignatureException;
  import at.knowcenter.wag.egov.egiz.exceptions.SignatureTypesException;
 -import at.knowcenter.wag.egov.egiz.framework.SignatorFactory;
  import at.knowcenter.wag.egov.egiz.ldap.api.LDAPAPIException;
  import at.knowcenter.wag.egov.egiz.ldap.api.LDAPAPIFactory;
  import at.knowcenter.wag.egov.egiz.ldap.client.LDAPIssuerNameFilter;
 @@ -197,7 +196,7 @@ public class SignatureObject implements Serializable  			try {
  				name = parser.parse();
  			} catch (RFC2253NameParserException e) {
 -				logger_.error(e);
 +				logger_.error(e.getMessage(), e);
  			}
  			return name;
  		}
 @@ -465,7 +464,7 @@ public class SignatureObject implements Serializable      }
      catch (InvalidIDException e)
      {
 -      e.printStackTrace();
 +       logger_.error(e.getMessage(), e);
      }
      return kz;
    }
 @@ -705,7 +704,7 @@ public class SignatureObject implements Serializable      }
      catch (CertificateEncodingException e)
      {
 -      logger_.error(e);
 +      logger_.error(e.getMessage(), e);
      }
    }
 @@ -872,7 +871,7 @@ public class SignatureObject implements Serializable      }
      catch (InvalidIDException e)
      {
 -      logger_.error(e);
 +      logger_.error(e.getMessage(), e);
        return false;
      }
    }
 @@ -891,7 +890,7 @@ public class SignatureObject implements Serializable      }
      catch (InvalidIDException e)
      {
 -      e.printStackTrace();
 +       logger_.error(e.getMessage(), e);
      }
      return SigKZIDHelper.isTextual(kz);
    }
 @@ -910,7 +909,7 @@ public class SignatureObject implements Serializable      }
      catch (InvalidIDException e)
      {
 -      e.printStackTrace();
 +       logger_.error(e.getMessage(), e);
      }
      return SigKZIDHelper.isBinary(kz);
 @@ -1175,7 +1174,7 @@ public class SignatureObject implements Serializable               Name issuerName = new RFC2253NameParser(issuer).parse();
               cert = loadCertificateFromCertstore(serialNumber, issuerName.getRFC2253String(false));
            } catch (RFC2253NameParserException e) {
 -             logger_.error(e);
 +             logger_.error(e.getMessage(), e);
            }
        }
 @@ -1245,7 +1244,7 @@ public class SignatureObject implements Serializable           this.setSignationIssuer(cert.getIssuerName());
        }
      } catch (IOException e) {
 -      e.printStackTrace();
 +       logger_.error(e.getMessage(), e);
        return;
      }
 diff --git a/src/main/java/at/knowcenter/wag/egov/egiz/sig/SignatureResponse.java b/src/main/java/at/knowcenter/wag/egov/egiz/sig/SignatureResponse.java index deedb6d..6a5c95a 100644 --- a/src/main/java/at/knowcenter/wag/egov/egiz/sig/SignatureResponse.java +++ b/src/main/java/at/knowcenter/wag/egov/egiz/sig/SignatureResponse.java @@ -136,7 +136,7 @@ public class SignatureResponse      }
      catch (SignatureException e)
      {
 -      logger_.warn(e.getMessage());
 +      logger_.warn(e.getMessage(), e);
      }
    }
 diff --git a/src/main/java/at/knowcenter/wag/egov/egiz/sig/SignatureTypes.java b/src/main/java/at/knowcenter/wag/egov/egiz/sig/SignatureTypes.java index 13fdf2f..3dd6f67 100644 --- a/src/main/java/at/knowcenter/wag/egov/egiz/sig/SignatureTypes.java +++ b/src/main/java/at/knowcenter/wag/egov/egiz/sig/SignatureTypes.java @@ -388,11 +388,7 @@ public class SignatureTypes            }
            catch (SignatureException e)
            {
 -            if (logger_.isDebugEnabled())
 -            {
 -              logger_.debug(e.getMessage());
 -            }
 -            e.printStackTrace();
 +            logger_.error(e.getMessage(), e);
            }
          }
        }
 diff --git a/src/main/java/at/knowcenter/wag/egov/egiz/sig/X509Cert.java b/src/main/java/at/knowcenter/wag/egov/egiz/sig/X509Cert.java index 148ac41..8aaa49a 100644 --- a/src/main/java/at/knowcenter/wag/egov/egiz/sig/X509Cert.java +++ b/src/main/java/at/knowcenter/wag/egov/egiz/sig/X509Cert.java @@ -157,12 +157,12 @@ public class X509Cert implements Serializable      catch (java.security.cert.CertificateException ce)
      {
        // nothing to do, cause certString is not X509 conformc
 -      ce.printStackTrace();
 +      logger_.error(ce.getMessage(), ce);
      }
      catch (IOException ioe)
      {
        // nothing to do, cause certString is not X509 conform
 -      ioe.printStackTrace();
 +      logger_.error(ioe.getMessage(), ioe);
      }
      return x509_cert;
    }
 @@ -217,12 +217,13 @@ public class X509Cert implements Serializable      catch (java.security.cert.CertificateException ce)
      {
        // nothing to do, cause certString is not X509 conformc
 -      ce.printStackTrace();
 +      logger_.error(ce.getMessage(), ce);
 +      
      }
      catch (IOException ioe)
      {
        // nothing to do, cause certString is not X509 conform
 -      ioe.printStackTrace();
 +       logger_.error(ioe.getMessage(), ioe);
      }
      return x509_cert;
 @@ -453,7 +454,7 @@ public class X509Cert implements Serializable      }
      catch (CertificateParsingException e)
      {
 -      e.printStackTrace();
 +       logger_.error(e.getMessage(), e);
      }
      return null;
    }
 diff --git a/src/main/java/at/knowcenter/wag/egov/egiz/sig/connectors/MOAConnector.java b/src/main/java/at/knowcenter/wag/egov/egiz/sig/connectors/MOAConnector.java index 5e1aeed..5ec7f20 100644 --- a/src/main/java/at/knowcenter/wag/egov/egiz/sig/connectors/MOAConnector.java +++ b/src/main/java/at/knowcenter/wag/egov/egiz/sig/connectors/MOAConnector.java @@ -214,10 +214,6 @@ public class MOAConnector implements Connector      }
      catch (WebException we)
      {
 -      if (logger_.isDebugEnabled())
 -      {
 -        we.printStackTrace();
 -      }
        SignatureException se = new SignatureException(we.getErrorCode(), we);
        throw se;
      }
 diff --git a/src/main/java/at/knowcenter/wag/egov/egiz/sig/sigid/DetachedIdFormatter.java b/src/main/java/at/knowcenter/wag/egov/egiz/sig/sigid/DetachedIdFormatter.java index 7e67d0d..1b24a98 100644 --- a/src/main/java/at/knowcenter/wag/egov/egiz/sig/sigid/DetachedIdFormatter.java +++ b/src/main/java/at/knowcenter/wag/egov/egiz/sig/sigid/DetachedIdFormatter.java @@ -40,7 +40,7 @@ public class DetachedIdFormatter implements IdFormatter  	try {
  		SIG_ID_PREFIX = SettingsReader.getInstance().getValueFromKey(SIG_ID_PROPERTY_KEY);
  	} catch (SettingsException e) {
 -		e.printStackTrace();
 +      log.error(e.getMessage(), e);
  	}
      // ids algorithm:
 diff --git a/src/main/java/at/knowcenter/wag/egov/egiz/sig/sigid/DetachedLocRefMOAIdFormatter.java b/src/main/java/at/knowcenter/wag/egov/egiz/sig/sigid/DetachedLocRefMOAIdFormatter.java index 89f9503..14fb41e 100644 --- a/src/main/java/at/knowcenter/wag/egov/egiz/sig/sigid/DetachedLocRefMOAIdFormatter.java +++ b/src/main/java/at/knowcenter/wag/egov/egiz/sig/sigid/DetachedLocRefMOAIdFormatter.java @@ -44,7 +44,7 @@ public class DetachedLocRefMOAIdFormatter implements IdFormatter  	  SIG_ID_PREFIX = SettingsReader.getInstance().getValueFromKey(SIG_ID_PROPERTY_KEY);
  	} catch (SettingsException e) 
  	{
 -	  e.printStackTrace();
 +      logger_.error(e.getMessage(), e);
  	}
 diff --git a/src/main/java/at/knowcenter/wag/egov/egiz/sig/sigkz/SigKZIDHelper.java b/src/main/java/at/knowcenter/wag/egov/egiz/sig/sigkz/SigKZIDHelper.java index f2ec571..5206ed1 100644 --- a/src/main/java/at/knowcenter/wag/egov/egiz/sig/sigkz/SigKZIDHelper.java +++ b/src/main/java/at/knowcenter/wag/egov/egiz/sig/sigkz/SigKZIDHelper.java @@ -3,6 +3,9 @@   */
  package at.knowcenter.wag.egov.egiz.sig.sigkz;
 +import org.apache.commons.logging.Log;
 +import org.apache.commons.logging.LogFactory;
 +
  import at.knowcenter.wag.egov.egiz.PdfASID;
  import at.knowcenter.wag.egov.egiz.exceptions.ConnectorException;
  import at.knowcenter.wag.egov.egiz.exceptions.InvalidIDException;
 @@ -18,6 +21,11 @@ import at.knowcenter.wag.egov.egiz.sig.sigid.HotfixIdFormatter;  public final class SigKZIDHelper
  {
 +   /**
 +    * The Logger.
 +    */
 +   protected static Log logger = LogFactory.getLog(SigKZIDHelper.class);
 +   
    public static boolean isTextual(PdfASID sig_kz)
    {
      if (sig_kz == null)
 @@ -73,7 +81,7 @@ public final class SigKZIDHelper        }
        catch (InvalidIDException e)
        {
 -        e.printStackTrace();
 +         logger.error(e.getMessage(), e);
        }
      }
 @@ -124,7 +132,7 @@ public final class SigKZIDHelper        }
        catch (InvalidIDException e)
        {
 -        e.printStackTrace();
 +        logger.error(e.getMessage(), e);
        }
      }
 diff --git a/src/main/java/at/knowcenter/wag/egov/egiz/tools/DebugHelper.java b/src/main/java/at/knowcenter/wag/egov/egiz/tools/DebugHelper.java index e273437..8ff5faf 100644 --- a/src/main/java/at/knowcenter/wag/egov/egiz/tools/DebugHelper.java +++ b/src/main/java/at/knowcenter/wag/egov/egiz/tools/DebugHelper.java @@ -64,7 +64,7 @@ public final class DebugHelper      }
      catch (Exception e)
      {
 -      log.error(e);
 +      log.error(e.getMessage(), e);
      }
    }
  }
 diff --git a/src/main/java/at/knowcenter/wag/egov/egiz/tools/Normalizer.java b/src/main/java/at/knowcenter/wag/egov/egiz/tools/Normalizer.java index 397f910..3dafb31 100644 --- a/src/main/java/at/knowcenter/wag/egov/egiz/tools/Normalizer.java +++ b/src/main/java/at/knowcenter/wag/egov/egiz/tools/Normalizer.java @@ -139,7 +139,7 @@ public class Normalizer implements Serializable {        if (logger_.isEnabledFor(Level.FATAL)) {
          logger_.fatal("Class not found:" + class_name);
        }
 -      throw new NormalizeException("Can not load normalizer library");
 +      throw new NormalizeException("Can not load normalizer library", e);
      }
      try {
        normalize_ = (Normalize) normalize_class.newInstance();
 @@ -147,12 +147,12 @@ public class Normalizer implements Serializable {        if (logger_.isEnabledFor(Level.FATAL)) {
          logger_.fatal("Can not instantiate:" + class_name);
        }
 -      throw new NormalizeException("Can not load normalizer library");
 +      throw new NormalizeException("Can not load normalizer library", e);
      } catch (IllegalAccessException e) {
        if (logger_.isEnabledFor(Level.FATAL)) {
          logger_.fatal("Can not access:" + class_name);
        }
 -      throw new NormalizeException("Can not load normalizer library");
 +      throw new NormalizeException("Can not load normalizer library", e);
      }
    }
 @@ -264,7 +264,7 @@ public class Normalizer implements Serializable {          settings_ = SettingsReader.getInstance();
        } catch (SettingsException e) {
          String log_message = "Can not load normalizer settings. Cause:\n" + e.getMessage();
 -        logger_.error(log_message);
 +        logger_.error(log_message, e);
          throw new NormalizeException(log_message, e);
        }
      }
 diff --git a/src/main/java/at/knowcenter/wag/egov/egiz/web/LocalRequestHelper.java b/src/main/java/at/knowcenter/wag/egov/egiz/web/LocalRequestHelper.java index 2f02944..15792b9 100644 --- a/src/main/java/at/knowcenter/wag/egov/egiz/web/LocalRequestHelper.java +++ b/src/main/java/at/knowcenter/wag/egov/egiz/web/LocalRequestHelper.java @@ -26,8 +26,9 @@ import java.util.Properties;  import javax.servlet.http.HttpServletRequest;
  import javax.servlet.http.HttpServletResponse;
 -import at.gv.egiz.pdfas.impl.input.TextDataSourceImpl;
 -import at.gv.egiz.pdfas.framework.input.DataSource;
 +import org.apache.commons.logging.Log;
 +import org.apache.commons.logging.LogFactory;
 +
  import at.gv.egiz.pdfas.web.CurrentLocalOperation;
  import at.gv.egiz.pdfas.web.SignSessionInformation;
  import at.gv.egiz.pdfas.web.VerifySessionInformation;
 @@ -39,10 +40,8 @@ import at.knowcenter.wag.egov.egiz.exceptions.NormalizeException;  import at.knowcenter.wag.egov.egiz.exceptions.PresentableException;
  import at.knowcenter.wag.egov.egiz.exceptions.SettingsException;
  import at.knowcenter.wag.egov.egiz.exceptions.SignatureException;
 -import at.knowcenter.wag.egov.egiz.pdf.BinarySignatureHolder;
  import at.knowcenter.wag.egov.egiz.pdf.SignatureHolder;
  import at.knowcenter.wag.egov.egiz.sig.SignatureData;
 -import at.knowcenter.wag.egov.egiz.sig.SignatureDataImpl;
  import at.knowcenter.wag.egov.egiz.sig.SignatureObject;
  import at.knowcenter.wag.egov.egiz.sig.connectors.ConnectorChooser;
  import at.knowcenter.wag.egov.egiz.sig.connectors.LocalConnector;
 @@ -56,6 +55,12 @@ import at.knowcenter.wag.egov.egiz.sig.signatureobject.SignatureObjectHelper;   */
  public abstract class LocalRequestHelper
  {
 +   
 +   /**
 +    * The logger.
 +    */
 +   protected static Log logger = LogFactory.getLog(LocalRequestHelper.class);
 +
    /**
     * The resource of the null request page jsp.
     */
 @@ -426,7 +431,7 @@ public abstract class LocalRequestHelper      }
      catch (MalformedURLException e)
      {
 -      e.printStackTrace();
 +      logger.error(e.getMessage(), e);
      }
      String loc_server = response.encodeURL(local_server.toString());
 diff --git a/src/main/java/at/knowcenter/wag/egov/egiz/web/PdfASServletContextListener.java b/src/main/java/at/knowcenter/wag/egov/egiz/web/PdfASServletContextListener.java index 95cb041..cdd3df1 100644 --- a/src/main/java/at/knowcenter/wag/egov/egiz/web/PdfASServletContextListener.java +++ b/src/main/java/at/knowcenter/wag/egov/egiz/web/PdfASServletContextListener.java @@ -98,7 +98,7 @@ public class PdfASServletContextListener implements ServletContextListener      try {
        SettingsReader.getInstance();
     } catch (SettingsException e) {
 -      logger.error(e);
 +      logger.error(e.getMessage(), e);
     }
      SettingsReader.clearTemporaryDirectory();
 diff --git a/src/main/java/at/knowcenter/wag/egov/egiz/web/servlets/DataURLServlet.java b/src/main/java/at/knowcenter/wag/egov/egiz/web/servlets/DataURLServlet.java index cbb33ba..19a82c3 100644 --- a/src/main/java/at/knowcenter/wag/egov/egiz/web/servlets/DataURLServlet.java +++ b/src/main/java/at/knowcenter/wag/egov/egiz/web/servlets/DataURLServlet.java @@ -133,7 +133,7 @@ public class DataURLServlet extends HttpServlet      }
      catch (PresentableException e)
      {
 -      log.error(e);
 +      log.error(e.getMessage(), e);
        SignServlet.prepareDispatchToErrorPage(e, request);
        dispatch(request, response, "/jsp/error.jsp");
      }
 @@ -147,9 +147,9 @@ public class DataURLServlet extends HttpServlet  //  if (request.getCharacterEncoding() == null || request.getCharacterEncoding().equals("UTF-8")) //$NON-NLS-1$
    if (request.getCharacterEncoding() == null || request.getCharacterEncoding().length() <= 0) //$NON-NLS-1$
    {
 -    log.error("The BKU didn't set a character encoding for the request."); //$NON-NLS-1$
 +    log.info("The BKU didn't set a character encoding for the request."); //$NON-NLS-1$
 -    log.warn("Manually setting character encoding to UTF-8"); //$NON-NLS-1$
 +    log.info("Manually setting character encoding to UTF-8"); //$NON-NLS-1$
      request.setCharacterEncoding("UTF-8"); //$NON-NLS-1$
    }
    }
 diff --git a/src/main/java/at/knowcenter/wag/egov/egiz/web/servlets/ProvidePDFServlet.java b/src/main/java/at/knowcenter/wag/egov/egiz/web/servlets/ProvidePDFServlet.java index 03bd074..a8ff426 100644 --- a/src/main/java/at/knowcenter/wag/egov/egiz/web/servlets/ProvidePDFServlet.java +++ b/src/main/java/at/knowcenter/wag/egov/egiz/web/servlets/ProvidePDFServlet.java @@ -88,7 +88,7 @@ public class ProvidePDFServlet extends HttpServlet {                    response.getOutputStream().flush();
                    signedDocuments.remove(current);
                 } catch (IOException e) {
 -                  log.warn("IO excepton while providing pdf document: " + e.getMessage());
 +                  log.error("IO excepton while providing pdf document: " + e.getMessage(), e);
                 }
              }
           }
 diff --git a/src/main/java/at/knowcenter/wag/egov/egiz/web/servlets/RetrieveSignatureDataServlet.java b/src/main/java/at/knowcenter/wag/egov/egiz/web/servlets/RetrieveSignatureDataServlet.java index 61996da..1b32db8 100644 --- a/src/main/java/at/knowcenter/wag/egov/egiz/web/servlets/RetrieveSignatureDataServlet.java +++ b/src/main/java/at/knowcenter/wag/egov/egiz/web/servlets/RetrieveSignatureDataServlet.java @@ -86,7 +86,7 @@ public class RetrieveSignatureDataServlet extends HttpServlet      }
      catch (SessionExpiredException e)
      {
 -      log.error(e);
 +      log.error(e.getMessage(), e);
        SignServlet.prepareDispatchToErrorPage(e, request);
        dispatch(request, response, "/jsp/error.jsp");
      }
 diff --git a/src/main/java/at/knowcenter/wag/egov/egiz/web/servlets/SignPreviewServlet.java b/src/main/java/at/knowcenter/wag/egov/egiz/web/servlets/SignPreviewServlet.java index aec4f25..fa6b734 100644 --- a/src/main/java/at/knowcenter/wag/egov/egiz/web/servlets/SignPreviewServlet.java +++ b/src/main/java/at/knowcenter/wag/egov/egiz/web/servlets/SignPreviewServlet.java @@ -25,6 +25,9 @@ import javax.servlet.http.HttpServlet;  import javax.servlet.http.HttpServletRequest;
  import javax.servlet.http.HttpServletResponse;
 +import org.apache.commons.logging.Log;
 +import org.apache.commons.logging.LogFactory;
 +
  import at.gv.egiz.pdfas.web.SignSessionInformation;
  import at.gv.egiz.pdfas.web.helper.SessionHelper;
  import at.gv.egiz.pdfas.web.helper.SignServletHelper;
 @@ -36,6 +39,8 @@ import at.knowcenter.wag.egov.egiz.exceptions.PresentableException;  public class SignPreviewServlet extends HttpServlet
  {
 +   protected static Log logger = LogFactory.getLog(SignPreviewServlet.class);
 +
    /**
     * SVUID.
     */
 @@ -63,7 +68,8 @@ public class SignPreviewServlet extends HttpServlet      }
      catch (PresentableException e)
      {
 -      e.printStackTrace();
 +      logger.error(e.getMessage(), e);
 +
        SignServlet.prepareDispatchToErrorPage(e, request);
        dispatch(request, response, "/jsp/error.jsp");
      }
 diff --git a/src/main/java/at/knowcenter/wag/egov/egiz/web/servlets/SignServlet.java b/src/main/java/at/knowcenter/wag/egov/egiz/web/servlets/SignServlet.java index 9b340e6..6330f0c 100644 --- a/src/main/java/at/knowcenter/wag/egov/egiz/web/servlets/SignServlet.java +++ b/src/main/java/at/knowcenter/wag/egov/egiz/web/servlets/SignServlet.java @@ -34,15 +34,6 @@ import javax.servlet.http.HttpServlet;  import javax.servlet.http.HttpServletRequest;
  import javax.servlet.http.HttpServletResponse;
 -import at.gv.egiz.pdfas.exceptions.ErrorCode;
 -import at.gv.egiz.pdfas.exceptions.ErrorCodeHelper;
 -import at.gv.egiz.pdfas.exceptions.external.ExternalErrorException;
 -import at.gv.egiz.pdfas.framework.input.PdfDataSource;
 -import at.gv.egiz.pdfas.impl.input.FileBasedPdfDataSourceImpl;
 -import at.gv.egiz.pdfas.web.SignSessionInformation;
 -import at.gv.egiz.pdfas.web.helper.SignServletHelper;
 -import at.gv.egiz.pdfas.web.helper.TempDirHelper;
 -
  import org.apache.commons.fileupload.FileItem;
  import org.apache.commons.fileupload.FileUploadException;
  import org.apache.commons.fileupload.disk.DiskFileItemFactory;
 @@ -50,6 +41,13 @@ import org.apache.commons.fileupload.servlet.ServletFileUpload;  import org.apache.commons.logging.Log;
  import org.apache.commons.logging.LogFactory;
 +import at.gv.egiz.pdfas.exceptions.ErrorCode;
 +import at.gv.egiz.pdfas.exceptions.ErrorCodeHelper;
 +import at.gv.egiz.pdfas.exceptions.external.ExternalErrorException;
 +import at.gv.egiz.pdfas.framework.input.PdfDataSource;
 +import at.gv.egiz.pdfas.web.SignSessionInformation;
 +import at.gv.egiz.pdfas.web.helper.SignServletHelper;
 +import at.gv.egiz.pdfas.web.helper.TempDirHelper;
  import at.knowcenter.wag.egov.egiz.PdfAS;
  import at.knowcenter.wag.egov.egiz.cfg.SettingsReader;
  import at.knowcenter.wag.egov.egiz.exceptions.PDFDocumentException;
 @@ -197,7 +195,7 @@ public class SignServlet extends HttpServlet           }
           catch (PDFDocumentException e)
           {
 -           log.warn("Unable to create signature position object: " + e.getMessage());
 +           log.warn("Unable to create signature position object: " + e.getMessage(), e);
           }
        } else {
        	log.debug("No signature position provided.");
 @@ -308,7 +306,7 @@ public class SignServlet extends HttpServlet      }
      catch (PresentableException e)
      {
 -      e.printStackTrace();
 +      log.error(e.getMessage(), e);
        prepareDispatchToErrorPage(e, request);
        dispatch(request, response, "/jsp/error.jsp");
      }
 diff --git a/src/main/java/at/knowcenter/wag/egov/egiz/web/servlets/VerifyPreviewServlet.java b/src/main/java/at/knowcenter/wag/egov/egiz/web/servlets/VerifyPreviewServlet.java index 9a91567..9b8583d 100644 --- a/src/main/java/at/knowcenter/wag/egov/egiz/web/servlets/VerifyPreviewServlet.java +++ b/src/main/java/at/knowcenter/wag/egov/egiz/web/servlets/VerifyPreviewServlet.java @@ -582,7 +582,7 @@ public class VerifyPreviewServlet extends HttpServlet      }
      catch (PresentableException e)
      {
 -      e.printStackTrace();
 +      logger_.error(e.getMessage(), e);
        SignServlet.prepareDispatchToErrorPage(e, request);
        dispatch(request, response, "/jsp/error.jsp");
      }
 @@ -702,7 +702,7 @@ public class VerifyPreviewServlet extends HttpServlet      }
      catch (PresentableException e)
      {
 -      e.printStackTrace();
 +      logger_.error(e.getMessage(), e);
        SignServlet.prepareDispatchToErrorPage(e, request);
        dispatch(request, response, "/jsp/error.jsp");
      }
 diff --git a/src/main/java/at/knowcenter/wag/egov/egiz/web/servlets/VerifyServlet.java b/src/main/java/at/knowcenter/wag/egov/egiz/web/servlets/VerifyServlet.java index 97a1e6f..387ae08 100644 --- a/src/main/java/at/knowcenter/wag/egov/egiz/web/servlets/VerifyServlet.java +++ b/src/main/java/at/knowcenter/wag/egov/egiz/web/servlets/VerifyServlet.java @@ -175,7 +175,7 @@ public class VerifyServlet extends HttpServlet      }
      catch (PresentableException e)
      {
 -      e.printStackTrace();
 +      log.error(e.getMessage(), e);
        SignServlet.prepareDispatchToErrorPage(e, request);
        dispatch(request, response, "/jsp/error_verify.jsp");
      }
 diff --git a/src/main/java/demo/APIDemo.java b/src/main/java/demo/APIDemo.java index d4ce5e7..c2a989e 100644 --- a/src/main/java/demo/APIDemo.java +++ b/src/main/java/demo/APIDemo.java @@ -11,6 +11,7 @@ import at.gv.egiz.pdfas.api.PdfAs;  import at.gv.egiz.pdfas.api.analyze.AnalyzeParameters;
  import at.gv.egiz.pdfas.api.analyze.AnalyzeResult;
  import at.gv.egiz.pdfas.api.commons.Constants;
 +import at.gv.egiz.pdfas.api.commons.SignatureProfile;
  import at.gv.egiz.pdfas.api.exceptions.PdfAsException;
  import at.gv.egiz.pdfas.api.io.DataSource;
  import at.gv.egiz.pdfas.api.sign.SignParameters;
 @@ -22,28 +23,38 @@ import at.gv.egiz.pdfas.framework.config.SettingsHelper;  import at.gv.egiz.pdfas.framework.vfilter.VerificationFilterParameters;
  import at.gv.egiz.pdfas.io.FileBasedDataSink;
  import at.gv.egiz.pdfas.io.FileBasedDataSource;
 +import at.knowcenter.wag.egov.egiz.sig.SignatureTypeDefinition;
 +import at.knowcenter.wag.egov.egiz.sig.SignatureTypes;
 +/**
 + * Performs signatures and verifications with the pdfas api.
 + * @author tknall
 + */
  public final class APIDemo {
 -   
 +
     /**
      * Disable instantiation.
      */
     private APIDemo() {
     }
 -   
 +
     /**
      * Verifies a pdf document.
 -    * @param configuration The folder containing the pdf-as work directory (including the configuration).
 -    * @param source The signed pdf document.
 -    * @param verifyDevice The device used for verification
 -    *    (see {@link Constants#SIGNATURE_DEVICE_MOA} and {@link Constants#SIGNATURE_DEVICE_BKU}).
 -    * @throws PdfAsException Thrown in case of an error.
 -    * @throws IOException Thrown in case of an i/o error.
 +    * 
 +    * @param pdfasAPI
 +    *           The instantiated api.
 +    * @param source
 +    *           The signed pdf document.
 +    * @param verifyDevice
 +    *           The device used for verification (see
 +    *           {@link Constants#SIGNATURE_DEVICE_MOA} and
 +    *           {@link Constants#SIGNATURE_DEVICE_BKU}).
 +    * @throws PdfAsException
 +    *            Thrown in case of an error.
 +    * @throws IOException
 +    *            Thrown in case of an i/o error.
      */
 -   public static void verify(File configuration, File source, String verifyDevice) throws PdfAsException, IOException {
 -      
 -      // instantiate api
 -      PdfAs pdfasAPI = PdfAsFactory.createPdfAs(configuration);
 +   public static void verify(PdfAs pdfasAPI, File source, String verifyDevice) throws PdfAsException, IOException {
        // set source
        DataSource dataSource = new FileBasedDataSource(source, "application/pdf");
 @@ -51,7 +62,7 @@ public final class APIDemo {        // evaluate settings
        VerificationFilterParameters parameters = SettingsHelper.readVerificationFilterParametersFromSettings();
        String verifyMode = Constants.VERIFY_MODE_FULL_CONSERVATIVE;
 -      
 +
        if (parameters.extractBinarySignaturesOnly()) {
           verifyMode = Constants.VERIFY_MODE_BINARY_ONLY;
        } else if (parameters.assumeOnlySignatureUpdateBlocks()) {
 @@ -59,12 +70,12 @@ public final class APIDemo {        } else {
           verifyMode = Constants.VERIFY_MODE_FULL_CONSERVATIVE;
        }
 -      
 +
        // configure analyze parameters
        AnalyzeParameters analyzeParameters = new AnalyzeParameters();
        analyzeParameters.setDocument(dataSource);
        analyzeParameters.setVerifyMode(verifyMode);
 -      
 +
        // analyze
        System.out.println("Analyzing...");
        AnalyzeResult analyzeResult = pdfasAPI.analyze(analyzeParameters);
 @@ -76,7 +87,7 @@ public final class APIDemo {        vaap.setReturnHashInputData(true);
        vaap.setSignatureDevice(verifyDevice);
        vaap.setVerificationTime(null);
 -      
 +
        // invoke verification
        System.out.println("Verifying...");
        List verifyResults = pdfasAPI.verify(vaap).getResults();
 @@ -90,30 +101,39 @@ public final class APIDemo {           Main.formatVerifyResult(result, out);
        }
        out.flush();
 -      out.close();
     }
 -   
 +
     /**
      * Signs a pdf document.
 -    * @param configuration The folder containing the pdf-as work directory (including the configuration).
 -    * @param source The unsigned pdf document.
 -    * @param signatureDevice The device used for signature
 -    *    (see {@link Constants#SIGNATURE_DEVICE_MOA} and {@link Constants#SIGNATURE_DEVICE_BKU}).
 -    * @throws PdfAsException Thrown in case of an error.
 -    * @throws IOException Thrown in case of an i/o error.
 -    * @param destination The signed pdf document.
 -    * @param signatureMode The mode used for signature (see {@link Constants#SIGNATURE_TYPE_BINARY}
 -    * resp. {@link Constants#SIGNATURE_TYPE_TEXTUAL} or {@link Constants#SIGNATURE_TYPE_DETACHEDTEXTUAL}).
 -    * @param signatureProfile The profile used for signature.
 -    * @param signaturePos The position of the signature (see {@link SignaturePositioning}) or {@code null}.
 +    * 
 +    * @param pdfasAPI
 +    *           The instantiated api.
 +    * @param source
 +    *           The unsigned pdf document.
 +    * @param signatureDevice
 +    *           The device used for signature (see
 +    *           {@link Constants#SIGNATURE_DEVICE_MOA} and
 +    *           {@link Constants#SIGNATURE_DEVICE_BKU}).
 +    * @throws PdfAsException
 +    *            Thrown in case of an error.
 +    * @throws IOException
 +    *            Thrown in case of an i/o error.
 +    * @param destination
 +    *           The signed pdf document.
 +    * @param signatureMode
 +    *           The mode used for signature (see
 +    *           {@link Constants#SIGNATURE_TYPE_BINARY} resp.
 +    *           {@link Constants#SIGNATURE_TYPE_TEXTUAL} or
 +    *           {@link Constants#SIGNATURE_TYPE_DETACHEDTEXTUAL}).
 +    * @param signatureProfile
 +    *           The profile used for signature.
 +    * @param signaturePos
 +    *           The position of the signature (see {@link SignaturePositioning})
 +    *           or {@code null}.
      */
 -   private static void sign(File configuration, File source, File destination,
 -         String signatureMode, String signatureDevice, String signatureProfile,
 -         SignaturePositioning signaturePos) throws PdfAsException, IOException {
 -      
 -      // instantiate api
 -      PdfAs pdfasAPI = PdfAsFactory.createPdfAs(configuration);
 +   private static void sign(PdfAs pdfasAPI, File source, File destination, String signatureMode, String signatureDevice, String signatureProfile, SignaturePositioning signaturePos)
 +         throws PdfAsException, IOException {
        // set source
        DataSource dataSource = new FileBasedDataSource(source, "application/pdf");
 @@ -130,40 +150,103 @@ public final class APIDemo {        signParameters.setSignatureProfileId(signatureProfile);
        signParameters.setSignaturePositioning(signaturePos);
 -       // sign
 +      // sign
        System.out.println("Signing...");
        pdfasAPI.sign(signParameters);
 -      
 +
        System.out.println("Successfully signed.");
 +
 +   }
 +
 +   /**
 +    * Signs a test document with each available profile. Note that minimal layout profiles lead
 +    * to an error textual signing the document.
 +    */
 +   public static void signWithAllProfilesDemo() {
 +      File configdir = new File("./work");
 +      File unsignedFile = new File("./test-files/blindtext.pdf");
 +
 +      String signatureMode = Constants.SIGNATURE_TYPE_TEXTUAL;
 +      String signatureDevice = Constants.SIGNATURE_DEVICE_MOA;
 +      SignaturePositioning signaturePos = null;
 +
 +      try {
 +         
 +         // instantiate api
 +         PdfAs pdfasAPI = PdfAsFactory.createPdfAs(configdir);
 +         // warning: This method is not specified via api. It is only used to determine textual
 +         // capable profiles
 +         SignatureTypes sig_types = SignatureTypes.getInstance();
 +
 +         // ok, defined via api
 +         Iterator profiles = pdfasAPI.getProfileInformation().iterator();
 +         while (profiles.hasNext()) {
 +            SignatureProfile profile = (SignatureProfile) profiles.next();
 +   
 +            SignatureTypeDefinition std = sig_types.getSignatureTypeDefinition(profile.getProfileId());
 +            String currentSignatureMode;
 +            if (std.isTextExtractable()) {
 +               currentSignatureMode = signatureMode;
 +            } else {
 +               currentSignatureMode = Constants.SIGNATURE_TYPE_BINARY;
 +            }
 +
 +            File signedFile = new File("./test-files/blindtext_" + currentSignatureMode + "-signed_" + profile.getProfileId() + ".pdf");
 +            
 +            sign(pdfasAPI, unsignedFile, signedFile, currentSignatureMode, signatureDevice, profile.getProfileId(), signaturePos);
 +            verify(pdfasAPI, signedFile, signatureDevice);
 +         }
 +         
 +      } catch (PdfAsException e) {
 +         e.printStackTrace();
 +      } catch (IOException e) {
 +         e.printStackTrace();
 +      }
 +
     }
     /**
 -    * Start a demo that signs a document and performs a verification afterwards.
 -    * @param args The parameter(s).
 +    * Signs a test document with a single profile.
      */
 -   public static void main(String[] args) {
 -      
 +   public static void signWithSingleProfileDemo() {
        File configdir = new File("./work");
        File unsignedFile = new File("./test-files/blindtext.pdf");
 -      File signedFile = new File("./test-files/blindtext_signed.pdf");
 -      
 -      String signatureMode    = Constants.SIGNATURE_TYPE_BINARY;
 -      String signatureDevice  = Constants.SIGNATURE_DEVICE_MOA;
 +
 +      String signatureMode = Constants.SIGNATURE_TYPE_BINARY;
 +      String signatureDevice = Constants.SIGNATURE_DEVICE_MOA;
        String signatureProfile = "SIGNATURBLOCK_DE";
        SignaturePositioning signaturePos = null;
 -         
 +
 +      File signedFile = new File("./test-files/blindtext_" + signatureMode + "-signed_" + signatureProfile + ".pdf");
 +
        try {
 +         
 +         // instantiate api
 +         PdfAs pdfasAPI = PdfAsFactory.createPdfAs(configdir);
 -         sign(configdir, unsignedFile, signedFile, signatureMode, signatureDevice, signatureProfile, signaturePos);
 -         verify(configdir, signedFile, signatureDevice);
 +         sign(pdfasAPI, unsignedFile, signedFile, signatureMode, signatureDevice, signatureProfile, signaturePos);
 +         verify(pdfasAPI, signedFile, signatureDevice);
        } catch (PdfAsException e) {
           e.printStackTrace();
        } catch (IOException e) {
           e.printStackTrace();
        }
 -      
 +   }
 +
 +   /**
 +    * Starts a demo that signs a document and performs a verification
 +    * afterwards.
 +    * 
 +    * @param args
 +    *           The parameter(s).
 +    */
 +   public static void main(String[] args) {
 +
 +//      signWithSingleProfileDemo();
 +      signWithAllProfilesDemo();
 +
     }
  }
 diff --git a/src/main/resources/DefaultConfiguration.zip b/src/main/resources/DefaultConfiguration.zipBinary files differ index b1cc550..1496121 100644 --- a/src/main/resources/DefaultConfiguration.zip +++ b/src/main/resources/DefaultConfiguration.zip diff --git a/src/site/changes.xml b/src/site/changes.xml index 07f4504..2e7210c 100644 --- a/src/site/changes.xml +++ b/src/site/changes.xml @@ -13,6 +13,23 @@  			</release>
  		-->
 +		<release version="3.0.6-20080616" date="2008-06-16" description="subsequent release">
 +			<action dev="tknall" type="update">APIDemo updated.</action>
 +			<action dev="tknall" type="update">(default) configuration updated regarding new configuration keys.</action>
 +			<action dev="tknall" type="update">Many printStackTraces replaces with logger-messages.</action>
 +			<action dev="tknall" type="update">Update concerting exclusion of minimal layout profiles for verification.</action>
 +			<action dev="tknall" type="update">
 +				Web-Application: New error code (251) introduced: Textual signature of files with no
 +				extractable textual content (e.g. files that solely contain images) is prevented.
 +			</action>
 +		</release>
 +
 +		<release version="3.0.6" date="2008-06-16" description="subsequent release">
 +			<action dev="wprinz" type="add">Configurable line break tolerance for binary signatures (line_break_tolerance).</action>
 +			<action dev="wprinz" type="add">The reserved space for a certificate withing the egiz dictionary can be configured (...phlength.certificate=xxxx).</action>
 +			<action dev="wprinz" type="add">imagescaletofit configuration parameter introduced.</action>
 +		</release>
 +
  		<release version="3.0.5" date="2008-06-13" description="subsequent release">
  			<action dev="tzefferer" type="update">Detection of incremental updates updated.</action>
  			<action dev="tknall" type="fix">Bug fixed. There was an error concerning empty HashInputData parsing a MOA CreateXMLSignatureResponse.</action>
 | 
