# HG changeset patch # User Ingo Weinzierl # Date 1320404324 0 # Node ID 7bb5bfd3b51f7d0488ad4c93fade7151628c8fbb # Parent f5c561abc6ca3b74b86d0e7e9ba2be207ac91ceb Create layers for barrier lines and polygons only if they are really existing. flys-artifacts/trunk@3161 c6561f87-3c4e-4783-a992-168aeb5c3f6f diff -r f5c561abc6ca -r 7bb5bfd3b51f flys-artifacts/ChangeLog --- a/flys-artifacts/ChangeLog Fri Nov 04 10:57:47 2011 +0000 +++ b/flys-artifacts/ChangeLog Fri Nov 04 10:58:44 2011 +0000 @@ -1,3 +1,8 @@ +2011-11-04 Ingo Weinzierl + + * src/main/java/de/intevation/flys/utils/MapfileGenerator.java: Create + line and polygon layers for barriers only if they are really existing. + 2011-11-04 Felix Wolfsteller Disable mainvalue-recommendations for discharge curves as they trigger diff -r f5c561abc6ca -r 7bb5bfd3b51f flys-artifacts/src/main/java/de/intevation/flys/utils/MapfileGenerator.java --- a/flys-artifacts/src/main/java/de/intevation/flys/utils/MapfileGenerator.java Fri Nov 04 10:57:47 2011 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/utils/MapfileGenerator.java Fri Nov 04 10:58:44 2011 +0000 @@ -410,9 +410,29 @@ String uuid = flys.identifier(); File dir = new File(getShapefileBaseDir(), uuid); + createBarriersLineLayer(flys, wms); + createBarriersPolygonLayer(flys, wms); + } + + + protected void createBarriersLineLayer( + FLYSArtifact flys, + WMSLayerFacet wms + ) + throws FileNotFoundException, IOException + { + String uuid = flys.identifier(); String group = uuid + MS_BARRIERS_POSTFIX; String groupTitle = "I18N_BARRIERS_TITLE"; + File dir = new File(getShapefileBaseDir(), uuid); + File test = new File(dir, WSPLGEN_LINES_SHAPE); + + if (!test.exists() || !test.canRead()) { + logger.debug("No barrier line layer existing."); + return; + } + LayerInfo lineInfo = new LayerInfo(); lineInfo.setName(uuid + MS_LINE_POSTFIX); lineInfo.setType("LINE"); @@ -422,17 +442,7 @@ lineInfo.setGroup(group); lineInfo.setGroupTitle(groupTitle); - LayerInfo polygonInfo = new LayerInfo(); - polygonInfo.setName(uuid + MS_POLYGONS_POSTFIX); - polygonInfo.setType("POLYGON"); - polygonInfo.setDirectory(uuid); - polygonInfo.setData(WSPLGEN_POLYGONS_SHAPE); - polygonInfo.setTitle("I18N_POLYGON_SHAPE"); - polygonInfo.setGroup(group); - polygonInfo.setGroupTitle(groupTitle); - - String nameLines = MS_LAYER_PREFIX + wms.getName() + "-lines"; - String namePolygons = MS_LAYER_PREFIX + wms.getName() + "-polygons"; + String nameLines = MS_LAYER_PREFIX + wms.getName() + "-lines"; Template tpl = getTemplateByName(SHP_LAYER_TEMPLATE); if (tpl == null) { @@ -447,13 +457,50 @@ logger.error(fnfe, fnfe); logger.warn("Unable to write layer: " + nameLines); } + } + + + protected void createBarriersPolygonLayer( + FLYSArtifact flys, + WMSLayerFacet wms + ) + throws FileNotFoundException, IOException + { + String uuid = flys.identifier(); + String group = uuid + MS_BARRIERS_POSTFIX; + String groupTitle = "I18N_BARRIERS_TITLE"; + + File dir = new File(getShapefileBaseDir(), uuid); + File test = new File(dir, WSPLGEN_POLYGONS_SHAPE); + + if (!test.exists() || !test.canRead()) { + logger.debug("No barrier line layer existing."); + return; + } + + LayerInfo polygonInfo = new LayerInfo(); + polygonInfo.setName(uuid + MS_POLYGONS_POSTFIX); + polygonInfo.setType("POLYGON"); + polygonInfo.setDirectory(uuid); + polygonInfo.setData(WSPLGEN_POLYGONS_SHAPE); + polygonInfo.setTitle("I18N_POLYGON_SHAPE"); + polygonInfo.setGroup(group); + polygonInfo.setGroupTitle(groupTitle); + + String namePolygons = MS_LAYER_PREFIX + wms.getName() + "-polygons"; + + Template tpl = getTemplateByName(SHP_LAYER_TEMPLATE); + if (tpl == null) { + logger.warn("Template '" + SHP_LAYER_TEMPLATE + "' found."); + return; + } try { writeLayer(polygonInfo, dir, namePolygons, tpl); } catch (FileNotFoundException fnfe) { logger.error(fnfe, fnfe); - logger.warn("Unable to write layer: " + nameLines); + logger.warn("Unable to write layer: " + namePolygons); } }