Mercurial > lada > lada-server
diff src/main/java/de/intevation/lada/factory/ProbeFactory.java @ 697:8c486052264c
Refactored finding the umwelt id to be able to use it for messprogramme.
author | Raimund Renkert <raimund.renkert@intevation.de> |
---|---|
date | Fri, 10 Jul 2015 14:03:27 +0200 |
parents | 97ccdf45a4a3 |
children | cd22674b4673 |
line wrap: on
line diff
--- a/src/main/java/de/intevation/lada/factory/ProbeFactory.java Fri Jul 10 12:56:00 2015 +0200 +++ b/src/main/java/de/intevation/lada/factory/ProbeFactory.java Fri Jul 10 14:03:27 2015 +0200 @@ -287,11 +287,25 @@ } } - public LProbe findUmwelt(LProbe probe) { + public LProbe findUmweltId(LProbe probe) { String[] mediaDesk = probe.getMediaDesk().split(" "); if (mediaDesk.length <= 1) { - return null; + return probe; } + probe.setUmwId(findUmwelt(mediaDesk)); + return probe; + } + + public Messprogramm findUmweltId(Messprogramm messprogramm) { + String[] mediaDesk = messprogramm.getMediaDesk().split(" "); + if (mediaDesk.length <= 1) { + return messprogramm; + } + messprogramm.setUmwId(findUmwelt(mediaDesk)); + return messprogramm; + } + + private String findUmwelt(String[] mediaDesk) { List<Integer> mediaIds = new ArrayList<Integer>(); boolean zebs = false; Integer parent = null; @@ -325,7 +339,7 @@ @SuppressWarnings("unchecked") List<Deskriptoren> data = (List<Deskriptoren>)response.getData(); if (data.isEmpty()) { - return probe; + return ""; } hdParent = data.get(0).getId(); mediaIds.add(data.get(0).getId()); @@ -333,16 +347,16 @@ ndParent = data.get(0).getId(); } } - return getUmwelt(probe, mediaIds, zebs); + return getUmwelt(mediaIds, zebs); } - private LProbe getUmwelt(LProbe probe, List<Integer> media, boolean isZebs) { + private String getUmwelt(List<Integer> media, boolean isZebs) { QueryBuilder<DeskriptorUmwelt> builder = new QueryBuilder<DeskriptorUmwelt>( repository.entityManager("stamm"), DeskriptorUmwelt.class); if (media.size() == 0) { - return probe; + return ""; } int size = 1; @@ -360,13 +374,12 @@ @SuppressWarnings("unchecked") List<DeskriptorUmwelt> data = (List<DeskriptorUmwelt>)response.getData(); if (data.isEmpty()) { - return probe; + return ""; } boolean unique = isUnique(data); if (unique) { - probe.setUmwId(data.get(0).getUmwId()); - return probe; + return data.get(0).getUmwId(); } else { int found = -1; @@ -415,11 +428,10 @@ } } if (found >= 0) { - probe.setUmwId(data.get(found).getUmwId()); - return probe; + return data.get(found).getUmwId(); } } - return probe; + return ""; } }