comparison artifacts/src/main/java/org/dive4elements/river/exports/process/WOutProcessor.java @ 7081:3c4efd4b2c19 generator-refactoring

Simplyfy / unify "invert axis" logic - DataUtil now can check if two datasets are in the same direction - In the case of WKM data a no means that the Water flows Right to Left - If the water flows from right to left do inversion of diagrams
author Andre Heinecke <aheinecke@intevation.de>
date Fri, 20 Sep 2013 17:36:11 +0200
parents 253d80af5b7f
children f0731aa7b735
comparison
equal deleted inserted replaced
7080:02a704a37323 7081:3c4efd4b2c19
70 if (bundle.getFacetName().equals(FacetTypes.LONGITUDINAL_W) || 70 if (bundle.getFacetName().equals(FacetTypes.LONGITUDINAL_W) ||
71 bundle.getFacetName().equals(FacetTypes.DISCHARGE_LONGITUDINAL_W) || 71 bundle.getFacetName().equals(FacetTypes.DISCHARGE_LONGITUDINAL_W) ||
72 bundle.getFacetName().equals(FacetTypes.STATIC_WQKMS_W)) { 72 bundle.getFacetName().equals(FacetTypes.STATIC_WQKMS_W)) {
73 /* Only use W values to check if the diagram should be inverted 73 /* Only use W values to check if the diagram should be inverted
74 * see flys/issue1290 for details */ 74 * see flys/issue1290 for details */
75 generator.handleLTRWaterFlowInversion(wkms); 75 generator.setInverted(wkms.guessRTLData());
76 } 76 }
77 } 77 }
78 78
79 @Override 79 @Override
80 public void doOut( 80 public void doOut(
114 if (bundle.getFacetName().equals(FacetTypes.LONGITUDINAL_W) || 114 if (bundle.getFacetName().equals(FacetTypes.LONGITUDINAL_W) ||
115 bundle.getFacetName().equals(FacetTypes.DISCHARGE_LONGITUDINAL_W) || 115 bundle.getFacetName().equals(FacetTypes.DISCHARGE_LONGITUDINAL_W) ||
116 bundle.getFacetName().equals(FacetTypes.STATIC_WQKMS_W)) { 116 bundle.getFacetName().equals(FacetTypes.STATIC_WQKMS_W)) {
117 /* Only use W values to check if the diagram should be inverted 117 /* Only use W values to check if the diagram should be inverted
118 * see flys/issue1290 for details */ 118 * see flys/issue1290 for details */
119 invertAxis(generator, wkms); 119 generator.setInverted(wkms.guessRTLData());
120 } 120 }
121 } 121 }
122 122
123 /** 123 /**
124 * Returns true if facettype is longitutinal_section.w . 124 * Returns true if facettype is longitutinal_section.w .
138 { 138 {
139 return true; 139 return true;
140 } 140 }
141 return false; 141 return false;
142 } 142 }
143
144 /**
145 * This method determines - taking JFreeCharts auto x value ordering into
146 * account - if the x axis need to be inverted. Waterlines in these charts
147 * should decrease.
148 *
149 * @param wkms The data object that stores the x and y values used for this
150 * chart.
151 */
152 // TODO Remove
153 public void invertAxis(XYChartGenerator generator, WKms wkms) {
154 boolean wsUp = wkms.guessWaterIncreasing();
155 boolean kmUp = DataUtil.guessWaterIncreasing(wkms.allKms());
156 int size = wkms.size();
157 boolean inv = ((wsUp && kmUp) || (!wsUp && !kmUp)) && size > 1;
158
159 if (logger.isDebugEnabled()) {
160 logger.debug("(Wkms)Values : " + size);
161 if (size > 0) {
162 logger.debug("Start km: " + wkms.getKm(0));
163 logger.debug("End km: " + wkms.getKm(size-1));
164 }
165 logger.debug("wsUp: " + wsUp);
166 logger.debug("kmUp: " + kmUp);
167 if (size == 1) {
168 logger.debug("InvertAxis not inverting because we have just one km");
169 }
170 logger.debug("inv: " + inv);
171 }
172 generator.setInverted(inv);
173 }
174 } 143 }
175 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : 144 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org