Package org.geomajas.plugin.rasterizing.sld

Source Code of org.geomajas.plugin.rasterizing.sld.RasterizingStyleVisitorTest

package org.geomajas.plugin.rasterizing.sld;

import java.io.IOException;
import java.util.Iterator;

import junit.framework.Assert;

import org.geomajas.plugin.rasterizing.command.dto.VectorLayerRasterizingInfo;
import org.geotools.factory.CommonFactoryFinder;
import org.geotools.styling.FeatureTypeStyle;
import org.geotools.styling.PointSymbolizer;
import org.geotools.styling.Rule;
import org.geotools.styling.SLDParser;
import org.geotools.styling.Style;
import org.geotools.styling.StyleFactory;
import org.geotools.styling.Symbolizer;
import org.geotools.styling.TextSymbolizer;
import org.junit.Test;

public class RasterizingStyleVisitorTest {

  private StyleFactory styleFactory = CommonFactoryFinder.getStyleFactory(null);

  @Test
  public void testLabels() throws IOException {
    VectorLayerRasterizingInfo vectorLayerRasterizingInfo = new VectorLayerRasterizingInfo();
    vectorLayerRasterizingInfo.setPaintGeometries(false);
    vectorLayerRasterizingInfo.setPaintLabels(true);
    RasterizingStyleVisitor visitor = new RasterizingStyleVisitor(vectorLayerRasterizingInfo);
    SLDParser parser = new SLDParser(styleFactory);
    parser.setInput(getClass().getResource("point_pointwithdefaultlabel.sld"));
    Style[] styles = parser.readXML();
    Assert.assertEquals(1, styles.length);
    visitor.visit(styles[0]);
    Style copy = (Style) visitor.getCopy();
    FeatureTypeStyle featureTypeStyle = copy.featureTypeStyles().iterator().next();
    Rule rule = featureTypeStyle.rules().iterator().next();
    Iterator<Symbolizer> it = rule.symbolizers().iterator();
    Assert.assertTrue(it.next() instanceof TextSymbolizer);
    Assert.assertFalse(it.hasNext());
  }

  @Test
  public void testGeometries() throws IOException{
    VectorLayerRasterizingInfo vectorLayerRasterizingInfo = new VectorLayerRasterizingInfo();
    vectorLayerRasterizingInfo.setPaintGeometries(true);
    vectorLayerRasterizingInfo.setPaintLabels(false);
    RasterizingStyleVisitor visitor = new RasterizingStyleVisitor(vectorLayerRasterizingInfo);
    SLDParser parser = new SLDParser(styleFactory);
    parser.setInput(getClass().getResource("point_pointwithdefaultlabel.sld"));
    Style[] styles = parser.readXML();
    Assert.assertEquals(1, styles.length);
    visitor.visit(styles[0]);
    Style copy = (Style) visitor.getCopy();
    FeatureTypeStyle featureTypeStyle = copy.featureTypeStyles().iterator().next();
    Rule rule = featureTypeStyle.rules().iterator().next();
    Iterator<Symbolizer> it = rule.symbolizers().iterator();
    Assert.assertTrue(it.next() instanceof PointSymbolizer);
    Assert.assertFalse(it.hasNext());
  }

  @Test
  public void testLabelsAndGeometries() throws IOException{
    VectorLayerRasterizingInfo vectorLayerRasterizingInfo = new VectorLayerRasterizingInfo();
    vectorLayerRasterizingInfo.setPaintGeometries(true);
    vectorLayerRasterizingInfo.setPaintLabels(true);
    RasterizingStyleVisitor visitor = new RasterizingStyleVisitor(vectorLayerRasterizingInfo);
    SLDParser parser = new SLDParser(styleFactory);
    parser.setInput(getClass().getResource("point_pointwithdefaultlabel.sld"));
    Style[] styles = parser.readXML();
    Assert.assertEquals(1, styles.length);
    visitor.visit(styles[0]);
    Style copy = (Style) visitor.getCopy();
    FeatureTypeStyle featureTypeStyle = copy.featureTypeStyles().iterator().next();
    Rule rule = featureTypeStyle.rules().iterator().next();
    Iterator<Symbolizer> it = rule.symbolizers().iterator();
    Assert.assertTrue(it.next() instanceof PointSymbolizer);
    Assert.assertTrue(it.next() instanceof TextSymbolizer);
    Assert.assertFalse(it.hasNext());
  }
}
TOP

Related Classes of org.geomajas.plugin.rasterizing.sld.RasterizingStyleVisitorTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.