svn - r34279 - in trunk/modules/library/main/src: main/java/org/geotools/styling main/java/org/geotools/styling/visitor test/java/org/geotools/styling/visitor

1 message Options
Embed this post
Permalink
svn_geotools

svn - r34279 - in trunk/modules/library/main/src: main/java/org/geotools/styling main/java/org/geotools/styling/visitor test/java/org/geotools/styling/visitor

Reply Threaded More More options
Print post
Permalink
Author: aaime
Date: 2009-10-29 22:26:06 -0400 (Thu, 29 Oct 2009)
New Revision: 34279

Modified:
   trunk/modules/library/main/src/main/java/org/geotools/styling/TextSymbolizerImpl.java
   trunk/modules/library/main/src/main/java/org/geotools/styling/visitor/DuplicatingStyleVisitor.java
   trunk/modules/library/main/src/test/java/org/geotools/styling/visitor/DuplicatorStyleVisitorTest.java
Log:
GEOT-2805) DuplicatingStyleVisitor does not copy  the text symbolizer vendor options

Modified: trunk/modules/library/main/src/main/java/org/geotools/styling/TextSymbolizerImpl.java
===================================================================
--- trunk/modules/library/main/src/main/java/org/geotools/styling/TextSymbolizerImpl.java 2009-10-29 18:34:16 UTC (rev 34278)
+++ trunk/modules/library/main/src/main/java/org/geotools/styling/TextSymbolizerImpl.java 2009-10-30 02:26:06 UTC (rev 34279)
@@ -417,10 +417,7 @@
     }
 
     public void addToOptions(String key, String value) {
-        if (optionsMap == null) {
-            optionsMap = new HashMap<String,String>();
-        }
-        optionsMap.put(key, value.trim());
+        getOptions().put(key, value.trim());
     }
 
     public String getOption(String key) {
@@ -432,6 +429,9 @@
     }
 
     public Map<String,String> getOptions() {
+        if (optionsMap == null) {
+            optionsMap = new HashMap<String,String>();
+        }
         return optionsMap;
     }
 

Modified: trunk/modules/library/main/src/main/java/org/geotools/styling/visitor/DuplicatingStyleVisitor.java
===================================================================
--- trunk/modules/library/main/src/main/java/org/geotools/styling/visitor/DuplicatingStyleVisitor.java 2009-10-29 18:34:16 UTC (rev 34278)
+++ trunk/modules/library/main/src/main/java/org/geotools/styling/visitor/DuplicatingStyleVisitor.java 2009-10-30 02:26:06 UTC (rev 34279)
@@ -760,6 +760,7 @@
         copy.setLabel( copy( text.getLabel()));
         copy.setLabelPlacement( copy( text.getLabelPlacement()));
         copy.setPriority( copy( text.getPriority()));
+        copy.getOptions().putAll(text.getOptions());
         
         if( STRICT && !copy.equals( text )){
             throw new IllegalStateException("Was unable to duplicate provided TextSymbolizer:"+text );

Modified: trunk/modules/library/main/src/test/java/org/geotools/styling/visitor/DuplicatorStyleVisitorTest.java
===================================================================
--- trunk/modules/library/main/src/test/java/org/geotools/styling/visitor/DuplicatorStyleVisitorTest.java 2009-10-29 18:34:16 UTC (rev 34278)
+++ trunk/modules/library/main/src/test/java/org/geotools/styling/visitor/DuplicatorStyleVisitorTest.java 2009-10-30 02:26:06 UTC (rev 34279)
@@ -308,6 +308,19 @@
         notEq.setLabelPlacement(placement);
         assertEqualsContract(clone, notEq, textSymb);
     }
+    
+    public void testTextSymbolizerVendorParams() {
+        TextSymbolizer textSymb = sf.createTextSymbolizer();
+        textSymb.getOptions().put("autoWrap", "100");
+        
+        textSymb.accept(visitor);
+        TextSymbolizer clone = (TextSymbolizer) visitor.getCopy();
+        assertCopy(textSymb, clone);
+        assertEqualsContract(textSymb, clone);
+        
+        assertEquals(1, clone.getOptions().size());
+        assertEquals("100", clone.getOptions().get("autoWrap"));
+    }
 
     public void testTextSymbolizerWithUOM() {
         TextSymbolizer textSymb = sf.createTextSymbolizer();


------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
GeoTools-commits mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/geotools-commits