aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/at/gv/egiz/pdfas/framework/input
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/at/gv/egiz/pdfas/framework/input')
-rw-r--r--src/main/java/at/gv/egiz/pdfas/framework/input/DataSource.java70
-rw-r--r--src/main/java/at/gv/egiz/pdfas/framework/input/ExtractionStage.java90
-rw-r--r--src/main/java/at/gv/egiz/pdfas/framework/input/PdfDataSource.java41
-rw-r--r--src/main/java/at/gv/egiz/pdfas/framework/input/PdfDataSourceHolder.java49
-rw-r--r--src/main/java/at/gv/egiz/pdfas/framework/input/TextDataSource.java39
-rw-r--r--src/main/java/at/gv/egiz/pdfas/framework/input/correction/Corrector.java61
-rw-r--r--src/main/java/at/gv/egiz/pdfas/framework/input/correction/CorrectorFactory.java63
7 files changed, 0 insertions, 413 deletions
diff --git a/src/main/java/at/gv/egiz/pdfas/framework/input/DataSource.java b/src/main/java/at/gv/egiz/pdfas/framework/input/DataSource.java
deleted file mode 100644
index f834622..0000000
--- a/src/main/java/at/gv/egiz/pdfas/framework/input/DataSource.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/**
- * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- */
-package at.gv.egiz.pdfas.framework.input;
-
-import java.io.InputStream;
-
-/**
- * The input document data source.
- *
- * <p>
- * Usually this is a PdfDataSource, but it may be a TextDataSource as well.
- * </p>
- *
- * @author wprinz
- *
- */
-public interface DataSource
-{
- /**
- * Creates a new InputStream that allows to read out the document's binary
- * data from the beginning.
- *
- * @return Returns the InputStream with the binary data.
- */
- public InputStream createInputStream();
-
- /**
- * Returns the length (number of bytes) of the stream.
- *
- * @return Returns the length (number of bytes) of the stream.
- */
- public int getLength();
-
- /**
- * Returns the data of this DataSource as a byte array.
- *
- * <p>
- * Calling this method indicates that you need a byte array for random <strong>read</strong> access.
- * The DataSource implementation should of course cache this byte array to avoid too much memory usage.
- * </p>
- * <p>
- * Performance analysis has shown that the libraries internally convert the streams to byte arrays and
- * that file system access is very slow.
- * </p>
- *
- * @return
- */
- public byte [] getAsByteArray();
-}
diff --git a/src/main/java/at/gv/egiz/pdfas/framework/input/ExtractionStage.java b/src/main/java/at/gv/egiz/pdfas/framework/input/ExtractionStage.java
deleted file mode 100644
index 19065b0..0000000
--- a/src/main/java/at/gv/egiz/pdfas/framework/input/ExtractionStage.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/**
- * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- */
-package at.gv.egiz.pdfas.framework.input;
-
-import java.util.List;
-
-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.framework.VerificationFilterException;
-import at.gv.egiz.pdfas.framework.DataSourceHolder;
-import at.gv.egiz.pdfas.framework.vfilter.VerificationFilter;
-import at.gv.egiz.pdfas.framework.vfilter.VerificationFilterParameters;
-import at.gv.egiz.pdfas.impl.input.IncrementalUpdateParser;
-import at.gv.egiz.pdfas.impl.vfilter.VerificationFilterImpl;
-import at.knowcenter.wag.egov.egiz.exceptions.PDFDocumentException;
-import at.knowcenter.wag.egov.egiz.exceptions.PresentableException;
-
-/**
- * Extracts all signatures from a given input DataSource.
- *
- * @author wprinz
- */
-public class ExtractionStage
-{
- /**
- * The log.
- */
- private static final Log log = LogFactory.getLog(ExtractionStage.class);
-
- public List extractSignatureHolders(final DataSourceHolder dataSource, VerificationFilterParameters parameters) throws PresentableException
- {
- if (dataSource.getDataSource() instanceof PdfDataSource)
- {
- PdfDataSource pdfDataSource = (PdfDataSource) dataSource.getDataSource();
-
- PdfDataSourceHolder pdsh = new PdfDataSourceHolder(pdfDataSource);
- List blocks = parsePdfIntoBlocks(pdsh);
- dataSource.setDataSource(pdsh.getDataSource());
- parameters.setBeenCorrected(pdsh.hasChanged());
-
- VerificationFilter vf = new VerificationFilterImpl();
- List signatures = vf.extractSignatureHolders(pdsh.getDataSource(), blocks, parameters);
-
- return signatures;
- }
-
- if (dataSource.getDataSource() instanceof TextDataSource)
- {
- TextDataSource textDataSource = (TextDataSource) dataSource.getDataSource();
-
- VerificationFilter vf = new VerificationFilterImpl();
- List signatures = vf.extractSignaturHolders(textDataSource, parameters);
-
- return signatures;
- }
-
- String msg = "The input DataSource is neither pdf nor text. class.name = " + dataSource.getClass().getName();
- log.error(msg);
- throw new VerificationFilterException(ErrorCode.DOCUMENT_CANNOT_BE_READ, msg);
- }
-
- protected List parsePdfIntoBlocks(PdfDataSourceHolder pdfDataSource) throws PDFDocumentException
- {
- List blocks = IncrementalUpdateParser.parsePdfIntoIUBlocks(pdfDataSource);
- return blocks;
- }
-}
diff --git a/src/main/java/at/gv/egiz/pdfas/framework/input/PdfDataSource.java b/src/main/java/at/gv/egiz/pdfas/framework/input/PdfDataSource.java
deleted file mode 100644
index ce3d658..0000000
--- a/src/main/java/at/gv/egiz/pdfas/framework/input/PdfDataSource.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/**
- * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- */
-package at.gv.egiz.pdfas.framework.input;
-
-
-/**
- * Represents the binary data of a PDF document.
- *
- * <p>
- * This interface allows Pdf data to be handled in an abstract way so that the
- * storage (byta array, disk etc.) of pdf documents can be separated from the
- * algorithms.
- * </p>
- *
- * @author wprinz
- */
-public interface PdfDataSource extends DataSource
-{
- // jsut a marker interface
-}
diff --git a/src/main/java/at/gv/egiz/pdfas/framework/input/PdfDataSourceHolder.java b/src/main/java/at/gv/egiz/pdfas/framework/input/PdfDataSourceHolder.java
deleted file mode 100644
index 14a4ff4..0000000
--- a/src/main/java/at/gv/egiz/pdfas/framework/input/PdfDataSourceHolder.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/**
- * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- */
-package at.gv.egiz.pdfas.framework.input;
-
-public class PdfDataSourceHolder {
- private PdfDataSource dataSource;
- private boolean hasChanged = false;
-
- public PdfDataSourceHolder(PdfDataSource dataSource) {
- this.dataSource = dataSource;
- }
-
- public PdfDataSource getDataSource() {
- return dataSource;
- }
-
- public void setDataSource(PdfDataSource dataSource) {
- this.dataSource = dataSource;
- this.hasChanged = true;
- }
-
- public boolean hasChanged() {
- return this.hasChanged;
- }
-
-
-
-}
diff --git a/src/main/java/at/gv/egiz/pdfas/framework/input/TextDataSource.java b/src/main/java/at/gv/egiz/pdfas/framework/input/TextDataSource.java
deleted file mode 100644
index 7623896..0000000
--- a/src/main/java/at/gv/egiz/pdfas/framework/input/TextDataSource.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/**
- * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- */
-package at.gv.egiz.pdfas.framework.input;
-
-/**
- * Represents a free-text input text to be processed.
- *
- * @author wprinz
- */
-public interface TextDataSource extends DataSource
-{
- /**
- * Returns the text to be processed.
- * @return Returns the text to be processed.
- */
- public String getText();
-
-}
diff --git a/src/main/java/at/gv/egiz/pdfas/framework/input/correction/Corrector.java b/src/main/java/at/gv/egiz/pdfas/framework/input/correction/Corrector.java
deleted file mode 100644
index 71f3ded..0000000
--- a/src/main/java/at/gv/egiz/pdfas/framework/input/correction/Corrector.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/**
- * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- */
-package at.gv.egiz.pdfas.framework.input.correction;
-
-import at.gv.egiz.pdfas.exceptions.framework.CorrectorException;
-import at.gv.egiz.pdfas.framework.input.PdfDataSource;
-
-/**
- * Interface for PDF corretors.
- *
- * <p>
- * Often PDF documents generated by various document to PDF converters have an
- * invalid structure that upsets PDF-AS. The correction mechanism allows these
- * documents to be corrected before being signed.
- * </p>
- * <p>
- * A PDF corrector takes an incorrect PDF document and transforms it into a
- * correct one.
- * </p>
- * <p>
- * Note that correcting a document destroys all signatures in that document, so
- * never correct an already signed document.
- * </p>
- *
- * @author wprinz
- */
-public interface Corrector
-{
- /**
- * Corrects the given PDF document to a form that PDF-AS can use.
- *
- * @param document
- * The (incorrect) PDF document.
- * @return Returns the corrected PDF document.
- * @throws CorrectorException
- * Exception thrown if the document couldn't be corrected.
- */
- public PdfDataSource correctDocument(PdfDataSource document) throws CorrectorException;
-
-}
diff --git a/src/main/java/at/gv/egiz/pdfas/framework/input/correction/CorrectorFactory.java b/src/main/java/at/gv/egiz/pdfas/framework/input/correction/CorrectorFactory.java
deleted file mode 100644
index 8c954f7..0000000
--- a/src/main/java/at/gv/egiz/pdfas/framework/input/correction/CorrectorFactory.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/**
- * <copyright> Copyright 2006 by Know-Center, Graz, Austria </copyright>
- * PDF-AS has been contracted by the E-Government Innovation Center EGIZ, a
- * joint initiative of the Federal Chancellery Austria and Graz University of
- * Technology.
- *
- * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by
- * the European Commission - subsequent versions of the EUPL (the "Licence");
- * You may not use this work except in compliance with the Licence.
- * You may obtain a copy of the Licence at:
- * http://www.osor.eu/eupl/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the Licence is distributed on an "AS IS" basis,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the Licence for the specific language governing permissions and
- * limitations under the Licence.
- *
- * This product combines work with different licenses. See the "NOTICE" text
- * file for details on the various modules and licenses.
- * The "NOTICE" text file is part of the distribution. Any derivative works
- * that you distribute must include a readable copy of the "NOTICE" text file.
- */
-package at.gv.egiz.pdfas.framework.input.correction;
-
-import at.gv.egiz.pdfas.impl.input.correction.ExternalCorrector;
-import at.gv.egiz.pdfas.impl.input.correction.InternalCorrector;
-import at.knowcenter.wag.egov.egiz.cfg.SettingsReader;
-import at.knowcenter.wag.egov.egiz.exceptions.SettingsException;
-
-/**
- * Factory for creating Correctors.
- *
- * @author wprinz
- */
-public class CorrectorFactory
-{
- public static final String INTERNAL_CORRECTOR = "internal";
-
- public static final String EXTERNAL_CORRECTOR = "external";
-
- public static final String CORRECTOR_KEY = "corrector";
-
- public static Corrector createCorrector(String id) throws SettingsException
- {
- if (id.equals(INTERNAL_CORRECTOR))
- {
- return new InternalCorrector();
- }
- if (id.equals(EXTERNAL_CORRECTOR))
- {
- return new ExternalCorrector();
- }
- throw new SettingsException("The connector id '" + id + "' is not a valid corrector id.");
- }
-
- public static Corrector createCorrector() throws SettingsException
- {
- String id = SettingsReader.getInstance().getSetting(CORRECTOR_KEY, INTERNAL_CORRECTOR);
- return createCorrector(id);
- }
-
-}