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 /**

http://dive4elements.wald.intevation.org