Mercurial > dive4elements > river
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 : |