diff src/main/java/de/intevation/lada/factory/ProbeFactory.java @ 1122:1ef08710aaeb

Do not allow empty string for media descriptor. For the sake of clearness NULL should be used for a missing value. This avoids extra checks e.g. for generating LAF exports. The CHECK constraints in the database could be more elaborate.
author Tom Gottfried <tom@intevation.de>
date Fri, 28 Oct 2016 21:19:44 +0200
parents 186d602e031a
children 84ff77bba9b0
line wrap: on
line diff
--- a/src/main/java/de/intevation/lada/factory/ProbeFactory.java	Fri Oct 28 18:49:41 2016 +0200
+++ b/src/main/java/de/intevation/lada/factory/ProbeFactory.java	Fri Oct 28 21:19:44 2016 +0200
@@ -415,11 +415,14 @@
      * @return The updated probe object.
      */
     public Probe findUmweltId(Probe probe) {
-        String[] mediaDesk = probe.getMediaDesk().split(" ");
-        if (mediaDesk.length <= 1) {
-            return probe;
+        String mediaDesk = probe.getMediaDesk();
+        if (mediaDesk != null) {
+            String[] mediaDeskParts = mediaDesk.split(" ");
+            if (mediaDeskParts.length <= 1) {
+                return probe;
+            }
+            probe.setUmwId(findUmwelt(mediaDeskParts));
         }
-        probe.setUmwId(findUmwelt(mediaDesk));
         return probe;
     }
 
@@ -431,11 +434,14 @@
      * @return The updated probe object.
      */
     public Probe findMediaDesk(Probe probe) {
-        Object result = repository.queryFromString(
+        String mediaDesk = probe.getMediaDesk();
+        if (mediaDesk != null) {
+            Object result = repository.queryFromString(
                 "SELECT get_media_from_media_desk( :mediaDesk );", "stamm")
-            .setParameter("mediaDesk", probe.getMediaDesk())
-            .getSingleResult();
-        probe.setMedia(result != null ? result.toString() : "");
+                .setParameter("mediaDesk", mediaDesk)
+                .getSingleResult();
+            probe.setMedia(result != null ? result.toString() : "");
+        }
         return probe;
     }
 
@@ -447,11 +453,14 @@
      * @return The updated messprogramm.
      */
     public Messprogramm findUmweltId(Messprogramm messprogramm) {
-        String[] mediaDesk = messprogramm.getMediaDesk().split(" ");
-        if (mediaDesk.length <= 1) {
-            return messprogramm;
+        String mediaDesk = messprogramm.getMediaDesk();
+        if (mediaDesk != null) {
+            String[] mediaDeskParts = mediaDesk.split(" ");
+            if (mediaDeskParts.length <= 1) {
+                return messprogramm;
+            }
+            messprogramm.setUmwId(findUmwelt(mediaDeskParts));
         }
-        messprogramm.setUmwId(findUmwelt(mediaDesk));
         return messprogramm;
     }
 
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)