comparison flys-artifacts/src/main/java/de/intevation/flys/exports/MapGenerator.java @ 1792:49ad801076e4

Enabled the MapGenerator to create WMS layers with database datastore - riveraxis is the first layer that is no longer fetched from static WMS service but from user specific one. flys-artifacts/trunk@3115 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Fri, 28 Oct 2011 13:48:02 +0000
parents ef2300b450bf
children 1636686070f7
comparison
equal deleted inserted replaced
1791:e0e5a5b51a40 1792:49ad801076e4
1 package de.intevation.flys.exports; 1 package de.intevation.flys.exports;
2 2
3 import java.io.File;
3 import java.io.FileNotFoundException; 4 import java.io.FileNotFoundException;
4 import java.io.IOException; 5 import java.io.IOException;
5 import java.io.OutputStream; 6 import java.io.OutputStream;
6 import java.util.ArrayList; 7 import java.util.ArrayList;
7 import java.util.List; 8 import java.util.List;
22 23
23 import de.intevation.artifactdatabase.state.Facet; 24 import de.intevation.artifactdatabase.state.Facet;
24 25
25 import de.intevation.flys.artifacts.FLYSArtifact; 26 import de.intevation.flys.artifacts.FLYSArtifact;
26 import de.intevation.flys.artifacts.model.FacetTypes; 27 import de.intevation.flys.artifacts.model.FacetTypes;
28 import de.intevation.flys.artifacts.model.WMSDBLayerFacet;
27 import de.intevation.flys.artifacts.model.WMSLayerFacet; 29 import de.intevation.flys.artifacts.model.WMSLayerFacet;
28 import de.intevation.flys.utils.GeometryUtils; 30 import de.intevation.flys.utils.GeometryUtils;
29 import de.intevation.flys.utils.MapfileGenerator; 31 import de.intevation.flys.utils.MapfileGenerator;
30 32
31 33
104 createWSPLGENLayer(flys, wms); 106 createWSPLGENLayer(flys, wms);
105 } 107 }
106 else if (FLOODMAP_BARRIERS.equals(name)) { 108 else if (FLOODMAP_BARRIERS.equals(name)) {
107 createBarriersLayer(flys, wms); 109 createBarriersLayer(flys, wms);
108 } 110 }
111 else {
112 createDatabaseLayer(flys, wms);
113 }
109 } 114 }
110 else { 115 else {
111 logger.warn("Facet not supported: " + nativeFacet.getClass()); 116 logger.warn("Facet not supported: " + nativeFacet.getClass());
112 } 117 }
113 } 118 }
127 protected void createBarriersLayer(FLYSArtifact flys, WMSLayerFacet wms) { 132 protected void createBarriersLayer(FLYSArtifact flys, WMSLayerFacet wms) {
128 MapfileGenerator mfg = MapfileGenerator.getInstance(); 133 MapfileGenerator mfg = MapfileGenerator.getInstance();
129 134
130 try { 135 try {
131 mfg.createBarriersLayer(flys, wms); 136 mfg.createBarriersLayer(flys, wms);
137 }
138 catch (FileNotFoundException fnfe) {
139 logger.error(fnfe, fnfe);
140 }
141 catch (IOException ioe) {
142 logger.error(ioe, ioe);
143 }
144 }
145
146
147 protected void createDatabaseLayer(FLYSArtifact flys, WMSLayerFacet wms) {
148 logger.debug("createDatabaseLayer for facet: " + wms.getName());
149
150 MapfileGenerator mfg = MapfileGenerator.getInstance();
151
152 try {
153 File baseDir = mfg.getShapefileBaseDir();
154 File artDir = new File(baseDir, flys.identifier());
155
156 if (artDir != null && !artDir.exists()) {
157 logger.debug("Create new directory: " + artDir.getPath());
158 artDir.mkdir();
159 }
160
161 if (wms instanceof WMSDBLayerFacet) {
162 mfg.createDatabaseLayer(flys, (WMSDBLayerFacet) wms);
163 }
164 else {
165 logger.warn("Cannot create DB layer from: " + wms.getClass());
166 }
132 } 167 }
133 catch (FileNotFoundException fnfe) { 168 catch (FileNotFoundException fnfe) {
134 logger.error(fnfe, fnfe); 169 logger.error(fnfe, fnfe);
135 } 170 }
136 catch (IOException ioe) { 171 catch (IOException ioe) {

http://dive4elements.wald.intevation.org