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 /**

http://dive4elements.wald.intevation.org