changeset 608:e35f047f019f

Added interface and annotation for importer.
author Raimund Renkert <raimund.renkert@intevation.de>
date Thu, 16 Apr 2015 15:47:30 +0200
parents 9a4ec6fb53a7
children 093bfdcdb09c
files src/main/java/de/intevation/lada/importer/ImportConfig.java src/main/java/de/intevation/lada/importer/ImportFormat.java src/main/java/de/intevation/lada/importer/Importer.java src/main/java/de/intevation/lada/importer/ReportItem.java
diffstat 4 files changed, 119 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/main/java/de/intevation/lada/importer/ImportConfig.java	Thu Apr 16 15:47:30 2015 +0200
@@ -0,0 +1,19 @@
+package de.intevation.lada.importer;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+import javax.inject.Qualifier;
+
+@Qualifier
+@Retention(RetentionPolicy.RUNTIME)
+@Target({
+    ElementType.TYPE,
+    ElementType.FIELD,
+    ElementType.METHOD,
+    ElementType.PARAMETER})
+public @interface ImportConfig {
+    ImportFormat format() default ImportFormat.LAF;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/main/java/de/intevation/lada/importer/ImportFormat.java	Thu Apr 16 15:47:30 2015 +0200
@@ -0,0 +1,5 @@
+package de.intevation.lada.importer;
+
+public enum ImportFormat {
+    LAF
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/main/java/de/intevation/lada/importer/Importer.java	Thu Apr 16 15:47:30 2015 +0200
@@ -0,0 +1,13 @@
+package de.intevation.lada.importer;
+
+import java.util.List;
+import java.util.Map;
+
+import de.intevation.lada.util.auth.UserInfo;
+
+public interface Importer {
+    void reset();
+    Map<String, List<ReportItem>> getWarnings();
+    Map<String, List<ReportItem>> getErrors();
+    void doImport(String content, UserInfo userInfo);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/main/java/de/intevation/lada/importer/ReportItem.java	Thu Apr 16 15:47:30 2015 +0200
@@ -0,0 +1,82 @@
+package de.intevation.lada.importer;
+
+/**
+ * Container for error or warning messages send to the client.
+ *
+ * Errors and warnings are specified by the key-value pair that caused the problem and a code.
+ * The code can be
+ * 670: Parser error
+ * 671: existing
+ * 672: duplicated entry
+ * 673: missing
+ * 674: date error
+ * or any validation code.
+ *
+ * @author <a href="mailto:rrenkert@intevation.de">Raimund Renkert</a>
+ */
+public class ReportItem
+{
+    private String key;
+    private String value;
+    private Integer code;
+
+    /**
+     * Default constructor.
+     */
+    public ReportItem() {
+    }
+
+    /**
+     * Constructor to create a {@link ReportItem} object with data.
+     * @param key   The key caused the error/warning.
+     * @param value The value caused the error/warning.
+     * @param code  The code specifying the error/warning.
+     */
+    public ReportItem(String key, String value, Integer code) {
+        this.key = key;
+        this.value = value;
+        this.code = code;
+    }
+
+    /**
+     * @return the key
+     */
+    public String getKey() {
+        return key;
+    }
+
+    /**
+     * @param key the key to set
+     */
+    public void setKey(String key) {
+        this.key = key;
+    }
+
+    /**
+     * @return the value
+     */
+    public String getValue() {
+        return value;
+    }
+
+    /**
+     * @param value the value to set
+     */
+    public void setValue(String value) {
+        this.value = value;
+    }
+
+    /**
+     * @return the code
+     */
+    public Integer getCode() {
+        return code;
+    }
+
+    /**
+     * @param code the code to set
+     */
+    public void setCode(Integer code) {
+        this.code = code;
+    }
+}
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)