Mercurial > dive4elements > gnv-client
diff gnv-artifacts/src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContextFactory.java @ 521:1bf058f1a2d1
Generate seabed polygon to "Profilschnitte".
gnv-artifacts/trunk@615 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Sun, 24 Jan 2010 20:24:03 +0000 |
parents | ab29e4ff2fda |
children | b248531fa20b |
line wrap: on
line diff
--- a/gnv-artifacts/src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContextFactory.java Sun Jan 24 12:10:50 2010 +0000 +++ b/gnv-artifacts/src/main/java/de/intevation/gnv/artifacts/context/GNVArtifactContextFactory.java Sun Jan 24 20:24:03 2010 +0000 @@ -3,6 +3,9 @@ */ package de.intevation.gnv.artifacts.context; +import java.awt.Color; +import java.awt.Paint; + import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; @@ -90,6 +93,9 @@ public final static String VERTICAL_CROSS_SECTION_GROUND_INTERPOLATION = "/artifact-database/gnv/vertical-cross-section/ground/@interpolation"; + public final static String VERTICAL_CROSS_SECTION_GROUND_FILL_COLOR = + "/artifact-database/gnv/vertical-cross-section/ground/@fill-color"; + /** * Constructor */ @@ -164,6 +170,39 @@ configureVerticalCrossSectionSamples(config, context); configureVerticalCrossSectionFilters(config, context); configureVerticalCrossSectionGroundInterpolation(config, context); + configureVerticalCrossSectionGroundFillColor(config, context); + } + + protected void configureVerticalCrossSectionGroundFillColor( + Document config, + GNVArtifactContext context + ) { + log.info("configuration of vertical cross section ground fill color"); + + String fillColor = Config.getStringXPath( + config, + VERTICAL_CROSS_SECTION_GROUND_FILL_COLOR); + + Paint fill = + GNVArtifactContext.DEFAULT_VERTICAL_CROSS_SECTION_GROUND_FILL; + + if (fillColor != null + && (fillColor = fillColor.trim()).length() != 0) { + try { + Color color = Color.decode(fillColor); + log.info("ground fill color: #" + + Integer.toHexString(color.getRGB())); + fill = color; + } + catch (NumberFormatException nfe) { + log.error("'" + fillColor + "' is not a valid color"); + } + } + + context.put( + GNVArtifactContext + .VERTICAL_CROSS_SECTION_GROUND_FILL_KEY, + fill); } protected void configureVerticalCrossSectionGroundInterpolation(