comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/FLYSArtifact.java @ 317:8f40a57229c3

FLYSArtifact provides methods to retrieve the real River, Gauge objects. flys-artifacts/trunk@1704 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Fri, 15 Apr 2011 13:37:51 +0000
parents fc694a43a7e5
children a8e7c351bdf1
comparison
equal deleted inserted replaced
316:4aa078e28cfd 317:8f40a57229c3
26 import de.intevation.artifactdatabase.data.StateData; 26 import de.intevation.artifactdatabase.data.StateData;
27 import de.intevation.artifactdatabase.state.State; 27 import de.intevation.artifactdatabase.state.State;
28 import de.intevation.artifactdatabase.state.StateEngine; 28 import de.intevation.artifactdatabase.state.StateEngine;
29 import de.intevation.artifactdatabase.transition.TransitionEngine; 29 import de.intevation.artifactdatabase.transition.TransitionEngine;
30 30
31 import de.intevation.flys.model.Gauge;
32 import de.intevation.flys.model.River;
33
31 import de.intevation.flys.artifacts.context.FLYSContext; 34 import de.intevation.flys.artifacts.context.FLYSContext;
35 import de.intevation.flys.artifacts.model.RiverFactory;
32 36
33 37
34 /** 38 /**
35 * The defaul FLYS artifact. 39 * The defaul FLYS artifact.
36 * 40 *
431 return true; 435 return true;
432 } 436 }
433 437
434 return false; 438 return false;
435 } 439 }
440
441
442 /**
443 * Returns the selected River object based on the 'river' data that might
444 * have been inserted by the user.
445 *
446 * @return the selected River or null if no river has been chosen yet.
447 */
448 public River getRiver() {
449 StateData dRiver = getData("river");
450
451 return dRiver != null
452 ? RiverFactory.getRiver((String) dRiver.getValue())
453 : null;
454 }
455
456
457 /**
458 * Returns the selected distance of points.
459 *
460 * @return the selected distance or points.
461 */
462 public double[] getDistance() {
463 StateData dFrom = getData("ld_from");
464 StateData dTo = getData("ld_to");
465
466 double from = Double.parseDouble((String) dFrom.getValue());
467 double to = Double.parseDouble((String) dTo.getValue());
468
469 // TODO take point selection into account
470
471 return new double[] { from, to };
472 }
473
474
475 /**
476 * Returns the gauge based on the current distance and river.
477 *
478 * @return the gauge.
479 */
480 public Gauge getGauge() {
481 River river = getRiver();
482 double[] dist = getDistance();
483
484 if (logger.isDebugEnabled()) {
485 logger.debug("Determine gauge for:");
486 logger.debug("... river: " + river.getName());
487 logger.debug("... distance: " + dist[0] + " - " + dist[1]);
488 }
489
490 List<Gauge> gauges = river.getGauges();
491
492 // TODO Search the desired gauge!
493 return gauges.get(0);
494 }
436 } 495 }
437 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : 496 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org