Mercurial > dive4elements > river
diff flys-client/src/main/java/de/intevation/flys/client/server/ChartInfoServiceImpl.java @ 1598:ef745bc6bed9
Distinguish between numbers and dates while parsing chart info documents; the MousePosition panel now displays the position on date axes correctly.
flys-client/trunk@3931 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Mon, 06 Feb 2012 14:43:27 +0000 |
parents | 8bbaa0d173cf |
children | 8c1f90e380a3 |
line wrap: on
line diff
--- a/flys-client/src/main/java/de/intevation/flys/client/server/ChartInfoServiceImpl.java Mon Feb 06 13:27:05 2012 +0000 +++ b/flys-client/src/main/java/de/intevation/flys/client/server/ChartInfoServiceImpl.java Mon Feb 06 14:43:27 2012 +0000 @@ -229,7 +229,7 @@ List<Transform2D> transformer = new ArrayList<Transform2D>(num); for (int i = 0; i < num; i++) { - Transform2D t = createTransformer(matrix.item(i)); + Transform2D t = createTransformer((Element) matrix.item(i)); if (t == null) { logger.warn("Broken transformation matrix at pos: " + i); @@ -243,26 +243,30 @@ } - protected Transform2D createTransformer(Node matrix) { - String sx = XMLUtils.xpathString( - matrix, "@art:sx", ArtifactNamespaceContext.INSTANCE); + protected Transform2D createTransformer(Element matrix) { + String ns = ArtifactNamespaceContext.NAMESPACE_URI; - String sy = XMLUtils.xpathString( - matrix, "@art:sy", ArtifactNamespaceContext.INSTANCE); + String sx = matrix.getAttributeNS(ns, "sx"); + String sy = matrix.getAttributeNS(ns, "sy"); + String tx = matrix.getAttributeNS(ns, "tx"); + String ty = matrix.getAttributeNS(ns, "ty"); + String xType = matrix.getAttributeNS(ns, "xtype"); + String yType = matrix.getAttributeNS(ns, "ytype"); - String tx = XMLUtils.xpathString( - matrix, "@art:tx", ArtifactNamespaceContext.INSTANCE); - - String ty = XMLUtils.xpathString( - matrix, "@art:ty", ArtifactNamespaceContext.INSTANCE); + xType = xType == null || xType.length() == 0 ? "number" : xType; + yType = yType == null || yType.length() == 0 ? "number" : yType; if (sx != null && sy != null && tx != null && ty != null) { try { + logger.debug("Create new Transform2D with x format: " + xType); + logger.debug("Create new Transform2D with y format: " + yType); + return new Transform2D( Double.parseDouble(sx), Double.parseDouble(sy), Double.parseDouble(tx), - Double.parseDouble(ty)); + Double.parseDouble(ty), + xType, yType); } catch (NumberFormatException nfe) { logger.warn("Error while parsing matrix values.");