# HG changeset patch # User vc11884admin@VC11884.win.bsh.de # Date 1309873261 -7200 # Node ID b1e4a871033e962325e686fee7c135d45c4a1d6f # Parent 51c99594346e333937f688c8aa56a5d09df9eb19 Write special pattern for outlines. diff -r 51c99594346e -r b1e4a871033e ChangeLog --- a/ChangeLog Mon Jul 04 12:12:17 2011 +0200 +++ b/ChangeLog Tue Jul 05 15:41:01 2011 +0200 @@ -1,3 +1,8 @@ +2011-07-05 Raimund Renkert + + * src/java/de/intevation/mxd/writer/FillStyleWriter.java: + Write special pattern for outlines. + 2011-07-04 Raimund Renkert * src/java/de/intevation/mxd/reader/UniqueValueRendererReader.java: diff -r 51c99594346e -r b1e4a871033e src/java/de/intevation/mxd/writer/FillStyleWriter.java --- a/src/java/de/intevation/mxd/writer/FillStyleWriter.java Mon Jul 04 12:12:17 2011 +0200 +++ b/src/java/de/intevation/mxd/writer/FillStyleWriter.java Tue Jul 05 15:41:01 2011 +0200 @@ -146,8 +146,13 @@ if(symbolElement.hasAttribute("width")) { try { w = Double.parseDouble(symbolElement.getAttribute("width")); - transp = Double.parseDouble( - symbolElement.getAttribute("transparency")); + if(symbolElement.hasAttribute("transparency")) { + transp = Double.parseDouble( + symbolElement.getAttribute("transparency")); + } + else { + transp = -1; + } } catch(NumberFormatException nfe) { logger.warn("Error setting outline width or transparency."); @@ -205,8 +210,44 @@ outline.setPattern(vals); } } + else if(symbolElement.hasAttribute("pattern_count")) { + int count = 0; + try { + count = Integer.parseInt( + symbolElement.getAttribute("pattern_count")); + double[] vals = new double[10]; + double move = 0.0; + int pos = 0; + for(int i = 0; i < count; i++) { + double mark = + Double.parseDouble(symbolElement.getAttribute("mark_" + i)); + double gap = + Double.parseDouble(symbolElement.getAttribute("gap_" + i)); + if(i == 0 && mark == 0.0) { + move = gap; + } + else if(i == count - 1 && move > 0.0) { + vals[pos++] = mark; + vals[pos++] = gap + move; + } + else { + vals[pos++] = mark; + vals[pos++] = gap; + } + } + if(move > 0.0) { + outline.setPatternlength((count*2) -2); + } + else { + outline.setPatternlength(count*2); + } + outline.setPattern(vals); - + } + catch(NumberFormatException nfe) { + logger.warn("Could not write PATTERN."); + } + } } /**