Mercurial > dive4elements > river
comparison flys-artifacts/src/main/java/de/intevation/flys/utils/MapfileGenerator.java @ 1830:7bb5bfd3b51f
Create layers for barrier lines and polygons only if they are really existing.
flys-artifacts/trunk@3161 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Fri, 04 Nov 2011 10:58:44 +0000 |
parents | 5364b86a0880 |
children | e372934f0c42 |
comparison
equal
deleted
inserted
replaced
1829:f5c561abc6ca | 1830:7bb5bfd3b51f |
---|---|
408 logger.debug("createBarriersLayer"); | 408 logger.debug("createBarriersLayer"); |
409 | 409 |
410 String uuid = flys.identifier(); | 410 String uuid = flys.identifier(); |
411 File dir = new File(getShapefileBaseDir(), uuid); | 411 File dir = new File(getShapefileBaseDir(), uuid); |
412 | 412 |
413 createBarriersLineLayer(flys, wms); | |
414 createBarriersPolygonLayer(flys, wms); | |
415 } | |
416 | |
417 | |
418 protected void createBarriersLineLayer( | |
419 FLYSArtifact flys, | |
420 WMSLayerFacet wms | |
421 ) | |
422 throws FileNotFoundException, IOException | |
423 { | |
424 String uuid = flys.identifier(); | |
413 String group = uuid + MS_BARRIERS_POSTFIX; | 425 String group = uuid + MS_BARRIERS_POSTFIX; |
414 String groupTitle = "I18N_BARRIERS_TITLE"; | 426 String groupTitle = "I18N_BARRIERS_TITLE"; |
427 | |
428 File dir = new File(getShapefileBaseDir(), uuid); | |
429 File test = new File(dir, WSPLGEN_LINES_SHAPE); | |
430 | |
431 if (!test.exists() || !test.canRead()) { | |
432 logger.debug("No barrier line layer existing."); | |
433 return; | |
434 } | |
415 | 435 |
416 LayerInfo lineInfo = new LayerInfo(); | 436 LayerInfo lineInfo = new LayerInfo(); |
417 lineInfo.setName(uuid + MS_LINE_POSTFIX); | 437 lineInfo.setName(uuid + MS_LINE_POSTFIX); |
418 lineInfo.setType("LINE"); | 438 lineInfo.setType("LINE"); |
419 lineInfo.setDirectory(uuid); | 439 lineInfo.setDirectory(uuid); |
420 lineInfo.setData(WSPLGEN_LINES_SHAPE); | 440 lineInfo.setData(WSPLGEN_LINES_SHAPE); |
421 lineInfo.setTitle("I18N_LINE_SHAPE"); | 441 lineInfo.setTitle("I18N_LINE_SHAPE"); |
422 lineInfo.setGroup(group); | 442 lineInfo.setGroup(group); |
423 lineInfo.setGroupTitle(groupTitle); | 443 lineInfo.setGroupTitle(groupTitle); |
424 | 444 |
445 String nameLines = MS_LAYER_PREFIX + wms.getName() + "-lines"; | |
446 | |
447 Template tpl = getTemplateByName(SHP_LAYER_TEMPLATE); | |
448 if (tpl == null) { | |
449 logger.warn("Template '" + SHP_LAYER_TEMPLATE + "' found."); | |
450 return; | |
451 } | |
452 | |
453 try { | |
454 writeLayer(lineInfo, dir, nameLines, tpl); | |
455 } | |
456 catch (FileNotFoundException fnfe) { | |
457 logger.error(fnfe, fnfe); | |
458 logger.warn("Unable to write layer: " + nameLines); | |
459 } | |
460 } | |
461 | |
462 | |
463 protected void createBarriersPolygonLayer( | |
464 FLYSArtifact flys, | |
465 WMSLayerFacet wms | |
466 ) | |
467 throws FileNotFoundException, IOException | |
468 { | |
469 String uuid = flys.identifier(); | |
470 String group = uuid + MS_BARRIERS_POSTFIX; | |
471 String groupTitle = "I18N_BARRIERS_TITLE"; | |
472 | |
473 File dir = new File(getShapefileBaseDir(), uuid); | |
474 File test = new File(dir, WSPLGEN_POLYGONS_SHAPE); | |
475 | |
476 if (!test.exists() || !test.canRead()) { | |
477 logger.debug("No barrier line layer existing."); | |
478 return; | |
479 } | |
480 | |
425 LayerInfo polygonInfo = new LayerInfo(); | 481 LayerInfo polygonInfo = new LayerInfo(); |
426 polygonInfo.setName(uuid + MS_POLYGONS_POSTFIX); | 482 polygonInfo.setName(uuid + MS_POLYGONS_POSTFIX); |
427 polygonInfo.setType("POLYGON"); | 483 polygonInfo.setType("POLYGON"); |
428 polygonInfo.setDirectory(uuid); | 484 polygonInfo.setDirectory(uuid); |
429 polygonInfo.setData(WSPLGEN_POLYGONS_SHAPE); | 485 polygonInfo.setData(WSPLGEN_POLYGONS_SHAPE); |
430 polygonInfo.setTitle("I18N_POLYGON_SHAPE"); | 486 polygonInfo.setTitle("I18N_POLYGON_SHAPE"); |
431 polygonInfo.setGroup(group); | 487 polygonInfo.setGroup(group); |
432 polygonInfo.setGroupTitle(groupTitle); | 488 polygonInfo.setGroupTitle(groupTitle); |
433 | 489 |
434 String nameLines = MS_LAYER_PREFIX + wms.getName() + "-lines"; | |
435 String namePolygons = MS_LAYER_PREFIX + wms.getName() + "-polygons"; | 490 String namePolygons = MS_LAYER_PREFIX + wms.getName() + "-polygons"; |
436 | 491 |
437 Template tpl = getTemplateByName(SHP_LAYER_TEMPLATE); | 492 Template tpl = getTemplateByName(SHP_LAYER_TEMPLATE); |
438 if (tpl == null) { | 493 if (tpl == null) { |
439 logger.warn("Template '" + SHP_LAYER_TEMPLATE + "' found."); | 494 logger.warn("Template '" + SHP_LAYER_TEMPLATE + "' found."); |
440 return; | 495 return; |
441 } | 496 } |
442 | 497 |
443 try { | 498 try { |
444 writeLayer(lineInfo, dir, nameLines, tpl); | 499 writeLayer(polygonInfo, dir, namePolygons, tpl); |
445 } | 500 } |
446 catch (FileNotFoundException fnfe) { | 501 catch (FileNotFoundException fnfe) { |
447 logger.error(fnfe, fnfe); | 502 logger.error(fnfe, fnfe); |
448 logger.warn("Unable to write layer: " + nameLines); | 503 logger.warn("Unable to write layer: " + namePolygons); |
449 } | |
450 | |
451 try { | |
452 writeLayer(polygonInfo, dir, namePolygons, tpl); | |
453 } | |
454 catch (FileNotFoundException fnfe) { | |
455 logger.error(fnfe, fnfe); | |
456 logger.warn("Unable to write layer: " + nameLines); | |
457 } | 504 } |
458 } | 505 } |
459 | 506 |
460 | 507 |
461 /** | 508 /** |