comparison artifacts/src/main/java/org/dive4elements/river/artifacts/states/minfo/SedimentLoadDataCalculate.java @ 8171:bb770daccd1d

Broken -> broke away.
author "Tom Gottfried <tom@intevation.de>"
date Mon, 01 Sep 2014 10:15:57 +0200
parents ce35bdf3d750
children 16be0ceee25b
comparison
equal deleted inserted replaced
8170:363b82ecf29f 8171:bb770daccd1d
58 Artifact artifact, 58 Artifact artifact,
59 Facet facet, 59 Facet facet,
60 String output 60 String output
61 ) { 61 ) {
62 return null; 62 return null;
63 //XXX: This is all broken.
64 /*
65 String name = facet.getName();
66 if (name.equals(SEDIMENT_LOAD_TA_COARSE) ||
67 name.equals(SEDIMENT_LOAD_TA_FINEMIDDLE) ||
68 name.equals(SEDIMENT_LOAD_TA_SAND) ||
69 name.equals(SEDIMENT_LOAD_TA_SUSP_SAND) ||
70 name.equals(SEDIMENT_LOAD_TA_SUSP_SEDIMENT) ||
71 name.equals(SEDIMENT_LOAD_TA_SUSP_SAND_BED) ||
72 name.equals(SEDIMENT_LOAD_M3A_COARSE) ||
73 name.equals(SEDIMENT_LOAD_M3A_FINEMIDDLE) ||
74 name.equals(SEDIMENT_LOAD_M3A_SAND) ||
75 name.equals(SEDIMENT_LOAD_M3A_SUSP_SAND) ||
76 name.equals(SEDIMENT_LOAD_M3A_SUSP_SEDIMENT) ||
77 name.equals(SEDIMENT_LOAD_M3A_SUSP_SAND_BED)){
78 return Boolean.FALSE;
79 }
80 else if (name.equals(SEDIMENT_LOAD_TA_UNKNOWN)
81 || name.equals(SEDIMENT_LOAD_M3A_UNKNOWN)) {
82 D4EArtifact d4e = (D4EArtifact)artifact;
83 SedimentLoadUnknownFacet f =
84 (SedimentLoadUnknownFacet)
85 d4e.getNativeFacet(facet, null);
86 SedimentLoadLSData load =
87 (SedimentLoadLSData)f.getData(artifact, null);
88 SedimentLoadAccess access =
89 new SedimentLoadAccess(d4e);
90 List<int[]> dates = new ArrayList<int[]>();
91 if (access.getYearEpoch().equals("year")) {
92 dates.add(access.getPeriod());
93 }
94 else {
95 int[][] epochs = access.getEpochs();
96 for (int i = 0; i < epochs.length; i++) {
97 dates.add(epochs[i]);
98 }
99 }
100 for (int[] date: dates) {
101 try {
102 Date s =
103 DateUtil.getStartDateFromYear(date[0]);
104 Date e =
105 DateUtil.getEndDateFromYear(date[1]);
106 if (!(s.after(load.getEnd()) ||
107 e.before(load.getStart()))) {
108 return Boolean.TRUE;
109 }
110 }
111 catch (IllegalArgumentException iae) {
112 return Boolean.FALSE;
113 }
114 }
115 return Boolean.FALSE;
116 }
117 else {
118 return null;
119 }
120 */
121 } 63 }
122 }); 64 });
123 } 65 }
124 66
125 public SedimentLoadDataCalculate() { 67 public SedimentLoadDataCalculate() {
178 } 120 }
179 121
180 facets.add( 122 facets.add(
181 new DataFacet(CSV, "CSV data", ComputeType.ADVANCE, hash, id)); 123 new DataFacet(CSV, "CSV data", ComputeType.ADVANCE, hash, id));
182 124
183 /* XXX: THIS IS ALL BROKEN
184
185 SedimentLoadResult[] results = (SedimentLoadResult[]) res.getData();
186
187 if (results == null || results.length == 0) {
188 logger.warn("Calculation computed no results!");
189 return res;
190 }
191
192 String type = access.getYearEpoch();
193 if (type.equals("year")) {
194 generateYearFacets(context, newFacets, results, getID(), hash, access);
195 }
196 else if (type.equals("epoch")) {
197 generateEpochFacets(context, newFacets, results, getID(), hash, access);
198 }
199 else if (type.equals("off_epoch")) {
200 generateOffEpochFacets(context, newFacets, results, getID(), hash, access);
201 }
202 logger.debug("Created " + newFacets.size() + " new Facets.");
203
204 String river = access.getRiverName();
205 SedimentLoadLSData[] unknown =
206 SedimentLoadFactory.getSedimentLoadUnknown(river,
207 access.getUnit().replace("_per_","/"), type);
208
209 boolean isUnitTA = access.getUnit().startsWith("t");
210
211 if (res.getReport().hasProblems()) {
212 newFacets.add(new ReportFacet(ComputeType.ADVANCE, hash, id));
213 }
214
215 for (int i = 0; i < unknown.length; i++) {
216 newFacets.add(new SedimentLoadUnknownFacet(
217 i,
218 (isUnitTA)? SEDIMENT_LOAD_TA_UNKNOWN:SEDIMENT_LOAD_M3A_UNKNOWN,
219 unknown[i].getDescription(),
220 ComputeType.ADVANCE,
221 getID(),
222 hash));
223 }
224
225
226 */
227
228 return res; 125 return res;
229 } 126 }
230 127
231 /*
232 private String facetNameInfo(SedimentLoadResult result, String unit) {
233 return " - " + result.getStartYear() + " " + unit;
234 }
235
236 protected void generateYearFacets(CallContext context,
237 List<Facet> newFacets,
238 SedimentLoadResult[] results,
239 String stateId,
240 String hash,
241 SedimentLoadAccess access
242 ) {
243 logger.debug("SedimentLoadCalculate.generateFacets " + access.getUnit());
244
245 CallMeta meta = context.getMeta();
246 boolean isUnitTA = access.getUnit().startsWith("t");
247 String unit = (isUnitTA)
248 ? Resources.getMsg(context.getMeta(), "state.minfo.sediment.load.t_per_a", "(t/a)")
249 : Resources.getMsg(context.getMeta(), "state.minfo.sediment.load.m3_per_a", "(m^3/a)");
250
251 // newFacets.add(new DataFacet(CSV, "CSV data", ComputeType.ADVANCE, hash, id));
252 for (int idx = 0; idx < results.length; idx++) {
253 SedimentLoadResult res = results[idx];
254 if (res.hasCoarseData()) {
255 newFacets.add(new SedimentLoadFacet(
256 idx,
257 (isUnitTA)
258 ?SEDIMENT_LOAD_TA_COARSE
259 :SEDIMENT_LOAD_M3A_COARSE,
260 Resources.getMsg(
261 meta,
262 I18N_FACET_SEDIMENTLOAD_COARSE,
263 I18N_FACET_SEDIMENTLOAD_COARSE) +
264 facetNameInfo(res, unit),
265 ComputeType.ADVANCE,
266 stateId,
267 hash));
268 }
269 if (res.hasSandData()) {
270 newFacets.add(new SedimentLoadFacet(
271 idx,
272 (isUnitTA)
273 ?SEDIMENT_LOAD_TA_SAND
274 :SEDIMENT_LOAD_M3A_SAND,
275 Resources.getMsg(
276 meta,
277 I18N_FACET_SEDIMENTLOAD_SAND,
278 I18N_FACET_SEDIMENTLOAD_SAND) +
279 facetNameInfo(res, unit),
280 ComputeType.ADVANCE,
281 stateId,
282 hash));
283 }
284 if (res.hasFineMiddleData()) {
285 newFacets.add(new SedimentLoadFacet(
286 idx,
287 (isUnitTA)
288 ?SEDIMENT_LOAD_TA_FINEMIDDLE
289 :SEDIMENT_LOAD_M3A_FINEMIDDLE,
290 Resources.getMsg(
291 meta,
292 I18N_FACET_SEDIMENTLOAD_FINE_MIDDLE,
293 I18N_FACET_SEDIMENTLOAD_FINE_MIDDLE) +
294 facetNameInfo(res, unit),
295 ComputeType.ADVANCE,
296 stateId,
297 hash));
298 }
299 if (res.hasSuspSandData()) {
300 newFacets.add(new SedimentLoadFacet(
301 idx,
302 (isUnitTA)
303 ?SEDIMENT_LOAD_TA_SUSP_SAND
304 :SEDIMENT_LOAD_M3A_SUSP_SAND,
305 Resources.getMsg(
306 meta,
307 I18N_FACET_SEDIMENTLOAD_SUSPSAND,
308 I18N_FACET_SEDIMENTLOAD_SUSPSAND) +
309 facetNameInfo(res, unit),
310 ComputeType.ADVANCE,
311 stateId,
312 hash));
313 }
314 if (res.hasSuspSandBedData()) {
315 newFacets.add(new SedimentLoadFacet(
316 idx,
317 (isUnitTA)
318 ?SEDIMENT_LOAD_TA_SUSP_SAND_BED
319 :SEDIMENT_LOAD_M3A_SUSP_SAND_BED,
320 Resources.getMsg(
321 meta,
322 I18N_FACET_SEDIMENTLOAD_SUSPSANDBED,
323 I18N_FACET_SEDIMENTLOAD_SUSPSANDBED) +
324 facetNameInfo(res, unit),
325 ComputeType.ADVANCE,
326 stateId,
327 hash));
328 }
329 if (res.hasSuspSedimentData()) {
330 newFacets.add(new SedimentLoadFacet(
331 idx,
332 (isUnitTA)
333 ?SEDIMENT_LOAD_TA_SUSP_SEDIMENT
334 :SEDIMENT_LOAD_M3A_SUSP_SEDIMENT,
335 Resources.getMsg(
336 meta,
337 I18N_FACET_SEDIMENTLOAD_SUSPSEDIMENT,
338 I18N_FACET_SEDIMENTLOAD_SUSPSEDIMENT) +
339 facetNameInfo(res, unit),
340 ComputeType.ADVANCE,
341 stateId,
342 hash));
343
344 }
345 if (res.hasTotalData()) {
346 newFacets.add(new SedimentLoadFacet(
347 idx,
348 (isUnitTA)
349 ?SEDIMENT_LOAD_TA_TOTAL
350 :SEDIMENT_LOAD_M3A_TOTAL,
351 Resources.getMsg(
352 meta,
353 I18N_FACET_SEDIMENTLOAD_TOTAL,
354 I18N_FACET_SEDIMENTLOAD_TOTAL) +
355 facetNameInfo(res, unit),
356 ComputeType.ADVANCE,
357 stateId,
358 hash));
359 }
360 }
361 }
362
363 private String epochFacetNameInfo(SedimentLoadResult result, String unit) {
364 return " - " + result.getStartYear() + "-" + result.getEndYear() + " " + unit;
365 }
366
367 protected void generateEpochFacets(
368 CallContext context,
369 List<Facet> newFacets,
370 SedimentLoadResult[] results,
371 String stateId,
372 String hash,
373 SedimentLoadAccess access
374 ) {
375 logger.debug("SedimentLoadCalculate.generateEpochFacets ");
376
377 CallMeta meta = context.getMeta();
378 boolean isUnitTA = access.getUnit().startsWith("t");
379 String unit = (isUnitTA)
380 ? Resources.getMsg(context.getMeta(), "state.minfo.sediment.load.t_per_a", "(t/a)")
381 : Resources.getMsg(context.getMeta(), "state.minfo.sediment.load.m3_per_a", "(m^3/a)");
382
383 // newFacets.add(new DataFacet(CSV, "CSV data", ComputeType.ADVANCE, hash, id));
384 for (int idx = 0; idx < results.length; idx++) {
385 SedimentLoadResult res = results[idx];
386 if (res.hasCoarseData()) {
387 newFacets.add(new SedimentLoadFacet(
388 idx,
389 (isUnitTA)
390 ?SEDIMENT_LOAD_TA_COARSE
391 :SEDIMENT_LOAD_M3A_COARSE,
392 Resources.getMsg(
393 meta,
394 I18N_FACET_SEDIMENTLOAD_COARSE,
395 I18N_FACET_SEDIMENTLOAD_COARSE) +
396 epochFacetNameInfo(res,unit),
397 ComputeType.ADVANCE,
398 stateId,
399 hash));
400 }
401 if (res.hasSandData()) {
402 newFacets.add(new SedimentLoadFacet(
403 idx,
404 (isUnitTA)
405 ?SEDIMENT_LOAD_TA_SAND
406 :SEDIMENT_LOAD_M3A_SAND,
407 Resources.getMsg(
408 meta,
409 I18N_FACET_SEDIMENTLOAD_SAND,
410 I18N_FACET_SEDIMENTLOAD_SAND) +
411 epochFacetNameInfo(res,unit),
412 ComputeType.ADVANCE,
413 stateId,
414 hash));
415 }
416 if (res.hasFineMiddleData()) {
417 newFacets.add(new SedimentLoadFacet(
418 idx,
419 (isUnitTA)
420 ?SEDIMENT_LOAD_TA_FINEMIDDLE
421 :SEDIMENT_LOAD_M3A_FINEMIDDLE,
422 Resources.getMsg(
423 meta,
424 I18N_FACET_SEDIMENTLOAD_FINE_MIDDLE,
425 I18N_FACET_SEDIMENTLOAD_FINE_MIDDLE) +
426 epochFacetNameInfo(res,unit),
427 ComputeType.ADVANCE,
428 stateId,
429 hash));
430 }
431 if (res.hasSuspSandData()) {
432 newFacets.add(new SedimentLoadFacet(
433 idx,
434 (isUnitTA)
435 ?SEDIMENT_LOAD_TA_SUSP_SAND
436 :SEDIMENT_LOAD_M3A_SUSP_SAND,
437 Resources.getMsg(
438 meta,
439 I18N_FACET_SEDIMENTLOAD_SUSPSAND,
440 I18N_FACET_SEDIMENTLOAD_SUSPSAND) +
441 epochFacetNameInfo(res,unit),
442 ComputeType.ADVANCE,
443 stateId,
444 hash));
445 }
446 if (res.hasSuspSandBedData()) {
447 newFacets.add(new SedimentLoadFacet(
448 idx,
449 (isUnitTA)
450 ?SEDIMENT_LOAD_TA_SUSP_SAND_BED
451 :SEDIMENT_LOAD_M3A_SUSP_SAND,
452 Resources.getMsg(
453 meta,
454 I18N_FACET_SEDIMENTLOAD_SUSPSANDBED,
455 I18N_FACET_SEDIMENTLOAD_SUSPSANDBED) +
456 epochFacetNameInfo(res,unit),
457 ComputeType.ADVANCE,
458 stateId,
459 hash));
460 }
461 if (res.hasSuspSedimentData()) {
462 newFacets.add(new SedimentLoadFacet(
463 idx,
464 (isUnitTA)
465 ?SEDIMENT_LOAD_TA_SUSP_SEDIMENT
466 :SEDIMENT_LOAD_M3A_SUSP_SEDIMENT,
467 Resources.getMsg(
468 meta,
469 I18N_FACET_SEDIMENTLOAD_SUSPSEDIMENT,
470 I18N_FACET_SEDIMENTLOAD_SUSPSEDIMENT) +
471 epochFacetNameInfo(res,unit),
472 ComputeType.ADVANCE,
473 stateId,
474 hash));
475
476 }
477 if (res.hasTotalLoadData()) {
478 newFacets.add(new SedimentLoadFacet(
479 idx,
480 (isUnitTA)
481 ?SEDIMENT_LOAD_TA_TOTAL_LOAD
482 :SEDIMENT_LOAD_M3A_TOTAL_LOAD,
483 Resources.getMsg(
484 meta,
485 I18N_FACET_SEDIMENTLOAD_TOTAL_LOAD,
486 I18N_FACET_SEDIMENTLOAD_TOTAL_LOAD) +
487 epochFacetNameInfo(res,unit),
488 ComputeType.ADVANCE,
489 stateId,
490 hash));
491 }
492 if (res.hasTotalData()) {
493 newFacets.add(new SedimentLoadFacet(
494 idx,
495 (isUnitTA)
496 ?SEDIMENT_LOAD_TA_TOTAL
497 :SEDIMENT_LOAD_M3A_TOTAL,
498 Resources.getMsg(
499 meta,
500 I18N_FACET_SEDIMENTLOAD_TOTAL,
501 I18N_FACET_SEDIMENTLOAD_TOTAL) +
502 epochFacetNameInfo(res,unit),
503 ComputeType.ADVANCE,
504 stateId,
505 hash));
506 }
507 }
508 }
509
510 protected void generateOffEpochFacets(
511 CallContext context,
512 List<Facet> newFacets,
513 SedimentLoadResult[] results,
514 String stateId,
515 String hash,
516 SedimentLoadAccess access
517 ) {
518 logger.debug("SedimentLoadCalculate.generateOffEpochFacets");
519
520 CallMeta meta = context.getMeta();
521 boolean isUnitTA = access.getUnit().startsWith("t");
522 String unit = (isUnitTA)
523 ? Resources.getMsg(context.getMeta(), "state.minfo.sediment.load.t_per_a", "(t/a)")
524 : Resources.getMsg(context.getMeta(), "state.minfo.sediment.load.m3_per_a", "(m^3/a)");
525
526 // newFacets.add(new DataFacet(CSV, "CSV data", ComputeType.ADVANCE, hash, id));
527 for (int idx = 0; idx < results.length; idx++) {
528 SedimentLoadResult res = results[idx];
529 if (res.hasCoarseData()) {
530 newFacets.add(new SedimentLoadFacet(
531 idx,
532 (isUnitTA)
533 ?SEDIMENT_LOAD_TA_COARSE
534 :SEDIMENT_LOAD_M3A_COARSE,
535 Resources.getMsg(
536 meta,
537 I18N_FACET_SEDIMENTLOAD_COARSE,
538 I18N_FACET_SEDIMENTLOAD_COARSE) +
539 epochFacetNameInfo(res,unit),
540 ComputeType.ADVANCE,
541 stateId,
542 hash));
543 }
544 if (res.hasSandData()) {
545 newFacets.add(new SedimentLoadFacet(
546 idx,
547 (isUnitTA)
548 ?SEDIMENT_LOAD_TA_SAND
549 :SEDIMENT_LOAD_M3A_SAND,
550 Resources.getMsg(
551 meta,
552 I18N_FACET_SEDIMENTLOAD_SAND,
553 I18N_FACET_SEDIMENTLOAD_SAND) +
554 epochFacetNameInfo(res,unit),
555 ComputeType.ADVANCE,
556 stateId,
557 hash));
558 }
559 if (res.hasFineMiddleData()) {
560 newFacets.add(new SedimentLoadFacet(
561 idx,
562 (isUnitTA)
563 ?SEDIMENT_LOAD_TA_FINEMIDDLE
564 :SEDIMENT_LOAD_M3A_FINEMIDDLE,
565 Resources.getMsg(
566 meta,
567 I18N_FACET_SEDIMENTLOAD_FINE_MIDDLE,
568 I18N_FACET_SEDIMENTLOAD_FINE_MIDDLE) +
569 epochFacetNameInfo(res,unit),
570 ComputeType.ADVANCE,
571 stateId,
572 hash));
573 }
574 if (res.hasSuspSandData()) {
575 newFacets.add(new SedimentLoadFacet(
576 idx,
577 (isUnitTA)
578 ?SEDIMENT_LOAD_TA_SUSP_SAND
579 :SEDIMENT_LOAD_M3A_SUSP_SAND,
580 Resources.getMsg(
581 meta,
582 I18N_FACET_SEDIMENTLOAD_SUSPSAND,
583 I18N_FACET_SEDIMENTLOAD_SUSPSAND) +
584 epochFacetNameInfo(res,unit),
585 ComputeType.ADVANCE,
586 stateId,
587 hash));
588 }
589 if (res.hasSuspSandBedData()) {
590 newFacets.add(new SedimentLoadFacet(
591 idx,
592 (isUnitTA)
593 ?SEDIMENT_LOAD_TA_SUSP_SAND_BED
594 :SEDIMENT_LOAD_M3A_SUSP_SAND_BED,
595 Resources.getMsg(
596 meta,
597 I18N_FACET_SEDIMENTLOAD_SUSPSANDBED,
598 I18N_FACET_SEDIMENTLOAD_SUSPSANDBED) +
599 epochFacetNameInfo(res,unit),
600 ComputeType.ADVANCE,
601 stateId,
602 hash));
603 }
604 if (res.hasSuspSedimentData()) {
605 newFacets.add(new SedimentLoadFacet(
606 idx,
607 (isUnitTA)
608 ?SEDIMENT_LOAD_TA_SUSP_SEDIMENT
609 :SEDIMENT_LOAD_M3A_SUSP_SEDIMENT,
610 Resources.getMsg(
611 meta,
612 I18N_FACET_SEDIMENTLOAD_SUSPSEDIMENT,
613 I18N_FACET_SEDIMENTLOAD_SUSPSEDIMENT) +
614 epochFacetNameInfo(res,unit),
615 ComputeType.ADVANCE,
616 stateId,
617 hash));
618
619 }
620 if (res.hasTotalLoadData()) {
621 newFacets.add(new SedimentLoadFacet(
622 idx,
623 (isUnitTA)
624 ?SEDIMENT_LOAD_TA_TOTAL_LOAD
625 :SEDIMENT_LOAD_M3A_TOTAL_LOAD,
626 Resources.getMsg(
627 meta,
628 I18N_FACET_SEDIMENTLOAD_TOTAL_LOAD,
629 I18N_FACET_SEDIMENTLOAD_TOTAL_LOAD) +
630 epochFacetNameInfo(res,unit),
631 ComputeType.ADVANCE,
632 stateId,
633 hash));
634 }
635 if (res.hasTotalData()) {
636 newFacets.add(new SedimentLoadFacet(
637 idx,
638 (isUnitTA)
639 ?SEDIMENT_LOAD_TA_TOTAL
640 :SEDIMENT_LOAD_M3A_TOTAL,
641 Resources.getMsg(
642 meta,
643 I18N_FACET_SEDIMENTLOAD_TOTAL,
644 I18N_FACET_SEDIMENTLOAD_TOTAL) +
645 epochFacetNameInfo(res,unit),
646 ComputeType.ADVANCE,
647 stateId,
648 hash));
649 }
650 }
651 }
652 */
653 } 128 }
654 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 : 129 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :

http://dive4elements.wald.intevation.org