[Dive4elements-commits] [PATCH] Work on ArtifactMapfileGenerator.createUserShapefileLayer()
Wald Commits
scm-commit at wald.intevation.org
Wed Feb 20 21:00:46 CET 2013
# HG changeset patch
# User Christian Lins <christian.lins at intevation.de>
# Date 1361390433 -3600
# Branch mapgenfix
# Node ID cc50e1b9fc6062e20b393cb5f3a1af31202a16f1
# Parent 1da61095040c11cca17e792532ef01a8f833aea4
Work on ArtifactMapfileGenerator.createUserShapefileLayer()
diff -r 1da61095040c -r cc50e1b9fc60 flys-artifacts/src/main/java/de/intevation/flys/exports/MapGenerator.java
--- a/flys-artifacts/src/main/java/de/intevation/flys/exports/MapGenerator.java Tue Feb 19 14:25:38 2013 +0100
+++ b/flys-artifacts/src/main/java/de/intevation/flys/exports/MapGenerator.java Wed Feb 20 21:00:33 2013 +0100
@@ -12,13 +12,11 @@
import de.intevation.artifacts.common.utils.XMLUtils.ElementCreator;
import de.intevation.flys.artifacts.FLYSArtifact;
import de.intevation.flys.artifacts.model.FacetTypes;
-import de.intevation.flys.artifacts.model.map.WMSDBLayerFacet;
import de.intevation.flys.artifacts.model.map.WMSLayerFacet;
import de.intevation.flys.artifacts.model.map.WSPLGENLayerFacet;
import de.intevation.flys.collections.FLYSArtifactCollection;
import de.intevation.flys.mapserver.ArtifactMapfileGenerator;
import de.intevation.flys.utils.GeometryUtils;
-import de.intevation.flys.utils.ThemeUtil;
import java.io.File;
import java.io.FileNotFoundException;
@@ -123,29 +121,29 @@
WMSLayerFacet wms,
Document attr
) {
- try {
+ //try {
if(wms instanceof WSPLGENLayerFacet) {
ArtifactMapfileGenerator mfg = new ArtifactMapfileGenerator();
- mfg.createUeskLayer(
+ /*mfg.createUeskLayer(
flys,
(WSPLGENLayerFacet) wms,
ThemeUtil.createDynamicMapserverStyle(attr),
- context);
+ context);*/ // FIXME
}
else {
logger.warn("Cannot create WSPLGEN layer from: " +
wms.getClass());
}
- }
- catch (IOException ioe) {
+ //}
+ /*catch (IOException ioe) {
logger.error(ioe, ioe);
- }
+ }*/
}
protected void createBarriersLayer(FLYSArtifact flys, WMSLayerFacet wms) {
ArtifactMapfileGenerator mfg = new ArtifactMapfileGenerator();
-
+/*
try {
mfg.createBarriersLayer(flys, wms);
}
@@ -154,13 +152,13 @@
}
catch (IOException ioe) {
logger.error(ioe, ioe);
- }
+ }*/ // FIXME
}
protected void createUserShapeLayer(FLYSArtifact flys, WMSLayerFacet wms) {
ArtifactMapfileGenerator mfg = new ArtifactMapfileGenerator();
-
+/*
try {
mfg.createUserShapeLayer(flys, wms);
}
@@ -169,7 +167,7 @@
}
catch (IOException ioe) {
logger.error(ioe, ioe);
- }
+ }*/ // FIXME
}
@@ -191,7 +189,7 @@
artDir.mkdir();
}
- if (wms instanceof WMSDBLayerFacet) {
+ /*if (wms instanceof WMSDBLayerFacet) {
mfg.createDatabaseLayer(
flys,
(WMSDBLayerFacet) wms,
@@ -199,7 +197,7 @@
}
else {
logger.warn("Cannot create DB layer from: " + wms.getClass());
- }
+ }*/ // FIXME
}
catch (FileNotFoundException fnfe) {
logger.error(fnfe, fnfe);
diff -r 1da61095040c -r cc50e1b9fc60 flys-artifacts/src/main/java/de/intevation/flys/mapserver/ArtifactMapfileGenerator.java
--- a/flys-artifacts/src/main/java/de/intevation/flys/mapserver/ArtifactMapfileGenerator.java Tue Feb 19 14:25:38 2013 +0100
+++ b/flys-artifacts/src/main/java/de/intevation/flys/mapserver/ArtifactMapfileGenerator.java Wed Feb 20 21:00:33 2013 +0100
@@ -64,7 +64,7 @@
}
else if (fileName.startsWith(MS_PREFIX_USER)) {
-
+ createUserShapeLayer(layerShape);
}
else if (fileName.startsWith(MS_PREFIX_WSPLGEN)) {
@@ -91,7 +91,7 @@
logger.debug("createUeskLayer");
LayerInfo layerinfo = new LayerInfo();
- layerinfo.setName(MS_WSPLGEN_PREFIX + flys.identifier());
+ layerinfo.setName(MS_PREFIX_WSPLGEN + flys.identifier());
layerinfo.setType("POLYGON");
layerinfo.setDirectory(flys.identifier());
layerinfo.setData(WSPLGEN_RESULT_SHAPE);
@@ -149,7 +149,7 @@
throws FileNotFoundException, IOException
{
String uuid = flys.identifier();
- String group = MS_BARRIERS_PREFIX + uuid;
+ String group = MS_PREFIX_BARRIERS + uuid;
String groupTitle = "I18N_BARRIERS_TITLE";
File dir = new File(getShapefileBaseDir(), uuid);
@@ -194,7 +194,7 @@
throws FileNotFoundException, IOException
{
String uuid = flys.identifier();
- String group = uuid + MS_BARRIERS_PREFIX;
+ String group = uuid + MS_PREFIX_BARRIERS;
String groupTitle = "I18N_BARRIERS_TITLE";
File dir = new File(getShapefileBaseDir(), uuid);
@@ -232,20 +232,33 @@
}
}
+ protected String uuidFromPath(String path) {
+ logger.debug("uuidFromPath(" + path + ")");
+ int i1 = 0;
+ int i2 = 0;
+
+ for(;;) {
+ int i = path.indexOf('/', i2 + 1);
+ if (i == -1) {
+ return path.substring(i1 + 1, i2);
+ }
+ else {
+ i1 = i2;
+ i2 = i;
+ }
+ }
+ }
/**
* Creates a layer file used for Mapserver's mapfile which represents the
* shape files uploaded by the user.
- *
- * @param flys The FLYSArtifact that owns <i>wms</i>.
- * @param wms The WMSLayerFacet that contains information for the layer.
*/
- protected void createUserShapeLayer(FLYSArtifact flys, WMSLayerFacet wms)
+ protected void createUserShapeLayer(File file)
throws FileNotFoundException, IOException
{
- logger.debug("createUserShapeLayer");
+ String uuid = uuidFromPath(file.getAbsolutePath());
+ logger.debug("createUserShapeLayer(): uuid=" + uuid);
- String uuid = flys.identifier();
File dir = new File(getShapefileBaseDir(), uuid);
File test = new File(dir, WSPLGEN_USER_SHAPE);
@@ -259,11 +272,11 @@
ShapefileReader sfr = new ShapefileReader(sf, true, false, null);
ShapefileHeader sfh = sfr.getHeader();
- String group = uuid + MS_USERSHAPE_PREFIX;
+ String group = uuid + MS_PREFIX_USER;
String groupTitle = "I18N_USER_SHAPE_TITLE";
LayerInfo info = new LayerInfo();
- info.setName(MS_USERSHAPE_PREFIX + uuid);
+ info.setName(MS_PREFIX_USER + uuid);
if (sfh.getShapeType().isLineType()) {
info.setType("LINE");
}
@@ -278,9 +291,9 @@
info.setTitle("I18N_USER_SHAPE");
info.setGroup(group);
info.setGroupTitle(groupTitle);
- info.setSrid(wms.getSrid());
+ //info.setSrid(wms.getSrid()); // FIXME: Required?
- String nameUser = MS_LAYER_PREFIX + wms.getName();
+ String nameUser = "user.layer"; //MS_LAYER_PREFIX + wms.getName();
Template tpl = getTemplateByName(SHP_LAYER_TEMPLATE);
if (tpl == null) {
diff -r 1da61095040c -r cc50e1b9fc60 flys-artifacts/src/main/java/de/intevation/flys/mapserver/MapfileGenerator.java
--- a/flys-artifacts/src/main/java/de/intevation/flys/mapserver/MapfileGenerator.java Tue Feb 19 14:25:38 2013 +0100
+++ b/flys-artifacts/src/main/java/de/intevation/flys/mapserver/MapfileGenerator.java Wed Feb 20 21:00:33 2013 +0100
@@ -41,9 +41,9 @@
public static final String MS_PREFIX_WSPLGEN = "wsplgen-";
public static final String MS_PREFIX_BARRIERS = "barriers-";
- // public static final String MS_LINE_PREFIX = "lines-";
- // public static final String MS_POLYGONS_PREFIX = "polygons-";
-// public static final String MS_LAYER_PREFIX = "ms_layer-";
+ public static final String MS_LINE_PREFIX = "lines-";
+ public static final String MS_POLYGONS_PREFIX = "polygons-";
+ public static final String MS_LAYER_PREFIX = "ms_layer-";
public static final String MS_PREFIX_USER = "user-";
private static Logger logger = Logger.getLogger(MapfileGenerator.class);
diff -r 1da61095040c -r cc50e1b9fc60 flys-artifacts/src/main/java/de/intevation/flys/wsplgen/FacetCreator.java
--- a/flys-artifacts/src/main/java/de/intevation/flys/wsplgen/FacetCreator.java Tue Feb 19 14:25:38 2013 +0100
+++ b/flys-artifacts/src/main/java/de/intevation/flys/wsplgen/FacetCreator.java Wed Feb 20 21:00:33 2013 +0100
@@ -182,7 +182,7 @@
getUrl());
shape.addLayer(
- MapfileGenerator.MS_USERSHAPE_PREFIX + artifact.identifier());
+ MapfileGenerator.MS_PREFIX_USER + artifact.identifier());
shape.setSrid(getSrid());
shape.setExtent(getBounds());
More information about the Dive4elements-commits
mailing list