Mercurial > dive4elements > river
comparison artifacts/src/main/java/org/dive4elements/river/utils/RiverUtils.java @ 7696:feb23ab736f4
(issue1649) Better check for waterlevel data and accept wkms data
Fixes calculation of differences with old differences calculations
author | Andre Heinecke <aheinecke@intevation.de> |
---|---|
date | Mon, 16 Dec 2013 16:00:10 +0100 |
parents | f2f34d722807 |
children | 640342d9ab8a |
comparison
equal
deleted
inserted
replaced
7695:75ef6963f1c9 | 7696:feb23ab736f4 |
---|---|
784 if (flys == null) { | 784 if (flys == null) { |
785 logger.warn("One of the artifacts (1) for diff calculation could not be loaded"); | 785 logger.warn("One of the artifacts (1) for diff calculation could not be loaded"); |
786 return null; | 786 return null; |
787 } | 787 } |
788 else{ | 788 else{ |
789 WQKms[] wqkms = (WQKms[]) flys.getWaterlevelData(). | 789 Object data = flys.getWaterlevelData(context).getData(); |
790 getData(); | 790 |
791 if (wqkms == null) | 791 if (data == null) { |
792 logger.warn("not waterlevels in artifact"); | 792 logger.error("No waterlevel Data in artifact"); |
793 else if (wqkms.length < idx) | 793 return null; |
794 logger.warn("not enough waterlevels in artifact"); | 794 } |
795 return wqkms[idx]; | 795 |
796 if (data instanceof WQKms[]) { | |
797 WQKms[] wqkms = (WQKms[]) data; | |
798 if (wqkms.length < idx) { | |
799 logger.error("not enough waterlevels in artifact"); | |
800 return null; | |
801 } | |
802 return wqkms[idx]; | |
803 } else if (data instanceof WKms[]) { | |
804 WKms[] wkms = (WKms[]) data; | |
805 if (wkms.length < idx) { | |
806 logger.error("not enough wkms in artifact"); | |
807 return null; | |
808 } | |
809 return wkms[idx]; | |
810 } | |
811 | |
812 logger.error("unknown Waterlevel Data."); | |
813 return null; | |
796 } | 814 } |
797 } | 815 } |
798 | 816 |
799 | 817 |
800 /** | 818 /** |