aboutsummaryrefslogtreecommitdiff
path: root/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/ApiHelper.java
diff options
context:
space:
mode:
authorpdanner <pdanner@7b5415b0-85f9-ee4d-85bd-d5d0c3b42d1c>2010-12-06 16:34:52 +0000
committerpdanner <pdanner@7b5415b0-85f9-ee4d-85bd-d5d0c3b42d1c>2010-12-06 16:34:52 +0000
commit29ad090c29567ff1a4d3a2ec9b8ad0b5d80ee24d (patch)
tree5b75b34c822a79f70b83c266465dda70b9baeaf2 /pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/ApiHelper.java
parent04375406fc1634adbf9b37143a2125327da6a11e (diff)
downloadpdf-as-3-29ad090c29567ff1a4d3a2ec9b8ad0b5d80ee24d.tar.gz
pdf-as-3-29ad090c29567ff1a4d3a2ec9b8ad0b5d80ee24d.tar.bz2
pdf-as-3-29ad090c29567ff1a4d3a2ec9b8ad0b5d80ee24d.zip
git-svn-id: https://joinup.ec.europa.eu/svn/pdf-as/trunk@671 7b5415b0-85f9-ee4d-85bd-d5d0c3b42d1c
Diffstat (limited to 'pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/ApiHelper.java')
-rw-r--r--pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/ApiHelper.java73
1 files changed, 73 insertions, 0 deletions
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/ApiHelper.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/ApiHelper.java
new file mode 100644
index 0000000..a0f22fd
--- /dev/null
+++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/helper/ApiHelper.java
@@ -0,0 +1,73 @@
+package at.gv.egiz.pdfas.web.helper;
+
+import java.io.File;
+import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
+
+import javax.servlet.ServletContext;
+
+import at.gv.egiz.pdfas.api.PdfAs;
+import at.gv.egiz.pdfas.api.internal.PdfAsInternal;
+import at.knowcenter.wag.egov.egiz.exceptions.WebException;
+
+/**
+ * Utility methods for easier handling of {@link PdfAs} API object.
+ *
+ * @author exthex
+ *
+ */
+public class ApiHelper {
+
+ public static final String PDF_AS_OBJECT = "PDF_AS_OBJECT";
+
+ public static final String INTERNAL_PDF_AS_OBJECT = "INTERNAL_PDF_AS_OBJECT";
+
+ public static PdfAs createApiObject(File file) throws WebException {
+ try {
+ Class pdfAsClass = Class.forName("at.gv.egiz.pdfas.impl.api.PdfAsObject");
+ Constructor constructor = pdfAsClass.getConstructor(new Class[]{File.class});
+ PdfAs pdfAs = (PdfAs)constructor.newInstance(new Object[]{
+ new File(WebSettingsReader.RESOURCES_PATH)});
+ return pdfAs;
+ } catch (ClassNotFoundException e) {
+ throw new WebException(e);
+ } catch (SecurityException e) {
+ throw new WebException(e);
+ } catch (NoSuchMethodException e) {
+ throw new WebException(e);
+ } catch (IllegalArgumentException e) {
+ throw new WebException(e);
+ } catch (InstantiationException e) {
+ throw new WebException(e);
+ } catch (IllegalAccessException e) {
+ throw new WebException(e);
+ } catch (InvocationTargetException e) {
+ throw new WebException(e);
+ }
+ }
+
+ public static PdfAsInternal createInternalApiObject() throws WebException {
+ try {
+ Class pdfAsClass = Class.forName("at.gv.egiz.pdfas.impl.api.internal.PdfAsInternalObject");
+ PdfAsInternal pdfAsinternal = (PdfAsInternal)pdfAsClass.newInstance();
+ return pdfAsinternal;
+ } catch (ClassNotFoundException e) {
+ throw new WebException(e);
+ } catch (SecurityException e) {
+ throw new WebException(e);
+ } catch (InstantiationException e) {
+ throw new WebException(e);
+ } catch (IllegalAccessException e) {
+ throw new WebException(e);
+ }
+ }
+
+ public static PdfAs getPdfAsFromContext(ServletContext servletContext) {
+ return (PdfAs)servletContext.getAttribute(PDF_AS_OBJECT);
+ }
+
+ public static PdfAsInternal getPdfAsInternalFromContext(ServletContext servletContext) {
+ return (PdfAsInternal)servletContext.getAttribute(INTERNAL_PDF_AS_OBJECT);
+ }
+
+}